/* =========================================================
   Adhikari & Sons — Vehicle Registration & Transport Services
   Tokens follow the Government of Nepal Design System
   (brand primary #003893 Prussian blue, secondary #DC143C crimson,
   Mukta for text, IBM Plex Sans Devanagari for numerals, 4px spacing)
   ========================================================= */
:root{
  --blue:#003893; --blue-800:#002a6e; --blue-600:#1a4fa8; --blue-100:#dfe8f7; --blue-50:#eef3fb;
  --crimson:#DC143C; --crimson-700:#b3102f; --crimson-50:#fdecef;
  --ink:#202730; --ink-2:#434d5b; --muted:#667182; --line:#d5dbe3; --line-2:#e6eaf0;
  --page:#f3f5f8; --paper:#ffffff;
  --ok:#17784a; --ok-50:#e6f4ec; --warn:#9a5a00; --warn-50:#fff4e0;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px; --s10:40px;
  --fs-xs:13px; --fs-sm:15px; --fs-base:17px; --fs-md:19px; --fs-lg:23px; --fs-xl:29px; --fs-2xl:37px;
  --r-sm:4px; --r:6px; --r-lg:10px;
  --font:"Mukta","Noto Sans Devanagari",system-ui,-apple-system,"Segoe UI",sans-serif;
  --num:"IBM Plex Sans Devanagari","Mukta",system-ui,sans-serif;
  --focus:0 0 0 3px #ffbf47;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);font-size:var(--fs-base);line-height:1.5;color:var(--ink);background:var(--page);-webkit-font-smoothing:antialiased}
a{color:var(--blue)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:none;box-shadow:var(--focus)}
.num{font-family:var(--num);font-variant-numeric:tabular-nums}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.muted{color:var(--muted)}
.hidden{display:none!important}
.en{color:var(--muted);font-weight:400;font-size:.82em;margin-left:.35em}

/* ---------- Masthead ---------- */
.gov-strip{background:var(--blue-800);color:#dbe4f5;font-size:var(--fs-xs);padding:4px 0}
.gov-strip .wrap{display:flex;gap:var(--s4);justify-content:space-between}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--s5)}
.masthead{background:var(--paper);border-bottom:1px solid var(--line)}
.masthead .wrap{display:flex;align-items:center;gap:var(--s4);min-height:84px}
.brand{display:flex;align-items:center;gap:var(--s3);text-decoration:none;color:var(--ink)}
.brand-mark{width:56px;height:56px;flex:none}
.brand-name{font-size:var(--fs-lg);font-weight:800;line-height:1.1;color:var(--blue);letter-spacing:-.01em}
.brand-sub{font-size:var(--fs-sm);color:var(--ink-2)}
.mast-right{margin-left:auto;display:flex;align-items:center;gap:var(--s3)}
.user-chip{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-sm);color:var(--ink-2)}
.flag{width:26px;height:32px}

.nav{background:var(--blue);position:sticky;top:0;z-index:40}
.nav .wrap{display:flex;align-items:stretch;gap:2px;overflow-x:auto;scrollbar-width:none}
.nav a{display:flex;align-items:center;gap:var(--s2);padding:12px 16px;color:#fff;text-decoration:none;font-weight:600;font-size:var(--fs-sm);white-space:nowrap;border-bottom:3px solid transparent}
.nav a:hover{background:var(--blue-800)}
.nav a.active{border-bottom-color:var(--crimson);background:var(--blue-800)}
.nav .date{margin-left:auto;color:#fff;display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-sm);padding:0 var(--s2);white-space:nowrap}
.nav svg{width:18px;height:18px}

main{min-height:calc(100vh - 220px)}
.page{padding:var(--s6) 0 var(--s10)}
.page-head{display:flex;align-items:flex-end;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s5)}
.page-head h1{margin:0;font-size:var(--fs-xl);line-height:1.2;color:var(--ink)}
.page-head p{margin:2px 0 0;color:var(--muted)}
.page-head .actions{margin-left:auto;display:flex;gap:var(--s2);flex-wrap:wrap}
.crumbs{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--s2)}
.crumbs a{text-decoration:none}
h2.sec{font-size:var(--fs-md);margin:0 0 var(--s3);display:flex;align-items:center;gap:var(--s2)}

