:root{--nav:#111c32;--ink:#18243d;--muted:#63718a;--line:#e5eaf1;--bg:#f4f6fa;--accent:#5b49da;--green:#087f66;--radius:16px}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;color:var(--ink);background:var(--bg)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9587ff;outline-offset:3px}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.2;margin-bottom:0}h2{font-size:21px;letter-spacing:-.45px;line-height:1.35;margin-bottom:14px}h3{font-size:17px}small,.small{font-size:13px}small{display:block;color:var(--muted)}strong{font-weight:650}.muted{color:var(--muted)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;color:var(--muted);display:block;margin-bottom:10px}.sidebar{width:246px;position:fixed;inset:0 auto 0 0;background:var(--nav);color:#fff;padding:30px 18px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;align-items:center;gap:9px;font-size:25px;font-weight:750;color:#fff;letter-spacing:-.8px;white-space:nowrap}.brand:hover{text-decoration:none}.brand-light{font-weight:350;opacity:.7;margin-left:-5px}.brand-mark{width:35px;height:37px;border-radius:10px 10px 10px 3px;background:#8474ff;display:grid;place-items:center;font-size:23px;margin-right:3px}.workspace{margin:36px 12px 24px;font-size:11px;letter-spacing:1.6px;color:#8f9bb0}.workspace span{display:block;color:#dde4f2;font-size:14px;letter-spacing:0;margin-top:7px}nav{display:flex;flex-direction:column;gap:5px}nav a{display:flex;align-items:center;gap:14px;padding:12px 14px;color:#b4bfd2;border-radius:9px;font-size:14px;font-weight:500}nav a span{width:20px;font-size:21px;line-height:1}nav a:hover{background:#1c2a43;color:white;text-decoration:none}nav a.active{background:#2f3159;color:#fff;box-shadow:inset 3px 0 #9b8fff}.nav-section{font-size:11px;letter-spacing:1.6px;color:#8f9bb0;padding:25px 14px 6px}.profile{border-top:1px solid #2c374d;padding:20px 0 0;margin-top:auto;display:flex;align-items:center;gap:10px;font-size:13px}.profile small{color:#8f9bb0}.profile form{margin-left:auto}.avatar{width:34px;height:34px;border-radius:50%;background:#2e405c;display:grid;place-items:center}.profile .link-button{color:#b8c5dc;font-size:13px}.shell{margin-left:246px}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;font-size:13px;color:var(--muted)}.topbar strong{color:var(--ink)}.date{font-variant-numeric:tabular-nums}.content{padding:34px 40px 20px;max-width:1680px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.page-heading .eyebrow{margin-bottom:7px}.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid transparent;background:var(--accent);color:white;border-radius:9px;padding:11px 18px;font-size:14px;font-weight:650;min-height:44px;white-space:nowrap}.button:hover{background:#4836c1;text-decoration:none}.button.secondary{background:#fff;border-color:#d7deea;color:var(--ink)}.button.secondary:hover{background:#edf0f6}.button.light{background:white;color:#31365e}.button.compact{padding:8px 12px;min-height:38px}.link-button{padding:0;border:0;background:none;color:var(--accent);font-size:14px}.link-button:hover{text-decoration:underline}.full{width:100%}.filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-bottom:24px}.filters label{margin:0;min-width:145px}.filters .search{min-width:min(360px,100%)}label{display:block;font-size:14px;font-weight:550;margin-bottom:18px}input,select{display:block;border:1px solid #cfd7e4;border-radius:8px;background:#fff;color:var(--ink);padding:10px 12px;min-height:44px;width:100%;margin-top:6px}input[type=file]{padding:16px;background:#f6f7fc;border-style:dashed;max-width:100%}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:25px}.metrics article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:23px 22px}.metrics article>span{font-size:14px;color:var(--muted)}.metrics article>strong{display:block;font-size:28px;letter-spacing:-.9px;margin:11px 0 7px;font-variant-numeric:tabular-nums;white-space:nowrap}.metrics article:first-child{border-top:3px solid var(--accent);padding-top:21px}.metrics article:nth-child(2)>strong{color:var(--green)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:24px;overflow:hidden}.card-title{padding:23px 25px 19px;display:flex;align-items:center;justify-content:space-between;gap:20px}.card-title h2{margin:0}.card-title>span,.card-title>a{font-size:13px}.split{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:22px}.dark{padding:28px;background:var(--nav);color:white;border-color:var(--nav)}.dark h2{font-size:27px;margin-top:18px}.dark p{color:#bac5da;font-size:14px;max-width:330px}.dark .eyebrow{color:#b1a8ff}.dark small{margin-top:22px;color:#aebbd1}.chart{padding:15px 25px 30px;max-height:290px;overflow:auto}.chart-row{display:grid;grid-template-columns:70px 1fr 110px;align-items:center;gap:18px;margin-bottom:18px;font-size:13px}.chart-row>strong{text-align:right}.track{background:#f0eefb;height:16px;border-radius:4px;overflow:hidden}.fill{height:100%;background:#8271ed;border-radius:4px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{background:#f8f9fc;color:var(--muted);font-weight:500;font-size:12px;letter-spacing:.2px;padding:14px 23px;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:17px 23px;border-bottom:1px solid #edf0f5;vertical-align:middle;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}td:first-child{min-width:200px}td small{margin-top:4px;font-size:12px;max-width:390px}td a{color:var(--ink);font-weight:600}td a:hover{color:var(--accent)}tbody tr:hover{background:#fcfcff}.badge{display:inline-block;padding:4px 9px;border-radius:5px;font-size:12px;font-weight:550;background:#edf0f7;white-space:nowrap}.badge.green{background:#e2f5ed;color:#09684f}.badge.amber{background:#fff2d8;color:#875a0b}.badge.red{background:#fde8e8;color:#a62d2d}.notice{padding:16px 20px;border-radius:10px;background:#eeebfd;color:#4c4089;border:1px solid #ddd7fa;margin-bottom:22px;font-size:14px}.notice.success{background:#e9f7f0;border-color:#ccebdc;color:#14644c}.notice.danger{background:#fff0ee;border-color:#f4d3cc;color:#943e32}.method{font-size:13px;color:var(--muted);max-width:1000px;margin:22px 0}.empty{text-align:center;padding:55px 25px;color:var(--muted);font-size:14px}.padded{padding:25px}.padded .filters{margin-bottom:14px}.padded p:last-child{margin-bottom:0;font-size:13px}.upload-card{text-align:center;padding:36px 25px 40px}.upload-card h2{font-size:26px}.upload-card>p{max-width:550px;margin:0 auto 25px}.upload-card form{max-width:510px;margin:auto}.step-label{color:var(--muted);font-size:11px;letter-spacing:1.4px}.upload-icon{margin:35px auto 22px;border-radius:18px;width:68px;height:68px;background:#eeeafd;color:var(--accent);font-size:34px;display:grid;place-items:center}.upload-card .small{margin-top:18px;margin-bottom:0}.file-label{text-align:left}.mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.mini-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-grid>.card{padding:25px}.mini-grid p{font-size:14px;color:var(--muted)}.document-head{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:28px}.document-head h2{font-size:26px}.document-head p{margin-bottom:0;color:var(--muted);font-size:14px}.document-total{text-align:right}.document-total strong{display:block;font-size:30px;letter-spacing:-1px;margin:4px 0}.document-total a{font-size:13px}.confirm-panel{display:flex;align-items:center;justify-content:space-between;gap:20px}.confirm-panel p{font-size:14px;color:var(--muted);margin:0;max-width:550px}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.pagination{display:flex;justify-content:space-between;margin:15px 0}.inline{display:flex;gap:8px}.inline input{margin:0;min-width:150px}.audit-detail{word-break:break-word;max-width:450px;font-size:12px}footer{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px;margin-top:40px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--nav);color:#fff;padding:52px 64px;display:flex;flex-direction:column;justify-content:space-between}.login-brand h1{font-size:48px;line-height:1.16;letter-spacing:-1.8px;margin-bottom:25px}.login-brand p{color:#b8c5da;max-width:440px;font-size:18px}.login-brand .eyebrow{color:#b1a4ff;margin-bottom:25px}.login-brand small{color:#aab8d0}.login-form{display:flex;align-items:center;justify-content:center;padding:40px}.login-form>div{width:100%;max-width:380px}.login-form h2{font-size:32px;margin-bottom:10px}.login-form form{margin-top:30px}.login-form .small{margin-top:25px}.login-form input{padding:13px}
@media(min-width:1500px){.content{padding-top:42px}.metrics article>strong{font-size:34px}}
@media(max-width:1150px){.sidebar{width:215px}.shell{margin-left:215px}.content{padding:28px 24px}.topbar{padding:0 24px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.mini-grid{gap:14px}.login-brand{padding:40px}.login-brand h1{font-size:40px}}
@media(max-width:760px){.sidebar{position:static;width:100%;padding:18px 18px 10px}.sidebar .brand{font-size:22px}.brand-mark{width:31px;height:32px}.workspace,.profile,.nav-section{display:none}nav{flex-direction:row;overflow-x:auto;margin-top:18px;padding-bottom:8px}nav a{white-space:nowrap;padding:9px 12px;font-size:13px}nav a span{display:none}.shell{margin-left:0}.topbar{height:48px;padding:0 18px;font-size:12px}.content{padding:25px 16px}.page-heading{align-items:start;gap:12px}.page-heading h1{font-size:25px}.page-heading .button{padding:10px 12px;font-size:12px}.metrics{gap:12px}.metrics article{padding:18px 15px}.metrics article>strong{font-size:24px}.metrics article>span{font-size:13px}.metrics article small{font-size:12px}.metrics article:first-child{padding-top:16px}.mini-grid,.mini-grid.two{grid-template-columns:1fr;gap:0}.card-title{padding:20px;align-items:start}.card-title h2{font-size:18px}.chart{padding:12px 18px 20px}.chart-row{grid-template-columns:52px 1fr 95px;gap:10px;font-size:12px}.filters{gap:10px}.filters label{flex:1;min-width:120px}.document-head{align-items:start;flex-direction:column;padding:22px}.document-total{text-align:left}.confirm-panel{align-items:start;flex-direction:column}.upload-card{padding:25px 18px}.upload-card h2{font-size:22px}.step-label{font-size:10px;letter-spacing:.4px}.login{grid-template-columns:1fr}.login-brand{min-height:180px;padding:25px}.login-brand>div,.login-brand>small{display:none}.login-form{padding:35px 25px;align-items:start}.login-brand{min-height:90px}footer{flex-direction:column;gap:7px}th,td{padding:13px 17px}.date{display:none}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background .15s,color .15s}}

.top-actions{display:flex;align-items:center;gap:15px}.mobile-logout{display:none}@media(max-width:760px){.mobile-logout{display:inline}}
.metrics article>strong{white-space:normal;overflow-wrap:anywhere}@media(max-width:760px){nav{scrollbar-width:thin;scrollbar-color:#65718b #111c32}}

.password-form{max-width:440px}td small .badge{margin-top:3px}

/* Receipt deletion: scoped controls override the generic full-width inputs. */
.nir-delete{padding:28px;margin-top:28px;border:1px solid #f0d9db;border-radius:18px;background:#fff;overflow:hidden}
.nir-delete-heading{display:flex;align-items:flex-start;gap:14px}
.nir-delete-icon{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:#fff0f0;color:#bd3843}
.nir-delete-heading h3{margin:0 0 6px;font-size:18px;line-height:1.4;color:#26324a}
.nir-delete-heading p{margin:0;color:#748098;font-size:14px;line-height:1.6}
.nir-delete-info{margin:20px 0;padding:16px 18px;background:#fafbfe;border-radius:12px;color:#55627b;font-size:14px;line-height:1.7}
.nir-delete-info p{margin:0 0 8px;max-width:960px}
.nir-delete-info span{display:block;font-size:13px;color:#748098}
.nir-delete-info a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.nir-delete-actions{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;margin:0;padding-top:4px}
.nir-delete .nir-delete-check{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0;color:#49556d;font-size:14px;font-weight:400;line-height:1.5;cursor:pointer}
.nir-delete .nir-delete-check input[type=checkbox]{appearance:auto;display:inline-block;flex:0 0 18px;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:#bd3843;cursor:pointer}
.nir-delete .nir-delete-button{flex-shrink:0;margin:0;border:1px solid #edc6ca;background:#fff5f5;color:#b42c3a;padding:11px 20px;box-shadow:none}
.nir-delete .nir-delete-button:hover{background:#ffe6e8;border-color:#d9949c}
.nir-delete input:focus-visible,.nir-delete button:focus-visible{outline:3px solid #d9949c;outline-offset:3px}
@media(max-width:640px){.nir-delete{padding:20px}.nir-delete-actions{flex-direction:column;align-items:stretch;gap:18px}.nir-delete .nir-delete-button{width:100%;text-align:center}.nir-delete-info{padding:14px}.nir-delete-heading{gap:12px}}
