/* ============================================================
   RAGADO OS — Broker Portal Design System v2.0
   Brand: Indigo #3A34C9 · Sidebar #0A0E29 · Periwinkle #8B87FF
   Includes compatibility aliases so portal.css / forms.css /
   screens.css continue to work unchanged.
   ============================================================ */

/* ---------- Fonts ---------- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* ============================================================
   §1 BRAND TOKENS
   ============================================================ */
:root{
  /* New design tokens */
  --sidebar-bg:#0A0E29;
  --sidebar-border:#1A1F45;
  --sidebar-active-bg:#1B2255;
  --sidebar-active-bar:#4F46E5;
  --sidebar-label:#6B7599;
  --periwinkle:#8B87FF;
  --primary:#3A34C9;
  --primary-hover:#2A25A8;
  --canvas:#F2F3F7;
  --card:#FFFFFF;
  --card-border:#E3E5EE;
  --radius:14px;
  --text:#0F1329;
  --muted:#5C6280;
  --success:#15803D;
  --warning:#B45309;
  --danger:#DC2626;
  --success-bg:#E9F7EF;
  --warning-bg:#FEF6E7;
  --danger-bg:#FDECEC;
  --info-bg:#EEF0FF;
  --sidebar-w:264px;
  --font:"Inter","Inter var",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --shadow-sm:0 1px 2px rgba(15,19,41,.06);
  --shadow-md:0 6px 20px rgba(15,19,41,.10);
  --shadow-lg:0 18px 48px rgba(10,14,41,.22);

  /* ── Compatibility aliases (old token names → new values) ── */
  --font-body:var(--font);
  --font-display:var(--font);
  --font-mono:var(--mono);

  /* Type scale */
  --text-xs:12px; --text-sm:12.5px; --text-md:13px;
  --text-base:14px; --text-lg:17px; --text-xl:22px; --text-2xl:25px;

  /* Spacing */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;
  --s6:24px;--s8:32px;--s10:40px;--s12:48px;--s16:64px;

  /* Radius */
  --r-sm:6px;--r-md:9px;--r-lg:12px;--r-xl:16px;--r-full:999px;

  /* Shadow aliases */
  --shadow-xs:var(--shadow-sm);
  --shadow-brand:0 6px 18px rgba(58,52,201,.28);

  /* Motion */
  --ease:.12s ease;

  /* Colour aliases */
  --bg:var(--canvas);
  --surface:var(--card);
  --surface-2:#F7F8FC;
  --surface-3:#F1F3FA;
  --border:var(--card-border);
  --border-strong:#D3D8EE;
  --divider:#EDEEF8;
  --topbar-bg:#fff;
  --text-2:#2B3059;
  --text-muted:var(--muted);
  --text-faint:#9BA3C6;
  --text-inverse:#FFFFFF;

  --brand:var(--primary);
  --brand-hover:var(--primary-hover);
  --brand-active:#1726AE;
  --brand-soft:var(--info-bg);
  --brand-soft-2:#DDE2FE;
  --navy:var(--sidebar-bg);

  /* Status aliases */
  --green:var(--success); --green-soft:var(--success-bg); --green-text:#136A34;
  --amber:var(--warning); --amber-soft:var(--warning-bg); --amber-text:#92400E;
  --red:var(--danger);    --red-soft:var(--danger-bg);    --red-text:#991B1B;
  --blue:var(--primary);  --blue-soft:var(--info-bg);     --blue-text:#262080;
  --purple:#7C3AED; --purple-soft:#EDE9FE; --purple-text:#5B21B6;
  --teal:#0E7C86;   --teal-soft:#DEF3F4;
  --slate:#64748B;  --slate-soft:#EEF0F6;
}

/* ============================================================
   §2 RESET & BASE
   ============================================================ */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--font);
  background:var(--canvas);
  color:var(--text);
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{margin:0;line-height:1.25;letter-spacing:-.012em}
h1{font-size:22px;font-weight:700}
h2{font-size:17px;font-weight:700}
h3{font-size:15px;font-weight:600}
h4{font-size:13px;font-weight:600}
p{margin:0 0 10px}
a{color:var(--primary);text-decoration:none}
a:hover{text-decoration:underline}
.link{color:var(--primary);cursor:pointer;font-weight:500;background:none;border:0;padding:0;font:inherit}
.link:hover{text-decoration:underline}
.tnum{font-variant-numeric:tabular-nums}
code,.mono{font-family:var(--mono)}
.fid{font-family:var(--mono);font-size:10.5px;color:#7A80A0;background:#F4F5FA;border:1px solid #E7E9F2;border-radius:5px;padding:1px 5px;display:inline-block}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#C9CCDB;border-radius:8px;border:2px solid var(--canvas)}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
[hidden]{display:none !important}

/* ============================================================
   §3 APP FRAME — NEW DESIGN
   ============================================================ */
#app{min-height:100vh}
.appshell{display:flex;min-height:100vh}

/* Sidebar */
.sidebar{
  width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--sidebar-bg);
  border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;
  position:fixed;top:0;bottom:0;left:0;z-index:30;
  transition:transform .24s ease;
}
.main{margin-left:var(--sidebar-w);flex:1 1 auto;min-width:0;display:flex;flex-direction:column}

