/* =========================================================================
   HRS Hub design system â the ONLY stylesheet.
   Tokens and concept: docs/DESIGN-GUIDE.md. No inline styles anywhere.
   ========================================================================= */

@font-face{
  font-family:"Bank Gothic";
  font-display:swap;
  src:url("https://highrise.com.au/wp-content/uploads/et-fonts/BankGothic-Bold.ttf") format("truetype");
}

:root{
  --ink:#071b5b;
  --ink-2:#001f5b;
  --panel:#ffffff;
  --panel-2:#f7f9fc;
  --line:rgba(7,27,91,.14);
  --line-soft:rgba(7,27,91,.10);
  --gold:#c7a34a;
  --gold-bright:#e4c56a;
  --bronze:#8a6416;
  --bronze-dark:#6f4d0f;
  --blue:#002b80;
  --blue-bright:#1a7efb;
  --text:#071b5b;
  --muted:#56657d;
  --ok:#2f9c67;
  --warn:#edb059;
  --bad:#cd5c5c;
  --info:#1a7efb;
  --r:14px;
  --r-sm:9px;
  --shadow:0 16px 44px rgba(7,27,91,.12);
  --glow:0 0 0 1px rgba(199,163,74,.34), 0 18px 42px rgba(7,27,91,.16), 0 0 30px rgba(199,163,74,.14);
  --font-ui:"Montserrat",system-ui,sans-serif;
  --font-display:"Poppins","Montserrat",system-ui,sans-serif;
  --font-accent:"Bank Gothic","Montserrat",system-ui,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;
  --sidebar-w:248px;
  --ease:cubic-bezier(.4,0,.2,1);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; min-height:100vh; color:var(--text);
  font:400 14px/1.58 var(--font-ui);
  background:#f5f7fb;
  background-image:
    radial-gradient(900px 420px at 18% -160px, rgba(26,126,251,.14), transparent 62%),
    radial-gradient(680px 340px at 88% -90px, rgba(199,163,74,.20), transparent 62%),
    linear-gradient(180deg,#ffffff 0%,#f4f7fb 42%,#eef2f8 100%);
}
.skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--ink);padding:8px 14px;border-radius:0 0 var(--r-sm) 0;z-index:100}
.skip:focus{left:0}
::selection{background:rgba(201,162,39,.35)}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px;border-radius:4px}

/* ---------- Shell ---------- */
.shell{display:flex;min-height:100vh}
.main-col{flex:1;min-width:0;display:flex;flex-direction:column}
.content{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:24px}
.footer{display:flex;justify-content:space-between;gap:12px;max-width:1280px;margin:0 auto;width:100%;
  padding:18px 24px;color:var(--muted);font-size:12px;border-top:1px solid var(--line-soft)}

/* ---------- Sidebar: the lift panel (signature element) ---------- */
.sidebar{
  position:sticky;top:0;align-self:flex-start;height:100vh;width:var(--sidebar-w);flex:0 0 var(--sidebar-w);
  background:linear-gradient(180deg, var(--panel) 0%, #0C1A2E 100%);
  border-right:1px solid var(--line);
  display:flex;flex-direction:column;padding:18px 14px 14px 20px;z-index:30;
}
.rail{position:absolute;left:8px;top:18px;bottom:18px;width:2px;
  background:linear-gradient(180deg, transparent, var(--line) 12%, var(--line) 88%, transparent)}
.brand{display:flex;align-items:center;gap:10px;padding:4px 6px 18px;color:var(--text)}
.brand:hover{text-decoration:none}
.brand-mark{
  font:400 15px var(--font-display);letter-spacing:.06em;color:var(--gold-bright);
  width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--gold);
  border-radius:var(--r-sm);background:rgba(201,162,39,.07);
  box-shadow:inset 0 0 14px rgba(201,162,39,.12);
}
.brand-name{display:block;font:400 15px var(--font-display);letter-spacing:.04em}
.brand-sub{display:block;font-size:10.5px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}

.liftpanel{flex:1;overflow-y:auto;padding-right:4px}
.wing{font-size:10px;font-weight:600;letter-spacing:.22em;color:var(--muted);
  text-transform:uppercase;margin:18px 0 6px 8px;opacity:.8}
.floor{
  position:relative;display:flex;align-items:center;gap:10px;
  padding:9px 10px;margin:2px 0;border-radius:var(--r-sm);
  color:var(--muted);transition:background .18s var(--ease),color .18s var(--ease);
}
.floor:hover{background:rgba(255,255,255,.04);color:var(--text);text-decoration:none}
.floor .ic{flex:0 0 auto;opacity:.9}
.floor-no{width:22px;font-size:11px;color:var(--muted);opacity:.7;text-align:right}
.floor-label{flex:1;font-weight:500}
.floor-badge{font-size:10.5px;background:rgba(201,162,39,.16);border:1px solid var(--line);
  color:var(--gold-bright);border-radius:999px;padding:1px 7px;min-width:20px;text-align:center}
/* The carriage: gold notch on the rail beside the active floor */
.floor.active{background:rgba(201,162,39,.10);color:var(--text)}
.floor.active .floor-no{color:var(--gold-bright);opacity:1}
.floor.active::before{
  content:"";position:absolute;left:-13px;top:50%;transform:translateY(-50%);
  width:4px;height:60%;border-radius:3px;background:var(--gold-bright);
  box-shadow:0 0 10px rgba(232,199,102,.7);
}
.floor.nav-under-construction{opacity:.42;filter:grayscale(1)}
.floor.nav-under-construction .floor-label{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:currentColor}
.floor.nav-under-construction:hover{opacity:.62}
.content-under-construction{position:relative;min-height:calc(100vh - 64px)}
.construction-overlay{position:fixed;inset:64px 0 0 var(--sidebar-w);z-index:18;display:grid;place-items:center;pointer-events:none;overflow:hidden;background:rgba(255,255,255,.58);backdrop-filter:blur(1px)}
.construction-overlay span{font:800 clamp(22px,4vw,48px) var(--font-display);letter-spacing:.08em;text-transform:uppercase;text-align:center;color:rgba(7,27,91,.72);border:2px solid rgba(7,27,91,.24);background:rgba(255,255,255,.55);padding:18px 28px;border-radius:var(--r);box-shadow:var(--shadow);max-width:min(760px,calc(100vw - var(--sidebar-w) - 48px))}
@media(max-width:900px){.construction-overlay{left:0}}
.sidebar-foot{border-top:1px solid var(--line-soft);padding-top:8px;margin-top:8px}

/* ---------- Topbar ---------- */
.topbar{
  display:flex;align-items:center;gap:16px;height:64px;padding:0 24px;
  border-bottom:1px solid var(--line-soft);
  background:rgba(10,22,40,.75);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20;
}
.h-display{font:400 clamp(20px,2.4vw,27px) var(--font-display);letter-spacing:.03em;margin:0;flex:1;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.topbar-right{display:flex;align-items:center;gap:14px}
.userchip{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}
.nav-toggle{display:none;font-size:18px;line-height:1;padding:8px 12px}

.pill-credit{
  display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;
  border:1px solid var(--gold);background:rgba(201,162,39,.08);color:var(--text);
  transition:box-shadow .18s var(--ease), background .18s var(--ease);
}
.pill-credit:hover{text-decoration:none;background:rgba(201,162,39,.14);box-shadow:0 0 16px rgba(201,162,39,.25)}
.pill-credit .dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}
.pill-credit.low .dot{background:var(--warn);box-shadow:0 0 8px var(--warn)}
.pill-credit .num{font-weight:600}
.pill-label{font-size:11px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}

/* ---------- Banners ---------- */
.banner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;max-width:1280px;margin:16px auto 0;width:calc(100% - 48px);
  padding:11px 16px;border-radius:var(--r-sm);font-size:13px;border:1px solid}
.banner.warn{border-color:rgba(232,163,61,.45);background:rgba(232,163,61,.08);color:#F2CE93}
.banner.bad{border-color:rgba(226,92,92,.5);background:rgba(226,92,92,.08);color:#F1A3A3}
.banner .btn{margin-left:auto}

/* ---------- Cards & grid ---------- */
.grid{display:grid;gap:18px}
.grid.cols-12{grid-template-columns:repeat(12,1fr)}
.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-5{grid-column:span 5}.span-6{grid-column:span 6}
.span-7{grid-column:span 7}.span-8{grid-column:span 8}.span-12{grid-column:span 12}
.grid > *{min-width:0}
@media(max-width:1100px){.span-3,.span-4{grid-column:span 6}.span-5,.span-7,.span-8,.span-6{grid-column:span 12}}
@media(max-width:680px){.span-3,.span-4,.span-5,.span-7{grid-column:span 12}}

.card{
  background:linear-gradient(180deg, var(--panel) 0%, rgba(16,31,53,.7) 100%);
  border:1px solid var(--line-soft);border-radius:var(--r);box-shadow:var(--shadow);
  transition:transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s var(--ease);
}
.card.lift:hover{transform:translateY(-2px);border-color:var(--line);box-shadow:var(--glow)}
.card-pad{padding:18px 20px}
.card-title{display:flex;align-items:center;gap:8px;margin:0 0 14px;
  font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.card-title .ic{color:var(--gold)}
.card-title .spacer{flex:1}

/* ---------- Numbers & stats ---------- */
.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.stat .stat-label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.stat .stat-value{font-size:clamp(22px,2.6vw,30px);font-weight:600;margin:6px 0 2px;color:var(--text)}
.stat .stat-value .unit{font-size:.55em;color:var(--muted);font-weight:500;margin-left:2px}
.stat .delta{font-size:12px;border-radius:999px;padding:1px 8px;border:1px solid}
.delta.up{color:var(--ok);border-color:rgba(63,185,124,.4);background:rgba(63,185,124,.08)}
.delta.down{color:var(--bad);border-color:rgba(226,92,92,.4);background:rgba(226,92,92,.08)}
.delta.flat{color:var(--muted);border-color:var(--line-soft)}

/* ---------- Badges & dots ---------- */
.badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;
  padding:2px 9px;border-radius:999px;border:1px solid}
.badge.ok{color:var(--ok);border-color:rgba(63,185,124,.45);background:rgba(63,185,124,.08)}
.badge.warn{color:var(--warn);border-color:rgba(232,163,61,.45);background:rgba(232,163,61,.08)}
.badge.bad{color:var(--bad);border-color:rgba(226,92,92,.45);background:rgba(226,92,92,.08)}
.badge.info{color:var(--info);border-color:rgba(77,159,232,.45);background:rgba(77,159,232,.08)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font:600 13px var(--font-ui);letter-spacing:.02em;
  color:var(--ink);background:linear-gradient(180deg,var(--gold-bright),var(--gold));
  border:1px solid var(--gold);border-radius:var(--r-sm);padding:9px 16px;
  transition:filter .15s var(--ease), box-shadow .15s var(--ease), transform .15s var(--ease);
}
.btn:hover{filter:brightness(1.07);box-shadow:0 0 18px rgba(201,162,39,.35);text-decoration:none;transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn-sm{padding:6px 12px;font-size:12px}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font:500 13px var(--font-ui);color:var(--text);background:transparent;
  border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:9px 16px;
  transition:border-color .15s var(--ease), background .15s var(--ease);
}
.btn-ghost:hover{border-color:var(--gold);background:rgba(201,162,39,.07);text-decoration:none}
.btn-danger{background:linear-gradient(180deg,#E97070,var(--bad));border-color:var(--bad);color:#fff}
.btn[disabled],.btn-ghost[disabled]{opacity:.45;pointer-events:none}

/* ---------- Tables ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line-soft);border-radius:var(--r)}
table.table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
.table th{
  text-align:left;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);padding:11px 14px;background:var(--panel-2);border-bottom:1px solid var(--line);
}
.table td{padding:11px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
.table tbody tr:last-child td{border-bottom:0}
.table tbody tr{transition:background .12s var(--ease)}
.table tbody tr:hover{background:rgba(255,255,255,.025)}
.table .r{text-align:right}
.table .gold{color:var(--bronze-dark);font-weight:800}

/* ---------- Progress bars ---------- */
.bar{height:7px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}
.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--gold),var(--gold-bright));
  box-shadow:0 0 8px rgba(201,162,39,.4);transition:width .8s var(--ease)}
.bar-fill.ok{background:linear-gradient(90deg,#2E9B66,var(--ok))}

/* ---------- Segmented control ---------- */
.seg{display:inline-flex;border:1px solid var(--line-soft);border-radius:var(--r-sm);overflow:hidden}
.seg button{
  font:500 12.5px var(--font-ui);color:var(--muted);background:transparent;border:0;cursor:pointer;
  padding:7px 14px;transition:background .15s var(--ease), color .15s var(--ease);
}
.seg button + button{border-left:1px solid var(--line-soft)}
.seg button.active{background:rgba(201,162,39,.14);color:var(--bronze-dark);font-weight:800}

/* ---------- Forms ---------- */
.field{margin-bottom:14px}
.field label{display:block;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.input, select.input, textarea.input{
  width:100%;font:400 14px var(--font-ui);color:var(--text);
  background:rgba(255,255,255,.04);border:1px solid var(--line-soft);border-radius:var(--r-sm);
  padding:10px 12px;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);
}
.input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,39,.15)}
.input.num{font-family:var(--font-mono)}
.amount-presets{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px}
.amount-presets .btn-ghost{font-family:var(--font-mono)}
.amount-presets .btn-ghost.active{border-color:var(--gold);background:rgba(201,162,39,.12);color:var(--bronze-dark);font-weight:800}

/* ---------- Module tiles ---------- */
.mods{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.mod{display:flex;flex-direction:column;gap:12px;padding:18px 20px;position:relative}
.mod .mod-head{display:flex;align-items:center;gap:12px}
.mod .mod-ic{width:40px;height:40px;display:grid;place-items:center;border-radius:var(--r-sm);
  border:1px solid var(--line);color:var(--gold-bright);background:rgba(201,162,39,.07)}
.mod h3{margin:0;font:600 15.5px var(--font-ui)}
.mod .cat{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mod .blurb{color:var(--muted);font-size:13px;margin:0;min-height:38px}
.mod .mod-stats{display:flex;gap:16px;font-size:12px;color:var(--muted)}
.mod .mod-stats b{display:block;font:600 15px var(--font-mono);color:var(--text)}
.mod .mod-foot{display:flex;align-items:center;gap:10px;margin-top:auto}
.mod .mod-foot .spacer{flex:1}

/* ---------- Kanban (roadmap) ---------- */
.kanban{display:grid;gap:16px;grid-template-columns:repeat(5,1fr);align-items:start}
@media(max-width:1100px){.kanban{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.kanban{grid-template-columns:1fr}}
.kcol-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;
  font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.kcol-head .count{font-family:var(--font-mono);border:1px solid var(--line-soft);border-radius:999px;padding:0 7px;font-size:10.5px}
.kcard{padding:14px 15px;margin-bottom:12px}
.kcard h4{margin:0 0 4px;font:600 14px var(--font-ui)}
.kcard p{margin:0 0 10px;font-size:12.5px;color:var(--muted)}
.kcard .meta{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:var(--muted);margin-top:8px}

/* ---------- Sheet (drill-down panel) ---------- */
.sheet-backdrop{position:fixed;inset:0;background:rgba(4,10,22,.6);backdrop-filter:blur(2px);z-index:40;
  opacity:0;transition:opacity .22s var(--ease)}
.sheet-backdrop.show{opacity:1}
.sheet{
  position:fixed;top:0;right:0;height:100vh;width:min(480px,92vw);z-index:50;
  background:linear-gradient(180deg,var(--panel-2),var(--panel));
  border-left:1px solid var(--line);box-shadow:-18px 0 50px rgba(2,8,20,.6);
  transform:translateX(102%);transition:transform .26s var(--ease);
  display:flex;flex-direction:column;
}
.sheet.open{transform:translateX(0)}
.sheet-head{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line-soft)}
.sheet-head h3{margin:0;font:400 18px var(--font-display);letter-spacing:.03em;flex:1}
.sheet-body{padding:20px;overflow-y:auto;flex:1}
.sheet-foot{padding:14px 20px;border-top:1px solid var(--line-soft);display:flex;gap:10px;justify-content:flex-end}
.sheet-close{background:none;border:0;color:var(--muted);cursor:pointer;font-size:18px;padding:6px}
.sheet-close:hover{color:var(--text)}

/* ---------- Task list (human-in-the-loop) ---------- */
.task{display:flex;gap:14px;padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--r-sm);
  margin-bottom:10px;align-items:flex-start;transition:border-color .15s var(--ease)}
.task:hover{border-color:var(--line)}
.task .task-main{flex:1;min-width:0}
.task h4{margin:0 0 3px;font:600 14px var(--font-ui)}
.task p{margin:0;font-size:12.5px;color:var(--muted)}
.task .due{font-size:11.5px;color:var(--bronze-dark);font-weight:700;white-space:nowrap}
.task .actions{display:flex;gap:8px;flex-shrink:0}

/* ---------- Misc ---------- */
.empty{padding:38px 20px;text-align:center;color:var(--muted)}
.empty p{margin:0 0 14px}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted)}
.legend .key{display:inline-flex;align-items:center;gap:6px}
.legend .swatch{width:10px;height:10px;border-radius:3px}
.chart-box{position:relative;height:280px}
.chart-box.sm{height:200px}
.muted{color:var(--muted)}
.amt-pos{color:var(--ok)}
/* The ONLY permitted inline style anywhere: dynamic widths on .bar-fill (style="width:N%"). */
.mt0{margin-top:0}.mt16{margin-top:16px}.mb0{margin-bottom:0}.mb16{margin-bottom:16px}
.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.row .spacer{flex:1}
.actions{display:flex;align-items:center;gap:10px;margin-top:14px}
.actions.wrap{flex-wrap:wrap}
.login-fallback{margin-top:16px;text-align:left;border-top:1px solid var(--line-soft);padding-top:14px}
.login-fallback summary{cursor:pointer;color:var(--muted);font-weight:700;margin-bottom:12px}

.toast-host{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:90;
  display:flex;flex-direction:column;gap:8px;align-items:center}
.toast{
  background:var(--panel-2);border:1px solid var(--gold);color:var(--text);
  border-radius:999px;padding:10px 20px;font-size:13.5px;box-shadow:var(--glow);
  animation:toast-in .25s var(--ease);
}
@keyframes toast-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Count-up reveal */
[data-countup]{opacity:1;transform:none;transition:opacity .4s var(--ease),transform .4s var(--ease)}
[data-countup].seen{opacity:1!important;transform:none!important}

/* ---------- Login page ---------- */
.login-stage{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(400px,94vw);text-align:center}
.login-card .brand-mark{margin:0 auto 14px;width:52px;height:52px;font-size:20px}
.login-card h1{font:400 24px var(--font-display);letter-spacing:.04em;margin:0 0 4px}
.login-card .sub{color:var(--muted);font-size:13px;margin-bottom:22px}
.login-card form{text-align:left}
.login-card{padding:34px 30px}
.login-note{width:100%;margin:0 0 16px;text-align:left;font-size:13px}
.login-foot{color:var(--muted);font-size:12.5px;margin:18px 0 0}
.btn-block{display:block;width:100%;text-align:center;margin-top:6px}

/* ---------- Responsive sidebar ---------- */
@media(max-width:900px){
  .sidebar{position:fixed;left:0;top:0;transform:translateX(-104%);transition:transform .26s var(--ease);box-shadow:var(--shadow)}
  .sidebar.open{transform:translateX(0)}
  .nav-toggle{display:inline-flex}
  .userchip{display:none}
  .banner{width:calc(100% - 32px)}
  .content{padding:16px}
}

