/* eGovTaxIndia – client & staff portal (Tricolour Ledger) */
:where(:root){--paper:#f5f7fb;--surface:#fff;--ink:#0d1733;--ledger:#1747b8;--brass:#c84f08;--stamp:#c0362c;--hero:#071a4d;--on-ledger:#fff;--hero-fg:#f1f5f3;
  --sunk:#eceff6;--muted:#4b5677;--rule:#d5dae6;--ledger-soft:#e3eafa;--brass-soft:#fbe9dc;--stamp-soft:#f9e1df;--ok:#2f7d4f;--shadow:0 1px 2px rgba(16,36,29,.06),0 8px 24px rgba(16,36,29,.07);
  --f-display:"Plus Jakarta Sans","Segoe UI",system-ui,sans-serif;--f-body:"Figtree","Segoe UI",system-ui,sans-serif;--f-mono:ui-monospace,Consolas,monospace;--r:10px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 var(--f-body)}
a{color:var(--ledger)}
h1,h2,h3{font-family:var(--f-display);line-height:1.25;margin:0 0 .6em;letter-spacing:-.01em}
h2{font-size:1.08rem}h3{font-size:.95rem}
code{font-family:var(--f-mono);font-size:.9em}
.mono{font-variant-numeric:tabular-nums;letter-spacing:.03em;font-weight:500}
.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.mt{margin-top:18px}
:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

/* ---------- buttons & pills ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 15px;border:1px solid var(--rule);border-radius:9px;background:var(--surface);color:var(--ink);font:600 .9rem/1.2 var(--f-body);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}
.btn:hover{border-color:var(--ledger);background:var(--ledger-soft)}
.btn.pri{background:var(--ledger);border-color:var(--ledger);color:var(--on-ledger)}
.btn.pri:hover{background:color-mix(in srgb,var(--ledger) 86%,#000)}
.btn.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,var(--rule))}
.btn.danger{color:var(--stamp);border-color:color-mix(in srgb,var(--stamp) 40%,var(--rule))}
.btn.danger:hover{background:var(--stamp-soft)}
.btn.sm{min-height:30px;padding:4px 10px;font-size:.82rem;border-radius:7px}
.btn.block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
form.inline{display:inline}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.76rem;font-weight:700;white-space:nowrap;line-height:1.6}
.p-ok{background:color-mix(in srgb,var(--ok) 15%,var(--surface));color:var(--ok)}
.p-warn{background:var(--brass-soft);color:color-mix(in srgb,var(--brass) 80%,var(--ink))}
.p-bad{background:var(--stamp-soft);color:var(--stamp)}
.p-info{background:var(--sunk);color:var(--muted)}
.p-blue{background:var(--ledger-soft);color:var(--ledger)}
.badge{margin-left:auto;min-width:20px;padding:0 6px;border-radius:99px;background:var(--brass);color:#fff;font-size:.72rem;font-weight:700;text-align:center;line-height:20px}

/* ---------- flashes ---------- */
.flash{margin:0 0 14px;padding:11px 14px;border-radius:9px;border:1px solid;font-weight:500}
.f-ok{background:color-mix(in srgb,var(--ok) 10%,var(--surface));border-color:color-mix(in srgb,var(--ok) 35%,transparent);color:var(--ok)}
.f-bad{background:var(--stamp-soft);border-color:color-mix(in srgb,var(--stamp) 35%,transparent);color:var(--stamp)}
.f-info{background:var(--ledger-soft);border-color:color-mix(in srgb,var(--ledger) 30%,transparent);color:var(--ledger)}
.p-main>.flash{margin:14px 28px 0}

/* ---------- auth pages ---------- */
.p-auth{min-height:100vh;background:radial-gradient(1200px 600px at 10% -10%,color-mix(in srgb,var(--ledger) 18%,transparent),transparent),var(--paper)}
.auth-wrap{max-width:440px;margin:0 auto;padding:6vh 16px 40px}
.auth-wrap.wide{max-width:720px}
.auth-card{position:relative;overflow:hidden;padding:30px 28px}
.auth-card::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,#f26a12 0 33.3%,#fff 33.3% 66.6%,#1f8a3a 66.6%)}
.auth-card h1{font-size:1.4rem}
.auth-brand{display:flex;justify-content:center;margin-bottom:18px;text-decoration:none}
.auth-tabs{display:flex;gap:4px;padding:4px;margin:0 0 18px;border-radius:10px;background:var(--sunk)}
.auth-tabs a{flex:1;padding:8px;border-radius:7px;text-align:center;font-weight:600;color:var(--muted);text-decoration:none}
.auth-tabs a[aria-current]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.auth-foot{margin-top:18px;text-align:center;font-size:.85rem;color:var(--muted)}
.checks,.ticks{list-style:none;padding:0;margin:12px 0 18px;display:grid;gap:4px}
.checks .ok,.ticks li{color:var(--ok)}.checks .bad{color:var(--stamp);font-weight:600}
.ticks li::before{content:"✓ ";font-weight:700}
.install h2{margin-top:18px;font-size:1rem;color:var(--ledger)}