footer.site{background:var(--blue-800);color:#cfdaef;margin-top:var(--s8)}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:var(--s4);justify-content:space-between;padding-top:var(--s5);padding-bottom:var(--s5);font-size:var(--fs-sm)}
footer.site b{color:#fff}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:40px;padding:6px 16px;border-radius:var(--r);border:1px solid transparent;font-weight:600;font-size:var(--fs-sm);cursor:pointer;text-decoration:none;line-height:1.2;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 2px 0 var(--blue-800)}
.btn-primary:hover{background:var(--blue-600)}
.btn-secondary{background:#fff;color:var(--blue);border-color:var(--blue)}
.btn-secondary:hover{background:var(--blue-50)}
.btn-ghost{background:transparent;color:var(--ink-2);border-color:var(--line)}
.btn-ghost:hover{background:#fff}
.btn-danger{background:#fff;color:var(--crimson-700);border-color:#f0b6c1}
.btn-danger:hover{background:var(--crimson-50)}
.btn-ok{background:var(--ok);color:#fff}
.btn-sm{min-height:32px;padding:4px 10px;font-size:var(--fs-xs)}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.icon-btn{border:0;background:transparent;cursor:pointer;padding:6px;border-radius:var(--r);color:var(--ink-2);display:inline-flex}
.icon-btn:hover{background:var(--line-2)}
.icon-btn svg{width:18px;height:18px}

/* ---------- Form controls ---------- */
.field{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--s3)}
.field label{font-weight:600;font-size:var(--fs-sm)}
.field .hint{font-size:var(--fs-xs);color:var(--muted)}
.req-star{color:var(--crimson)}
.input,.select,textarea.input{width:100%;min-height:40px;padding:7px 10px;border:1.5px solid #8a95a5;border-radius:var(--r-sm);background:#fff;font-size:var(--fs-sm)}
.input:focus,.select:focus{border-color:var(--blue);box-shadow:var(--focus);outline:none}
.input.invalid{border-color:var(--crimson);background:var(--crimson-50)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s3)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 var(--s3)}
.check{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-sm);cursor:pointer}
.check input{width:18px;height:18px;accent-color:var(--blue)}

/* ---------- Surfaces ---------- */
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5)}
.panel + .panel{margin-top:var(--s4)}
.panel-title{font-weight:700;font-size:var(--fs-base);margin:0 0 var(--s3);display:flex;align-items:center;gap:var(--s2)}
.panel-title svg{width:18px;height:18px;color:var(--blue)}

.notice{border-left:4px solid var(--blue);background:var(--blue-50);padding:var(--s3) var(--s4);border-radius:0 var(--r) var(--r) 0;font-size:var(--fs-sm)}
.notice.warn{border-color:#e39a1c;background:var(--warn-50)}
.notice.err{border-color:var(--crimson);background:var(--crimson-50)}
.notice.ok{border-color:var(--ok);background:var(--ok-50)}
.notice b{display:block;margin-bottom:2px}

.badge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--line-2);color:var(--ink-2);white-space:nowrap}
.badge.blue{background:var(--blue-100);color:var(--blue)}
.badge.ok{background:var(--ok-50);color:var(--ok)}
.badge.warn{background:var(--warn-50);color:var(--warn)}
.badge.red{background:var(--crimson-50);color:var(--crimson-700)}

/* ---------- Tables ---------- */
.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg)}
table.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.tbl th{text-align:left;font-weight:700;background:#f7f9fb;color:var(--ink-2);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:9px 12px;border-bottom:1px solid var(--line-2);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover{background:#fafbfd}
.tbl .r{text-align:right}
.tbl tfoot td{font-weight:700;background:#f7f9fb;border-top:1px solid var(--line)}
.empty{padding:var(--s8) var(--s4);text-align:center;color:var(--muted)}
.empty svg{width:40px;height:40px;color:#9aa6b6;display:block;margin:0 auto var(--s2)}

/* ---------- Filter bar ---------- */
.filters{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:flex-end;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s3);margin-bottom:var(--s3)}
.filters .f{display:flex;flex-direction:column;gap:2px;min-width:140px;flex:1}
.filters .f.wide{flex:2;min-width:220px}
.filters label{font-size:12px;font-weight:600;color:var(--muted)}
.filters .input,.filters .select{min-height:36px;padding:5px 8px}
.search-box{position:relative}
.search-box svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--muted)}
.search-box .input{padding-left:32px}

/* ---------- Tabs ---------- */
.tabs{display:flex;gap:2px;border-bottom:2px solid var(--line);margin-bottom:var(--s4);overflow-x:auto}
.tabs button{background:none;border:0;padding:10px 16px;font-weight:600;color:var(--ink-2);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;font-size:var(--fs-sm)}
.tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}

