:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7f4;color:#17201c;letter-spacing:0}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.center-screen,.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.login-screen{background:linear-gradient(120deg,rgba(33,104,105,.12),transparent 38%),linear-gradient(320deg,rgba(194,89,47,.12),transparent 42%),#f5f7f4}.login-card{width:min(420px,100%);background:#fff;border:1px solid #dfe6dc;border-radius:8px;padding:28px;display:grid;gap:18px;box-shadow:0 24px 60px #17201c1a}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{background:#182421;color:#fff;padding:20px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:44px;height:44px;display:grid;place-items:center;background:#dcebd5;color:#216869;border-radius:8px}.brand span{display:block;color:#aac0b5;font-size:13px;margin-top:2px}.login-brand span{color:#65756c}nav{display:grid;gap:8px}.nav-button,.ghost-button,.secondary-button,.primary-button{min-height:42px;border-radius:8px;border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 14px;text-decoration:none;transition:.15s ease}.nav-button{width:100%;justify-content:flex-start;color:#d7e0dc;background:transparent}.nav-button:hover,.nav-button.active{background:#ffffff1a;color:#fff}.primary-nav{background:#c2592f;color:#fff;font-weight:700}.primary-button{background:#216869;color:#fff;font-weight:700}.primary-button:disabled{opacity:.55;cursor:not-allowed}.secondary-button{background:#fff;color:#1e3932;border:1px solid #cfd9d3}.ghost-button{background:transparent;color:inherit}.logout{margin-top:auto;justify-content:flex-start;color:#d7e0dc}.large{min-height:50px;padding:0 18px}.workspace{padding:28px;overflow:hidden}.stack{display:grid;gap:22px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px}h1,h2,p{margin:0}h1{font-size:30px;line-height:1.1}h2{font-size:17px;margin-bottom:16px}.topbar p,.muted{color:#65756c;margin-top:6px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric,.panel,.upload-zone,.table-wrap{background:#fff;border:1px solid #dfe6dc;border-radius:8px}.metric{padding:18px;display:grid;gap:8px}.metric span{color:#65756c;font-size:14px}.metric strong{font-size:24px}.metric.warm strong{color:#c2592f}.dashboard-grid,.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panel{padding:18px;min-width:0}.chart{height:270px}.review-list,.supplier-list,.category-list{display:grid;gap:10px}.review-row,.supplier-list div,.category-list div,.line-item,.audit-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e6ece7;border-radius:8px;min-height:46px;padding:10px 12px;background:#fbfcfa;text-align:left}.review-row{width:100%}.filters,.category-form{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:10px}input,select,textarea{width:100%;border:1px solid #cfd9d3;border-radius:8px;padding:11px 12px;background:#fff;color:#17201c}textarea{min-height:88px;resize:vertical}label{display:grid;gap:7px;color:#35453d;font-size:14px}label.warning input{border-color:#d89b24;background:#fff8e8}label.danger input{border-color:#be3d2d;background:#fff0ec}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:860px}th,td{padding:14px 16px;border-bottom:1px solid #ecf0ed;text-align:left;white-space:nowrap}th{color:#65756c;font-size:13px;background:#fbfcfa}tbody tr{cursor:pointer}tbody tr:hover{background:#f7faf7}.status{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;font-size:13px;background:#e8efe8;color:#24443b}.status.failed{background:#ffe6df;color:#8d2d21}.status.needs_review,.status.processing{background:#fff2cf;color:#77510d}.status.confirmed{background:#dff1e2;color:#1f6735}.upload-page{min-height:calc(100vh - 56px);display:grid;place-items:center}.upload-zone{width:min(560px,100%);padding:34px;display:grid;gap:18px;justify-items:center;text-align:center}.file-picker{min-height:54px;border:1px dashed #8fa39a;border-radius:8px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;font-weight:700;color:#216869}.file-picker input{display:none}.selected-file,.message{color:#216869;font-weight:700}.error{color:#a43328}.review-layout{display:grid;grid-template-columns:minmax(320px,44%) 1fr;gap:18px;align-items:start}.document-preview{background:#182421;border-radius:8px;min-height:620px;overflow:hidden;display:grid;place-items:center}.document-preview img,.document-preview iframe{width:100%;height:100%;min-height:620px;border:0;object-fit:contain}.review-form{background:#fff;border:1px solid #dfe6dc;border-radius:8px;padding:18px;display:grid;gap:14px}.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.three-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.four-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.actions{display:flex;justify-content:flex-end;gap:12px}.warning-box{display:grid;gap:8px;padding:14px 16px;border:1px solid #e6bf5b;background:#fff8e8;color:#6a4b10;border-radius:8px}.inline-button{border:0;background:transparent;color:#216869;font-weight:700;margin-left:8px}.inactive{opacity:.55}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;padding:14px}nav{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:auto}.nav-button{justify-content:center;min-width:128px}.logout{display:none}.workspace{padding:18px}.metric-grid,.dashboard-grid,.detail-grid,.review-layout{grid-template-columns:1fr}.document-preview,.document-preview img,.document-preview iframe{min-height:420px}}@media(max-width:680px){.topbar,.actions{align-items:stretch;flex-direction:column}.filters,.category-form,.two-cols,.three-cols,.four-cols{grid-template-columns:1fr}h1{font-size:25px}.metric strong{font-size:21px}}