/* Brand block */
.brandblock{padding:18px 18px 14px;border-bottom:1px solid var(--sidebar-border)}
.brandrow{display:flex;gap:10px;align-items:center}
.brandtile{width:34px;height:34px;border-radius:10px;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:17px;flex:0 0 34px}
.brandname{color:#fff;font-weight:700;font-size:16.5px;letter-spacing:-.01em}
.brandname span{color:var(--periwinkle);margin-left:5px}
.brandsub{color:var(--sidebar-label);font-size:11px;margin-top:7px;letter-spacing:.01em}

/* Nav */
.nav{flex:1 1 auto;overflow-y:auto;padding:12px 10px 8px}
.navlabel{color:var(--sidebar-label);font-size:10px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;padding:12px 10px 6px}
.navitem{
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;
  color:#C6CAE0;font:inherit;font-size:13.5px;font-weight:500;padding:9px 11px;border-radius:9px;cursor:pointer;
  border-left:3px solid transparent;margin-bottom:2px;transition:background .12s,color .12s;
}
.navitem:hover{background:#141A3E;color:#fff}
.navitem.active{background:var(--sidebar-active-bg);border-left-color:var(--sidebar-active-bar);color:#fff;font-weight:600}
.navitem .ico{width:17px;height:17px;flex:0 0 17px;opacity:.9}
.navitem .lbl{flex:1 1 auto}
.navbadge{background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 7px;min-width:20px;text-align:center}
.navbadge.amber{background:var(--warning)}
.navbadge.ghost{background:#2A3168;color:#B9BEDD}
.navbadge.blue{background:#3A34C9;color:#fff}
.navbadge.sub{background:#1A2050;color:#8B87FF}
.navbadge.red{background:var(--danger);color:#fff}
.navitem.navlocked{opacity:.65;cursor:default}
.navitem.navlocked:hover{background:transparent;color:#C6CAE0}

/* Legacy nav-item alias (for any remaining .nav-item usage) */
.nav-item{
  display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;
  color:#C6CAE0;font:inherit;font-size:13.5px;font-weight:500;padding:9px 11px;border-radius:9px;cursor:pointer;
  border-left:3px solid transparent;margin-bottom:2px;text-decoration:none;
}
.nav-item:hover{background:#141A3E;color:#fff;text-decoration:none}
.nav-item.active{background:var(--sidebar-active-bg);border-left-color:var(--sidebar-active-bar);color:#fff;font-weight:600}
.nav-badge{background:var(--danger);color:#fff;font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 7px}
.nav-badge.blue{background:var(--primary)} .nav-badge.amber{background:var(--warning)}
.nav-locked{opacity:.6;cursor:not-allowed}
.nl-label{flex:1 1 auto}
.sub-pill{font-size:10px;font-weight:700;background:#1A2050;color:#8B87FF;border-radius:999px;padding:1px 7px}
.nav-label,.nav-label-os{color:var(--sidebar-label);font-size:10px;font-weight:700;letter-spacing:.10em;text-transform:uppercase;padding:12px 10px 6px;display:block}
.nlo-tag{font-size:9px;font-weight:700;background:#1A2050;color:#8B87FF;border-radius:999px;padding:1px 6px;margin-left:6px}

/* Suite card */
.suitecard{margin:10px;padding:12px;border:1px solid #262D5C;background:linear-gradient(160deg,#141A40,#0E1333);border-radius:12px;cursor:pointer;text-align:left;color:#fff;font:inherit;width:calc(100% - 20px)}
.suitecard:hover{border-color:var(--periwinkle)}
.suitecard .t{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13.5px}
.suitecard .s{color:var(--sidebar-label);font-size:11px;margin-top:4px}

/* Sidebar footer */
.sidefoot{border-top:1px solid var(--sidebar-border);padding:12px 14px;display:flex;gap:10px;align-items:center}
.avatar{width:34px;height:34px;border-radius:50%;background:#2A3168;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;flex:0 0 34px}
.sidefoot .nm{color:#fff;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidefoot .rl{color:var(--sidebar-label);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidefoot .vr{color:#4A5382;font-size:10px;margin-top:2px}

/* Legacy sidebar footer classes */
.sb-ava{width:34px;height:34px;border-radius:50%;background:#2A3168;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12.5px;flex:0 0 34px}
.sb-user-meta{min-width:0}
.sb-user-name{color:#fff;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-user-role{color:var(--sidebar-label);font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-user{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.sidebar-foot{border-top:1px solid var(--sidebar-border);padding:12px 14px}
.sb-ver,.sb-dev{color:var(--sidebar-label);font-size:10px;margin-top:3px}

/* ============================================================
   §4 TOP BAR
   ============================================================ */
.topbar{
  position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--card-border);padding:10px 26px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.topbar .crumbs{font-size:12px;color:var(--muted);flex:1 1 auto;min-width:120px}
.topbar .crumbs b{color:var(--text);font-weight:600}
.topbar .crumbs .home,.topbar .crumbs .sep{color:var(--muted)}
.topbar .crumbs .cur{color:var(--text);font-weight:600}
.top-actions{display:flex;align-items:center;gap:8px}

/* Topbar controls */
.ctrl{display:flex;align-items:center;gap:7px;background:#F4F5FA;border:1px solid var(--card-border);border-radius:10px;padding:4px 8px}
.ctrl .cl{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.seg{display:flex;background:#E9EBF3;border-radius:8px;padding:2px}
.seg button{border:0;background:transparent;font:inherit;font-size:12px;font-weight:600;color:var(--muted);padding:4px 10px;border-radius:6px;cursor:pointer}
.seg button.on{background:#fff;color:var(--text);box-shadow:0 1px 2px rgba(15,19,41,.06)}
.iconbtn{width:32px;height:32px;border-radius:9px;border:1px solid var(--card-border);background:#fff;cursor:pointer;font:inherit;font-weight:700;color:var(--muted);display:flex;align-items:center;justify-content:center}
.iconbtn:hover{border-color:var(--primary);color:var(--primary)}
/* Legacy icon-btn alias */
.icon-btn{width:32px;height:32px;border-radius:9px;border:1px solid var(--card-border);background:#fff;cursor:pointer;font:inherit;font-weight:700;color:var(--muted);display:flex;align-items:center;justify-content:center;position:relative}
.icon-btn:hover{border-color:var(--primary);color:var(--primary)}

/* User pill */
.user-pill{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--card-border);border-radius:10px;padding:5px 10px;cursor:pointer;font:inherit;font-size:13px;color:var(--text);font-weight:500}
.user-pill:hover{border-color:var(--primary)}
.upa{width:26px;height:26px;border-radius:50%;background:#2A3168;color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 26px}
.upn{font-weight:600}
.upc{color:var(--muted);display:flex;align-items:center}
.upc svg{width:14px;height:14px}

/* Global search */
.global-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--card-border);border-radius:10px;padding:7px 12px;font:inherit;font-size:12.5px;color:var(--muted);cursor:pointer;max-width:380px;width:100%}
.global-search:hover{border-color:var(--primary);color:var(--text)}
.global-search svg{width:14px;height:14px;flex:0 0 14px}
.kbd{background:#F1F3FA;border:1px solid var(--card-border);border-radius:5px;padding:1px 5px;font-size:11px;font-weight:600;color:var(--muted)}

/* Bell badge */
.bell-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;border:2px solid #fff}
#bellWrap{position:relative}

/* Mobile menu btn */
.menu-btn{display:none;border:0;background:transparent;cursor:pointer;color:var(--text);padding:4px}
.menu-btn svg{width:20px;height:20px}

/* Mobile scrim */
.scrim{position:fixed;inset:0;background:rgba(10,14,41,.4);z-index:25;display:none;opacity:0;transition:opacity .2s}
.scrim.show{display:block;opacity:1}

/* ============================================================
   §5 LAYOUT BLOCKS
   ============================================================ */
/* Content area padding — applied to the view host so every view inherits it */
#view{padding:22px 26px 64px}
.page{padding:22px 26px 64px;max-width:1420px}
.pagehead,.page-head{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.page-title{font-size:20px;font-weight:700;color:var(--text)}
.page-sub{font-size:12.5px;color:var(--muted);margin-top:4px}
.page-head-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.pagehead .ph-t{flex:1 1 340px;min-width:260px}
.pagehead .sub{color:var(--muted);font-size:12.5px;margin-top:4px}

.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
.card+.card{margin-top:14px}
.card .ch{padding:14px 16px;border-bottom:1px solid var(--card-border);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.card .ch h2,.card .ch h3{flex:1 1 auto;font-size:17px;font-weight:700;display:flex;align-items:center;gap:8px;margin:0}
.card .ch h2 .ico,.card .ch h3 .ico{display:flex;align-items:center;flex:0 0 auto}
.card .ch h2 svg,.card .ch h3 svg{width:16px;height:16px;color:var(--muted)}
.card .cb{padding:16px}
.card .cb.tight{padding:0}

/* Legacy card classes used by views.js */
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--card-border)}
.card-title{font-size:14px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.card-title .ico{display:flex;align-items:center}
.card-title .ico svg{width:17px;height:17px;color:var(--muted)}
.card-body,.card-pad{padding:16px}

/* Key-value rows (used throughout detail cards) */
.kv{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--card-border)}
.kv:last-of-type{border-bottom:0}
.kv .k{font-size:12px;color:var(--muted);font-weight:500;flex:0 0 auto;max-width:50%}
.kv .v{font-size:13px;color:var(--text);text-align:right;word-break:break-word}
.kv.total .k,.kv.total .v{font-weight:700;color:var(--text)}

/* Definition list (prototype .dl / .dl.plain) */
.dl{display:grid;grid-template-columns:minmax(140px,42%) minmax(0,1fr);gap:2px 12px}
.dl dt{font-size:12px;color:var(--muted);font-weight:500;padding:6px 0;border-bottom:1px solid var(--card-border);display:flex;align-items:center}
.dl dd{font-size:13px;color:var(--text);padding:6px 0;border-bottom:1px solid var(--card-border);margin:0}
.dl.plain dt,.dl.plain dd{border-bottom:0;padding:4px 0}

/* Detail grid (client / quote / policy detail cards) */
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.dl-k{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.dl-v{font-size:13.5px;color:var(--text);font-weight:500}

.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:14px;align-items:start}
@media(max-width:1330px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1fr)}}
.stack{display:flex;flex-direction:column;gap:14px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.end{justify-content:flex-end}
.between{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.spacer{flex:1 1 auto}
.hr{height:1px;background:var(--card-border);margin:14px 0}
.wrap{max-width:1160px}

/* ============================================================
   §6 KPI TILES
   ============================================================ */
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}
.kpi{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm);transition:box-shadow var(--ease),transform var(--ease);display:block}
.kpi:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.kpi .k,.kpi-l{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:9px}
.kpi .v,.kpi-v{font-size:25px;font-weight:700;margin-top:6px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.kpi .d,.kpi-c{font-size:11.5px;color:var(--muted);margin-top:3px}
.kpi-ic{width:30px;height:30px;border-radius:9px;background:var(--info-bg);color:var(--primary);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.kpi-ic svg{width:16px;height:16px}
.kpi.brand,.kpi.ok,.kpi.warn,.kpi.danger{border-left:3px solid}
.kpi.brand{border-left-color:var(--primary)}
.kpi.ok{border-left-color:var(--success)}
.kpi.warn{border-left-color:var(--warning)}
.kpi.danger{border-left-color:var(--danger)}
@media(max-width:1080px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.kpi-grid{grid-template-columns:1fr}}

/* ============================================================
   §7 BUTTONS
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:10px;
  background:var(--primary);color:#fff;font:inherit;font-size:13px;font-weight:600;padding:8px 14px;cursor:pointer;white-space:nowrap;
  transition:background .12s,border-color .12s;
}
.btn:hover{background:var(--primary-hover)}
.btn.sec,.btn-secondary{background:#fff;color:var(--text);border-color:var(--card-border)}
.btn.sec:hover,.btn-secondary:hover{background:#F7F8FC;border-color:#C9CCDB}
.btn.ghost,.btn-ghost{background:transparent;color:var(--primary);border-color:transparent;padding:6px 8px}
.btn.ghost:hover,.btn-ghost:hover{background:var(--info-bg)}
.btn.danger,.btn-danger{background:var(--danger);color:#fff;border-color:transparent}
.btn.danger:hover,.btn-danger:hover{background:#B91C1C}
.btn.ok,.btn-success{background:var(--success);color:#fff;border-color:transparent}
.btn.ok:hover,.btn-success:hover{background:#136A34}
.btn.sm,.btn-sm{font-size:12px;padding:5px 10px;border-radius:8px}
.btn.lg,.btn-lg{font-size:14.5px;padding:11px 20px}
.btn.block,.btn-block{width:100%}
.btn[disabled],.btn:disabled{opacity:.45;cursor:not-allowed}
.btn-primary,.btn.btn-primary{background:var(--primary);color:#fff;border-color:transparent}
.btn-primary:hover,.btn.btn-primary:hover{background:var(--primary-hover)}

/* ============================================================
   §8 BADGES / PILLS
   ============================================================ */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;letter-spacing:.02em;border-radius:999px;padding:3px 9px;background:#EEF0F6;color:var(--muted);border:1px solid transparent;white-space:nowrap}
.badge.green,.b-green{background:var(--success-bg);color:var(--success)}
.badge.amber,.b-amber{background:var(--warning-bg);color:var(--warning)}
.badge.red,.b-red{background:var(--danger-bg);color:var(--danger)}
.badge.indigo,.b-blue{background:var(--info-bg);color:var(--primary)}
.badge.grey,.b-slate{background:#EEF0F6;color:var(--muted)}
.badge.dark{background:#151A38;color:#fff}
.b-purple{background:var(--purple-soft);color:var(--purple)}
.dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}
.pip{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
.lockpill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;border-radius:999px;padding:3px 9px;background:var(--warning-bg);color:var(--warning)}

/* Chip (legacy) */
.chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;background:#EEF0F6;color:var(--muted)}
.chip-green,.chip.green{background:var(--success-bg);color:var(--success)}
.chip-amber,.chip.amber{background:var(--warning-bg);color:var(--warning)}
.chip-red,.chip.red{background:var(--danger-bg);color:var(--danger)}
.chip-blue,.chip.blue{background:var(--info-bg);color:var(--primary)}
.chip-slate,.chip.slate{background:#EEF0F6;color:var(--muted)}
.tag-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px}

/* Avatar xs */
.avatar-xs{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9.5px;font-weight:700;color:#fff}

/* ============================================================
   §9 TABLES
   ============================================================ */
table,.tbl{width:100%;border-collapse:collapse}
thead th{
  text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);
  padding:10px 14px;border-bottom:1px solid var(--card-border);background:#FAFBFD;white-space:nowrap;
}
tbody td{padding:11px 14px;border-bottom:1px solid #EEF0F6;font-size:13px;vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tbody tr.clickable,.tbl-row{cursor:pointer}
tbody tr.clickable:hover,.tbl-row:hover{background:#F8F9FD}
td.right,th.right,.right{text-align:right}
.t-wrap,.tbl-wrap{overflow-x:auto}
.t-sub{font-size:11.5px;color:var(--muted)}

/* ============================================================
   §10 BANNERS
   ============================================================ */
.banner{border-radius:12px;padding:13px 15px;border:1px solid;display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}
.banner .bi{font-size:16px;line-height:1.2;flex:0 0 auto}
.banner .bt{font-weight:700;font-size:13.5px;margin-bottom:3px}
.banner .bd{font-size:12.5px}
.banner.amber{background:var(--warning-bg);border-color:#F3D9A6;color:#6B3F05}
.banner.red{background:var(--danger-bg);border-color:#F5C2C2;color:#8A1717}
.banner.green{background:var(--success-bg);border-color:#BCE3CB;color:#12603A}
.banner.indigo{background:var(--info-bg);border-color:#CFD2FA;color:#262080}
.banner.grey{background:#F4F5FA;border-color:var(--card-border);color:var(--muted)}

/* ── Agency application full-page form ──────────────────────────── */
.apply-head{display:flex;align-items:center;gap:12px;padding:20px 0 22px;border-bottom:1px solid var(--card-border);margin-bottom:20px;flex-wrap:wrap}
.apply-head .spacer{flex:1}
.formsec{border:1px solid var(--card-border);border-radius:12px;margin-bottom:14px;overflow:hidden}
.formsec>.fsh{background:#FAFBFD;border-bottom:1px solid var(--card-border);padding:11px 14px;display:flex;align-items:center;gap:10px}
.formsec>.fsh h3{font-size:14px;font-weight:600;margin:0;color:var(--text)}
.formsec>.fsh .n{width:22px;height:22px;border-radius:7px;background:var(--info-bg);color:var(--primary);font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 22px}
.formsec>.fsb{padding:14px;background:#fff}
.doclist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:900px){.doclist{grid-template-columns:1fr}}
.docitem{border:1px solid var(--card-border);border-radius:11px;padding:11px 12px;display:flex;gap:10px;align-items:center;background:#fff}
.docitem .dico{width:32px;height:32px;border-radius:8px;background:var(--info-bg);color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex:0 0 32px}
.docitem .dn{flex:1 1 auto;min-width:0}
.docitem .dn .t{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.docitem .dn .s{font-size:11px;color:var(--muted);margin-top:2px}
.check{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;margin-bottom:9px;cursor:pointer;line-height:1.5}
.check input{margin-top:3px;flex:0 0 auto;width:15px;height:15px;accent-color:var(--primary)}
.hint{font-size:11.5px;color:var(--muted);margin-top:4px}
.pre{padding:0 8px;font-size:13px;color:var(--muted);flex:0 0 auto}

/* ============================================================
   §11 FORMS (base inputs)
   ============================================================ */
.field{margin-bottom:12px}
.field label{display:block;font-size:12px;font-weight:600;margin-bottom:5px}
.field .req{color:var(--danger);margin-left:3px}
.field .hint{font-size:11.5px;color:var(--muted);margin-top:4px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=tel],select,textarea{
  width:100%;font:inherit;font-size:13px;color:var(--text);background:#fff;border:1px solid #D7DAE7;border-radius:9px;padding:8px 10px;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(58,52,201,.12)}
/* Inputs inside .fctrl containers must NOT show their own ring — the container handles it */
.fctrl input:focus,.fctrl select:focus,.fctrl textarea:focus,
.fctrl input:focus-visible,.fctrl select:focus-visible,.fctrl textarea:focus-visible{
  outline:none;box-shadow:none;border:none;border-color:transparent;
}
input[disabled],select[disabled],textarea[disabled]{background:#F4F5FA;color:#8A90AC;cursor:not-allowed}
textarea{min-height:78px;resize:vertical}
.req{color:var(--danger)}

/* ============================================================
   §12 TABS
   ============================================================ */
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--card-border);overflow-x:auto}
.tabs button,.tab{border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--muted);padding:10px 13px;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.tabs button:hover,.tab:hover{color:var(--text)}
.tabs button.on,.tab.on{color:var(--primary);border-bottom-color:var(--primary)}

/* ============================================================
   §13 SKELETON LOADERS
   ============================================================ */
.skel{border-radius:8px;background:linear-gradient(90deg,#E9EBF3 25%,#F4F5FA 50%,#E9EBF3 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}
.skel-line{height:16px;border-radius:6px}
.skel-card{height:100px;border-radius:var(--radius)}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ============================================================
   §14 EMPTY STATE
   ============================================================ */
.empty{padding:34px 16px;text-align:center;color:var(--muted);font-size:13px}
.empty .big{font-size:15px;font-weight:600;color:var(--text);margin-bottom:5px}
.empty-inline{color:var(--muted)}

/* ============================================================
   §15 DROPDOWN
   ============================================================ */
.dropdown{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--card-border);border-radius:12px;box-shadow:var(--shadow-lg);min-width:220px;z-index:50;overflow:hidden}
.dd-head,.dd-label{padding:10px 14px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between}
.dd-label .link{font-size:11px}
.dd-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:0;font:inherit;font-size:13px;color:var(--text);cursor:pointer;text-align:left}
.dd-item:hover{background:#F8F9FD}
.dd-item.on{background:var(--info-bg)}
.dd-item svg{width:16px;height:16px;color:var(--muted);flex:0 0 16px}
.dd-sep{height:1px;background:var(--card-border);margin:4px 0}
.dd-foot{padding:10px 14px;border-top:1px solid var(--card-border)}
.dd-empty{padding:14px;text-align:center;color:var(--muted);font-size:12.5px}
.ddi-ava{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 28px}
.ddi-meta{flex:1 1 auto;min-width:0}
.ddi-name{font-weight:600;font-size:13px;color:var(--text)}
.ddi-role{font-size:11px;color:var(--muted)}

/* ============================================================
   §16 NOTIFICATIONS
   ============================================================ */
.notif-dd{min-width:320px}
.notif-list{max-height:340px;overflow-y:auto}
.notif-row{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;cursor:pointer;border-bottom:1px solid #F0F1F7}
.notif-row:hover{background:#F8F9FD}
.notif-row.unread{background:#FAFBFF}
.nr-ic{width:32px;height:32px;border-radius:9px;background:var(--info-bg);color:var(--primary);display:flex;align-items:center;justify-content:center;flex:0 0 32px}
.nr-ic svg{width:16px;height:16px}
.nr-body{flex:1 1 auto;min-width:0}
.nr-t{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nr-meta{font-size:11px;color:var(--muted);margin-top:2px}
.nr-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);flex:0 0 7px;margin-top:5px}

/* ============================================================
   §17 SEARCH MODAL
   ============================================================ */
.search-row{display:flex;align-items:center;gap:10px;padding:9px 14px;cursor:pointer;border-bottom:1px solid #F0F1F7}
.search-row:hover{background:#F8F9FD}
.sr-ic{width:30px;height:30px;border-radius:8px;background:var(--info-bg);color:var(--primary);display:flex;align-items:center;justify-content:center;flex:0 0 30px}
.sr-ic svg{width:16px;height:16px}
.sr-body{flex:1 1 auto;min-width:0}
.sr-t{font-size:13px;font-weight:600;color:var(--text)}
.sr-s{font-size:11.5px;color:var(--muted)}
.searchrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.searchrow input{max-width:320px}
#searchResults{background:#fff;border:1px solid var(--card-border);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden;margin-top:8px}

/* ============================================================
   §18 OS UPSELL
   ============================================================ */
.upsell-hero{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,#0E1330,#1B2B6B);border-radius:12px;padding:14px 16px;color:#D7DBF4;margin-bottom:14px}
.upsell-lock{width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex:0 0 30px}
.upsell-lock svg{width:16px;height:16px;color:#fff}
.upsell-list{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-direction:column;gap:6px}
.upsell-list li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}
.upsell-list svg{width:15px;height:15px;color:var(--success)}
.locklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.lockitem{display:flex;align-items:center;gap:9px;border:1px solid var(--card-border);background:#F7F8FC;border-radius:11px;padding:10px 12px;color:#8A90AC;font-size:13px;font-weight:600;cursor:not-allowed;user-select:none}
.lockitem .lk{color:#A9AEC6}

/* ============================================================
   §19 MFA / SECURITY
   ============================================================ */
.mfa-on{display:flex;align-items:flex-start;gap:12px;padding:12px 0}
.mfa-badge{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:0 0 36px}
.mfa-badge svg{width:18px;height:18px}
.check-row{display:flex;align-items:center;gap:9px;padding:7px 0;font-size:13px;color:var(--text)}
.check-row input{width:16px;height:16px;accent-color:var(--primary)}

/* ============================================================
   §20 ACTIVITY FEED
   ============================================================ */
.feed{display:flex;flex-direction:column}
.feed-row{display:flex;gap:12px;align-items:flex-start;padding:12px 20px;border-bottom:1px solid var(--divider)}
.feed-row:last-child{border-bottom:0}
.feed-dot{width:9px;height:9px;border-radius:50%;background:var(--primary);margin-top:6px;flex:0 0 auto}
.feed-body{flex:1;min-width:0}
.feed-txt{font-size:var(--text-md);color:var(--text-2)}
.feed-txt b{color:var(--text);font-weight:600}
.feed-meta{font-size:var(--text-xs);color:var(--text-faint);margin-top:2px}

/* ============================================================
   §21 DOC ROWS
   ============================================================ */
.doc-row{display:flex;align-items:center;gap:13px;padding:12px 20px;border-bottom:1px solid var(--divider)}
.doc-row:last-child{border-bottom:0}
.doc-row:hover{background:var(--surface-3)}
.doc-ico{width:34px;height:34px;border-radius:8px;background:var(--surface-3);color:var(--primary);display:flex;align-items:center;justify-content:center;flex:0 0 34px}
.doc-ico svg{width:17px;height:17px}
.doc-ico.pdf{background:var(--danger-bg);color:var(--danger)}
.doc-ico.tpl{background:var(--purple-soft);color:var(--purple)}
.doc-body{flex:1;min-width:0}
.doc-name{font-size:var(--text-md);font-weight:600;color:var(--text)}
.doc-meta{font-size:var(--text-sm);color:var(--muted)}

/* ============================================================
   §22 AUTH — new split-screen login
   ============================================================ */
.authwrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh}
@media(max-width:980px){.authwrap{grid-template-columns:1fr}.authleft{display:none}.authright{padding:40px 36px}}
/* Mobile brand header — hidden on desktop, where .authleft already carries the
   branding. Shown below 980px, the breakpoint at which .authleft disappears. */
.authbrand-m{display:none}
@media(max-width:980px){
  .authbrand-m{display:block;margin-bottom:26px;padding-bottom:20px;border-bottom:1px solid var(--card-border)}
  .authbrand-m .brandrow{display:flex;align-items:center;gap:10px}
  .authbrand-m .brandtile{width:34px;height:34px;border-radius:9px;background:#3A34C9;color:#fff;
    display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px;flex-shrink:0}
  .authbrand-m .brandname{font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--text)}
  .authbrand-m .brandname span{opacity:.55;font-weight:500}
  .authbrand-m .tag{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--brand,#3A34C9);margin-top:8px}
}

/* BROKOS-36 — marketing copy under the sign-in button.
   Hidden on desktop, where .authleft already carries this content beside the
   form; shown below 980px, the same breakpoint at which .authleft disappears,
   so the copy is never on screen twice. Styled for the LIGHT form background,
   not recoloured from the dark panel. */
.authcopy-m{display:none}
@media(max-width:980px){
  .authcopy-m{display:block;margin-top:30px;padding-top:24px;
    border-top:1px solid var(--card-border)}
  .authcopy-m h2{font-size:21px;line-height:1.25;font-weight:800;letter-spacing:-.02em;
    color:var(--text);margin:0}
  .authcopy-m p{font-size:13.5px;line-height:1.55;color:var(--muted);margin:12px 0 0}
  .authcopy-m p.accent{color:var(--brand,#3A34C9);font-weight:600}
  .authcopy-m .cap{margin-top:18px;padding-top:14px;border-top:1px solid var(--card-border);
    font-size:11.5px;line-height:1.5;color:var(--muted)}
}
.authleft{background:radial-gradient(1100px 620px at 12% 8%,#1B2255 0%,#0A0E29 62%);color:#fff;padding:52px 54px;display:flex;flex-direction:column}
.authleft .tag{font-size:11.5px;font-weight:800;letter-spacing:.20em;color:var(--periwinkle);margin-top:38px}
.authleft h1{font-size:38px;font-weight:800;letter-spacing:-.03em;margin-top:14px;max-width:12em}
.authleft p{color:#B9BEDD;font-size:14px;max-width:34em;margin-top:14px}
.authleft .cap{margin-top:auto;border-top:1px solid var(--sidebar-border);padding-top:18px;color:#8E96C0;font-size:12.5px}
.authright{background:#fff;padding:52px 54px;display:flex;align-items:center}
.authright .box{width:100%;max-width:400px;margin:0 auto}
.authright .box h1{font-size:24px;font-weight:700;margin-bottom:6px}
.authright .box .subtle{color:var(--muted);font-size:13px;margin-bottom:20px}
.note{background:#F4F5FA;border:1px solid var(--card-border);border-radius:10px;padding:10px 12px;font-size:11.5px;color:var(--muted)}

/* ============================================================
   §22b TWO-COLUMN SPLIT (client/policy/profile detail)
   ============================================================ */
.two{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:14px;align-items:start}
.two-wide{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:14px;align-items:start}
@media(max-width:900px){.two,.two-wide{grid-template-columns:1fr}}

/* Banner blocks (referred/quoted/renewal status) */
.bk-banner{display:flex;align-items:flex-start;gap:12px;background:var(--warning-bg);border:1px solid rgba(217,119,6,.18);border-radius:12px;padding:14px 16px;margin-bottom:14px}
.bk-banner svg{width:20px;height:20px;color:var(--warning);flex:0 0 20px;margin-top:2px}
.bk-bt{flex:1;font-size:13.5px;line-height:1.5}
.bk-who{margin-left:auto}

/* Action bar (quote binding CTA) */
.actionbar{display:flex;align-items:center;justify-content:space-between;background:var(--surface-2);border:1px solid var(--card-border);border-radius:12px;padding:16px;margin-bottom:14px;gap:16px;flex-wrap:wrap}
.ab-info{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--muted)}
.ab-info b{font-size:22px;font-weight:700;color:var(--text);display:block}
.ab-actions{display:flex;gap:10px;flex-wrap:wrap}

/* Agency profile header card */
.profile-head{display:flex;align-items:center;gap:18px}
.ph-ava{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff;flex:0 0 60px}
.ph-meta{flex:1;min-width:0}
.ph-name{font-size:20px;font-weight:700;color:var(--text);margin-bottom:4px}
.ph-title{font-size:13px;color:var(--muted);margin-bottom:6px}
.ph-chips{display:flex;gap:8px;flex-wrap:wrap}

/* AI / compliance info strips */
.ai-strip{display:flex;align-items:flex-start;gap:14px;background:var(--info-bg);border:1px solid rgba(58,52,201,.12);border-radius:12px;padding:14px 16px}
.ai-orb{width:34px;height:34px;border-radius:10px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 34px}
.ai-orb svg{width:17px;height:17px}
.ai-tag{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);display:block;margin-bottom:4px}
.ai-txt{font-size:13px;color:var(--text);line-height:1.55}

/* Reference number cell (table) */
.ref{font-size:11.5px;font-family:var(--mono);color:var(--muted)}

/* ============================================================
   §23 MISC UTILITIES
   ============================================================ */
.strong{font-weight:700}
.tiny{font-size:11.5px}
.muted,.subtle{color:var(--muted)}
.mt16{margin-top:16px} .mb16{margin-bottom:16px}
.mt14{margin-top:14px} .mb14{margin-bottom:14px}
.mt18{margin-top:18px} .mb18{margin-bottom:18px}
.mt12{margin-top:12px} .mb12{margin-bottom:12px}
.mt10{margin-top:10px} .mb10{margin-bottom:10px}
.mt4{margin-top:4px} .mb4{margin-bottom:4px}
.flex{display:flex}

/* Stat bar (for SLA) */
.slabar{height:6px;border-radius:999px;background:#EEF0F6;overflow:hidden;min-width:70px}
.slabar i{display:block;height:100%;border-radius:999px}

/* ============================================================
   §24 MOBILE RESPONSIVE
   ============================================================ */
@media(max-width:768px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:none}
  .main{margin-left:0}
  .menu-btn{display:flex}
  .topbar .global-search{display:none}
  #view,.page{padding:16px 16px 48px}
  .g2,.g3,.g4{grid-template-columns:1fr}
  /* Apply form */
  .apply-head{padding:14px 0 16px;gap:8px}
  .formsec>.fsb{padding:10px}
  .doclist{grid-template-columns:1fr}
  .docitem .dn .t{white-space:normal}
  /* Auth wrap (login / activate / forgot) */
  .authleft{display:none}
  .authright{padding:32px 20px;align-items:flex-start}
  .authwrap{grid-template-columns:1fr}
  /* Modals — slide up from bottom */
  .modal-overlay{align-items:flex-end;padding:0}
  .modal{max-width:100%;border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:92vh}
  /* KPI grid */
  .kpi-grid{grid-template-columns:repeat(2,1fr)}
  /* Tables — horizontal scroll */
  table,.tbl{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:480px){
  .kpi-grid{grid-template-columns:1fr}
  .topbar{padding:8px 14px}
  .formsec>.fsh{padding:9px 10px}
  .formsec>.fsb{padding:8px}
  .apply-head .btn{font-size:12px;padding:7px 10px}
  /* Wizard stepper — hide labels on tiny screens */
  .wstep .wlbl{display:none}
  .wstep .wnum{width:26px;height:26px;font-size:12px}
}

/* ── Premium breakdown (BROKOS-19) ──────────────────────────────────────────
   One component, used by the quote step and the bound policy page. Geometry
   lives here rather than in inline styles at the call sites: the two screens
   previously built their rows with different padding, so section labels sat
   indented while the rest ran flush to the card edge. */
/* The component supplies its own inset. It is dropped into containers with
   different padding — the policy page uses card(...) without the pad flag, so
   its body is padding:0, while the quote step wrapped it in a padded div. That
   asymmetry is exactly why the two screens looked different, so the padding
   lives here and hosts add none. */
.pb{display:flex;flex-direction:column;padding:14px 18px}
@media (max-width:640px){ .pb{padding:12px 14px} }

/* Group label — "Client premium", "Broker account". */
.pb-head{
  font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--muted);padding:16px 0 7px;
}
.pb-head:first-child{padding-top:0}

/* Every line shares this geometry. Variants change weight and colour only. */
.pb-row{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:7px 0;border-bottom:1px solid var(--card-border);
}
.pb-row:last-of-type{border-bottom:0}
.pb-k{
  font-size:12.5px;color:var(--muted);font-weight:500;
  min-width:0;overflow-wrap:anywhere;
}
.pb-v{
  font-size:13px;color:var(--text);text-align:right;white-space:nowrap;flex:0 0 auto;
}

/* Deduction — the amount carries the colour. Colouring the label too made the
   row shout louder than the total it sits above. */
.pb-row--minus .pb-v{color:var(--danger)}

/* Total: one rule above. margin-top:-1px pulls this row's top border over the
   previous row's bottom border, otherwise the two stack into a 2.5px line. */
.pb-row--rule{
  border-top:1.5px solid var(--border-strong,var(--border));border-bottom:0;
  margin-top:-1px;padding-top:12px;padding-bottom:0;
}
.pb-row--rule .pb-k{font-size:13px;font-weight:700;color:var(--text)}
.pb-row--rule .pb-v{font-size:15px;font-weight:700}

/* The client total is the headline figure on the card; the broker-account
   total is secondary. An explicit modifier rather than sibling gymnastics. */
.pb-row--headline .pb-v{color:var(--brand)}

.pb-note{
  margin:14px 0 0;padding-top:12px;border-top:1px dashed var(--card-border);
  font-size:11.5px;line-height:1.5;color:var(--muted);
}
