/* =====================================================================
   TA Legal CRM — نظام التصميم v4
   الخط: Readex Pro (مستضاف داخل النظام) · الهوية: كحلي وذهبي
   متغيرات الثيمات القديمة (--navy, --beige, --bg, --text) ما زالت المصدر
   حتى يستمر محرر الثيمات في تلوين الواجهة كاملة.
   ===================================================================== */

@font-face{font-family:'Readex Pro';font-style:normal;font-display:swap;font-weight:160 700;src:url(/static/fonts/readex-pro-arabic-wght-normal.woff2) format('woff2-variations'),url(/static/fonts/readex-pro-arabic-wght-normal.woff2) format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Readex Pro';font-style:normal;font-display:swap;font-weight:160 700;src:url(/static/fonts/readex-pro-latin-wght-normal.woff2) format('woff2-variations'),url(/static/fonts/readex-pro-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --navy:#0B3A66;--navy-2:#1C5A94;--beige:#B39A64;--beige-soft:#F4EEDF;
  --bg:#F6F4EE;--card:#fff;--text:#14202E;--muted:#5F6B78;--border:#E6E1D6;--danger:#B3261E;
  --ink:color-mix(in srgb,var(--navy) 70%,#000);
  --ink-2:color-mix(in srgb,var(--navy) 82%,#000);
  --gold-ink:#7A6638;--gold-light:#D4BC86;
  --line-2:#EEEAE0;--surface-2:#FBFAF6;--surface-3:#F1EDE3;
  --success:#1E7A52;--success-bg:#E6F3EC;--warn:#8A5200;--warn-bg:#FBF1DE;--danger-bg:#FBE9E7;--info:#1C5A94;--info-bg:#E8F0F8;--neutral-bg:#F1F1EE;
  --r-sm:10px;--r:14px;--r-lg:20px;--r-xl:24px;
  --shadow-sm:0 1px 2px rgba(11,42,74,.05);
  --shadow:0 10px 28px rgba(11,42,74,.07);
  --shadow-lg:0 26px 60px rgba(11,42,74,.18);
  --ease:cubic-bezier(.22,1,.36,1);
  --sidebar-w:268px;--rail-w:84px;--topbar-h:74px;
  --font:'Readex Pro',system-ui,-apple-system,'Segoe UI',Tahoma,sans-serif;
  color-scheme:light;
}

/* ---------- Reset & base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{margin:0;background:var(--bg);line-height:1.6;font-size:14px;font-weight:350}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
img{max-width:100%}
h1,h2,h3,h4{font-weight:600;line-height:1.4;margin:0 0 .4em;color:var(--ink)}
h2{font-size:22px}h3{font-size:17px}h4{font-size:14.5px;margin-top:14px}
p{margin:0 0 .6em}
strong,b{font-weight:600}
small{font-size:12px}
hr{border:0;border-top:1px solid var(--border);margin:18px 0}
code{direction:ltr;display:inline-block;background:var(--surface-3);border-radius:6px;padding:1px 6px;font-family:ui-monospace,Consolas,monospace;font-size:12px}
::selection{background:color-mix(in srgb,var(--beige) 35%,transparent)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--beige) 55%,transparent);outline-offset:2px;border-radius:6px}
.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.i-sm{width:16px;height:16px}.i-lg{width:24px;height:24px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num,.tabular{font-variant-numeric:tabular-nums}
[hidden],label[hidden],.theme-banner[hidden]{display:none!important}

/* =====================================================================
   App shell
   ===================================================================== */
.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .45s var(--ease)}
body.rail .app-shell{grid-template-columns:var(--rail-w) minmax(0,1fr)}

/* ---- Sidebar ---- */
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--ink);color:#E9E4D8;padding:18px 14px 14px;border-inline-start:1px solid color-mix(in srgb,var(--beige) 28%,transparent);z-index:40;overflow:hidden}
.sb-brand{display:flex;align-items:center;gap:10px;padding:4px 6px 16px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:8px;position:relative}
.brand{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.brand img{width:50px;height:auto;flex:none;transition:width .3s var(--ease)}
.brand-text{display:flex;flex-direction:column;gap:1px;white-space:nowrap;overflow:hidden}
.brand-text b{font-size:15.5px;font-weight:600;color:#FAF7F0}
.brand-text small{font-size:11px;color:var(--gold-light);font-weight:300}
.sb-toggle{position:absolute;top:22px;inset-inline-end:-27px;width:28px;height:28px;border-radius:50%;border:1px solid color-mix(in srgb,var(--beige) 45%,transparent);background:var(--ink-2);color:var(--gold-light);display:grid;place-items:center;cursor:pointer;z-index:2;transition:background .2s,transform .3s var(--ease)}
.sb-toggle:hover{background:var(--navy)}
.sb-toggle .i{width:15px;height:15px;transition:transform .4s var(--ease)}
body.rail .sb-toggle .i{transform:rotate(180deg)}
.nav-scroll{flex:1;overflow-y:auto;overflow-x:hidden;margin:0 -6px;padding:0 6px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
.nav-list{display:flex;flex-direction:column;gap:2px}
.nav-group{display:flex;flex-direction:column;margin-top:6px}
.nav-group-head{all:unset;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:11.5px;font-weight:500;color:#8FA2B7;border-radius:6px;transition:color .2s}
.nav-group-head:hover{color:var(--gold-light)}
.nav-group-head .i{width:14px;height:14px;transition:transform .35s var(--ease)}
.nav-group.closed .nav-group-head .i{transform:rotate(90deg)}
.nav-group-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .4s var(--ease),opacity .3s}
.nav-group.closed .nav-group-body{grid-template-rows:0fr;opacity:0}
.nav-group-inner{overflow:hidden;display:flex;flex-direction:column;gap:2px}
.nav-item{position:relative;display:flex;align-items:center;gap:11px;min-height:40px;padding:0 10px;border-radius:10px;color:#D2DAE3;font-size:13.5px;font-weight:300;transition:background .2s,color .2s;white-space:nowrap}
.nav-item .i{color:#8EA2B8;transition:color .2s}
.nav-item:hover,.nav-item:focus-visible{background:rgba(255,255,255,.07);color:#fff;outline:none}
.nav-item:hover .i{color:var(--gold-light)}
.nav-item.active{background:rgba(255,255,255,.1);color:#fff;font-weight:500;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold-light) 28%,transparent)}
.nav-item.active .i{color:var(--gold-light)}
.nav-item>span{flex:1;overflow:hidden;text-overflow:ellipsis}
.nav-badge{font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:11px;font-weight:600;display:none;align-items:center;justify-content:center;background:rgba(255,255,255,.14);color:#F1EDE3}
.nav-badge.on{display:inline-flex}
.nav-badge.red{background:#D9483B;color:#fff}.nav-badge.warn{background:#E3A43A;color:#2B1D00}
.custom-module-nav{display:flex;flex-direction:column;gap:2px}
.custom-module-link>span:first-child{width:20px;text-align:center;flex:none}
.sb-user{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}
.sb-user-meta{display:flex;flex-direction:column;flex:1;min-width:0;white-space:nowrap}
.sb-user-meta b{font-size:13px;font-weight:500;color:#FAF7F0;overflow:hidden;text-overflow:ellipsis}
.sb-user-meta small{font-size:11px;color:#8FA2B7}
.sb-user form{margin:0}
.sb-user .icon-btn{color:#8FA2B7;background:transparent;border:0}
.sb-user .icon-btn:hover{color:#fff;background:rgba(255,255,255,.08)}
/* rail mode */
body.rail .brand-text,body.rail .nav-group-head,body.rail .nav-item>span,body.rail .nav-badge,body.rail .sb-user-meta,body.rail .sb-user form{display:none!important}
body.rail .nav-group-body{grid-template-rows:1fr!important;opacity:1!important}
body.rail .nav-group+.nav-group{border-top:1px solid rgba(255,255,255,.07);padding-top:6px}
body.rail .nav-item{justify-content:center;padding:0}
body.rail .nav-item.has-badge::after{content:"";position:absolute;top:8px;inset-inline-end:16px;width:8px;height:8px;border-radius:50%;background:#D9483B;border:2px solid var(--ink)}
body.rail .sb-brand{justify-content:center;padding-inline:0}
body.rail .brand{justify-content:center;flex:none}
body.rail .brand img{width:44px}
body.rail .sb-user{justify-content:center;padding:8px 0}

/* ---- Main / topbar ---- */
.main-content{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:30;min-height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:10px 28px;background:color-mix(in srgb,#fff 88%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--border)}
.topbar-title{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:0}
.topbar .eyebrow{font-size:11.5px;color:var(--muted);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar h1{margin:0;font-size:20px;font-weight:600;color:var(--ink);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-actions{display:flex;align-items:center;gap:8px}
.search-trigger{display:flex;align-items:center;gap:10px;height:42px;width:320px;max-width:30vw;padding:0 14px;border-radius:12px;background:var(--bg);border:1px solid var(--border);color:var(--muted);cursor:pointer;font-size:13px;text-align:start;transition:border-color .2s,background .2s,box-shadow .2s}
.search-trigger:hover{background:#fff;border-color:#D3CAB6;box-shadow:var(--shadow-sm)}
.search-trigger span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-trigger kbd{font-family:inherit;font-size:10.5px;border:1px solid #DCD5C6;border-radius:6px;padding:1px 6px;background:#fff;color:var(--muted)}
.icon-btn{position:relative;width:42px;height:42px;flex:none;display:inline-grid;place-items:center;border-radius:12px;border:1px solid var(--border);background:#fff;color:#34465A;cursor:pointer;transition:background .2s,border-color .2s,transform .15s,color .2s}
.icon-btn:hover{background:var(--surface-2);border-color:#D8D1C1;color:var(--ink)}
.icon-btn:active{transform:scale(.94)}
.icon-btn .count{position:absolute;top:-6px;inset-inline-end:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#D9483B;color:#fff;font-size:10.5px;font-weight:600;display:none;place-items:center;border:2px solid #fff}
.icon-btn .count.on{display:grid}
.icon-btn .count.on::before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:#D9483B;z-index:-1;animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite}
.icon-btn .count.bump{animation:bump .5s var(--ease)}
.avatar{width:38px;height:38px;flex:none;border-radius:50%;display:inline-grid;place-items:center;font-size:12.5px;font-weight:600;background:var(--beige);color:var(--ink)}
.avatar.sm{width:28px;height:28px;font-size:10.5px}.avatar.lg{width:52px;height:52px;font-size:16px}
.avatar-btn{all:unset;cursor:pointer;border-radius:50%;display:inline-flex;transition:box-shadow .2s}
.avatar-btn:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--beige) 35%,transparent)}
.mobile-only{display:none!important}
.page-wrap{flex:1;padding:24px 28px 56px;width:100%;max-width:1440px;margin:0 auto}
.page-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:-6px 0 16px}

/* ---- Dropdowns ---- */
.dd{position:relative}
.dd-panel{position:absolute;top:calc(100% + 10px);inset-inline-end:0;z-index:60;min-width:280px;background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);padding:8px;transform-origin:top left;animation:pop-in .26s var(--ease) both}
.dd-panel[hidden]{display:none}
.dd-item{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:11px;color:var(--text);font-size:13.5px;cursor:pointer;background:none;border:0;width:100%;text-align:start;transition:background .15s}
.dd-item:hover,.dd-item:focus-visible{background:var(--surface-2);outline:none}
.dd-item .ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--info-bg);color:var(--navy)}
.dd-item small{display:block;color:var(--muted);font-size:11.5px;font-weight:300}
.dd-sep{height:1px;background:var(--line-2);margin:6px 4px}
.notif-panel{width:400px;max-width:calc(100vw - 24px);padding:0;overflow:hidden}
.notif-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line-2)}
.notif-head b{font-size:15px;color:var(--ink)}
.notif-list{max-height:400px;overflow-y:auto}
.notif-row{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border-bottom:1px solid #F5F2EB;cursor:pointer;transition:background .2s;text-align:start;width:100%;background:#fff;border-inline:0;border-top:0}
.notif-row:hover{background:var(--surface-2)}
.notif-row.unread{background:#FFFCF5}
.notif-row .dot{width:8px;height:8px;border-radius:50%;background:#D9483B;flex:none;margin-top:7px;transition:transform .3s,opacity .3s}
.notif-row:not(.unread) .dot{transform:scale(0);opacity:0}
.notif-row .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.notif-row .t{display:flex;justify-content:space-between;gap:8px;font-size:13.5px}
.notif-row.unread .t b{font-weight:600}
.notif-row .t b{font-weight:400}
.notif-row .t time{font-size:11px;color:var(--muted);white-space:nowrap}
.notif-row p{margin:0;font-size:12.5px;color:#4A5868;line-height:1.55}
.notif-foot{display:block;text-align:center;padding:12px;font-size:13px;font-weight:500;color:var(--navy);background:var(--surface-2);border-top:1px solid var(--line-2)}
.tone-ico{width:36px;height:36px;border-radius:10px;flex:none;display:grid;place-items:center}
.tone-urgent{background:var(--danger-bg);color:#9C2018}.tone-action{background:var(--info-bg);color:var(--navy)}.tone-warn{background:var(--warn-bg);color:var(--warn)}.tone-info{background:#EEF1F4;color:#3E4C5A}.tone-ok{background:var(--success-bg);color:var(--success)}.tone-gold{background:var(--beige-soft);color:#6B5830}

/* ---- Command palette / modal ---- */
.overlay{position:fixed;inset:0;z-index:120;background:rgba(7,24,43,.42);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:fade-in .2s ease both}
.overlay[hidden]{display:none}
.palette{position:relative;margin:10vh auto 0;width:660px;max-width:calc(100% - 28px);background:#fff;border-radius:22px;box-shadow:0 40px 100px rgba(3,14,28,.4);overflow:hidden;animation:pal-in .32s var(--ease) both}
.palette-input{display:flex;align-items:center;gap:12px;padding:0 20px;height:64px;border-bottom:1px solid var(--line-2);color:var(--muted)}
.palette-input input{all:unset;flex:1;font-size:17px;color:var(--text)}
.palette-results{max-height:min(460px,60vh);overflow-y:auto;padding:8px}
.palette-group{padding:10px 12px 4px;font-size:11.5px;font-weight:500;color:var(--gold-ink)}
.palette-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;color:var(--text);transition:background .12s}
.palette-item .ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--surface-3);color:#6B5830;transition:background .12s,color .12s}
.palette-item b{display:block;font-size:14px;font-weight:500}
.palette-item small{display:block;font-size:12px;color:var(--muted)}
.palette-item .go{margin-inline-start:auto;font-size:11.5px;color:var(--navy);opacity:0}
.palette-item.on{background:#EEF3F9}.palette-item.on .ico{background:var(--navy);color:#fff}.palette-item.on .go{opacity:1}
.palette-foot{display:flex;gap:16px;padding:10px 18px;border-top:1px solid var(--line-2);background:var(--surface-2);font-size:11.5px;color:var(--muted)}
.palette-empty{padding:36px 16px;text-align:center;color:var(--muted)}
.modal{position:relative;margin:8vh auto 0;width:560px;max-width:calc(100% - 28px);max-height:84vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 40px 100px rgba(3,14,28,.4);padding:24px;animation:pal-in .34s var(--ease) both}
.modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.modal-head h3{margin:0}

/* ---- Drawer ---- */
.drawer-overlay{position:fixed;inset:0;z-index:110;background:rgba(7,24,43,.35);animation:fade-in .25s ease both}
.drawer-overlay[hidden]{display:none}
.drawer{position:fixed;top:0;bottom:0;left:0;right:auto;width:480px;max-width:100%;background:#fff;box-shadow:30px 0 80px rgba(3,14,28,.25);display:flex;flex-direction:column;z-index:115;animation:drawer-in-left .45s var(--ease) both}
.drawer-head{padding:20px 22px 16px;border-bottom:1px solid var(--line-2);display:flex;flex-direction:column;gap:8px}
.drawer-body{flex:1;overflow-y:auto;padding:18px 22px}
.drawer-foot{padding:14px 22px;border-top:1px solid var(--line-2);background:var(--surface-2);display:flex;gap:8px;flex-wrap:wrap}

/* ---- Toasts ---- */
.toast-stack{position:fixed;z-index:200;inset-inline-end:auto;left:24px;bottom:24px;display:flex;flex-direction:column;gap:10px;width:380px;max-width:calc(100% - 32px);pointer-events:none}
.toast{pointer-events:auto;background:var(--ink);color:#FAF7F0;border-radius:15px;box-shadow:0 20px 44px rgba(3,14,28,.35);overflow:hidden;animation:toast-in .5s var(--ease) both}
.toast.out{animation:toast-out .3s ease-in both}
.toast-row{display:flex;align-items:center;gap:12px;padding:13px 16px}
.toast-ico{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;background:rgba(127,209,166,.18);color:#A9DCC1}
.toast.bad .toast-ico{background:rgba(240,122,110,.2);color:#F4A39A}
.toast.info .toast-ico{background:rgba(212,188,134,.2);color:var(--gold-light)}
.toast-text{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.toast-text b{font-size:13.5px;font-weight:500}
.toast-text small{font-size:12px;color:#C9D3DE;font-weight:300}
.toast-act{all:unset;cursor:pointer;font-size:13px;font-weight:600;color:var(--gold-light)}
.toast-x{all:unset;cursor:pointer;color:#8FA2B7;display:flex}
.toast-bar{height:3px;background:rgba(255,255,255,.08)}
.toast-bar i{display:block;height:100%;background:var(--gold-light);transform-origin:right;animation:toast-bar 5s linear both}

/* ---- Mobile bottom nav ---- */
.bottom-nav{display:none}

/* =====================================================================
   Components (legacy class names restyled)
   ===================================================================== */
.eyebrow{font-size:12px;color:var(--gold-ink);font-weight:500}
.badge{display:inline-flex;align-items:center;gap:6px;background:var(--beige-soft);color:#6B5830;padding:4px 11px;border-radius:999px;font-size:11.5px;font-weight:500;line-height:1.6;width:max-content}
.status,.pill{display:inline-flex;align-items:center;gap:6px;background:var(--info-bg);color:var(--navy);border-radius:999px;padding:3px 10px;font-size:11.5px;font-weight:500;width:max-content;white-space:nowrap;line-height:1.6}
.pill.ok,.status.ok{background:var(--success-bg);color:var(--success)}
.pill.warn,.status.warn{background:var(--warn-bg);color:var(--warn)}
.pill.bad,.status.bad{background:var(--danger-bg);color:#9C2018}
.pill.muted,.status.muted{background:var(--neutral-bg);color:#4A5868}
.pill.gold,.status.gold{background:var(--beige-soft);color:#6B5830}
.pill.solid{background:var(--navy);color:#fff}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor}
.muted{color:var(--muted);line-height:1.7}
.soft{color:var(--muted)}
.block{display:block;margin-top:4px;color:var(--muted)}
.text-link,.panel-head a{color:var(--navy-2);font-weight:500}
.text-link:hover,.panel-head a:hover{color:var(--navy)}
.long-text{white-space:pre-wrap;line-height:1.9}
.top-space{margin-top:14px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:12px;border:1px solid transparent;cursor:pointer;font-size:13.5px;font-weight:500;line-height:1.2;white-space:nowrap;text-decoration:none;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .15s;user-select:none}
.btn:active{transform:scale(.97)}
.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:color-mix(in srgb,var(--navy) 88%,#fff);box-shadow:0 8px 20px color-mix(in srgb,var(--navy) 28%,transparent)}
.btn-gold{background:var(--beige);color:#1E1608;font-weight:600}
.btn-gold:hover{background:color-mix(in srgb,var(--beige) 88%,#fff);box-shadow:0 8px 20px color-mix(in srgb,var(--beige) 35%,transparent)}
.btn-ghost{background:#fff;border-color:var(--border);color:var(--ink)}
.btn-ghost:hover{background:var(--surface-2);border-color:#D6CEBC}
.btn-quiet{background:transparent;color:var(--navy)}
.btn-quiet:hover{background:var(--surface-3)}
.btn-success{background:var(--success);color:#fff}
.btn-danger{background:#fff!important;border:1px solid #EBC3BD!important;color:var(--danger)!important}
.btn-danger:hover{background:var(--danger-bg)!important}
.btn-small{min-height:34px!important;padding:0 12px!important;font-size:12.5px!important;border-radius:10px!important}
.btn-block{width:100%}
.btn .spin{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}
.btn-ghost .spin{border-color:#D6D0C2;border-top-color:var(--navy)}

/* Panels & cards */
.panel,.form-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px;margin-bottom:20px;box-shadow:var(--shadow-sm)}
.panel>h3:first-child,.form-card>h3:first-child{margin-bottom:14px}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.panel-head h3{margin:0}
.panel-head p{margin:2px 0 0;color:var(--muted);font-size:12.5px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px}
.section-heading h3{margin:0}.section-heading p{margin:2px 0 0;color:var(--muted);font-size:12.5px}
.compact-panel{padding:14px 18px}
.table-panel{padding:0;overflow-x:auto}
.table-title{padding:18px 20px 8px}
.pad-head{padding:18px 18px 0}
.danger-zone{border-color:#F0D2CD;background:#FFFBFA}
.danger-zone summary{color:var(--danger)}
.subtle-box{padding:12px 14px;border:1px dashed #DCD4C2;border-radius:12px;background:var(--surface-2)}

.hero-panel,.client-head{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);padding:22px 26px;margin-bottom:20px;box-shadow:var(--shadow-sm);overflow:hidden}
.hero-panel::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:5px;background:linear-gradient(var(--beige),color-mix(in srgb,var(--beige) 40%,transparent))}
.hero-panel h2,.client-head h2{font-size:22px;margin:6px 0 4px;color:var(--ink)}
.hero-panel p,.client-head p{margin:0;color:var(--muted);max-width:760px}
.hero-panel>div:first-child,.client-head>div:first-child{flex:1 1 360px;min-width:0}
.section-intro{margin-bottom:18px}
.section-intro h2{margin:0 0 6px}
.section-intro p{margin:0;color:var(--muted)}

.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:20px}
.stats-grid.small{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.stat-card,.metric-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:16px 18px;min-height:96px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;box-shadow:var(--shadow-sm);color:inherit;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.stat-card span,.metric-card small{color:var(--muted);font-size:12.5px;font-weight:400}
.stat-card strong,.metric-card strong{font-size:28px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.2}
.stat-card strong.small-value,.metric-card strong{font-size:15px;font-weight:500;overflow-wrap:anywhere}
.stat-card.danger{border-color:#F0CFC9;background:#FFFBFA}.stat-card.danger strong{color:var(--danger)}
a.stat-card:hover,.stat-card[href]:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#D9CFB8}
.metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:12px 0}
.metric-card{min-height:auto;padding:12px 14px}
.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.info-grid>div{background:var(--surface-2);border:1px solid var(--line-2);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}
.info-grid span{color:var(--muted);font-size:11.5px}
.info-grid strong{font-weight:500;overflow-wrap:anywhere}
.two-col{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}
.two-col>.panel{margin-bottom:0}
.two-col+.panel,.two-col+.two-col,.two-col+section{margin-top:20px}
.span-2,.full{grid-column:1/-1}

/* Lists */
.task-list{display:flex;flex-direction:column}
.task-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line-2);color:inherit;transition:background .2s}
a.task-row:hover{background:var(--surface-2);border-radius:12px}
.task-row:last-child{border-bottom:0}
.task-row p{margin:3px 0 0;color:var(--muted);font-size:12.5px;font-weight:300}
.task-row strong{font-weight:500}
.task-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:end}
.task-meta small{color:var(--muted)}
.action-stack{display:grid;gap:9px}
.action-stack a{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:12px;background:var(--surface-2);border:1px solid var(--line-2);padding:10px;border-radius:14px;transition:background .2s,transform .2s var(--ease)}
.action-stack a:hover{background:#fff;transform:translateX(-3px)}
.action-stack b{display:grid;place-items:center;background:var(--navy);color:#fff;border-radius:11px;height:40px;font-variant-numeric:tabular-nums}
.quick-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.document-list{display:flex;flex-direction:column;gap:8px}
.document-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border:1px solid var(--line-2);border-radius:13px;background:#fff;transition:border-color .2s,box-shadow .2s}
.document-row:hover{border-color:#D9CFB8;box-shadow:var(--shadow-sm)}
.document-row>div:first-child{min-width:0}
.document-row strong{display:block;overflow-wrap:anywhere;font-weight:500}
.document-row small,.document-row p{color:var(--muted);margin:0;font-size:12px}
.document-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.65fr);gap:20px}
.version-list{display:flex;flex-direction:column;gap:8px}
.version-row{display:flex;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid var(--line-2)}
.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:12px 0 18px}
.compact-folders{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.folder-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);border-radius:15px;background:#fff;box-shadow:var(--shadow-sm);transition:border-color .2s,transform .25s var(--ease),box-shadow .25s}
.folder-card:hover{border-color:#D3C7AC;transform:translateY(-2px);box-shadow:var(--shadow)}
.folder-card strong{color:var(--ink);font-weight:500;overflow-wrap:anywhere}
.folder-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:none;background:var(--beige-soft);color:#7A6638;font-size:0}
.folder-icon::before{content:"";width:20px;height:20px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z'/%3E%3C/svg%3E") center/contain no-repeat}
.folder-card-copy{min-width:0;flex:1}
.folder-card-copy strong{display:block}
.folder-card-copy small{display:block;color:var(--muted);margin-top:3px}
.module-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow-sm);line-height:1.8;transition:border-color .2s,transform .25s var(--ease),box-shadow .25s}
.module-card:hover{border-color:#D3C7AC;transform:translateY(-2px);box-shadow:var(--shadow)}
.module-card-icon,.module-inline-icon{width:48px;height:48px;flex:0 0 48px;border-radius:14px;display:grid;place-items:center;background:var(--beige-soft);color:var(--navy);font-size:22px}
.module-inline-icon{display:inline-grid;width:38px;height:38px;font-size:18px;vertical-align:middle}
.module-card-copy{min-width:0;flex:1}
.module-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.module-card-top strong{font-size:16.5px;color:var(--ink)}
.module-card-copy p{color:var(--muted);margin:6px 0 8px}
.module-card-copy small{color:var(--gold-ink);font-weight:500}
.custom-module-grid,.settings-grid,.integrations-grid,.docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:20px}
.integration-card{align-items:center}.integration-card form{margin-top:10px}
.roadmap-panel{text-align:center;padding:50px 24px}
.roadmap-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--beige-soft);color:var(--navy);font-size:26px;margin:0 auto 10px}
.roadmap-panel p{max-width:720px;margin:0 auto 20px;color:var(--muted);line-height:1.9}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.chips span{background:var(--surface-2);border:1px solid var(--border);padding:5px 11px;border-radius:999px;font-size:12px;color:#59636d}
.assignee-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.assignee-card{border:1px solid var(--line-2);border-radius:13px;padding:12px;background:var(--surface-2)}
.assignee-card strong{display:block;color:var(--ink)}.assignee-card small{display:block;color:var(--muted);margin-top:3px}
.message-thread{display:flex;flex-direction:column;gap:10px;margin-top:18px;max-height:520px;overflow:auto;padding:4px}
.message-bubble{max-width:80%;border:1px solid var(--line-2);border-radius:14px;padding:10px 12px;background:var(--surface-2)}
.message-bubble.out{align-self:flex-start;background:#EEF3F7}.message-bubble.in{align-self:flex-end;background:var(--beige-soft)}
.message-bubble p{margin:0 0 4px}.message-bubble small{color:var(--muted)}
.trash-label{display:inline-flex;padding:3px 9px;border-radius:999px;background:var(--danger-bg);color:var(--danger);font-size:11px}
.approved-theme-thumb{width:180px;max-width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px}
.task-row:has(.approved-theme-thumb){flex-wrap:wrap;align-items:center}

/* Tables */
table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}
th,td{text-align:start;padding:12px 16px;border-bottom:1px solid var(--line-2);vertical-align:middle}
th{background:var(--surface-2);color:var(--muted);font-size:11.5px;font-weight:500;position:sticky;top:0;z-index:1;white-space:nowrap}
td{font-size:13px}
tbody tr{transition:background .15s}
tbody tr:hover{background:#FCFBF8}
tbody tr:last-child td{border-bottom:0}
.table-wrap{overflow-x:auto}
.custom-record-table table{min-width:760px}

/* Forms */
input,select,textarea{width:100%;min-height:44px;border:1px solid #DCD6C8;border-radius:12px;padding:10px 13px;background:#fff;color:var(--text);font-size:13.5px;font-weight:350;transition:border-color .2s,box-shadow .2s,background .2s}
input::placeholder,textarea::placeholder{color:#9AA4AF}
input:hover,select:hover,textarea:hover{border-color:#CBC2AE}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--beige);box-shadow:0 0 0 4px color-mix(in srgb,var(--beige) 20%,transparent)}
textarea{min-height:104px;resize:vertical;line-height:1.7}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235F6B78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 12px center;background-size:16px;padding-inline-end:13px;padding-inline-start:13px;padding-left:36px}
select[multiple]{background-image:none;padding:8px;min-height:120px}
input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--navy);cursor:pointer;flex:none}
input[type=file]{padding:8px;background:var(--surface-2);border-style:dashed;cursor:pointer}
input[type=file]::file-selector-button{font:inherit;border:0;border-radius:9px;background:var(--navy);color:#fff;padding:7px 13px;margin-inline-end:10px;cursor:pointer}
input[type=color]{padding:4px;height:44px;cursor:pointer}
input[type=range]{padding:0;border:0;min-height:30px;accent-color:var(--navy);background:transparent;box-shadow:none}
input[type=datetime-local],input[type=date],input[type=time],input[type=number],input[type=email],input[type=tel],input[type=url]{direction:rtl;text-align:right}
label{display:flex;flex-direction:column;gap:7px;font-size:12.5px;font-weight:500;color:#34465A}
label small{font-weight:300;color:var(--muted)}
.check-label,.check-row{display:flex!important;flex-direction:row!important;align-items:center;gap:9px;font-weight:400;font-size:13px;cursor:pointer}
.check-label input,.check-row input{width:18px!important;height:18px;min-height:0!important}
.form-stack{display:grid;gap:14px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.form-actions{grid-column:1/-1;display:flex;justify-content:flex-start;align-items:center;gap:9px;padding-top:6px;flex-wrap:wrap}
.form-section-title{grid-column:1/-1;font-size:13px;font-weight:600;color:var(--gold-ink);padding-top:8px;border-top:1px dashed var(--line-2);margin-top:4px}
.mini-form{display:grid;gap:8px;min-width:220px;margin-top:8px}
.compact-form{margin:14px 0 0}
.inline-decision{display:flex;gap:6px;align-items:center;min-width:300px;flex-wrap:wrap}
.inline-decision select,.inline-decision input{min-height:36px;padding:6px 10px}
.inline-decision .btn{min-height:36px}
.search-form{display:flex;gap:8px;min-width:min(520px,70%)}
.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:16px;flex-wrap:wrap}
.filter-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.filter-row label{min-width:150px;flex:1}
.input-with-suffix{display:flex;align-items:center;gap:8px}
.role-box{border:1px solid var(--border);border-radius:14px;padding:14px;margin:0}
.role-box legend{padding:0 8px;color:var(--ink);font-weight:600}
.role-options{display:flex;gap:14px;flex-wrap:wrap}
.multi-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--line-2);border-radius:14px;padding:12px}
.multi-check-grid .check-label{background:var(--surface-2);border-radius:10px;padding:9px}
.custom-boolean{align-self:end;min-height:44px;padding:10px 12px;border:1px solid var(--line-2);border-radius:12px;background:var(--surface-2)}
.custom-create-fields,.custom-fields-panel{border-top:1px dashed var(--line-2);padding-top:16px;margin-top:12px}
.manual-validity-note{font-size:12px;color:var(--muted)}
details{border-radius:12px}
details>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--navy);padding:6px 0;user-select:none}
details>summary::-webkit-details-marker{display:none}
details>summary::before{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .3s var(--ease)}
details[open]>summary::before{transform:rotate(-90deg)}
details[open]>:not(summary){animation:rise .35s var(--ease) both}
.details-box{margin-top:16px;border-top:1px solid var(--line-2);padding-top:12px}

/* Tabs / segmented */
.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--border);margin-bottom:18px;scrollbar-width:none}
.tabs>*{white-space:nowrap;padding:12px 12px;color:var(--muted);font-size:13px;border-bottom:2px solid transparent;cursor:pointer;background:none;border-top:0;border-inline:0;font-weight:400;transition:color .2s,border-color .3s;display:inline-flex;align-items:center;gap:6px}
.tabs>*:hover{color:var(--ink)}
.tabs .active,.tabs [aria-selected=true]{color:var(--ink);font-weight:600;border-bottom-color:var(--beige)}
.tabs .count{font-size:11px;padding:0 7px;border-radius:10px;background:var(--surface-3);color:#6B5830;font-weight:500}
.tabs .active .count{background:var(--navy);color:#fff}
.segmented{position:relative;display:inline-flex;border:1px solid var(--border);background:#fff;border-radius:12px;padding:4px;gap:2px}
.segmented a,.segmented button{position:relative;z-index:1;padding:7px 14px;border-radius:9px;color:#34465A;font-size:13px;background:none;border:0;cursor:pointer;transition:color .25s,background .25s;white-space:nowrap}
.segmented a.active,.segmented button.active,.segmented [aria-selected=true]{background:var(--navy);color:#fff;font-weight:500}
.category-filter{justify-content:flex-start;margin-bottom:18px}
.chip-filter{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px;border-radius:10px;font-size:12.5px;cursor:pointer;background:#fff;color:#34465A;border:1px solid var(--border);transition:all .2s}
.chip-filter:hover{border-color:#CFC6B2}
.chip-filter.on{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:500}
.chip-filter .n{font-size:11px;padding:0 6px;border-radius:8px;background:var(--surface-3);color:#6B5830}
.chip-filter.on .n{background:rgba(255,255,255,.18);color:#fff}

/* Alerts & empty */
.alert{display:flex;gap:10px;align-items:flex-start;border-radius:14px;padding:12px 14px;margin:12px 0;font-size:13px;border:1px solid transparent;animation:rise .4s var(--ease) both}
.alert::before{content:"";width:18px;height:18px;flex:none;margin-top:1px;background:currentColor;-webkit-mask:var(--alert-icon) center/contain no-repeat;mask:var(--alert-icon) center/contain no-repeat}
.alert{--alert-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");background:var(--info-bg);color:#123F6A}
.alert.error{background:var(--danger-bg);border-color:#F0C9C3;color:#8E1C14;--alert-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E")}
.alert.success{background:var(--success-bg);border-color:#C6E3D2;color:#185F40;--alert-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E")}
.alert.notice{background:var(--warn-bg);border-color:#EED9B0;color:#5A3A00}
.empty{text-align:center;color:var(--muted);padding:28px 16px;font-size:13px;font-weight:300}
.empty.large{padding:60px 20px}
.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;text-align:center;color:var(--muted)}
.empty-state .ico{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);color:var(--gold-ink);margin-bottom:4px}
.empty-state b{color:var(--ink);font-weight:500;font-size:14.5px}

/* Permissions & admin config (legacy) */
.permission-group{border-top:1px solid var(--line-2);padding-top:14px;margin-top:14px}
.permission-group h4{margin:0 0 10px}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.permission-item{border:1px solid var(--line-2);border-radius:12px;padding:10px 12px;background:var(--surface-2);align-items:flex-start}
.permission-item span{font-weight:500}
.permission-item small{display:block;color:var(--muted)}
.permission-override-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line-2)}
.permission-override-row div{display:flex;flex-direction:column;gap:3px}
.permission-override-row small{color:var(--muted)}
.admin-config{padding:0;overflow:hidden}
.config-summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:18px 22px;background:var(--surface-2);color:var(--ink)}
.config-summary span{color:var(--gold-ink);font-size:12px}
.config-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px;padding:20px}
.field-admin-list{border-inline-start:1px solid var(--line-2);padding-inline-start:18px}
.field-admin-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2)}
.field-admin-row div{display:flex;flex-direction:column;gap:3px}
.field-admin-row small{color:var(--muted)}
.clone-form{margin-top:18px}
.entitlements-layout{display:flex;flex-direction:column;gap:20px}
.entitlements-layout>section:nth-child(2){order:-1}
.request-section{display:block}
.approval-row{align-items:flex-start}.approval-row details{min-width:240px}.approval-row textarea{min-height:80px}
.metric-bars{display:grid;gap:8px}
.metric-line{display:flex;justify-content:space-between;gap:16px;padding:10px 14px;border:1px solid var(--line-2);border-radius:12px;background:#fff}

/* Dashboard widgets (owner-approved 16 indicators) */
.dashboard-widget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:4px 0 22px}
.widget-chart{display:grid;gap:12px}
.widget-chart>div>span{font-size:12.5px;color:#34465A}
.widget-bar{height:8px;background:var(--navy);border-radius:6px;min-width:4px;margin-top:6px;transform-origin:right;animation:growx .9s var(--ease) both}

/* =====================================================================
   v4 experience components
   ===================================================================== */
.greeting{position:relative;overflow:hidden;border-radius:var(--r-xl);background:var(--ink);color:#FAF7F0;padding:26px 30px;display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end;justify-content:space-between;min-height:168px;margin-bottom:22px;isolation:isolate}
.greeting .bg{max-width:none;position:absolute;inset:-14px;width:calc(100% + 28px);height:calc(100% + 28px);object-fit:cover;opacity:.17;mix-blend-mode:luminosity;z-index:-1;animation:float 8s ease-in-out infinite}
.greeting .date{font-size:12.5px;color:var(--gold-light);font-weight:300}
.greeting h2{color:#FAF7F0;font-size:28px;margin:6px 0}
.greeting p{color:#C9D3DE;font-weight:300;margin:0;line-height:1.85}
.greeting-chips{display:flex;flex-wrap:wrap;gap:10px}
.g-chip{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#FAF7F0;font-size:13px;font-weight:300;transition:background .2s,transform .25s var(--ease)}
.g-chip:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}
.g-chip b{font-size:16px;font-weight:600}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px;margin-bottom:22px}
.kpi{position:relative;display:flex;flex-direction:column;gap:10px;padding:17px 18px;background:#fff;border:1px solid var(--border);border-radius:18px;color:inherit;transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
a.kpi:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(11,42,74,.1);border-color:#D9CFB8}
.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.kpi-label{display:flex;align-items:center;gap:9px;font-size:13px;color:#4A5868}
.kpi-label .ico{width:34px;height:34px;border-radius:10px;background:var(--surface-3);color:var(--gold-ink);display:grid;place-items:center}
.kpi-value{display:flex;align-items:baseline;gap:8px}
.kpi-value b{font-size:32px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.15}
.kpi-value small{color:var(--muted)}
.kpi-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;border-top:1px dashed var(--border);padding-top:9px;color:var(--muted)}
.kpi-foot .up{color:var(--success);font-weight:500}.kpi-foot .down{color:var(--danger);font-weight:500}
.kpi .more{position:absolute;bottom:12px;inset-inline-end:16px;font-size:11.5px;color:var(--navy);opacity:0;transform:translateX(6px);transition:opacity .25s,transform .25s}
a.kpi:hover .more{opacity:1;transform:none}
.kpi .spark{width:76px;height:28px;flex:none}
.kpi .spark polyline{fill:none;stroke:var(--beige);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:200;stroke-dashoffset:200;animation:draw-line 1.2s var(--ease) .3s forwards}
.kpi .spark .area{fill:color-mix(in srgb,var(--beige) 14%,transparent);stroke:none}
.kpi-chart{display:flex;flex-direction:column;gap:8px}
.kpi-chart .row{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#34465A}
.kpi-chart .track{height:6px;border-radius:6px;background:var(--surface-3);overflow:hidden}
.kpi-chart .fill{height:100%;border-radius:6px;background:var(--navy);transform-origin:right;animation:growx .9s var(--ease) both}
.kpi table{min-width:0;font-size:12px}.kpi td,.kpi th{padding:6px 8px}
.skel{display:block;background:linear-gradient(90deg,#EFEBE2 25%,#F8F6F1 50%,#EFEBE2 75%);background-size:200% 100%;animation:shimmer 1.1s linear infinite;border-radius:8px}
.layout-main{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start}
.layout-main>.col-main{flex:2 1 560px;min-width:0;display:flex;flex-direction:column;gap:22px}
.layout-main>.col-side{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:22px}
.layout-main .panel{margin-bottom:0}
.agenda-row{border-radius:14px;margin:0 -10px 2px;transition:background .3s}
.agenda-row.live{background:#F3F9F5;box-shadow:inset 0 0 0 1px #CFE7D9}
.agenda-btn{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:flex;align-items:center;gap:14px;padding:12px 10px;border-radius:14px}
.agenda-btn:hover{background:rgba(0,0,0,.02)}
.agenda-time{width:62px;flex:none;text-align:center}
.agenda-time b{display:block;font-size:15.5px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.agenda-time small{color:var(--muted);font-size:11px}
.agenda-bar{width:4px;align-self:stretch;border-radius:4px;flex:none;background:var(--navy)}
.agenda-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.agenda-body b{font-size:14px;font-weight:500}
.agenda-body small{color:var(--muted);font-weight:300;font-size:12.5px}
.agenda-detail{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .4s var(--ease),opacity .3s}
.agenda-row.open .agenda-detail{grid-template-rows:1fr;opacity:1}
.agenda-detail>div{overflow:hidden}
.agenda-detail .inner{margin:0 76px 12px 10px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--line-2);display:flex;flex-direction:column;gap:10px;font-size:13px}
.agenda-row .chev{transition:transform .35s var(--ease);color:#8A96A3}
.agenda-row.open .chev{transform:rotate(180deg)}
.live-pulse{animation:livepulse 1.6s ease-in-out infinite}
.funnel-row{display:flex;flex-direction:column;gap:6px;color:inherit}
.funnel-row .lbl{display:flex;justify-content:space-between;font-size:13px}
.track{height:8px;border-radius:6px;background:var(--surface-3);overflow:hidden}
.track>i{display:block;height:100%;border-radius:6px;background:var(--navy);transform-origin:right;animation:growx .9s var(--ease) both}
.bars{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;height:150px;border-bottom:1px solid var(--border);padding:0 4px}
.bars .col{position:relative;flex:1;display:flex;align-items:flex-end;justify-content:center;gap:4px;height:100%}
.bars .b{width:14px;border-radius:5px 5px 0 0;background:var(--navy);transform-origin:bottom;animation:grow .9s var(--ease) both;transition:height .5s var(--ease),opacity .3s}
.bars .b.alt{background:#C9B27E}
.bars .tip{position:absolute;bottom:calc(100% - 20px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--ink);color:#fff;font-size:11.5px;padding:6px 10px;border-radius:9px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:2}
.bars .col:hover .tip{opacity:1;transform:translate(-50%,-4px)}
.bars:hover .col:not(:hover) .b{opacity:.45}
.bar-labels{display:flex;justify-content:space-between;gap:10px;padding:8px 4px 0}
.bar-labels span{flex:1;text-align:center;font-size:11.5px;color:var(--muted)}
.legend-btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:9px;font-size:12px;cursor:pointer;background:var(--bg);border:1px solid #E0DACC;transition:all .2s}
.legend-btn.off{background:#fff;border-style:dashed;color:#9AA4AF;text-decoration:line-through}
.legend-btn i{width:10px;height:10px;border-radius:3px;background:var(--navy)}
.collapse-item{display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows .45s var(--ease),opacity .3s,transform .4s var(--ease)}
.collapse-item.gone{grid-template-rows:0fr;opacity:0;transform:translateX(-30px) scale(.98)}
.collapse-item>div{overflow:hidden}
.approval-card{border:1px solid var(--line-2);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:11px;background:var(--surface-2);margin-bottom:12px}
.approval-card .head{display:flex;gap:10px;align-items:flex-start}
.approval-card .kind{font-size:11.5px;color:var(--gold-ink);font-weight:500}
.approval-card b{font-size:13.5px;font-weight:500;line-height:1.6}
.approval-card small{color:var(--muted);font-weight:300}
.feed-row{display:flex;gap:11px;padding:9px 0;font-size:13px;line-height:1.65}
.feed-row small{display:block;color:var(--muted);font-size:11.5px}

/* Timeline */
.timeline{list-style:none;margin:0;padding:0}
.timeline>li{display:flex;gap:14px}
.tl-rail{display:flex;flex-direction:column;align-items:center;flex:none}
.tl-dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center}
.tl-line{width:2px;flex:1;background:var(--line-2);min-height:16px}
.timeline>li:last-child .tl-line{background:linear-gradient(var(--line-2),transparent)}
.tl-body{padding-bottom:20px;display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.tl-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.tl-head b{font-size:14px;font-weight:500}
.tl-head small{color:var(--muted);font-weight:300}
.tl-body p{margin:0;font-size:13px;color:#34465A;line-height:1.85;font-weight:300}
.tl-file{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);font-size:12px;color:#34465A}
.newitem{animation:newitem 1.8s var(--ease) both;border-radius:12px}
.mention{color:var(--navy);font-weight:500;background:var(--info-bg);padding:0 4px;border-radius:5px}

/* Stepper */
.stepper{list-style:none;margin:0;padding:0;display:flex;align-items:flex-start;overflow-x:auto}
.stepper li{flex:1 0 104px;display:flex;flex-direction:column;align-items:center;gap:7px;position:relative}
.stepper .track-line{position:absolute;top:16px;right:calc(-50% + 17px);left:calc(50% + 17px);height:2px;background:#E0DBCF;overflow:hidden}
.stepper li:first-child .track-line{display:none}
.stepper .track-line i{position:absolute;inset:0;background:var(--navy);transform-origin:right;transform:scaleX(0);transition:transform .6s var(--ease)}
.stepper li.done .track-line i,.stepper li.now .track-line i{transform:scaleX(1)}
.stepper .step-dot{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:600;background:#fff;color:#8A96A3;border:2px solid #E0DBCF;transition:all .4s}
.stepper li.done .step-dot{background:var(--navy);border-color:var(--navy);color:#fff}
.stepper li.now .step-dot{background:var(--beige);border-color:var(--beige);color:#1E1608;animation:stepglow 2s ease-in-out infinite}
.stepper .step-label{font-size:12.5px;text-align:center;color:#8A96A3;font-weight:300}
.stepper li.done .step-label{color:#34465A;font-weight:400}
.stepper li.now .step-label{color:var(--ink);font-weight:600}
.stepper small{font-size:11px;color:var(--muted)}
.stepper button.step-dot{cursor:pointer}

/* Checklist & progress */
.progress{height:6px;border-radius:6px;background:var(--surface-3);overflow:hidden}
.progress>i{display:block;height:100%;border-radius:6px;background:var(--beige);transition:width .5s var(--ease),background .3s}
.progress.done>i{background:var(--success)}
.checklist{display:flex;flex-direction:column;gap:4px}
.check-item{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;font-size:13px;transition:background .2s}
.check-item:hover{background:var(--surface-2)}
.check-item label{all:unset;flex:1;display:flex;align-items:center;gap:10px;cursor:pointer}
.check-item.done .txt{color:#8A96A3;text-decoration:line-through}
.check-item .rm{opacity:0;transition:opacity .2s}
.check-item:hover .rm{opacity:1}
.check-add{display:flex;gap:8px;margin-top:4px}
.check-add input{min-height:38px}

/* Kanban */
.board-scroll{overflow-x:auto;padding:4px 4px 12px;margin:0 -4px}
.board{display:flex;gap:14px;align-items:flex-start;min-width:max-content}
.board-col{width:290px;flex:none;border-radius:18px;padding:12px;background:#EFECE4;transition:background .25s,box-shadow .25s}
.board-col.over{background:#E9E2D0;box-shadow:inset 0 0 0 2px var(--beige)}
.board-col.deny{background:#F6E3E0;box-shadow:inset 0 0 0 2px #E7A39B}
.board-col header{display:flex;flex-direction:column;gap:3px;padding:4px 4px 10px}
.board-col header .t{display:flex;align-items:center;justify-content:space-between}
.board-col header b{font-size:14px;color:var(--ink);display:flex;align-items:center;gap:8px}
.board-col header .n{font-size:12px;font-weight:600;background:#fff;border:1px solid var(--border);border-radius:20px;padding:0 9px}
.board-col header small{font-size:11.5px;color:var(--muted);font-weight:300}
.board-cards{display:flex;flex-direction:column;gap:10px;min-height:100px}
.kcard{background:#fff;border:1px solid var(--border);border-radius:15px;padding:13px 14px;display:flex;flex-direction:column;gap:8px;cursor:grab;transition:transform .25s var(--ease),box-shadow .25s,opacity .2s,border-color .2s;outline:none}
.kcard:hover,.kcard:focus-visible{transform:translateY(-3px);box-shadow:0 16px 32px rgba(11,42,74,.12);border-color:#D9CFB8}
.kcard.dragging{opacity:.35;transform:rotate(-2deg) scale(.98)}
.kcard.land{animation:land .7s var(--ease)}
.kcard .code{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.kcard b{font-size:14px;font-weight:500;line-height:1.5}
.kcard .tags{display:flex;flex-wrap:wrap;gap:5px}
.kcard .tags span{font-size:11px;padding:2px 8px;border-radius:6px;background:var(--info-bg);color:var(--navy)}
.kcard .tags span:nth-child(2){background:var(--beige-soft);color:#6B5830}
.kcard .tags span:nth-child(3){background:#EEF1F4;color:#3E4C5A}
.kcard .note{font-size:12px;color:#34465A;background:var(--surface-2);border-radius:9px;padding:7px 10px;line-height:1.6;font-weight:300}
.kcard .foot{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--muted)}
.kcard .sla{height:4px;border-radius:4px;background:var(--surface-3);overflow:hidden}
.kcard .sla i{display:block;height:100%;border-radius:4px;background:var(--success);transition:width .6s var(--ease)}
.kcard .sla.warn i{background:#E3A43A}.kcard .sla.late i{background:#D9483B}
.drop-hint{border:1.5px dashed #D6CFBF;border-radius:14px;padding:22px 10px;text-align:center;font-size:12.5px;color:#8A96A3}

/* Calendar */
.cal{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.cal-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line-2)}
.cal-legend{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px;border-bottom:1px solid var(--line-2)}
.cal-grid{min-width:680px}
.cal-head{display:flex;border-bottom:1px solid var(--line-2)}
.cal-gutter{width:62px;flex:none}
.cal-dayhead{all:unset;cursor:pointer;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-inline-start:1px solid #F0ECE3;transition:background .2s}
.cal-dayhead:hover{background:#F8F5ED}
.cal-dayhead.today{background:#F7F3E8}
.cal-dayhead .dn{font-size:12px;color:var(--muted)}
.cal-dayhead .num{font-size:17px;font-weight:600;color:var(--ink);height:34px;display:grid;place-items:center}
.cal-dayhead.today .num{width:34px;border-radius:50%;background:var(--navy);color:#fff;font-size:15px}
.cal-dayhead .hj{font-size:10.5px;color:#8A96A3;font-weight:300}
.cal-allday{margin-top:4px;max-width:100%;font-size:10.5px;font-weight:500;padding:3px 8px;border-radius:7px;background:var(--danger-bg);color:#7E1A13;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-body{display:flex}
.cal-hours div{height:60px;font-size:10.5px;color:#8A96A3;text-align:center;transform:translateY(-7px)}
.cal-col{flex:1;min-width:0;position:relative;border-inline-start:1px solid #F0ECE3;background:repeating-linear-gradient(to bottom,#F0ECE3 0,#F0ECE3 1px,transparent 1px,transparent 60px)}
.cal-col.today{background-color:#FBF9F3}
.cal-now{position:absolute;inset-inline:0;height:2px;background:#D9483B;z-index:4}
.cal-now::before{content:"";position:absolute;right:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#D9483B;animation:nowpulse 1.6s ease-in-out infinite}
.cal-ev{all:unset;position:absolute;box-sizing:border-box;padding:6px 9px;border-radius:11px;cursor:pointer;text-align:start;display:flex;flex-direction:column;gap:1px;overflow:hidden;z-index:2;border-inline-start:3px solid var(--navy);background:var(--info-bg);color:#0B2A4A;font-size:12px;animation:pop-in .45s var(--ease) backwards;transition:transform .2s,box-shadow .2s,opacity .3s}
.cal-ev:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(11,42,74,.18);z-index:3}
.cal-ev small{font-size:10.5px;opacity:.85;font-weight:300}
.cal-ev b{font-weight:500;line-height:1.35}
.cal-ev.conflict{outline:2px dashed #E3A43A;outline-offset:1px}
.cal-ev.sel{box-shadow:0 10px 24px rgba(11,42,74,.25);filter:saturate(1.2)}
.ev-hearing{--c:#0B3A66;background:#E8F0F8;color:#0B2A4A;border-color:#0B3A66}
.ev-remote{--c:#1C5A94;background:#EAF2FB;color:#123F6A;border-color:#1C5A94}
.ev-consult{--c:#B39A64;background:#F7F1E3;color:#4F3F1C;border-color:#B39A64}
.ev-meeting{--c:#6B7A89;background:#EFF2F5;color:#2F3B48;border-color:#6B7A89}
.ev-deadline{--c:#C2412D;background:#FBE9E7;color:#7E1A13;border-color:#C2412D}
.ev-task{--c:#8A5200;background:#FBF1DE;color:#5A3A00;border-color:#E3A43A}
.ev-swatch{width:10px;height:10px;border-radius:3px;background:var(--c,var(--navy))}

/* Task list v4 */
.tgroup{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;margin-bottom:14px}
.tgroup header{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid #F0ECE3}
.tgroup header b{font-size:14px;color:var(--ink)}
.trow{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid #F5F2EB;cursor:pointer;transition:background .25s,box-shadow .25s}
.trow:hover{background:var(--surface-2)}
.trow.sel{background:#F7F3E8;box-shadow:inset -3px 0 0 var(--beige)}
.trow .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.trow .t b{font-size:13.5px;font-weight:500;transition:color .3s}
.trow .meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:11.5px;color:var(--muted);font-weight:300}
.trow .meta .lnk{background:var(--surface-3);color:#6B5830;padding:1px 8px;border-radius:6px;font-weight:400}
.trow .due{font-size:12px;white-space:nowrap;min-width:84px;text-align:end;color:#4A5868;font-weight:300}
.trow .due.late{color:var(--danger);font-weight:500}
.trow.completing .t b{color:#8A96A3;text-decoration:line-through}
.circ{width:24px;height:24px;border-radius:50%;flex:none;cursor:pointer;padding:0;display:grid;place-items:center;background:#fff;border:2px solid #CFC8B8;transition:border-color .2s,background .25s,transform .15s}
.circ:hover{border-color:var(--success);transform:scale(1.08)}
.circ.late{border-color:#D9483B}
.circ svg{opacity:0;width:14px;height:14px;stroke:#fff;stroke-width:3}
.circ.on{background:var(--success);border-color:var(--success)}
.circ.on svg{opacity:1}
.circ.on svg path{stroke-dasharray:24;stroke-dashoffset:24;animation:draw-line .35s ease forwards}
.side-panel{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);display:flex;flex-direction:column;overflow:hidden;position:sticky;top:calc(var(--topbar-h) + 16px)}
.side-panel>section{padding:16px 22px;border-bottom:1px solid #F0ECE3}
.side-panel>section:last-child{border-bottom:0}
.comment{display:flex;gap:10px}
.comment .bubble{flex:1;background:var(--surface-2);border-radius:13px;padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.comment .bubble small{color:var(--muted)}
.comment .bubble p{margin:0;font-size:13px;line-height:1.7;font-weight:300;white-space:pre-wrap}
.composer{display:flex;gap:8px;align-items:flex-end;position:relative}
.composer textarea{min-height:44px;height:44px;resize:none;padding-top:11px}
.mention-menu{position:absolute;bottom:calc(100% + 6px);inset-inline-start:0;width:280px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;z-index:50}
.mention-menu button{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;cursor:pointer;font-size:13px}
.mention-menu button.on,.mention-menu button:hover{background:#EEF3F9}

/* Client 360 / case header */
.entity-head{background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;margin-bottom:20px;box-shadow:var(--shadow-sm)}
.entity-main{padding:22px 26px;display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.entity-mark{width:72px;height:72px;border-radius:22px;background:var(--ink);color:var(--gold-light);display:grid;place-items:center;font-size:28px;font-weight:600;flex:none}
.entity-title{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:8px}
.entity-title h2{margin:0;font-size:23px}
.entity-title .row{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:#4A5868;font-weight:300;align-items:center}
.entity-title .row span{display:inline-flex;align-items:center;gap:6px}
.entity-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border-top:1px solid var(--line-2);background:var(--surface-2)}
.entity-stats>div{padding:13px 22px;display:flex;flex-direction:column;gap:2px;border-inline-start:1px solid var(--line-2)}
.entity-stats small{color:var(--muted);font-weight:300}
.entity-stats b{font-size:17px;color:var(--ink);font-variant-numeric:tabular-nums}
.entity-head .tabs{margin:0;padding:0 18px;border-top:1px solid var(--line-2);border-bottom:0}
.masked{display:inline-flex;align-items:center;gap:6px}
.masked .val{direction:ltr;unicode-bidi:isolate}
.masked .val.revealed{animation:reveal .5s ease both}
.reveal-btn{all:unset;cursor:pointer;display:inline-flex;color:#7A8794;padding:2px;border-radius:6px}
.reveal-btn:hover{color:var(--navy)}
.star-btn{color:#B9B2A0}.star-btn.on{color:var(--beige)}.star-btn.on .i{fill:var(--beige)}
.next-hearing{background:var(--ink);color:#FAF7F0;border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;gap:14px}
.next-hearing .date-tile{width:70px;height:74px;border-radius:15px;background:#FAF7F0;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none}
.next-hearing .date-tile small{font-size:11.5px;font-weight:500;color:var(--gold-ink)}
.next-hearing .date-tile b{font-size:28px;line-height:1}
.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;text-align:center}
.countdown>div{background:rgba(255,255,255,.07);border-radius:11px;padding:8px 0}
.countdown b{display:block;font-size:19px;font-variant-numeric:tabular-nums}
.countdown small{font-size:10.5px;color:#C9D3DE}
.sync-ok{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#A9DCC1;background:rgba(110,200,150,.14);padding:3px 9px;border-radius:20px}
.sync-bad{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#F4A39A;background:rgba(240,122,110,.16);padding:3px 9px;border-radius:20px}

/* Toggle switch */
.switch{appearance:none;-webkit-appearance:none;width:40px!important;height:22px!important;min-height:0!important;border-radius:22px;background:#D8D2C4;position:relative;cursor:pointer;margin:0;transition:background .25s;border:0;padding:0;flex:none}
.switch::after{content:"";position:absolute;top:3px;right:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:right .3s var(--ease);box-shadow:0 1px 3px rgba(0,0,0,.25)}
.switch:checked{background:var(--navy)}.switch:checked::after{right:21px}
.switch:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--beige) 25%,transparent)}
.pref-grid{display:grid;grid-template-columns:minmax(0,1fr) repeat(3,64px);gap:2px 6px;align-items:center;font-size:12.5px}
.pref-grid .h{font-size:10.5px;color:var(--muted);text-align:center;line-height:1.4}
.pref-grid>span{padding:9px 0;border-top:1px solid #F3F0E8}
.pref-grid>span.c{display:flex;justify-content:center}

/* =====================================================================
   Auth pages
   ===================================================================== */
.auth-page{min-height:100vh;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:40px;padding:40px 24px;background:var(--bg);position:relative;overflow-x:hidden}
.auth-page:not(.auth-themed){background:radial-gradient(1200px 600px at 85% 10%,color-mix(in srgb,var(--beige) 16%,transparent),transparent 60%),radial-gradient(900px 500px at 10% 90%,color-mix(in srgb,var(--navy) 10%,transparent),transparent 60%),var(--bg)}
.auth-card{position:relative;z-index:2;width:min(440px,100%);background:rgba(255,255,255,.97);border:1px solid var(--border);border-radius:28px;padding:34px 36px 28px;box-shadow:0 40px 90px rgba(3,14,28,.18);animation:card-in .8s var(--ease) .1s backwards}
.wide-auth{width:min(560px,100%)}
.auth-logo{display:block;width:auto;height:96px;max-width:100%;margin:0 auto 10px}
.auth-kicker{text-align:center;color:var(--gold-ink);font-weight:500;margin:0;font-size:12.5px}
.auth-card h1{text-align:center;color:var(--ink);margin:4px 0 2px;font-size:25px}
.auth-card .muted{text-align:center;font-size:13px;margin-bottom:6px}
.auth-card .btn{width:100%;min-height:50px;font-size:15px}
.auth-card label{font-size:13px}
.auth-field{display:flex;align-items:center;gap:10px;height:50px;padding:0 14px;border:1px solid #DCD6C8;border-radius:13px;background:#FCFBF8;transition:box-shadow .25s,border-color .25s,background .25s}
.auth-field:focus-within{border-color:var(--beige);background:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--beige) 18%,transparent)}
.auth-field input{all:unset;flex:1;font-size:14.5px;font-weight:300;min-width:0}
.auth-field .i{color:#7A8794}
.auth-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;flex-wrap:wrap}
.auth-row a{color:var(--navy);font-weight:500}
.auth-secure{display:flex;align-items:center;gap:10px;padding-top:14px;margin-top:6px;border-top:1px solid var(--line-2);font-size:12px;color:var(--muted);line-height:1.7;font-weight:300}
.auth-secure .i{color:var(--success)}
.auth-card.shake{animation:shake .45s cubic-bezier(.36,.07,.19,.97)}
.auth-success{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:24px 0}
.auth-success .tick{width:88px;height:88px;border-radius:50%;background:var(--success-bg);display:grid;place-items:center;animation:pop .55s var(--ease) both}
.auth-success .tick svg{width:42px;height:42px;stroke:var(--success);stroke-width:2.4;fill:none}
.auth-success .tick path{stroke-dasharray:30;stroke-dashoffset:30;animation:draw-line .5s ease .25s forwards}
.auth-success .bar{width:220px;height:5px;border-radius:5px;background:var(--line-2);overflow:hidden}
.auth-success .bar i{display:block;height:100%;background:var(--beige);animation:fill-w 1.6s cubic-bezier(.4,0,.2,1) .3s both}
.auth-slides{position:absolute;inset:0;z-index:0;overflow:hidden}
.auth-slides .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.auth-slides .slide.on{opacity:1}
.auth-slides .slide img{width:100%;height:100%;object-fit:cover;object-position:22% center}
.auth-slides .slide.on img{animation:kenburns 9s ease-out both}
.auth-scrim{position:absolute;inset:0;z-index:1;background:rgba(7,24,43,.44)}
.auth-msg{position:relative;z-index:2;max-width:560px;color:#FAF7F0;display:flex;flex-direction:column;gap:12px;text-shadow:0 2px 24px rgba(0,0,0,.35);animation:msg-in .9s var(--ease) both}
.auth-msg .k{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--gold-light);font-weight:500}
.auth-msg .k::before{content:"";width:34px;height:2px;background:var(--gold-light)}
.auth-msg h2{color:#FAF7F0;font-size:clamp(30px,4.2vw,52px);margin:0;line-height:1.3}
.auth-msg p{font-size:18px;line-height:1.9;color:#E4E9EF;font-weight:300;margin:0}
.auth-dots{display:flex;gap:8px;margin-top:8px}
.auth-dots button{height:6px;width:12px;border:0;padding:0;border-radius:6px;cursor:pointer;background:rgba(250,247,240,.45);transition:width .4s var(--ease),background .3s}
.auth-dots button.on{width:34px;background:var(--gold-light)}
.auth-foot{position:absolute;z-index:2;bottom:22px;inset-inline:5vw;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:rgba(250,247,240,.8);font-weight:300}
.auth-page:not(.auth-themed):not(.auth-slideshow) .auth-foot{color:var(--muted)}
.auth-page.auth-slideshow{background:#0B2A4A;justify-content:space-between;padding:48px 5vw 96px;overflow:hidden}
.auth-msg .msg{display:none;flex-direction:column;gap:12px}
.auth-msg .msg.on{display:flex;animation:msg-in .9s var(--ease) both}
.auth-form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.auth-form>label{display:flex;flex-direction:column;gap:7px;font-weight:500;color:#34465A}
.auth-field input::placeholder{color:#9AA4AF}
.pw-toggle{all:unset;cursor:pointer;color:#7A8794;display:grid;place-items:center;width:30px;height:30px;border-radius:8px}
.pw-toggle:hover{background:var(--surface-3);color:var(--navy)}
.caps-hint{display:flex;align-items:center;gap:6px;margin:-6px 0 0;font-size:12px;color:var(--warn)}
.auth-error{display:flex;gap:10px;align-items:center;padding:11px 14px;border-radius:12px;background:var(--danger-bg);color:#8E1C14;font-size:13px;margin-top:14px;animation:rise .4s var(--ease) both}
.link-btn{all:unset;cursor:pointer;color:var(--navy);font-weight:500;font-size:13px;display:inline-flex;align-items:center;gap:4px}
.link-btn:hover{color:var(--navy-2);text-decoration:underline}
.link-btn.back{margin-top:16px;align-self:center;width:100%;justify-content:center}
.auth-go{gap:10px}
.auth-go .i{transition:transform .25s var(--ease)}
.auth-go:hover .i{transform:translateX(-4px)}
.auth-badge{width:64px;height:64px;border-radius:20px;margin:6px auto 12px;display:grid;place-items:center;background:var(--beige-soft);color:var(--gold-ink)}
.auth-badge .i{width:28px;height:28px}
.auth-done{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:18px 0 4px}
.auth-done .tick{width:72px;height:72px;border-radius:50%;background:var(--success-bg);display:grid;place-items:center;animation:pop .55s var(--ease) both}
.auth-done .tick svg{width:34px;height:34px;stroke:var(--success);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.auth-done .tick path{stroke-dasharray:30;stroke-dashoffset:30;animation:draw-line .5s ease .25s forwards}
.view-in{animation:rise .45s var(--ease) both}
[data-view]{display:flex;flex-direction:column}
[data-view][hidden]{display:none}
@media (max-width:900px){.auth-page.auth-slideshow{justify-content:center;padding:28px 16px 70px}.auth-slideshow .auth-msg{order:-1;text-align:center;align-items:center}.auth-slideshow .auth-msg h2{font-size:26px}.auth-slideshow .auth-msg p,.auth-slideshow .auth-msg .k{display:none}.auth-slideshow .auth-msg .msg.on h2{display:block}.auth-dots{justify-content:center}.auth-foot{justify-content:center}}

/* =====================================================================
   Theme runtime compatibility (owner-approved theme system)
   ===================================================================== */
.theme-banner{position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--navy);color:#fff;padding:18px 22px;margin-bottom:20px;display:flex;flex-direction:column;gap:6px;animation:rise .6s var(--ease) both}
.theme-banner strong{color:var(--gold-light);font-weight:600}
.theme-banner .btn{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff;width:auto;align-self:flex-start;margin:6px 0 0}
.theme-banner .btn:hover{background:rgba(255,255,255,.18)}
.theme-ornaments:empty{display:none}
.auth-themed .theme-banner{position:relative;z-index:2}

/* =====================================================================
   Motion
   ===================================================================== */
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes pop-in{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}
@keyframes pal-in{from{opacity:0;transform:translateY(-14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:none}}
@keyframes drawer-in-left{from{transform:translateX(-100%)}to{transform:none}}
@keyframes toast-in{from{opacity:0;transform:translateY(18px) scale(.95)}to{opacity:1;transform:none}}
@keyframes toast-out{to{opacity:0;transform:translateX(-40px) scale(.95)}}
@keyframes toast-bar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes ping{0%{transform:scale(1);opacity:.55}80%,100%{transform:scale(2.2);opacity:0}}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes growx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fill-w{from{width:0}to{width:100%}}
@keyframes draw-line{to{stroke-dashoffset:0}}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
@keyframes livepulse{0%,100%{box-shadow:0 0 0 0 rgba(30,122,82,.45)}50%{box-shadow:0 0 0 7px rgba(30,122,82,0)}}
@keyframes nowpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.4)}}
@keyframes stepglow{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--beige) 55%,transparent)}50%{box-shadow:0 0 0 8px transparent}}
@keyframes land{0%{transform:scale(.92);box-shadow:0 0 0 0 color-mix(in srgb,var(--beige) 60%,transparent)}50%{transform:scale(1.03);box-shadow:0 0 0 8px color-mix(in srgb,var(--beige) 18%,transparent)}100%{transform:none;box-shadow:none}}
@keyframes newitem{0%{opacity:0;transform:translateY(-10px);background:#FFF4D6}60%{opacity:1;transform:none;background:#FFF4D6}100%{background:transparent}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes kenburns{from{transform:scale(1.1) translateX(10px)}to{transform:scale(1) translateX(0)}}
@keyframes card-in{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
@keyframes msg-in{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-10px)}40%{transform:translateX(9px)}60%{transform:translateX(-6px)}80%{transform:translateX(4px)}}
@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.1);opacity:1}100%{transform:scale(1)}}
@keyframes reveal{from{filter:blur(6px);opacity:.3}to{filter:none;opacity:1}}
@keyframes sheet-up{from{transform:translateY(100%)}to{transform:none}}
.rise{animation:rise .6s var(--ease) backwards}
.page-wrap>*{animation:rise .55s var(--ease) backwards}
.page-wrap>*:nth-child(2){animation-delay:.04s}.page-wrap>*:nth-child(3){animation-delay:.08s}.page-wrap>*:nth-child(4){animation-delay:.12s}.page-wrap>*:nth-child(5){animation-delay:.16s}.page-wrap>*:nth-child(n+6){animation-delay:.2s}
.d1{animation-delay:.05s!important}.d2{animation-delay:.1s!important}.d3{animation-delay:.15s!important}.d4{animation-delay:.2s!important}.d5{animation-delay:.25s!important}.d6{animation-delay:.3s!important}.d7{animation-delay:.35s!important}.d8{animation-delay:.4s!important}
.spin-ring{width:16px;height:16px;border-radius:50%;border:2px solid #D6D0C2;border-top-color:var(--navy);animation:spin .7s linear infinite;display:inline-block}
/* ---------- Dashboard v4 ---------- */
.greeting-text{display:flex;flex-direction:column;gap:2px;flex:1 1 380px}
.g-dot{width:8px;height:8px;border-radius:50%;background:#8FA2B7;flex:none}
.g-dot.ok{background:#4FBF86}.g-dot.warn{background:#E3A43A}.g-dot.bad{background:#F0645A}.g-dot.gold{background:var(--gold-light)}.g-dot.info{background:#7FB2E5}
.section-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 0 12px}
.section-bar h3{margin:0}
.seg-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.kpi-grid.loading .kpi{pointer-events:none}
.kpi-chart .kv{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;border-bottom:1px dashed var(--line-2)}
.kpi-chart .kv b{font-weight:600}
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}
.funnel{display:flex;flex-direction:column;gap:13px}
.funnel-step{display:flex;flex-direction:column;gap:6px}
.funnel-step .lbl{display:flex;justify-content:space-between;font-size:13px;color:#34465A;font-weight:300}
.funnel-step .lbl b{color:var(--ink);font-variant-numeric:tabular-nums}
.funnel-step:hover .track>i{filter:brightness(1.15)}
.legend{display:flex;gap:8px;margin-bottom:14px}
.bars .b.gone{height:0!important;opacity:0}
.bars-labels{display:flex;justify-content:space-between;gap:10px;padding:8px 4px 0}
.bars-labels span{flex:1;text-align:center;font-size:11.5px;color:var(--muted)}
.bars-labels span.now{color:var(--navy);font-weight:600}
.agenda{display:flex;flex-direction:column}
.agenda-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.agenda-bar.ev-hearing{background:#0B3A66}.agenda-bar.ev-remote{background:#1C5A94}.agenda-bar.ev-consult{background:#B39A64}.agenda-bar.ev-meeting{background:#6B7A89}.agenda-bar.ev-deadline{background:#B3261E}.agenda-bar.ev-task{background:#8A5200}
.live-dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:livepulse 1.6s ease-in-out infinite}
.prep-mini{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}
.prep-mini .track{height:6px}
.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn-row form{margin:0}
.mini-tasks{display:flex;flex-direction:column}
.mini-task{display:flex;align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line-2);transition:opacity .4s,transform .4s var(--ease)}
.mini-task:last-child{border-bottom:0}
.mini-task form{margin:0}
.mini-body{flex:1;min-width:0;display:flex;flex-direction:column}
.mini-body b{font-weight:500;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-body small{color:var(--muted);font-weight:300}
.mini-task:hover .mini-body b{color:var(--navy)}
.mini-task.completing{opacity:0;transform:translateX(-24px)}
.mini-task.completing .mini-body b{text-decoration:line-through}
.all-clear{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 10px;text-align:center}
.all-clear .ico{width:54px;height:54px;border-radius:50%;background:var(--success-bg);color:var(--success);display:grid;place-items:center;animation:pop .5s var(--ease)}
.all-clear small{color:var(--muted)}
.approval-card .block-title{display:block}
.decide-form{display:flex;flex-direction:column;gap:8px;margin:0}
.decide-form input{height:38px}
.list-row{display:flex;align-items:center;gap:12px;padding:11px 8px;margin:0 -8px;border-radius:12px;border-bottom:1px solid var(--line-2);transition:background .2s}
.list-row:last-child{border-bottom:0}
.list-row:hover{background:var(--surface-2)}
.list-row .grow{flex:1;min-width:0;display:flex;flex-direction:column}
.list-row .grow b{font-weight:500;font-size:13.5px}
.list-row .grow small{color:var(--muted);font-weight:300}
.list-row form{margin:0}
.icon-btn.sm{width:32px;height:32px;border-radius:9px}
.feed-row a{color:var(--navy-2)}
.feed-row a:hover{text-decoration:underline}

/* ---------- Inbox v4 ---------- */
.inbox-panel{padding:0;overflow:clip}
.inbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--line-2);position:sticky;top:var(--topbar-h);background:#fff;z-index:3;border-radius:var(--r-lg) var(--r-lg) 0 0}
.tabs-pills{display:flex;gap:6px;flex-wrap:wrap}
.tabs-pills button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:10px;font-size:13px;color:#34465A;transition:background .2s,color .2s}
.tabs-pills button:hover{background:var(--surface-3)}
.tabs-pills button.on{background:var(--navy);color:#fff;font-weight:500}
.tabs-pills em{font-style:normal;font-size:11px;min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:inline-grid;place-items:center;background:var(--surface-3);color:#4A5868}
.tabs-pills button.on em{background:rgba(255,255,255,.18);color:#fff}
.day-label{margin:0;padding:14px 18px 6px;font-size:12px;color:var(--muted);font-weight:500}
.inbox-row{position:relative;display:flex;gap:12px;align-items:flex-start;padding:13px 18px;border-bottom:1px solid #F5F2EB;transition:background .25s,opacity .35s,transform .35s var(--ease);animation:rise .4s var(--ease) backwards}
.inbox-row:hover{background:var(--surface-2)}
.inbox-row.unread{background:#FFFCF5}
.inbox-row.unread::before{content:"";position:absolute;inset-inline-start:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--beige)}
.inbox-row.resolved{opacity:.6}
.inbox-row.leaving{opacity:0;transform:translateX(-30px)}
.inbox-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.inbox-body .t{display:flex;justify-content:space-between;gap:10px;font-size:14px}
.inbox-body .t b{font-weight:400}
.inbox-row.unread .inbox-body .t b{font-weight:600}
.inbox-body time{font-size:11.5px;color:var(--muted);white-space:nowrap}
.inbox-body p{margin:0;font-size:13px;color:#4A5868;line-height:1.65}
.inbox-actions{display:flex;gap:6px;opacity:0;transition:opacity .2s}
.inbox-row:hover .inbox-actions,.inbox-row:focus-within .inbox-actions{opacity:1}
.inbox-row .dot{width:8px;height:8px;border-radius:50%;background:#D9483B;flex:none;margin-top:8px;transition:transform .3s,opacity .3s}
.inbox-row:not(.unread) .dot{transform:scale(0);opacity:0}
[data-pane=approvals]{padding:16px 18px}
.new-banner{all:unset;cursor:pointer;display:block;margin:12px 18px 0;padding:10px 14px;border-radius:12px;background:var(--info-bg);color:var(--navy);font-weight:500;font-size:13px;text-align:center;animation:pop-in .4s var(--ease)}
.push-box{display:flex;align-items:center;gap:12px;padding:12px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line-2);margin-bottom:10px;transition:background .3s,border-color .3s}
.push-box.on{background:var(--success-bg);border-color:#CFE7D9}
.push-box.on .tone-ico{background:#fff;color:var(--success)}
.push-box .grow{flex:1;min-width:0;display:flex;flex-direction:column}
.push-box .grow b{font-weight:500;font-size:13.5px}
.push-box .grow small{color:var(--muted);line-height:1.6}
.prefs-form{display:flex;flex-direction:column;gap:14px;margin:0}
.pref-grid b{font-weight:500}
.pref-grid small.block{font-size:11px;margin-top:1px;line-height:1.5}
.pref-block{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--line-2)}
.switch-row{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px;cursor:pointer;font-weight:400!important}
.switch-row b{font-weight:500}
.quiet-times{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quiet-times[hidden]{display:none}
.inline-select{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;font-size:12.5px}
.inline-select select{width:auto;height:36px}
@media (max-width:900px){.inbox-head{position:static;padding:12px}.tabs-pills{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none;margin:0 -4px}.tabs-pills::-webkit-scrollbar{display:none}.tabs-pills button{flex:none}.inbox-row{padding:12px}.inbox-actions{opacity:1;flex-direction:column;gap:4px}.inbox-row .dot{display:none}.inbox-body .t{flex-direction:column;gap:0}}

/* ---------- Calendar v4 ---------- */
.drawer[hidden]{display:none}
.drawer-top{display:flex;justify-content:space-between;align-items:center}
.drawer-head h3{margin:0}
.cal-nav,.cal-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cal-range{display:flex;flex-direction:column;margin-inline-start:6px;line-height:1.35}
.cal-range b{font-size:15.5px;color:var(--ink)}
.cal-range small{color:var(--muted);font-weight:300}
.cal-legend .legend-btn i{border-radius:3px}
.cal-legend .legend-btn i.ev-hearing{background:#0B3A66}.cal-legend .legend-btn i.ev-remote{background:#1C5A94}.cal-legend .legend-btn i.ev-meeting{background:#6B7A89}.cal-legend .legend-btn i.ev-consult{background:#B39A64}.cal-legend .legend-btn i.ev-deadline{background:#C2412D}.cal-legend .legend-btn i.ev-task{background:#E3A43A}
.cal-conflicts{display:inline-flex;align-items:center;gap:6px;margin-inline-start:auto;font-size:12px;color:var(--warn);background:var(--warn-bg);padding:4px 10px;border-radius:9px}
.cal-scroll{max-height:calc(100vh - 290px);min-height:420px;overflow:auto;position:relative;transition:opacity .2s}
.cal-scroll.loading{opacity:.55}
.cal-head{position:sticky;top:0;background:#fff;z-index:5}
.cal-grid.day{min-width:0}
.cal-dayhead.weekend,.cal-col.weekend{background-color:#FCFBF8}
.cal-dayhead .cal-allday{display:block;width:100%;box-sizing:border-box;cursor:pointer}
.cal-hours{position:relative}
.cal-ev.movable{cursor:grab;touch-action:none}
.cal-ev b.one{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-ev.dragging{cursor:grabbing;opacity:.85;box-shadow:0 18px 36px rgba(11,42,74,.3);z-index:6;transition:none}
.cal-ev.land{animation:land .5s var(--ease)}
.cal-list{display:flex;flex-direction:column}
.cal-list-day{display:flex;gap:14px;padding:12px 16px;border-bottom:1px solid var(--line-2)}
.cal-list-day.today{background:#FBF9F3}
.cal-list-date{width:58px;flex:none;display:flex;flex-direction:column;align-items:center;line-height:1.3}
.cal-list-date b{font-size:20px;color:var(--ink)}
.cal-list-date span{font-size:12px;color:#34465A}
.cal-list-date small{font-size:10.5px;color:var(--muted);text-align:center}
.cal-list-day.today .cal-list-date b{width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:16px}
.cal-list-items{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;justify-content:center}
.cal-list-empty{font-size:12.5px}
.cal-list-ev{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:12px;border-inline-start:3px solid var(--c,var(--navy));transition:transform .2s}
.cal-list-ev:hover{transform:translateX(-3px)}
.cal-list-ev.conflict{outline:2px dashed #E3A43A}
.cal-list-ev .t{font-size:12px;font-weight:600;min-width:62px}
.cal-list-ev .b{display:flex;flex-direction:column;min-width:0}
.cal-list-ev .b b{font-weight:500;font-size:13.5px}
.cal-list-ev .b small{opacity:.8;font-weight:300}
.conflict-box{border:1px dashed #E3A43A;background:var(--warn-bg);color:#5A3A00;border-radius:12px;padding:10px 12px;font-size:12.5px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.conflict-box b{display:flex;align-items:center;gap:6px}
.conflict-box ul{margin:0;padding-inline-start:18px}
.kv-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-2);font-size:13px}
.kv-row span{color:var(--muted)}
.kv-row b{font-weight:500;text-align:end}
.reassign{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding:12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line-2)}
.reassign button{align-self:flex-start}
.hint{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-top:14px}
.ev-form{grid-template-columns:1fr 1fr}
.ev-form .full{grid-column:1/-1}
@media (max-width:900px){.cal-toolbar{padding:12px}.cal-tools{width:100%}.cal-tools .btn-primary{margin-inline-start:auto}.cal-scroll{max-height:none}.cal-conflicts{margin:0}}

/* ---------- Pipeline v4 ---------- */
.pipe-stats{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.pstat{background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px 16px;display:flex;flex-direction:column;gap:2px;min-width:130px}
.pstat span{font-size:12px;color:var(--muted)}
.pstat b{font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}
.pstat.bad b{color:var(--danger)}
.pstat.wide{flex:1 1 260px}
.pstat .src{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.pipe-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.pipe-toolbar .spacer{flex:1}
.search-field{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;height:42px;padding:0 12px;border:1px solid var(--border);border-radius:12px;background:#fff;min-width:260px;flex:0 1 340px;color:var(--muted)}
.search-field input{all:unset;flex:1;font-size:13.5px;color:var(--text);min-width:0}
.search-field:focus-within{border-color:var(--beige);box-shadow:0 0 0 4px color-mix(in srgb,var(--beige) 18%,transparent)}
.col-dot{width:9px;height:9px;border-radius:50%;background:#8A96A3}
.col-dot.c-assigned_second_receiver,.pill.c-assigned_second_receiver{background:#1C5A94}
.col-dot.c-executive_review,.pill.c-executive_review{background:#B39A64}
.col-dot.c-executive_decided,.pill.c-executive_decided{background:#6B5BA8}
.col-dot.c-offer_sent,.pill.c-offer_sent{background:#E3A43A}
.col-dot.c-converted,.pill.c-converted{background:var(--success)}
.col-dot.c-closed,.pill.c-closed{background:#8A96A3}
.pill.c-assigned_second_receiver,.pill.c-executive_review,.pill.c-executive_decided,.pill.c-offer_sent,.pill.c-converted,.pill.c-closed{color:#fff}
.col-late{align-self:flex-start;margin-top:4px}
.col-empty{border:2px dashed #DDD7C9;border-radius:14px;padding:18px;text-align:center;font-size:12.5px;color:#8A96A3}
.kcard{position:relative}
.kcard.actionable{border-color:#D9CFB8;box-shadow:inset 3px 0 0 var(--beige)}
.kcard[draggable=false]{cursor:pointer}
.kcard[hidden]{display:none}
.kc-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kc-top .code{flex:1}
.kcard .who{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.kcard .foot .i{width:13px;height:13px}
.late-txt{color:var(--danger);font-weight:500}
.drawer.wide{width:560px}
.req-detail h4{margin:18px 0 6px;font-size:13.5px;display:flex;align-items:center;gap:6px;color:var(--ink)}
.prose{margin:0;font-size:13.5px;line-height:1.9;color:#34465A;font-weight:300;white-space:pre-wrap}
.stage-form{margin-top:16px;padding:14px;border:1px solid var(--line-2);border-radius:16px;background:var(--surface-2)}
.stage-form.open{border-color:#D9CFB8;background:#FFFCF5}
.stage-form h4{margin-top:0}
.stage-form .form-grid{grid-template-columns:1fr 1fr}
.stage-form summary{cursor:pointer;font-weight:500}
.timeline.compact>li{gap:10px;padding-bottom:10px;position:relative}
.timeline.compact .tl-dot{width:10px;height:10px;margin-top:6px;background:var(--beige);flex:none}
.timeline.compact .tl-body{padding:0}
.timeline.compact .tl-body b{font-weight:500;font-size:13px}
.timeline.compact .tl-body small{color:var(--muted)}
.req-links{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:900px){.board-col{width:82vw}.search-field{flex:1 1 100%}.stage-form .form-grid{grid-template-columns:1fr}.pstat{min-width:0;flex:1 1 40%;padding:9px 12px;border-radius:13px}.pstat b{font-size:18px}.pipe-stats,.task-summary{gap:8px}}

/* ---------- Legal file (case) v4 ---------- */
.entity-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.entity-stepper{padding:6px 18px 18px}
.entity-stats b.txt{font-size:14px;font-weight:500}
.callout{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:var(--beige-soft);border:1px solid #E8DCC0;color:#4F3F1C;margin-bottom:20px}
.callout p{margin:2px 0 0;font-size:13px;line-height:1.8}
.note-composer{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.composer-box{position:relative}
.composer-box textarea{min-height:64px;resize:vertical}
.composer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.notes{display:flex;flex-direction:column;gap:12px}
.note{display:flex;gap:10px;transition:opacity .3s,transform .3s var(--ease)}
.note .bubble{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--line-2);border-radius:4px 14px 14px 14px;padding:10px 13px}
.note.pinned .bubble{background:#FFFCF5;border-color:#E8DCC0}
.note-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.note-head b{font-weight:500}
.note-head small{color:var(--muted)}
.note-tools{margin-inline-start:auto;display:flex;gap:10px;opacity:0;transition:opacity .2s}
.note:hover .note-tools,.note:focus-within .note-tools{opacity:1}
.note .bubble p{margin:4px 0 0;font-size:13.5px;line-height:1.85;font-weight:300;white-space:pre-wrap}
.link-btn.danger{color:var(--danger)}
.leaving{opacity:0!important;transform:translateX(-24px)!important;transition:opacity .3s,transform .3s var(--ease)}
.rise-in{animation:rise .35s var(--ease) both}
.date-chip{width:48px;height:52px;flex:none;border-radius:12px;background:var(--surface-3);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.date-chip b{font-size:18px;color:var(--ink)}
.date-chip small{font-size:10.5px;color:var(--muted)}
.date-chip.up{background:var(--ink)}.date-chip.up b{color:#fff}.date-chip.up small{color:var(--gold-light)}
.next-hearing .nh-top{display:flex;gap:14px;align-items:center}
.next-hearing .nh-k{display:block;font-size:12px;color:var(--gold-light)}
.next-hearing .nh-t{display:block;font-size:15px;font-weight:600;margin:2px 0}
.next-hearing .nh-top small{color:#C9D3DE;font-weight:300}
.countdown b.tick{animation:pop .4s var(--ease)}
.prep{background:rgba(255,255,255,.96);color:var(--text);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}
.prep-head{display:flex;justify-content:space-between;font-size:13px;font-weight:500}
.prep .check-item{padding:6px}
.circ-check{appearance:none;-webkit-appearance:none;width:20px!important;height:20px!important;min-height:0!important;padding:0!important;flex:none;border-radius:50%;border:2px solid #CFC8B8;background:#fff;cursor:pointer;display:grid;place-items:center;transition:all .25s var(--ease);margin:0}
.circ-check:checked{background:var(--success);border-color:var(--success)}
.circ-check:checked::after{content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.icon-btn.ghost{border-color:transparent;background:transparent}
.prep-add{display:flex;gap:6px;margin:0}
.prep-add input{height:36px}
.nh-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)}
.nh-ghost:hover{background:rgba(255,255,255,.18)}
.avatar.lead{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--beige)}
.judgment{border-bottom:1px solid var(--line-2);padding-bottom:8px;margin-bottom:8px}
.judgment:last-child{border:0}
.doc-list{display:flex;flex-direction:column}
.timeline>li[hidden]{display:none}
.tl-dot.tone-gold{background:var(--beige-soft);color:var(--gold-ink)}
.tl-head a{color:var(--navy-2)}
details.panel>summary{cursor:pointer;font-weight:600;color:var(--ink)}
@media (max-width:900px){.entity-mark{width:52px;height:52px;border-radius:16px;font-size:19px}.entity-title h2{font-size:20px}.entity-stats{grid-template-columns:1fr 1fr}.entity-stats>div{padding:10px 14px}.entity-stats b{font-size:15px}.entity-main{padding:18px}.entity-actions{width:100%}.entity-stepper{padding:6px 8px 14px}.stepper li{flex-basis:84px}.note-tools{opacity:1}}

/* ---------- Tasks v4 ---------- */
.task-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.pstat.ok b{color:var(--success)}
.quick-add{display:flex;align-items:center;gap:8px;background:#fff;border:1px dashed #D9CFB8;border-radius:16px;padding:8px 10px 8px 14px;margin-bottom:16px;transition:border-color .2s,box-shadow .2s}
.quick-add:focus-within{border-style:solid;border-color:var(--beige);box-shadow:0 0 0 4px color-mix(in srgb,var(--beige) 15%,transparent)}
.quick-add .qa-ico{color:var(--gold-ink);display:grid;place-items:center}
.quick-add input[name=title]{all:unset;flex:1;min-width:120px;font-size:14px;height:36px}
.quick-add input[type=datetime-local]{width:auto;height:36px;font-size:12.5px}
.tgroup header{cursor:pointer;user-select:none}
.tg-toggle{all:unset;display:grid;place-items:center;color:var(--muted)}
.tg-toggle .chev{transition:transform .3s var(--ease)}
.tgroup.collapsed .tg-toggle .chev{transform:rotate(90deg)}
.tg-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .35s var(--ease)}
.tg-body>*{min-height:0}
.tgroup.collapsed .tg-body{grid-template-rows:0fr;overflow:hidden}
.tgroup.collapsed header{border-bottom:0}
.tgroup[hidden]{display:none}
.trow[hidden]{display:none}
.trow form{margin:0}
.trow.closed .t b{color:#8A96A3;text-decoration:line-through}
.trow.leaving{opacity:0;transform:translateX(-30px)}
.trow .meta .chk{display:inline-flex;align-items:center;gap:3px}
.trow .meta .chk.full{color:var(--success)}
.trow .meta .i{width:13px;height:13px}
.prio{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#B5781A}
.prio.urgent{color:var(--danger)}
.prio .i{fill:currentColor;fill-opacity:.2}
.drawer-loading{padding:26px;display:flex;flex-direction:column;gap:12px}
.drawer-tools{display:flex;gap:6px}
.task-head h3{font-size:19px;line-height:1.5}
.task-people{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;font-size:12.5px}
.task-people>span{display:inline-flex;align-items:center;gap:6px}
.task-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:10px;background:var(--beige-soft);color:#6B5830;font-size:12.5px;margin-bottom:6px}
.task-body h4{margin:16px 0 6px;font-size:13.5px}
.task-sec{margin-top:18px;padding-top:14px;border-top:1px solid var(--line-2)}
.task-sec h4{margin-top:0}
.status-pick{display:flex;flex-wrap:wrap;gap:6px}
.chip-radio{display:inline-flex!important;flex-direction:row!important;cursor:pointer}
.chip-radio input{position:absolute;opacity:0;pointer-events:none}
.chip-radio span{padding:7px 14px;border-radius:10px;border:1px solid var(--border);font-size:13px;transition:all .2s;background:#fff}
.chip-radio input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.chip-radio input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--beige) 55%,transparent)}
.comments{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.task-page{padding:0;overflow:hidden;max-width:880px}
.task-page .drawer-head{padding:22px 26px 16px}
.task-page .drawer-body{padding:18px 26px}
.task-page [data-close]{display:none}
@media (max-width:900px){.quick-add{flex-wrap:wrap}.quick-add input[name=title]{flex:1 1 100%}.trow{padding:12px}.trow .due{min-width:0}}

.file-native{position:absolute!important;opacity:0;width:1px!important;height:1px!important;pointer-events:none}
.file-ui{display:flex;align-items:center;gap:10px;border:1px dashed #D6CFBF;border-radius:12px;padding:7px 8px;cursor:pointer;background:var(--surface-2);transition:border-color .2s,background .2s;min-width:0}
.file-ui .fname{font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.file-ui.has{border-style:solid;border-color:#CFE7D9;background:var(--success-bg)}.file-ui.has .fname{color:var(--success);font-weight:500}
.file-ui.over{border-color:var(--beige);background:var(--beige-soft)}

.date-tile.big{width:78px;height:86px;border-radius:20px;background:var(--ink);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;line-height:1.15}
.date-tile.big b{font-size:30px}
.date-tile.big small{font-size:11.5px;color:var(--gold-light)}
.prep-panel .prep-head h3{margin:0}
.prep-panel{display:flex;flex-direction:column;gap:10px}

.slide-edit{border:1px solid var(--line-2);border-radius:14px;padding:12px 14px;display:grid;gap:10px;margin:0}
.slide-edit legend{padding:0 6px;font-weight:500;color:var(--gold-ink)}
[data-trend]{overflow:clip}
html,body{overflow-x:clip}
@media (max-width:900px){.kpi-grid:not(.all) .kpi:nth-child(n+5){display:none}.kpi-more{margin:-8px 0 22px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width:1180px){
  .two-col{grid-template-columns:1fr}
  .config-grid,.document-layout{grid-template-columns:1fr}
  .field-admin-list{border-inline-start:0;border-top:1px solid var(--line-2);padding-inline-start:0;padding-top:18px}
  .search-trigger{width:220px}
}
@media (max-width:900px){
  .app-shell,body.rail .app-shell{display:block}
  .sidebar{position:fixed;top:0;bottom:0;right:0;height:100%;width:300px;max-width:86vw;transform:translateX(105%);transition:transform .45s var(--ease),visibility 0s .45s;visibility:hidden;z-index:130}
  body.nav-open .sidebar{transform:none;visibility:visible;transition:transform .45s var(--ease);box-shadow:-20px 0 60px rgba(0,0,0,.3)}
  body.rail .brand-text,body.rail .nav-group-head,body.rail .nav-item>span,body.rail .sb-user-meta,body.rail .sb-user form{display:revert!important}
  body.rail .nav-item{justify-content:flex-start;padding:0 10px}
  .nav-scrim{position:fixed;inset:0;background:rgba(7,24,43,.5);z-index:125;animation:fade-in .3s ease both}
  .sb-toggle{display:none}
  .mobile-only{display:inline-grid!important}
  .desktop-only{display:none!important}
  .topbar{padding:10px 14px;gap:8px;min-height:62px}
  .topbar h1{font-size:17px}
  .search-trigger{width:42px;padding:0;justify-content:center;max-width:none}
  .search-trigger span,.search-trigger kbd{display:none}
  .page-wrap{padding:16px 14px 110px}
  .hero-panel,.client-head{padding:18px}
  .form-grid{grid-template-columns:1fr}
  .span-2,.form-actions{grid-column:auto}
  .permission-grid,.multi-check-grid{grid-template-columns:1fr}
  .permission-override-row{grid-template-columns:1fr}
  .toolbar{align-items:stretch;flex-direction:column}
  .search-form{min-width:100%}
  .quick-actions{width:100%;justify-content:flex-start}
  .greeting{padding:20px}.greeting h2{font-size:22px}
  .bottom-nav{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:90;height:74px;padding:8px 6px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--border);justify-content:space-around;align-items:flex-start}
  .bottom-nav a,.bottom-nav button{all:unset;cursor:pointer;width:64px;display:flex;flex-direction:column;align-items:center;gap:3px;color:#7A8794;font-size:10.5px}
  .bottom-nav a.active{color:var(--navy);font-weight:600}
  .bottom-nav .fab{width:54px;height:54px;margin-top:-24px;border-radius:18px;background:var(--beige);color:#1E1608;display:grid;place-items:center;box-shadow:0 10px 22px color-mix(in srgb,var(--beige) 45%,transparent);transition:transform .35s var(--ease),background .3s}
  .bottom-nav .fab.open{transform:rotate(45deg);background:var(--ink);color:var(--gold-light)}
  .toast-stack{left:12px;right:12px;bottom:88px;width:auto}
  .dd-panel{position:fixed;top:68px;inset-inline:10px;width:auto;min-width:0}
  .sheet{position:fixed;bottom:0;inset-inline:0;z-index:95;background:#fff;border-radius:28px 28px 0 0;padding:14px 18px 100px;box-shadow:0 -20px 60px rgba(0,0,0,.2);animation:sheet-up .45s var(--ease) both}
  .drawer{width:100%}
  .layout-main>.col-side,.layout-main>.col-main{flex-basis:100%}
  .side-panel{position:static}
  /* tables become cards */
  .table-panel table,.table-wrap table,.panel table{min-width:0}
  .panel table thead,.table-panel table thead{display:none}
  .panel table tr,.table-panel table tr{display:block;border:1px solid var(--line-2);border-radius:14px;margin:10px;padding:6px 4px;background:#fff}
  .panel table td,.table-panel table td{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--line-2);padding:8px 12px;text-align:start}
  .panel table td:last-child,.table-panel table td:last-child{border-bottom:0}
  .panel table td[data-label]::before,.table-panel table td[data-label]::before{content:attr(data-label);color:var(--muted);font-size:11.5px;flex:none;max-width:42%}
  .panel table td.empty,.table-panel table td.empty{display:block;text-align:center}
}
@media (min-width:901px){.sheet,.nav-scrim{display:none!important}}
@media (max-width:420px){
  .stats-grid,.stats-grid.small{grid-template-columns:1fr 1fr}
  .stat-card strong{font-size:22px}
  .kpi-grid{grid-template-columns:1fr 1fr}
  .kpi-value b{font-size:24px}
  .kpi .spark{display:none}
}
@media print{
  .sidebar,.topbar,.bottom-nav,.toast-stack,.quick-actions,.filter-row,.btn,.theme-banner{display:none!important}
  .app-shell{display:block}.page-wrap{padding:0!important}
  .panel,.stat-card{break-inside:avoid;box-shadow:none}
  .page-wrap>*{animation:none}
}
