*{box-sizing:border-box}body{margin:0;font:16px/1.5 Arial,Helvetica,sans-serif;color:#202330;background:#f5f7fb}header{height:84px;background:#0b0910;color:white;display:flex;align-items:center;gap:30px;padding:18px 4vw}header img{width:205px;height:auto}header span{font-size:12px;letter-spacing:.1em}header button{margin-left:auto}main{padding:35px 4vw;max-width:1800px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:36px;letter-spacing:-.03em;margin:5px 0}.heading p{margin:4px 0;color:#5b6372}.heading .eyebrow{color:#5c2dff;letter-spacing:.1em;font-size:12px;font-weight:bold}h2{font-size:27px}.textlink{font-size:14px;color:#5c2dff}.login{max-width:650px;background:white;border:1px solid #dce3ed;border-radius:20px;padding:40px;margin:35px 0}.login p{color:#5b6372;max-width:520px}.lock{font-size:38px;color:#5c2dff}.primary{background:#5c2dff;color:white;border-color:#5c2dff}button{font:inherit;font-size:14px;border:1px solid #ccd3e0;background:white;border-radius:8px;padding:10px 16px;cursor:pointer;color:#202330}button:disabled{opacity:.55;cursor:wait}.primary{background:#5c2dff;color:white;border-color:#5c2dff}.small{font-size:13px;color:#5b6372}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:28px 0}.stats>div{background:white;padding:20px 24px;border:1px solid #dce3ed;border-radius:12px}.stats span{font-size:32px;color:#5c2dff;font-weight:bold}.stats p{margin:0;color:#5b6372;font-size:14px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;background:#fff;border:1px solid #dce3ed;border-radius:12px;padding:18px}.toolbar label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:bold;flex:1;min-width:140px}.toolbar label:first-child{flex:2;min-width:250px}.toolbar input,.toolbar select{font:inherit;font-size:14px;border:1px solid #ccd3e0;padding:10px;border-radius:7px;min-height:42px;background:white;width:100%}.controls{display:flex;flex-wrap:wrap;gap:18px;align-items:center;padding:20px 0;font-size:14px}.controls label{display:flex;gap:6px;align-items:center}.controls input{accent-color:#5c2dff;width:17px;height:17px}.sheetmeta{display:flex;justify-content:space-between;gap:14px;font-size:13px;color:#5b6372;margin-bottom:10px}.sheet{max-height:65vh;overflow:auto;border:1px solid #dce3ed;border-radius:10px;background:white}table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}th,td{border-right:1px solid #e5e9f0;border-bottom:1px solid #e5e9f0;padding:12px;min-width:145px;max-width:350px;text-align:left;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}th{position:sticky;top:0;z-index:2;background:#eee9ff;font-weight:bold;white-space:nowrap}th button{background:none;border:0;padding:0;border-radius:0;font-size:13px;font-weight:bold;text-align:left}tr:nth-child(even) td{background:#f9faff}td:first-child,th:first-child{min-width:55px;width:55px;text-align:center;color:#697181}td:nth-child(3){font-weight:bold;min-width:210px}td:empty:after{content:'—';color:#89909a}.error{border:1px solid #efb8be;background:#fff0f2;padding:14px;border-radius:10px;color:#912331}.empty{text-align:center;padding:30px;background:white}.badge{color:#236245;background:#e2f5eb;border-radius:5px;padding:3px 6px;display:inline-block;font-size:13px}footer{margin-top:32px;border-top:1px solid #dce3ed;padding:20px 0;display:flex;justify-content:space-between;gap:20px;font-size:13px;color:#5b6372}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9881ff;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:700px){main{padding:25px 18px}header{padding:16px 18px;gap:14px}header img{width:160px}header span{display:none}.heading{align-items:start;flex-direction:column}h1{font-size:30px}.stats{grid-template-columns:1fr 1fr;gap:10px}.stats>div{padding:15px}.stats span{font-size:27px}.login{padding:25px}.controls{gap:13px}.sheetmeta,footer{flex-direction:column}.toolbar label:first-child{min-width:100%}}

.import{margin-top:28px;padding-top:20px;border-top:1px solid #ddd}.filelabel{display:block;margin:20px auto 0;font-weight:bold}.filelabel input{display:block;margin:12px auto;max-width:100%}button:disabled{cursor:not-allowed;opacity:.5}
.field{display:block;text-align:left;margin:20px 0;font-weight:600}.field input{display:block;width:100%;box-sizing:border-box;margin-top:9px;padding:14px;border:1px solid #cdd1dc;border-radius:8px;font:inherit}.login{max-width:500px;margin:auto}.login form>.primary{width:100%;margin:10px 0}.login #recover{border:0;background:transparent;color:#5c2dff}.error{color:#a31d34}