/* ---------- Login ---------- */
.login-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.login-art{background:var(--blue);color:#fff;padding:var(--s10);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login-art h1{font-size:var(--fs-2xl);line-height:1.1;margin:var(--s6) 0 var(--s3);max-width:12ch}
.login-art p{color:#cfdaef;max-width:42ch;font-size:var(--fs-md);margin:0}
.login-art .ridge{position:absolute;left:0;right:0;bottom:0;height:40%;opacity:.95}
.login-art .steps{position:relative;z-index:1;display:grid;gap:var(--s2);font-size:var(--fs-sm);color:#e6edf8;margin-top:var(--s6)}
.login-art .steps div{display:flex;gap:var(--s2);align-items:center}
.login-art .steps span{width:24px;height:24px;border-radius:50%;border:1.5px solid #fff;display:inline-grid;place-items:center;font-size:12px;font-weight:700}
.login-form-wrap{display:grid;place-items:center;padding:var(--s8);background:var(--page)}
.login-card{width:100%;max-width:400px}
.login-card h2{font-size:var(--fs-xl);margin:0}
.login-card .sub{color:var(--muted);margin:0 0 var(--s5)}

/* ---------- Home ---------- */
.welcome{display:grid;grid-template-columns:1fr auto;gap:var(--s5);align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6);position:relative;overflow:hidden}
.welcome::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--crimson)}
.welcome h1{margin:0;font-size:var(--fs-2xl);line-height:1.1;color:var(--blue)}
.welcome .hello{font-size:var(--fs-md);font-weight:700;color:var(--crimson)}
.welcome p{margin:var(--s2) 0 0;color:var(--ink-2)}
.today{text-align:right}
.today .d{font-family:var(--num);font-size:var(--fs-xl);font-weight:600;color:var(--ink);line-height:1.1}
.today .w{color:var(--muted);font-size:var(--fs-sm)}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:var(--s5);border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden}
.flow div{padding:var(--s3) var(--s4);border-right:1px solid var(--line-2);font-size:var(--fs-sm);display:flex;gap:var(--s3);align-items:center}
.flow div:last-child{border-right:0}
.flow b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--blue-50);color:var(--blue);font-family:var(--num);flex:none}
.flow small{display:block;color:var(--muted)}

.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
.cat{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4) var(--s5) var(--s5);display:flex;flex-direction:column;gap:var(--s3);position:relative}
.cat-top{display:flex;align-items:center;gap:var(--s4)}
.cat-icon{width:72px;height:72px;border-radius:var(--r-lg);display:grid;place-items:center;flex:none;background:var(--tint,var(--blue-50));color:var(--tone,var(--blue))}
.cat-icon svg{width:50px;height:50px}
.cat h3{margin:0;font-size:var(--fs-md);line-height:1.2}
.cat .ne{color:var(--muted);font-size:var(--fs-sm)}
.cat .btns{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2);margin-top:auto}
.fuel{display:flex;gap:var(--s2);flex-wrap:wrap}
.fuel label{cursor:pointer}
.fuel input{position:absolute;opacity:0}
.fuel span{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1.5px solid var(--line);border-radius:999px;font-size:var(--fs-xs);font-weight:600;color:var(--ink-2)}
.fuel input:checked + span{border-color:var(--blue);background:var(--blue-50);color:var(--blue)}
.fuel input:focus-visible + span{box-shadow:var(--focus)}
.fuel svg{width:14px;height:14px}

.two-col{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s4);margin-top:var(--s6)}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin-bottom:var(--s3)}
.stat{border:1px solid var(--line-2);border-radius:var(--r);padding:var(--s3)}
.stat .k{font-size:var(--fs-xs);color:var(--muted)}
.stat .v{font-family:var(--num);font-size:var(--fs-md);font-weight:600}
.stat.due .v{color:var(--crimson-700)}
.stat.paid .v{color:var(--ok)}