/* ---------- app shell ---------- */
.p-app{display:grid;grid-template-columns:248px 1fr;min-height:100vh;background:linear-gradient(90deg,var(--hero) 248px,transparent 248px)}
.p-side{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:4px;padding:0 14px 18px;background:var(--hero);color:var(--hero-fg)}
.p-side::before{content:"";display:block;height:4px;margin:0 -14px 16px;background:linear-gradient(90deg,#f26a12 0 33.3%,#fff 33.3% 66.6%,#1f8a3a 66.6%)}
.p-brand{display:block;padding:10px 12px;margin-bottom:4px;border-radius:10px;background:#fff;text-decoration:none}
.p-who{padding:4px 6px 12px;font-size:.78rem;color:color-mix(in srgb,var(--hero-fg) 70%,var(--hero));border-bottom:1px solid color-mix(in srgb,var(--hero-fg) 12%,transparent);margin-bottom:8px}
.p-side nav{display:grid;gap:2px}
.p-side nav a{display:flex;align-items:center;gap:11px;padding:9px 10px;border-radius:9px;color:color-mix(in srgb,var(--hero-fg) 82%,var(--hero));text-decoration:none;font-weight:500;font-size:.93rem}
.p-side nav a svg{width:19px;height:19px;flex:none;opacity:.85}
.p-side nav a:hover{background:color-mix(in srgb,var(--hero-fg) 8%,transparent);color:var(--hero-fg)}
.p-side nav a[aria-current]{background:color-mix(in srgb,var(--hero-fg) 13%,transparent);color:#fff;box-shadow:inset 3px 0 0 #f26a12}
.p-out{margin-top:auto;padding-top:14px}
.p-out button{width:100%;padding:9px;border-radius:9px;border:1px solid color-mix(in srgb,var(--hero-fg) 20%,transparent);background:transparent;color:var(--hero-fg);font:600 .88rem var(--f-body);cursor:pointer}
.p-out button:hover{background:color-mix(in srgb,var(--hero-fg) 10%,transparent)}
.p-cms{display:block;margin-top:8px;text-align:center;font-size:.82rem;color:color-mix(in srgb,var(--hero-fg) 70%,var(--hero))}
.p-main{min-width:0;display:flex;flex-direction:column}
.p-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:12px 28px;min-height:64px;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rule)}
.p-top h1{margin:0 auto 0 0;font-size:1.25rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-top>form.inline .btn,.p-top>.btn{flex:none}
.p-menu{display:none !important}
.p-menu,.p-theme{display:grid;place-items:center;width:38px;height:38px;flex:none;border:1px solid var(--rule);border-radius:9px;background:var(--surface);color:var(--ink);font-size:1.05rem;cursor:pointer}
.p-theme svg{width:18px;height:18px}.p-theme .i-sun{display:none}
.p-user{display:flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.9rem}
.p-user .av{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ledger);color:var(--on-ledger);font-size:.8rem;letter-spacing:.03em}
.p-view{padding:22px 28px 48px;max-width:1320px;width:100%}

/* ---------- cards, grids ---------- */
.card,.auth-card{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:20px 22px;box-shadow:var(--shadow);margin-bottom:18px}
.card.attn{border-color:color-mix(in srgb,var(--brass) 45%,var(--rule));background:linear-gradient(0deg,var(--surface),color-mix(in srgb,var(--brass) 5%,var(--surface)))}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.card-h h2{margin:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.grid2.wide-left{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.grid2.tight{gap:22px;margin-bottom:14px}
.grid2>.card,.col>.card:last-child{margin-bottom:0}
.col{display:grid;gap:18px;min-width:0}
.grid2>*,.col>*{min-width:0}
.greet{margin-bottom:16px}.greet h2{font-size:1.45rem;margin:0}.greet p{margin:2px 0 0}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin-bottom:20px}
.kpi{position:relative;display:flex;flex-direction:column;padding:15px 18px;border-radius:13px;background:var(--surface);border:1px solid var(--rule);box-shadow:var(--shadow);color:var(--ink);text-decoration:none;overflow:hidden}
.kpi::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ledger)}
.kpi.warn::after{background:var(--brass)}
.kpi:is(a):hover{border-color:var(--ledger)}
.kpi .k-l{font-size:.8rem;color:var(--muted);font-weight:600}
.kpi b{font:700 1.55rem/1.25 var(--f-display);margin:3px 0 1px;font-variant-numeric:tabular-nums}
.kpi small{color:var(--muted);font-size:.78rem}
.empty{padding:26px 16px;text-align:center;color:var(--muted);border:1px dashed var(--rule);border-radius:12px;background:var(--sunk)}
.empty div{margin-top:12px}
.note{margin-top:14px;padding:12px 14px;border-radius:10px;background:var(--sunk);border-left:3px solid var(--brass);font-size:.92rem}
.mini{list-style:none;margin:0;padding:0}
.mini li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule)}
.mini li:last-child{border-bottom:0}
.mini li>div{min-width:0}
.mini a{color:var(--ink);text-decoration:none}.mini a:hover b{color:var(--ledger)}
.mini small{display:block;color:var(--muted);font-size:.8rem}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:12px 0}
.kv dt{color:var(--muted);font-size:.85rem}.kv dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.client-head{display:grid;grid-template-columns:1fr 1.3fr;gap:10px 28px}
.client-head h2{font-size:1.3rem}.client-head .kv{margin:0}.client-head .note{grid-column:1/-1;margin:0}

/* ---------- forms ---------- */
.fld{display:flex;flex-direction:column;gap:5px;min-width:0}
.fld label{font-weight:600;font-size:.85rem}
.fld small{color:var(--muted);font-size:.78rem}
input,select,textarea{width:100%;min-height:40px;padding:8px 11px;border:1px solid var(--rule);border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:.93rem}
textarea{resize:vertical;min-height:70px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ledger);box-shadow:0 0 0 3px color-mix(in srgb,var(--ledger) 18%,transparent)}
input[type=checkbox]{width:17px;height:17px;min-height:0;accent-color:var(--ledger);flex:none;margin:0}
.chk{display:inline-flex !important;flex-direction:row !important;align-items:center;gap:8px;font-weight:500 !important;cursor:pointer}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.form-grid .wide{grid-column:1/-1}
.form-grid h2{margin:4px 0 0}
.form-grid.narrow{max-width:760px}
.form-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.form-row .fld{flex:1 1 180px}
.stack{display:grid;gap:12px}
.pw{position:relative}.pw input{padding-right:64px}
.pw-eye{position:absolute;right:6px;bottom:6px;padding:4px 8px;border:0;border-radius:6px;background:var(--sunk);color:var(--muted);font:600 .75rem var(--f-body);cursor:pointer}
.otp{font:700 1.6rem/1 var(--f-mono);letter-spacing:.4em;text-align:center}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
.filters input[type=search]{flex:1 1 260px;width:auto}
.filters select{width:auto;flex:0 1 200px}
.seg{display:inline-flex;margin-left:auto;padding:3px;border-radius:9px;background:var(--sunk)}
.seg a{padding:6px 14px;border-radius:7px;color:var(--muted);text-decoration:none;font-weight:600;font-size:.88rem}
.seg a[aria-current]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}

