:root {
  --forest: #062118;
  --forest-deep: #041811;
  --forest-soft: #0c3125;
  --forest-light: #17523d;
  --paper: #f4f1e8;
  --paper-2: #ebe8de;
  --ink: #13231d;
  --ink-soft: #53635a;
  --gold: #c6a341;
  --gold-light: #e6d69c;
  --gold-deep: #98751c;
  --line: rgba(19, 35, 29, .14);
  --dark-line: rgba(236, 227, 193, .2);
  --shadow: 0 22px 70px rgba(7, 23, 16, .1);
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: 'Plus Jakarta Sans', Arial, sans-serif; line-height: 1.55; }
body.no-scroll { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
::selection { background: rgba(198, 163, 65, .35); }
.container { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }
.serif { font-family: 'DM Serif Display', Georgia, serif; }
.caps { text-transform: uppercase; letter-spacing: .16em; font-size: .66rem; font-weight: 800; }
.muted { color: var(--ink-soft); }
.dark-muted { color: #b4c4ba; }
.gold { color: var(--gold); }
.dark { color: var(--paper); }
.section { padding: 96px 0; }
.section-tight { padding: 62px 0; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 28px; margin-bottom: 38px; }
.section-head h2 { max-width: 690px; margin: 10px 0 0; font-size: clamp(2.2rem, 5vw, 4.3rem); font-weight: 400; line-height: 1.04; letter-spacing: -.035em; }
.section-head p { max-width: 340px; margin: 0; font-size: .9rem; color: var(--ink-soft); }
.section-kicker { display: inline-flex; align-items: center; gap: 9px; color: var(--gold-deep); }
.section-kicker::before { content: ''; display: block; width: 36px; height: 1px; background: var(--gold); }

/* Header */
.site-header { position: fixed; inset: 0 0 auto; z-index: 50; color: var(--paper); border-bottom: 1px solid transparent; transition: background .25s ease, border-color .25s ease, box-shadow .25s ease; }
.site-header.scrolled { background: rgba(6, 33, 24, .96); border-color: var(--dark-line); box-shadow: 0 12px 35px rgba(0, 0, 0, .12); }
.nav-wrap { display: flex; align-items: center; justify-content: space-between; min-height: 86px; gap: 22px; }
.brand { display: flex; align-items: center; gap: 10px; min-width: 190px; }
.brand-mark { position: relative; display: grid; place-items: center; width: 40px; height: 40px; overflow: hidden; border: 1px solid rgba(198, 163, 65, .68); border-radius: 50%; background: var(--paper); color: var(--forest); }
.brand-mark img { width: 100%; height: 100%; padding: 4px; object-fit: contain; }
.site-header .brand-mark { width: 62px; height: 62px; overflow: visible; border: 0; background: transparent; }
.site-header .brand-mark img { display: block; padding: 0; object-fit: cover; }
.brand-mark .fallback { display: none; font: 600 17px/1 'DM Serif Display', Georgia, serif; color: var(--gold-deep); }
.brand-title { display: block; font: 600 .84rem/.95 'DM Serif Display', Georgia, serif; letter-spacing: .13em; color: var(--gold-light); }
.brand-subtitle { display: block; margin-top: 4px; font-size: .49rem; font-weight: 800; letter-spacing: .17em; color: #aabdb0; }
.site-nav { display: flex; align-items: center; gap: 22px; }
.site-nav a { position: relative; color: #c2d0c6; font-size: .68rem; font-weight: 700; transition: color .2s ease; }
.site-nav a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: var(--gold); transition: right .2s ease; }
.site-nav a:hover, .site-nav a.current { color: var(--paper); }
.site-nav a:hover::after, .site-nav a.current::after { right: 0; }
.nav-products { position: relative; display: flex; align-items: center; align-self: stretch; }
.nav-products::after { content: ''; position: absolute; top: 66%; right: -18px; left: -18px; height: 24px; }
.nav-products-trigger { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; background: transparent; color: #c2d0c6; font-size: .68rem; font-weight: 700; }
.nav-products-trigger::after { content: ''; position: absolute; right: 100%; bottom: -7px; left: 0; height: 1px; background: var(--gold); transition: right .2s ease; }
.nav-products-trigger > span { color: var(--gold-light); font-size: .72rem; transition: transform .2s ease; }
.nav-products:hover .nav-products-trigger, .nav-products:focus-within .nav-products-trigger, .nav-products.open .nav-products-trigger, .nav-products.current .nav-products-trigger { color: var(--paper); }
.nav-products:hover .nav-products-trigger::after, .nav-products:focus-within .nav-products-trigger::after, .nav-products.open .nav-products-trigger::after, .nav-products.current .nav-products-trigger::after { right: 0; }
.nav-products:hover .nav-products-trigger > span, .nav-products:focus-within .nav-products-trigger > span, .nav-products.open .nav-products-trigger > span { transform: rotate(180deg); }
.nav-products-menu { position: absolute; top: calc(100% - 5px); left: 50%; z-index: 4; display: grid; width: 280px; padding: 8px; border: 1px solid rgba(230, 214, 156, .2); border-radius: 14px; background: rgba(8, 37, 27, .98); box-shadow: 0 24px 60px rgba(0, 0, 0, .3); opacity: 0; visibility: hidden; transform: translate(-50%, 8px); transition: opacity .18s ease, transform .18s ease, visibility .18s ease; }
.nav-products:hover .nav-products-menu, .nav-products:focus-within .nav-products-menu, .nav-products.open .nav-products-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.site-nav .nav-products-menu a { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 11px; min-height: 48px; padding: 7px 10px; border: 1px solid transparent; border-radius: 9px; color: #c8d6cc; }
.site-nav .nav-products-menu a::after { display: none; }
.site-nav .nav-products-menu a:hover, .site-nav .nav-products-menu a.current { border-color: rgba(198, 163, 65, .3); background: rgba(198, 163, 65, .09); color: var(--paper); }
.nav-products-menu a > span { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid rgba(198, 163, 65, .45); border-radius: 9px; color: var(--gold-light); font-size: .49rem; font-weight: 800; }
.nav-products-menu a > strong { font-size: .67rem; }
.nav-actions { display: flex; align-items: center; gap: 12px; }
.phone-link { color: #d6dfd7; font-size: .67rem; font-weight: 700; white-space: nowrap; }
.auth-welcome { max-width: 150px; overflow: hidden; color: #dce7de; font-size: .62rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.auth-link { color: #d6e1d8; font-size: .66rem; font-weight: 800; }
.auth-link:hover, .auth-link-gold { color: var(--gold-light); }
.auth-signout { border: 0; background: transparent; color: #9fb5a7; font-size: .6rem; font-weight: 800; }
.auth-signout:hover { color: var(--gold-light); }
.customer-auth-state { display: inline-flex; align-items: center; gap: 10px; padding-right: 3px; }
.mobile-auth-button { width: 100%; padding: 14px 0; border: 0; border-bottom: 1px solid rgba(236, 227, 193, .1); background: transparent; color: #cfdbd1; text-align: left; font-size: .88rem; }
.menu-toggle { display: none; width: 42px; height: 42px; border: 1px solid rgba(198, 163, 65, .42); border-radius: 50%; background: transparent; color: var(--gold-light); }
.mobile-panel { display: none; border-top: 1px solid var(--dark-line); background: var(--forest); }
.mobile-panel a { display: block; padding: 14px 0; border-bottom: 1px solid rgba(236, 227, 193, .1); color: #cfdbd1; font-size: .88rem; }
.mobile-products { border-bottom: 1px solid rgba(236, 227, 193, .1); }
.mobile-products summary { position: relative; padding: 14px 28px 14px 0; color: #cfdbd1; cursor: pointer; font-size: .88rem; list-style: none; }
.mobile-products summary::-webkit-details-marker { display: none; }
.mobile-products summary::after { content: '+'; position: absolute; right: 3px; color: var(--gold-light); font-size: 1rem; transition: transform .2s ease; }
.mobile-products[open] summary::after { transform: rotate(45deg); }
.mobile-products-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0 0 10px 14px; }
.mobile-panel .mobile-products-links a { padding: 11px 10px; border: 0; color: #aebfb4; font-size: .72rem; }
.mobile-panel .mobile-products-links a:hover, .mobile-panel .mobile-products-links a.current { color: var(--gold-light); }

/* Buttons and surfaces */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 12px 18px; border: 1px solid transparent; border-radius: 8px; font-size: .7rem; font-weight: 800; transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--forest); color: var(--paper); box-shadow: 0 12px 25px rgba(6, 33, 24, .13); }
.btn-primary:hover { background: var(--forest-soft); }
.btn-gold { background: var(--gold); color: var(--forest); box-shadow: 0 12px 25px rgba(152, 117, 28, .18); }
.btn-gold:hover { background: var(--gold-light); }
.btn-outline { border-color: var(--line); background: transparent; color: var(--ink); }
.btn-outline:hover { border-color: var(--gold); background: rgba(198, 163, 65, .08); }
.btn-outline-dark { border-color: rgba(236, 227, 193, .32); background: transparent; color: var(--paper); }
.btn-outline-dark:hover { border-color: var(--gold-light); background: rgba(236, 227, 193, .08); }
.card { border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255, 255, 255, .27); }
.dark-card { border: 1px solid var(--dark-line); border-radius: var(--radius); background: rgba(20, 60, 44, .45); }
.hover-lift { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.hover-lift:hover { transform: translateY(-5px); border-color: rgba(198, 163, 65, .56); box-shadow: var(--shadow); }

/* Hero */
.hero { position: relative; overflow: hidden; min-height: 680px; padding: 146px 0 74px; background: var(--forest); color: var(--paper); }
.hero::before { content: ''; position: absolute; inset: 0; opacity: .055; pointer-events: none; background-image: linear-gradient(110deg, transparent 42%, rgba(236, 227, 193, .8) 42.1%, transparent 42.2%, transparent 56%, rgba(236, 227, 193, .5) 56.1%, transparent 56.2%); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 70px; }
.hero h1 { max-width: 700px; margin: 18px 0 0; font-size: clamp(3.4rem, 7.1vw, 6.7rem); font-weight: 400; line-height: .98; letter-spacing: -.055em; }
.hero h1 em { color: var(--gold-light); font-style: normal; }
.hero-copy > p { max-width: 570px; margin: 27px 0 0; color: #b4c5ba; font-size: 1rem; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 32px; }
.hero-meta { display: flex; align-items: center; gap: 17px; margin-top: 27px; color: #a9bcb0; font-size: .67rem; }
.hero-meta strong { color: var(--paper); }
.hero-meta .dot { width: 3px; height: 3px; border-radius: 50%; background: var(--gold); }
.hero-review { position: relative; padding: 22px; border: 1px solid rgba(236, 227, 193, .25); border-radius: 14px; background: rgba(238, 235, 224, .95); color: var(--ink); box-shadow: 0 28px 80px rgba(0, 0, 0, .22); transform: rotate(1deg); }
.hero-service-menu { padding: clamp(24px, 4vw, 38px); border: 1px solid rgba(236,227,193,.24); border-radius: 16px; background: rgba(244,241,232,.97); color: var(--ink); box-shadow: 0 28px 80px rgba(0,0,0,.22); }
.hero-service-menu h2 { margin: 10px 0 24px; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.03 'DM Serif Display', Georgia, serif; }
.hero-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.hero-service-grid a { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 84px; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: white; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.hero-service-grid a:hover { transform: translateY(-2px); border-color: var(--gold); box-shadow: 0 12px 28px rgba(6,33,24,.09); }
.hero-service-grid a strong { font: 400 1.05rem/1.15 'DM Serif Display', Georgia, serif; }
.hero-service-grid a b { color: var(--gold-deep); font-size: .75rem; }
.review-top { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.review-top h2 { margin: 0; font: 400 1.35rem/1.08 'DM Serif Display', Georgia, serif; }
.review-close { color: #7e8981; font-size: 1.1rem; }
.review-rows { margin: 20px 0; border-top: 1px solid var(--line); }
.review-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: .66rem; }
.status { padding: 4px 7px; border-radius: 999px; font-size: .53rem; font-weight: 800; white-space: nowrap; }
.status.warn { background: #fae6d6; color: #b66528; }
.status.good { background: #dcecdf; color: #3b7951; }
.status.info { background: #e2eafa; color: #466c9c; }
.status.neutral { background: #f2e4bc; color: #8d6f1f; }
.review-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.review-footer span { color: #69756d; font-size: .62rem; }
.review-footer a { color: var(--forest); font-size: .68rem; font-weight: 800; }

/* Strips */
.trust-strip { background: var(--paper); border-bottom: 1px solid var(--line); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-item { display: flex; align-items: center; gap: 15px; min-height: 96px; padding: 16px 24px; border-right: 1px solid var(--line); }
.trust-item:first-child { padding-left: 0; }
.trust-item:last-child { border-right: 0; }
.trust-number { font: 400 1.8rem/1 'DM Serif Display', Georgia, serif; white-space: nowrap; }
.trust-label { color: var(--ink-soft); font-size: .59rem; line-height: 1.4; text-transform: uppercase; letter-spacing: .09em; }
.partner-strip { padding: 30px 0 18px; background: var(--paper); }
.partner-strip-head { display: flex; align-items: center; gap: 15px; margin-bottom: 18px; color: var(--ink-soft); }
.partner-strip-head span:last-child { flex: 1; height: 1px; background: var(--line); }
.marquee-window { overflow: hidden; mask-image: linear-gradient(90deg, transparent, black 8%, black 92%, transparent); }
.marquee-track { display: flex; width: max-content; animation: marquee-right 55s linear infinite; animation-iteration-count: infinite; will-change: transform; }
.marquee-group { display: flex; flex-shrink: 0; gap: 10px; padding-right: 10px; }
.partner-pill { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; color: var(--ink-soft); font-size: .62rem; font-weight: 700; white-space: nowrap; }
.partner-pill b { color: var(--gold-deep); font-size: .8rem; }
@keyframes marquee-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }
.solutions-partners { padding-top: 34px; padding-bottom: 34px; border-bottom: 1px solid var(--line); }

/* Editorial sections */
.two-col { display: grid; grid-template-columns: .9fr 1.1fr; gap: 78px; align-items: center; }
.home-review-section { scroll-margin-top: 80px; }
.home-review-grid { grid-template-columns: minmax(0, .82fr) minmax(440px, 1.18fr); align-items: start; gap: clamp(36px, 6vw, 82px); }
.home-review-form { border: 1px solid var(--line); border-radius: 17px; box-shadow: var(--shadow); }
.home-review-form h3 { margin: 10px 0 0; font: 400 clamp(2rem, 3.5vw, 3.15rem)/1 'DM Serif Display', Georgia, serif; }
.home-review-form-copy { margin: 12px 0 24px; color: var(--ink-soft); font-size: .72rem; line-height: 1.65; }
.two-col.reverse { grid-template-columns: 1.1fr .9fr; }
.two-col h2, .dark-section h2 { margin: 11px 0 0; font-size: clamp(2.2rem, 5vw, 4.4rem); font-weight: 400; line-height: 1.03; letter-spacing: -.04em; }
.two-col p { max-width: 600px; color: var(--ink-soft); font-size: .93rem; line-height: 1.8; }
.feature-list { margin-top: 28px; border-top: 1px solid var(--line); }
.feature-item { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.feature-item-unindexed { grid-template-columns: 1fr; }
.feature-index { color: var(--gold-deep); font: 400 1.3rem/1 'DM Serif Display', Georgia, serif; }
.feature-item h3 { margin: 0; font-size: .85rem; }
.feature-item p { margin: 5px 0 0; font-size: .75rem; line-height: 1.6; }
.visual-card { position: relative; min-height: 440px; overflow: hidden; border-radius: 20px; background: var(--forest-soft); color: var(--paper); }
.visual-card::before { content: ''; position: absolute; width: 420px; height: 420px; right: -170px; top: -120px; border: 1px solid rgba(198, 163, 65, .25); border-radius: 50%; box-shadow: 0 0 0 22px rgba(198, 163, 65, .03), 0 0 0 65px rgba(198, 163, 65, .02); }
.visual-card .big-letter { position: absolute; right: -12px; bottom: -100px; color: rgba(230, 214, 156, .08); font: 400 28rem/.8 'DM Serif Display', Georgia, serif; }
.visual-content { position: relative; z-index: 1; display: flex; min-height: 440px; flex-direction: column; justify-content: space-between; padding: 32px; }
.visual-content h3 { max-width: 340px; margin: 12px 0 0; font: 400 2.2rem/1.08 'DM Serif Display', Georgia, serif; }
.visual-quote { max-width: 300px; color: #b8c9bc; font-size: .78rem; line-height: 1.8; }
.visual-badge { display: inline-flex; align-items: center; gap: 9px; width: fit-content; padding: 8px 11px; border: 1px solid rgba(230, 214, 156, .26); border-radius: 999px; color: var(--gold-light); font-size: .58rem; font-weight: 800; }
.review-page-hero .hero-grid { grid-template-columns: minmax(0, 820px); }
.single-copy-section .two-col { grid-template-columns: minmax(0, 720px); }
.centered-cta { max-width: 760px; text-align: center; }
.centered-cta h2 { margin: 12px 0 0; font: 400 clamp(2.4rem, 5vw, 4.8rem)/1.02 'DM Serif Display', Georgia, serif; letter-spacing: -.04em; }
.centered-cta p { max-width: 580px; margin: 18px auto 26px; color: var(--ink-soft); font-size: .9rem; line-height: 1.8; }
.dark-section .centered-cta p { color: #b0c2b7; }
.footer-grid.footer-grid-simple { grid-template-columns: minmax(140px, .38fr) minmax(0, 1.62fr); align-items: center; gap: 38px; }
.footer-grid.footer-grid-simple > div:first-child { grid-column: auto; }
.footer-grid-simple > div:first-child { display: flex; align-items: center; justify-content: flex-start; gap: 28px; }
.footer-grid-simple > div:first-child p { max-width: none; margin: 0; text-align: right; }
.footer-grid-simple > div:first-child > p { display: none; }
.footer-legal { min-width: 0; }
.path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.solution-option-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.solution-option-grid .path-card > span { display: inline-flex; margin-top: 20px; color: var(--gold-deep); font-size: .61rem; font-weight: 800; }
.solution-detail-card { scroll-margin-top: 110px; padding: 26px; }
.solution-detail-card .btn { margin-top: 22px; }
#mutual-funds, #retirement { scroll-margin-top: 100px; }
.path-card { padding: 26px; }
.path-card .icon { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; color: var(--gold-deep); font-size: 1rem; }
.path-card h3 { margin: 24px 0 8px; font: 400 1.35rem/1.1 'DM Serif Display', Georgia, serif; }
.path-card p { margin: 0; color: var(--ink-soft); font-size: .72rem; line-height: 1.65; }
.path-card a { display: inline-flex; margin-top: 25px; color: var(--gold-deep); font-size: .64rem; font-weight: 800; }
.dark-section { background: var(--forest); color: var(--paper); }
.dark-section p { color: #b0c2b7; }
.dark-section .section-kicker { color: var(--gold-light); }
.dark-section .section-kicker::before { background: var(--gold); }
.dark-section .section-head p { color: #aebfb5; }
.dark-card h3 { margin: 20px 0 8px; font: 400 1.4rem/1.1 'DM Serif Display', Georgia, serif; color: var(--gold-light); }
.dark-card p { margin: 0; font-size: .73rem; line-height: 1.7; }
.dark-card .card-icon { color: var(--gold); font-size: 1.35rem; }

/* Forms */
.form-shell { display: grid; grid-template-columns: .8fr 1.2fr; gap: 0; overflow: hidden; border-radius: 18px; box-shadow: var(--shadow); }
.form-intro { padding: 45px 40px; background: var(--forest); color: var(--paper); }
.form-intro h2 { margin: 13px 0 0; font: 400 clamp(2.2rem, 4vw, 3.6rem)/1.04 'DM Serif Display', Georgia, serif; }
.form-intro p { max-width: 310px; margin: 20px 0 0; color: #afc0b5; font-size: .82rem; line-height: 1.8; }
.form-intro ul { display: grid; gap: 11px; margin: 28px 0 0; padding: 0; list-style: none; color: #d2ded5; font-size: .67rem; }
.form-intro li::before { content: '✓'; margin-right: 9px; color: var(--gold); font-weight: 800; }
.form-body { padding: 45px 40px; background: #f8f6ef; }
.form-body h3 { margin: 0; font: 400 2rem/1.1 'DM Serif Display', Georgia, serif; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; margin-top: 26px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field.phone-field { grid-template-columns: minmax(116px, .65fr) 1fr; align-items: end; }
.field.phone-field label { grid-column: 1 / -1; }
.field label { color: #516258; font-size: .63rem; font-weight: 800; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line); border-radius: 8px; outline: none; background: rgba(255, 255, 255, .45); color: var(--ink); padding: 12px 13px; font-size: .76rem; transition: border-color .2s ease, box-shadow .2s ease; }
.field textarea { min-height: 110px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(198, 163, 65, .14); }
.field input.input-invalid, .field select.input-invalid, .field textarea.input-invalid { border-color: #b35d4a; box-shadow: 0 0 0 3px rgba(179, 93, 74, .1); }
.phone-input-row { display: grid; grid-template-columns: minmax(124px, .55fr) 1fr; gap: 8px; }
.phone-input-row .country-code-select { min-width: 0; }
.form-note { margin-top: 13px; color: #7b8b80; font-size: .61rem; }

/* Calculator */
.calculator-shell { display: grid; grid-template-columns: .72fr 1.28fr; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #f8f6ef; box-shadow: var(--shadow); }
.calculator-controls { padding: 30px; border-right: 1px solid var(--line); }
.calculator-controls h3, .calculator-results h3 { margin: 0; font: 400 1.75rem/1.1 'DM Serif Display', Georgia, serif; }
.calculator-controls .caps, .calculator-results .caps { color: var(--gold-deep); }
.calc-fields { display: grid; gap: 19px; margin-top: 28px; }
.calc-field { display: grid; gap: 8px; }
.calc-field-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.calc-field label { color: #57695d; font-size: .66rem; font-weight: 800; }
.calc-value { color: var(--gold-deep); font-size: .68rem; font-weight: 800; }
.calc-field input[type=number] { width: 100%; border: 1px solid var(--line); border-radius: 8px; background: transparent; color: var(--ink); padding: 11px 12px; font-size: .76rem; outline: none; }
.calc-field input[type=number]:focus { border-color: var(--gold); }
.calc-field input[type=range] { width: 100%; accent-color: var(--gold-deep); }
.calc-note { margin-top: 28px; padding: 17px; border: 1px solid rgba(198, 163, 65, .33); border-radius: 12px; background: #f1ead1; }
.calc-note p { margin: 0; color: #6e6447; font-size: .66rem; line-height: 1.7; }
.calculator-results { padding: 30px; }
.calc-result-top { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.calc-result-top h2 { max-width: 540px; margin: 10px 0 0; font: 400 clamp(1.8rem, 3vw, 2.9rem)/1.08 'DM Serif Display', Georgia, serif; }
.result-box { min-width: 150px; padding: 13px; border: 1px solid rgba(198, 163, 65, .3); border-radius: 12px; background: #f0ead5; }
.result-box span { display: block; color: #756c50; font-size: .55rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.result-box strong { display: block; margin-top: 4px; color: var(--forest); font: 400 1.6rem/1.1 'DM Serif Display', Georgia, serif; }
.calc-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 28px; }
.calc-metric { padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.2); }
.calc-metric span { display: block; color: #7a887e; font-size: .55rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 800; }
.calc-metric strong { display: block; margin-top: 7px; color: var(--forest); font: 400 1.2rem/1.1 'DM Serif Display', Georgia, serif; }
.chart-wrap { height: 330px; margin-top: 28px; }
.chart-legend { display: flex; gap: 19px; margin-top: 8px; color: #728177; font-size: .6rem; font-weight: 800; }
.legend-dot { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: var(--gold); }
.legend-dot.gray { background: #718a7c; }

/* Tables, accordion, review */
.review-score { display: grid; grid-template-columns: .85fr 1.15fr; gap: 30px; align-items: center; padding: 28px; border-radius: 18px; background: var(--forest); color: var(--paper); }
.score-ring { display: grid; place-items: center; width: 180px; height: 180px; margin: 0 auto; border: 1px solid rgba(198, 163, 65, .5); border-radius: 50%; background: radial-gradient(circle at 50% 50%, #123a2b 0 57%, transparent 58%); box-shadow: 0 0 0 11px rgba(198, 163, 65, .06), inset 0 0 0 1px rgba(198, 163, 65, .16); }
.score-ring strong { display: block; text-align: center; font: 400 3.8rem/.9 'DM Serif Display', Georgia, serif; }
.score-ring span { display: block; margin-top: 6px; color: #b3c4b8; text-align: center; font-size: .6rem; font-weight: 800; }
.score-content h2 { max-width: 460px; margin: 10px 0 0; font: 400 2.6rem/1.05 'DM Serif Display', Georgia, serif; }
.score-content p { max-width: 560px; color: #b5c6ba; font-size: .78rem; line-height: 1.8; }
.score-points { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; margin-top: 18px; }
.score-point { display: flex; align-items: start; gap: 8px; color: #cedad0; font-size: .64rem; }
.score-point::before { content: '✓'; color: var(--gold); font-weight: 800; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-question { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; padding: 20px 0; border: 0; background: transparent; color: var(--ink); text-align: left; font-size: .82rem; font-weight: 800; }
.faq-question span:last-child { color: var(--gold-deep); font-size: 1.2rem; font-weight: 400; }
.faq-answer { max-width: 700px; max-height: 0; overflow: hidden; color: var(--ink-soft); font-size: .74rem; line-height: 1.75; transition: max-height .3s ease, padding .3s ease; }
.faq-item.open .faq-answer { max-height: 180px; padding: 0 0 20px; }
.faq-item.open .faq-question span:last-child { transform: rotate(45deg); }
.team-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.advisor-card { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--paper-2); }
.advisor-photo { display: grid; place-items: end center; height: 240px; background: radial-gradient(circle at 50% 30%, #e4dec9, #d7d0ba 58%, #b7c9b7 58.5%, #8eaa95 100%); }
.advisor-photo .portrait { width: 165px; height: 215px; border-radius: 80px 80px 0 0; background: linear-gradient(160deg, #d9aa84 0 29%, #2d413a 29% 100%); box-shadow: inset 0 -12px 0 rgba(0,0,0,.12); }
.advisor-info { padding: 16px; }
.advisor-info h3 { margin: 0; font: 400 1.2rem/1.1 'DM Serif Display', Georgia, serif; }
.advisor-info p { margin: 6px 0 0; color: var(--ink-soft); font-size: .65rem; }
.advisor-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 14px; }
.advisor-tags span { padding: 4px 7px; border-radius: 999px; background: rgba(198, 163, 65, .14); color: var(--gold-deep); font-size: .52rem; font-weight: 800; }
.wealth-expert-section { overflow: hidden; }
.wealth-expert-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 34px; }
.wealth-expert-heading h2 { max-width: 760px; margin: 10px 0 0; font-size: clamp(2.4rem, 5vw, 4.7rem); font-weight: 400; line-height: 1; letter-spacing: -.035em; }
.wealth-expert-heading > div:last-child { max-width: 360px; }
.wealth-expert-heading p { margin: 0; color: #afc0b5; font-size: .78rem; line-height: 1.75; }
.expert-profile-card { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.6fr); max-width: 1180px; margin: 0 auto; overflow: hidden; border: 1px solid rgba(230,214,156,.22); border-radius: 20px; background: linear-gradient(135deg, #123328 0%, #0d291f 100%); color: var(--paper); box-shadow: 0 28px 70px rgba(0,0,0,.22); }
.expert-profile-portrait { min-height: 530px; margin: 0; overflow: hidden; background: #b9d9ec; }
.expert-profile-portrait img { width: 100%; height: 100%; min-height: 530px; object-fit: cover; object-position: center top; filter: saturate(.9) contrast(1.02); }
.expert-profile-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px, 5vw, 66px); }
.expert-profile-intro { display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.expert-profile-label { color: var(--gold); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.expert-profile-intro h3 { margin: 10px 0 0; color: var(--paper); font: 400 clamp(2.5rem, 5vw, 4.4rem)/.95 'DM Serif Display', Georgia, serif; letter-spacing: -.03em; }
.expert-profile-intro > strong { max-width: 235px; color: var(--gold-light); font-size: .68rem; line-height: 1.55; text-align: right; }
.expert-profile-credentials { margin: 20px 0 0; color: var(--gold-light); font-size: .66rem; font-weight: 700; letter-spacing: .025em; }
.expert-profile-summary { max-width: 760px; margin: 18px 0 0; color: #b8c7bd; font-size: .72rem; line-height: 1.8; }
.expert-achievements { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 28px; }
.expert-achievements > div { min-height: 92px; padding: 17px 18px; border: 1px solid rgba(230,214,156,.16); border-radius: 12px; background: rgba(255,255,255,.025); }
.expert-achievements strong { display: block; color: var(--paper); font: 400 1.15rem/1.15 'DM Serif Display', Georgia, serif; }
.expert-achievements span { display: block; margin-top: 7px; color: #95aa9d; font-size: .56rem; line-height: 1.55; }
.expert-profile-focus { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid rgba(230,214,156,.15); color: #a9bbae; font-size: .62rem; line-height: 1.7; }
.expert-profile-focus strong { color: var(--gold-light); }

/* Footer and motion */
.footer { padding: 34px 0 16px; background: var(--forest-deep); color: var(--paper); }
.footer-layout.container { width: min(1500px, calc(100% - 48px)); }
.footer-layout { display: grid; grid-template-columns: minmax(150px, 210px) minmax(210px, .48fr) minmax(0, 1fr); align-items: center; gap: clamp(26px, 4vw, 64px); }
.footer-logo-panel { display: flex; align-items: center; justify-content: center; min-width: 0; }
.footer-logo { display: block; width: 150px; height: 150px; object-fit: contain; opacity: 1; }
.footer-logo-fallback { color: var(--gold-light); font: 600 1rem/1 'DM Serif Display', Georgia, serif; letter-spacing: .12em; }
.footer-contact { display: grid; gap: 6px; min-width: 0; color: #9bb0a1; font-size: .63rem; line-height: 1.55; }
.footer-contact strong { margin-bottom: 3px; color: var(--gold-light); font-size: .56rem; letter-spacing: .13em; text-transform: uppercase; }
.footer-contact span { overflow-wrap: anywhere; }
.footer-grid { display: grid; grid-template-columns: 1.25fr .75fr .75fr 1fr; gap: 44px; }
.footer h3 { margin: 0; color: var(--gold-light); font-size: .62rem; text-transform: uppercase; letter-spacing: .16em; }
.footer p { max-width: 280px; color: #9bb0a1; font-size: .69rem; line-height: 1.75; }
.footer-links { display: grid; gap: 10px; margin-top: 16px; }
.footer-links a { color: #a9baad; font-size: .66rem; }
.footer-links a:hover { color: var(--gold-light); }
.footer .footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--dark-line); color: #70877a; font-size: .58rem; }
.footer .footer-disclaimer { width: 100%; max-width: none; margin: 0; color: #91a69a; font-size: .68rem; line-height: 1.6; overflow-wrap: anywhere; }
.toast { position: fixed; left: 50%; bottom: 22px; z-index: 80; width: min(400px, calc(100% - 32px)); padding: 14px 18px; border: 1px solid rgba(230, 214, 156, .4); border-radius: 10px; background: var(--forest-soft); color: var(--gold-light); text-align: center; font-size: .7rem; font-weight: 800; box-shadow: 0 20px 50px rgba(0,0,0,.25); opacity: 0; pointer-events: none; transform: translate(-50%, 120%); transition: opacity .25s ease, transform .25s ease; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].visible { opacity: 1; transform: translateY(0); }

/* Customer 360 workspace */
.workspace-hero { padding: 130px 0 55px; background: var(--forest); color: var(--paper); }
.workspace-hero h1 { max-width: 720px; margin: 12px 0 0; font: 400 clamp(2.8rem, 6vw, 5.2rem)/.98 'DM Serif Display', Georgia, serif; letter-spacing: -.045em; }
.workspace-hero p { max-width: 600px; margin: 21px 0 0; color: #b3c5b9; font-size: .88rem; line-height: 1.75; }
.workspace-layout { display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(300px, .78fr); gap: 18px; align-items: start; }
.customer-form { display: grid; gap: 15px; }
.customer-section { padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: rgba(255,255,255,.28); }
.customer-section legend { padding: 0; font: 400 1.6rem/1.1 'DM Serif Display', Georgia, serif; }
.customer-section .section-note { margin: 5px 0 0; color: var(--ink-soft); font-size: .67rem; }
.customer-section .form-grid { margin-top: 21px; }
.section-save-bar { display: flex; align-items: center; justify-content: flex-end; gap: 9px; margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--line); }
.section-save-bar .btn { min-height: 34px; padding: 0 12px; color: var(--gold-deep); font-size: .58rem; font-weight: 800; }
.customer-section.section-locked { background: rgba(238, 233, 208, .42); }
.customer-section.section-locked input:disabled, .customer-section.section-locked select:disabled, .customer-section.section-locked textarea:disabled { opacity: .7; cursor: not-allowed; }
.dependent-board { display: grid; gap: 12px; margin-top: 24px; }
.dependent-card { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.22); }
.dependent-card-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.dependent-card h3 { margin: 5px 0 0; font: 400 1.35rem/1.1 'DM Serif Display', Georgia, serif; }
.dependent-count { color: var(--gold-deep); font-size: .65rem; font-weight: 800; }
.dependent-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 16px; }
.dependent-grid input, .dependent-grid select, .dependent-row input, .dependent-row select { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 6px; background: rgba(255,255,255,.45); color: var(--ink); padding: 9px 8px; outline: none; font-size: .67rem; }
.dependent-grid input:focus, .dependent-grid select:focus, .dependent-row input:focus, .dependent-row select:focus { border-color: var(--gold); }
.dependent-list { display: grid; gap: 10px; margin-top: 16px; }
.dependent-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.finance-list { display: grid; gap: 10px; margin-top: 18px; }
.finance-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.22); }
.finance-row input, .finance-row select { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 6px; background: rgba(255,255,255,.45); color: var(--ink); padding: 9px 8px; outline: none; font-size: .67rem; }
.finance-row input:focus, .finance-row select:focus { border-color: var(--gold); }
.finance-row .wide { grid-column: span 2; }
.goal-list, .investment-list { display: grid; gap: 10px; margin-top: 20px; }
.goal-row, .investment-row { display: grid; grid-template-columns: 1.35fr repeat(4, 1fr); gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.22); }
.goal-row input, .investment-row input { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 6px; background: rgba(255,255,255,.45); color: var(--ink); padding: 9px 8px; outline: none; font-size: .67rem; }
.goal-row input:focus, .investment-row input:focus { border-color: var(--gold); }
.insurance-list { display: grid; gap: 10px; margin-top: 18px; }
.insurance-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.22); }
.insurance-row input, .insurance-row select { width: 100%; min-width: 0; border: 1px solid var(--line); border-radius: 6px; background: rgba(255,255,255,.45); color: var(--ink); padding: 9px 8px; outline: none; font-size: .67rem; }
.insurance-row input:focus, .insurance-row select:focus { border-color: var(--gold); }
.insurance-row .wide { grid-column: span 2; }
.row-labels { display: grid; grid-template-columns: 1.35fr repeat(4, 1fr); gap: 8px; color: #718077; font-size: .55rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.row-labels span:first-child { padding-left: 8px; }
.add-row { display: inline-flex; margin-top: 12px; border: 0; background: transparent; color: var(--gold-deep); font-size: .65rem; font-weight: 800; }
.check-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-top: 20px; }
.check-option { display: flex; align-items: start; gap: 8px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.22); color: var(--ink-soft); font-size: .64rem; line-height: 1.35; }
.check-option input { margin-top: 2px; accent-color: var(--gold-deep); }
.score-panel { position: sticky; top: 98px; padding: 25px; border-radius: 17px; background: var(--forest); color: var(--paper); box-shadow: var(--shadow); }
.score-panel h2 { margin: 9px 0 0; font: 400 2.25rem/1.03 'DM Serif Display', Georgia, serif; }
.score-panel .score-ring { width: 140px; height: 140px; margin: 25px auto 21px; }
.score-panel .score-ring strong { font-size: 3.2rem; }
.score-panel .score-ring span { font-size: .56rem; }
.score-summary { color: #b9c9bc; font-size: .7rem; line-height: 1.7; }
.score-source { display: inline-flex; margin-top: 14px; padding: 5px 8px; border: 1px solid rgba(230,214,156,.23); border-radius: 999px; color: var(--gold-light); font-size: .53rem; font-weight: 800; }
.score-areas { display: grid; gap: 8px; margin-top: 22px; }
.score-area { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 11px 0; border-top: 1px solid rgba(236,227,193,.15); font-size: .63rem; }
.score-area small { grid-column: 1 / -1; color: #91a99b; font-size: .58rem; line-height: 1.55; }
.score-actions { display: grid; gap: 11px; margin-top: 24px; padding-top: 18px; border-top: 1px solid rgba(236,227,193,.15); }
.score-action { display: grid; grid-template-columns: 24px 1fr; gap: 8px; color: #d7e1d8; font-size: .62rem; }
.score-action b { display: grid; place-items: center; width: 22px; height: 22px; border: 1px solid rgba(198,163,65,.4); border-radius: 50%; color: var(--gold-light); font-size: .6rem; }
.score-action em { display: block; margin-top: 6px; color: var(--gold-light); font-size: .53rem; font-style: normal; font-weight: 800; }
.score-action ul, .score-area-details ul, .advisor-review-notes ul { display: grid; gap: 5px; margin: 9px 0 0; padding-left: 16px; color: #9fb3a6; font-size: .56rem; line-height: 1.55; }
.score-area-details { grid-column: 1 / -1; margin-top: 3px; }
.score-area-details summary { cursor: pointer; color: var(--gold-light); font-size: .55rem; font-weight: 800; }
.score-improvement { display: grid; gap: 3px; margin-top: 9px; padding: 9px; border: 1px solid rgba(230,214,156,.13); border-radius: 8px; background: rgba(255,255,255,.035); }
.score-improvement span { color: #b8c8bd; font-size: .57rem; line-height: 1.55; }
.score-improvement small { color: var(--gold-light); font-weight: 800; }
.advisor-review-notes { margin-top: 19px; padding: 13px; border: 1px solid rgba(198,163,65,.25); border-radius: 10px; background: rgba(198,163,65,.06); color: #d7e1d8; font-size: .62rem; }
.score-empty { padding: 30px 18px; border: 1px dashed rgba(236,227,193,.25); border-radius: 12px; color: #aabdb0; text-align: center; font-size: .7rem; line-height: 1.7; }
.score-empty strong { display: block; margin-bottom: 8px; color: var(--gold-light); font: 400 1.45rem/1.1 'DM Serif Display', Georgia, serif; }
.workspace-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 25px; }
.customer-search { max-width: 920px; margin-top: 22px; padding: 16px; border: 1px solid rgba(230,214,156,.2); border-radius: 12px; background: rgba(8, 37, 27, .5); }
.customer-search > label { display: block; color: var(--gold-light); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.customer-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; margin-top: 9px; }
.customer-search-row input { min-width: 0; border: 1px solid rgba(236,227,193,.24); border-radius: 7px; background: rgba(248,246,239,.96); color: var(--ink); padding: 11px 12px; outline: none; font-size: .68rem; }
.customer-search-row input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(198,163,65,.16); }
.customer-search-row .btn { min-height: 38px; padding: 0 13px; }
.customer-search-status { min-height: 15px; margin: 9px 0 0; color: #aebfb3; font-size: .62rem; }
.customer-search-results { display: grid; gap: 10px; margin-top: 12px; max-height: 420px; overflow: auto; }
.customer-search-card, .search-empty { padding: 14px; border: 1px solid rgba(236,227,193,.16); border-radius: 9px; background: rgba(248,246,239,.97); color: var(--ink); }
.customer-search-card h3 { margin: 0; font: 400 1.35rem/1.05 'DM Serif Display', Georgia, serif; }
.customer-search-meta { margin: 6px 0 12px; color: var(--ink-soft); font-size: .6rem; }
.customer-search-card dl { display: grid; grid-template-columns: minmax(120px, .65fr) minmax(0, 1.35fr); gap: 5px 12px; margin: 0; font-size: .6rem; }
.customer-search-card dt { color: var(--ink-soft); font-weight: 800; }
.customer-search-card dd { margin: 0; overflow-wrap: anywhere; }
.search-empty { color: var(--ink-soft); font-size: .66rem; }
@media (max-width: 980px) { .workspace-layout { grid-template-columns: 1fr; } .score-panel { position: static; } }
@media (max-width: 700px) { .workspace-hero { padding-top: 110px; } .customer-section { padding: 20px 16px; } .goal-row, .investment-row, .row-labels { grid-template-columns: 1fr 1fr; } .row-labels span:first-child { padding-left: 0; } .row-labels span:first-child, .goal-row input:first-child, .investment-row input:first-child { grid-column: 1 / -1; } .check-grid { grid-template-columns: 1fr 1fr; } .insurance-row, .dependent-grid, .dependent-row, .finance-row { grid-template-columns: 1fr 1fr; } .insurance-row .wide, .finance-row .wide { grid-column: 1 / -1; } }

@media (max-width: 700px) { .customer-search-row { grid-template-columns: 1fr 1fr; } .customer-search-row input { grid-column: 1 / -1; } }

@media (max-width: 980px) {
  .site-nav, .phone-link { display: none; }
  .menu-toggle { display: grid; place-items: center; }
  .mobile-panel.open { display: block; }
  .hero-grid, .two-col, .two-col.reverse { grid-template-columns: 1fr; gap: 45px; }
  .hero { min-height: auto; padding-bottom: 82px; }
  .hero-review { max-width: 620px; }
  .hero-service-menu { max-width: 720px; }
  .form-shell, .calculator-shell { grid-template-columns: 1fr; }
  .home-review-grid { grid-template-columns: 1fr; }
  .form-intro { padding-bottom: 30px; }
  .solution-option-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wealth-expert-heading { align-items: start; flex-direction: column; }
  .calculator-controls { border-right: 0; border-bottom: 1px solid var(--line); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .container { width: min(100% - 28px, 560px); }
  .section { padding: 70px 0; }
  .section-head { display: block; }
  .section-head p { margin-top: 18px; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-item, .trust-item:first-child { padding: 15px 10px; }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(n+3) { border-top: 1px solid var(--line); }
  .hero h1 { font-size: clamp(3.1rem, 16vw, 5.1rem); }
  .hero-meta { flex-wrap: wrap; gap: 10px; }
  .hero-meta .dot { display: none; }
  .hero-service-grid { grid-template-columns: 1fr; }
  .path-grid, .team-grid { grid-template-columns: 1fr; }
  .form-intro, .form-body, .calculator-controls, .calculator-results { padding: 28px 21px; }
  .form-grid, .score-points, .calc-metrics { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .calc-result-top { display: block; }
  .result-box { width: fit-content; margin-top: 18px; }
  .chart-wrap { height: 280px; }
  .review-score { grid-template-columns: 1fr; padding: 23px; }
  .score-content h2 { font-size: 2.15rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 18px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .solution-option-grid { grid-template-columns: 1fr; }
  .expert-profile-card { grid-template-columns: 1fr; }
  .expert-profile-portrait, .expert-profile-portrait img { min-height: 0; }
  .expert-profile-portrait { aspect-ratio: 1 / .82; }
  .expert-profile-copy { padding: 28px 22px 32px; }
  .expert-profile-intro { align-items: start; flex-direction: column; gap: 14px; }
  .expert-profile-intro > strong { max-width: none; text-align: left; }
  .expert-achievements { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .footer-layout.container { width: min(100% - 28px, 560px); }
  .footer-layout { grid-template-columns: 1fr; gap: 18px; }
  .footer-logo-panel { justify-content: flex-start; }
  .footer-logo { width: 120px; height: 120px; }
  .footer-legal { width: 100%; }
  .footer .footer-bottom { display: block; }
  .footer .footer-bottom > span { display: block; margin-top: 8px; }
}

/* Employee workspace and restrained site-wide polish */
.btn, .site-nav a, .footer-links a, .solution-card, .tool-card { transition: transform .2s ease, border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease; }
.btn:hover { transform: translateY(-1px); }
.solution-card:hover, .tool-card:hover { transform: translateY(-3px); box-shadow: 0 18px 45px rgba(8, 37, 27, .09); }
:where(a, button, input, select, textarea):focus-visible { outline: 3px solid rgba(198, 163, 65, .38); outline-offset: 3px; }

.employee-login-page { min-height: 100vh; background: var(--forest); }
.employee-login-shell { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr); min-height: 100vh; }
.employee-login-brand { display: flex; flex-direction: column; justify-content: center; padding: clamp(44px, 7vw, 110px); color: var(--paper); background: radial-gradient(circle at 85% 15%, rgba(198,163,65,.16), transparent 32%), linear-gradient(145deg, #06271c, #0b3a2a); }
.employee-login-brand .caps { margin-top: clamp(70px, 9vw, 130px); }
.employee-login-brand h1 { max-width: 680px; margin: 17px 0 0; font: 400 clamp(3rem, 6vw, 6.8rem)/.92 'DM Serif Display', Georgia, serif; letter-spacing: -.045em; }
.employee-login-brand p { max-width: 570px; margin: 25px 0 0; color: #b7c8bc; font-size: .82rem; line-height: 1.8; }
.employee-login-points { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.employee-login-points span { padding: 9px 12px; border: 1px solid rgba(230,214,156,.2); border-radius: 999px; color: #d7e2da; font-size: .61rem; font-weight: 700; }
.employee-login-card { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 6vw, 84px); background: #f7f4eb; }
.employee-login-card h2 { margin: 12px 0 0; font: 400 clamp(2.4rem, 4vw, 4rem)/1 'DM Serif Display', Georgia, serif; }
.employee-login-card > p { margin: 12px 0 0; color: var(--ink-soft); font-size: .72rem; }
.employee-login-form { display: grid; gap: 16px; margin-top: 30px; }
.employee-login-form label { display: grid; gap: 8px; color: var(--ink); font-size: .63rem; font-weight: 800; }
.employee-login-form input { min-height: 46px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 0 13px; font: 500 .76rem 'Plus Jakarta Sans', sans-serif; }
.employee-login-help, .login-password-row { display: flex; grid-column: 1 / -1; justify-content: flex-end; margin-top: -6px; }
.employee-login-help a, .login-password-row a { color: var(--gold-deep); font-size: .61rem; font-weight: 800; }
.employee-login-help a:hover, .login-password-row a:hover { color: var(--forest); }
.employee-login-form .btn { min-height: 48px; margin-top: 4px; }
.employee-login-status { min-height: 20px; color: #a44f30 !important; font-size: .64rem !important; font-weight: 700; }
.google-auth-button { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 50px; margin-top: 25px; padding: 0 18px; border: 1px solid #c9cdc9; border-radius: 9px; background: #fff; box-shadow: 0 1px 2px rgba(19,35,29,.08); color: #18251f; font-size: .72rem; font-weight: 800; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.google-auth-button:hover { border-color: #9ea8a1; box-shadow: 0 7px 22px rgba(19,35,29,.1); transform: translateY(-1px); }
.google-auth-button:focus-visible { outline: 3px solid rgba(66,133,244,.28); outline-offset: 3px; }
.google-auth-mark { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid #dde2df; border-radius: 50%; color: #4285f4; font: 800 1rem/1 Arial, sans-serif; }
.google-auth-note { max-width: 520px; margin-top: 14px !important; color: #65756c !important; font-size: .58rem !important; line-height: 1.65; }
.auth-choice-divider { display: flex; align-items: center; gap: 12px; margin: 22px 0 0; color: #7b8780; font-size: .56rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.auth-choice-divider::before, .auth-choice-divider::after { content: ''; flex: 1; height: 1px; background: var(--line); }
.login-form .google-auth-button + .auth-choice-divider + .form-grid { margin-top: 20px; }
.google-security-link { width: fit-content; margin-top: 22px; }
.google-auth-complete-page { min-height: 100vh; background: radial-gradient(circle at 75% 12%, rgba(198,163,65,.16), transparent 31%), var(--forest); color: var(--paper); }
.google-auth-complete-shell { display: grid; place-items: center; align-content: center; gap: 35px; width: min(680px, calc(100% - 42px)); min-height: 100vh; margin: auto; padding: 42px 0; }
.google-auth-complete-shell > .brand { justify-self: center; }
.google-auth-complete-card { display: grid; justify-items: center; width: 100%; padding: clamp(34px, 7vw, 68px); border: 1px solid rgba(230,214,156,.19); border-radius: 20px; background: rgba(18,56,42,.74); box-shadow: 0 28px 80px rgba(0,0,0,.26); text-align: center; backdrop-filter: blur(12px); }
.google-auth-complete-card h1 { margin: 15px 0 0; font: 400 clamp(2.3rem, 6vw, 4.2rem)/1 'DM Serif Display', Georgia, serif; letter-spacing: -.035em; }
.google-auth-complete-card p { max-width: 520px; margin: 18px 0 0; color: #b8c9bd; font-size: .72rem; line-height: 1.75; }
.google-auth-complete-card .btn { margin-top: 26px; color: var(--paper); }
.google-auth-loader { width: 42px; height: 42px; margin-bottom: 24px; border: 3px solid rgba(230,214,156,.18); border-top-color: var(--gold); border-radius: 50%; animation: google-auth-spin .8s linear infinite; }
.google-signup-completion { width: min(100%, 460px); margin-top: 26px; text-align: left; }
.google-signup-completion .field label { color: var(--paper); }
.google-signup-completion .phone-input-row input, .google-signup-completion .phone-input-row select { border-color: rgba(230,214,156,.2); background: rgba(255,255,255,.08); color: var(--paper); }
.google-signup-identity { gap: 4px; padding: 14px 16px; border: 1px solid rgba(230,214,156,.18); border-radius: 10px; background: rgba(255,255,255,.06); }
.google-signup-identity span, .google-signup-identity small { color: #a8bcaf; font-size: .55rem; }
.google-signup-identity strong { color: var(--paper); font-size: .72rem; }
@keyframes google-auth-spin { to { transform: rotate(360deg); } }
.employee-test-credentials { display: grid; grid-template-columns: 1fr auto; gap: 5px 16px; margin-top: 18px; padding: 13px; border: 1px dashed #cabf9e; border-radius: 8px; color: var(--ink-soft); font-size: .62rem; }
.employee-test-credentials strong { grid-row: span 2; align-self: center; color: var(--gold-deep); }
.employee-test-credentials span { font-family: Consolas, monospace; }
.employee-public-link { display: inline-flex; margin-top: 24px; color: var(--gold-deep); font-size: .64rem; font-weight: 800; }

.employee-page { min-height: 100vh; background: #f2f0e8; color: var(--ink); }
.employee-header { position: sticky; z-index: 40; top: 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; min-height: 78px; padding: 12px clamp(20px, 4vw, 64px); border-bottom: 1px solid rgba(236,227,193,.16); background: rgba(7, 39, 28, .97); color: var(--paper); backdrop-filter: blur(16px); }
.employee-header .brand { color: var(--paper); }
.employee-nav { display: flex; min-width: 0; justify-content: flex-start; gap: clamp(10px, 1.35vw, 24px); overflow-x: auto; padding: 2px 0 4px; scrollbar-width: none; }
.employee-nav::-webkit-scrollbar { display: none; }
.employee-nav a { flex: 0 0 auto; color: #b7c8bc; font-size: .63rem; font-weight: 700; }
.employee-nav a:hover { color: var(--gold-light); }
.employee-account { display: flex; align-items: center; gap: 12px; color: #d4dfd6; font-size: .62rem; font-weight: 700; }
.employee-main { width: min(1500px, calc(100% - 40px)); margin: 0 auto; padding: 42px 0 80px; }
.employee-hero { display: grid; grid-template-columns: 1.35fr .65fr; align-items: end; gap: 40px; padding: clamp(30px, 5vw, 68px); border-radius: 24px; background: radial-gradient(circle at 88% 18%, rgba(198,163,65,.2), transparent 30%), var(--forest); color: var(--paper); box-shadow: 0 24px 70px rgba(5, 31, 22, .18); }
.employee-hero h1 { margin: 15px 0 0; font: 400 clamp(3rem, 5vw, 5.8rem)/.92 'DM Serif Display', Georgia, serif; letter-spacing: -.045em; }
.employee-hero h1 span { color: var(--gold-light); }
.employee-hero p { max-width: 720px; margin: 22px 0 0; color: #b7c8bc; font-size: .76rem; line-height: 1.8; }
.employee-system-card { display: flex; align-items: center; gap: 12px; justify-self: end; padding: 16px 18px; border: 1px solid rgba(230,214,156,.2); border-radius: 12px; background: rgba(255,255,255,.055); }
.employee-system-card strong, .employee-system-card small { display: block; }
.employee-system-card strong { color: #edf3ed; font-size: .67rem; }
.employee-system-card small { margin-top: 4px; color: #91a99b; font-size: .54rem; }
.system-dot { width: 10px; height: 10px; border-radius: 50%; background: #75c792; box-shadow: 0 0 0 6px rgba(117,199,146,.1); }
.employee-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
.employee-metrics article { padding: 21px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.68); box-shadow: 0 10px 30px rgba(16, 48, 36, .05); }
.employee-metrics span, .employee-metrics small { display: block; color: var(--ink-soft); font-size: .57rem; }
.employee-metrics strong { display: block; margin: 8px 0 5px; color: var(--forest); font: 400 2rem/1 'DM Serif Display', Georgia, serif; }
.employee-section { margin-top: 22px; padding: clamp(24px, 4vw, 48px); border: 1px solid var(--line); border-radius: 18px; background: #faf8f1; box-shadow: 0 14px 45px rgba(16, 48, 36, .055); }
.employee-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; }
.employee-section-heading h2 { margin: 9px 0 0; font: 400 clamp(2.1rem, 4vw, 3.8rem)/1 'DM Serif Display', Georgia, serif; }
.employee-section-heading p { max-width: 720px; margin: 13px 0 0; color: var(--ink-soft); font-size: .69rem; line-height: 1.75; }
.employee-guardrail { flex: none; padding: 8px 11px; border: 1px solid #d5cba8; border-radius: 999px; color: var(--gold-deep); font-size: .56rem; font-weight: 800; }
.employee-report-form { margin-top: 28px; }
.employee-report-form > label { display: block; margin-bottom: 8px; color: var(--ink); font-size: .62rem; font-weight: 800; }
.employee-report-input { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: stretch; }
.employee-report-input textarea { min-height: 94px; resize: vertical; border: 1px solid var(--line); border-radius: 10px; background: white; color: var(--ink); padding: 14px; outline: none; font: 500 .72rem/1.6 'Plus Jakarta Sans', sans-serif; }
.employee-report-input textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.employee-report-input .btn { min-width: 190px; }
.employee-report-examples { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.employee-report-examples button { border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--gold-deep); padding: 7px 10px; font: 800 .56rem 'Plus Jakarta Sans', sans-serif; cursor: pointer; }
.employee-report-examples button:hover { border-color: var(--gold); background: #f0ead8; }
.employee-report-status { min-height: 18px; margin: 14px 0 0; color: var(--ink-soft); font-size: .63rem; font-weight: 700; }
.employee-report-output { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.employee-report-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.employee-report-toolbar h3 { margin: 7px 0 0; font: 400 1.8rem/1 'DM Serif Display', Georgia, serif; }
.employee-sql-preview { margin-top: 15px; border: 1px solid var(--line); border-radius: 9px; background: #f0eee6; }
.employee-sql-preview summary { cursor: pointer; padding: 11px 13px; color: var(--gold-deep); font-size: .6rem; font-weight: 800; }
.employee-sql-preview pre { overflow: auto; margin: 0; padding: 0 13px 13px; color: #344c40; white-space: pre-wrap; font: 500 .61rem/1.6 Consolas, monospace; }
.employee-table-wrap { overflow: auto; max-height: 520px; margin-top: 14px; border: 1px solid var(--line); border-radius: 9px; background: white; }
.employee-table-wrap table { width: 100%; border-collapse: collapse; font-size: .61rem; }
.employee-table-wrap th { position: sticky; z-index: 1; top: 0; background: var(--forest); color: var(--paper); text-align: left; }
.employee-table-wrap th, .employee-table-wrap td { min-width: 120px; padding: 10px 11px; border-bottom: 1px solid #e7e2d3; vertical-align: top; }
.employee-table-wrap tbody tr:nth-child(even) { background: #f8f6ef; }
.employee-report-count { margin: 10px 0 0; color: var(--ink-soft); font-size: .58rem; }
.employee-customer-frame { width: 100%; min-height: 1200px; margin-top: 24px; border: 1px solid var(--line); border-radius: 14px; background: #f5f2e9; }
.employee-footer { display: flex; justify-content: space-between; gap: 20px; padding: 22px clamp(20px, 4vw, 64px); background: var(--forest); color: #aabdb0; font-size: .58rem; }
.employee-footer a { color: var(--gold-light); font-weight: 800; }

.employee-page [hidden] { display: none !important; }
.employee-header .brand { min-width: 220px; gap: 13px; }
.employee-header .brand-mark { width: 56px; height: 56px; overflow: visible; border: 0; background: transparent; }
.employee-header .brand-mark img { display: block; padding: 0; object-fit: contain; }
.employee-header .brand-title { font-size: .9rem; letter-spacing: .11em; }
.employee-header .brand-subtitle { margin-top: 5px; font-size: .5rem; }
.employee-nav a { position: relative; padding: 8px 0; }
.employee-nav a.current { color: var(--gold-light); }
.employee-nav a.current::after { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 1px; background: var(--gold); }
.employee-nav[data-navigation-loading="true"] { min-height: 32px; opacity: .58; }
body[data-employee-auth-required="true"]:not(.staff-session-ready), body[data-admin-auth-required="true"]:not(.staff-session-ready), body[data-telecaller-auth-required="true"]:not(.staff-session-ready) { visibility: hidden; }
.staff-privacy-watermark { position: fixed; inset: 0; z-index: 2147483000; display: grid; grid-template-columns: repeat(3, minmax(260px, 1fr)); align-content: space-around; justify-items: center; overflow: hidden; pointer-events: none; opacity: .055; color: #a67e14; font: 800 .58rem/1.2 'Plus Jakarta Sans', sans-serif; letter-spacing: .12em; text-transform: uppercase; transform: rotate(-18deg) scale(1.18); transform-origin: center; }
.staff-privacy-watermark span { white-space: nowrap; }
body.staff-content-concealed::before { content: 'Confidential workspace hidden while this window is not active'; position: fixed; inset: 0; z-index: 2147483001; display: grid; place-items: center; padding: 24px; color: #e6d69c; background: #09271d; font: 700 .86rem/1.5 'Plus Jakarta Sans', sans-serif; text-align: center; }
body.staff-content-concealed > :not(.staff-privacy-watermark) { filter: blur(18px); }
@media print {
  body.staff-protected-surface > * { display: none !important; }
  body.staff-protected-surface::after { content: 'Printing is disabled for this confidential Kalpavruksha workspace.'; display: grid; min-height: 100vh; place-items: center; padding: 32px; color: #111; background: #fff; font: 700 16pt/1.5 sans-serif; text-align: center; }
}
.btn-outline-light { border-color: var(--line); background: transparent; color: var(--ink); }
.btn-outline-light:hover { border-color: var(--gold); background: rgba(198, 163, 65, .08); }
.employee-page-intro { padding: clamp(26px, 4vw, 52px) 0 12px; }
.employee-page-intro h1 { max-width: 850px; margin: 12px 0 0; color: var(--forest); font: 400 clamp(3rem, 6vw, 6rem)/.95 'DM Serif Display', Georgia, serif; letter-spacing: -.045em; }
.employee-page-intro p { max-width: 680px; margin: 18px 0 0; color: var(--ink-soft); font-size: .76rem; line-height: 1.8; }

.portal-card-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 30px; }
.portal-card { display: grid; grid-template-columns: auto 1fr; gap: 18px; min-height: 220px; padding: 24px; border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: 0 12px 35px rgba(16, 48, 36, .05); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .35s ease; }
.portal-card:hover { transform: translateY(-4px); border-color: rgba(198, 163, 65, .65); box-shadow: 0 22px 45px rgba(16, 48, 36, .1); }
.portal-card-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #d8ca9a; border-radius: 50%; color: var(--gold-deep); font-size: .58rem; font-weight: 800; }
.portal-card h3 { margin: 4px 0 8px; font: 400 1.65rem/1 'DM Serif Display', Georgia, serif; }
.portal-card p { margin: 0; color: var(--ink-soft); font-size: .67rem; line-height: 1.7; }
.portal-card b { grid-column: 2; align-self: end; color: var(--gold-deep); font-size: .61rem; }

.download-tool-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px; align-items: start; }
.download-tool-card-wide { grid-column: 1 / -1; }
.download-tool-card-wide .btn { margin-top: 18px; }
.download-tool-card { height: 100%; }
.download-tool-card h2, .settings-card h2, .admin-create-card h2 { margin: 10px 0 0; font: 400 clamp(2rem, 3vw, 3rem)/1 'DM Serif Display', Georgia, serif; }
.download-tool-card > p, .settings-card > p, .admin-create-card > p { color: var(--ink-soft); font-size: .69rem; line-height: 1.75; }
.simple-action-form { margin-top: 28px; }
.simple-action-form > label { display: block; margin-bottom: 8px; color: var(--ink); font-size: .62rem; font-weight: 800; }
.simple-action-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; }
.simple-action-row input, .settings-form input { width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 0 13px; outline: none; font-size: .72rem; }
.simple-action-row input:focus, .settings-form input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }

.settings-main { max-width: 1180px; }
.settings-grid { display: grid; gap: 18px; }
.settings-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.settings-card-heading p { max-width: 650px; margin: 12px 0 0; color: var(--ink-soft); font-size: .69rem; line-height: 1.75; }
.employee-pwa-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 20px; }
.employee-pwa-actions .btn:disabled { cursor: not-allowed; opacity: .48; }
.employee-pwa-status { max-width: 680px; color: var(--ink-soft); font-size: .61rem; font-weight: 700; line-height: 1.6; }
.employee-pwa-shortcut { min-height: 40px; }
.telecalling-mode-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 22px 0 0; padding: 0; border: 0; }
.telecalling-mode-options > legend { grid-column: 1 / -1; margin-bottom: 2px; color: var(--ink); font-size: .62rem; font-weight: 800; }
.telecalling-mode-option { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: start; min-height: 112px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.42); cursor: pointer; }
.telecalling-mode-option:has(input:checked) { border-color: var(--gold-deep); box-shadow: 0 0 0 3px rgba(198,163,65,.13); }
.telecalling-mode-option.is-disabled { cursor: not-allowed; opacity: .55; }
.telecalling-mode-option input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--gold-deep); }
.telecalling-mode-option span { display: grid; gap: 6px; }
.telecalling-mode-option strong { color: var(--ink); font-size: .67rem; }
.telecalling-mode-option small { color: var(--ink-soft); font-size: .55rem; line-height: 1.6; }
.telecalling-mode-status { min-height: 1.5em; margin: 14px 0 0; color: var(--forest); font-size: .59rem; font-weight: 800; line-height: 1.6; }
.call-bridge-desktop-settings { margin-top: 22px; padding: clamp(18px, 3vw, 26px); border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.34); }
.call-bridge-desktop-settings[data-state="ready"] { border-color: rgba(68,137,92,.56); box-shadow: inset 4px 0 0 #44895c; }
.call-bridge-desktop-settings[data-state="attention"] { border-color: rgba(198,163,65,.7); box-shadow: inset 4px 0 0 var(--gold); }
.call-bridge-desktop-settings[data-state="offline"], .call-bridge-desktop-settings[data-state="unpaired"] { border-color: rgba(150,91,69,.45); box-shadow: inset 4px 0 0 #965b45; }
.call-bridge-desktop-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.call-bridge-desktop-heading h3 { margin: 8px 0 0; color: var(--forest); font: 400 clamp(1.55rem, 2.5vw, 2.25rem)/1.05 'DM Serif Display', Georgia, serif; }
.call-bridge-desktop-heading p { max-width: 720px; margin: 10px 0 0; color: var(--ink-soft); font-size: .61rem; line-height: 1.7; }
.call-bridge-desktop-badge { display: inline-flex; padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; color: var(--gold-deep); font-size: .48rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.call-bridge-connect-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 10px; margin-top: 20px; }
.call-bridge-connect-form label, .call-bridge-config-grid > label { display: grid; min-width: 0; gap: 8px; color: var(--ink); font-size: .58rem; font-weight: 800; }
.call-bridge-connect-form input, .call-bridge-config-grid select, .call-bridge-config-grid input[type="text"] { width: 100%; min-width: 0; min-height: 46px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 0 12px; outline: 0; font: 600 .62rem/1.3 'Plus Jakarta Sans', sans-serif; }
.call-bridge-connect-form input:focus, .call-bridge-config-grid select:focus, .call-bridge-config-grid input[type="text"]:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.call-bridge-config-form { margin-top: 22px; }
.call-bridge-config-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.call-bridge-config-grid label > small { color: var(--ink-soft); font-size: .49rem; font-weight: 600; line-height: 1.55; }
.call-bridge-level-field > span { display: grid; grid-template-columns: minmax(0, 1fr) 48px; align-items: center; gap: 12px; min-height: 46px; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; background: white; }
.call-bridge-level-field input[type="range"] { width: 100%; accent-color: var(--gold-deep); }
.call-bridge-level-field output { color: var(--forest); font-size: .61rem; font-weight: 800; text-align: right; }
.call-bridge-folder-field { grid-column: 1 / -1; }
.call-bridge-folder-field > span { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.call-bridge-startup-option { grid-column: 1 / -1; display: flex !important; align-items: center; gap: 10px !important; padding: 13px 14px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.25); }
.call-bridge-startup-option input { width: 18px; height: 18px; accent-color: var(--gold-deep); }
.call-bridge-config-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.call-bridge-advanced-actions { margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.call-bridge-advanced-actions summary { color: var(--forest); cursor: pointer; font-size: .56rem; font-weight: 800; }
.call-bridge-advanced-actions > div { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 13px; }
.call-bridge-desktop-status { min-height: 18px; margin: 14px 0 0; color: var(--ink-soft); font-size: .55rem; font-weight: 700; line-height: 1.6; }
.call-bridge-config-form[hidden], .call-bridge-connect-form[hidden] { display: none !important; }
body.employee-page[data-theme="dark"] .call-bridge-desktop-settings { border-color: rgba(230,214,156,.18); background: rgba(255,255,255,.025); }
body.employee-page[data-theme="dark"] .call-bridge-desktop-heading h3, body.employee-page[data-theme="dark"] .call-bridge-level-field output, body.employee-page[data-theme="dark"] .call-bridge-advanced-actions summary { color: var(--paper); }
body.employee-page[data-theme="dark"] .call-bridge-connect-form input, body.employee-page[data-theme="dark"] .call-bridge-config-grid select, body.employee-page[data-theme="dark"] .call-bridge-config-grid input[type="text"], body.employee-page[data-theme="dark"] .call-bridge-level-field > span { border-color: rgba(230,214,156,.16); background: #102f24; color: var(--paper); }
body.employee-page[data-theme="dark"] .call-bridge-startup-option { border-color: rgba(230,214,156,.16); background: rgba(255,255,255,.025); }
.telecalling-helper-download { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 20px; }
.telecalling-helper-download > span { max-width: 620px; color: var(--ink-soft); font-size: .56rem; line-height: 1.6; overflow-wrap: anywhere; }
.telecalling-setup-guide { margin-top: 18px; border-top: 1px solid var(--line); padding-top: 16px; }
.telecalling-setup-guide summary { color: var(--forest); font-size: .61rem; font-weight: 800; cursor: pointer; }
.telecalling-setup-guide ol { display: grid; gap: 8px; margin: 14px 0 0; padding-left: 22px; color: var(--ink-soft); font-size: .57rem; line-height: 1.65; }
.settings-form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 28px; }
.settings-form label { display: grid; gap: 8px; color: var(--ink); font-size: .63rem; font-weight: 800; }
.settings-form label small { color: var(--ink-soft); font-size: .54rem; font-weight: 600; line-height: 1.5; }
.settings-form .btn { align-self: end; min-height: 46px; }
@media (max-width: 720px) {
  .telecalling-mode-options, .call-bridge-config-grid, .call-bridge-connect-form { grid-template-columns: 1fr; }
  .call-bridge-desktop-heading { display: grid; }
  .call-bridge-desktop-heading .btn { width: 100%; }
  .call-bridge-folder-field { grid-column: auto; }
  .call-bridge-folder-field > span { grid-template-columns: 1fr; }
  .call-bridge-startup-option { grid-column: auto; }
}

.theme-toggle { display: inline-flex; align-items: center; gap: 8px; border: 0; background: transparent; color: #d8e2da; padding: 4px; font-size: .56rem; font-weight: 800; }
.public-theme-toggle { flex: none; padding: 5px 7px; border-radius: 999px; transition: background-color .3s ease, color .3s ease; }
.public-theme-toggle:hover { background: rgba(255,255,255,.07); color: var(--gold-light); }
.theme-switch { flex: none; cursor: pointer; }
.theme-switch input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.theme-toggle-track, .theme-switch-track { position: relative; display: block; width: 48px; height: 26px; border: 1px solid rgba(230, 214, 156, .34); border-radius: 999px; background: rgba(255,255,255,.1); transition: background .4s cubic-bezier(.2,.8,.2,1), border-color .4s ease; }
.theme-switch-track { width: 62px; height: 34px; border-color: #c9c3b0; background: #e8e4d8; }
.theme-toggle-thumb, .theme-switch-thumb { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--gold-light); box-shadow: 0 2px 8px rgba(0,0,0,.22); transition: transform .45s cubic-bezier(.22,1,.36,1), background .35s ease; }
.theme-switch-thumb { top: 4px; left: 4px; width: 24px; height: 24px; background: white; }
[data-theme="dark"] .theme-toggle-track { background: rgba(198, 163, 65, .25); border-color: var(--gold); }
[data-theme="dark"] .theme-toggle-thumb { transform: translateX(22px); background: var(--gold); }
[data-theme="dark"] .theme-switch-track { background: var(--gold-deep); border-color: var(--gold); }
[data-theme="dark"] .theme-switch-thumb { transform: translateX(28px); background: var(--paper); }

.customer-action-gateway { padding: 54px 0 76px; background: #f2f0e8; }
.customer-action-heading h2 { margin: 10px 0 0; color: var(--forest); font: 400 clamp(2.5rem, 5vw, 4.5rem)/1 'DM Serif Display', Georgia, serif; letter-spacing: -.035em; }
.customer-action-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 30px; }
.customer-action-card { display: grid; min-height: 230px; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: #faf8f1; color: var(--ink); text-align: left; box-shadow: 0 14px 40px rgba(16,48,36,.06); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .35s ease; }
.customer-action-card:hover { transform: translateY(-4px); border-color: var(--gold); box-shadow: 0 24px 50px rgba(16,48,36,.11); }
.customer-action-card > span { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #d8ca9a; border-radius: 50%; color: var(--gold-deep); font-size: .57rem; font-weight: 800; }
.customer-action-card strong { align-self: end; margin-top: 36px; font: 400 1.8rem/1 'DM Serif Display', Georgia, serif; }
.customer-action-card small { margin-top: 10px; color: var(--ink-soft); font-size: .64rem; line-height: 1.65; }
.customer-action-card.danger:hover { border-color: #a95843; }
.customer-code-action { max-width: 680px; margin-top: 22px; padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: #faf8f1; }
.customer-code-action > label { display: block; margin-bottom: 8px; color: var(--ink); font-size: .62rem; font-weight: 800; }
.customer-code-action > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; }
.customer-code-action input { min-width: 0; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 0 13px; outline: none; }
.customer-code-action input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.customer-code-action p { min-height: 16px; margin: 10px 0 0; color: var(--ink-soft); font-size: .61rem; }
.customer-workspace { background: #f2f0e8; }
.customer-workspace[hidden], .customer-code-action[hidden] { display: none !important; }
.customer-workspace-toolbar { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 18px; }

.admin-grid { display: grid; grid-template-columns: minmax(320px, .68fr) minmax(0, 1.32fr); gap: 18px; align-items: start; }
.admin-create-card .settings-form { grid-template-columns: 1fr; }
.generated-credentials { display: grid; gap: 11px; margin-top: 24px; padding: 20px; border: 1px solid #d7c98e; border-radius: 12px; background: #f1ead4; }
.generated-credentials > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-bottom: 8px; border-bottom: 1px solid rgba(152,117,28,.18); }
.generated-credentials span, .generated-credentials small { color: var(--ink-soft); font-size: .57rem; }
.generated-credentials strong { overflow-wrap: anywhere; color: var(--forest); font-size: .66rem; text-align: right; }
.generated-credentials .btn { color: var(--gold-deep); }

.employee-page-intro > .btn { margin-top: 24px; }
.google-access-main { max-width: 1500px; }
.google-access-layout { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); align-items: start; gap: 20px; }
.google-access-layout .employee-section { margin-top: 10px; }
.google-access-editor { position: sticky; top: 98px; }
.google-access-editor h2 { margin: 10px 0 0; font: 400 clamp(2.2rem, 3.6vw, 3.9rem)/1 'DM Serif Display', Georgia, serif; }
.google-access-editor > p { margin: 14px 0 0; color: var(--ink-soft); font-size: .67rem; line-height: 1.7; }
.google-access-form { display: grid; gap: 15px; margin-top: 26px; }
.google-access-form label { display: grid; gap: 8px; color: var(--ink); font-size: .63rem; font-weight: 800; }
.google-access-form input, .google-access-form select { width: 100%; min-height: 48px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 0 13px; outline: none; font: 500 .72rem 'Plus Jakarta Sans', sans-serif; }
.google-access-form input:focus, .google-access-form select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.google-access-form-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 4px; }
.google-access-form-actions .btn { flex: 1 1 170px; min-height: 48px; }
.google-access-directory .employee-table-wrap { margin-top: 24px; }
.google-access-directory td:nth-child(3) { min-width: 210px; }
.google-access-state { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border: 1px solid #d9d1b9; border-radius: 999px; color: var(--ink-soft); font-size: .54rem; font-weight: 800; white-space: nowrap; }
.google-access-state::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #9ca7a0; }
.google-access-state.active::before, .google-access-state.linked::before { background: #47956b; }
.google-access-state.inactive::before { background: #bd6849; }
.google-access-state.waiting::before { background: var(--gold); }
.google-access-edit { min-height: 34px; padding: 0 13px; border: 1px solid #d6cda9; border-radius: 7px; background: transparent; color: var(--forest); font: 800 .56rem 'Plus Jakarta Sans', sans-serif; cursor: pointer; }
.google-access-edit:hover { border-color: var(--gold); background: rgba(198,163,65,.1); }
.employee-onboarding-main { max-width: 1320px; }
.employee-onboarding-form { display: grid; gap: 16px; margin-top: 22px; }
.employee-onboarding-form .employee-section { margin-top: 0; }
.onboarding-form-section { display: grid; grid-template-columns: minmax(220px, .36fr) minmax(0, 1fr); gap: clamp(24px, 4vw, 60px); }
.onboarding-section-heading { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-content: start; gap: 14px; }
.onboarding-section-heading > span { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-deep); font-size: .58rem; font-weight: 800; }
.onboarding-section-heading h2 { margin: 10px 0 0; color: var(--forest); font: 400 clamp(1.9rem, 3vw, 3rem)/1 'DM Serif Display', Georgia, serif; }
.onboarding-section-heading p { margin: 12px 0 0; color: var(--ink-soft); font-size: .62rem; line-height: 1.7; }
.onboarding-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.onboarding-company-grid { min-width: 0; margin: 0; }
.onboarding-company-grid > div { min-width: 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: #f8f5ea; }
.onboarding-company-grid dt { color: var(--ink-soft); font-size: .56rem; font-weight: 800; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; }
.onboarding-company-grid dd { margin: 9px 0 0; color: var(--forest); font: 600 clamp(.72rem, .9vw, .88rem)/1.58 'Plus Jakarta Sans', sans-serif; letter-spacing: 0; word-spacing: .08em; overflow-wrap: break-word; word-break: normal; }
.onboarding-field-grid label { display: grid; align-content: start; gap: 8px; color: var(--ink); font-size: .61rem; font-weight: 800; }
.onboarding-field-grid input, .onboarding-field-grid select, .onboarding-field-grid textarea { width: 100%; min-height: 47px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); padding: 0 13px; outline: none; font: 500 .69rem/1.5 'Plus Jakarta Sans', sans-serif; }
.onboarding-field-grid textarea { min-height: 94px; padding-block: 12px; resize: vertical; }
.onboarding-field-grid input:focus, .onboarding-field-grid select:focus, .onboarding-field-grid textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.onboarding-wide { grid-column: 1 / -1; }
.onboarding-note { grid-column: 2; margin: 8px 0 0; padding: 13px 16px; border-left: 3px solid var(--gold); background: #f1ead4; color: var(--ink-soft); font-size: .57rem; line-height: 1.65; }
.onboarding-access-subsection { margin-top: 0; }
.onboarding-role-summary { margin: 12px 0 0; padding: 12px 14px; border-left: 3px solid var(--gold); border-radius: 0 8px 8px 0; background: #f1ead4; color: var(--ink-soft); font-size: .58rem; line-height: 1.65; }
.onboarding-submit-bar { position: sticky; z-index: 20; bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 18px 20px; border: 1px solid rgba(230,214,156,.25); border-radius: 14px; background: rgba(9, 45, 33, .97); color: var(--paper); box-shadow: 0 20px 50px rgba(7,31,22,.2); backdrop-filter: blur(14px); }
.onboarding-submit-bar > div { display: grid; gap: 5px; }
.onboarding-submit-bar strong { font: 400 1.25rem/1 'DM Serif Display', Georgia, serif; }
.onboarding-submit-bar span { color: #aebfb4; font-size: .56rem; }
.onboarding-submit-bar .btn span { color: inherit; }
.onboarding-submit-status { margin: 0 4px; }
.onboarding-package { scroll-margin-top: 104px; }
.onboarding-result-grid { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); gap: 16px; margin-top: 24px; }
.onboarding-credentials { margin-top: 0; }
.onboarding-summary-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.onboarding-summary-cards article { display: grid; align-content: center; gap: 9px; min-height: 130px; padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.onboarding-summary-cards span { color: var(--ink-soft); font-size: .55rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.onboarding-summary-cards strong { color: var(--forest); font: 400 1.45rem/1.1 'DM Serif Display', Georgia, serif; }
.onboarding-document-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 18px; }
.onboarding-document-card { display: grid; min-height: 145px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: white; color: var(--forest); text-align: left; cursor: pointer; }
.onboarding-document-card:hover { transform: translateY(-2px); border-color: var(--gold); box-shadow: 0 12px 28px rgba(18,48,36,.08); }
.onboarding-document-card > span { color: var(--gold-deep); font-size: .52rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.onboarding-document-card > strong { align-self: end; font: 400 1.35rem/1 'DM Serif Display', Georgia, serif; }
.onboarding-document-card > small { align-self: end; color: var(--ink-soft); font-size: .56rem; font-weight: 700; }
.onboarding-history { display: grid; gap: 9px; margin-top: 24px; }
.onboarding-history-card { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 22px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.onboarding-history-card > div:first-child > span { color: var(--gold-deep); font-size: .52rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.onboarding-history-card h3 { margin: 7px 0 0; color: var(--forest); font: 400 1.45rem/1 'DM Serif Display', Georgia, serif; }
.onboarding-history-card p { margin: 8px 0 0; color: var(--ink-soft); font-size: .58rem; }
.onboarding-history-documents { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.onboarding-history-document { min-height: 40px; border: 1px solid var(--line); border-radius: 8px; background: #f8f5ea; color: var(--forest); font-size: .55rem; font-weight: 800; cursor: pointer; }
.onboarding-history-document:hover { border-color: var(--gold); color: var(--gold-deep); }
.admin-table-wrap { max-height: 620px; }
.admin-management-main { max-width: 1480px; }
.admin-filter-form { grid-template-columns: minmax(220px, 1fr) 220px auto; align-items: end; }
.admin-filter-form .btn { min-height: 48px; }
.admin-list-card tbody tr { cursor: pointer; transition: background .18s ease, box-shadow .18s ease; }
.admin-list-card tbody tr:hover { background: rgba(198, 163, 65, .08); }
.admin-list-card tbody tr.selected { background: #f2ead0; box-shadow: inset 4px 0 var(--gold); }
.access-checklist { min-width: 0; margin: 18px 0 0; padding: 18px; border: 1px solid var(--line); border-radius: 12px; }
.access-checklist legend { padding: 0 8px; color: var(--forest); font: 400 1.1rem/1 'DM Serif Display', Georgia, serif; }
.access-checklist-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.access-options-empty { grid-column: 1 / -1; margin: 0; padding: 14px; border: 1px dashed var(--line); border-radius: 9px; color: var(--ink-soft); font-size: .58rem; line-height: 1.55; }
.access-checklist-options label { display: flex; align-items: flex-start; gap: 10px; min-height: 54px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: #f8f5ea; color: var(--ink); font-size: .58rem; font-weight: 700; cursor: pointer; }
.access-checklist-options input { flex: 0 0 auto; width: 17px; min-height: 17px; margin: 2px 0 0; accent-color: var(--gold-deep); }
.access-option-copy { display: grid; min-width: 0; gap: 3px; }
.access-option-copy strong { color: var(--forest); font-size: .59rem; line-height: 1.35; }
.access-option-copy small { color: var(--ink-soft); font-size: .49rem; font-weight: 600; line-height: 1.4; }
.access-checklist-options label.administration-option { border-color: rgba(198, 163, 65, .42); background: linear-gradient(135deg, #fbf6e6, #f4ecd4); }
.employee-access-checklist { margin-bottom: 4px; }
.google-access-form textarea { width: 100%; min-height: 92px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 12px 13px; outline: none; resize: vertical; font: 500 .72rem/1.55 'Plus Jakarta Sans', sans-serif; }
.google-access-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.field-required { color: var(--gold-deep) !important; }
.employee-nav-message { display: inline-flex; align-items: center; padding: 9px 12px; border: 1px solid rgba(230,214,156,.22); border-radius: 999px; color: #e6d69c; font-size: .56rem; }
.onboarding-decision-panel { margin: 18px 0; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #f8f5ea; }
.onboarding-decision-panel h3 { margin: 8px 0 0; color: var(--forest); font: 400 1.45rem/1 'DM Serif Display', Georgia, serif; }
.onboarding-decision-panel p { color: var(--ink-soft); font-size: .6rem; line-height: 1.65; }
.onboarding-decision-field { display: grid; gap: 8px; width: min(100%, 280px); margin-top: 16px; color: var(--ink); font-size: .61rem; font-weight: 800; }
.onboarding-decision-field select { width: 100%; min-height: 47px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); padding: 0 38px 0 13px; outline: none; font: 600 .69rem/1.5 'Plus Jakarta Sans', sans-serif; }
.onboarding-decision-field select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.onboarding-history-card[data-offer-state="accepted"] { box-shadow: inset 4px 0 #4a966e; }
.onboarding-history-card[data-offer-state="rejected"] { opacity: .74; box-shadow: inset 4px 0 #b75f46; }
.onboarding-history-card[data-offer-state="pending"] { box-shadow: inset 4px 0 var(--gold); }
.onboarding-history-card[data-offer-state="completed"] { box-shadow: inset 4px 0 var(--forest); }
body.employee-page[data-theme="dark"] .access-checklist,
body.employee-page[data-theme="dark"] .access-checklist-options label,
body.employee-page[data-theme="dark"] .onboarding-decision-panel { border-color: rgba(230,214,156,.16); background: #102f24; color: #f1eee4; }
body.employee-page[data-theme="dark"] .access-options-empty { border-color: rgba(230,214,156,.18); color: #aebfb4; }
body.employee-page[data-theme="dark"] .access-checklist legend,
body.employee-page[data-theme="dark"] .onboarding-decision-panel h3 { color: #f1eee4; }
body.employee-page[data-theme="dark"] .onboarding-decision-panel p { color: #aebfb4; }
body.employee-page[data-theme="dark"] .onboarding-role-summary { background: rgba(198,163,65,.11); color: #c6d3ca; }
body.employee-page[data-theme="dark"] .onboarding-decision-field { color: #f1eee4; }
body.employee-page[data-theme="dark"] .onboarding-decision-field select { border-color: rgba(230,214,156,.18); background: #102f24; color: #f1eee4; }
body.employee-page[data-theme="dark"] .google-access-form textarea { border-color: rgba(230,214,156,.18); background: #102f24; color: #f1eee4; }
body.employee-page[data-theme="dark"] .admin-list-card tbody tr.selected { background: rgba(198,163,65,.16); }
@media (max-width: 760px) {
  .admin-filter-form, .access-checklist-options { grid-template-columns: 1fr; }
  .employee-nav-message { width: 100%; border-radius: 8px; }
}
.employee-login-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; }

.telecaller-main, .admin-telecalling-main { max-width: 1480px; }
.telecaller-intro { display: flex; align-items: end; justify-content: space-between; gap: 28px; }
.telecaller-intro .btn { flex: none; margin-bottom: 8px; }
.telecall-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.telecall-admin-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.telecall-workspace { overflow: hidden; }
.telecall-split { display: grid; grid-template-columns: minmax(230px, .34fr) minmax(0, 1fr); gap: 18px; margin-top: 28px; }
.telecall-name-panel { min-height: 590px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: #f0ede3; }
.telecall-name-list { display: grid; gap: 7px; max-height: 680px; overflow-y: auto; padding-right: 3px; }
.telecall-name-button { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; align-items: center; gap: 11px; width: 100%; padding: 11px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--ink); text-align: left; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.telecall-name-button:hover { border-color: #d3c89e; background: rgba(255,255,255,.72); transform: translateX(2px); }
.telecall-name-button.active { border-color: var(--gold); background: white; box-shadow: 0 9px 24px rgba(16,48,36,.07); }
.telecall-name-button.high-priority { border-color: var(--gold); background: #f8efd0; }
.telecall-name-button em { margin-left: auto; padding: 4px 7px; border-radius: 999px; background: var(--gold); color: var(--forest); font-size: .45rem; font-style: normal; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.telecall-name-button > span:first-child { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid #d2c486; border-radius: 50%; color: var(--gold-deep); font-size: .52rem; font-weight: 800; }
.telecall-name-button strong { overflow: hidden; font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.telecall-name-button small { color: var(--ink-soft); font-size: .5rem; font-weight: 700; }
.telecall-detail-panel { min-width: 0; min-height: 590px; padding: clamp(20px, 3vw, 36px); border: 1px solid var(--line); border-radius: 14px; background: white; }
.telecall-detail-heading { display: flex; align-items: start; justify-content: space-between; gap: 24px; }
.telecall-detail-heading h3 { margin: 10px 0 0; color: var(--forest); font: 400 clamp(2rem, 4vw, 3.6rem)/.98 'DM Serif Display', Georgia, serif; }
.telecall-detail-heading p { margin: 10px 0 0; color: var(--ink-soft); font-size: .61rem; line-height: 1.6; }
.telecall-call-button { flex: none; }
.telecall-call-actions { display: flex; flex: none; align-items: center; gap: 9px; }
.telecall-call-actions .btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }
.telecall-end-call-button { border-color: #b76c54; color: #8f3e28; }
.call-bridge-panel { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; margin-top: 22px; padding: 15px 17px; border: 1px solid #d1c69e; border-radius: 12px; background: #f7f3e5; transition: border-color .2s ease, background .2s ease; }
.call-bridge-panel[data-state="ready"] { border-color: #95b49c; background: #eaf3ea; }
.call-bridge-panel[data-state="active"], .call-bridge-panel[data-state="working"] { border-color: #c6a341; background: #f5edcf; }
.call-bridge-panel[data-state="incoming"] { border-color: #c6a341; background: #f5edcf; }
.call-bridge-panel[data-state="phone-link"] { border-color: #8fa7bc; background: #eaf1f6; }
.call-bridge-panel[data-state="attention"], .call-bridge-panel[data-state="offline"] { border-color: #d6a58f; background: #f6e8e0; }
.call-bridge-indicator { width: 11px; height: 11px; border-radius: 50%; background: #9a9278; box-shadow: 0 0 0 5px rgba(154,146,120,.12); }
.call-bridge-panel[data-state="ready"] .call-bridge-indicator { background: #397956; box-shadow: 0 0 0 5px rgba(57,121,86,.13); }
.call-bridge-panel[data-state="active"] .call-bridge-indicator, .call-bridge-panel[data-state="working"] .call-bridge-indicator { background: var(--gold-deep); box-shadow: 0 0 0 5px rgba(198,163,65,.18); }
.call-bridge-panel[data-state="attention"] .call-bridge-indicator, .call-bridge-panel[data-state="offline"] .call-bridge-indicator { background: #a65335; box-shadow: 0 0 0 5px rgba(166,83,53,.12); }
.call-bridge-copy { display: grid; min-width: 0; gap: 4px; }
.call-bridge-copy strong { color: var(--forest); font-size: .65rem; }
.call-bridge-copy small { color: var(--ink-soft); font-size: .51rem; line-height: 1.5; }
.call-bridge-pair-actions { display: flex; align-items: center; gap: 10px; }
.call-bridge-pair-actions .btn { min-height: 38px; padding-inline: 14px; white-space: nowrap; }
.call-bridge-pair-actions .text-button { padding: 5px; border: 0; background: transparent; color: var(--gold-deep); font: 800 .52rem 'Plus Jakarta Sans', sans-serif; cursor: pointer; }
.call-bridge-dialog { width: min(calc(100% - 30px), 580px); max-width: none; padding: 0; border: 1px solid #bfae73; border-radius: 16px; background: #f8f5eb; color: var(--ink); box-shadow: 0 30px 90px rgba(5,30,22,.3); }
.call-bridge-dialog::backdrop { background: rgba(4,24,18,.72); backdrop-filter: blur(5px); }
.call-bridge-dialog form { display: grid; gap: 16px; padding: clamp(24px, 5vw, 42px); }
.call-bridge-dialog h2 { margin: 0; color: var(--forest); font: 400 clamp(2rem, 6vw, 3rem)/1 'DM Serif Display', Georgia, serif; }
.call-bridge-dialog p { margin: 0; color: var(--ink-soft); font-size: .62rem; line-height: 1.65; }
.call-bridge-dialog label { display: grid; gap: 8px; color: var(--ink); font-size: .58rem; font-weight: 800; }
.call-bridge-dialog input { width: 100%; min-height: 48px; padding: 0 13px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); outline: none; font: 600 .67rem 'Plus Jakarta Sans', sans-serif; }
.call-bridge-dialog input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.14); }
.call-bridge-dialog-actions { display: flex; justify-content: flex-end; gap: 9px; }
.call-bridge-dialog .employee-report-status { min-height: 18px; color: #a34c31; }
.call-bridge-incoming { position: fixed; z-index: 2200; right: clamp(16px, 3vw, 42px); bottom: clamp(16px, 3vw, 42px); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px; width: min(620px, calc(100vw - 32px)); padding: 22px; border: 1px solid rgba(230,214,156,.52); border-radius: 18px; background: #102f24; color: #f3efe2; box-shadow: 0 28px 80px rgba(3,24,17,.4); animation: call-bridge-incoming-enter .28s ease both; }
.call-bridge-incoming[hidden] { display: none; }
.call-bridge-incoming-signal { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid rgba(230,214,156,.45); border-radius: 50%; background: rgba(198,163,65,.12); color: var(--gold); font-size: 1.3rem; animation: call-bridge-incoming-pulse 1.35s ease-in-out infinite; }
.call-bridge-incoming-copy { display: grid; gap: 4px; min-width: 0; }
.call-bridge-incoming-copy h2 { overflow: hidden; margin: 1px 0 0; color: #f3efe2; font: 400 clamp(1.45rem, 3vw, 2.15rem)/1.05 'DM Serif Display', Georgia, serif; text-overflow: ellipsis; white-space: nowrap; }
.call-bridge-incoming-phone { margin: 2px 0 0; color: #eadb9e; font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.call-bridge-incoming-context, .call-bridge-incoming-status { margin: 0; color: #adc0b5; font-size: .56rem; line-height: 1.55; }
.call-bridge-incoming-status { min-height: 1.1em; color: #e8d989; }
.call-bridge-incoming-actions { display: grid; gap: 9px; min-width: 118px; }
.call-bridge-incoming-actions .btn { width: 100%; min-height: 43px; padding-inline: 14px; }
@keyframes call-bridge-incoming-enter { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes call-bridge-incoming-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(218,183,75,.28); } 50% { box-shadow: 0 0 0 12px rgba(218,183,75,0); } }
.telecall-contact-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-top: 24px; }
.telecall-contact-strip > div { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #f7f4ea; }
.telecall-contact-strip span, .telecall-contact-strip strong { display: block; }
.telecall-contact-strip span { color: var(--ink-soft); font-size: .51rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.telecall-contact-strip strong { overflow-wrap: anywhere; margin-top: 8px; color: var(--forest); font-size: .66rem; }
.telecall-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 26px 0 0; border-top: 1px solid var(--line); }
.telecall-detail-grid > div { min-width: 0; padding: 13px 0; border-bottom: 1px solid var(--line); }
.telecall-detail-grid dt { color: var(--ink-soft); font-size: .52rem; font-weight: 800; text-transform: uppercase; letter-spacing: .065em; }
.telecall-detail-grid dd { overflow-wrap: anywhere; margin: 6px 0 0; color: var(--ink); font-size: .62rem; line-height: 1.55; }
.telecall-outcome-form { display: grid; gap: 18px; margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--line); }
.telecall-outcome-context { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr); gap: 14px; align-items: stretch; }
.telecall-outcome-context label { display: grid; align-content: start; gap: 8px; color: var(--ink); font-size: .61rem; font-weight: 800; }
.telecall-meeting-fields { display: grid; align-content: start; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #f7f4ea; }
.telecall-meeting-fields small { color: var(--ink-soft); font-size: .52rem; line-height: 1.55; }
.telecall-outcome-form textarea, .telecall-outcome-form select, .telecall-outcome-form input { width: 100%; min-height: 46px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: #faf9f4; color: var(--ink); outline: none; font: 500 .67rem/1.55 'Plus Jakarta Sans', sans-serif; }
.telecall-outcome-form textarea { min-height: 116px; padding-block: 12px; resize: vertical; }
.telecall-outcome-form textarea:focus, .telecall-outcome-form select:focus, .telecall-outcome-form input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.telecall-outcome-form fieldset { padding: 0; border: 0; }
.telecall-outcome-form legend { margin-bottom: 10px; color: var(--ink); font-size: .61rem; font-weight: 800; }
.telecall-outcome-actions { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }
.telecall-outcome { min-height: 46px; padding: 0 13px; border: 1px solid var(--line); border-radius: 9px; background: #f7f4ea; color: var(--forest); font: 800 .57rem 'Plus Jakarta Sans', sans-serif; cursor: pointer; }
.telecall-outcome:hover { transform: translateY(-1px); }
.telecall-outcome.interested { border-color: #7ca58d; background: #e5f0e7; }
.telecall-outcome.no-answer { border-color: #d5c274; background: #f6efd4; }
.telecall-outcome.not-interested { border-color: #d6a38f; background: #f4e5de; }
.telecall-outcome.callback { border-color: #8ea9b7; background: #e2edf1; }
.telecall-list-section { display: grid; gap: 7px; padding: 7px 0 12px; }
.telecall-list-section + .telecall-list-section { margin-top: 7px; border-top: 1px solid var(--line); }
.telecall-list-section-label { display: flex; align-items: center; justify-content: space-between; padding: 3px 8px; color: var(--ink-soft); font-size: .49rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.telecall-list-section.due .telecall-list-section-label { color: #9f4e31; }
.telecall-name-button.callback-due { border-color: #d69b82; background: #f6e4dc; }
.telecall-name-button.callback-upcoming { border-color: #cdbf82; background: #f5efd7; }
.telecall-callback-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .65fr) auto; align-items: end; gap: 14px; padding: 17px; border: 1px solid #b9ab6c; border-radius: 11px; background: #f4eed6; }
.telecall-callback-panel[hidden] { display: none; }
.telecall-callback-panel strong { color: var(--forest); font-size: .66rem; }
.telecall-callback-panel p { margin: 6px 0 0; color: var(--ink-soft); font-size: .52rem; line-height: 1.55; }
.telecall-callback-panel label { display: grid; gap: 7px; color: var(--ink); font-size: .56rem; font-weight: 800; }
.telecall-callback-actions { display: flex; gap: 8px; }
.telecall-callback-actions .btn { min-height: 46px; white-space: nowrap; }
.telecall-upload-grid { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); gap: clamp(28px, 5vw, 74px); align-items: center; }
.telecall-upload-grid h2 { margin: 10px 0 0; color: var(--forest); font: 400 clamp(2.3rem, 4vw, 4rem)/1 'DM Serif Display', Georgia, serif; }
.telecall-upload-grid p { max-width: 620px; color: var(--ink-soft); font-size: .68rem; line-height: 1.75; }
.telecall-upload-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 11px; align-items: stretch; }
.telecall-import-options { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(180px, .38fr) minmax(0, 1fr); gap: 11px; }
.telecall-import-options > label, .telecall-recipient-picker { display: grid; align-content: start; gap: 8px; margin: 0; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: #f7f4ea; color: var(--ink); font-size: .56rem; font-weight: 800; }
.telecall-import-options select { width: 100%; min-height: 46px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); outline: none; font: 700 .6rem 'Plus Jakarta Sans', sans-serif; }
.telecall-recipient-picker legend { padding: 0 5px; color: var(--ink); font-size: .56rem; font-weight: 800; }
.telecall-recipient-picker > p { margin: 0; color: var(--ink-soft); font-size: .52rem; font-weight: 500; line-height: 1.5; }
.telecall-recipient-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; max-height: 150px; overflow: auto; }
.telecall-recipient-options label { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 9px 10px; border: 1px solid var(--line); border-radius: 8px; background: white; cursor: pointer; }
.telecall-recipient-options input { flex: none; accent-color: var(--gold-deep); }
.telecall-recipient-options span { overflow: hidden; color: var(--ink-soft); font-size: .52rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.telecall-priority-note { margin: 18px 0 0; padding: 13px 16px; border-left: 3px solid var(--gold); background: #f5efd9; color: var(--ink-soft); font-size: .56rem; line-height: 1.65; }
.telecall-priority-note strong { color: var(--forest); }
.telecall-upload-form > input[type=file] { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.telecall-file-picker { display: grid; gap: 6px; min-height: 112px; padding: 20px; border: 1px dashed #bdb289; border-radius: 12px; background: #f6f2e6; cursor: pointer; }
.telecall-file-picker:hover { border-color: var(--gold); background: #f2ecd9; }
.telecall-file-picker span { color: var(--gold-deep); font-size: .54rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.telecall-file-picker strong { overflow: hidden; color: var(--forest); font: 400 1.35rem/1.1 'DM Serif Display', Georgia, serif; text-overflow: ellipsis; white-space: nowrap; }
.telecall-file-picker small { color: var(--ink-soft); font-size: .52rem; }
.telecall-upload-form .btn { min-width: 190px; }
.telecall-upload-form .employee-report-status { grid-column: 1 / -1; margin: 0; }
.telecall-targeted-upload { display: grid; grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr); gap: clamp(28px, 5vw, 74px); align-items: center; margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line); }
.telecall-targeted-upload h3 { margin: 10px 0 0; color: var(--forest); font: 400 clamp(1.8rem, 3vw, 2.8rem)/1 'DM Serif Display', Georgia, serif; }
.telecall-targeted-upload > div > p { max-width: 620px; color: var(--ink-soft); font-size: .62rem; line-height: 1.72; }
.telecall-targeted-upload-form { grid-template-columns: minmax(185px, .52fr) minmax(260px, 1fr) auto; align-items: end; }
.telecall-target-picker { display: grid; gap: 8px; align-content: start; color: var(--ink); font-size: .56rem; font-weight: 800; }
.telecall-target-picker select { width: 100%; min-height: 50px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); outline: none; font: 600 .61rem 'Plus Jakarta Sans', sans-serif; }
.telecall-target-picker select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.1); }
.telecall-import-result { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 9px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); }
.telecall-import-result > div { padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: white; }
.telecall-import-result span, .telecall-import-result strong { display: block; }
.telecall-import-result span { color: var(--ink-soft); font-size: .51rem; }
.telecall-import-result strong { margin-top: 7px; color: var(--forest); font: 400 1.45rem/1 'DM Serif Display', Georgia, serif; }
.telecaller-performance-table { max-height: 470px; }
.telecall-admin-filters { display: grid; grid-template-columns: 1.35fr .75fr .8fr auto; gap: 10px; align-items: end; margin-top: 26px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #f4f1e7; }
.telecall-admin-filters label { display: grid; gap: 7px; color: var(--ink); font-size: .56rem; font-weight: 800; }
.telecall-admin-filters input, .telecall-admin-filters select { width: 100%; min-height: 43px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); outline: none; font-size: .62rem; }
.telecall-admin-filters input:focus, .telecall-admin-filters select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.1); }
.telecall-record-actions { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; gap: 10px; align-items: end; margin: 14px 0 18px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: rgba(244,241,231,.72); }
.telecall-record-actions label { display: grid; gap: 7px; color: var(--ink); font-size: .56rem; font-weight: 800; }
.telecall-record-actions select { min-height: 43px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); }
.telecall-record-actions .employee-report-status { grid-column: 1 / -1; margin: 0; }
.customer-directory-search { display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 12px; align-items: end; margin-bottom: 20px; }
.customer-directory-search label { display: grid; gap: 8px; color: var(--ink); font-size: .6rem; font-weight: 800; }
.customer-directory-search input { min-height: 48px; padding: 0 14px; border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.customer-profile-browser { padding: clamp(22px, 3vw, 38px); border: 1px solid var(--line); border-radius: 18px; background: #faf8f1; box-shadow: 0 18px 48px rgba(16,48,36,.07); }
.customer-profile-browser[hidden] { display: none !important; }
.customer-profile-browser-heading { margin-bottom: 24px; }
.customer-profile-browser-heading h2 { margin: 8px 0; color: var(--forest); font: 400 clamp(2rem, 4vw, 3.45rem)/1 'DM Serif Display', Georgia, serif; }
.customer-profile-browser-heading p { max-width: 760px; margin: 0; color: var(--ink-soft); font-size: .64rem; line-height: 1.7; }
.customer-directory-detail { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line); }
.customer-profile-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.customer-profile-kpis article { border-color: var(--line); background: #f2efe5; }
.customer-profile-kpis span { color: var(--ink-soft); }
.customer-profile-kpis strong { color: var(--forest); }
.customer-profile-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.customer-profile-facts article { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.customer-profile-facts span, .customer-profile-facts strong { display: block; }
.customer-profile-facts span { color: var(--ink-soft); font-size: .49rem; font-weight: 700; }
.customer-profile-facts strong { margin-top: 7px; color: var(--forest); font-size: .65rem; line-height: 1.45; overflow-wrap: anywhere; }
.customer-profile-goals { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-top: 22px; }
.customer-profile-goals > h3 { grid-column: 1 / -1; margin: 0; color: var(--forest); font: 400 1.7rem/1.1 'DM Serif Display', Georgia, serif; }
.customer-profile-goals > p { grid-column: 1 / -1; color: var(--ink-soft); }
.customer-profile-goals article { display: grid; gap: 7px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.customer-profile-goals article strong { color: var(--forest); }
.customer-profile-goals article span, .customer-profile-goals article small { color: var(--ink-soft); font-size: .58rem; line-height: 1.55; }
.customer360-plan-register { margin-top: 22px; padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: rgba(244,241,231,.72); }
.customer360-plan-register > h3 { margin: 8px 0 16px; color: var(--forest); font: 400 1.7rem/1.1 'DM Serif Display', Georgia, serif; }
.customer360-plan-register > [data-customer360-plans], .customer360-plan-register[data-directory-plans] { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.customer360-plan-register article { display: grid; gap: 7px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.customer360-plan-register article strong { color: var(--forest); }
.customer360-plan-register article span, .customer360-plan-register article small { color: var(--ink-soft); font-size: .6rem; line-height: 1.55; }
.customer360-plan-register article b { color: var(--gold-deep); font-size: .68rem; }
.admin-lead-table { max-height: 575px; }
.admin-lead-table tbody tr { cursor: pointer; }
.admin-lead-table tbody tr:hover, .admin-lead-table tbody tr.active { background: #eee7d2; }
.lead-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #e9e4d6; color: var(--ink-soft); font-size: .5rem; font-weight: 800; white-space: nowrap; }
.lead-status.interested { background: #dcece1; color: #286442; }
.lead-status.not-interested { background: #f2dfd8; color: #8b4029; }
.lead-status.no-answer { background: #f2e9c9; color: #7b6116; }
.lead-status.queued, .lead-status.in-progress { background: #dfe8ed; color: #345c70; }
.lead-status.high-priority { outline: 1px solid var(--gold); background: #f5e8b8; color: #755a0d; }
.telecall-pagination { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 16px; }
.telecall-pagination span { color: var(--ink-soft); font-size: .57rem; font-weight: 800; }
.admin-lead-detail { margin-top: 22px; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.admin-lead-detail .telecall-detail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.admin-lead-priority-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(190px, .35fr) auto; gap: 12px; align-items: end; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.admin-lead-priority-form[hidden] { display: none; }
.admin-lead-priority-form strong { color: var(--forest); font-size: .65rem; }
.admin-lead-priority-form p { margin: 5px 0 0; color: var(--ink-soft); font-size: .52rem; line-height: 1.55; }
.admin-lead-priority-form label { display: grid; gap: 7px; color: var(--ink); font-size: .54rem; font-weight: 800; }
.admin-lead-priority-form select { width: 100%; min-height: 44px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #f7f4ea; color: var(--ink); font: 700 .57rem 'Plus Jakarta Sans', sans-serif; }
.admin-lead-priority-form .employee-report-status { grid-column: 1 / -1; margin: 0; }
.telecall-record-tabs { display: inline-flex; gap: 5px; margin-bottom: 28px; padding: 5px; border: 1px solid var(--line); border-radius: 999px; background: #eee9db; }
.telecall-record-tabs button { min-height: 38px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; color: var(--ink-soft); font: 800 .56rem 'Plus Jakarta Sans', sans-serif; cursor: pointer; transition: color .2s ease, background .2s ease, box-shadow .2s ease; }
.telecall-record-tabs button:hover { color: var(--forest); }
.telecall-record-tabs button.active { background: var(--forest); color: white; box-shadow: 0 7px 18px rgba(16,48,36,.16); }
.telecall-record-tabs button span { display: inline-grid; place-items: center; min-width: 21px; height: 21px; margin-left: 6px; padding: 0 6px; border-radius: 999px; background: rgba(255,255,255,.16); color: inherit; }
.going-forward-view[hidden] { display: none !important; }
.going-forward-heading { margin-bottom: 26px; }
.going-forward-list { display: grid; gap: 12px; }
.going-forward-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(255px, .34fr); overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: 0 12px 32px rgba(16,48,36,.045); }
.going-forward-card-main { min-width: 0; padding: 24px; }
.going-forward-card-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.going-forward-card-heading h3 { margin: 9px 0 0; color: var(--forest); font: 400 1.8rem/1 'DM Serif Display', Georgia, serif; }
.going-forward-card-heading > a { flex: none; color: var(--gold-deep); font-size: .58rem; font-weight: 800; text-decoration: none; }
.going-forward-card-heading > a:hover { text-decoration: underline; }
.going-forward-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.going-forward-meta span { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border: 1px solid var(--line); border-radius: 999px; background: #f7f4ea; color: var(--ink-soft); font-size: .52rem; font-weight: 700; }
.going-forward-meta span.meeting { border-color: #d5c274; background: #f6efd4; color: #735b12; }
.going-forward-remarks { margin: 18px 0 0; padding: 13px 15px; border-left: 2px solid var(--gold); background: #f7f4e9; color: var(--ink-soft); font-size: .61rem; line-height: 1.65; }
.advisor-handoff-panel { display: flex; flex-direction: column; justify-content: center; gap: 11px; padding: 22px; border-left: 1px solid var(--line); background: #f4f1e7; }
.advisor-handoff-form, .advisor-handoff-panel label { display: grid; gap: 9px; }
.advisor-handoff-panel label { color: var(--ink); font-size: .55rem; font-weight: 800; }
.advisor-handoff-panel select { width: 100%; min-height: 44px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); font: 600 .62rem 'Plus Jakarta Sans', sans-serif; }
.advisor-handoff-panel .btn { width: 100%; }
.advisor-handoff-panel .employee-report-status { margin: 0; }
.advisor-handoff-complete { color: var(--ink-soft); font-size: .59rem; line-height: 1.65; }
.advisor-handoff-complete strong { display: block; margin-bottom: 6px; color: var(--forest); font-size: .68rem; }
.telecall-batch-list { display: grid; gap: 9px; margin-top: 24px; }
.telecall-batch-card { display: grid; grid-template-columns: minmax(180px, 1.3fr) repeat(4, minmax(86px, .45fr)); gap: 14px; align-items: center; padding: 16px 18px; border: 1px solid var(--line); border-radius: 11px; background: white; }
.telecall-batch-card h3 { overflow: hidden; margin: 0; color: var(--forest); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.telecall-batch-card p { margin: 5px 0 0; color: var(--ink-soft); font-size: .51rem; }
.telecall-batch-card .telecall-batch-allocation { color: #8f7114; font-weight: 800; letter-spacing: .02em; }
.telecall-batch-card .telecall-batch-allocation.high-priority { color: #a45916; }
.telecall-batch-card > div:not(:first-child) span, .telecall-batch-card > div:not(:first-child) strong { display: block; }
.telecall-batch-card > div:not(:first-child) span { color: var(--ink-soft); font-size: .48rem; text-transform: uppercase; letter-spacing: .06em; }
.telecall-batch-card > div:not(:first-child) strong { margin-top: 5px; color: var(--forest); font-size: .64rem; }

.application-section { overflow: hidden; }
.application-list, .admin-request-list, .onboarding-list { display: grid; gap: 14px; margin-top: 28px; }
.application-card, .admin-request-card, .onboarding-card { border: 1px solid var(--line); border-radius: 15px; background: white; box-shadow: 0 12px 34px rgba(16, 48, 36, .045); }
.application-card { display: grid; grid-template-columns: minmax(0, 1fr) 235px; }
.application-card-content { min-width: 0; padding: 24px; }
.application-card-content h3, .onboarding-heading h3 { margin: 9px 0 0; color: var(--forest); font: 400 1.8rem/1 'DM Serif Display', Georgia, serif; }
.application-state { display: inline-flex; align-items: center; width: fit-content; min-height: 24px; padding: 0 9px; border-radius: 999px; background: #f2ead1; color: #856719; font-size: .52rem; font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.application-state.complete { background: #dcecdf; color: #23623b; }
.application-state.pending::before, .application-state.complete::before { content: ''; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: currentColor; }
.application-date { margin: 8px 0 0; color: var(--ink-soft); font-size: .58rem; }
.application-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 24px; margin: 20px 0 0; }
.application-meta div { min-width: 0; }
.application-meta dt { margin-bottom: 4px; color: var(--ink-soft); font-size: .49rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.application-meta dd { overflow-wrap: anywhere; margin: 0; color: var(--ink); font-size: .64rem; line-height: 1.5; }
.application-notes { margin: 18px 0 0; padding: 13px 15px; border-left: 2px solid var(--gold); background: #f7f4e9; color: var(--ink-soft); font-size: .62rem; line-height: 1.65; }
.application-card-actions { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 14px; padding: 22px; border-left: 1px solid var(--line); background: #f7f4ea; }
.application-card-actions span { color: var(--ink-soft); font-size: .57rem; line-height: 1.5; }
.application-card-actions strong { color: var(--forest); font-size: .66rem; }
.application-card-actions .btn { width: 100%; }
.portal-empty-state { padding: 42px 28px; border: 1px dashed #cfc7ad; border-radius: 14px; background: rgba(255,255,255,.46); text-align: center; }
.portal-empty-state h3 { margin: 0; color: var(--forest); font: 400 1.65rem/1 'DM Serif Display', Georgia, serif; }
.portal-empty-state p { margin: 11px auto 0; color: var(--ink-soft); font-size: .63rem; line-height: 1.65; }
.application-filters { display: grid; grid-template-columns: minmax(220px, 1.3fr) minmax(170px, .7fr) minmax(120px, .4fr) auto; gap: 10px; align-items: end; margin-top: 25px; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: #f4f1e7; }
.application-filters label, .assignment-panel label { display: grid; gap: 7px; color: var(--ink); font-size: .56rem; font-weight: 800; }
.application-filters input, .application-filters select, .assignment-panel select { width: 100%; min-height: 44px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 0 12px; outline: none; font: 600 .65rem 'Plus Jakarta Sans', sans-serif; }
.application-filters input:focus, .application-filters select:focus, .assignment-panel select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.application-filters .btn { min-height: 44px; }

.admin-request-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, .34fr); overflow: hidden; }
.assignment-panel { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 24px; border-left: 1px solid var(--line); background: #f4f1e7; }
.assignment-panel .employee-report-status { margin: 0; color: #98523d; }

.onboarding-card { padding: 24px; }
.onboarding-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.onboarding-heading p { margin: 8px 0 0; color: var(--ink-soft); font-size: .6rem; }
.onboarding-heading > strong { color: var(--gold-deep); font-size: .63rem; text-align: right; }
.onboarding-progress-track { overflow: hidden; height: 8px; margin-top: 24px; border-radius: 999px; background: #e4e0d3; }
.onboarding-progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--forest), var(--gold)); transition: width .65s cubic-bezier(.2,.8,.2,1); }
.onboarding-progress-labels { display: grid; grid-template-columns: repeat(5, 1fr); gap: 5px; margin-top: 10px; }
.onboarding-progress-labels span { color: #9a9c94; font-size: .47rem; line-height: 1.35; }
.onboarding-progress-labels span:not(:first-child):not(:last-child) { text-align: center; }
.onboarding-progress-labels span:last-child { text-align: right; }
.onboarding-progress-labels span.active { color: var(--forest); font-weight: 800; }
.onboarding-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .54rem; }

.customer-dashboard-main { min-height: 75vh; background: var(--paper); }
.customer-dashboard-hero { padding: 148px 0 62px; background: radial-gradient(circle at 86% 12%, rgba(198,163,65,.18), transparent 28%), var(--forest); color: var(--paper); }
.customer-dashboard-hero h1 { margin: 12px 0 0; font: 400 clamp(3rem, 6vw, 6rem)/.95 'DM Serif Display', Georgia, serif; letter-spacing: -.045em; }
.customer-dashboard-hero h1 span { color: var(--gold-light); }
.customer-dashboard-hero p { max-width: 680px; margin: 18px 0 0; color: #b6c7bb; font-size: .77rem; line-height: 1.8; }
.customer-dashboard-section { padding-top: 58px; }
.customer-dashboard-loading { padding: 50px; border: 1px dashed var(--line); border-radius: 16px; color: var(--ink-soft); text-align: center; font-size: .72rem; }
.customer-dashboard-pending { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: 18px; }
.pending-review-message { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(28px, 4vw, 48px); border-radius: 18px; background: var(--forest); color: var(--paper); }
.pending-review-message > span { color: var(--gold-light); font-size: .56rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pending-review-message h2 { margin: 13px 0 0; font: 400 clamp(2rem, 4vw, 3.5rem)/1 'DM Serif Display', Georgia, serif; }
.pending-review-message p { color: #aec0b4; font-size: .71rem; line-height: 1.75; }
.pending-review-message .btn { margin-top: 14px; background: var(--gold); color: var(--forest); }
.pending-review-preview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #e6e5e0; filter: grayscale(1); opacity: .72; }
.pending-score { display: grid; grid-column: 1 / -1; place-items: center; width: 150px; height: 150px; margin: 0 auto 8px; border: 10px solid #a8aaa6; border-radius: 50%; color: #545956; }
.pending-score strong { font: 400 3.4rem/.85 'DM Serif Display', Georgia, serif; }
.pending-score span { font-size: .58rem; }
.pending-preview-card { padding: 16px; border: 1px solid #c2c4c0; border-radius: 12px; background: #f2f2ef; color: #555b57; }
.pending-preview-card b, .pending-preview-card span { display: block; }
.pending-preview-card b { font-size: .62rem; }
.pending-preview-card span { margin-top: 7px; font: 400 1.25rem/1 'DM Serif Display', Georgia, serif; }
.pending-preview-card p { margin: 12px 0 0; font-size: .56rem; line-height: 1.6; }
.customer-dashboard-ready { display: grid; gap: 20px; }
.customer-dashboard-loading[hidden], .customer-dashboard-pending[hidden], .customer-dashboard-ready[hidden] { display: none !important; }
.customer-result-overview { display: grid; grid-template-columns: 250px minmax(0, 1fr); align-items: center; gap: clamp(30px, 5vw, 72px); padding: clamp(28px, 5vw, 58px); border-radius: 20px; background: var(--forest); color: var(--paper); box-shadow: var(--shadow); }
.customer-result-overview h2 { max-width: 800px; margin: 15px 0 0; font: 400 clamp(2.4rem, 5vw, 4.7rem)/.98 'DM Serif Display', Georgia, serif; }
.customer-result-overview p { max-width: 840px; color: #b6c7bb; font-size: .76rem; line-height: 1.8; }
.customer-result-score .score-ring { width: 205px; height: 205px; }
.customer-review-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 22px; color: var(--gold-light); font-size: .57rem; font-weight: 800; }
.customer-result-section { padding: clamp(28px, 4vw, 48px); border: 1px solid var(--line); border-radius: 18px; background: #faf8f1; box-shadow: 0 14px 40px rgba(16,48,36,.05); }
.customer-result-section > h2 { margin: 10px 0 0; font: 400 clamp(2.2rem, 4vw, 3.8rem)/1 'DM Serif Display', Georgia, serif; }
.customer-finding-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 28px; }
.customer-finding-card { padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.customer-finding-card h3 { margin: 0; font: 400 1.35rem/1.05 'DM Serif Display', Georgia, serif; }
.customer-finding-card p { color: var(--ink-soft); font-size: .64rem; line-height: 1.65; }
.customer-finding-card small { display: block; padding-top: 12px; border-top: 1px solid var(--line); color: var(--gold-deep); font-size: .56rem; line-height: 1.55; }
.customer-area-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 28px; }
.customer-area-card { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.customer-area-card > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.customer-area-card h3 { margin: 0; font: 400 1.55rem/1 'DM Serif Display', Georgia, serif; }
.customer-area-card > p { color: var(--ink-soft); font-size: .64rem; line-height: 1.65; }
.customer-area-card > ul { display: grid; gap: 6px; padding-left: 18px; color: var(--ink-soft); font-size: .6rem; line-height: 1.55; }
.customer-improvement-list { display: grid; gap: 8px; margin-top: 16px; }
.customer-improvement-list > div { display: grid; gap: 4px; padding: 13px; border-radius: 10px; background: #f2eee0; }
.customer-improvement-list strong { color: var(--forest); font-size: .63rem; }
.customer-improvement-list span { color: var(--ink-soft); font-size: .59rem; line-height: 1.55; }
.customer-improvement-list small { color: var(--gold-deep); font-size: .52rem; font-weight: 800; }
.customer-action-plan { display: grid; gap: 11px; margin-top: 28px; }
.customer-action-card-result { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: white; }
.customer-action-card-result > b { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-deep); }
.customer-action-card-result > div > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.customer-action-card-result h3 { margin: 0; font: 400 1.45rem/1 'DM Serif Display', Georgia, serif; }
.customer-action-card-result > div > div span { color: var(--gold-deep); font-size: .55rem; font-weight: 800; }
.customer-action-card-result p, .customer-action-card-result ol { color: var(--ink-soft); font-size: .61rem; line-height: 1.65; }
.customer-action-card-result ol { display: grid; gap: 5px; margin-bottom: 0; padding-left: 18px; }
.customer-review-disclaimer { margin: 0; padding: 20px 24px; border-radius: 12px; background: #e9e4d6; color: var(--ink-soft); font-size: .59rem; line-height: 1.65; }

body.public-page, body.public-page .trust-strip, body.public-page .partner-strip, body.public-page .card, body.public-page .form-body, body.public-page .calculator-shell, body.public-page .advisor-card, body.public-page .hero-review, body.public-page input, body.public-page select, body.public-page textarea { transition: background-color .42s cubic-bezier(.2,.8,.2,1), color .32s ease, border-color .32s ease, box-shadow .32s ease; }
body.public-page[data-theme="dark"] { color-scheme: dark; background: #071a13; color: #f1eee4; }
body.public-page[data-theme="dark"] .trust-strip, body.public-page[data-theme="dark"] .partner-strip { border-color: rgba(230,214,156,.14); background: #071a13; }
body.public-page[data-theme="dark"] .trust-item, body.public-page[data-theme="dark"] .partner-strip-head span:last-child, body.public-page[data-theme="dark"] .partner-pill, body.public-page[data-theme="dark"] .feature-list, body.public-page[data-theme="dark"] .feature-item, body.public-page[data-theme="dark"] .faq-list, body.public-page[data-theme="dark"] .faq-item { border-color: rgba(230,214,156,.16); }
body.public-page[data-theme="dark"] .trust-label, body.public-page[data-theme="dark"] .partner-strip-head, body.public-page[data-theme="dark"] .partner-pill, body.public-page[data-theme="dark"] .two-col p, body.public-page[data-theme="dark"] .section-head p, body.public-page[data-theme="dark"] .centered-cta p, body.public-page[data-theme="dark"] .path-card p, body.public-page[data-theme="dark"] .advisor-info p, body.public-page[data-theme="dark"] .faq-answer, body.public-page[data-theme="dark"] .form-note { color: #9fb2a6; }
body.public-page[data-theme="dark"] .card, body.public-page[data-theme="dark"] .advisor-card { border-color: rgba(230,214,156,.16); background: #0d281e; box-shadow: none; }
body.public-page[data-theme="dark"] .form-body, body.public-page[data-theme="dark"] .calculator-shell { border-color: rgba(230,214,156,.16); background: #0d281e; box-shadow: 0 22px 70px rgba(0,0,0,.18); }
body.public-page[data-theme="dark"] .field label, body.public-page[data-theme="dark"] .calc-field label { color: #d8e1da; }
body.public-page[data-theme="dark"] .field input, body.public-page[data-theme="dark"] .field select, body.public-page[data-theme="dark"] .field textarea, body.public-page[data-theme="dark"] .calc-field input[type=number] { border-color: rgba(230,214,156,.18); background: #102f24; color: #f1eee4; }
body.public-page[data-theme="dark"] input::placeholder, body.public-page[data-theme="dark"] textarea::placeholder { color: #789083; }
body.public-page[data-theme="dark"] .calculator-controls { border-color: rgba(230,214,156,.14); }
body.public-page[data-theme="dark"] .calc-note, body.public-page[data-theme="dark"] .result-box, body.public-page[data-theme="dark"] .calc-metric { border-color: rgba(198,163,65,.28); background: #173526; }
body.public-page[data-theme="dark"] .calc-note p, body.public-page[data-theme="dark"] .result-box span, body.public-page[data-theme="dark"] .calc-metric span, body.public-page[data-theme="dark"] .chart-legend { color: #9fb2a6; }
body.public-page[data-theme="dark"] .result-box strong, body.public-page[data-theme="dark"] .calc-metric strong { color: var(--gold-light); }
body.public-page[data-theme="dark"] .hero-review { border-color: rgba(230,214,156,.2); background: #102f24; color: #f1eee4; }
body.public-page[data-theme="dark"] .hero-review .muted, body.public-page[data-theme="dark"] .review-footer span { color: #9fb2a6; }
body.public-page[data-theme="dark"] .hero-review .review-rows { border-color: rgba(230,214,156,.14); }
body.public-page[data-theme="dark"] .hero-review .review-row { border-color: rgba(230,214,156,.14); }
body.public-page[data-theme="dark"] .hero-review .review-footer a, body.public-page[data-theme="dark"] .faq-question { color: #f1eee4; }
body.public-page[data-theme="dark"] .btn-outline { border-color: rgba(230,214,156,.24); color: #f1eee4; }
body.public-page[data-theme="dark"] .btn-outline:hover { border-color: var(--gold); background: rgba(198,163,65,.1); }
body.public-page[data-theme="dark"] .customer-dashboard-main { background: #071a13; }
body.public-page[data-theme="dark"] .customer-result-section, body.public-page[data-theme="dark"] .customer-finding-card, body.public-page[data-theme="dark"] .customer-area-card, body.public-page[data-theme="dark"] .customer-action-card-result { border-color: rgba(230,214,156,.16); background: #0d281e; box-shadow: none; }
body.public-page[data-theme="dark"] .customer-improvement-list > div, body.public-page[data-theme="dark"] .customer-review-disclaimer { background: #173526; }
body.public-page[data-theme="dark"] .customer-improvement-list strong { color: var(--gold-light); }

.employee-page, .employee-section, .employee-metrics article, .portal-card, .customer-section, .dependent-card, .finance-row, .goal-row, .investment-row, .insurance-row, .customer-action-gateway, .customer-action-card, .customer-code-action, .customer-workspace, .employee-table-wrap, input, select, textarea { transition: background-color .42s cubic-bezier(.2,.8,.2,1), color .32s ease, border-color .32s ease, box-shadow .32s ease; }
body.employee-page[data-theme="dark"] { color-scheme: dark; background: #071a13; color: #f1eee4; }
body.employee-page[data-theme="dark"] .employee-main, body.employee-page[data-theme="dark"] .customer-workspace, body.employee-page[data-theme="dark"] .customer-action-gateway { background: #071a13; }
body.employee-page[data-theme="dark"] .employee-page-intro h1, body.employee-page[data-theme="dark"] .customer-action-heading h2 { color: #f1eee4; }
body.employee-page[data-theme="dark"] .employee-page-intro p, body.employee-page[data-theme="dark"] .employee-section-heading p, body.employee-page[data-theme="dark"] .download-tool-card > p, body.employee-page[data-theme="dark"] .settings-card p, body.employee-page[data-theme="dark"] .portal-card p, body.employee-page[data-theme="dark"] .customer-action-card small, body.employee-page[data-theme="dark"] .section-note { color: #9eb0a5; }
body.employee-page[data-theme="dark"] .employee-section, body.employee-page[data-theme="dark"] .employee-metrics article, body.employee-page[data-theme="dark"] .portal-card, body.employee-page[data-theme="dark"] .customer-section, body.employee-page[data-theme="dark"] .dependent-card, body.employee-page[data-theme="dark"] .finance-row, body.employee-page[data-theme="dark"] .goal-row, body.employee-page[data-theme="dark"] .investment-row, body.employee-page[data-theme="dark"] .insurance-row, body.employee-page[data-theme="dark"] .customer-action-card, body.employee-page[data-theme="dark"] .customer-code-action, body.employee-page[data-theme="dark"] .employee-table-wrap { border-color: rgba(230,214,156,.16); background: #0d281e; color: #f1eee4; box-shadow: none; }
body.employee-page[data-theme="dark"] .employee-metrics strong, body.employee-page[data-theme="dark"] .portal-card h3, body.employee-page[data-theme="dark"] .customer-section legend, body.employee-page[data-theme="dark"] .dependent-card h3, body.employee-page[data-theme="dark"] .field label, body.employee-page[data-theme="dark"] .simple-action-form label, body.employee-page[data-theme="dark"] .settings-form label, body.employee-page[data-theme="dark"] .customer-code-action label { color: #f1eee4; }
body.employee-page[data-theme="dark"] input, body.employee-page[data-theme="dark"] select, body.employee-page[data-theme="dark"] textarea, body.employee-page[data-theme="dark"] .employee-report-input textarea, body.employee-page[data-theme="dark"] .simple-action-row input, body.employee-page[data-theme="dark"] .settings-form input, body.employee-page[data-theme="dark"] .customer-code-action input { border-color: rgba(230,214,156,.18); background: #102f24; color: #f1eee4; }
body.employee-page[data-theme="dark"] input::placeholder, body.employee-page[data-theme="dark"] textarea::placeholder { color: #768f80; }
body.employee-page[data-theme="dark"] .employee-table-wrap tbody tr:nth-child(even) { background: #102f24; }
body.employee-page[data-theme="dark"] .employee-table-wrap td { border-color: rgba(230,214,156,.12); }
body.employee-page[data-theme="dark"] .btn-outline-light { border-color: rgba(230,214,156,.25); color: #e9e4d6; }
body.employee-page[data-theme="dark"] .generated-credentials { border-color: rgba(198,163,65,.4); background: #173526; }
body.employee-page[data-theme="dark"] .generated-credentials strong { color: #f1eee4; }
body.employee-page[data-theme="dark"] .onboarding-section-heading h2, body.employee-page[data-theme="dark"] .onboarding-field-grid label, body.employee-page[data-theme="dark"] .onboarding-summary-cards strong, body.employee-page[data-theme="dark"] .onboarding-document-card, body.employee-page[data-theme="dark"] .onboarding-history-card h3 { color: #f1eee4; }
body.employee-page[data-theme="dark"] .onboarding-section-heading p, body.employee-page[data-theme="dark"] .onboarding-history-card p { color: #9eb0a5; }
body.employee-page[data-theme="dark"] .onboarding-note { border-color: var(--gold); background: #173526; color: #aebfb4; }
body.employee-page[data-theme="dark"] .onboarding-company-grid > div { border-color: rgba(230,214,156,.16); background: #102f24; }
body.employee-page[data-theme="dark"] .onboarding-company-grid dd, body.employee-page[data-theme="dark"] .access-option-copy strong { color: #f1eee4; }
body.employee-page[data-theme="dark"] .onboarding-company-grid dt, body.employee-page[data-theme="dark"] .access-option-copy small { color: #9eb0a5; }
body.employee-page[data-theme="dark"] .access-checklist-options label.administration-option { border-color: rgba(198,163,65,.4); background: #173526; }
body.employee-page[data-theme="dark"] .onboarding-summary-cards article, body.employee-page[data-theme="dark"] .onboarding-document-card, body.employee-page[data-theme="dark"] .onboarding-history-card { border-color: rgba(230,214,156,.16); background: #0d281e; }
body.employee-page[data-theme="dark"] .onboarding-history-document { border-color: rgba(230,214,156,.16); background: #173526; color: #e9e4d6; }
body.employee-page[data-theme="dark"] .google-access-editor > p { color: #9eb0a5; }
body.employee-page[data-theme="dark"] .google-access-form label { color: #f1eee4; }
body.employee-page[data-theme="dark"] .google-access-form input, body.employee-page[data-theme="dark"] .google-access-form select { border-color: rgba(230,214,156,.18); background: #102f24; color: #f1eee4; }
body.employee-page[data-theme="dark"] .google-access-state { border-color: rgba(230,214,156,.2); color: #bdcbc1; }
body.employee-page[data-theme="dark"] .google-access-edit { border-color: rgba(230,214,156,.23); color: var(--gold-light); }
body.employee-page[data-theme="dark"] .application-card, body.employee-page[data-theme="dark"] .admin-request-card, body.employee-page[data-theme="dark"] .onboarding-card, body.employee-page[data-theme="dark"] .portal-empty-state { border-color: rgba(230,214,156,.16); background: #0d281e; box-shadow: none; }
body.employee-page[data-theme="dark"] .application-card-content h3, body.employee-page[data-theme="dark"] .onboarding-heading h3, body.employee-page[data-theme="dark"] .portal-empty-state h3, body.employee-page[data-theme="dark"] .application-card-actions strong { color: #f1eee4; }
body.employee-page[data-theme="dark"] .application-card-actions, body.employee-page[data-theme="dark"] .assignment-panel, body.employee-page[data-theme="dark"] .application-filters { border-color: rgba(230,214,156,.14); background: #102f24; }
body.employee-page[data-theme="dark"] .application-notes { background: #102f24; color: #b2c0b7; }
body.employee-page[data-theme="dark"] .application-meta dd, body.employee-page[data-theme="dark"] .application-filters label, body.employee-page[data-theme="dark"] .assignment-panel label { color: #f1eee4; }
body.employee-page[data-theme="dark"] .onboarding-progress-track { background: #1b3a2d; }
body.employee-page[data-theme="dark"] .onboarding-progress-labels span.active { color: var(--gold-light); }
body.employee-page[data-theme="dark"] .telecall-name-panel, body.employee-page[data-theme="dark"] .telecall-admin-filters { border-color: rgba(230,214,156,.16); background: #102f24; }
body.employee-page[data-theme="dark"] .telecall-record-actions, body.employee-page[data-theme="dark"] .customer360-plan-register { border-color: rgba(230,214,156,.16); background: #102f24; }
body.employee-page[data-theme="dark"] .customer-profile-browser { border-color: rgba(230,214,156,.16); background: #0d281e; box-shadow: none; }
body.employee-page[data-theme="dark"] .customer-profile-browser-heading h2, body.employee-page[data-theme="dark"] .customer-profile-kpis strong, body.employee-page[data-theme="dark"] .customer-profile-facts strong, body.employee-page[data-theme="dark"] .customer-profile-goals h3, body.employee-page[data-theme="dark"] .customer-profile-goals article strong { color: #f1eee4; }
body.employee-page[data-theme="dark"] .customer-profile-kpis article, body.employee-page[data-theme="dark"] .customer-profile-facts article, body.employee-page[data-theme="dark"] .customer-profile-goals article { border-color: rgba(230,214,156,.16); background: #173526; }
body.employee-page[data-theme="dark"] .customer-profile-browser-heading p, body.employee-page[data-theme="dark"] .customer-profile-kpis span, body.employee-page[data-theme="dark"] .customer-profile-facts span, body.employee-page[data-theme="dark"] .customer-profile-goals span, body.employee-page[data-theme="dark"] .customer-profile-goals small, body.employee-page[data-theme="dark"] .customer-profile-goals > p { color: #9eb0a5; }
body.employee-page[data-theme="dark"] .telecall-record-actions label, body.employee-page[data-theme="dark"] .customer-directory-search label { color: #f1eee4; }
body.employee-page[data-theme="dark"] .telecall-record-actions select, body.employee-page[data-theme="dark"] .customer-directory-search input { border-color: rgba(230,214,156,.18); background: #173526; color: #f1eee4; }
body.employee-page[data-theme="dark"] .customer360-plan-register article { border-color: rgba(230,214,156,.16); background: #173526; }
body.employee-page[data-theme="dark"] .customer360-plan-register article strong, body.employee-page[data-theme="dark"] .customer360-plan-register > h3 { color: #f1eee4; }
body.employee-page[data-theme="dark"] .telecall-detail-panel, body.employee-page[data-theme="dark"] .admin-lead-detail, body.employee-page[data-theme="dark"] .telecall-import-result > div, body.employee-page[data-theme="dark"] .telecall-batch-card { border-color: rgba(230,214,156,.16); background: #0d281e; }
body.employee-page[data-theme="dark"] .telecall-name-button { color: #f1eee4; }
body.employee-page[data-theme="dark"] .telecall-name-button:hover, body.employee-page[data-theme="dark"] .telecall-name-button.active { border-color: rgba(198,163,65,.55); background: #173526; box-shadow: none; }
body.employee-page[data-theme="dark"] .telecall-batch-card .telecall-batch-allocation { color: var(--gold-light); }
body.employee-page[data-theme="dark"] .telecall-detail-heading h3, body.employee-page[data-theme="dark"] .telecall-contact-strip strong, body.employee-page[data-theme="dark"] .telecall-upload-grid h2, body.employee-page[data-theme="dark"] .telecall-targeted-upload h3, body.employee-page[data-theme="dark"] .telecall-import-result strong, body.employee-page[data-theme="dark"] .telecall-batch-card h3, body.employee-page[data-theme="dark"] .telecall-batch-card > div:not(:first-child) strong { color: #f1eee4; }
body.employee-page[data-theme="dark"] .telecall-contact-strip > div, body.employee-page[data-theme="dark"] .telecall-file-picker { border-color: rgba(230,214,156,.16); background: #173526; }
body.employee-page[data-theme="dark"] .telecall-import-options > label, body.employee-page[data-theme="dark"] .telecall-recipient-picker, body.employee-page[data-theme="dark"] .telecall-recipient-options label, body.employee-page[data-theme="dark"] .telecall-priority-note { border-color: rgba(230,214,156,.16); background: #173526; }
body.employee-page[data-theme="dark"] .telecall-priority-note strong, body.employee-page[data-theme="dark"] .admin-lead-priority-form strong, body.employee-page[data-theme="dark"] .telecall-import-options > label, body.employee-page[data-theme="dark"] .telecall-recipient-picker legend, body.employee-page[data-theme="dark"] .admin-lead-priority-form label { color: #f1eee4; }
body.employee-page[data-theme="dark"] .telecall-detail-grid > div, body.employee-page[data-theme="dark"] .telecall-detail-grid, body.employee-page[data-theme="dark"] .telecall-outcome-form { border-color: rgba(230,214,156,.13); }
body.employee-page[data-theme="dark"] .telecall-detail-grid dd, body.employee-page[data-theme="dark"] .telecall-outcome-context label, body.employee-page[data-theme="dark"] .telecall-outcome-form legend, body.employee-page[data-theme="dark"] .telecall-admin-filters label { color: #f1eee4; }
body.employee-page[data-theme="dark"] .telecall-meeting-fields { border-color: rgba(230,214,156,.16); background: #173526; }
body.employee-page[data-theme="dark"] .telecall-outcome-form textarea, body.employee-page[data-theme="dark"] .telecall-outcome-form select, body.employee-page[data-theme="dark"] .telecall-outcome-form input, body.employee-page[data-theme="dark"] .telecall-admin-filters input, body.employee-page[data-theme="dark"] .telecall-admin-filters select, body.employee-page[data-theme="dark"] .telecall-target-picker select, body.employee-page[data-theme="dark"] .telecall-import-options select, body.employee-page[data-theme="dark"] .admin-lead-priority-form select { border-color: rgba(230,214,156,.18); background: #102f24; color: #f1eee4; }
body.employee-page[data-theme="dark"] .telecall-outcome { border-color: rgba(230,214,156,.18); background: #173526; color: #f1eee4; }
body.employee-page[data-theme="dark"] .call-bridge-panel { border-color: rgba(230,214,156,.2); background: #173526; }
body.employee-page[data-theme="dark"] .call-bridge-panel[data-state="ready"] { border-color: rgba(121,181,142,.45); background: #123526; }
body.employee-page[data-theme="dark"] .call-bridge-panel[data-state="active"], body.employee-page[data-theme="dark"] .call-bridge-panel[data-state="working"] { border-color: rgba(198,163,65,.62); background: #253b25; }
body.employee-page[data-theme="dark"] .call-bridge-panel[data-state="incoming"] { border-color: rgba(198,163,65,.62); background: #253b25; }
body.employee-page[data-theme="dark"] .call-bridge-panel[data-state="phone-link"] { border-color: rgba(143,167,188,.55); background: #152f36; }
body.employee-page[data-theme="dark"] .telecalling-mode-option { border-color: rgba(230,214,156,.18); background: #102f24; }
body.employee-page[data-theme="dark"] .telecalling-mode-option:has(input:checked) { border-color: rgba(198,163,65,.72); }
body.employee-page[data-theme="dark"] .telecalling-mode-option strong, body.employee-page[data-theme="dark"] .telecalling-mode-options > legend { color: #f1eee4; }
body.employee-page[data-theme="dark"] .telecalling-mode-option small, body.employee-page[data-theme="dark"] .telecalling-helper-download > span, body.employee-page[data-theme="dark"] .telecalling-setup-guide ol { color: #9eb0a5; }
body.employee-page[data-theme="dark"] .telecalling-mode-status, body.employee-page[data-theme="dark"] .telecalling-setup-guide summary { color: #eadb9e; }
body.employee-page[data-theme="dark"] .call-bridge-panel[data-state="attention"], body.employee-page[data-theme="dark"] .call-bridge-panel[data-state="offline"] { border-color: rgba(210,133,99,.5); background: #38271f; }
body.employee-page[data-theme="dark"] .call-bridge-copy strong { color: #f1eee4; }
body.employee-page[data-theme="dark"] .call-bridge-copy small { color: #aebfb4; }
body.employee-page[data-theme="dark"] .call-bridge-dialog { border-color: rgba(230,214,156,.28); background: #102f24; color: #f1eee4; }
body.employee-page[data-theme="dark"] .call-bridge-dialog h2, body.employee-page[data-theme="dark"] .call-bridge-dialog label { color: #f1eee4; }
body.employee-page[data-theme="dark"] .call-bridge-dialog p { color: #aebfb4; }
body.employee-page[data-theme="dark"] .call-bridge-dialog input { border-color: rgba(230,214,156,.18); background: #0d281e; color: #f1eee4; }

@media (max-width: 980px) {
  .google-access-layout { grid-template-columns: 1fr; }
  .google-access-editor { position: static; }
}
body.employee-page[data-theme="dark"] .telecall-callback-panel, body.employee-page[data-theme="dark"] .telecall-name-button.callback-due, body.employee-page[data-theme="dark"] .telecall-name-button.callback-upcoming { border-color: rgba(198,163,65,.48); background: #173526; }
body.employee-page[data-theme="dark"] .telecall-callback-panel strong, body.employee-page[data-theme="dark"] .telecall-callback-panel label { color: #f1eee4; }
body.employee-page[data-theme="dark"] .admin-lead-table tbody tr:hover, body.employee-page[data-theme="dark"] .admin-lead-table tbody tr.active { background: #173526; }
body.employee-page[data-theme="dark"] .telecall-record-tabs { border-color: rgba(230,214,156,.16); background: #102f24; }
body.employee-page[data-theme="dark"] .telecall-record-tabs button { color: #aebfb4; }
body.employee-page[data-theme="dark"] .telecall-record-tabs button:hover { color: #f1eee4; }
body.employee-page[data-theme="dark"] .telecall-record-tabs button.active { background: var(--gold); color: var(--forest); }
body.employee-page[data-theme="dark"] .going-forward-card { border-color: rgba(230,214,156,.16); background: #0d281e; box-shadow: none; }
body.employee-page[data-theme="dark"] .going-forward-card-heading h3, body.employee-page[data-theme="dark"] .advisor-handoff-complete strong, body.employee-page[data-theme="dark"] .advisor-handoff-panel label { color: #f1eee4; }
body.employee-page[data-theme="dark"] .going-forward-meta span, body.employee-page[data-theme="dark"] .going-forward-remarks, body.employee-page[data-theme="dark"] .advisor-handoff-panel { border-color: rgba(230,214,156,.14); background: #102f24; }
body.employee-page[data-theme="dark"] .going-forward-meta span.meeting { border-color: rgba(198,163,65,.4); background: #173526; color: var(--gold-light); }
body.employee-page[data-theme="dark"] .advisor-handoff-panel select { border-color: rgba(230,214,156,.18); background: #173526; color: #f1eee4; }

.embedded-customer360 .site-header, .embedded-customer360 .footer { display: none; }
.embedded-customer360 .workspace-hero { padding-top: 42px; }
.embedded-customer360 .workspace-hero .container { width: min(100% - 34px, 1320px); }
.embedded-customer360 .section-tight { padding-top: 28px; }

@media (max-width: 1200px) {
  .employee-header { grid-template-columns: 1fr auto; row-gap: 6px; }
  .customer-action-grid, .customer-profile-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .employee-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; width: 100%; overflow-x: auto; padding: 2px 0 4px; scrollbar-width: none; }
  .employee-nav::-webkit-scrollbar { display: none; }
  .employee-nav a { flex: 0 0 auto; }
}

@media (max-width: 980px) {
  .employee-login-shell { grid-template-columns: 1fr; }
  .employee-login-brand { min-height: 600px; }
  .employee-header { grid-template-columns: 1fr auto; }
  .employee-nav { display: flex; }
  .employee-hero { grid-template-columns: 1fr; }
  .employee-system-card { justify-self: start; }
  .employee-metrics { grid-template-columns: 1fr; }
  .telecall-metrics, .telecall-admin-metrics { grid-template-columns: repeat(2, 1fr); }
  .portal-card-grid { grid-template-columns: 1fr; }
  .download-tool-grid, .admin-grid { grid-template-columns: 1fr; }
  .onboarding-form-section { grid-template-columns: 1fr; }
  .onboarding-note { grid-column: 1; }
  .onboarding-result-grid, .onboarding-history-card { grid-template-columns: 1fr; }
  .onboarding-document-grid, .onboarding-history-documents { grid-template-columns: repeat(2, 1fr); }
  .application-filters { grid-template-columns: 1fr 1fr; }
  .application-card, .admin-request-card { grid-template-columns: 1fr; }
  .application-card-actions, .assignment-panel { border-top: 1px solid var(--line); border-left: 0; }
  .going-forward-card { grid-template-columns: 1fr; }
  .advisor-handoff-panel { border-top: 1px solid var(--line); border-left: 0; }
  .customer-dashboard-pending, .customer-result-overview { grid-template-columns: 1fr; }
  .customer-result-score { justify-self: start; }
  .customer-finding-grid { grid-template-columns: 1fr 1fr; }
  .telecall-split, .telecall-upload-grid, .telecall-targeted-upload { grid-template-columns: 1fr; }
  .admin-lead-priority-form { grid-template-columns: 1fr 1fr; }
  .admin-lead-priority-form > div, .admin-lead-priority-form .employee-report-status { grid-column: 1 / -1; }
  .telecall-name-panel { min-height: auto; }
  .telecall-name-list { max-height: 330px; }
  .telecall-admin-filters { grid-template-columns: 1fr 1fr; }
  .telecall-record-actions { grid-template-columns: 1fr 1fr; }
  .telecall-record-actions label, .telecall-record-actions .employee-report-status { grid-column: 1 / -1; }
  .telecall-batch-card { grid-template-columns: minmax(180px, 1fr) repeat(2, minmax(90px, .4fr)); }
  .customer-profile-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .employee-main { width: min(100% - 24px, 1500px); padding-top: 20px; }
  .employee-header { min-height: 68px; padding: 10px 14px; }
  .employee-account > span { display: none; }
  .employee-hero, .employee-section { padding: 24px 18px; border-radius: 15px; }
  .employee-section-heading, .employee-report-toolbar { align-items: start; flex-direction: column; }
  .employee-report-input { grid-template-columns: 1fr; }
  .employee-report-input .btn { min-height: 48px; }
  .employee-login-brand { min-height: 520px; padding: 35px 24px; }
  .employee-login-card { padding: 42px 24px; }
  .employee-test-credentials { grid-template-columns: 1fr; }
  .employee-test-credentials strong { grid-row: auto; }
  .customer-action-grid, .customer-profile-kpis, .customer-profile-facts { grid-template-columns: 1fr; }
  .settings-form { grid-template-columns: 1fr; }
  .onboarding-field-grid, .onboarding-summary-cards, .onboarding-document-grid, .onboarding-history-documents { grid-template-columns: 1fr; }
  .onboarding-wide { grid-column: auto; }
  .onboarding-submit-bar { position: static; align-items: stretch; flex-direction: column; }
  .onboarding-submit-bar .btn { width: 100%; }
  .telecaller-intro, .telecall-detail-heading { align-items: stretch; flex-direction: column; }
  .telecaller-intro .btn, .telecall-call-button { width: 100%; margin: 0; }
  .telecall-call-actions { width: 100%; flex-direction: column; }
  .telecall-call-actions .btn { width: 100%; }
  .call-bridge-panel { grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .call-bridge-pair-actions { grid-column: 2; align-items: flex-start; flex-direction: column; }
  .call-bridge-dialog-actions { align-items: stretch; flex-direction: column; }
  .call-bridge-dialog-actions .btn { width: 100%; }
  .call-bridge-incoming { grid-template-columns: auto minmax(0, 1fr); gap: 14px; padding: 18px; }
  .call-bridge-incoming-actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; min-width: 0; }
  .call-bridge-incoming-copy h2 { white-space: normal; }
  .telecall-metrics, .telecall-admin-metrics { grid-template-columns: 1fr; }
  .telecall-record-actions, .customer-directory-search { grid-template-columns: 1fr; }
  .telecall-contact-strip, .telecall-detail-grid, .telecall-outcome-context, .telecall-outcome-actions, .telecall-import-result, .telecall-admin-filters, .admin-lead-detail .telecall-detail-grid { grid-template-columns: 1fr; }
  .telecall-callback-panel { grid-template-columns: 1fr; }
  .telecall-callback-actions { flex-direction: column; }
  .telecall-upload-form { grid-template-columns: 1fr; }
  .telecall-import-options, .telecall-recipient-options, .admin-lead-priority-form { grid-template-columns: 1fr; }
  .telecall-import-options { grid-column: auto; }
  .admin-lead-priority-form > div, .admin-lead-priority-form .employee-report-status { grid-column: auto; }
  .telecall-upload-form .btn { min-height: 50px; }
  .telecall-batch-card { grid-template-columns: 1fr 1fr; }
  .telecall-batch-card > div:first-child { grid-column: 1 / -1; }
  .telecall-record-tabs { display: grid; grid-template-columns: 1fr 1fr; width: 100%; border-radius: 14px; }
  .telecall-record-tabs button { padding: 0 10px; }
  .going-forward-card-heading { flex-direction: column; }
  .customer-code-action > div, .simple-action-row { grid-template-columns: 1fr; }
  .customer-code-action input { min-height: 46px; }
  .customer-workspace-toolbar, .settings-card-heading { align-items: stretch; flex-direction: column; }
  .telecalling-mode-options { grid-template-columns: 1fr; }
  .customer360-page .employee-account > span { display: none; }
  .theme-toggle-label { display: none; }
  .site-header .nav-actions > .btn-gold { display: none; }
  .site-header .nav-actions { gap: 7px; }
  .customer-auth-state { display: none; }
  .employee-header .brand { min-width: 178px; gap: 9px; }
  .employee-header .brand-mark { width: 46px; height: 46px; }
  .employee-header .brand-title { font-size: .72rem; }
  .employee-header .brand-subtitle { font-size: .43rem; }
  .application-filters { grid-template-columns: 1fr; }
  .application-meta { grid-template-columns: 1fr; }
  .onboarding-heading { align-items: flex-start; flex-direction: column; }
  .onboarding-heading > strong { text-align: left; }
  .onboarding-progress-labels { grid-template-columns: 1fr 1fr; gap: 8px; }
  .onboarding-progress-labels span, .onboarding-progress-labels span:not(:first-child):not(:last-child), .onboarding-progress-labels span:last-child { text-align: left; }
  .pending-review-preview, .customer-finding-grid, .customer-area-grid { grid-template-columns: 1fr; }
  .customer-result-score .score-ring { width: 170px; height: 170px; }
  .customer-action-card-result { grid-template-columns: 34px minmax(0, 1fr); padding: 16px; }
  .customer-action-card-result > b { width: 32px; height: 32px; }
  .customer-action-card-result > div > div { align-items: flex-start; flex-direction: column; gap: 7px; }
}

/* Careers */
.careers-hero { min-height: 660px; }
.careers-hero .hero-grid { align-items: stretch; }
.career-hero-card { position: relative; align-self: center; min-height: 430px; overflow: hidden; padding: clamp(30px, 5vw, 58px); border: 1px solid rgba(230,214,156,.22); border-radius: 20px; background: linear-gradient(145deg, #123a2b, #0b281e); box-shadow: 0 30px 90px rgba(0,0,0,.22); }
.career-hero-card::after { content: ''; position: absolute; right: -145px; bottom: -165px; width: 390px; height: 390px; border: 1px solid rgba(198,163,65,.24); border-radius: 50%; box-shadow: 0 0 0 38px rgba(198,163,65,.035), 0 0 0 94px rgba(198,163,65,.02); }
.career-hero-card h2 { position: relative; z-index: 1; margin: 18px 0 54px; color: var(--paper); font: 400 clamp(2.2rem, 4.7vw, 4.5rem)/1.01 'DM Serif Display', Georgia, serif; letter-spacing: -.035em; }
.career-hero-card > div:last-child { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; }
.career-hero-card > div:last-child span { padding: 8px 11px; border: 1px solid rgba(230,214,156,.18); border-radius: 999px; color: #c5d1c8; font-size: .55rem; font-weight: 700; }
.careers-openings { scroll-margin-top: 74px; background: var(--paper-2); }
.job-opening-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 34px; }
.job-opening-card { display: flex; min-height: 430px; flex-direction: column; padding: clamp(25px, 3.5vw, 38px); border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: 0 14px 42px rgba(8,37,27,.055); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.job-opening-card:hover { transform: translateY(-3px); border-color: rgba(198,163,65,.58); box-shadow: 0 22px 55px rgba(8,37,27,.09); }
.job-opening-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.job-opening-meta span { padding: 6px 9px; border-radius: 999px; background: rgba(198,163,65,.13); color: var(--gold-deep); font-size: .52rem; font-weight: 800; }
.job-opening-card h3 { margin: 22px 0 0; font: 400 clamp(1.9rem, 3.6vw, 3rem)/1.03 'DM Serif Display', Georgia, serif; }
.job-opening-card p { margin: 14px 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.75; }
.job-opening-card ul { display: grid; gap: 9px; margin: 24px 0 28px; padding: 20px 0 0; border-top: 1px solid var(--line); list-style: none; }
.job-opening-card li { display: flex; gap: 10px; color: var(--ink-soft); font-size: .64rem; line-height: 1.5; }
.job-opening-card li::before { content: '✓'; color: var(--gold-deep); font-weight: 800; }
.job-opening-card .btn { width: 100%; margin-top: auto; }
.job-opening-card .btn.selected { border-color: var(--gold); background: var(--gold); color: var(--forest); }
.career-list-status { min-height: 24px; margin: 18px 0 0; color: var(--ink-soft); font-size: .65rem; }
.career-empty-state { grid-column: 1 / -1; }
.career-application-shell { scroll-margin-top: 90px; }
.selected-job-banner { display: grid; gap: 6px; margin-bottom: 24px; padding: 14px 16px; border: 1px solid rgba(198,163,65,.38); border-radius: 10px; background: rgba(198,163,65,.09); }
.selected-job-banner span { color: var(--gold-deep); font-size: .51rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.selected-job-banner strong { font: 400 1.25rem/1.2 'DM Serif Display', Georgia, serif; }
.resume-picker { display: grid !important; gap: 7px; padding: 20px; border: 1px dashed rgba(111,93,42,.42); border-radius: 10px; background: rgba(198,163,65,.055); cursor: pointer; transition: border-color .2s ease, background-color .2s ease; }
.resume-picker:hover { border-color: var(--gold); background: rgba(198,163,65,.1); }
.resume-picker span { color: var(--gold-deep); font-size: .59rem; font-weight: 800; }
.resume-picker strong { overflow-wrap: anywhere; color: var(--ink); font-size: .69rem; }
.resume-picker small { color: var(--ink-soft); font-size: .54rem; font-weight: 500; }
[data-career-resume] { position: absolute; width: 1px !important; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

/* Careers administration */
.career-admin-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.career-admin-form { margin-top: 28px; padding: clamp(20px, 3vw, 30px); border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.55); }
.career-admin-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.career-admin-fields label, .career-application-filter label, .career-application-review label { display: grid; gap: 8px; color: var(--ink); font-size: .6rem; font-weight: 800; }
.career-admin-fields input, .career-admin-fields select, .career-admin-fields textarea, .career-application-filter select, .career-application-review select, .career-application-review textarea { width: 100%; padding: 12px 13px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: 500 .66rem/1.5 'Plus Jakarta Sans', sans-serif; }
.career-admin-fields textarea, .career-application-review textarea { resize: vertical; }
.career-admin-wide { grid-column: span 2; }
.career-admin-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.career-admin-actions .employee-report-status { margin: 0 0 0 auto; }
.admin-job-list, .admin-career-applications { display: grid; gap: 12px; margin-top: 24px; }
.admin-job-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 22px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.admin-job-card h3, .admin-career-application-main h3 { margin: 10px 0 0; font: 400 1.7rem/1.05 'DM Serif Display', Georgia, serif; }
.admin-job-card p { max-width: 780px; margin: 8px 0 0; color: var(--ink-soft); font-size: .63rem; line-height: 1.65; }
.admin-job-strengths { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.admin-job-strengths span { padding: 5px 8px; border-radius: 999px; background: rgba(198,163,65,.12); color: var(--gold-deep); font-size: .51rem; font-weight: 700; }
.admin-job-actions { display: flex; flex-direction: column; gap: 8px; min-width: 130px; }
.career-application-filter { display: flex; align-items: end; gap: 10px; margin-top: 24px; }
.career-application-filter label { width: min(300px, 100%); }
.admin-career-application-card { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(290px, .8fr); overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.admin-career-application-main { padding: 24px; }
.admin-career-application-main > strong { display: block; margin-top: 7px; color: var(--gold-deep); font-size: .62rem; }
.admin-career-application-main .application-meta { margin-top: 22px; }
.career-application-review { display: grid; align-content: start; gap: 13px; padding: 24px; border-left: 1px solid var(--line); background: rgba(238,235,224,.68); }
.career-application-review .employee-report-status { margin: 0; }

body.public-page[data-theme="dark"] .careers-openings { background: #091f17; }
body.public-page[data-theme="dark"] .job-opening-card, body.public-page[data-theme="dark"] .career-empty-state { border-color: rgba(230,214,156,.16); background: #0d281e; box-shadow: none; }
body.public-page[data-theme="dark"] .job-opening-card p, body.public-page[data-theme="dark"] .job-opening-card li, body.public-page[data-theme="dark"] .career-list-status, body.public-page[data-theme="dark"] .resume-picker small { color: #9fb2a6; }
body.public-page[data-theme="dark"] .job-opening-card ul, body.public-page[data-theme="dark"] .resume-picker { border-color: rgba(230,214,156,.2); }
body.public-page[data-theme="dark"] .resume-picker { background: #173526; }
body.public-page[data-theme="dark"] .resume-picker strong, body.public-page[data-theme="dark"] .selected-job-banner strong { color: #f1eee4; }
body.employee-page[data-theme="dark"] .career-admin-form, body.employee-page[data-theme="dark"] .admin-job-card, body.employee-page[data-theme="dark"] .admin-career-application-card { border-color: rgba(230,214,156,.16); background: #0d281e; }
body.employee-page[data-theme="dark"] .career-admin-fields label, body.employee-page[data-theme="dark"] .career-application-filter label, body.employee-page[data-theme="dark"] .career-application-review label, body.employee-page[data-theme="dark"] .admin-job-card h3, body.employee-page[data-theme="dark"] .admin-career-application-main h3 { color: #f1eee4; }
body.employee-page[data-theme="dark"] .admin-job-card p { color: #9eb0a5; }
body.employee-page[data-theme="dark"] .career-application-review { border-color: rgba(230,214,156,.14); background: #102f24; }

@media (max-width: 980px) {
  .job-opening-grid { grid-template-columns: 1fr; }
  .job-opening-card { min-height: 0; }
  .career-admin-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-career-application-card { grid-template-columns: 1fr; }
  .career-application-review { border-top: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 800px) and (min-width: 561px) {
  .footer-layout { grid-template-columns: minmax(130px, 180px) minmax(0, 1fr); align-items: center; }
  .footer-legal { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .career-hero-card { min-height: 360px; }
  .career-admin-metrics { grid-template-columns: 1fr; }
  .career-admin-fields { grid-template-columns: 1fr; }
  .career-admin-wide { grid-column: auto; }
  .career-admin-actions { align-items: stretch; flex-direction: column; }
  .career-admin-actions .employee-report-status { margin-left: 0; }
  .admin-job-card { grid-template-columns: 1fr; }
  .admin-job-actions { flex-direction: row; flex-wrap: wrap; }
  .career-application-filter { align-items: stretch; flex-direction: column; }
  .career-application-filter label { width: 100%; }
}

/* Public product navigation and integrated approach */
.home-review-section { scroll-margin-top: 112px; }
.home-review-section .feature-item, .approach-feature-list .feature-item { grid-template-columns: minmax(0, 1fr); }
.home-problem-list .feature-item { padding: 20px 0; }
.home-problem-list .feature-item h3 { font-size: .92rem; }
.home-problem-list .feature-item p { max-width: 520px; }
.home-partners { padding-top: 24px; border-bottom: 1px solid var(--line); }

.hero-service-menu { overflow: hidden; border-color: rgba(230,214,156,.2); background: linear-gradient(145deg, #173f30, #0b291f 72%); color: var(--paper); box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.hero-service-menu::before { content: ''; position: absolute; width: 250px; height: 250px; right: -110px; top: -120px; border: 1px solid rgba(230,214,156,.13); border-radius: 50%; box-shadow: 0 0 0 34px rgba(198,163,65,.025), 0 0 0 74px rgba(198,163,65,.015); pointer-events: none; }
.hero-service-menu { position: relative; }
.hero-service-menu h2 { position: relative; margin-bottom: 27px; color: var(--paper); }
.hero-service-grid { position: relative; gap: 11px; }
.hero-service-grid a.service-choice { --service-accent: var(--gold); grid-template-columns: 44px minmax(0, 1fr) 32px; min-height: 104px; padding: 17px; border-color: rgba(198,163,65,.42); background: #14372a; border-color: color-mix(in srgb, var(--service-accent) 42%, transparent); background: linear-gradient(135deg, color-mix(in srgb, var(--service-accent) 18%, #14372a), #102f24 72%); color: var(--paper); box-shadow: inset 0 1px 0 rgba(255,255,255,.035); }
.hero-service-grid a.service-choice:hover { border-color: var(--service-accent); background: linear-gradient(135deg, color-mix(in srgb, var(--service-accent) 25%, #14372a), #14372a 74%); box-shadow: 0 16px 32px rgba(0,0,0,.18); }
.service-choice.service-life { --service-accent: #e2bd4e; }
.service-choice.service-health { --service-accent: #87c99e; }
.service-choice.service-general { --service-accent: #aebcb3; }
.service-choice.service-funds { --service-accent: #df9f54; }
.service-choice-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid color-mix(in srgb, var(--service-accent) 62%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--service-accent) 16%, transparent); color: var(--service-accent); font-size: .58rem; font-weight: 800; letter-spacing: .08em; }
.service-choice > span:nth-child(2) { display: grid; gap: 5px; min-width: 0; }
.hero-service-grid .service-choice strong { color: var(--paper); font: 400 1.14rem/1.1 'DM Serif Display', Georgia, serif; }
.service-choice small { color: #9eb5a7; font-size: .53rem; line-height: 1.45; }
.hero-service-grid .service-choice b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: color-mix(in srgb, var(--service-accent) 16%, transparent); color: var(--service-accent); }

.product-guide-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.product-guide-card { position: relative; display: flex; min-height: 300px; overflow: hidden; flex-direction: column; padding: 27px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(155deg, var(--paper), #eee9dc); box-shadow: 0 15px 40px rgba(8,37,27,.055); transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.product-guide-card::after { content: ''; position: absolute; right: -62px; bottom: -78px; width: 170px; height: 170px; border: 1px solid rgba(198,163,65,.22); border-radius: 50%; box-shadow: 0 0 0 22px rgba(198,163,65,.025); }
.product-guide-card:hover { transform: translateY(-4px); border-color: rgba(198,163,65,.7); box-shadow: 0 22px 55px rgba(8,37,27,.1); }
.product-guide-card > span { color: var(--gold-deep); font-size: .52rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-guide-card h3 { margin: 17px 0 0; font: 400 1.8rem/1.05 'DM Serif Display', Georgia, serif; }
.product-guide-card p { margin: 13px 0 25px; color: var(--ink-soft); font-size: .66rem; line-height: 1.7; }
.product-guide-card b { position: relative; z-index: 1; margin-top: auto; color: var(--gold-deep); font-size: .59rem; }

.approach-home-section { background: var(--paper-2); }
.approach-home-section .two-col { align-items: stretch; }
.approach-subheading { margin: 30px 0 8px; font: 400 1.55rem/1.12 'DM Serif Display', Georgia, serif; }
.approach-feature-list { margin-top: 30px; }
.story-panel { position: relative; min-height: 620px; overflow: hidden; border-radius: 20px; background: radial-gradient(circle at 72% 25%, #244f3d, #0d3024 58%, #08251b); color: var(--paper); }
.story-panel .ring { position: absolute; border: 1px solid rgba(230,214,156,.16); border-radius: 50%; }
.story-panel .ring-1 { width: 420px; height: 420px; right: -110px; top: -90px; }
.story-panel .ring-2 { width: 540px; height: 540px; right: -170px; top: -150px; }
.story-panel .ring-3 { width: 670px; height: 670px; right: -230px; top: -215px; }
.story-panel .visual-content { min-height: 620px; }
.story-panel .visual-content h3 { max-width: 420px; font-size: clamp(2.4rem, 4vw, 4rem); }
.principle-card { padding: 30px; }
.home-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 46px; padding: 30px; border: 1px solid rgba(198,163,65,.34); border-radius: 16px; background: rgba(198,163,65,.075); }
.home-final-cta h3 { margin: 9px 0 0; font: 400 clamp(1.8rem, 3.2vw, 2.8rem)/1.05 'DM Serif Display', Georgia, serif; }
.home-final-cta p { margin: 9px 0 0; color: var(--ink-soft); font-size: .68rem; }
.home-final-cta .btn { flex: none; }

/* Standalone educational product guides */
.topic-page { background: #071a13; color: var(--paper); }
.topic-hero { --topic-accent: var(--gold); min-height: 690px; padding: 150px 0 88px; background: #0d3024; background: radial-gradient(circle at 82% 18%, color-mix(in srgb, var(--topic-accent) 16%, transparent), transparent 32%), linear-gradient(135deg, #09271d, #103b2c); color: var(--paper); }
.topic-life { --topic-accent: #e2bd4e; }
.topic-health { --topic-accent: #87c99e; }
.topic-general { --topic-accent: #b3c1b7; }
.topic-funds { --topic-accent: #df9f54; }
.topic-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); align-items: center; gap: clamp(45px, 7vw, 100px); }
.topic-hero-copy h1 { max-width: 800px; margin: 18px 0 0; font: 400 clamp(3.6rem, 7vw, 6.8rem)/.96 'DM Serif Display', Georgia, serif; letter-spacing: -.05em; }
.topic-hero-copy h1 em { color: var(--topic-accent); font-style: normal; }
.topic-hero-copy > p { max-width: 650px; margin: 27px 0 0; color: #b3c6b9; font-size: .92rem; line-height: 1.78; }
.topic-hero-panel { position: relative; display: grid; gap: 0; overflow: hidden; border: 1px solid color-mix(in srgb, var(--topic-accent) 30%, transparent); border-radius: 18px; background: rgba(7,28,20,.5); box-shadow: 0 30px 80px rgba(0,0,0,.22); }
.topic-code { display: grid; place-items: center; width: 72px; height: 72px; margin: 28px; border: 1px solid color-mix(in srgb, var(--topic-accent) 55%, transparent); border-radius: 18px; background: color-mix(in srgb, var(--topic-accent) 12%, transparent); color: var(--topic-accent); font: 700 1rem/1 'Plus Jakarta Sans', sans-serif; letter-spacing: .1em; }
.topic-hero-panel > div { display: grid; gap: 6px; padding: 20px 28px; border-top: 1px solid rgba(230,214,156,.13); }
.topic-hero-panel small { color: #7f9a8a; font-size: .51rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.topic-hero-panel strong { max-width: 410px; color: #e9e5d9; font: 400 1.2rem/1.3 'DM Serif Display', Georgia, serif; }
.topic-switcher { border-bottom: 1px solid var(--line); background: var(--paper); }
.topic-switcher .container { display: grid; grid-template-columns: repeat(4, 1fr); }
.topic-switcher a { position: relative; padding: 20px 18px; border-right: 1px solid var(--line); color: var(--ink-soft); text-align: center; font-size: .62rem; font-weight: 800; }
.topic-switcher a:first-child { border-left: 1px solid var(--line); }
.topic-switcher a::after { content: ''; position: absolute; right: 20%; bottom: -1px; left: 20%; height: 2px; background: var(--gold); opacity: 0; transform: scaleX(.5); transition: opacity .2s ease, transform .2s ease; }
.topic-switcher a:hover, .topic-switcher a.current { color: var(--forest); }
.topic-switcher a.current::after { opacity: 1; transform: scaleX(1); }
.topic-intro { scroll-margin-top: 110px; }
.topic-two-col { display: grid; grid-template-columns: minmax(0, .95fr) minmax(360px, .75fr); align-items: start; gap: clamp(45px, 8vw, 110px); }
.topic-two-col h2, .topic-check-grid h2 { margin: 11px 0 0; font: 400 clamp(2.6rem, 5vw, 4.9rem)/1.01 'DM Serif Display', Georgia, serif; letter-spacing: -.04em; }
.topic-two-col p, .topic-check-grid p { color: var(--ink-soft); font-size: .84rem; line-height: 1.8; }
.topic-definition-card { position: sticky; top: 112px; padding: clamp(26px, 4vw, 42px); border: 1px solid var(--line); border-radius: 17px; background: var(--paper-2); box-shadow: var(--shadow); }
.topic-definition-card > span { color: var(--gold-deep); font-size: .53rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.topic-definition-card h3 { margin: 15px 0 0; font: 400 clamp(2rem, 3.5vw, 3rem)/1.05 'DM Serif Display', Georgia, serif; }
.topic-definition-card p { margin: 16px 0 0; font-size: .72rem; }
.topic-note { margin-top: 24px; padding: 14px 15px; border-left: 2px solid var(--gold); background: rgba(198,163,65,.08); color: var(--ink-soft); font-size: .61rem; line-height: 1.65; }
.topic-formats-section { background: var(--paper-2); }
.topic-format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.topic-format-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.topic-format-grid article { min-height: 275px; padding: 27px; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); }
.topic-format-grid article > span { color: var(--gold-deep); font-size: .51rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.topic-format-grid h3 { margin: 20px 0 0; font: 400 1.75rem/1.08 'DM Serif Display', Georgia, serif; }
.topic-format-grid p { margin: 13px 0 0; color: var(--ink-soft); font-size: .66rem; line-height: 1.72; }
.topic-sample-section { padding-top: 90px; padding-bottom: 90px; }
.topic-sample-grid { display: grid; grid-template-columns: minmax(0, .78fr) minmax(420px, 1.22fr); align-items: start; gap: clamp(45px, 8vw, 110px); }
.topic-sample-grid h2 { margin: 11px 0 0; font: 400 clamp(2.5rem, 5vw, 4.7rem)/1.02 'DM Serif Display', Georgia, serif; letter-spacing: -.04em; }
.topic-sample-grid > div:first-child > p { color: #abc0b3; font-size: .79rem; line-height: 1.8; }
.sample-badge { display: inline-flex; margin-top: 18px; padding: 8px 11px; border: 1px solid rgba(230,214,156,.2); border-radius: 999px; color: var(--gold-light); font-size: .53rem; font-weight: 700; }
.sample-question-list, .sample-compare { overflow: hidden; border: 1px solid rgba(230,214,156,.16); border-radius: 16px; background: rgba(13,45,33,.56); }
.sample-question-list > div { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 16px; padding: 20px 22px; border-bottom: 1px solid rgba(230,214,156,.13); }
.sample-question-list > div:last-child, .sample-compare > div:last-child { border-bottom: 0; }
.sample-question-list span { color: var(--gold); font: 400 1.15rem/1 'DM Serif Display', Georgia, serif; }
.sample-question-list p { margin: 0; color: #a9bdb1; font-size: .64rem; line-height: 1.65; }
.sample-question-list strong { display: block; margin-bottom: 5px; color: var(--paper); font-size: .68rem; }
.sample-compare > div { display: grid; grid-template-columns: minmax(110px, .42fr) minmax(0, 1fr); gap: 20px; padding: 18px 22px; border-bottom: 1px solid rgba(230,214,156,.13); }
.sample-compare span { color: var(--gold-light); font-size: .6rem; font-weight: 800; }
.sample-compare strong { color: #aec0b5; font-size: .61rem; line-height: 1.6; }
.sample-compare-head { background: rgba(198,163,65,.08); }
.sip-sample-card { padding: 28px; border: 1px solid rgba(230,214,156,.16); border-radius: 16px; background: rgba(13,45,33,.56); }
.sip-sample-card > div:not(.sip-bars) { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 17px 0; border-bottom: 1px solid rgba(230,214,156,.13); }
.sip-sample-card span { color: #a9bdb1; font-size: .61rem; }
.sip-sample-card strong { color: var(--paper); font: 400 1.9rem/1 'DM Serif Display', Georgia, serif; }
.sip-bars { display: flex; align-items: end; gap: 12px; height: 115px; padding-top: 22px; }
.sip-bars span { width: 50%; height: var(--bar); border-radius: 6px 6px 0 0; background: linear-gradient(var(--gold-light), var(--gold-deep)); }
.sip-bars span:first-child { opacity: .5; }
.sip-sample-card p { margin: 18px 0 0; color: #91aa9b; font-size: .56rem; line-height: 1.65; }
.topic-check-grid { display: grid; grid-template-columns: minmax(0, .92fr) minmax(360px, .78fr); align-items: center; gap: clamp(45px, 8vw, 110px); }
.official-source-row { display: flex; flex-wrap: wrap; gap: 8px; }
.official-source { display: inline-flex; margin-top: 18px; padding: 9px 12px; border: 1px solid rgba(198,163,65,.35); border-radius: 999px; color: var(--gold-deep); font-size: .56rem; font-weight: 800; }
.official-source-row .official-source { margin-top: 18px; }
.checklist-card { padding: 30px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper-2); }
.checklist-card ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.checklist-card li { position: relative; padding: 15px 0 15px 31px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: .67rem; line-height: 1.55; }
.checklist-card li:last-child { border-bottom: 0; }
.checklist-card li::before { content: '✓'; position: absolute; left: 0; top: 14px; display: grid; place-items: center; width: 19px; height: 19px; border: 1px solid rgba(198,163,65,.45); border-radius: 50%; color: var(--gold-deep); font-size: .52rem; }
.topic-final-cta { background: var(--paper-2); }
.topic-final-cta .container { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.topic-final-cta h2 { margin: 10px 0 0; font: 400 clamp(2.2rem, 4.5vw, 4.2rem)/1.02 'DM Serif Display', Georgia, serif; letter-spacing: -.035em; }
.topic-final-cta .btn { flex: none; }

.topic-page .topic-switcher { border-color: rgba(230,214,156,.14); background: #0d281e; }
.topic-page .topic-switcher a { border-color: rgba(230,214,156,.14); color: #9fb2a6; }
.topic-page .topic-switcher a:hover, .topic-page .topic-switcher a.current { color: var(--paper); }
.topic-page .topic-intro { background: #071a13; }
.topic-page .topic-formats-section, .topic-page .topic-final-cta { background: #091f17; }
.topic-page .topic-definition-card, .topic-page .topic-format-grid article, .topic-page .checklist-card { border-color: rgba(230,214,156,.16); background: #0d281e; box-shadow: none; }
.topic-page .topic-two-col h2, .topic-page .topic-two-col h3, .topic-page .topic-check-grid h2, .topic-page .topic-format-grid h3, .topic-page .topic-final-cta h2 { color: var(--paper); }
.topic-page .topic-two-col p, .topic-page .topic-check-grid p, .topic-page .topic-format-grid p, .topic-page .topic-note { color: #9fb2a6; }
.topic-page .topic-definition-card > span, .topic-page .topic-format-grid article > span { color: var(--gold); }
.topic-page .topic-note { background: #173526; }
.topic-page .official-source { color: var(--gold-light); }
.topic-page .checklist-card li { border-color: rgba(230,214,156,.13); color: #e4e8e2; }
.topic-page .checklist-card li::before { color: var(--gold-light); }
.topic-page .topic-final-cta .btn-primary { background: var(--gold); color: var(--forest); box-shadow: 0 12px 25px rgba(152,117,28,.18); }
.topic-page .topic-final-cta .btn-primary:hover { background: var(--gold-light); }

body.public-page[data-theme="dark"] .product-guide-card, body.public-page[data-theme="dark"] .topic-definition-card, body.public-page[data-theme="dark"] .topic-format-grid article, body.public-page[data-theme="dark"] .checklist-card { border-color: rgba(230,214,156,.16); background: #0d281e; box-shadow: none; }
body.public-page[data-theme="dark"] .approach-home-section, body.public-page[data-theme="dark"] .topic-formats-section, body.public-page[data-theme="dark"] .topic-final-cta { background: #091f17; }
body.public-page[data-theme="dark"] .product-guide-card p, body.public-page[data-theme="dark"] .topic-two-col p, body.public-page[data-theme="dark"] .topic-check-grid p, body.public-page[data-theme="dark"] .topic-format-grid p, body.public-page[data-theme="dark"] .topic-note, body.public-page[data-theme="dark"] .home-final-cta p { color: #9fb2a6; }
body.public-page[data-theme="dark"] .topic-switcher { border-color: rgba(230,214,156,.14); background: #0d281e; }
body.public-page[data-theme="dark"] .topic-switcher a { border-color: rgba(230,214,156,.14); color: #9fb2a6; }
body.public-page[data-theme="dark"] .topic-switcher a:hover, body.public-page[data-theme="dark"] .topic-switcher a.current { color: var(--paper); }
body.public-page[data-theme="dark"] .checklist-card li { border-color: rgba(230,214,156,.13); color: #e4e8e2; }
body.public-page[data-theme="dark"] .home-final-cta { border-color: rgba(198,163,65,.3); background: #173526; }

@media (max-width: 1100px) {
  .product-guide-grid, .topic-format-grid-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .topic-hero-grid, .topic-two-col, .topic-sample-grid, .topic-check-grid { grid-template-columns: 1fr; }
  .topic-hero { min-height: auto; }
  .topic-hero-panel { max-width: 720px; }
  .topic-definition-card { position: static; }
  .story-panel, .story-panel .visual-content { min-height: 500px; }
  .topic-sample-grid { gap: 35px; }
}

@media (max-width: 700px) {
  .hero-service-grid a.service-choice { grid-template-columns: 42px minmax(0, 1fr) 30px; min-height: 92px; }
  .product-guide-grid, .topic-format-grid, .topic-format-grid-four { grid-template-columns: 1fr; }
  .product-guide-card, .topic-format-grid article { min-height: 0; }
  .home-final-cta, .topic-final-cta .container { align-items: flex-start; flex-direction: column; }
  .topic-hero { padding-top: 125px; }
  .topic-hero-copy h1 { font-size: clamp(3.3rem, 15vw, 5rem); }
  .topic-switcher { overflow-x: auto; }
  .topic-switcher .container { width: max-content; min-width: 100%; grid-template-columns: repeat(4, minmax(150px, 1fr)); }
  .sample-compare > div { grid-template-columns: 1fr; gap: 7px; }
  .sip-sample-card > div:not(.sip-bars) { align-items: flex-start; flex-direction: column; }
  .story-panel, .story-panel .visual-content { min-height: 440px; }
}

/* Password recovery */
.password-reset-page { min-height: 100vh; background: var(--forest); }
.password-reset-shell { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr); min-height: 100vh; }
.password-reset-brand { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 7vw, 105px); background: radial-gradient(circle at 82% 18%, rgba(198,163,65,.16), transparent 32%), linear-gradient(145deg, #06271c, #0b3a2a); color: var(--paper); }
.password-reset-brand .caps { margin-top: clamp(70px, 9vw, 125px); }
.password-reset-brand h1 { max-width: 720px; margin: 17px 0 0; font: 400 clamp(3.4rem, 6.5vw, 7rem)/.92 'DM Serif Display', Georgia, serif; letter-spacing: -.05em; }
.password-reset-brand > p { max-width: 600px; margin: 25px 0 0; color: #b7c8bc; font-size: .78rem; line-height: 1.8; }
.password-reset-points { display: grid; gap: 11px; margin: 34px 0 0; padding: 0; list-style: none; color: #d5e0d7; font-size: .63rem; }
.password-reset-points li { position: relative; padding-left: 24px; }
.password-reset-points li::before { content: '✓'; position: absolute; left: 0; color: var(--gold); font-weight: 800; }
.password-reset-card { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 6vw, 88px); background: #f7f4eb; }
.password-reset-card h2 { margin: 12px 0 0; font: 400 clamp(2.5rem, 4.3vw, 4.4rem)/1 'DM Serif Display', Georgia, serif; letter-spacing: -.035em; }
.password-reset-card > p, .password-reset-confirm > p { max-width: 610px; margin: 13px 0 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.7; }
.password-reset-form { display: grid; gap: 15px; margin-top: 28px; }
.password-reset-form label { display: grid; gap: 8px; color: var(--ink); font-size: .63rem; font-weight: 800; }
.password-reset-form input { width: 100%; min-height: 47px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 0 13px; outline: none; font-size: .74rem; }
.password-reset-form input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.password-reset-form label small { color: var(--ink-soft); font-size: .53rem; font-weight: 600; line-height: 1.55; }
.password-reset-form .btn { min-height: 48px; }
.password-reset-status { min-height: 19px; margin: 12px 0 0; color: #a44f30; font-size: .62rem; font-weight: 700; line-height: 1.55; }
.password-reset-status[data-state="success"] { color: #356f4d; }
.password-reset-divider { height: 1px; margin: 28px 0; background: var(--line); }
.password-reset-confirm h3 { margin: 0; font: 400 1.75rem/1.1 'DM Serif Display', Georgia, serif; }
.password-reset-links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; margin-top: 24px; }
.password-reset-links a, .password-reset-links button { padding: 0; border: 0; background: transparent; color: var(--gold-deep); font-size: .62rem; font-weight: 800; }

/* IT administration */
.itadmin-main { max-width: 1480px; }
.itadmin-intro h1 { max-width: 980px; }
.itadmin-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 11px; margin-top: 24px; }
.itadmin-stat-grid article { min-width: 0; padding: 19px; border: 1px solid var(--line); border-radius: 13px; background: #faf8f1; box-shadow: 0 10px 30px rgba(16,48,36,.05); }
.itadmin-stat-grid span { display: block; color: var(--ink-soft); font-size: .54rem; font-weight: 800; line-height: 1.5; text-transform: uppercase; letter-spacing: .07em; }
.itadmin-stat-grid strong { display: block; margin-top: 9px; color: var(--forest); font: 400 2rem/1 'DM Serif Display', Georgia, serif; }
.itadmin-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.itadmin-panel h2 { margin: 10px 0 0; font: 400 clamp(2rem, 3.4vw, 3.4rem)/1 'DM Serif Display', Georgia, serif; }
.itadmin-panel > p { max-width: 720px; color: var(--ink-soft); font-size: .68rem; line-height: 1.75; }
.itadmin-status { flex: none; padding: 8px 11px; border: 1px solid #d5cba8; border-radius: 999px; color: var(--gold-deep); font-size: .54rem; font-weight: 800; }
.itadmin-status.ready { border-color: #99c7a8; background: #edf6ef; color: #356f4d; }
.itadmin-status.attention { border-color: #d6a185; background: #fff0e7; color: #9b4f31; }
.itadmin-email-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.itadmin-email-form label:first-child { grid-column: 1 / -1; }
.itadmin-security-note { display: grid; gap: 5px; margin-top: 24px; padding: 15px; border-left: 3px solid var(--gold); background: #f1ead4; }
.itadmin-security-note strong { color: var(--forest); font-size: .62rem; }
.itadmin-security-note span { color: var(--ink-soft); font-size: .57rem; line-height: 1.6; }
.itadmin-config-list { display: grid; gap: 0; margin: 26px 0 0; }
.itadmin-config-list > div { display: flex; justify-content: space-between; gap: 18px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.itadmin-config-list dt { color: var(--ink-soft); font-size: .58rem; font-weight: 700; }
.itadmin-config-list dd { margin: 0; color: var(--forest); font-size: .59rem; font-weight: 800; text-align: right; }
.itadmin-account-tabs { display: inline-flex; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #f0ede3; }
.itadmin-account-tabs button { min-height: 39px; padding: 0 16px; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--ink-soft); font-size: .58rem; font-weight: 800; }
.itadmin-account-tabs button:last-child { border-right: 0; }
.itadmin-account-tabs button.active { background: var(--forest); color: var(--paper); }
.itadmin-search { display: grid; gap: 8px; max-width: 620px; margin-top: 24px; color: var(--ink); font-size: .61rem; font-weight: 800; }
.itadmin-search input { min-height: 45px; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 0 13px; outline: none; }
.itadmin-search input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.itadmin-account-action { min-width: 82px; min-height: 34px; border: 1px solid #d3c89e; border-radius: 7px; background: transparent; color: var(--gold-deep); font-size: .54rem; font-weight: 800; }
.itadmin-account-action.disable { border-color: #d6a185; color: #9b4f31; }
.itadmin-account-action:disabled { cursor: not-allowed; opacity: .5; }
.itadmin-event-label { color: var(--forest); font-weight: 800; text-transform: capitalize; }

body.employee-page[data-theme="dark"] .itadmin-stat-grid article { border-color: rgba(230,214,156,.16); background: #0d281e; box-shadow: none; }
body.employee-page[data-theme="dark"] .itadmin-stat-grid strong, body.employee-page[data-theme="dark"] .itadmin-panel h2, body.employee-page[data-theme="dark"] .itadmin-config-list dd, body.employee-page[data-theme="dark"] .itadmin-event-label { color: #f1eee4; }
body.employee-page[data-theme="dark"] .itadmin-stat-grid span, body.employee-page[data-theme="dark"] .itadmin-panel > p, body.employee-page[data-theme="dark"] .itadmin-config-list dt { color: #9eb0a5; }
body.employee-page[data-theme="dark"] .itadmin-security-note { background: #173526; }
body.employee-page[data-theme="dark"] .itadmin-security-note strong { color: var(--gold-light); }
body.employee-page[data-theme="dark"] .itadmin-account-tabs { border-color: rgba(230,214,156,.16); background: #102f24; }
body.employee-page[data-theme="dark"] .itadmin-account-tabs button { border-color: rgba(230,214,156,.16); color: #aabdb0; }
body.employee-page[data-theme="dark"] .itadmin-account-tabs button.active { background: var(--gold); color: var(--forest); }

@media (max-width: 1100px) {
  .password-reset-shell { grid-template-columns: 1fr; }
  .password-reset-brand { min-height: 620px; }
  .itadmin-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .itadmin-two-column { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .password-reset-brand { min-height: 530px; padding: 35px 24px; }
  .password-reset-card { padding: 42px 24px; }
  .itadmin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .itadmin-email-form { grid-template-columns: 1fr; }
  .itadmin-email-form label:first-child { grid-column: auto; }
  .itadmin-account-tabs { width: 100%; }
  .itadmin-account-tabs button { flex: 1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Customer financial dashboard */
.customer-dashboard-page { min-width: 320px; background: #f6f5ef; }
.customer-portal-shell { display: grid; grid-template-columns: 270px minmax(0, 1fr); min-height: 100vh; }
.customer-portal-sidebar { position: sticky; top: 0; display: flex; flex-direction: column; min-height: 100vh; max-height: 100vh; padding: 28px 22px 22px; overflow-y: auto; color: #eef1e9; background: radial-gradient(circle at 18% 88%, rgba(198,163,65,.14), transparent 25%), linear-gradient(155deg, #0a2d22 0%, var(--forest) 58%, #03140f 100%); box-shadow: 14px 0 45px rgba(5,24,17,.1); }
.customer-portal-brand { min-width: 0; padding: 0 4px 24px; border-bottom: 1px solid rgba(230,214,156,.16); }
.customer-portal-brand .brand-mark { width: 62px; height: 62px; flex: 0 0 62px; overflow: visible; border: 0; background: transparent; }
.customer-portal-brand .brand-mark img { padding: 0; object-fit: cover; }
.customer-portal-brand .brand-title { font-size: .92rem; }
.customer-portal-brand .brand-subtitle { font-size: .45rem; }
.customer-portal-nav { display: grid; gap: 7px; margin-top: 28px; }
.customer-portal-nav a { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 50px; padding: 8px 13px; border: 1px solid transparent; border-radius: 12px; color: #b9c9bf; font-size: .66rem; font-weight: 700; transition: background .22s ease, border-color .22s ease, color .22s ease, transform .22s ease; }
.customer-portal-nav a > span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(230,214,156,.22); border-radius: 9px; color: var(--gold-light); font-size: .43rem; letter-spacing: .06em; }
.customer-portal-nav a:hover, .customer-portal-nav a.current { border-color: rgba(198,163,65,.28); background: linear-gradient(100deg, rgba(198,163,65,.2), rgba(198,163,65,.07)); color: #fff; transform: translateX(2px); }
.customer-referral-card { position: relative; margin-top: auto; padding: 22px 18px; overflow: hidden; border: 1px solid rgba(230,214,156,.3); border-radius: 16px; background: linear-gradient(145deg, rgba(198,163,65,.24), rgba(23,82,61,.68)); box-shadow: 0 18px 45px rgba(0,0,0,.2); }
.customer-referral-card::after { content: ''; position: absolute; right: -42px; bottom: -52px; width: 130px; height: 130px; border: 1px solid rgba(230,214,156,.18); border-radius: 50%; box-shadow: 0 0 0 22px rgba(230,214,156,.04); pointer-events: none; }
.customer-referral-card .caps { color: var(--gold-light); }
.customer-referral-card h2 { position: relative; z-index: 1; margin: 9px 0 0; font: 400 1.55rem/1.05 'DM Serif Display', Georgia, serif; }
.customer-referral-card > p:not(.customer-referral-status) { position: relative; z-index: 1; margin: 10px 0 16px; color: #bfd0c5; font-size: .58rem; line-height: 1.65; }
.customer-referral-generate { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 11px 0 3px; border: 0; background: transparent; color: var(--gold-light); font-size: .62rem; font-weight: 800; }
.customer-referral-generate span { font-size: 1rem; transition: transform .2s ease; }
.customer-referral-generate:hover span { transform: translateX(4px); }
.customer-referral-ready { position: relative; z-index: 1; display: grid; gap: 8px; }
.customer-referral-ready[hidden] { display: none; }
.customer-referral-ready > span, .customer-referral-ready label { color: #b9cbc0; font-size: .48rem; font-weight: 700; }
.customer-referral-ready > strong { color: var(--gold-light); font: 400 1.35rem/1 'DM Serif Display', Georgia, serif; letter-spacing: .08em; }
.customer-referral-ready input { width: 100%; min-width: 0; padding: 10px; border: 1px solid rgba(230,214,156,.25); border-radius: 8px; outline: 0; background: rgba(3,20,15,.38); color: #eef2eb; font-size: .51rem; }
.customer-referral-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.customer-referral-actions button { min-height: 34px; border: 1px solid rgba(230,214,156,.3); border-radius: 8px; background: rgba(230,214,156,.08); color: var(--gold-light); font-size: .5rem; font-weight: 800; }
.customer-referral-actions button:hover { background: var(--gold); color: var(--forest); }
.customer-referral-ready small { color: #a9bdb1; font-size: .47rem; line-height: 1.5; }
.customer-referral-ready small b { color: var(--gold-light); }
.customer-referral-status { position: relative; z-index: 1; min-height: 0; margin: 8px 0 0; color: #f0d98d; font-size: .48rem; line-height: 1.45; }
.customer-portal-support { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 10px; margin-top: 15px; padding: 9px 8px; color: #9eb2a6; }
.customer-portal-support > span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(230,214,156,.25); border-radius: 50%; color: var(--gold-light); font-size: .64rem; }
.customer-portal-support strong, .customer-portal-support small { display: block; }
.customer-portal-support strong { color: #dce5de; font-size: .56rem; }
.customer-portal-support small { margin-top: 2px; font-size: .44rem; }

.customer-portal-main { min-width: 0; padding: 30px clamp(24px, 3.5vw, 58px) 42px; background: radial-gradient(circle at 58% 0, rgba(255,255,255,.85), transparent 31%), #f6f5ef; }
.customer-portal-topbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 27px; }
.customer-portal-topbar > div:first-child > span { color: var(--ink-soft); font-size: .63rem; font-weight: 600; }
.customer-portal-topbar h1 { margin: 3px 0 0; font: 400 clamp(2rem, 3.5vw, 3.15rem)/1 'DM Serif Display', Georgia, serif; letter-spacing: -.025em; }
.customer-portal-topbar h1 i { color: var(--gold); font-size: .48em; font-style: normal; vertical-align: middle; }
.customer-portal-topbar p { margin: 8px 0 0; color: var(--ink-soft); font-size: .66rem; }
.customer-portal-topbar-actions { display: flex; align-items: center; gap: 18px; padding-top: 4px; }
.customer-portal-topbar time { color: var(--ink-soft); font-size: .58rem; white-space: nowrap; }
.customer-portal-topbar .nav-actions { min-height: 32px; }
.customer-portal-topbar .auth-welcome, .customer-portal-topbar .auth-link { color: var(--ink); }
.customer-portal-topbar .auth-signout { color: var(--gold-deep); }
.customer-portal-topbar .theme-toggle { color: var(--ink-soft); }
.customer-portal-topbar .theme-toggle-track { border-color: rgba(19,35,29,.25); background: rgba(19,35,29,.08); }
.customer-dashboard-loading { padding: 60px; border: 1px dashed rgba(152,117,28,.35); border-radius: 18px; background: rgba(255,255,255,.55); color: var(--ink-soft); text-align: center; font-size: .68rem; }
.customer-dashboard-pending, .customer-dashboard-ready { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.customer-dashboard-loading[hidden], .customer-dashboard-pending[hidden], .customer-dashboard-ready[hidden] { display: none !important; }
.customer-pending-banner { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 28px 30px; border: 1px solid rgba(198,163,65,.22); border-radius: 17px; background: linear-gradient(105deg, var(--forest), #104533); color: var(--paper); box-shadow: 0 18px 50px rgba(7,33,24,.13); }
.customer-pending-banner > div > span { color: var(--gold-light); font-size: .53rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.customer-pending-banner h2 { max-width: 800px; margin: 8px 0 0; font: 400 clamp(1.8rem, 3vw, 3rem)/1.02 'DM Serif Display', Georgia, serif; }
.customer-pending-banner p { max-width: 780px; margin: 10px 0 0; color: #b5c7bc; font-size: .59rem; line-height: 1.7; }
.customer-pending-banner .btn { flex: none; background: var(--gold); color: var(--forest); }
.customer-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.customer-kpi-card, .customer-placeholder-grid article { position: relative; min-height: 132px; padding: 21px; overflow: hidden; border: 1px solid rgba(19,35,29,.1); border-radius: 14px; background: rgba(255,255,255,.86); box-shadow: 0 12px 35px rgba(11,35,25,.055); }
.customer-kpi-card::after, .customer-placeholder-grid article::after { content: ''; position: absolute; top: 20px; right: 20px; width: 36px; height: 36px; border-radius: 11px; background: rgba(198,163,65,.13); box-shadow: inset 0 0 0 1px rgba(198,163,65,.13); }
.customer-kpi-card:nth-child(2) { background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(227,241,231,.82)); }
.customer-kpi-card:nth-child(3) { background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(238,231,209,.82)); }
.customer-kpi-card:nth-child(4) { background: linear-gradient(135deg, rgba(255,255,255,.9), rgba(223,236,228,.8)); }
.customer-kpi-card > span, .customer-placeholder-grid article > span { display: block; max-width: calc(100% - 48px); color: var(--ink-soft); font-size: .53rem; font-weight: 700; }
.customer-kpi-card > strong, .customer-placeholder-grid article > strong { display: block; margin-top: 13px; color: var(--ink); font: 400 1.9rem/1 'DM Serif Display', Georgia, serif; }
.customer-kpi-card > strong b { font: inherit; }
.customer-kpi-card > strong small { margin-left: 2px; color: var(--ink-soft); font: 700 .58rem/1 'Plus Jakarta Sans', sans-serif; }
.customer-kpi-card > small, .customer-kpi-card > em, .customer-placeholder-grid article > small { display: block; margin-top: 13px; color: var(--ink-soft); font-size: .49rem; font-style: normal; }
.customer-kpi-card.score > em { color: #2f7c56; font-weight: 800; }
.customer-kpi-card .customer-kpi-name { max-width: 82%; font-size: 1.22rem; line-height: 1.05; }
.customer-placeholder-grid, .customer-placeholder-panel { filter: grayscale(1); opacity: .58; }
.customer-dashboard-panel { padding: 27px; border: 1px solid rgba(19,35,29,.1); border-radius: 16px; background: rgba(255,255,255,.88); box-shadow: 0 16px 45px rgba(11,35,25,.055); }
.customer-panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 21px; }
.customer-panel-heading > div > span { color: var(--gold-deep); font-size: .5rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.customer-panel-heading h2 { margin: 5px 0 0; font: 400 clamp(1.55rem, 2.5vw, 2.35rem)/1 'DM Serif Display', Georgia, serif; }
.customer-panel-heading > p { max-width: 340px; margin: 0; color: var(--ink-soft); font-size: .52rem; line-height: 1.6; }
.customer-placeholder-rows { display: grid; gap: 10px; }
.customer-placeholder-rows div { height: 70px; border-radius: 10px; background: linear-gradient(90deg, #e1e2de 18%, #eef0ec 48%, #e1e2de 78%); background-size: 220% 100%; animation: customer-placeholder-shimmer 2s linear infinite; }
.customer-placeholder-panel > p { margin: 16px 0 0; color: var(--ink-soft); font-size: .51rem; }
@keyframes customer-placeholder-shimmer { to { background-position: -220% 0; } }

.customer-health-summary { display: grid; grid-template-columns: 205px minmax(0, 1fr); align-items: center; gap: 42px; padding: 32px 38px; overflow: hidden; border: 1px solid rgba(198,163,65,.22); border-radius: 17px; background: radial-gradient(circle at 93% 15%, rgba(198,163,65,.17), transparent 30%), var(--forest); color: var(--paper); box-shadow: 0 20px 55px rgba(6,33,24,.13); }
.customer-health-score .score-ring { width: 170px; height: 170px; }
.customer-health-score .score-ring strong { color: var(--paper); font-size: 3.35rem; }
.customer-health-copy h2 { max-width: 900px; margin: 12px 0 0; font: 400 clamp(2rem, 3.5vw, 3.5rem)/.98 'DM Serif Display', Georgia, serif; }
.customer-health-copy > p { max-width: 900px; margin: 12px 0 0; color: #b5c7bc; font-size: .62rem; line-height: 1.75; }
.customer-review-meta { display: flex; flex-wrap: wrap; gap: 9px 20px; margin-top: 20px; color: var(--gold-light); font-size: .5rem; font-weight: 800; }
.customer-area-table { overflow: hidden; border: 1px solid rgba(19,35,29,.09); border-radius: 13px; }
.customer-area-table-head, .customer-area-row { display: grid; grid-template-columns: minmax(250px, 1.45fr) 90px 120px minmax(150px, .8fr); align-items: center; gap: 18px; }
.customer-area-table-head { min-height: 43px; padding: 0 18px; background: #f0efe9; color: var(--ink-soft); font-size: .48rem; font-weight: 800; }
.customer-area-row { min-height: 82px; padding: 13px 18px; border-top: 1px solid rgba(19,35,29,.08); background: rgba(255,255,255,.68); }
.customer-area-identity { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 13px; min-width: 0; }
.customer-area-initial { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(198,163,65,.25); border-radius: 11px; background: rgba(198,163,65,.1); color: var(--gold-deep); font: 400 1rem/1 'DM Serif Display', Georgia, serif; }
.customer-area-identity strong, .customer-area-identity small { display: block; }
.customer-area-identity strong { font-size: .61rem; }
.customer-area-identity small { max-width: 540px; margin-top: 4px; overflow: hidden; color: var(--ink-soft); font-size: .47rem; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.customer-area-score { font: 400 1.35rem/1 'DM Serif Display', Georgia, serif; }
.customer-area-status { justify-self: start; padding: 5px 8px; border-radius: 999px; font-size: .45rem; font-weight: 800; text-transform: capitalize; }
.customer-area-status.good { background: #dceee1; color: #28704d; }
.customer-area-status.warn { background: #f5e4d7; color: #a1512d; }
.customer-area-status.neutral { background: #ece7d4; color: #806619; }
.customer-area-progress { display: grid; grid-template-columns: minmax(0, 1fr) 32px; align-items: center; gap: 9px; }
.customer-area-progress-track { height: 6px; overflow: hidden; border-radius: 999px; background: #e6e7e2; }
.customer-area-progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gold-deep), var(--gold)); transition: width .65s cubic-bezier(.2,.8,.2,1); }
.customer-area-progress b { color: var(--ink-soft); font-size: .48rem; text-align: right; }
.customer-dashboard-detail-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: start; gap: 20px; }
.customer-finding-grid { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 0; }
.customer-finding-card { padding: 17px; border: 1px solid rgba(19,35,29,.09); border-radius: 11px; background: #fbfaf6; }
.customer-finding-card h3 { margin: 0; font: 400 1.2rem/1.05 'DM Serif Display', Georgia, serif; }
.customer-finding-card p { margin: 8px 0; color: var(--ink-soft); font-size: .54rem; line-height: 1.6; }
.customer-finding-card small { display: block; padding-top: 9px; border-top: 1px solid rgba(19,35,29,.08); color: var(--gold-deep); font-size: .48rem; line-height: 1.5; }
.customer-action-plan { display: grid; gap: 10px; margin-top: 0; }
.customer-action-card-result { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 16px; border: 1px solid rgba(19,35,29,.09); border-radius: 11px; background: #fbfaf6; }
.customer-action-card-result > b { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-deep); font-size: .52rem; }
.customer-action-card-result > div > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.customer-action-card-result h3 { margin: 0; font: 400 1.12rem/1.05 'DM Serif Display', Georgia, serif; }
.customer-action-card-result > div > div span { color: var(--gold-deep); font-size: .45rem; font-weight: 800; white-space: nowrap; }
.customer-action-card-result p, .customer-action-card-result ol { color: var(--ink-soft); font-size: .51rem; line-height: 1.55; }
.customer-action-card-result p { margin: 7px 0; }
.customer-action-card-result ol { display: grid; gap: 4px; margin: 8px 0 0; padding-left: 16px; }
.customer-review-disclaimer { margin: 0; padding: 16px 19px; border-radius: 11px; background: #e9e6dc; color: var(--ink-soft); font-size: .49rem; line-height: 1.6; }
.referral-attribution { margin: 12px 0 16px; padding: 11px 13px; border: 1px solid rgba(198,163,65,.3); border-radius: 9px; background: rgba(198,163,65,.1); color: var(--gold-deep); font-size: .55rem; font-weight: 700; }
.referral-attribution[hidden] { display: none; }

body.customer-dashboard-page[data-theme="dark"] .customer-portal-main { background: radial-gradient(circle at 58% 0, rgba(23,82,61,.2), transparent 31%), #071a13; }
body.customer-dashboard-page[data-theme="dark"] .customer-portal-topbar h1, body.customer-dashboard-page[data-theme="dark"] .customer-portal-topbar .auth-welcome, body.customer-dashboard-page[data-theme="dark"] .customer-portal-topbar .auth-link { color: #f1eee4; }
body.customer-dashboard-page[data-theme="dark"] .customer-portal-topbar > div:first-child > span, body.customer-dashboard-page[data-theme="dark"] .customer-portal-topbar p, body.customer-dashboard-page[data-theme="dark"] .customer-portal-topbar time, body.customer-dashboard-page[data-theme="dark"] .customer-portal-topbar .theme-toggle { color: #9eb0a5; }
body.customer-dashboard-page[data-theme="dark"] .customer-portal-topbar .theme-toggle-track { border-color: rgba(230,214,156,.3); background: rgba(230,214,156,.08); }
body.customer-dashboard-page[data-theme="dark"] .customer-kpi-card, body.customer-dashboard-page[data-theme="dark"] .customer-placeholder-grid article, body.customer-dashboard-page[data-theme="dark"] .customer-dashboard-panel { border-color: rgba(230,214,156,.14); background: #0d281e; color: #f1eee4; box-shadow: none; }
body.customer-dashboard-page[data-theme="dark"] .customer-kpi-card:nth-child(n), body.customer-dashboard-page[data-theme="dark"] .customer-area-row { background: #0d281e; }
body.customer-dashboard-page[data-theme="dark"] .customer-kpi-card > strong, body.customer-dashboard-page[data-theme="dark"] .customer-placeholder-grid article > strong, body.customer-dashboard-page[data-theme="dark"] .customer-panel-heading h2, body.customer-dashboard-page[data-theme="dark"] .customer-area-identity strong, body.customer-dashboard-page[data-theme="dark"] .customer-area-score, body.customer-dashboard-page[data-theme="dark"] .customer-finding-card h3, body.customer-dashboard-page[data-theme="dark"] .customer-action-card-result h3 { color: #f1eee4; }
body.customer-dashboard-page[data-theme="dark"] .customer-kpi-card > span, body.customer-dashboard-page[data-theme="dark"] .customer-kpi-card > small, body.customer-dashboard-page[data-theme="dark"] .customer-panel-heading > p, body.customer-dashboard-page[data-theme="dark"] .customer-area-identity small, body.customer-dashboard-page[data-theme="dark"] .customer-area-progress b, body.customer-dashboard-page[data-theme="dark"] .customer-finding-card p, body.customer-dashboard-page[data-theme="dark"] .customer-action-card-result p, body.customer-dashboard-page[data-theme="dark"] .customer-action-card-result ol { color: #9eb0a5; }
body.customer-dashboard-page[data-theme="dark"] .customer-area-table { border-color: rgba(230,214,156,.13); }
body.customer-dashboard-page[data-theme="dark"] .customer-area-table-head { background: #102f24; color: #9eb0a5; }
body.customer-dashboard-page[data-theme="dark"] .customer-area-row, body.customer-dashboard-page[data-theme="dark"] .customer-finding-card, body.customer-dashboard-page[data-theme="dark"] .customer-action-card-result { border-color: rgba(230,214,156,.12); background: #102f24; }
body.customer-dashboard-page[data-theme="dark"] .customer-area-progress-track { background: #274236; }
body.customer-dashboard-page[data-theme="dark"] .customer-review-disclaimer { background: #173526; color: #9eb0a5; }

@media (max-width: 1180px) {
  .customer-portal-shell { grid-template-columns: 230px minmax(0, 1fr); }
  .customer-portal-sidebar { padding-inline: 16px; }
  .customer-portal-brand .brand-mark { width: 54px; height: 54px; flex-basis: 54px; }
  .customer-portal-brand .brand-title { font-size: .75rem; }
  .customer-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .customer-dashboard-detail-grid { grid-template-columns: 1fr; }
  .customer-area-table-head, .customer-area-row { grid-template-columns: minmax(210px, 1.3fr) 70px 100px minmax(125px, .7fr); gap: 12px; }
}

@media (max-width: 880px) {
  .customer-portal-shell { display: block; }
  .customer-portal-sidebar { position: relative; display: grid; grid-template-columns: minmax(200px, .6fr) minmax(0, 1fr); gap: 15px 22px; min-height: 0; max-height: none; padding: 20px; overflow: visible; }
  .customer-portal-brand { padding-bottom: 14px; border-bottom: 0; }
  .customer-portal-nav { display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin: 0; overflow-x: auto; }
  .customer-portal-nav a { grid-template-columns: 1fr; flex: 0 0 auto; min-height: 42px; padding: 8px 11px; }
  .customer-portal-nav a > span { display: none; }
  .customer-referral-card { grid-column: 1 / -1; margin-top: 0; }
  .customer-referral-ready { grid-template-columns: 130px minmax(0, 1fr); align-items: end; }
  .customer-referral-ready > span, .customer-referral-ready > strong, .customer-referral-ready > small { grid-column: 1; }
  .customer-referral-ready label, .customer-referral-ready input, .customer-referral-actions { grid-column: 2; }
  .customer-referral-ready label { grid-row: 1; }
  .customer-referral-ready input { grid-row: 2; }
  .customer-referral-actions { grid-row: 3 / span 2; }
  .customer-portal-support { display: none; }
  .customer-health-summary { grid-template-columns: 170px minmax(0, 1fr); gap: 28px; padding: 28px; }
  .customer-health-score .score-ring { width: 145px; height: 145px; }
  .customer-area-table-head { display: none; }
  .customer-area-row { grid-template-columns: minmax(0, 1fr) 72px 98px; }
  .customer-area-progress { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .customer-portal-sidebar { display: block; padding: 17px; }
  .customer-portal-brand { padding: 0; }
  .customer-portal-nav { justify-content: flex-start; margin-top: 17px; padding-bottom: 2px; }
  .customer-referral-card { margin-top: 17px; }
  .customer-referral-ready { display: grid; grid-template-columns: 1fr; }
  .customer-referral-ready > span, .customer-referral-ready > strong, .customer-referral-ready > small, .customer-referral-ready label, .customer-referral-ready input, .customer-referral-actions { grid-column: 1; grid-row: auto; }
  .customer-portal-main { padding: 24px 16px 34px; }
  .customer-portal-topbar { display: grid; }
  .customer-portal-topbar-actions { align-items: flex-start; flex-direction: column; gap: 9px; }
  .customer-portal-topbar .nav-actions { flex-wrap: wrap; }
  .customer-pending-banner { align-items: flex-start; flex-direction: column; padding: 24px 21px; }
  .customer-kpi-grid { grid-template-columns: 1fr; }
  .customer-kpi-card, .customer-placeholder-grid article { min-height: 116px; }
  .customer-health-summary { grid-template-columns: 1fr; padding: 25px 21px; }
  .customer-health-score { justify-self: start; }
  .customer-panel-heading { align-items: flex-start; flex-direction: column; }
  .customer-dashboard-panel { padding: 21px 16px; }
  .customer-area-row { grid-template-columns: 1fr 65px; padding: 15px 13px; }
  .customer-area-status { justify-self: end; }
  .customer-area-progress { grid-column: 1 / -1; }
  .customer-action-card-result > div > div { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .customer-placeholder-rows div { animation: none !important; }
}

/* Customer dashboard: factual Customer 360 view */
.customer-kpi-card > strong { overflow-wrap: anywhere; }
.customer-record-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid rgba(198,163,65,.26); border-radius: 15px; background: linear-gradient(115deg, var(--forest), #104936); color: var(--paper); box-shadow: 0 18px 48px rgba(7,33,24,.11); }
.customer-record-strip > div { min-width: 0; padding: 19px 22px; border-left: 1px solid rgba(230,214,156,.14); }
.customer-record-strip > div:first-child { border-left: 0; }
.customer-record-strip span, .customer-record-strip strong { display: block; }
.customer-record-strip span { color: #9eb5a7; font-size: .47rem; font-weight: 700; }
.customer-record-strip strong { margin-top: 7px; overflow: hidden; color: #f2eee3; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }

.customer-fact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.customer-fact-grid article { min-height: 112px; padding: 18px; border: 1px solid rgba(19,35,29,.09); border-radius: 12px; background: linear-gradient(135deg, #fbfaf6, #f1f3ec); }
.customer-fact-grid span, .customer-fact-grid strong, .customer-fact-grid small { display: block; }
.customer-fact-grid span { color: var(--ink-soft); font-size: .48rem; font-weight: 700; }
.customer-fact-grid strong { margin-top: 12px; color: var(--ink); font: 400 clamp(1.25rem, 2vw, 1.7rem)/1 'DM Serif Display', Georgia, serif; overflow-wrap: anywhere; }
.customer-fact-grid small { margin-top: 10px; color: var(--ink-soft); font-size: .44rem; }

.customer-investment-overview { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; margin-bottom: 18px; overflow: hidden; border: 1px solid rgba(19,35,29,.09); border-radius: 12px; background: rgba(19,35,29,.09); }
.customer-investment-overview > div, .customer-protection-summary > div { min-width: 0; padding: 15px 16px; background: #f8f7f2; }
.customer-investment-overview span, .customer-investment-overview strong, .customer-protection-summary span, .customer-protection-summary strong { display: block; }
.customer-investment-overview span, .customer-protection-summary span { color: var(--ink-soft); font-size: .45rem; font-weight: 700; }
.customer-investment-overview strong, .customer-protection-summary strong { margin-top: 7px; color: var(--ink); font-size: .57rem; line-height: 1.35; overflow-wrap: anywhere; }
.customer-protection-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-bottom: 25px; overflow: hidden; border: 1px solid rgba(198,163,65,.22); border-radius: 12px; background: rgba(198,163,65,.2); }
.customer-protection-summary > div { background: #f7f4e9; }
.customer-protection-summary strong { font: 400 1.28rem/1.1 'DM Serif Display', Georgia, serif; }

.customer-table-scroll { width: 100%; overflow-x: auto; border: 1px solid rgba(19,35,29,.09); border-radius: 12px; scrollbar-color: rgba(152,117,28,.55) transparent; }
.customer-data-table { width: 100%; min-width: 790px; border-collapse: collapse; background: rgba(255,255,255,.72); table-layout: auto; }
.customer-goals-table { min-width: 990px; }
.customer-wide-table { min-width: 1120px; }
.customer-data-table th { height: 42px; padding: 0 15px; background: #f0efe9; color: var(--ink-soft); font-size: .44rem; font-weight: 800; letter-spacing: .015em; text-align: left; white-space: nowrap; }
.customer-data-table td { min-width: 105px; padding: 15px; border-top: 1px solid rgba(19,35,29,.08); color: var(--ink); font-size: .5rem; line-height: 1.5; vertical-align: middle; }
.customer-data-table tbody tr { transition: background .2s ease; }
.customer-data-table tbody tr:hover { background: rgba(198,163,65,.055); }
.customer-data-table th:first-child, .customer-data-table td:first-child { min-width: 185px; }
.customer-table-identity strong, .customer-table-identity small { display: block; }
.customer-table-identity strong { font-size: .57rem; }
.customer-table-identity small { max-width: 250px; margin-top: 4px; color: var(--ink-soft); font-size: .44rem; line-height: 1.45; }
.customer-money-cell { font-weight: 800; white-space: nowrap; }
.customer-money-cell.positive { color: #237a4e; }
.customer-money-cell.shortfall { color: #b34d32; }
.customer-policy-status { color: var(--gold-deep) !important; font-weight: 800; white-space: nowrap; }
.customer-notes-cell { min-width: 210px !important; max-width: 360px; color: var(--ink-soft) !important; }
.customer-table-empty { height: 90px; color: var(--ink-soft) !important; text-align: center; }
.customer-goal-progress { display: grid; min-width: 145px; gap: 8px; }
.customer-goal-progress > strong { font-size: .54rem; }
.customer-goal-progress > span { display: block; width: 100%; height: 6px; overflow: hidden; border-radius: 999px; background: #e2e4df; }
.customer-goal-progress i { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #b88b1d, var(--gold)); transition: width .65s cubic-bezier(.2,.8,.2,1); }
.customer-plan-block + .customer-plan-block { margin-top: 25px; }
.customer-plan-block > h3 { margin: 0 0 10px; color: var(--ink); font: 400 1.25rem/1 'DM Serif Display', Georgia, serif; }
.customer-balance-detail-grid { grid-template-columns: minmax(0, 1fr); }
.customer-review-disclaimer { border: 1px solid rgba(19,35,29,.08); }

body.customer-dashboard-page[data-theme="dark"] .customer-fact-grid article,
body.customer-dashboard-page[data-theme="dark"] .customer-investment-overview > div,
body.customer-dashboard-page[data-theme="dark"] .customer-protection-summary > div,
body.customer-dashboard-page[data-theme="dark"] .customer-data-table { border-color: rgba(230,214,156,.12); background: #102f24; }
body.customer-dashboard-page[data-theme="dark"] .customer-fact-grid span,
body.customer-dashboard-page[data-theme="dark"] .customer-fact-grid small,
body.customer-dashboard-page[data-theme="dark"] .customer-investment-overview span,
body.customer-dashboard-page[data-theme="dark"] .customer-protection-summary span,
body.customer-dashboard-page[data-theme="dark"] .customer-table-identity small,
body.customer-dashboard-page[data-theme="dark"] .customer-notes-cell,
body.customer-dashboard-page[data-theme="dark"] .customer-table-empty { color: #9eb0a5 !important; }
body.customer-dashboard-page[data-theme="dark"] .customer-fact-grid strong,
body.customer-dashboard-page[data-theme="dark"] .customer-investment-overview strong,
body.customer-dashboard-page[data-theme="dark"] .customer-protection-summary strong,
body.customer-dashboard-page[data-theme="dark"] .customer-data-table td,
body.customer-dashboard-page[data-theme="dark"] .customer-plan-block > h3 { color: #f1eee4; }
body.customer-dashboard-page[data-theme="dark"] .customer-investment-overview,
body.customer-dashboard-page[data-theme="dark"] .customer-protection-summary,
body.customer-dashboard-page[data-theme="dark"] .customer-table-scroll { border-color: rgba(230,214,156,.13); background: rgba(230,214,156,.1); }
body.customer-dashboard-page[data-theme="dark"] .customer-data-table th { background: #17382b; color: #a8baaf; }
body.customer-dashboard-page[data-theme="dark"] .customer-data-table td { border-color: rgba(230,214,156,.1); }
body.customer-dashboard-page[data-theme="dark"] .customer-data-table tbody tr:hover { background: rgba(230,214,156,.045); }
body.customer-dashboard-page[data-theme="dark"] .customer-goal-progress > span { background: #29473b; }

@media (max-width: 1180px) {
  .customer-record-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .customer-record-strip > div:nth-child(3) { border-top: 1px solid rgba(230,214,156,.14); border-left: 0; }
  .customer-record-strip > div:nth-child(4) { border-top: 1px solid rgba(230,214,156,.14); }
  .customer-investment-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .customer-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .customer-investment-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .customer-protection-summary { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .customer-record-strip, .customer-fact-grid, .customer-investment-overview { grid-template-columns: 1fr; }
  .customer-record-strip > div { border-top: 1px solid rgba(230,214,156,.14); border-left: 0; }
  .customer-record-strip > div:first-child { border-top: 0; }
}

/* Staff targets, plan entry and one-time attendance */
.portal-intro-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.telecaller-intro .portal-intro-actions .btn { margin-bottom: 8px; }
.staff-performance-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(275px, .3fr); gap: 18px; align-items: start; margin-top: 22px; }
.staff-performance-layout > .employee-section, .staff-side-stack > .employee-section { margin-top: 0; }
.staff-performance-heading { align-items: center; }
.staff-month-field { display: grid; flex: 0 0 190px; gap: 7px; color: var(--ink); font-size: .58rem; font-weight: 800; }
.staff-month-field input, .performance-control-grid input, .performance-control-grid select { width: 100%; min-height: 44px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--ink); outline: none; }
.staff-month-field input:focus, .performance-control-grid input:focus, .performance-control-grid select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.staff-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-top: 24px; }
.staff-summary-grid article { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(145deg, #fff, #f5f2e8); }
.staff-summary-grid span, .staff-summary-grid strong, .staff-summary-grid small { display: block; }
.staff-summary-grid span { color: var(--ink-soft); font-size: .51rem; font-weight: 800; }
.staff-summary-grid strong { margin-top: 11px; overflow-wrap: anywhere; color: var(--forest); font: 400 clamp(1.35rem, 2vw, 2rem)/1 'DM Serif Display', Georgia, serif; }
.staff-summary-grid small { margin-top: 8px; color: var(--ink-soft); font-size: .47rem; line-height: 1.45; }
.staff-performance-table-wrap, .staff-plan-table-wrap, .staff-attendance-table-wrap, .plan-table-wrap { max-height: 470px; margin-top: 18px; }
.staff-performance-table { min-width: 1180px; }
.staff-performance-table th:first-child, .staff-performance-table td:first-child { min-width: 185px; }
.performance-product strong, .performance-product small, .plan-attribution small { display: block; }
.performance-product strong { color: var(--forest); font-size: .61rem; }
.performance-product small, .plan-attribution small { margin-top: 5px; color: var(--ink-soft); font-size: .46rem; line-height: 1.4; }
.performance-shortfall { color: #b64a2a; font-weight: 800; }
.performance-complete { color: #28704c; font-weight: 800; }
.performance-incentive { color: var(--gold-deep); font-weight: 800; }
.performance-progress { display: grid; min-width: 92px; gap: 7px; }
.performance-progress > span { color: var(--forest); font-size: .53rem; font-weight: 800; }
.performance-progress > i { display: block; width: 100%; height: 5px; overflow: hidden; border-radius: 999px; background: #e0ddd3; }
.performance-progress > i > b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gold-deep), var(--gold)); }
.plan-attribution { min-width: 135px; font-size: .54rem; font-weight: 800; line-height: 1.45; }
.staff-attendance-card { position: sticky; top: 102px; overflow: hidden; background: radial-gradient(circle at 100% 0, rgba(198,163,65,.19), transparent 34%), var(--forest); color: var(--paper); }
.staff-attendance-card::after { content: ''; position: absolute; right: -50px; bottom: -80px; width: 180px; height: 180px; border: 1px solid rgba(230,214,156,.1); border-radius: 50%; pointer-events: none; }
.staff-attendance-card h2 { margin: 12px 0 0; color: var(--paper); font: 400 2rem/1 'DM Serif Display', Georgia, serif; }
.staff-attendance-card > p { margin: 13px 0 0; color: #a9bbae; font-size: .59rem; line-height: 1.65; }
.attendance-status { display: inline-flex; align-items: center; gap: 8px; margin-top: 22px; padding: 8px 11px; border: 1px solid rgba(230,214,156,.28); border-radius: 999px; color: var(--gold-light); font-size: .55rem; font-weight: 800; }
.attendance-status::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(198,163,65,.11); }
.attendance-details { display: grid; gap: 0; margin: 21px 0 20px; }
.attendance-details > div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-top: 1px solid rgba(230,214,156,.13); }
.attendance-details dt { color: #91a99b; font-size: .5rem; font-weight: 700; }
.attendance-details dd { margin: 0; color: #edf2ee; font-size: .55rem; font-weight: 800; text-align: right; }
.staff-attendance-card .btn { position: relative; z-index: 1; width: 100%; }
.attendance-feedback { position: relative; z-index: 1; min-height: 18px; }
.staff-side-stack { display: grid; gap: 14px; }
.staff-plan-shortcut { position: relative; display: grid; min-height: 160px; padding: 22px; overflow: hidden; border: 1px solid rgba(198,163,65,.4); border-radius: 16px; background: #efe8d3; color: var(--forest); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.staff-plan-shortcut:hover { transform: translateY(-3px); border-color: var(--gold-deep); box-shadow: 0 16px 35px rgba(16,48,36,.09); }
.staff-plan-shortcut span { color: var(--gold-deep); font-size: .49rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.staff-plan-shortcut strong { align-self: end; margin-top: 22px; font: 400 1.45rem/1 'DM Serif Display', Georgia, serif; }
.staff-plan-shortcut small { margin-top: 8px; color: var(--ink-soft); font-size: .52rem; line-height: 1.5; }
.staff-plan-shortcut b { position: absolute; right: 21px; top: 18px; color: var(--gold-deep); }

.plan-entry-main, .admin-performance-main { max-width: 1380px; }
.plan-entry-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .62fr); align-items: end; column-gap: clamp(40px, 8vw, 110px); }
.plan-entry-intro .caps, .plan-entry-intro h1 { grid-column: 1; }
.plan-entry-intro p { grid-column: 2; grid-row: 1 / span 2; }
.plan-entry-card { padding: clamp(24px, 4vw, 46px); }
.plan-entry-form { display: grid; gap: 0; }
.plan-customer-bar { display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 18px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.plan-customer-actions { display: flex; align-items: center; gap: 12px; }
.plan-customer-actions > span { color: var(--ink-soft); font-size: .56rem; }
.plan-field { display: grid; align-content: start; gap: 8px; color: var(--ink); font-size: .61rem; font-weight: 800; }
.plan-field small { color: var(--ink-soft); font-size: .49rem; font-weight: 600; line-height: 1.5; }
.plan-field input, .plan-field select, .target-input input { width: 100%; min-width: 0; min-height: 46px; padding: 0 13px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); outline: none; font: 500 .66rem 'Plus Jakarta Sans', sans-serif; }
.plan-field input:focus, .plan-field select:focus, .target-input input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.plan-field input[readonly] { border-style: dashed; background: #ece9df; color: var(--gold-deep); font-weight: 800; cursor: default; }
.plan-form-heading, .target-editor-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-top: 30px; }
.plan-form-heading h2, .target-editor-heading h2 { margin: 9px 0 0; color: var(--forest); font: 400 clamp(2rem, 3.5vw, 3.2rem)/1 'DM Serif Display', Georgia, serif; }
.plan-form-heading p, .target-editor-heading p { max-width: 490px; margin: 0; color: var(--ink-soft); font-size: .61rem; line-height: 1.65; }
.plan-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px 14px; margin-top: 25px; }
.plan-money-input { display: grid; grid-template-columns: 38px minmax(0, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.plan-money-input:focus-within { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.plan-money-input > span { display: grid; place-items: center; border-right: 1px solid var(--line); color: var(--gold-deep); font-size: .68rem; }
.plan-money-input input { border: 0; border-radius: 0; }
.plan-money-input input:focus { box-shadow: none; }
.plan-status-field input { text-transform: capitalize; }
.plan-form-footer, .target-save-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.plan-form-footer p, .target-save-row p { min-height: 18px; margin: 0; color: var(--ink-soft); font-size: .6rem; font-weight: 700; }
.plan-table-wrap table, .staff-plan-table-wrap table, .staff-attendance-table-wrap table { min-width: 1100px; }

.performance-control-grid { display: grid; grid-template-columns: minmax(250px, 1.3fr) minmax(180px, .6fr) minmax(220px, .8fr); gap: 14px; }
.target-editor-heading { padding-top: 28px; border-top: 1px solid var(--line); }
.target-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px; margin-top: 24px; }
.target-input { display: grid; gap: 8px; padding: 15px; border: 1px solid var(--line); border-radius: 11px; background: #f6f3e9; color: var(--ink); }
.target-input > span:first-child { min-height: 30px; font-size: .57rem; font-weight: 800; line-height: 1.45; }

body.employee-page[data-theme="dark"] .staff-month-field, body.employee-page[data-theme="dark"] .plan-field, body.employee-page[data-theme="dark"] .target-input { color: #f1eee4; }
body.employee-page[data-theme="dark"] .staff-summary-grid article, body.employee-page[data-theme="dark"] .target-input { border-color: rgba(230,214,156,.15); background: #102f24; }
body.employee-page[data-theme="dark"] .staff-summary-grid strong, body.employee-page[data-theme="dark"] .plan-form-heading h2, body.employee-page[data-theme="dark"] .target-editor-heading h2 { color: #f1eee4; }
body.employee-page[data-theme="dark"] .staff-summary-grid span, body.employee-page[data-theme="dark"] .staff-summary-grid small, body.employee-page[data-theme="dark"] .plan-form-heading p, body.employee-page[data-theme="dark"] .target-editor-heading p, body.employee-page[data-theme="dark"] .plan-field small { color: #9eb0a5; }
body.employee-page[data-theme="dark"] .staff-attendance-card { border-color: rgba(230,214,156,.2); background: radial-gradient(circle at 100% 0, rgba(198,163,65,.17), transparent 34%), #0d281e; }
body.employee-page[data-theme="dark"] .staff-plan-shortcut { border-color: rgba(198,163,65,.35); background: #173526; color: #f1eee4; }
body.employee-page[data-theme="dark"] .staff-plan-shortcut small { color: #aabdb0; }
body.employee-page[data-theme="dark"] .plan-customer-bar, body.employee-page[data-theme="dark"] .plan-form-footer, body.employee-page[data-theme="dark"] .target-save-row, body.employee-page[data-theme="dark"] .target-editor-heading { border-color: rgba(230,214,156,.14); }
body.employee-page[data-theme="dark"] .plan-money-input { border-color: rgba(230,214,156,.18); background: #102f24; }
body.employee-page[data-theme="dark"] .plan-money-input > span { border-color: rgba(230,214,156,.18); }
body.employee-page[data-theme="dark"] .plan-field input[readonly] { background: #173526; color: var(--gold-light); }
body.employee-page[data-theme="dark"] .performance-product strong, body.employee-page[data-theme="dark"] .performance-progress > span { color: #f1eee4; }
body.employee-page[data-theme="dark"] .performance-product small, body.employee-page[data-theme="dark"] .plan-attribution small { color: #9eb0a5; }
body.employee-page[data-theme="dark"] .performance-progress > i { background: #29473b; }

@media (max-width: 1180px) {
  .staff-performance-layout { grid-template-columns: 1fr; }
  .staff-attendance-card { position: static; }
  .staff-side-stack { grid-template-columns: minmax(0, 1fr) minmax(260px, .45fr); }
  .target-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .staff-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan-entry-intro { grid-template-columns: 1fr; }
  .plan-entry-intro p { grid-column: 1; grid-row: auto; }
  .plan-customer-bar, .performance-control-grid { grid-template-columns: 1fr; }
  .plan-customer-actions { align-items: flex-start; flex-direction: column; }
  .plan-form-grid, .target-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .portal-intro-actions, .portal-intro-actions .btn { width: 100%; }
  .staff-performance-heading, .plan-form-heading, .target-editor-heading, .plan-form-footer, .target-save-row { align-items: stretch; flex-direction: column; }
  .staff-month-field { width: 100%; flex-basis: auto; }
  .staff-summary-grid, .staff-side-stack, .plan-form-grid, .target-grid { grid-template-columns: 1fr; }
  .plan-customer-actions .btn, .plan-form-footer .btn, .target-save-row .btn { width: 100%; }
}

/* Customer 360 factual funding overview */
.funding-panel { min-width: 0; }
.funding-panel h2 { margin-top: 18px; }
.funding-summary, .funding-note { color: #afc2b6; font-size: .56rem; line-height: 1.65; }
.funding-kpi-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 20px 0; }
.funding-kpi-grid article { min-width: 0; padding: 13px; border: 1px solid rgba(230,214,156,.16); border-radius: 10px; background: rgba(230,214,156,.06); }
.funding-kpi-grid span, .funding-kpi-grid strong { display: block; }
.funding-kpi-grid span { color: #9fb4a7; font-size: .44rem; font-weight: 700; }
.funding-kpi-grid strong { margin-top: 7px; color: var(--gold-light); font: 400 1.25rem/1 'DM Serif Display', Georgia, serif; overflow-wrap: anywhere; }
.funding-goal-list { display: grid; gap: 9px; }
.funding-goal-card { padding: 14px; border: 1px solid rgba(230,214,156,.14); border-radius: 11px; background: rgba(255,255,255,.035); }
.funding-goal-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.funding-goal-heading strong { color: #f2eee3; font-size: .58rem; }
.funding-goal-heading span { color: #9fb4a7; font-size: .43rem; text-align: right; }
.funding-goal-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 13px 0; }
.funding-goal-card dl > div { min-width: 0; }
.funding-goal-card dt { color: #8fa69a; font-size: .4rem; }
.funding-goal-card dd { margin: 4px 0 0; color: #f0e9d4; font-size: .5rem; font-weight: 800; overflow-wrap: anywhere; }
.funding-progress { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 9px; }
.funding-progress > span { color: #b7c8be; font-size: .42rem; }
.funding-progress > i { display: block; height: 5px; overflow: hidden; border-radius: 999px; background: rgba(230,214,156,.14); }
.funding-progress b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gold-deep), var(--gold-light)); }
.funding-goal-empty { margin: 0; padding: 17px; border: 1px dashed rgba(230,214,156,.18); border-radius: 10px; color: #9fb4a7; font-size: .5rem; line-height: 1.6; }
.funding-note { margin: 17px 0 0; padding-top: 14px; border-top: 1px solid rgba(230,214,156,.13); }

/* Focused customer portal pages */
.customer-overview-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(310px, .6fr); gap: 20px; align-items: start; }
.customer-panel-link { flex: none; color: var(--gold-deep); font-size: .49rem; font-weight: 800; white-space: nowrap; }
.customer-panel-link:hover { color: var(--forest); }
.customer-plan-preview { display: grid; gap: 10px; }
.customer-plan-preview article { display: grid; gap: 7px; padding: 15px; border: 1px solid rgba(19,35,29,.09); border-radius: 11px; background: linear-gradient(135deg, #fbfaf6, #f2f3ed); }
.customer-plan-preview article > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.customer-plan-preview article span { color: var(--gold-deep); font-size: .43rem; font-weight: 800; text-transform: uppercase; }
.customer-plan-preview article b { padding: 4px 7px; border-radius: 999px; background: rgba(198,163,65,.13); color: var(--gold-deep); font-size: .4rem; text-transform: capitalize; }
.customer-plan-preview article > strong { color: var(--ink); font: 400 1.1rem/1.05 'DM Serif Display', Georgia, serif; }
.customer-plan-preview article > small { color: var(--ink-soft); font-size: .47rem; }
.customer-plan-preview article > em { color: #237a4e; font-size: .48rem; font-style: normal; font-weight: 800; }
.customer-plan-preview-empty { margin: 0; padding: 24px; border: 1px dashed rgba(152,117,28,.28); border-radius: 11px; color: var(--ink-soft); font-size: .51rem; line-height: 1.6; text-align: center; }

/* Stock tracking */
.stock-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line); }
.stock-section-heading h3 { margin: 7px 0 0; color: var(--ink); font: 400 1.45rem/1.05 'DM Serif Display', Georgia, serif; }
.stock-section-heading p { max-width: 650px; margin: 8px 0 0; color: var(--ink-soft); font-size: .62rem; line-height: 1.6; }
.stock-row-labels, .stock-row { display: grid; grid-template-columns: .65fr .85fr 1.3fr .7fr 1fr 1.15fr 1fr 1fr; gap: 8px; }
.stock-row-labels { margin-top: 18px; padding: 0 10px; color: var(--ink-soft); font-size: .46rem; font-weight: 800; }
.stock-list { display: grid; gap: 9px; margin-top: 7px; }
.stock-row { align-items: stretch; padding: 10px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255,255,255,.24); }
.stock-row input, .stock-row select, .stock-row output { width: 100%; min-width: 0; min-height: 39px; padding: 9px 8px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,255,255,.56); color: var(--ink); outline: none; font-size: .62rem; }
.stock-row input:focus, .stock-row select:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(198,163,65,.1); }
.stock-row output { display: flex; align-items: center; background: rgba(198,163,65,.09); color: var(--gold-deep); font-weight: 800; overflow-wrap: anywhere; }
.stock-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.stock-actions p { margin: 0; color: var(--ink-soft); font-size: .54rem; text-align: right; }
.email-checking { background-image: linear-gradient(90deg, transparent, rgba(198,163,65,.14), transparent) !important; background-size: 220% 100% !important; animation: email-checking-shimmer 1s linear infinite; }
@keyframes email-checking-shimmer { to { background-position: -220% 0; } }
.customer-stock-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.customer-stock-summary article { padding: 16px; border: 1px solid rgba(19,35,29,.09); border-radius: 11px; background: linear-gradient(135deg, #fbfaf6, #f2f4ed); }
.customer-stock-summary span, .customer-stock-summary strong { display: block; }
.customer-stock-summary span { color: var(--ink-soft); font-size: .46rem; font-weight: 800; }
.customer-stock-summary strong { margin-top: 9px; color: var(--ink); font: 400 1.4rem/1 'DM Serif Display', Georgia, serif; overflow-wrap: anywhere; }
.customer-stock-summary strong.positive { color: #18734a; }
.customer-stock-summary strong.shortfall { color: #b34b2b; }
.customer-stock-market-note { display: grid; justify-items: end; gap: 4px; color: var(--ink-soft); text-align: right; }
.customer-stock-market-note strong { color: var(--gold-deep); font-size: .5rem; }
.customer-stock-market-note small { font-size: .43rem; }
body.employee-page[data-theme="dark"] .stock-row { border-color: rgba(230,214,156,.16); background: #0d281e; }
body.employee-page[data-theme="dark"] .stock-section-heading h3 { color: #f1eee4; }
body.employee-page[data-theme="dark"] .stock-row input, body.employee-page[data-theme="dark"] .stock-row select, body.employee-page[data-theme="dark"] .stock-row output { border-color: rgba(230,214,156,.17); background: #173526; color: #f1eee4; }
body.employee-page[data-theme="dark"] .stock-row output { color: var(--gold-light); }
body.customer-dashboard-page[data-theme="dark"] .customer-stock-summary article { border-color: rgba(230,214,156,.14); background: #153326; }
body.customer-dashboard-page[data-theme="dark"] .customer-stock-summary strong { color: #f1eee4; }
body.customer-dashboard-page[data-theme="dark"] .customer-stock-summary strong.positive { color: #82d8aa; }
body.customer-dashboard-page[data-theme="dark"] .customer-stock-summary strong.shortfall { color: #f2a082; }

@media (max-width: 1100px) {
  .stock-row-labels { display: none; }
  .stock-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .stock-section-heading, .stock-actions { align-items: stretch; flex-direction: column; }
  .stock-actions p { text-align: left; }
  .stock-row { grid-template-columns: 1fr 1fr; }
  .customer-stock-summary { grid-template-columns: 1fr 1fr; }
  .customer-stock-market-note { justify-items: start; text-align: left; }
}
.customer-goals-detailed-table { min-width: 1450px; }
.customer-protection-summary { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }

body.customer-dashboard-page[data-theme="dark"] .customer-plan-preview article { border-color: rgba(230,214,156,.12); background: #102f24; }
body.customer-dashboard-page[data-theme="dark"] .customer-plan-preview article > strong { color: #f1eee4; }
body.customer-dashboard-page[data-theme="dark"] .customer-plan-preview article > small,
body.customer-dashboard-page[data-theme="dark"] .customer-plan-preview-empty { color: #9eb0a5; }
body.customer-dashboard-page[data-theme="dark"] .customer-plan-preview-empty { border-color: rgba(230,214,156,.16); }

@media (max-width: 1220px) {
  .customer-overview-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .customer-panel-link { white-space: normal; }
  .funding-kpi-grid, .funding-goal-card dl { grid-template-columns: 1fr; }
}

/* Team operations: periods, attendance, completed records and import review */
.performance-period-toolbar { display: flex; align-items: end; justify-content: flex-end; gap: 12px; }
.performance-period-switch, .completed-mode-switch { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 999px; background: #eee9db; }
.performance-period-switch button, .completed-mode-switch button { min-height: 34px; padding: 0 14px; border: 0; border-radius: 999px; background: transparent; color: var(--ink-soft); font: 800 .54rem 'Plus Jakarta Sans', sans-serif; cursor: pointer; transition: color .2s ease, background .2s ease, box-shadow .2s ease; }
.performance-period-switch button:hover, .completed-mode-switch button:hover { color: var(--forest); }
.performance-period-switch button.active, .completed-mode-switch button.active { background: var(--forest); color: #fff; box-shadow: 0 7px 18px rgba(16,48,36,.16); }
.performance-period-toolbar label { display: grid; gap: 6px; color: var(--ink); font-size: .53rem; font-weight: 800; }
.performance-period-toolbar input { min-height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: 600 .62rem 'Plus Jakarta Sans', sans-serif; }

.admin-attendance-controls, .completed-record-filters { display: grid; gap: 11px; align-items: end; margin-bottom: 28px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #f4f1e7; }
.admin-attendance-controls { grid-template-columns: minmax(220px, 1fr) minmax(170px, .42fr); }
.completed-record-filters { grid-template-columns: auto minmax(135px, .42fr) minmax(110px, .3fr) minmax(220px, 1fr) auto; }
.admin-attendance-controls label, .completed-record-filters label { display: grid; gap: 7px; color: var(--ink); font-size: .55rem; font-weight: 800; }
.admin-attendance-controls select, .admin-attendance-controls input, .completed-record-filters select, .completed-record-filters input { width: 100%; min-height: 43px; padding: 0 11px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); outline: none; font: 600 .61rem 'Plus Jakarta Sans', sans-serif; }
.admin-attendance-controls select:focus, .admin-attendance-controls input:focus, .completed-record-filters select:focus, .completed-record-filters input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.1); }
.attendance-heading { margin-top: 4px; }
.attendance-map-link { color: var(--gold-deep); font-weight: 800; white-space: nowrap; }
.attendance-map-link:hover { text-decoration: underline; }

.completed-record-list { display: grid; gap: 13px; margin-top: 24px; }
.completed-record-card { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 12px 32px rgba(16,48,36,.045); }
.completed-record-heading { display: flex; align-items: start; justify-content: space-between; gap: 22px; padding: 22px 24px; }
.completed-record-heading h3 { margin: 9px 0 0; color: var(--forest); font: 400 1.8rem/1 'DM Serif Display', Georgia, serif; }
.completed-record-heading p { margin: 8px 0 0; color: var(--ink-soft); font-size: .54rem; }
.completed-record-heading > strong { flex: none; color: var(--gold-deep); font-size: .57rem; }
.completed-record-mode { display: inline-flex; min-height: 24px; align-items: center; padding: 0 9px; border-radius: 999px; font-size: .47rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.completed-record-mode.direct { background: #e5f0e7; color: #2d6f4a; }
.completed-record-mode.assisted { background: #f5edd0; color: #775e13; }
.completed-record-details { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0 24px 20px; }
.completed-record-details > div { min-width: 0; padding: 11px 14px; border: 1px solid var(--line); border-right: 0; background: #faf8f1; }
.completed-record-details > div:first-child { border-radius: 9px 0 0 9px; }
.completed-record-details > div:last-child { border-right: 1px solid var(--line); border-radius: 0 9px 9px 0; }
.completed-record-details dt { color: var(--ink-soft); font-size: .46rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.completed-record-details dd { overflow-wrap: anywhere; margin: 6px 0 0; color: var(--ink); font-size: .58rem; }
.completed-record-plans { padding: 18px 24px; border-top: 1px solid var(--line); background: #f7f4ea; }
.completed-record-plans h4 { margin: 0; color: var(--forest); font-size: .59rem; }
.completed-record-plans ul { display: grid; gap: 7px; margin: 11px 0 0; padding-left: 18px; color: var(--ink-soft); font-size: .56rem; line-height: 1.55; }
.completed-record-actions { display: flex; justify-content: flex-end; padding: 15px 24px 20px; background: #f7f4ea; }

.btn-outline-danger { border-color: #c9846c; background: transparent; color: #a4472b; }
.btn-outline-danger:hover { border-color: #a4472b; background: #f5e5df; }
.request-remove-action { margin-top: 4px; }

.telecall-import-preview { margin-top: 28px; padding-top: 26px; border-top: 1px solid var(--line); }
.telecall-preview-heading { display: flex; align-items: end; justify-content: space-between; gap: 22px; }
.telecall-preview-heading h3 { margin: 9px 0 0; color: var(--forest); font: 400 clamp(1.8rem, 3vw, 2.8rem)/1 'DM Serif Display', Georgia, serif; }
.telecall-preview-heading p { max-width: 760px; margin: 11px 0 0; color: var(--ink-soft); font-size: .59rem; line-height: 1.65; }
.telecall-preview-sheets { display: grid; gap: 13px; margin-top: 20px; }
.telecall-preview-sheet { padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.telecall-preview-sheet-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.telecall-preview-sheet-heading h4 { margin: 0; color: var(--forest); font: 400 1.45rem/1 'DM Serif Display', Georgia, serif; }
.telecall-preview-sheet-heading label, .telecall-preview-row-controls label, .telecall-preview-mapping { display: grid; gap: 7px; color: var(--ink); font-size: .53rem; font-weight: 800; }
.telecall-preview-sheet-heading label { display: flex; align-items: center; }
.telecall-preview-row-controls { display: grid; grid-template-columns: repeat(2, minmax(140px, 220px)); gap: 10px; margin-top: 18px; }
.telecall-preview-row-controls input, .telecall-preview-mapping select { width: 100%; min-height: 41px; padding: 0 10px; border: 1px solid var(--line); border-radius: 8px; background: #faf9f4; color: var(--ink); outline: none; font: 600 .59rem 'Plus Jakarta Sans', sans-serif; }
.telecall-preview-row-controls input:focus, .telecall-preview-mapping select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.1); }
.telecall-preview-mapping-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin-top: 17px; }
.telecall-preview-mapping span { overflow: hidden; color: var(--ink-soft); text-overflow: ellipsis; white-space: nowrap; }
.telecall-preview-sample { overflow: auto; margin-top: 18px; padding-top: 15px; border-top: 1px solid var(--line); }
.telecall-preview-sample > strong { color: var(--forest); font-size: .56rem; }
.telecall-preview-sample table { min-width: 680px; margin-top: 9px; border-collapse: collapse; font-size: .51rem; }
.telecall-preview-sample td { max-width: 220px; padding: 8px 9px; border: 1px solid var(--line); color: var(--ink-soft); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.telecall-preview-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
.telecall-batch-card { grid-template-columns: minmax(180px, 1.3fr) repeat(4, minmax(86px, .45fr)) auto; }
.telecall-batch-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.telecall-batch-remove { white-space: nowrap; }
.telecall-batch-card > .employee-report-status { grid-column: 1 / -1; margin: 0; }
.telecall-retained-panel { grid-column: 1 / -1; min-width: 0; margin-top: 4px; padding: 18px; border: 1px solid var(--line); border-radius: 11px; background: #f7f4e9; }
.telecall-retained-panel[hidden] { display: none; }
.telecall-retained-heading { display: flex; align-items: start; justify-content: space-between; gap: 18px; }
.telecall-retained-heading h4 { margin: 0; color: var(--forest); font: 400 1.45rem/1.1 'DM Serif Display', Georgia, serif; }
.telecall-retained-heading p { max-width: 760px; margin: 7px 0 0; color: var(--ink-soft); font-size: .56rem; line-height: 1.65; }
.telecall-retained-table { max-height: 470px; margin-top: 16px; background: white; }
.telecall-retained-table table { min-width: 980px; }
.telecall-retained-table td { vertical-align: top; }
.telecall-retained-table summary { cursor: pointer; color: #806614; font-size: .54rem; font-weight: 800; }
.telecall-retained-fields { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(160px, 1.3fr); gap: 5px 10px; min-width: 320px; margin: 11px 0 0; }
.telecall-retained-fields dt, .telecall-retained-fields dd { margin: 0; overflow-wrap: anywhere; font-size: .5rem; line-height: 1.45; }
.telecall-retained-fields dt { color: var(--ink-soft); font-weight: 800; }
.telecall-retained-fields dd { color: var(--ink); }

body.employee-page[data-theme="dark"] .performance-period-switch, body.employee-page[data-theme="dark"] .completed-mode-switch, body.employee-page[data-theme="dark"] .admin-attendance-controls, body.employee-page[data-theme="dark"] .completed-record-filters { border-color: rgba(230,214,156,.16); background: #102f24; }
body.employee-page[data-theme="dark"] .performance-period-switch button.active, body.employee-page[data-theme="dark"] .completed-mode-switch button.active { background: var(--gold); color: var(--forest); }
body.employee-page[data-theme="dark"] .performance-period-toolbar label, body.employee-page[data-theme="dark"] .admin-attendance-controls label, body.employee-page[data-theme="dark"] .completed-record-filters label, body.employee-page[data-theme="dark"] .telecall-preview-sheet-heading label, body.employee-page[data-theme="dark"] .telecall-preview-row-controls label, body.employee-page[data-theme="dark"] .telecall-preview-mapping { color: #f1eee4; }
body.employee-page[data-theme="dark"] .performance-period-toolbar input, body.employee-page[data-theme="dark"] .admin-attendance-controls select, body.employee-page[data-theme="dark"] .admin-attendance-controls input, body.employee-page[data-theme="dark"] .completed-record-filters select, body.employee-page[data-theme="dark"] .completed-record-filters input, body.employee-page[data-theme="dark"] .telecall-preview-row-controls input, body.employee-page[data-theme="dark"] .telecall-preview-mapping select { border-color: rgba(230,214,156,.18); background: #173526; color: #f1eee4; }
body.employee-page[data-theme="dark"] .completed-record-card, body.employee-page[data-theme="dark"] .telecall-preview-sheet { border-color: rgba(230,214,156,.16); background: #0d281e; box-shadow: none; }
body.employee-page[data-theme="dark"] .completed-record-heading h3, body.employee-page[data-theme="dark"] .completed-record-details dd, body.employee-page[data-theme="dark"] .completed-record-plans h4, body.employee-page[data-theme="dark"] .telecall-preview-heading h3, body.employee-page[data-theme="dark"] .telecall-preview-sheet-heading h4, body.employee-page[data-theme="dark"] .telecall-preview-sample > strong { color: #f1eee4; }
body.employee-page[data-theme="dark"] .completed-record-details > div, body.employee-page[data-theme="dark"] .completed-record-plans, body.employee-page[data-theme="dark"] .completed-record-actions { border-color: rgba(230,214,156,.14); background: #102f24; }
body.employee-page[data-theme="dark"] .telecall-preview-sample, body.employee-page[data-theme="dark"] .telecall-preview-sample td { border-color: rgba(230,214,156,.14); }
body.employee-page[data-theme="dark"] .btn-outline-danger { border-color: #ce8268; color: #f2a48a; }
body.employee-page[data-theme="dark"] .btn-outline-danger:hover { background: rgba(184,77,48,.2); }
body.employee-page[data-theme="dark"] .telecall-retained-panel { border-color: rgba(230,214,156,.16); background: #102f24; }
body.employee-page[data-theme="dark"] .telecall-retained-heading h4, body.employee-page[data-theme="dark"] .telecall-retained-fields dd { color: #f1eee4; }
body.employee-page[data-theme="dark"] .telecall-retained-table { background: #0d281e; }

@media (max-width: 1120px) {
  .completed-record-filters { grid-template-columns: auto 1fr 1fr; }
  .completed-search-field { grid-column: 1 / 3; }
  .telecall-batch-card { grid-template-columns: minmax(180px, 1fr) repeat(2, minmax(90px, .4fr)); }
  .telecall-batch-actions, .telecall-batch-card > .employee-report-status { grid-column: 1 / -1; justify-content: flex-start; }
}
@media (max-width: 760px) {
  .performance-period-toolbar, .telecall-preview-heading, .completed-record-heading { align-items: stretch; flex-direction: column; }
  .performance-period-switch, .completed-mode-switch { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; border-radius: 13px; }
  .admin-attendance-controls, .completed-record-filters, .telecall-preview-row-controls { grid-template-columns: 1fr; }
  .completed-search-field, .completed-record-filters .btn { grid-column: auto; }
  .completed-record-details { grid-template-columns: 1fr; }
  .completed-record-details > div, .completed-record-details > div:first-child, .completed-record-details > div:last-child { border: 1px solid var(--line); border-bottom: 0; border-radius: 0; }
  .completed-record-details > div:first-child { border-radius: 9px 9px 0 0; }
  .completed-record-details > div:last-child { border-bottom: 1px solid var(--line); border-radius: 0 0 9px 9px; }
  .completed-record-actions, .telecall-preview-actions { align-items: stretch; flex-direction: column; }
  .completed-record-actions .btn, .telecall-preview-actions .btn, .telecall-batch-remove { width: 100%; }
  .telecall-batch-card { grid-template-columns: 1fr 1fr; }
  .telecall-batch-card > div:first-child, .telecall-batch-actions, .telecall-batch-card > .employee-report-status { grid-column: 1 / -1; }
  .telecall-retained-heading { align-items: stretch; flex-direction: column; }
  .telecall-retained-heading .btn { width: 100%; }
}

@media print {
  body.staff-protected-surface > * { display: none !important; }
  body.staff-protected-surface::after { content: 'Printing is disabled for this confidential employee workspace.'; display: grid; min-height: 100vh; place-items: center; padding: 32px; color: #17372d; font: 700 16px/1.6 'Plus Jakarta Sans', sans-serif; text-align: center; }
}

/* Finance administration */
.admin-finance-main { display: grid; gap: 22px; }
.admin-finance-main .employee-page-intro { margin-bottom: 0; }
.admin-finance-main .employee-section { margin: 0; }
.admin-finance-main .admin-filter-form { display: grid; grid-template-columns: repeat(2, minmax(190px, 1fr)) minmax(300px, 1.4fr); gap: 12px; }
.admin-finance-main .staff-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-finance-main .staff-summary-grid article:last-child { border-color: rgba(198, 163, 65, .55); background: linear-gradient(145deg, #fff9e7, #eee3bc); }
.admin-finance-main .staff-summary-grid strong.finance-loss { color: #a4412d; }
.admin-finance-main .google-access-form textarea { width: 100%; min-height: 88px; resize: vertical; border: 1px solid var(--line); border-radius: 8px; background: white; color: var(--ink); padding: 13px; outline: none; font: 500 .72rem/1.55 'Plus Jakarta Sans', sans-serif; }
.admin-finance-main .google-access-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(198,163,65,.12); }
.admin-finance-main .employee-table-wrap { max-height: 520px; }
.admin-finance-main table { min-width: 980px; }
.finance-period-presets { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.finance-recurring-fields { margin-top: 14px; }
.finance-recurring-fields[hidden] { display: none; }
.admin-finance-main .finance-register-filters { grid-template-columns: repeat(3, minmax(170px, 1fr)) auto; align-items: end; margin-bottom: 18px; }
.finance-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 18px; }
.finance-category-grid article { display: grid; align-content: start; min-height: 124px; padding: 18px; border: 1px solid var(--line); border-radius: 11px; background: rgba(255, 255, 255, .55); }
.finance-category-grid span { color: var(--ink-soft); font-size: .59rem; font-weight: 800; }
.finance-category-grid strong { margin-top: 8px; color: var(--forest); font: 400 1.38rem/1 'DM Serif Display', Georgia, serif; }
.finance-category-grid small { margin-top: 9px; color: var(--ink-soft); font-size: .54rem; line-height: 1.55; }
.admin-finance-main [data-finance-expenses] td:nth-child(2) > span, .admin-finance-main [data-finance-expenses] td:nth-child(3) > span, .admin-finance-main [data-finance-expenses] td:nth-child(5) > span { display: block; min-width: 130px; }
.finance-recurring-note { display: block; margin-top: 4px; color: var(--gold-deep); font-size: .58rem; font-weight: 800; }
.finance-table-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.finance-table-action { min-height: 30px; padding: 6px 9px; border: 1px solid rgba(23, 57, 44, .25); border-radius: 7px; background: transparent; color: var(--forest); cursor: pointer; font: 800 .52rem/1 'Plus Jakarta Sans', sans-serif; }
.finance-table-action:hover, .finance-table-action:focus-visible { border-color: var(--gold); background: rgba(198, 163, 65, .1); outline: none; }
.finance-table-action.danger { color: #a4412d; }
.finance-table-action:disabled, [aria-busy="true"] { cursor: wait; opacity: .58; }
.admin-finance-main [data-bill-editor][hidden], .admin-finance-main [data-bill-editor-empty][hidden] { display: none; }
.admin-finance-main [data-bill-file-link] { color: var(--gold-deep); font-weight: 800; }
.admin-finance-main input[readonly] { background: #ece9de; color: var(--ink-soft); cursor: not-allowed; }
body.employee-page[data-theme="dark"] .admin-finance-main .staff-summary-grid article:last-child { border-color: rgba(198,163,65,.45); background: linear-gradient(145deg, #173526, #102f24); }
body.employee-page[data-theme="dark"] .finance-table-action { border-color: rgba(230,214,156,.2); color: #f1eee4; }
body.employee-page[data-theme="dark"] .finance-table-action.danger { color: #f0a38f; }
body.employee-page[data-theme="dark"] .admin-finance-main input[readonly] { background: #0a2118; color: #83998b; }
body.employee-page[data-theme="dark"] .finance-category-grid article { border-color: rgba(230,214,156,.16); background: #102f24; }
body.employee-page[data-theme="dark"] .finance-category-grid strong { color: #f1eee4; }
body.employee-page[data-theme="dark"] .finance-category-grid span, body.employee-page[data-theme="dark"] .finance-category-grid small { color: #9fb5a7; }
@media (max-width: 1100px) {
  .admin-finance-main .staff-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-finance-main .admin-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-finance-main .finance-register-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-finance-main .admin-filter-form .google-access-form-actions { grid-column: 1 / -1; }
  .finance-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .admin-finance-main .staff-summary-grid, .admin-finance-main .admin-filter-form { grid-template-columns: 1fr; }
  .admin-finance-main .admin-filter-form .google-access-form-actions { grid-column: auto; }
  .finance-category-grid { grid-template-columns: 1fr; }
}

/* Calculator expansions */
.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; }
.calculator-section { scroll-margin-top: 92px; }
.calculator-tool-nav-section { background: var(--paper-2); }
.calculator-shortcuts .path-card { min-height: 220px; }
.calculator-shortcuts .path-card > span { display: inline-flex; margin-top: 20px; font-size: .64rem; font-weight: 800; }
.tax-calculator-shell { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); overflow: hidden; border: 1px solid rgba(19, 35, 29, .13); border-radius: 18px; box-shadow: var(--shadow); }
.tax-controls { padding: 32px; background: var(--forest); color: var(--paper); }
.tax-form-heading h3 { margin: 11px 0 0; color: var(--paper); font: 400 clamp(1.9rem, 3vw, 2.65rem)/1.05 'DM Serif Display', Georgia, serif; }
.tax-form-heading p { margin: 10px 0 0; color: #aec2b5; font-size: .68rem; line-height: 1.65; }
.calculator-fieldset { min-width: 0; margin: 28px 0 0; padding: 0; border: 0; }
.calculator-fieldset legend { padding: 0; color: var(--gold-light); font: 400 1.18rem/1.1 'DM Serif Display', Georgia, serif; }
.tax-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 15px; }
.tax-field-grid .calc-field { min-width: 0; }
.tax-field-grid .calc-field.full { grid-column: 1 / -1; }
.tax-field-grid .calc-field label { color: #d7e1d8; font-size: .62rem; font-weight: 800; line-height: 1.35; }
.tax-field-grid .calc-field small { color: #98b0a2; font-size: .57rem; line-height: 1.45; }
.tax-controls input[type=number], .tax-controls select { width: 100%; border: 1px solid rgba(230, 214, 156, .2); border-radius: 8px; background: #102f24; color: var(--paper); padding: 11px 12px; outline: none; font-size: .72rem; }
.tax-controls input[type=number]:focus, .tax-controls select:focus, .emi-controls input[type=number]:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(198, 163, 65, .15); }
.tax-controls input.input-invalid, .tax-controls select.input-invalid, .emi-controls input.input-invalid { border-color: #e28a70; box-shadow: 0 0 0 3px rgba(226, 138, 112, .12); }
.calculator-status { min-height: 18px; margin: 18px 0 0; color: #f2bf9d; font-size: .62rem; line-height: 1.5; }
.tax-results-card { min-width: 0; padding: 32px; background: #f8f6ef; color: var(--ink); }
.tax-result-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.tax-result-heading h3 { max-width: 450px; margin: 10px 0 0; font: 400 clamp(1.75rem, 3vw, 2.65rem)/1.06 'DM Serif Display', Georgia, serif; }
.tax-saving-badge { min-width: 132px; padding: 13px; border: 1px solid rgba(198, 163, 65, .35); border-radius: 12px; background: #f0ead5; text-align: right; }
.tax-saving-badge span, .tax-context-grid span { display: block; color: #756c50; font-size: .52rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tax-saving-badge strong { display: block; margin-top: 5px; color: var(--forest); font: 400 1.35rem/1 'DM Serif Display', Georgia, serif; }
.tax-regime-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 28px; }
.tax-regime-card { padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255, 255, 255, .28); }
.tax-regime-card.featured, .tax-regime-card.recommended { border-color: rgba(198, 163, 65, .55); box-shadow: 0 14px 34px rgba(94, 74, 20, .09); }
.tax-regime-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tax-regime-top h4 { margin: 0; font: 400 1.3rem/1 'DM Serif Display', Georgia, serif; }
.tax-regime-tag { color: var(--gold-deep); font-size: .52rem; font-weight: 800; text-align: right; }
.tax-big-number { margin-top: 21px; color: var(--forest); font: 400 2.1rem/1 'DM Serif Display', Georgia, serif; }
.tax-result-label { display: block; margin-top: 6px; color: var(--ink-soft); font-size: .54rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.tax-breakdown { display: grid; gap: 0; margin: 20px 0 0; border-top: 1px solid var(--line); }
.tax-breakdown > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.tax-breakdown dt { color: var(--ink-soft); font-size: .58rem; line-height: 1.35; }
.tax-breakdown dd { margin: 0; color: var(--ink); font-size: .62rem; font-weight: 800; white-space: nowrap; }
.tax-context-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 13px; }
.tax-context-grid > div { padding: 13px; border-radius: 10px; background: #eee9da; }
.tax-context-grid strong { display: block; margin-top: 6px; color: var(--forest); font: 400 1.08rem/1.05 'DM Serif Display', Georgia, serif; }
.tax-review-note { margin: 14px 0 0; padding: 12px 14px; border-left: 2px solid var(--gold); background: #f1ead1; color: #6e6447; font-size: .61rem; line-height: 1.6; }
.tax-rates-section { margin-top: 58px; }
.section-head.compact { margin-bottom: 25px; }
.section-head.compact h3 { margin: 10px 0 0; font: 400 clamp(1.8rem, 3vw, 2.6rem)/1.05 'DM Serif Display', Georgia, serif; }
.tax-rate-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tax-rate-card { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255, 255, 255, .28); }
.tax-rate-card h4 { min-height: 39px; margin: 0 0 16px; color: var(--forest); font: 400 1.15rem/1.05 'DM Serif Display', Georgia, serif; }
.tax-rate-card table { width: 100%; border-collapse: collapse; font-size: .59rem; }
.tax-rate-card th, .tax-rate-card td { padding: 8px 0; border-bottom: 1px solid var(--line); text-align: left; }
.tax-rate-card th:last-child, .tax-rate-card td:last-child { text-align: right; color: var(--gold-deep); font-weight: 800; }
.tax-rate-card th { color: var(--ink-soft); font-size: .52rem; letter-spacing: .05em; text-transform: uppercase; }
.tax-assumptions { display: grid; grid-template-columns: auto 1fr; gap: 12px; margin-top: 18px; padding: 16px; border: 1px solid rgba(198, 163, 65, .3); border-radius: 11px; background: #f1ead1; color: #6e6447; font-size: .62rem; line-height: 1.65; }
.tax-assumptions strong { color: var(--gold-deep); }

.emi-shell { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); overflow: hidden; border: 1px solid rgba(19, 35, 29, .13); border-radius: 18px; box-shadow: var(--shadow); }
.emi-controls { padding: 32px; background: var(--forest); color: var(--paper); }
.emi-controls .calc-fields { margin-top: 28px; }
.emi-controls .calc-field { display: grid; gap: 8px; }
.emi-controls .calc-field > label { color: #d7e1d8; font-size: .62rem; font-weight: 800; }
.emi-controls .calc-field small { color: #98b0a2; font-size: .57rem; line-height: 1.45; }
.emi-controls input[type=number] { width: 100%; border: 1px solid rgba(230, 214, 156, .2); border-radius: 8px; background: #102f24; color: var(--paper); padding: 11px 12px; outline: none; font-size: .72rem; }
.input-suffix { position: relative; }
.input-suffix input { padding-right: 54px !important; }
.input-suffix span { position: absolute; top: 50%; right: 12px; color: var(--gold-light); font-size: .62rem; font-weight: 800; transform: translateY(-50%); }
.compact-grid { margin-top: 0; }
.emi-results { min-width: 0; padding: 32px; background: #f8f6ef; color: var(--ink); }
.emi-result-top { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.emi-result-top h3 { max-width: 480px; margin: 10px 0 0; font: 400 clamp(1.8rem, 3vw, 2.7rem)/1.06 'DM Serif Display', Georgia, serif; }
.emi-visual-row { display: grid; grid-template-columns: 170px minmax(0, 1fr); align-items: center; gap: 28px; margin-top: 30px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255, 255, 255, .25); }
.emi-donut { display: grid; place-items: center; width: 158px; height: 158px; margin-inline: auto; border: 1px solid rgba(198, 163, 65, .38); border-radius: 50%; background: conic-gradient(var(--gold) 0 50%, #7aa68d 50% 100%); box-shadow: inset 0 0 0 25px #f8f6ef, 0 0 0 8px rgba(198, 163, 65, .08); }
.emi-donut span { color: var(--forest); font-size: .66rem; font-weight: 800; }
.emi-legend { display: grid; gap: 12px; }
.emi-legend > div { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.emi-legend > div span { color: var(--ink-soft); font-size: .64rem; }
.emi-legend > div strong { color: var(--forest); font: 400 1.25rem/1 'DM Serif Display', Georgia, serif; }
.emi-legend .legend-dot { width: 9px; height: 9px; margin: 0; }
.legend-dot.principal { background: var(--gold); }
.legend-dot.interest { background: #7aa68d; }
.emi-legend p { margin: 0; color: var(--ink-soft); font-size: .6rem; line-height: 1.55; }
.amortization-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-top: 30px; }
.amortization-heading h4 { margin: 9px 0 0; font: 400 1.55rem/1 'DM Serif Display', Georgia, serif; }
.amortization-heading > span { color: var(--gold-deep); font-size: .58rem; font-weight: 800; text-align: right; }
.amortization-table-wrap { overflow-x: auto; margin-top: 15px; border: 1px solid var(--line); border-radius: 11px; }
.amortization-table { width: 100%; min-width: 540px; border-collapse: collapse; font-size: .59rem; }
.amortization-table th, .amortization-table td { padding: 10px 11px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.amortization-table th:first-child, .amortization-table td:first-child { text-align: left; }
.amortization-table th { background: #eee9da; color: var(--ink-soft); font-size: .52rem; letter-spacing: .06em; text-transform: uppercase; }
.amortization-table td { color: var(--ink); }
.amortization-table tbody tr:last-child td { border-bottom: 0; }
.amortization-table .amortization-final td { color: var(--gold-deep); font-weight: 800; }
.tax-controls ::placeholder, .emi-controls ::placeholder { color: #789083; }
body.public-page[data-theme="dark"] .calculator-tool-nav-section { background: #071a13; }
body.public-page[data-theme="dark"] .tax-calculator-shell, body.public-page[data-theme="dark"] .emi-shell { border-color: rgba(230, 214, 156, .16); }
body.public-page[data-theme="dark"] .tax-results-card, body.public-page[data-theme="dark"] .emi-results { border-color: rgba(230, 214, 156, .16); background: #0d281e; color: #f1eee4; }
body.public-page[data-theme="dark"] .tax-regime-card, body.public-page[data-theme="dark"] .tax-rate-card, body.public-page[data-theme="dark"] .emi-visual-row { border-color: rgba(230, 214, 156, .16); background: #102f24; }
body.public-page[data-theme="dark"] .tax-regime-card.featured, body.public-page[data-theme="dark"] .tax-regime-card.recommended { border-color: rgba(230, 214, 156, .42); }
body.public-page[data-theme="dark"] .tax-big-number, body.public-page[data-theme="dark"] .tax-rate-card h4, body.public-page[data-theme="dark"] .tax-context-grid strong, body.public-page[data-theme="dark"] .emi-legend > div strong, body.public-page[data-theme="dark"] .amortization-heading h4 { color: var(--gold-light); }
body.public-page[data-theme="dark"] .tax-breakdown, body.public-page[data-theme="dark"] .tax-breakdown > div, body.public-page[data-theme="dark"] .tax-rate-card th, body.public-page[data-theme="dark"] .tax-rate-card td, body.public-page[data-theme="dark"] .emi-legend > div, body.public-page[data-theme="dark"] .amortization-table th, body.public-page[data-theme="dark"] .amortization-table td { border-color: rgba(230, 214, 156, .14); }
body.public-page[data-theme="dark"] .tax-breakdown dt, body.public-page[data-theme="dark"] .tax-result-label, body.public-page[data-theme="dark"] .tax-rate-card th, body.public-page[data-theme="dark"] .tax-context-grid span, body.public-page[data-theme="dark"] .emi-legend > div span, body.public-page[data-theme="dark"] .emi-legend p, body.public-page[data-theme="dark"] .amortization-table th { color: #9fb2a6; }
body.public-page[data-theme="dark"] .tax-breakdown dd, body.public-page[data-theme="dark"] .tax-rate-card td, body.public-page[data-theme="dark"] .amortization-table td { color: #f1eee4; }
body.public-page[data-theme="dark"] .tax-context-grid > div, body.public-page[data-theme="dark"] .tax-review-note, body.public-page[data-theme="dark"] .tax-assumptions, body.public-page[data-theme="dark"] .tax-saving-badge, body.public-page[data-theme="dark"] .amortization-table th { border-color: rgba(230, 214, 156, .18); background: #173526; color: #b7c8bc; }
body.public-page[data-theme="dark"] .tax-saving-badge strong { color: var(--gold-light); }
body.public-page[data-theme="dark"] .emi-donut { box-shadow: inset 0 0 0 25px #0d281e, 0 0 0 8px rgba(198, 163, 65, .08); }
body.public-page[data-theme="dark"] .form-note { color: #9fb2a6; }
@media (max-width: 1100px) {
  .tax-rate-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .tax-calculator-shell, .emi-shell { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .tax-field-grid, .tax-regime-grid, .tax-context-grid { grid-template-columns: 1fr; }
  .tax-field-grid .calc-field.full { grid-column: auto; }
  .tax-result-heading, .emi-result-top, .amortization-heading { display: block; }
  .tax-saving-badge { width: fit-content; margin-top: 18px; text-align: left; }
  .tax-rate-grid { grid-template-columns: 1fr; }
  .tax-controls, .tax-results-card, .emi-controls, .emi-results { padding: 25px 20px; }
  .tax-assumptions { grid-template-columns: 1fr; }
  .emi-visual-row { grid-template-columns: 1fr; }
  .amortization-heading > span { display: block; margin-top: 12px; text-align: left; }
}

/* Cohesive employee workspace shell */
.google-auth-button[type="button"] { appearance: none; cursor: pointer; font-family: inherit; }
.google-auth-button[type="button"]:disabled { cursor: wait; opacity: .72; transform: none; }
.employee-skip-link { position: fixed; z-index: 100; top: 10px; left: 12px; padding: 10px 14px; border-radius: 8px; background: var(--gold); color: var(--forest); font-size: .7rem; font-weight: 800; transform: translateY(-180%); transition: transform .16s ease; }
.employee-skip-link:focus-visible { transform: translateY(0); outline: 3px solid rgba(255,255,255,.8); outline-offset: 2px; }
body.employee-page.staff-shell-ready { min-height: 100vh; padding-left: 294px; overflow-x: hidden; }
body.employee-page.staff-shell-ready[data-theme="dark"] { color-scheme: dark; }
body.employee-page.staff-shell-ready .employee-header.employee-shell-sidebar { position: fixed; z-index: 60; inset: 0 auto 0 0; display: flex; width: 294px; height: 100vh; height: 100dvh; min-height: 0; flex-direction: column; align-items: stretch; gap: 18px; overflow: hidden; padding: max(18px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom)); border-right: 1px solid rgba(236,227,193,.14); border-bottom: 0; background: #08281d; box-shadow: 18px 0 50px rgba(3,19,13,.12); }
body.employee-page.staff-shell-ready .employee-header .brand { flex: 0 0 auto; width: 100%; min-width: 0; gap: 12px; padding: 2px 6px 17px; border-bottom: 1px solid rgba(236,227,193,.13); }
body.employee-page.staff-shell-ready .employee-header .brand-mark { width: 52px; height: 52px; flex: 0 0 52px; }
body.employee-page.staff-shell-ready .employee-header .brand-title { overflow: hidden; font-size: .79rem; text-overflow: ellipsis; white-space: nowrap; }
body.employee-page.staff-shell-ready .employee-header .brand-subtitle { overflow: hidden; color: #a9bbb0; font-size: .46rem; letter-spacing: .13em; text-overflow: ellipsis; white-space: nowrap; }
body.employee-page.staff-shell-ready .employee-nav { display: block; flex: 1 1 auto; width: 100%; min-height: 0; overflow-x: hidden; overflow-y: auto; padding: 2px 5px 22px 0; scrollbar-color: rgba(230,214,156,.32) transparent; scrollbar-width: thin; }
.employee-nav-section + .employee-nav-section { margin-top: 19px; }
.employee-nav-section-title { display: block; margin: 0 9px 8px; color: #758e7e; font-size: .46rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.employee-nav-links { display: grid; gap: 5px; }
body.employee-page.staff-shell-ready .employee-nav a { display: grid; grid-template-columns: 32px minmax(0, 1fr); align-items: center; gap: 10px; min-width: 0; padding: 9px 10px; border: 1px solid transparent; border-radius: 10px; color: #b7c8bc; line-height: 1.3; text-decoration: none; transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease; }
body.employee-page.staff-shell-ready .employee-nav a::after { display: none; }
body.employee-page.staff-shell-ready .employee-nav a:hover { border-color: rgba(230,214,156,.16); background: rgba(255,255,255,.045); color: #f1eee4; transform: translateX(2px); }
body.employee-page.staff-shell-ready .employee-nav a:focus-visible { outline: 3px solid rgba(230,214,156,.42); outline-offset: 2px; }
body.employee-page.staff-shell-ready .employee-nav a.current { border-color: rgba(230,214,156,.27); background: linear-gradient(135deg, rgba(198,163,65,.18), rgba(255,255,255,.035)); color: var(--gold-light); }
.employee-nav-icon { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid rgba(230,214,156,.18); border-radius: 9px; color: #d8c67d; font-size: .45rem; font-weight: 800; letter-spacing: .03em; }
.employee-nav-copy { display: grid; min-width: 0; gap: 2px; }
.employee-nav-copy strong { overflow: hidden; font-size: .59rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.employee-nav-copy small { display: none; overflow: hidden; color: #91a69a; font-size: .44rem; font-weight: 600; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.employee-nav a.current .employee-nav-copy small { display: block; }
body.employee-page.staff-shell-ready .employee-account { display: grid; flex: 0 0 auto; align-items: stretch; gap: 10px; width: 100%; padding: 15px 7px 0; border-top: 1px solid rgba(236,227,193,.13); }
body.employee-page.staff-shell-ready .employee-account > span { display: block; overflow: hidden; color: #b7c8bc; font-size: .54rem; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
body.employee-page.staff-shell-ready .employee-account .btn { width: 100%; min-height: 42px; justify-content: center; }
.employee-context-bar { position: sticky; z-index: 45; top: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 15px; min-height: 68px; padding: 10px clamp(20px, 3vw, 42px); border-bottom: 1px solid rgba(30,64,49,.11); background: rgba(247,244,234,.94); box-shadow: 0 8px 24px rgba(14,43,31,.045); backdrop-filter: blur(15px); }
.employee-context-copy { display: grid; min-width: 0; gap: 2px; }
.employee-context-copy span { color: var(--gold-deep); font-size: .47rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.employee-context-copy strong { overflow: hidden; color: var(--forest); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.employee-role-pill { max-width: 240px; overflow: hidden; padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--forest); font-size: .51rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.employee-shell-menu-toggle { display: none; align-items: center; gap: 7px; min-height: 42px; padding: 0 12px; border: 1px solid var(--line); border-radius: 9px; background: transparent; color: var(--forest); cursor: pointer; font: 800 .58rem/1 'Plus Jakarta Sans', sans-serif; }
.employee-shell-menu-toggle:hover { border-color: var(--gold); background: rgba(198,163,65,.08); }
.employee-shell-menu-toggle:focus-visible, .employee-nav-backdrop:focus-visible { outline: 3px solid rgba(198,163,65,.35); outline-offset: 2px; }
.employee-nav-backdrop { position: fixed; z-index: 55; inset: 0; display: none; width: 100%; height: 100%; border: 0; background: rgba(2,17,11,.62); opacity: 0; pointer-events: none; transition: opacity .18s ease; }
.portal-module-overview { overflow: hidden; }
.portal-module-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 225px), 1fr)); gap: 10px; margin-top: 22px; }
.portal-module-card { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-width: 0; min-height: 88px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.7); color: var(--forest); text-decoration: none; transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.portal-module-card:hover { border-color: var(--gold); background: #fff; box-shadow: 0 12px 28px rgba(15,51,36,.08); transform: translateY(-2px); }
.portal-module-card:focus-visible { outline: 3px solid rgba(198,163,65,.35); outline-offset: 3px; }
.portal-module-icon { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #d5c992; border-radius: 10px; background: #f4edd4; color: var(--gold-deep); font-size: .49rem; font-weight: 800; }
.portal-module-copy { display: grid; min-width: 0; gap: 3px; }
.portal-module-copy small { color: var(--gold-deep); font-size: .43rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.portal-module-copy strong { overflow: hidden; font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.portal-module-copy > span { overflow: hidden; color: var(--ink-soft); font-size: .48rem; font-weight: 600; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.portal-module-arrow { color: var(--gold-deep); font-size: .85rem; }
body.employee-page.staff-shell-ready > main { scroll-margin-top: 80px; }
body.employee-page.staff-shell-ready .employee-footer { padding-right: clamp(20px, 3vw, 42px); padding-left: clamp(20px, 3vw, 42px); }
body.employee-page.staff-shell-ready[data-theme="dark"] .employee-context-bar { border-color: rgba(230,214,156,.13); background: rgba(7,26,19,.94); box-shadow: none; }
body.employee-page.staff-shell-ready[data-theme="dark"] .employee-context-copy strong, body.employee-page.staff-shell-ready[data-theme="dark"] .employee-role-pill, body.employee-page.staff-shell-ready[data-theme="dark"] .employee-shell-menu-toggle { color: #f1eee4; }
body.employee-page.staff-shell-ready[data-theme="dark"] .employee-role-pill, body.employee-page.staff-shell-ready[data-theme="dark"] .employee-shell-menu-toggle { border-color: rgba(230,214,156,.18); }
body.employee-page.staff-shell-ready[data-theme="dark"] .portal-module-card { border-color: rgba(230,214,156,.16); background: #102f24; color: #f1eee4; }
body.employee-page.staff-shell-ready[data-theme="dark"] .portal-module-card:hover { border-color: var(--gold); background: #173526; box-shadow: none; }
body.employee-page.staff-shell-ready[data-theme="dark"] .portal-module-copy > span { color: #aebfb4; }
body.employee-page.staff-shell-ready[data-theme="dark"] .portal-module-icon { border-color: rgba(230,214,156,.22); background: rgba(198,163,65,.11); }

@media (max-width: 1100px) {
  body.employee-page.staff-shell-ready { padding-left: 0; }
  body.employee-page.staff-shell-ready .employee-header.employee-shell-sidebar { width: min(88vw, 320px); transform: translateX(-104%); transition: transform .2s ease; }
  body.employee-page.staff-shell-ready.staff-nav-open { overflow: hidden; }
  body.employee-page.staff-shell-ready.staff-nav-open .employee-header.employee-shell-sidebar { transform: translateX(0); }
  .employee-shell-menu-toggle { display: inline-flex; }
  .employee-nav-backdrop { display: block; }
  body.employee-page.staff-shell-ready.staff-nav-open .employee-nav-backdrop { opacity: 1; pointer-events: auto; }
  body.employee-page.staff-shell-ready .employee-nav { grid-column: auto; grid-row: auto; }
  body.employee-page.staff-shell-ready .employee-nav a { flex: initial; }
}
@media (max-width: 560px) {
  .employee-context-bar { grid-template-columns: auto minmax(0, 1fr); min-height: 62px; padding: 8px 12px; }
  .employee-role-pill { display: none; }
  .employee-context-copy strong { font-size: .68rem; }
  body.employee-page.staff-shell-ready .employee-header.employee-shell-sidebar { padding-right: 14px; padding-left: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .employee-skip-link, body.employee-page.staff-shell-ready .employee-header.employee-shell-sidebar, body.employee-page.staff-shell-ready .employee-nav a, .employee-nav-backdrop { transition-duration: .01ms; }
}
