:root{--bg:#f6f7f8;--panel:#fff;--ink:#17191c;--muted:#697078;--line:#e5e7ea;--soft:#f1f3f5;--brand:#2563eb;--brand2:#1d4ed8;--green:#16875b;--amber:#b56a08;--red:#c93d43;--purple:#7257c7;--radius:14px;--shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.04)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Geist,Inter,system-ui,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.signin{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#fff}.signin-art{background:#101318;padding:48px;display:flex;flex-direction:column;color:white;position:relative;overflow:hidden}.signin-art:after{content:"";position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,#2a68f0 0,#15264a 38%,transparent 70%);right:-150px;bottom:-220px;opacity:.7}.brand{display:flex;align-items:center;gap:11px;font-weight:650;letter-spacing:-.02em}.brandmark{width:30px;height:30px;border-radius:9px;background:linear-gradient(145deg,#2f76ff,#1644b9);display:grid;place-items:center;color:white;font-size:12px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.art-copy{margin:auto 0;max-width:570px;z-index:1}.art-copy h1{font-size:48px;line-height:1.08;letter-spacing:-.045em;margin:0 0 20px}.art-copy p{color:#adb4bf;font-size:17px;line-height:1.65}.trust{display:flex;gap:28px;color:#929aa7;font-size:12px;z-index:1}.signin-form{display:grid;place-items:center;padding:40px}.login-card{width:min(420px,100%)}.login-card h2{font-size:28px;letter-spacing:-.03em;margin:0 0 8px}.login-card>p{color:var(--muted);margin:0 0 32px}.field{margin-bottom:17px}.field label{display:block;font-size:13px;font-weight:550;margin-bottom:7px}.input{width:100%;height:42px;border:1px solid #dfe2e6;border-radius:9px;padding:0 12px;background:white;outline:none}.input:focus{border-color:#7ba5ff;box-shadow:0 0 0 3px #e9f0ff}.btn{height:38px;border:1px solid var(--line);border-radius:9px;background:white;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:550;color:#292d32}.btn:hover{background:#f7f8f9}.btn.primary{background:var(--brand);color:white;border-color:var(--brand);box-shadow:0 1px 2px rgba(0,0,0,.12)}.btn.primary:hover{background:var(--brand2)}.btn.danger{color:var(--red)}.btn.full{width:100%;height:43px}.demo-note{margin-top:24px;padding:13px;background:#f7f8fa;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:12px;line-height:1.5}
.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:242px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30;transition:.2s}.sidebar.collapsed{width:74px}.side-head{height:68px;padding:0 20px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .user-meta,.sidebar.collapsed .side-section{display:none}.sidebar.collapsed .nav-item{justify-content:center;padding:0}.sidebar.collapsed .side-head{padding:0;justify-content:center}.side-nav{padding:18px 12px;flex:1;overflow:auto}.side-section{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#a0a6ad;font-weight:650;margin:16px 10px 7px}.nav-item{height:39px;padding:0 11px;border-radius:8px;display:flex;align-items:center;gap:11px;color:#555d66;margin:2px 0;cursor:pointer;font-size:13px}.nav-item:hover{background:#f4f5f6;color:#202328}.nav-item.active{background:#edf3ff;color:#174eb6;font-weight:600}.ico{width:18px;height:18px;display:grid;place-items:center;font-size:16px}.nav-count{margin-left:auto;font-size:10px;background:#feecef;color:#bc2c36;padding:2px 6px;border-radius:10px}.side-user{height:70px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:0 16px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e8edfa;color:#2f55a4;font-size:12px;font-weight:650;flex:none}.user-meta{min-width:0;flex:1}.user-meta b,.user-meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-meta b{font-size:12px}.user-meta span{font-size:10px;color:var(--muted);margin-top:2px}
.main{margin-left:242px;min-height:100vh;transition:.2s}.main.expanded{margin-left:74px}.topbar{height:68px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(12px);display:flex;align-items:center;padding:0 28px;gap:18px;position:sticky;top:0;z-index:20}.icon-btn{width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:white;display:grid;place-items:center;color:#59616a}.top-title{font-weight:600;flex:1}.role-switch{display:flex;padding:3px;background:#f0f2f4;border-radius:9px}.role-switch button{border:0;background:transparent;border-radius:7px;padding:6px 10px;font-size:11px;color:var(--muted)}.role-switch button.active{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08)}.top-action{display:flex;gap:8px}.content{padding:30px 32px 48px;max-width:1500px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:25px;gap:20px}.page-head h1{font-size:25px;letter-spacing:-.035em;margin:0 0 7px}.page-head p{margin:0;color:var(--muted)}.head-actions{display:flex;gap:8px;flex-wrap:wrap}
.grid{display:grid;gap:17px}.kpi-grid{grid-template-columns:repeat(4,1fr);margin-bottom:18px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:var(--shadow)}.kpi-top{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.kpi-icon{width:30px;height:30px;border-radius:8px;background:#f1f5ff;color:#3163cc;display:grid;place-items:center}.kpi-value{font-size:25px;letter-spacing:-.035em;font-weight:650;margin:12px 0 7px}.delta{font-size:11px;color:var(--muted)}.delta.up{color:var(--green)}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,.9fr)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.panel-head{min-height:60px;padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h3{margin:0;font-size:14px}.panel-head p{margin:3px 0 0;color:var(--muted);font-size:11px}.panel-body{padding:18px}.chart{height:220px;display:flex;align-items:end;gap:12px;padding:15px 4px 4px;border-bottom:1px solid var(--line);background:linear-gradient(#fff,#fbfcfe)}.bar-group{height:100%;flex:1;display:flex;align-items:end;gap:3px;position:relative}.bar{flex:1;background:#a9c1f3;border-radius:4px 4px 0 0;min-height:5px}.bar:last-child{background:#2865d8}.bar-label{position:absolute;top:calc(100% + 9px);width:100%;text-align:center;color:var(--muted);font-size:9px}.chart-foot{display:flex;justify-content:center;gap:18px;padding:25px 0 2px;color:var(--muted);font-size:10px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.sync-card{background:#f8fbff;border:1px solid #dbe8ff;border-radius:11px;padding:14px;display:flex;gap:12px;align-items:center}.sync-icon{width:35px;height:35px;border-radius:9px;background:#dce9ff;color:#245dc5;display:grid;place-items:center}.sync-card b{font-size:12px}.sync-card p{margin:3px 0 0;color:var(--muted);font-size:10px}.sync-ok{margin-left:auto;color:var(--green);font-size:10px}.activity{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid #f0f1f2}.activity:last-child{border:0}.activity-icon{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#edf3ff;color:#3367ce;font-size:11px}.activity-text{font-size:11px;line-height:1.45;flex:1}.activity-text span{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.toolbar{display:flex;gap:9px;padding:13px 16px;border-bottom:1px solid var(--line);align-items:center}.search{position:relative;flex:1;max-width:330px}.search .input{padding-left:34px;height:37px}.search:before{content:"⌕";position:absolute;left:12px;top:8px;color:#8d949c}.select{height:37px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 30px 0 10px;color:#555}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:750px}th{text-align:left;padding:11px 16px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#7d858e;background:#fafbfc;border-bottom:1px solid var(--line)}td{padding:13px 16px;border-bottom:1px solid #eff0f2;font-size:12px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfd}.vendor{display:flex;gap:10px;align-items:center}.vendor-logo{width:31px;height:31px;border-radius:8px;background:#f1f2f4;display:grid;place-items:center;font-size:10px;font-weight:700;color:#555}.vendor b{display:block;font-size:12px}.vendor small{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:20px;font-size:10px;font-weight:550;white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.approved{background:#eaf8f1;color:#14764f}.review{background:#fff5e5;color:#a35c03}.flagged{background:#feecef;color:#ba3540}.validating{background:#edf3ff;color:#295fca}.draft{background:#f0f1f3;color:#6b7178}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;color:var(--muted);font-size:11px}.pages{display:flex;gap:4px}.page{width:28px;height:28px;border:1px solid var(--line);background:white;border-radius:7px}.page.active{background:#20242a;color:#fff;border-color:#20242a}
.correction-card{display:grid;grid-template-columns:auto 1fr auto;gap:15px;padding:18px;border-bottom:1px solid var(--line);align-items:center}.bill-thumb{width:55px;height:68px;border:1px solid #d8dadd;background:linear-gradient(135deg,#fff,#f1f2f3);border-radius:7px;padding:7px;box-shadow:0 2px 6px rgba(0,0,0,.05)}.bill-thumb i{display:block;height:3px;background:#d9dce0;margin:5px 0}.bill-thumb i:nth-child(2){width:65%}.correction-card h4{margin:0 0 5px;font-size:13px}.correction-meta{display:flex;gap:15px;color:var(--muted);font-size:10px;flex-wrap:wrap}.reason{margin-top:10px;color:#9d353d;background:#fff4f4;padding:7px 9px;border-radius:7px;font-size:10px;display:inline-block}.sla{text-align:right}.sla b{display:block;color:var(--red);font-size:15px}.sla span{font-size:9px;color:var(--muted)}.card-actions{display:flex;gap:7px;margin-top:10px;justify-content:flex-end}
.form-grid{grid-template-columns:1fr 1fr;gap:16px}.form-card{padding:24px}.upload{border:1.5px dashed #cfd4da;border-radius:12px;background:#fafbfc;min-height:220px;display:grid;place-items:center;text-align:center;padding:30px}.upload-icon{width:46px;height:46px;border-radius:12px;background:#edf3ff;color:#2864d8;display:grid;place-items:center;margin:auto;font-size:19px}.upload h3{font-size:14px;margin:13px 0 6px}.upload p{color:var(--muted);font-size:11px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.textarea{height:88px;padding-top:11px;resize:none}.help{font-size:10px;color:var(--muted);margin-top:5px}.sticky-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:8px}.stepper{display:flex;margin-bottom:22px}.step{flex:1;position:relative;text-align:center;color:var(--muted);font-size:10px}.step:before{content:"";display:block;height:2px;background:#e1e4e8;position:absolute;left:0;right:0;top:8px}.step:first-child:before{left:50%}.step:last-child:before{right:50%}.step span{position:relative;width:18px;height:18px;border-radius:50%;background:#dfe3e8;color:white;display:grid;place-items:center;margin:0 auto 7px;font-size:9px}.step.done span,.step.active span{background:var(--brand)}.step.done:before{background:var(--brand)}
.review-layout{grid-template-columns:minmax(320px,.9fr) minmax(440px,1.15fr)}.document{background:#30343a;border-radius:12px;min-height:570px;padding:28px;display:grid;place-items:center}.paper{width:min(390px,92%);min-height:500px;background:#fff;padding:35px;box-shadow:0 8px 30px rgba(0,0,0,.25);color:#333}.paper-head{display:flex;justify-content:space-between;border-bottom:2px solid #222;padding-bottom:18px}.paper h2{font-size:20px}.paper-lines{margin-top:25px}.paper-line{height:7px;background:#ececec;margin:11px 0}.paper-line.short{width:55%}.receipt-table{margin:30px 0}.receipt-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eee;font-size:11px}.compare-head{display:grid;grid-template-columns:1.2fr 1fr 1fr .6fr;gap:10px;padding:11px 14px;background:#f8f9fa;color:var(--muted);font-size:9px;text-transform:uppercase}.compare-row{display:grid;grid-template-columns:1.2fr 1fr 1fr .6fr;gap:10px;padding:13px 14px;border-top:1px solid var(--line);align-items:center;font-size:11px}.compare-row.mismatch{background:#fff7f7}.compare-val.bad{color:var(--red);font-weight:600}.confidence{display:flex;align-items:center;gap:6px}.meter{width:34px;height:4px;background:#e4e6e8;border-radius:3px;overflow:hidden}.meter i{height:100%;background:var(--green);display:block}.meter.low i{background:var(--red)}.timeline{padding:18px}.timeline-item{display:flex;gap:12px;min-height:54px}.timeline-node{display:flex;flex-direction:column;align-items:center}.timeline-node i{width:9px;height:9px;border-radius:50%;background:#2d67d5}.timeline-node:after{content:"";width:1px;flex:1;background:#dfe2e6}.timeline-item:last-child .timeline-node:after{display:none}.timeline-copy b{font-size:11px}.timeline-copy p{font-size:9px;color:var(--muted);margin:3px 0}.review-actions{padding:15px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;position:sticky;bottom:0;background:white;border-radius:0 0 14px 14px}
.centre-grid{grid-template-columns:repeat(3,1fr)}.centre-card{padding:18px}.centre-title{display:flex;align-items:center;gap:10px}.centre-code{width:38px;height:38px;border-radius:9px;background:#eef3ff;color:#2b60c5;display:grid;place-items:center;font-weight:650}.centre-title h3{margin:0;font-size:13px}.centre-title p{margin:3px 0 0;color:var(--muted);font-size:10px}.centre-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.centre-stat b,.centre-stat span{display:block}.centre-stat b{font-size:13px}.centre-stat span{font-size:9px;color:var(--muted);margin-top:3px}.progress{height:5px;background:#eceef0;border-radius:5px;overflow:hidden}.progress i{display:block;height:100%;background:var(--brand)}
.patterns{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.pattern-card{border:1px solid var(--line);border-radius:11px;padding:15px}.pattern-top{display:flex;justify-content:space-between}.pattern-card h4{margin:0 0 5px}.pattern-card p{color:var(--muted);font-size:10px;margin:0}.rule{margin-top:14px;padding:10px;background:#f7f8fa;border-radius:8px;font-family:ui-monospace,monospace;font-size:10px}.accuracy{color:var(--green);font-size:10px}.empty{text-align:center;padding:65px 20px}.empty-icon{width:52px;height:52px;border-radius:50%;background:#f0f2f5;display:grid;place-items:center;margin:auto;font-size:20px;color:#7c848c}.empty h3{margin:14px 0 6px}.empty p{color:var(--muted);font-size:11px}.skeleton{height:12px;border-radius:5px;background:linear-gradient(90deg,#eceef0 25%,#f7f8f9 50%,#eceef0 75%);background-size:200% 100%;animation:load 1.4s infinite;margin:15px}@keyframes load{to{background-position:-200% 0}}
.modal-backdrop{position:fixed;inset:0;background:rgba(14,18,23,.55);z-index:100;display:grid;place-items:center;padding:20px}.modal{width:min(490px,100%);background:#fff;border-radius:15px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.modal-head{padding:19px 21px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.modal-head h3{margin:0}.modal-body{padding:21px}.modal-foot{padding:14px 21px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;right:22px;top:82px;z-index:200;background:#fff;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:10px;box-shadow:0 12px 35px rgba(0,0,0,.14);padding:13px 16px;width:310px;animation:toastin .25s}.toast b{display:block;font-size:12px}.toast span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.toast.error{border-left-color:var(--red)}@keyframes toastin{from{transform:translateX(20px);opacity:0}}
@media(max-width:1050px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.centre-grid{grid-template-columns:repeat(2,1fr)}.review-layout{grid-template-columns:1fr}.document{min-height:400px}.paper{min-height:390px}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:760px){.signin{grid-template-columns:1fr}.signin-art{display:none}.sidebar{transform:translateX(-100%);width:242px}.sidebar.mobile-open{transform:translateX(0)}.main,.main.expanded{margin-left:0}.content{padding:22px 16px}.topbar{padding:0 15px}.top-title{display:none}.role-switch{margin-left:auto}.top-action .btn{display:none}.page-head{display:block}.head-actions{margin-top:15px}.kpi-grid,.centre-grid,.form-grid,.form-row,.patterns{grid-template-columns:1fr}.kpi-grid{gap:10px}.correction-card{grid-template-columns:auto 1fr}.sla{grid-column:1/-1;text-align:left;display:flex;align-items:center;gap:8px}.card-actions{justify-content:flex-start}.toolbar{flex-wrap:wrap}.search{max-width:none;width:100%;flex-basis:100%}.compare-head,.compare-row{grid-template-columns:1fr 1fr .6fr}.compare-head span:nth-child(3),.compare-row>div:nth-child(3){display:none}.review-actions{flex-wrap:wrap}.page-head h1{font-size:22px}}

/* Simplified visual direction */
:root{--bg:#f7f7f5;--panel:#fff;--ink:#171717;--muted:#737373;--line:#e8e7e3;--soft:#f3f3f0;--brand:#3157d5;--brand2:#2648bc;--green:#287a58;--amber:#a56516;--red:#b94343;--radius:10px;--shadow:none}
body{background:var(--bg);letter-spacing:-.005em}
.sidebar{width:224px;background:#1c1d20;border:0;color:#fff}
.sidebar.collapsed{width:68px}
.main{margin-left:224px}
.main.expanded{margin-left:68px}
.side-head{height:72px;border-color:#303136;padding:0 18px}
.brandmark{background:#fff;color:#1c1d20;border-radius:7px;box-shadow:none;font-weight:800}
.side-nav{padding:18px 10px}
.side-section{color:#71737b;margin:18px 10px 8px}
.nav-item{height:42px;color:#a9abb2;border-radius:7px;padding:0 12px}
.nav-item:hover{background:#27282d;color:#fff}
.nav-item.active{background:#fff;color:#1c1d20;font-weight:600}
.nav-count{background:#df5a62;color:#fff}
.side-user{height:76px;border-color:#303136}
.side-user .avatar{background:#303238;color:#fff}
.side-user .user-meta span{color:#858791}
.topbar{height:72px;padding:0 34px;border-color:var(--line);background:rgba(247,247,245,.94)}
.icon-btn,.btn,.input,.select{border-color:#deddd9;box-shadow:none}
.btn{border-radius:7px}
.btn.primary{box-shadow:none}
.content{padding:42px 42px 60px;max-width:1440px}
.page-head{margin-bottom:30px}
.page-head h1{font-size:30px;font-weight:600;letter-spacing:-.045em;margin-bottom:9px}
.page-head p{font-size:13px}
.kpi-grid{gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:24px}
.kpi{border:0;border-radius:0;padding:22px 24px}
.kpi-icon{background:transparent;color:#999;font-size:17px}
.kpi-value{font-size:27px;font-weight:600;margin:17px 0 6px}
.delta{font-size:10px}
.panel{border-radius:10px}
.panel-head{min-height:66px;padding:18px 20px}
.panel-head h3{font-size:13px;font-weight:600}
.panel-body{padding:20px}
.dashboard-grid{gap:20px}
.chart{background:#fff;height:205px;gap:16px}
.bar{background:#d8dce8;border-radius:2px 2px 0 0}
.bar:last-child{background:#3157d5}
.sync-card{background:#f7f8fb;border-color:#e3e6ef;border-radius:8px}
.sync-icon{background:#e8ebf6;color:#3157d5}
.activity{padding:14px 0}
.activity-icon{background:#f0f0ed;color:#555}
.toolbar{padding:14px 18px;background:#fcfcfb}
th{background:#f7f7f5;color:#888;padding:12px 18px}
td{padding:15px 18px}
.vendor-logo{border-radius:6px;background:#f0f0ed}
.badge{border-radius:5px;padding:4px 7px}
.badge:before{display:none}
.approved{background:#edf6f0}.review{background:#faf2e5}.flagged{background:#faecec}.validating{background:#edf0fa}
.correction-card{padding:22px}
.reason{background:transparent;padding:0;color:var(--red);font-size:11px}
.form-card{padding:28px}
.upload{background:#fbfbfa;border-color:#d8d7d2;border-radius:9px}
.upload-icon{background:#eef0f8;color:#3157d5}
.document{background:#292a2d;border-radius:10px}
.paper{box-shadow:0 16px 40px rgba(0,0,0,.18)}
.compare-row.mismatch{background:#fdf3f3}
.centre-card{padding:21px}
.centre-code{background:#eef0f8;color:#3157d5}
.pattern-card{border-radius:8px}
.rule{background:#f5f5f2}
.signin{background:#f7f7f5}
.signin-art{background:#1c1d20;padding:56px}
.signin-art:after{display:none}
.art-copy h1{font-size:52px;font-weight:500}
.art-copy p{color:#989ba3;max-width:510px}
.login-card{background:#fff;border:1px solid var(--line);padding:38px;border-radius:12px}
.login-card h2{font-weight:600}
.demo-note{background:#f7f7f5}
@media(max-width:760px){.sidebar{width:224px}.main,.main.expanded{margin-left:0}.topbar{padding:0 16px}.content{padding:28px 16px 44px}.page-head h1{font-size:27px}.kpi-grid{grid-template-columns:1fr 1fr}.kpi{padding:18px}.kpi-value{font-size:22px}.signin-form{padding:20px}.login-card{padding:28px 22px}.panel-head{padding:16px}}
