*{box-sizing:border-box} :root{--ink:#18382f;--muted:#738078;--green:#17684b;--line:#e3e9e5;--paper:#f6f8f6;--white:#fff;--gold:#b7842e}body{margin:0;background:var(--paper);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button,a.button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:34px;letter-spacing:-1.2px;line-height:1.2}h2{font-size:17px;letter-spacing:-.2px}.muted{color:var(--muted);line-height:1.7}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:#729181;margin-bottom:12px}.sidebar{width:230px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:30px 21px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:20px;font-weight:750;letter-spacing:.8px}.brand-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;font-size:27px;font-weight:700;border-radius:12px}.brand small{display:block;font-size:8px;letter-spacing:1.8px;color:#8a948e;margin-top:4px}.nav-label{font-size:9px;letter-spacing:1.2px;color:#969f99;margin:48px 8px 15px}.nav-item{display:flex;align-items:center;gap:12px;padding:14px;border-radius:8px;font-weight:650}.nav-item.active{background:#eaf3ec;color:var(--green)}.nav-count{margin-left:auto;background:#d7e8db;font-size:11px;padding:2px 7px;border-radius:4px}.sidebar-bottom{margin-top:auto;padding:20px 8px 0;border-top:1px solid var(--line);font-size:12px}.sidebar-bottom p{color:var(--muted);font-size:11px;line-height:1.8;margin:9px 0 15px}.online-dot{display:inline-block;background:#57a772;width:7px;height:7px;border-radius:50%;margin-right:6px}.text-button{border:0;background:none;padding:5px 0;color:var(--green);font-weight:600}.workspace{margin-left:230px}.topbar{height:76px;border-bottom:1px solid var(--line);background:#ffffffb0;display:flex;justify-content:space-between;align-items:center;padding:0 40px;font-size:12px;color:var(--muted)}.separator{padding:0 14px;color:#bcc4bf}.topbar strong{font-weight:550;color:var(--ink)}.private-badge{border:1px solid #dce7df;color:#437a57;border-radius:20px;padding:7px 12px;font-size:10px}.main-content{padding:36px 40px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:20px}.page-heading .muted{margin-top:10px;font-size:13px}.button,button.primary{padding:11px 18px;border-radius:7px;border:1px solid transparent;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:20px}.secondary{background:#fff;border-color:var(--line);font-size:12px}.primary{background:var(--green);color:white;border:0;border-radius:7px;padding:13px 20px;font-weight:650}.primary:hover{background:#12573f}.primary:disabled{opacity:.55;cursor:wait}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:14px;margin-bottom:25px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px}.metrics article>span{color:var(--muted);font-size:11px;display:block}.metrics strong{display:block;font-size:30px;letter-spacing:-1px;font-weight:650;margin:15px 0 8px;white-space:nowrap}.metrics small{font-size:10px;color:#89948d}.metrics .total-metric{background:#eaf2ec;border-color:#dce8df}.metrics em{font-style:normal;font-size:19px;color:#678371}.upload-zone{border:1.5px dashed #b8cfbe;border-radius:10px;background:#f0f6f1;display:flex;align-items:center;gap:22px;padding:28px 30px;cursor:pointer;transition:.15s}.upload-zone:hover,.upload-zone.dragging{border-color:var(--green);background:#e4efe7}.upload-icon{width:52px;height:52px;border-radius:13px;background:white;border:1px solid #dfe9e1;display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--green)}.upload-zone h2{font-size:15px;margin-bottom:8px}.upload-zone p{font-size:12px;color:var(--muted);margin-bottom:7px}.upload-zone small{font-size:10px;color:#8c9890}.upload-link{color:var(--green);font-weight:650}.upload-pill{margin-left:auto;padding:10px 16px;border:1px solid #ccdcd0;background:white;border-radius:6px;font-size:12px;color:var(--green)}.results{background:#fff;border:1px solid var(--line);border-radius:10px;margin-top:28px;overflow:hidden}.results-toolbar{display:flex;justify-content:space-between;padding:22px 24px;gap:15px;align-items:center}.results-toolbar h2 span{font-size:11px;padding:3px 7px;background:#eff3ef;border-radius:5px;margin-left:6px}.results-toolbar p{font-size:11px;color:var(--muted);margin-top:7px}.filters{display:flex;gap:8px}.filters input,.filters select{font-size:11px;max-width:190px;padding:9px 11px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:white}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:9px;letter-spacing:.7px;color:#929e96;font-weight:650;background:#fafcf9;border-block:1px solid var(--line);padding:14px 18px}td{padding:15px 18px;border-bottom:1px solid #edf0ed;font-size:12px}.bill-row{cursor:pointer}.bill-row:hover{background:#f8fbf8}.thumb-cell{display:flex;align-items:center;gap:12px}.thumb-cell img{width:32px;height:42px;object-fit:cover;object-position:top;border-radius:4px;border:1px solid #e6eae6}.thumb-cell strong{font-size:12px}.thumb-cell small{display:block;color:var(--muted);max-width:130px;overflow:hidden;text-overflow:ellipsis;font-size:9px;margin-top:4px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px}.amount{font-weight:650}.badge{display:inline-flex;font-size:10px;padding:5px 8px;border-radius:5px;background:#eff2ef;color:#68796c}.badge.review,.badge.duplicate{color:#996a1e;background:#fbf2df}.badge.confirmed{color:#257046;background:#e6f2e9}.badge.ready{color:#416d8f;background:#ebf2f9}.badge.error{color:#ad524e;background:#fbedeb}.badge.processing{color:#5263a0;background:#edf0fc}.empty-state{text-align:center;padding:45px 20px 52px}.empty-icon{font-size:29px;color:#a5bca9;width:62px;height:62px;background:#f3f7f3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.empty-state h3{font-size:14px;margin-bottom:10px}.empty-state p{font-size:12px;color:#8b968e;line-height:1.8}footer{display:flex;justify-content:space-between;color:#9aa39c;font-size:10px;margin-top:22px}.notice{background:#eef4ed;color:#416547;border:1px solid #dae5d8;padding:12px;border-radius:6px;font-size:12px;line-height:1.6;margin-top:12px}.danger{background:#fff0ed;color:#9e413b;border-color:#f3d8d1}.upload-progress{margin-top:10px;color:var(--green);font-size:12px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 0 100%,#d9e8dc,transparent 65%),#f4f7f3}.login-card{width:430px;max-width:94vw;padding:40px;background:white;border:1px solid #dfe7df;border-radius:18px;box-shadow:0 20px 80px #173e3010}.login-card>.eyebrow{margin-top:30px}.login-card h1{font-size:37px;margin-bottom:18px}.login-card form{margin-top:26px}.login-card label{margin-bottom:15px}.login-card button{width:100%;margin-top:7px}.login-note{font-size:10px;color:#88958c;margin-top:24px;text-align:center}label{display:block;font-size:11px;color:#708074;font-weight:550}label input,label select{display:block;width:100%;padding:11px 12px;border:1px solid #dbe4db;border-radius:6px;background:#fff;color:var(--ink);margin-top:7px;font-size:13px}input:focus,select:focus{outline:2px solid #5c9c76;outline-offset:1px}dialog{padding:0;width:1100px;max-width:96vw;max-height:94vh;border:0;border-radius:13px;box-shadow:0 30px 100px #0c302040;color:var(--ink)}dialog::backdrop{background:#17382f7a;backdrop-filter:blur(3px)}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;border-bottom:1px solid var(--line)}.detail-header .eyebrow{margin-bottom:6px}.icon-button{border:0;background:#f0f4ef;border-radius:50%;width:30px;height:30px;font-size:22px;color:#69806e}.detail-content{display:grid;grid-template-columns:1fr 1fr;max-height:calc(94vh - 84px);overflow:auto}.image-pane{padding:24px;background:#eef2ed;text-align:center}.image-pane img{max-width:100%;max-height:950px;object-fit:contain;border-radius:5px}.image-pane p{font-size:10px;color:#819084;margin-top:14px}.form-pane{padding:22px 26px;min-width:0}.filename{font-size:10px;color:#849089;overflow-wrap:anywhere;margin-bottom:10px}#warnings p{padding:9px 12px;background:#fff6e5;color:#956c27;border-radius:5px;font-size:11px;line-height:1.6;margin-bottom:6px}.form-pane form{margin-top:20px}.form-pane label{margin-bottom:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-pane .primary{width:100%;margin-top:12px}.form-note{font-size:10px;color:#8a968d;line-height:1.7;margin-top:10px}.form-pane details{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}summary{font-size:12px;cursor:pointer;color:#5f7967}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.6;color:#65736a;background:#f6f8f5;border-radius:6px;padding:12px;max-height:350px;overflow:auto}.detail-actions{display:flex;justify-content:space-between;margin-top:20px;font-size:11px}.delete{color:#b26960}[hidden]{display:none!important}@media(max-width:1150px){.sidebar{width:195px;padding:25px 15px}.workspace{margin-left:195px}.main-content{padding:30px 24px}.topbar{padding:0 24px}.metrics{grid-template-columns:1fr 1fr}.metrics strong{font-size:28px}.filters input{max-width:135px}.upload-pill{display:none}}@media(max-width:750px){.sidebar{position:static;width:auto;border-right:0;border-bottom:1px solid var(--line);padding:15px 20px}.sidebar .nav-label,.sidebar .nav-item,.sidebar-bottom{display:none}.brand{font-size:16px}.brand-icon{height:34px;width:34px;font-size:23px}.workspace{margin-left:0}.topbar{height:48px;padding:0 18px}.private-badge{font-size:9px}.main-content{padding:25px 16px}.page-heading{align-items:flex-start}h1{font-size:29px}.page-heading .muted{font-size:12px}.page-heading .button{font-size:10px;padding:10px;white-space:nowrap}.metrics{gap:9px}.metrics article{padding:15px}.metrics strong{font-size:24px}.metrics small{font-size:9px}.upload-zone{padding:20px 15px;gap:13px}.upload-icon{min-width:40px;width:40px;height:40px}.upload-zone h2{font-size:13px}.upload-zone p{font-size:11px}.results-toolbar{display:block;padding:18px}.filters{margin-top:15px}.filters input{max-width:none;min-width:0;width:55%}.filters select{width:45%}footer{gap:16px;font-size:9px}.detail-content{display:block}.image-pane img{max-height:360px}.form-pane{padding:20px}.detail-header{padding:18px}dialog{max-height:95vh}.detail-content{max-height:calc(95vh - 80px)}}
