/* CSS map: design tokens (:root) → base/reset → components (login, sidebar,
   topnav, cards, dashboard, daily workflow, daily-plan modal, new-agent +
   90-day plan, agent tools, carriers) → responsive & mobile rules at the end. */
:root{
  --navy:#504C7E; --navy-dark:#3C3960; --navy-light:#6A659C;
  --sidebar:#413D6B; /* sidebar purple — tuned to sit against the logo purple #504C7E */
  --gold:#C9A84C; --gold-soft:#E2C278;
  /* Gold reads 2.29:1 on white -- fine as a fill or a border, and fine as text
     on navy, but it fails AA badly as text on a light card. --gold-text is the
     same hue darkened to 4.62:1 for exactly those places. */
  --gold-text:#8A6C1A;
  --lav:#E8EAFF; --lav2:#B8BCE0;
  --off:#F4F5F8; --border:#E2E4F0;
  /* Darkened 2026-09-04 after measuring every text node on every route at
     runtime: --light was #9CA3AF at 2.54:1 on white and --muted #6B7280 at
     4.83:1. --light is used as a text colour 188 times and NEVER on a dark
     background, so darkening it carries no risk the other way; almost all of it
     is 9.5-11.5px, which needs 4.5:1. --muted moved down with it to keep three
     distinct steps rather than collapsing into --light.
     Now: text 16.68, muted 6.43, light 4.78. */
  --text:#1A1D2E; --muted:#585F6B; --light:#68707C;
  --green:#27500A; --green-bg:#EAF3DE; --red:#C2410C;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,'Inter',Arial,sans-serif;background:var(--off);color:var(--text);-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
.hidden{display:none !important;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
:focus-visible{outline:3px solid var(--navy);outline-offset:2px;border-radius:4px;}
.sidebar :focus-visible,.sdp-top :focus-visible,.announce :focus-visible,.na-banner :focus-visible,.cr-toolkits :focus-visible,.linkplus-hdr :focus-visible,.p90-hero :focus-visible,.p90-belief :focus-visible,.p90-fully :focus-visible,.p90-tag :focus-visible{outline-color:#fff;}

.bfg-logo-img{display:block;width:100%;height:auto;}

/* overflow-y and a top-aligned start: centring alone meant that on a short
   viewport -- a phone in landscape, or a laptop with the browser chrome open --
   the card was taller than the screen with nothing to scroll, so "Create
   Account" at the bottom could not be reached at all. margin:auto on the card
   keeps it optically centred whenever it does fit. */
#login{position:fixed;inset:0;z-index:1000;background:var(--navy-dark);display:flex;align-items:flex-start;justify-content:center;padding:20px;overflow-y:auto;overflow-x:hidden;}
#login>*{margin:auto;}
.login-watermark{position:absolute;bottom:-50px;right:-40px;width:380px;opacity:.03;pointer-events:none;}
.bfg-wm{display:block;width:100%;height:auto;pointer-events:none;user-select:none;}
.login-card .login-logo{display:block;width:200px;max-width:68%;height:auto;margin:0 auto 14px;}
.login-card{position:relative;background:#fff;border-radius:18px;padding:38px 38px 28px;width:400px;max-width:100%;box-shadow:0 30px 80px rgba(0,0,0,.4);text-align:center;}
.login-card h1{font-size:18px;font-weight:800;color:var(--navy);margin:2px 0 4px;}
.login-card p{font-size:13px;color:var(--muted);margin-bottom:20px;}
.login-card input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;margin-bottom:10px;outline:none;}
.login-card input:focus{border-color:var(--navy);}
.login-card button.primary{width:100%;padding:12px;background:var(--navy);color:#fff;border-radius:10px;font-size:14px;font-weight:700;margin-top:4px;}
.login-card button.primary:hover{background:var(--navy-dark);}
.login-err{color:#C2410C;font-size:12px;font-weight:600;margin-bottom:8px;min-height:14px;}
.login-switch{font-size:12.5px;color:var(--muted);margin-top:14px;}
.login-switch a{color:var(--navy);font-weight:700;cursor:pointer;}
.login-switch a:hover{color:var(--gold);}
.login-hint{font-size:11px;color:var(--light);margin-top:8px;}
.demo-code{background:#FFF8E7;border:1px solid var(--gold-soft);border-radius:9px;padding:9px 12px;font-size:12px;color:#7A5A00;margin-bottom:12px;}
.demo-code strong{font-family:monospace;font-size:15px;letter-spacing:3px;color:#92660A;}
.tf-input{text-align:center;letter-spacing:8px;font-size:18px !important;font-weight:700;}
.login-demo-note{font-size:10px;color:var(--light);margin-top:18px;line-height:1.45;border-top:1px solid var(--border);padding-top:12px;}

#app{display:flex;min-height:100vh;}
.sidebar{width:248px;min-width:248px;background:var(--sidebar);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;align-self:flex-start;overflow-y:auto;overflow-x:hidden;}
.sidebar-watermark{position:absolute;bottom:150px;left:14px;width:150px;opacity:.05;pointer-events:none;z-index:0;}
.sb-logo{padding:10px 14px 12px;}
.sb-welcome{padding:0 20px 16px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);}
.sb-welcome .sb-welcome-hd{font-size:15px;font-weight:800;color:#fff;line-height:1.25;}
.sb-welcome .sb-welcome-sub{font-size:11px;color:rgba(255,255,255,.68);line-height:1.5;margin-top:8px;}
.sb-nav{padding:6px 12px;display:flex;flex-direction:column;gap:2px;flex:1;position:relative;z-index:1;}
.sb-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:9px;color:rgba(255,255,255,.7);font-weight:600;position:relative;text-align:left;width:100%;}
.sb-item svg{width:18px;height:18px;flex-shrink:0;}
.sb-item .sb-txt{display:flex;flex-direction:column;min-width:0;line-height:1.2;}
.sb-item .sb-lbl{font-size:13.5px;font-weight:600;}
/* .42 measured 3.17:1 against the sidebar purple -- these sit under every nav
   item on every page, so it was the most-seen failing text in the portal. .62 is
   4.97:1 and is the exact value the active state already used one line below, so
   the resting state now simply matches it. Hover follows so it is not darker
   than rest. */
.sb-item .sb-sub{font-size:10.5px;font-weight:500;color:rgba(255,255,255,.62);margin-top:1px;}
.sb-item.active .sb-sub{color:rgba(255,255,255,.62);}
.sb-item:hover .sb-sub{color:rgba(255,255,255,.78);}
.sb-item:hover{background:rgba(255,255,255,.08);color:#fff;}
.sb-item.active{background:rgba(255,255,255,.13);color:#fff;}
.sb-item.active::before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;background:var(--gold);border-radius:0 3px 3px 0;}
.sb-help{margin:12px 14px 18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;position:relative;z-index:2;}
.sb-help .ic{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
.sb-help .ic svg{width:18px;height:18px;color:#fff;}
.sb-help h4{font-size:13px;font-weight:700;color:#fff;margin-bottom:4px;}
.sb-help p{font-size:11px;color:rgba(255,255,255,.55);line-height:1.5;margin-bottom:10px;}
.sb-help button{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);color:#fff;font-size:11.5px;font-weight:700;padding:7px 14px;border-radius:8px;}
.sb-help button:hover{background:var(--gold);color:var(--navy-dark);}
/* Need Help box — gold-accented, gentle glow so agents notice help is available (namespaced .needhelp-*) */
.needhelp{overflow:hidden;background:linear-gradient(160deg,rgba(201,168,76,.16),rgba(255,255,255,.05));border:1px solid var(--gold-soft);box-shadow:0 0 0 0 rgba(201,168,76,.45);animation:needhelpGlow 3.2s ease-in-out infinite;}
.needhelp .ic{background:var(--gold);box-shadow:0 4px 14px rgba(201,168,76,.4);}
.needhelp .ic svg{color:var(--navy-dark);animation:needhelpSpin 14s linear infinite;}
.needhelp h4{color:#fff;}
.needhelp p{color:rgba(255,255,255,.72);}
.needhelp button{background:var(--gold);color:var(--navy-dark);}
.needhelp button:hover{background:var(--gold-soft);color:var(--navy-dark);}
.needhelp-badge{position:absolute;top:10px;right:10px;font-size:9px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--navy-dark);background:var(--gold-soft);padding:3px 7px;border-radius:20px;}
@keyframes needhelpGlow{0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,.0);}50%{box-shadow:0 0 16px 1px rgba(201,168,76,.45);}}
@keyframes needhelpSpin{to{transform:rotate(360deg);}}
@media(prefers-reduced-motion:reduce){.needhelp{animation:none;}.needhelp .ic svg{animation:none;}}

.main{flex:1;display:flex;flex-direction:column;min-width:0;}
.topnav{background:#fff;border-bottom:1px solid var(--border);height:60px;display:flex;align-items:center;gap:14px;padding:0 28px;position:sticky;top:0;z-index:50;}
.menu-toggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;color:var(--navy);background:var(--off);}
.menu-toggle:hover{background:var(--lav);}
.menu-toggle svg{width:20px;height:20px;}
.nav-scrim{position:fixed;inset:0;background:rgba(20,20,40,.5);z-index:150;display:none;}
.topnav-right{display:flex;align-items:center;gap:16px;margin-left:auto;}
.bell{position:relative;color:var(--muted);}
.bell svg{width:20px;height:20px;}
.bell .badge{position:absolute;top:-5px;right:-5px;background:var(--gold);color:var(--navy-dark);font-size:9px;font-weight:800;width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.topnav-divider{width:1px;height:26px;background:var(--border);}
.user-chip{display:flex;align-items:center;gap:9px;}
.avatar{width:34px;height:34px;border-radius:50%;background:var(--lav);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;}
.user-chip .un{font-size:12.5px;font-weight:700;color:var(--text);line-height:1.2;}
.user-chip .uid{font-size:11px;color:var(--light);}
.signout{color:var(--light);display:flex;align-items:center;}
.signout:hover{color:var(--navy);}
.signout svg{width:19px;height:19px;}

.page{padding:26px 28px 60px;max-width:1320px;margin:0 auto;width:100%;}

.card{background:#fff;border-radius:14px;border:1px solid var(--border);}
.card-pad{padding:22px 24px;}
.card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px;flex-wrap:wrap;}
.card-hdr h3{font-size:16px;font-weight:800;color:var(--navy);}
.view-link{font-size:12px;font-weight:700;color:var(--navy);display:inline-flex;align-items:center;gap:5px;cursor:pointer;}
.mtd-hdr-links{display:inline-flex;align-items:center;gap:16px;flex-wrap:wrap;}
.view-link:hover{color:var(--gold);}
.view-link svg{width:13px;height:13px;}
.icon-circle{border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-size:13px;font-weight:700;padding:11px 20px;border-radius:9px;}
.btn-primary:hover{background:var(--navy-dark);}
.btn-soft{display:inline-flex;align-items:center;gap:7px;background:var(--lav);color:var(--navy);font-size:12.5px;font-weight:700;padding:9px 16px;border-radius:8px;}
.btn-soft:hover{background:var(--lav2);}
.btn-gold{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy-dark);font-size:13px;font-weight:800;padding:11px 20px;border-radius:9px;}
.btn-gold:hover{background:var(--gold-soft);}

.dash-hero-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px;}
.hero-card{background:#fff;border-radius:14px;border:1px solid var(--border);padding:22px 22px 18px;display:flex;flex-direction:column;min-height:150px;transition:.15s;cursor:pointer;}
.hero-card:hover{box-shadow:0 8px 24px rgba(45,52,97,.1);transform:translateY(-2px);}
.hero-card .icon-circle{width:54px;height:54px;margin-bottom:14px;}
.hero-card .icon-circle svg{width:26px;height:26px;}
.hero-card h3{font-size:18px;font-weight:800;color:var(--navy);line-height:1.2;margin-bottom:auto;}
.hero-card .gline{width:30px;height:3px;background:var(--gold);border-radius:2px;margin:12px 0 14px;}
.hero-card .foot{display:flex;align-items:center;justify-content:space-between;}
.hero-card .foot span{font-size:13px;color:var(--muted);font-weight:600;}
.hero-card .foot svg{width:18px;height:18px;color:var(--navy);}

.dash-lower{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;align-items:start;}
.toolkit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.tool-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px;border-radius:10px;text-align:center;}
.tool-item:hover{background:var(--off);}
.tool-item .ti-ic{width:42px;height:42px;border-radius:10px;background:var(--lav);display:flex;align-items:center;justify-content:center;color:var(--navy);}
.tool-item .ti-ic svg{width:20px;height:20px;}
.tool-item span{font-size:11px;font-weight:600;color:var(--text);line-height:1.25;}
.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;}
.dash-qlinks{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.dash-qtile:hover{filter:brightness(1.06);transform:translateY(-2px);transition:.15s;}
/* The New Agents tile is the one a brand-new agent must find first, so it is the
   only tile on the dashboard that moves: a slow purple-to-gold gradient drift, a
   sheen that crosses every few seconds, and a pulsing arrow. Motion is the thing
   that distinguishes it -- three of its four neighbours are already purple, so
   colour alone would not separate it. All of it is disabled under
   prefers-reduced-motion, where it falls back to a static gold-edged gradient. */
/* GOLD, and actually sparkling. The previous version was a mostly-PURPLE
   gradient with one gold band in the middle, crossed by a WHITE sheen sweep --
   which is the white/silver the owner kept objecting to. It also had dead time:
   the sheen parked off-screen for 45% of its cycle and the drift eased to a stop
   at each end, so the tile spent much of its life visually still.

   Now: a gold gradient that loops seamlessly and never stops (the ramp starts
   and ends on the same gold, shifted by exactly one full tile, on a LINEAR
   timing function -- no easing, no pause), and seven four-point sparkles whose
   delays are spread across the cycle so some are always lit.

   Text and decoration flip to dark warm tones on this tile: white on #C9A84C is
   about 2.3:1 and unreadable. dashLinkTile omits its inline color for `special`
   so these rules can win without !important. */
.dash-qtile-star{
  /* The deepest stop is #BF9733, not the #B0892A it wants to be visually: on
     that darker gold the 11.5px sub-label measured 4.02:1 against the text,
     under the 4.5 AA needs for normal text. #BF9733 gives 4.78 and the title,
     being 15px bold, clears its 3:1 bar everywhere on the ramp. */
  background:linear-gradient(115deg,#C9A84C,#F2DC9E,#E2C278,#BF9733,#C9A84C,#F2DC9E,#E2C278,#BF9733,#C9A84C);
  background-size:200% 100%;
  animation:qtStarDrift 7s linear infinite;
  color:#3D2F05;
  box-shadow:0 10px 24px rgba(176,137,42,.38),inset 0 0 0 1px rgba(255,244,214,.75);}
@keyframes qtStarDrift{from{background-position:0% 50%;}to{background-position:-200% 50%;}}
.dash-qtile-star .qt-glyph{color:#7A5A00;opacity:.20;}
.dash-qtile-star .qt-orb{background:rgba(122,90,0,.13);}
.dash-qtile-star .qt-pulse{background:rgba(61,47,5,.16);color:#3D2F05;animation:qtStarPulse 2.4s ease-in-out infinite;}
@keyframes qtStarPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(61,47,5,.34);}
  50%{transform:scale(1.09);box-shadow:0 0 0 8px rgba(61,47,5,0);}}
.qt-spark{position:absolute;pointer-events:none;color:#FFFBEF;opacity:0;
  filter:drop-shadow(0 0 3px rgba(255,251,239,.9));animation:qtSpark 2.6s ease-in-out infinite;}
.qt-spark svg{display:block;width:100%;height:100%;fill:currentColor;}
@keyframes qtSpark{
  0%,100%{opacity:0;transform:scale(.25) rotate(0deg);}
  45%{opacity:1;transform:scale(1) rotate(70deg);}
  70%{opacity:.35;transform:scale(.7) rotate(110deg);}}
.dash-qtile-star:hover{filter:brightness(1.05) saturate(1.06);}
@media (prefers-reduced-motion: reduce){
  .dash-qtile-star{animation:none;background-position:30% 50%;}
  .dash-qtile-star .qt-pulse{animation:none;}
  .qt-spark{animation:none;opacity:.85;transform:scale(1);}}
@media(max-width:900px){.dash-qlinks{grid-template-columns:repeat(2,1fr);}}
@media(max-width:400px){.dash-qlinks{grid-template-columns:1fr;}}
.ql{display:flex;align-items:center;gap:10px;padding:9px 6px;border-radius:7px;font-size:13px;font-weight:600;color:var(--text);}
.ql:hover{background:var(--off);color:var(--navy);}
.ql svg{width:16px;height:16px;color:var(--navy);flex-shrink:0;}

.training-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--border);}
.training-row:last-child{border-bottom:none;}
.training-row .tr-l{display:flex;align-items:center;gap:12px;}
.training-row .tr-ic{width:34px;height:34px;border-radius:8px;background:var(--lav);display:flex;align-items:center;justify-content:center;color:var(--navy);}
.training-row .tr-ic svg{width:16px;height:16px;}
.training-row .tt{font-size:13.5px;font-weight:700;color:var(--text);}
.training-row .tm{font-size:12px;color:var(--light);}

.announce{background:var(--navy-dark);border-radius:14px;padding:20px 26px;display:flex;align-items:center;justify-content:space-between;margin-top:16px;position:relative;overflow:hidden;}
.announce .aw{position:absolute;right:-6px;bottom:-24px;width:150px;opacity:.04;}
.announce-l{display:flex;align-items:center;gap:16px;position:relative;z-index:2;}
.announce-ic{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#fff;}
.announce-ic svg{width:22px;height:22px;}
.announce h4{font-size:14px;font-weight:800;color:#fff;}
.announce p{font-size:13.5px;color:rgba(255,255,255,.7);}
.announce .view-link{color:var(--gold);position:relative;z-index:2;}

/* ===== Dashboard tiles — animated "moving animal" motifs (3c) ===== */
.toolkit-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
/* Quick Links tiles fill the row + the animated critter fills the tile (1a) */
.toolkit-grid-3 .tool-item-anim{min-height:150px;padding:16px 10px 16px;gap:10px;border:1px solid var(--border);background:linear-gradient(160deg,#FFFCF4,var(--off));border-radius:14px;transition:transform .15s,box-shadow .15s,border-color .15s;}
.toolkit-grid-3 .tool-item-anim:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(45,52,97,.16);border-color:var(--gold-soft);background:#fff;}
.toolkit-grid-3 .tool-item-anim span{font-size:13px;}
.toolkit-grid-3 .tool-item-anim .ti-ic{width:38px;height:38px;}
.tool-item-anim{position:relative;overflow:hidden;min-height:96px;justify-content:flex-end;}
.tool-item-anim .ti-ic,.tool-item-anim span{position:relative;z-index:2;}
.dash-critter{position:absolute;top:10px;left:0;right:0;bottom:64px;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1;opacity:.95;}
.dash-critter svg{width:100%;height:100%;max-width:130px;max-height:88px;overflow:visible;}
.dc-bird .dc-body{animation:dcBob 2.4s ease-in-out infinite;transform-origin:center;}
.dc-bird .dc-wing{transform-origin:34px 26px;animation:dcFlap 0.5s ease-in-out infinite;}
.dc-fox .dc-body{animation:dcPeek 3.4s ease-in-out infinite;transform-origin:center bottom;}
.dc-cat .dc-body{animation:dcFloat 3s ease-in-out infinite;transform-origin:center;}
.dc-cat .dc-tail{transform-origin:42px 34px;animation:dcSway 1.8s ease-in-out infinite;}
@keyframes dcBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes dcFlap{0%,100%{transform:rotate(0)}50%{transform:rotate(-26deg)}}
@keyframes dcPeek{0%,100%{transform:translateY(7px)}50%{transform:translateY(0)}}
@keyframes dcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes dcSway{0%,100%{transform:rotate(-10deg)}50%{transform:rotate(12deg)}}
@media(prefers-reduced-motion:reduce){.dc-bird .dc-body,.dc-bird .dc-wing,.dc-fox .dc-body,.dc-cat .dc-body,.dc-cat .dc-tail{animation:none!important;}}

/* ===== Dashboard MTD production cards (3a) ===== */
.dash-mid{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;align-items:start;}
.mtd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.mtd-tile{border:1px solid var(--border);border-radius:14px;padding:16px 14px;background:linear-gradient(180deg,var(--off),#fff);position:relative;overflow:hidden;}
.mtd-tile .mtd-ic{width:34px;height:34px;border-radius:9px;background:var(--lav);color:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:10px;}
.mtd-tile .mtd-ic svg{width:18px;height:18px;}
.mtd-tile .mtd-v{font-size:23px;font-weight:800;color:var(--navy);line-height:1.1;}
.mtd-tile .mtd-l{font-size:12px;font-weight:700;color:var(--text);margin-top:3px;}
.mtd-tile .mtd-s{font-size:10.5px;color:var(--muted);margin-top:2px;}
.mtd-tile.mtd-gold .mtd-ic{background:var(--gold);color:var(--navy-dark);}
.mtd-tile.mtd-gold{background:linear-gradient(180deg,#FBF3DD,#fff);}
.mtd-tile.mtd-green .mtd-ic{background:var(--green-bg);color:var(--green);}
.mtd-tile.mtd-navy .mtd-ic{background:var(--navy);color:#fff;}
.mtd-flag{display:inline-block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--navy);background:var(--lav);padding:1px 6px;border-radius:10px;margin-left:4px;}
/* ===== Team leaderboard (3a) ===== */
.lb-card .lb-sub{font-size:11px;font-weight:700;color:var(--muted);}
.lb-list{display:flex;flex-direction:column;gap:9px;}
.lb-row{display:grid;grid-template-columns:20px 1fr 70px auto;align-items:center;gap:10px;font-size:12.5px;}
.lb-row .lb-rank{font-weight:800;color:var(--light);text-align:center;}
.lb-row .lb-name{font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lb-row .lb-bar{height:7px;background:var(--off);border-radius:6px;overflow:hidden;}
.lb-row .lb-bar i{display:block;height:100%;background:var(--navy-light);border-radius:6px;}
.lb-row .lb-ap{font-weight:800;color:var(--navy);text-align:right;font-size:12px;}
.lb-row.me{background:var(--lav);border-radius:9px;padding:5px 8px;margin:0 -8px;}
.lb-row.me .lb-bar i{background:var(--gold);}
.lb-you{font-size:9px;font-weight:800;text-transform:uppercase;color:var(--navy-dark);background:var(--gold-soft);padding:1px 5px;border-radius:9px;margin-left:4px;}
.lb-note{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--muted);margin-top:12px;}
.lb-note svg{width:12px;height:12px;}
/* Real leaderboard additions (Batch3.1): medals, policy sub-line, states */
.lb-row .lb-name{display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;}
.lb-row .lb-pol{flex-basis:100%;font-size:9.5px;font-weight:700;color:var(--muted);text-transform:none;letter-spacing:0;}
.lb-medal{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-weight:800;font-size:10.5px;color:#fff;}
.lb-medal-1{background:var(--gold);color:var(--navy-dark);box-shadow:0 0 0 2px var(--gold-soft);}
.lb-medal-2{background:#A9AEC2;}
.lb-medal-3{background:#C8A079;}
.lb-row.first .lb-name{color:var(--navy-dark);}
.lb-row.first .lb-bar i{background:var(--gold);}
.lb-gap{text-align:center;color:var(--light);font-size:13px;letter-spacing:2px;line-height:.6;}
.lb-loading{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);padding:12px 0;}
.lb-loading svg{width:14px;height:14px;}
.lb-empty{text-align:center;padding:18px 8px;color:var(--muted);}
.lb-empty svg{width:30px;height:30px;color:var(--gold);}
.lb-empty-t{font-weight:800;color:var(--text);margin-top:8px;font-size:13px;}
.lb-empty-s{font-size:11.5px;margin-top:3px;}
@media(max-width:1100px){.dash-mid{grid-template-columns:1fr;}.mtd-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.mtd-grid{grid-template-columns:1fr 1fr;}}

/* ===== Animated gold announcements ticker (3d, namespaced .annbar-*) ===== */
/* Announcement bar — running GOLD OMBRE gradient (1b). Flows gold -> light gold/
   near-white -> gold continuously. Dark navy text on top for contrast.
   SCOPED to .announce.annbar on purpose: the Events page reuses the bare
   `annbar` class for a 4px accent stripe on each announcement row. Those
   stripes are position:static, so an unscoped ::after here resolved against
   the VIEWPORT and swept a full-page white gradient across that page. */
.announce.annbar{background:linear-gradient(100deg,var(--gold) 0%,var(--gold-soft) 22%,#FFF6DC 38%,var(--gold-soft) 54%,var(--gold) 78%,var(--gold-soft) 100%);background-size:260% 100%;animation:annbarOmbre 9s linear infinite;}
.announce.annbar::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 18%,rgba(255,255,255,.5) 50%,transparent 82%);background-size:240% 100%;animation:annbarShimmer 6s linear infinite;pointer-events:none;z-index:1;}
.annbar-ic{background:var(--navy-dark)!important;color:var(--gold-soft);}
.annbar .announce-l{flex:1;min-width:0;position:relative;z-index:2;}
.annbar-head{min-width:0;flex:1;}
.annbar-head h4{color:var(--navy-dark);}
.annbar-track{overflow:hidden;position:relative;max-width:100%;margin-top:2px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.annbar-scroll{display:flex;width:max-content;animation:annbarScroll 26s linear infinite;}
.annbar:hover .annbar-scroll{animation-play-state:paused;}
.annbar-run{display:flex;align-items:center;flex-shrink:0;}
.annbar-item{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:700;color:var(--navy-dark);white-space:nowrap;padding:0 4px;}
.annbar-item svg{width:14px;height:14px;color:var(--navy);flex-shrink:0;}
.annbar-dot{color:var(--navy);padding:0 14px;font-weight:800;}
.annbar-cta{flex-shrink:0;position:relative;z-index:2;}
.annbar .annbar-cta.view-link{color:var(--navy-dark);}
.annbar .annbar-cta.view-link svg{stroke:var(--navy-dark);}
@keyframes annbarScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes annbarShimmer{0%{background-position:120% 0}100%{background-position:-120% 0}}
@keyframes annbarOmbre{0%{background-position:0% 0}100%{background-position:-260% 0}}
@media(prefers-reduced-motion:reduce){.announce.annbar{animation:none;background:linear-gradient(100deg,var(--gold),var(--gold-soft));}.annbar-scroll{animation:none;}.announce.annbar::after{animation:none;}.annbar-track{-webkit-mask-image:none;mask-image:none;}.annbar-scroll{width:auto;}.annbar-run:nth-child(2){display:none;}}

/* Dashboard business snapshot — data pulled from Daily Workflow */
.snap-grid{display:grid;grid-template-columns:minmax(0,310px) 1fr;gap:26px;}
.snap-col-hd{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--light);margin:0 0 14px;}
.snap-today{border-right:1px solid var(--border);padding-right:26px;display:flex;flex-direction:column;align-items:stretch;}
.snap-ring{position:relative;width:128px;height:128px;margin:2px 0 14px;align-self:center;}
.snap-ring .lab{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.snap-ring .lab .p{font-size:31px;font-weight:800;color:var(--navy);line-height:1;}
.snap-ring .lab .s{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--light);margin-top:4px;}
.snap-tasks{font-size:12.5px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:7px;justify-content:center;margin-bottom:16px;}
.snap-tasks svg{width:15px;height:15px;color:var(--gold);}
.snap-tasks b{color:var(--navy);font-weight:800;}
.snap-chart{margin-top:20px;}
.snap-chart-hd{font-size:11.5px;font-weight:700;color:var(--muted);margin-bottom:12px;}
.snap-bars{display:flex;align-items:flex-end;gap:8px;}
.snap-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;}
.snap-bar-wrap{width:100%;max-width:34px;height:80px;display:flex;align-items:flex-end;background:var(--off);border-radius:6px 6px 0 0;overflow:hidden;}
.snap-bar-wrap i{display:block;width:100%;background:var(--navy);border-radius:6px 6px 0 0;transition:height .5s ease;min-height:2px;}
.snap-day.today .snap-bar-wrap i{background:var(--gold);}
.snap-dl{font-size:10.5px;font-weight:700;color:var(--light);}
.snap-day.today .snap-dl{color:var(--navy);}
@media(max-width:760px){
  .snap-grid{grid-template-columns:1fr;gap:20px;}
  .snap-today{border-right:none;padding-right:0;border-bottom:1px solid var(--border);padding-bottom:20px;}
}

/* Events & Announcements page */
.ev-grid{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start;}
.ev-ann{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--border);}
.ev-ann:last-child{border-bottom:none;}
.ev-ann-ic{width:40px;height:40px;border-radius:10px;background:var(--lav);color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none;}
.ev-ann-ic svg{width:18px;height:18px;}
.ev-ann-c{min-width:0;}
.ev-ann-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.ev-ann-top h4{font-size:14.5px;font-weight:800;color:var(--navy);}
.ev-when{font-size:11.5px;font-weight:700;color:#9C7C33;margin:2px 0 5px;}
.ev-ann p{font-size:13px;color:var(--muted);line-height:1.55;}
.ev-tag{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;background:var(--lav);color:var(--navy);white-space:nowrap;}
.ev-day{margin-bottom:18px;}
.ev-day:last-child{margin-bottom:0;}
.ev-day-h{font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--light);margin:0 0 8px;}
.ev-row{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--border);}
.ev-row:last-child{border-bottom:none;}
.ev-time{min-width:74px;font-size:12.5px;font-weight:800;color:var(--navy);display:flex;flex-direction:column;}
.ev-time span{font-size:10px;font-weight:600;color:var(--light);}
.ev-row-c{flex:1;min-width:0;}
.ev-row-ttl{font-size:13.5px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ev-ic{width:26px;height:26px;border-radius:7px;background:var(--lav);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;flex:none;}
.ev-ic svg{width:14px;height:14px;}
.ev-row-sub{font-size:11.5px;color:var(--light);margin-top:3px;}
.ev-nolink{font-size:10.5px;font-weight:700;color:#92660A;background:#FFF8E7;border:1px solid var(--gold-soft);padding:5px 10px;border-radius:8px;white-space:nowrap;}
@media(max-width:760px){.ev-grid{grid-template-columns:1fr;}}

.dw-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;align-items:stretch;}
/* Equal-height plan/schedule: both grid columns stretch, and the single card in
   each column grows to fill its column so the plan box matches the schedule box
   height regardless of how long the day's schedule is. */
.dw-grid>div{height:100%;}
.dw-grid>div>.card{flex:1;}
.dw-greet{display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
.dw-greet-l{flex:1;min-width:240px;}
.dw-greet .gm{font-size:14px;font-weight:700;color:var(--navy);}
.dw-greet h2{font-size:24px;font-weight:800;color:var(--navy);line-height:1.15;margin:2px 0 10px;}
.dw-greet .gline{width:36px;height:3px;background:var(--gold);border-radius:2px;margin-bottom:12px;}
.dw-greet p{font-size:13px;color:var(--muted);margin-bottom:12px;max-width:400px;line-height:1.5;}
.dw-plansteps{list-style:none;counter-reset:ps;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:9px;max-width:440px;}
.dw-plansteps li{counter-increment:ps;position:relative;padding-left:29px;font-size:12.5px;color:var(--muted);line-height:1.5;}
.dw-plansteps li::before{content:counter(ps);position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--lav);color:var(--navy);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.dw-plansteps li b{color:var(--navy);font-weight:800;}
/* Targets + Adjust-goals on ONE horizontal line (B2) */
.dw-goalslink{display:flex;justify-content:flex-end;margin:16px 0 9px;}
.dw-goalslink a{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--navy);cursor:pointer;}
.dw-goalslink a:hover{color:var(--navy-dark);text-decoration:underline;}
.dw-goalslink svg{flex:none;}
.dw-targetsbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:nowrap;padding-top:4px;}
.dw-targets-txt{font-size:11px;color:var(--light);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.dw-adjust{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--navy);cursor:pointer;white-space:nowrap;flex-shrink:0;}
@media(max-width:640px){.dw-targetsbar{flex-wrap:wrap;}.dw-targets-txt{white-space:normal;}}
.ring-wrap{display:flex;align-items:center;gap:22px;}
.ring{position:relative;width:118px;height:118px;flex-shrink:0;}
.ring svg{transform:rotate(-90deg);}
.ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.ring-label .pct{font-size:24px;font-weight:800;color:var(--navy);}
.ring-label .sub{font-size:10px;color:var(--muted);}
.ring-stats{display:flex;flex-direction:column;gap:11px;}
.ring-stat{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text);font-weight:600;}
.ring-stat .rs-ic{width:24px;height:24px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;}
.ring-stat .rs-ic svg{width:13px;height:13px;}
.ring-stat .rs-ic.gold{background:var(--gold);color:var(--navy-dark);}

.day-tabs{display:flex;gap:5px;margin-bottom:16px;flex-wrap:wrap;}
.day-tab{flex:1;min-width:38px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:9px;border:1px solid var(--border);background:#fff;transition:.12s;}
.day-tab .dt-d{font-size:10.5px;font-weight:700;color:var(--muted);letter-spacing:.5px;}
.day-tab .dt-n{font-size:16px;font-weight:800;color:var(--navy);}
.day-tab:hover{border-color:var(--lav2);}
.day-tab.active{background:var(--navy);border-color:var(--navy);}
.day-tab.active .dt-d,.day-tab.active .dt-n{color:#fff;}
.day-tab.today::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);margin-top:1px;}
.day-tab.active.today::after{background:var(--gold-soft);}
/* Seven tabs at min-width 38 plus 5px gaps come to ~296px, which is a hair 
   wider than the card's inner width on a 375px phone, so Saturday wrapped onto 
   a row of its own. */
@media(max-width:430px){.day-tabs{gap:4px;}.day-tab{min-width:34px;padding:7px 2px;}.day-tab .dt-n{font-size:15px;}}
.sched-empty{text-align:center;padding:30px 12px;color:var(--light);}
.sched-empty svg{width:30px;height:30px;margin-bottom:8px;color:var(--lav2);}
.sched-empty .se-t{font-size:14px;font-weight:700;color:var(--muted);}
.sched-empty .se-s{font-size:12px;margin-top:3px;}

/* Today's Schedule rows, rebuilt. Two columns -- time and content -- instead of
   a four-part flex line, and no dot-and-line rail: it cost 23px of the narrowest
   column on the page for decoration, in the column that was already squeezed.
   Times appear once, in the agent's own zone, with the zone named once in the
   card header instead of twice on every row. */
.sch-list{display:flex;flex-direction:column;}
.sch-hdr-r{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.sch-tzchip{font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--navy);background:var(--lav);border:1px solid var(--lav2);border-radius:6px;padding:3px 8px;}
.sch-row{display:grid;grid-template-columns:74px 1fr;gap:14px;padding:15px 0;align-items:start;}
.sch-row + .sch-row{border-top:1px solid var(--off);}
.sch-row.next-up{background:linear-gradient(90deg,rgba(201,168,76,.12),transparent);border-left:3px solid var(--gold);border-radius:8px;padding-left:10px;margin-left:-13px;}
.sch-t{padding-top:2px;line-height:1.35;}
.sch-t b{display:block;font-size:12.5px;font-weight:800;color:var(--navy);}
.sch-t span{display:block;font-size:11px;color:var(--muted);font-weight:600;margin-top:2px;}
.sch-c{min-width:0;}
.sch-ttl{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;color:var(--text);line-height:1.3;}
.sch-ic{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:var(--lav);color:var(--navy);flex:none;}
.sch-ic svg{width:14px;height:14px;}
.sch-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px;}
.sch-desc{font-size:12px;color:var(--muted);line-height:1.5;margin-top:7px;}
.sch-act{margin-top:10px;}
.sch-join{display:inline-flex;align-items:center;gap:6px;background:var(--lav);color:var(--navy);font-size:11.5px;font-weight:700;padding:7px 13px;border-radius:8px;white-space:nowrap;cursor:pointer;border:none;font-family:inherit;}
.sch-join:hover{background:var(--navy);color:#fff;}
.sch-join svg{width:14px;height:14px;}
.sch-nolink{display:inline-block;font-size:10.5px;font-weight:700;color:#92660A;background:#FFF8E7;border:1px solid var(--gold-soft);padding:5px 10px;border-radius:8px;}
.sch-tznote{font-size:11.5px;color:var(--muted);margin-top:14px;line-height:1.5;}
.sch-tznote a{color:var(--navy);font-weight:700;cursor:pointer;text-decoration:underline;}
.mini-tag{font-size:9.5px;font-weight:700;background:#FFF8E7;color:#92660A;padding:2px 7px;border-radius:5px;}
.mini-tag.live{background:var(--green-bg);color:var(--green);}
@media(max-width:430px){.sch-row{grid-template-columns:1fr;gap:5px;}.sch-t{display:flex;gap:7px;align-items:baseline;}.sch-t span{margin-top:0;}}

.tg-label{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--gold);margin:16px 0 4px;}
.tg-label.first{margin-top:0;}
.task{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);}
.task:last-child{border-bottom:none;}
.task .cb{width:20px;height:20px;border:1.8px solid var(--border);border-radius:6px;flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.12s;}
.task .cb svg{width:12px;height:12px;color:#fff;opacity:0;}
.task .cb:hover{border-color:var(--navy-light);}
.task.done .cb{background:var(--navy);border-color:var(--navy);}
.task.done .cb svg{opacity:1;}
.task.done .tname{color:var(--light);text-decoration:line-through;}
.task .t-ic{width:30px;height:30px;border-radius:8px;background:var(--lav);display:flex;align-items:center;justify-content:center;color:var(--navy);flex-shrink:0;}
.task .t-ic svg{width:15px;height:15px;}
.task .tname{flex:1;font-size:13px;font-weight:600;color:var(--text);}
.task a.tlink{color:var(--navy);font-weight:700;border-bottom:1px solid var(--lav2);}
.task a.tlink:hover{color:var(--gold);border-color:var(--gold);}

.counter-task{padding:14px 0;border-bottom:1px solid var(--border);}
.counter-task:last-child{border-bottom:none;}
.ct-top{display:flex;align-items:center;gap:12px;}
.ct-ic{width:30px;height:30px;border-radius:8px;background:var(--lav);display:flex;align-items:center;justify-content:center;color:var(--navy);flex-shrink:0;}
.ct-ic svg{width:15px;height:15px;}
.ct-name{flex:1;font-size:13px;font-weight:700;color:var(--text);}
.ct-val{font-size:13px;font-weight:800;color:var(--navy);white-space:nowrap;}
.ct-val .goal{font-size:11px;color:var(--light);font-weight:600;}
.ct-bar{height:6px;background:var(--off);border-radius:4px;overflow:hidden;margin:9px 0 9px 42px;}
.ct-bar i{display:block;height:100%;background:var(--navy);border-radius:4px;transition:width .35s ease;}
.ct-bar i.hit{background:var(--gold);}
.ct-ctrls{display:flex;gap:6px;margin-left:42px;flex-wrap:wrap;align-items:center;}
.step-btn{font-size:12px;font-weight:800;padding:6px 12px;border-radius:7px;background:var(--lav);color:var(--navy);}
.step-btn:hover{background:var(--navy);color:#fff;}
.step-btn.minus{background:var(--off);color:var(--muted);padding:6px 11px;}
.step-btn.minus:hover{background:var(--border);color:var(--text);}
.ct-reflect{margin-left:42px;font-size:12px;color:var(--muted);font-weight:600;}
.ct-reflect .tlink{cursor:pointer;}
.tdisp{font-family:'SF Mono',Menlo,Consolas,monospace;}
.tdisp.hit{color:var(--green);}
.timer-btn{font-size:12px;font-weight:800;padding:7px 16px;border-radius:7px;}
.timer-btn.go{background:var(--navy);color:#fff;}
.timer-btn.go:hover{background:var(--navy-dark);}
.timer-btn.go.running{background:var(--gold);color:var(--navy-dark);}
.timer-btn.reset{background:var(--off);color:var(--muted);}
.timer-btn.reset:hover{background:var(--border);color:var(--text);}
/* Step4 CHANGE B: secondary "Begin Timer" button inside the two Power Block
   cards. Additive — uses the same .timer-btn base sizing; namespaced styling. */
.timer-btn.pbtimer-begin{background:var(--lav);color:var(--navy);border:1px solid var(--border);transition:background .15s ease,color .15s ease;}
.timer-btn.pbtimer-begin:hover{background:var(--gold-soft);color:var(--navy-dark);}
.timer-btn.pbtimer-begin.running{background:var(--gold);color:var(--navy-dark);border-color:var(--gold);}
/* Step4 CHANGE C: per-block START / END clock readouts on the checklist. */
.pb-times{display:flex;flex-wrap:wrap;gap:2px 22px;align-items:flex-start;}
/* Power Block rows: Time Started/Ended sit inline in the header (name on the
   left, times next to it, the running clock pushed to the far right) instead of
   a separate block underneath — removes the awkward empty space at the bottom. */
.counter-task.pblock .ct-top{flex-wrap:wrap;row-gap:6px;}
.counter-task.pblock .ct-name{flex:0 1 auto;min-width:0;}
.counter-task.pblock .ct-val{margin-left:auto;}
.pb-time-item{display:flex;flex-direction:column;gap:1px;}
.pb-time-lbl{font-size:10.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--light);}
.pb-time-val{font-size:13px;font-weight:800;color:var(--navy);font-family:'SF Mono',Menlo,Consolas,monospace;}
@media (prefers-reduced-motion: reduce){ .timer-btn.pbtimer-begin{transition:none;} }
.lunch-break{display:flex;align-items:center;justify-content:center;gap:9px;background:#FFF8E7;border:1px dashed var(--gold-soft);border-radius:10px;padding:11px 14px;font-size:12.5px;color:#7A5A00;font-weight:700;margin:14px 0 4px;}
.lunch-break svg{width:16px;height:16px;color:#92660A;flex-shrink:0;}

/* ---- Daily Routine: phased layout (Morning Launch / Power Block / Wrap-Up).
   Wraps the existing .task / .counter-task rows in tidy phase cards. All inner
   row classes/ids/handlers are unchanged — this is layout-only + namespaced. */
.act-routine-phase{border:1px solid var(--border);border-radius:13px;background:#fff;padding:4px 16px 8px;margin-top:14px;}
.act-routine-phase:first-child{margin-top:0;}
.act-routine-head{display:flex;align-items:center;gap:11px;padding:14px 0 10px;border-bottom:1px solid var(--border);margin-bottom:4px;}
.act-routine-num{width:26px;height:26px;border-radius:8px;background:var(--navy);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.act-routine-titles{flex:1;min-width:0;}
.act-routine-title{font-size:13px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;color:var(--navy);}
.act-routine-help{font-size:11.5px;color:var(--light);font-weight:600;margin-top:1px;}
/* Reflection rows (Quotes / Follow-Ups / AP logged in Today's Numbers) read as
   informational, not actionable: muted tint + dashed rule, still tap-through. */
.act-routine-phase .counter-task.reflect{background:var(--off);border:1px dashed var(--border);border-radius:10px;padding:12px 14px;margin:10px 0;}
.act-routine-phase .counter-task.reflect:last-child{margin-bottom:6px;}
.act-routine-phase .counter-task.reflect .ct-name{color:var(--muted);font-weight:700;}
.act-routine-phase .counter-task.reflect .ct-bar{margin-left:42px;}
.act-routine-phase .counter-task.reflect .ct-reflect{font-style:italic;}
@media (max-width:720px){
  .act-routine-phase{padding:4px 12px 8px;}
  .act-routine-phase .counter-task.reflect{padding:11px 12px;}
}

.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin-top:16px;}
.metric{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:13px;padding:18px;}
.metric .mc-ic{width:46px;height:46px;border-radius:50%;background:var(--lav);display:flex;align-items:center;justify-content:center;color:var(--navy);flex-shrink:0;}
.metric .mc-ic svg{width:22px;height:22px;}
.metric .mc-lbl{font-size:12px;color:var(--muted);font-weight:600;}
.metric .mc-num{font-size:22px;font-weight:800;color:var(--navy);line-height:1.1;font-family:'SF Mono',Menlo,Consolas,monospace;}
.metric .mc-goal{font-size:11px;color:var(--light);}

/* Step6 CHANGE A: tighten the 5 plan-box metric cards so nothing spills.
   Scoped to .plan-metrics-row (the #metricsRow grid in the plan box) so no
   other use of .metric is affected. Smaller type + tighter padding/gaps +
   overflow guards let the widest content (the 00:00:00 timer) fit cleanly. */
/* Ten columns so BOTH rows fill exactly, with nothing left hanging: the two
   power blocks take five each, and the five counters take two each. Dials
   therefore starts row two in line with Quotes, Follow Up, Closes and AP
   Written, rather than riding up beside the power blocks and leaving a hole at
   the end of row one. Below 1080px .dw-grid collapses to a single column and
   this card gets the full page width, so it has more room there, not less. */
.plan-metrics-row{grid-template-columns:repeat(10,1fr);}
.plan-metrics-row .metric{grid-column:span 2;}
.plan-metrics-row .metric.mc-wide{grid-column:span 5;}
@media(max-width:760px){.plan-metrics-row{grid-template-columns:repeat(2,1fr);}.plan-metrics-row .metric,.plan-metrics-row .metric.mc-wide{grid-column:span 1;}}
@media(max-width:430px){.plan-metrics-row{grid-template-columns:1fr;}.plan-metrics-row .metric,.plan-metrics-row .metric.mc-wide{grid-column:span 1;}}
.plan-metrics-row .metric{padding:13px;gap:11px;min-width:0;overflow:hidden;}
.plan-metrics-row .metric>div:last-child{min-width:0;flex:1;overflow:hidden;}
/* The five narrow counters stack instead of sitting icon-beside-text. Side by
   side, a 40px chip plus its 11px gap ate 51px of a card that is only about
   120px wide in the two-column layout, leaving ~43px for the text -- so "Dials"
   rendered as "D." and "goal: 250" as "g..". Stacked, the text gets the full
   width of the card and nothing truncates. The two power blocks keep the
   side-by-side arrangement; they are more than twice as wide. */
.plan-metrics-row .metric:not(.mc-wide){flex-direction:column;align-items:flex-start;gap:9px;}
.plan-metrics-row .metric:not(.mc-wide) .mc-ic{width:30px;height:30px;}
.plan-metrics-row .metric:not(.mc-wide) .mc-ic svg{width:15px;height:15px;}
.plan-metrics-row .metric:not(.mc-wide)>div:last-child{width:100%;flex:none;}
/* On a power block the text block refuses to shrink, so the button is the thing
   that gives. Both were shrinkable, and flexbox took it out of the text first --
   which is why "Power Block 1" was still being ellipsised while the button sat
   at its full 124px. */
.plan-metrics-row .metric.mc-wide>div:last-child{flex:1 0 auto;}
/* Title and goal stay on one line, always. Letting them wrap was the fix I tried
   first and it looked worse: at the tight widths the goal dropped in between the
   title and the clock. The button giving up width (above) is what actually makes
   the line fit -- measured 289px card / 115px button at the tightest point. */
.plan-metrics-row .metric .mc-headrow{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:nowrap;min-width:0;}
.plan-metrics-row .metric .mc-headrow .mc-goal{flex:0 0 auto;}
.plan-metrics-row .metric .mc-headrow .mc-lbl{flex:0 1 auto;min-width:0;overflow:visible;text-overflow:clip;}
.plan-metrics-row .metric .mc-ic{width:40px;height:40px;}
.plan-metrics-row .metric .mc-ic svg{width:19px;height:19px;}
.plan-metrics-row .metric .mc-lbl{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.plan-metrics-row .metric .mc-num{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.plan-metrics-row .metric .mc-num.mc-num-time,.metric .mc-num.mc-num-time{font-size:15.5px;letter-spacing:-.02em;overflow:visible;text-overflow:clip;}
.plan-metrics-row .metric .mc-goal{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* Step6 CHANGE B: Power Block 1 & 2 — the icon chip becomes a start/stop button
   wired to the existing toggleTimer handler. Stopped = solid purple (--navy) +
   "Click to Start"; running = light lavender (--lav, the old chip color) +
   "Click to Stop". Sized to fit inside the card (respects CHANGE A). */
/* 124px is the size asked for and what it takes whenever there is room, but it
   yields rather than forcing the title and goal beside it to wrap -- that wrap
   was putting "goal: 2h" between the title and the clock, which read as
   jumbled. It gives way to 92px before anything else has to move. */
.plan-metrics-row .pb-toggle{flex:0 1 124px;width:auto;min-width:92px;min-height:40px;border:none;border-radius:11px;
  background:var(--navy);color:#fff;font-size:10.5px;font-weight:800;line-height:1.15;
  padding:6px 4px;cursor:pointer;text-align:center;transition:background .15s ease,color .15s ease;}
.plan-metrics-row .pb-toggle:hover{background:var(--navy-dark);}
.plan-metrics-row .pb-toggle.running{background:var(--lav);color:var(--navy);}
.plan-metrics-row .pb-toggle.running:hover{background:var(--gold-soft);color:var(--navy-dark);}
@media (prefers-reduced-motion: reduce){ .plan-metrics-row .pb-toggle{transition:none;} }

.wk-goals{display:flex;flex-direction:column;gap:15px;}
.wk-goal-top{display:flex;align-items:center;gap:12px;}
.wk-ic{width:34px;height:34px;border-radius:9px;background:var(--lav);display:flex;align-items:center;justify-content:center;color:var(--navy);flex-shrink:0;}
.wk-ic svg{width:16px;height:16px;}
.wk-lbl{flex:1;font-size:13px;font-weight:700;color:var(--text);}
.wk-val{font-size:13px;font-weight:800;color:var(--navy);white-space:nowrap;}
.wk-val .goal{font-size:11px;color:var(--light);font-weight:600;}
.wk-bar{height:8px;background:var(--off);border-radius:5px;overflow:hidden;margin:9px 0 0 46px;}
.wk-bar i{display:block;height:100%;background:var(--navy);border-radius:5px;transition:width .45s ease;}
.wk-bar i.hit{background:var(--gold);}
.wk-tots{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.wk-tot{background:var(--lav);border:1px solid var(--lav2);border-radius:12px;padding:11px 12px;text-align:center;}
.wk-tot-lbl{font-size:10.5px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.03em;}
.wk-tot-val{font-size:20px;font-weight:800;color:var(--text);line-height:1.15;margin-top:3px;letter-spacing:-.01em;}
.wk-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:20px;}
.wk-day{border:1px solid var(--border);border-radius:11px;padding:11px 6px 9px;text-align:center;}
.wk-day.today{border-color:var(--gold);background:#FFFCF3;}
.wk-day .wd-d{font-size:10px;font-weight:800;letter-spacing:.5px;color:var(--muted);text-transform:uppercase;}
.wk-day .wd-n{font-size:15px;font-weight:800;color:var(--navy);margin:1px 0 7px;}
.wk-day .wd-stat{font-size:10.5px;color:var(--text);font-weight:600;line-height:1.55;}
.wk-day .wd-stat b{color:var(--navy);font-weight:800;}
.wk-day.empty .wd-stat,.wk-day.empty .wd-stat b{color:var(--light);}
@media(max-width:600px){.wk-grid{grid-template-columns:repeat(4,1fr);}.wk-tots{grid-template-columns:repeat(2,1fr);}.wk-tot-val{font-size:18px;}}

.sdp-overlay{position:fixed;inset:0;z-index:600;background:rgba(20,20,40,.55);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:18px;}
.sdp{background:var(--off);border-radius:18px;width:680px;max-width:100%;max-height:94vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.4);}
.sdp-top{background:var(--navy);padding:20px 24px;position:relative;flex-shrink:0;}
.sdp-top .sdp-close{position:absolute;top:16px;right:18px;color:rgba(255,255,255,.7);}
.sdp-top .sdp-close:hover{color:#fff;}
.sdp-top .sdp-close svg{width:20px;height:20px;}
.sdp-top .sdp-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px;color:var(--gold);text-transform:uppercase;}
.sdp-top h2{font-size:20px;font-weight:800;color:#fff;margin-top:3px;}
.sdp-top .sdp-date{font-size:12.5px;color:rgba(255,255,255,.65);margin-top:2px;}
.sdp-steps-nav{display:flex;gap:6px;margin-top:16px;}
.sdp-pip{flex:1;height:5px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden;}
.sdp-pip i{display:block;height:100%;width:0;background:var(--gold);transition:width .3s ease;}
.sdp-pip.active i{width:100%;}
.sdp-pip.done i{width:100%;background:var(--gold-soft);}
.sdp-body{padding:22px 24px;overflow-y:auto;flex:1;}
.sdp-step-tag{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--gold);text-transform:uppercase;}
.sdp-step-p{font-size:13px;color:var(--muted);margin-bottom:16px;line-height:1.5;}
.sdp-foot{padding:16px 24px;background:#fff;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;}
.sdp-foot .sdp-meta{font-size:12px;font-weight:700;color:var(--muted);}
.sdp-foot-btns{display:flex;gap:8px;}
.sdp-big-counter{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;text-align:center;margin-bottom:14px;}
.sdp-big-counter .bc-lbl{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1px;}
.sdp-big-counter .bc-num{font-size:46px;font-weight:800;color:var(--navy);line-height:1;margin:8px 0 2px;}
.sdp-big-counter .bc-goal{font-size:12.5px;color:var(--light);font-weight:600;}
.sdp-big-counter .bc-bar{height:8px;background:var(--off);border-radius:5px;overflow:hidden;margin:16px 0;}
.sdp-big-counter .bc-bar i{display:block;height:100%;background:var(--navy);border-radius:5px;transition:width .35s ease;}
.sdp-big-counter .bc-bar i.hit{background:var(--gold);}
.sdp-big-counter .bc-btns{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;}
.sdp-timer{background:var(--navy-dark);border-radius:14px;padding:20px;text-align:center;}
.sdp-timer .st-lbl{font-size:11px;font-weight:700;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:1px;}
.sdp-timer .st-time{font-family:'SF Mono',Menlo,Consolas,monospace;font-size:40px;font-weight:800;color:#fff;letter-spacing:2px;margin:8px 0;}
.sdp-timer .st-time.hit{color:var(--gold);}
.sdp-timer .st-bar{height:8px;background:rgba(255,255,255,.15);border-radius:5px;overflow:hidden;margin:14px 0;}
.sdp-timer .st-bar i{display:block;height:100%;background:var(--gold);border-radius:5px;transition:width .35s ease;}
.sdp-timer .st-btns{display:flex;gap:8px;justify-content:center;}
.sdp-checks .sdp-chk{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:11px;padding:13px 15px;margin-bottom:9px;cursor:pointer;}
.sdp-checks .sdp-chk .cb{width:20px;height:20px;border:1.8px solid var(--border);border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.sdp-checks .sdp-chk .cb svg{width:12px;height:12px;color:#fff;opacity:0;}
.sdp-checks .sdp-chk.done .cb{background:var(--navy);border-color:var(--navy);}
.sdp-checks .sdp-chk.done .cb svg{opacity:1;}
.sdp-checks .sdp-chk .ck-ic{width:30px;height:30px;border-radius:8px;background:var(--lav);display:flex;align-items:center;justify-content:center;color:var(--navy);flex-shrink:0;}
.sdp-checks .sdp-chk .ck-ic svg{width:15px;height:15px;}
.sdp-checks .sdp-chk .ck-t{flex:1;font-size:13px;font-weight:600;}
.sdp-checks .sdp-chk.done .ck-t{color:var(--light);text-decoration:line-through;}
.sdp-done{text-align:center;padding:14px 0;}
.sdp-done .dn-ic{width:64px;height:64px;border-radius:50%;background:var(--gold);color:var(--navy-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.sdp-done .dn-ic svg{width:30px;height:30px;}
.sdp-done h3{font-size:21px;font-weight:800;color:var(--navy);}
.sdp-done p{font-size:13px;color:var(--muted);margin-top:6px;line-height:1.5;}
.sdp-recap{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px;}
.sdp-recap .rc{background:#fff;border:1px solid var(--border);border-radius:11px;padding:14px;}
.sdp-recap .rc-num{font-size:22px;font-weight:800;color:var(--navy);font-family:'SF Mono',Menlo,Consolas,monospace;}
.sdp-recap .rc-lbl{font-size:11px;color:var(--muted);font-weight:600;margin-top:2px;}

/* ===== New Agent sub-page tabs + 90-day plan ===== */
.na-tabs{display:flex;gap:5px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:5px;margin-bottom:20px;}
.na-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:9px;font-size:13.5px;font-weight:700;color:var(--muted);background:none;cursor:pointer;text-align:center;line-height:1.2;}
.na-tab svg{width:16px;height:16px;flex-shrink:0;}
.na-tab:hover{background:var(--off);color:var(--navy);}
.na-tab.active{background:var(--navy);color:#fff;}
@media(max-width:560px){.na-tab{font-size:11.5px;padding:10px 8px;gap:6px;}}

/* First 90 Days — native plan */
.p90-hero{background:linear-gradient(120deg,var(--navy),var(--navy-dark));border-radius:16px;padding:26px 28px;color:#fff;position:relative;overflow:hidden;margin-bottom:16px;}
.p90-hero .p90-ic{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:14px;}
.p90-hero .p90-ic svg{width:26px;height:26px;}
.p90-hero h2{font-size:25px;font-weight:800;line-height:1.1;}
.p90-hero .p90-sub{font-size:13.5px;color:rgba(255,255,255,.75);margin-top:6px;max-width:560px;line-height:1.5;}
.p90-hero .p90-wm{position:absolute;right:-4px;bottom:-28px;width:150px;opacity:.05;pointer-events:none;}
.p90-grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.p90-belief{background:var(--navy-dark);border-radius:14px;padding:20px 22px;display:flex;gap:14px;align-items:flex-start;}
.p90-belief .b-ic{width:46px;height:46px;border-radius:50%;background:rgba(201,168,76,.18);color:var(--gold);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.p90-belief .b-ic svg{width:22px;height:22px;}
.p90-belief .b-eyebrow{font-size:11px;font-weight:700;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.5px;}
.p90-belief .b-title{font-size:17px;font-weight:800;color:var(--gold);margin:2px 0 7px;}
.p90-belief .b-text{font-size:13px;color:rgba(255,255,255,.82);line-height:1.55;}
.p90-info{background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px 22px;}
.p90-info h3{font-size:15px;font-weight:800;color:var(--navy);margin-bottom:12px;}
.p90-info p{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:9px;}
.p90-info p:last-child{margin-bottom:0;}
.p90-info p b{color:var(--navy);font-weight:700;}
.p90-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;}
.p90-check{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--text);line-height:1.45;}
.p90-check .ck{width:19px;height:19px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.p90-check .ck svg{width:11px;height:11px;}
.p90-tl-h{display:flex;align-items:center;gap:12px;margin:20px 0 12px;}
.p90-tl-h h3{font-size:17px;font-weight:800;color:var(--navy);white-space:nowrap;}
.p90-tl-h .gline{flex:1;height:1px;background:var(--border);}
.p90-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.p90-col{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;}
.p90-col-hd{padding:14px 18px;display:flex;align-items:center;gap:13px;color:#fff;}
.p90-col.d30 .p90-col-hd{background:var(--navy);}
.p90-col.d60 .p90-col-hd{background:var(--gold);color:var(--navy-dark);}
.p90-col.d90 .p90-col-hd{background:#2E8B57;}
.p90-col-hd .d-num{font-size:24px;font-weight:800;line-height:1;}
.p90-col-hd .d-lbl{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.92;}
.p90-col-hd .d-ic{margin-left:auto;opacity:.9;}
.p90-col-hd .d-ic svg{width:22px;height:22px;}
.p90-col-body{padding:14px 18px 18px;flex:1;}
.p90-col-cap{font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--navy);margin-bottom:8px;}
.p90-col-cap.sub{color:#7A5A00;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);}
.p90-li{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--text);line-height:1.4;padding:4px 0;}
.p90-li .li-ic{color:var(--gold);flex-shrink:0;margin-top:2px;display:flex;}
.p90-li .li-ic svg{width:13px;height:13px;stroke-width:3;}
.p90-fully{background:linear-gradient(120deg,var(--navy),var(--navy-dark));border-radius:14px;padding:24px 22px;margin-top:14px;text-align:center;color:#fff;}
.p90-fully .f-ic{width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--navy-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.p90-fully .f-ic svg{width:28px;height:28px;}
.p90-fully .f-eyebrow{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--gold);margin-bottom:5px;}
.p90-fully h3{font-size:19px;font-weight:800;color:#fff;}
.p90-fully p{font-size:12.5px;color:rgba(255,255,255,.8);margin:7px auto 0;max-width:460px;line-height:1.5;text-transform:uppercase;letter-spacing:.4px;}
.p90-foot{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;}
.p90-tag{background:var(--navy);border-radius:14px;padding:18px 22px;color:#fff;display:flex;gap:12px;align-items:flex-start;}
.p90-tag .q-ic{font-size:34px;line-height:.7;color:var(--gold);font-family:Georgia,serif;flex-shrink:0;}
.p90-tag .t-main{font-size:14px;font-weight:800;color:#fff;}
.p90-tag .t-sub{font-size:12.5px;color:rgba(255,255,255,.7);margin-top:3px;line-height:1.45;}
@media(max-width:860px){.p90-cols,.p90-grid2,.p90-foot{grid-template-columns:1fr;}}
@media(max-width:560px){.p90-checks{grid-template-columns:1fr;}}

.na-overview{margin-bottom:18px;}
.na-overview .ov-top{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.na-overview h2{font-size:21px;font-weight:800;color:var(--navy);margin-bottom:5px;}
.na-overview .ov-sub{font-size:13px;color:var(--muted);max-width:440px;line-height:1.55;}
.na-overview .gline{width:36px;height:3px;background:var(--gold);border-radius:2px;margin-top:12px;}
.na-support{display:flex;align-items:flex-start;gap:13px;background:var(--lav);border:1px solid var(--lav2);border-left:3px solid var(--gold);border-radius:12px;padding:14px 16px;margin-top:20px;cursor:pointer;transition:border-color .12s,box-shadow .12s;}
.na-support:hover{border-color:var(--navy-light);box-shadow:0 4px 14px rgba(45,52,97,.08);}
.na-support:focus-visible{outline:2px solid var(--navy);outline-offset:2px;}
.na-support .ns-ic{width:34px;height:34px;border-radius:10px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none;}
.na-support .ns-ic svg{width:17px;height:17px;}
.na-support .ns-txt{flex:1;min-width:0;}
.na-support h4{font-size:13.5px;font-weight:800;color:var(--navy);margin:1px 0 3px;}
.na-support p{font-size:12.5px;color:var(--muted);line-height:1.5;}
.na-support p b{color:var(--navy);font-weight:800;}
.na-support .ns-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;}
.na-support .ns-chips span{font-size:11px;font-weight:700;color:var(--navy);background:#fff;border:1px solid var(--lav2);border-radius:6px;padding:3px 8px;}
.na-support .ns-go{flex:none;color:var(--navy);display:flex;align-items:center;align-self:center;}
.na-support .ns-go svg{width:16px;height:16px;}
.ov-prog{min-width:230px;flex:1;max-width:330px;}
.ov-prog-top{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;}
.ov-prog-top .op-pct{font-size:30px;font-weight:800;color:var(--navy);line-height:1;}
.ov-prog-top .op-cnt{font-size:12.5px;font-weight:600;color:var(--muted);}
.ov-bar{height:10px;background:var(--off);border-radius:6px;overflow:hidden;}
.ov-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--navy),var(--navy-light));border-radius:6px;transition:width .5s ease;}

.na-banner{background:var(--navy-dark);border-radius:14px;padding:22px 26px;display:flex;align-items:center;gap:18px;margin-bottom:18px;position:relative;overflow:hidden;}
.na-banner .nb-ic{width:52px;height:52px;border-radius:50%;background:var(--gold);color:var(--navy-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.na-banner .nb-ic svg{width:26px;height:26px;}
.na-banner h3{font-size:17px;font-weight:800;color:#fff;}
.na-banner p{font-size:13px;color:rgba(255,255,255,.72);margin-top:2px;}
.na-banner .aw{position:absolute;right:-6px;bottom:-28px;width:150px;opacity:.05;}

.na-phase{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:14px;}
.na-phase.complete{border-color:var(--gold-soft);}
.na-phase-hdr{background:var(--navy);padding:15px 20px;display:flex;align-items:center;gap:14px;}
.na-phase.complete .na-phase-hdr{background:var(--navy-dark);}
.na-num{width:34px;height:34px;border-radius:50%;background:rgba(201,168,76,.22);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;flex-shrink:0;}
.na-phase.complete .na-num{background:var(--gold);color:var(--navy-dark);}
.na-hdr-txt{flex:1;min-width:0;}
.na-hdr-txt .ph-title{font-size:15px;font-weight:800;color:#fff;}
.na-hdr-txt .ph-sub{font-size:11.5px;color:rgba(255,255,255,.6);margin-top:2px;}
.na-hdr-right{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.na-mini-prog{display:flex;align-items:center;gap:9px;}
.na-mini-bar{width:66px;height:6px;background:rgba(255,255,255,.18);border-radius:4px;overflow:hidden;}
.na-mini-bar i{display:block;height:100%;background:var(--gold);border-radius:4px;transition:width .4s ease;}
.na-mini-cnt{font-size:11.5px;font-weight:700;color:rgba(255,255,255,.85);white-space:nowrap;}
.na-badge{display:none;align-items:center;gap:5px;background:var(--gold);color:var(--navy-dark);font-size:11px;font-weight:800;padding:5px 11px;border-radius:20px;white-space:nowrap;}
.na-badge svg{width:12px;height:12px;}
.na-phase.complete .na-badge{display:inline-flex;}
.na-phase.complete .na-mini-prog{display:none;}

.na-steps{padding:2px 20px;}
.na-step{display:flex;align-items:flex-start;gap:13px;padding:14px 0;border-bottom:1px solid var(--border);cursor:pointer;}
.na-step:last-child{border-bottom:none;}
.na-step .cb{width:21px;height:21px;border:1.8px solid var(--border);border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:.12s;}
.na-step .cb svg{width:13px;height:13px;color:#fff;opacity:0;}
.na-step:hover .cb{border-color:var(--navy-light);}
.na-step.done .cb{background:var(--navy);border-color:var(--navy);}
.na-step.done .cb svg{opacity:1;}
.na-step .st-txt{flex:1;font-size:13.5px;color:var(--text);line-height:1.6;}
.na-step.done .st-txt,.na-step.done .st-txt strong{color:var(--light);}
.na-step .st-txt strong{color:var(--navy);font-weight:700;}
.na-link{color:var(--navy);font-weight:700;border-bottom:1px solid var(--lav2);cursor:pointer;}
.na-link:hover{color:var(--gold);border-color:var(--gold);}
.state-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;}
.state-chip{font-size:10.5px;font-weight:700;color:var(--navy);background:var(--lav);border-radius:5px;padding:3px 7px;}
.cal-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px;}
.cal-btn{display:inline-flex;align-items:center;gap:7px;background:var(--lav);color:var(--navy);font-size:12px;font-weight:700;padding:8px 14px;border-radius:8px;cursor:pointer;}
.cal-btn:hover{background:var(--navy);color:#fff;}
.cal-btn svg{width:15px;height:15px;}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px;}
.path-card{border:1px solid var(--border);border-radius:12px;padding:16px;background:var(--off);}
.path-card.a{border-top:3px solid var(--navy);}
.path-card.b{border-top:3px solid var(--gold);}
.path-card.c{border-top:3px solid var(--navy-light);}
.path-card .p-tag{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold-text);}
.path-card .p-name{font-size:15px;font-weight:800;color:var(--navy);margin:3px 0 1px;}
.path-card .p-price{font-size:13px;font-weight:800;color:var(--text);margin-bottom:7px;}
.path-card .p-for{display:inline-block;font-size:10px;font-weight:700;color:var(--muted);background:#fff;border:1px solid var(--border);border-radius:20px;padding:2px 9px;margin-bottom:9px;}
.path-card .p-desc{font-size:11.5px;color:var(--muted);line-height:1.55;}
.path-card .p-desc a{color:var(--navy);font-weight:700;border-bottom:1px solid var(--lav2);}
.path-card .p-desc a:hover{color:#92660A;border-color:var(--gold);}
.p-list{margin-top:11px;border-top:1px solid var(--border);padding-top:8px;}
.p-li{display:flex;justify-content:space-between;gap:10px;font-size:11px;padding:3px 0;}
.p-li .pl-k{color:var(--muted);}
.p-li .pl-v{color:var(--text);font-weight:700;white-space:nowrap;}
@media(max-width:760px){.path-grid{grid-template-columns:1fr;}}

.at2-hero{position:relative;margin-bottom:22px;overflow:hidden;}
.at2-hero h1{font-family:Georgia,'Times New Roman',serif;font-size:40px;font-weight:700;color:var(--navy);line-height:1;}
.at2-hero .at2-rule{width:90px;height:3px;background:var(--gold);border-radius:2px;margin:14px 0 18px;}
.at2-hero .at2-lead{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:700;color:var(--navy);}
.at2-hero .at2-sub{font-size:14px;color:var(--muted);margin-top:6px;}
.at2-hero .at2-mark{position:absolute;top:-12px;right:24px;color:var(--border);opacity:.7;pointer-events:none;}
.at2-hero .at2-mark svg{width:150px;height:150px;stroke-width:1.1;}

.at2-layout{display:grid;grid-template-columns:1fr;gap:18px;align-items:start;}
.at2-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:14px;}
.at2-card{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px 16px;cursor:pointer;transition:.15s;}
.at2-card:hover{box-shadow:0 8px 22px rgba(45,52,97,.1);transform:translateY(-2px);border-color:var(--lav2);}
.at2-card .c-ic{color:var(--navy);flex-shrink:0;margin-top:2px;}
.at2-card .c-ic svg{width:34px;height:34px;stroke-width:1.7;}
.at2-card .c-ttl{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:4px;}
.at2-card .c-desc{font-size:12px;color:var(--muted);line-height:1.5;}
.at2-card .c-chev{color:var(--light);flex-shrink:0;align-self:center;display:flex;}
.at2-card .c-chev svg{width:16px;height:16px;}
.at2-card:hover .c-chev{color:var(--navy);}

.at2-rail{background:#fff;border:1px solid var(--border);border-radius:16px;padding:22px 20px;}
.at2-rail h3{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:700;color:var(--navy);}
.at2-rail .rail-rule{width:54px;height:3px;background:var(--gold);border-radius:2px;margin:12px 0 4px;}
.rail-auth{display:flex;gap:8px;margin:14px 0 16px;}
.rail-auth .btn-primary,.rail-auth .btn-gold{flex:1;justify-content:center;padding:11px 10px;font-size:12.5px;}
.rail-item{display:flex;align-items:flex-start;gap:13px;padding:16px 0;border-bottom:1px solid var(--border);cursor:pointer;}
.rail-item .r-ic{width:40px;height:40px;border-radius:50%;background:var(--off);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.rail-item .r-ic svg{width:19px;height:19px;}
.rail-item .r-ic.gold svg{color:var(--gold);}
.rail-item .r-ic.navy{background:var(--navy);}
.rail-item .r-ic.navy svg{color:#fff;fill:#fff;}
.rail-item .r-txt{flex:1;min-width:0;}
.rail-item .r-ttl{font-size:13.5px;font-weight:800;color:var(--navy);margin-bottom:2px;}
.rail-item .r-desc{font-size:11.5px;color:var(--muted);line-height:1.45;}
.rail-item .r-chev{color:var(--light);flex-shrink:0;align-self:center;display:flex;}
.rail-item .r-chev svg{width:15px;height:15px;}
.rail-item:hover .r-chev{color:var(--navy);}
.rail-item:hover .r-ttl{color:var(--gold);}
.rail-help{background:var(--off);border-radius:12px;padding:16px;margin-top:16px;display:flex;flex-direction:column;align-items:flex-start;}
.rail-help .h-ic{width:42px;height:42px;border-radius:50%;border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:10px;}
.rail-help .h-ic svg{width:18px;height:18px;}
.rail-help h4{font-size:13.5px;font-weight:800;color:var(--navy);margin-bottom:4px;}
.rail-help p{font-size:11.5px;color:var(--muted);line-height:1.5;margin-bottom:12px;}
.rail-help a{font-size:12px;font-weight:800;color:var(--navy);display:inline-flex;align-items:center;gap:5px;cursor:pointer;}
.rail-help a:hover{color:var(--gold);}
.rail-help a svg{width:13px;height:13px;}

.at2-extra{margin-top:20px;}
.extra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.extra-card{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:12px;padding:15px;background:#fff;}
.extra-card .e-action{flex-shrink:0;display:flex;align-items:center;}
.extra-card .e-open{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;color:#fff;background:var(--navy);border:none;border-radius:9px;padding:7px 12px;cursor:pointer;transition:background .15s,transform .1s;}
.extra-card .e-open svg{stroke:#fff;}
.extra-card .e-open:hover{background:var(--gold);transform:translateY(-1px);}
.extra-card .e-ic{width:38px;height:38px;border-radius:10px;background:var(--lav);display:flex;align-items:center;justify-content:center;color:var(--navy);flex-shrink:0;}
.extra-card .e-ic svg{width:18px;height:18px;}
.extra-card .e-ttl{font-size:13px;font-weight:800;color:var(--navy);}
.extra-card .e-pill{display:inline-block;font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:10px;margin-left:6px;vertical-align:middle;}
.pill-req{background:#E8EAFF;color:#3C3489;}
.pill-paid{background:#FAEEDA;color:#633806;}
.pill-free{background:#EAF3DE;color:#27500A;}
.pill-ext{background:#E1F5EE;color:#085041;}
.extra-card .e-desc{font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:3px;}
.extra-card a.e-link{font-size:11.5px;font-weight:700;color:var(--navy);border-bottom:1px solid var(--lav2);}
.extra-card a.e-link:hover{color:var(--gold);border-color:var(--gold);}
.extra-card .e-todo{font-size:10.5px;font-weight:700;color:#92660A;background:#FFF8E7;border-radius:10px;padding:2px 8px;display:inline-block;}

.linkplus{border:1px solid var(--border);border-radius:16px;overflow:hidden;margin-top:20px;background:#fff;}
.linkplus-hdr{background:var(--navy);padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.linkplus-hdr .lp-badge{font-size:11px;font-weight:800;color:var(--gold);letter-spacing:1.2px;}
.linkplus-hdr .lp-price{font-size:28px;font-weight:800;color:#fff;line-height:1.1;margin-top:3px;}
.linkplus-hdr .lp-price span{font-size:13px;font-weight:600;color:rgba(255,255,255,.6);}
.linkplus-hdr .lp-note{font-size:11px;color:rgba(255,255,255,.5);margin-top:2px;}
.linkplus-hdr .lp-btn{display:inline-flex;align-items:center;gap:7px;background:var(--gold);color:var(--navy-dark);font-size:13px;font-weight:800;padding:11px 18px;border-radius:9px;}
.linkplus-hdr .lp-btn:hover{background:var(--gold-soft);}
.linkplus-hdr .lp-btn svg{width:14px;height:14px;}
.linkplus-body{padding:20px 24px;}
.lp-intro{font-size:13px;color:var(--muted);margin-bottom:16px;line-height:1.55;}
.lp-intro strong{color:var(--navy);}
.lp-feats{display:grid;grid-template-columns:1fr 1fr;gap:9px 28px;}
.lp-feat{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--text);line-height:1.45;}
.lp-feat .lp-ck{color:var(--gold);flex-shrink:0;margin-top:1px;display:flex;}
.lp-feat .lp-ck svg{width:14px;height:14px;stroke-width:3;}
.lp-fees{margin-top:18px;background:var(--off);border-radius:10px;padding:12px 16px;font-size:12px;color:var(--muted);line-height:1.6;}
.lp-fees strong{color:var(--navy);}
@media(max-width:700px){.lp-feats{grid-template-columns:1fr;}}

.na-note{display:flex;align-items:flex-start;gap:9px;background:#FFF8E7;border:1px solid var(--gold-soft);border-radius:10px;padding:11px 14px;font-size:12.5px;color:#7A5A00;line-height:1.5;margin-top:9px;margin-bottom:13px;}
.na-note svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:#92660A;}
.na-note strong{color:#7A5A00;}
/* Copyable Slack message callout (New Agents) */
.na-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;background:var(--off);border:1px solid var(--border);border-radius:10px;padding:9px 12px;cursor:pointer;transition:border-color .15s,background .15s;}
.na-copy:hover{border-color:var(--navy-light);background:var(--lav);}
.na-copy:focus-visible{outline:2px solid var(--navy);outline-offset:2px;}
.na-copy-text{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;color:var(--text);line-height:1.45;}
.na-copy-btn{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:var(--navy);}
.na-copy-btn svg{width:14px;height:14px;}
.na-copy.copied{border-color:var(--green);background:var(--green-bg);}
.na-copy.copied .na-copy-btn{color:var(--green);}
/* Phase 6 "Open Leads" CTA */
.na-leadcta{margin-top:12px;}
.na-leadbtn{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;border:none;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s;}
.na-leadbtn:hover{background:var(--navy-dark);}
.na-leadbtn:active{transform:translateY(1px);}
.na-leadbtn svg{width:16px;height:16px;}
.na-leadbtn svg:last-child{width:15px;height:15px;}
@media(prefers-reduced-motion:reduce){.na-copy,.na-leadbtn{transition:none;}.na-leadbtn:active{transform:none;}}

.cr-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px;}
.cr-title{display:flex;align-items:center;gap:18px;}
.cr-title .cr-ic{width:64px;height:64px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cr-title .cr-ic svg{width:30px;height:30px;}
.cr-title h1{font-size:30px;font-weight:800;color:var(--navy);line-height:1.1;}
.cr-title p{font-size:13.5px;color:var(--muted);margin-top:4px;max-width:460px;line-height:1.5;}
.cr-bookmark{position:relative;display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 20px;cursor:pointer;max-width:310px;}
.cr-bookmark:hover{border-color:var(--lav2);box-shadow:0 6px 18px rgba(45,52,97,.08);}
.cr-bookmark .bk-star{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;}
.cr-bookmark .bk-star svg{width:20px;height:20px;}
.cr-bookmark h4{font-size:13.5px;font-weight:800;color:var(--navy);}
.cr-bookmark p{font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.4;}
.cr-bookmark .bk-ribbon{position:absolute;top:-2px;right:18px;color:var(--gold);}
.cr-bookmark .bk-ribbon svg{width:17px;height:21px;}

/* ===== Insurance Toolkits bar ===== */
.cr-toolkits{display:flex;align-items:center;gap:16px;background:linear-gradient(100deg,var(--navy),var(--navy-light));border-radius:14px;padding:14px 20px;margin-bottom:20px;flex-wrap:wrap;position:relative;overflow:hidden;}
.cr-toolkits .tk-ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;}
.cr-toolkits .tk-ic svg{width:22px;height:22px;}
.cr-toolkits .tk-txt{flex:1;min-width:220px;}
.cr-toolkits .tk-txt h4{font-size:13.5px;font-weight:800;color:#fff;}
.cr-toolkits .tk-txt p{font-size:12px;color:rgba(255,255,255,.74);margin-top:2px;line-height:1.5;}
.cr-toolkits .tk-code{font-weight:800;color:var(--gold-soft);font-family:monospace;letter-spacing:.5px;}
.cr-toolkits .tk-btn{display:inline-flex;align-items:center;gap:7px;background:var(--gold);color:var(--navy-dark);font-size:12.5px;font-weight:800;padding:11px 17px;border-radius:9px;white-space:nowrap;}
.cr-toolkits .tk-btn:hover{background:var(--gold-soft);}
.cr-toolkits .tk-btn svg{width:14px;height:14px;}

.cr-tier{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px 22px;margin-bottom:16px;}
.cr-tier-hd{display:flex;align-items:center;gap:9px;margin-bottom:16px;}
.cr-tier-hd .th-ic{display:flex;color:var(--gold);}
.cr-tier-hd .th-ic svg{width:18px;height:18px;}
.cr-tier-hd .th-dot{width:11px;height:11px;border-radius:50%;}
.cr-tier-hd h3{font-size:15px;font-weight:800;color:var(--navy);}
.cr-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;}
.cr-grid.t4 .cr-card,.cr-grid.t5 .cr-card{flex:0 1 248px;}
.cr-grid.pref-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;}
.cr-grid.pref-grid .cr-card{flex:0 1 312px;padding:22px 20px;}
.cr-card{border:1px solid var(--border);border-radius:13px;padding:18px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:.15s;}
.cr-card:hover{box-shadow:0 6px 18px rgba(45,52,97,.08);border-color:var(--lav2);}
.cr-card.pref{background:linear-gradient(180deg,#FFFCF4,#fff);border-color:var(--gold-soft);}
.cr-brand{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:9px;margin-bottom:12px;}
/* A carrier with no logo file gets a wordmark tile, not a solid colour block.
   The old badge was 158px of flat brand colour with two initials on it, sitting
   in a row beside delicate logo lockups, and read as a rendering fault rather
   than a carrier. This is the same tile as .cr-badge-img -- white, same size,
   same corner radius -- carrying the carrier's name set in its brand colour, so
   a card without a logo still lines up with the ones that have one. To replace
   it, drop an SVG in Logos/carriers/ and add the short code to LOGOS. */
.cr-mono{width:158px;height:158px;border-radius:16px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;text-align:center;padding:14px;font-weight:800;font-size:19px;line-height:1.25;flex-shrink:0;overflow:hidden;overflow-wrap:anywhere;}
.cr-badge-img{width:158px;height:158px;border-radius:16px;object-fit:contain;background:#fff;flex-shrink:0;padding:4px;}
.cr-cname{font-size:14px;font-weight:800;color:var(--navy);line-height:1.2;text-align:center;}
.cr-support{width:100%;display:flex;gap:8px;align-items:flex-start;text-align:left;font-size:11px;color:var(--navy);background:var(--off);border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:12px;line-height:1.5;}
.cr-support svg{width:14px;height:14px;flex-shrink:0;margin-top:1px;color:#9C7C33;}
.cr-support>div{min-width:0;flex:1;}
.cr-support .cs-hd{font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--light);margin-bottom:2px;}
.cr-support a{display:block;font-weight:700;color:var(--navy);overflow-wrap:anywhere;word-break:break-word;}
.cr-support .cs-l{font-weight:600;color:var(--muted);}
.cr-support a:hover{color:#7A5A00;text-decoration:underline;}
/* Product chips and the carrier website line, folded up from the Carrier
   Directory so a card answers "what do they sell, and at what ages" without a
   second lookup further down the page. */
.cr-prods{width:100%;text-align:left;margin:0 0 12px;}
.cr-prods .cp-hd{display:block;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--light);margin-bottom:5px;}
.cr-prods ul{list-style:none;display:flex;flex-wrap:wrap;gap:5px;}
.cr-prods li{font-size:10.5px;font-weight:600;color:var(--navy);background:var(--lav);border:1px solid var(--lav2);border-radius:6px;padding:3px 7px;line-height:1.35;}
.cr-web{width:100%;text-align:left;font-size:11px;margin:0 0 12px;display:flex;align-items:center;gap:6px;}
.cr-web svg{width:12px;height:12px;flex-shrink:0;color:var(--light);}
.cr-web a{color:var(--muted);font-weight:600;text-decoration:none;overflow-wrap:anywhere;}
.cr-web a:hover{color:var(--navy);text-decoration:underline;}
.cr-facts{list-style:none;width:100%;margin:0 0 14px;text-align:left;display:flex;flex-direction:column;gap:5px;}
.cr-facts li{font-size:11px;color:var(--muted);line-height:1.45;padding-left:15px;position:relative;}
.cr-facts li::before{content:"";position:absolute;left:2px;top:6px;width:5px;height:5px;border-radius:50%;background:var(--gold);}
.cr-facts li b{color:var(--text);font-weight:700;}
.cr-meta{width:100%;text-align:left;font-size:11px;color:var(--light);margin-bottom:14px;font-style:italic;}
.cr-note{width:100%;display:flex;gap:7px;align-items:flex-start;text-align:left;font-size:10.5px;color:var(--navy);background:var(--lav);border:1px solid var(--lav2);border-radius:8px;padding:7px 10px;margin-bottom:12px;line-height:1.45;}
.cr-note svg{width:13px;height:13px;flex-shrink:0;margin-top:1px;color:var(--navy);}
.cr-btns{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;width:100%;margin-top:auto;}
.cr-btn{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:7px 9px;border-radius:7px;background:var(--off);color:var(--navy);border:1px solid var(--border);}
.cr-btn:hover{background:var(--lav);border-color:var(--lav2);}
.cr-btn svg{width:13px;height:13px;flex-shrink:0;}
.cr-btn.gold{background:#FCEFD2;color:#7A5A00;border-color:var(--gold-soft);}
.cr-btn.gold:hover{background:var(--gold-soft);}
.cr-menu{position:relative;display:inline-flex;}
.cr-menu .cr-caret{display:inline-flex;margin-left:1px;}
.cr-menu .cr-caret svg{width:11px;height:11px;transform:rotate(90deg);}
.cr-menu-pop{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);min-width:180px;max-width:240px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(30,30,52,.20);padding:5px;max-height:320px;overflow-y:auto;display:none;z-index:30;}
.cr-menu:hover .cr-menu-pop,.cr-menu.open .cr-menu-pop{display:block;}
.cr-menu-ttl{font-size:9.5px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--light);padding:5px 9px 4px;}
.cr-menu-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;font-size:11.5px;font-weight:600;color:var(--text);padding:8px 9px;border-radius:7px;line-height:1.3;}
.cr-menu-item:hover{background:var(--off);color:var(--navy);}
.cr-menu-item svg{width:13px;height:13px;flex-shrink:0;color:var(--navy);}
.cr-menu-item.todo{color:var(--light);}
.cr-menu-item.todo svg{color:var(--lav2);}
.cr-menu-item.note{color:var(--muted);font-style:italic;font-weight:600;cursor:default;}
.cr-menu-item.note:hover{background:none;color:var(--muted);}
.cr-menu-item.note svg{color:var(--light);}
.cr-menu-sub{font-size:9px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--navy);padding:7px 9px 3px;}
.cr-menu-sub.div{border-top:1px solid var(--border);margin-top:4px;padding-top:8px;}

/* ===== Underwriting cheat sheet ===== */
.cm-page{max-width:1400px;margin:0 auto;}
.cm-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.cm-search{position:relative;flex:1 1 230px;min-width:0;max-width:340px;}
.cm-search input{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 12px 9px 33px;font-size:13px;font-family:inherit;color:var(--text);background:#fff;}
.cm-search input:focus{border-color:var(--navy);outline:none;}
.cm-search>svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--light);pointer-events:none;}
.cm-acts{display:flex;gap:8px;margin-left:auto;flex:0 0 auto;}
.cm-btn{display:inline-flex;align-items:center;gap:7px;background:var(--lav);color:var(--navy);border:none;cursor:pointer;font:inherit;font-size:12.5px;font-weight:800;padding:9px 14px;border-radius:9px;text-decoration:none;}
.cm-btn:hover{background:var(--lav2);}
.cm-btn.primary{background:var(--navy);color:#fff;}
.cm-btn.primary:hover{background:var(--navy-dark);}
.cm-btn svg{width:14px;height:14px;}
.cm-count{font-size:11.5px;color:var(--muted);font-weight:600;margin-bottom:9px;}
.cm-note{display:flex;gap:9px;align-items:flex-start;background:#FFF8E7;border:1px solid var(--gold-soft);border-radius:10px;padding:10px 13px;font-size:12px;color:#7A5A00;line-height:1.45;margin-bottom:12px;}
.cm-note svg{width:15px;height:15px;flex-shrink:0;margin-top:1px;color:#92660A;}
/* ---- the grid: frozen header row + frozen attribute column, scrolls both
   ways inside its own box, exactly like the source spreadsheet ---- */
.cmg-wrap{position:relative;overflow:auto;max-height:74vh;border:1px solid var(--border);border-radius:12px;background:#fff;-webkit-overflow-scrolling:touch;}
.cmg{border-collapse:separate;border-spacing:0;font-size:11.5px;table-layout:fixed;}
.cmg th,.cmg td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:7px 9px;vertical-align:top;line-height:1.45;text-align:left;}
.cmg thead th{position:sticky;top:0;z-index:3;background:#EDEBF4;color:#3C3960;font-weight:800;font-size:10.5px;letter-spacing:.02em;box-shadow:inset 0 -1px 0 var(--lav2);}
.cmg thead th.cmg-corner{left:0;z-index:5;background:#E4E1F0;}
.cmg tbody th{position:sticky;left:0;z-index:2;background:#fff;font-weight:800;color:var(--navy);box-shadow:inset -1px 0 0 var(--border);}
.cmg tbody tr:nth-child(even) th{background:#FAFAFD;}
.cmg tbody tr:nth-child(even) td{background:#FAFAFD;}
.cmg th.cmg-attr,.cmg thead th.cmg-corner{width:230px;min-width:230px;max-width:230px;}
.cmg td{width:215px;min-width:215px;max-width:215px;color:var(--text);cursor:pointer;}
.cmg td:hover{background:#F2F1FA !important;}
.cmg td .c{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;}
.cmg td.open .c{display:block;-webkit-line-clamp:unset;overflow:visible;}
.cmg td.blank{color:var(--light);}
.cmg tr.cmg-sec th,.cmg tr.cmg-sec td{background:#504C7E !important;color:#fff;font-weight:800;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:6px 9px;}
.cmg tr.cmg-sec th{position:sticky;left:0;z-index:2;box-shadow:none;}
.cm-hint{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.5;}
.cmt{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 14px;border-bottom:1px solid var(--border);}
.cmt-tab{display:inline-flex;align-items:center;gap:7px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font:inherit;font-size:13px;font-weight:800;color:var(--muted);padding:9px 14px;margin-bottom:-1px;border-radius:8px 8px 0 0;}
.cmt-tab:hover{color:var(--navy);background:var(--lav);}
.cmt-tab.on{color:var(--navy);border-bottom-color:var(--navy);background:var(--lav);}
.cmt-tab svg{width:14px;height:14px;}
.cmg td a{color:var(--navy);font-weight:700;}
.cmr-intro{background:#fff;border:1px solid var(--border);border-radius:12px;padding:11px 14px;margin-bottom:11px;}
.cmr-intro p{font-size:12px;color:var(--muted);line-height:1.55;margin:0 0 5px;}
.cmr-intro p:last-child{margin-bottom:0;}
.cmr-intro p:first-child{color:var(--text);font-weight:700;}
.cmr-wrap{position:relative;overflow:auto;max-height:72vh;border:1px solid var(--border);border-radius:12px;background:#fff;-webkit-overflow-scrolling:touch;}
.cmr{border-collapse:separate;border-spacing:0;font-size:12px;}
.cmr th,.cmr td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:7px 10px;text-align:left;vertical-align:top;line-height:1.45;}
.cmr thead th{position:sticky;top:0;z-index:3;background:#EDEBF4;color:#3C3960;font-weight:800;font-size:10.5px;letter-spacing:.03em;text-transform:uppercase;}
.cmr thead th:first-child{left:0;z-index:5;background:#E4E1F0;}
.cmr tbody th{position:sticky;left:0;z-index:2;background:#fff;font-weight:800;color:var(--navy);box-shadow:inset -1px 0 0 var(--border);}
.cmr th:first-child{width:170px;min-width:170px;max-width:170px;}
.cmr td{width:150px;min-width:150px;max-width:150px;color:var(--text);}
.cmr td.wide{width:250px;min-width:250px;max-width:250px;}
.cmr tbody tr:nth-child(even) th,.cmr tbody tr:nth-child(even) td{background:#FAFAFD;}
.cmr tbody tr.base th,.cmr tbody tr.base td{background:#FFF8E7;}
.cmr tbody tr:hover th,.cmr tbody tr:hover td{background:#F2F1FA;}
.cmr a{color:var(--navy);font-weight:700;word-break:break-all;}
.cd{margin-top:14px;}

.cd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px;}
.cd-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:13px 15px 12px;}
.cd-card h4{font-size:14.5px;font-weight:800;color:var(--navy);margin:0;}
.cd-card h4 .cd-short{font-size:10.5px;font-weight:800;color:var(--navy);background:var(--lav);border-radius:5px;padding:2px 6px;vertical-align:2px;margin-left:4px;}
.cd-prod{font-size:11.5px;color:var(--muted);line-height:1.5;margin:3px 0 9px;}
.cd-row{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:3px 0;min-width:0;}
.cd-row .k{flex:0 0 54px;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--light);}
.cd-row a,.cd-row span.v{color:var(--navy);font-weight:700;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cd-row a:hover{text-decoration:underline;}
.cd-copy{flex:none;margin-left:auto;background:var(--lav);color:var(--navy);border:none;cursor:pointer;font:inherit;font-size:10px;font-weight:800;padding:3px 8px;border-radius:6px;}
.cd-copy:hover{background:var(--lav2);}
.cd-guides{margin-top:8px;padding-top:8px;border-top:1px dashed var(--border);}
.cd-guides .k{display:block;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--light);margin-bottom:3px;}
.cd-guides a{display:block;font-size:12px;color:var(--navy);font-weight:600;padding:2px 0;text-decoration:none;}
.cd-guides a:hover{text-decoration:underline;}
@media(max-width:620px){
  .cmr th:first-child{width:130px;min-width:130px;max-width:130px;}
  .cmr td{width:135px;min-width:135px;max-width:135px;}
  .cmr td.wide{width:210px;min-width:210px;max-width:210px;}
  .cmt-tab{flex:1;justify-content:center;padding:9px 8px;}
}
.cm-empty{text-align:center;color:var(--muted);font-size:13px;padding:30px 16px;background:#fff;border:1px dashed var(--border);border-radius:12px;line-height:1.6;}
.cm-empty b{display:block;color:var(--navy);font-size:14.5px;margin-bottom:4px;}
@media(max-width:620px){
  .cm-acts{margin-left:0;width:100%;}
  .cm-btn{flex:1;justify-content:center;}
  .cm-search{max-width:none;}
  .cmg-wrap{max-height:66vh;}
  .cmg th.cmg-attr,.cmg thead th.cmg-corner{width:150px;min-width:150px;max-width:150px;}
  .cmg td{width:170px;min-width:170px;max-width:170px;}
}

.cr-cheat{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#FFFCF4;border:1px solid var(--gold-soft);border-radius:14px;padding:16px 22px;margin:4px 0 16px;flex-wrap:wrap;}
.cr-cheat-l{display:flex;align-items:center;gap:14px;}
.cr-cheat .cc-ic{width:44px;height:44px;border-radius:12px;background:var(--gold);color:var(--navy-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cr-cheat .cc-ic svg{width:21px;height:21px;}
.cr-cheat h4{font-size:14px;font-weight:800;color:var(--navy);}
.cr-cheat p{font-size:12.5px;color:var(--muted);margin-top:2px;line-height:1.45;}
.cr-cheat .cc-btn{display:inline-flex;align-items:center;gap:7px;background:var(--navy);color:#fff;font-size:12.5px;font-weight:700;padding:11px 17px;border-radius:9px;white-space:nowrap;cursor:pointer;}
.cr-cheat .cc-btn:hover{background:var(--navy-dark);}
.cr-cheat .cc-btn svg{width:14px;height:14px;}

.cr-help{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--lav);border:1px solid var(--lav2);border-radius:14px;padding:16px 22px;margin-top:6px;flex-wrap:wrap;}
.cr-help-l{display:flex;align-items:center;gap:14px;}
.cr-help .ch-ic{width:42px;height:42px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;color:var(--navy);flex-shrink:0;}
.cr-help .ch-ic svg{width:20px;height:20px;}
.cr-help h4{font-size:14px;font-weight:800;color:var(--navy);}
.cr-help p{font-size:12.5px;color:var(--muted);margin-top:2px;}
.cr-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:var(--navy-dark);color:#fff;font-size:12.5px;font-weight:600;padding:10px 18px;border-radius:10px;opacity:0;pointer-events:none;transition:.25s;z-index:700;}
.cr-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
@media(max-width:560px){.cr-grid.t3,.cr-grid.t4,.cr-grid.t5{grid-template-columns:1fr;}}

.cr-lib{margin-top:18px;}
.cr-lib-note{display:flex;gap:14px;align-items:flex-start;background:var(--navy-dark);border-radius:14px;padding:18px 22px;margin-bottom:14px;}
.cr-lib-note .ln-ic{width:46px;height:46px;border-radius:12px;background:var(--gold);color:var(--navy-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cr-lib-note .ln-ic svg{width:22px;height:22px;}
.cr-lib-note h3{font-size:15px;font-weight:800;color:#fff;margin-bottom:4px;}
.cr-lib-note p{font-size:12.5px;color:rgba(255,255,255,.78);line-height:1.55;}
.cr-acc{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:9px;}
.cr-acc-hd{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:13px 18px;}
.cr-acc-hd:hover{background:var(--off);}
.cr-acc-hd .ah-mono{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:11px;flex-shrink:0;}
.cr-acc-hd .ah-name{flex:1;font-size:14px;font-weight:800;color:var(--navy);}
.cr-acc-hd .ah-cnt{font-size:11px;font-weight:700;color:var(--muted);background:var(--off);border-radius:20px;padding:3px 10px;white-space:nowrap;}
.cr-acc-hd .ah-chev{color:var(--muted);display:flex;transition:transform .2s;}
.cr-acc-hd .ah-chev svg{width:18px;height:18px;}
.cr-acc.open .ah-chev{transform:rotate(90deg);}
.cr-acc-body{display:none;padding:2px 18px 12px;}
.cr-acc.open .cr-acc-body{display:block;}
.cr-doc{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px solid var(--border);font-size:12.5px;line-height:1.4;}
.cr-doc .d-ic{color:var(--gold);flex-shrink:0;margin-top:1px;display:flex;}
.cr-doc .d-ic svg{width:15px;height:15px;}
.cr-doc a{color:var(--navy);font-weight:600;border-bottom:1px solid var(--lav2);}
.cr-doc a:hover{color:#7A5A00;border-color:var(--gold);}


.ph{background:#fff;border:2px dashed var(--border);border-radius:16px;padding:60px 30px;text-align:center;}
.ph .ph-ic{width:60px;height:60px;border-radius:50%;background:var(--lav);display:flex;align-items:center;justify-content:center;color:var(--navy);margin:0 auto 18px;}
.ph .ph-ic svg{width:28px;height:28px;}
.ph h2{font-size:20px;font-weight:800;color:var(--navy);margin-bottom:6px;}
.ph p{font-size:13.5px;color:var(--muted);max-width:420px;margin:0 auto;line-height:1.6;}
.ph .next{display:inline-block;margin-top:16px;background:#FFF8E7;color:#7A5A00;font-size:11.5px;font-weight:700;padding:6px 14px;border-radius:20px;}

.page-head{margin-bottom:22px;}
.page-head .crumb{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold-text);}
.page-head h1{font-size:26px;font-weight:800;color:var(--navy);margin-top:3px;}
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--navy);cursor:pointer;}
.back-link:hover{color:#7A5A00;}

/* Submit a Sale — additive feature; all rules scoped under .ssf so nothing
   existing is affected. Reuses brand tokens (--navy, --gold, --border, etc.). */
.ssf{max-width:680px;}
.ssf-page{max-width:680px;margin-left:auto;margin-right:auto;}
.ssf-page .ssf{max-width:none;}
.ssf .ssf-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px 24px 26px;box-shadow:0 6px 18px rgba(45,52,97,.06);}
.ssf .ssf-intro{font-size:13.5px;color:var(--muted);margin:4px 0 20px;line-height:1.5;}
.ssf .ssf-row{display:flex;gap:16px;flex-wrap:wrap;}
.ssf .ssf-field{margin-bottom:16px;flex:1 1 240px;min-width:0;}
.ssf label.ssf-lbl{display:block;font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:6px;}
.ssf label.ssf-lbl .req{color:var(--red);margin-left:2px;}
.ssf input,.ssf select{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;color:var(--text);background:#fff;outline:none;transition:border-color .15s;}
.ssf input:focus,.ssf select:focus{border-color:var(--navy);}
.ssf .ssf-hint{font-size:11.5px;color:var(--light);margin-top:5px;}
.ssf .ssf-channels{border:1px solid var(--border);border-radius:10px;padding:14px 14px 8px;background:var(--off);}
.ssf .ssf-channels-ttl{font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:10px;}
.ssf .ssf-chk{display:flex;align-items:center;gap:10px;margin-bottom:10px;cursor:pointer;font-size:13.5px;color:var(--text);}
.ssf .ssf-chk input{width:auto;margin:0;}
.ssf .ssf-chk .ssf-chan{font-weight:700;color:var(--navy);}
.ssf .btn-primary.ssf-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;background:var(--navy);color:#fff;border-radius:11px;font-size:14.5px;font-weight:700;margin-top:6px;transition:background .15s,filter .15s;}
.ssf .btn-primary.ssf-submit svg{width:18px;height:18px;flex:0 0 auto;}
.ssf .btn-primary.ssf-submit:hover{filter:brightness(1.08);}
.ssf .btn-primary.ssf-submit:disabled{opacity:.6;cursor:default;filter:none;}
.ssf .ssf-err{color:var(--red);font-size:13px;font-weight:600;margin-top:12px;min-height:1px;}
.ssf .ssf-steps{margin-top:18px;border-top:1px solid var(--border);padding-top:16px;}
.ssf .ssf-steps:empty{display:none;border:0;padding:0;margin:0;}
.ssf .ssf-step{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;margin-bottom:9px;line-height:1.45;}
.ssf .ssf-step .ssf-dot{width:18px;height:18px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.ssf .ssf-step.ok .ssf-dot{background:var(--green-bg);color:var(--green);}
.ssf .ssf-step.bad .ssf-dot{background:#FDEAD7;color:var(--red);}
.ssf .ssf-step.pending .ssf-dot{background:#FFF8E7;color:#7A5A00;}
.ssf .ssf-step .ssf-dot svg{width:12px;height:12px;}
/* LINK auto-submit — additive; reuses brand tokens, scoped under .ssf. */
.ssf .ssf-link{border:1px solid var(--border);border-radius:10px;padding:14px 14px 6px;background:var(--off);margin-bottom:16px;}
.ssf .ssf-link-ttl{font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:8px;}
.ssf .ssf-link-intro{font-size:12px;color:var(--muted);margin-bottom:10px;line-height:1.5;}
.ssf .ssf-link-status{font-size:12px;color:var(--muted);margin-bottom:10px;line-height:1.5;}
.ssf .ssf-link-note{font-size:11px;color:var(--light);margin-top:8px;line-height:1.45;}
.ssf .ssf-link-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;}
.ssf .ssf-link-row .ssf-field{margin-bottom:10px;}
.ssf .ssf-link-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.ssf .ssf-link-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:9px;font-size:12.5px;font-weight:700;cursor:pointer;border:1.5px solid var(--navy);background:var(--navy);color:#fff;transition:filter .15s;}
.ssf .ssf-link-btn:hover{filter:brightness(1.08);}
.ssf .ssf-link-btn:disabled{opacity:.6;cursor:default;}
.ssf .ssf-link-btn.ghost{background:#fff;color:var(--navy);}
.ssf .ssf-link-msg{font-size:12px;font-weight:600;margin-top:8px;min-height:1px;}
.ssf .ssf-link-msg.ok{color:var(--green);}
.ssf .ssf-link-msg.bad{color:var(--red);}
/* Submit Sales › Part 2 hand-off — additive, scoped under .ssf-part2. Reuses
   brand tokens and mirrors the .ssf-card look so it reads native. */
.ssf-part2{max-width:680px;margin:18px auto 0;background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px 24px 24px;box-shadow:0 6px 18px rgba(45,52,97,.06);}
.ssf-part2 .ssf-part2-h{font-size:17px;font-weight:800;color:var(--navy);margin:0 0 6px;}
.ssf-part2 .ssf-part2-sub{font-size:13.5px;color:var(--muted);line-height:1.5;margin:0 0 16px;}
.ssf-part2 .ssf-part2-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;padding:13px;background:var(--navy);color:#fff;border:0;border-radius:11px;font-size:14.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .15s,filter .15s;}
.ssf-part2 .ssf-part2-btn:hover{filter:brightness(1.08);}

/* ===== Settings page — additive, scoped under .bfg-settings so it cannot leak
   into other pages. Reuses brand tokens (--navy, --border, --off, etc.). ===== */
.bfg-settings{max-width:1040px;}
.bfg-settings .set-header{display:flex;align-items:center;gap:18px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.bfg-settings .set-avatar{width:72px;height:72px;border-radius:50%;background:var(--lav);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;background-size:cover;background-position:center;flex-shrink:0;}
.bfg-settings .set-avatar.has-photo{color:transparent;}
.bfg-settings .set-id{flex:1 1 auto;min-width:160px;}
.bfg-settings .set-id h2{font-size:22px;font-weight:800;color:var(--navy);line-height:1.15;}
.bfg-settings .set-rolebadge{display:inline-block;margin-top:6px;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--gold-text);}
.bfg-settings .set-photo-btns{display:flex;gap:8px;flex-wrap:wrap;}
.bfg-settings .set-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
.bfg-settings .set-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;margin-bottom:22px;}
.bfg-settings .set-card.flush{margin-bottom:0;}
.bfg-settings .set-sect-ttl{font-size:16px;font-weight:800;color:var(--navy);margin-bottom:4px;}
.bfg-settings .set-sect-sub{font-size:12.5px;color:var(--muted);line-height:1.5;margin-bottom:16px;}
.bfg-settings .set-field{margin-bottom:15px;}
.bfg-settings .set-lbl{display:block;font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:6px;}
.bfg-settings .set-input,.bfg-settings .set-select,.bfg-settings .set-textarea{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;color:var(--text);outline:none;background:#fff;font-family:inherit;}
.bfg-settings .set-input:focus,.bfg-settings .set-select:focus,.bfg-settings .set-textarea:focus{border-color:var(--navy);}
.bfg-settings .set-textarea{resize:vertical;min-height:84px;}
.bfg-settings .set-input:disabled,.bfg-settings .set-input[readonly]{background:var(--off);color:var(--muted);cursor:not-allowed;}
.bfg-settings .set-hint{font-size:11.5px;color:var(--light);margin-top:5px;line-height:1.45;}
.bfg-settings .set-states{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.bfg-settings .set-state{display:flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:9px;padding:8px 10px;font-size:12px;color:var(--text);cursor:pointer;background:#fff;transition:border-color .12s,background .12s;}
.bfg-settings .set-state:hover{border-color:var(--navy-light);}
.bfg-settings .set-state input{accent-color:var(--navy);width:15px;height:15px;flex-shrink:0;}
.bfg-settings .set-state .set-st-code{font-weight:800;color:var(--navy);}
.bfg-settings .set-state.on{border-color:var(--navy);background:var(--lav);}
.bfg-settings .set-states-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;}
.bfg-settings .set-states-count{font-size:12px;color:var(--muted);margin-left:auto;}
.bfg-settings .set-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);}
.bfg-settings .set-toggle-row:last-child{border-bottom:none;}
.bfg-settings .set-toggle-txt .tt{font-size:13px;font-weight:700;color:var(--text);}
.bfg-settings .set-toggle-txt .ts{font-size:11.5px;color:var(--light);margin-top:2px;}
.bfg-settings .set-switch{position:relative;width:42px;height:24px;flex-shrink:0;border:none;border-radius:999px;background:var(--lav2);cursor:pointer;transition:background .15s;padding:0;}
.bfg-settings .set-switch::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.2);}
.bfg-settings .set-switch.on{background:var(--navy);}
.bfg-settings .set-switch.on::after{transform:translateX(18px);}
.bfg-settings .set-btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px;}
.bfg-settings .set-divider{border:none;border-top:1px solid var(--border);margin:26px 0;}
.bfg-settings .set-msg{font-size:12.5px;font-weight:600;margin-top:10px;min-height:1px;}
.bfg-settings .set-msg.ok{color:var(--green);}
.bfg-settings .set-msg.bad{color:var(--red);}
.bfg-settings .set-signedin{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);}
.bfg-settings .set-btn-ghost{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--navy);border:1.5px solid var(--navy);font-size:12.5px;font-weight:700;padding:9px 16px;border-radius:9px;cursor:pointer;}
.bfg-settings .set-btn-ghost:hover{background:var(--lav);}
.bfg-settings .set-buddy-empty{font-size:12.5px;color:var(--muted);margin-bottom:12px;}
.bfg-settings .set-inner-divider{border:none;border-top:1px solid var(--border);margin:22px 0 18px;}
.bfg-settings .set-card-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--border);}
.bfg-settings .set-card-foot .set-msg{margin-top:0;}
.bfg-settings .set-signout{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 20px;margin-top:18px;font-size:12.5px;color:var(--muted);}
.bfg-settings .set-signout b{color:var(--navy);font-weight:700;}
/* Your data */
.dx-hero{display:flex;align-items:center;gap:14px;background:var(--lav);border:1px solid var(--lav2);border-radius:12px;padding:14px 16px;}
.dx-hero-ic{width:38px;height:38px;border-radius:10px;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none;}
.dx-hero-ic svg{width:18px;height:18px;}
.dx-hero-txt{flex:1;min-width:0;}
.dx-hero-txt b{display:block;font-size:13.5px;font-weight:800;color:var(--navy);}
.dx-hero-txt span{display:block;font-size:11.5px;color:var(--muted);margin-top:2px;line-height:1.45;}
.dx-hero-btn{flex:none;}
.dx-sub{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--light);margin:18px 0 9px;}
.dx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;}
.dx-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:#fff;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--navy);cursor:pointer;transition:border-color .12s,background .12s;}
.dx-item:hover{border-color:var(--navy-light);background:var(--off);}
.dx-item svg{width:14px;height:14px;flex:none;color:var(--light);}
@media(max-width:620px){.dx-hero{flex-wrap:wrap;}.dx-hero-btn{width:100%;}}
@media(max-width:860px){.bfg-settings .set-cols{grid-template-columns:1fr;}.bfg-settings .set-states{grid-template-columns:repeat(2,1fr);}}

/* Agent Tools: section titles, Report Business CTA, "The Necessities" animated cards */
.at2-sectitle{font-size:12.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--gold-text);margin:0 0 12px;}
/* Email & Text Templates placeholder (2d) */
.tpl-soon{text-align:center;max-width:560px;margin:32px auto;padding:42px 28px;border:1px solid var(--border);border-radius:18px;background:linear-gradient(135deg,#FFFCF4,var(--off));}
.tpl-soon-ic{width:64px;height:64px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;background:var(--gold);color:var(--navy-dark);}
.tpl-soon-ic svg{width:30px;height:30px;}
.tpl-soon h2{font-size:22px;font-weight:900;color:var(--navy);}
.tpl-soon p{font-size:14px;color:var(--muted);line-height:1.6;margin:10px auto 0;max-width:440px;}
.tpl-soon-pill{display:inline-flex;align-items:center;gap:7px;margin-top:18px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);background:var(--lav);padding:8px 14px;border-radius:20px;}
.tpl-soon-pill svg{width:14px;height:14px;}
.rb-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;text-align:left;cursor:pointer;border:none;border-radius:16px;padding:18px 22px;margin:0 0 24px;background:linear-gradient(135deg,var(--gold),var(--gold-soft));color:var(--navy-dark);box-shadow:0 6px 20px rgba(201,168,76,.32);transition:transform .15s,box-shadow .15s;}
.rb-cta:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(201,168,76,.42);}
.rb-cta .rb-l{display:flex;align-items:center;gap:15px;min-width:0;}
.rb-cta .rb-ic{width:46px;height:46px;border-radius:12px;background:rgba(30,30,52,.12);display:flex;align-items:center;justify-content:center;color:var(--navy-dark);flex-shrink:0;}
.rb-cta .rb-ic svg{width:24px;height:24px;}
.rb-cta .rb-k{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.7;}
.rb-cta h2{font-size:21px;font-weight:900;line-height:1.1;}
.rb-cta .rb-d{font-size:12.5px;font-weight:600;opacity:.82;margin-top:2px;}
.rb-cta .rb-go{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800;background:var(--navy-dark);color:#fff;padding:11px 16px;border-radius:10px;white-space:nowrap;flex-shrink:0;}
.rb-cta .rb-go svg{width:15px;height:15px;stroke:#fff;}
.nec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px;}
.nec-card{position:relative;border:none;border-radius:16px;overflow:hidden;cursor:pointer;text-align:left;min-height:172px;display:block;background:linear-gradient(135deg,var(--navy-light),var(--navy-dark));box-shadow:0 4px 14px rgba(45,52,97,.18);transition:transform .15s,box-shadow .15s;}
.nec-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(45,52,97,.3);}
.nec-card .nec-scene{position:absolute;inset:0;width:100%;height:100%;display:block;}
.nec-card .nec-body{position:absolute;left:0;right:0;bottom:0;padding:14px 18px 16px;background:linear-gradient(0deg,rgba(20,18,40,.92),rgba(20,18,40,.5) 62%,transparent);color:#fff;}
.nec-card .nec-body h3{font-size:18px;font-weight:800;}
.nec-card .nec-body p{font-size:12px;color:rgba(255,255,255,.82);margin-top:2px;}
.nec-card .nec-go{display:inline-flex;align-items:center;gap:6px;margin-top:9px;font-size:12.5px;font-weight:800;color:var(--gold-soft);}
.nec-card .nec-go svg{stroke:var(--gold-soft);}
.nec-scene .nd{transform-box:fill-box;transform-origin:center;animation:necDrop 2.6s ease-in infinite;}
.nec-scene .nt{transform-box:fill-box;transform-origin:center;animation:necTw 2.4s ease-in-out infinite;}
.nec-scene .npulse{transform-box:fill-box;transform-origin:center;animation:necPulse 2.8s ease-out infinite;}
.nec-scene .nsway{transform-box:fill-box;transform-origin:50% 0;animation:necSway 3s ease-in-out infinite;}
.nec-scene .nfloat{transform-box:fill-box;animation:necFloat 3.6s ease-in-out infinite;}
@keyframes necDrop{0%{transform:translateY(-22px);opacity:0}20%{opacity:1}75%{opacity:1}100%{transform:translateY(60px);opacity:0}}
@keyframes necTw{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes necPulse{0%{transform:scale(.5);opacity:.85}80%{opacity:0}100%{transform:scale(1.65);opacity:0}}
@keyframes necSway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes necFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media(prefers-reduced-motion:reduce){.nec-scene .nd,.nec-scene .nt,.nec-scene .npulse,.nec-scene .nsway,.nec-scene .nfloat{animation:none}}
@media(max-width:760px){.nec-grid{grid-template-columns:1fr;}}
@media(max-width:600px){.rb-cta{flex-direction:column;align-items:flex-start;}}
@media (max-width:1100px){.at2-layout{grid-template-columns:1fr;}.extra-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:1080px){
  .dash-hero-grid{grid-template-columns:1fr;}
  .dash-lower,.dw-grid{grid-template-columns:1fr;}
  .toolkit-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:900px){.at2-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:860px){
  /* translateX alone leaves the nav focusable while it is off-screen, so
     tabbing from the header walks the entire menu with no visible focus.
     visibility:hidden takes it out of the tab order; the 0s .25s delay lets the
     slide-out finish before it disappears. */
  /* height:100vh from the base rule outlives this one on iOS, where 100vh is
     taller than the visible viewport, so the "Need Help" card at the bottom sat
     below the fold with nothing to scroll. top/bottom already size it. */
  .sidebar{position:fixed;top:0;left:0;bottom:0;height:auto;z-index:200;transform:translateX(-100%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s;}
  .sidebar.open{transform:translateX(0);visibility:visible;transition:transform .25s ease;box-shadow:0 0 60px rgba(0,0,0,.45);}
  .menu-toggle{display:flex;}
  .nav-scrim.show{display:block;}
}
@media (max-width:600px){
  .sub-grid,.quick-links{grid-template-columns:1fr;}
  .toolkit-grid{grid-template-columns:repeat(2,1fr);}
  .at2-grid,.extra-grid{grid-template-columns:1fr;}
  .at2-hero h1{font-size:32px;}
}

/* ===== Training Library ===== */
.tlib-heroes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px;}
.tlib-hero{position:relative;overflow:hidden;border-radius:16px;padding:24px 26px;background:linear-gradient(120deg,var(--navy),var(--navy-dark));color:#fff;display:flex;flex-direction:column;}
/* The CTA rides in the top row beside the icon rather than under the copy. */
.tlib-hero .h-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;}
.tlib-hero .h-top .h-ic{margin-bottom:0;}
.tlib-hero .h-ic{width:50px;height:50px;border-radius:14px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:var(--gold);margin-bottom:14px;}
.tlib-hero .h-ic svg{width:26px;height:26px;}
.tlib-hero .h-eyebrow{font-size:11.5px;font-weight:800;letter-spacing:1px;color:var(--gold);text-transform:uppercase;}
.tlib-hero h3{font-size:21px;font-weight:800;color:#fff;line-height:1.12;margin:3px 0 8px;}
.tlib-hero p{font-size:13px;color:rgba(255,255,255,.75);line-height:1.5;margin-bottom:0;max-width:360px;flex:1;}
.tlib-hero .h-btn{flex:none;white-space:nowrap;display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy-dark);font-size:12.5px;font-weight:800;padding:11px 18px;border-radius:9px;}
.tlib-hero .h-btn:hover{background:var(--gold-soft);}
.tlib-hero .h-wm{position:absolute;right:-4px;bottom:-28px;width:140px;opacity:.05;pointer-events:none;}
.tlib-sec{font-size:18px;font-weight:800;color:var(--navy);margin:0 0 14px;}
.tlib-layout{display:grid;grid-template-columns:1fr 322px;gap:18px;align-items:start;}
.tlib-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.tlib-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;cursor:pointer;transition:.15s;text-align:left;width:100%;}
.tlib-card:hover{box-shadow:0 8px 24px rgba(45,52,97,.12);transform:translateY(-2px);border-color:var(--lav2);}
.tlib-card-top{height:92px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy-light),var(--navy));position:relative;}
.tlib-card-top .t-ic{width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:#fff;}
.tlib-card-top .t-ic svg{width:25px;height:25px;}
.tlib-card-top img{width:100%;height:100%;object-fit:cover;}
.tlib-live{position:absolute;top:10px;left:10px;background:var(--gold);color:var(--navy-dark);font-size:9.5px;font-weight:800;letter-spacing:.5px;padding:3px 9px;border-radius:20px;text-transform:uppercase;}
/* Animated themed scenes for Training Library cards (Full Sales Calls, Empower Archive, Tracker) */
.tlib-card-top.tscene{overflow:hidden;background:linear-gradient(135deg,var(--navy-light),var(--navy-dark));}
.tscene .tsvg{position:absolute;inset:0;width:100%;height:100%;display:block;}
.tscene .ts-ring{transform-box:fill-box;transform-origin:center;animation:tsRipple 2.8s ease-out infinite;}
.tscene .ts-tw{transform-box:fill-box;transform-origin:center;animation:tsTwinkle 2.4s ease-in-out infinite;}
.tscene .ts-bar{transform-box:fill-box;transform-origin:bottom center;animation:tsGrow 2.6s ease-in-out infinite;}
.tscene .ts-float{transform-box:fill-box;animation:tsFloat 3.6s ease-in-out infinite;}
.tscene .ts-float2{transform-box:fill-box;animation:tsFloat 4.4s ease-in-out infinite;}
.tscene .ts-dot{transform-box:fill-box;transform-origin:center;animation:tsPulse 1.9s ease-in-out infinite;}
@keyframes tsRipple{0%{transform:scale(.3);opacity:.85}80%{opacity:0}100%{transform:scale(1.65);opacity:0}}
@keyframes tsTwinkle{0%,100%{opacity:.2}50%{opacity:1}}
@keyframes tsGrow{0%,100%{transform:scaleY(.42)}50%{transform:scaleY(1)}}
@keyframes tsFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes tsPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.7}}
@media(prefers-reduced-motion:reduce){.tscene .ts-ring,.tscene .ts-tw,.tscene .ts-bar,.tscene .ts-float,.tscene .ts-float2,.tscene .ts-dot{animation:none!important;}}
.tlib-card-body{padding:15px 16px 14px;display:flex;flex-direction:column;flex:1;}
.tlib-card-body h4{font-size:14px;font-weight:800;color:var(--navy);}
.tlib-card-body p{font-size:12px;color:var(--muted);line-height:1.5;margin:5px 0 13px;flex:1;}
.tlib-card-body .t-login{display:inline-block;margin-top:7px;font-size:10.5px;font-weight:700;color:var(--navy);background:var(--lav);border-radius:8px;padding:6px 9px;line-height:1.5;word-break:break-word;}
.tlib-card .t-cta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11.5px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.3px;}
.tlib-card .t-cta svg{width:15px;height:15px;}
.tlib-card:hover .t-cta{color:#7A5A00;}
.tlib-rail{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px;}
.tlib-rail h3{font-size:13px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--navy);}
.tlib-rail .rail-rule{width:46px;height:3px;background:var(--gold);border-radius:2px;margin:9px 0 6px;}
.tlib-sched{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--border);}
.tlib-sched:last-of-type{border-bottom:none;}
.tlib-date{width:46px;flex-shrink:0;text-align:center;border:1px solid var(--border);border-radius:9px;padding:5px 0;}
.tlib-date .m{font-size:9px;font-weight:800;text-transform:uppercase;color:var(--gold-text);letter-spacing:.5px;}
.tlib-date .d{font-size:17px;font-weight:800;color:var(--navy);line-height:1.1;}
.tlib-sched .s-main{flex:1;min-width:0;}
.tlib-sched .s-ttl{font-size:13px;font-weight:700;color:var(--text);line-height:1.3;}
.tlib-sched .s-time{font-size:11.5px;color:var(--light);margin-top:2px;}
.tlib-sched .s-join{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:11px;font-weight:800;color:var(--navy);}
.tlib-sched .s-join:hover{color:#7A5A00;}
.tlib-sched .s-join svg{width:12px;height:12px;}
.tlib-rail .rail-all{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:12px;font-weight:800;color:var(--navy);cursor:pointer;}
.tlib-rail .rail-all:hover{color:#7A5A00;}
.tlib-rail .rail-all svg{width:14px;height:14px;}
.tlib-sched-empty{font-size:12.5px;color:var(--light);padding:10px 0;line-height:1.5;}
/* Team Archive modal rows + add form */
/* ---- Team Archive ---------------------------------------------------- */
.arc-page{max-width:900px;margin:0 auto;}
.arc-page .page-head{margin-bottom:14px;}
.arc-note{display:flex;gap:9px;align-items:flex-start;background:#FFF8E7;border:1px solid var(--gold-soft);border-radius:10px;padding:11px 13px;font-size:12px;color:#7A5A00;line-height:1.45;margin-bottom:14px;}
.arc-note svg{width:15px;height:15px;flex-shrink:0;margin-top:1px;color:#92660A;}
.arc-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:11px;}
.arc-search{position:relative;flex:1 1 240px;min-width:0;max-width:430px;}
.arc-btns{display:flex;gap:10px;margin-left:auto;flex:0 0 auto;}
.arc-search input{width:100%;padding:10px 12px 10px 34px;border:1px solid var(--border);border-radius:9px;font-size:13px;font-family:inherit;color:var(--text);background:#fff;outline:none;}
.arc-search input:focus{border-color:var(--navy);}
.arc-search>svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--light);pointer-events:none;}
.arc-add{display:inline-flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-size:12.5px;font-weight:700;padding:10px 16px;border-radius:9px;flex:0 0 auto;cursor:pointer;border:none;}
.arc-add:hover{background:var(--navy-dark);}
.arc-add svg{width:15px;height:15px;}
.arc-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;}
.arc-fchip{font-size:11.5px;font-weight:700;color:var(--navy);background:#fff;border:1px solid var(--border);border-radius:999px;padding:6px 13px;cursor:pointer;font-family:inherit;}
.arc-fchip:hover{border-color:var(--navy-light);}
.arc-fchip.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.arc-fchip .n{opacity:.6;font-weight:800;margin-left:4px;}
.arc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:12px;}
.arc-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:13px;overflow:hidden;box-shadow:0 1px 2px rgba(35,34,60,.04);transition:box-shadow .15s,border-color .15s;}
.arc-card:hover{box-shadow:0 8px 22px rgba(35,34,60,.10);border-color:var(--lav2);}
.arc-thumb{position:relative;height:100px;background:linear-gradient(130deg,#504C7E,#3C3960);display:flex;align-items:center;justify-content:center;}
.arc-card.nolink .arc-thumb{background:linear-gradient(130deg,#A9A6C0,#807CA0);}
.arc-play{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.17);display:flex;align-items:center;justify-content:center;color:#fff;}
.arc-play svg{width:16px;height:16px;margin-left:2px;}
.arc-cat{position:absolute;left:10px;top:10px;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#3C3960;background:var(--gold-soft);border-radius:6px;padding:3px 8px;}
.arc-body{padding:12px 14px 13px;display:flex;flex-direction:column;gap:5px;flex:1;}
.arc-ttl{font-size:13.5px;font-weight:800;color:var(--navy);line-height:1.35;}
.arc-date{font-size:11.5px;color:var(--light);font-weight:600;}
.arc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px;}
.arc-watch{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;color:var(--navy);}
.arc-watch:hover{color:#7A5A00;}
.arc-watch svg{width:13px;height:13px;}
.arc-nolink{font-size:11.5px;font-weight:700;color:var(--light);}
.arc-tools{display:flex;gap:2px;flex:0 0 auto;}
.arc-tool{background:none;border:none;cursor:pointer;color:var(--light);width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;}
.arc-tool:hover{background:var(--off);color:var(--navy);}
.arc-tool.del:hover{background:#FBEAE2;color:#C2410C;}
.arc-tool svg{width:14px;height:14px;}
.arc-empty{grid-column:1/-1;text-align:center;color:var(--muted);font-size:13px;padding:34px 16px;line-height:1.6;background:#fff;border:1px dashed var(--border);border-radius:13px;}
.arc-empty b{display:block;font-size:14.5px;color:var(--navy);margin-bottom:5px;}
.arc-form{background:#fff;border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px;}
.arc-form .af-hd{font-size:13.5px;font-weight:800;color:var(--navy);margin-bottom:11px;}
.arc-form .af-row{margin-bottom:11px;}
.arc-form label{display:block;font-size:12px;font-weight:700;color:var(--navy);margin-bottom:5px;}
.arc-form input,.arc-form select{width:100%;padding:10px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:14px;outline:none;color:var(--text);background:#fff;font-family:inherit;}
.arc-form input:focus,.arc-form select:focus{border-color:var(--navy);}
.arc-form .af-hint{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.4;}
.arc-form .af-err{font-size:12px;font-weight:600;color:#C2410C;min-height:14px;margin-bottom:4px;}
.arc-form .af-btns{display:flex;gap:8px;justify-content:flex-end;margin-top:4px;}
@media(max-width:560px){
  .arc-grid{grid-template-columns:1fr;}
  .arc-bar{gap:8px;}
  .arc-search{max-width:none;}
  .arc-btns{margin-left:0;width:100%;}
  .arc-add{flex:1;justify-content:center;}
}
/* Commission grid flip-through viewer */
.cg-note{display:flex;gap:9px;align-items:flex-start;background:var(--lav);border:1px solid var(--lav2);border-radius:11px;padding:12px 14px;font-size:13px;color:var(--navy);line-height:1.5;margin-bottom:16px;max-width:1100px;}
.cg-note svg{width:16px;height:16px;flex-shrink:0;margin-top:1px;color:var(--navy);}
.cg-note .cg-link{font-weight:800;color:var(--navy);text-decoration:underline;cursor:pointer;}
.cg-note .cg-link:hover{color:#7A5A00;}
.cg-viewer{display:flex;align-items:center;gap:12px;justify-content:center;max-width:1100px;}
.cg-stage{flex:1;min-width:0;display:flex;justify-content:center;}
.cg-img{max-width:100%;height:auto;border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 22px rgba(45,52,97,.12);background:#fff;}
.cg-arrow{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(45,52,97,.12);transition:.15s;}
.cg-arrow svg{width:20px;height:20px;}
.cg-arrow:hover:not(:disabled){background:var(--navy);color:#fff;}
.cg-arrow:disabled{opacity:.35;cursor:default;}
.cg-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1100px;margin-top:14px;flex-wrap:wrap;}
.cg-counter{font-size:13px;font-weight:700;color:var(--muted);}
.cg-dl{display:inline-flex;align-items:center;gap:7px;}
@media(max-width:640px){.cg-arrow{width:38px;height:38px;}.cg-arrow svg{width:17px;height:17px;}}
/* ===== Spam Protection page (scoped .spp; recolored navy/gold; keyframes prefixed) ===== */
.spp{--brand:#504C7E;--brand-dark:#2E2C54;--brand-deep:#1E1E34;--brand-light:#4F4F82;--lavender:#E8EAFF;--lavender-2:#F1F2FF;--gold:#C9A84C;--gold-soft:#E2C278;--gold-tint:#FBF4DF;--ink:#1E1E34;--muted:#5E5E72;--line:#E4E4EE;--card:#FFFFFF;--good:#2E9E6B;--good-bg:#E7F6EE;--warn:#C98A1E;--warn-bg:#FBF1DC;--bad:#C8484C;--bad-bg:#FBE9E9;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px rgba(30,30,52,.04),0 8px 24px rgba(30,30,52,.06);--shadow-lift:0 4px 10px rgba(30,30,52,.08),0 16px 40px rgba(30,30,52,.10);color:var(--ink);line-height:1.55;}
.spp a{color:var(--brand);text-decoration:none}
.spp a:hover{text-decoration:underline}
.spp .wrap{max-width:1040px;margin:0 auto;padding:0}
.spp .sp-back{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--brand);margin-bottom:14px;cursor:pointer}
.spp .sp-back svg{width:14px;height:14px}
.spp .hero{position:relative;background:radial-gradient(900px 400px at 12% -10%,rgba(79,79,130,.55),transparent 60%),radial-gradient(700px 360px at 110% 0%,rgba(201,168,76,.30),transparent 55%),linear-gradient(135deg,var(--brand-dark),var(--brand-deep));color:#fff;padding:38px 30px 40px;overflow:hidden;border-radius:18px}
.spp .hero-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:30px;align-items:center}
.spp .eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold-soft);margin-bottom:14px}
.spp .eyebrow::before{content:"";width:22px;height:2px;background:var(--gold-soft);border-radius:2px}
.spp .hero h1{font-size:clamp(26px,4vw,38px);line-height:1.08;font-weight:800;letter-spacing:-.5px;max-width:18ch}
.spp .hero p.lede{margin-top:14px;font-size:16px;max-width:54ch;color:rgba(255,255,255,.85)}
.spp .hero-art{display:flex;justify-content:center}
.spp .phone-stage{position:relative;animation:sppFloaty 5.5s ease-in-out infinite}
.spp .phone{position:relative;width:212px;height:392px;border-radius:36px;background:linear-gradient(160deg,#2a2a44,#15152a);padding:12px;box-shadow:0 30px 60px rgba(0,0,0,.45),inset 0 0 0 2px rgba(255,255,255,.06)}
.spp .notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:78px;height:18px;background:#15152a;border-radius:0 0 13px 13px;z-index:5}
.spp .screen{position:relative;height:100%;border-radius:25px;overflow:hidden;background:linear-gradient(180deg,#fbfbff,#eef0fb);display:flex;flex-direction:column}
.spp .screen-top{padding:28px 18px 8px;text-align:center}
.spp .screen-top .lbl{font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:#9a9ab0;font-weight:700}
.spp .screen-top .timer{font-size:11.5px;color:#b6b6c8;margin-top:2px}
.spp .caller{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 16px}
.spp .state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 16px;text-align:center}
.spp .state .avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:15px}
.spp .state .name{font-size:18px;font-weight:800;line-height:1.2}
.spp .state .meta{font-size:12px;margin-top:5px;font-weight:600}
.spp .state .num{font-size:11.5px;color:#9a9ab0;margin-top:7px;letter-spacing:.3px}
.spp .state-spam{animation:sppShowSpam 7s ease-in-out infinite}
.spp .state-spam .avatar{background:var(--bad-bg);color:var(--bad)}
.spp .state-spam .name{color:var(--bad)}.spp .state-spam .meta{color:var(--bad)}
.spp .state-spam .badge{display:inline-flex;align-items:center;gap:5px;background:var(--bad);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.4px;padding:4px 10px;border-radius:999px;margin-bottom:13px;text-transform:uppercase}
.spp .state-clean{animation:sppShowClean 7s ease-in-out infinite}
.spp .state-clean .avatar{background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#fff;font-weight:800;font-size:22px;letter-spacing:.5px;position:relative}
.spp .state-clean .avatar b{font-weight:400}
.spp .state-clean .verify{position:absolute;right:-4px;bottom:-2px;width:25px;height:25px;border-radius:50%;background:var(--good);border:3px solid #fff;display:flex;align-items:center;justify-content:center;color:#fff}
.spp .state-clean .verify svg{width:12px;height:12px}
.spp .state-clean .name{color:var(--brand-deep)}.spp .state-clean .meta{color:var(--good)}
.spp .screen-btns{display:flex;justify-content:space-around;align-items:center;padding:12px 28px 26px}
.spp .cbtn{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}
.spp .cbtn svg{width:21px;height:21px}
.spp .cbtn.decline{background:var(--bad)}
.spp .cbtn.accept{background:var(--good);animation:sppRingPulse 7s ease-in-out infinite}
.spp .stage-caption{text-align:center;margin-top:18px;font-size:13px;font-weight:600;color:rgba(255,255,255,.9);min-height:20px}
.spp .stage-caption b{color:var(--gold-soft)}
@keyframes sppFloaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes sppShowSpam{0%,42%{opacity:1}50%,92%{opacity:0}100%{opacity:1}}
@keyframes sppShowClean{0%,42%{opacity:0}50%,92%{opacity:1}100%{opacity:0}}
@keyframes sppRingPulse{0%,42%{box-shadow:0 0 0 0 rgba(46,158,107,0)}50%{box-shadow:0 0 0 0 rgba(46,158,107,.55)}66%{box-shadow:0 0 0 16px rgba(46,158,107,0)}92%,100%{box-shadow:0 0 0 0 rgba(46,158,107,0)}}
.spp .secnav{position:sticky;top:60px;z-index:40;background:rgba(244,245,248,.92);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:10px;margin:18px 0 0}
.spp .secnav .wrap{display:flex;gap:4px;overflow-x:auto;padding:9px 8px}
.spp .secnav a{flex:0 0 auto;font-size:13px;font-weight:600;color:var(--muted);padding:7px 13px;border-radius:999px;white-space:nowrap;cursor:pointer}
.spp .secnav a:hover{text-decoration:none;background:var(--lavender);color:var(--brand-dark)}
.spp .secnav a.active{background:var(--brand);color:#fff}
.spp section.block{padding:34px 0 8px;scroll-margin-top:124px}
.spp .sec-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:6px}
.spp .sec-tag{flex:0 0 auto;margin-top:2px;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--lavender);color:var(--brand)}
.spp .sec-tag svg{width:17px;height:17px}
.spp .sec-head h2{font-size:22px;font-weight:800;letter-spacing:-.3px}
.spp .sec-head .kicker{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--gold-text);margin-bottom:1px}
.spp .sec-intro{color:var(--muted);max-width:70ch;margin:10px 0 22px 44px;font-size:15px}
.spp .legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:4px}
.spp .lite{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;gap:13px;align-items:flex-start}
.spp .dot{flex:0 0 auto;width:13px;height:13px;border-radius:50%;margin-top:5px;position:relative}
.spp .dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;opacity:.25}
.spp .lite.g .dot{background:var(--good)}.spp .lite.g .dot::after{background:var(--good)}
.spp .lite.a .dot{background:var(--warn)}.spp .lite.a .dot::after{background:var(--warn)}
.spp .lite.r .dot{background:var(--bad)}.spp .lite.r .dot::after{background:var(--bad)}
.spp .lite h4{font-size:14.5px;font-weight:700;margin-bottom:3px}
.spp .lite p{font-size:13.5px;color:var(--muted)}
.spp .register{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);border-left:4px solid var(--gold);padding:24px 26px;display:flex;gap:20px;box-shadow:var(--shadow);margin-top:4px}
.spp .register .big-ico{flex:0 0 auto;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--brand),var(--brand-light));color:#fff;display:flex;align-items:center;justify-content:center}
.spp .register .big-ico svg{width:24px;height:24px}
.spp .register h3{font-size:18px;font-weight:700;margin-bottom:6px}
.spp .register p{color:var(--muted);font-size:15px}
.spp .register .link-row{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.spp .pill-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--brand-dark);background:var(--lavender-2);border:1px solid var(--lavender);padding:6px 11px;border-radius:8px}
.spp .pill-link:hover{text-decoration:none;background:var(--lavender);border-color:#cfd2f5}
.spp .pill-link svg{width:13px;height:13px;opacity:.7}
.spp .tagnote{font-size:12.5px;color:var(--gold-text);font-weight:600;margin-top:11px}
.spp .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:14px;margin-top:4px}
.spp .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 19px;box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column}
.spp a.card:hover{text-decoration:none}
.spp .card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.spp .card .ico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--lavender);color:var(--brand);margin-bottom:12px}
.spp .card .ico svg{width:19px;height:19px}
.spp .card h3{font-size:15.5px;font-weight:700;margin-bottom:6px}
.spp .card p{font-size:14px;color:var(--muted)}
.spp .card .go{margin-top:12px;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--brand)}
.spp .card .go svg{width:14px;height:14px}
.spp .bfg-tip{background:linear-gradient(180deg,var(--lavender-2),#fff);border:1px solid var(--lavender);border-left:4px solid var(--gold);border-radius:var(--radius);padding:16px 18px;margin-top:14px}
/* Gold on the lavender tip card measured 2.06:1 -- the worst text contrast
   anywhere in the portal. --gold-text is 4.45:1 on that background. */
.spp .bfg-tip .lbl{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--gold-text);margin-bottom:6px}
.spp .bfg-tip p{font-size:14.5px;color:var(--ink)}
.spp .bfg-tip strong{color:var(--brand-dark)}
.spp .acc{margin-top:6px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow)}
.spp .acc-item+.acc-item{border-top:1px solid var(--line)}
.spp .acc-q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:16px 20px;display:flex;align-items:center;gap:12px;font:inherit;font-size:15.5px;font-weight:700;color:var(--ink)}
.spp .acc-q:hover{background:var(--lavender-2)}
.spp .acc-q .chev{margin-left:auto;width:18px;height:18px;color:var(--brand);transition:transform .2s ease;flex:0 0 auto}
.spp .acc-item.open .acc-q .chev{transform:rotate(180deg)}
.spp .acc-q .step-mini{flex:0 0 auto;width:24px;height:24px;border-radius:7px;background:var(--lavender);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.spp .acc-a{max-height:0;overflow:hidden;transition:max-height .25s ease}
.spp .acc-a .inner{padding:0 20px 18px 56px;color:var(--muted);font-size:14.5px}
.spp .acc-a .inner strong{color:var(--ink)}
.spp .res{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:14px;margin-top:4px}
.spp .rcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}
.spp .rcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);text-decoration:none}
.spp .rcard .rtop{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.spp .rcard .rmark{width:34px;height:34px;border-radius:9px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex:0 0 auto}
.spp .rcard.gold .rmark{background:linear-gradient(135deg,var(--gold),var(--gold-soft));color:var(--brand-deep)}
.spp .rcard h3{font-size:15px;font-weight:700}
.spp .rcard .free{font-size:11px;font-weight:700;color:var(--good);letter-spacing:.3px}
.spp .rcard p{font-size:13.5px;color:var(--muted);flex:1}
.spp .rcard .go{margin-top:13px;display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--brand)}
.spp .rcard .go svg{width:14px;height:14px}
.spp .checklist{background:linear-gradient(135deg,var(--brand-dark),var(--brand-deep));border-radius:var(--radius);padding:26px 26px 22px;color:#fff;margin-top:6px;box-shadow:var(--shadow-lift)}
.spp .checklist h2{font-size:20px;font-weight:800;margin-bottom:4px}
.spp .checklist .sub{color:rgba(255,255,255,.7);font-size:14px;margin-bottom:18px}
.spp .cl-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 22px}
.spp .cl-item{display:flex;align-items:flex-start;gap:11px;cursor:pointer;padding:5px 0;font-size:14.5px}
.spp .cl-box{flex:0 0 auto;width:21px;height:21px;border-radius:6px;border:2px solid rgba(255,255,255,.4);margin-top:1px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}
.spp .cl-box svg{width:13px;height:13px;color:var(--brand-deep);opacity:0;transition:opacity .15s ease}
.spp .cl-item.done .cl-box{background:var(--gold-soft);border-color:var(--gold-soft)}
.spp .cl-item.done .cl-box svg{opacity:1}
.spp .cl-item.done .cl-txt{opacity:.55;text-decoration:line-through}
.spp .cl-txt{color:rgba(255,255,255,.92)}
.spp .cl-progress{margin-top:18px;font-size:13px;color:rgba(255,255,255,.75);display:flex;align-items:center;gap:10px}
.spp .cl-bar{flex:1;height:7px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden}
.spp .cl-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-soft));border-radius:99px;transition:width .3s ease}
.spp .sp-foot{padding:30px 0 10px;color:var(--muted);font-size:12.5px;text-align:center}
.spp .sp-foot .dot-sep{margin:0 7px;opacity:.5}
@media(max-width:820px){.spp .hero-grid{grid-template-columns:1fr;gap:30px}}
@media(max-width:640px){.spp .sec-intro{margin-left:0}.spp .cl-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.spp .phone-stage,.spp .state-spam,.spp .state-clean,.spp .cbtn.accept{animation:none}.spp .state-spam{opacity:0}.spp .state-clean{opacity:1}}
.arc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px;}
.arc-actions .arc-add,.arc-actions .btn-soft{margin-bottom:0;}
/* Agency Owner tools (front-end scaffold) */
.ao-sec{background:#fff;border:1px solid var(--border);border-radius:16px;padding:20px 22px;margin-bottom:18px;}
.ao-sec-hd{display:flex;align-items:flex-start;gap:11px;margin-bottom:6px;}
.ao-sec-hd .ao-ic{width:38px;height:38px;border-radius:10px;background:var(--lav);color:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ao-sec-hd .ao-ic svg{width:18px;height:18px;}
.ao-sec-hd h2{font-size:16px;font-weight:800;color:var(--navy);}
.ao-sec-hd p{font-size:12.5px;color:var(--muted);line-height:1.45;margin-top:2px;}
.ao-scaffold{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#7A5A00;background:#FFF8E7;border:1px solid var(--gold-soft);border-radius:20px;padding:3px 9px;margin-left:auto;flex-shrink:0;}
.ao-tbl{width:100%;border-collapse:collapse;font-size:13px;margin-top:12px;}
.ao-tbl th{text-align:left;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--light);font-weight:800;padding:8px 9px;border-bottom:1px solid var(--border);}
.ao-tbl td{padding:9px 9px;border-bottom:1px solid var(--off);color:var(--navy);vertical-align:middle;}
.ao-tbl td.num,.ao-tbl th.num{text-align:right;white-space:nowrap;}
.ao-tbl .ao-rm{background:none;color:var(--light);width:26px;height:26px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;}
.ao-tbl .ao-rm:hover{background:#FBEAE2;color:#C2410C;}
.ao-tbl .ao-rm svg{width:14px;height:14px;}
.ao-empty{font-size:12.5px;color:var(--light);padding:12px 2px;}
.ao-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:flex-end;}
.ao-form .ao-fld{display:flex;flex-direction:column;gap:4px;flex:1;min-width:120px;}
.ao-form label{font-size:11px;font-weight:700;color:var(--navy);}
.ao-form input,.ao-form select{padding:9px 11px;border:1.5px solid var(--border);border-radius:9px;font-size:13.5px;color:var(--navy);outline:none;background:#fff;}
.ao-form input:focus,.ao-form select:focus{border-color:var(--navy);}
.ao-add{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;font-size:12.5px;font-weight:700;padding:10px 15px;border-radius:9px;flex-shrink:0;}
.ao-add:hover{background:var(--navy-dark);}
.ao-add svg{width:14px;height:14px;}
.ao-upload{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;}
.ao-upload .btn-soft{margin:0;}
.ao-filelist{margin-top:10px;display:flex;flex-direction:column;gap:6px;}
.ao-fileitem{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--navy);background:var(--off);border:1px solid var(--border);border-radius:9px;padding:8px 11px;}
.ao-fileitem .fi-name{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:700;}
.ao-fileitem .fi-link{background:none;border:none;padding:0;text-align:left;color:var(--navy);cursor:pointer;text-decoration:underline;}
.ao-fileitem .fi-link:hover{color:var(--gold-dark);}
.ao-fileitem .fi-meta{font-size:11px;color:var(--light);}
@media(max-width:1000px){.tlib-layout{grid-template-columns:1fr;}}
@media(max-width:760px){.tlib-heroes{grid-template-columns:1fr;}.tlib-cards{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.tlib-cards{grid-template-columns:1fr;}}

/* ===== CRM & Dialer — embedded video ===== */
.crm-head{position:relative;}
.crm-client-btn{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:#fff;background:var(--navy);border:none;border-radius:10px;padding:9px 14px;cursor:pointer;transition:background .15s,transform .1s;}
.crm-client-btn svg{stroke:#fff;}
.crm-client-btn:hover{background:var(--gold);transform:translateY(-1px);}
.crm-videos{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:18px;}
.crm-videos .crm-video{flex:1 1 340px;min-width:0;max-width:520px;margin-bottom:0;}
@media(max-width:640px){.crm-client-btn{position:static;margin-top:10px;}}
.crm-video .cv-head{display:flex;align-items:center;gap:11px;margin-bottom:12px;flex-wrap:wrap;}
.crm-video h2{font-size:18px;font-weight:800;color:var(--navy);}
.crm-video .cv-badge{font-size:10.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--green);background:var(--green-bg);border-radius:20px;padding:4px 11px;}
.cv-frame{position:relative;width:100%;padding-top:56.25%;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:#000;}
.cv-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ===== CRM & Dialer — AI Employees block ===== */
.crm-ai{margin-top:18px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:28px;display:grid;grid-template-columns:1.35fr .85fr;gap:26px;align-items:center;position:relative;overflow:hidden;}
.crm-ai .ai-title{font-size:26px;font-weight:800;color:var(--navy);line-height:1.1;}
.crm-ai .ai-title span{color:var(--gold-text);}
.crm-ai .ai-rule{width:90px;height:4px;background:var(--gold);border-radius:2px;margin:12px 0 16px;}
.crm-ai .ai-intro{font-size:13.5px;color:var(--muted);line-height:1.6;font-style:italic;margin-bottom:18px;}
.crm-ai .ai-intro b{color:var(--navy);font-style:normal;font-weight:800;}
.ai-feat{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;}
.ai-feat .ai-ic{color:var(--gold);flex-shrink:0;margin-top:1px;display:flex;}
.ai-feat .ai-ic svg{width:18px;height:18px;}
.ai-feat h4{font-size:14px;font-weight:800;color:var(--navy);margin-bottom:3px;}
.ai-feat p{font-size:12.5px;color:var(--muted);line-height:1.55;}
.ai-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:8px;background:var(--gold);color:var(--navy-dark);font-size:14px;font-weight:800;padding:14px 20px;border-radius:10px;}
.ai-btn svg{width:16px;height:16px;}
.ai-btn:hover{background:var(--gold-soft);}
.ai-r{display:flex;align-items:stretch;}
.ai-bot{flex:1;min-height:300px;border-radius:22px;background:linear-gradient(135deg,var(--navy),var(--navy-dark));display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;position:relative;overflow:hidden;transition:.15s;}
.ai-bot:hover{box-shadow:0 14px 34px rgba(45,52,97,.22);}
.ai-bot svg{width:170px;height:170px;stroke-width:1.3;position:relative;z-index:1;}
.ai-bot .ai-wm{position:absolute;bottom:-30px;right:-10px;width:155px;opacity:.05;pointer-events:none;}
@media(max-width:860px){.crm-ai{grid-template-columns:1fr;}.ai-r{min-height:240px;}.ai-bot{min-height:240px;}}

/* ===== Support ===== */
.sup-head{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:center;margin-bottom:22px;}
.sup-head-l{display:flex;align-items:center;gap:18px;}
.sup-head .h-ic{width:62px;height:62px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sup-head .h-ic svg{width:30px;height:30px;}
.sup-head h1{font-size:27px;font-weight:800;color:var(--navy);}
.sup-head p{font-size:13.5px;color:var(--muted);margin-top:4px;max-width:430px;line-height:1.5;}
.sup-quote{background:#fff;border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:12px;padding:16px 18px;}
.sup-quote .q-ic{font-size:26px;color:var(--gold);font-family:Georgia,serif;line-height:.5;}
.sup-quote .q-txt{font-size:14px;font-weight:700;color:var(--navy);line-height:1.4;margin-top:2px;}
.sup-quote .q-by{font-size:12px;color:var(--muted);margin-top:7px;}
.sup-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;}
.sup-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;}
.sup-card-top{background:linear-gradient(180deg,var(--lav),#fff);padding:22px 0 8px;display:flex;justify-content:center;}
.sup-card.gold .sup-card-top{background:linear-gradient(180deg,#FBF1DA,#fff);}
.sup-card .s-ic{width:54px;height:54px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;}
.sup-card.gold .s-ic{background:var(--gold);color:var(--navy-dark);}
.sup-card .s-ic svg{width:25px;height:25px;}
.sup-card-body{padding:14px 20px 20px;display:flex;flex-direction:column;flex:1;text-align:center;}
.sup-card h3{font-size:17px;font-weight:800;color:var(--navy);}
.sup-card .sup-sm{font-size:13px;display:block;color:var(--muted);font-weight:700;}
.sup-card .s-sub{font-size:12.5px;color:var(--muted);line-height:1.5;margin:6px 0 14px;}
.sup-list{list-style:none;text-align:left;display:flex;flex-direction:column;gap:9px;margin-bottom:16px;}
.sup-list li{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text);}
.sup-list li .lk{width:18px;height:18px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sup-card.gold .sup-list li .lk,.sup-vo .sup-list li .lk{background:var(--gold);color:var(--navy-dark);}
.sup-list li .lk svg{width:11px;height:11px;stroke-width:3;}
.sup-card .s-btns{margin-top:auto;display:flex;flex-direction:column;gap:8px;}
.sup-card .s-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:9px;font-size:12.5px;font-weight:800;}
.sup-card .s-btn svg{width:15px;height:15px;}
.sup-card .s-btn.navy{background:var(--navy);color:#fff;}
.sup-card .s-btn.navy:hover{background:var(--navy-dark);}
.sup-card .s-btn.gold{background:var(--gold);color:var(--navy-dark);}
.sup-card .s-btn.gold:hover{background:var(--gold-soft);}
.sup-card .s-btn.soft{background:var(--lav);color:var(--navy);}
.sup-card .s-btn.soft:hover{background:var(--lav2);}
.sup-slack{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;display:grid;grid-template-columns:1fr 1.05fr 290px;gap:24px;align-items:center;margin-bottom:20px;}
/* Slack Support Hub: center the white info column cleanly (2f) */
.sup-slack>:first-child{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:2px;height:100%;}
.sup-slack .sl-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:10px;}
.sup-slack .sl-brand span{font-size:22px;font-weight:800;color:var(--navy);}
.sup-slack h3{font-size:18px;font-weight:800;color:var(--navy);margin-bottom:6px;}
.sup-slack .sl-p{font-size:12.5px;color:var(--muted);line-height:1.55;margin-bottom:16px;max-width:320px;}
.sup-slack>:first-child .slackprev-partner{text-align:left;margin-bottom:18px;align-self:stretch;}
/* The column centres its children, so both of these were shrink-to-fit and the
   button came out a pill under a full-width note. Stretching both puts them on
   the same width. */
.sup-slack>:first-child .btn-primary{align-self:stretch;justify-content:center;margin:0;}
/* The arrow carries no width/height attributes, so once the button stopped
   being shrink-to-fit the SVG sized itself to the box and turned the button
   into a giant purple square. Pin it. */
.sup-slack>:first-child .btn-primary svg{width:16px;height:16px;flex:0 0 auto;}
.sup-feat{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;}
.sup-feat .f-ic{width:38px;height:38px;border-radius:50%;background:var(--lav);color:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.sup-feat .f-ic svg{width:18px;height:18px;}
.sup-feat h4{font-size:13.5px;font-weight:800;color:var(--navy);}
.sup-feat p{font-size:12px;color:var(--muted);line-height:1.45;margin-top:2px;}
/* Slack channel preview — authentic dark Slack sidebar mock (namespaced .slackprev-*) */
.slackprev{background:#19171D;border-radius:12px;padding:10px 6px 12px;border:1px solid rgba(255,255,255,.06);max-height:360px;overflow-y:auto;}
.slackprev-sec{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;color:#9B9AA0;padding:10px 12px 5px;}
.slackprev-sec:first-child{padding-top:4px;}
.slackprev-sec-ic{display:inline-flex;}
.slackprev-glyph{width:13px;height:13px;color:#9B9AA0;}
.slackprev-item{display:flex;align-items:center;gap:9px;font-size:13px;padding:5px 12px 5px 14px;border-radius:6px;color:#BCBBC0;line-height:1.3;}
.slackprev-item span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.slackprev-item:hover{background:rgba(255,255,255,.05);color:#fff;}
.slackprev-hash{color:#8E8D94;font-weight:600;flex-shrink:0;width:13px;text-align:center;}
.slackprev-lock{width:13px;height:13px;color:#8E8D94;flex-shrink:0;}
.slackprev-star{color:#D8D7DC;font-weight:500;}
.slackprev::-webkit-scrollbar{width:8px;}
.slackprev::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:8px;}
.sup-vo{display:grid;grid-template-columns:1fr 1.2fr;border-radius:16px;overflow:hidden;border:1px solid var(--border);margin-bottom:20px;background:#FFFCF4;}
/* Virtual Office left column — centered + balanced (2e) */
.sup-vo-l{padding:26px 24px;display:flex;flex-direction:column;justify-content:center;}
.sup-vo-l .v-ic{width:46px;height:46px;border-radius:50%;background:var(--gold);color:var(--navy-dark);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.sup-vo-l .v-ic svg{width:22px;height:22px;}
.sup-vo-l h3{font-size:18px;font-weight:800;color:var(--navy);}
.sup-vo-l .v-tag{font-size:13px;font-weight:700;color:var(--navy);margin-top:4px;}
.sup-vo-l .v-p{font-size:12.5px;color:var(--muted);line-height:1.5;margin:8px 0 12px;}
/* Virtual Office purple panel — shrunk + filled with quick-help tiles (2d/2e) */
.sup-vo-r{background:linear-gradient(135deg,var(--navy),var(--navy-dark));position:relative;display:flex;align-items:center;justify-content:center;min-height:0;color:#fff;padding:44px 18px 18px;}
.sup-vo-r .vo-live{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.14);padding:5px 11px;border-radius:20px;font-size:11px;font-weight:800;}
.sup-vo-r .vo-live .pulse{width:8px;height:8px;border-radius:50%;background:#3FAE6E;box-shadow:0 0 0 0 rgba(63,174,110,.6);animation:voPulse 2s infinite;}
@keyframes voPulse{0%{box-shadow:0 0 0 0 rgba(63,174,110,.5);}70%{box-shadow:0 0 0 8px rgba(63,174,110,0);}100%{box-shadow:0 0 0 0 rgba(63,174,110,0);}}
/* compact "Enter Virtual Office" CTA + Powered-by-Zoom mark (Step3 3b/3c) */
.vo-cta-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.vo-enter-btn{width:auto;justify-content:center;padding:8px 16px;font-size:12.5px;}
.vo-enter-btn svg{width:14px;height:14px;}
.vo-powered{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--muted);}
.vo-powered svg{flex-shrink:0;}
/* Live Now panel: inline Zoom badge + pulsing-ring "broadcasting" stage (Step3 3c/3d) */
.sup-vo-r .vo-zoom-badge{position:absolute;top:13px;right:14px;width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#9FC6FF;}
.sup-vo-r .vo-zoom-badge svg{width:18px;height:18px;}
.vo-stage{position:relative;width:140px;height:140px;display:flex;align-items:center;justify-content:center;}
.vo-stage .vo-ring{position:absolute;top:50%;left:50%;width:46px;height:46px;border-radius:50%;border:2px solid var(--gold);transform:translate(-50%,-50%) scale(1);opacity:0;animation:voRingPulse 3s ease-out infinite;}
.vo-stage .vo-ring:nth-child(2){animation-delay:1s;border-color:var(--gold-soft);}
.vo-stage .vo-ring:nth-child(3){animation-delay:2s;border-color:var(--lav);}
.vo-stage .vo-core{position:relative;z-index:2;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--navy-light,#6A659C),var(--navy-dark,#3C3960));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.28);}
.vo-stage .vo-core svg{width:26px;height:26px;}
@keyframes voRingPulse{0%{transform:translate(-50%,-50%) scale(.6);opacity:.85;}80%{opacity:0;}100%{transform:translate(-50%,-50%) scale(2.4);opacity:0;}}
.vo-stage-cap{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:11px;font-weight:700;letter-spacing:.3px;color:rgba(255,255,255,.72);}
@media(prefers-reduced-motion:reduce){
  .sup-vo-r .vo-live .pulse{animation:none;}
  .vo-stage .vo-ring{animation:none;opacity:.5;}
  .vo-stage .vo-ring:nth-child(1){transform:translate(-50%,-50%) scale(1.4);}
  .vo-stage .vo-ring:nth-child(2){transform:translate(-50%,-50%) scale(2);opacity:.32;}
  .vo-stage .vo-ring:nth-child(3){transform:translate(-50%,-50%) scale(2.6);opacity:.18;}
}
/* Lasting Mark partnership note (2c) */
.slackprev-partner{display:flex;gap:9px;align-items:flex-start;background:var(--lav);border:1px solid var(--lav2);border-left:3px solid var(--gold);border-radius:10px;padding:10px 12px;margin-bottom:14px;font-size:12px;color:var(--text);line-height:1.5;}
.slackprev-partner svg{width:16px;height:16px;color:var(--navy);flex-shrink:0;margin-top:1px;}
.slackprev-partner b{color:var(--navy);}
.sup-foot{background:linear-gradient(120deg,var(--navy),var(--navy-dark));border-radius:16px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#fff;}
.sup-foot-l{display:flex;align-items:center;gap:16px;}
.sup-foot .q-ic{width:46px;height:46px;border-radius:50%;background:#fff;color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;flex-shrink:0;}
.sup-foot h3{font-size:17px;font-weight:800;color:#fff;}
.sup-foot p{font-size:13px;color:rgba(255,255,255,.72);margin-top:2px;}
.sup-foot .f-btn{display:inline-flex;align-items:center;gap:8px;background:var(--gold);color:var(--navy-dark);font-size:13px;font-weight:800;padding:12px 20px;border-radius:9px;white-space:nowrap;}
.sup-foot .f-btn svg{width:15px;height:15px;}
.sup-foot .f-btn:hover{background:var(--gold-soft);}
/* BFG Assistant (support chatbot) */
.sup-bot{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;}
.bot-head{display:flex;align-items:center;gap:13px;padding:15px 20px;background:linear-gradient(120deg,var(--navy),var(--navy-dark));color:#fff;}
.bot-head .bot-ava{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;}
.bot-head .bot-ava svg{width:20px;height:20px;}
.bot-head h3{font-size:15px;font-weight:800;color:#fff;}
.bot-head p{font-size:12px;color:rgba(255,255,255,.7);margin-top:2px;}
.bot-head .bot-status{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:rgba(255,255,255,.85);white-space:nowrap;}
.bot-head .bot-status .dot{width:8px;height:8px;border-radius:50%;background:#3FAE6E;}
.bot-msgs{padding:16px 18px;max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;background:var(--off);}
.bot-msg{display:flex;gap:9px;align-items:flex-start;max-width:90%;}
.bot-msg.bot{align-self:flex-start;}
.bot-msg.me{align-self:flex-end;flex-direction:row-reverse;}
.bot-msg .b-ava{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bot-msg .b-ava svg{width:15px;height:15px;}
.bot-msg .b-bub{background:#fff;border:1px solid var(--border);border-radius:12px;padding:11px 14px;font-size:13px;color:var(--text);line-height:1.5;}
.bot-msg.me .b-bub{background:var(--navy);color:#fff;border-color:var(--navy);}
.bot-msg .b-bub b{color:var(--navy);}
.bot-msg.me .b-bub b{color:#fff;}
.bot-msg .b-link{color:var(--navy);font-weight:700;border-bottom:1px solid var(--lav2);cursor:pointer;}
.bot-msg .b-link:hover{color:#7A5A00;border-color:var(--gold);}
.bot-msg .b-tori{margin-top:9px;padding-top:8px;border-top:1px solid var(--border);font-size:11.5px;color:var(--muted);}
.bot-msg .b-tori a{color:var(--navy);font-weight:700;}
.bot-chips{display:flex;flex-wrap:wrap;gap:7px;padding:12px 18px 0;background:var(--off);}
.bot-chip{font-size:11.5px;font-weight:700;color:var(--navy);background:#fff;border:1px solid var(--border);border-radius:20px;padding:7px 13px;cursor:pointer;}
.bot-chip:hover{background:var(--lav);border-color:var(--lav2);}
.bot-input{display:flex;gap:8px;padding:14px 18px;background:var(--off);}
.bot-input input{flex:1;border:1.5px solid var(--border);border-radius:10px;padding:11px 14px;font-size:14px;outline:none;}
.bot-input input:focus{border-color:var(--navy);}
.bot-input button{width:46px;border-radius:10px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.bot-input button:hover{background:var(--navy-dark);}
.bot-input button svg{width:18px;height:18px;}
@media(max-width:1200px){.sup-cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:1000px){.sup-head,.sup-slack,.sup-vo{grid-template-columns:1fr;}}
@media(max-width:640px){.sup-cards{grid-template-columns:1fr;}}

/* ===== Mobile / touch hardening (#4) ===== */
html{-webkit-text-size-adjust:100%;}
button,a,[role="button"],[role="checkbox"],.cb,.day-tab,.cr-acc-hd{-webkit-tap-highlight-color:rgba(91,82,160,.18);}
@media (max-width:600px){
  body{overflow-x:hidden;}  /* mobile-only safety net; sidebar is fixed here, not sticky */
  .topnav{padding:0 14px;gap:10px;}
  .page{padding:18px 14px 50px;}
  /* keep input font >=16px so iOS doesn't auto-zoom on focus */
  /* Below 16px iOS zooms the whole page on focus and never zooms back. This
     covered <input> only, so tapping a <select> or a <textarea> still did it. */
  input,select,textarea{font-size:16px !important;}
  /* comfortable ~44px tap targets */
  .btn-primary,.btn-gold,.btn-soft,.timer-btn,.step-btn,.cr-btn,.sch-join,.lp-btn,.tk-btn,.cc-btn,.cal-btn,.extra-card .e-open,.evp .ann-add,.evp a.bc-cta,.sb-help button{min-height:44px;}
  .step-btn,.step-btn.minus{padding:11px 16px;}
  .cr-menu-item{min-height:42px;}
  .day-tab{padding:10px 4px;min-height:48px;}
  /* topnav icon buttons: keep the icon size, widen the hit area to ~44px */
  .menu-toggle{width:44px;height:44px;}
  .bell,.signout{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
  .bell .badge{top:4px;right:4px;}
  /* inline text links: give a comfortable vertical tap area */
  .view-link,.na-link,.back-link,.sp-back,.ps-back,.tlink,.evp .pastrow a.pc{min-height:34px;display:inline-flex;align-items:center;}
  /* The Slack channel rows were 13px of tappable height on a phone. They already
     stack at this width, so there is room to make them a real target. */
  .ssf .ssf-chk{min-height:44px;}
  .ssf .ssf-chk input{width:22px;height:22px;}
  /* admin announcement controls: roomier tap targets */
  .evp .ann-ctrls button{min-height:40px;padding:8px 14px;}
  .task .cb,.na-step .cb,.sdp-chk .cb{width:26px;height:26px;}
  .task .cb svg,.na-step .cb svg,.sdp-chk .cb svg{width:15px;height:15px;}
  .na-step{padding:16px 0;}
  /* one column so wide timer values (00:00:00) don't blow out the grid */
  .metrics-grid{grid-template-columns:1fr;}
  .metric{min-width:0;}
  /* let the long 90-day timeline heading wrap instead of overflowing */
  .p90-tl-h{flex-wrap:wrap;}
  .p90-tl-h h3{white-space:normal;min-width:0;}
  /* dropdown menus never exceed the viewport */
  .cr-menu-pop{max-width:calc(100vw - 32px);}
  /* allow the slide-in sidebar to scroll on short screens */
  .sidebar{overflow-y:auto;}
}

/* ============ SCRIPTS PAGE (scoped under .scr; navy/gold recolor) ============ */
.scr{
  --purple:#504C7E;--purple-deep:#2A2A4A;--chrome2:#1E1E34;
  --gold:#C9A84C;--gold-dark:#7A5A00;--lav:#E8EAFF;--lav2:#F4F5F8;
  --white:#FFFFFF;--text:#2A2A40;--muted:#6E6E88;--line:#E7E7EF;--radius:16px;
  --shadow-soft:0 1px 2px rgba(25,22,48,.04),0 4px 14px rgba(25,22,48,.05);
}
.scr .icon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block;}
.scr .icon-sm{width:16px;height:16px;}
.scr section{margin-bottom:26px;}
.scr .sec-title{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:0 0 14px;}

.scr .hero{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:space-between;margin-bottom:22px;}
.scr .hero-left{display:flex;align-items:flex-start;gap:20px;}
.scr .hero-badge{width:62px;height:62px;border-radius:50%;background:var(--purple);color:#fff;flex:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(59,59,99,.28);}
.scr .hero-badge .icon{width:30px;height:30px;}
.scr .hero h1{margin:2px 0 8px;font-size:32px;font-weight:800;letter-spacing:-.01em;color:var(--chrome2);}
.scr .hero p{margin:0;font-size:14.5px;color:var(--muted);max-width:440px;}
.scr .search{position:relative;min-width:280px;flex:1;max-width:340px;}
.scr .search .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);}
.scr .search input{width:100%;padding:13px 16px 13px 42px;border-radius:12px;border:1px solid var(--line);background:var(--white);font-size:14px;color:var(--text);box-shadow:var(--shadow-soft);outline:none;}
.scr .search input:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(59,59,99,.15);}

.scr .flow{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:20px 24px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:26px;}
.scr .flow .step{display:flex;align-items:center;gap:11px;flex:0 0 auto;}
.scr .flow .sep{flex:1 1 auto;display:flex;align-items:center;justify-content:center;}
.scr .flow .num{width:33px;height:33px;border-radius:50%;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex:none;border:1px solid rgba(46,42,82,.16);box-shadow:0 2px 6px rgba(46,42,82,.12);}
.scr .flow .step:nth-of-type(1) .num{background:#FFFFFF;color:#2E2A52;}
.scr .flow .step:nth-of-type(2) .num{background:#E0E2F2;color:#2E2A52;}
.scr .flow .step:nth-of-type(3) .num{background:#8E8EB0;color:#fff;}
.scr .flow .step:nth-of-type(4) .num{background:#4F4F82;color:#fff;border-color:transparent;}
.scr .flow .step:nth-of-type(5) .num{background:#1E1E34;color:#fff;border-color:transparent;}
.scr .flow .st{font-size:13.5px;font-weight:600;color:var(--text);line-height:1.2;}
.scr .flow .sep .icon{width:16px;height:16px;color:#C7C7D6;}

.scr .sblock{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);margin-bottom:14px;overflow:hidden;}
.scr a.sblock-link{display:block;text-decoration:none;color:inherit;}
.scr a.sblock-link:hover{border-color:var(--purple);}
.scr .sblock-head{display:flex;align-items:center;gap:16px;padding:18px 22px;cursor:pointer;}
.scr .sblock-head:hover{background:var(--lav2);}
.scr .sblock-ico{width:46px;height:46px;border-radius:12px;background:var(--lav);color:var(--purple);display:flex;align-items:center;justify-content:center;flex:none;}
.scr .sblock-ico.gold{background:#F6EFDC;color:var(--gold-dark);}
.scr .sblock-meta{flex:1;min-width:0;}
.scr .sblock-meta .row1{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.scr .sblock-meta h3{margin:0;font-size:16.5px;font-weight:700;color:var(--chrome2);}
.scr .sblock-meta .desc{margin:3px 0 0;font-size:12.5px;color:var(--muted);}
.scr .tag{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:20px;white-space:nowrap;}
.scr .tag.fe{background:var(--lav);color:var(--purple-deep);}
.scr .tag.vet{background:#F6EFDC;color:var(--gold-dark);}
.scr .tag.all{background:#EDEDF2;color:#5A5A70;}
.scr .sblock-actions{display:flex;align-items:center;gap:10px;flex:none;}
.scr .copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid var(--line);background:transparent;color:var(--text);border-radius:9px;font-size:12.5px;font-weight:700;padding:8px 12px;cursor:pointer;font-family:inherit;transition:.15s;}
.scr .copy-btn:hover{background:var(--lav2);border-color:var(--purple);color:var(--purple);}
.scr .copy-btn.copied{background:var(--purple);border-color:var(--purple);color:#fff;}
.scr .dl-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid var(--purple);background:var(--purple);color:#fff;border-radius:9px;font-size:12.5px;font-weight:700;padding:8px 12px;cursor:pointer;text-decoration:none;transition:.15s;}
.scr .dl-btn:hover{filter:brightness(1.12);}
.scr .dl-btn .icon-sm{stroke-width:2.2;}
.scr .chev{color:var(--muted);transition:transform .2s;flex:none;}
.scr .sblock.open .chev{transform:rotate(180deg);}
.scr .sblock-body{display:none;padding:4px 24px 24px;}
.scr .sblock.open .sblock-body{display:block;}
.scr .sblock-body h4{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--purple);font-weight:700;margin:20px 0 9px;padding-bottom:6px;border-bottom:1px solid var(--line);}
.scr .sblock-body h4:first-child{margin-top:6px;}
.scr .sblock-body p{margin:0 0 9px;font-size:13.5px;line-height:1.62;color:#33334a;}
.scr .sblock-body .phl{color:var(--purple);font-weight:600;}
.scr .sblock-body .agent{background:var(--lav2);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:6px 0 12px;font-size:12.5px;line-height:1.55;color:#4a4a63;}
.scr .sblock-body .agent b{color:var(--gold-dark);}
.scr .sblock-body .branch{display:flex;gap:12px;margin:6px 0 12px;flex-wrap:wrap;}
.scr .sblock-body .branch>div{flex:1;min-width:210px;background:var(--lav2);border:1px solid var(--line);border-radius:10px;padding:11px 14px;}
.scr .sblock-body .branch .bh{font-weight:700;font-size:11.5px;color:var(--purple);margin-bottom:5px;letter-spacing:.03em;}
.scr .sblock-body .branch p{font-size:13px;margin:0 0 6px;}
.scr .sblock-body ul{margin:4px 0 12px;padding-left:20px;}
.scr .sblock-body li{font-size:13.5px;line-height:1.55;margin-bottom:5px;color:#33334a;}
.scr .foot{text-align:center;color:var(--muted);font-size:11.5px;letter-spacing:.05em;padding:8px 0 4px;}
@media(max-width:900px){
  .scr .search{max-width:none;}
  .scr .sblock-head{flex-wrap:wrap;}
}
@media(max-width:560px){.scr .hero h1{font-size:26px;}}

/* ===== Announcements & Events page (pageEvents) — scoped under .evp; navy/gold UI, illustrated art kept ===== */
.evp{
  --purple:#504C7E;--purple-deep:#2A2A4A;--chrome1:#2E2C54;--chrome2:#1E1E34;
  --gold:#C9A84C;--gold-dark:#7A5A00;--lav:#E8EAFF;--lav2:#F4F5F8;--white:#FFFFFF;
  --text:#2A2A40;--muted:#6E6E88;--line:#E7E7EF;--radius:16px;
  --shadow-soft:0 1px 2px rgba(25,22,48,.04),0 4px 14px rgba(25,22,48,.05);
  --shadow:0 1px 2px rgba(25,22,48,.04),0 8px 24px rgba(25,22,48,.07);
  max-width:1080px;margin:0 auto;
}
.evp svg{display:block;}
.evp .icon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.evp .icon-sm{width:16px;height:16px;}
.evp section{margin-bottom:34px;}
.evp .hero{display:flex;align-items:flex-start;gap:20px;margin-bottom:30px;}
.evp .hero-badge{width:62px;height:62px;border-radius:50%;background:var(--purple);color:#fff;flex:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(59,59,99,.28);}
.evp .hero-badge .icon{width:30px;height:30px;}
.evp .hero h1{margin:2px 0 8px;font-size:32px;font-weight:800;letter-spacing:-.01em;color:var(--chrome2);}
.evp .hero p{margin:0;font-size:14.5px;color:var(--muted);max-width:520px;}
.evp .sec-title{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;}
.evp .sec-title::after{content:"";flex:1;height:1px;background:var(--line);}
.evp .ecard{background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);overflow:hidden;opacity:0;transform:translateY(16px);animation:rise .6s cubic-bezier(.2,.7,.3,1) forwards;transition:box-shadow .2s,transform .2s;}
.evp .ecard:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
.evp #lm{animation-delay:.05s;}
.evp #elg{animation-delay:.18s;}
.evp .ebanner{position:relative;min-height:212px;display:flex;color:#fff;overflow:hidden;}
.evp .scene{position:absolute;inset:0;width:100%;height:100%;display:block;}
.evp .edge{position:absolute;left:0;bottom:-1px;width:100%;height:26px;z-index:3;}
.evp .eb-content{position:relative;z-index:4;align-self:flex-end;width:100%;padding:24px 30px 34px;}
.evp .eb-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#FCEFCB;margin-bottom:6px;text-shadow:0 1px 6px rgba(0,0,0,.5);}
.evp .ebanner h2{margin:0;font-size:32px;font-weight:800;letter-spacing:-.01em;text-shadow:0 2px 10px rgba(0,0,0,.5);}
.evp .eb-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.evp .pill{display:inline-flex;align-items:center;gap:6px;background:rgba(20,16,40,.42);border:1px solid rgba(255,255,255,.28);border-radius:20px;padding:6px 12px;font-size:12.5px;font-weight:600;backdrop-filter:blur(3px);}
.evp .pill .icon{width:14px;height:14px;}
.evp .pill.gold{background:rgba(201,168,76,.34);border-color:rgba(252,239,203,.55);color:#FFF6DD;}
.evp .ebody{padding:26px 30px 28px;}
.evp .lead{font-size:14.5px;color:var(--text);margin:0 0 22px;line-height:1.6;}
.evp .lead .em{color:var(--purple);font-weight:600;}
.evp .col2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.evp .panel{position:relative;background:var(--lav2);border:1px solid var(--line);border-radius:14px;padding:18px 20px;overflow:hidden;}
.evp .panel.tropic{background:linear-gradient(135deg,#F2F6F4,#FBF7EC);}
.evp .panel-deco{position:absolute;right:-10px;top:-10px;opacity:.5;}
.evp .panel h3{display:flex;align-items:center;gap:9px;margin:0 0 12px;font-size:14px;font-weight:700;color:var(--chrome2);position:relative;}
.evp .panel h3 .pi{width:30px;height:30px;border-radius:9px;background:var(--lav);color:var(--purple);display:flex;align-items:center;justify-content:center;flex:none;}
.evp .panel ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;position:relative;}
.evp .panel li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text);line-height:1.45;}
.evp .panel li .ck{width:18px;height:18px;border-radius:50%;background:var(--purple);color:#fff;flex:none;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.evp .panel li .ck .icon{width:11px;height:11px;stroke-width:3;}
.evp .datebox{font-size:13.5px;color:var(--text);line-height:1.5;position:relative;}
.evp .datebox .d{display:flex;gap:10px;margin-bottom:10px;}
.evp .datebox .d:last-child{margin-bottom:0;}
.evp .datebox .dlabel{font-weight:700;color:var(--purple-deep);min-width:84px;}
.evp .quote{margin:22px 0 0;padding:16px 20px;border-radius:12px;background:#FBF6E9;border:1px solid #ECDDB6;font-size:14px;font-weight:600;color:var(--gold-dark);text-align:center;}
.evp .qualgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px;}
.evp .qual{position:relative;border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:var(--white);overflow:hidden;}
.evp .qual .suit-bg{position:absolute;right:-14px;bottom:-18px;opacity:.07;}
.evp .qual h3{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:14px;font-weight:700;color:var(--chrome2);position:relative;}
.evp .qual h3 .pi{width:30px;height:30px;border-radius:9px;background:var(--lav);color:var(--purple);display:flex;align-items:center;justify-content:center;flex:none;}
.evp .qrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--line);position:relative;}
.evp .qrow:first-of-type{border-top:none;}
.evp .qtier{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;}
.evp .qamt{font-size:17px;font-weight:800;color:var(--gold-dark);text-align:right;}
.evp .qamt span{font-size:11.5px;font-weight:600;color:var(--muted);display:block;letter-spacing:.02em;}
.evp .tiers{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.evp .tier{position:relative;border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--lav2);overflow:hidden;}
.evp .tier.t2{border:2px solid var(--gold);background:linear-gradient(160deg,#FBF6E9,#FFFDF7);}
.evp .tier.t2::before{content:"";position:absolute;top:0;left:0;width:45%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:translateX(-130%);animation:shine 5.5s ease-in-out infinite;pointer-events:none;}
.evp .tier .th{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;position:relative;}
.evp .tier .tname{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:800;color:var(--chrome2);}
.evp .tier .tname .ti{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--lav);color:var(--purple);}
.evp .tier.t2 .tname .ti{background:var(--gold);color:var(--chrome1);}
.evp .tier .tbadge{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:20px;background:var(--lav);color:var(--purple);}
.evp .tier.t2 .tbadge{background:var(--gold);color:var(--chrome1);}
.evp .tier ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;position:relative;}
.evp .tier li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text);line-height:1.45;}
.evp .tier li .ck{width:18px;height:18px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;margin-top:1px;color:#fff;background:var(--purple);}
.evp .tier.t2 li .ck{background:var(--gold);color:var(--chrome1);}
.evp .tier li .ck .icon{width:11px;height:11px;stroke-width:3;}
.evp .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;}
.evp .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;border-radius:11px;font-size:13.5px;font-weight:700;padding:12px 18px;transition:filter .15s,background .15s,transform .15s;text-decoration:none;}
.evp .btn:hover{transform:translateY(-1px);}
.evp .btn .icon{width:16px;height:16px;}
.evp .btn-purple{background:var(--purple);color:#fff;}
.evp .btn-purple:hover{filter:brightness(1.12);}
.evp .btn-ghost{background:transparent;border:1.5px solid var(--line);color:var(--text);}
.evp .btn-ghost:hover{background:var(--lav2);border-color:var(--purple);color:var(--purple);}
.evp .fine{margin-top:22px;font-size:11.5px;line-height:1.6;color:var(--muted);background:var(--lav2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;}
.evp .fine b{color:var(--gold-dark);}
.evp .csub{margin:-6px 0 16px;font-size:13px;color:var(--muted);line-height:1.55;max-width:760px;}
.evp .ccard{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);overflow:hidden;margin-bottom:16px;transition:box-shadow .2s,transform .2s;}
.evp .ccard:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
.evp .ccard-head{display:flex;align-items:center;gap:16px;padding:18px 22px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--lav2),#fff);}
.evp .cbadge{width:50px;height:50px;border-radius:13px;flex:none;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;letter-spacing:-.02em;color:#fff;background:linear-gradient(135deg,var(--purple),var(--purple-deep));box-shadow:0 5px 12px rgba(59,59,99,.28);}
.evp .cbadge.gold{background:linear-gradient(135deg,#D2B05C,var(--gold-dark));box-shadow:0 5px 12px rgba(156,124,51,.3);}
.evp .cbadge.cbadge-img{background:#fff;border:1px solid var(--border);box-shadow:0 3px 9px rgba(45,52,97,.12);padding:5px;}
.evp .cbadge.cbadge-img img{width:100%;height:100%;object-fit:contain;}
.evp .evgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;}
.evp .evcard{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:14px 16px;transition:.15s;}
.evp .evcard:hover{box-shadow:0 6px 18px rgba(45,52,97,.08);border-color:var(--lav2);}
.evp .evcard.past{opacity:.74;}
.evp .evdate{flex:none;width:62px;text-align:center;background:linear-gradient(160deg,var(--purple),var(--purple-deep));border-radius:11px;padding:9px 4px;color:#fff;}
.evp .evdate .m{display:block;font-size:11px;font-weight:800;letter-spacing:.07em;}
.evp .evdate .dd{display:block;font-size:14.5px;font-weight:800;line-height:1.15;margin-top:1px;}
.evp .evdate .yy{display:block;font-size:9.5px;opacity:.82;margin-top:1px;}
.evp .evmeta{flex:1;min-width:0;}
.evp .evmeta h3{font-size:14.5px;font-weight:800;color:var(--navy);line-height:1.2;}
.evp .evloc{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.35;}
.evp .evloc svg{width:13px;height:13px;color:var(--gold-dark);flex:none;}
.evp .evchip{flex:none;font-size:11.5px;font-weight:800;border-radius:9px;padding:7px 12px;background:var(--purple);color:#fff;text-decoration:none;white-space:nowrap;}
.evp a.evchip:hover{background:var(--gold-dark);}
.evp .evchip.done{background:var(--lav);color:var(--navy);}
.evp .chead-meta{flex:1;min-width:0;}
.evp .chead-meta .ceyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.evp .chead-meta h3{margin:2px 0 0;font-size:17px;font-weight:800;color:var(--chrome2);}
.evp .status{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:5px 11px;border-radius:20px;white-space:nowrap;flex:none;}
.evp .status.confirmed{background:var(--gold);color:var(--chrome1);}
.evp .status.current{background:var(--lav);color:var(--purple-deep);}
.evp .status.recurring{background:#EDEDF2;color:#5A5A70;}
.evp .ccard-body{padding:18px 22px 20px;}
.evp .subprog{margin:0 0 2px;font-size:14px;font-weight:800;color:var(--chrome2);}
.evp .spec{display:flex;gap:14px;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px;line-height:1.55;}
.evp .spec.first{border-top:none;padding-top:4px;}
.evp .spec .lab{flex:none;width:104px;font-weight:700;color:var(--purple-deep);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding-top:2px;}
.evp .spec .val{flex:1;color:var(--text);}
.evp .spec .val b{color:var(--gold-dark);font-weight:700;}
.evp .tierpills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.evp .tp{font-size:14px;font-weight:800;color:var(--chrome1);background:#FBF1D6;border:1px solid #E7D9AC;border-radius:9px;padding:5px 14px;}
.evp .cnote{margin-top:14px;font-size:11.5px;line-height:1.55;color:var(--muted);background:var(--lav2);border:1px solid var(--line);border-radius:10px;padding:11px 14px;}
.evp .cnote b{color:var(--gold-dark);}
.evp .tabs{display:inline-flex;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:5px;gap:4px;box-shadow:var(--shadow-soft);margin-bottom:26px;}
.evp .tab{border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:700;color:var(--muted);padding:10px 18px;border-radius:10px;display:inline-flex;align-items:center;gap:8px;transition:.15s;}
.evp .tab .icon{width:16px;height:16px;}
.evp .tab:hover{color:var(--purple);}
.evp .tab.active{background:var(--purple);color:#fff;box-shadow:0 4px 12px rgba(59,59,99,.28);}
.evp .tabpanel{display:none;}
.evp .tabpanel.active{display:block;}
.evp .annboard{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);overflow:hidden;}
.evp .annrow{display:flex;gap:15px;padding:18px 22px;border-top:1px solid var(--line);transition:background .15s;}
.evp .annrow:first-child{border-top:none;}
.evp .annrow:hover{background:#FAFAFD;}
.evp .ann-add{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;color:#fff;background:var(--purple);border:none;border-radius:9px;padding:8px 13px;cursor:pointer;transition:.15s;}
.evp .ann-add svg{width:14px;height:14px;stroke:#fff;}
.evp .ann-add:hover{background:var(--gold-dark);}
.evp .ann-ctrls{display:flex;gap:8px;margin-top:9px;}
.evp .ann-ctrls button{font-size:11px;font-weight:700;color:var(--purple);background:none;border:1px solid var(--line);border-radius:7px;padding:4px 11px;cursor:pointer;transition:.15s;}
.evp .ann-ctrls button:hover{border-color:var(--purple);background:#FAFAFD;}
.evp .ann-form{margin:0 0 16px;}
.evp .ann-form textarea{width:100%;padding:10px 12px;border:1.5px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;resize:vertical;outline:none;color:var(--chrome2,#2b2b40);}
.evp .ann-form textarea:focus{border-color:var(--purple);}
.evp .annrow.pinned{background:linear-gradient(90deg,#FBF6E9,rgba(251,246,233,0) 72%);}
.evp .annrow.pinned:hover{background:linear-gradient(90deg,#F7EFD8,rgba(251,246,233,0) 72%);}
.evp .annbar{width:4px;border-radius:4px;flex:none;align-self:stretch;background:var(--purple);}
.evp .annbar.gold{background:var(--gold);}
.evp .annbar.gray{background:#C7C7D6;}
.evp .anncontent{flex:1;min-width:0;}
.evp .annhead{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap;}
.evp .annkind{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;}
.evp .annkind.purple{color:var(--purple);}
.evp .annkind.gold{color:var(--gold-dark);}
.evp .annkind.gray{color:#8A8AA0;}
.evp .annsep{color:#C7C7D6;font-size:11px;}
.evp .anndate{font-size:11.5px;color:var(--muted);font-weight:600;}
.evp .annpin{margin-left:auto;color:var(--gold);display:flex;}
.evp .annpin .icon{width:15px;height:15px;}
.evp .anncontent h3{margin:0 0 3px;font-size:15.5px;font-weight:700;color:var(--chrome2);}
.evp .anncontent p{margin:0;font-size:13.5px;color:var(--text);line-height:1.55;}
.evp .cal-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.evp .cal-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-soft);overflow:hidden;}
.evp .cal-card .cal-hd{padding:13px 18px;border-bottom:1px solid var(--line);}
.evp .cal-card .cal-hd h3{margin:0;font-size:15px;font-weight:800;color:var(--chrome2);}
.evp .cal-frame{width:100%;height:340px;background:var(--lav2);}
.evp .cal-frame iframe{width:100%;height:100%;border:0;display:block;}
.evp .cal-card .btn{margin:14px 18px;}
@media(max-width:760px){.evp .cal-grid{grid-template-columns:1fr;}}
.evp .trainfeat{background:var(--white);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);overflow:hidden;margin-bottom:24px;}
.evp .train-banner{position:relative;min-height:152px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;padding:24px 30px 32px;}
.evp .train-banner .tb-content{position:relative;z-index:4;}
.evp .train-banner h2{margin:3px 0 0;font-size:27px;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.45);}
.evp .tagline{display:inline-block;margin-top:12px;background:rgba(201,168,76,.30);border:1px solid rgba(252,239,203,.5);color:#FFF6DD;font-size:12.5px;font-weight:700;padding:6px 14px;border-radius:20px;backdrop-filter:blur(3px);text-shadow:0 1px 4px rgba(0,0,0,.4);}
.evp .train-body{padding:22px 30px 26px;}
.evp .curric{display:grid;grid-template-columns:1fr 1fr;gap:9px 24px;list-style:none;margin:0;padding:0;}
.evp .curric li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--text);line-height:1.4;}
.evp .curric li .ck{width:18px;height:18px;border-radius:50%;background:var(--gold);color:var(--chrome1);flex:none;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.evp .curric li .ck .icon{width:11px;height:11px;stroke-width:3.2;}
.evp .subhead{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:800;color:var(--chrome2);margin:0 0 14px;}
.evp .subhead .icon{width:18px;height:18px;color:var(--purple);}
.evp .bcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:14px;margin-bottom:26px;}
.evp .bc{display:flex;align-items:center;gap:13px;background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft);padding:13px 15px;transition:box-shadow .2s,transform .2s;}
.evp .bc:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
.evp .bc.next{border:1.5px solid var(--gold);background:linear-gradient(135deg,#FBF6E9,#fff);}
.evp .bc-date{width:56px;height:58px;border-radius:12px;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:linear-gradient(150deg,var(--purple),var(--purple-deep));}
.evp .bc.next .bc-date{background:linear-gradient(150deg,#D2B05C,var(--gold-dark));}
.evp .bc-date .m{font-size:10.5px;font-weight:800;letter-spacing:.06em;}
.evp .bc-date .dd{font-size:15px;font-weight:800;line-height:1;margin-top:2px;}
.evp .bc-meta{flex:1;min-width:0;}
.evp .bc-meta h4{margin:0;font-size:14px;font-weight:700;color:var(--chrome2);}
.evp .bc-meta .bc-loc{font-size:11px;color:var(--muted);}
.evp a.bc-cta{flex:none;background:var(--purple);color:#fff;font-size:12px;font-weight:700;padding:8px 13px;border-radius:9px;transition:filter .15s,transform .15s;}
.evp a.bc-cta:hover{filter:brightness(1.12);transform:translateY(-1px);}
.evp .bc-chip{flex:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:6px 10px;border-radius:20px;background:#FBF1D6;color:var(--gold-dark);}
.evp .pastlist{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--white);}
.evp .pastrow{display:flex;align-items:center;gap:14px;padding:12px 16px;border-top:1px solid var(--line);font-size:13px;}
.evp .pastrow:first-child{border-top:none;}
.evp .pastrow .pd{font-weight:700;color:var(--purple-deep);min-width:118px;}
.evp .pastrow .pl{flex:1;color:var(--text);}
.evp .pastrow .pc{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9A9AB0;}
.evp .pastrow a.pc{color:var(--purple);}
.evp .tw{animation:twinkle 2.6s ease-in-out infinite;}
.evp .wv{animation:bob 5s ease-in-out infinite;}
.evp .wv2{animation:bob 6.5s ease-in-out infinite;}
.evp .lm-sun{transform-box:fill-box;transform-origin:center;animation:sunpulse 5s ease-in-out infinite;}
.evp .palm{transform-box:fill-box;transform-origin:bottom center;animation:sway 6s ease-in-out infinite;}
.evp .floaty{animation:floaty 4.5s ease-in-out infinite;}
.evp .wheel-spin{transform-box:fill-box;transform-origin:center;animation:spin 22s linear infinite;}
.evp .ripple{transform-box:fill-box;transform-origin:center;animation:ripple 3s ease-out infinite;}
@keyframes rise{to{opacity:1;transform:translateY(0)}}
@keyframes twinkle{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes floaty{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(4deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes sway{0%,100%{transform:rotate(-2.2deg)}50%{transform:rotate(2.2deg)}}
@keyframes sunpulse{0%,100%{transform:scale(1);opacity:.95}50%{transform:scale(1.05);opacity:1}}
@keyframes shine{0%{transform:translateX(-130%)}55%,100%{transform:translateX(260%)}}
@keyframes ripple{0%{transform:scale(.35);opacity:.75}80%{opacity:0}100%{transform:scale(1.7);opacity:0}}
@media(max-width:760px){.evp .curric{grid-template-columns:1fr;}}
@media(max-width:900px){.evp .col2,.evp .qualgrid,.evp .tiers{grid-template-columns:1fr;}.evp .ebanner h2{font-size:26px;}}
@media(max-width:560px){.evp .hero h1{font-size:26px;}.evp .spec{flex-direction:column;gap:2px;}.evp .spec .lab{width:auto;}.evp .tabs{display:flex;}.evp .tab{flex:1;justify-content:center;padding:10px 8px;}.evp .pastrow{flex-wrap:wrap;gap:6px;}.evp .pastrow .pd{min-width:0;}}
@media(prefers-reduced-motion:reduce){.evp .tw,.evp .wv,.evp .wv2,.evp .lm-sun,.evp .palm,.evp .floaty,.evp .wheel-spin,.evp .ecard,.evp .ripple{animation:none!important;opacity:1;transform:none;}.evp .tier.t2::before{display:none;}}

/* ===== Leads page (pageLeads) — scoped under .lds; navy/gold recolor ===== */
.lds{
  --purple:#504C7E;--purple-deep:#2A2A4A;--chrome1:#2E2C54;--chrome2:#1E1E34;
  --gold:#C9A84C;--gold-dark:#7A5A00;--lav:#E8EAFF;--lav2:#F4F5F8;--white:#FFFFFF;
  --text:#2A2A40;--muted:#6E6E88;--line:#E7E7EF;--radius:16px;
  --shadow-soft:0 1px 2px rgba(25,22,48,.04),0 4px 14px rgba(25,22,48,.05);
  --shadow:0 1px 2px rgba(25,22,48,.04),0 8px 24px rgba(25,22,48,.07);
  max-width:1080px;margin:0 auto;
}
.lds svg{display:block;}
.lds .icon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.lds .icon-sm{width:16px;height:16px;}
.lds section{margin-bottom:30px;}
.lds .sec-title{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;}
.lds .sec-title::after{content:"";flex:1;height:1px;background:var(--line);}
.lds .sec-sub{margin:0 0 16px;font-size:13px;color:var(--muted);max-width:760px;line-height:1.55;}
.lds .hero{display:flex;align-items:flex-start;gap:20px;margin-bottom:28px;}
.lds .hero-badge{width:62px;height:62px;border-radius:50%;background:var(--purple);color:#fff;flex:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(59,59,99,.28);}
.lds .hero-badge .icon{width:30px;height:30px;}
.lds .hero h1{margin:2px 0 8px;font-size:32px;font-weight:800;letter-spacing:-.01em;color:var(--chrome2);}
.lds .hero p{margin:0;font-size:14.5px;color:var(--muted);max-width:560px;}
.lds .paths{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start;}
.lds .path{position:relative;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);padding:24px 22px;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;}
.lds .path:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
.lds .path.excl{border:2px solid var(--gold);box-shadow:0 0 0 4px rgba(201,168,76,.10),var(--shadow-soft);}
.lds .path-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.lds .path.excl .path-label{color:var(--gold-dark);}
.lds .path-label .ex{background:var(--gold);color:var(--chrome1);font-size:9px;padding:2px 8px;border-radius:20px;letter-spacing:.06em;}
.lds .path h3{margin:8px 0 10px;font-size:19px;font-weight:800;color:var(--chrome2);}
.lds .price{font-size:23px;font-weight:800;color:var(--gold-dark);line-height:1;}
.lds .price span{font-size:12.5px;color:var(--muted);font-weight:600;}
.lds .aud{display:inline-block;margin:13px 0;font-size:11px;font-weight:700;background:var(--lav);color:var(--purple-deep);padding:5px 11px;border-radius:20px;align-self:flex-start;}
.lds .path.excl .aud{background:#F6EFDC;color:var(--gold-dark);}
.lds .pdesc{font-size:12.5px;color:var(--text);line-height:1.55;margin:0 0 4px;}
.lds .pdesc b{color:var(--purple);}
.lds .path.excl .pdesc b{color:var(--gold-dark);}
.lds .costs{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px;}
.lds .costs li{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;}
.lds .costs .cl{color:var(--muted);}
.lds .costs .cv{font-weight:700;color:var(--chrome2);white-space:nowrap;}
.lds .costs .cv.free{color:var(--purple);}
.lds .vmain{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.lds .vcard{position:relative;display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);padding:22px 24px;transition:box-shadow .2s,transform .2s;}
.lds .vcard:hover{box-shadow:var(--shadow);transform:translateY(-2px);}
.lds .vtop{display:flex;align-items:center;gap:14px;margin-bottom:13px;}
.lds .vbadge{width:48px;height:48px;border-radius:13px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--purple),var(--purple-deep));box-shadow:0 5px 12px rgba(59,59,99,.25);}
.lds .vcard.gold .vbadge{background:linear-gradient(135deg,#D2B05C,var(--gold-dark));box-shadow:0 5px 12px rgba(156,124,51,.28);}
.lds .vbadge .icon{width:24px;height:24px;}
.lds .vkind{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--purple);}
.lds .vcard.gold .vkind{color:var(--gold-dark);}
.lds .vt-meta h3{margin:1px 0 0;font-size:17px;font-weight:800;color:var(--chrome2);}
.lds .vlogo{display:block;max-width:220px;width:100%;max-height:50px;object-fit:contain;object-position:left;margin-top:7px;}
.lds .vcard p{margin:0;font-size:13px;color:var(--text);line-height:1.55;}
.lds .vcard p b{color:var(--purple);}
.lds .vtag{display:inline-block;margin-top:13px;font-size:11px;font-weight:700;background:var(--lav);color:var(--purple-deep);padding:5px 11px;border-radius:20px;}
.lds .vfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;flex-wrap:wrap;}
.lds .vfoot .vtag{margin-top:0;}
.lds .vgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.lds .vsec{background:var(--white);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-soft);padding:16px 18px;}
.lds .vs-top{display:flex;align-items:baseline;gap:9px;margin-bottom:6px;flex-wrap:wrap;}
.lds .vsec h4{margin:0;font-size:14.5px;font-weight:800;color:var(--chrome2);}
.lds .vs-sub{font-size:11px;color:var(--muted);font-weight:600;}
.lds .vsec p{margin:0 0 11px;font-size:12.5px;color:var(--text);line-height:1.5;}
.lds .codechips{display:flex;flex-wrap:wrap;gap:6px;}
.lds .code{font-size:11px;font-weight:700;background:#FBF1D6;border:1px solid #E7D9AC;color:var(--gold-dark);padding:4px 9px;border-radius:8px;}
.lds .code.note{background:var(--lav2);border-color:var(--line);color:var(--purple-deep);}
.lds .vlink{display:inline-flex;align-items:center;gap:6px;margin-top:11px;font-size:12px;font-weight:700;color:var(--purple);transition:gap .15s;}
.lds .vlink .icon{width:14px;height:14px;}
.lds .vsec:hover .vlink{gap:9px;}
.lds .ccp{position:relative;overflow:hidden;display:flex;align-items:center;gap:20px;flex-wrap:wrap;border-radius:18px;color:#fff;background:linear-gradient(125deg,var(--purple) 0%,var(--purple-deep) 62%,var(--chrome2) 100%);padding:24px 28px;}
.lds .ccp::after{content:"";position:absolute;right:-30px;top:-40px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.4),transparent 70%);}
/* CCP creative background: floating logo, connection nodes, shimmer sweep */
.lds .ccp::before{content:"";position:absolute;top:0;left:0;width:42%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.07),transparent);transform:translateX(-140%);animation:ccpShimmer 6.5s ease-in-out infinite;pointer-events:none;z-index:1;}
.lds .ccp-bg{position:absolute;right:-14px;bottom:-26px;width:300px;max-width:58%;opacity:.13;pointer-events:none;z-index:0;animation:ccpFloat 7s ease-in-out infinite;}
.lds .ccp-node{position:absolute;width:9px;height:9px;border-radius:50%;background:#22a5ba;pointer-events:none;z-index:1;opacity:.8;animation:ccpPulse 3.4s ease-in-out infinite;}
.lds .ccp-node.n1{top:20px;right:38%;}
.lds .ccp-node.n2{bottom:24px;right:27%;width:7px;height:7px;animation-delay:1.1s;}
.lds .ccp-node.n3{top:48%;right:11%;width:6px;height:6px;background:var(--gold-soft);animation-delay:2.1s;}
.lds .ccp-ico{width:52px;height:52px;border-radius:14px;background:rgba(201,168,76,.25);border:1px solid rgba(252,239,203,.5);display:flex;align-items:center;justify-content:center;color:#FFF6DD;flex:none;position:relative;z-index:2;}
.lds .ccp-body{position:relative;flex:1;min-width:240px;z-index:2;}
.lds .ccp .btn{z-index:2;}
@keyframes ccpFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes ccpPulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(34,165,186,.45)}50%{transform:scale(1.3);box-shadow:0 0 0 9px rgba(34,165,186,0)}}
@keyframes ccpShimmer{0%{transform:translateX(-140%)}55%,100%{transform:translateX(280%)}}
@media(prefers-reduced-motion:reduce){.lds .ccp-bg,.lds .ccp-node,.lds .ccp::before{animation:none!important;}}
.lds .ccp h3{margin:0 0 5px;font-size:18px;font-weight:800;}
.lds .ccp p{margin:0;font-size:13.5px;color:#E5E3F4;line-height:1.55;}
.lds .ccp p b{color:#FCEFCB;font-weight:700;}
.lds .btn{display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;border-radius:11px;font-size:13.5px;font-weight:700;padding:11px 17px;text-decoration:none;transition:filter .15s,background .15s,transform .15s;position:relative;}
.lds .btn:hover{transform:translateY(-1px);}
.lds .btn .icon{width:16px;height:16px;}
.lds .btn-purple{background:var(--purple);color:#fff;}
.lds .btn-purple:hover{filter:brightness(1.12);}
.lds .btn-white{background:#fff;color:var(--purple-deep);}
.lds .btn-white:hover{filter:brightness(.97);}
.lds .btn-ghost{background:transparent;border:1.5px solid var(--line);color:var(--text);}
.lds .btn-ghost:hover{background:var(--lav2);border-color:var(--purple);color:var(--purple);}
.lds .card{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);padding:24px 26px;}
.lds .howto ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:13px 26px;}
.lds .howto li{display:flex;align-items:flex-start;gap:11px;font-size:13.5px;color:var(--text);line-height:1.5;}
.lds .howto li .ck{width:22px;height:22px;border-radius:50%;background:var(--purple);color:#fff;flex:none;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.lds .howto li .ck .icon{width:13px;height:13px;stroke-width:3;}
.lds .howto li b{color:var(--chrome2);}
.lds .howto .foot{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);text-align:center;}
.lds .pipe{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);padding:24px 26px;}
.lds .pipe-row{display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.lds .pstage{display:flex;align-items:center;gap:11px;flex:none;}
.lds .pdot{width:34px;height:34px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;border:1px solid rgba(46,42,82,.16);box-shadow:0 2px 6px rgba(46,42,82,.12);}
.lds .pstage:nth-of-type(1) .pdot{background:#FFFFFF;color:#2E2A52;}
.lds .pstage:nth-of-type(2) .pdot{background:#E0E2F2;color:#2E2A52;}
.lds .pstage:nth-of-type(3) .pdot{background:#8E8EB0;color:#fff;}
.lds .pstage:nth-of-type(4) .pdot{background:#4F4F82;color:#fff;border-color:transparent;}
.lds .pstage:nth-of-type(5) .pdot{background:#1E1E34;color:#fff;border-color:transparent;}
.lds .pname{font-size:13px;font-weight:700;color:var(--chrome2);}
.lds .psep{flex:1;display:flex;align-items:center;justify-content:center;min-width:18px;}
.lds .psep .icon{width:16px;height:16px;color:#C7C7D6;}
.lds .dispo{margin:20px 0 0;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.lds .dispo .dlab{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-right:4px;}
.lds .chip{font-size:12px;font-weight:600;padding:5px 12px;border-radius:20px;background:var(--lav2);border:1px solid var(--line);color:var(--text);}
.lds .callout{position:relative;border-radius:18px;overflow:hidden;color:#fff;background:linear-gradient(125deg,var(--purple) 0%,var(--purple-deep) 60%,var(--chrome2) 100%);padding:26px 30px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.lds .callout::after{content:"";position:absolute;right:-30px;top:-30px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(201,168,76,.4),transparent 70%);}
.lds .callout .co-ico{width:50px;height:50px;border-radius:14px;background:rgba(201,168,76,.25);border:1px solid rgba(252,239,203,.5);display:flex;align-items:center;justify-content:center;color:#FFF6DD;flex:none;position:relative;}
.lds .callout .co-body{position:relative;flex:1;min-width:240px;}
.lds .callout h3{margin:0 0 5px;font-size:18px;font-weight:800;}
.lds .callout p{margin:0;font-size:13.5px;color:#E5E3F4;line-height:1.55;}
.lds .callout p b{color:#FCEFCB;font-weight:700;}
@media(max-width:980px){.lds .paths{grid-template-columns:1fr;}}
@media(max-width:900px){.lds .vmain,.lds .vgrid,.lds .howto ul{grid-template-columns:1fr;}}
@media(max-width:560px){.lds .hero h1{font-size:27px;}}

/* ===== Income Calculators page (pageCalculators) — scoped under .calc; navy/gold ===== */
.calc{
  --purple:#504C7E;--purple-deep:#2A2A4A;--chrome1:#2E2C54;--chrome2:#1E1E34;
  --gold:#C9A84C;--gold-dark:#7A5A00;--gold-soft:#E2C278;--lav:#E8EAFF;--lav2:#F4F5F8;--white:#FFFFFF;
  --text:#2A2A40;--muted:#6E6E88;--line:#E7E7EF;--radius:16px;
  --shadow-soft:0 1px 2px rgba(25,22,48,.04),0 4px 14px rgba(25,22,48,.05);
  --shadow:0 1px 2px rgba(25,22,48,.04),0 8px 24px rgba(25,22,48,.07);
  max-width:1080px;margin:0 auto;
}
.calc svg{display:block;}
.calc .icon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.calc section{margin-bottom:30px;}
.calc .sec-title{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;}
.calc .sec-title::after{content:"";flex:1;height:1px;background:var(--line);}
.calc .hero{display:flex;align-items:flex-start;gap:20px;margin-bottom:24px;}
.calc .hero-badge{width:62px;height:62px;border-radius:50%;background:var(--purple);color:#fff;flex:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(59,59,99,.28);}
.calc .hero-badge .icon{width:30px;height:30px;}
.calc .hero h1{margin:2px 0 8px;font-size:32px;font-weight:800;letter-spacing:-.01em;color:var(--chrome2);}
.calc .hero p{margin:0;font-size:14.5px;color:var(--muted);max-width:600px;}
.calc .tabs{display:inline-flex;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:5px;gap:4px;box-shadow:var(--shadow-soft);margin-bottom:24px;}
.calc .tab{border:none;background:transparent;cursor:pointer;font-family:inherit;font-size:13.5px;font-weight:700;color:var(--muted);padding:10px 18px;border-radius:10px;display:inline-flex;align-items:center;gap:8px;transition:.15s;}
.calc .tab .icon{width:16px;height:16px;}
.calc .tab:hover{color:var(--purple);}
.calc .tab.active{background:var(--purple);color:#fff;box-shadow:0 4px 12px rgba(59,59,99,.28);}
.calc .tabpanel{display:none;}
.calc .tabpanel.active{display:block;}
.calc .calc-soon{background:var(--white);border:1px dashed var(--line);border-radius:18px;padding:48px 30px;text-align:center;box-shadow:var(--shadow-soft);}
.calc .calc-soon .cs-ic{width:58px;height:58px;border-radius:50%;background:var(--lav);color:var(--purple);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.calc .calc-soon h2{margin:0 0 6px;font-size:20px;font-weight:800;color:var(--chrome2);}
.calc .calc-soon p{margin:0 auto 18px;font-size:13.5px;color:var(--muted);max-width:420px;}
.calc .cs-go{display:inline-flex;align-items:center;gap:8px;background:var(--purple);color:#fff;border:none;cursor:pointer;font:inherit;font-size:13.5px;font-weight:700;padding:11px 18px;border-radius:11px;}
.calc .cs-go:hover{filter:brightness(1.12);}
.calc .calcwrap{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start;}
.calc .inputs{display:flex;flex-direction:column;}
.calc .presets{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;}
.calc .preset{flex:1;min-width:96px;cursor:pointer;border:1px solid var(--line);background:var(--white);border-radius:11px;padding:10px 12px;text-align:left;transition:.15s;}
.calc .preset:hover{border-color:var(--purple);}
.calc .preset.sel{border-color:var(--purple);background:#ECECF6;box-shadow:0 0 0 3px rgba(59,59,99,.12);}
.calc .preset .pp-k{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);}
.calc .preset .pp-n{font-size:12.5px;font-weight:700;color:var(--chrome2);margin-top:2px;}
.calc .ifield{margin-bottom:20px;}
.calc .ifield label{display:block;font-size:14px;font-weight:700;color:var(--chrome2);margin-bottom:9px;}
.calc .ifield label .lo{font-weight:400;color:var(--muted);}
.calc .ifield input{width:100%;border:1px solid var(--line);background:var(--white);border-radius:11px;padding:15px 16px;font:inherit;font-size:18px;font-weight:600;color:var(--chrome2);outline:none;transition:.15s;-moz-appearance:textfield;}
.calc .ifield input::placeholder{color:#B9B7CE;font-weight:600;}
.calc .ifield input:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(59,59,99,.12);}
.calc .ifield input::-webkit-outer-spin-button,.calc .ifield input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.calc .ifield .hint{font-size:11.5px;color:var(--muted);margin-top:7px;}
.calc .advrate{margin:4px 0 26px;}
.calc .advrate .ar-l{font-size:14px;font-weight:700;color:var(--chrome2);margin-bottom:2px;}
.calc .advrate .ar-n{font-size:40px;font-weight:800;color:var(--purple-deep);letter-spacing:-.01em;line-height:1.05;}
.calc .results{background:linear-gradient(160deg,var(--chrome1),var(--chrome2));border-radius:20px;padding:26px 28px;color:#EDEDF6;position:relative;box-shadow:var(--shadow);}
.calc .res-tools{position:absolute;top:20px;right:22px;display:flex;gap:12px;}
.calc .res-tools button{background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;padding:2px;transition:.15s;}
.calc .res-tools button:hover{color:#fff;}
.calc .res-tools .icon{width:20px;height:20px;}
.calc .bigblock{margin-bottom:14px;}
.calc .bigblock.spaced{margin-top:24px;}
.calc .bigblock .bb-k{font-size:16px;font-weight:800;color:#fff;}
.calc .bigblock .bb-n{font-size:38px;font-weight:800;color:#fff;letter-spacing:-.02em;margin:2px 0 6px;}
.calc .bigblock .bb-sub{font-size:12px;color:rgba(255,255,255,.5);line-height:1.5;max-width:340px;}
.calc .rrow{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:12px 0;}
.calc .rrow .rl{font-size:14px;font-weight:700;color:#fff;}
.calc .rrow .rl .rsub{display:block;font-size:11.5px;font-weight:400;color:rgba(255,255,255,.5);margin-top:2px;}
.calc .rrow .rv{font-size:16px;font-weight:700;color:#fff;white-space:nowrap;}
.calc .rdiv{height:1px;background:rgba(255,255,255,.13);margin:6px 0;}
.calc .journey{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);padding:26px 28px;}
.calc .jtrack{position:relative;display:flex;justify-content:space-between;margin-top:10px;}
.calc .jline{position:absolute;top:17px;left:7%;right:7%;height:3px;background:var(--lav);border-radius:3px;z-index:0;}
.calc .jline-fill{position:absolute;top:17px;left:7%;height:3px;background:linear-gradient(90deg,var(--purple),var(--gold));border-radius:3px;z-index:1;transition:width .4s;}
.calc .jnode{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:9px;width:25%;text-align:center;}
.calc .jdot{width:34px;height:34px;border-radius:50%;background:var(--white);border:2px solid var(--lav);display:flex;align-items:center;justify-content:center;color:#B9B7CE;transition:.3s;}
.calc .jdot .icon{width:17px;height:17px;}
.calc .jnode.on .jdot{border-color:transparent;background:linear-gradient(135deg,var(--purple),var(--purple-deep));color:#fff;box-shadow:0 6px 16px rgba(59,59,99,.35);}
.calc .jnode.peak .jdot{background:linear-gradient(135deg,var(--gold),var(--gold-dark));box-shadow:0 6px 16px rgba(201,168,76,.4);}
.calc .jnode .jt{font-size:12.5px;font-weight:700;color:var(--chrome2);}
.calc .jnode.on .jt{color:var(--purple-deep);}
.calc .jnode .jm{font-size:11px;color:var(--muted);}
.calc .chartcard{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);padding:24px 26px;}
.calc .chartcard h2{margin:0 0 3px;font-size:16px;font-weight:800;color:var(--chrome2);}
.calc .chartcard .ph-sub{margin:0 0 14px;font-size:12.5px;color:var(--muted);}
.calc .legend{display:flex;gap:18px;margin-top:12px;font-size:11.5px;color:var(--muted);}
.calc .legend span{display:inline-flex;align-items:center;gap:6px;}
.calc .swatch{width:11px;height:11px;border-radius:3px;}
.calc .note{font-size:11.5px;color:var(--muted);line-height:1.6;background:var(--lav2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;}
.calc .note b{color:var(--text);}
@media(max-width:920px){.calc .calcwrap{grid-template-columns:1fr;}}
@media(max-width:560px){.calc .hero h1{font-size:27px;}.calc .jnode .jt{font-size:11px;}.calc .tabs{display:flex;}.calc .tab{flex:1;justify-content:center;padding:10px 8px;}}

/* Commission Calculator (tab 1) */
.calc .panelc{background:linear-gradient(160deg,var(--chrome1),var(--chrome2));border-radius:22px;padding:28px 30px;color:#EDEDF6;box-shadow:var(--shadow);}
.calc .modebar{display:flex;align-items:center;justify-content:flex-start;gap:16px;margin-bottom:24px;flex-wrap:wrap;}
.calc .modebar .ml{font-family:Georgia,'Times New Roman',serif;font-size:23px;font-weight:700;color:#fff;}
.calc .seg{display:flex;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:4px;gap:2px;}
.calc .seg button{border:none;background:none;color:rgba(255,255,255,.7);font:inherit;font-size:13px;font-weight:600;padding:7px 16px;border-radius:999px;cursor:pointer;transition:.15s;}
.calc .seg button:hover{color:#fff;}
.calc .seg button.on{background:linear-gradient(135deg,var(--purple),var(--purple-deep));color:#fff;box-shadow:0 4px 12px rgba(59,59,99,.5);}
.calc .grid4{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;}
.calc .fld label{display:block;font-size:12.5px;font-weight:700;color:rgba(255,255,255,.65);margin-bottom:8px;}
.calc .selwrap{position:relative;}
.calc .selwrap select,.calc .fld input{width:100%;appearance:none;-webkit-appearance:none;-moz-appearance:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:13px 14px;font:inherit;font-size:15px;font-weight:600;color:#fff;outline:none;transition:.15s;}
.calc .selwrap select{padding-right:38px;cursor:pointer;}
.calc .selwrap select:focus,.calc .fld input:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(59,59,99,.3);background:rgba(255,255,255,.09);}
.calc .selwrap::after{content:"";position:absolute;right:15px;top:46%;width:8px;height:8px;border-right:2px solid rgba(255,255,255,.55);border-bottom:2px solid rgba(255,255,255,.55);transform:translateY(-50%) rotate(45deg);pointer-events:none;}
.calc select option{color:#16161D;}
.calc #level{text-transform:uppercase;letter-spacing:.02em;}
.calc .fld input::-webkit-outer-spin-button,.calc .fld input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.calc .fld input[type=number]{-moz-appearance:textfield;}
.calc .premrow{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;margin-bottom:26px;}
.calc .premrow .fld{flex:1;min-width:200px;}
.calc .erate{display:flex;align-items:center;gap:12px;}
.calc .erate .er-l{font-size:12.5px;font-weight:700;color:rgba(255,255,255,.65);}
.calc .erate .er-pill{font-size:14px;font-weight:800;color:var(--gold-soft);background:rgba(201,168,76,.14);border:1px solid rgba(201,168,76,.32);border-radius:999px;padding:7px 16px;}
.calc .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.calc .rescard{border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:18px;background:rgba(255,255,255,.03);}
.calc .rescard .rc-k{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.55);}
.calc .rescard .rc-n{font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:700;color:#fff;margin-top:9px;letter-spacing:-.01em;line-height:1.05;}
.calc .rescard .rc-sub{font-size:10.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:9px;min-height:13px;}
.calc .rescard.gold{border-color:rgba(201,168,76,.5);background:rgba(201,168,76,.08);}
.calc .rescard.gold .rc-n{color:var(--gold-soft);}
.calc .only-multi,.calc .only-ledger{display:none;}
.calc .panelc[data-mode="multiple"] .only-multi{display:block;}
.calc .panelc[data-mode="ledger"] .only-ledger{display:block;}
.calc .panelc[data-mode="multiple"] .only-solo{display:none;}
.calc .multi-block{margin-top:18px;}
.calc .multi-block .mb-head{margin-bottom:12px;}
.calc .multi-block .mb-ttl{font-size:14px;font-weight:800;color:#fff;}
.calc .multi-block .mb-sub{font-size:12px;color:rgba(255,255,255,.55);margin-top:3px;line-height:1.5;}
.calc .mpol{position:relative;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 14px 14px;background:rgba(255,255,255,.03);margin-bottom:12px;}
.calc .mpol .mp-num{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:10px;}
.calc .mpol .mp-flds{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.calc .mpol .mp-rm{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:18px;line-height:1;cursor:pointer;transition:.15s;}
.calc .mpol .mp-rm:hover{background:rgba(255,90,90,.25);border-color:rgba(255,90,90,.5);}
.calc .mp-add{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;border-radius:10px;padding:10px 15px;border:1px dashed rgba(255,255,255,.3);background:rgba(255,255,255,.04);color:#fff;cursor:pointer;transition:.15s;}
.calc .mp-add:hover{background:rgba(255,255,255,.1);border-style:solid;}
.calc .mp-add .icon{width:15px;height:15px;}
@media(max-width:560px){.calc .mpol .mp-flds{grid-template-columns:1fr;}}
.calc .ledger{margin-top:24px;}
.calc .ledger-actions{display:flex;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.calc .btn-sm{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:700;border-radius:10px;padding:10px 15px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;transition:.15s;}
.calc .btn-sm:hover{background:rgba(255,255,255,.12);}
.calc .btn-sm .icon{width:15px;height:15px;}
.calc .btn-sm.gold{background:linear-gradient(135deg,var(--gold),var(--gold-dark));border-color:transparent;color:#2A2208;}
.calc .btn-sm.gold:hover{filter:brightness(1.05);}
.calc .ltbl{width:100%;border-collapse:collapse;font-size:13px;}
.calc .ltbl th{text-align:left;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:700;padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.16);}
.calc .ltbl td{padding:11px 10px;border-bottom:1px solid rgba(255,255,255,.08);color:#fff;vertical-align:top;}
.calc .ltbl td.num,.calc .ltbl th.num{text-align:right;white-space:nowrap;}
.calc .ltbl .lp{font-size:11px;color:rgba(255,255,255,.5);margin-top:2px;}
.calc .ltbl tr.tot td{font-weight:800;border-top:2px solid rgba(255,255,255,.22);border-bottom:none;padding-top:13px;}
.calc .lrm{background:none;border:none;color:rgba(255,255,255,.4);cursor:pointer;font-size:18px;line-height:1;padding:0 2px;}
.calc .lrm:hover{color:#E2877F;}
.calc .ledger-empty{font-size:13px;color:rgba(255,255,255,.45);padding:16px 4px;}
@media(max-width:860px){.calc .grid4{grid-template-columns:1fr 1fr;}.calc .cards{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.calc .grid4{grid-template-columns:1fr;}.calc .cards{grid-template-columns:1fr;}}

/* Downloadables page */
.dl{max-width:1080px;margin:0 auto;}
.dl-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.dl-card{display:flex;align-items:center;gap:14px;border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px rgba(25,22,48,.04),0 4px 14px rgba(25,22,48,.05);transition:box-shadow .15s,transform .15s,border-color .15s;}
.dl-card:hover{box-shadow:0 8px 22px rgba(45,52,97,.10);transform:translateY(-2px);}
.dl-ic{flex:none;width:46px;height:46px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;letter-spacing:.04em;}
/* alternating navy / gold treatment */
.dl-card:nth-child(odd){background:linear-gradient(180deg,#FAFAFE,#fff);border-color:#E7E8F4;}
.dl-card:nth-child(even){background:linear-gradient(180deg,#FFFCF4,#fff);border-color:var(--gold-soft);}
.dl-card:nth-child(odd) .dl-ic{background:var(--navy);color:#fff;}
.dl-card:nth-child(even) .dl-ic{background:var(--gold);color:var(--navy);}
.dl-card:nth-child(odd):hover{border-color:var(--lav2);}
.dl-card:nth-child(even):hover{border-color:var(--gold);}
.dl-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.dl-ttl{font-size:14px;font-weight:800;color:var(--navy);}
.dl-desc{font-size:12px;color:var(--muted);line-height:1.45;}
.dl-go{flex:none;color:var(--navy);opacity:.45;transition:.15s;}
.dl-go svg{width:18px;height:18px;}
.dl-card:hover .dl-go{opacity:1;color:#9C7C33;}
@media(max-width:760px){.dl-grid{grid-template-columns:1fr;}}

/* Notifications bell + dropdown */
.bell-wrap{position:relative;display:flex;align-items:center;}
.bell{background:none;border:none;cursor:pointer;padding:2px;}
.bell-panel{position:absolute;top:36px;right:0;width:300px;max-width:86vw;background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:0 18px 50px rgba(20,20,40,.22);z-index:60;overflow:hidden;}
.bell-panel.hidden{display:none;}
.bell-hd{font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:12px 14px 8px;}
.bell-item{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:none;border:none;border-top:1px solid var(--border);padding:11px 14px;cursor:pointer;font-family:inherit;}
.bell-item:hover{background:var(--off);}
.bell-item .bi-dot{width:7px;height:7px;border-radius:50%;background:var(--gold);margin-top:5px;flex:none;}
.bell-item .bi-t{display:block;font-size:13px;font-weight:700;color:var(--navy);line-height:1.3;}
.bell-item .bi-d{display:block;font-size:11px;color:var(--light);margin-top:1px;}
.bell-empty{padding:14px;font-size:12.5px;color:var(--muted);}
.bell-all{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:var(--navy);color:#fff;border:none;cursor:pointer;font-size:12.5px;font-weight:700;padding:11px;font-family:inherit;}
.bell-all:hover{background:var(--navy-dark);}
.bell-all svg{width:14px;height:14px;}

/* Clickable user chip + photo avatars */
.user-chip{cursor:pointer;border-radius:10px;padding:2px 6px 2px 2px;transition:background .15s;}
.user-chip:hover{background:var(--off);}
.avatar.has-photo{background-size:cover;background-position:center;color:transparent;}

/* Profile modal */
.pf-photo{display:flex;align-items:center;gap:16px;margin-bottom:20px;}
.pf-avatar{width:74px;height:74px;border-radius:50%;background:var(--lav);color:var(--navy);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:25px;flex:none;}
.pf-avatar.has-photo{background-size:cover;background-position:center;color:transparent;}
.pf-photo-btns{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.pf-photo-btns .btn-soft{font-size:12px;}

/* Invite banner (register) + Team / agency view */
.invite-banner{background:#FCEFD2;border:1px solid var(--gold-soft);color:#7A5A00;font-size:12.5px;font-weight:600;border-radius:10px;padding:10px 12px;margin-bottom:12px;line-height:1.45;text-align:left;}
.invite-banner.hidden{display:none;}
.tm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;}
.tm-stat{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:0 1px 2px rgba(25,22,48,.04);}
.tm-stat-ic{width:42px;height:42px;border-radius:11px;background:var(--lav);color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none;}
.tm-stat-ic svg{width:20px;height:20px;}
.tm-stat-n{font-size:20px;font-weight:800;color:var(--navy);line-height:1;}
.tm-stat-l{font-size:11.5px;color:var(--muted);margin-top:3px;}
.tm-invite-btns{display:flex;gap:10px;flex-wrap:wrap;}
.tm-invite-btns svg{width:15px;height:15px;}
.tm-invite-out{margin-top:14px;}
.tm-invite-out.hidden{display:none;}
.tm-link-lbl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;}
.tm-link-row{display:flex;gap:8px;}
.tm-link-row input{flex:1;min-width:0;padding:10px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:12.5px;color:var(--navy);background:var(--off);}
.ag-name-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.ag-name-row input{flex:1 1 240px;min-width:0;padding:10px 12px;border:1.5px solid var(--border);border-radius:9px;font-size:13px;color:var(--navy);background:var(--off);}
.tm-table{width:100%;border-collapse:collapse;font-size:13px;}
.tm-table th{text-align:left;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:9px 10px;border-bottom:1px solid var(--border);}
.tm-table td{padding:11px 10px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:top;}
.tm-table td.num,.tm-table th.num{text-align:right;white-space:nowrap;}
.tm-name{font-weight:700;color:var(--navy);}
.tm-sub{font-size:11px;color:var(--light);}
.tm-role{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:20px;}
.tm-role.tm-master{background:#FCEFD2;color:#7A5A00;}
.tm-role.tm-agency{background:var(--lav);color:var(--navy);}
.tm-role.tm-agent{background:#EDEDF2;color:#5A5A70;}
.tm-empty{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:13px;line-height:1.5;padding:10px 2px;}
/* ---- Agency: per-agent checklist progress + open-their-dashboard ---- */
.rt-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px;}
.rt-tab{display:inline-flex;align-items:center;gap:7px;background:var(--off);color:var(--muted);border:1px solid var(--border);cursor:pointer;font:inherit;font-size:12px;font-weight:800;padding:7px 12px;border-radius:99px;}
.rt-tab:hover{background:var(--lav);color:var(--navy);}
.rt-tab.on{background:var(--navy);border-color:var(--navy);color:#fff;}
.rt-tab .rt-n{font-size:11px;font-weight:800;background:rgba(0,0,0,.08);border-radius:99px;padding:1px 7px;min-width:20px;text-align:center;}
.rt-tab.on .rt-n{background:rgba(255,255,255,.22);}
.rt-warn{display:flex;gap:9px;align-items:flex-start;background:#FFF8E7;border:1px solid var(--gold-soft);border-radius:10px;padding:9px 12px;font-size:12px;color:#7A5A00;line-height:1.45;margin:0 0 12px;}
.rt-warn svg{width:15px;height:15px;flex-shrink:0;margin-top:1px;color:#92660A;}
.rt-sel{font:inherit;font-size:11.5px;font-weight:800;border:1px solid var(--border);border-radius:8px;padding:6px 8px;background:#fff;color:var(--navy);cursor:pointer;max-width:132px;}
.rt-sel:focus{border-color:var(--navy);outline:none;}
.rt-sel.rt-revive{background:#FFF8E7;border-color:var(--gold-soft);color:#7A5A00;}
.rt-sel.rt-inactive{background:#F3F3F6;color:#6B6B80;}
.tm-scroll{overflow-x:auto;}
/* On a phone the roster is nine columns and sideways scrolling is where people
   miss things. Drop the ones you can look up elsewhere — BFG id, agency, last
   login — and keep who they are, how far through onboarding, their week, and
   what you can do about it. The data is still in the CSV export. */
@media(max-width:760px){
  .tm-table .c-id, .tm-table .c-agency, .tm-table .c-login{display:none;}
  .tm-table .tm-sub{word-break:break-word;}
  .tm-acts{flex-wrap:wrap;justify-content:flex-start;}
  .tm-prog{min-width:120px;}
}
.tm-prog{display:flex;align-items:center;gap:8px;min-width:158px;}
.tm-prog .agp-bar{flex:1 1 auto;min-width:62px;}
.tm-prog .p{font-size:11.5px;font-weight:800;color:var(--navy);white-space:nowrap;}
.tm-prog .p.done{color:#1d6e4f;}
.tm-prog .p.none{color:var(--light);}
.tm-prog-na{color:var(--light);}
.tm-acts{display:flex;gap:6px;justify-content:flex-end;}
.tm-table tr.tm-detail td{padding-top:0;}
.agp-bar{flex:1 1 160px;height:8px;border-radius:99px;background:var(--off);overflow:hidden;min-width:110px;}
.agp-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#6A659C,#504C7E);}
.agp-fill.done{background:linear-gradient(90deg,#2E9E6B,#1d6e4f);}
.agp-btn{background:var(--lav);color:var(--navy);border:none;cursor:pointer;font:inherit;font-size:11.5px;font-weight:800;padding:7px 12px;border-radius:8px;display:inline-flex;align-items:center;gap:5px;}
.agp-btn:hover{background:var(--lav2);}
.agp-btn svg{width:13px;height:13px;}
.agp-detail{margin:10px 0 2px;padding:11px 13px;background:var(--off);border-radius:10px;}
.agp-ph{display:flex;align-items:center;gap:9px;font-size:12px;padding:4px 0;color:var(--text);}
.agp-ph .t{flex:1;min-width:0;}
.agp-ph .c{font-weight:800;color:var(--muted);flex:0 0 auto;font-size:11.5px;}
.agp-dot{width:15px;height:15px;border-radius:50%;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;background:var(--border);color:#fff;}
.agp-dot.on{background:#2E9E6B;}
.agp-dot svg{width:9px;height:9px;}
.agp-none{font-size:12.5px;color:var(--muted);padding:14px 2px;line-height:1.5;}
/* Viewing-another-agent banner, in place of the My production / Agency toggle */
.biz-viewas{display:inline-flex;align-items:center;gap:9px;padding:7px 9px 7px 13px;background:#FBF4DF;border:1px solid var(--gold-soft);border-radius:11px;font-size:12.5px;font-weight:700;color:#7A5A00;}
.biz-viewas svg{color:#92660A;flex:none;}
.biz-viewas button{background:var(--navy);color:#fff;border:none;cursor:pointer;font:inherit;font-size:11.5px;font-weight:800;padding:6px 12px;border-radius:8px;}
.biz-viewas button:hover{background:var(--navy-dark);}
.tm-empty svg{width:22px;height:22px;flex:none;color:var(--lav2);}
@media(max-width:760px){.tm-cards{grid-template-columns:1fr;}}

/* ==========================================================================
   ACTIVITY TRACKER + BUSINESS DASHBOARD + CLIENTS  (ADDITIVE)
   All selectors are namespaced (.act-* / .bizdash-*) so nothing can leak into
   the existing pages. Colors/fonts reuse the existing BFG tokens only.
   ========================================================================== */
/* ---- shared sub-tab strip (Business Dashboard) ---- */
.bizdash-subnav{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 12px;margin:0 0 4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.bizdash-subnav::-webkit-scrollbar{height:6px;}
.bizdash-subnav::-webkit-scrollbar-thumb{background:var(--lav2);border-radius:6px;}
.bizdash-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:10px;background:#fff;border:1px solid var(--border);color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;}
.bizdash-tab svg{width:15px;height:15px;}
.bizdash-tab:hover{border-color:var(--navy-light);color:var(--navy);}
.bizdash-tab.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.bizdash-tab.active svg{color:var(--gold-soft);}
.bizdash-panel{animation:bizFade .25s ease;}
@keyframes bizFade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}

/* ---- KPI / stat cards (shared by Activity + Business Dashboard) ---- */
.act-kpis,.bizdash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:4px 0 18px;}
.act-kpi{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px 16px 15px;position:relative;overflow:hidden;}
.act-kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--navy);border-radius:14px 0 0 14px;}
.act-kpi.gold::before{background:var(--gold);}
.act-kpi.green::before{background:var(--green);}
.act-kpi.warn::before{background:var(--gold);}
.act-kpi.bad::before{background:var(--red);}
.act-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;}
.act-kpi-lbl{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.act-kpi-ic{width:30px;height:30px;border-radius:9px;background:var(--lav);color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none;}
.act-kpi-ic svg{width:16px;height:16px;}
.act-kpi-val{font-size:26px;font-weight:800;color:var(--text);line-height:1.05;letter-spacing:-.01em;}
.act-kpi-sub{font-size:11.5px;color:var(--light);font-weight:600;margin-top:4px;}

/* ---- Activity counter stepper buttons (shared by the Today's Numbers cards) ---- */
.act-step-btn{width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--off);color:var(--navy);font-size:17px;font-weight:800;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s;}
.act-step-btn:hover{background:var(--lav);border-color:var(--navy-light);}
.act-step-btn:active{transform:scale(.94);}

/* ---- ratio chips ---- */
.act-ratios{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;}
.act-ratio{background:var(--off);border:1px solid var(--border);border-radius:12px;padding:13px 15px;}
.act-ratio-lbl{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.act-ratio-val{font-size:22px;font-weight:800;color:var(--navy);margin-top:4px;letter-spacing:-.01em;}
.act-ratio-hint{font-size:11px;color:var(--light);font-weight:600;margin-top:2px;}

/* ---- Today's Numbers counter cards: clean two-row layout (icon + full label
   + Goal sub-label on top, [-][input][+] control group on bottom). Responsive
   auto-fill grid keeps a consistent card size so labels never truncate. ---- */
.act-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;}
.act-card{display:flex;flex-direction:column;justify-content:space-between;gap:12px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:14px;min-height:128px;}
.act-card-top{display:flex;align-items:flex-start;gap:10px;}
.act-card-ic{width:34px;height:34px;border-radius:9px;background:var(--lav);color:var(--navy);display:flex;align-items:center;justify-content:center;flex:none;}
.act-card-ic svg{width:17px;height:17px;}
.act-card-meta{flex:1;min-width:0;}
.act-card-lbl{font-size:13px;font-weight:700;color:var(--text);line-height:1.25;}
.act-card-goal{font-size:11px;color:var(--light);font-weight:600;margin-top:2px;}
.act-card-ctl{display:flex;align-items:center;justify-content:center;gap:8px;}
.act-card-ctl .act-step-btn{width:36px;height:36px;border-radius:9px;border:1px solid var(--border);background:var(--off);color:var(--navy);font-size:19px;font-weight:800;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none;transition:background .12s,border-color .12s;}
.act-card-ctl .act-step-btn:hover{background:var(--lav);border-color:var(--navy-light);}
.act-card-ctl .act-step-btn:active{transform:scale(.94);}
.act-card-ctl input{width:100%;max-width:88px;min-width:60px;text-align:center;font-size:18px;font-weight:800;color:var(--text);border:1px solid var(--border);border-radius:9px;padding:7px 4px;background:#fff;font-family:inherit;}
.act-card-ctl input:focus{border-color:var(--navy);outline:none;}
.act-card-ctl-money{position:relative;justify-content:stretch;}
.act-card-ctl-money .act-money-pre{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px;font-weight:800;color:var(--muted);pointer-events:none;}
.act-card-ctl-money input{max-width:none;width:100%;text-align:left;padding-left:26px;}

/* ---- Submit Entry / Change Date control bar ----
   Slightly smaller buttons, pulled up tight so they nuzzle inline against the
   counter cards (esp. AP Written) for a cleaner, more polished row. */
.act-submitbar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:10px;}
.act-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--gold);color:var(--navy-dark);font-size:12.5px;font-weight:800;padding:8px 15px;border-radius:9px;border:none;cursor:pointer;transition:filter .15s,background .15s;min-height:36px;}
.act-submit-btn svg{width:15px;height:15px;}
.act-submit-btn:hover{background:var(--gold-soft);}
.act-submit-btn:disabled{opacity:.7;cursor:default;}
.act-submit-btn.ok{background:var(--green-bg);color:var(--green);}
.act-date-btn{display:inline-flex;align-items:center;gap:6px;background:var(--off);color:var(--navy);font-size:11.5px;font-weight:700;padding:8px 13px;border-radius:9px;border:1px solid var(--border);cursor:pointer;transition:background .12s,border-color .12s;min-height:36px;}
.act-date-btn svg{width:14px;height:14px;}
.act-date-btn:hover{background:var(--lav);border-color:var(--navy-light);}
.act-date-picker{display:flex;align-items:center;gap:8px;}
.act-date-picker input{font-family:inherit;font-size:13px;font-weight:600;color:var(--text);border:1px solid var(--border);border-radius:9px;padding:9px 11px;background:#fff;}
.act-date-picker input:focus{border-color:var(--navy);outline:none;}
.act-saved-ts{font-size:11.5px;color:var(--muted);font-weight:600;}
.act-spin{width:15px;height:15px;border:2px solid rgba(60,57,96,.3);border-top-color:var(--navy-dark);border-radius:50%;display:inline-block;animation:act-spin .6s linear infinite;}
@keyframes act-spin{to{transform:rotate(360deg);}}
.act-err{font-size:12px;font-weight:700;color:var(--red);margin-top:8px;}
.act-datebanner{display:none;align-items:center;flex-wrap:wrap;gap:10px;background:var(--gold-soft);border:1px solid var(--gold);border-radius:10px;padding:10px 14px;margin-top:14px;font-size:13px;font-weight:700;color:var(--navy-dark);}
.act-datebanner.show{display:flex;}
.act-datebanner .act-backtoday{background:var(--navy);color:#fff;font-size:12px;font-weight:700;padding:7px 13px;border-radius:8px;border:none;cursor:pointer;min-height:36px;}
.act-datebanner .act-backtoday:hover{background:var(--navy-dark);}
.act-datebanner .act-bn-note{font-weight:600;color:var(--navy-dark);font-size:11.5px;}

/* ---- Monthly Tracker: month nav + inline row editing ---- */
.dwm-monthnav{display:inline-flex;align-items:center;gap:6px;}
.dwm-navbtn{width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--off);color:var(--navy);font-size:17px;font-weight:800;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s;}
.dwm-navbtn:hover:not(:disabled){background:var(--lav);border-color:var(--navy-light);}
.dwm-navbtn:disabled{opacity:.35;cursor:default;}
.dwm-monthnav-lbl{min-width:118px;text-align:center;font-size:13px;font-weight:800;color:var(--navy);}
.dwm-table tbody tr.dwm-editable{cursor:pointer;}
.dwm-table tbody tr.dwm-editable:hover{background:var(--off);}
.dwm-table tbody tr.dwm-editing{background:var(--lav);}
.dwm-table td .dwm-cell-in{width:72px;max-width:72px;text-align:right;font-size:13px;font-weight:700;color:var(--text);border:1px solid var(--navy-light);border-radius:7px;padding:5px 6px;background:#fff;font-family:inherit;font-variant-numeric:tabular-nums;}
.dwm-table td .dwm-cell-in:focus{border-color:var(--navy);outline:none;}
.dwm-rowact{display:inline-flex;gap:6px;}
.dwm-rowact button{font-size:11.5px;font-weight:800;border-radius:7px;padding:5px 11px;border:1px solid var(--border);cursor:pointer;min-height:32px;}
.dwm-rowact .dwm-save{background:var(--gold);color:var(--navy-dark);border-color:transparent;}
.dwm-rowact .dwm-save:hover{background:var(--gold-soft);}
.dwm-rowact .dwm-cancel{background:#fff;color:var(--muted);}
.dwm-rowact .dwm-cancel:hover{background:var(--off);}
.dwm-edithint{font-size:11px;color:var(--light);font-weight:600;}

/* ---- generic data table (back-end / deposits / expenses / etc.) ---- */
.bizdash-tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#fff;}
.bizdash-table{width:100%;border-collapse:collapse;font-size:13px;min-width:520px;}
.bizdash-table th{text-align:left;font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--off);white-space:nowrap;}
.bizdash-table td{padding:11px 14px;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;}
.bizdash-table tr:last-child td{border-bottom:none;}
.bizdash-table tr:hover td{background:#FAFAFE;}
.bizdash-table td.num,.bizdash-table th.num{text-align:right;font-variant-numeric:tabular-nums;}
.bizdash-pill{display:inline-block;font-size:11px;font-weight:800;padding:3px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.03em;}
.bizdash-pill.ok{background:var(--green-bg);color:var(--green);}
.bizdash-pill.warn{background:#FCEFD2;color:#7A5A00;}
.bizdash-pill.bad{background:#FBE3D8;color:var(--red);}
.bizdash-pill.info{background:var(--lav);color:var(--navy);}

/* ---- section heading inside dashboard panels ---- */
.bizdash-sec{margin:0 0 14px;}
.bizdash-sec h2{font-size:16px;font-weight:800;color:var(--text);}
.bizdash-sec p{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.5;}
.bizdash-note{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--muted);line-height:1.5;background:var(--lav);border:1px solid var(--lav2);border-radius:11px;padding:11px 13px;margin-top:14px;}
.bizdash-note svg{width:17px;height:17px;flex:none;color:var(--navy);margin-top:1px;}
/* The Leads page scopes its own --lav2 to the page background and sizes .icon at
   22px, so a .bizdash-note dropped inside .lds loses its 1px outline and gets an
   oversized glyph. Restore both, scoped, rather than touching the global rule. */
.lds .bizdash-note{border-color:#B8BCE0;}
.lds .bizdash-note svg{width:17px;height:17px;}
/* Income / Back-End — empty state + mark-advance-paid action (namespaced, additive). */
.bizdash-empty{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--text);line-height:1.5;background:var(--off);border:1px dashed var(--border);border-radius:11px;padding:18px 16px;}
.bizdash-empty svg{width:20px;height:20px;flex:none;color:var(--navy);margin-top:1px;}
.biz-mark-paid{font-size:11px;font-weight:800;color:#fff;background:var(--navy);border:none;border-radius:8px;padding:5px 10px;cursor:pointer;white-space:nowrap;letter-spacing:.02em;}
.biz-mark-paid:hover{background:var(--navy-dark,#3C3960);}
.biz-mark-paid:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.biz-act-muted{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.biz-adv-list{display:flex;flex-direction:column;gap:9px;}
.biz-adv-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:11px;background:var(--off);}
/* A bare one-line div sitting among ~48px label+input stacks, so the row's
   align-items:flex-end pinned it to the bottom edge instead of the optical
   centre. Centre it, and size it to fill the column a short name (CICA)
   would otherwise leave looking empty. */
.biz-adv-name{font-weight:800;font-size:15px;line-height:1.3;color:var(--text);flex:1 1 160px;min-width:120px;align-self:center;}
.biz-adv-fld{display:flex;flex-direction:column;gap:3px;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;}
.biz-adv-fld input{width:88px;font-size:13px;font-weight:600;color:var(--text);padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:#fff;}
.biz-adv-fld input:focus-visible{outline:2px solid var(--gold);outline-offset:1px;}
.biz-adv-save{font-size:12px;font-weight:800;color:#fff;background:var(--navy);border:none;border-radius:8px;padding:8px 14px;cursor:pointer;letter-spacing:.02em;}
.biz-adv-save:hover{background:var(--navy-dark,#3C3960);}
.biz-adv-save:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.bizdash-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.bizdash-bars{display:flex;flex-direction:column;gap:11px;}
.bizdash-bar-row{display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:12px;font-size:12.5px;}
.bizdash-bar-row .nm{font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.bizdash-bar-track{height:9px;border-radius:6px;background:var(--off);overflow:hidden;}
.bizdash-bar-fill{height:100%;border-radius:6px;background:var(--navy);}
.bizdash-bar-fill.gold{background:var(--gold);}
.bizdash-bar-val{font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;min-width:54px;text-align:right;}

/* ---- Batch 4.2: Goals reverse-calculator (bizcalc-*) ---- */
.bizcalc-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:4px 0 12px;}
.bizcalc-target{display:flex;flex-direction:column;gap:5px;}
.bizcalc-target label{font-size:12px;font-weight:700;color:var(--text);}
.bizcalc-target input{border:1px solid var(--border);border-radius:9px;padding:10px 12px;font-size:16px;font-weight:800;font-family:inherit;color:var(--text);background:#fff;}
.bizcalc-target input:focus{border-color:var(--navy);outline:none;}
.bizcalc-money{display:flex;align-items:center;border:1px solid var(--border);border-radius:9px;background:#fff;padding-left:11px;}
.bizcalc-money span{font-size:16px;font-weight:800;color:var(--muted);}
.bizcalc-money input{border:none;border-radius:0 9px 9px 0;flex:1;width:100%;}
.bizcalc-money:focus-within{border-color:var(--navy);}
.bizcalc-assume{margin:4px 0 6px;border:1px solid var(--border);border-radius:11px;background:var(--off);padding:0 13px;}
.bizcalc-assume summary{cursor:pointer;font-size:12.5px;font-weight:800;color:var(--text);padding:11px 0;list-style:revert;}
.bizcalc-assume-hint{font-weight:500;color:var(--muted);}
.bizcalc-ratios{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:11px;padding:4px 0 12px;}
.bizcalc-ratio{display:flex;flex-direction:column;gap:5px;}
.bizcalc-ratio label{font-size:11.5px;font-weight:700;color:var(--text);}
.bizcalc-ratio-in{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden;}
.bizcalc-ratio-in input{border:none;flex:1;width:100%;padding:8px 10px;font-size:14px;font-weight:700;font-family:inherit;color:var(--text);background:transparent;}
.bizcalc-ratio-in input:focus{outline:none;}
.bizcalc-ratio-in:focus-within{border-color:var(--navy);}
.bizcalc-ratio-suf{padding:0 10px;font-size:12.5px;font-weight:800;color:var(--muted);}
.bizcalc-result{margin:8px 0 4px;}
.bizcalc-empty{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--muted);line-height:1.5;background:var(--lav);border:1px solid var(--lav2);border-radius:11px;padding:13px 15px;}
.bizcalc-empty svg{width:18px;height:18px;flex:none;color:var(--navy);margin-top:1px;}
.bizcalc-goalline{font-size:13.5px;color:var(--text);line-height:1.5;margin:2px 0 12px;}
.bizcalc-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;}
.bizcalc-metric{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:13px 14px;}
.bizcalc-metric-ic{width:38px;height:38px;flex:none;border-radius:10px;background:var(--lav);display:flex;align-items:center;justify-content:center;color:var(--navy);}
.bizcalc-metric-ic svg{width:19px;height:19px;}
.bizcalc-metric-total{font-size:22px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.05;}
.bizcalc-metric-lbl{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-top:2px;}
.bizcalc-metric-pd{font-size:12px;color:var(--navy);font-weight:700;margin-top:2px;}
.bizcalc-srcnote{display:flex;gap:9px;align-items:flex-start;font-size:11.5px;color:var(--muted);line-height:1.5;margin-top:13px;}
.bizcalc-srcnote svg{width:15px;height:15px;flex:none;color:var(--navy);margin-top:1px;}
.bizcalc-month{font-size:12px;font-weight:700;color:var(--muted);}
.bizcalc-prog{margin:0 0 16px;}
.bizcalc-prog:last-child{margin-bottom:0;}
.bizcalc-prog-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;}
.bizcalc-prog-lbl{font-size:12.5px;font-weight:700;color:var(--text);}
.bizcalc-prog-val{font-size:12.5px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;}
.bizcalc-prog-sep{color:var(--light);font-weight:600;}
.bizcalc-track{height:10px;border-radius:6px;background:var(--off);overflow:hidden;}
.bizcalc-fill{height:100%;border-radius:6px;background:var(--navy);transition:width .3s;}
.bizcalc-fill.gold{background:var(--gold);}
.bizcalc-prog-pct{font-size:11px;font-weight:800;color:var(--muted);text-align:right;margin-top:3px;}

/* ---- Batch 4.2: Chargebacks inline editing (bizcb-*) ---- */
.bizcb-inp{width:100px;border:1px solid var(--border);border-radius:8px;padding:6px 9px;font-size:13px;font-family:inherit;color:var(--text);background:#fff;}
.bizcb-inp.wide{width:180px;}
.bizcb-inp:focus{border-color:var(--navy);outline:none;}
.bizcb-status{border:1px solid var(--border);border-radius:8px;padding:6px 8px;font-size:12.5px;font-family:inherit;color:var(--text);background:#fff;cursor:pointer;}
.bizcb-status:focus{border-color:var(--navy);outline:none;}
.bizcb-statuscell{white-space:nowrap;}
.bizcb-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;}
.bizcb-toolbar .bizcb-addbtn{margin-left:auto;}

/* ---- Batch 4.2: Bank Reconciliation (bizbr-* / #bizBR*) ---- */
.bizbr-drop{border:2px dashed var(--lav2);border-radius:14px;background:var(--lav);padding:22px 18px;text-align:center;cursor:pointer;transition:border-color .12s,background .12s;position:relative;}
.bizbr-drop.bizbr-drag{border-color:var(--navy);background:#EEF0FF;}
.bizbr-drop:focus-visible{outline:2px solid var(--navy);outline-offset:2px;}
.bizbr-drop-ic svg{width:30px;height:30px;color:var(--navy);}
.bizbr-drop-main{font-size:14px;font-weight:800;color:var(--text);margin-top:6px;}
.bizbr-drop-sub{font-size:12px;color:var(--muted);margin-top:3px;}
.bizbr-browse{color:var(--navy);font-weight:700;text-decoration:underline;}
.bizbr-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;}
.bizbr-col-hd{font-size:13px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:7px;margin-bottom:8px;}
.bizbr-col-hd svg{width:16px;height:16px;color:var(--navy);}
.bizbr-col-tot{margin-left:auto;font-variant-numeric:tabular-nums;}
.bizbr-list{display:flex;flex-direction:column;gap:7px;}
.bizbr-row{display:grid;grid-template-columns:90px 1fr 90px auto;gap:7px;align-items:center;}
.bizbr-cell{border:1px solid var(--border);border-radius:7px;padding:6px 8px;font-size:12.5px;font-family:inherit;color:var(--text);background:#fff;min-width:0;}
.bizbr-cell:focus{border-color:var(--navy);outline:none;}
.bizbr-cell.amt{text-align:right;font-variant-numeric:tabular-nums;}
.bizbr-empty{font-size:12px;color:var(--muted);padding:8px 2px;}
.bizbr-status{font-size:12px;color:var(--muted);margin-top:8px;min-height:15px;}
.bizbr-status.ok{color:var(--green);}
.bizbr-status.warn{color:#7A5A00;}
.bizbr-addbtn{margin-top:9px;}
.bizbr-del{background:none;border:none;padding:5px;border-radius:6px;color:var(--red);cursor:pointer;}
.bizbr-del svg{width:15px;height:15px;}
.bizbr-del:hover{background:var(--lav);}

/* ---- Batch 4.2: Carriers (bizcarr-*) ---- */
.bizcarr-secthead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;flex-wrap:wrap;}
.bizcarr-secthead h3{font-size:14px;font-weight:800;color:var(--text);}
.bizcarr-add{background:var(--navy);color:#fff;border:none;border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:800;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;}
.bizcarr-add svg{width:15px;height:15px;}
.bizcarr-add:hover{background:var(--navy-dark,#3C3960);}
.bizcarr-link{display:inline-flex;align-items:center;gap:4px;color:var(--navy);font-weight:700;text-decoration:none;font-size:12.5px;}
.bizcarr-link svg{width:14px;height:14px;}
.bizcarr-pwcell{white-space:nowrap;}
.bizcarr-pw{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;color:var(--text);}
.bizcarr-pw.mask{letter-spacing:1px;color:var(--muted);}
.bizcarr-iconbtn{background:none;border:none;padding:3px;border-radius:6px;color:var(--navy);cursor:pointer;vertical-align:middle;}
.bizcarr-iconbtn svg{width:15px;height:15px;}
.bizcarr-iconbtn:hover{background:var(--lav);}
.bizcarr-actions{white-space:nowrap;}
.pb-rowbtn.danger{color:var(--red);}
.bizcarr-extra{margin-top:4px;display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--muted);}
.bizcarr-editrow td{background:var(--off);}
.bizcarr-editgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;}
.bizcarr-editgrid label{display:flex;flex-direction:column;gap:4px;font-size:11.5px;font-weight:700;color:var(--text);}
.bizcarr-editgrid .bizcarr-extralbl,.bizcarr-editgrid .bizcarr-notelbl{grid-column:1/-1;}
.bizcarr-inp{border:1px solid var(--border);border-radius:8px;padding:7px 10px;font-size:13px;font-family:inherit;color:var(--text);background:#fff;font-weight:600;}
.bizcarr-inp:focus{border-color:var(--navy);outline:none;}
.bizcarr-editbtns{margin-top:12px;display:flex;gap:8px;align-items:center;}
.bizcarr-msg{font-size:12.5px;font-weight:800;color:var(--green);min-height:16px;margin-top:10px;}
@media(max-width:640px){.bizbr-cols{grid-template-columns:1fr;}}

/* ---- Pending-Business overhaul (Submitted Business › Part 2 + Pending Policies) ---- */
.pb-ipaid-card .pb-ipaid-edit{display:flex;align-items:center;gap:2px;}
.pb-ipaid-pre{font-size:18px;font-weight:800;color:var(--text);}
.pb-ipaid-input{width:120px;border:1px solid var(--border);border-radius:9px;padding:5px 9px;font-size:18px;font-weight:800;font-family:inherit;color:var(--text);background:#fff;}
.pb-ipaid-input:focus{border-color:var(--navy);outline:none;}
.pb-ipaid-msg{color:var(--green);font-weight:800;margin-left:6px;}
.pb-drop{border:2px dashed var(--lav2);border-radius:14px;background:var(--lav);padding:22px 18px;text-align:center;cursor:pointer;transition:border-color .12s,background .12s;position:relative;}
.pb-drop.pb-drag{border-color:var(--navy);background:#EEF0FF;}
.pb-drop:focus-visible{outline:2px solid var(--navy);outline-offset:2px;}
.pb-file-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.pb-drop-inner svg{width:30px;height:30px;color:var(--navy);}
.pb-drop-ttl{font-size:14px;font-weight:800;color:var(--text);margin-top:8px;}
.pb-drop-sub{font-size:12px;color:var(--muted);margin-top:3px;}
.pb-drop-browse{background:none;border:none;color:var(--navy);font-weight:800;font-family:inherit;cursor:pointer;text-decoration:underline;font-size:12px;padding:0;}
.pb-drop-file{margin-top:12px;font-size:12.5px;font-weight:700;color:var(--text);display:flex;align-items:center;justify-content:center;gap:7px;}
.pb-drop-file svg{width:16px;height:16px;}
.pb-upspin{display:inline-block;width:14px;height:14px;border:2px solid var(--lav2);border-top-color:var(--navy);border-radius:50%;animation:pbspin .7s linear infinite;}
@keyframes pbspin{to{transform:rotate(360deg);}}
.pb-extract-note{display:flex;gap:9px;align-items:flex-start;font-size:11.5px;color:var(--muted);line-height:1.5;background:#FCF7E8;border:1px solid #EFE0B8;border-radius:10px;padding:9px 12px;margin:12px 0 14px;}
.pb-extract-note svg{width:15px;height:15px;flex:none;color:#9A7A1A;margin-top:1px;}
/* Batch 4.3 — AI extraction status + AI-filled field marker (namespaced). */
.pb-ai-status{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:700;line-height:1.45;border-radius:10px;padding:8px 12px;margin:10px 0 0;}
.pb-ai-status svg{width:15px;height:15px;flex:none;}
.pb-ai-reading{background:var(--lav);color:var(--navy);border:1px solid var(--lav2);}
.pb-ai-ok{background:#FBF4DD;color:#7A5E12;border:1px solid var(--gold-soft);}
.pb-ai-ok svg{color:#9A7A1A;}
.pb-ai-manual{background:var(--off);color:var(--muted);border:1px solid var(--border);font-weight:600;}
.pb-ai-manual svg{color:var(--muted);}
.pb-field input.pb-ai-filled{background:#FBF4DD;border-color:var(--gold-soft);box-shadow:inset 0 0 0 1px var(--gold-soft);}
.pb-ai-tag{font-size:10px;font-weight:800;color:#9A7A1A;text-transform:uppercase;letter-spacing:.02em;margin-top:2px;}
@media(prefers-reduced-motion:reduce){.pb-upspin{animation:none;}}
.pb-fieldgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:11px;}
.pb-field{display:flex;flex-direction:column;gap:4px;}
.pb-flbl{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;}
.pb-field input[type=text],.pb-field input[type=number],.pb-field input[type=date]{border:1px solid var(--border);border-radius:9px;padding:8px 10px;font-size:13px;font-family:inherit;color:var(--text);background:#fff;width:100%;}
.pb-field input:focus{border-color:var(--navy);outline:none;}
.pb-field-check{flex-direction:row;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:9px;padding:9px 11px;}
.pb-field-check input{width:16px;height:16px;}
.pb-field select{border:1px solid var(--border);border-radius:9px;padding:8px 10px;font-size:13px;font-family:inherit;color:var(--text);background:#fff;width:100%;}
.pb-field select:focus{border-color:var(--navy);outline:none;}
/* Source picker: a <select> plus an INLINE add/remove manager. Deliberately not
   a modal — #pbModalHost is a single shared host that is already occupied when
   this renders inside Edit Pending Policy / Edit Sale. */
.src-pick{display:flex;flex-direction:column;gap:5px;}
.src-pick select{width:100%;border:1px solid var(--border);border-radius:9px;padding:8px 10px;font-size:13px;font-family:inherit;color:var(--text);background:#fff;}
.src-pick select:focus{border-color:var(--navy);outline:none;}
.src-manage{align-self:flex-start;display:inline-flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font:inherit;font-size:10.5px;font-weight:800;color:var(--navy);padding:1px 0;text-transform:uppercase;letter-spacing:.02em;}
.src-manage:hover{color:var(--navy-dark);text-decoration:underline;}
.src-manage svg{width:12px;height:12px;}
.src-mgr{border:1px solid var(--lav2);background:var(--lav);border-radius:10px;padding:10px;}
.src-mgr-ttl{font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.02em;margin-bottom:6px;}
.src-list{list-style:none;margin:0 0 8px;padding:0;max-height:170px;overflow-y:auto;}
.src-item{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;font-weight:600;color:var(--text);background:#fff;border:1px solid var(--border);border-radius:8px;padding:4px 5px 4px 9px;margin-bottom:4px;}
.src-empty{font-size:12px;color:var(--muted);padding:2px 0 6px;}
.src-del{background:none;border:none;cursor:pointer;color:var(--muted);width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;}
.src-del:hover{background:#FBEAE2;color:#C2410C;}
.src-del svg{width:13px;height:13px;}
.src-addrow{display:flex;gap:6px;flex-wrap:wrap;}
.src-addrow input{flex:1 1 120px;min-width:0;border:1px solid var(--border);border-radius:8px;padding:7px 9px;font-size:12.5px;font-family:inherit;background:#fff;color:var(--text);}
.src-addrow input:focus{border-color:var(--navy);outline:none;}
.src-addbtn{flex:0 0 auto;background:var(--navy);color:#fff;border:none;border-radius:8px;padding:7px 13px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;}
.src-addbtn:hover{background:var(--navy-dark);}
.src-mgr-note{font-size:11.5px;color:var(--muted);margin-top:6px;min-height:15px;line-height:1.35;}
.pb-form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;}
.pb-save-msg{font-size:12.5px;font-weight:800;color:var(--green);}
.pb-statuscell{display:flex;align-items:center;gap:6px;}
.pb-fobtn{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;background:#FFF8E7;color:#7A5A00;border:1px solid var(--gold-soft);cursor:pointer;font:inherit;font-size:11px;font-weight:800;padding:5px 9px;border-radius:7px;}
.pb-fobtn:hover{background:#FCEFD2;}
.pb-fobtn svg{width:12px;height:12px;}
.pb-statussel{border:1px solid var(--border);border-radius:8px;padding:5px 8px;font-size:12px;font-weight:700;font-family:inherit;color:var(--text);background:#fff;cursor:pointer;}
.pb-statussel:focus{border-color:var(--navy);outline:none;}
.pb-rowbtn{border:1px solid var(--border);background:var(--off);color:var(--navy);border-radius:8px;padding:5px 10px;font-size:12px;font-weight:800;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:background .12s;}
.pb-rowbtn:hover{background:var(--lav);}
.pb-rowbtn svg{width:14px;height:14px;}
.pb-modal-backdrop{position:fixed;inset:0;background:rgba(40,38,64,.45);display:flex;align-items:flex-start;justify-content:center;padding:30px 16px;z-index:1200;overflow-y:auto;}
.pb-modal{background:#fff;border-radius:16px;max-width:760px;width:100%;padding:22px 22px 24px;box-shadow:0 18px 50px rgba(0,0,0,.25);}
.pb-modal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.pb-modal-hdr h3{font-size:16px;font-weight:800;color:var(--text);}
.pb-modal-x{background:none;border:none;cursor:pointer;color:var(--muted);padding:4px;border-radius:8px;}
.pb-modal-x:hover{background:var(--off);color:var(--text);}
.pb-modal-x svg{width:18px;height:18px;}
.pb-modal-file{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;color:var(--text);background:var(--lav);border:1px solid var(--lav2);border-radius:10px;padding:9px 12px;margin-bottom:14px;}
.pb-modal-file svg{width:16px;height:16px;color:var(--navy);}
.pb-modal-nofile{background:var(--off);color:var(--muted);}
.pb-modal-nofile svg{color:var(--muted);}

/* ---- clients ---- */
.act-clients-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px;}
.act-clients-search{flex:1;min-width:180px;border:1px solid var(--border);border-radius:10px;padding:9px 13px;font-size:14px;font-family:inherit;color:var(--text);}
.act-clients-search:focus{border-color:var(--navy);outline:none;}

@media(max-width:760px){
  .bizdash-grid2{grid-template-columns:1fr;}
  .bizdash-bar-row{grid-template-columns:96px 1fr auto;}
}

/* ==========================================================================
   BUSINESS DASHBOARD AREA — top tab strip + Daily-Activity monthly rollup +
   compact submit form. All .dwm-* namespaced; theme tokens reused only.
   ========================================================================== */
.dwm-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 16px;margin:0 0 4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}
.dwm-strip::-webkit-scrollbar{height:6px;}
.dwm-strip::-webkit-scrollbar-thumb{background:var(--lav2);border-radius:6px;}
.dwm-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:12px;background:#fff;border:1px solid var(--border);color:var(--muted);font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;}
.dwm-tab svg{width:16px;height:16px;}
.dwm-tab:hover{border-color:var(--navy-light);color:var(--navy);}
.dwm-tab.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.dwm-tab.active svg{color:var(--gold-soft);}
.dwm-fade{animation:bizFade .25s ease;}

/* ---- monthly rollup: table beside big stat tiles (old-tracker look) ---- */
.dwm-rollup{display:grid;grid-template-columns:1fr 200px;gap:16px;align-items:start;}
.dwm-tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:#fff;}
.dwm-table{width:100%;border-collapse:collapse;font-size:13px;min-width:560px;}
.dwm-table th{text-align:left;font-size:11px;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.02em;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--lav);white-space:nowrap;}
.dwm-table td{padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text);}
.dwm-table tr:last-child td{border-bottom:none;}
.dwm-table td.num,.dwm-table th.num{text-align:right;font-variant-numeric:tabular-nums;}
.dwm-table tr.dwm-tot td{font-weight:800;background:var(--off);border-top:2px solid var(--lav2);}
.dwm-tiles{display:grid;grid-template-columns:1fr;gap:10px;}
.dwm-tile{background:var(--lav);border:1px solid var(--lav2);border-radius:12px;padding:12px 14px;text-align:center;}
.dwm-tile-lbl{font-size:11.5px;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.02em;}
.dwm-tile-val{font-size:26px;font-weight:800;color:var(--text);line-height:1.1;margin-top:4px;letter-spacing:-.01em;}

/* ---- rate tiles (peach / green / gold accent headers, on-brand) ---- */
.dwm-rates{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:16px;}
.dwm-rate{background:#fff;border:1px solid var(--border);border-radius:12px;padding:13px 15px;border-top:3px solid var(--navy);}
.dwm-rate.green{border-top-color:var(--green);}
.dwm-rate.gold{border-top-color:var(--gold);}
.dwm-rate.peach{border-top-color:var(--gold-soft);}
.dwm-rate-lbl{font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;}
.dwm-rate-val{font-size:24px;font-weight:800;color:var(--text);margin-top:5px;letter-spacing:-.01em;}
.dwm-samp{display:inline-block;font-size:9.5px;font-weight:800;color:#7A5A00;background:#FCEFD2;padding:1px 6px;border-radius:10px;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;margin-left:4px;}

/* ---- ad-set table (hybrid editable + auto) ---- */
.dwm-adset{margin-top:18px;}
.dwm-adset-hd{font-size:13px;font-weight:800;color:var(--text);margin-bottom:10px;}
.dwm-adset-hd .dwm-as-note{display:block;font-size:11px;font-weight:600;color:var(--muted);margin-top:3px;line-height:1.45;letter-spacing:0;text-transform:none;}
/* Dual-basis ROI cell: estimated-commission headline + actual-deposit secondary */
.dwm-roi-cell{line-height:1.25;}
.dwm-roi-comm{display:block;font-weight:800;color:var(--navy);}
.dwm-roi-dep{display:block;font-size:10.5px;font-weight:600;color:var(--muted);margin-top:1px;}
.dwm-roi-th-sub{display:block;font-size:9.5px;font-weight:600;color:var(--muted);text-transform:none;letter-spacing:0;margin-top:1px;}
.dwm-as-table{min-width:720px;}
/* inputs mirror the inline month-edit .dwm-cell-in styling */
.dwm-as-in{font-size:13px;font-weight:700;color:var(--text);border:1px solid var(--navy-light);border-radius:7px;padding:5px 6px;background:#fff;font-family:inherit;font-variant-numeric:tabular-nums;}
.dwm-as-in:focus{border-color:var(--navy);outline:none;}
.dwm-as-num{width:74px;max-width:74px;text-align:right;}
.dwm-as-date{width:140px;max-width:140px;}
.dwm-as-range{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.dwm-as-dash{color:var(--muted);font-weight:700;}
.dwm-as-money{display:inline-flex;align-items:center;gap:3px;justify-content:flex-end;}
.dwm-as-money .dwm-as-cur{color:var(--muted);font-weight:700;font-size:12.5px;}
.dwm-as-closed{display:inline-flex;align-items:center;gap:5px;justify-content:flex-end;}
.dwm-as-in.dwm-as-ovr{border-color:var(--gold);background:#FFFCF3;}
.dwm-as-reset{width:24px;height:24px;border-radius:7px;border:1px solid var(--border);background:var(--off);color:var(--navy);font-size:13px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:none;}
.dwm-as-reset:hover{background:var(--lav);border-color:var(--navy-light);}
.dwm-as-rm{width:26px;height:26px;border-radius:7px;border:1px solid var(--border);background:#fff;color:var(--muted);font-size:17px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.dwm-as-rm:hover{background:var(--off);color:var(--red);border-color:var(--red);}
.dwm-as-actions{margin-top:12px;}
.dwm-as-add{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;color:var(--navy);background:var(--off);border:1px solid var(--border);border-radius:9px;padding:8px 14px;cursor:pointer;min-height:36px;}
.dwm-as-add svg{width:15px;height:15px;}
.dwm-as-add:hover{background:var(--lav);border-color:var(--navy-light);}

/* ---- submitted→issued funnel ---- */
.dwm-funnel{display:flex;flex-direction:column;gap:11px;}
.dwm-funnel-row{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:12px;font-size:12.5px;}
.dwm-funnel-row .nm{font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
/* Both are <span>s, so both need display:block. An inline box ignores width and
   height entirely — the fill was computing to width:60% and still painting at
   0x0, which is why every funnel showed an empty grey track. The track only
   escaped this because it is a grid item, which blockifies it; state it anyway
   so neither depends on its parent's layout mode. */
.dwm-funnel-track{display:block;height:10px;border-radius:6px;background:var(--off);overflow:hidden;}
.dwm-funnel-fill{display:block;height:100%;border-radius:6px;background:var(--navy);}
.dwm-funnel-fill.green{background:var(--green);}
.dwm-funnel-fill.gold{background:var(--gold);}
.dwm-funnel-fill.bad{background:var(--red);}
.dwm-funnel-val{font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;min-width:34px;text-align:right;}

/* ---- compact wide "Log a Sale" form (csc/cs-*) ---- */
.dwm-cform .dwm-cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px 18px;}
.dwm-cform .ssf-field{margin-bottom:0;min-width:0;}
.dwm-cform label.ssf-lbl{display:block;font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:6px;}
.dwm-cform label.ssf-lbl .req{color:var(--red);margin-left:2px;}
.dwm-cform input,.dwm-cform select{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;font-family:inherit;color:var(--text);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;}
.dwm-cform input::placeholder{color:var(--light);}
.dwm-cform input:focus,.dwm-cform select:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(80,76,126,.15);}
.dwm-cform select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23504C7E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;}
.dwm-cform input.hidden{display:none;}
.dwm-cform .ssf-hint{font-size:11.5px;color:var(--light);margin-top:5px;}
.dwm-cform .dwm-copts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px;}
.dwm-cform .ssf-channels{border:1px solid var(--border);border-radius:10px;padding:14px 14px 6px;background:var(--off);}
.dwm-cform .ssf-channels-ttl{font-size:12.5px;font-weight:700;color:var(--navy);margin-bottom:10px;}
.dwm-cform .ssf-chk{display:flex;align-items:center;gap:10px;margin-bottom:10px;cursor:pointer;font-size:13.5px;color:var(--text);user-select:none;}
.dwm-cform .ssf-chk input{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;flex:0 0 auto;margin:0;border:1.5px solid var(--lav2);border-radius:5px;background:#fff;cursor:pointer;position:relative;transition:background .15s,border-color .15s;}
.dwm-cform .ssf-chk input:checked{background:var(--navy);border-color:var(--navy);}
.dwm-cform .ssf-chk input:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);}
.dwm-cform .ssf-chk input:focus-visible{box-shadow:0 0 0 3px rgba(80,76,126,.18);}
.dwm-cform .ssf-chk .ssf-chan{font-weight:700;color:var(--navy);}
.dwm-cform .btn-primary.ssf-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:13px;background:var(--navy);color:#fff;border-radius:11px;font-size:14.5px;font-weight:700;margin-top:20px;transition:background .15s,filter .15s;}
.dwm-cform .btn-primary.ssf-submit svg{width:18px;height:18px;flex:0 0 auto;}
.dwm-cform .btn-primary.ssf-submit:hover{background:var(--navy-dark);filter:brightness(1.05);}
.dwm-cform .btn-primary.ssf-submit:disabled{opacity:.6;cursor:default;filter:none;}
.dwm-cform .ssf-err{color:var(--red);font-size:13px;font-weight:600;margin-top:12px;min-height:1px;}
.dwm-cform .ssf-err:empty{margin-top:0;}
.dwm-cform .ssf-steps{margin-top:18px;border-top:1px solid var(--border);padding-top:16px;}
.dwm-cform .ssf-steps:empty{display:none;border:0;padding:0;margin:0;}
.dwm-cform .ssf-step{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;margin-bottom:9px;line-height:1.45;}
.dwm-cform .ssf-step .ssf-dot{width:18px;height:18px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;}
.dwm-cform .ssf-step.ok .ssf-dot{background:var(--green-bg);color:var(--green);}
.dwm-cform .ssf-step.bad .ssf-dot{background:#FDEAD7;color:var(--red);}
.dwm-cform .ssf-step.pending .ssf-dot{background:#FFF8E7;color:#7A5A00;}
.dwm-cform .ssf-step .ssf-dot svg{width:12px;height:12px;}

@media(max-width:880px){
  .dwm-rollup{grid-template-columns:1fr;}
  .dwm-tiles{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:520px){
  .dwm-tiles{grid-template-columns:repeat(2,1fr);}
  .dwm-funnel-row{grid-template-columns:110px 1fr auto;}
}
/* ===== Two-factor authentication (TOTP) — namespaced .tfa-* ===== */
.tfa-card{}
.tfa-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:10px 0 4px;}
.tfa-badge{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:12px;padding:4px 10px;border-radius:999px;line-height:1;}
.tfa-badge svg{width:14px;height:14px;}
.tfa-badge.on{background:var(--green-bg);color:var(--green);}
.tfa-badge.off{background:var(--lav);color:var(--navy);}
.tfa-actions{margin:8px 0;}
.tfa-loading{font-size:13px;color:var(--muted);font-style:italic;}
.tfa-setup,.tfa-disable{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);}
.tfa-steps{display:flex;flex-direction:column;gap:14px;}
.tfa-step{display:flex;align-items:flex-start;gap:10px;}
.tfa-stepn{flex:none;width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center;}
.tfa-step-ttl{font-size:14px;font-weight:700;color:var(--text);}
.tfa-step-sub{font-size:12.5px;color:var(--muted);margin-top:2px;}
.tfa-qr-wrap{display:flex;justify-content:center;padding:12px;background:#fff;border:1px solid var(--border);border-radius:12px;}
.tfa-qr{line-height:0;}
.tfa-qr-svg{display:block;width:200px;height:200px;max-width:100%;border-radius:6px;}
.tfa-qr-fallback{font-size:13px;color:var(--red);text-align:center;padding:18px;}
.tfa-manual{font-size:12.5px;color:var(--muted);text-align:center;line-height:1.7;}
.tfa-key{display:inline-block;margin-top:4px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;font-weight:700;letter-spacing:1px;color:var(--navy);background:var(--lav);padding:6px 12px;border-radius:8px;word-break:break-all;}
.tfa-code-input{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;font-size:20px;font-weight:700;letter-spacing:6px;text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace;color:var(--text);}
.tfa-code-input:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px var(--lav);}
.tfa-msg{font-size:13px;font-weight:600;min-height:18px;margin:8px 0 2px;}
.tfa-msg.bad{color:var(--red);}
.tfa-msg.ok{color:var(--green);}
.tfa-danger{background:var(--red);}
.tfa-danger:hover{background:#9a330a;}
.tfa-login-sub{font-size:13px;color:var(--muted);margin:2px 0 12px;line-height:1.5;}
#view-tfa-login .tfa-code-input{margin-bottom:10px;}
@media(max-width:520px){
  .tfa-qr-svg{width:170px;height:170px;}
  .tfa-code-input{font-size:18px;letter-spacing:4px;}
}

  /* Searchable client/policy combobox. Lives here rather than in PS_STYLE
     because two pages use it now: the Post-Sale letter's policy picker and
     Part 2's client picker on the Business Dashboard. When it was scoped to
     PS_STYLE the Part 2 dropdown rendered as an unstyled bulleted list. */
  .ps-combo{position:relative;}
  .ps-combo>input[type=text]{width:100%;border:1px solid var(--border);border-radius:9px;padding:9px 34px 9px 11px;font-size:13px;font-family:inherit;color:var(--text);background:#fff;}
  .ps-combo>input[type=text]:focus{border-color:var(--navy);outline:none;}
  .ps-combo>input[type=text]:disabled{background:var(--off);color:var(--muted);}
  .ps-combo-x{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;}
  .ps-combo-x:hover{background:var(--off);color:var(--text);}
  .ps-combo-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;max-height:262px;overflow-y:auto;list-style:none;margin:0;padding:4px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px rgba(35,34,60,.16);}
  .ps-combo-item{display:flex;flex-direction:column;gap:1px;padding:7px 10px;border-radius:7px;color:var(--text);cursor:pointer;}
  .ps-combo-item:hover,.ps-combo-item.on{background:#E8EAFF;}
  .ps-combo-name{font-size:12.5px;font-weight:700;line-height:1.3;}
  .ps-combo-item:hover .ps-combo-name,.ps-combo-item.on .ps-combo-name{color:#3C3960;}
  .ps-combo-meta{font-size:10.5px;font-weight:600;color:var(--muted);line-height:1.35;}
  .ps-combo-item:hover .ps-combo-meta,.ps-combo-item.on .ps-combo-meta{color:#504C7E;}
  .ps-combo-empty{padding:8px 10px;font-size:11.5px;color:var(--muted);line-height:1.4;}

  /* Goals sub-tabs + the No Zero Days grid. */
  .nz-tabs{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap;}
  .nz-tab{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:#fff;color:var(--muted);
    font:inherit;font-size:13px;font-weight:700;padding:8px 15px;border-radius:9px;cursor:pointer;white-space:nowrap;}
  .nz-tab:hover{color:var(--navy);}
  .nz-tab.on{background:var(--navy);border-color:var(--navy);color:#fff;}
  .nz-grid{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px;}
  .nz-wk{display:flex;flex-direction:column;gap:4px;}
  .nz-d{width:15px;height:15px;border-radius:4px;display:block;background:var(--off);}
  .nz-on{background:#2F7355;}
  .nz-off{background:#E5C9C2;}
  .nz-we{background:#EFEFF4;}
  .nz-fut{background:transparent;}
  .nz-key{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:var(--muted);font-weight:600;}
  .nz-key span{display:inline-flex;align-items:center;gap:6px;}
  .nz-key i{width:12px;height:12px;border-radius:3px;}

  /* An unissued sale still shows its commission, marked so it cannot be
     mistaken for money earned. */
  .inc-wait{display:inline-block;margin-left:7px;font-size:9.5px;font-weight:800;letter-spacing:.05em;
    text-transform:uppercase;color:#A8531F;background:#FBEFE6;border:1px solid #E8CDBA;
    padding:1px 6px;border-radius:20px;vertical-align:middle;white-space:nowrap;}