/* ---------- Choice dialog ---------- */
dialog.modal{border:0;border-radius:var(--r-lg);padding:0;max-width:min(680px,94vw);width:100%;box-shadow:0 20px 60px rgba(0,20,60,.3);color:var(--ink)}
dialog.modal::backdrop{background:rgba(10,25,55,.55)}
.modal-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line)}
.modal-head h3{margin:0;font-size:var(--fs-md)}
.modal-head .icon-btn{margin-left:auto}
.modal-body{padding:var(--s5);max-height:70vh;overflow:auto}
.modal-foot{display:flex;gap:var(--s2);justify-content:flex-end;padding:var(--s3) var(--s5);border-top:1px solid var(--line);background:#f7f9fb;border-radius:0 0 var(--r-lg) var(--r-lg)}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.choice{border:1.5px solid var(--line);border-radius:var(--r-lg);padding:var(--s4);text-align:left;background:#fff;cursor:pointer;display:flex;gap:var(--s3);align-items:flex-start}
.choice:hover{border-color:var(--blue);background:var(--blue-50)}
.choice svg{width:32px;height:32px;color:var(--blue);flex:none}
.choice b{display:block;font-size:var(--fs-base)}
.choice small{color:var(--muted);font-size:var(--fs-xs)}

/* ---------- Form workspace ---------- */
.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s4);align-items:start}
.desk{background:#dfe4eb;border-radius:var(--r-lg);padding:var(--s4);overflow:hidden}
.desk-bar{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center;margin-bottom:var(--s3)}
.desk-bar .zoom{margin-left:auto;display:flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--ink-2)}
.sheet-holder{position:relative;margin:0 auto}
.side{position:sticky;top:60px;display:flex;flex-direction:column;gap:var(--s3)}
.side .panel{padding:var(--s4)}
.side .panel + .panel{margin-top:0}
.stamp-list{display:flex;flex-direction:column;gap:6px}
.stamp-item{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-sm);padding:4px 6px;border-radius:var(--r-sm)}
.stamp-item:hover{background:var(--page)}
.stamp-item .check{flex:1}
.stamp-item .num{font-size:12px;color:var(--muted)}
.miss-list{margin:var(--s2) 0 0;padding-left:18px;font-size:var(--fs-sm);max-height:180px;overflow:auto}
.miss-list a{cursor:pointer}
.status-line{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}

/* ---------- A4 SHEET (the paper form) ---------- */
.sheet{width:210mm;height:297mm;background:#fff;color:#111;position:relative;overflow:hidden;
  font-family:"Mukta","Noto Sans Devanagari",sans-serif;font-weight:600;font-size:10.6pt;line-height:1.38;
  padding:10mm 13mm 9mm 17mm;box-shadow:0 2px 0 rgba(0,0,0,.06),0 10px 30px rgba(0,20,60,.18);transform-origin:top left}