/* ---------- Print: reports come out clean ---------- */
@media print{
  body{background:#fff;color:#111}
  .sidebar,.topbar,.banner,.footer,.btn,.btn-ghost{display:none!important}
  .card{box-shadow:none;border-color:#ccc;background:#fff}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* =========================================================================
   Highrise Strata visual exploration â local demo only
   Sources: highrise.com.au Montserrat/Poppins/Bank-Gothic accent language,
   proposal.php navy-blue-gold palette, Divi fade/slide load motion.
   ========================================================================= */
.sidebar{
  background:linear-gradient(180deg,#071b5b 0%,#002b80 58%,#001f5b 100%);
  border-right:0;
  box-shadow:12px 0 32px rgba(7,27,91,.18);
}
.rail{background:linear-gradient(180deg,transparent,rgba(199,163,74,.85) 16%,rgba(255,255,255,.34) 50%,rgba(199,163,74,.85) 86%,transparent)}
.brand{border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:8px}
.brand-mark{
  font:800 11px var(--font-accent);letter-spacing:.10em;color:#fff;
  border-color:rgba(199,163,74,.75);
  background:linear-gradient(145deg,rgba(199,163,74,.28),rgba(255,255,255,.06));
  box-shadow:inset 0 0 18px rgba(199,163,74,.18), 0 6px 16px rgba(0,0,0,.18);
}
.brand-name{font:700 14px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:#fff}
.brand-sub{color:rgba(255,255,255,.70);font-weight:600;letter-spacing:.20em}
.wing,.floor-no{color:rgba(255,255,255,.54)}
.floor{color:rgba(255,255,255,.74);font-weight:600;text-transform:none}
.floor:hover{background:rgba(255,255,255,.08);color:#fff}
.floor.active{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(199,163,74,.28)}
.floor.active .floor-no{color:var(--gold-bright)}
.floor-badge{background:#fff;color:var(--blue);border-color:rgba(255,255,255,.50);font-weight:800}
.sidebar-foot{border-top-color:rgba(255,255,255,.12)}

.topbar{
  height:72px;
  background:rgba(255,255,255,.84);
  border-bottom:1px solid rgba(7,27,91,.10);
  backdrop-filter:blur(14px);
  box-shadow:0 10px 30px rgba(7,27,91,.06);
}
.h-display{
  font:700 clamp(21px,2.4vw,30px) var(--font-accent);
  letter-spacing:.01em;color:var(--ink);
}
.h-display::after{
  content:"";display:block;width:58px;height:3px;margin-top:6px;border-radius:99px;
  background:linear-gradient(90deg,var(--gold),transparent);
}
.userchip{color:#465671;font-weight:600}

.pill-credit{
  background:#fff;border-color:rgba(199,163,74,.55);color:var(--ink);
  box-shadow:0 10px 24px rgba(7,27,91,.08);
}
.pill-credit:hover{background:#fffaf0;box-shadow:0 12px 28px rgba(199,163,74,.18);}
.pill-label{color:#56657d;font-weight:700}

.card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(7,27,91,.10);
  box-shadow:var(--shadow);
  position:relative;overflow:hidden;
}
.card::before{
  content:"";position:absolute;left:0;top:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--blue),var(--gold),transparent 70%);
  opacity:.82;
}
.card.lift:hover{transform:translateY(-3px);border-color:rgba(199,163,74,.45);box-shadow:var(--glow)}
.card-title{
  color:#33435f;font:800 11px/1.2 var(--font-ui);letter-spacing:.18em;
}
.card-title .ic{color:var(--blue)}
.stat .stat-label{color:#56657d;font-weight:800;letter-spacing:.16em}
.stat .stat-value{color:var(--ink);font-weight:800;letter-spacing:-.03em}
.num{font-family:var(--font-ui);font-weight:700;font-variant-numeric:tabular-nums}
.money-precision-tail{font-weight:400;opacity:.62}

.btn{
  color:#fff;background:linear-gradient(135deg,var(--blue),#071b5b 55%,#001f5b);
  border-color:rgba(0,43,128,.55);border-radius:999px;text-transform:uppercase;
  font-weight:800;letter-spacing:.08em;
}
.btn:hover{filter:none;box-shadow:0 12px 28px rgba(0,43,128,.22);transform:translateY(-2px)}
.btn-ghost{color:var(--ink);background:#fff;border-color:rgba(7,27,91,.14);border-radius:999px;font-weight:700}
.btn-ghost:hover{border-color:var(--gold);background:#fffaf0}

.table-wrap{background:#fff;border-color:rgba(7,27,91,.10)}
.table th{background:#f7f9fc;color:#33435f;border-bottom-color:rgba(7,27,91,.12);font-weight:800}
.table td{color:#263651;border-bottom-color:rgba(7,27,91,.08)}
.table tbody tr:hover{background:#fffaf0}

.mod .mod-ic{background:#f7f9fc;border-color:rgba(7,27,91,.12);color:var(--blue)}
.mod h3,.task h4,.kcard h4{color:var(--ink);font-weight:800}
.mod .cat{color:var(--bronze-dark);font-weight:900}
.mod .blurb,.task p,.kcard p,.muted{color:#56657d}
.badge.ok{color:#1f7d55;background:rgba(47,156,103,.08)}
.badge.warn{color:#9b6918;background:rgba(237,176,89,.14)}
.badge.info{color:#075aa8;background:rgba(26,126,251,.10)}
.badge.bad{color:#9b2c2c;background:rgba(205,92,92,.10)}

.banner.warn{background:#fff8df;color:#7b5617;border-color:rgba(199,163,74,.45)}
.banner.bad{background:#fff2f2;color:#9b2c2c;border-color:rgba(205,92,92,.35)}
.input,select.input,textarea.input{background:#fff;color:var(--ink);border-color:rgba(7,27,91,.16)}
.input:focus{border-color:var(--blue-bright);box-shadow:0 0 0 4px rgba(26,126,251,.12)}
.bar{background:rgba(7,27,91,.08)}
.bar-fill{background:linear-gradient(90deg,var(--blue),var(--gold));box-shadow:0 0 10px rgba(26,126,251,.20)}

/* Entry animation trimmed 27 Jul: .9s of fade-in on every page (content
   starts at opacity 0 with fill-mode both) was delaying perceived load.
   Kept as polish, shortened so it never gets in the way. */
.content{animation:hr-fade-up .2s cubic-bezier(.22,.61,.36,1) both}
.card,.mod,.task,.kcard{animation:hr-fade-up .22s cubic-bezier(.22,.61,.36,1) both}
.grid > *:nth-child(2),.mods > *:nth-child(2),.task:nth-child(2){animation-delay:.02s}
.grid > *:nth-child(3),.mods > *:nth-child(3),.task:nth-child(3){animation-delay:.04s}
.grid > *:nth-child(4),.mods > *:nth-child(4),.task:nth-child(4){animation-delay:.06s}
.sidebar{animation:hr-slide-left .75s cubic-bezier(.77,0,.175,1) both}
.topbar{animation:hr-fade-down .65s cubic-bezier(.77,0,.175,1) both}
@keyframes hr-fade-up{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes hr-fade-down{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:none}}
@keyframes hr-slide-left{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}

/* Proposal-page influence: dashboard-first executive operating layer */
.hr-ops-hero{
  display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:end;
  margin:0 0 22px;padding:34px 38px;border-radius:24px;overflow:hidden;position:relative;
  color:#fff;background:
    radial-gradient(620px 260px at 88% 0%,rgba(199,163,74,.30),transparent 62%),
    linear-gradient(135deg,#071b5b 0%,#002b80 62%,#001f5b 100%);
  box-shadow:0 24px 70px rgba(7,27,91,.20);
  animation:hr-fade-up .9s cubic-bezier(.77,0,.175,1) both;
}
.hr-ops-hero::before{content:"";position:absolute;left:38px;top:0;width:150px;height:4px;background:linear-gradient(90deg,var(--gold),transparent)}
.hr-ops-hero::after{content:"";position:absolute;right:-80px;bottom:-90px;width:280px;height:280px;border:1px solid rgba(255,255,255,.12);border-radius:50%}
.hr-kicker{margin:0 0 10px;font:800 12px/1.2 var(--font-accent);letter-spacing:.18em;text-transform:uppercase;color:var(--gold-bright)}
.hr-ops-hero h2{margin:0;max-width:760px;font:700 clamp(30px,4vw,56px)/1.04 var(--font-display);letter-spacing:-.035em;text-wrap:balance}
.hr-hero-copy{max-width:760px;margin:15px 0 0;color:rgba(255,255,255,.82);font-size:15.5px;line-height:1.7}
.hr-hero-stack{display:grid;gap:10px;position:relative;z-index:1}
.hr-hero-stack span{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.08);backdrop-filter:blur(8px);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.72)}
.hr-hero-stack b{font:800 20px/1 var(--font-ui);letter-spacing:-.02em;color:#fff;text-transform:none}
@media(max-width:900px){.hr-ops-hero{grid-template-columns:1fr;padding:26px 22px}.hr-ops-hero::before{left:22px}.hr-hero-stack{grid-template-columns:1fr}}

/* Portfolio-page influence: image-card polish for dashboard surfaces */
.chart-box,.login-card{background:linear-gradient(180deg,#fff,#f8fafc);border-radius:var(--r)}
.footer{color:#56657d;border-top-color:rgba(7,27,91,.08)}

@media(max-width:900px){
  .sidebar{box-shadow:22px 0 50px rgba(7,27,91,.28);animation:none!important;transform:translateX(-104%)}
  .sidebar.open{transform:translateX(0)}
}
@media (prefers-reduced-motion: reduce){
  .content,.card,.mod,.task,.kcard,.sidebar,.topbar{animation:none!important}
}

/* ---------- Final accessibility/layout overrides ----------
   Keep at EOF so the readable-on-white rules beat earlier Highrise trim styles. */
a,
.table td a,
.card a,
.mod a{
  color:var(--blue);
  font-weight:800;
}
.table td a:hover,
.card a:hover,
.mod a:hover{
  color:#071b5b;
}
.mod .cat,
.table .gold,
.task .due,
.task p.due{
  color:#5f4108;
  font-weight:900;
}
.task{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:start;
}
.task .task-main{min-width:0}
.task .due{
  display:block;
  line-height:1.35;
  white-space:normal;
}
.task .actions{justify-content:flex-end}
@media(max-width:680px){
  .task{
    grid-template-columns:1fr;
    gap:10px;
  }
  .task h4{margin-bottom:5px}
  .task p:not(.due){
    max-width:none;
    line-height:1.45;
  }
  .task .due{
    margin-top:2px;
    justify-self:start;
  }
  .task .actions{
    width:100%;
    justify-content:flex-end;
  }
  .task .actions .btn,
  .task .actions .btn-ghost{
    min-width:128px;
    text-align:center;
    justify-content:center;
  }
}
@media(max-width:420px){
  .task .actions .btn,
  .task .actions .btn-ghost{
    width:100%;
  }
}

/* Buttons must remain readable after the EOF link contrast overrides above. */
.btn,
a.btn,
.mod .btn,
.mod a.btn,
.mods .btn,
.mods a.btn,
.card .btn,
.card a.btn,
.btn:visited,
a.btn:visited,
.mod .btn:visited,
.mod a.btn:visited,
.mods .btn:visited,
.mods a.btn:visited,
.card .btn:visited,
.card a.btn:visited{
  color:#fff!important;
  background:linear-gradient(135deg,var(--blue),#071b5b 55%,#001f5b)!important;
  border-color:rgba(0,43,128,.62)!important;
  opacity:1!important;
  text-decoration:none!important;
}
.btn:hover,
a.btn:hover,
.mod .btn:hover,
.mod a.btn:hover,
.mods .btn:hover,
.mods a.btn:hover,
.card .btn:hover,
.card a.btn:hover{
  color:#fff!important;
  text-decoration:none!important;
}
.btn *,
a.btn *,
.mod .btn *,
.mod a.btn *,
.mods .btn *,
.mods a.btn *,
.card .btn *,
.card a.btn *,
.btn svg,
a.btn svg,
.btn svg *,
a.btn svg *{
  color:inherit!important;
  opacity:1!important;
  stroke:currentColor!important;
}
.btn svg [fill]:not([fill="none"]),
a.btn svg [fill]:not([fill="none"]){
  fill:currentColor!important;
}
.mod h3{
  font-family:var(--font-display);
  font-weight:750;
  line-height:1.1;
  letter-spacing:-.02em;
  text-wrap:balance;
}
.mod-head > div{min-width:0}
@media(max-width:680px){
  .mod h3{
    font-size:clamp(19px,5.1vw,25px);
    font-weight:700;
    line-height:1.12;
    letter-spacing:-.025em;
  }
}
/* ---------- HRS Hub model demos ---------- */
.demo-hero{
  display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:end;
  margin:0 0 24px;padding:36px 38px;border-radius:26px;overflow:hidden;position:relative;color:#fff;
  background:radial-gradient(760px 320px at 88% 8%,rgba(199,163,74,.34),transparent 62%),linear-gradient(135deg,#061548 0%,#002b80 60%,#001b50 100%);
  box-shadow:0 26px 70px rgba(7,27,91,.22);
}
.demo-hero::before{content:"";position:absolute;left:38px;top:0;width:170px;height:4px;background:linear-gradient(90deg,var(--gold),transparent)}
.demo-hero::after{content:"";position:absolute;right:-70px;bottom:-95px;width:300px;height:300px;border:1px solid rgba(255,255,255,.14);border-radius:50%}
.demo-hero h2{margin:0;max-width:860px;font:800 clamp(31px,4.2vw,58px)/1.03 var(--font-display);letter-spacing:-.04em;text-wrap:balance}
.demo-hero-panel{display:grid;gap:10px;position:relative;z-index:1}
.demo-hero-panel span{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:12px 14px;border:1px solid rgba(255,255,255,.16);border-radius:15px;background:rgba(255,255,255,.09);backdrop-filter:blur(8px);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.74)}
.demo-hero-panel b{font:900 22px/1 var(--font-ui);color:#fff;text-transform:none}
.demo-section{margin-top:28px}
.demo-section-head{max-width:920px;margin:0 0 16px}
.demo-section-head h2{margin:0;color:var(--ink);font:800 clamp(25px,3vw,38px)/1.05 var(--font-display);letter-spacing:-.03em}
.demo-section-head p{margin:10px 0 0;color:#56657d;font-size:15px;line-height:1.65}
.demo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.demo-card{padding:20px;display:flex;flex-direction:column;gap:13px;min-height:100%}
.demo-card h3{margin:0;color:var(--ink);font:800 clamp(22px,2.2vw,30px)/1.06 var(--font-display);letter-spacing:-.035em;text-wrap:balance}
.demo-card p{margin:0;color:#56657d;line-height:1.58}
.demo-card-top,.demo-stat-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.demo-tag{font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:#5f4108;text-align:right}
.demo-angle{font-weight:800!important;color:#263651!important}
.demo-stat-row{padding:12px 14px;border:1px solid rgba(7,27,91,.10);border-radius:16px;background:linear-gradient(180deg,#f8fbff,#fff)}
.demo-stat{display:block;color:var(--blue);font-size:28px;line-height:1}
.demo-stat-row small{display:block;color:#56657d;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;margin-top:4px}
.demo-workbench,.owner-phone{display:grid;gap:8px;padding:12px;border-radius:18px;background:#f7f9fc;border:1px solid rgba(7,27,91,.10)}
.demo-record,.owner-tile{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:10px 11px;border:1px solid rgba(7,27,91,.10);border-radius:13px;background:#fff;color:var(--ink);cursor:pointer;transition:transform .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease)}
.demo-record:hover,.owner-tile:hover,.demo-record.active,.owner-tile.active{transform:translateY(-1px);border-color:rgba(199,163,74,.55);box-shadow:0 10px 24px rgba(7,27,91,.08)}
.demo-record b,.owner-tile b{display:block;color:var(--ink);font-weight:900;line-height:1.22}
.demo-record small,.owner-tile small{display:block;color:#56657d;margin-top:3px;line-height:1.3}
.demo-record em,.owner-tile em{flex:0 0 auto;font-style:normal;font-weight:900;font-size:11px;color:#5f4108;background:#fff8df;border:1px solid rgba(199,163,74,.35);border-radius:999px;padding:3px 8px}
.demo-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
.demo-detail.pulse,.demo-running{box-shadow:0 0 0 4px rgba(199,163,74,.18), var(--glow)!important;transform:translateY(-2px)}
.demo-detail div{padding:10px 11px;border-radius:13px;background:#fff;border:1px solid rgba(7,27,91,.09)}
.demo-detail span{display:block;color:#56657d;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-bottom:3px}
.demo-detail b{display:block;color:var(--ink);font-size:13px;line-height:1.25}
.demo-flow{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}
.demo-flow li{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#263651;background:#eef4ff;border:1px solid rgba(0,43,128,.12);border-radius:999px;padding:5px 8px}
.demo-why{margin:0;padding-left:18px;color:#56657d;line-height:1.55}
.demo-why li+li{margin-top:5px}
.owner-phone{background:linear-gradient(180deg,#071b5b,#002b80);border-color:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.owner-phone .owner-tile{background:rgba(255,255,255,.96)}
.demo-client-note{margin-top:20px}
.demo-client-note p{margin:0 0 8px;color:#263651;line-height:1.65}
@media(max-width:1180px){.demo-grid{grid-template-columns:1fr 1fr}.demo-hero{grid-template-columns:1fr}}
@media(max-width:760px){.demo-grid{grid-template-columns:1fr}.demo-hero{padding:28px 22px}.demo-hero::before{left:22px}.demo-detail{grid-template-columns:1fr}.demo-card-top,.demo-stat-row{align-items:flex-start}.demo-stat-row{flex-direction:column}.demo-stat-row .btn{width:100%;justify-content:center}}
/* Mobile topbar: keep page title readable beside credit chip. */
@media(max-width:480px){
  .topbar{height:58px;padding:0 10px;gap:8px}
  .nav-toggle{padding:7px 10px;flex:0 0 auto}
  .h-display{font-size:18px;letter-spacing:-.01em;min-width:92px}
  .topbar-right{gap:6px;flex:0 0 auto}
  .pill-credit{padding:6px 8px;gap:5px}
  .pill-credit .dot{width:6px;height:6px}
  .pill-label{display:none}
}


/* Model demo candidate directory + full-page prototypes */
.demo2-hero,.demo2-detail-hero{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:stretch;margin-bottom:24px}.demo2-hero,.demo2-detail{position:relative}.demo2-hero-panel,.demo2-stat-stack{display:grid;gap:12px}.demo2-hero-panel span,.demo2-stat-stack div{border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:16px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));box-shadow:0 18px 50px rgba(0,0,0,.18)}.demo2-hero-panel b,.demo2-stat-stack b{display:block;font-size:28px}.demo2-section{margin:28px 0}.demo2-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.demo2-link-card{display:flex;flex-direction:column;gap:13px;min-height:280px;text-decoration:none;color:inherit;position:relative;overflow:hidden}.demo2-link-card:before{content:"";position:absolute;inset:auto -20% -35% -20%;height:120px;background:radial-gradient(circle,rgba(76,201,240,.24),transparent 65%);pointer-events:none}.demo2-link-card.owner:before{background:radial-gradient(circle,rgba(88,214,141,.22),transparent 65%)}.demo2-card-no{position:absolute;right:18px;top:14px;opacity:.25;font-size:42px;font-weight:800}.demo2-card-meta{margin-top:auto;display:grid;gap:8px}.demo2-card-meta span{color:var(--muted)}.demo2-detail-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.demo2-detail{min-height:calc(100vh - 150px)}.demo2-detail.command{--accent:#4cc9f0}.demo2-detail.evidence{--accent:#ffd166}.demo2-detail.radar{--accent:#ff5c7a}.demo2-detail.concierge{--accent:#58d68d}.demo2-detail.committee{--accent:#b18cff}.demo2-detail.answerdesk{--accent:#64dfdf}.demo2-detail-hero h2{font-size:clamp(34px,5vw,64px);line-height:.95;max-width:960px}.demo2-detail-hero{padding:24px;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025))}.demo2-chipline{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.demo2-chipline span{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);padding:8px 11px;border-radius:999px;font-size:12px}.panel{border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(255,255,255,.055);padding:18px;box-shadow:0 18px 50px rgba(0,0,0,.18)}.demo2-command-grid{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:18px;margin:22px 0}.demo2-select{display:block;width:100%;text-align:left;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:inherit;border-radius:16px;padding:13px;margin-bottom:10px}.demo2-select.active{border-color:var(--accent);box-shadow:0 0 0 3px rgba(76,201,240,.18)}.demo2-select small{display:block;color:var(--muted);margin-top:5px}.demo2-routing dl{display:grid;grid-template-columns:110px 1fr;gap:10px}.demo2-routing dt{color:var(--muted)}.demo2-progress{height:12px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;margin:18px 0}.demo2-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),rgba(255,255,255,.2));border-radius:999px}.demo2-evidence-layout,.demo2-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.evidence-card,.motion-card{display:flex;flex-direction:column;gap:10px}.evidence-card .actions{margin-top:auto}.demo2-radar-layout,.demo2-phone-layout,.demo2-answer-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px;margin:22px 0}.demo2-radar-orb{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;position:relative;background:radial-gradient(circle,rgba(255,92,122,.34),rgba(255,255,255,.04) 58%,transparent 60%);border:1px solid rgba(255,92,122,.38)}.demo2-radar-orb span{position:absolute;inset:20%;border-radius:50%;border:1px dashed rgba(255,92,122,.55)}.risk-row{display:grid;grid-template-columns:1fr 70px auto;gap:14px;align-items:center;margin-bottom:12px}.heat{color:var(--accent)}.demo2-phone{border:1px solid rgba(255,255,255,.14);border-radius:34px;padding:18px;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.035));box-shadow:0 30px 80px rgba(0,0,0,.28)}.phone-top{text-align:center;font-weight:700;margin-bottom:14px}.demo2-votes{display:flex;justify-content:space-between;gap:10px;padding:10px;border-radius:14px;background:rgba(255,255,255,.06)}.qa{border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px;margin-bottom:12px;background:rgba(255,255,255,.04)}.qa span{display:inline-block;margin-top:8px;color:var(--accent);font-size:12px}.ghost{background:rgba(255,255,255,.06)!important}.source-panel{align-self:start}@media (max-width:1100px){.demo2-link-grid,.demo2-command-grid,.demo2-evidence-layout,.demo2-board{grid-template-columns:1fr 1fr}.demo2-hero,.demo2-detail-hero,.demo2-radar-layout,.demo2-phone-layout,.demo2-answer-layout{grid-template-columns:1fr}.demo2-radar-orb{max-width:360px}}@media (max-width:720px){.demo2-link-grid,.demo2-command-grid,.demo2-evidence-layout,.demo2-board{grid-template-columns:1fr}.demo2-detail-top{align-items:flex-start;flex-direction:column}.risk-row{grid-template-columns:1fr}.demo2-detail-hero{padding:18px}.demo2-detail-hero h2{font-size:36px}.demo2-phone{border-radius:24px}}

/* Real-module refinement for HRS model demo detail pages */
.real-module .module-topbar-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.real-module .live-dot{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.real-module .live-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent)}.module-app-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin:6px 0 18px;padding:24px;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025))}.module-app-head h2{margin:0;font-size:clamp(32px,4.6vw,58px);line-height:.95}.module-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.module-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}.module-tabs button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);color:var(--text);border-radius:999px;padding:10px 14px;cursor:pointer}.module-tabs button.active{border-color:color-mix(in srgb,var(--accent) 70%,white 10%);background:color-mix(in srgb,var(--accent) 18%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--accent) 25%,transparent)}.module-stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.module-stat-strip div,.module-panel{border:1px solid rgba(255,255,255,.11);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:0 18px 50px rgba(0,0,0,.16)}.module-stat-strip div{padding:16px}.module-stat-strip b{display:block;font-size:25px}.module-stat-strip span,.panel-head span,.module-panel small,.module-demo-status{color:var(--muted)}.module-workspace{display:grid;gap:16px;align-items:stretch}.module-panel{padding:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.panel-head h3,.module-panel h3{margin:0}.command-workspace{grid-template-columns:310px minmax(0,1fr) 260px}.queue-panel{display:grid;gap:10px}.queue-item{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(0,0,0,.18);color:var(--text);padding:14px;cursor:pointer}.queue-item span{display:grid;gap:4px}.queue-item small{color:var(--muted)}.queue-item em{color:var(--accent);font-style:normal;font-weight:800}.queue-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,rgba(0,0,0,.15))}.routing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.routing-grid div,.next-action,.owner-cards div,.reply-draft,.facts div{border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:14px;background:rgba(0,0,0,.15)}.routing-grid span,.next-action span,.reply-draft span,.facts dt{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.next-action{margin-top:12px}.next-action p,.reply-draft p{margin:.35rem 0 0}.case-builder{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.case-builder span{border-radius:999px;padding:9px 11px;background:color-mix(in srgb,var(--accent) 14%,rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.1)}.sla-panel .countdown{font-size:42px;color:var(--accent);margin:12px 0}.evidence-workspace{grid-template-columns:minmax(0,1fr) 280px}.evidence-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.facts{display:grid;gap:10px;margin:14px 0}.facts dd{margin:3px 0 0}.filing-panel ul,.access-panel ul{padding-left:20px}.radar-workspace{grid-template-columns:310px minmax(0,1fr)}.heatbar{position:relative;display:grid;grid-template-columns:1fr 38px;gap:10px;align-items:center;margin:16px 0}.heatbar b{position:absolute;left:0;bottom:-7px;height:5px;border-radius:99px;background:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 45%,transparent)}.heatbar em{font-style:normal;color:var(--accent);font-weight:800}.risk-board{display:grid;gap:12px}.risk-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:14px;align-items:center}.risk-timer{display:grid;gap:4px;text-align:center}.risk-timer b{font-size:24px;color:var(--accent)}.concierge-workspace{grid-template-columns:300px minmax(0,1fr) 260px}.owner-dashboard .owner-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.owner-cards b{display:block;margin-bottom:7px}.committee-workspace{grid-template-columns:minmax(0,1fr) 280px}.motion-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.vote-meter{display:grid;gap:8px;margin:14px 0;padding:12px;border-radius:14px;background:rgba(0,0,0,.14)}.decision-log ol{padding-left:22px}.answerdesk-workspace{grid-template-columns:minmax(0,1fr) 280px}.qa{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(0,0,0,.15);margin-bottom:12px}.qa div{display:flex;gap:9px;flex-wrap:wrap}.qa span,.qa em{border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.07);font-size:12px;color:var(--muted);font-style:normal}.ask-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:14px}.ask-row input{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 14px;background:rgba(0,0,0,.22);color:var(--text)}.source-panel{display:grid;gap:10px}.source-panel button{border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.05);color:var(--text);padding:11px;text-align:left}.module-demo-status{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:18px;padding:13px 16px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:rgba(0,0,0,.14);font-size:13px}@media (max-width:1100px){.command-workspace,.evidence-workspace,.radar-workspace,.concierge-workspace,.committee-workspace,.answerdesk-workspace{grid-template-columns:1fr}.evidence-list,.motion-board{grid-template-columns:1fr}.module-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-row{grid-template-columns:1fr}}@media (max-width:700px){.module-app-head{display:grid}.module-stat-strip,.routing-grid,.owner-dashboard .owner-cards{grid-template-columns:1fr}.module-actions{justify-content:flex-start}.module-demo-status{display:grid}}

/* =========================================================================
   Module Demos 2 â integrated Tender Demos page
   Source: highrise-hub-demos---eac14db2-037d-4a75-80ff-70288ed7f5f3.html
   CSS is scoped so the imported demo keeps its behaviour without overriding
   the HRS Hub shell/nav/topbar.
   ========================================================================= */
.module-demos-2-shell{
  margin:-24px;
  border-radius:0;
  overflow:hidden;
  background:#070F1C;
  box-shadow:var(--shadow);
}
.page-module-demos-2 .main-col > .topbar,
.page-module-demos-2 .main-col > .footer,
.main-col:has(.module-demos-2-shell) > .topbar,
.main-col:has(.module-demos-2-shell) > .footer{
  display:none;
}
.page-module-demos-2 .content,
.content:has(> .module-demos-2-shell){
  max-width:none;
  padding:0;
}
.page-module-demos-2 .module-demos-2-shell,
.content:has(> .module-demos-2-shell) > .module-demos-2-shell{
  margin:0;
  min-height:100vh;
  overflow:visible;
  box-shadow:none;
}
.module-demos-2{
  min-height:calc(100vh - 64px);
  color:var(--text);
  isolation:isolate;
}
.module-demos-2-note{
  margin:0 0 16px;
  padding:12px 16px;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:rgba(201,162,39,.08);
  color:var(--muted);
}
@media(max-width:760px){
  .module-demos-2-shell{margin:-16px;}
  .page-module-demos-2 .module-demos-2-shell,
  .content:has(> .module-demos-2-shell) > .module-demos-2-shell{margin:0;}
  .page-module-demos-2 .module-demos-2 .topbar,
  .content:has(> .module-demos-2-shell) .module-demos-2 .topbar{
    position:relative;
    top:auto;
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    gap:12px;
    padding:16px;
  }
  .page-module-demos-2 .module-demos-2 .spacer,
  .content:has(> .module-demos-2-shell) .module-demos-2 .spacer{display:none;}
  .page-module-demos-2 .module-demos-2 .seg,
  .content:has(> .module-demos-2-shell) .module-demos-2 .seg{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .page-module-demos-2 .module-demos-2 .seg button,
  .content:has(> .module-demos-2-shell) .module-demos-2 .seg button{
    padding:10px 8px;
    min-width:0;
  }
  .page-module-demos-2 .module-demos-2 .tag,
  .content:has(> .module-demos-2-shell) .module-demos-2 .tag{justify-self:start;}
  .page-module-demos-2 .module-demos-2 .subnav,
  .content:has(> .module-demos-2-shell) .module-demos-2 .subnav{
    position:relative;
    top:auto;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    padding:12px 16px;
  }
  .page-module-demos-2 .module-demos-2 .subnav .lbl,
  .content:has(> .module-demos-2-shell) .module-demos-2 .subnav .lbl{flex:0 0 auto;}
  .page-module-demos-2 .module-demos-2 .pill,
  .content:has(> .module-demos-2-shell) .module-demos-2 .pill{white-space:nowrap;}
  .page-module-demos-2 .module-demos-2 .deck,
  .page-module-demos-2 .module-demos-2 .lobby,
  .content:has(> .module-demos-2-shell) .module-demos-2 .deck,
  .content:has(> .module-demos-2-shell) .module-demos-2 .lobby{padding:18px 16px 48px;}
}

/* ============ TOKENS ============ */
.module-demos-2{
  /* command deck (dark) */
  --nv-900:#0A1526; --nv-850:#0C1A2F; --nv-800:#0E1D33; --nv-750:#12244166;
  --nv-700:#15294A; --nv-600:#1B3358; --nv-550:#23426c;
  --edge:rgba(201,162,75,.16); --edge-2:rgba(201,162,75,.30);
  --brass:#C8A24B; --brass-2:#EAD08A; --brass-d:#9A7B2C;
  --t1:#EAF1FA; --t2:#9FB2CC; --t3:#6B81A1;
  --ok:#56B98A; --warn:#E2A951; --hot:#DB6B5C; --info:#6AA6C9; --plum:#9d7ad1;
  /* lobby (light) */
  --pp:#F4F0E6; --pp-2:#FBF8F1; --card:#FFFFFF;
  --ink:#11243F; --ink-2:#52617A; --ink-3:#8A97AC;
  --line:rgba(17,36,63,.10); --line-2:rgba(17,36,63,.18);
  --shadow:0 1px 2px rgba(10,21,38,.06),0 8px 30px rgba(10,21,38,.08);
  --shadow-lg:0 20px 60px rgba(10,21,38,.18);
  /* type */
  --disp:var(--font-display,'Fraunces',Georgia,serif);
  --ui:var(--font-ui,'IBM Plex Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif);
  --mono:var(--font-mono,'IBM Plex Mono',ui-monospace,Menlo,monospace);
  --r:14px; --r-s:10px; --r-xs:7px;
}
.module-demos-2 *{box-sizing:border-box}
.module-demos-2, .module-demos-2{margin:0;padding:0}
.module-demos-2{
  font-family:var(--ui); color:var(--t1);
  background:#070F1C;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.module-demos-2 button{font-family:inherit; cursor:pointer; border:0; background:none; color:inherit}
.module-demos-2 input, .module-demos-2 textarea, .module-demos-2 select{font-family:inherit}
.module-demos-2 a{color:inherit}
.module-demos-2 ::selection{background:var(--brass);color:#0A1526}
.module-demos-2 :focus-visible{outline:2px solid var(--brass-2); outline-offset:2px; border-radius:6px}

/* ============ TOPBAR + NAV ============ */
.module-demos-2 .topbar{
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; gap:18px;
  padding:14px 26px;
  background:linear-gradient(180deg,#0A1526 0%,#0A1526f0 100%);
  border-bottom:1px solid var(--edge);
  backdrop-filter:blur(8px);
}
.module-demos-2 .brand{display:flex; align-items:center; gap:13px; min-width:0}
.module-demos-2 .mark{
  width:38px;height:38px;flex:none;border-radius:9px;
  background:radial-gradient(120% 120% at 30% 10%,#1B3358,#0A1526);
  border:1px solid var(--edge-2);
  display:grid;place-items:center; box-shadow:inset 0 0 22px rgba(201,162,75,.10);
}
.module-demos-2 .mark svg{width:21px;height:21px}
.module-demos-2 .brand .bn{font-family:var(--disp); font-weight:600; font-size:19px; letter-spacing:.2px; line-height:1;color:#fff}
.module-demos-2 .brand .bs{font-size:11px; color:var(--t3); letter-spacing:.16em; text-transform:uppercase; margin-top:4px}
.module-demos-2 .spacer{flex:1}
.module-demos-2 .tag{font-size:11px;color:var(--t3);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--edge);padding:6px 11px;border-radius:999px}

.module-demos-2 .seg{display:flex;gap:4px;background:#0E1D33;border:1px solid var(--edge);padding:4px;border-radius:12px}
.module-demos-2 .seg button{padding:8px 16px;border-radius:9px;font-size:13px;font-weight:600;color:var(--t2);letter-spacing:.01em;transition:.18s}
.module-demos-2 .seg button .d{font-size:10px;font-weight:500;color:var(--t3);letter-spacing:.1em;text-transform:uppercase;display:block;margin-top:2px}
.module-demos-2 .seg button:hover{color:var(--t1)}
.module-demos-2 .seg button.on{background:linear-gradient(180deg,#1B3358,#15294A);color:#fff;box-shadow:inset 0 0 0 1px var(--edge-2)}
.module-demos-2 .seg button.on .d{color:var(--brass-2)}

.module-demos-2 .subnav{
  display:flex; align-items:center; gap:10px;
  padding:13px 26px; background:#0A1526; border-bottom:1px solid var(--edge);
  position:sticky; top:67px; z-index:40;
}
.module-demos-2 .subnav .lbl{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);margin-right:4px}
.module-demos-2 .pill{
  display:flex;align-items:center;gap:9px;
  padding:8px 14px;border-radius:999px;border:1px solid var(--edge);
  font-size:12.5px;font-weight:600;color:var(--t2);transition:.18s
}
.module-demos-2 .pill .num{font-family:var(--mono);font-size:11px;color:var(--brass);opacity:.8}
.module-demos-2 .pill:hover{border-color:var(--edge-2);color:var(--t1)}
.module-demos-2 .pill.on{background:var(--brass);color:#0A1526;border-color:var(--brass)}
.module-demos-2 .pill.on .num{color:#0A1526;opacity:.65}
.module-demos-2 .subnav .approach{margin-left:auto;font-size:12px;color:var(--t3);font-style:italic;max-width:46ch;text-align:right}

/* ============ STAGE / MODULES ============ */
.module-demos-2 .stage{min-height:calc(100vh - 130px)}
.module-demos-2 .module{display:none}
.module-demos-2 .module.show{display:block}

/* shared deck shell */
.module-demos-2 .deck{padding:24px 26px 60px; background:
   radial-gradient(900px 500px at 85% -10%,rgba(27,51,88,.5),transparent 60%),
   linear-gradient(180deg,#0A1526,#070F1C 70%);
   min-height:calc(100vh - 130px)}
.module-demos-2 .deck-head{display:flex;align-items:flex-end;gap:18px;margin-bottom:20px;flex-wrap:wrap}
.module-demos-2 .deck-head h2{font-family:var(--disp);font-weight:600;font-size:26px;margin:0;color:#fff;letter-spacing:.2px}
.module-demos-2 .deck-head p{margin:6px 0 0;color:var(--t2);font-size:13.5px;max-width:64ch;line-height:1.5}
.module-demos-2 .eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:8px}

/* panels */
.module-demos-2 .panel{background:linear-gradient(180deg,#0E1D33,#0C1A2F);border:1px solid var(--edge);border-radius:var(--r);overflow:hidden}
.module-demos-2 .panel-h{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--edge)}
.module-demos-2 .panel-h h3{margin:0;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--t1)}
.module-demos-2 .panel-h .sub{font-size:11.5px;color:var(--t3)}
.module-demos-2 .panel-h .cnt{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--brass);background:#0A1526;border:1px solid var(--edge);padding:3px 9px;border-radius:999px}

/* chips */
.module-demos-2 .chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 9px;border-radius:999px;letter-spacing:.01em;white-space:nowrap;border:1px solid transparent}
.module-demos-2 .chip svg{width:12px;height:12px}
.module-demos-2 .chip--bld{background:rgba(106,166,201,.12);color:#a9d2ea;border-color:rgba(106,166,201,.28)}
.module-demos-2 .chip--dept{background:rgba(201,162,75,.13);color:var(--brass-2);border-color:rgba(201,162,75,.34)}
.module-demos-2 .chip--intent{background:rgba(157,122,209,.13);color:#cdb6ec;border-color:rgba(157,122,209,.3)}
.module-demos-2 .chip--ok{background:rgba(86,185,138,.13);color:#8fe0bb;border-color:rgba(86,185,138,.32)}
.module-demos-2 .chip--warn{background:rgba(226,169,81,.14);color:#f0c887;border-color:rgba(226,169,81,.34)}
.module-demos-2 .chip--hot{background:rgba(219,107,92,.15);color:#f3a99f;border-color:rgba(219,107,92,.36)}
.module-demos-2 .chip--ghost{background:#0A1526;color:var(--t2);border-color:var(--edge)}

.module-demos-2 .dot{width:7px;height:7px;border-radius:50%;flex:none;display:inline-block}
.module-demos-2 .dot.ok{background:var(--ok)} .module-demos-2 .dot.warn{background:var(--warn)} .module-demos-2 .dot.hot{background:var(--hot)} .module-demos-2 .dot.info{background:var(--info)} .module-demos-2 .dot.idle{background:var(--t3)}

/* buttons */
.module-demos-2 .btn{display:inline-flex;align-items:center;gap:8px;padding:9px 15px;border-radius:var(--r-s);font-size:12.5px;font-weight:600;transition:.16s;border:1px solid var(--edge)}
.module-demos-2 .btn svg{width:15px;height:15px}
.module-demos-2 .btn:hover{border-color:var(--edge-2)}
.module-demos-2 .btn--brass{background:linear-gradient(180deg,var(--brass-2),var(--brass));color:#1a1304;border-color:var(--brass-d);box-shadow:0 4px 14px rgba(201,162,75,.22)}
.module-demos-2 .btn--brass:hover{filter:brightness(1.05)}
.module-demos-2 .btn--ghost{background:#0E1D33;color:var(--t1)}
.module-demos-2 .btn--sm{padding:6px 11px;font-size:11.5px}
.module-demos-2 .btn[disabled]{opacity:.4;cursor:not-allowed}

/* generic mono / muted */
.module-demos-2 .mono{font-family:var(--mono)}
.module-demos-2 .muted{color:var(--t2)}
.module-demos-2 .tiny{font-size:11px;color:var(--t3)}
.module-demos-2 .grid{display:grid;gap:14px}

/* scrollbars */
.module-demos-2 .scroll{overflow:auto}
.module-demos-2 .scroll::-webkit-scrollbar{width:9px;height:9px}
.module-demos-2 .scroll::-webkit-scrollbar-thumb{background:#1B3358;border-radius:9px;border:2px solid transparent;background-clip:padding-box}
.module-demos-2 .scroll::-webkit-scrollbar-track{background:transparent}

/* toast */
.module-demos-2 .toast-wrap{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center}
.module-demos-2 .toast{background:#0E1D33;border:1px solid var(--edge-2);color:var(--t1);padding:11px 16px;border-radius:11px;font-size:13px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;animation:rise .3s ease}
.module-demos-2 .toast .ic{width:22px;height:22px;border-radius:6px;background:rgba(86,185,138,.16);display:grid;place-items:center;color:var(--ok);flex:none}
.module-demos-2 .toast .ref{font-family:var(--mono);font-size:11px;color:var(--brass-2)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes fadeOut{to{opacity:0;transform:translateY(6px)}}

/* ===== LOBBY (light, owner-facing) shell ===== */
.module-demos-2 .lobby{padding:24px 26px 60px;background:
   radial-gradient(800px 420px at 88% -8%,#fff,transparent 60%),
   linear-gradient(180deg,#F4F0E6,#EDE7D9 90%);
   min-height:calc(100vh - 130px); color:var(--ink)}
.module-demos-2 .lobby .deck-head h2{color:var(--ink)}
.module-demos-2 .lobby .deck-head p{color:var(--ink-2)}
.module-demos-2 .lobby .eyebrow{color:var(--brass-d)}

@media (prefers-reduced-motion:reduce){
  .module-demos-2 *{animation-duration:.001ms !important;transition-duration:.001ms !important}
}
/* ===== TRIAGE A : Triage Deck ===== */
.module-demos-2 .tr-a .wrap{display:grid;grid-template-columns:374px 1fr;gap:16px;align-items:start}
.module-demos-2 .tr-a .qpanel{height:calc(100vh - 250px);display:flex;flex-direction:column}
.module-demos-2 .tr-a .qlist{flex:1}
.module-demos-2 .tr-a .mc{padding:13px 15px;border-bottom:1px solid var(--edge);cursor:pointer;transition:.15s;position:relative}
.module-demos-2 .tr-a .mc:hover{background:#0F213A}
.module-demos-2 .tr-a .mc.sel{background:#14284766;box-shadow:inset 3px 0 0 var(--brass)}
.module-demos-2 .tr-a .mc.done{opacity:.45}
.module-demos-2 .tr-a .mc .top{display:flex;align-items:center;gap:8px;margin-bottom:4px;padding-right:62px}
.module-demos-2 .tr-a .mc .nm{font-weight:600;font-size:13px;color:var(--t1)}
.module-demos-2 .tr-a .mc .inbox{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--t3)}
.module-demos-2 .tr-a .mc .sj{font-size:12.5px;color:var(--t2);margin:0 0 8px;line-height:1.35;padding-right:40px}
.module-demos-2 .tr-a .mc .chips{display:flex;gap:5px;flex-wrap:wrap}
.module-demos-2 .tr-a .mc .pri{position:absolute;top:15px;right:15px}
.module-demos-2 .tr-a .read{height:calc(100vh - 250px)}
.module-demos-2 .tr-a .rh{padding:18px 20px;border-bottom:1px solid var(--edge)}
.module-demos-2 .tr-a .rh h3{margin:0 0 5px;font-size:18px;font-family:var(--disp);color:#fff;font-weight:600;line-height:1.2}
.module-demos-2 .tr-a .rh .meta{font-size:12px;color:var(--t3);font-family:var(--mono)}
.module-demos-2 .tr-a .body{padding:18px 20px;color:var(--t2);font-size:13.5px;line-height:1.65;border-bottom:1px solid var(--edge)}
.module-demos-2 .tr-a .sect{padding:16px 20px;border-bottom:1px solid var(--edge)}
.module-demos-2 .tr-a .lbl2{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:13px;display:flex;align-items:center;gap:8px}
.module-demos-2 .tr-a .lbl2 svg{width:14px;height:14px}
.module-demos-2 .tr-a .route{display:flex;align-items:stretch;gap:9px;flex-wrap:wrap}
.module-demos-2 .tr-a .rstep{display:flex;flex-direction:column;gap:3px;background:#0A1526;border:1px solid var(--edge);padding:9px 13px;border-radius:10px;min-width:0}
.module-demos-2 .tr-a .rstep .k{font-size:9.5px;color:var(--t3);text-transform:uppercase;letter-spacing:.12em}
.module-demos-2 .tr-a .rstep .v{font-size:13px;color:var(--t1);font-weight:600;white-space:nowrap}
.module-demos-2 .tr-a .rstep .v small{color:var(--t3);font-weight:500;font-family:var(--mono);font-size:10px}
.module-demos-2 .tr-a .arrow{display:flex;align-items:center;color:var(--brass);opacity:.55;font-size:16px}
.module-demos-2 .tr-a .conf{display:flex;align-items:center;gap:11px;margin-top:14px}
.module-demos-2 .tr-a .conf .cv{font-family:var(--mono);font-size:12px;color:var(--brass-2);min-width:38px}
.module-demos-2 .tr-a .meter{flex:1;height:6px;background:#0A1526;border-radius:6px;overflow:hidden;border:1px solid var(--edge)}
.module-demos-2 .tr-a .meter i{display:block;height:100%;background:linear-gradient(90deg,var(--brass-d),var(--brass-2));transition:width .5s}
.module-demos-2 .tr-a .why{font-size:12px;color:var(--t3);margin-top:9px;line-height:1.5}
.module-demos-2 .tr-a .att{display:flex;align-items:flex-start;gap:12px;background:#0A1526;border:1px solid var(--edge);border-radius:10px;padding:11px 13px;margin-bottom:8px}
.module-demos-2 .tr-a .att .ficon{width:36px;height:36px;border-radius:8px;background:#15294A;display:grid;place-items:center;color:var(--brass);flex:none}
.module-demos-2 .tr-a .att .fn{font-size:12.5px;font-weight:600;color:var(--t1)}
.module-demos-2 .tr-a .att .fp{font-family:var(--mono);font-size:10.5px;color:var(--t3);margin-top:3px;line-height:1.4}
.module-demos-2 .tr-a .att .ftags{display:flex;gap:5px;margin-top:7px;flex-wrap:wrap}
.module-demos-2 .tr-a .selfix{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.module-demos-2 .tr-a select{background:#0A1526;border:1px solid var(--edge);color:var(--t1);border-radius:8px;padding:8px 11px;font-size:12.5px}
.module-demos-2 .tr-a .actions{display:flex;gap:10px;padding:16px 20px;flex-wrap:wrap}
.module-demos-2 .tr-a .casecard{background:rgba(86,185,138,.06);border:1px solid rgba(86,185,138,.3);border-radius:10px;padding:14px 16px}
.module-demos-2 .tr-a .casecard .cr{font-family:var(--mono);color:#8fe0bb;font-size:13px;font-weight:500}
.module-demos-2 .tr-a .kpis{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}
.module-demos-2 .tr-a .kpi{background:#0E1D33;border:1px solid var(--edge);border-radius:12px;padding:12px 17px;flex:1;min-width:118px}
.module-demos-2 .tr-a .kpi .n{font-family:var(--disp);font-weight:600;font-size:25px;color:#fff;line-height:1}
.module-demos-2 .tr-a .kpi .l{font-size:11px;color:var(--t3);margin-top:5px}
@media(max-width:920px){.module-demos-2 .tr-a .wrap{grid-template-columns:1fr}.module-demos-2 .tr-a .qpanel, .module-demos-2 .tr-a .read{height:auto;max-height:560px;overflow:auto}}
/* ===== TRIAGE B : Routing Floor ===== */
.module-demos-2 .tr-b .wrap{display:grid;grid-template-columns:328px 1fr;gap:18px;align-items:start}
.module-demos-2 .tr-b .qpanel{height:calc(100vh - 250px);display:flex;flex-direction:column}
.module-demos-2 .tr-b .qhead{display:flex;gap:8px;padding:12px 14px;border-bottom:1px solid var(--edge)}
.module-demos-2 .tr-b .qlist{flex:1}
.module-demos-2 .tr-b .qi{padding:11px 14px;border-bottom:1px solid var(--edge);transition:.4s;position:relative}
.module-demos-2 .tr-b .qi .nm{font-weight:600;font-size:12.5px}
.module-demos-2 .tr-b .qi .sj{font-size:11.5px;color:var(--t2);margin:2px 0 7px;line-height:1.3}
.module-demos-2 .tr-b .qi.gone{opacity:0;transform:translateX(-12px);max-height:0;padding:0 14px;overflow:hidden;border:0}
.module-demos-2 .tr-b .qi .rb{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.module-demos-2 .tr-b .qi .inbox{font-family:var(--mono);font-size:9.5px;color:var(--t3);margin-left:auto}
.module-demos-2 .tr-b .tower{position:relative;padding-left:18px}
.module-demos-2 .tr-b .tower:before{content:"";position:absolute;left:0;top:18px;bottom:36px;width:2px;background:linear-gradient(180deg,var(--brass),transparent)}
.module-demos-2 .tr-b .roof{display:flex;align-items:center;justify-content:center;height:26px;margin:0 0 8px 6px;border-top:2px solid var(--brass);border-left:2px solid var(--edge-2);border-right:2px solid var(--edge-2);border-radius:7px 7px 0 0;background:linear-gradient(180deg,#15294A,transparent);max-width:560px}
.module-demos-2 .tr-b .roof span{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-2)}
.module-demos-2 .tr-b .floor{background:linear-gradient(180deg,#0E1D33,#0C1A2F);border:1px solid var(--edge);border-radius:10px;margin-bottom:8px;overflow:hidden;transition:.2s}
.module-demos-2 .tr-b .floor:hover{border-color:var(--edge-2)}
.module-demos-2 .tr-b .frow{display:flex;align-items:center;gap:14px;padding:13px 15px;cursor:pointer}
.module-demos-2 .tr-b .fname{font-family:var(--disp);font-size:15px;font-weight:600;color:#fff}
.module-demos-2 .tr-b .fmeta{font-family:var(--mono);font-size:10.5px;color:var(--t3);margin-top:2px}
.module-demos-2 .tr-b .pockets{display:flex;gap:8px;margin-left:auto}
.module-demos-2 .tr-b .pk{display:flex;flex-direction:column;align-items:center;gap:3px;background:#0A1526;border:1px solid var(--edge);border-radius:9px;padding:7px 12px;min-width:74px;transition:.25s}
.module-demos-2 .tr-b .pk .pl{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--t3)}
.module-demos-2 .tr-b .pk .pc{font-family:var(--disp);font-size:19px;font-weight:600;color:var(--t2);line-height:1}
.module-demos-2 .tr-b .pk.has .pc{color:var(--brass-2)}
.module-demos-2 .tr-b .pk.has{border-color:var(--edge-2);background:#12243f}
.module-demos-2 .tr-b .pk.flash{animation:pkflash .6s ease}
@keyframes pkflash{0%{box-shadow:0 0 0 0 rgba(201,162,75,.6)}100%{box-shadow:0 0 0 14px rgba(201,162,75,0)}}
.module-demos-2 .tr-b .chev{color:var(--t3);transition:.2s;flex:none}
.module-demos-2 .tr-b .floor.open .chev{transform:rotate(180deg)}
.module-demos-2 .tr-b .detail{display:none;border-top:1px solid var(--edge);padding:13px 15px;gap:10px;grid-template-columns:repeat(3,1fr)}
.module-demos-2 .tr-b .floor.open .detail{display:grid}
.module-demos-2 .tr-b .tray{background:#0A1526;border:1px solid var(--edge);border-radius:9px;padding:10px}
.module-demos-2 .tr-b .tray .th{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--brass);margin-bottom:8px;font-weight:600}
.module-demos-2 .tr-b .ti{font-size:11.5px;color:var(--t1);padding:6px 0;border-bottom:1px solid var(--edge);line-height:1.35}
.module-demos-2 .tr-b .ti:last-child{border:0}
.module-demos-2 .tr-b .ti .who{color:var(--t3);font-size:10px;font-family:var(--mono)}
.module-demos-2 .tr-b .ti .em{color:var(--t3);display:block;font-size:10.5px}
.module-demos-2 .tr-b .traynull{font-size:11px;color:var(--t3);font-style:italic;padding:4px 0}
.module-demos-2 .tr-b .hold{border-color:rgba(226,169,81,.4);background:linear-gradient(180deg,#1c1a12,#0C1A2F)}
.module-demos-2 .tr-b .hold .fname{color:var(--warn)}
.module-demos-2 .tr-b .pip{position:fixed;width:13px;height:13px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#EAD08A 40%,#C8A24B);box-shadow:0 0 14px rgba(201,162,75,.9);transition:transform .62s cubic-bezier(.5,0,.15,1),opacity .62s;z-index:150;pointer-events:none;margin:-6.5px 0 0 -6.5px;left:0;top:0}
.module-demos-2 .tr-b .cabinet{margin-top:14px;display:flex;align-items:center;gap:14px;background:#0E1D33;border:1px solid var(--edge);border-radius:11px;padding:14px 16px;max-width:520px}
.module-demos-2 .tr-b .drawer{width:46px;height:46px;border-radius:8px;background:#15294A;border:1px solid var(--edge-2);display:grid;place-items:center;color:var(--brass);flex:none}
.module-demos-2 .tr-b .stat-n{font-family:var(--disp);font-size:22px;font-weight:600;color:#fff}
@media(max-width:980px){.module-demos-2 .tr-b .wrap{grid-template-columns:1fr}.module-demos-2 .tr-b .qpanel{height:auto;max-height:420px;overflow:auto}.module-demos-2 .tr-b .pockets{flex-wrap:wrap}}
/* ===== TRIAGE C : Operations Pulse ===== */
.module-demos-2 .tr-c .widgets{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}
.module-demos-2 .tr-c .w{background:linear-gradient(180deg,#0E1D33,#0C1A2F);border:1px solid var(--edge);border-radius:13px;padding:15px 17px;position:relative;overflow:hidden}
.module-demos-2 .tr-c .w .wl{font-size:11px;color:var(--t3);text-transform:uppercase;letter-spacing:.07em}
.module-demos-2 .tr-c .w .wn{font-family:var(--disp);font-size:31px;font-weight:600;color:#fff;line-height:1;margin-top:9px}
.module-demos-2 .tr-c .w .ws{font-size:11px;margin-top:7px;color:var(--t2)}
.module-demos-2 .tr-c .w.alert{border-color:rgba(219,107,92,.42)}
.module-demos-2 .tr-c .w.alert .wn{color:#f3a99f}
.module-demos-2 .tr-c .w.good .wn{color:#8fe0bb}
.module-demos-2 .tr-c .spark{display:flex;gap:3px;align-items:flex-end;height:24px;margin-top:9px}
.module-demos-2 .tr-c .spark i{flex:1;background:linear-gradient(180deg,var(--brass-2),var(--brass-d));border-radius:2px;opacity:.8}
.module-demos-2 .tr-c .main{display:grid;grid-template-columns:1fr 296px;gap:16px;align-items:start}
.module-demos-2 .tr-c .board{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.module-demos-2 .tr-c .col{background:#0B1A30;border:1px solid var(--edge);border-radius:12px;min-height:440px;display:flex;flex-direction:column;transition:.15s}
.module-demos-2 .tr-c .col.dragover{border-color:var(--brass);background:#10243f;box-shadow:inset 0 0 0 1px var(--edge-2)}
.module-demos-2 .tr-c .colh{padding:11px 13px;border-bottom:1px solid var(--edge);display:flex;align-items:center;gap:7px}
.module-demos-2 .tr-c .colh .dt{width:7px;height:7px;border-radius:50%;background:var(--brass);opacity:.6}
.module-demos-2 .tr-c .colh .ct{font-size:11px;font-weight:600;color:var(--t1);letter-spacing:.01em}
.module-demos-2 .tr-c .colh .cc{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--t3)}
.module-demos-2 .tr-c .colb{padding:9px;flex:1;display:flex;flex-direction:column;gap:8px;overflow:auto}
.module-demos-2 .tr-c .kc{background:linear-gradient(180deg,#0E1D33,#0d1c31);border:1px solid var(--edge);border-radius:9px;padding:10px 11px;cursor:grab;transition:.15s}
.module-demos-2 .tr-c .kc:hover{border-color:var(--edge-2);transform:translateY(-1px)}
.module-demos-2 .tr-c .kc.drag{opacity:.35}
.module-demos-2 .tr-c .kc .ks{font-size:11.5px;font-weight:600;color:var(--t1);line-height:1.32;margin-bottom:7px}
.module-demos-2 .tr-c .kc .km{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.module-demos-2 .tr-c .kc .sla{font-family:var(--mono);font-size:10px;color:var(--t3);margin-top:8px;display:flex;align-items:center;gap:5px}
.module-demos-2 .tr-c .kc .sla.breach{color:#f3a99f}
.module-demos-2 .tr-c .kc .gate{font-size:10px;color:var(--warn);margin-top:6px;display:flex;align-items:center;gap:5px}
.module-demos-2 .tr-c .side .panel{margin-bottom:14px}
.module-demos-2 .tr-c .ex{padding:11px 13px;border-bottom:1px solid var(--edge)}
.module-demos-2 .tr-c .ex:last-child{border:0}
.module-demos-2 .tr-c .ex .es{font-size:12px;font-weight:600;color:var(--t1);margin-bottom:6px;line-height:1.3}
.module-demos-2 .tr-c .ex .ea{display:flex;gap:6px;margin-top:8px}
.module-demos-2 .tr-c .bbar{display:flex;align-items:center;gap:10px;padding:7px 13px}
.module-demos-2 .tr-c .bbar .bn{font-size:11px;color:var(--t2);min-width:118px;white-space:nowrap}
.module-demos-2 .tr-c .bbar .track{flex:1;height:7px;background:#0A1526;border-radius:6px;overflow:hidden;border:1px solid var(--edge)}
.module-demos-2 .tr-c .bbar .track i{display:block;height:100%;background:linear-gradient(90deg,var(--brass-d),var(--brass));transition:width .5s}
.module-demos-2 .tr-c .bbar .bv{font-family:var(--mono);font-size:10.5px;color:var(--brass-2);min-width:18px;text-align:right}
.module-demos-2 .tr-c .live{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--t3)}
.module-demos-2 .tr-c .live .dot{animation:plz 1.7s infinite}
@keyframes plz{0%,100%{opacity:1}50%{opacity:.25}}
@media(max-width:1100px){.module-demos-2 .tr-c .widgets{grid-template-columns:repeat(2,1fr)}.module-demos-2 .tr-c .main{grid-template-columns:1fr}.module-demos-2 .tr-c .board{grid-template-columns:1fr 1fr}}
/* ============================================================
   OWNER ACCESS (light, front of house)
   Shared light primitives live under .lobby (owner-only mounts), .module-demos-2 module specifics under .ow-a / .ow-b / .ow-c.
   ============================================================ */
.module-demos-2 .lobby .lchip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;letter-spacing:.01em;white-space:nowrap;background:#EFE7D8;color:var(--ink-2);border:1px solid var(--line)}
.module-demos-2 .lobby .lchip svg{width:12px;height:12px}
.module-demos-2 .lobby .lchip.bld{background:rgba(17,36,63,.06);color:#2b4a74;border-color:rgba(17,36,63,.12)}
.module-demos-2 .lobby .lchip.fin{background:rgba(91,140,90,.14);color:#3f6b3e;border-color:rgba(91,140,90,.3)}
.module-demos-2 .lobby .lchip.gov{background:rgba(120,96,176,.13);color:#5b4a87;border-color:rgba(120,96,176,.3)}
.module-demos-2 .lobby .lchip.ins{background:rgba(106,140,180,.16);color:#3c5c80;border-color:rgba(106,140,180,.3)}
.module-demos-2 .lobby .lchip.meet{background:rgba(201,162,75,.18);color:#8a6a16;border-color:rgba(201,162,75,.4)}
.module-demos-2 .lobby .lchip.maint{background:rgba(200,120,70,.14);color:#9c5c2c;border-color:rgba(200,120,70,.3)}
.module-demos-2 .lobby .lchip.live{background:#fff;color:#3f6b3e;border-color:rgba(91,140,90,.35)}
.module-demos-2 .lobby .lchip.open{background:rgba(201,162,75,.16);color:#8a6a16;border-color:rgba(201,162,75,.36)}
.module-demos-2 .lobby .lchip.done{background:rgba(91,140,90,.14);color:#3f6b3e;border-color:rgba(91,140,90,.3)}
.module-demos-2 .lobby .lbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:11px;font-size:13px;font-weight:600;transition:.16s;border:1px solid var(--line-2);background:#fff;color:var(--ink)}
.module-demos-2 .lobby .lbtn svg{width:15px;height:15px}
.module-demos-2 .lobby .lbtn:hover{border-color:var(--ink-3);box-shadow:var(--shadow)}
.module-demos-2 .lobby .lbtn.pri{background:var(--ink);color:#fff;border-color:var(--ink)}
.module-demos-2 .lobby .lbtn.pri:hover{filter:brightness(1.12)}
.module-demos-2 .lobby .lbtn.brass{background:linear-gradient(180deg,var(--brass-2),var(--brass));color:#3a2c08;border-color:var(--brass-d);box-shadow:0 4px 14px rgba(201,162,75,.28)}
.module-demos-2 .lobby .lbtn.sm{padding:7px 12px;font-size:12px;border-radius:9px}
.module-demos-2 .lobby .lbtn[disabled]{opacity:.45;cursor:default;box-shadow:none}
.module-demos-2 .lobby .access{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3);background:#fff;border:1px dashed var(--line-2);padding:7px 12px;border-radius:10px}
.module-demos-2 .lobby .access svg{width:13px;height:13px;color:#3f6b3e}
.module-demos-2 .lobby .meter-l{height:9px;border-radius:6px;background:#E7DFCF;overflow:hidden;display:flex}
.module-demos-2 .lobby .meter-l i{display:block;height:100%}
.module-demos-2 .lobby .step{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink-2);padding:4px 0}
.module-demos-2 .lobby .step .sd{width:16px;height:16px;border-radius:50%;border:2px solid var(--line-2);flex:none;display:grid;place-items:center}
.module-demos-2 .lobby .step.on .sd{background:#3f6b3e;border-color:#3f6b3e}
.module-demos-2 .lobby .step.on .sd svg{width:9px;height:9px}
.module-demos-2 .lobby .step.on{color:var(--ink);font-weight:600}

/* ===== OWNER A : Owner App (mobile concierge) ===== */
.module-demos-2 .ow-a{display:flex;gap:46px;align-items:flex-start;justify-content:center;flex-wrap:wrap;padding-top:6px}
.module-demos-2 .ow-a .phone{width:390px;flex:none;background:linear-gradient(160deg,#16263f,#0A1526);border-radius:50px;padding:14px;box-shadow:0 36px 80px rgba(10,21,38,.32),inset 0 0 0 2px rgba(201,162,75,.18);position:relative}
.module-demos-2 .ow-a .screen{position:relative;background:linear-gradient(180deg,#FBF8F1,#F1EADC);border-radius:38px;height:778px;overflow:hidden;display:flex;flex-direction:column}
.module-demos-2 .ow-a .notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:140px;height:26px;background:#0A1526;border-radius:0 0 16px 16px;z-index:6}
.module-demos-2 .ow-a .stat{display:flex;align-items:center;justify-content:space-between;padding:11px 24px 4px;font-size:12px;font-weight:600;color:var(--ink);font-family:var(--mono)}
.module-demos-2 .ow-a .appbar{display:flex;align-items:center;gap:11px;padding:8px 18px 12px;border-bottom:1px solid var(--line)}
.module-demos-2 .ow-a .appbar .av{width:38px;height:38px;border-radius:11px;background:linear-gradient(150deg,#1B3358,#11243F);color:var(--brass-2);display:grid;place-items:center;font-family:var(--disp);font-weight:600;font-size:16px;flex:none}
.module-demos-2 .ow-a .appbar .who{line-height:1.2;min-width:0}
.module-demos-2 .ow-a .appbar .who b{font-size:14px;color:var(--ink);display:block}
.module-demos-2 .ow-a .appbar .who span{font-size:11px;color:var(--ink-3)}
.module-demos-2 .ow-a .appbar .bell{margin-left:auto;width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);position:relative}
.module-demos-2 .ow-a .appbar .bell:after{content:"";position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--hot);border:1.5px solid #fff}
.module-demos-2 .ow-a .scr{flex:1;overflow:auto;padding:16px 16px 14px}
.module-demos-2 .ow-a .scr::-webkit-scrollbar{width:0}
.module-demos-2 .ow-a .hello{font-family:var(--disp);font-size:21px;color:var(--ink);margin:2px 2px 13px;font-weight:600}
.module-demos-2 .ow-a .bldcard{background:linear-gradient(150deg,#16263f,#0A1526);border-radius:16px;padding:15px 17px;color:#fff;position:relative;overflow:hidden;box-shadow:0 10px 26px rgba(10,21,38,.22)}
.module-demos-2 .ow-a .bldcard:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 90% -20%,rgba(201,162,75,.22),transparent 60%)}
.module-demos-2 .ow-a .bldcard .bn{font-family:var(--disp);font-size:18px;font-weight:600;position:relative}
.module-demos-2 .ow-a .bldcard .bl{font-size:12px;color:#b9c8de;margin-top:3px;font-family:var(--mono);position:relative}
.module-demos-2 .ow-a .bldcard .pin{position:absolute;top:14px;right:15px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-2);border:1px solid rgba(201,162,75,.4);padding:4px 9px;border-radius:999px}
.module-demos-2 .ow-a .tiles{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:13px}
.module-demos-2 .ow-a .tile{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 14px;box-shadow:var(--shadow);cursor:pointer;transition:.15s}
.module-demos-2 .ow-a .tile:hover{border-color:var(--line-2);transform:translateY(-1px)}
.module-demos-2 .ow-a .tile .tl{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.module-demos-2 .ow-a .tile .tv{font-family:var(--disp);font-size:23px;font-weight:600;color:var(--ink);margin-top:7px;line-height:1}
.module-demos-2 .ow-a .tile .ts{font-size:11.5px;color:var(--ink-2);margin-top:6px;line-height:1.35}
.module-demos-2 .ow-a .tile.wide{grid-column:1/3;display:flex;align-items:center;gap:12px}
.module-demos-2 .ow-a .tile.wide .ic{width:38px;height:38px;border-radius:11px;background:rgba(201,162,75,.16);color:#8a6a16;display:grid;place-items:center;flex:none}
.module-demos-2 .ow-a .tile.wide .ic svg{width:19px;height:19px}
.module-demos-2 .ow-a .tile.vote{grid-column:1/3;background:linear-gradient(160deg,#fff,#FBF4E4);border-color:rgba(201,162,75,.34)}
.module-demos-2 .ow-a .sechead{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin:18px 4px 9px}
.module-demos-2 .ow-a .row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:12px 13px;margin-bottom:9px;box-shadow:var(--shadow);cursor:pointer;transition:.14s}
.module-demos-2 .ow-a .row:hover{border-color:var(--line-2)}
.module-demos-2 .ow-a .row .fic{width:36px;height:36px;border-radius:9px;background:#F1ECE0;color:#9c5c2c;display:grid;place-items:center;flex:none}
.module-demos-2 .ow-a .row .fic svg{width:18px;height:18px}
.module-demos-2 .ow-a .row .meta{min-width:0;flex:1}
.module-demos-2 .ow-a .row .meta b{font-size:13px;color:var(--ink);display:block;line-height:1.25}
.module-demos-2 .ow-a .row .meta span{font-size:11px;color:var(--ink-3);font-family:var(--mono)}
.module-demos-2 .ow-a .row .chev{color:var(--ink-3);flex:none}
.module-demos-2 .ow-a .moneyhdr{background:linear-gradient(150deg,#16263f,#0A1526);border-radius:16px;padding:18px;color:#fff;text-align:center;box-shadow:0 10px 26px rgba(10,21,38,.22)}
.module-demos-2 .ow-a .moneyhdr .lbl{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#b9c8de}
.module-demos-2 .ow-a .moneyhdr .amt{font-family:var(--disp);font-size:38px;font-weight:600;margin:6px 0 2px}
.module-demos-2 .ow-a .moneyhdr .sub{font-size:12px;color:var(--brass-2)}
.module-demos-2 .ow-a .vcard{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:15px;box-shadow:var(--shadow);margin-bottom:12px}
.module-demos-2 .ow-a .vcard h4{margin:0 0 4px;font-size:14.5px;color:var(--ink);font-family:var(--disp);font-weight:600}
.module-demos-2 .ow-a .vcard .vd{font-size:11.5px;color:var(--ink-2);line-height:1.4}
.module-demos-2 .ow-a .vcard .vmeta{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}
.module-demos-2 .ow-a .vcard .tally{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);font-family:var(--mono);margin-top:7px}
.module-demos-2 .ow-a .vbtns{display:flex;gap:8px;margin-top:11px}
.module-demos-2 .ow-a .vbtns .lbtn{flex:1}
.module-demos-2 .ow-a .tabbar{display:flex;background:rgba(251,248,241,.92);backdrop-filter:blur(6px);border-top:1px solid var(--line);padding:8px 6px 11px}
.module-demos-2 .ow-a .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:9.5px;font-weight:600;color:var(--ink-3);padding:4px 0;letter-spacing:.02em}
.module-demos-2 .ow-a .tab svg{width:21px;height:21px;stroke-width:1.7}
.module-demos-2 .ow-a .tab.on{color:var(--ink)}
.module-demos-2 .ow-a .tab.on svg{color:var(--brass-d)}
.module-demos-2 .ow-a .aside{flex:none;width:288px;padding-top:18px}
.module-demos-2 .ow-a .aside h3{font-family:var(--disp);font-size:22px;color:var(--ink);margin:0 0 6px;font-weight:600}
.module-demos-2 .ow-a .aside .lead{font-size:13px;color:var(--ink-2);line-height:1.55;margin:0 0 18px}
.module-demos-2 .ow-a .pt{display:flex;gap:11px;margin-bottom:15px}
.module-demos-2 .ow-a .pt .n{width:27px;height:27px;border-radius:8px;background:var(--ink);color:#fff;display:grid;place-items:center;flex:none;font-family:var(--mono);font-size:12px;font-weight:600}
.module-demos-2 .ow-a .pt b{font-size:13px;color:var(--ink);display:block;margin-bottom:2px}
.module-demos-2 .ow-a .pt span{font-size:12px;color:var(--ink-2);line-height:1.45}
@media(max-width:760px){.module-demos-2 .ow-a .aside{width:100%;max-width:390px}}

/* ===== OWNER B : Owner Portal (desktop web) ===== */
.module-demos-2 .ow-b .frame{display:grid;grid-template-columns:248px 1fr;gap:0;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg);min-height:660px}
.module-demos-2 .ow-b .side{background:linear-gradient(180deg,#FBF8F1,#F2EBDD);border-right:1px solid var(--line);padding:20px 16px;display:flex;flex-direction:column}
.module-demos-2 .ow-b .me{display:flex;align-items:center;gap:11px;padding:0 4px 16px;border-bottom:1px solid var(--line);margin-bottom:14px}
.module-demos-2 .ow-b .me .av{width:42px;height:42px;border-radius:12px;background:linear-gradient(150deg,#1B3358,#11243F);color:var(--brass-2);display:grid;place-items:center;font-family:var(--disp);font-weight:600;font-size:17px;flex:none}
.module-demos-2 .ow-b .me b{font-size:14px;color:var(--ink);display:block;line-height:1.2}
.module-demos-2 .ow-b .me span{font-size:11px;color:var(--ink-3);font-family:var(--mono)}
.module-demos-2 .ow-b .nav{display:flex;flex-direction:column;gap:2px}
.module-demos-2 .ow-b .nav button{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;color:var(--ink-2);text-align:left;transition:.14s}
.module-demos-2 .ow-b .nav button svg{width:17px;height:17px;opacity:.8}
.module-demos-2 .ow-b .nav button:hover{background:rgba(17,36,63,.05);color:var(--ink)}
.module-demos-2 .ow-b .nav button.on{background:var(--ink);color:#fff}
.module-demos-2 .ow-b .nav button.on svg{opacity:1;color:var(--brass-2)}
.module-demos-2 .ow-b .nav .nb{margin-left:auto;font-family:var(--mono);font-size:10px;background:rgba(201,162,75,.2);color:#8a6a16;padding:2px 7px;border-radius:999px}
.module-demos-2 .ow-b .nav button.on .nb{background:rgba(201,162,75,.3);color:var(--brass-2)}
.module-demos-2 .ow-b .side .foot{margin-top:auto;padding-top:14px}
.module-demos-2 .ow-b .main{padding:24px 26px;overflow:auto;min-width:0}
.module-demos-2 .ow-b .ph{display:flex;align-items:flex-end;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.module-demos-2 .ow-b .ph h2{font-family:var(--disp);font-size:24px;color:var(--ink);margin:0;font-weight:600}
.module-demos-2 .ow-b .ph p{font-size:13px;color:var(--ink-2);margin:4px 0 0}
.module-demos-2 .ow-b .ph .access{margin-left:auto}
.module-demos-2 .ow-b .cards{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start}
.module-demos-2 .ow-b .c{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 18px;box-shadow:var(--shadow)}
.module-demos-2 .ow-b .c.span{grid-column:1/3}
.module-demos-2 .ow-b .c .ct{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:13px;display:flex;align-items:center;gap:8px}
.module-demos-2 .ow-b .c .ct .more{margin-left:auto;font-size:11px;color:#2b4a74;letter-spacing:0;text-transform:none;cursor:pointer;font-weight:600}
.module-demos-2 .ow-b .snap{display:flex;align-items:center;gap:14px}
.module-demos-2 .ow-b .snap .glyph{width:54px;height:54px;border-radius:13px;background:linear-gradient(150deg,#16263f,#0A1526);color:var(--brass-2);display:grid;place-items:center;flex:none}
.module-demos-2 .ow-b .snap .glyph svg{width:26px;height:26px}
.module-demos-2 .ow-b .snap b{font-family:var(--disp);font-size:19px;color:var(--ink);display:block}
.module-demos-2 .ow-b .snap span{font-size:12px;color:var(--ink-2);font-family:var(--mono)}
.module-demos-2 .ow-b .kv{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.module-demos-2 .ow-b .kv:last-child{border-bottom:0}
.module-demos-2 .ow-b .kv .k{color:var(--ink-2)}
.module-demos-2 .ow-b .kv .v{color:var(--ink);font-weight:600;font-family:var(--mono)}
.module-demos-2 .ow-b .bignum{font-family:var(--disp);font-size:34px;font-weight:600;color:var(--ink);line-height:1}
.module-demos-2 .ow-b .mgr{display:flex;align-items:center;gap:12px}
.module-demos-2 .ow-b .mgr .av{width:46px;height:46px;border-radius:50%;background:#EDE3CF;color:#8a6a16;display:grid;place-items:center;font-family:var(--disp);font-weight:600;font-size:17px;flex:none}
.module-demos-2 .ow-b .mgr b{font-size:14px;color:var(--ink);display:block}
.module-demos-2 .ow-b .mgr span{font-size:12px;color:var(--ink-3)}
.module-demos-2 .ow-b .reqitem{padding:12px 0;border-bottom:1px solid var(--line)}
.module-demos-2 .ow-b .reqitem:last-child{border-bottom:0;padding-bottom:0}
.module-demos-2 .ow-b .reqitem .rt{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.module-demos-2 .ow-b .reqitem .rt b{font-size:13.5px;color:var(--ink)}
.module-demos-2 .ow-b .reqitem .rt .ref{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.module-demos-2 .ow-b .tline{display:flex;gap:6px;flex-wrap:wrap}
.module-demos-2 .ow-b .tline .tstep{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-3)}
.module-demos-2 .ow-b .tline .tstep .d{width:9px;height:9px;border-radius:50%;background:#D9CFB9}
.module-demos-2 .ow-b .tline .tstep.on{color:var(--ink)}
.module-demos-2 .ow-b .tline .tstep.on .d{background:#3f6b3e}
.module-demos-2 .ow-b .tline .tstep .ln{width:18px;height:2px;background:#E2D8C2}
.module-demos-2 .ow-b .dgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.module-demos-2 .ow-b .dcard{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;cursor:pointer;transition:.14s;background:#fff}
.module-demos-2 .ow-b .dcard:hover{border-color:var(--line-2);box-shadow:var(--shadow)}
.module-demos-2 .ow-b .dcard .di{width:34px;height:34px;border-radius:8px;background:#F1ECE0;color:#9c5c2c;display:grid;place-items:center;flex:none}
.module-demos-2 .ow-b .dcard .di svg{width:17px;height:17px}
.module-demos-2 .ow-b .dcard b{font-size:12.5px;color:var(--ink);display:block;line-height:1.25}
.module-demos-2 .ow-b .dcard span{font-size:10.5px;color:var(--ink-3);font-family:var(--mono)}
.module-demos-2 .ow-b .banner{grid-column:1/3;display:flex;align-items:center;gap:16px;background:linear-gradient(120deg,#16263f,#0A1526);border-radius:14px;padding:17px 20px;color:#fff;position:relative;overflow:hidden}
.module-demos-2 .ow-b .banner:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 92% -10%,rgba(201,162,75,.22),transparent 55%)}
.module-demos-2 .ow-b .banner .bt{position:relative;flex:1}
.module-demos-2 .ow-b .banner .bt .e{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-2)}
.module-demos-2 .ow-b .banner .bt b{font-family:var(--disp);font-size:19px;display:block;margin:4px 0 2px}
.module-demos-2 .ow-b .banner .bt span{font-size:12.5px;color:#b9c8de}
.module-demos-2 .ow-b .banner .lbtn{position:relative;flex:none}
.module-demos-2 .ow-b .pane{display:none}
.module-demos-2 .ow-b .pane.on{display:block}
.module-demos-2 .ow-b .listrow{display:flex;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff}
.module-demos-2 .ow-b .listrow .di{width:38px;height:38px;border-radius:9px;background:#F1ECE0;color:#9c5c2c;display:grid;place-items:center;flex:none}
.module-demos-2 .ow-b .listrow .di svg{width:18px;height:18px}
.module-demos-2 .ow-b .listrow .lm{flex:1;min-width:0}
.module-demos-2 .ow-b .listrow .lm b{font-size:13.5px;color:var(--ink);display:block}
.module-demos-2 .ow-b .listrow .lm span{font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}
/* modal */
.module-demos-2 .ow-b .scrim{position:fixed;inset:0;background:rgba(10,21,38,.5);display:none;align-items:center;justify-content:center;z-index:120;padding:20px}
.module-demos-2 .ow-b .scrim.on{display:flex}
.module-demos-2 .ow-b .modal{background:#fff;border-radius:16px;width:440px;max-width:100%;padding:22px;box-shadow:var(--shadow-lg)}
.module-demos-2 .ow-b .modal h3{font-family:var(--disp);font-size:19px;color:var(--ink);margin:0 0 4px;font-weight:600}
.module-demos-2 .ow-b .modal p{font-size:12.5px;color:var(--ink-2);margin:0 0 15px}
.module-demos-2 .ow-b .modal label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700;display:block;margin:11px 0 6px}
.module-demos-2 .ow-b .modal select, .module-demos-2 .ow-b .modal textarea{width:100%;border:1px solid var(--line-2);border-radius:10px;padding:11px 12px;font-size:13px;color:var(--ink);background:#FBFAF6;resize:vertical}
.module-demos-2 .ow-b .modal .mb{display:flex;gap:9px;justify-content:flex-end;margin-top:18px}
@media(max-width:900px){.module-demos-2 .ow-b .frame{grid-template-columns:1fr}.module-demos-2 .ow-b .side{flex-direction:row;flex-wrap:wrap;align-items:center}.module-demos-2 .ow-b .nav{flex-direction:row;flex-wrap:wrap}.module-demos-2 .ow-b .cards{grid-template-columns:1fr}.module-demos-2 .ow-b .c.span, .module-demos-2 .ow-b .banner, .module-demos-2 .ow-b .dgrid{grid-column:auto}}

/* ===== OWNER C : Committee Room (noticeboard + voting + manager flip) ===== */
.module-demos-2 .ow-c .toolbar{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 15px;margin-bottom:16px;box-shadow:var(--shadow);flex-wrap:wrap}
.module-demos-2 .ow-c .toolbar .ttl{font-family:var(--disp);font-size:15px;color:var(--ink);font-weight:600}
.module-demos-2 .ow-c .toolbar .sub{font-size:12px;color:var(--ink-3)}
.module-demos-2 .ow-c .toolbar .viewtog{margin-left:auto;display:flex;align-items:center;gap:9px}
.module-demos-2 .ow-c .switch{position:relative;width:44px;height:24px;border-radius:999px;background:#D9CFB9;transition:.18s;flex:none}
.module-demos-2 .ow-c .switch i{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.18s}
.module-demos-2 .ow-c .switch.on{background:#16263f}
.module-demos-2 .ow-c .switch.on i{left:22px}
.module-demos-2 .ow-c .vtlabel{font-size:12px;font-weight:600;color:var(--ink-2)}
.module-demos-2 .ow-c .cols{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;align-items:start}
.module-demos-2 .ow-c .colh{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin:2px 2px 11px;display:flex;align-items:center;gap:8px}
.module-demos-2 .ow-c .colh .cc{margin-left:auto;font-family:var(--mono);font-size:11px;background:#fff;border:1px solid var(--line);color:var(--ink-2);padding:2px 8px;border-radius:999px}
/* flip card */
.module-demos-2 .ow-c .flip{perspective:1400px;margin-bottom:14px}
.module-demos-2 .ow-c .flip .inner{position:relative;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}
.module-demos-2 .ow-c .flip.back .inner{transform:rotateY(180deg)}
.module-demos-2 .ow-c .face{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.module-demos-2 .ow-c .face.rear{position:absolute;inset:0;transform:rotateY(180deg)}
.module-demos-2 .ow-c .vote{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px 18px;box-shadow:var(--shadow)}
.module-demos-2 .ow-c .vote .vh{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.module-demos-2 .ow-c .vote .vh h4{margin:0;font-family:var(--disp);font-size:16px;color:var(--ink);font-weight:600;flex:1;line-height:1.3}
.module-demos-2 .ow-c .vote .vid{font-family:var(--mono);font-size:11px;color:var(--ink-3);flex:none}
.module-demos-2 .ow-c .vote .vd{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin-bottom:11px}
.module-demos-2 .ow-c .vote .vmeta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}
.module-demos-2 .ow-c .barwrap{margin-bottom:6px}
.module-demos-2 .ow-c .barrow{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.module-demos-2 .ow-c .barrow .bk{font-size:11.5px;color:var(--ink-2);width:62px;font-weight:600}
.module-demos-2 .ow-c .barrow .meter-l{flex:1}
.module-demos-2 .ow-c .barrow .bn{font-family:var(--mono);font-size:11px;color:var(--ink-3);width:54px;text-align:right}
.module-demos-2 .ow-c .quorum{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3);margin:10px 0 4px}
.module-demos-2 .ow-c .quorum .qbar{flex:1;height:6px;border-radius:5px;background:#E7DFCF;overflow:hidden}
.module-demos-2 .ow-c .quorum .qbar i{display:block;height:100%;background:#2b4a74}
.module-demos-2 .ow-c .vactions{display:flex;gap:8px;margin-top:13px;align-items:center}
.module-demos-2 .ow-c .vactions .cast{display:flex;gap:8px;flex:1}
.module-demos-2 .ow-c .vactions .cast .lbtn{flex:1}
.module-demos-2 .ow-c .voted{display:flex;align-items:center;gap:9px;background:rgba(91,140,90,.1);border:1px solid rgba(91,140,90,.3);border-radius:11px;padding:10px 13px;font-size:12.5px;color:#3f6b3e;font-weight:600;margin-top:13px}
.module-demos-2 .ow-c .voted svg{width:16px;height:16px;flex:none}
.module-demos-2 .ow-c .voted .ref{margin-left:auto;font-family:var(--mono);font-size:11px}
/* rear / CRM face */
.module-demos-2 .ow-c .crm{background:linear-gradient(165deg,#0E1D33,#0A1526);border:1px solid var(--edge-2);border-radius:15px;padding:16px 17px;height:100%;color:var(--t1);box-shadow:var(--shadow)}
.module-demos-2 .ow-c .crm .crmh{display:flex;align-items:center;gap:9px;padding-bottom:11px;border-bottom:1px solid var(--edge);margin-bottom:12px}
.module-demos-2 .ow-c .crm .crmh .lg{width:26px;height:26px;border-radius:7px;background:#15294A;color:var(--brass);display:grid;place-items:center;flex:none}
.module-demos-2 .ow-c .crm .crmh .lg svg{width:15px;height:15px}
.module-demos-2 .ow-c .crm .crmh b{font-size:12.5px;color:#fff}
.module-demos-2 .ow-c .crm .crmh span{font-size:10.5px;color:var(--t3);display:block;font-family:var(--mono)}
.module-demos-2 .ow-c .crm .crmh .pill2{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--brass-2);border:1px solid var(--edge-2);padding:3px 8px;border-radius:999px}
.module-demos-2 .ow-c .crm .crow{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:12px;border-bottom:1px solid var(--edge)}
.module-demos-2 .ow-c .crm .crow .ck{color:var(--t3)}
.module-demos-2 .ow-c .crm .crow .cvv{color:var(--t1);font-family:var(--mono);text-align:right}
.module-demos-2 .ow-c .crm .audit{margin-top:11px}
.module-demos-2 .ow-c .crm .audit .al{display:flex;gap:9px;font-size:11px;color:var(--t2);padding:4px 0}
.module-demos-2 .ow-c .crm .audit .al .ad{font-family:var(--mono);color:var(--t3);flex:none;width:74px}
.module-demos-2 .ow-c .crm .tasknote{display:flex;align-items:center;gap:8px;margin-top:12px;background:rgba(201,162,75,.1);border:1px solid var(--edge);border-radius:9px;padding:9px 11px;font-size:11.5px;color:var(--brass-2)}
.module-demos-2 .ow-c .crm .tasknote svg{width:14px;height:14px;flex:none}
/* threads + register */
.module-demos-2 .ow-c .thread{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 15px;margin-bottom:11px;box-shadow:var(--shadow);cursor:pointer;transition:.14s}
.module-demos-2 .ow-c .thread:hover{border-color:var(--line-2)}
.module-demos-2 .ow-c .thread .th{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.module-demos-2 .ow-c .thread .th b{font-size:13.5px;color:var(--ink);line-height:1.3}
.module-demos-2 .ow-c .thread .by{font-size:11.5px;color:var(--ink-3);margin-bottom:7px}
.module-demos-2 .ow-c .thread .last{font-size:12px;color:var(--ink-2);background:#FBF7EC;border-left:2px solid var(--brass);padding:7px 10px;border-radius:0 8px 8px 0;line-height:1.4}
.module-demos-2 .ow-c .thread .tf{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:11px;color:var(--ink-3)}
.module-demos-2 .ow-c .thread .tf .ref{margin-left:auto;font-family:var(--mono)}
.module-demos-2 .ow-c .reg{background:#fff;border:1px solid var(--line);border-radius:13px;padding:5px 15px;box-shadow:var(--shadow)}
.module-demos-2 .ow-c .reg .ri{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}
.module-demos-2 .ow-c .reg .ri:last-child{border-bottom:0}
.module-demos-2 .ow-c .reg .ri .rc{width:30px;height:30px;border-radius:8px;background:rgba(91,140,90,.13);color:#3f6b3e;display:grid;place-items:center;flex:none}
.module-demos-2 .ow-c .reg .ri .rc svg{width:15px;height:15px}
.module-demos-2 .ow-c .reg .ri b{font-size:12.5px;color:var(--ink);display:block;line-height:1.25}
.module-demos-2 .ow-c .reg .ri span{font-size:11px;color:var(--ink-3);font-family:var(--mono)}
.module-demos-2 .ow-c .reg .ri .out{margin-left:auto;font-size:11px;color:#3f6b3e;font-weight:600;text-align:right}
.module-demos-2 .ow-c .composer{display:flex;gap:9px;margin-top:12px}
.module-demos-2 .ow-c .composer input{flex:1;border:1px solid var(--line-2);border-radius:11px;padding:11px 14px;font-size:13px;color:var(--ink);background:#fff}
@media(max-width:980px){.module-demos-2 .ow-c .cols{grid-template-columns:1fr}}

/* ============================================================
   OWNER ACCESS (light, front of house)
   Shared light primitives live under .lobby (owner-only mounts), .module-demos-2 module specifics under .ow-a / .ow-b / .ow-c.
   ============================================================ */
.module-demos-2 .lobby .lchip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;letter-spacing:.01em;white-space:nowrap;background:#EFE7D8;color:var(--ink-2);border:1px solid var(--line)}
.module-demos-2 .lobby .lchip svg{width:12px;height:12px}
.module-demos-2 .lobby .lchip.bld{background:rgba(17,36,63,.06);color:#2b4a74;border-color:rgba(17,36,63,.12)}
.module-demos-2 .lobby .lchip.fin{background:rgba(91,140,90,.14);color:#3f6b3e;border-color:rgba(91,140,90,.3)}
.module-demos-2 .lobby .lchip.gov{background:rgba(120,96,176,.13);color:#5b4a87;border-color:rgba(120,96,176,.3)}
.module-demos-2 .lobby .lchip.ins{background:rgba(106,140,180,.16);color:#3c5c80;border-color:rgba(106,140,180,.3)}
.module-demos-2 .lobby .lchip.meet{background:rgba(201,162,75,.18);color:#8a6a16;border-color:rgba(201,162,75,.4)}
.module-demos-2 .lobby .lchip.maint{background:rgba(200,120,70,.14);color:#9c5c2c;border-color:rgba(200,120,70,.3)}
.module-demos-2 .lobby .lchip.live{background:#fff;color:#3f6b3e;border-color:rgba(91,140,90,.35)}
.module-demos-2 .lobby .lchip.open{background:rgba(201,162,75,.16);color:#8a6a16;border-color:rgba(201,162,75,.36)}
.module-demos-2 .lobby .lchip.done{background:rgba(91,140,90,.14);color:#3f6b3e;border-color:rgba(91,140,90,.3)}
.module-demos-2 .lobby .lbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:11px;font-size:13px;font-weight:600;transition:.16s;border:1px solid var(--line-2);background:#fff;color:var(--ink)}
.module-demos-2 .lobby .lbtn svg{width:15px;height:15px}
.module-demos-2 .lobby .lbtn:hover{border-color:var(--ink-3);box-shadow:var(--shadow)}
.module-demos-2 .lobby .lbtn.pri{background:var(--ink);color:#fff;border-color:var(--ink)}
.module-demos-2 .lobby .lbtn.pri:hover{filter:brightness(1.12)}
.module-demos-2 .lobby .lbtn.brass{background:linear-gradient(180deg,var(--brass-2),var(--brass));color:#3a2c08;border-color:var(--brass-d);box-shadow:0 4px 14px rgba(201,162,75,.28)}
.module-demos-2 .lobby .lbtn.sm{padding:7px 12px;font-size:12px;border-radius:9px}
.module-demos-2 .lobby .lbtn[disabled]{opacity:.45;cursor:default;box-shadow:none}
.module-demos-2 .lobby .access{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3);background:#fff;border:1px dashed var(--line-2);padding:7px 12px;border-radius:10px}
.module-demos-2 .lobby .access svg{width:13px;height:13px;color:#3f6b3e}
.module-demos-2 .lobby .meter-l{height:9px;border-radius:6px;background:#E7DFCF;overflow:hidden;display:flex}
.module-demos-2 .lobby .meter-l i{display:block;height:100%}
.module-demos-2 .lobby .step{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--ink-2);padding:4px 0}
.module-demos-2 .lobby .step .sd{width:16px;height:16px;border-radius:50%;border:2px solid var(--line-2);flex:none;display:grid;place-items:center}
.module-demos-2 .lobby .step.on .sd{background:#3f6b3e;border-color:#3f6b3e}
.module-demos-2 .lobby .step.on .sd svg{width:9px;height:9px}
.module-demos-2 .lobby .step.on{color:var(--ink);font-weight:600}

/* ===== OWNER A : Owner App (mobile concierge) ===== */
.module-demos-2 .ow-a{display:flex;gap:46px;align-items:flex-start;justify-content:center;flex-wrap:wrap;padding-top:6px}
.module-demos-2 .ow-a .phone{width:390px;flex:none;background:linear-gradient(160deg,#16263f,#0A1526);border-radius:50px;padding:14px;box-shadow:0 36px 80px rgba(10,21,38,.32),inset 0 0 0 2px rgba(201,162,75,.18);position:relative}
.module-demos-2 .ow-a .screen{position:relative;background:linear-gradient(180deg,#FBF8F1,#F1EADC);border-radius:38px;height:778px;overflow:hidden;display:flex;flex-direction:column}
.module-demos-2 .ow-a .notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:140px;height:26px;background:#0A1526;border-radius:0 0 16px 16px;z-index:6}
.module-demos-2 .ow-a .stat{display:flex;align-items:center;justify-content:space-between;padding:11px 24px 4px;font-size:12px;font-weight:600;color:var(--ink);font-family:var(--mono)}
.module-demos-2 .ow-a .appbar{display:flex;align-items:center;gap:11px;padding:8px 18px 12px;border-bottom:1px solid var(--line)}
.module-demos-2 .ow-a .appbar .av{width:38px;height:38px;border-radius:11px;background:linear-gradient(150deg,#1B3358,#11243F);color:var(--brass-2);display:grid;place-items:center;font-family:var(--disp);font-weight:600;font-size:16px;flex:none}
.module-demos-2 .ow-a .appbar .who{line-height:1.2;min-width:0}
.module-demos-2 .ow-a .appbar .who b{font-size:14px;color:var(--ink);display:block}
.module-demos-2 .ow-a .appbar .who span{font-size:11px;color:var(--ink-3)}
.module-demos-2 .ow-a .appbar .bell{margin-left:auto;width:34px;height:34px;border-radius:10px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-2);position:relative}
.module-demos-2 .ow-a .appbar .bell:after{content:"";position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--hot);border:1.5px solid #fff}
.module-demos-2 .ow-a .scr{flex:1;overflow:auto;padding:16px 16px 14px}
.module-demos-2 .ow-a .scr::-webkit-scrollbar{width:0}
.module-demos-2 .ow-a .hello{font-family:var(--disp);font-size:21px;color:var(--ink);margin:2px 2px 13px;font-weight:600}
.module-demos-2 .ow-a .bldcard{background:linear-gradient(150deg,#16263f,#0A1526);border-radius:16px;padding:15px 17px;color:#fff;position:relative;overflow:hidden;box-shadow:0 10px 26px rgba(10,21,38,.22)}
.module-demos-2 .ow-a .bldcard:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 90% -20%,rgba(201,162,75,.22),transparent 60%)}
.module-demos-2 .ow-a .bldcard .bn{font-family:var(--disp);font-size:18px;font-weight:600;position:relative}
.module-demos-2 .ow-a .bldcard .bl{font-size:12px;color:#b9c8de;margin-top:3px;font-family:var(--mono);position:relative}
.module-demos-2 .ow-a .bldcard .pin{position:absolute;top:14px;right:15px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--brass-2);border:1px solid rgba(201,162,75,.4);padding:4px 9px;border-radius:999px}
.module-demos-2 .ow-a .tiles{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:13px}
.module-demos-2 .ow-a .tile{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px 14px;box-shadow:var(--shadow);cursor:pointer;transition:.15s}
.module-demos-2 .ow-a .tile:hover{border-color:var(--line-2);transform:translateY(-1px)}
.module-demos-2 .ow-a .tile .tl{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.module-demos-2 .ow-a .tile .tv{font-family:var(--disp);font-size:23px;font-weight:600;color:var(--ink);margin-top:7px;line-height:1}
.module-demos-2 .ow-a .tile .ts{font-size:11.5px;color:var(--ink-2);margin-top:6px;line-height:1.35}
.module-demos-2 .ow-a .tile.wide{grid-column:1/3;display:flex;align-items:center;gap:12px}
.module-demos-2 .ow-a .tile.wide .ic{width:38px;height:38px;border-radius:11px;background:rgba(201,162,75,.16);color:#8a6a16;display:grid;place-items:center;flex:none}
.module-demos-2 .ow-a .tile.wide .ic svg{width:19px;height:19px}
.module-demos-2 .ow-a .tile.vote{grid-column:1/3;background:linear-gradient(160deg,#fff,#FBF4E4);border-color:rgba(201,162,75,.34)}
.module-demos-2 .ow-a .sechead{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin:18px 4px 9px}
.module-demos-2 .ow-a .row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:12px 13px;margin-bottom:9px;box-shadow:var(--shadow);cursor:pointer;transition:.14s}
.module-demos-2 .ow-a .row:hover{border-color:var(--line-2)}
.module-demos-2 .ow-a .row .fic{width:36px;height:36px;border-radius:9px;background:#F1ECE0;color:#9c5c2c;display:grid;place-items:center;flex:none}
.module-demos-2 .ow-a .row .fic svg{width:18px;height:18px}
.module-demos-2 .ow-a .row .meta{min-width:0;flex:1}
.module-demos-2 .ow-a .row .meta b{font-size:13px;color:var(--ink);display:block;line-height:1.25}
.module-demos-2 .ow-a .row .meta span{font-size:11px;color:var(--ink-3);font-family:var(--mono)}
.module-demos-2 .ow-a .row .chev{color:var(--ink-3);flex:none}
.module-demos-2 .ow-a .moneyhdr{background:linear-gradient(150deg,#16263f,#0A1526);border-radius:16px;padding:18px;color:#fff;text-align:center;box-shadow:0 10px 26px rgba(10,21,38,.22)}
.module-demos-2 .ow-a .moneyhdr .lbl{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#b9c8de}
.module-demos-2 .ow-a .moneyhdr .amt{font-family:var(--disp);font-size:38px;font-weight:600;margin:6px 0 2px}
.module-demos-2 .ow-a .moneyhdr .sub{font-size:12px;color:var(--brass-2)}
.module-demos-2 .ow-a .vcard{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:15px;box-shadow:var(--shadow);margin-bottom:12px}
.module-demos-2 .ow-a .vcard h4{margin:0 0 4px;font-size:14.5px;color:var(--ink);font-family:var(--disp);font-weight:600}
.module-demos-2 .ow-a .vcard .vd{font-size:11.5px;color:var(--ink-2);line-height:1.4}
.module-demos-2 .ow-a .vcard .vmeta{display:flex;gap:7px;flex-wrap:wrap;margin:9px 0}
.module-demos-2 .ow-a .vcard .tally{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-3);font-family:var(--mono);margin-top:7px}
.module-demos-2 .ow-a .vbtns{display:flex;gap:8px;margin-top:11px}
.module-demos-2 .ow-a .vbtns .lbtn{flex:1}
.module-demos-2 .ow-a .tabbar{display:flex;background:rgba(251,248,241,.92);backdrop-filter:blur(6px);border-top:1px solid var(--line);padding:8px 6px 11px}
.module-demos-2 .ow-a .tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:9.5px;font-weight:600;color:var(--ink-3);padding:4px 0;letter-spacing:.02em}
.module-demos-2 .ow-a .tab svg{width:21px;height:21px;stroke-width:1.7}
.module-demos-2 .ow-a .tab.on{color:var(--ink)}
.module-demos-2 .ow-a .tab.on svg{color:var(--brass-d)}
.module-demos-2 .ow-a .aside{flex:none;width:288px;padding-top:18px}
.module-demos-2 .ow-a .aside h3{font-family:var(--disp);font-size:22px;color:var(--ink);margin:0 0 6px;font-weight:600}
.module-demos-2 .ow-a .aside .lead{font-size:13px;color:var(--ink-2);line-height:1.55;margin:0 0 18px}
.module-demos-2 .ow-a .pt{display:flex;gap:11px;margin-bottom:15px}
.module-demos-2 .ow-a .pt .n{width:27px;height:27px;border-radius:8px;background:var(--ink);color:#fff;display:grid;place-items:center;flex:none;font-family:var(--mono);font-size:12px;font-weight:600}
.module-demos-2 .ow-a .pt b{font-size:13px;color:var(--ink);display:block;margin-bottom:2px}
.module-demos-2 .ow-a .pt span{font-size:12px;color:var(--ink-2);line-height:1.45}
@media(max-width:760px){.module-demos-2 .ow-a .aside{width:100%;max-width:390px}}

/* ===== OWNER B : Owner Portal (desktop web) ===== */
.module-demos-2 .ow-b .frame{display:grid;grid-template-columns:248px 1fr;gap:0;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-lg);min-height:660px}
.module-demos-2 .ow-b .side{background:linear-gradient(180deg,#FBF8F1,#F2EBDD);border-right:1px solid var(--line);padding:20px 16px;display:flex;flex-direction:column}
.module-demos-2 .ow-b .me{display:flex;align-items:center;gap:11px;padding:0 4px 16px;border-bottom:1px solid var(--line);margin-bottom:14px}
.module-demos-2 .ow-b .me .av{width:42px;height:42px;border-radius:12px;background:linear-gradient(150deg,#1B3358,#11243F);color:var(--brass-2);display:grid;place-items:center;font-family:var(--disp);font-weight:600;font-size:17px;flex:none}
.module-demos-2 .ow-b .me b{font-size:14px;color:var(--ink);display:block;line-height:1.2}
.module-demos-2 .ow-b .me span{font-size:11px;color:var(--ink-3);font-family:var(--mono)}
.module-demos-2 .ow-b .nav{display:flex;flex-direction:column;gap:2px}
.module-demos-2 .ow-b .nav button{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;color:var(--ink-2);text-align:left;transition:.14s}
.module-demos-2 .ow-b .nav button svg{width:17px;height:17px;opacity:.8}
.module-demos-2 .ow-b .nav button:hover{background:rgba(17,36,63,.05);color:var(--ink)}
.module-demos-2 .ow-b .nav button.on{background:var(--ink);color:#fff}
.module-demos-2 .ow-b .nav button.on svg{opacity:1;color:var(--brass-2)}
.module-demos-2 .ow-b .nav .nb{margin-left:auto;font-family:var(--mono);font-size:10px;background:rgba(201,162,75,.2);color:#8a6a16;padding:2px 7px;border-radius:999px}
.module-demos-2 .ow-b .nav button.on .nb{background:rgba(201,162,75,.3);color:var(--brass-2)}
.module-demos-2 .ow-b .side .foot{margin-top:auto;padding-top:14px}
.module-demos-2 .ow-b .main{padding:24px 26px;overflow:auto;min-width:0}
.module-demos-2 .ow-b .ph{display:flex;align-items:flex-end;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.module-demos-2 .ow-b .ph h2{font-family:var(--disp);font-size:24px;color:var(--ink);margin:0;font-weight:600}
.module-demos-2 .ow-b .ph p{font-size:13px;color:var(--ink-2);margin:4px 0 0}
.module-demos-2 .ow-b .ph .access{margin-left:auto}
.module-demos-2 .ow-b .cards{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start}
.module-demos-2 .ow-b .c{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 18px;box-shadow:var(--shadow)}
.module-demos-2 .ow-b .c.span{grid-column:1/3}
.module-demos-2 .ow-b .c .ct{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:13px;display:flex;align-items:center;gap:8px}
.module-demos-2 .ow-b .c .ct .more{margin-left:auto;font-size:11px;color:#2b4a74;letter-spacing:0;text-transform:none;cursor:pointer;font-weight:600}
.module-demos-2 .ow-b .snap{display:flex;align-items:center;gap:14px}
.module-demos-2 .ow-b .snap .glyph{width:54px;height:54px;border-radius:13px;background:linear-gradient(150deg,#16263f,#0A1526);color:var(--brass-2);display:grid;place-items:center;flex:none}
.module-demos-2 .ow-b .snap .glyph svg{width:26px;height:26px}
.module-demos-2 .ow-b .snap b{font-family:var(--disp);font-size:19px;color:var(--ink);display:block}
.module-demos-2 .ow-b .snap span{font-size:12px;color:var(--ink-2);font-family:var(--mono)}
.module-demos-2 .ow-b .kv{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.module-demos-2 .ow-b .kv:last-child{border-bottom:0}
.module-demos-2 .ow-b .kv .k{color:var(--ink-2)}
.module-demos-2 .ow-b .kv .v{color:var(--ink);font-weight:600;font-family:var(--mono)}
.module-demos-2 .ow-b .bignum{font-family:var(--disp);font-size:34px;font-weight:600;color:var(--ink);line-height:1}
.module-demos-2 .ow-b .mgr{display:flex;align-items:center;gap:12px}
.module-demos-2 .ow-b .mgr .av{width:46px;height:46px;border-radius:50%;background:#EDE3CF;color:#8a6a16;display:grid;place-items:center;font-family:var(--disp);font-weight:600;font-size:17px;flex:none}
.module-demos-2 .ow-b .mgr b{font-size:14px;color:var(--ink);display:block}
.module-demos-2 .ow-b .mgr span{font-size:12px;color:var(--ink-3)}
.module-demos-2 .ow-b .reqitem{padding:12px 0;border-bottom:1px solid var(--line)}
.module-demos-2 .ow-b .reqitem:last-child{border-bottom:0;padding-bottom:0}
.module-demos-2 .ow-b .reqitem .rt{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.module-demos-2 .ow-b .reqitem .rt b{font-size:13.5px;color:var(--ink)}
.module-demos-2 .ow-b .reqitem .rt .ref{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink-3)}
.module-demos-2 .ow-b .tline{display:flex;gap:6px;flex-wrap:wrap}
.module-demos-2 .ow-b .tline .tstep{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink-3)}
.module-demos-2 .ow-b .tline .tstep .d{width:9px;height:9px;border-radius:50%;background:#D9CFB9}
.module-demos-2 .ow-b .tline .tstep.on{color:var(--ink)}
.module-demos-2 .ow-b .tline .tstep.on .d{background:#3f6b3e}
.module-demos-2 .ow-b .tline .tstep .ln{width:18px;height:2px;background:#E2D8C2}
.module-demos-2 .ow-b .dgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.module-demos-2 .ow-b .dcard{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;cursor:pointer;transition:.14s;background:#fff}
.module-demos-2 .ow-b .dcard:hover{border-color:var(--line-2);box-shadow:var(--shadow)}
.module-demos-2 .ow-b .dcard .di{width:34px;height:34px;border-radius:8px;background:#F1ECE0;color:#9c5c2c;display:grid;place-items:center;flex:none}
.module-demos-2 .ow-b .dcard .di svg{width:17px;height:17px}
.module-demos-2 .ow-b .dcard b{font-size:12.5px;color:var(--ink);display:block;line-height:1.25}
.module-demos-2 .ow-b .dcard span{font-size:10.5px;color:var(--ink-3);font-family:var(--mono)}
.module-demos-2 .ow-b .banner{grid-column:1/3;display:flex;align-items:center;gap:16px;background:linear-gradient(120deg,#16263f,#0A1526);border-radius:14px;padding:17px 20px;color:#fff;position:relative;overflow:hidden}
.module-demos-2 .ow-b .banner:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 92% -10%,rgba(201,162,75,.22),transparent 55%)}
.module-demos-2 .ow-b .banner .bt{position:relative;flex:1}
.module-demos-2 .ow-b .banner .bt .e{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-2)}
.module-demos-2 .ow-b .banner .bt b{font-family:var(--disp);font-size:19px;display:block;margin:4px 0 2px}
.module-demos-2 .ow-b .banner .bt span{font-size:12.5px;color:#b9c8de}
.module-demos-2 .ow-b .banner .lbtn{position:relative;flex:none}
.module-demos-2 .ow-b .pane{display:none}
.module-demos-2 .ow-b .pane.on{display:block}
.module-demos-2 .ow-b .listrow{display:flex;align-items:center;gap:14px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff}
.module-demos-2 .ow-b .listrow .di{width:38px;height:38px;border-radius:9px;background:#F1ECE0;color:#9c5c2c;display:grid;place-items:center;flex:none}
.module-demos-2 .ow-b .listrow .di svg{width:18px;height:18px}
.module-demos-2 .ow-b .listrow .lm{flex:1;min-width:0}
.module-demos-2 .ow-b .listrow .lm b{font-size:13.5px;color:var(--ink);display:block}
.module-demos-2 .ow-b .listrow .lm span{font-size:11.5px;color:var(--ink-3);font-family:var(--mono)}
/* modal */
.module-demos-2 .ow-b .scrim{position:fixed;inset:0;background:rgba(10,21,38,.5);display:none;align-items:center;justify-content:center;z-index:120;padding:20px}
.module-demos-2 .ow-b .scrim.on{display:flex}
.module-demos-2 .ow-b .modal{background:#fff;border-radius:16px;width:440px;max-width:100%;padding:22px;box-shadow:var(--shadow-lg)}
.module-demos-2 .ow-b .modal h3{font-family:var(--disp);font-size:19px;color:var(--ink);margin:0 0 4px;font-weight:600}
.module-demos-2 .ow-b .modal p{font-size:12.5px;color:var(--ink-2);margin:0 0 15px}
.module-demos-2 .ow-b .modal label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700;display:block;margin:11px 0 6px}
.module-demos-2 .ow-b .modal select, .module-demos-2 .ow-b .modal textarea{width:100%;border:1px solid var(--line-2);border-radius:10px;padding:11px 12px;font-size:13px;color:var(--ink);background:#FBFAF6;resize:vertical}
.module-demos-2 .ow-b .modal .mb{display:flex;gap:9px;justify-content:flex-end;margin-top:18px}
@media(max-width:900px){.module-demos-2 .ow-b .frame{grid-template-columns:1fr}.module-demos-2 .ow-b .side{flex-direction:row;flex-wrap:wrap;align-items:center}.module-demos-2 .ow-b .nav{flex-direction:row;flex-wrap:wrap}.module-demos-2 .ow-b .cards{grid-template-columns:1fr}.module-demos-2 .ow-b .c.span, .module-demos-2 .ow-b .banner, .module-demos-2 .ow-b .dgrid{grid-column:auto}}

/* ===== OWNER C : Committee Room (noticeboard + voting + manager flip) ===== */
.module-demos-2 .ow-c .toolbar{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:11px 15px;margin-bottom:16px;box-shadow:var(--shadow);flex-wrap:wrap}
.module-demos-2 .ow-c .toolbar .ttl{font-family:var(--disp);font-size:15px;color:var(--ink);font-weight:600}
.module-demos-2 .ow-c .toolbar .sub{font-size:12px;color:var(--ink-3)}
.module-demos-2 .ow-c .toolbar .viewtog{margin-left:auto;display:flex;align-items:center;gap:9px}
.module-demos-2 .ow-c .switch{position:relative;width:44px;height:24px;border-radius:999px;background:#D9CFB9;transition:.18s;flex:none}
.module-demos-2 .ow-c .switch i{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.18s}
.module-demos-2 .ow-c .switch.on{background:#16263f}
.module-demos-2 .ow-c .switch.on i{left:22px}
.module-demos-2 .ow-c .vtlabel{font-size:12px;font-weight:600;color:var(--ink-2)}
.module-demos-2 .ow-c .cols{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;align-items:start}
.module-demos-2 .ow-c .colh{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin:2px 2px 11px;display:flex;align-items:center;gap:8px}
.module-demos-2 .ow-c .colh .cc{margin-left:auto;font-family:var(--mono);font-size:11px;background:#fff;border:1px solid var(--line);color:var(--ink-2);padding:2px 8px;border-radius:999px}
/* flip card */
.module-demos-2 .ow-c .flip{perspective:1400px;margin-bottom:14px}
.module-demos-2 .ow-c .flip .inner{position:relative;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}
.module-demos-2 .ow-c .flip.back .inner{transform:rotateY(180deg)}
.module-demos-2 .ow-c .face{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.module-demos-2 .ow-c .face.rear{position:absolute;inset:0;transform:rotateY(180deg)}
.module-demos-2 .ow-c .vote{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px 18px;box-shadow:var(--shadow)}
.module-demos-2 .ow-c .vote .vh{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.module-demos-2 .ow-c .vote .vh h4{margin:0;font-family:var(--disp);font-size:16px;color:var(--ink);font-weight:600;flex:1;line-height:1.3}
.module-demos-2 .ow-c .vote .vid{font-family:var(--mono);font-size:11px;color:var(--ink-3);flex:none}
.module-demos-2 .ow-c .vote .vd{font-size:12.5px;color:var(--ink-2);line-height:1.5;margin-bottom:11px}
.module-demos-2 .ow-c .vote .vmeta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}
.module-demos-2 .ow-c .barwrap{margin-bottom:6px}
.module-demos-2 .ow-c .barrow{display:flex;align-items:center;gap:10px;margin-bottom:7px}
.module-demos-2 .ow-c .barrow .bk{font-size:11.5px;color:var(--ink-2);width:62px;font-weight:600}
.module-demos-2 .ow-c .barrow .meter-l{flex:1}
.module-demos-2 .ow-c .barrow .bn{font-family:var(--mono);font-size:11px;color:var(--ink-3);width:54px;text-align:right}
.module-demos-2 .ow-c .quorum{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3);margin:10px 0 4px}
.module-demos-2 .ow-c .quorum .qbar{flex:1;height:6px;border-radius:5px;background:#E7DFCF;overflow:hidden}
.module-demos-2 .ow-c .quorum .qbar i{display:block;height:100%;background:#2b4a74}
.module-demos-2 .ow-c .vactions{display:flex;gap:8px;margin-top:13px;align-items:center}
.module-demos-2 .ow-c .vactions .cast{display:flex;gap:8px;flex:1}
.module-demos-2 .ow-c .vactions .cast .lbtn{flex:1}
.module-demos-2 .ow-c .voted{display:flex;align-items:center;gap:9px;background:rgba(91,140,90,.1);border:1px solid rgba(91,140,90,.3);border-radius:11px;padding:10px 13px;font-size:12.5px;color:#3f6b3e;font-weight:600;margin-top:13px}
.module-demos-2 .ow-c .voted svg{width:16px;height:16px;flex:none}
.module-demos-2 .ow-c .voted .ref{margin-left:auto;font-family:var(--mono);font-size:11px}
/* rear / CRM face */
.module-demos-2 .ow-c .crm{background:linear-gradient(165deg,#0E1D33,#0A1526);border:1px solid var(--edge-2);border-radius:15px;padding:16px 17px;height:100%;color:var(--t1);box-shadow:var(--shadow)}
.module-demos-2 .ow-c .crm .crmh{display:flex;align-items:center;gap:9px;padding-bottom:11px;border-bottom:1px solid var(--edge);margin-bottom:12px}
.module-demos-2 .ow-c .crm .crmh .lg{width:26px;height:26px;border-radius:7px;background:#15294A;color:var(--brass);display:grid;place-items:center;flex:none}
.module-demos-2 .ow-c .crm .crmh .lg svg{width:15px;height:15px}
.module-demos-2 .ow-c .crm .crmh b{font-size:12.5px;color:#fff}
.module-demos-2 .ow-c .crm .crmh span{font-size:10.5px;color:var(--t3);display:block;font-family:var(--mono)}
.module-demos-2 .ow-c .crm .crmh .pill2{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--brass-2);border:1px solid var(--edge-2);padding:3px 8px;border-radius:999px}
.module-demos-2 .ow-c .crm .crow{display:flex;justify-content:space-between;gap:10px;padding:7px 0;font-size:12px;border-bottom:1px solid var(--edge)}
.module-demos-2 .ow-c .crm .crow .ck{color:var(--t3)}
.module-demos-2 .ow-c .crm .crow .cvv{color:var(--t1);font-family:var(--mono);text-align:right}
.module-demos-2 .ow-c .crm .audit{margin-top:11px}
.module-demos-2 .ow-c .crm .audit .al{display:flex;gap:9px;font-size:11px;color:var(--t2);padding:4px 0}
.module-demos-2 .ow-c .crm .audit .al .ad{font-family:var(--mono);color:var(--t3);flex:none;width:74px}
.module-demos-2 .ow-c .crm .tasknote{display:flex;align-items:center;gap:8px;margin-top:12px;background:rgba(201,162,75,.1);border:1px solid var(--edge);border-radius:9px;padding:9px 11px;font-size:11.5px;color:var(--brass-2)}
.module-demos-2 .ow-c .crm .tasknote svg{width:14px;height:14px;flex:none}
/* threads + register */
.module-demos-2 .ow-c .thread{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 15px;margin-bottom:11px;box-shadow:var(--shadow);cursor:pointer;transition:.14s}
.module-demos-2 .ow-c .thread:hover{border-color:var(--line-2)}
.module-demos-2 .ow-c .thread .th{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.module-demos-2 .ow-c .thread .th b{font-size:13.5px;color:var(--ink);line-height:1.3}
.module-demos-2 .ow-c .thread .by{font-size:11.5px;color:var(--ink-3);margin-bottom:7px}
.module-demos-2 .ow-c .thread .last{font-size:12px;color:var(--ink-2);background:#FBF7EC;border-left:2px solid var(--brass);padding:7px 10px;border-radius:0 8px 8px 0;line-height:1.4}
.module-demos-2 .ow-c .thread .tf{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:11px;color:var(--ink-3)}
.module-demos-2 .ow-c .thread .tf .ref{margin-left:auto;font-family:var(--mono)}
.module-demos-2 .ow-c .reg{background:#fff;border:1px solid var(--line);border-radius:13px;padding:5px 15px;box-shadow:var(--shadow)}
.module-demos-2 .ow-c .reg .ri{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}
.module-demos-2 .ow-c .reg .ri:last-child{border-bottom:0}
.module-demos-2 .ow-c .reg .ri .rc{width:30px;height:30px;border-radius:8px;background:rgba(91,140,90,.13);color:#3f6b3e;display:grid;place-items:center;flex:none}
.module-demos-2 .ow-c .reg .ri .rc svg{width:15px;height:15px}
.module-demos-2 .ow-c .reg .ri b{font-size:12.5px;color:var(--ink);display:block;line-height:1.25}
.module-demos-2 .ow-c .reg .ri span{font-size:11px;color:var(--ink-3);font-family:var(--mono)}
.module-demos-2 .ow-c .reg .ri .out{margin-left:auto;font-size:11px;color:#3f6b3e;font-weight:600;text-align:right}
.module-demos-2 .ow-c .composer{display:flex;gap:9px;margin-top:12px}
.module-demos-2 .ow-c .composer input{flex:1;border:1px solid var(--line-2);border-radius:11px;padding:11px 14px;font-size:13px;color:var(--ink);background:#fff}
@media(max-width:980px){.module-demos-2 .ow-c .cols{grid-template-columns:1fr}}

/* MODULE_STYLES */

/* =========================================================================
   Module demos 2 — HRS-native visual harmonisation overlay
   Purpose: keep imported demo content/JS hooks, but make colour/background/chrome
   match the current HRS Hub site instead of the original pasted-in dark demo.
   Append after the existing Module Demos 2 CSS in assets/css/hub.css.
   ========================================================================= */

.page-module-demos-2 .module-demos-2,
.content:has(> .module-demos-2-shell) .module-demos-2{
  --nv-900:var(--ink);
  --nv-850:var(--ink-2);
  --nv-800:var(--blue);
  --nv-700:#0f3a92;
  --nv-600:#315aa1;
  --edge:var(--line);
  --edge-2:rgba(199,163,74,.34);
  --brass:var(--gold);
  --brass-2:var(--gold-bright);
  --brass-d:var(--bronze);
  --t1:var(--ink);
  --t2:#465671;
  --t3:#6d7890;
  --ink:#071b5b;
  --ink-2:#465671;
  --ink-3:#6d7890;
  --card:#fff;
  --paper:#f7f9fc;
  --line:rgba(7,27,91,.13);
  --line-2:rgba(7,27,91,.22);
  --shadow:var(--shadow);
  background:transparent;
  color:var(--text);
  font-family:var(--font-ui);
}

.page-module-demos-2 .module-demos-2-shell,
.content:has(> .module-demos-2-shell) > .module-demos-2-shell{
  background:transparent;
}

.page-module-demos-2 .module-demos-2 .topbar,
.content:has(> .module-demos-2-shell) .module-demos-2 .topbar{
  background:rgba(255,255,255,.90);
  color:var(--ink);
  border-bottom:1px solid rgba(7,27,91,.10);
  box-shadow:0 10px 30px rgba(7,27,91,.06);
  backdrop-filter:blur(14px);
}
.page-module-demos-2 .module-demos-2 .brand .bn,
.content:has(> .module-demos-2-shell) .module-demos-2 .brand .bn{
  color:var(--ink);
  font-family:var(--font-accent);
  letter-spacing:.015em;
}
.page-module-demos-2 .module-demos-2 .brand .bs,
.content:has(> .module-demos-2-shell) .module-demos-2 .brand .bs{
  color:var(--muted);
}
.page-module-demos-2 .module-demos-2 .mark,
.content:has(> .module-demos-2-shell) .module-demos-2 .mark{
  background:#fff;
  border-color:rgba(199,163,74,.45);
  box-shadow:inset 0 0 14px rgba(199,163,74,.12), 0 8px 22px rgba(7,27,91,.08);
}
.page-module-demos-2 .module-demos-2 .tag,
.content:has(> .module-demos-2-shell) .module-demos-2 .tag{
  color:var(--blue);
  background:#fff;
  border-color:rgba(199,163,74,.38);
  font-weight:700;
}

.page-module-demos-2 .module-demos-2 .seg,
.content:has(> .module-demos-2-shell) .module-demos-2 .seg{
  background:#fff;
  border-color:rgba(7,27,91,.12);
  box-shadow:0 8px 22px rgba(7,27,91,.06);
}
.page-module-demos-2 .module-demos-2 .seg button,
.content:has(> .module-demos-2-shell) .module-demos-2 .seg button{
  color:#465671;
}
.page-module-demos-2 .module-demos-2 .seg button.on,
.content:has(> .module-demos-2-shell) .module-demos-2 .seg button.on{
  background:linear-gradient(135deg,var(--blue),var(--ink));
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18), 0 8px 18px rgba(7,27,91,.16);
}
.page-module-demos-2 .module-demos-2 .seg button.on .d,
.content:has(> .module-demos-2-shell) .module-demos-2 .seg button.on .d{
  color:var(--gold-bright);
}

.page-module-demos-2 .module-demos-2 .subnav,
.content:has(> .module-demos-2-shell) .module-demos-2 .subnav{
  background:rgba(255,255,255,.86);
  border-bottom:1px solid rgba(7,27,91,.10);
  box-shadow:0 8px 24px rgba(7,27,91,.05);
  backdrop-filter:blur(12px);
}
.page-module-demos-2 .module-demos-2 .subnav .lbl,
.content:has(> .module-demos-2-shell) .module-demos-2 .subnav .lbl{
  color:#6d7890;
}
.page-module-demos-2 .module-demos-2 .pill,
.content:has(> .module-demos-2-shell) .module-demos-2 .pill{
  background:#fff;
  border-color:rgba(7,27,91,.12);
  color:#465671;
}
.page-module-demos-2 .module-demos-2 .pill.on,
.content:has(> .module-demos-2-shell) .module-demos-2 .pill.on{
  background:var(--blue);
  border-color:var(--blue);
  color:#fff;
}
.page-module-demos-2 .module-demos-2 .pill.on .num,
.content:has(> .module-demos-2-shell) .module-demos-2 .pill.on .num{
  color:var(--gold-bright);
}
.page-module-demos-2 .module-demos-2 .subnav .approach,
.content:has(> .module-demos-2-shell) .module-demos-2 .subnav .approach{
  color:#6d7890;
}

.page-module-demos-2 .module-demos-2 .deck,
.page-module-demos-2 .module-demos-2 .lobby,
.content:has(> .module-demos-2-shell) .module-demos-2 .deck,
.content:has(> .module-demos-2-shell) .module-demos-2 .lobby{
  background:
    radial-gradient(900px 420px at 18% -160px, rgba(26,126,251,.14), transparent 62%),
    radial-gradient(680px 340px at 88% -90px, rgba(199,163,74,.20), transparent 62%),
    linear-gradient(180deg,#ffffff 0%,#f4f7fb 42%,#eef2f8 100%);
  color:var(--ink);
}
.page-module-demos-2 .module-demos-2 .deck-head h2,
.page-module-demos-2 .module-demos-2 .lobby .deck-head h2,
.content:has(> .module-demos-2-shell) .module-demos-2 .deck-head h2,
.content:has(> .module-demos-2-shell) .module-demos-2 .lobby .deck-head h2{
  color:var(--ink);
  font-family:var(--font-accent);
  font-weight:700;
}
.page-module-demos-2 .module-demos-2 .deck-head p,
.page-module-demos-2 .module-demos-2 .lobby .deck-head p,
.content:has(> .module-demos-2-shell) .module-demos-2 .deck-head p,
.content:has(> .module-demos-2-shell) .module-demos-2 .lobby .deck-head p{
  color:#465671;
}
.page-module-demos-2 .module-demos-2 .eyebrow,
.content:has(> .module-demos-2-shell) .module-demos-2 .eyebrow{
  color:var(--bronze);
}

.page-module-demos-2 .module-demos-2 .panel,
.page-module-demos-2 .module-demos-2 .tr-b .floor,
.page-module-demos-2 .module-demos-2 .tr-b .cabinet,
.page-module-demos-2 .module-demos-2 .tr-c .w,
.page-module-demos-2 .module-demos-2 .tr-c .col,
.page-module-demos-2 .module-demos-2 .tr-c .kc,
.page-module-demos-2 .module-demos-2 .tr-c .side .panel,
.content:has(> .module-demos-2-shell) .module-demos-2 .panel,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-b .floor,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-b .cabinet,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .w,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .col,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .kc,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .side .panel{
  background:#fff;
  border-color:rgba(7,27,91,.12);
  box-shadow:0 14px 34px rgba(7,27,91,.08);
  color:var(--ink);
}
.page-module-demos-2 .module-demos-2 .panel-h,
.content:has(> .module-demos-2-shell) .module-demos-2 .panel-h{
  border-bottom-color:rgba(7,27,91,.10);
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.page-module-demos-2 .module-demos-2 .panel-h h3,
.page-module-demos-2 .module-demos-2 .tr-a .rh h3,
.page-module-demos-2 .module-demos-2 .tr-b .fname,
.page-module-demos-2 .module-demos-2 .tr-c .w .wn,
.page-module-demos-2 .module-demos-2 .tr-c .colh .ct,
.page-module-demos-2 .module-demos-2 .tr-c .kc .ks,
.content:has(> .module-demos-2-shell) .module-demos-2 .panel-h h3,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .rh h3,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-b .fname,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .w .wn,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .colh .ct,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .kc .ks{
  color:var(--ink);
}
.page-module-demos-2 .module-demos-2 .muted,
.page-module-demos-2 .module-demos-2 .tiny,
.page-module-demos-2 .module-demos-2 .panel-h .sub,
.page-module-demos-2 .module-demos-2 .tr-a .body,
.page-module-demos-2 .module-demos-2 .tr-b .fmeta,
.page-module-demos-2 .module-demos-2 .tr-c .w .wl,
.page-module-demos-2 .module-demos-2 .tr-c .w .ws,
.content:has(> .module-demos-2-shell) .module-demos-2 .muted,
.content:has(> .module-demos-2-shell) .module-demos-2 .tiny,
.content:has(> .module-demos-2-shell) .module-demos-2 .panel-h .sub,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .body,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-b .fmeta,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .w .wl,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .w .ws{
  color:#56657d;
}

.page-module-demos-2 .module-demos-2 .btn--ghost,
.content:has(> .module-demos-2-shell) .module-demos-2 .btn--ghost{
  background:#fff;
  color:var(--blue);
  border-color:rgba(7,27,91,.16);
}
.page-module-demos-2 .module-demos-2 .btn--brass,
.content:has(> .module-demos-2-shell) .module-demos-2 .btn--brass{
  background:linear-gradient(180deg,var(--gold-bright),var(--gold));
  color:#071b5b;
  border-color:var(--gold);
}

.page-module-demos-2 .module-demos-2 .chip--ghost,
.page-module-demos-2 .module-demos-2 .tr-a .rstep,
.page-module-demos-2 .module-demos-2 .tr-b .pk,
.page-module-demos-2 .module-demos-2 .tr-b .tray,
.content:has(> .module-demos-2-shell) .module-demos-2 .chip--ghost,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .rstep,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-b .pk,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-b .tray{
  background:#f7f9fc;
  color:var(--ink);
  border-color:rgba(7,27,91,.12);
}
.page-module-demos-2 .module-demos-2 .toast,
.content:has(> .module-demos-2-shell) .module-demos-2 .toast{
  background:#fff;
  color:var(--ink);
  border-color:rgba(199,163,74,.34);
  box-shadow:var(--shadow);
}

@media(max-width:760px){
  .page-module-demos-2 .module-demos-2 .deck,
  .page-module-demos-2 .module-demos-2 .lobby,
  .content:has(> .module-demos-2-shell) .module-demos-2 .deck,
  .content:has(> .module-demos-2-shell) .module-demos-2 .lobby{
    padding:18px 14px 46px;
  }
}

/* =========================================================================
   Module demos 2 — final menu/family selector corrections
   - Move Email Triage / Owner Access into its own left-aligned row above candidates
   - Keep mobile family selector and candidate selector from overlapping
   - Keep tag text to "Demo" only (HTML change), style remains HRS-native
   ========================================================================= */

.page-module-demos-2 .module-demos-2 .family-switch,
.content:has(> .module-demos-2-shell) .module-demos-2 .family-switch{
  position:sticky;
  top:67px;
  z-index:45;
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:12px;
  padding:12px 26px 8px;
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(7,27,91,.08);
  box-shadow:0 8px 20px rgba(7,27,91,.04);
  backdrop-filter:blur(12px);
}

.page-module-demos-2 .module-demos-2 .family-switch .seg,
.content:has(> .module-demos-2-shell) .module-demos-2 .family-switch .seg{
  width:auto;
  max-width:100%;
}

.page-module-demos-2 .module-demos-2 .subnav,
.content:has(> .module-demos-2-shell) .module-demos-2 .subnav{
  top:127px;
  z-index:40;
}

@media(max-width:760px){
  .page-module-demos-2 .module-demos-2 .topbar,
  .content:has(> .module-demos-2-shell) .module-demos-2 .topbar{
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 16px;
  }

  .page-module-demos-2 .module-demos-2 .brand,
  .content:has(> .module-demos-2-shell) .module-demos-2 .brand{
    min-width:0;
    flex:1 1 auto;
  }

  .page-module-demos-2 .module-demos-2 .brand .bn,
  .content:has(> .module-demos-2-shell) .module-demos-2 .brand .bn{
    font-size:18px;
  }

  .page-module-demos-2 .module-demos-2 .brand .bs,
  .content:has(> .module-demos-2-shell) .module-demos-2 .brand .bs{
    font-size:10px;
    letter-spacing:.14em;
  }

  .page-module-demos-2 .module-demos-2 .tag,
  .content:has(> .module-demos-2-shell) .module-demos-2 .tag{
    flex:0 0 auto;
    justify-self:auto;
    padding:6px 10px;
    font-size:10.5px;
  }

  .page-module-demos-2 .module-demos-2 .family-switch,
  .content:has(> .module-demos-2-shell) .module-demos-2 .family-switch{
    position:relative;
    top:auto;
    z-index:2;
    display:block;
    padding:12px 16px 10px;
    background:rgba(255,255,255,.92);
  }

  .page-module-demos-2 .module-demos-2 .family-switch .seg,
  .content:has(> .module-demos-2-shell) .module-demos-2 .family-switch .seg{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }

  .page-module-demos-2 .module-demos-2 .family-switch .seg button,
  .content:has(> .module-demos-2-shell) .module-demos-2 .family-switch .seg button{
    min-width:0;
    padding:10px 8px;
  }

  .page-module-demos-2 .module-demos-2 .subnav,
  .content:has(> .module-demos-2-shell) .module-demos-2 .subnav{
    position:relative;
    top:auto;
    z-index:1;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding:10px 16px 12px;
    gap:8px;
  }

  .page-module-demos-2 .module-demos-2 .subnav .approach,
  .content:has(> .module-demos-2-shell) .module-demos-2 .subnav .approach{
    display:none;
  }
}

@media(max-width:420px){
  .page-module-demos-2 .module-demos-2 .brand .bs,
  .content:has(> .module-demos-2-shell) .module-demos-2 .brand .bs{
    max-width:190px;
    white-space:normal;
    line-height:1.35;
  }

  .page-module-demos-2 .module-demos-2 .mark,
  .content:has(> .module-demos-2-shell) .module-demos-2 .mark{
    width:36px;
    height:36px;
  }
}

/* =========================================================================
   Module demos 2 — selector-left desktop experiment
   - Desktop: Select module sits to the left of candidate choices
   - Labels sit above their own button groups in matching style
   - Mobile keeps the safer stacked/full-width layout from the previous fix
   ========================================================================= */

.page-module-demos-2 .module-demos-2 .demo-selector-bar,
.content:has(> .module-demos-2-shell) .module-demos-2 .demo-selector-bar{
  position:sticky;
  top:67px;
  z-index:45;
  display:flex;
  align-items:flex-start;
  gap:18px;
  padding:12px 26px 10px;
  background:rgba(255,255,255,.88);
  border-bottom:1px solid rgba(7,27,91,.08);
  box-shadow:0 8px 20px rgba(7,27,91,.04);
  backdrop-filter:blur(12px);
}

.page-module-demos-2 .module-demos-2 .family-switch,
.content:has(> .module-demos-2-shell) .module-demos-2 .family-switch{
  position:static;
  top:auto;
  z-index:auto;
  display:flex;
  flex:0 0 auto;
  flex-direction:column;
  align-items:flex-start;
  gap:7px;
  padding:0;
  background:transparent;
  border-bottom:0;
  box-shadow:none;
  backdrop-filter:none;
}

.page-module-demos-2 .module-demos-2 .family-switch .lbl,
.page-module-demos-2 .module-demos-2 .subnav .lbl,
.content:has(> .module-demos-2-shell) .module-demos-2 .family-switch .lbl,
.content:has(> .module-demos-2-shell) .module-demos-2 .subnav .lbl{
  display:block;
  margin:0 0 0 2px;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#6d7890;
  font-weight:700;
  line-height:1.2;
}

.page-module-demos-2 .module-demos-2 .family-switch .seg,
.content:has(> .module-demos-2-shell) .module-demos-2 .family-switch .seg{
  width:auto;
  max-width:100%;
}

.page-module-demos-2 .module-demos-2 .subnav,
.content:has(> .module-demos-2-shell) .module-demos-2 .subnav{
  position:static;
  top:auto;
  z-index:auto;
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:8px 10px;
  flex-wrap:wrap;
  padding:0;
  background:transparent;
  border-bottom:0;
  box-shadow:none;
  backdrop-filter:none;
}

.page-module-demos-2 .module-demos-2 .subnav .lbl,
.content:has(> .module-demos-2-shell) .module-demos-2 .subnav .lbl{
  flex:0 0 100%;
  margin-bottom:-1px;
}

.page-module-demos-2 .module-demos-2 .subnav .approach,
.content:has(> .module-demos-2-shell) .module-demos-2 .subnav .approach{
  flex:1 1 260px;
  margin-left:4px;
  align-self:center;
  max-width:46ch;
  text-align:left;
}

@media(max-width:760px){
  .page-module-demos-2 .module-demos-2 .demo-selector-bar,
  .content:has(> .module-demos-2-shell) .module-demos-2 .demo-selector-bar{
    position:relative;
    top:auto;
    z-index:2;
    display:block;
    padding:0;
    background:rgba(255,255,255,.92);
  }

  .page-module-demos-2 .module-demos-2 .family-switch,
  .content:has(> .module-demos-2-shell) .module-demos-2 .family-switch{
    display:flex;
    flex-direction:column;
    gap:7px;
    padding:12px 16px 10px;
  }

  .page-module-demos-2 .module-demos-2 .family-switch .seg,
  .content:has(> .module-demos-2-shell) .module-demos-2 .family-switch .seg{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }

  .page-module-demos-2 .module-demos-2 .subnav,
  .content:has(> .module-demos-2-shell) .module-demos-2 .subnav{
    position:relative;
    top:auto;
    z-index:1;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding:10px 16px 12px;
    gap:8px;
  }

  .page-module-demos-2 .module-demos-2 .subnav .lbl,
  .content:has(> .module-demos-2-shell) .module-demos-2 .subnav .lbl{
    flex:0 0 auto;
    align-self:center;
    margin:0 2px 0 0;
  }
}

/* =========================================================================
   Module Demos — mobile labels + triage contrast refinements
   - Mobile candidate label sits above candidate buttons
   - Triage Deck list hover/selected states stay readable on light HRS chrome
   - Triage Deck KPI/attachment panels use the site blue instead of near-black navy
   - Routing Floor roof strip uses a clearer HRS blue/gold gradient
   ========================================================================= */

@media(max-width:760px){
  .page-module-demos-2 .module-demos-2 .subnav,
  .content:has(> .module-demos-2-shell) .module-demos-2 .subnav{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:max-content;
    grid-template-rows:auto auto;
    align-items:center;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    padding:10px 16px 12px;
    gap:8px;
  }

  .page-module-demos-2 .module-demos-2 .subnav .lbl,
  .content:has(> .module-demos-2-shell) .module-demos-2 .subnav .lbl{
    grid-column:1 / -1;
    grid-row:1;
    width:max-content;
    margin:0 0 1px 2px;
    align-self:start;
  }

  .page-module-demos-2 .module-demos-2 .subnav .pill,
  .content:has(> .module-demos-2-shell) .module-demos-2 .subnav .pill{
    grid-row:2;
    white-space:nowrap;
  }
}

.page-module-demos-2 .module-demos-2 .tr-a .mc,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .mc{
  background:#fff;
}

.page-module-demos-2 .module-demos-2 .tr-a .mc:hover,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .mc:hover{
  background:#eef4ff;
  box-shadow:inset 3px 0 0 rgba(0,43,128,.40);
}

.page-module-demos-2 .module-demos-2 .tr-a .mc.sel,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .mc.sel{
  background:linear-gradient(90deg,rgba(0,43,128,.14),#f6f9ff 62%,#fff);
  box-shadow:inset 4px 0 0 var(--gold);
}

.page-module-demos-2 .module-demos-2 .tr-a .mc:hover .nm,
.page-module-demos-2 .module-demos-2 .tr-a .mc.sel .nm,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .mc:hover .nm,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .mc.sel .nm{
  color:#071b5b;
}

.page-module-demos-2 .module-demos-2 .tr-a .mc:hover .sj,
.page-module-demos-2 .module-demos-2 .tr-a .mc.sel .sj,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .mc:hover .sj,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .mc.sel .sj{
  color:#33435f;
}

.page-module-demos-2 .module-demos-2 .tr-a .mc:hover .inbox,
.page-module-demos-2 .module-demos-2 .tr-a .mc.sel .inbox,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .mc:hover .inbox,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .mc.sel .inbox{
  color:#56657d;
}

.page-module-demos-2 .module-demos-2 .tr-a .kpi,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .kpi{
  background:linear-gradient(135deg,var(--blue),#0f4aa8);
  border-color:rgba(255,255,255,.22);
  box-shadow:0 14px 30px rgba(0,43,128,.18);
}

.page-module-demos-2 .module-demos-2 .tr-a .kpi .n,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .kpi .n{
  color:#fff;
}

.page-module-demos-2 .module-demos-2 .tr-a .kpi .l,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .kpi .l{
  color:#dbe7ff;
}

.page-module-demos-2 .module-demos-2 .tr-a .att,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .att{
  background:linear-gradient(135deg,var(--blue),#071b5b);
  border-color:rgba(255,255,255,.20);
  box-shadow:0 12px 26px rgba(0,43,128,.20);
}

.page-module-demos-2 .module-demos-2 .tr-a .att .ficon,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .att .ficon{
  background:rgba(255,255,255,.12);
  color:var(--gold-bright);
  border:1px solid rgba(255,255,255,.20);
}

.page-module-demos-2 .module-demos-2 .tr-a .att .fn,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .att .fn{
  color:#fff;
}

.page-module-demos-2 .module-demos-2 .tr-a .att .fp,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .att .fp{
  color:#dbe7ff;
}

.page-module-demos-2 .module-demos-2 .tr-a .att .chip,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .att .chip{
  background:rgba(255,255,255,.94);
  color:#071b5b;
  border-color:rgba(255,255,255,.45);
}

.page-module-demos-2 .module-demos-2 .tr-b .roof,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-b .roof{
  background:linear-gradient(135deg,var(--blue),#1a7efb 58%,var(--gold));
  border-top-color:var(--gold);
  border-left-color:rgba(7,27,91,.16);
  border-right-color:rgba(7,27,91,.16);
  box-shadow:0 10px 22px rgba(0,43,128,.16);
}

.page-module-demos-2 .module-demos-2 .tr-b .roof span,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-b .roof span{
  color:#fff;
  text-shadow:0 1px 2px rgba(7,27,91,.45);
  font-weight:800;
}

/* =========================================================================
   Module Demos — quick polish: routing roof + Operations Pulse bolts
   - Routing Floor roof gradient is blue-only and visually connects to first floor panel
   - Operations Pulse gate lightning icon is normal inline size/subtle
   ========================================================================= */

.page-module-demos-2 .module-demos-2 .tr-b .roof,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-b .roof{
  margin:0 0 -1px 6px;
  border-bottom:0;
  background:linear-gradient(90deg,#003e99 0%,var(--blue) 48%,#2f8df6 100%);
  border-top-color:#0b55bf;
  border-left-color:#0b55bf;
  border-right-color:#071b5b;
  box-shadow:0 8px 18px rgba(0,43,128,.14);
}

.page-module-demos-2 .module-demos-2 .tr-b .roof + .floor,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-b .roof + .floor{
  margin-top:0;
  border-top-left-radius:0;
  border-top-right-radius:0;
}

.page-module-demos-2 .module-demos-2 .tr-c .kc .gate,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .kc .gate{
  align-items:center;
  gap:6px;
  line-height:1.35;
  color:#9c5c2c;
}

.page-module-demos-2 .module-demos-2 .tr-c .kc .gate svg,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .kc .gate svg{
  width:14px;
  height:14px;
  flex:0 0 14px;
  stroke-width:1.6;
  opacity:.82;
}

/* =========================================================================
   Module Demos — Triage Deck place-it + chip contrast refinements
   - L. Bianchi manual routing controls use readable light-form colours
   - Building chips use darker blue text on pale-blue backgrounds
   ========================================================================= */

.page-module-demos-2 .module-demos-2 .tr-a .selfix .tiny,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .selfix .tiny{
  color:#33435f;
  font-weight:600;
}

.page-module-demos-2 .module-demos-2 .tr-a .selfix select,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .selfix select{
  background:#f8fbff;
  color:#071b5b;
  border-color:rgba(7,27,91,.22);
  box-shadow:0 6px 14px rgba(7,27,91,.06);
  font-weight:700;
}

.page-module-demos-2 .module-demos-2 .tr-a .selfix select:focus,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .selfix select:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 3px rgba(26,126,251,.16);
}

.page-module-demos-2 .module-demos-2 .tr-a .selfix select option,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .selfix select option{
  color:#071b5b;
  background:#fff;
}

.page-module-demos-2 .module-demos-2 .tr-a .selfix .btn--ghost,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .selfix .btn--ghost{
  background:linear-gradient(180deg,var(--blue),#002b80);
  color:#fff;
  border-color:#002b80;
  box-shadow:0 8px 16px rgba(0,43,128,.18);
}

.page-module-demos-2 .module-demos-2 .tr-a .selfix .btn--ghost:hover,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .selfix .btn--ghost:hover{
  background:linear-gradient(180deg,#1a7efb,#071b5b);
  color:#fff;
}

.page-module-demos-2 .module-demos-2 .chip--bld,
.content:has(> .module-demos-2-shell) .module-demos-2 .chip--bld{
  background:#e7f4fc;
  color:#1f6f99;
  border-color:#a9d4ec;
  font-weight:800;
}

.page-module-demos-2 .module-demos-2 .chip--bld svg,
.content:has(> .module-demos-2-shell) .module-demos-2 .chip--bld svg{
  color:#1f6f99;
  opacity:1;
}

/* =========================================================================
   Module Demos — final hard contrast override for Triage Deck chips/dropdowns
   - Force readable selected/open dropdown text on dark native option highlight
   - Force pale building chips to dark-blue text even if earlier chip rules win
   ========================================================================= */

.page-module-demos-2 .module-demos-2 .tr-a .selfix select,
.page-module-demos-2 .module-demos-2 .tr-a select,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .selfix select,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a select{
  color:#071b5b !important;
  background-color:#f8fbff !important;
  border-color:#8fbfe8 !important;
  -webkit-text-fill-color:#071b5b !important;
}

.page-module-demos-2 .module-demos-2 .tr-a .selfix select option,
.page-module-demos-2 .module-demos-2 .tr-a select option,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .selfix select option,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a select option{
  color:#071b5b !important;
  background-color:#ffffff !important;
}

.page-module-demos-2 .module-demos-2 .tr-a .selfix select option:checked,
.page-module-demos-2 .module-demos-2 .tr-a select option:checked,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .selfix select option:checked,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a select option:checked{
  color:#ffffff !important;
  background-color:#071b5b !important;
  -webkit-text-fill-color:#ffffff !important;
}

.page-module-demos-2 .module-demos-2 .chip--bld,
.page-module-demos-2 .module-demos-2 .tr-a .chip--bld,
.page-module-demos-2 .module-demos-2 .tr-b .chip--bld,
.page-module-demos-2 .module-demos-2 .tr-c .chip--bld,
.content:has(> .module-demos-2-shell) .module-demos-2 .chip--bld,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-a .chip--bld,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-b .chip--bld,
.content:has(> .module-demos-2-shell) .module-demos-2 .tr-c .chip--bld{
  background:#d7ecff !important;
  color:#073763 !important;
  border-color:#8fbfe8 !important;
  text-shadow:none !important;
  font-weight:800 !important;
}

.page-module-demos-2 .module-demos-2 .chip--bld svg,
.content:has(> .module-demos-2-shell) .module-demos-2 .chip--bld svg{
  color:#073763 !important;
  stroke:#073763 !important;
  opacity:1 !important;
}

/* =========================================================================
   Module Demos — Owner App blue-only palette correction
   Requested 2026-06-15: Owner App gradients should match hub blues, with no gold
   inside gradients. Scoped to owner demo surfaces so the rest of the hub keeps
   its existing blue/gold brand accents.
   Rollback: restore hub.css.before-owner-app-blue.css from this backup set.
   ========================================================================= */
.page-module-demos-2 .module-demos-2 .module[data-fam="owner"] .lobby,
.content:has(> .module-demos-2-shell) .module-demos-2 .module[data-fam="owner"] .lobby{
  background:
    radial-gradient(900px 420px at 18% -160px, rgba(26,126,251,.18), transparent 62%),
    radial-gradient(680px 340px at 88% -90px, rgba(0,43,128,.13), transparent 62%),
    linear-gradient(180deg,#ffffff 0%,#f4f8ff 44%,#edf4ff 100%);
}

.page-module-demos-2 .module-demos-2 .ow-a .phone,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .phone{
  background:linear-gradient(160deg,#071b5b 0%,#002b80 58%,#001f5b 100%);
  box-shadow:0 36px 80px rgba(7,27,91,.28), inset 0 0 0 2px rgba(26,126,251,.22);
}

.page-module-demos-2 .module-demos-2 .ow-a .screen,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .screen{
  background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 48%,#edf4ff 100%);
}

.page-module-demos-2 .module-demos-2 .ow-a .appbar .av,
.page-module-demos-2 .module-demos-2 .ow-a .bldcard,
.page-module-demos-2 .module-demos-2 .ow-a .moneyhdr,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .appbar .av,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .bldcard,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .moneyhdr{
  background:linear-gradient(150deg,#071b5b 0%,#002b80 58%,#001f5b 100%);
}

.page-module-demos-2 .module-demos-2 .ow-a .bldcard:before,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .bldcard:before{
  background:radial-gradient(120% 90% at 90% -20%,rgba(26,126,251,.28),transparent 60%);
}

.page-module-demos-2 .module-demos-2 .ow-a .bldcard .pin,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .bldcard .pin{
  color:#dbe7ff;
  border-color:rgba(219,231,255,.48);
  background:rgba(255,255,255,.08);
}

.page-module-demos-2 .module-demos-2 .ow-a .tile.vote,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .tile.vote{
  background:linear-gradient(160deg,#ffffff 0%,#f2f7ff 100%);
  border-color:rgba(26,126,251,.24);
}

.page-module-demos-2 .module-demos-2 .ow-a .tile.wide .ic,
.page-module-demos-2 .module-demos-2 .ow-a .row .fic,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .tile.wide .ic,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .row .fic{
  background:rgba(26,126,251,.12);
  color:#002b80;
}

.page-module-demos-2 .module-demos-2 .ow-a .moneyhdr .sub,
.page-module-demos-2 .module-demos-2 .ow-a .appbar .av,
.page-module-demos-2 .module-demos-2 .ow-a .tab.on svg,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .moneyhdr .sub,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .appbar .av,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .tab.on svg{
  color:#dbe7ff;
}

.page-module-demos-2 .module-demos-2 .ow-a .lbtn.brass,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-a .lbtn.brass{
  background:linear-gradient(180deg,#1a7efb 0%,#002b80 100%);
  color:#fff;
  border-color:#002b80;
  box-shadow:0 4px 14px rgba(0,43,128,.22);
}

/* =========================================================================
   Module Demos — Owner Portal blue-only gradient alignment
   - Scoped to Owner Portal candidate surface.
   - Converts beige/gold gradient and accent treatments to HRS site blues.
   ========================================================================= */
.module-demos-2 .lobby:has(.ow-b){
  background:
    radial-gradient(820px 430px at 88% -8%, rgba(26,126,251,.22), transparent 62%),
    linear-gradient(180deg,#f7fbff 0%,#eef6ff 58%,#e8f2ff 100%) !important;
}
.module-demos-2 .lobby:has(.ow-b) .deck-head .eyebrow,
.module-demos-2 .lobby:has(.ow-b) .deck-head p{
  color:#33435f !important;
}
.module-demos-2 .ow-b .side{
  background:linear-gradient(180deg,#f7fbff 0%,#eef6ff 100%) !important;
  border-right-color:rgba(0,43,128,.14) !important;
}
.module-demos-2 .ow-b .me .av,
.module-demos-2 .ow-b .snap .glyph,
.module-demos-2 .ow-b .banner{
  background:linear-gradient(150deg,#071b5b 0%,#002b80 62%,#001f5b 100%) !important;
  color:#d7ecff !important;
}
.module-demos-2 .ow-b .banner:before{
  background:radial-gradient(120% 120% at 92% -10%, rgba(26,126,251,.30), transparent 55%) !important;
}
.module-demos-2 .ow-b .nav button.on svg,
.module-demos-2 .ow-b .banner .bt .e{
  color:#d7ecff !important;
}
.module-demos-2 .ow-b .nav .nb,
.module-demos-2 .ow-b .nav button.on .nb{
  background:#d7ecff !important;
  color:#073763 !important;
  border:1px solid rgba(0,43,128,.22) !important;
}
.module-demos-2 .ow-b .dcard .di,
.module-demos-2 .ow-b .listrow .di{
  background:#d7ecff !important;
  color:#002b80 !important;
}
.module-demos-2 .ow-b .nav button.on{
  background:#071b5b !important;
  color:#ffffff !important;
}
.module-demos-2 .ow-b .nav button:hover{
  background:rgba(26,126,251,.09) !important;
}

/* =========================================================================
   Module Demos -- Owner Portal blue-only palette correction
   Requested 2026-06-15: Owner Portal gradients and warm accent surfaces should
   match the hub blue family. Scoped to .ow-b only.
   Rollback: restore the live same-folder hub.css.before-owner-portal-blue file.
   ========================================================================= */
.page-module-demos-2 .module-demos-2 .ow-b .side,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .side{
  background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 48%,#edf4ff 100%);
  border-right-color:rgba(7,27,91,.12);
}

.page-module-demos-2 .module-demos-2 .ow-b .me .av,
.page-module-demos-2 .module-demos-2 .ow-b .snap .glyph,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .me .av,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .snap .glyph{
  background:linear-gradient(150deg,#071b5b 0%,#002b80 58%,#001f5b 100%);
  color:#dbe7ff;
}

.page-module-demos-2 .module-demos-2 .ow-b .nav button.on,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .nav button.on{
  background:linear-gradient(180deg,#071b5b 0%,#002b80 100%);
  color:#fff;
}

.page-module-demos-2 .module-demos-2 .ow-b .nav button.on svg,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .nav button.on svg{
  color:#dbe7ff;
}

.page-module-demos-2 .module-demos-2 .ow-b .nav .nb,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .nav .nb{
  background:rgba(26,126,251,.12);
  color:#002b80;
}

.page-module-demos-2 .module-demos-2 .ow-b .nav button.on .nb,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .nav button.on .nb{
  background:rgba(219,231,255,.2);
  color:#dbe7ff;
}

.page-module-demos-2 .module-demos-2 .ow-b .mgr .av,
.page-module-demos-2 .module-demos-2 .ow-b .dcard .di,
.page-module-demos-2 .module-demos-2 .ow-b .listrow .di,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .mgr .av,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .dcard .di,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .listrow .di{
  background:#d7ecff;
  color:#002b80;
}

.page-module-demos-2 .module-demos-2 .ow-b .tline .tstep .d,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .tline .tstep .d{
  background:#c7def7;
}

.page-module-demos-2 .module-demos-2 .ow-b .tline .tstep.on .d,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .tline .tstep.on .d{
  background:#1a7efb;
}

.page-module-demos-2 .module-demos-2 .ow-b .tline .tstep .ln,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .tline .tstep .ln{
  background:#d7ecff;
}

.page-module-demos-2 .module-demos-2 .ow-b .banner,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .banner{
  background:linear-gradient(120deg,#071b5b 0%,#002b80 58%,#001f5b 100%);
}

.page-module-demos-2 .module-demos-2 .ow-b .banner:before,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .banner:before{
  background:radial-gradient(120% 120% at 92% -10%,rgba(26,126,251,.28),transparent 55%);
}

.page-module-demos-2 .module-demos-2 .ow-b .banner .bt .e,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .banner .bt .e{
  color:#dbe7ff;
}

.page-module-demos-2 .module-demos-2 .ow-b .banner .lbtn.brass,
.content:has(> .module-demos-2-shell) .module-demos-2 .ow-b .banner .lbtn.brass{
  background:linear-gradient(180deg,#1a7efb 0%,#002b80 100%);
  color:#fff;
  border-color:#002b80;
  box-shadow:0 4px 14px rgba(0,43,128,.22);
}

/* =========================================================================
   Sugar Lobby — global mode slider + CRM dashboard components
   ========================================================================= */
.sugar-mode{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:999px;padding:4px 12px 4px 14px;background:var(--panel)}
.sugar-mode-label{font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.sugar-mode-form{display:flex;margin:0}
.sugar-switch{display:flex;align-items:center;gap:7px;background:none;border:0;padding:2px 0;cursor:pointer;font:inherit;color:var(--muted)}
.sugar-switch.locked{cursor:not-allowed;opacity:.75}
.sugar-opt{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:color .2s var(--ease)}
.sugar-mode:not(.write) .sugar-opt.read{color:var(--ok)}
.sugar-mode.write .sugar-opt.write{color:var(--bad)}
.sugar-track{position:relative;width:34px;height:18px;border-radius:999px;border:1px solid var(--line);background:rgba(47,156,103,.18);transition:background .25s var(--ease)}
.sugar-mode.write .sugar-track{background:rgba(205,92,92,.24)}
.sugar-knob{position:absolute;top:1.5px;left:2px;width:13px;height:13px;border-radius:50%;background:var(--ok);box-shadow:0 1px 4px rgba(7,27,91,.3);transition:left .25s var(--ease),background .25s var(--ease)}
.sugar-mode.write .sugar-knob{left:17px;background:var(--bad)}
.sugar-switch:not(.locked):hover .sugar-track{box-shadow:0 0 10px rgba(199,163,74,.4)}
@media(max-width:900px){.sugar-opt{display:none}.sugar-mode{padding:4px 10px}}

/* Read-only greying for write-dependent controls */
.sugar-writeonly[disabled],.sugar-writeonly.disabled{opacity:.45;pointer-events:none;filter:grayscale(.6)}
.sugar-readonly-note{font-size:12px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}

/* Dashlets */
.span-2{grid-column:span 2}
.sugar-dashlet .card-title .sub{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:0;text-transform:none;margin-left:4px}
.sugar-chart-wrap{position:relative;height:230px}
.sugar-chart-wrap.tall{height:280px}
.sugar-total{font-size:12px;color:var(--muted);text-align:center;margin:2px 0 8px}
.sugar-total b{color:var(--text);font-size:15px}
.sugar-legend{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:center;margin-top:10px;font-size:12px;color:var(--muted)}
.sugar-legend .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:baseline}

/* Task/case list rows */
.sugar-due{font-size:12px;border-radius:6px;padding:1px 7px;background:rgba(26,126,251,.10);color:var(--info)}
.sugar-due.overdue{background:rgba(205,92,92,.12);color:var(--bad);font-weight:600}
.sugar-row-link{font-weight:600}
.table .sugar-desc{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}

/* Team picker + toolbar */
.sugar-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.sugar-toolbar .spacer{flex:1}
.sugar-toolbar .field-inline{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.sugar-toolbar select.input,.sugar-toolbar input.input{padding:7px 10px;font-size:13px}
.sugar-sync-note{font-size:12px;color:var(--muted)}

/* Detail view */
.sugar-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 26px}
.sugar-detail-grid .dl{padding:9px 0;border-bottom:1px solid var(--line-soft)}
.sugar-detail-grid .dl .dt{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
.sugar-detail-grid .dl .dd{font-size:13.5px}
.sugar-desc-block{white-space:pre-wrap;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:14px 16px;font-size:13.5px;max-height:340px;overflow:auto}
.sugar-note{border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:10px 14px;margin-bottom:10px;background:var(--panel-2)}
.sugar-note .meta{font-size:11.5px;color:var(--muted);margin-bottom:4px}
.sugar-note .body{white-space:pre-wrap;font-size:13px}
@media(max-width:1100px){.span-2{grid-column:span 6}}
@media(max-width:680px){.sugar-detail-grid{grid-template-columns:1fr}.span-2{grid-column:span 12}}

/* =========================================================================
   Identity directory — redesigned admin Users & Groups pages
   ========================================================================= */
.id-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.id-toolbar .spacer{flex:1}
.id-stats{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}
.id-stat{border:1px solid var(--line-soft);border-radius:var(--r);background:var(--panel);padding:12px 18px;min-width:130px}
.id-stat .v{font:600 22px var(--font-display);color:var(--text)}
.id-stat .l{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.id-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}
.id-card{border:1px solid var(--line-soft);border-radius:var(--r);background:var(--panel);padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.id-card:hover{border-color:var(--line);box-shadow:var(--shadow)}
.id-card.inactive{opacity:.55}
.id-head{display:flex;align-items:center;gap:12px}
.avatar{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--ink) 0%,var(--blue) 100%);color:#fff;
  font:600 14px var(--font-display);letter-spacing:.03em}
.avatar.gold{background:linear-gradient(135deg,var(--bronze) 0%,var(--gold) 100%)}
.id-head .who{min-width:0}
.id-head .who .nm{font-weight:600;font-size:14.5px;line-height:1.25}
.id-head .who .ti{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.id-meta{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:2px;word-break:break-word}
.chips{display:flex;flex-wrap:wrap;gap:5px}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;border:1px solid var(--line-soft);
  border-radius:999px;padding:2px 9px;background:var(--panel-2);color:var(--muted)}
.chip.team{border-color:rgba(26,126,251,.35);color:var(--info);background:rgba(26,126,251,.06)}
.chip.ms{border-color:rgba(63,185,124,.35);color:var(--ok);background:rgba(63,185,124,.06)}
.chip.sugar{border-color:rgba(199,163,74,.4);color:var(--bronze);background:rgba(199,163,74,.08)}
.chip.team.primary{border-color:rgba(199,163,74,.5);color:var(--bronze);background:rgba(199,163,74,.1)}
.id-team-summary{display:grid;gap:6px;margin-top:4px;padding-top:9px;border-top:1px dashed var(--line-soft)}
.id-team-label{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.id-team-config{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--panel-2);padding:8px 10px}
.id-team-config>summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--text)}
.id-team-help{font-size:11.5px;margin:8px 0}
.id-team-options{display:grid;gap:5px;max-height:230px;overflow:auto;padding-right:3px}
.id-team-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;border:1px solid transparent;border-radius:7px;padding:6px;font-size:12px}
.id-team-option.suggested{border-color:rgba(199,163,74,.35);background:rgba(199,163,74,.07)}
.id-team-option small{display:block;color:var(--bronze);font-weight:700}
.id-team-pick{display:flex;align-items:center;gap:7px;min-width:0}
.id-team-primary{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;letter-spacing:.06em;color:var(--muted)}
.sdk-case-team-form{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line-soft)}
.sdk-case-team-form .input{width:min(340px,100%)}
.group-card .desc{font-size:12.5px;color:var(--muted)}
.group-card .members{border-top:1px dashed var(--line-soft);padding-top:10px;margin-top:2px}
.group-card .members .none{font-size:12px;color:var(--muted);font-style:italic}
.private-teams-table td{font-size:12.5px}
.id-section-note{font-size:12.5px;color:var(--muted);max-width:860px;margin:-8px 0 14px}

/* =========================================================================
   Lift-panel submenus (Workspace rooms, Dev Only)
   ========================================================================= */
.floor-branch{border-radius:var(--r-sm)}
.floor-branch>.floor{position:relative}
.floor-caret{margin-left:auto;flex:0 0 auto;display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:6px;
  background:transparent;color:var(--muted);cursor:pointer;transition:transform .22s var(--ease),background .2s var(--ease)}
.floor-caret:hover{background:rgba(255,255,255,.08);color:var(--text)}
.floor-branch.open>.floor .floor-caret{transform:rotate(180deg)}
.floor-kids{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s var(--ease)}
.floor-branch.open>.floor-kids{grid-template-rows:1fr}
.floor-kids-in{overflow:hidden;min-height:0}
.floor.floor-child{padding-left:18px;font-size:12.8px;opacity:.92}
.floor.floor-child .floor-no{width:26px;font-size:10px}
.floor.floor-child .ic{width:15px;height:15px}
.floor-kids .floor.active::before{left:6px}

/* =========================================================================
   Workspace — module hub, tiles, coming-soon veils, room pages
   ========================================================================= */
.ws-hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(120deg,#071b5b 0%,#002b80 58%,#001f5b 100%);color:#fff;padding:26px 30px;margin-bottom:22px}
.ws-hero::after{content:"";position:absolute;right:-90px;top:-110px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(228,197,106,.32),rgba(26,126,251,.10) 55%,transparent 72%)}
.ws-hero .kicker{font:800 10.5px var(--font-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-bright)}
.ws-hero h2{margin:10px 0 8px;font:600 clamp(22px,3vw,32px)/1.15 var(--font-display);letter-spacing:-.02em}
.ws-hero p{margin:0;max-width:760px;color:rgba(255,255,255,.78)}
.ws-hero .ws-hero-stats{position:relative;display:flex;gap:22px;flex-wrap:wrap;margin-top:16px}
.ws-hero .ws-hero-stats span{font-size:12.5px;color:rgba(255,255,255,.72)}
.ws-hero .ws-hero-stats b{display:block;font:600 20px var(--font-display);color:#fff}

.ws-room-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:26px}
.ws-room-card{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--panel);padding:14px 16px;color:var(--text);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}
a.ws-room-card:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:var(--glow);text-decoration:none}
.ws-room-card .rm-head{display:flex;align-items:center;gap:9px;font-weight:600;font-size:14px}
.ws-room-card .rm-head .ic{color:var(--gold)}
.ws-room-card .rm-tag{font-size:11.8px;color:var(--muted);line-height:1.45}
.ws-room-card .rm-count{font-size:11px;color:var(--muted)}
.ws-room-card.disabled{opacity:.75}

.ws-section{margin:26px 0 12px;display:flex;align-items:baseline;gap:12px}
.ws-section h2{margin:0;font:600 19px var(--font-display);letter-spacing:.01em;display:flex;align-items:center;gap:8px}
.ws-section h2 .ic{color:var(--gold)}
.ws-section .sub{font-size:12.5px;color:var(--muted)}
.ws-section .spacer{flex:1}

.ws-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.ws-tile{position:relative;overflow:hidden;display:flex;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--panel);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.ws-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.ws-tile-body{display:flex;flex-direction:column;gap:10px;padding:18px 20px;width:100%}
.ws-tile-head{display:flex;align-items:center;gap:11px}
.ws-tile-head h3{margin:0;font:600 15.5px var(--font-display);line-height:1.2}
.ws-tile-group{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ws-tile-ic{flex:0 0 auto;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(199,163,74,.10);color:var(--bronze);border:1px solid rgba(199,163,74,.25)}
.ws-tile-blurb{margin:0;font-size:13px;color:#33435f;line-height:1.5}
.ws-points{margin:0;padding:0;list-style:none;display:grid;gap:5px}
.ws-points li{display:flex;gap:7px;align-items:baseline;font-size:12.3px;color:var(--muted)}
.ws-points li .ic{flex:0 0 auto;color:var(--ok);position:relative;top:1px}
.ws-tile-foot{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:12px}

.ws-tile.locked .ws-tile-body{filter:grayscale(.75) blur(1.5px);opacity:.55;pointer-events:none;user-select:none}
.ws-veil{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:linear-gradient(160deg,rgba(245,247,251,.55),rgba(226,232,243,.72));backdrop-filter:blur(.5px);transition:opacity .3s var(--ease)}
.ws-veil.off{opacity:0;pointer-events:none}
.ws-veil p{margin:0;font:600 15px var(--font-display);color:var(--ink)}
.ws-soon-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(7,27,91,.22);border-radius:999px;padding:5px 13px;background:#fff;color:var(--ink);font:700 10.5px var(--font-ui);letter-spacing:.16em;text-transform:uppercase;box-shadow:0 6px 18px rgba(7,27,91,.10)}
.ws-veil-x{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:17px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(7,27,91,.12);transition:color .15s,transform .15s}
.ws-veil-x:hover{color:var(--bad);transform:scale(1.08)}

.ws-locked-page{display:grid;place-items:center;min-height:50vh}
.ws-locked-card{max-width:560px;text-align:left}
.ws-locked-card h2{font:600 24px var(--font-display);margin:12px 0 8px}
.ws-locked-card .ws-points{margin:14px 0}

/* Room page shared bits */
.ws-crumb{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:12.5px;color:var(--muted)}
.ws-crumb a{color:var(--muted)}
.ws-crumb .sep{opacity:.5}
.ws-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.ws-kpi{border:1px solid var(--line-soft);border-radius:var(--r);background:var(--panel);padding:12px 16px}
.ws-kpi .v{font:600 22px var(--font-display);color:var(--text)}
.ws-kpi .v.ok{color:var(--ok)}.ws-kpi .v.warn{color:#b97d1e}.ws-kpi .v.bad{color:var(--bad)}
.ws-kpi .l{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.ws-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.ws-tabs a{border:1px solid var(--line-soft);border-radius:999px;padding:7px 15px;font-size:12.5px;font-weight:600;color:var(--muted);background:var(--panel)}
.ws-tabs a.on{border-color:var(--gold);color:var(--ink);background:rgba(199,163,74,.09)}
.ws-tabs a:hover{text-decoration:none;border-color:var(--gold)}

/* Compliance meter */
.ws-meter{position:relative;height:8px;border-radius:999px;background:rgba(7,27,91,.08);overflow:hidden}
.ws-meter i{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,var(--bad),var(--warn) 55%,var(--ok))}
.ws-meter.solid-ok i{background:var(--ok)}.ws-meter.solid-warn i{background:var(--warn)}.ws-meter.solid-bad i{background:var(--bad)}

/* Suggestion list (suggest-then-apply) */
.ws-suggest{display:grid;gap:8px}
.ws-suggest .sg{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:10px;align-items:start;border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:10px 13px;background:var(--panel-2);font-size:12.8px}
.ws-suggest .sg .op{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;font-weight:800;font-size:12px}
.ws-suggest .sg.add .op{background:rgba(63,185,124,.14);color:var(--ok)}
.ws-suggest .sg.ren .op{background:rgba(232,163,61,.16);color:#b97d1e}
.ws-suggest .sg.mov .op{background:rgba(77,159,232,.14);color:var(--info)}
.ws-suggest .sg code{font-family:var(--font-mono);font-size:11.6px;background:rgba(7,27,91,.05);padding:1px 5px;border-radius:5px;word-break:break-all}
.ws-suggest .why{color:var(--muted);font-size:11.6px;margin-top:2px}

@media(max-width:680px){.ws-grid{grid-template-columns:1fr}.ws-hero{padding:20px}}

/* Workspace utilities + list rows (no-inline-style discipline) */
.fs11{font-size:11px}.fs115{font-size:11.5px}.fs12{font-size:12px}.fs125{font-size:12.5px}
.minw260{min-width:260px}.minw280{min-width:280px}.minw340{min-width:340px}.maxw390{max-width:390px}
.mt7{margin-top:7px}
.ws-list{display:grid;gap:8px}
.ws-list .lr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:9px 13px;background:var(--panel-2)}
.ws-list .lr .t{font-weight:600;font-size:13px;line-height:1.35;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws-list .lr .m{grid-column:1;font-size:11.5px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws-list .lr .s{grid-row:span 2;display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:11.5px;white-space:nowrap}
@media(max-width:680px){.ws-section{flex-wrap:wrap}.ws-section .spacer{flex-basis:100%}}
.minw160{min-width:160px}
.chip.hot{border-color:rgba(205,92,92,.4);color:var(--bad);background:rgba(205,92,92,.06)}
.ws-hero-cta{display:flex;align-items:center}
.ws-hero-cta .btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}
.ws-hero-cta .btn-ghost:hover{border-color:var(--gold-bright);background:rgba(228,197,106,.12)}

/* ============================================================
   The Big Move — live OneDrive→SharePoint migration report
   ============================================================ */
.bm-hero{position:relative;overflow:hidden}
.bm-hero .bm-live{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.bm-pulse{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(47,156,103,.5);animation:bmPulse 2s infinite}
.bm-pulse.paused{background:var(--warn);animation:none}
@keyframes bmPulse{0%{box-shadow:0 0 0 0 rgba(47,156,103,.45)}70%{box-shadow:0 0 0 9px rgba(47,156,103,0)}100%{box-shadow:0 0 0 0 rgba(47,156,103,0)}}

/* Flow: source → stream → destination */
.bm-flow{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;margin:18px 0 6px}
.bm-node{display:grid;justify-items:center;gap:4px;min-width:120px}
.bm-node .bm-cloud{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:96px;min-height:46px;padding:10px 18px;border:1.5px solid var(--line);border-radius:999px;background:var(--panel-2);font-weight:800;font-size:12px;letter-spacing:.3px;color:var(--ink);white-space:nowrap}
.bm-node .l{font-size:11px;color:var(--muted);text-align:center}
.bm-node .v{font-size:13px;font-weight:800}
.bm-track{position:relative;height:38px}
.bm-track .bm-rail{position:absolute;left:0;right:0;top:50%;height:3px;transform:translateY(-50%);border-radius:99px;background:linear-gradient(90deg,var(--line-soft),var(--line),var(--line-soft))}
.bm-track .bm-dot{position:absolute;top:50%;left:0;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--blue-bright);opacity:0;animation:bmTravel var(--bm-dur,3s) linear infinite;animation-delay:var(--bm-delay,0s)}
.bm-track.idle .bm-dot{animation-play-state:paused;opacity:.15;background:var(--muted)}
@keyframes bmTravel{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:calc(100% - 9px);opacity:0}}
.bm-track .bm-rate{position:absolute;left:50%;top:-6px;transform:translateX(-50%);font-size:11px;color:var(--muted);white-space:nowrap}

/* Segmented total progress bar */
.bm-bar{position:relative;height:18px;border-radius:999px;background:rgba(7,27,91,.08);overflow:hidden}
.bm-bar .seg-done{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--blue),var(--blue-bright));border-radius:999px 0 0 999px}
.bm-bar .seg-flight{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,var(--warn),var(--warn) 5px,rgba(237,176,89,.45) 5px,rgba(237,176,89,.45) 10px)}
.bm-bar-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:11.5px;color:var(--muted)}
.bm-bar-legend .k{display:inline-flex;align-items:center;gap:6px}
.bm-bar-legend .sw{width:12px;height:8px;border-radius:3px}
.bm-bar-legend .sw.done{background:linear-gradient(90deg,var(--blue),var(--blue-bright))}
.bm-bar-legend .sw.flight{background:repeating-linear-gradient(45deg,var(--warn),var(--warn) 3px,rgba(237,176,89,.45) 3px,rgba(237,176,89,.45) 6px)}
.bm-bar-legend .sw.togo{background:rgba(7,27,91,.10)}
.bm-pct{font-size:34px;font-weight:800;font-family:var(--font-display);line-height:1}
.bm-pct small{font-size:14px;color:var(--muted);font-weight:600}

/* ETA tiles */
.bm-eta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.bm-eta{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--panel-2);padding:12px 14px}
.bm-eta .t{font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:var(--muted);font-weight:700}
.bm-eta .v{font-size:17px;font-weight:800;margin-top:3px}
.bm-eta .s{font-size:11.5px;color:var(--muted);margin-top:2px}

/* Skyline */
.bm-skyline-wrap{overflow-x:auto;padding-bottom:4px}
.bm-skyline{display:block;min-width:920px;width:100%;height:auto}
.bm-skyline .twr{cursor:pointer}
.bm-skyline .twr:hover .bm-shell{stroke:var(--gold);stroke-width:1.6}
.bm-shell{fill:var(--panel-2);stroke:var(--line);stroke-width:1}
.bm-fill-done{fill:var(--blue-bright);opacity:.78}
.bm-fill-flight{fill:var(--warn);opacity:.6}
.bm-win{fill:rgba(7,27,91,.16)}
.bm-win.lit{fill:var(--gold-bright);opacity:.95}
.bm-ground{stroke:var(--line);stroke-width:1.5}
.bm-team-label{font:700 10px var(--font-ui);fill:var(--muted);letter-spacing:.6px}
.bm-twr-label{font:600 8.5px var(--font-ui);fill:var(--muted)}
.bm-flag{fill:var(--gold)}
.bm-beacon{fill:var(--ok);animation:bmBeacon 1.6s ease-in-out infinite}
@keyframes bmBeacon{0%,100%{opacity:.35}50%{opacity:1}}
.bm-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:11.5px;color:var(--muted);margin-top:8px}
.bm-legend .k{display:inline-flex;align-items:center;gap:6px}

/* Building board */
.bm-board{display:grid;gap:8px}
.bm-row{border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--panel-2)}
.bm-row.active-now{border-color:rgba(47,156,103,.5)}
.bm-row .bm-row-head{display:grid;grid-template-columns:minmax(0,2fr) minmax(90px,1fr) auto;gap:12px;align-items:center;padding:10px 14px;cursor:pointer}
.bm-row .nm{font-weight:700;font-size:13px;display:flex;align-items:center;gap:8px;min-width:0}
.bm-row .nm .full{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bm-row .bm-mini{display:grid;gap:4px}
.bm-row .bm-mini .n{font-size:11px;color:var(--muted);white-space:nowrap}
.bm-row .caret{transition:transform .2s var(--ease);color:var(--muted)}
.bm-row.open .caret{transform:rotate(90deg)}
.bm-detail{display:none;border-top:1px solid var(--line-soft);padding:14px;gap:16px}
.bm-row.open .bm-detail{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.bm-detail h4{margin:0 0 8px;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.bm-detail .sub-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:6px;font-size:11.5px}
.bm-detail .sub-row .pcs{color:var(--muted);text-align:right;font-size:10.5px;white-space:nowrap}
.bm-detail .sub-row .snm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bm-cmp-row{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:6px;font-size:11px}
.bm-cmp-row .lbl{color:var(--muted)}
.bm-cmp-row .delta{text-align:right;font-weight:700;white-space:nowrap}
.bm-cmp-track{position:relative;height:10px;border-radius:99px;background:rgba(7,27,91,.08)}
.bm-cmp-track .from{position:absolute;top:2px;bottom:2px;left:0;border-radius:99px;background:var(--muted);opacity:.45}
.bm-cmp-track .to{position:absolute;top:0;bottom:0;left:0;border-radius:99px;background:linear-gradient(90deg,var(--gold),var(--gold-bright));opacity:.9}
.bm-recent{list-style:none;margin:0;padding:0;font-size:11.5px}
.bm-recent li{display:flex;justify-content:space-between;gap:10px;padding:3px 0;border-bottom:1px dashed var(--line-soft)}
.bm-recent li:last-child{border-bottom:0}
.bm-recent .fn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.bm-recent .tm{color:var(--muted);white-space:nowrap}

/* Lift list */
.bm-lift-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.bm-lift-head .big{font-size:26px;font-weight:800;font-family:var(--font-display)}
.bm-lift-head .arrow{color:var(--gold);font-size:20px}

/* Ticker */
.bm-ticker{list-style:none;margin:0;padding:0;font-size:12px}
.bm-ticker li{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:10px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--line-soft)}
.bm-ticker li:last-child{border-bottom:0}
.bm-ticker .st{width:8px;height:8px;border-radius:50%}
.bm-ticker .st.ok{background:var(--ok)}.bm-ticker .st.fl{background:var(--warn)}
.bm-ticker .pth{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
.bm-ticker .tm{color:var(--muted);white-space:nowrap;font-size:11px}

@media (max-width:900px){
  .bm-flow{grid-template-columns:1fr;gap:8px}
  .bm-track{display:none}
  .bm-node{justify-items:start;grid-auto-flow:column;gap:10px;align-items:center}
  .bm-row .bm-row-head{grid-template-columns:minmax(0,1fr) auto}
  .bm-row .bm-mini{display:none}
}

/* Large Initial Copy — enhancement pass */
.bm-pct-alt{align-self:flex-end;margin-left:14px;font-size:13px;font-weight:700;color:var(--muted)}
.bm-facts{font-size:11.5px;margin-top:6px}
.bm-spot{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:6px 12px;border:1px solid rgba(47,156,103,.35);border-radius:999px;background:rgba(47,156,103,.07);font-size:12px;font-weight:600}
.bm-mile{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--line);opacity:.8}
.bm-mile[data-m="25"]{left:25%}.bm-mile[data-m="50"]{left:50%}.bm-mile[data-m="75"]{left:75%}
.bm-mile.hit{background:var(--gold)}
.bm-team-lane{padding:9px 0;border-bottom:1px dashed var(--line-soft)}
.bm-team-lane:last-child{border-bottom:0;padding-bottom:0}
.bm-team-lane .tl-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:12px;margin-bottom:5px;flex-wrap:wrap}
.bm-team-lane .tl-foot{font-size:11px;margin-top:4px}
.bm-twr-pct{font:700 7.5px var(--font-ui);fill:var(--muted)}
.bm-twr-pct.done{fill:var(--ok);font-size:9px}

/* Once-over polish (6 Jul): mobile topbar readability */
@media(max-width:640px){
  /* Titles wrap to two tidy lines instead of truncating ("Managem…"). */
  .h-display{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
    font-size:15.5px;line-height:1.2;letter-spacing:0}
  /* The gold underline pseudo-element counts as a clamped line — drop it on phones. */
  .h-display::after{display:none}
}
@media(max-width:900px){
  /* Show the ACTIVE mode word on phones so the slider state is readable, not just knob position. */
  .sugar-mode:not(.write) .sugar-opt.read{display:inline;font-size:10px}
  .sugar-mode.write .sugar-opt.write{display:inline;font-size:10px}
}
@media(max-width:480px){
  .sugar-mode-label{display:none}
  .sugar-mode{padding:4px 8px}
  /* Segmented controls (7d/30d/Custom) wrap instead of crowding. */
  .seg{flex-wrap:wrap}
}

/* Large Initial Copy — clarity pass (6 Jul): chart unit switch, layout fixes */
.bm-switch{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--line);border-radius:999px;padding:4px 12px;cursor:pointer;font:inherit}
.bm-switch .bm-opt{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);transition:color .2s var(--ease)}
.bm-switch .bm-opt.on{color:var(--blue-bright)}
.bm-track2{position:relative;width:34px;height:18px;border-radius:999px;border:1px solid var(--line);background:rgba(26,126,251,.15)}
.bm-knob2{position:absolute;top:1.5px;left:2px;width:13px;height:13px;border-radius:50%;background:var(--blue-bright);box-shadow:0 1px 4px rgba(7,27,91,.3);transition:left .25s var(--ease)}
.bm-switch.b-on .bm-knob2{left:17px}
.bm-node a.bm-cloud{text-decoration:none;transition:box-shadow .2s var(--ease),border-color .2s var(--ease)}
.bm-node a.bm-cloud:hover{border-color:var(--gold);box-shadow:0 0 12px rgba(199,163,74,.35)}
.actions.center{justify-content:center}

/* Locked menu items: visible, greyed, not clickable (Management / Dev Only gating) */
.floor.locked{opacity:.4;cursor:not-allowed;user-select:none}
.floor.locked:hover{background:none;transform:none}

/* Access switch (Users directory) */
.acc-row{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line-soft)}
.acc-row .l{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.acc-switch{display:inline-flex;align-items:center;gap:7px;background:none;border:0;padding:0;cursor:pointer;font:inherit}
.acc-switch.locked{cursor:not-allowed;opacity:.7}
.acc-switch .opt{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.acc-switch.on .opt.on-l{color:var(--ok)}
.acc-switch:not(.on) .opt.off-l{color:var(--bad)}
.acc-track{position:relative;width:32px;height:17px;border-radius:999px;border:1px solid var(--line);background:rgba(205,92,92,.22);transition:background .25s var(--ease)}
.acc-switch.on .acc-track{background:rgba(47,156,103,.2)}
.acc-knob{position:absolute;top:1.5px;left:15px;width:12px;height:12px;border-radius:50%;background:var(--bad);transition:left .25s var(--ease),background .25s var(--ease)}
.acc-switch.on .acc-knob{left:2px;background:var(--ok)}
.acc-form{display:inline-flex;margin:0}
.id-card.access-off{outline:1.5px dashed rgba(205,92,92,.45);outline-offset:-1.5px}

/* Coming-soon card treatment (Reports: module outcomes) */
.card-soon{position:relative}
.card-soon .ws-soon-chip{position:absolute;top:14px;right:16px;z-index:2}
.card-soon .card-soon-body{opacity:.38;filter:saturate(.5);pointer-events:none;user-select:none}

/* Custom reports requested — compact tiles */
.rep-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.rep-tile{display:grid;gap:7px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--panel-2);padding:13px 15px;font-size:12.5px;align-content:start}
.rep-tile b{display:flex;align-items:center;gap:7px;font-size:13px}

/* Hard veil: planned modules with no preview — clearly not clickable for anyone */
.ws-veil.hard{backdrop-filter:blur(7px) saturate(.35);background:rgba(247,249,252,.75);cursor:default}
.ws-veil.hard .ws-soon-chip{opacity:.85}
.ws-veil-note{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-top:6px}

/* Settings: coming-soon override grid */
.ws-ov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:12px 0}
.ws-ov-item{display:grid;gap:6px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--panel-2);padding:12px 14px}
.ws-ov-item b{display:flex;align-items:center;gap:6px;font-size:12.5px}
.ws-ov-item select{min-height:86px}

/* Coming-soon workspace submenu: struck-through for everyone; clickable only with preview access */
.floor.soon-strike .floor-label{text-decoration:line-through;text-decoration-thickness:1.5px;text-decoration-color:rgba(199,163,74,.75)}
a.floor.soon-strike{opacity:.72}
a.floor.soon-strike:hover{opacity:1}

/* ======================================================================
   Zoom Read Only test Dashboard — .zd-* (9 Jul 2026)
   ====================================================================== */
.zd-hero h2{margin:.2rem 0 .4rem}
.zd-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}
.zd-ctl{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);font-weight:600}
.input-sm{padding:7px 10px;font-size:13px}
.zd-grow{flex:1;min-width:220px}
.zd-live{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.zd-pulse{width:9px;height:9px;border-radius:50%;background:var(--warn);box-shadow:0 0 10px var(--warn);animation:zdblink 1.4s infinite}
.zd-pulse.ok{background:var(--ok);box-shadow:0 0 10px var(--ok)}
.zd-pulse.bad{background:var(--bad);box-shadow:0 0 10px var(--bad);animation:none}
@keyframes zdblink{50%{opacity:.45}}
.zd-kpis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin:14px 0 6px}
.zd-kpi{border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:10px 12px;background:var(--panel-2)}
.zd-kpi b{display:block;font-size:22px;font-family:var(--font-mono);color:var(--ink)}
.zd-kpi span{font-size:11px;color:var(--muted)}
.zd-ribbon{margin-top:10px}
.zd-ribbon canvas{display:block;width:100%}
.zd-ribbon-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:6px}
.zd-ribbon-legend .sw{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-1px;margin-right:5px}
.zd-ribbon-legend .sw.calls{background:#1a7efb}.zd-ribbon-legend .sw.meets{background:#c7a34a}
.zd-ribbon-legend .sw.in{background:#c7a34a}.zd-ribbon-legend .sw.out{background:#1a7efb}.zd-ribbon-legend .sw.int{background:#9d7ad1}
.zd-mod .card-title .sub{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:2px}
/* Switchboard */
.zd-constellation-wrap{position:relative}
.zd-constellation-wrap canvas{display:block;width:100%}
.zd-const-tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;border-radius:8px;padding:8px 10px;font-size:12px;line-height:1.45;box-shadow:var(--shadow);z-index:5;max-width:230px}
.zd-const-tip .muted{color:rgba(255,255,255,.65)}
/* Heatmap */
.zd-heatmap{display:grid;gap:3px;margin:8px 0 10px}
.zd-heat-row{display:grid;grid-template-columns:34px repeat(24,minmax(0,1fr));gap:3px;align-items:center}
.zd-heat-head span{font-size:9px;color:var(--muted);text-align:left}
.zd-heat-day{font-size:10px;color:var(--muted);font-weight:600}
.zd-heat-cell{border:none;border-radius:3px;aspect-ratio:1;min-height:13px;cursor:pointer;padding:0;
  background:rgba(26,126,251,calc(var(--a,0)));outline:1px solid rgba(7,27,91,.06)}
.zd-heat-cell:hover{outline:2px solid var(--gold)}
.zd-heat-cell.sel{outline:2px solid var(--gold);box-shadow:0 0 0 3px rgba(199,163,74,.25)}
/* Leaderboard */
.zd-board{display:grid;gap:7px}
.zd-row-btn{display:grid;grid-template-columns:minmax(120px,180px) 1fr;grid-template-rows:auto auto;gap:3px 12px;align-items:center;text-align:left;
  border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--panel);padding:9px 12px;cursor:pointer;color:var(--text);font:inherit}
.zd-row-btn:hover{border-color:var(--gold)}
.zd-row-btn.on{border-color:var(--gold);box-shadow:0 0 0 2px rgba(199,163,74,.22)}
.zd-board-name{font-weight:700;display:flex;align-items:center;gap:8px;grid-row:span 2}
.zd-medal{font-size:15px}.zd-medal.n{font-size:11px;color:var(--muted);width:16px;text-align:center}
.zd-board-bar{height:8px;border-radius:99px;background:rgba(7,27,91,.08);overflow:hidden}
.zd-board-bar i{display:block;height:100%;width:var(--w,0%);border-radius:99px;background:linear-gradient(90deg,#1a7efb,var(--gold));transition:width .7s var(--ease)}
.zd-board-meta{font-size:11px;color:var(--muted)}
/* Watchtower / voicemail shared rows */
.zd-watch-strip{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.zd-watch-kpi{border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:8px 14px;background:var(--panel-2)}
.zd-watch-kpi b{display:block;font-size:20px;font-family:var(--font-mono)}
.zd-watch-kpi span{font-size:11px;color:var(--muted)}
.zd-watch-kpi.bad b{color:var(--bad)}.zd-watch-kpi.ok b{color:var(--ok)}
.zd-scroll{max-height:380px;overflow-y:auto;display:grid;gap:6px;padding-right:4px}
.zd-watch-row,.zd-vm-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:8px 11px;background:var(--panel);font:inherit;color:var(--text);text-align:left}
.zd-vm-row{cursor:pointer;width:100%}
.zd-vm-row:hover{border-color:var(--gold)}
.zd-watch-row.done{opacity:.62}
.zd-dot{width:8px;height:8px;border-radius:50%;flex:none}
.zd-dot.ok{background:var(--ok)}.zd-dot.bad{background:var(--bad)}.zd-dot.warn{background:var(--warn)}
.zd-watch-who{flex:1;min-width:0}
.zd-watch-who b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.zd-watch-who small{color:var(--muted);font-size:11px}
.zd-watch-meta{font-size:11px;color:var(--muted);white-space:nowrap}
.zd-watch-when{font-size:11px;color:var(--muted);white-space:nowrap}
/* Call explorer */
.zd-table-wrap{overflow-x:auto}
.zd-table{width:100%;border-collapse:collapse;font-size:13px}
.zd-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:8px 10px;border-bottom:1px solid var(--line)}
.zd-table td{padding:8px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top}
.zd-table td.num,.zd-table th.num{text-align:right;font-family:var(--font-mono)}
.zd-call-row{cursor:pointer}
.zd-call-row:hover td{background:rgba(26,126,251,.04)}
.zd-exp{color:var(--muted);width:18px}
.zd-dir{font-weight:700;font-size:12px}
.zd-dir.inbound{color:var(--gold)} .zd-dir.outbound{color:var(--info)}
.zd-call-detail td{background:var(--panel-2)}
.zd-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.zd-detail-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.zd-detail-grid b{font-size:13px;word-break:break-word}
.zd-pager{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:12px}
.zd-chip-x{border:none;background:none;cursor:pointer;color:inherit;font-size:13px;padding:0 0 0 3px}
.chip.ghost{opacity:.75}
/* Search */
.zd-hit{border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:12px 14px;margin-bottom:10px;background:var(--panel)}
.zd-hit-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.zd-snippet{margin:.3rem 0;font-size:13px;color:var(--text)}
.zd-snippet mark{background:rgba(199,163,74,.35);border-radius:3px;padding:0 2px}
.zd-busy{animation:zdblink 1.2s infinite}
/* Shelf */
.zd-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.zd-shelf-card{display:flex;flex-direction:column;gap:6px;text-align:left;border:1px solid var(--line-soft);border-radius:var(--r);padding:13px 15px;
  background:linear-gradient(160deg,var(--panel),var(--panel-2));cursor:pointer;color:var(--text);font:inherit;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.zd-shelf-card:hover{transform:translateY(-2px);box-shadow:var(--glow)}
.zd-shelf-top b{font-size:13.5px;line-height:1.35;display:block}
.zd-shelf-meta{font-size:11px;color:var(--muted)}
.zd-shelf-cta{font-size:12px;color:var(--blue);font-weight:600;margin-top:auto}
/* Timeline */
.zd-timeline{display:grid;gap:5px;margin-bottom:10px}
.zd-tl-scale{display:grid;grid-template-columns:92px 1fr;position:relative;height:16px}
.zd-tl-scale i{position:absolute;left:calc(92px + (var(--h) - 5) / 18 * (100% - 92px));font-size:9px;color:var(--muted);font-style:normal}
.zd-tl-lane{display:grid;grid-template-columns:92px 1fr;gap:0;align-items:center}
.zd-tl-day{font-size:11px;color:var(--muted);font-weight:600}
.zd-tl-track{position:relative;height:26px;border-radius:6px;background:repeating-linear-gradient(90deg,rgba(7,27,91,.045) 0,rgba(7,27,91,.045) 1px,transparent 1px,transparent calc(100%/18))}
.zd-tl-bar{position:absolute;left:var(--l);width:var(--w);top:3px;bottom:3px;border:none;border-radius:5px;cursor:pointer;padding:0;
  background:rgba(26,126,251,calc(.25 + var(--d,0) * .6));outline:1px solid rgba(7,27,91,.14)}
.zd-tl-bar:hover{outline:2px solid var(--gold)}
.zd-sub-h{margin:14px 0 8px;font-size:14px}
.zd-up-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:9px}
.zd-up-card{border:1px dashed var(--line);border-radius:var(--r-sm);padding:10px 12px;background:var(--panel-2)}
.zd-up-card b{display:block;font-size:12.5px;margin-bottom:3px}
.zd-up-card span{font-size:11px;color:var(--muted)}
/* Vault */
.zd-gauge-wrap{position:relative;max-width:210px;margin:0 auto}
.zd-gauge-wrap svg{width:100%;height:auto}
.zd-gauge-mid{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:26px}
.zd-gauge-mid b{font-size:26px;font-family:var(--font-mono)}
.zd-gauge-mid span{font-size:10.5px;color:var(--muted);line-height:1.35}
.zd-gauge-mid small{font-size:10px;color:var(--muted);margin-top:4px}
.zd-vault{max-height:420px}
.zd-vault-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:8px 11px;background:var(--panel)}
.zd-vault-files{display:flex;gap:4px;flex-wrap:wrap}
.zd-vault-files i{font-style:normal;font-size:9px;font-weight:700;letter-spacing:.04em;border:1px solid var(--line-soft);border-radius:4px;padding:2px 5px;color:var(--muted)}
/* Drawer */
.zd-drawer{position:fixed;inset:0;z-index:60}
.zd-drawer-veil{position:absolute;inset:0;background:rgba(7,27,91,.35);backdrop-filter:blur(2px)}
.zd-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(560px,94vw);background:var(--panel);box-shadow:-18px 0 50px rgba(7,27,91,.25);
  display:flex;flex-direction:column;animation:zdSlide .22s var(--ease)}
@keyframes zdSlide{from{transform:translateX(30px);opacity:0}}
.zd-drawer-panel header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line-soft)}
.zd-drawer-panel h3{margin:0;font-size:15px;line-height:1.35}
.zd-drawer-body{padding:16px 20px;overflow-y:auto}
.zd-drawer-body h4{margin:14px 0 6px;font-size:13px;color:var(--ink)}
.zd-next{padding-left:20px}
.zd-noscroll{overflow:hidden}
.zd-turns{display:grid;gap:9px}
.zd-turn{display:grid;grid-template-columns:110px 1fr auto;gap:10px;font-size:13px;border-bottom:1px solid var(--line-soft);padding-bottom:8px}
.zd-turn-who{font-weight:700;font-size:12px;color:var(--ink)}
.zd-turn-ts{font-size:10px;color:var(--muted);font-family:var(--font-mono)}
@media (max-width:1100px){.zd-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:720px){
  .zd-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .zd-turn{grid-template-columns:1fr;gap:2px}
  .zd-heat-row{grid-template-columns:28px repeat(24,minmax(0,1fr))}
  .zd-row-btn{grid-template-columns:1fr}
}

/* Zoom dashboard — feedback round 1 (9 Jul 2026) */
.zd-jump{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0 2px}
.zd-jump a{font-size:11.5px;font-weight:600;border:1px solid var(--line-soft);border-radius:999px;padding:4px 11px;color:var(--ink);background:var(--panel)}
.zd-jump a:hover{text-decoration:none;border-color:var(--gold)}
.zd-jump a.hot{border-color:rgba(199,163,74,.55);background:rgba(199,163,74,.10)}
.zd-mod{scroll-margin-top:16px}
.badge.gold{color:var(--bronze);border-color:rgba(199,163,74,.6);background:rgba(199,163,74,.14)}
.zd-badge-btn{cursor:pointer;font:inherit;font-size:11px}
.zd-badge-btn:hover{box-shadow:0 0 0 2px rgba(199,163,74,.3)}

/* Zoom dashboard — focus notes + merged search results (9 Jul 2026) */
.zd-focus-note{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 10px;padding:7px 11px;border:1px solid rgba(199,163,74,.45);
  border-radius:var(--r-sm);background:rgba(199,163,74,.10);font-size:12px;color:var(--ink);width:100%}
.zd-link{border:none;background:none;color:var(--blue);font:inherit;font-weight:700;cursor:pointer;padding:0;text-decoration:underline}
.zd-hit-src{font-size:10px;color:var(--muted);border:1px solid var(--line-soft);border-radius:4px;padding:1px 5px;margin-left:6px;vertical-align:1px}

/* Experimental / proof-of-concept marking (16 Jul 2026) */
.badge.exp{color:#7a5cab;border-color:rgba(157,122,209,.55);background:rgba(157,122,209,.12);text-transform:uppercase;letter-spacing:.04em}
.kicker .badge.exp{margin-left:8px;vertical-align:1px}

/* SimplyMy.ai copyright — tiny sidebar credit on desktop, site-width footer line on mobile only */
.sidebar-copy{display:block;margin-top:6px;padding:4px 14px 2px;font-size:10.5px;letter-spacing:.05em;color:rgba(255,255,255,.42);text-decoration:none;white-space:nowrap}
.sidebar-copy:hover{color:var(--gold-bright)}
.footer-copy{display:none}
.footer-copy a{color:inherit;text-decoration:none}
.footer-copy a:hover{color:var(--gold)}
@media(max-width:900px){
  .footer-copy{display:inline}
  .footer{flex-wrap:wrap;row-gap:2px;padding:10px 16px}
}

/* Building 360 v2 — OCM view (9 Jul design session) */
a.ws-kpi.b360-kpi{text-decoration:none;color:inherit;cursor:pointer;transition:transform .15s var(--ease),box-shadow .15s var(--ease)}
a.ws-kpi.b360-kpi:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(7,27,91,.14);border-color:var(--gold)}
.b360-notes{white-space:pre-wrap;word-break:break-word;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:10px 12px;font-size:11.5px;max-height:260px;overflow:auto;margin:8px 0}
.b360-placeholder{margin-top:10px;font-size:12px;border-style:dashed}
.b360-h3{margin:12px 0 6px;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}

/* ==== Associate Desk & Case Workroom (sdk-*) — appended 2026-07-17 ==== */
.sdk-hero .kicker{color:var(--muted,#9fb0d0);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.sdk-title{margin:4px 0 6px;font-size:26px}
.sdk-hero-row{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:flex-start}
.sdk-scope{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sdk-scope .input{min-width:170px}
.sdk-jump{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.sdk-jump a{border:1px solid rgba(120,150,200,.35);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;text-decoration:none;color:inherit;opacity:.85}
.sdk-jump a:hover{opacity:1}
.sdk-lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:12px}
.sdk-lane{border:1px solid rgba(120,150,200,.25);border-radius:14px;padding:10px;min-height:80px}
.sdk-lane-bad{border-color:rgba(239,68,68,.5)}
.sdk-lane-warn{border-color:rgba(245,158,11,.5)}
.sdk-lane-head{font-weight:900;font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;display:flex;justify-content:space-between}
.sdk-lane-empty{font-size:12px;padding:4px 2px}
.sdk-task{display:block;border-left:3px solid rgba(120,150,200,.4);border-radius:6px;padding:6px 8px;margin-bottom:6px;text-decoration:none;color:inherit;background:rgba(120,150,200,.07)}
.sdk-task:hover{background:rgba(120,150,200,.15)}
.sdk-prio-high{border-left-color:#ef4444}.sdk-prio-med{border-left-color:#f59e0b}.sdk-prio-low{border-left-color:#22c55e}
.sdk-task-name{display:block;font-weight:700;font-size:13px;line-height:1.3}
.sdk-task-meta{display:flex;gap:6px;flex-wrap:wrap;font-size:11px;margin-top:3px;align-items:center}
.sdk-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(56,189,248,.4);background:rgba(56,189,248,.1);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;text-decoration:none;color:inherit}
.sdk-chip-case{border-color:rgba(250,204,21,.4);background:rgba(250,204,21,.08)}
.sdk-chip-bad{border-color:rgba(239,68,68,.5);background:rgba(239,68,68,.12)}
.sdk-chip-warn{border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.12)}
.sdk-chip-on{border-color:rgba(56,189,248,.9);background:rgba(56,189,248,.25)}
.sdk-pulse{display:grid;gap:8px;margin-top:8px}
.sdk-pulse-row{display:grid;grid-template-columns:170px 1fr auto;gap:10px;align-items:center}
.sdk-pulse-name{font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sdk-pulse-bar{height:10px;border-radius:999px;background:rgba(120,150,200,.15);overflow:hidden}
.sdk-pulse-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#60a5fa,#22c55e)}
.sdk-pulse-nums{display:flex;gap:6px;align-items:center;font-size:12px;white-space:nowrap}
.sdk-bulk-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.sdk-bulk-controls .input{max-width:220px}
.sdk-bulk-table{max-height:420px;overflow-y:auto}
.sdk-escal-filter{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.sdk-escal-filter .input{max-width:260px}
.sdk-inline{display:inline-flex;gap:6px;align-items:center;font-size:13px}
.sdk-renew-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sdk-renew-name{min-width:220px;font-size:12px}
.sdk-renew-date{max-width:150px;font-size:12px}
.sdk-who-form{display:flex;gap:8px;max-width:560px}
.sdk-subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:12px}
.sdk-subject-out{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sdk-subject-code{display:block;flex:1;min-width:260px;padding:10px 12px;border-radius:10px;border:1px solid rgba(120,150,200,.35);font-size:13px;word-break:break-all}
.sdk-inline-form{display:inline}
.sdk-brief-text p{margin:6px 0;line-height:1.55}
.sdk-brief-list{margin:6px 0 0;padding-left:18px;display:grid;gap:5px;font-size:13px}
.sdk-lot-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.sdk-lot{border:1px solid rgba(250,204,21,.5);background:rgba(250,204,21,.1);border-radius:999px;padding:4px 11px;font-weight:800;font-size:12px;cursor:pointer;color:inherit}
.sdk-lot-off{opacity:.35;text-decoration:line-through}
.sdk-lot-filter{font-size:11px;margin-right:6px}
.sdk-lot-add{display:flex;gap:6px}.sdk-lot-add .input{max-width:160px}
.sdk-ledger-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0;border-bottom:1px dashed rgba(120,150,200,.2);font-size:12px}
.sdk-ledger-addr{font-weight:700;text-decoration:none;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sdk-ledger-nums{white-space:nowrap}.sdk-ledger-when{white-space:nowrap}
.sdk-search-form{display:flex;gap:8px;margin-bottom:10px}
.sdk-filterbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.sdk-ai-slot{margin-top:10px;opacity:.6}
.sdk-timeline{display:grid;gap:10px}
.sdk-mail{overflow:hidden}
.sdk-mail>summary{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;cursor:pointer;list-style:none}
.sdk-mail>summary::-webkit-details-marker{display:none}
.sdk-mail-dir{flex:0 0 auto;font-weight:900;font-size:11px;border-radius:999px;padding:3px 8px;margin-top:2px}
.sdk-mail-dir.in{background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.4)}
.sdk-mail-dir.out{background:rgba(96,165,250,.15);color:#60a5fa;border:1px solid rgba(96,165,250,.4)}
.sdk-mail-main{flex:1;min-width:0;display:grid;gap:2px}
.sdk-mail-subject{font-weight:800;font-size:13px;line-height:1.3}
.sdk-mail-note{font-size:12.5px;opacity:.85}
.sdk-mail-meta{font-size:11px}
.sdk-mail-side{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.sdk-mail-date{font-size:11px;white-space:nowrap}
.sdk-mail-body{border-top:1px solid rgba(120,150,200,.2);padding:12px 14px}
.sdk-mail-pre{white-space:pre-wrap;font-family:inherit;font-size:13px;line-height:1.5;max-height:460px;overflow-y:auto;margin:0}
.sdk-mail mark{background:rgba(250,204,21,.4);color:inherit;border-radius:3px;padding:0 2px}
.sdk-note{border:1px solid rgba(120,150,200,.2);border-radius:10px;padding:8px 10px;margin-bottom:8px;font-size:13px}
.sdk-note .meta{font-size:11px;opacity:.7;margin-bottom:3px}
.sdk-print{float:right}
.mb8{margin-bottom:8px}
@media (max-width: 760px){.sdk-pulse-row{grid-template-columns:1fr}.sdk-mail>summary{flex-wrap:wrap}}
/* Ask-the-case answer card (appended 2026-07-17) */
.sdk-ask-form{margin-top:10px}
.sdk-ask-answer{margin-top:12px;border:1px solid rgba(157,122,209,.45);background:rgba(157,122,209,.08);border-radius:12px;padding:12px 14px}
.sdk-ask-q{font-size:12px;margin-bottom:6px}
.sdk-ask-a{font-size:14px;line-height:1.55}
.sdk-ask-meta{font-size:11px;margin-top:8px}
/* Scroll containment — no section may grow the page unbounded (2026-07-17) */
.sdk-scroll{overflow-y:auto;scrollbar-width:thin;padding-right:2px}
.sdk-scroll-sm{max-height:300px}
.sdk-scroll-md{max-height:430px}
.sdk-lane-body{max-height:400px;overflow-y:auto;scrollbar-width:thin;padding-right:2px}
.sdk-more{display:block;width:100%;margin-top:10px;border:1px dashed rgba(120,150,200,.45);background:rgba(120,150,200,.06);border-radius:12px;padding:10px;font-weight:800;font-size:13px;cursor:pointer;color:inherit;text-align:center}
.sdk-more:hover{background:rgba(120,150,200,.14)}
/* Ask answer markdown niceties (2026-07-17) */
.sdk-ask-a ul,.sdk-ask-a ol{margin:6px 0;padding-left:20px}
.sdk-ask-a li{margin:3px 0}
.sdk-ask-a p{margin:6px 0}
.sdk-ask-a code{background:rgba(120,150,200,.12);border:1px solid rgba(120,150,200,.3);border-radius:6px;padding:0 5px;font-size:12.5px}
.sdk-ask-h{font-weight:900;margin:10px 0 4px}
.sdk-ask-table th{white-space:nowrap}
.sdk-timeline{transition:opacity .2s ease}

/* ---- File Intelligence (workspace/file-intel.php) — appended 2026-07-18 ---- */
.fi-scopebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 10px;padding:10px 14px;border:1px solid var(--line-2);border-radius:12px;background:rgba(120,150,200,.05)}
.fi-scopebar .spacer{flex:1}
.fi-scopelab{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.fi-select{max-width:420px;border:1px solid var(--line-2);border-radius:10px;padding:8px 10px;font-size:13px;background:#FBFAF6;color:var(--ink)}
.fi-select-sm{border:1px solid var(--line-2);border-radius:8px;padding:5px 8px;font-size:12px;background:#FBFAF6;color:var(--ink)}
.fi-folderbtn{border:1px solid var(--line-2);border-radius:10px;padding:8px 12px;font-size:13px;background:#FBFAF6;color:var(--ink);cursor:pointer}
.fi-folderbtn:hover{border-color:var(--gold, #b99b5f)}
.fi-scopemeta{font-size:12px}
.fi-folderpanel{border:1px solid var(--line-2);border-radius:12px;background:#fff;box-shadow:var(--shadow-lg);padding:10px;margin:0 0 12px;max-height:420px;overflow:auto}
.fi-folderpanel-head{font-size:12px;color:var(--ink-3);padding:2px 6px 8px}
.fi-foldernode{display:block;width:100%;text-align:left;border:0;background:none;padding:6px 10px;font-size:13px;color:var(--ink);cursor:pointer;border-radius:8px}
.fi-foldernode:hover{background:rgba(120,150,200,.08)}
.fi-foldernode.on{background:rgba(185,155,95,.14);font-weight:700}
.fi-subtabs{margin-top:2px}
.fi-panel{margin-top:12px}
.fi-searchrow{display:flex;gap:10px}
.fi-input{flex:1;border:1px solid var(--line-2);border-radius:10px;padding:11px 13px;font-size:14px;background:#FBFAF6;color:var(--ink)}
.fi-fields{margin:10px 0}
.fi-fields summary{font-size:12px;color:var(--ink-3);cursor:pointer}
.fi-fieldgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 14px;padding:10px 4px}
.fi-check{font-size:13px;color:var(--ink-2);display:flex;align-items:center;gap:7px}
.fi-hint{font-size:12.5px;margin:10px 2px}
.fi-results{margin-top:8px}
.fi-hit{border:1px solid var(--line-2);border-radius:12px;background:#fff;margin:8px 0;padding:0}
.fi-hit summary{list-style:none;cursor:pointer;padding:11px 14px}
.fi-hit summary::-webkit-details-marker{display:none}
.fi-hit-name{font-weight:700;font-size:13.5px;margin-right:10px}
.fi-hit-meta{float:right;display:flex;gap:8px;align-items:center;font-size:12px}
.fi-hit-sub{font-size:12px;color:var(--ink-3);margin-top:3px;display:flex;gap:14px;flex-wrap:wrap}
.fi-hit-folder{font-family:var(--mono, ui-monospace, monospace);font-size:11.5px}
.fi-hit-match i{color:var(--ink-2)}
.fi-hit-detail{padding:2px 14px 12px;border-top:1px dashed var(--line-2)}
.fi-hit-detail p{font-size:13px;line-height:1.5;margin:9px 0}
.fi-hit-actions{display:flex;gap:12px;align-items:center;margin-top:10px}
.fi-chip{display:inline-block;border:1px solid rgba(120,150,200,.35);background:rgba(120,150,200,.08);border-radius:999px;padding:1px 9px;font-size:11.5px;margin:2px 3px 2px 0;white-space:nowrap}
.fi-tagrow{margin:4px 0;font-size:12px}
.fi-tagrow-l{display:inline-block;min-width:86px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.fi-imp{font-size:11px;font-weight:700;color:#8a6d3b}
.fi-imp-4,.fi-imp-5{color:#a94442}
.fi-modal{position:fixed;inset:0;background:rgba(30,28,24,.45);display:flex;align-items:center;justify-content:center;z-index:80;padding:20px}
.fi-modal-box{background:#fff;border-radius:16px;box-shadow:var(--shadow-lg);width:860px;max-width:100%;max-height:86vh;display:flex;flex-direction:column}
.fi-modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line-2)}
.fi-modal-body{padding:12px 18px 18px;overflow:auto}
.fi-tagfield{margin:12px 0}
.fi-tagfield-h{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-weight:700;margin-bottom:6px}
.fi-tagcloud{display:flex;flex-wrap:wrap;gap:4px}
.fi-tagpill{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(185,155,95,.4);background:rgba(185,155,95,.08);border-radius:999px;padding:2px 10px;font-size:12px;max-width:340px}
.fi-tagname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fi-tagn{font-weight:800;font-size:11px;color:#8a6d3b}
.fi-chatwrap{border:1px solid var(--line-2);border-radius:14px;background:#fff;padding:14px}
.fi-chatlog{max-height:520px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px}
.fi-msg{display:flex}
.fi-msg-u{justify-content:flex-end}
.fi-msg-u .fi-msg-body{background:rgba(185,155,95,.13);border:1px solid rgba(185,155,95,.4)}
.fi-msg-a .fi-msg-body{background:rgba(120,150,200,.07);border:1px solid rgba(120,150,200,.3)}
.fi-msg-body{border-radius:12px;padding:10px 13px;font-size:13.5px;line-height:1.5;max-width:86%}
.fi-msg-meta{font-size:11px;margin-top:7px}
.fi-trace{margin-top:8px;font-size:12px}
.fi-trace summary{cursor:pointer;color:var(--ink-3)}
.fi-trace ol{margin:6px 0 0;padding-left:20px}
.fi-trace li{margin:2px 0}
.fi-thinking{color:var(--ink-3);font-style:italic}
.fi-chatform{display:flex;gap:10px;margin-top:12px}
.fi-chatopts{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--ink-2)}
.fi-chatopts label{display:flex;align-items:center;gap:6px;font-size:12px}
.fi-runcard{border:1px solid var(--line-2);border-radius:14px;background:#fff;padding:16px}
.fi-runhead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.fi-runtitle{font-weight:800;font-size:15px;margin-bottom:4px}
.fi-runstate{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line-2);border-radius:999px;padding:4px 12px;white-space:nowrap}
.fi-runstate-running{border-color:#3c763d;color:#3c763d;background:rgba(60,118,61,.07)}
.fi-runstate-paused{border-color:#8a6d3b;color:#8a6d3b;background:rgba(138,109,59,.07)}
.fi-runstate-done{border-color:#31708f;color:#31708f;background:rgba(49,112,143,.07)}
.fi-runstate-error,.fi-runstate-stopped{border-color:#a94442;color:#a94442;background:rgba(169,68,66,.06)}
.fi-progress{height:10px;border-radius:999px;background:rgba(120,150,200,.15);margin:14px 0 8px;overflow:hidden}
.fi-progressbar{height:100%;border-radius:999px;background:linear-gradient(90deg,#b99b5f,#8fae7d);transition:width .6s ease}
.fi-runmeta{font-size:12.5px;line-height:1.6}
.fi-runbtns{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}
@media (max-width:760px){.fi-scopebar{align-items:stretch;flex-direction:column}.fi-select{max-width:none}.fi-hit-meta{float:none;margin-top:4px}.fi-msg-body{max-width:100%}}
.fi-modal[hidden]{display:none}

/* ---------- Mail Composer (.mc-*) — Outlook-style compose window ---------- */
.mc-shade{position:fixed;inset:0;background:rgba(7,27,91,.38);backdrop-filter:blur(2px);z-index:220}
.mc-win{position:fixed;z-index:221;right:max(18px,calc(50vw - 620px));top:4vh;width:min(1240px,94vw);max-height:92vh;
  display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  box-shadow:0 28px 80px rgba(7,27,91,.35);overflow:hidden}
.mc-win[hidden],.mc-shade[hidden]{display:none}
.mc-win.mc-dropping{outline:3px dashed var(--gold);outline-offset:-6px}
.mc-head{display:flex;align-items:center;gap:10px;padding:10px 16px;background:linear-gradient(90deg,var(--ink),var(--blue));color:#fff}
.mc-head-title{font:600 14px/1 var(--font-display);letter-spacing:.2px}
.mc-head-ctx{font-size:12px;color:rgba(255,255,255,.75);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:52%}
.mc-x{background:none;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px}
.mc-x:hover{background:rgba(255,255,255,.18)}
.mc-cols{display:flex;min-height:0;flex:1}
.mc-main{flex:1;min-width:0;display:flex;flex-direction:column;padding:12px 16px 10px}
.mc-rail{width:290px;flex:0 0 290px;border-left:1px solid var(--line-soft);background:var(--panel-2);padding:14px;overflow-y:auto}
.mc-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}
.mc-send{padding:8px 22px}
.mc-danger{color:var(--bad)}
.mc-attach-btn{cursor:pointer}
.mc-ai-wrap{position:relative}
.mc-ai-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:5;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r-sm);box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:210px;overflow:hidden}
.mc-ai-menu button{background:none;border:0;text-align:left;padding:9px 14px;font:500 13px var(--font-ui);color:var(--text);cursor:pointer}
.mc-ai-menu button:hover{background:var(--panel-2)}
.mc-field{display:flex;align-items:flex-start;gap:10px;padding:7px 0;border-bottom:1px solid var(--line-soft)}
.mc-field > label{flex:0 0 44px;padding-top:5px;color:var(--muted);font-size:12px;font-weight:600}
.mc-from{align-items:center}
.mc-from-val{font-weight:600}
.mc-from-note{font-size:11px;color:var(--muted);border:1px solid var(--line-soft);border-radius:99px;padding:1px 8px}
.mc-ccbtn{background:none;border:0;color:var(--blue);font:600 12px var(--font-ui);cursor:pointer;padding:4px 6px;border-radius:6px}
.mc-ccbtn:hover{background:var(--panel-2)}
.mc-chips{flex:1;display:flex;flex-wrap:wrap;gap:6px;position:relative;min-height:30px;align-items:center}
.mc-chip{display:inline-flex;align-items:center;gap:6px;background:var(--panel-2);border:1px solid var(--line);border-radius:99px;
  padding:3px 6px 3px 12px;font-size:12.5px;max-width:340px}
.mc-chip small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}
.mc-chip button{background:none;border:0;cursor:pointer;color:var(--muted);font-size:15px;line-height:1;padding:0 4px;border-radius:50%}
.mc-chip button:hover{color:var(--bad)}
.mc-chip-in{flex:1;min-width:160px;border:0;outline:0;background:none;font:400 13px var(--font-ui);color:var(--text);padding:5px 2px}
.mc-typeahead{position:absolute;top:100%;left:44px;right:0;z-index:6;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r-sm);box-shadow:var(--shadow);max-height:260px;overflow-y:auto}
.mc-typeahead button{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line-soft);
  padding:8px 12px;font:400 12.5px var(--font-ui);color:var(--text);cursor:pointer}
.mc-typeahead button.hi,.mc-typeahead button:hover{background:var(--panel-2)}
.mc-typeahead button span{color:var(--muted);margin-left:6px}
.mc-typeahead button em{display:block;color:var(--muted);font-style:normal;font-size:11px;margin-top:1px}
.mc-suggest{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:7px 0 2px}
.mc-suggest:empty{display:none}
.mc-suggest-label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px}
.mc-sug{display:inline-flex;align-items:center;gap:6px;background:none;border:1px dashed var(--line);border-radius:99px;
  padding:3px 11px;font:500 12px var(--font-ui);color:var(--blue);cursor:pointer}
.mc-sug:hover{border-color:var(--gold);background:rgba(199,163,74,.08)}
.mc-sug em{font-style:normal;font-size:10.5px;color:#a05c14;background:rgba(237,176,89,.18);border-radius:99px;padding:1px 7px}
.mc-subj-row{align-items:center}
.mc-subj{flex:1;border:0;outline:0;background:none;font:600 14px var(--font-ui);color:var(--text);padding:5px 2px}
.mc-subj-hint{font-size:12px;color:#8a6416;background:rgba(228,197,106,.14);border:1px solid rgba(199,163,74,.35);
  border-radius:var(--r-sm);padding:6px 12px;margin-top:6px}
.mc-linklike{background:none;border:0;color:var(--blue);cursor:pointer;font:600 12px var(--font-ui);padding:0;text-decoration:underline}
.mc-toolbar{display:flex;align-items:center;gap:2px;flex-wrap:wrap;padding:7px 0 6px;border-bottom:1px solid var(--line-soft)}
.mc-toolbar button{background:none;border:1px solid transparent;border-radius:6px;min-width:30px;height:28px;padding:0 7px;
  font:500 13px var(--font-ui);color:var(--text);cursor:pointer}
.mc-toolbar button:hover{background:var(--panel-2);border-color:var(--line-soft)}
.mc-tb-sep{width:1px;height:18px;background:var(--line-soft);margin:0 6px}
.mc-editor-wrap{flex:1;overflow-y:auto;min-height:180px;padding:4px 2px}
.mc-editor{min-height:130px;outline:0;font:400 14px/1.65 var(--font-ui);color:var(--text);padding:10px 4px 4px}
.mc-editor p{margin:0 0 12px}
.mc-editor:empty::before{content:'Write your reply — clean paragraphs, no Sugar formatting fights.';color:var(--muted)}
.mc-signature{outline:0;border-top:1px dashed var(--line-soft);margin-top:6px;padding:10px 4px 4px;font:400 13.5px/1.6 var(--font-ui);color:var(--text)}
.mc-signature p{margin:0 0 8px}
.mc-quote-toggle{padding:8px 4px}
.mc-quote-toggle button{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:99px;padding:3px 14px;
  font:600 11.5px var(--font-ui);color:var(--muted);cursor:pointer}
.mc-quote-toggle button:hover{color:var(--text);border-color:var(--line)}
.mc-quoted{border-left:3px solid var(--line);margin:4px 0 8px 6px;padding:8px 12px;color:#3d4c66;font-size:13px;overflow-x:auto;background:var(--panel-2);border-radius:0 var(--r-sm) var(--r-sm) 0}
.mc-quoted img{max-width:100%}
.mc-attachments{display:flex;gap:8px;flex-wrap:wrap;padding:8px 0 2px}
.mc-attachments:empty{display:none}
.mc-att{display:inline-flex;align-items:center;gap:7px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);
  padding:5px 8px 5px 12px;font-size:12.5px}
.mc-att button{background:none;border:0;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;border-radius:4px;padding:0 3px}
.mc-att button:hover{color:var(--bad)}
.mc-foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line-soft);padding-top:8px;margin-top:6px;font-size:12px}
.mc-foot-note{font-size:11.5px}
.mc-status-bad{color:var(--bad);font-weight:600}
.mc-status-warn{color:#8a6416;font-weight:600}
.mc-rail-sec{margin-bottom:16px}
.mc-rail-sec h4{margin:0 0 7px;font:700 11px var(--font-ui);letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.mc-rail-case{font-size:13px}
.mc-rail-lots{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.mc-rail-lots span{background:var(--panel);border:1px solid var(--line);border-radius:99px;padding:1px 9px;font-size:11.5px}
.mc-rail-doc{display:block;font-size:12.5px;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-rail-note{font-size:11.5px;margin-top:6px}
.mc-rail-detect{font-size:12.5px;display:flex;flex-direction:column;gap:5px}
.mc-conf{align-self:flex-start;border-radius:99px;padding:1px 10px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.mc-conf-high{background:rgba(47,156,103,.14);color:var(--ok)}
.mc-conf-medium{background:rgba(237,176,89,.16);color:#8a6416}
.mc-conf-low{background:rgba(205,92,92,.12);color:var(--bad)}
body.mc-open{overflow:hidden}
@media (max-width:1020px){.mc-rail{display:none}.mc-win{right:3vw;width:94vw}}

/* ---------- Mail Room v2 (.mr-*) — reading pane + reply desk ---------- */
.sdk-mail-actions{display:flex;gap:8px;margin:2px 0 12px;flex-wrap:wrap}
.mr-list{padding:6px;max-height:76vh;overflow-y:auto}
.mr-row{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line-soft);
  padding:11px 12px;cursor:pointer;border-radius:var(--r-sm);font:400 13px var(--font-ui);color:var(--text)}
.mr-row:hover{background:var(--panel-2)}
.mr-row.sel{background:rgba(26,126,251,.08);box-shadow:inset 3px 0 0 var(--blue-bright)}
.mr-row.unread .mr-from,.mr-row.unread .mr-subj{font-weight:700}
.mr-row-top{display:flex;align-items:baseline;gap:8px}
.mr-from{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mr-when{margin-left:auto;color:var(--muted);font-size:11.5px;white-space:nowrap}
.mr-subj{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mr-prev{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mr-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}
.mr-read{min-height:420px}
.mr-read-subj{margin:0 0 6px;font:600 17px var(--font-display);color:var(--ink)}
.mr-read-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.mr-detect{border:1px solid rgba(199,163,74,.4);background:rgba(228,197,106,.10);border-radius:var(--r-sm);
  padding:10px 14px;margin:0 0 12px;display:flex;flex-direction:column;gap:5px;font-size:13px}
.mr-detect-foot{font-size:11.5px;margin-top:3px}
.mr-atts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.mr-frame{width:100%;min-height:52vh;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:#fff}
.mr-drawer{position:fixed;top:0;right:0;bottom:0;width:min(430px,94vw);z-index:210;background:var(--panel);
  border-left:1px solid var(--line);box-shadow:-18px 0 44px rgba(7,27,91,.18);display:flex;flex-direction:column;padding:16px}
.mr-drawer[hidden]{display:none}
.mr-drawer-head{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.mr-drawer-head .mc-x{color:var(--muted);font-size:20px}
.mr-drawer-head .mc-x:hover{background:var(--panel-2);color:var(--text)}
.mr-drawer-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.mr-draft{display:flex;flex-direction:column;gap:3px;text-align:left;background:var(--panel-2);border:1px solid var(--line-soft);
  border-radius:var(--r-sm);padding:10px 12px;cursor:pointer;font:400 12.5px var(--font-ui);color:var(--text)}
.mr-draft:hover{border-color:var(--gold)}
.mr-draft-top{display:flex;align-items:center;gap:8px;justify-content:space-between}
.mr-drawer-note{font-size:11.5px;margin:10px 0 0}

/* ---------- Mail Composer round 2 (.mc-* fixes: menu, dialogs, pickers, rail) ---------- */
.mc-ai-menu[hidden]{display:none}                 /* fix: [hidden] must beat display:flex */
.mc-field-label{background:none;border:0;flex:0 0 44px;padding-top:5px;color:var(--blue);font-size:12px;font-weight:600;
  cursor:pointer;text-align:left;border-radius:6px}
.mc-field-label:hover{text-decoration:underline}
.mc-from-val{background:none;border:0;font:600 13px var(--font-ui);color:var(--text);cursor:pointer;padding:2px 4px;border-radius:6px}
.mc-from-val:hover{background:var(--panel-2);text-decoration:underline}
/* attachment tray sits directly below Bcc */
.mc-attachment-row{align-items:flex-start}
.mc-attachment-row[hidden]{display:none}
.mc-attachment-label{flex:0 0 44px;padding-top:5px;color:var(--muted);font-size:12px;font-weight:600}
.mc-attachment-row .mc-attachments{flex:1;margin:0;padding:0}
/* rail: editable building & case */
.mc-rail-detectbtn{width:100%;justify-content:center;margin-bottom:10px}
.mc-rail-lab{display:block;font-size:11px;font-weight:600;color:var(--muted);margin:8px 0 3px}
.mc-rail-inwrap{position:relative;display:flex;align-items:center}
.mc-rail-in{width:100%;font-size:12.5px;padding:6px 26px 6px 10px}
.mc-rail-clear{position:absolute;right:6px;background:none;border:0;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;border-radius:50%;padding:0 4px}
.mc-rail-clear:hover{color:var(--bad)}
.mc-rail-menu{left:0;right:0;top:calc(100% + 2px)}
.mc-rail-menu em{display:block;color:var(--muted);font-style:normal;font-size:11px}
/* modal dialog inside the composer window */
.mc-dlg{position:absolute;inset:0;z-index:12;background:rgba(7,27,91,.28);display:flex;align-items:flex-start;justify-content:center;padding:56px 20px}
.mc-dlg[hidden]{display:none}
.mc-dlg-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:0 24px 64px rgba(7,27,91,.32);
  width:min(600px,96%);max-height:80%;display:flex;flex-direction:column;overflow:hidden}
.mc-dlg-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line-soft);background:var(--panel-2)}
.mc-dlg-head .mc-x{color:var(--muted);font-size:20px}
.mc-dlg-head .mc-x:hover{background:var(--panel);color:var(--text)}
.mc-dlg-body{padding:16px;overflow-y:auto}
.mc-dlg-text{width:100%;resize:vertical;font:400 13px/1.5 var(--font-ui);margin-top:4px}
.mc-dlg-opts{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.mc-dlg-opts label{display:flex;gap:9px;align-items:flex-start;font-size:13px;cursor:pointer;padding:7px 10px;border:1px solid var(--line-soft);border-radius:var(--r-sm)}
.mc-dlg-opts label:hover{border-color:var(--line);background:var(--panel-2)}
.mc-dlg-opts input{margin-top:2px}
.mc-dlg-actions{display:flex;align-items:center;gap:10px;margin-top:14px}
/* contact / from picker */
.mc-pick-tabs{display:flex;gap:6px;margin-bottom:12px}
.mc-pick-tabs button{flex:1;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:8px 10px;
  font:600 12.5px var(--font-ui);color:var(--muted);cursor:pointer}
.mc-pick-tabs button.on{background:var(--blue);color:#fff;border-color:var(--blue)}
.mc-pick-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.mc-pick-frow{display:flex;align-items:center;gap:10px}
.mc-pick-frow > label{flex:0 0 66px;font-size:12px;font-weight:600;color:var(--muted)}
.mc-pick-frow .input{flex:1}
.mc-pick-bldwrap{flex:1}
.mc-pick-list{max-height:44vh;overflow-y:auto;display:flex;flex-direction:column;gap:4px;border:1px solid var(--line-soft);border-radius:var(--r-sm);padding:6px}
.mc-pick-empty{padding:14px;text-align:center;margin:0}
.mc-pick-row{display:flex;align-items:center;gap:10px;text-align:left;background:none;border:0;border-radius:var(--r-sm);
  padding:8px 10px;cursor:pointer;width:100%;font:400 12.5px var(--font-ui);color:var(--text)}
.mc-pick-row:hover{background:var(--panel-2)}
.mc-pick-row.added{opacity:.6;cursor:default}
.mc-pick-who{display:flex;flex-direction:column;min-width:0;flex:1}
.mc-pick-who span{color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-pick-row em{font-style:normal;color:var(--muted);font-size:11.5px;text-align:right;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mc-pick-add{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--blue);border:1px solid var(--line-soft);border-radius:99px;padding:2px 9px}
.mc-pick-row.added .mc-pick-add{color:var(--ok);border-color:transparent}
.fi-runsummary{margin:12px 0 4px;padding:9px 12px;border:1px solid rgba(120,150,200,.3);background:rgba(120,150,200,.06);border-radius:10px;font-size:13px;color:var(--ink-2);line-height:1.5}
.fi-runsummary[hidden]{display:none}

/* ---------- User Audit Trail (.ua-*) ---------- */
.ua-crumb{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:13px;color:var(--muted)}
.ua-crumb .sep{opacity:.5}
.ua-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:16px}
.ua-filters .field-inline{display:flex;flex-direction:column;gap:4px}
.ua-filters .field-inline > label{font-size:11px;font-weight:600;color:var(--muted)}
.ua-filters .ua-grow{flex:1;min-width:200px}
.ua-filter-check{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 2px;
  color:var(--text);font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer}
.ua-filter-check input{width:16px;height:16px;margin:0;accent-color:var(--blue);cursor:pointer}
.ua-table th,.ua-table td{vertical-align:top}
.ua-table .ua-when{white-space:nowrap;font-size:12.5px}
.ua-sub{font-size:11.5px;margin-top:2px}
.ua-path{font-family:var(--font-mono);word-break:break-all}
.ua-pager{display:flex;align-items:center;gap:14px;justify-content:center;margin-top:14px}

/* ---------- User Audit Trail additions: day separators + drill-down links (20 Jul 2026) ---------- */
.ua-table .ua-day td{padding:14px 14px 6px;border-bottom:1px solid var(--line-soft);color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;background:transparent}
.ua-cell-link{color:inherit;text-decoration:none;border-bottom:1px dotted transparent;transition:border-color .12s}
.ua-cell-link:hover{border-bottom-color:currentColor}
.chip.ai{border-color:rgba(199,163,74,.4);color:var(--bronze);background:rgba(199,163,74,.08)}
/* --- sortable trail tables (user-activity, audit-trail) — 20 Jul 2026 --- */
.ua-sort-link{color:inherit;text-decoration:none;white-space:nowrap;border-bottom:1px dotted transparent;transition:border-color .12s}
.ua-sort-link:hover{border-bottom-color:currentColor}
.ua-sort-link .arr{font-size:9px;margin-left:3px;opacity:.9}
.ua-th-alt{font-weight:500;font-size:10px;color:var(--muted);margin-left:4px}
.ua-th-alt .ua-sort-link{border-bottom:1px dotted currentColor}
.ua-table .ua-cost{white-space:nowrap}
.ua-cost-total{color:var(--bronze-dark);font-weight:800}
/* filter-bar action group: Filter/Reset/Export anchored bottom-right, both trail pages */
.ua-filters .ua-actions{display:flex;align-items:center;gap:8px;margin-left:auto;white-space:nowrap}
.ua-filters select.input{min-width:130px;max-width:230px}

/* Building-documents picker (composer dialog): SharePoint results list */
.mc-sp-list{max-height:340px;overflow:auto;margin-top:10px;display:flex;flex-direction:column;gap:6px}
.mc-sp-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-2)}
.mc-sp-row .btn-ghost{flex:none}
.mc-sp-main{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.mc-sp-main b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}
.mc-sp-main .muted{font-size:.76rem}
.mc-sp-sum{font-size:.78rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* topbar Sugar CRM status badge (non-interactive; mode changes live in Admin Settings) */
.sugar-status{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.04em;white-space:nowrap;border:1px solid rgba(46,125,50,.45);color:#2e7d32;background:rgba(46,125,50,.08)}
.sugar-status .dot{width:8px;height:8px;border-radius:50%;background:#2e7d32;flex:none}
.sugar-status.write{border-color:rgba(192,57,43,.55);color:#c0392b;background:rgba(192,57,43,.09)}
.sugar-status.write .dot{background:#c0392b}
@media(max-width:480px){.sugar-status{width:30px;padding:8px;justify-content:center;font-size:0}}

/* ---------- Building Profiles + Case Categories (20 Jul 2026) ---------- */
.bp-meter{display:inline-block;width:120px;height:8px;border-radius:999px;background:rgba(7,27,91,.08);vertical-align:middle;overflow:hidden;margin-right:6px}
.bp-meter-lg{width:200px;height:10px}
.bp-meter-fill{display:block;height:100%;border-radius:999px;background:var(--bad);transition:width .3s}
.bp-meter-fill.warn{background:var(--warn)}
.bp-meter-fill.ok{background:var(--ok)}
.bp-reception{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.bp-rec-item .l{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}
.bp-rec-item .v{font-size:13.5px}
.bp-field{margin-bottom:12px}
.bp-field > label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:4px}
.bp-field .input{width:100%}
.bp-req{color:var(--bad);font-weight:800}
.bp-ai{border-color:rgba(199,163,74,.55);background:rgba(199,163,74,.06)}
.cc-addrow{display:flex;gap:10px;margin-top:10px}
.cc-addrow .input{flex:1}

/* Phone Desk + case call notes (Call Capture & Enrichment) */
.pd-table td{vertical-align:top}
.pd-linked td{background:rgba(80,200,120,.05)}
.pd-actions{white-space:nowrap}
.pd-actions form{display:inline-block;margin-left:4px}
.pd-sumrow td{padding-top:0}
.pd-summary{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 12px;background:var(--panel-2);font-size:.85rem}
.pd-actions-list{margin:6px 0 0 18px;padding:0;font-size:.82rem}
.pd-actions-list li{margin:2px 0}
.pd-callnote .pd-btnrow{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.pd-callnote form.inline{display:inline-block}
/* Usage page: exact 6-decimal total tile needs a touch less size to fit span-3 */
.stat-value.usage-total-exact{font-size:1.5rem}

/* ---- Case Workroom: "Lots on this case" unified filter pills (20 Jul 2026) ---- */
.sdk-lotpill{display:inline-flex;align-items:stretch;border:1px solid rgba(250,204,21,.55);background:rgba(250,204,21,.10);border-radius:999px;overflow:hidden;line-height:1}
.sdk-lotpill .sdk-inline-form{display:flex}
.sdk-lotpill-go{display:inline-flex;align-items:center;gap:4px;padding:5px 5px 5px 12px;font-weight:800;font-size:12px;color:var(--ink);text-decoration:none}
.sdk-lotpill-go:hover{background:rgba(250,204,21,.22);text-decoration:none}
.sdk-lotpill-pen{font-weight:400;opacity:.55;font-size:11px}
.sdk-lotpill-x{display:inline-flex;align-items:center;border:0;background:none;cursor:pointer;color:var(--ink);opacity:.4;font-size:14px;font-weight:700;padding:5px 10px 5px 4px;line-height:1}
.sdk-lotpill-x:hover{opacity:1}
.sdk-lotpill-on{background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:var(--gold)}
.sdk-lotpill-on .sdk-lotpill-go{color:var(--ink)}
.sdk-lotpill-on .sdk-lotpill-go:hover{background:rgba(255,255,255,.18)}
.sdk-lot-hiddenbox{margin:2px 0 10px}
.sdk-lot-hiddenbox summary{cursor:pointer;font-size:12px;color:var(--ink-2);opacity:.75;user-select:none}
.sdk-lot-hiddenbox[open] summary{margin-bottom:8px}
.sdk-lotpill-restore{opacity:.5;cursor:pointer;font-weight:800;font-size:12px;padding:5px 12px;color:var(--ink)}
.sdk-lotpill-restore:hover{opacity:1}

/* Nav hover expansion RETIRED (Michael, 11 Aug 2026): submenus that opened on
   mouse-over collapsed the moment the pointer drifted, which made them nearly
   impossible to aim at. Branches now open ONLY on the caret (or the active
   trail), and the sidebar remembers which branches each person left open —
   see the nav-state script in includes/layout/nav.php. */
.floor-kids .floor-kids .floor.floor-child{padding-left:34px}
/* ---------- Large Initial Copy: durable run control ---------- */
.bmctl{border-top:3px solid var(--gold)}
.bmctl [hidden]{display:none!important}
.bmctl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.bmctl-head h2{margin:3px 0 7px;font-size:22px}
.bmctl-head p{max-width:760px}
.bmctl-actions,.bmctl-failure-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.bmctl-notice{margin-top:14px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--panel-2);color:var(--muted);font-size:12px}
.bmctl-notice:empty{display:none}
.bmctl-notice.info{border-color:rgba(77,159,232,.35);color:var(--info)}
.bmctl-notice.warn{border-color:rgba(232,163,61,.4);color:var(--warn)}
.bmctl-notice.bad{border-color:rgba(226,92,92,.4);color:var(--bad)}
.bmctl-cumulative{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:22px;align-items:center;margin-top:12px;padding:16px 18px;border:1px solid rgba(199,163,74,.3);border-radius:var(--r);background:
  radial-gradient(circle at 8% 0,rgba(199,163,74,.12),transparent 36%),
  linear-gradient(135deg,var(--panel),var(--panel-2))}
.bmctl-cumulative-copy>div{display:flex;align-items:baseline;gap:9px;margin-top:3px}
.bmctl-cumulative-copy strong{font-size:30px;line-height:1;color:var(--gold)}
.bmctl-cumulative-copy>div span{font-size:14px;font-weight:750}
.bmctl-cumulative-copy p{margin-top:7px;font-size:11px}
.bmctl-cumulative-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:11px;font-weight:750}
.bmctl-cumulative-meter{height:11px;overflow:hidden;border:1px solid var(--line-soft);border-radius:999px;background:var(--panel)}
.bmctl-cumulative-meter i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--ok));transition:width .45s ease}
.bmctl-cumulative-progress small{display:block;margin-top:7px}
.bmctl-current{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.bmctl-kpi{display:flex;flex-direction:column;gap:3px;min-width:0;padding:12px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--panel-2)}
.bmctl-kpi .l{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bmctl-kpi strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bmctl-kpi small{font-size:11px}
.bmctl-section{margin-top:15px;border-top:1px solid var(--line-soft);padding-top:12px}
.bmctl-section summary{cursor:pointer;font-weight:700;list-style-position:inside}
.bmctl-table td{vertical-align:top}
.bmctl-table td:first-child{max-width:440px}
.bmctl-sub{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35;overflow-wrap:anywhere}
.bmctl-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--gold)}

@media (max-width:900px){
  .bmctl-head{display:block}
  .bmctl-actions{justify-content:flex-start;margin-top:12px}
  .bmctl-current{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .bmctl-current{grid-template-columns:1fr}
  .bmctl-actions .btn,.bmctl-actions .btn-ghost{flex:1 1 44%;justify-content:center}
  .bmctl-failure-actions{justify-content:flex-start}
}

/* Big Move run observatory: latest live run by default, history on demand. */
.bmctl-runbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:14px}
.bmctl-runbar label{display:flex;flex-direction:column;gap:5px;min-width:min(100%,460px);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bmctl-runbar select{width:100%;min-height:40px;padding:8px 34px 8px 11px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font:600 12px var(--font-body)}
.bmctl-runbar select:disabled{opacity:.62;cursor:not-allowed}
.bmctl-live{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid var(--line-soft);border-radius:999px;color:var(--muted);font-size:11px;white-space:nowrap}
.bmctl-live.active{color:var(--ok);border-color:rgba(47,156,103,.34);background:rgba(47,156,103,.07)}
.bmctl-guidance{margin-top:9px;padding:9px 11px;border-left:3px solid var(--info);border-radius:0 var(--r-sm) var(--r-sm) 0;background:rgba(77,159,232,.06);color:var(--muted);font-size:11px;line-height:1.5}
.bmctl-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:16px 0 12px}
.bmctl-stage{position:relative;display:flex;align-items:center;gap:9px;min-width:0;padding:0 14px 0 0}
.bmctl-stage:not(:last-child)::after{content:"";position:absolute;left:35px;right:0;top:14px;height:2px;background:var(--line)}
.bmctl-stage.done:not(:last-child)::after{background:linear-gradient(90deg,var(--ok),var(--gold))}
.bmctl-stage-mark{position:relative;z-index:1;display:grid;place-items:center;flex:none;width:29px;height:29px;border:2px solid var(--line);border-radius:50%;background:var(--panel);color:var(--muted);font:800 11px var(--font-mono)}
.bmctl-stage.active .bmctl-stage-mark{border-color:var(--gold);color:var(--ink);box-shadow:0 0 0 5px rgba(199,163,74,.12)}
.bmctl-stage.done .bmctl-stage-mark{border-color:var(--ok);background:var(--ok);color:#fff}
.bmctl-stage.failed .bmctl-stage-mark{border-color:var(--bad);background:rgba(226,92,92,.1);color:var(--bad);box-shadow:0 0 0 5px rgba(226,92,92,.08)}
.bmctl-stage-copy{position:relative;z-index:1;display:flex;flex-direction:column;min-width:0;padding-right:6px;background:var(--panel)}
.bmctl-stage-copy b{font-size:12px}
.bmctl-stage-copy small{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bmctl-run-alert{margin:12px 0;padding:11px 13px;border:1px solid var(--line-soft);border-radius:var(--r-sm);font-size:12px;font-weight:650;line-height:1.5}
.bmctl-run-alert.bad{border-color:rgba(226,92,92,.4);background:rgba(226,92,92,.07);color:var(--bad)}
.bmctl-run-alert.warn{border-color:rgba(232,163,61,.4);background:rgba(232,163,61,.07);color:var(--warn)}
.bmctl-transfer{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1.6fr) minmax(150px,.7fr);gap:14px;align-items:center;margin-top:12px;padding:16px;border:1px solid var(--line-soft);border-radius:var(--r);background:
  radial-gradient(circle at 50% 50%,rgba(77,159,232,.07),transparent 48%),
  linear-gradient(180deg,var(--panel),var(--panel-2))}
.bmctl-transfer-node{display:flex;flex-direction:column;min-width:0;padding:13px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--panel)}
.bmctl-transfer-node.destination{text-align:right}
.bmctl-transfer-node strong{margin:4px 0 2px;font-size:25px;line-height:1}
.bmctl-transfer-node small{color:var(--muted);font-size:9.5px;line-height:1.35}
.bmctl-transfer-lane{min-width:0}
.bmctl-transfer-rate{text-align:center;font:650 11px var(--font-mono);color:var(--muted)}
.bmctl-transfer-track{position:relative;height:12px;margin:10px 0;overflow:hidden;border-radius:999px;background:var(--line-soft)}
.bmctl-transfer-track i{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--info),var(--gold));transition:width .4s ease}
.bmctl-transfer-track span{display:none;position:absolute;z-index:2;top:3px;left:-8px;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 8px var(--info)}
.bmctl-transfer.is-active .bmctl-transfer-track span{display:block;animation:bmctl-packet 2.4s linear infinite}
.bmctl-transfer.is-active .bmctl-transfer-track span:nth-of-type(2){animation-delay:.8s}
.bmctl-transfer.is-active .bmctl-transfer-track span:nth-of-type(3){animation-delay:1.6s}
.bmctl-transfer.is-error{border-color:rgba(226,92,92,.32);background:linear-gradient(180deg,rgba(226,92,92,.035),var(--panel-2))}
.bmctl-transfer.is-error .bmctl-transfer-rate{color:var(--bad)}
.bmctl-transfer-stats{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:10px}
.bmctl-transfer-stats b{color:var(--text)}
@keyframes bmctl-packet{from{left:-8px}to{left:100%}}
.bmctl-activity-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:12px;padding:13px 14px;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--panel-2)}
.bmctl-activity-panel h3{margin:3px 0 0;font-size:14px;white-space:nowrap}
.bmctl-activity{display:flex;justify-content:flex-end;gap:7px;min-width:0;overflow-x:auto;padding-bottom:2px}
.bmctl-activity-row{display:grid;grid-template-columns:auto minmax(170px,240px);align-items:center;gap:8px;flex:none;max-width:340px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:var(--r-sm);background:var(--panel)}
.bmctl-activity-copy{display:flex;flex-direction:column;min-width:0}
.bmctl-activity-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.bmctl-activity-copy small{font-size:9px}
.bmctl-activity-empty{padding:9px 11px;color:var(--muted);font-size:11px}
.bmctl-observatory{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(230px,.75fr);gap:12px;margin-top:12px}
.bmctl-chart-panel,.bmctl-scope{border:1px solid var(--line-soft);border-radius:var(--r);background:linear-gradient(180deg,var(--panel),var(--panel-2));padding:14px}
.bmctl-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.bmctl-chart-head h3,.bmctl-scope h3{margin:3px 0 0;font-size:15px}
.bmctl-chart-box{position:relative;height:265px;margin-top:8px}
.bmctl-scope{display:flex;flex-direction:column;align-items:center}
.bmctl-ring{--run-pct:0;display:grid;place-items:center;align-content:center;width:126px;height:126px;margin:4px auto 10px;border-radius:50%;background:
  radial-gradient(circle at center,var(--panel) 0 58%,transparent 59%),
  conic-gradient(var(--gold) calc(var(--run-pct) * 1%),var(--line-soft) 0)}
.bmctl-ring span{font-size:22px;font-weight:850;line-height:1}
.bmctl-ring small{margin-top:4px;color:var(--muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.bmctl-composition{width:100%;margin-top:10px}
.bmctl-composition-bar{display:flex;width:100%;height:9px;overflow:hidden;border-radius:999px;background:var(--line-soft)}
.bmctl-composition-bar>span{display:block;height:100%;min-width:2px}
.bmctl-composition-list{display:grid;gap:5px;margin-top:9px}
.bmctl-composition-row{display:grid;grid-template-columns:9px 1fr auto;align-items:center;gap:7px;font-size:11px}
.bmctl-composition-row .sw{width:8px;height:8px;border-radius:2px}
.bmctl-composition-row b{font-size:10px}
.bmctl-composition .c-copied,.bmctl-composition .c-new{background:var(--ok)}
.bmctl-composition .c-exists,.bmctl-composition .c-changed{background:var(--info)}
.bmctl-composition .c-moved{background:var(--warn)}
.bmctl-composition .c-deleted,.bmctl-composition .c-held{background:var(--bad)}
.bmctl-composition .c-retry{background:var(--gold)}
.bmctl-composition .c-excluded{background:#8792a6}
.bmctl-composition .c-empty{width:100%;background:var(--line-soft)}
.bmctl-run-eta{width:100%;margin-top:13px;padding:11px 12px;border:1px solid rgba(199,163,74,.28);border-radius:var(--r-sm);background:linear-gradient(135deg,rgba(199,163,74,.09),rgba(80,125,255,.04))}
.bmctl-run-eta strong{display:block;margin-top:4px;font:800 15px/1.25 var(--font-mono);color:var(--gold)}
.bmctl-run-eta small{display:block;margin-top:4px;line-height:1.4}
.bmctl-scope-note{width:100%;margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft)}
.bmctl-table tbody tr.is-selected{background:rgba(199,163,74,.07)}
.bmctl-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.bmctl-view-cell{white-space:nowrap;text-align:right}
.bmctl-viewing{display:inline-flex;align-items:center;min-height:30px;padding:5px 8px;border:1px solid rgba(199,163,74,.35);border-radius:999px;color:var(--gold);font-size:10px;font-weight:750}
.bm-legacy-report{margin-top:16px}
.bm-legacy-report>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--line-soft);border-radius:var(--r);background:var(--panel);cursor:pointer;list-style:none}
.bm-legacy-report>summary::-webkit-details-marker{display:none}
.bm-legacy-report>summary>span:first-child{display:flex;flex-direction:column;gap:2px}
.bm-legacy-report>summary strong{font-size:16px}
.bm-legacy-report>summary small{color:var(--muted)}
.bm-legacy-open{flex:none;color:var(--gold);font-size:11px;font-weight:750}
.bm-legacy-report[open] .bm-legacy-open::before{content:"Hide "}
.bm-legacy-report[open] .bm-legacy-open{font-size:0}
.bm-legacy-report[open] .bm-legacy-open::before{font-size:11px}
.bm-legacy-body{margin-top:12px}

@media (max-width:900px){
  .bmctl-cumulative{grid-template-columns:1fr}
  .bmctl-transfer{grid-template-columns:1fr 1.4fr 1fr}
  .bmctl-activity-panel{display:block}
  .bmctl-activity{justify-content:flex-start;margin-top:10px}
  .bmctl-observatory{grid-template-columns:1fr}
  .bmctl-scope{display:grid;grid-template-columns:145px 1fr;align-items:center;column-gap:12px}
  .bmctl-scope h3{align-self:end}
  .bmctl-composition{align-self:start}
  .bmctl-scope-note{grid-column:1/-1}
}
@media (max-width:680px){
  .bmctl-transfer{grid-template-columns:1fr}
  .bmctl-transfer-node.destination{text-align:left}
  .bmctl-transfer-lane{order:3}
  .bmctl-activity-row{grid-template-columns:auto minmax(145px,210px)}
  .bmctl-runbar{display:block}
  .bmctl-live{margin-top:8px;white-space:normal}
  .bmctl-stages{grid-template-columns:1fr 1fr;gap:12px 6px}
  .bmctl-stage:not(:last-child)::after{display:none}
  .bmctl-chart-head{display:block}
  .bmctl-chart-head .chips{margin-top:7px}
  .bmctl-chart-box{height:230px}
}
@media (max-width:480px){
  .bmctl-cumulative{padding:13px}
  .bmctl-cumulative-copy strong{font-size:25px}
  .bm-legacy-report>summary{align-items:flex-start;padding:13px}
  .bmctl-stage-copy small{white-space:normal}
  .bmctl-scope{display:flex}
  .bmctl-chart-panel,.bmctl-scope{padding:11px}
}

/* Top-bar Sugar mode chip: compact by design so the strip has room for the
   page-notes prompt. Truncates after the Read/Write word; the full label is
   always available as the title tooltip. (Michael, 27 Jul) */
.sugar-status .sugar-status-label{display:inline-block;max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
@media(max-width:1200px){.sugar-status .sugar-status-label{max-width:11ch}}

/* =========================================================================
   Library — labelled toolbar controls, the funnel, and the tag switches.
   (Michael, 27 Jul: more room across the toolbar; popular tags that filter.)
   ========================================================================= */

/* The word sits above the control now, so Type and Sort stop eating the width
   the filter box wants. One shape for all three, funnel included. */
/* The 7px gap is load-bearing: it is what keeps the funnel's count badge clear
   of the word above it. */
.libb-tools .libb-field{display:flex;flex-direction:column;gap:7px;align-items:flex-start;min-width:0}
.libb-tools .libb-field label,.libb-tools .libb-flab{
  font:800 9.5px var(--font-ui,system-ui);letter-spacing:.11em;text-transform:uppercase;color:#8a97ac;line-height:1}
/* Everything else in the row sits on the same bottom line as those controls,
   so the labels read as a header strip rather than as floating words. */
.libb-tools>.grow,.libb-tools>.seg,.libb-tools>.libai-b{align-self:flex-end}

/* The funnel: same height as the selects beside it, with the live filter count
   worn on its shoulder. No badge when nothing is filtered. */
.libb-tools .libb-funnel{position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:31px;padding:0;border:1px solid rgba(7,27,91,.16);border-radius:8px;background:#fff;
  color:#5b6a86;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.libb-tools .libb-funnel svg{width:16px;height:16px}
.libb-tools .libb-funnel:hover{background:#f2f6ff;border-color:rgba(26,86,219,.35);color:#1a3e8f}
.libb-tools .libb-funnel:focus-visible{outline:2px solid var(--gold,#c7a34a);outline-offset:1px}
.libb-tools .libb-funnel.on{border-color:rgba(199,163,74,.65);background:rgba(250,204,21,.14);color:#8a6100}
.libb-tools .libb-funnel-n{position:absolute;top:-4px;right:-6px;min-width:16px;height:16px;padding:0 4px;
  border-radius:999px;background:#1a56db;color:#fff;border:1.5px solid #fff;
  font:800 9.5px/16px var(--font-ui,system-ui);text-align:center;font-variant-numeric:tabular-nums;
  box-shadow:0 1px 3px rgba(9,17,40,.28)}
.libb-tools .libb-funnel-n[hidden]{display:none}

/* Popular tags here — each bubble is a switch onto the Filters panel. */
.libai-cloud button.libai-tag{font-family:inherit;cursor:pointer;text-align:left;
  transition:background .12s,border-color .12s,color .12s}
.libai-cloud button.libai-tag:hover{background:#eaf1ff;border-color:rgba(26,86,219,.42);color:#12306f}
.libai-cloud button.libai-tag:focus-visible{outline:2px solid var(--gold,#c7a34a);outline-offset:1px}
.libai-tag.is-on{background:var(--ink,#0b1c3f);border-color:var(--ink,#0b1c3f);color:#fff;font-weight:650}
.libai-cloud button.libai-tag.is-on:hover{background:#16294f;border-color:#16294f;color:#fff}
.libai-tag.is-on .n{color:rgba(255,255,255,.72)}
.libai-tag.is-on::after{content:"×";margin-left:1px;font-weight:700;opacity:.8}
.libai-taghint{color:#7a8699}
.libai-tagsay{margin:0 0 8px;padding:6px 10px;border-radius:8px;font-size:12.1px;
  background:rgba(250,204,21,.14);border:1px solid rgba(199,163,74,.42);color:#6b5a1f}
.libai-tagsay[hidden]{display:none}

@media (max-width:820px){
  .libb-tools>.grow,.libb-tools>.seg,.libb-tools>.libai-b{align-self:flex-start}
}

/* =========================================================================
   Personal themes (Associate Lobby v3, 5 Aug 2026) — appended, additive.
   Driven by <body data-hub-theme="light|dark" data-hub-accent="...">, set
   from hub_user_prefs in layout/header.php. Default attributes are
   light/gold, which change nothing — pages look exactly as before until a
   user picks a theme on the Associate Dashboard.
   ========================================================================= */

/* ---- Accent palettes: swap the gold family only ---- */
body[data-hub-accent="ocean"]{--gold:#4a90d9;--gold-bright:#74b3f2;--bronze:#2c5e94;--bronze-dark:#204568}
body[data-hub-accent="teal"]{--gold:#3aa79a;--gold-bright:#63cabd;--bronze:#22685f;--bronze-dark:#184b44}
body[data-hub-accent="violet"]{--gold:#8a6fd8;--gold-bright:#ab93ef;--bronze:#5b459c;--bronze-dark:#413070}
body[data-hub-accent="rose"]{--gold:#d16a8a;--gold-bright:#e894ad;--bronze:#96455f;--bronze-dark:#6e3146}
body[data-hub-accent="slate"]{--gold:#7d8aa0;--gold-bright:#a3b0c4;--bronze:#54607a;--bronze-dark:#3c4659}

/* ---- Dark theme: tokens ---- */
body[data-hub-theme="dark"]{
  --ink:#e7ecf8; --ink-2:#dbe3f5;
  --panel:#111b34; --panel-2:#0d1529;
  --line:rgba(190,205,235,.16); --line-soft:rgba(190,205,235,.10);
  --text:#e2e8f6; --muted:#93a1bd;
  --shadow:0 16px 44px rgba(0,0,0,.45);
  --glow:0 0 0 1px rgba(199,163,74,.30), 0 18px 42px rgba(0,0,0,.5), 0 0 30px rgba(199,163,74,.10);
  color:var(--text);
  background:#0a1122;
  background-image:
    radial-gradient(900px 420px at 18% -160px, rgba(26,126,251,.16), transparent 62%),
    radial-gradient(680px 340px at 88% -90px, rgba(199,163,74,.14), transparent 62%),
    linear-gradient(180deg,#0d1526 0%,#0a1122 42%,#080d1b 100%);
}

/* ---- Dark theme: components that hardcode light colours ---- */
body[data-hub-theme="dark"] .topbar{background:rgba(13,21,41,.86);border-bottom-color:rgba(190,205,235,.12);box-shadow:0 10px 30px rgba(0,0,0,.35)}
body[data-hub-theme="dark"] .userchip{color:#aab7d2}
body[data-hub-theme="dark"] .pill-credit{background:#16223f;border-color:rgba(199,163,74,.45);color:var(--ink);box-shadow:0 10px 24px rgba(0,0,0,.35)}
body[data-hub-theme="dark"] .pill-credit:hover{background:#1b2a4d}
body[data-hub-theme="dark"] .pill-label{color:var(--muted)}
body[data-hub-theme="dark"] .card{background:rgba(17,27,52,.94);border-color:rgba(190,205,235,.12)}
body[data-hub-theme="dark"] .card-title{color:#b9c5de}
body[data-hub-theme="dark"] .stat .stat-label{color:var(--muted)}
body[data-hub-theme="dark"] .stat .stat-value{color:var(--ink)}
body[data-hub-theme="dark"] .btn-ghost{color:var(--ink);background:#16223f;border-color:rgba(190,205,235,.18)}
body[data-hub-theme="dark"] .btn-ghost:hover{border-color:var(--gold);background:#1b2a4d}
body[data-hub-theme="dark"] .table-wrap{background:#101a33;border-color:rgba(190,205,235,.12)}
body[data-hub-theme="dark"] .table th{background:#0d1529;color:#b9c5de;border-bottom-color:rgba(190,205,235,.14)}
body[data-hub-theme="dark"] .table td{color:#d4dcee;border-bottom-color:rgba(190,205,235,.08)}
body[data-hub-theme="dark"] .table tbody tr:hover{background:rgba(199,163,74,.08)}
body[data-hub-theme="dark"] .mod .mod-ic{background:#0d1529;border-color:rgba(190,205,235,.14);color:var(--gold-bright)}
body[data-hub-theme="dark"] .mod h3,body[data-hub-theme="dark"] .task h4,body[data-hub-theme="dark"] .kcard h4{color:var(--ink)}
body[data-hub-theme="dark"] .mod .blurb,body[data-hub-theme="dark"] .task p,body[data-hub-theme="dark"] .kcard p,body[data-hub-theme="dark"] .muted{color:var(--muted)}
body[data-hub-theme="dark"] .mod .cat{color:var(--gold-bright)}
body[data-hub-theme="dark"] .badge.ok{color:#5fd6a0;background:rgba(47,156,103,.16)}
body[data-hub-theme="dark"] .badge.warn{color:#f2ce93;background:rgba(237,176,89,.16)}
body[data-hub-theme="dark"] .badge.info{color:#7db8ff;background:rgba(26,126,251,.16)}
body[data-hub-theme="dark"] .badge.bad{color:#f1a3a3;background:rgba(205,92,92,.16)}
body[data-hub-theme="dark"] .banner.warn{background:rgba(237,176,89,.10);color:#f2ce93;border-color:rgba(232,163,61,.4)}
body[data-hub-theme="dark"] .banner.bad{background:rgba(226,92,92,.10);color:#f1a3a3;border-color:rgba(226,92,92,.4)}
body[data-hub-theme="dark"] .input,body[data-hub-theme="dark"] select.input,body[data-hub-theme="dark"] textarea.input{background:#0d1529;color:var(--ink);border-color:rgba(190,205,235,.2)}
body[data-hub-theme="dark"] .input:focus{border-color:var(--gold-bright);box-shadow:0 0 0 4px rgba(199,163,74,.14)}
body[data-hub-theme="dark"] .bar{background:rgba(190,205,235,.10)}
body[data-hub-theme="dark"] .btn-ghost.disabled,body[data-hub-theme="dark"] .btn-ghost[aria-disabled="true"]{opacity:.5}
body[data-hub-theme="dark"] .h-display::after{background:linear-gradient(90deg,var(--gold),transparent)}
body[data-hub-theme="dark"] a{color:#7db8ff}
body[data-hub-theme="dark"] .sugar-row-link{color:var(--ink)}
body[data-hub-theme="dark"] .sidebar{background:linear-gradient(180deg,#0d1529 0%,#080d1b 100%)}

/* Sidebar light/dark slider (Michael, 5 Aug 2026) */
.nav-thememode{display:flex;align-items:center;gap:8px;margin:0 6px 12px 8px;color:rgba(255,255,255,.62);font-size:12px}
.nav-theme-track{width:40px;height:21px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.10);cursor:pointer;position:relative;padding:0;flex:0 0 auto}
.nav-theme-track:hover{border-color:var(--gold-bright)}
.nav-theme-knob{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:var(--gold-bright);transition:left .18s cubic-bezier(.4,0,.2,1)}
.nav-theme-track[aria-checked="true"] .nav-theme-knob{left:21px}

/* ---- "Log in as" (HRS Hub Admin impersonation, sidebar) — 6 Aug 2026 ---- */
.nav-loginas{margin:0 6px 12px 8px;color:rgba(255,255,255,.62);font-size:12px}
.nav-loginas form{display:flex;flex-direction:column;gap:4px}
.nav-loginas label{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.nav-loginas select{width:100%;padding:5px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.10);color:#fff;font:inherit;font-size:12px;cursor:pointer}
.nav-loginas select:hover{border-color:var(--gold-bright)}
.nav-loginas select option{color:#1a2b45;background:#fff}
.nav-loginas.viewing select{border-color:var(--gold-bright);background:rgba(199,163,74,.22)}
.nav-loginas-note{font-size:10.5px;color:var(--gold-bright);line-height:1.3}

/* Shared drag-to-reschedule engine bits (assets/js/hub-drag-move.js) */
.hub-drag-ghost{position:fixed;z-index:95;transform:translate(-50%,-110%);background:var(--panel);border:1.5px solid var(--gold);border-radius:10px;padding:7px 12px;font-size:.8rem;box-shadow:var(--shadow);pointer-events:none;max-width:70vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
body.hub-drag-noscroll{touch-action:none;user-select:none;-webkit-user-select:none}

/* Users page cards (6 Aug 2026): the Sugar title · department line was inline
   beside the name and ellipsised into invisibility on narrow cards — give the
   name and the role line their own rows and let long titles wrap. */
.id-head .who .nm{display:block}
.id-head .who .ti{display:block;margin-top:2px;white-space:normal;overflow:visible;line-height:1.35}

/* Big Move control feedback (8 Aug 2026)
   The control card is tall, so an action fired from the review table needs
   state that is visible without scrolling back to the top: a persistent
   scanning chip, a flash on the notice, and a real disabled look. */
.bmctl-notice.good{border-color:rgba(90,190,130,.4);color:var(--ok,#5abe82)}
.bmctl-scanning{display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px 12px;
  border:1px solid rgba(77,159,232,.35);border-radius:var(--r-sm);background:var(--panel-2);
  color:var(--info);font-size:12px}
.bmctl-spinner{width:14px;height:14px;flex:0 0 14px;border-radius:50%;
  border:2px solid rgba(77,159,232,.3);border-top-color:var(--info);
  animation:bm-spin .8s linear infinite}
@keyframes bm-spin{to{transform:rotate(360deg)}}
.bmctl-notice-flash{animation:bm-flash 1.1s ease-out 1}
@keyframes bm-flash{0%{box-shadow:0 0 0 0 rgba(77,159,232,.45)}
  70%{box-shadow:0 0 0 10px rgba(77,159,232,0)}100%{box-shadow:0 0 0 0 rgba(77,159,232,0)}}
.bmctl-actions button[disabled],.bmctl-failure-actions button[disabled]{opacity:.5;cursor:not-allowed}
@media (prefers-reduced-motion:reduce){.bmctl-spinner{animation:none}.bmctl-notice-flash{animation:none}}

/* Held-failure guidance: separate "what happened" from "what to do next". */
.bmctl-sub.bmctl-next{display:block;margin-top:3px;color:var(--info)}
.bmctl-sub.muted{display:block;margin-top:3px;opacity:.75;font-style:italic}

/* Approve & start, once it is the only remaining step (9 Aug 2026).
   Applying review decisions clears the list and makes the page look finished,
   so the button that actually starts the writes has to read as the next action. */
.bmctl-actions .btn.bmctl-cta{
  background:var(--accent,#174581);border-color:var(--accent,#174581);color:#fff;font-weight:600;
  box-shadow:0 0 0 0 rgba(23,69,129,.5);animation:bm-cta 2.6s ease-out 3}
@keyframes bm-cta{
  0%{box-shadow:0 0 0 0 rgba(23,69,129,.45)}
  60%{box-shadow:0 0 0 9px rgba(23,69,129,0)}
  100%{box-shadow:0 0 0 0 rgba(23,69,129,0)}}
@media (prefers-reduced-motion:reduce){.bmctl-actions .btn.bmctl-cta{animation:none}}

/* Folder access card beneath the Library preview (9 Aug 2026).
   The card moved here when the preview panel took over the right-hand pane. */
.libpv-access{margin-top:10px}
.libpv-access:empty{display:none}

/* Size alongside item counts on the transfer nodes (10 Aug 2026). */
.bmctl-node-gb{display:block;margin-top:2px;color:#2f7d63;font-weight:650}

/* Files currently on the wire, under the in-flight count (10 Aug 2026). */
.bmctl-inflight{display:grid;gap:3px;margin-top:5px;width:100%}
.bmctl-inflight:empty{display:none}
.bmctl-flight-row{display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;
  column-gap:8px;align-items:baseline;font-size:11px;padding:3px 6px;border-radius:6px;background:var(--panel-2)}
.bmctl-flight-row .sz{grid-row:1/3;text-align:right;font-weight:700;color:#2f7d63;font-variant-numeric:tabular-nums}
.bmctl-flight-row .nm{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bmctl-flight-row .dir{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;direction:rtl;text-align:left}

/* ---------- Mobile menu button: keep it to mobile ----------------------------
   .nav-toggle{display:none} (top of this file) was being beaten by
   .btn-ghost{display:inline-flex}, which the button also carries for its looks
   and which is declared later at equal specificity. So the hamburger appeared
   on desktop, where the sidebar is already open and toggling .open does nothing
   visible — a control that looked broken because it had nothing to do.
   Two classes beat one; the media query re-shows it where it works.
   (Appended rather than edited in place: hub.css is shared and append-only.) */
.nav-toggle.btn-ghost{display:none}
@media(max-width:900px){.nav-toggle.btn-ghost{display:inline-flex}}

/* ---- 6 Aug meeting items: composer case browser + folder explorer (append) ---- */
.mc-cb-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.mc-cb-bar .mc-dlg-text{flex:1;min-width:220px;margin:0}
.mc-cb-closed{display:inline-flex;gap:6px;align-items:center;font-size:.82rem;white-space:nowrap;cursor:pointer}
.mc-sp-dir{cursor:pointer}
.mc-sp-dir:hover{border-color:var(--gold,#c7a34a)}
.mc-sp-crumbs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:.8rem;margin-bottom:8px}
.mc-sp-crumbs .sep{color:var(--muted,#6b7686)}
.mc-sp-crumbs a{color:inherit}
.mr2-fl-junk{opacity:.55}

/* ---------- Nav refresh (Michael, 11 Aug 2026) ----------
   Floor markers (L1, X14…) retired from display; the caret is the one way a
   branch opens, with a larger hit target; menu-curation checkboxes appear for
   the web admin when viewing as themselves. */
.floor-caret{width:26px;height:26px}
.floor .icon:first-child,.floor svg:first-child{margin-left:2px}
.nav-vis{display:inline-grid;place-items:center;width:16px;height:16px;flex:0 0 auto;margin-left:auto;
  border:1.5px solid rgba(255,255,255,.42);border-radius:4.5px;cursor:pointer;color:transparent;
  font:800 11px/1 var(--font-ui,system-ui);transition:border-color .12s,background .12s}
.nav-vis:hover{border-color:var(--gold-bright,#f2c94c)}
.nav-vis[aria-checked="true"]{background:rgba(242,201,76,.16);border-color:var(--gold-bright,#f2c94c);color:var(--gold-bright,#f2c94c)}
.nav-vis[aria-checked="true"]::after{content:"✓"}
.nav-vis+.floor-caret{margin-left:4px}
.floor .nav-vis{position:relative;z-index:2}
/* keep the badge/caret tidy when the checkbox occupies the auto margin */
.floor:has(.nav-vis) .floor-badge{margin-left:6px}

/* ==== StrataMaster live blocks (building-guide / building-profile) — appended 11 Aug 2026 ==== */
.sm-live-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:2px 0 14px}
.sm-live-bar .spacer{flex:1}
.sm-live-note{font-size:12.5px;color:var(--muted)}
.sm-live-fresh{font-size:12px;color:var(--muted);white-space:nowrap}
.sm-refresh-form{display:inline;margin:0}
.sm-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}
@media(max-width:860px){.sm-live-grid{grid-template-columns:1fr}}
.sm-live-sec{min-width:0}
.sm-live-span2{grid-column:1 / -1}
.sm-live-h{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);
  border-bottom:1px solid var(--line);padding-bottom:4px;margin-bottom:8px}
.sm-live-dl{display:grid;grid-template-columns:minmax(130px,max-content) 1fr;gap:4px 14px;margin:0;font-size:13px}
.sm-live-dl dt{color:var(--muted);font-size:12px}
.sm-live-dl dd{margin:0;overflow-wrap:anywhere}
.sm-policy{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--panel-2);margin-bottom:10px}
.sm-policy:last-child{margin-bottom:0}
.sm-policy-head{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin-bottom:6px;font-size:13px}
.sm-policy-head .l{color:var(--muted);font-size:11.5px;margin-right:5px;text-transform:uppercase;letter-spacing:.03em}
.sm-cov-table{margin:0}
.sm-changes-old{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--bad);text-decoration-thickness:1px}
.sm-changes-arrow{color:var(--muted);padding:0 4px}

/* ---- contact groups: composer Groups tab + Contacts "Groups & committees" (smfeat 13, 11 Aug 2026) ---- */
.sm-src-chip{display:inline-block;border:1px solid var(--gold);color:var(--gold);border-radius:99px;padding:1px 9px;
  font-size:10.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.sm-src-chip.manual{border-color:var(--line);color:var(--muted)}
.mc-grp-row{cursor:default}
.mc-grp-row .mc-grp-src{border:1px solid var(--gold);color:var(--gold);border-radius:99px;padding:0 7px;font-size:10px;font-weight:700}
.mc-grp-row .mc-grp-src.manual{border-color:var(--line);color:var(--muted)}
.mc-grp-addall{white-space:nowrap;flex-shrink:0}
.ct-grp-link{color:inherit;text-decoration:none}
.ct-grp-link:hover{text-decoration:underline}
.ct-grp-members,.ct-committee,.ct-whois{margin-top:12px}
.ct-grp-memhead{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.ct-grp-memhead .spacer{flex:1}
.ct-grp-title{margin:0}
.ct-grp-asat{font-size:.75rem;color:var(--muted);margin:2px 0 10px}
.ct-grp-hint{font-size:.8rem;margin:8px 0 0;max-width:760px}
.ct-grp-addmember,.ct-grp-create{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.ct-grp-create{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
@media (max-width:900px){.ct-grp-addmember,.ct-grp-create{grid-template-columns:1fr 1fr}}
.ct-whois-form{margin:10px 0 0}
.ct-who-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ct-who-chip{font-size:.8rem}

/* ===== StrataMaster tie-ins (Aug 2026): asset-register contract chip,
   desk renewals subsection, Building 360 AGM cross-check ===== */
.baw-sm-chip{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:2px 8px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);font-size:.72rem;color:var(--muted);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.baw-sm-chip.warn{border-color:rgba(185,127,38,.55);color:#b97f26}
.sdk-sm-renew{margin:4px 0 14px}
.sdk-sm-renew h3{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.sdk-sm-renew h3.mt16{margin-top:16px}
.b360-sm-agm{font-size:.78rem;color:var(--muted);margin:2px 0 12px;line-height:1.5}
.b360-sm-agm .warn-note{color:#b97f26;font-weight:600}

/* ===== Sidebar menu scrollbars (19 Aug 2026) =====================================
   The menu is genuinely taller than the viewport (≈1315px of items in ≈682px), so
   .liftpanel has to scroll vertically. But declaring overflow-y:auto makes the
   browser compute overflow-x:auto as well, and a 2px sub-pixel overflow (199px
   client vs 201px scroll) was therefore painting a full-width horizontal scrollbar
   under the menu. Pin the x axis, and dress the y axis to suit the navy sidebar
   instead of the browser's default light chrome.
   A hover-reveal was tried first and rejected: Chromium does not repaint scrollbar
   pseudo-elements when :hover changes on the scroller or an ancestor, so the thumb
   would have stayed invisible in the browser people actually use. A faint, always-
   present thumb keeps the affordance honest. */
.liftpanel{overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}
.liftpanel::-webkit-scrollbar{width:8px}
.liftpanel::-webkit-scrollbar-track{background:transparent}
.liftpanel::-webkit-scrollbar-button,
.liftpanel::-webkit-scrollbar-button:vertical:start:decrement,
.liftpanel::-webkit-scrollbar-button:vertical:end:increment,
.liftpanel::-webkit-scrollbar-button:vertical:start:increment,
.liftpanel::-webkit-scrollbar-button:vertical:end:decrement{display:none;width:0;height:0;background:transparent}
.liftpanel::-webkit-scrollbar-thumb{background:rgba(255,255,255,.13);border-radius:9px;
  border:2px solid transparent;background-clip:padding-box}
.liftpanel::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.28);background-clip:padding-box}

/* ===== Task 420 recipient directory (20 Aug 2026; append-only) ==============
   The one ranked To/Cc/Bcc list uses full-width rows, explicit source labels
   and touch-sized targets. The narrow rule keeps the list inside a 390px
   composer without making the existing header or context rail overflow. */
.mc-recipient-source{display:inline-flex;align-items:center;margin-top:2px;color:var(--muted);font-size:11px;font-weight:650}
.mc-typeahead[role="listbox"]{left:0;right:0;max-height:min(52vh,360px)}
.mc-typeahead[role="listbox"] [role="option"]{min-height:44px;overflow-wrap:anywhere}
.mc-typeahead [role="option"] b,.mc-typeahead [role="option"] span{overflow-wrap:anywhere}
.mc-typeahead .mc-no-results{padding:10px 12px;color:var(--muted);font-size:12px}
.mc-chip.mc-chip-existing{outline:2px solid var(--gold);outline-offset:2px}
.mc-pick-tabs[role="tablist"]{flex-wrap:wrap}
.mc-pick-tabs[role="tablist"] [role="tab"]{min-height:44px}
@media(max-width:600px){
  .mc-typeahead[role="listbox"]{position:fixed;left:8px;right:8px;top:auto;bottom:8px;max-height:min(52vh,360px);z-index:30}
  .mc-typeahead[role="listbox"] [role="option"]{min-height:44px;padding:10px 12px}
  .mc-pick-tabs[role="tablist"]{display:grid;grid-template-columns:1fr 1fr}
  .mc-pick-row{min-height:44px;align-items:flex-start;flex-wrap:wrap;overflow-wrap:anywhere}
  .mc-pick-row em{max-width:100%;text-align:left;white-space:normal}
  .mc-pick-who{min-width:0;flex-basis:70%}
  .mc-pick-who span{white-space:normal;overflow-wrap:anywhere}
  .mc-dlg-box{width:100%;max-height:calc(100% - 16px)}
}

/* Task 420 mobile composer finishing guard: flex display otherwise overrides
   the HTML hidden attribute on Cc/Bcc, and long From details crowd the reveal
   controls beyond the narrow window. */
.mc-field[hidden]{display:none}
@media(max-width:600px){
  .mc-from{flex-wrap:wrap}
  .mc-from .mc-from-val{min-width:0;max-width:calc(100% - 122px);overflow-wrap:anywhere;text-align:left}
  .mc-from .mc-from-note{max-width:92px;white-space:normal;text-align:center}
  .mc-from .spacer{display:none}
  .mc-from .mc-ccbtn{margin-top:2px}
  .mc-from .mc-ccbtn:first-of-type{margin-left:44px}
}