/* uploads */
.upload{display:grid;gap:12px;margin-bottom:14px}
.drop{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:20px;border:2px dashed color-mix(in srgb,var(--ledger) 35%,var(--rule));border-radius:12px;background:color-mix(in srgb,var(--ledger) 4%,var(--surface));text-align:center;cursor:pointer;transition:background .15s}
.drop:hover,.drop.over{background:var(--ledger-soft);border-color:var(--ledger)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer;min-height:0}
.drop b{color:var(--ledger)}.drop small{color:var(--muted);font-size:.78rem}
.picked{font-size:.85rem;font-weight:600;color:var(--ink)}

/* ---------- tables ---------- */
.tbl{overflow-x:auto;border:1px solid var(--rule);border-radius:12px;background:var(--surface)}
.card .tbl{box-shadow:none}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th{padding:10px 14px;text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--sunk);border-bottom:1px solid var(--rule);white-space:nowrap}
td{padding:11px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:color-mix(in srgb,var(--ledger) 3%,transparent)}
td a{text-decoration:none}td a:hover{text-decoration:underline}
td b{color:var(--ink)}
.sub{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.acts{white-space:nowrap;text-align:right}
.acts>*{margin:2px 0 2px 4px}
td select{min-height:32px;padding:4px 8px;width:auto;font-size:.85rem}
.matrix td:not(:first-child),.matrix th:not(:first-child){text-align:center}
table.items input{min-height:36px}
table.items input.sm{max-width:100px}
table.items th:first-child{width:46%}
table.items td{padding:7px 8px}
.totals{display:grid;justify-content:end;gap:4px;margin:14px 0}
.totals div{display:flex;justify-content:space-between;gap:40px;min-width:280px}
.totals span{color:var(--muted)}
.totals b{font-variant-numeric:tabular-nums}
.totals .big{padding-top:6px;border-top:1px solid var(--rule);font-size:1.1rem}
b.big{font-size:1.15rem}

/* ---------- tasks ---------- */
.board{display:grid;grid-template-columns:repeat(5,minmax(190px,1fr));gap:14px;overflow-x:auto;padding-bottom:8px}
.board .col{align-content:start;gap:10px;padding:12px;border-radius:13px;background:var(--sunk);min-height:200px}
.board h3{display:flex;justify-content:space-between;margin:0 2px 2px;font-size:.85rem}
.board h3 span{padding:0 8px;border-radius:99px;background:var(--surface);color:var(--muted);font-size:.75rem;line-height:20px}
.tcard{display:grid;gap:6px;padding:12px;border-radius:10px;background:var(--surface);border:1px solid var(--rule);border-left:3px solid var(--ledger);box-shadow:0 1px 2px rgba(0,0,0,.04)}
.tcard.late{border-left-color:var(--stamp)}
.tcard.req{border-left-color:var(--brass)}
.tc-client{font-size:.76rem;font-weight:700;color:var(--muted);text-decoration:none;text-transform:uppercase;letter-spacing:.03em}
.tc-title{font-weight:600;color:var(--ink);text-decoration:none;line-height:1.35}
.tc-title:hover{color:var(--ledger)}
.tc-meta{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}
.tc-move select{min-height:30px;padding:3px 8px;font-size:.8rem}
.task-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.progress{height:8px;margin:14px 0 4px;border-radius:99px;background:var(--sunk);overflow:hidden}
.progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ledger),color-mix(in srgb,var(--ledger) 50%,#1f8a3a))}
.svc-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.svc-list a{display:block;padding:12px 14px;border:1px solid var(--rule);border-radius:11px;color:var(--ink);text-decoration:none}
.svc-list a:hover{border-color:var(--ledger)}
.svc-top{display:flex;justify-content:space-between;gap:10px}
.svc-list .progress{margin:10px 0 6px}
.svc-list small{color:var(--muted)}
.thread{display:grid;gap:10px;margin-bottom:14px}
.msg{padding:11px 14px;border-radius:12px;background:var(--sunk);max-width:92%}
.msg.from-client{justify-self:end;background:var(--ledger-soft)}
.msg.internal{background:var(--brass-soft);border:1px dashed color-mix(in srgb,var(--brass) 45%,transparent)}
.msg-h{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:.82rem}
.msg-h span{color:var(--muted)}
.msg p{margin:4px 0 0;overflow-wrap:anywhere}

/* ---------- invoice print ---------- */
.inv-print{background:#e9edf4;color:#0d1733}
.inv-actions{max-width:840px;margin:18px auto 0;padding:0 16px;display:flex;gap:8px}
.inv{position:relative;max-width:840px;margin:14px auto 40px;padding:40px 44px;background:#fff;color:#0d1733;border-radius:6px;box-shadow:0 6px 30px rgba(0,0,0,.08);font-size:13.5px;overflow:hidden}
.inv::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:linear-gradient(90deg,#f26a12 0 33.3%,#fff 33.3% 66.6%,#1f8a3a 66.6%);border-bottom:1px solid #eee}
.inv-head{display:flex;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:2px solid #0d1733}
.inv-firm{margin:10px 0 0;line-height:1.55;color:#33405f}
.inv-title{text-align:right}
.inv-title h1{margin:0 0 8px;font-size:1.6rem;color:#1747b8;letter-spacing:.02em;text-transform:uppercase}
.inv-title table{width:auto;margin-left:auto;font-size:13px}
.inv-title th,.inv-title td{padding:2px 0 2px 14px;background:none;border:0;text-transform:none;letter-spacing:0;font-size:13px;color:#0d1733;text-align:right}
.inv-title th{color:#5a6788;font-weight:500}
.inv-to{margin:18px 0;line-height:1.55}
.inv-to span,.inv-words span,.inv-foot span{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#5a6788;margin-bottom:3px}
.inv-items th{background:#0d1733;color:#fff;font-size:11px}
.inv-items td{border-bottom:1px solid #dde2ec;color:#0d1733}
.inv-items tbody tr:hover td{background:none}
.inv-sum{display:flex;justify-content:space-between;gap:30px;margin-top:16px}
.inv-words{flex:1;font-style:italic}
.inv-notes{font-style:normal;margin-top:10px;color:#33405f}
.inv-sum table{width:300px;font-size:13px}
.inv-sum th,.inv-sum td{padding:5px 0;background:none;border:0;border-bottom:1px solid #eef0f5;text-transform:none;letter-spacing:0;font-size:13px;color:#0d1733}
.inv-sum th{text-align:left;font-weight:500;color:#33405f}
.inv-sum td{text-align:right;font-variant-numeric:tabular-nums}
.inv-sum .tot th,.inv-sum .tot td{font-weight:800;font-size:15px;border-top:2px solid #0d1733;border-bottom:0}
.inv-foot{display:flex;justify-content:space-between;gap:30px;margin-top:28px;padding-top:16px;border-top:1px solid #dde2ec;line-height:1.55}
.inv-sign{text-align:right;font-weight:600}
.inv-terms{margin-top:20px;font-size:11.5px;color:#5a6788}
.inv-void{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) rotate(-18deg);font:900 5rem var(--f-display);color:rgba(192,54,44,.16);border:8px solid rgba(192,54,44,.16);padding:4px 24px;border-radius:12px;pointer-events:none}
.inv .tl{font-size:15px}
@media print{
  @page{size:A4;margin:12mm}
  .noprint{display:none !important}
  .inv-print{background:#fff}
  .inv{box-shadow:none;margin:0;padding:0;max-width:none;border-radius:0}
  .inv::before{height:4px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .inv-items th{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* ---------- responsive ---------- */
@media (max-width:1100px){.grid2,.grid2.wide-left,.client-head{grid-template-columns:1fr}}
@media (max-width:900px){
  .p-app{grid-template-columns:1fr;background:none}
  .p-side{position:fixed;inset:0 auto 0 0;width:270px;z-index:30;transform:translateX(-102%);transition:transform .2s;box-shadow:0 0 40px rgba(0,0,0,.3)}
  .p-side.open{transform:none}
  .p-menu{display:grid !important}
  .p-top{padding:10px 16px;flex-wrap:wrap}
  .p-top h1{font-size:1.08rem;flex:1 1 0}
  .p-user .nm{display:none}
  .p-view{padding:16px 16px 40px}
  .p-main>.flash{margin:12px 16px 0}
  .form-grid{grid-template-columns:1fr}
  .card{padding:16px}
  .kv{grid-template-columns:1fr;gap:0}.kv dd{margin-bottom:8px}
  .seg{margin-left:0}
  .totals div{min-width:0}
  .totals{justify-content:stretch}
}
@media (max-width:640px){
  .p-top>.btn,.p-top>form.inline{order:5}
  .inv{padding:24px 18px}.inv-head,.inv-sum,.inv-foot{flex-direction:column}.inv-title{text-align:left}.inv-title table{margin-left:0}.inv-sum table{width:100%}
}
.scrim{position:fixed;inset:0;z-index:25;background:rgba(5,13,38,.45)}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}

/* ---------- sign-in, sign-up and verification ---------- */
.auth-wrap{max-width:460px}
.auth-card.wide{max-width:560px;margin-inline:auto}
.auth-wrap:has(.auth-card.wide){max-width:600px}
.g-btn{gap:10px;background:var(--surface);font-weight:700;min-height:44px}
.g-btn svg{width:20px;height:20px}
.or{display:flex;align-items:center;gap:12px;margin:14px 0;color:var(--muted);font-size:.82rem}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--rule)}
.signup-cta{margin-top:18px;padding-top:16px;border-top:1px solid var(--rule);display:grid;gap:8px;text-align:center;color:var(--muted);font-size:.9rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.linkish{background:none;border:0;padding:0;color:var(--ledger);font:600 .9rem var(--f-body);cursor:pointer;text-decoration:underline}
.vsteps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 16px;counter-reset:v}
.vsteps li{flex:1;counter-increment:v;font-size:.78rem;font-weight:700;color:var(--muted);padding-top:8px;border-top:3px solid var(--rule)}
.vsteps li::before{content:counter(v) ". "}
.vsteps li.cur{color:var(--ledger);border-color:var(--ledger)}
.vsteps li.done{color:var(--ok);border-color:var(--ok)}
.vlinks{display:flex;justify-content:space-between;gap:10px;margin-top:12px;flex-wrap:wrap}
input.otp{font:700 1.5rem/1 var(--f-body);letter-spacing:.35em;text-align:center}
.center{text-align:center}
.note{font-size:.9rem}
/* ---------- avatars ---------- */
.av{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ledger);color:var(--on-ledger);font:700 .8rem/1 var(--f-body);letter-spacing:.03em;flex:none;object-fit:cover}
.av.sm{width:28px;height:28px;font-size:.68rem}
.av.xl{width:96px;height:96px;font-size:1.8rem}
img.av-img{display:block;background:var(--sunk)}
.p-who{display:flex !important;align-items:center;gap:10px;text-decoration:none;color:inherit}
.p-who .av{width:38px;height:38px;border:2px solid color-mix(in srgb,var(--hero-fg) 25%,transparent)}
.p-who b{display:block;color:var(--hero-fg);font-size:.88rem;line-height:1.2}
.p-who small{display:block;font-size:.74rem;opacity:.8}
.who-cell{display:inline-flex;align-items:center;gap:9px}
.who-cell.big b{font-size:1rem}
.msg-h .av{margin-right:2px;vertical-align:middle}
.prof-head{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.prof-head h2{margin:0 0 2px;font-size:1.3rem}
.photo-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
/* ---------- settings tabs, flags, lookup ---------- */
.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:16px;padding:4px;border-radius:12px;background:var(--sunk);width:fit-content;max-width:100%}
.tabs a{padding:8px 14px;border-radius:9px;color:var(--muted);font-weight:600;font-size:.9rem;text-decoration:none;white-space:nowrap}
.tabs a[aria-current]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
fieldset.flags{border:1px solid var(--rule);border-radius:12px;padding:12px 14px;margin:0}
fieldset.flags legend{font-weight:700;font-size:.88rem;padding:0 6px}
.flag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px 16px}
.flags-view{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.lookup{padding:14px;border-radius:12px;background:var(--ledger-soft);border:1px dashed color-mix(in srgb,var(--ledger) 40%,transparent)}
.lookup label{font-weight:700;font-size:.88rem;display:block;margin-bottom:6px}
.lk-row{display:flex;gap:8px}
.lk-row input{flex:1;text-transform:uppercase;letter-spacing:.04em}
.lk-out:empty{display:none}
.lk-out{margin-top:10px;font-size:.88rem}
.lk-ok{padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid color-mix(in srgb,var(--ok) 40%,var(--rule))}
.lk-ok b{color:var(--ok)}
.lk-ok ul{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 14px}
.lk-ok li span{display:block;color:var(--muted);font-size:.76rem}
.lk-ok li b{color:var(--ink);font-weight:600}
.lk-ok p{margin:8px 0 0}
.lk-err{color:var(--stamp);margin:0}
.lk-filled{background:color-mix(in srgb,var(--ok) 8%,var(--surface)) !important;border-color:color-mix(in srgb,var(--ok) 50%,var(--rule)) !important}
tr.past td{opacity:.55}
.howto{margin-top:14px}
.howto summary{cursor:pointer;font-weight:700;color:var(--ledger)}
.howto code{word-break:break-all}
.ok-t{color:var(--ok)}
.p-cms{display:flex !important;align-items:center;justify-content:center;gap:6px}
.p-cms svg{width:15px;height:15px}
@media (max-width:640px){.lk-row{flex-direction:column}.tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}.prof-head{flex-direction:column;align-items:flex-start}}
.svc-list .svc-top{align-items:flex-start}
.svc-list .svc-top .pill,.mini li>.pill{flex:none;align-self:flex-start}
.lk-row input::placeholder{text-transform:none;letter-spacing:0}
.gov-item{display:grid;gap:12px}
.gov-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.gov-links{font-size:.9rem;font-weight:600}
.gov-send{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--sunk);font-size:.9rem}

/* ---------- sidebar: fits every screen, can be hidden ---------- */
.p-side{gap:2px;padding:0 12px 14px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--hero-fg) 22%,transparent) transparent}
.p-side::-webkit-scrollbar{width:6px}.p-side::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--hero-fg) 22%,transparent);border-radius:6px}.p-side::-webkit-scrollbar-track{background:transparent}
.p-side::before{margin:0 -12px 14px}
.p-brand{container-type:inline-size;padding:10px 12px;overflow:hidden}
.p-brand .tlogo{display:flex;gap:4cqi;max-width:100%}
.p-brand .tl-mark{height:clamp(26px,19cqi,40px)}
.p-brand .tl-1{font-size:clamp(14px,10.2cqi,21px)}
.p-brand .tl-2{font-size:clamp(11.5px,8.3cqi,17px)}
.p-who{padding:6px 6px 12px;margin-bottom:6px}
.p-who span{min-width:0}.p-who b,.p-who small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-side nav a{padding:8px 10px;font-size:.92rem;position:relative}
.p-side nav a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-foot{margin-top:auto;padding-top:12px;display:grid;gap:6px;border-top:1px solid color-mix(in srgb,var(--hero-fg) 12%,transparent)}
.p-out{margin:0;padding:0}
.p-out button,.p-cms{display:flex !important;align-items:center;justify-content:center;gap:8px;width:100%;margin:0;padding:8px;border-radius:9px;font:600 .86rem var(--f-body);text-decoration:none}
.p-out button svg,.p-cms svg{width:17px;height:17px;flex:none}
.p-cms{color:color-mix(in srgb,var(--hero-fg) 78%,var(--hero))}
.p-cms:hover{background:color-mix(in srgb,var(--hero-fg) 8%,transparent);color:var(--hero-fg)}
.p-menu{display:grid !important}
.p-menu svg{width:20px;height:20px}
@media (min-width:901px){
  .p-app{transition:grid-template-columns .2s}
  .p-app.side-min{grid-template-columns:76px 1fr;background:linear-gradient(90deg,var(--hero) 76px,transparent 76px)}
  .side-min .p-side{padding-inline:10px}
  .side-min .p-side::before{margin-inline:-10px}
  .side-min .p-brand{padding:8px 4px;display:grid;place-items:center}
  .side-min .p-brand .tl-text{display:none}
  .side-min .p-brand .tlogo{justify-content:center}
  .side-min .p-brand .tl-mark{height:28px}
  .side-min .p-who{justify-content:center;padding-inline:0}
  .side-min .p-who>span:not(.av),.side-min nav a span:not(.badge),.side-min .p-foot span{display:none}
  .side-min .p-side nav a{justify-content:center;padding:10px 0}
  .side-min .p-side nav a .badge{position:absolute;top:3px;right:4px;min-width:16px;padding:0 4px;line-height:16px;font-size:.62rem}
}
.p-side>*{flex-shrink:0}
.p-side::before{flex-shrink:0}

/* ---------- checkout & orders ---------- */
.co-steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 16px;counter-reset:s;max-width:560px}
.co-steps li{flex:1;counter-increment:s;font-size:.8rem;font-weight:700;color:var(--muted);padding-top:8px;border-top:3px solid var(--rule)}
.co-steps li::before{content:counter(s) ". "}
.co-steps li.done{color:var(--ok);border-color:var(--ok)}.co-steps li.cur{color:var(--ledger);border-color:var(--ledger)}
.co-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.co-main{display:grid;gap:14px;min-width:0}
.co-sec h2{display:flex;align-items:center;gap:10px;font-size:1.05rem;margin-bottom:6px}
.co-sec h2 span{display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:99px;background:var(--ledger);color:var(--on-ledger);font-size:.78rem}
.co-sec h3{font-size:.92rem;margin:14px 0 8px}
.co-sec .form-grid{margin-top:10px}
.req{color:var(--stamp)}
.opt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:8px}
.opt{position:relative;display:grid;gap:3px;padding:12px 14px 12px 40px;border:1.5px solid var(--rule);border-radius:12px;cursor:pointer;background:var(--surface)}
.opt input{position:absolute;left:14px;top:15px;width:16px;height:16px;accent-color:var(--ledger)}
.opt b{font-size:.94rem}.opt small{color:var(--muted);font-size:.82rem;line-height:1.4}
.opt:has(input:checked){border-color:var(--ledger);background:var(--ledger-soft)}
.decl{display:flex;gap:10px;align-items:flex-start;margin:14px 0;font-size:.9rem;line-height:1.45}
.decl input{margin-top:3px;flex:none}
.btn.big{min-height:48px;font-size:1rem}
.co-side{position:sticky;top:80px;min-width:0}
.co-sum h2{font-size:1.05rem}
.co-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--rule)}
.co-item b{font-size:.9rem;line-height:1.3}.co-item small{display:block;color:var(--muted);font-size:.78rem}
.co-item .amt{white-space:nowrap}
.co-q{display:flex;gap:10px;align-items:center;margin-top:5px;font-size:.8rem}
.co-q input{width:54px;padding:3px 6px;border:1px solid var(--rule);border-radius:6px;background:var(--surface);color:var(--ink)}
.co-tot{display:grid;gap:5px;margin:12px 0 8px}
.co-tot div{display:flex;justify-content:space-between;font-size:.9rem}.co-tot dt{color:var(--muted)}.co-tot dd{margin:0;font-weight:700}
.co-tot .big{border-top:1px dashed var(--rule);padding-top:8px;font-size:1.05rem}
.co-empty{text-align:center;padding:40px 20px}
.flash ul{margin:6px 0 0;padding-left:20px;font-weight:500}
.mini-steps{margin:0;padding-left:20px;display:grid;gap:6px;font-size:.9rem}
.svc-ico{--c:var(--ledger);width:38px;height:38px;border-radius:10px;display:grid;place-items:center;flex:none;color:var(--c);background:color-mix(in srgb,var(--c) 11%,var(--surface))}
.svc-ico svg{width:20px;height:20px}
[data-cat="reg"]{--c:#d2560c}[data-cat="gst"]{--c:#1747b8}[data-cat="it"]{--c:#1b7f3b}[data-cat="tds"]{--c:#6b3fc0}[data-cat="roc"]{--c:#0b4f8a}[data-cat="audit"]{--c:#0f7d78}[data-cat="acc"]{--c:#8a5a12}[data-cat="ngo"]{--c:#b5306a}[data-cat="adv"]{--c:#3d4fc4}[data-cat="lit"]{--c:#b23a2e}
[data-cat] .svc-ico{--c:inherit}
[hidden]{display:none !important}
@media (max-width:1000px){.co-grid{grid-template-columns:1fr}.co-side{position:static;order:-1}}
/* optional checkout fields folded away */
.opt-more{margin-top:12px;border:1px dashed var(--rule);border-radius:12px;padding:0 14px}
.opt-more>summary{cursor:pointer;padding:11px 0;font-weight:700;font-size:.9rem;color:var(--ledger);list-style:none}
.opt-more>summary::-webkit-details-marker{display:none}
.opt-more>summary::before{content:"+";display:inline-block;width:1.1em;font-weight:800}
.opt-more[open]>summary::before{content:"–"}
.opt-more>summary small{color:var(--muted);font-weight:500}
.opt-more[open]{padding-bottom:14px}
.opt-more .form-grid{margin-top:0}
/* image logo in the sidebar */
.p-brand .tlogo-img{display:flex;justify-content:center}
.p-brand .tlogo-img .brand-img{width:100%;height:auto;max-height:46px;object-fit:contain}
@media (min-width:901px){.side-min .p-brand .tlogo-img .brand-img{display:none}.side-min .p-brand .tlogo-img .brand-mini{display:block}}
.co-var{display:block;color:var(--ink)!important;font-weight:600;margin-top:2px}
.co-opts{margin-top:6px}
.co-opts>summary{cursor:pointer;font-size:.8rem;font-weight:700;color:var(--ledger)}
.co-opt{display:grid;gap:2px;margin-top:6px;font-size:.78rem;color:var(--muted)}
.co-opt select{width:100%;padding:5px 6px;border:1px solid var(--rule);border-radius:7px;background:var(--surface);color:var(--ink);font-size:.82rem}
/* ---------- invoice editor ---------- */
.inv-edit{display:grid;gap:14px}
.inv-lines{min-width:900px}
.inv-lines td{padding:6px 5px;vertical-align:middle}
.inv-lines input,.inv-lines select{width:100%;padding:7px 8px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:.88rem}
.inv-lines .c-desc{min-width:240px}.inv-lines .c-sac{width:86px}.inv-lines .c-qty{width:66px}.inv-lines .c-unit{width:96px}.inv-lines .c-rate{width:110px}.inv-lines .c-disc{width:130px}.inv-lines .c-gst{width:170px}.inv-lines .c-amt{width:110px;font-weight:700}.inv-lines .c-x{width:40px}
.inv-lines .c-qty input,.inv-lines .c-rate input,.inv-lines .c-disc input{text-align:right}
.dgrp{display:flex;gap:4px}.dgrp input{min-width:0;flex:1}.dgrp select{width:52px;flex:none;padding-inline:4px}
.inv-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:22px;margin-top:10px;align-items:start}
.inv-opts{display:grid;gap:12px;max-width:380px}
.inv-totals{display:grid;gap:6px;margin:0;padding:14px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--paper)}
.inv-totals div{display:flex;justify-content:space-between;gap:10px;font-size:.92rem}
.inv-totals dt{color:var(--muted)}.inv-totals dd{margin:0;font-weight:700;white-space:nowrap}
.inv-totals .gst-rows{display:grid;gap:6px}
.inv-totals .big{border-top:1px dashed var(--rule);padding-top:8px;font-size:1.1rem}
.inv-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start}
.inv-print .invdoc{margin:14px auto 40px;box-shadow:0 6px 30px rgba(0,0,0,.08)}
@media (max-width:1000px){.inv-layout{grid-template-columns:1fr}.inv-bottom{grid-template-columns:1fr}}
@media print{.inv-print .invdoc{box-shadow:none;margin:0}}
.inv-lines{table-layout:fixed;min-width:1000px;width:100%}
.inv-lines th:nth-child(1){width:auto}.inv-lines th:nth-child(2){width:92px}.inv-lines th:nth-child(3){width:70px}.inv-lines th:nth-child(4){width:100px}.inv-lines th:nth-child(5){width:112px}.inv-lines th:nth-child(6){width:136px}.inv-lines th:nth-child(7){width:178px}.inv-lines th:nth-child(8){width:112px}.inv-lines th:nth-child(9){width:44px}
.inv-totals .gst-rows{display:grid!important;gap:6px;width:100%}
.inv-totals .gst-rows>div{display:flex;justify-content:space-between;gap:10px}
.inv-totals .gst-rows>div{width:100%}.inv-totals .gst-rows dd{margin-left:auto}
.inv-totals .gst-rows{grid-template-columns:minmax(0,1fr);justify-content:stretch}

/* team sign-in page (caworks.in/team) – clearly different from the client login */
.team-badge{display:inline-block;vertical-align:1px;margin-right:6px;padding:3px 9px;border-radius:999px;background:var(--hero);color:#fff;font:700 11px/1.3 var(--f-body);letter-spacing:.08em;text-transform:uppercase}
body:has(.team-badge){background:linear-gradient(160deg,#0b2466 0%,var(--hero) 60%) fixed}
body:has(.team-badge) .auth-card{box-shadow:0 18px 50px rgba(0,0,0,.35)}
.team-note{margin-top:16px;padding-top:14px;border-top:1px solid var(--rule)}

/* checkout: coupon and discounts */
.co-coupon{margin:12px 0 4px;display:grid;gap:6px}
.co-coupon label{font-weight:700;font-size:.85rem}
.co-cp-row{display:flex;gap:6px}.co-cp-row input{flex:1;min-width:0;padding:8px 10px;border:1.5px solid var(--rule);border-radius:9px;font:600 14px var(--f-body);letter-spacing:.04em}
.cp-ok{color:var(--ok);font-size:.85rem;margin:0}.cp-bad{color:var(--stamp);font-size:.85rem;margin:0}
.co-tot .disc dt,.co-tot .disc dd{color:var(--ok);font-weight:600}
.chk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 14px;margin:4px 0}

.pos-form{display:flex;gap:6px;flex-wrap:wrap}.pos-form select{min-width:140px}
.perm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px 18px;margin:10px 0}

/* invoice editor: ledger, bill / ship to, RCM */
.inv-lines .c-ledger select{min-width:150px;max-width:210px}
.party-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:18px}.party-grid h3{margin:0 0 4px}
.lg-dialog{border:1px solid var(--rule);border-radius:14px;padding:20px;max-width:min(520px,92vw);box-shadow:0 20px 60px rgba(0,0,0,.25)}.lg-dialog::backdrop{background:rgba(7,26,77,.35)}
.lg-err{color:var(--stamp);margin:0}
.inv-totals dt.rcm{color:var(--muted)}
.lg-row{display:flex;gap:6px;flex-wrap:wrap}.lg-row input{min-width:0;flex:1 1 220px}.lg-row .w-s{flex:0 1 110px}

/* invoice format page */
.fmt-grid{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:18px;align-items:start}
.fmt-form h2{font-size:1rem}.fmt-form .chk{display:flex;margin:4px 0}.stack-s{display:grid;gap:2px}
.fmt-prev{position:sticky;top:12px;min-width:0}.fmt-prev .inv-paper{transform-origin:top left}
.fmt-form input[type=color]{width:64px;height:38px;padding:2px;border:1px solid var(--rule);border-radius:8px;background:#fff}
@media (max-width:1000px){.fmt-grid{grid-template-columns:1fr}.fmt-prev{position:static}}

.dsc-now{display:grid;gap:2px;padding:10px 12px;margin:8px 0;border:1.5px solid var(--ok);border-radius:10px;background:color-mix(in srgb,var(--ok) 7%,#fff);font-size:.88rem}
.dsc-now.exp{border-color:#b26b00;background:#fff8ec}.sig-now img{background:#fff;border:1px dashed var(--rule);border-radius:8px;padding:4px}
/* invoice lines with the Ledger column first */
.inv-lines{table-layout:fixed;min-width:1180px;width:100%}
.inv-lines th:nth-child(1){width:170px}.inv-lines th:nth-child(2){width:auto}.inv-lines th:nth-child(3){width:86px}.inv-lines th:nth-child(4){width:66px}.inv-lines th:nth-child(5){width:96px}
.inv-lines th:nth-child(6){width:106px}.inv-lines th:nth-child(7){width:136px}.inv-lines th:nth-child(8){width:150px}.inv-lines th:nth-child(9){width:112px}.inv-lines th:nth-child(10){width:44px}
.inv-lines .c-ledger select{min-width:0;max-width:none}
.inv-lines{min-width:1280px}
.inv-lines thead th:nth-child(1){width:170px}.inv-lines thead th:nth-child(2){width:300px}
.matrix td:first-child,.matrix th:first-child{min-width:230px;white-space:normal}.matrix th:not(:first-child),.matrix td:not(:first-child){text-align:center;white-space:nowrap}
/* discount service picker */
.dpick{border:1px solid var(--line,#dfe3ea);border-radius:12px;padding:10px 12px;background:var(--card,#fff)}
.dpick-mode{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.dpick-q{margin-left:auto;min-width:200px;max-width:280px;padding:7px 10px;border:1px solid var(--line,#dfe3ea);border-radius:9px;font:inherit}
.dpick-n{font-size:12.5px;width:100%}
.dpick-help{font-size:12.5px;margin:6px 0}
.dpick-tree{max-height:420px;overflow:auto;border-top:1px solid var(--line,#dfe3ea);padding-top:6px}
.dpick-cat{border-bottom:1px dashed var(--line,#dfe3ea);padding:4px 0}
.dpick-cat summary{cursor:pointer;display:flex;align-items:center;gap:8px;list-style:none;padding:4px 0}
.dpick-cat summary::-webkit-details-marker{display:none}
.dpick-cat summary::before{content:'▸';color:var(--muted,#667);font-size:12px}.dpick-cat[open] summary::before{content:'▾'}
.dpick-cat .chk-grid{padding:4px 0 8px 22px;font-size:13.5px}
/* document viewer */
.dv-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.dv-bar .acts{display:flex;gap:8px}
.dv{overflow:hidden}
.pdfv-tools{display:flex;align-items:center;gap:8px;margin-bottom:10px;position:sticky;top:0;background:var(--card,#fff);padding:4px 0;z-index:2}
.pdfv-pages{display:flex;flex-direction:column;align-items:center;gap:12px;background:#eef1f5;border-radius:10px;padding:12px;overflow:auto}
.pdfv-page canvas{display:block;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);max-width:none}
.pdfv-frame{width:100%;height:80vh;border:0;background:#fff}
.dv-img{text-align:center;background:#eef1f5;border-radius:10px;padding:12px}.dv-img img{max-width:100%;height:auto;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.dv-text{white-space:pre-wrap;word-break:break-word;font:13px/1.5 ui-monospace,Menlo,Consolas,monospace;background:#f7f8fa;border-radius:10px;padding:14px;max-height:80vh;overflow:auto}
.dv-sheet{max-height:75vh;overflow:auto}.dv-sheet table{font-size:13px}.dv-sheet td,.dv-sheet th{white-space:nowrap;border:1px solid #e3e6ec;padding:4px 8px}
.dv-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.dv-tabs button{border:1px solid #d9dee6;background:#fff;border-radius:8px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}.dv-tabs button[aria-pressed=true]{background:var(--brand,#1d4e89);color:#fff;border-color:transparent}
.dv-doc{max-width:820px;margin:0 auto;line-height:1.6}.dv-doc p{margin:0 0 .6em}.dv-doc .dv-gap{margin:0 0 .4em}.dv-doc .al-center{text-align:center}.dv-doc .al-right{text-align:right}.dv-doc .dv-li{padding-left:1em}
.dv-doc table{margin:8px 0}.dv-doc td{border:1px solid #e3e6ec;padding:4px 8px;vertical-align:top}.dv-doc td p{margin:0}
.dv-none{text-align:center;padding:30px 10px}
.cp-offer{color:var(--ok);font-size:.85rem;font-weight:600;margin:6px 0 0;padding:6px 9px;border-radius:8px;background:color-mix(in srgb,var(--ok) 10%,var(--surface))}
.dpick-mode .chk{white-space:nowrap}.dpick-mode input[type=radio],.dpick input[type=checkbox]{width:18px !important;height:18px;min-height:0 !important;padding:0 !important;margin:0;flex:none;box-shadow:none}
.team-login-btn{margin-top:12px;gap:8px;min-height:42px;font-weight:700;border-style:dashed}.team-login-btn:hover{border-style:solid}
.welcome-prev{border:1px solid var(--rule);border-radius:10px;padding:14px 16px;background:#fff;max-width:640px}.govq{align-items:flex-end}
.welcome-prev{border:1px solid var(--rule);border-radius:10px;padding:14px 16px;background:#fff;max-width:640px}.govq{align-items:flex-end}
.welcome-prev{border:1px solid var(--rule);border-radius:10px;padding:14px 16px;background:#fff;max-width:640px}.govq{align-items:flex-end}
/* chat */
.chat{display:flex;flex-direction:column;background:var(--surface,#fff);border:1px solid var(--rule,#e2e8f0);border-radius:14px;overflow:hidden;min-height:0}
.chat-page{height:min(72vh,720px)}
.chat-h{display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:#0b2266;color:#fff;position:relative}.chat-h small{opacity:.8;font-size:12.5px}
.chat-x{position:absolute;right:10px;top:8px;background:none;border:0;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.chat-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#f6f8fc}
.chat-empty{color:#64748b;text-align:center;margin:auto}
.chat-m{max-width:82%;align-self:flex-start;display:flex;flex-direction:column;gap:3px}.chat-m.me{align-self:flex-end;align-items:flex-end}
.chat-b{background:#fff;border:1px solid #e2e8f0;border-radius:14px 14px 14px 4px;padding:9px 12px;line-height:1.45;word-break:break-word}
.chat-m.me .chat-b{background:#1747b8;color:#fff;border-color:#1747b8;border-radius:14px 14px 4px 14px}.chat-m.me .chat-b a{color:#fff}
.chat-m small{color:#64748b;font-size:11.5px}
.chat-f{display:flex;gap:8px;padding:10px;border-top:1px solid #e2e8f0;background:#fff}.chat-f textarea{flex:1;resize:none;border:1px solid #cbd5e1;border-radius:10px;padding:8px 10px;font:inherit}
.chat-note{margin:0;padding:0 12px 10px;font-size:11.5px;color:#64748b;background:#fff}
.chat-fab{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-flex;align-items:center;gap:8px;background:#1747b8;color:#fff;border:0;border-radius:999px;padding:12px 18px;font:600 15px/1 inherit;box-shadow:0 10px 24px rgba(11,34,102,.3);cursor:pointer}
.chat-fab svg{width:20px;height:20px}.chat-fab.on{background:#0b2266}
.chat-dot{font-style:normal;background:#f26a12;color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.chat-pop{position:fixed;right:20px;bottom:80px;z-index:61;width:min(380px,calc(100vw - 32px));height:min(540px,calc(100vh - 120px))}.chat-pop .chat{height:100%;box-shadow:0 18px 40px rgba(11,34,102,.25)}
.chat-inbox{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}
.chat-list{max-height:72vh;overflow:auto;padding:12px}.chat-list h2{margin:4px 4px 10px}
.chat-start select{width:100%;margin-bottom:10px}
.chat-li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px;border-radius:10px;text-decoration:none;color:inherit}.chat-li:hover,.chat-li.on{background:#eef3ff}
.chat-li small{grid-column:1/-1;color:#64748b}.chat-li time{grid-column:1/-1;color:#94a3b8;font-size:11.5px}
@media (max-width:860px){.chat-inbox{grid-template-columns:1fr}.chat-fab span{display:none}.chat-fab{padding:14px}}