.sheet.auto-h{height:auto;min-height:297mm}
.sheet .c{text-align:center}
.sheet .t-sm{font-size:10pt}
.sheet .t-title1{font-size:14pt;font-weight:800}
.sheet .t-title2{font-size:21pt;font-weight:800;letter-spacing:.01em;line-height:1.15}
.sheet .t-title3{font-size:15pt;font-weight:800}
.sheet p{margin:0}
.sheet .para{text-align:justify;text-indent:8mm;margin:1.2mm 0 1.4mm}
.sheet{--rh:6.1mm}
.sheet .r{display:flex;align-items:baseline;gap:1.2mm;min-height:var(--rh)}
.sheet .r .n{width:6mm;flex:none}
.sheet .r .sp{width:6mm;flex:none}
.sheet .gap{flex:none;width:4mm}
.sheet .nw{white-space:nowrap}
/* fill-in field */
.fi{border:0;border-bottom:1.2px dotted #333;background:transparent;font:inherit;font-weight:500;color:#0a2a8a;padding:0 1mm;height:min(5.4mm,var(--rh,6.1mm));min-width:12mm;outline:none;border-radius:0}
.fi.g{flex:1 1 0;min-width:0}
.fi:focus{background:#fff8d6;border-bottom-color:var(--blue)}
.fi.miss{background:#ffe3e8;border-bottom:1.5px solid var(--crimson)}
.fi.plain{border-bottom-color:transparent;color:#111;font-weight:700;padding:0}
.fi.plain:hover{border-bottom-color:#bbb}
.fi.c{text-align:center}
.fv{display:inline-block;border-bottom:1.2px dotted #333;color:#0a2a8a;font-weight:500;padding:0 1mm;min-height:min(5.4mm,var(--rh,6.1mm));white-space:nowrap;overflow:visible}
.fv.plain{border-bottom-color:transparent;color:#111;font-weight:700;padding:0}
.fv.g{flex:1 1 0;min-width:0}
.fa{display:block;width:100%;border:0;border-bottom:1.2px dotted #333;background:transparent;font:inherit;font-weight:500;color:#0a2a8a;resize:none;line-height:6.1mm;padding:0 1mm;outline:none;
  background-image:repeating-linear-gradient(transparent 0 5.9mm,#666 5.9mm 6.1mm);background-size:100% 6.1mm}
.fa:focus{background-color:#fff8d6}
.sheet .box2{display:grid;grid-template-columns:1fr 1fr;border-top:1.5px solid #111;margin-top:3mm}
.sheet .box2 > div{padding:2mm 3mm}
.sheet .box2 > div + div{border-left:1.5px solid #111}
.sheet .sigs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6mm;position:absolute;left:17mm;right:13mm;bottom:10mm;text-align:center}
.sheet .sigs div{border-top:1.4px dotted #111;padding-top:1mm}
.fp{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid #111;width:62mm;height:28mm}
.fp > div + div{border-left:1.5px solid #111}
.margin-note{position:absolute;left:3mm;transform:rotate(-90deg);transform-origin:left top;white-space:nowrap;display:flex;gap:1.5mm;align-items:baseline;font-size:9.5pt}
.margin-note .fi,.margin-note .fv{height:4.8mm}
.ruled{border-top:1.5px solid #111}

/* stamps */
.stamp{position:absolute;cursor:grab;touch-action:none;user-select:none;z-index:5}
.stamp img{width:100%;height:100%;display:block;pointer-events:none;mix-blend-mode:multiply;opacity:.92}
.stamp .tag{position:absolute;top:-7mm;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font:600 10px/1 var(--font);padding:3px 6px;border-radius:3px;white-space:nowrap;opacity:0;pointer-events:none}
.stamp:hover .tag,.stamp.drag .tag{opacity:1}
.stamp:hover{outline:1.5px dashed var(--blue);outline-offset:1mm}
.stamp.drag{cursor:grabbing;outline:2px solid var(--blue)}
.stamp .rs{position:absolute;right:-2.2mm;bottom:-2.2mm;width:4.4mm;height:4.4mm;border-radius:50%;background:var(--blue);border:2px solid #fff;cursor:nwse-resize;opacity:0}
.stamp:hover .rs,.stamp.drag .rs{opacity:1}
.stamp.noimg{border:1.5px dashed var(--crimson);border-radius:50%;display:grid;place-items:center;color:var(--crimson);font:600 9pt var(--font);text-align:center;background:rgba(220,20,60,.04)}

/* statement sheet */
.stmt{font-weight:400;font-size:10pt;padding:12mm 13mm}
.stmt h1{font-size:18pt;margin:0;color:var(--blue);font-weight:800}
.stmt .hd{display:flex;gap:4mm;align-items:center;border-bottom:2px solid var(--blue);padding-bottom:3mm}
.stmt .hd .rt{margin-left:auto;text-align:right;font-size:9.5pt}
.stmt .to{display:grid;grid-template-columns:1fr 1fr;gap:4mm;margin:4mm 0}
.stmt .to b{display:block}
.stmt table{width:100%;border-collapse:collapse;font-size:9pt;margin:2mm 0}
.stmt th,.stmt td{border:1px solid #9aa3ae;padding:1.4mm 1.8mm;text-align:left}
.stmt th{background:#eef3fb;font-weight:700}
.stmt td.ra,.stmt th.ra{text-align:right}
.stmt .tot{display:grid;grid-template-columns:1fr 70mm;gap:6mm;margin-top:3mm}
.stmt .tot table td{font-weight:600}
.stmt .due{color:var(--crimson-700)}
.stmt .foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:12mm}
.stmt .foot .sig{text-align:center;border-top:1px dotted #111;padding-top:1mm;width:55mm;position:relative}
.stmt .foot .sig img{position:absolute;bottom:6mm;left:50%;transform:translateX(-50%);width:30mm;mix-blend-mode:multiply;opacity:.9}
.stmt h3{font-size:11pt;margin:5mm 0 1mm}

/* companies */
.co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s4)}
.co{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4);display:flex;gap:var(--s4)}
.co .stamp-prev{width:92px;height:92px;flex:none;border:1px solid var(--line-2);border-radius:50%;display:grid;place-items:center;background:#fcfcfd;overflow:hidden}
.co .stamp-prev img{width:100%;height:100%;object-fit:contain}
.co h3{margin:0;font-size:var(--fs-base);line-height:1.25}
.co .meta{font-size:var(--fs-xs);color:var(--muted);margin:2px 0 var(--s2)}
.co .row{display:flex;gap:var(--s2);flex-wrap:wrap}
.stamp-editor{display:grid;grid-template-columns:160px 1fr;gap:var(--s4);align-items:start}
.stamp-canvas{width:160px;height:160px;border:1px dashed var(--line);border-radius:var(--r);display:grid;place-items:center;background:repeating-conic-gradient(#f3f5f8 0 25%,#fff 0 50%) 0 0/16px 16px}
.stamp-canvas img{max-width:100%;max-height:100%}
.swatches{display:flex;gap:6px}
.swatches button{width:28px;height:28px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--line);cursor:pointer}
.swatches button.on{box-shadow:0 0 0 2.5px var(--ink)}

/* exp rows */
.exp-row{display:grid;grid-template-columns:1fr 130px 36px;gap:var(--s2);margin-bottom:var(--s2)}
.sum-box{background:var(--page);border-radius:var(--r);padding:var(--s3);display:grid;grid-template-columns:1fr auto;gap:2px var(--s3);font-size:var(--fs-sm)}
.sum-box .tt{font-weight:700;border-top:1px solid var(--line);padding-top:4px;margin-top:2px}

/* BS date picker */
.bsp{position:fixed;z-index:1000;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 12px 36px rgba(0,20,60,.22);padding:var(--s3);width:272px;font-size:var(--fs-sm)}
.bsp-h{display:flex;align-items:center;gap:4px;margin-bottom:6px}
.bsp-h select{border:1px solid var(--line);border-radius:4px;padding:2px 4px;font-size:var(--fs-xs)}
.bsp-h .icon-btn{padding:3px}
.bsp-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.bsp-g .wd{font-size:11px;color:var(--muted);font-weight:700}
.bsp-g button{border:0;background:none;padding:5px 0;border-radius:4px;cursor:pointer;font-family:var(--num);font-size:13px}
.bsp-g button:hover{background:var(--blue-50)}
.bsp-g button.sel{background:var(--blue);color:#fff}
.bsp-g button.td{box-shadow:inset 0 0 0 1.5px var(--crimson)}
.bsp-f{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:var(--muted)}

/* toast */
.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:2000}
.toast{background:var(--ink);color:#fff;padding:10px 14px;border-radius:var(--r);font-size:var(--fs-sm);box-shadow:0 8px 24px rgba(0,0,0,.25);max-width:360px;border-left:4px solid var(--blue-100)}
.toast.ok{border-left-color:#4ecb8b}.toast.err{border-left-color:var(--crimson)}

#print-host{display:none}
.offscreen{position:fixed;left:-10000px;top:0}

/* ---------- Responsive ---------- */
@media (max-width:1100px){
  .workspace{grid-template-columns:1fr}
  .side{position:static}
  .cats{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .login-screen{grid-template-columns:1fr}
  .login-art{padding:var(--s6)}
  .login-art .ridge,.login-art .steps{display:none}
  .cats,.two-col,.grid2,.grid3,.choice-grid,.stat-row{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr 1fr}
  .welcome{grid-template-columns:1fr}
  .today{text-align:left}
  .brand-sub,.gov-strip{display:none}
  .stamp-editor{grid-template-columns:1fr}
  .nav .date{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---------- PRINT ---------- */
@page{size:A4;margin:0}
@media print{
  html,body{background:#fff!important}
  body > *:not(#print-host){display:none!important}
  #print-host{display:block!important}
  #print-host .sheet{box-shadow:none;transform:none!important;page-break-after:always;break-after:page}
  #print-host .sheet:last-child{page-break-after:auto;break-after:auto}
  #print-host .sheet.auto-h{height:auto}
  .stamp{outline:none!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.fv:empty::before{content:"\200b"}
.fv{vertical-align:baseline;line-height:inherit}
.two-col > *,.grid2 > *,.grid3 > *,.workspace > *{min-width:0}
.tabs{overflow-x:auto;scrollbar-width:none}
.tabs button{white-space:nowrap;flex:none}
@media (max-width:760px){
  .brand-mark{width:42px;height:42px}
  .mast-right{gap:8px}
  .mast-right > svg:last-child{display:none}
  .user-chip{display:none}
}
@media (max-width:760px){
  .action-grid{grid-template-columns:1fr}
  .btn{white-space:normal;text-align:center}
  .row{flex-wrap:wrap}
}
