:root{--blue:#2457e6;--navy:#082a50;--ink:#152c48;--line:#dce6f2;--canvas:#f4f7fc}
body{background:var(--canvas);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.auth{background:radial-gradient(ellipse at top right,#296ddc66,transparent 60%),linear-gradient(140deg,#071e3d,#103d70)}
.auth .card{border-radius:20px;box-shadow:0 24px 70px #03162f40;border-color:#dce6f2}
.logo{color:#133e6d;letter-spacing:-.7px}.sub,.muted{color:#62768c}
.top{background:var(--navy);border:0;color:#fff;box-shadow:0 3px 18px #0a2a5014;backdrop-filter:none}
.brandname{font-size:17px;line-height:1.35;letter-spacing:-.3px}.role{color:#b2cee9;line-height:1.5;margin-top:5px}
.mark{background:#2f72e8;color:white;border:1px solid #74a8ff55;border-radius:11px;flex-shrink:0;box-shadow:0 4px 15px #00142a40}
.nav button{background:transparent;border:1px solid transparent;color:#c6dcf3;font-weight:600;transition:background .15s ease,color .15s ease}
.nav button:hover{background:#164579;color:white}.nav button.active{background:#2463eb;border-color:#3976f2;color:white;box-shadow:0 5px 14px #00173125}
.nav #out{color:#cfdef0;border-color:#416181;margin-top:12px}
.head{margin-bottom:24px}.head h1{font-size:30px;color:#122e50;letter-spacing:-.8px}.head p{color:#657991;line-height:1.6}
.card{border-color:var(--line);border-radius:14px;box-shadow:0 3px 14px #183b6310}
.metric{background:linear-gradient(125deg,#fff 65%,#f0f6ff);border-top:3px solid #4b89f5;padding:20px}
.metric .n{color:#123e70;letter-spacing:-.7px;font-size:30px}.metric .l{color:#607995;font-weight:600}
.btn{border-radius:8px;background:#163e69;box-shadow:0 2px 4px #102a4310;font-size:14px}.btn.primary{background:var(--blue)}.btn.primary:hover{background:#1745c5}.btn.secondary{color:#234e83;border-color:#cbdced;background:#fff}.btn.secondary:hover{background:#edf4ff}.btn.danger{background:#b42318;color:#fff}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #71a8ff;outline-offset:2px}
.btn:disabled{cursor:not-allowed}.field input,.field select,.field textarea,.search,.tools select,.countpick{border-color:#cbd9e9;border-radius:8px;color:#193a5c}
.field label{color:#25466a}.tools{gap:10px;margin-bottom:14px}.tools select,.tools input{background:#fff}
.table{border-color:var(--line);border-radius:12px;box-shadow:0 4px 18px #163d6510;background:#fff}
th{background:#f0f5fc;color:#3f5d7e;font-size:11px;letter-spacing:.045em;padding:14px 12px}td{border-color:#e8eef6;color:#27435f;padding:13px 12px}tbody tr:hover{background:#f7faff}
.badge{border-radius:6px}.typepill{background:#e9f1ff;color:#2859a3}.notice{background:#eaf2ff;color:#284e7c;border:1px solid #d8e6fa;border-radius:9px}.notice strong{color:#173f72}
.pager{padding:4px 0}.pager .muted{color:#627e9d}.topscroll{border-color:#cbdced;box-shadow:0 3px 8px #173f7214}.topscroll::-webkit-scrollbar-thumb{background:#7298c2}
.modal{background:#061c3b99;backdrop-filter:blur(3px)}.modalbox{border:1px solid #dce6f2;border-radius:16px;box-shadow:0 25px 80px #031b3c40}.modalbox h2,.modalbox h3{color:#123e70}.callnotes{border-color:#cfdeed;background:#fbfdff}
@media(min-width:1001px){.top{position:fixed;top:0;left:0;bottom:0;width:236px;height:100dvh;overflow-y:auto;z-index:10;background:linear-gradient(175deg,#092e58,#061e3d)}.topin{padding:28px 18px;height:100%;max-width:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:32px}.brand{align-items:flex-start;gap:10px}.nav{flex-direction:column;gap:8px;flex-wrap:nowrap}.nav button{width:100%;padding:13px 14px;text-align:left;white-space:normal}.wrap{margin-left:236px;max-width:none;padding:32px;min-height:100vh}.topscroll{top:12px}}
@media(max-width:1000px){.topin{max-width:none;padding:14px 18px;flex-direction:column;align-items:stretch;gap:14px}.nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.nav button{white-space:nowrap;flex-shrink:0}.nav #out{margin-top:0}.wrap{padding:20px 16px}.head h1{font-size:26px}.brandname{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Collapsed desktop rail keeps every destination available. */
.nav-short,.sidebar-toggle{display:none}
@media(min-width:1001px){
 .sidebar-toggle{display:block;align-self:flex-end;flex-shrink:0;width:36px;height:36px;border:1px solid #416181;border-radius:8px;background:#164579;color:white;font-size:28px;line-height:1;cursor:pointer;margin-bottom:-18px}
 .sidebar-collapsed{width:76px}
 .sidebar-collapsed .topin{padding:20px 10px;gap:28px}
 .sidebar-collapsed .sidebar-toggle{align-self:center}
 .sidebar-collapsed .brand{justify-content:center}
 .sidebar-collapsed .brand>div:not(.mark){display:none}
 .sidebar-collapsed .nav button{padding:13px 4px;text-align:center}
 .sidebar-collapsed .nav-short{display:inline;font-size:12px;letter-spacing:.04em}
 .sidebar-collapsed .nav-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .sidebar-collapsed+.wrap{margin-left:76px}
}

.mark{overflow:hidden}.mark img{display:block;width:100%;height:100%;object-fit:contain}.auth-logo{display:block;border-radius:12px;margin-bottom:14px}

/* Compact status badge and top-layer edit popover. */
.leadstatusbar{gap:9px;min-width:0;white-space:nowrap}.leadstatusbadge{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.25;border:1px solid #e2e8f0;background:#f3f5f8;color:#64748b}.lead-status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.leadstatusbadge.call_back{background:#fff6e5;color:#985b08;border-color:#f7dba8}.leadstatusbadge.appointment_follow_up{background:#edf4ff;color:#2457e6;border-color:#cbdfff}.leadstatusbadge.not_interested,.leadstatusbadge.dead_number{background:#fff0ef;color:#b42318;border-color:#f5c8c4}.leadrow.call_back>td{background:#fff6e5!important}.leadrow.appointment_follow_up>td{background:#edf4ff!important}.leadrow.not_interested>td,.leadrow.dead_number>td{background:#fff0ef!important}.leadrow.call_back>td:first-child{box-shadow:inset 4px 0 0 #d39119}.leadrow.appointment_follow_up>td:first-child{box-shadow:inset 4px 0 0 #2457e6}.leadrow.not_interested>td:first-child{box-shadow:inset 4px 0 0 #d92d20}.leadrow.dead_number>td:first-child{box-shadow:inset 4px 0 0 #b42318}.lead-status-edit{width:34px;height:34px;display:inline-grid;place-items:center;flex-shrink:0;background:#fff;border:1px solid #cbd9e9;border-radius:8px;color:#25466a;cursor:pointer}.lead-status-edit:hover{background:#edf4ff;color:#2457e6}.lead-status-edit svg{width:17px;height:17px}.lead-status-menu{position:fixed;inset:auto;margin:0;width:250px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;padding:8px;border:1px solid #dce6f2;border-radius:12px;box-shadow:0 12px 36px #082a502b;background:white;color:#152c48}.lead-status-menu::backdrop{background:transparent}.lead-status-menu-head{display:flex;align-items:center;justify-content:space-between;padding:4px 6px 9px;border-bottom:1px solid #edf2f8;margin-bottom:5px;font-size:13px;color:#62768c}.lead-status-dismiss{border:0;background:transparent;font-size:23px;line-height:1;padding:3px 6px;color:#62768c;cursor:pointer}.lead-status-choice{width:100%;display:flex;align-items:center;gap:10px;padding:11px 9px;border:0;background:white;color:#526175;font-size:13px;font-family:inherit;text-align:left;border-radius:7px;cursor:pointer}.lead-status-choice.call_back{color:#985b08}.lead-status-choice.appointment_follow_up{color:#2457e6}.lead-status-choice.not_interested,.lead-status-choice.dead_number{color:#b42318}.lead-status-choice:hover,.lead-status-choice[aria-pressed=true]{background:#f0f5fc}.lead-status-choice[aria-pressed=true]{font-weight:700}.lead-status-tick{margin-left:auto}.lead-status-choice:disabled{opacity:.6;cursor:wait}

/* Agent lead-type folders */
.my-lead-folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:12px;margin:22px 0 14px}.my-lead-folder{display:flex;align-items:center;gap:10px;min-height:72px;padding:15px;background:#fff;border:1px solid #d7e3f3;border-radius:12px;color:#244464;font:inherit;text-align:left;cursor:pointer;box-shadow:0 3px 10px #102d4c05}.my-lead-folder svg{width:25px;height:25px;flex-shrink:0;color:#557daa}.my-lead-folder span{flex:1;overflow-wrap:anywhere;font-weight:600}.my-lead-folder strong{font-size:13px;background:#eef3fa;padding:4px 8px;border-radius:20px}.my-lead-folder:hover{border-color:#7aabf8;background:#f6f9ff}.my-lead-folder[aria-pressed=true]{border-color:#2563eb;background:#edf4ff;color:#1643a0;box-shadow:0 0 0 1px #2563eb}.my-lead-folder[aria-pressed=true] svg{color:#2563eb}.my-lead-folder:focus-visible{outline:3px solid #89b5ff;outline-offset:3px}.my-lead-folder:disabled{opacity:.65;cursor:wait}@media(max-width:480px){.my-lead-folders{grid-template-columns:1fr 1fr;gap:8px}.my-lead-folder{padding:10px;gap:7px;flex-wrap:wrap}.my-lead-folder span{font-size:13px}}

.nav button[data-tab="lead-requests"]{position:relative;padding-right:38px}.request-count-badge{position:absolute;top:4px;right:5px;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:800;line-height:1;box-shadow:0 0 0 2px #0a2b50;pointer-events:none}@media(min-width:1001px){.sidebar-collapsed .nav button[data-tab="lead-requests"]{padding:13px 4px}.sidebar-collapsed .request-count-badge{top:1px;right:0;min-width:17px;height:17px;font-size:10px}}

.sales-script-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;margin-top:20px}.script-list{display:flex;flex-direction:column;gap:10px}.script-card{display:flex;flex-direction:column;gap:7px;text-align:left;padding:17px;border:1px solid #d9e5f4;border-radius:12px;background:#fff;color:#173b63;cursor:pointer;overflow-wrap:anywhere}.script-card span{font-size:12px;color:#6c8198}.script-card.selected{border-color:#2563eb;background:#edf4ff;box-shadow:0 0 0 1px #2563eb}.script-reader{padding:28px;background:#fff;border:1px solid #d9e5f4;border-radius:14px;min-height:340px}.script-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:17px;line-height:1.8;color:#183955}.script-reader h2{margin:0}.script-card:focus-visible{outline:3px solid #89b5ff;outline-offset:2px}@media(max-width:700px){.sales-script-layout{grid-template-columns:1fr}.script-list{max-height:240px;overflow-y:auto}.script-reader{padding:20px}}

.lead-table-zoom{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin:10px 0 12px;color:#25466a}.lead-zoom-label{font-size:13px;font-weight:600;margin-right:4px}.lead-table-zoom button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:6px 10px;border:1px solid #cbd9e9;border-radius:8px;background:#fff;color:#173f70;font:inherit;font-weight:700;cursor:pointer}.lead-table-zoom button:hover{background:#edf4ff}.lead-table-zoom button:disabled{opacity:.4;cursor:default}.lead-table-zoom button:focus-visible{outline:3px solid #89b5ff;outline-offset:2px}.lead-table-zoom output{min-width:48px;text-align:center;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.lead-table-zoom .lead-zoom-reset{font-size:12px;font-weight:600}@media(max-width:600px){.lead-table-zoom{justify-content:flex-start}}
.division-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}.division-card{padding:24px}.division-card h2{font-size:21px;margin:0;overflow-wrap:anywhere}.division-card .head{align-items:flex-start;gap:12px}.division-card .row{flex-wrap:wrap;margin-top:20px}.division-admins{min-height:44px;line-height:1.8}.division-card .badge{flex-shrink:0}

/* Match page and sidebar scrollbars to the leaderboard. */
html,body,.wrap,.top{scrollbar-color:#4d8fdf #0b1b30;scrollbar-width:auto}
html::-webkit-scrollbar,body::-webkit-scrollbar,.wrap::-webkit-scrollbar,.top::-webkit-scrollbar{width:12px;height:12px;background:#0b1b30}
html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.wrap::-webkit-scrollbar-thumb,.top::-webkit-scrollbar-thumb{background:#4d8fdf;border:2px solid #0b1b30;border-radius:8px}
html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,.wrap::-webkit-scrollbar-track,.top::-webkit-scrollbar-track{background:#0b1b30}
html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,.wrap::-webkit-scrollbar-thumb:hover,.top::-webkit-scrollbar-thumb:hover{background:#74b2ff}
html::-webkit-scrollbar-corner,body::-webkit-scrollbar-corner,.wrap::-webkit-scrollbar-corner,.top::-webkit-scrollbar-corner{background:#0b1b30}
@supports selector(::-webkit-scrollbar){html,body,.wrap,.top{scrollbar-color:auto}}

.closed-period-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0}.closed-period-card{display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;cursor:pointer;color:#173b64;font:inherit}.closed-period-card strong{font-size:24px}.closed-period-card.selected{border:2px solid #2563eb;background:#edf4ff}.closed-period-card:hover{border-color:#2563eb}@media(max-width:700px){.closed-period-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

/* Sidebar destinations share compact stroke icons in expanded and collapsed views. */
.nav button{display:flex;align-items:center;gap:10px}
.nav-icon{display:block;width:19px;height:19px;flex:0 0 19px;pointer-events:none}
.nav-label{min-width:0}
@media(min-width:1001px){.sidebar-collapsed .nav button{justify-content:center;gap:0}}

/* Hide status choices even on browsers without native Popover support. */
.lead-status-menu[hidden]{display:none!important}.lead-status-menu{z-index:10000}

/* Vivid Life Portal: selected E monogram */
.mark{background:transparent;border:0;box-shadow:none;border-radius:0;overflow:visible}
.mark img{object-fit:contain}
.auth-logo{border-radius:0}

/* Approved Vivid Life Portal brand layout */
.auth{background:#0b2848}
.auth .card{padding:36px;width:min(480px,100%);gap:22px}
.portal-brand-lockup{display:flex;align-items:center;justify-content:center;gap:16px;margin:8px 0 14px}
.portal-brand-lockup .auth-logo{width:80px;height:80px;margin:0;flex-shrink:0}
.portal-wordmark{color:#0b2848;text-align:left}
.portal-wordmark strong{display:block;font-size:32px;font-weight:750;letter-spacing:-1px;line-height:1.15;white-space:nowrap}
.portal-wordmark span{display:block;font-size:13px;font-weight:650;letter-spacing:7px;margin-top:8px;padding-left:3px}
.portal-welcome{text-align:center;margin:18px 0 6px}
.portal-welcome h1{font-size:28px;letter-spacing:-.6px;margin:0 0 8px;color:#0b2848}
.portal-welcome p{font-size:15px;color:#62768c;margin:0}
.auth #login{gap:18px}.auth #login input{min-height:48px;border-radius:8px}.auth #login .btn{min-height:48px;border-radius:8px;background:#1677dc}
.portal-auth-footer{text-align:center;color:#62768c;font-size:13px;padding-top:4px}
#startupScreen .card{padding:44px 32px;text-align:center}
#startupStatus{color:#62768c;font-size:15px;line-height:1.5;margin:0}
#startupActions{justify-content:center}
.portal-spinner{width:24px;height:24px;margin:6px auto 0;border:3px solid #dfeaf6;border-top-color:#1677dc;border-radius:50%;animation:portal-spin .8s linear infinite}
@keyframes portal-spin{to{transform:rotate(360deg)}}
.brand{align-items:center}.brand .mark{width:48px;height:48px}
.brandname{font-size:20px;line-height:1.15;font-weight:750;white-space:nowrap}
.sidebar-portal-label{display:block;font-size:10px;letter-spacing:4px;margin-top:7px;font-weight:600}
.brand .role{font-size:10px;white-space:normal}
@media(max-width:480px){.auth .card{padding:28px 22px}.portal-brand-lockup{gap:12px}.portal-brand-lockup .auth-logo{width:64px;height:64px}.portal-wordmark strong{font-size:27px}.portal-wordmark span{font-size:11px;letter-spacing:6px}}
@media(prefers-reduced-motion:reduce){.portal-spinner{animation:none}}

/* Full-width top navigation, preserving role-specific destinations. */
.top.portal-topnav{position:sticky;top:0;left:auto;bottom:auto;width:100%;height:auto;overflow:visible;z-index:30;background:#0b2848}
.portal-topnav .topin{max-width:none;height:auto;min-height:76px;padding:0 24px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:24px}
.portal-topnav .brand{flex:0 0 auto;color:#fff;text-decoration:none;gap:10px;align-items:center}
.portal-topnav .brand .mark{width:40px;height:40px}
.portal-topnav .brandname{font-size:20px}
.portal-topnav .sidebar-portal-label{font-size:10px;color:#83cdf7;letter-spacing:3px;margin-top:5px}
.portal-topnav .nav{display:flex;flex:1;min-width:0;flex-direction:row;align-items:stretch;gap:2px;flex-wrap:nowrap;overflow-x:auto;padding:0;scrollbar-width:thin;scrollbar-color:#4777aa transparent}
.portal-topnav .nav button{position:relative;flex:0 0 auto;width:auto;min-height:76px;padding:0 12px;border:0;border-bottom:4px solid transparent;border-radius:0;background:transparent;box-shadow:none;white-space:nowrap;font-size:14px;gap:8px;color:#d2e0ef}
.portal-topnav .nav button:hover{background:#143b63;color:#fff}
.portal-topnav .nav button.active{border-bottom-color:#2196f3;background:#123658;color:#fff}
.portal-topnav .nav button .nav-label{position:static;width:auto;height:auto;margin:0;padding:0;clip:auto;overflow:visible;white-space:nowrap}
.portal-topnav .nav button[data-tab="lead-requests"]{padding-right:32px}
.portal-topnav .request-count-badge{top:10px;right:3px}
.portal-topnav+.wrap{margin-left:0;max-width:none;padding:30px 32px;min-height:calc(100vh - 76px)}
.portal-account{position:relative;flex:0 0 auto;color:#fff}
.portal-account summary{cursor:pointer;display:flex;align-items:center;gap:10px;list-style:none;padding:10px 0}
.portal-account summary::-webkit-details-marker{display:none}
.portal-account summary:after{content:'⌄';color:#b5cbe0}
.portal-avatar{width:40px;height:40px;background:#1677dc;border-radius:50%;display:grid;place-items:center;font-weight:700}
.portal-account-name{font-size:14px;font-weight:600;max-width:180px}
.portal-account-name small{display:block;font-size:11px;color:#b2cee9;font-weight:400;line-height:1.4;margin-top:3px}
.portal-account-menu{position:absolute;top:100%;right:0;width:220px;padding:8px;background:#fff;border:1px solid #dce6f2;border-radius:10px;box-shadow:0 12px 35px #082a5030;color:#173b63}
.portal-account-menu button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:inherit;padding:12px;text-align:left;border-radius:6px;cursor:pointer;font-size:14px}
.portal-account-menu button:hover{background:#edf4ff}
@media(max-width:1300px){.portal-topnav .topin{flex-wrap:wrap;gap:0 20px;padding:10px 20px 0}.portal-topnav .nav{order:3;flex-basis:100%;width:100%;margin-top:8px}.portal-topnav .nav button{min-height:52px}.portal-account{margin-left:auto}.portal-topnav+.wrap{padding:24px}}
@media(max-width:600px){.portal-topnav .topin{padding:10px 14px 0}.portal-topnav .brandname{font-size:18px}.portal-topnav .nav button{padding:0 12px;min-height:50px;font-size:13px}.portal-topnav .nav-icon{width:17px;height:17px;flex-basis:17px}.portal-account-name{display:none}.portal-topnav+.wrap{padding:20px 14px}.portal-account-menu{width:210px}}
