:root{font-family:Inter,Segoe UI,system-ui,sans-serif;color:#172033;background-color:#f3f5fb}*{box-sizing:border-box}body{margin:0;background:#f3f5fb;color:#172033}html{scroll-behavior:smooth}.school-page{min-height:100vh;padding:20px;background:radial-gradient(circle at 10% 0%,#f5f9ff,#edf3ff 44%,#e9effb)}.fv-page{min-height:100vh;padding:22px 12px;background:#eff4ff}.fv-hero-shell{max-width:1240px;margin:0 auto;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 18px 34px #18397c24}.fv-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;border-bottom:1px solid #ecf2ff;background:#fff}.fv-brand{display:flex;align-items:center;gap:10px}.fv-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#2f67f3,#4d8fff);color:#fff;font-weight:700;display:grid;place-items:center}.fv-brand strong{display:block;font-size:1rem;color:#214071}.fv-brand span{display:block;font-size:.78rem;color:#60739b}.fv-menu{display:flex;align-items:center;gap:18px}.fv-menu a{text-decoration:none;color:#34496f;font-size:.88rem;font-weight:600}.fv-admission-btn{text-decoration:none;color:#fff;background:#2f67f3;padding:11px 16px;border-radius:12px;font-weight:700;font-size:.9rem}.fv-hero-main{display:grid;grid-template-columns:1fr 1fr;min-height:570px}.fv-left-pane{position:relative;z-index:2;background:#f9fcff;padding:56px 44px 38px;border-top-right-radius:110px;border-bottom-right-radius:110px}.fv-welcome{display:inline-block;margin:0;background:#edf4ff;color:#3b69e5;border:1px solid #dfeafc;border-radius:999px;padding:9px 14px;font-size:.83rem;font-weight:700}.fv-left-pane h1{margin:18px 0 0;font-size:clamp(2.2rem,4.2vw,3.7rem);line-height:1.05;color:#0b2558}.fv-left-pane h1 span{color:#2f67f3}.fv-left-pane>p{margin:20px 0 0;max-width:470px;color:#5f718f;line-height:1.7;font-size:1rem}.fv-actions{margin-top:24px;display:flex;gap:10px;flex-wrap:wrap}.fv-primary-btn,.fv-secondary-btn{border-radius:14px;padding:12px 18px;font:inherit;font-weight:700;text-decoration:none}.fv-primary-btn{color:#fff;background:#2f67f3}.fv-secondary-btn{color:#2a4371;background:#fff;border:1px solid #d4e0fa}.fv-trust-line{margin-top:24px;display:flex;align-items:center;gap:12px}.fv-avatar-stack{display:flex}.fv-avatar-stack span{width:28px;height:28px;border-radius:50%;border:2px solid #fff;background:#dce8ff;color:#2f67f3;display:grid;place-items:center;margin-left:-7px;font-size:.7rem;font-weight:700}.fv-avatar-stack span:first-child{margin-left:0}.fv-trust-line p{margin:0;font-size:.92rem;color:#647798}.fv-trust-line strong{color:#2f67f3}.fv-right-pane{position:relative;background:#bee0ff;overflow:hidden}.fv-hero-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.fv-stat{position:absolute;z-index:2;background:#fff;border-radius:16px;padding:12px 14px;min-width:136px;box-shadow:0 8px 24px #1d458a2e}.fv-stat strong{display:block;color:#16386e;font-size:1.34rem}.fv-stat span{color:#607395;font-size:.84rem}.fv-stat-1{top:72px;left:14px}.fv-stat-2{top:86px;right:14px}.fv-stat-3{bottom:86px;left:14px}.fv-stat-4{bottom:86px;right:14px}.fv-feature-strip{margin:-16px 18px 18px;border:1px solid #ebf1ff;border-radius:20px;background:#fff;padding:12px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;position:relative;z-index:4}.fv-feature-strip article{border-radius:12px;padding:10px 10px 11px}.fv-feature-strip h4{margin:0;font-size:.89rem;color:#243d6b}.fv-feature-strip p{margin:5px 0 0;color:#6a7b9d;font-size:.78rem}.school-nav-wrap{max-width:1240px;margin:0 auto;border-radius:20px;padding:16px 24px;background:#fff;box-shadow:0 14px 34px #1c397a14;display:flex;align-items:center;justify-content:space-between;gap:16px}.school-brand{display:flex;align-items:center;gap:10px}.school-logo{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#2e65f0,#4e8dff);color:#fff;font-weight:700;display:grid;place-items:center}.school-brand strong{display:block;font-size:1.05rem}.school-brand span{display:block;color:#607193;font-size:.82rem}.school-nav{display:flex;align-items:center;gap:20px;font-weight:600}.school-nav a{text-decoration:none;color:#2d3e61;font-size:.92rem}.school-cta-btn{text-decoration:none;border-radius:12px;background:#2f67f3;color:#fff;font-weight:700;padding:11px 20px}.hero-card{max-width:1240px;margin:18px auto 0;border-radius:34px;overflow:hidden;background:#fff;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 20px 40px #1a356c1a}.hero-left{padding:52px 50px 44px}.hero-badge{display:inline-flex;padding:9px 16px;border-radius:999px;background:#edf4ff;color:#3c6be9;font-size:.86rem;font-weight:700;margin:0 0 20px}.hero-left h1{margin:0;font-size:clamp(2.1rem,4.3vw,3.65rem);line-height:1.05;color:#081f4d}.hero-left h1 span{color:#2f67f3}.hero-left>p{margin:22px 0 0;color:#5f6f8d;font-size:1.02rem;max-width:520px;line-height:1.68}.hero-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.hero-primary-btn,.hero-secondary-btn{border-radius:14px;padding:12px 18px;font:inherit;font-weight:700;text-decoration:none}.hero-primary-btn{background:#2f67f3;color:#fff}.hero-secondary-btn{border:1px solid #ccd9f8;color:#2f4572;background:#fff}.hero-trust{margin-top:26px;display:flex;align-items:center;gap:14px}.hero-avatars{display:flex;align-items:center}.hero-avatars span{width:30px;height:30px;border-radius:50%;border:2px solid #ffffff;background:#dae6ff;color:#2f67f3;font-weight:700;display:grid;place-items:center;margin-left:-8px;font-size:.74rem}.hero-avatars span:first-child{margin-left:0}.hero-trust p{margin:0;color:#5d6e8d;font-size:.96rem}.hero-trust strong{color:#2f67f3}.hero-right{position:relative;min-height:560px;background:radial-gradient(circle at 30% 15%,#cde7ff,#8ec4ff 46%,#68abf4)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(120deg,#1949aa33,#1678e41f),url(/hero.svg);background-size:cover;background-position:center}.hero-stat{position:absolute;z-index:1;background:#fff;border-radius:16px;padding:14px 16px;box-shadow:0 10px 24px #14326929;min-width:146px}.hero-stat strong{display:block;font-size:1.42rem;color:#112c64}.hero-stat span{color:#607093;font-size:.86rem}.stat-top-left{top:68px;left:26px}.stat-top-right{top:74px;right:24px}.stat-bottom-left{bottom:84px;left:22px}.stat-bottom-right{bottom:84px;right:22px}.feature-strip{max-width:1240px;margin:16px auto 0;border-radius:22px;background:#fff;padding:16px 14px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;box-shadow:0 16px 34px #1e428414}.feature-strip article{border:1px solid #eaf0ff;border-radius:14px;padding:14px 12px}.feature-strip h4{margin:0;color:#1f3562;font-size:.93rem}.feature-strip p{margin:6px 0 0;color:#67789a;font-size:.82rem}.why-section{max-width:1240px;margin:26px auto 0}.why-head p{margin:0;color:#2f67f3;font-weight:700}.why-head h2{margin:10px 0 0;max-width:720px;color:#11295a;font-size:clamp(1.6rem,3vw,2.35rem)}.why-grid{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.why-grid article{background:#fff;border:1px solid #e5edff;border-radius:16px;padding:16px;box-shadow:0 12px 24px #1a38760f}.why-grid h3{margin:0;color:#19386f}.why-grid p{margin:8px 0 0;color:#5c6c8b;line-height:1.65}.app-loading{min-height:100vh;display:grid;place-items:center;color:#4f5d76}a{color:inherit}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(420px,100%);background:#fff;border-radius:18px;padding:28px;display:grid;gap:10px;box-shadow:0 10px 30px #11182714}.auth-card h1{margin:0;font-size:1.5rem}.auth-card p{margin:0 0 8px;color:#606e85}.auth-card input,.auth-card select,.auth-card button,.date-filter-wrap select,.date-filter-wrap input,.controls-inline input,.controls-inline select,.table-head select{border:1px solid #d7dff1;border-radius:10px;padding:10px 12px;font:inherit}.auth-card button,.mapping-actions button,.secondary-btn{border:none;background:#3664ea;color:#fff;cursor:pointer;font-weight:600;padding:10px 14px;border-radius:10px}.form-error{margin:0;color:#c23636;font-size:.86rem}.form-info{margin:0;font-size:.84rem}.form-info.ok{color:#1f7a49}.form-info.warn{color:#8a5b12}.dashboard-frame{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:#f4f7fb}.dashboard-sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:#fff;color:#172033;border-right:1px solid #dfe7f1;display:flex;flex-direction:column;gap:18px}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:6px 6px 10px}.brand-mark{width:38px;height:38px;border-radius:8px;display:grid;place-items:center;background:#0f5fd7;color:#fff;font-weight:800;font-size:.82rem}.sidebar-brand strong,.sidebar-brand span,.sidebar-meta strong,.sidebar-meta span,.sidebar-meta p{display:block}.sidebar-brand strong{font-size:.98rem}.sidebar-brand span{margin-top:2px;color:#64748b;font-size:.78rem}.sidebar-meta{border:1px solid #d9e4f0;border-radius:8px;padding:12px;background:#f8fbff}.sidebar-meta p{margin:0;color:#64748b;font-size:.78rem}.sidebar-meta strong{margin-top:6px;color:#0f172a;font-size:1.08rem;line-height:1.25}.sidebar-meta span{margin-top:4px;color:#0f5fd7;font-size:.78rem}.sidebar-nav{display:grid;gap:4px}.sidebar-nav a{display:flex;align-items:center;gap:10px;min-height:42px;padding:9px 10px;border-radius:8px;text-decoration:none;color:#40516a;font-weight:650;font-size:.9rem}.sidebar-nav a span{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:#edf3fb;color:#52657f;font-size:.68rem;font-weight:800}.sidebar-nav a:hover,.sidebar-nav a.active{background:#eaf2ff;color:#0f5fd7}.page-shell{padding:22px 24px 28px;width:100%;max-width:1480px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid #dde5f0}.page-header h1{margin:6px 0;font-size:1.55rem}.page-header p{margin:0;color:#5f6d84}.role-tag{padding:4px 10px;border-radius:999px;background:#e5ecff;color:#325ad9;font-size:.78rem;font-weight:700}.header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.ghost-link{text-decoration:none;font-weight:600;color:#3a57b9}.button-link{border:none;background:transparent;padding:0;cursor:pointer;font:inherit}.secondary-btn{background:#1c335f}.link-btn{display:inline-flex;align-items:center;text-decoration:none}.primary-btn{border:none;border-radius:10px;background:#166534;color:#fff;cursor:pointer;font:inherit;font-weight:700;padding:10px 14px}.primary-btn:disabled,.secondary-btn:disabled,.inline-form button:disabled{cursor:not-allowed;opacity:.62}.date-filter-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.custom-date-controls{display:flex;gap:8px}.notice-banner,.ai-summary,.panel-card,.metric-card,.chart-card,.table-card{background:#fff;border:1px solid #e1e7f0;border-radius:8px;box-shadow:0 1px 2px #1018280a}.error-banner{margin-bottom:12px;background:#ffecec;color:#9f2f2f}.notice-banner,.ai-summary,.panel-card{padding:14px 16px}.ai-summary h3,.ai-summary p{margin:0}.ai-summary p{margin-top:8px;color:#536077}.metrics-grid{margin-top:14px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(158px,1fr))}.metric-card{padding:14px}.metric-card p{margin:0;color:#5a6881;font-size:.88rem}.metric-card h3{margin:8px 0;font-size:1.22rem}.metric-card span{color:#72819a;font-size:.82rem}.chart-grid{margin-top:14px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.chart-card{padding:12px 14px}.chart-head,.table-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.chart-head h3,.table-head h3,.panel-card h3{margin:0}.chart-head span,.panel-card p,.drilldown-head p{color:#617089;font-size:.88rem;margin:4px 0 0}.chart-card svg{width:100%;margin-top:8px;background:#f8fafc;border:1px solid #edf1f6;border-radius:8px}.empty-placeholder{margin-top:8px;border:1px dashed #d5def3;border-radius:10px;padding:36px 14px;text-align:center;color:#6b7892;font-size:.9rem}.chart-foot{display:flex;justify-content:space-between;color:#6d7a92;font-size:.82rem}.panel-grid{margin-top:14px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.age-list{display:grid;gap:10px;margin-top:10px}.age-row{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:center}.bar-track{width:100%;border-radius:999px;background:#ebeff9;height:10px;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:#5b8def}.gender-wrap{display:flex;align-items:center;gap:16px}.donut{width:120px;height:120px;border-radius:50%;position:relative}.donut:after{content:"";position:absolute;top:26px;right:26px;bottom:26px;left:26px;border-radius:50%;background:#fff}.gender-wrap ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;color:#55637c}.gender-wrap li{display:flex;align-items:center;gap:7px}.gender-wrap li span{width:10px;height:10px;border-radius:50%;display:inline-block}.states-list{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px}.states-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#4f5e77}.empty-copy{margin:10px 0 0;color:#6a7890;font-size:.9rem}.post-engagement{margin-top:14px}.post-engagement h2{margin:8px 0 0}.table-card{margin-top:14px;padding:14px}.best-campaign{margin-bottom:12px;background:#f0f5ff;border-radius:12px;padding:12px}.best-campaign p,.best-campaign span{margin:0;color:#556482;font-size:.88rem}.best-campaign h3{margin:6px 0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:1180px}thead th{text-align:left;padding:10px 8px;font-size:.82rem;color:#60708a;border-bottom:1px solid #e9eef9}tbody td{padding:10px 8px;border-bottom:1px solid #edf1f9;font-size:.92rem}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fbff}.empty-table-cell{text-align:center;color:#6d7a92;padding:16px 8px}.selected-row{background:#f1f5ff}.status-pill{text-transform:capitalize;border-radius:999px;padding:3px 8px;font-size:.76rem;font-weight:600}.status-pill.active{background:#e4f8eb;color:#1f8d4f}.status-pill.disabled{background:#ffe9e9;color:#c03d3d}.controls-inline{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.controls-inline input{width:260px}.filter-chip{border:1px solid #ccd8e8;border-radius:10px;background:#fff;color:#35445c;cursor:pointer;font:inherit;font-weight:700;padding:10px 13px}.filter-chip.active,.filter-chip:hover{border-color:#0f5fd7;background:#eaf2ff;color:#0f5fd7}.table-action-btn{border:1px solid #bfd0e6;border-radius:8px;background:#fff;color:#0f5fd7;cursor:pointer;font:inherit;font-weight:700;padding:7px 10px}.table-action-btn:hover{background:#eaf2ff}.account-detail-hero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px;border:1px solid #dce6f2;border-radius:8px;background:#fff;padding:18px}.account-detail-hero span,.account-info-grid span{display:block;color:#60708a;font-size:.78rem;font-weight:700;text-transform:uppercase}.account-detail-hero h2{margin:6px 0 0;font-size:1.45rem}.account-detail-hero p{margin:6px 0 0;color:#52627a}.account-health-strip{min-width:250px;display:grid;justify-items:end;gap:7px;text-align:right}.account-health-strip strong{color:#172033}.account-health-strip small{color:#60708a}.account-info-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.account-info-grid strong{display:block;margin-top:6px;overflow-wrap:anywhere}.mapping-panel{margin-top:14px}.admin-command-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.admin-command-bar div{border:1px solid #dbe4ef;border-radius:8px;padding:12px;background:#fff}.admin-command-bar span{display:block;color:#60708a;font-size:.78rem;font-weight:650;text-transform:uppercase}.admin-command-bar strong{display:block;margin-top:5px;color:#172033;font-size:.96rem;overflow-wrap:anywhere}.mapping-actions{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}.mapping-actions button{background:#2f5acb}.inline-form{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.inline-form input,.inline-form select{border:1px solid #d7dff1;border-radius:10px;padding:10px 12px;font:inherit;min-width:220px}.inline-form button{border:none;background:#2f5acb;color:#fff;cursor:pointer;font-weight:600;padding:10px 14px;border-radius:10px}.muted{opacity:.95}:root{--ink: #111827;--muted-ink: #64748b;--subtle-ink: #8290a4;--page-bg: #eef3f8;--surface: #ffffff;--surface-soft: #f8fafc;--line: #dbe4ee;--line-soft: #e8eef5;--brand: #155bd4;--brand-strong: #0d47a1;--success: #0f8a50;--warning: #b7791f;--danger: #c53030;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 12px 30px rgba(15, 23, 42, .08);--shadow-lg: 0 22px 48px rgba(15, 23, 42, .12)}body{background:linear-gradient(180deg,#ffffffad,#fff0 280px),var(--page-bg);color:var(--ink)}button,input,select{min-height:40px}button,.button-link,.ghost-link,.filter-chip,.table-action-btn,.date-filter-trigger,.sidebar-nav a{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.date-filter-trigger:focus-visible{outline:3px solid rgba(21,91,212,.22);outline-offset:2px}.app-loading{background:linear-gradient(135deg,#155bd41a,#0f8a5014),var(--page-bg);font-weight:700}.auth-shell{background:linear-gradient(135deg,#0b2047eb,#155bd4db),radial-gradient(circle at 80% 15%,rgba(15,138,80,.34),transparent 32%)}.auth-card{width:min(460px,100%);border:1px solid rgba(255,255,255,.22);border-radius:8px;padding:30px;box-shadow:var(--shadow-lg)}.auth-brand{display:flex;align-items:center;gap:12px;padding-bottom:10px}.auth-brand h1{margin:0;letter-spacing:0}.auth-card label{margin-top:6px;color:#334155;font-size:.84rem;font-weight:800}.auth-card input,.auth-card select,.auth-card button,.date-filter-wrap select,.date-filter-wrap input,.controls-inline input,.controls-inline select,.table-head select,.table-head input,.inline-form input,.inline-form select{border-color:var(--line);border-radius:8px;background:#fff;color:var(--ink)}.auth-card input:focus,.auth-card select:focus,.date-filter-wrap select:focus,.date-filter-wrap input:focus,.controls-inline input:focus,.controls-inline select:focus,.table-head select:focus,.table-head input:focus,.inline-form input:focus,.inline-form select:focus{border-color:var(--brand);box-shadow:0 0 0 4px #155bd41a}.auth-card button,.mapping-actions button,.secondary-btn,.primary-btn,.inline-form button{border-radius:8px;box-shadow:var(--shadow-sm)}.auth-card button:hover,.mapping-actions button:hover,.secondary-btn:hover,.primary-btn:hover,.inline-form button:hover,.table-action-btn:hover,.filter-chip:hover{transform:translateY(-1px)}.dashboard-frame{grid-template-columns:268px minmax(0,1fr);background:linear-gradient(180deg,#ffffffd1,#fff0 260px),var(--page-bg)}.dashboard-sidebar{padding:20px 14px;background:#fff;color:#334155;border-right:1px solid #dfe7f1;box-shadow:4px 0 24px #0f172a08}.sidebar-brand{padding:6px 8px 8px}.brand-mark{width:42px;height:42px;border-radius:8px;background:linear-gradient(135deg,#0f5fd7,#2563eb);color:#fff;box-shadow:0 8px 16px #0f5fd729}.brand-logo-img{width:42px;height:42px;border-radius:8px;object-fit:contain}.sidebar-brand strong{color:#0f172a;font-size:1.02rem}.sidebar-brand span{color:#64748b}.sidebar-meta{border:1px solid #e2e8f0;border-radius:8px;padding:14px;background:#f8fafc;box-shadow:inset 0 1px #ffffff80}.sidebar-meta p{color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:0}.sidebar-meta strong{color:#0f172a;font-size:1.14rem}.sidebar-meta span{color:#0f5fd7;font-weight:700}.sidebar-nav{margin-top:4px}.sidebar-nav a{color:#475569;border:1px solid transparent;border-radius:8px}.sidebar-nav a span{background:#f1f5f9;color:#64748b;border-radius:7px}.sidebar-nav a:hover{background:#f8fafc;color:#0f5fd7}.sidebar-nav a.active{background:#eaf2ff;color:#0f5fd7;box-shadow:none}.sidebar-nav a.active span{background:#0f5fd7;color:#fff}.sidebar-footer{margin-top:auto;border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#f8fafc;color:#334155;box-shadow:none}.sidebar-footer span{display:block;color:var(--muted-ink);font-size:.76rem;font-weight:800;text-transform:uppercase}.sidebar-footer strong{display:block;margin-top:5px;font-size:.92rem}.page-shell{padding:26px 28px 34px}.page-header{margin-bottom:18px;padding:18px;border:1px solid var(--line-soft);border-radius:8px;background:#ffffffd6;box-shadow:var(--shadow-sm)}.page-header h1{margin:7px 0 5px;color:var(--ink);font-size:clamp(1.42rem,2vw,1.9rem);letter-spacing:0}.page-header p{color:var(--muted-ink)}.role-tag,.status-pill,.risk-badge,.section-icon{display:inline-flex;align-items:center;justify-content:center;border-radius:999px}.role-tag{background:#e8f1ff;color:var(--brand);border:1px solid #cfe0ff}.header-actions{gap:8px}.primary-btn{background:var(--success)}.primary-btn:hover{background:#0b7442}.secondary-btn{background:#172b4d}.secondary-btn:hover{background:#0f1f39}.ghost-link{color:var(--brand)}.ghost-link:hover{color:var(--brand-strong)}.notice-banner,.ai-summary,.panel-card,.metric-card,.chart-card,.table-card,.account-detail-hero,.admin-command-bar div{border:1px solid var(--line-soft);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.notice-banner,.panel-card{padding:16px}.sync-banner{border-color:#b7e4ca;background:#eefbf4;color:#116b3e}.error-banner{border-color:#f4b6b6;background:#fff1f1;color:var(--danger)}.metrics-grid{gap:14px;grid-template-columns:repeat(auto-fit,minmax(178px,1fr))}.metric-card{position:relative;overflow:hidden;padding:16px}.metric-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--brand),var(--success))}.metric-card p{color:var(--muted-ink);font-weight:800}.metric-card h3{margin:9px 0 7px;color:var(--ink);font-size:clamp(1.24rem,2vw,1.55rem)}.metric-card span{color:var(--subtle-ink);font-weight:650}.chart-grid,.panel-grid{gap:14px}.chart-card{padding:16px}.chart-head h3,.table-head h3,.panel-card h3{color:var(--ink);font-size:1rem}.chart-head span,.panel-card p,.drilldown-head p{color:var(--muted-ink)}.chart-card svg{margin-top:12px;border-color:var(--line-soft);border-radius:8px;background:linear-gradient(180deg,#f8fafcb8,#fffffff0),#fff}.ai-summary{margin-bottom:18px;padding:18px;background:linear-gradient(135deg,#fff,#edf5ff);border-color:#cfe0ff}.ai-summary h3{display:flex;align-items:center;gap:9px;margin:0 0 10px}.ai-summary p{margin:0;color:#334155;line-height:1.65;font-weight:550;white-space:pre-wrap}.section-icon{width:28px;height:28px;background:var(--brand);color:#fff;font-size:.72rem;font-weight:900}.admin-command-bar{gap:12px}.admin-command-bar div{padding:14px}.admin-command-bar span,.account-detail-hero span,.account-info-grid span{color:var(--muted-ink);letter-spacing:0}.admin-command-bar strong{color:var(--ink);font-size:1.02rem}.age-row{grid-template-columns:56px 1fr auto}.bar-track{background:#e8eef7}.bar-fill{background:linear-gradient(90deg,var(--brand),#2da86f)}.donut{box-shadow:inset 0 0 0 1px #0f172a0f}.states-list li{padding:8px 0;border-bottom:1px solid var(--line-soft)}.states-list li:last-child{border-bottom:none}.post-engagement h2{color:var(--ink);font-size:1.8rem}.table-card{padding:16px}.best-campaign{margin-bottom:14px;border:1px solid #cfe0ff;border-radius:8px;background:linear-gradient(135deg,#eef5ff,#fff)}.best-campaign h3{color:var(--ink)}.table-head{flex-wrap:wrap}.table-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.table-controls input,.table-controls select{min-width:178px;padding:8px 11px;font:inherit;font-size:.9rem}.table-wrap{margin-top:12px;border:1px solid var(--line-soft);border-radius:8px}table{background:#fff}thead th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#475569;font-weight:850;text-transform:uppercase;letter-spacing:0}tbody td{color:#263445}tbody tr:hover{background:#f6faff}.campaign-name{font-weight:750;color:var(--ink)}.risk-badge{margin-left:8px;padding:4px 8px;background:#fff1f1;color:var(--danger);border:1px solid #fac8c8;font-size:.7rem;font-weight:850}.empty-table-cell{color:var(--subtle-ink);padding:24px 8px}.status-pill.active{background:#e8f8ef;color:var(--success)}.status-pill.disabled{background:#fff1f1;color:var(--danger)}.filter-chip{border-radius:8px}.filter-chip.active,.filter-chip:hover{border-color:var(--brand);background:#e8f1ff;color:var(--brand)}.table-action-btn{border-radius:8px;color:var(--brand)}.account-detail-hero{padding:18px}.mapping-panel{border-radius:8px}.preset-option.active,.preset-option:hover{background:#e8f1ff;color:var(--brand)}.calendar-day-cell.day-endpoint:after,.calendar-footer-actions .update-btn{background-color:var(--brand)}.calendar-nav-btn,.calendar-footer-actions .cancel-btn,.calendar-footer-actions .update-btn{border-radius:8px}@media (max-width: 780px){.fv-topbar{flex-wrap:wrap;padding:12px}.fv-menu{width:100%;overflow-x:auto;padding-bottom:3px}.fv-hero-main{grid-template-columns:1fr}.fv-left-pane{padding:24px 18px;border-radius:0}.fv-right-pane{min-height:320px}.fv-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px}.school-page{padding:12px}.school-nav-wrap{padding:14px;border-radius:16px}.school-nav{display:none}.hero-card{grid-template-columns:1fr;border-radius:22px}.hero-left{padding:26px 20px 24px}.hero-right{min-height:320px}.hero-stat{min-width:124px;padding:10px 12px}.feature-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.why-grid{grid-template-columns:1fr}.dashboard-frame{display:block}.dashboard-sidebar{position:static;height:auto;padding:12px}.sidebar-brand{padding:0}.sidebar-meta{display:none}.sidebar-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.sidebar-nav a{flex:0 0 auto}.page-shell{padding:16px}.page-header{flex-direction:column}.header-actions{justify-content:flex-start}.chart-grid{grid-template-columns:1fr}.controls-inline{flex-direction:column}.controls-inline input{width:100%}.admin-command-bar{grid-template-columns:1fr}.account-detail-hero,.account-health-strip{display:block;text-align:left}.account-health-strip{margin-top:12px}.account-info-grid{grid-template-columns:1fr}}.date-filter-wrap{position:relative;display:inline-block}.date-filter-trigger{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #ccd8e8;border-radius:10px;padding:10px 14px;font-weight:700;color:#35445c;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.date-filter-trigger:hover{border-color:#0f5fd7;color:#0f5fd7;background:#fcfdfe}.date-filter-trigger svg.caret{transition:transform .2s ease}.date-filter-trigger.active svg.caret{transform:rotate(180deg)}.date-filter-popover{position:absolute;top:100%;right:0;margin-top:8px;display:flex;background:#fff;border:1px solid #dfe7f1;border-radius:12px;box-shadow:0 10px 25px -5px #00000014,0 8px 16px -6px #0000000d;z-index:1000;overflow:hidden;animation:popover-fade-in .18s cubic-bezier(.16,1,.3,1)}@keyframes popover-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.presets-pane{width:210px;background:#fcfdfe;border-right:1px solid #eef2f6;padding:12px 0;display:flex;flex-direction:column;gap:2px}.preset-option{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:.88rem;color:#4a5768;cursor:pointer;transition:all .15s ease;font-weight:500}.preset-option:hover{background:#f1f6ff;color:#0f5fd7}.preset-option.active{background:#eaf2ff;color:#0f5fd7;font-weight:700}.preset-radio-circle{width:14px;height:14px;border-radius:50%;border:1.5px solid #a0aec0;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.preset-option.active .preset-radio-circle{border-color:#0f5fd7}.preset-radio-circle:after{content:"";width:7px;height:7px;border-radius:50%;background:#0f5fd7;opacity:0;transform:scale(.6);transition:all .15s ease}.preset-option.active .preset-radio-circle:after{opacity:1;transform:scale(1)}.calendar-panel{padding:16px;display:flex;flex-direction:column}.calendar-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.calendar-nav-btn{background:none;border:1px solid #e2e8f0;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;color:#64748b}.calendar-nav-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#0f172a}.calendar-nav-btn:disabled{opacity:.3;cursor:not-allowed}.calendar-header-title{display:flex;gap:36px;font-weight:700;font-size:.92rem;color:#1e293b;width:calc(100% - 70px);justify-content:space-around}.calendar-header-month-label{display:flex;align-items:center;gap:4px}.calendar-grids-container{display:flex;gap:24px}.calendar-grid{width:232px}.calendar-grid-month-title{display:none}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:6px}.calendar-weekday{font-size:.72rem;font-weight:600;color:#94a3b8;padding:4px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}.calendar-day-cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500;z-index:1}.calendar-day-cell:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;transition:background-color .1s ease}.calendar-day-cell:hover:before{background-color:#f1f5f9;border-radius:50%}.calendar-day-cell.day-empty{cursor:default}.calendar-day-cell.day-empty:hover:before{background-color:transparent}.calendar-day-cell.day-in-range:before{background-color:#eff6ff;border-radius:0!important}.calendar-day-cell.day-in-range-start:before{background-color:#eff6ff;border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.calendar-day-cell.day-in-range-end:before{background-color:#eff6ff;border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.calendar-day-cell.day-endpoint{color:#fff!important;font-weight:700}.calendar-day-cell.day-endpoint:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;background-color:#0f5fd7;border-radius:50%;z-index:-1}.calendar-day-cell.day-hover-in-range:before{background-color:#eff6ff;border-radius:0!important}.calendar-day-cell.day-hover-in-range-start:before{background-color:#eff6ff;border-top-left-radius:50%!important;border-bottom-left-radius:50%!important}.calendar-day-cell.day-hover-in-range-end:before{background-color:#eff6ff;border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.calendar-popover-footer{margin-top:16px;padding-top:12px;border-top:1px solid #eef2f6;display:flex;align-items:center;justify-content:flex-end;gap:10px}.calendar-timezone-note{font-size:.72rem;color:#94a3b8;margin-right:auto;display:flex;align-items:center;gap:4px}.calendar-selected-range-summary{display:flex;align-items:center;gap:6px;margin-right:14px;font-size:.85rem;font-weight:600;color:#475569}.calendar-selected-range-summary select{border:1px solid #cbd5e1;border-radius:6px;padding:4px 6px;font-weight:600;color:#334155;background:#f8fafc;font-size:.82rem}.calendar-footer-actions{display:flex;gap:8px}.calendar-footer-actions .cancel-btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:7px 14px;font-weight:600;color:#475569;cursor:pointer;font-size:.82rem;transition:all .15s ease}.calendar-footer-actions .cancel-btn:hover{background:#f8fafc;color:#1e293b;border-color:#94a3b8}.calendar-footer-actions .update-btn{background:#0f5fd7;border:none;border-radius:8px;padding:7px 14px;font-weight:700;color:#fff;cursor:pointer;font-size:.82rem;transition:all .15s ease}.calendar-footer-actions .update-btn:hover{background:#0d4eb0}.summary-copy{color:var(--muted-ink);line-height:1.6}.campaign-section,.account-ai-summary{margin-top:18px}.account-picker{margin-bottom:18px}.account-picker>span{color:#334155;font-weight:800}.account-picker select{min-width:280px;font-weight:650}.empty-state-panel{padding:40px;text-align:center}.empty-state-panel p:first-child{margin:0 0 10px;color:var(--muted-ink);font-size:1.08rem;font-weight:750}.empty-state-panel p:last-child{margin:0;color:var(--subtle-ink);font-size:.9rem}.link-btn{align-items:center;justify-content:center;text-decoration:none}.date-filter-trigger{border-radius:8px;border-color:var(--line);color:#334155;box-shadow:var(--shadow-sm)}.date-filter-trigger:hover,.date-filter-trigger.active{border-color:var(--brand);color:var(--brand);background:#f8fbff}.date-filter-popover{border-radius:8px;box-shadow:var(--shadow-lg)}@media print{body,html{background:#fff!important;color:#000!important;font-size:12pt!important}.dashboard-frame{display:block!important;grid-template-columns:none!important;background:#fff!important}.dashboard-sidebar,.header-actions,.primary-btn,.secondary-btn,.ghost-link,.button-link,.date-filter-wrap,.controls-inline,.inline-form,.mapping-panel,aside{display:none!important}.page-shell{padding:0!important;margin:0!important;width:100%!important;display:block!important}.page-header{margin-bottom:20px!important;border-bottom:2px solid #334e68!important;padding-bottom:10px!important}.page-header h1{font-size:20pt!important;color:#102a43!important}.metrics-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:10px!important;margin-bottom:20px!important}.metrics-grid>div{border:1px solid #dcdcdc!important;box-shadow:none!important;padding:10px!important;page-break-inside:avoid!important}.chart-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:15px!important;margin-bottom:20px!important;page-break-inside:avoid!important}.chart-grid>div,.panel-card,.post-engagement,.campaign-table{border:1px solid #dcdcdc!important;box-shadow:none!important;background:#fff!important;page-break-inside:avoid!important}table{width:100%!important;border-collapse:collapse!important}th,td{border:1px solid #dcdcdc!important;padding:6px 8px!important;font-size:10pt!important}}
