:root{--bg:#F7F8FA;--surface:#FFFFFF;--surface-2:#F1F3F7;--border:#E5E7EB;--text:#171923;--muted:#5B6270;--primary:#4F46E5;--primary-text:#4338CA;--primary-soft:#EEF2FF;--on-primary:#FFFFFF;--success:#16A34A;--warning:#D97706;--danger:#DC2626;--focus:#4F46E5;--shadow:0 1px 2px rgba(16,24,40,.06);--shadow-2:0 6px 16px rgba(16,24,40,.12);--shadow-3:0 20px 50px rgba(0,0,0,.25);--ring:rgba(79,70,229,.28);--accent:#FF9933;--accent-rgb:255,153,51;--accent-text:#B45309;--series-3:#0891B2;--series-4:#64748B;--ctl-sm:32px;--ctl-md:40px;--ctl-lg:44px;--bnav:60px;--info-bg:#DBEAFE;--info-fg:#1D4ED8;--success-bg:#DCFCE7;--success-fg:#166534;--warning-bg:#FEF3C7;--warning-fg:#92400E;--danger-bg:#FEE2E2;--danger-fg:#B91C1C;--accent-bg:rgba(var(--accent-rgb),.18);--accent-fg:#B45309;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:18px;--fs-2xl:24px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--sidebar:240px;--topbar:64px;font-family:Inter,system-ui,sans-serif}:root[data-theme=dark]{--bg:#08130F;--surface:#0F1D17;--surface-2:#15271F;--border:#24392F;--text:#E6F0EA;--muted:#93A89C;--primary:#34D399;--primary-text:#6EE7B7;--primary-soft:#123226;--on-primary:#06120D;--success:#4ADE80;--warning:#FBBF24;--danger:#F87171;--focus:#6EE7B7;--shadow:0 1px 2px rgba(0,0,0,.4);--shadow-2:0 6px 16px rgba(0,0,0,.45);--shadow-3:0 20px 50px rgba(0,0,0,.6);--ring:rgba(110,231,183,.3);--accent-text:#FFB366;--info-bg:rgba(96,165,250,.16);--info-fg:#93C5FD;--success-bg:rgba(74,222,128,.14);--success-fg:#86EFAC;--warning-bg:rgba(251,191,36,.14);--warning-fg:#FCD34D;--danger-bg:rgba(248,113,113,.16);--danger-fg:#FCA5A5;--accent-bg:rgba(var(--accent-rgb),.16);--accent-fg:#FFB366;--series-3:#22D3EE;--series-4:#94A3B8}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-size:var(--fs-md);line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-size:var(--fs-2xl);font-weight:600;margin:0}h2{font-size:var(--fs-xl);font-weight:600;margin:0}h3{font-size:var(--fs-lg);font-weight:600;margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.muted{color:var(--muted);font-size:var(--fs-sm)}.btn{display:inline-flex;align-items:center;gap:var(--s2);height:var(--ctl-md);padding:0 var(--s4);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font:500 var(--fs-sm) "Inter",sans-serif;cursor:pointer;transition:background .12s}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover{filter:brightness(1.08)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--s4)}.field label{font-weight:500;font-size:var(--fs-sm)}.input{height:var(--ctl-md);padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:400 var(--fs-md) "Inter",sans-serif}.input:focus-visible,.search input:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--ring)}.input[aria-invalid=true]{border-color:var(--danger)}.err{color:var(--danger);font-size:var(--fs-sm);display:flex;gap:6px;align-items:center}.ok{color:var(--success);font-size:var(--fs-sm)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s6);box-shadow:var(--shadow)}.center{min-height:100%;display:grid;place-items:center;padding:var(--s6)}.brand{font-weight:700;letter-spacing:.04em;font-size:15px}.slogan{color:var(--muted);font-size:13px}.shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;height:100vh;height:100dvh;overflow:hidden}.side{grid-row:1/4;background:var(--surface);border-right:1px solid var(--border);padding:var(--s4);min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.main{padding:var(--s6);max-width:1600px;width:100%;min-width:0;min-height:0;overflow:auto}.nav{display:flex;align-items:center;gap:var(--s3);height:36px;padding:0 var(--s3);border-radius:var(--r-md);color:var(--text);font-weight:500;border:0;background:none;width:100%;cursor:pointer;position:relative}.nav[aria-current=page]{background:var(--primary-soft);color:var(--primary-text)}.nav[aria-current=page]:before{content:"";position:absolute;left:-16px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--primary)}.nav:hover:not([aria-current=page]){background:var(--surface-2)}.nav svg{flex:none}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.seg button{height:calc(var(--ctl-md) - 2px);padding:0 var(--s3);border:0;background:var(--surface);color:var(--muted);font:500 var(--fs-sm) "Inter",sans-serif;cursor:pointer}.seg button[aria-pressed=true]{background:var(--primary-soft);color:var(--primary-text)}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--s4)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(max-width:1024px){.shell{grid-template-columns:68px minmax(0,1fr)}.nav span{display:none}}@media(max-width:640px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto auto}.side{display:none}.main{padding:var(--s4)}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.spin,.skel{animation:none}}.btn.icon{width:var(--ctl-md);padding:0;justify-content:center}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--s4);margin-bottom:var(--s6);flex-wrap:wrap}.toolbar{display:flex;gap:var(--s3);margin-bottom:var(--s4);flex-wrap:wrap}.search{position:relative;flex:1;min-width:220px;max-width:420px;display:flex;align-items:center}.search svg{position:absolute;left:var(--s3);color:var(--muted)}.search input{width:100%;height:var(--ctl-md);padding:0 var(--s3) 0 36px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:400 var(--fs-md) "Inter",sans-serif}select.input{padding-right:var(--s2)}.card.flush{padding:0;overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.tbl th{text-align:left;font-weight:600;color:var(--muted);padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);white-space:nowrap}.tbl td{padding:var(--s3) var(--s4);border-bottom:1px solid var(--border);vertical-align:middle}.tbl tr:last-child td{border-bottom:0}.tbl td.act{text-align:right;white-space:nowrap}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}td .chips{margin:0}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary-text);font-size:12px;font-weight:500}.chip button{display:inline-flex;border:0;background:none;color:inherit;cursor:pointer;padding:0}.row{display:flex;align-items:center;gap:var(--s2)}.actions{display:flex;justify-content:flex-end;gap:var(--s2);margin-top:var(--s2)}.two{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.switch{width:36px;height:20px;border-radius:999px;border:0;background:var(--border);position:relative;cursor:pointer;padding:0;transition:background .12s}.switch span{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .12s}.switch[aria-checked=true]{background:var(--primary)}.switch[aria-checked=true] span{transform:translate(16px)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s2);padding:var(--s8) var(--s4);background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-lg)}.empty svg{color:var(--primary)}.empty .btn{margin-top:var(--s2)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);margin-top:var(--s4)}dialog.modal{border:0;padding:0;border-radius:var(--r-xl);background:var(--surface);color:var(--text);width:min(560px,calc(100% - 32px));box-shadow:var(--shadow-3)}dialog.modal.sm{width:min(420px,calc(100% - 32px))}dialog.modal.lg{width:min(760px,calc(100% - 32px))}dialog.modal.sheet{margin:auto 0 0;width:100%;max-width:100%;border-radius:var(--r-xl) var(--r-xl) 0 0}dialog.modal.sheet .modal-body{max-height:80dvh;padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom))}dialog.modal::backdrop{background:#0f111780}.modal-body{padding:var(--s6);max-height:85vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s4)}.toasts{position:fixed;right:var(--s4);bottom:var(--s4);display:flex;flex-direction:column;gap:var(--s2);z-index:1000;width:min(380px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;gap:var(--s2);align-items:flex-start;padding:var(--s3) var(--s4);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-2);font-size:var(--fs-sm);pointer-events:auto}.toast span{flex:1}.toast-x{border:0;background:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:var(--r-sm);display:inline-flex}.toast-x:hover{background:var(--surface-2)}.toast.ok svg{color:var(--success)}.toast.err{border-color:var(--danger)}.toast.err svg{color:var(--danger)}.nav-group{margin:var(--s3) 0 var(--s1);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:0 var(--s3)}@media(max-width:1024px){.nav-group{display:none}}@media(max-width:640px){.two{grid-template-columns:1fr}.tbl thead{display:none}.tbl,.tbl tbody,.tbl tr,.tbl td{display:block;width:100%}.tbl tr{padding:var(--s3) var(--s4);border-bottom:1px solid var(--border)}.tbl td{border:0;padding:4px 0;display:flex;justify-content:space-between;gap:var(--s3);text-align:right}.tbl td:before{content:attr(data-label);color:var(--muted);font-weight:500;text-align:left}.tbl td.act{justify-content:flex-end}.tbl td.act:before{content:none}}.board{display:grid;grid-auto-flow:column;grid-auto-columns:290px;gap:var(--s4);overflow-x:auto;padding-bottom:var(--s2);align-items:start}.col{background:var(--surface-2);border-radius:var(--r-lg);padding:var(--s3);min-height:160px}.col.over{outline:2px dashed var(--primary);outline-offset:-2px}.col-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s3);font-size:13px}.lcard{display:block;width:100%;text-align:left;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s3);margin-bottom:var(--s2);cursor:grab;box-shadow:var(--shadow);transition:transform .12s,box-shadow .12s}.lcard:hover{transform:translateY(-1px);box-shadow:var(--shadow-2)}.lcard:active{cursor:grabbing}.badge{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:12px;font-weight:500}.badge.p-Urgent{background:var(--danger);border-color:var(--danger);color:#fff}.badge.p-High{border-color:var(--warning);color:var(--warning)}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}.kpi{background:var(--surface-2);border-radius:var(--r-md);padding:var(--s2) var(--s3);font-size:12px;color:var(--muted)}.kpi b{display:block;font-size:16px;color:var(--text)}ul.plain{list-style:none;margin:0;padding:0}.ledger li{display:flex;align-items:center;gap:var(--s3);justify-content:space-between;padding:var(--s2) 0;border-bottom:1px solid var(--border);font-size:13px}.ledger li span{flex:1}dialog.drawer{margin:0 0 0 auto;height:100vh;height:100dvh;max-height:100dvh;width:min(580px,100%);border-radius:var(--r-xl) 0 0 var(--r-xl)}dialog.drawer .modal-body{height:100vh;height:100dvh;max-height:100dvh}@media(max-width:640px){.kpis{grid-template-columns:repeat(2,1fr)}.board{grid-auto-columns:85%;scroll-snap-type:x mandatory}.col{scroll-snap-align:start}}.dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:var(--s4)}.dgrid.two-wide{grid-template-columns:minmax(0,2fr) minmax(260px,1fr)}.card.wide{min-width:0}.kpi-tile{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s4) var(--s5)}.kpi-val{font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:1.1}.spark{width:90px;height:28px}.delta{display:inline-flex;align-items:center;gap:2px;font-weight:500}.delta.up{color:var(--success)}.delta.down{color:var(--danger)}.ring{display:flex;align-items:center;gap:var(--s4)}.legend{display:flex;flex-wrap:wrap;gap:var(--s4);font-size:12px;color:var(--muted);margin-top:var(--s2)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px}.hbars li{margin-bottom:var(--s3)}.track{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin:4px 0}.track div{height:100%;background:var(--primary);border-radius:999px;transition:width .3s}.queue li button{display:flex;gap:var(--s3);align-items:flex-start;width:100%;text-align:left;font:inherit;color:inherit;background:none;border:0;border-bottom:1px solid var(--border);padding:var(--s2) 0;cursor:pointer}.queue li button:hover{background:var(--surface-2)}.queue svg{color:var(--primary);flex:none;margin-top:3px}.skel{height:120px;background:linear-gradient(90deg,var(--surface),var(--surface-2),var(--surface));background-size:200% 100%;animation:sh 1.4s infinite}@keyframes sh{to{background-position:-200% 0}}@media(max-width:1024px){.dgrid.two-wide{grid-template-columns:1fr}}.notes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--s4)}.note{display:flex;flex-direction:column;gap:var(--s2);min-height:160px}.btn.pin[aria-pressed=true]{color:var(--primary-text);background:var(--primary-soft);border-color:var(--primary)}select.input.slim{height:32px;font-size:13px}ul.pick{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}ul.pick button{display:block;width:100%;text-align:left;font:inherit;color:inherit;background:var(--surface);border:0;border-bottom:1px solid var(--border);padding:var(--s2) var(--s3);cursor:pointer}ul.pick button:hover{background:var(--surface-2)}.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s3)}.seg.wrap{display:flex;flex-wrap:wrap;border:0;gap:var(--s2)}.seg.wrap button{border:1px solid var(--border);border-radius:var(--r-md)}ol.plain{list-style:none;margin:0;padding:0}.drow{display:grid;grid-template-columns:repeat(var(--cols),minmax(var(--min),1fr));gap:12px;overflow-x:auto;padding-bottom:4px}.drow-4{--cols:4;--min:220px}.drow-4.lists{--min:250px}.drow-4 .ring{flex-direction:column;justify-content:center;text-align:center}.drow .fill{display:flex}.drow .fill>.card{flex:1}.drow.lists .card{max-height:420px;overflow-y:auto}@media(min-width:641px){.board{grid-auto-columns:340px}}.lcard{display:flex;flex-direction:column;gap:var(--s2)}.lname{background:none;border:0;padding:0;font:inherit;font-weight:600;color:inherit;text-align:left;cursor:pointer}.lc-actions{display:flex;align-items:center;gap:var(--s2)}.btn.icon.sm{width:var(--ctl-sm);height:var(--ctl-sm)}.lc-money{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}.lc-money>div{display:flex;flex-direction:column;background:var(--surface-2);border-radius:var(--r-md);padding:6px var(--s2);font-size:12px;color:var(--muted)}.lc-money b{font-size:14px;color:var(--text)}.pv-compact{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);font-size:12px}.pv-compact h3{font-size:12px;font-weight:500;color:var(--muted)}.pv-compact .btn{height:var(--ctl-sm);padding:0 var(--s2);font-size:12px}.pv-compact .card{flex-basis:100%;padding:var(--s2);box-shadow:none}.footer{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:var(--s4);row-gap:2px;min-height:40px;padding:var(--s2) var(--s4);font-size:var(--fs-xs);line-height:1.4;letter-spacing:.02em;text-align:center;color:var(--muted);background:linear-gradient(180deg,rgba(var(--accent-rgb),.06),transparent 70%),var(--surface)}.footer>span{white-space:nowrap}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.footer .sep{opacity:.55}.footer .brand-mark{font-weight:600;color:var(--accent-text)}@media(max-width:480px){.footer{padding:var(--s2) var(--s3)}.footer>span{white-space:normal}}.fchips{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.fpanel{flex-basis:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s4);padding:var(--s4)}.toolbar{align-items:center}.bulkbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);padding:var(--s2) var(--s3);margin-bottom:var(--s3);background:var(--primary-soft);border:1px solid var(--primary);border-radius:var(--r-md)}.lcard.sel{outline:2px solid var(--primary);outline-offset:-2px}input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.seg button svg{vertical-align:-3px;margin-right:6px}.top{container-type:inline-size;min-height:var(--topbar);border-bottom:1px solid var(--border);background:var(--surface);display:flex;align-items:center}.top-in{flex:1;min-width:0;display:flex;align-items:center;gap:var(--s4);padding:0 var(--s6)}.crumb{display:flex;align-items:center;gap:6px;flex:none;white-space:nowrap}.crumb-group,.crumb svg{color:var(--muted);font-size:var(--fs-sm)}.crumb strong{font-size:var(--fs-lg);font-weight:600}.top-actions{display:flex;align-items:center;gap:var(--s2);flex:none;margin-left:auto}.mantra{flex:1;min-width:0;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2px var(--s4);font-family:Tiro Devanagari Hindi,"Noto Serif Devanagari",serif;font-size:var(--fs-lg);line-height:1.45;letter-spacing:.01em;color:var(--text);background:radial-gradient(ellipse 62% 100% at 50% 50%,rgba(var(--accent-rgb),.16),transparent 72%)}:root[data-theme=dark] .mantra{background:radial-gradient(ellipse 62% 100% at 50% 50%,rgba(var(--accent-rgb),.12),transparent 72%)}.mantra span{white-space:nowrap}.mantra .om{font-weight:400;font-size:20px;color:var(--accent-text);margin-right:4px}@container (max-width:980px){.top-in{flex-wrap:wrap;padding:var(--s2) var(--s4);gap:var(--s2) var(--s3)}.mantra{order:3;flex-basis:100%;font-size:12.5px;padding:var(--s1) 0}.mantra .om{font-size:15px}}@container (max-width:640px){.crumb-group,.crumb svg{display:none}.mantra{font-size:11.5px}}@container (max-width:560px){.top .lbl{display:none}}.brand-card{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:var(--s4) var(--s3);margin-bottom:var(--s2);border-radius:var(--r-lg);border:1px solid var(--border);background:linear-gradient(160deg,rgba(var(--accent-rgb),.07),transparent 65%),var(--surface-2)}.brand-logo{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;overflow:hidden;box-shadow:0 0 0 2px var(--surface-2),0 0 0 3px rgba(var(--accent-rgb),.55)}.brand-logo:empty{display:none}.brand-logo img{height:42px;max-width:42px;object-fit:contain;display:block}.brand-name{font-weight:700;font-size:12.5px;letter-spacing:.14em;line-height:1.3;color:var(--text)}.brand-line{width:38px;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.brand-slogan{font-size:11.5px;letter-spacing:.02em;color:var(--muted)}@media(min-width:641px)and (max-width:1024px){.side{padding:var(--s3) var(--s2)}.nav{justify-content:center;padding:0}.nav[aria-current=page]:before{left:-8px}.side nav>div+div{border-top:1px solid var(--border);margin-top:var(--s2);padding-top:var(--s2)}.brand-card{padding:var(--s2) 0;background:none;border:0}.brand-name,.brand-line,.brand-slogan{display:none}.brand-logo{width:44px;height:44px}.brand-logo img{height:32px;max-width:32px}}.navtip{position:fixed;left:72px;transform:translateY(-50%);z-index:50;pointer-events:none;white-space:nowrap;padding:6px 10px;border-radius:var(--r-md);background:var(--text);color:var(--bg);font-size:var(--fs-xs);font-weight:500;box-shadow:var(--shadow-2)}.skip{position:fixed;left:var(--s3);top:-60px;z-index:1100;padding:var(--s2) var(--s4);border-radius:var(--r-md);background:var(--primary);color:var(--on-primary);border:0;font:500 var(--fs-sm) "Inter",sans-serif;cursor:pointer}.skip:focus{top:var(--s2)}.auth-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:max(var(--s6),env(safe-area-inset-top)) var(--s4) 0;background:radial-gradient(ellipse 60% 45% at 50% 0%,rgba(var(--accent-rgb),.1),transparent 70%),var(--bg)}.auth{width:100%;max-width:420px;padding:var(--s8) var(--s6);margin:auto}.auth-brand{text-align:center;margin-bottom:var(--s6)}.auth-sub{margin:4px 0 var(--s5)}.auth .input,.auth .auth-cta{height:var(--ctl-lg)}.auth-cta{width:100%;justify-content:center}.auth-msg{min-height:44px;margin-bottom:var(--s2)}.auth-msg p{margin:0}.auth-foot{text-align:center;margin:var(--s3) 0 0}.auth-sep{border:0;border-top:1px solid var(--border);margin:var(--s4) 0 var(--s2)}.auth-lock{text-align:center}.auth-lock .field{text-align:left}.auth-lock .auth-msg .err{justify-content:center}.auth-out{display:flex;margin:0 auto}.lock-badge{width:48px;height:48px;margin:0 auto var(--s3);display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary-text)}.auth .pin-input{height:56px;font-size:24px;letter-spacing:.5em;text-align:center;padding-left:calc(var(--s3) + .5em)}.pw{position:relative}.pw .input{width:100%;padding-right:48px}.pw-toggle{position:absolute;right:2px;top:2px;width:calc(var(--ctl-lg) - 4px);height:calc(var(--ctl-lg) - 4px);display:grid;place-items:center;border:0;background:none;color:var(--muted);border-radius:var(--r-md);cursor:pointer}.pw-toggle:hover{color:var(--text);background:var(--surface-2)}.link-btn{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--primary-text);font:500 var(--fs-sm) "Inter",sans-serif;cursor:pointer;padding:var(--s2) var(--s3);border-radius:var(--r-md)}.link-btn:hover{text-decoration:underline}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bnav{display:none}@media(max-width:640px){.bnav{display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.bnav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--bnav);border:0;background:none;color:var(--muted);font:500 11px Inter,sans-serif;cursor:pointer}.bnav button[aria-current=page],.bnav button[data-active]{color:var(--primary-text)}.bnav button[aria-current=page]:before,.bnav button[data-active]:before{content:"";position:absolute;top:0;left:28%;right:28%;height:3px;border-radius:0 0 3px 3px;background:var(--primary)}.toasts{left:var(--s3);right:var(--s3);width:auto;bottom:calc(var(--bnav) + env(safe-area-inset-bottom) + var(--s3))}dialog.modal:not(.sm):not(.sheet):not(.drawer){width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0}dialog.modal:not(.sm):not(.sheet):not(.drawer) .modal-body{max-height:none;height:100%;padding-bottom:calc(var(--s6) + env(safe-area-inset-bottom))}}.more-title{margin:var(--s4) 0 var(--s2);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s2)}.more-grid button{display:flex;align-items:center;gap:var(--s3);min-height:48px;padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:500 var(--fs-sm) "Inter",sans-serif;cursor:pointer;text-align:left}.more-grid button[aria-current=page]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-text)}@media(pointer:coarse){.btn,.input,.search input{min-height:var(--ctl-lg)}.btn.icon,.btn.icon.sm{min-width:var(--ctl-lg);min-height:var(--ctl-lg)}.nav{height:var(--ctl-lg)}.seg button{min-height:calc(var(--ctl-lg) - 2px)}input[type=checkbox]{width:22px;height:22px}}.page-actions{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap}.sb{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.sb-neutral{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.sb-info{background:var(--info-bg);color:var(--info-fg)}.sb-success{background:var(--success-bg);color:var(--success-fg)}.sb-warning{background:var(--warning-bg);color:var(--warning-fg)}.sb-danger{background:var(--danger-bg);color:var(--danger-fg)}.sb-accent{background:var(--accent-bg);color:var(--accent-fg)}.skel-rows{display:grid;gap:var(--s2)}.skel-row{height:48px;border-radius:var(--r-md);background:linear-gradient(90deg,var(--surface),var(--surface-2),var(--surface));background-size:200% 100%;animation:sh 1.4s infinite}.sec{padding:var(--s4) 0;border-top:1px solid var(--border)}.sec:first-of-type{border-top:0;padding-top:0}.sec-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s2);margin-bottom:var(--s3)}.sec-head h3{font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.avatar{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--primary-soft);color:var(--primary-text);font-weight:600;font-size:var(--fs-sm)}.avatar.lg{width:56px;height:56px;font-size:var(--fs-lg)}.kv{display:grid;grid-template-columns:120px 1fr;gap:6px var(--s3);margin:0;font-size:var(--fs-sm)}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.row-label{margin:var(--s5) 0 var(--s2);font-size:var(--fs-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.row-label:first-of-type{margin-top:0}.kpi-click{text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%;transition:border-color .12s,box-shadow .12s}.kpi-click:hover{border-color:var(--primary);box-shadow:var(--shadow-2)}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--s4)}.pcard{display:flex;flex-direction:column;gap:var(--s3);padding:var(--s4);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow)}.pcard.sel{outline:2px solid var(--primary);outline-offset:-2px}.pcard-top{display:flex;align-items:center;gap:var(--s2)}.pcard-title{font-size:var(--fs-xl);line-height:1.3}.pcard-title.off{color:var(--muted)}.pcard-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:var(--s2);flex-wrap:wrap}.checklist{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:var(--fs-sm)}.checklist li{display:flex;align-items:center;gap:6px}.checklist svg{color:var(--success);flex:none}.link-btn:disabled{color:var(--muted);cursor:default;text-decoration:none}.pstats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s2)}.pstats>div{display:flex;flex-direction:column;background:var(--surface-2);border-radius:var(--r-md);padding:6px var(--s2);font-size:var(--fs-xs);color:var(--muted)}.pstats b{font-size:var(--fs-md);color:var(--text)}.profile-head{display:flex;gap:var(--s4);align-items:center;margin-bottom:var(--s4)}.timeline{display:grid;gap:var(--s2);font-size:var(--fs-sm)}.timeline li{display:grid;grid-template-columns:96px 1fr;gap:var(--s2);padding:var(--s2) 0;border-bottom:1px solid var(--border)}.subhead{margin:var(--s4) 0 var(--s2);font-size:var(--fs-sm);font-weight:600}.subhead:first-of-type{margin-top:var(--s3)}.stage-strip{display:flex;gap:var(--s2);overflow-x:auto;margin-bottom:var(--s4);padding-bottom:2px}.stage-strip button{flex:1 0 108px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--muted);font:500 var(--fs-xs) "Inter",sans-serif;cursor:pointer;text-align:left}.stage-strip b{font-size:var(--fs-xl);line-height:1.2;color:var(--text)}.stage-strip button:hover{border-color:var(--primary)}.stage-strip button[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-text)}.stage-strip button[aria-pressed=true] b{color:var(--primary-text)}.tab-count{margin-left:6px;padding:0 6px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:11px;font-weight:600}.seg button[aria-pressed=true] .tab-count{background:var(--surface);color:var(--primary-text)}.amt{font-variant-numeric:tabular-nums;white-space:nowrap}.note.pinned{border-left:3px solid var(--accent)}.note-title{font-size:var(--fs-lg);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-title .lname{font-size:inherit;text-align:left}.note-preview{margin:0;white-space:pre-wrap;color:var(--text);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.rgroups{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s6);margin-bottom:var(--s5)}.rgroup .row-label{margin:0 0 var(--s2)}.report-head{margin-bottom:var(--s4)}.report-head h2{font-size:var(--fs-xl)}.callout{display:flex;gap:var(--s3);align-items:flex-start;padding:var(--s3) var(--s4);margin-bottom:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--fs-sm)}.callout svg{flex:none;margin-top:2px;color:var(--primary-text)}.bulk-spacer{flex:1}.btn.danger-outline{color:var(--danger);border-color:var(--danger);background:transparent}.btn.danger-outline:hover{background:var(--danger-bg)}.binactions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);flex-wrap:wrap}.bin-sep{width:1px;align-self:stretch;min-height:24px;background:var(--border);margin:0 var(--s2)}@media(max-width:640px){.binactions{display:grid;grid-template-columns:1fr 1fr;width:100%}.bin-sep{display:none}.binactions .btn{justify-content:center}}.stepper{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);list-style:none;margin:0;padding:0;font-size:var(--fs-sm)}.stepper li{display:flex;align-items:center;gap:var(--s2);color:var(--muted)}.step-dot{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:var(--fs-xs);font-weight:600}.stepper li.now{color:var(--text);font-weight:600}.stepper li.now .step-dot{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.stepper li.done .step-dot{background:var(--success-bg);border-color:var(--success-fg);color:var(--success-fg)}.danger-card{border-color:var(--danger)}.callout.danger{border-color:var(--danger);background:var(--danger-bg)}.callout.danger svg{color:var(--danger)}
