.password-field{position:relative}.password-field .input{padding-right:2.9rem}.password-field .input::-ms-reveal,.password-field .input::-ms-clear{display:none}.password-toggle{position:absolute;top:50%;right:.3rem;transform:translateY(-50%);display:grid;place-items:center;width:2.3rem;height:2.3rem;padding:0;border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);cursor:pointer;transition:color var(--fast),background var(--fast)}.password-toggle:hover{color:var(--text);background:var(--accent-soft)}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.password-toggle[aria-pressed=true]{color:var(--accent)}.password-toggle-icon{width:20px;height:20px}:root{--brand-25: #f5fbfa;--brand-50: #eaf7f5;--brand-100: #d5f0ec;--brand-200: #b3e5df;--brand-300: #81d8d0;--brand-400: #3fa79e;--brand-500: #1e6b62;--brand-600: #1a5e56;--brand-700: #1a4f49;--brand-800: #1e3b36;--brand-900: #16302c;--amber-50: #fdf3e2;--amber-100: #f8e3bd;--amber-400: #e9a63b;--amber-600: #b97c14;--amber-800: #8a5d05;--bg: #f3f8f6;--surface: #ffffff;--surface-sunken: #f7faf9;--border: #e1e8e6;--border-soft: #eef3f1;--border-strong: #d3dddb;--text: #1e2b28;--text-soft: #3e4c49;--muted: #5b6866;--gray: #5c6563;--faint: #94a09d;--success: #15793a;--success-soft: #e6f4ea;--success-line: #b7e0c4;--warning: #8a5d05;--warning-soft: #fdf3e2;--warning-line: #f2ddb0;--danger: #c0392b;--danger-soft: #fdebe9;--danger-line: #f2c4be;--info: #1a4f49;--info-soft: #eaf7f5;--info-line: #cfeae6;--accent: var(--brand-500);--accent-strong: var(--brand-700);--accent-deep: var(--brand-800);--btn-primary-from: var(--brand-300);--btn-primary-to: #6fcfc6;--btn-primary-border: #3fa79e;--btn-primary-hover-from: #6fcfc6;--btn-primary-hover-to: #58c0b6;--btn-primary-hover-border: #2c8379;--btn-primary-text: var(--brand-800);--accent-soft: var(--brand-50);--accent-line: var(--brand-100);--accent-tint: var(--brand-200);--primary: var(--accent);--primary-dark: var(--accent-strong);--primary-hover: var(--accent-strong);--primary-soft: var(--accent-soft);--primary-tint: var(--accent-tint);--accent-soft-amber: var(--amber-50);--r-xs: 7px;--r-sm: 10px;--r-md: 13px;--r-lg: 18px;--r-xl: 24px;--r-full: 999px;--radius: var(--r-md);--shadow-xs: 0 1px 2px rgba(30, 43, 40, .05);--shadow-sm: 0 1px 2px rgba(30, 43, 40, .05), 0 2px 6px rgba(30, 43, 40, .04);--shadow-md: 0 2px 4px rgba(30, 43, 40, .04), 0 8px 20px -6px rgba(30, 43, 40, .1);--shadow-lg: 0 4px 8px rgba(30, 43, 40, .05), 0 20px 44px -12px rgba(30, 43, 40, .18);--shadow-accent: 0 2px 6px color-mix(in srgb, var(--brand-700) 18%, transparent), 0 10px 22px -8px color-mix(in srgb, var(--brand-700) 34%, transparent);--shadow: var(--shadow-sm);--ease: cubic-bezier(.2, .8, .3, 1);--fast: .12s var(--ease);--base: .2s var(--ease);--sidebar-w: 250px;--content-max: 1140px}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Quicksand,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:15px;font-weight:500;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--accent-tint);color:var(--brand-900)}h1,h2,h3,h4{margin:0 0 .5rem;line-height:1.22;font-weight:700;letter-spacing:-.011em;color:var(--text)}h1{font-size:1.6rem}h2{font-size:1.14rem}h3{font-size:1rem}p{margin:0 0 .75rem}p:last-child{margin-bottom:0}a{color:var(--accent);text-decoration:none;font-weight:600;border-radius:3px;transition:color var(--fast)}a:hover{color:var(--accent-strong);text-decoration:underline;text-underline-offset:2px}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skip-link{position:absolute;top:-3rem;left:.5rem;z-index:100;padding:.6rem .9rem;border-radius:var(--r-sm);background:var(--accent-deep);color:#fff;font-weight:600;text-decoration:none;transition:top var(--fast)}.skip-link:focus{top:.5rem}.lp-footer a:focus-visible{outline-color:#fff}*{scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;border-radius:var(--r-full);background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--gray);background-clip:content-box}.app-shell{display:flex;min-height:100vh;background:var(--bg)}.sidebar{position:sticky;top:0;align-self:flex-start;height:100vh;width:var(--sidebar-w);flex-shrink:0;display:flex;flex-direction:column;gap:.25rem;padding:1.35rem .85rem 1rem;color:#fff;overflow-y:auto;background:radial-gradient(120% 46% at 12% 0%,rgba(255,255,255,.17),transparent 62%),linear-gradient(184deg,var(--accent-strong) 0%,var(--accent-deep) 100%)}.sidebar .brand{display:flex;align-items:center;gap:.65rem;padding:.15rem .55rem 1.15rem}.sidebar .brand-name{font-weight:700;font-size:1.03rem;color:#fff;letter-spacing:-.01em;line-height:1.2}.sidebar .brand-sub{font-size:.63rem;font-weight:700;color:#ffffff9e;letter-spacing:.19em;text-transform:uppercase;margin-top:3px}.school-switch{display:block;margin:0 .15rem .9rem;padding:.5rem .6rem .55rem;border-radius:var(--r-sm);background:#00000029;box-shadow:inset 0 0 0 1px #ffffff1a}.school-switch-label{display:block;font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#ffffff80;margin-bottom:.25rem}.school-switch-select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:#fff;font:inherit;font-weight:700;font-size:.88rem;padding:0 1.1rem 0 0;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}.school-switch-select option{color:var(--text);background:var(--surface)}.sidebar nav{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:.62rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#ffffff6b;padding:.95rem .75rem .35rem}.sidebar nav>.nav-label:first-child{padding-top:.1rem}.sidebar nav a{position:relative;display:flex;align-items:center;gap:.62rem;color:#ffffffc7;padding:.55rem .7rem;border-radius:var(--r-sm);font-weight:600;font-size:.925rem;transition:background var(--fast),color var(--fast)}.sidebar nav a .nav-icon{flex:none;width:18px;height:18px;opacity:.72;transition:opacity var(--fast)}.sidebar nav a:hover{background:#ffffff1a;color:#fff;text-decoration:none}.sidebar nav a:hover .nav-icon{opacity:1}.sidebar nav a.active{background:#ffffff2b;color:#fff;box-shadow:inset 0 1px #ffffff24}.sidebar nav a.active .nav-icon{opacity:1}.sidebar nav a.active:before{content:"";position:absolute;left:-.85rem;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--amber-400)}.sidebar nav a .nav-badge,.menu-toggle .nav-badge{margin-left:auto;min-width:1.35rem;padding:.05rem .4rem;border-radius:999px;background:var(--amber-400);color:var(--brand-900);font-size:.75rem;font-weight:700;line-height:1.25rem;text-align:center}.sidebar .spacer{flex:1;min-height:1rem}.sidebar .whoami{display:flex;align-items:flex-start;gap:.6rem;font-size:.8rem;line-height:1.45;color:#ffffffad;padding:.75rem .7rem .2rem;border-top:1px solid rgba(255,255,255,.15)}.sidebar .whoami strong{color:#fff;display:block;font-weight:700;font-size:.87rem}.sidebar .whoami a{color:#ffffffd9;font-size:.8rem}.sidebar .whoami a:hover{color:#fff}.avatar{flex:none;width:32px;height:32px;border-radius:var(--r-full);display:grid;place-items:center;font-size:.76rem;font-weight:700;letter-spacing:.02em;color:#fff;background:#ffffff2e;box-shadow:inset 0 0 0 1px #ffffff38}.main{flex:1;min-width:0;padding:2rem 2.25rem 3.5rem;max-width:calc(var(--content-max) + 4.5rem)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1.35rem;gap:1rem;flex-wrap:wrap}.page-head h1{margin-bottom:.35rem}.eyebrow{font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);margin-bottom:.3rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:1.35rem 1.5rem;margin-bottom:1.15rem}.card>h1:first-child,.card>h2:first-child{margin-top:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.15rem;margin-bottom:1.15rem}.card-grid>.card{margin-bottom:0}.stat{position:relative;overflow:hidden;text-align:left;padding:1.25rem 1.4rem;transition:box-shadow var(--base),transform var(--base)}.stat:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent),var(--brand-400) 55%,var(--amber-400));opacity:.9}.stat:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat .stat-value{font-size:2rem;font-weight:700;line-height:1.1;color:var(--accent-strong);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.stat .stat-label{color:var(--muted);font-size:.83rem;font-weight:600;margin-top:.2rem}.field{margin-bottom:1rem}.label{display:block;font-weight:700;font-size:.82rem;color:var(--text-soft);margin-bottom:.35rem}.input,textarea.input,select.input{width:100%;padding:.6rem .8rem;border:1px solid var(--border-strong);border-radius:var(--r-sm);font:inherit;font-weight:500;color:var(--text);background:var(--surface);box-shadow:var(--shadow-xs);transition:border-color var(--fast),box-shadow var(--fast)}.input::placeholder{color:var(--faint);font-weight:500}.input:hover:not(:disabled){border-color:var(--gray)}.input:focus,.input:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-line)}.input:disabled{background:var(--surface-sunken);color:var(--muted);cursor:not-allowed}textarea.input{min-height:150px;resize:vertical;line-height:1.6}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.1rem;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236e6878' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:15px;height:15px}.hint{font-size:.8rem;color:var(--muted);margin-top:.32rem;font-weight:500;line-height:1.5}.error-text{color:var(--danger);font-size:.84rem;margin-top:.32rem;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.58rem 1.1rem;border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:700;font-size:.92rem;line-height:1.35;cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-xs);transition:background var(--fast),border-color var(--fast),color var(--fast),box-shadow var(--fast),transform var(--fast)}.btn:hover{background:var(--accent-soft);border-color:var(--accent-tint);color:var(--accent-strong)}.btn:active{transform:translateY(1px);box-shadow:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn:disabled:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn svg{flex:none}.btn-primary{background:linear-gradient(178deg,var(--btn-primary-from) 0%,var(--btn-primary-to) 100%);border-color:var(--accent-strong);color:#fff;box-shadow:var(--shadow-accent)}.btn-primary:hover{background:linear-gradient(178deg,var(--btn-primary-hover-from) 0%,var(--btn-primary-hover-to) 100%);border-color:var(--accent-deep);color:#fff}.btn-primary:disabled:hover{background:linear-gradient(178deg,var(--btn-primary-from) 0%,var(--btn-primary-to) 100%);border-color:var(--accent-strong);color:#fff}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:#a72f23;border-color:#a72f23;color:#fff}.btn-danger:disabled:hover{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger-quiet{background:var(--surface);border-color:var(--danger-line);color:var(--danger)}.btn-danger-quiet:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.btn-danger-quiet:disabled:hover{background:var(--surface);border-color:var(--danger-line);color:var(--danger)}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-success:hover{background:#13692f;border-color:#13692f;color:#fff}.btn-success:disabled:hover{background:var(--success);border-color:var(--success);color:#fff}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.btn-ghost:hover{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}.btn-sm{padding:.36rem .75rem;font-size:.83rem;border-radius:var(--r-xs)}.btn-block{width:100%}.chip-group{display:flex;flex-wrap:wrap;gap:.5rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-sunken);padding:.75rem;max-height:240px;overflow-y:auto}.chip{display:inline-flex;align-items:center;padding:.36rem .8rem;border-radius:var(--r-full);cursor:pointer;font-weight:600;font-size:.87rem;background:var(--surface);border:1px solid var(--border-strong);color:var(--text-soft);-webkit-user-select:none;user-select:none;transition:background var(--fast),border-color var(--fast),color var(--fast)}.chip:hover{border-color:var(--accent-tint);color:var(--accent-strong)}.chip input{position:absolute;opacity:0;width:0;height:0}.chip:before{content:"";width:0;height:9px;border:0 solid currentColor;transform:rotate(45deg) scale(0);transition:transform var(--fast),width var(--fast),margin var(--fast)}.chip:has(input:checked){background:var(--accent);border-color:var(--accent-strong);color:#fff}.chip:has(input:checked):before{width:5px;border-width:0 2px 2px 0;transform:rotate(45deg) scale(1);margin:-3px .5rem 0 .1rem}.chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.reach{display:flex;align-items:center;gap:.9rem;padding:.85rem 1.1rem;margin-bottom:1.15rem;border-radius:var(--r-md);background:linear-gradient(100deg,var(--accent-soft),var(--surface-sunken));border:1px solid var(--accent-line)}.reach-value{font-size:1.6rem;font-weight:700;line-height:1;color:var(--accent-strong);font-variant-numeric:tabular-nums}.reach-text{font-size:.9rem;font-weight:600;color:var(--text-soft)}.reach .spinner{color:var(--accent);margin:0 .15rem}.reach-none{background:var(--warning-soft);border-color:var(--warning-line)}.reach-none .reach-value,.reach-none .reach-text{color:var(--warning)}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .65rem .2rem .55rem;border-radius:var(--r-full);font-size:.74rem;font-weight:700;text-transform:capitalize;border:1px solid transparent;white-space:nowrap;vertical-align:middle}.badge:before{content:"";width:6px;height:6px;border-radius:var(--r-full);background:currentColor;flex:none}.badge-pending,.badge-scheduled{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-line)}.badge-approved,.badge-sent,.badge-active,.badge-delivered{background:var(--success-soft);color:var(--success);border-color:var(--success-line)}.badge-suspended,.badge-failed,.badge-rejected,.badge-removed{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line)}.badge-draft,.badge-sending,.badge-queued{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent-line)}.banner{border-radius:var(--r-md);padding:.85rem 1.15rem;margin-bottom:1.15rem;font-size:.91rem;font-weight:600;line-height:1.55;border:1px solid transparent;border-left-width:4px}.banner-warning{background:var(--warning-soft);color:var(--warning);border-color:var(--warning-line);border-left-color:var(--amber-400)}.banner-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line);border-left-color:var(--danger)}.banner-info{background:var(--info-soft);color:var(--info);border-color:var(--info-line);border-left-color:var(--accent)}.banner-success{background:var(--success-soft);color:var(--success);border-color:var(--success-line);border-left-color:var(--success)}.banner a{color:inherit;text-decoration:underline}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:.91rem}.table th{text-align:left;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--gray);font-weight:700;padding:.6rem .8rem;background:var(--surface-sunken);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border);white-space:nowrap}.table th:first-child{border-left:1px solid var(--border-soft);border-top-left-radius:var(--r-sm)}.table th:last-child{border-right:1px solid var(--border-soft);border-top-right-radius:var(--r-sm)}.table td{padding:.7rem .8rem;border-bottom:1px solid var(--border-soft);vertical-align:middle}.table tbody tr{transition:background var(--fast)}.table tbody tr:hover td{background:var(--accent-soft)}.table tbody tr:last-child td{border-bottom:none}.table-wrap{overflow-x:auto;margin:0 -.25rem;padding:0 .25rem}@media(max-width:820px){.card:has(.table){overflow-x:auto}.card .table{min-width:460px}.card .table:not(:has(th:nth-child(3),td:nth-child(3))){min-width:0}}.auth-wrap{position:relative;isolation:isolate;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 1.25rem;overflow:hidden;background:radial-gradient(78% 58% at 78% 6%,rgba(129,216,208,.2),transparent 62%),radial-gradient(66% 62% at 6% 96%,rgba(129,216,208,.42),transparent 66%),linear-gradient(156deg,var(--accent-strong) 0%,var(--accent) 54%,var(--brand-400) 128%)}.auth-wrap:before{content:"";position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:46px 46px;transform:perspective(560px) rotateX(56deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(to top,#000 8%,transparent 62%);mask-image:linear-gradient(to top,#000 8%,transparent 62%)}.auth-card{position:relative;background:var(--surface);border-radius:var(--r-xl);padding:2.1rem 2.25rem 2.25rem;width:100%;max-width:452px;box-shadow:0 1px #fff9 inset,0 24px 60px -18px #0b1a1780,0 6px 18px -6px #0b1a174d}.auth-card .sub{color:var(--muted);margin:1rem 0 1.5rem;font-weight:500;line-height:1.55}.auth-card .btn-block{margin-top:.35rem;padding-block:.68rem;font-size:.97rem}.auth-alt{margin-top:1.1rem;font-size:.89rem;color:var(--muted);text-align:center}.doc-page{background:var(--bg);min-height:100vh}.doc-head{display:flex;justify-content:center;padding:1.35rem 1.5rem;background:radial-gradient(90% 120% at 88% 0%,rgba(129,216,208,.22),transparent 60%),linear-gradient(96deg,var(--accent-strong) 0%,var(--accent) 100%)}.doc-head>*{width:100%;max-width:760px}.doc-body{max-width:760px;margin:0 auto;padding:2.25rem 1.5rem 4rem}.doc-body>h1{font-size:1.85rem;margin-bottom:.35rem}.doc-body .card h2{font-size:1.05rem;color:var(--accent-strong);margin-bottom:.6rem}.doc-body .card+.card{margin-top:1rem}.empty{text-align:center;color:var(--muted);padding:2.6rem 1.25rem;font-weight:500;line-height:1.6;border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-sunken)}.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}.muted{color:var(--muted);font-weight:500}.mt-0{margin-top:0}.flex-between{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--r-full);animation:po-spin .62s linear infinite;vertical-align:-2px}@keyframes po-spin{to{transform:rotate(360deg)}}.main>*{animation:po-rise .26s var(--ease) both}@keyframes po-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:900px){.main{padding:1.5rem 1.5rem 3rem}}@media(max-width:780px){.app-shell{flex-direction:column}.sidebar{z-index:20;width:100%;height:auto;flex-direction:row;align-items:center;gap:.5rem;overflow-x:auto;padding:.6rem .85rem;background:linear-gradient(96deg,var(--accent-strong) 0%,var(--accent-deep) 100%);box-shadow:var(--shadow-md)}.sidebar .brand{padding:0 .7rem 0 .15rem;white-space:nowrap}.school-switch{margin:0;padding:.3rem .5rem;flex:none}.school-switch-label,.sidebar .brand-sub{display:none}.sidebar nav{flex-direction:row;gap:4px}.sidebar nav a{padding:.45rem .7rem;font-size:.87rem;white-space:nowrap}.sidebar nav a .nav-icon{display:none}.sidebar nav a.active:before{display:none}.nav-label,.sidebar .spacer,.sidebar .whoami{display:none}.main{padding:1.15rem 1.05rem 2.5rem}h1{font-size:1.4rem}.card{padding:1.15rem;border-radius:var(--r-md)}.auth-card{padding:1.75rem 1.4rem 1.9rem;border-radius:var(--r-lg)}.card-grid{gap:.85rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat{padding:1rem 1.1rem}.stat .stat-value{font-size:1.65rem}.sidebar.has-menu{flex-wrap:wrap;overflow:visible;max-height:100vh;max-height:100dvh;overflow-y:auto}.sidebar.has-menu .brand{flex:1;min-width:0}.sidebar.has-menu .menu-toggle{display:inline-flex}.sidebar.has-menu nav,.sidebar.has-menu .whoami,.sidebar.has-menu .school-switch{display:none}.sidebar.has-menu .school-switch{order:2}.sidebar.has-menu nav{order:3}.sidebar.has-menu .whoami{order:4}.sidebar.has-menu.is-open nav{display:flex;flex-basis:100%;flex-direction:column;gap:2px;padding-top:.5rem}.sidebar.has-menu.is-open nav a{font-size:.95rem;padding:.6rem .75rem}.sidebar.has-menu.is-open nav a .nav-icon{display:block}.sidebar.has-menu.is-open .nav-label{display:block}.sidebar.has-menu.is-open .whoami{display:flex;flex-basis:100%;margin-top:.5rem}.sidebar.has-menu.is-open .school-switch{display:block;flex-basis:100%;margin-top:.5rem}}.menu-toggle{display:none;align-items:center;gap:.45rem;flex:none;font:inherit;font-weight:700;font-size:.9rem;color:#fff;background:#ffffff1f;border:1px solid rgba(255,255,255,.22);border-radius:var(--r-sm);padding:.45rem .75rem;cursor:pointer}.menu-toggle:hover{background:#fff3}.menu-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}.menu-toggle svg{width:18px;height:18px}@media(max-width:640px){.card .table.table-stack{min-width:0}.table-stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.table-stack,.table-stack tbody,.table-stack tr,.table-stack td{display:block}.table-stack tbody tr{padding:.8rem .9rem;border:1px solid var(--border);border-radius:var(--r-sm)}.table-stack tbody tr+tr{margin-top:.6rem}.table-stack td{padding:.15rem 0;border-bottom:none;white-space:normal!important;text-align:left!important}.table-stack td:last-child>div{justify-content:flex-start!important;margin-top:.5rem}.table-stack tbody tr:hover td{background:none}.table-stack td[data-label]:before{content:attr(data-label) ": "}}.msg-layout{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:1rem;align-items:start}.msg-list{display:flex;flex-direction:column;gap:.4rem;max-height:70vh;overflow-y:auto}.msg-item{text-align:left;font:inherit;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);padding:.7rem .8rem;transition:background var(--fast),border-color var(--fast)}.msg-item:hover{background:var(--accent-soft);border-color:var(--accent-line)}.msg-item.is-active{background:var(--accent-soft);border-color:var(--accent)}.msg-item.is-unread .msg-item-title{font-weight:700;color:var(--text)}.msg-item-top{display:flex;align-items:baseline;gap:.5rem}.msg-item-title{flex:1;min-width:0;font-weight:600;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-item-time{flex:none;font-size:.72rem;color:var(--faint)}.msg-item-sub{font-size:.8rem;color:var(--muted);margin-top:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-badge{flex:none;min-width:20px;padding:0 6px;height:20px;border-radius:var(--r-full);background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;display:inline-grid;place-items:center}.msg-thread{display:flex;flex-direction:column;min-height:320px}.msg-bubbles{display:flex;flex-direction:column;gap:.7rem;padding:.25rem;max-height:52vh;overflow-y:auto}.msg-bubble{max-width:76%;border-radius:var(--r-md);padding:.65rem .85rem}.msg-bubble p{margin:0;font-size:.93rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.msg-bubble.is-mine{align-self:flex-end;background:var(--accent);color:#fff}.msg-bubble.is-mine p{color:#fff}.msg-bubble.is-theirs{align-self:flex-start;background:var(--surface-sunken);border:1px solid var(--border)}.msg-bubble-meta{font-size:.7rem;margin-top:.3rem;opacity:.75}.msg-composer{display:flex;gap:.5rem;align-items:flex-end;margin-top:.9rem}.msg-composer textarea{flex:1;min-height:44px;resize:vertical}@media(max-width:900px){.msg-layout{grid-template-columns:1fr}.msg-list{max-height:none}.msg-bubble{max-width:90%}}.btn-primary,.btn-primary:hover,.btn-primary:disabled:hover{color:var(--btn-primary-text)}.btn-primary,.btn-primary:disabled:hover{border-color:var(--btn-primary-border)}.btn-primary:hover{border-color:var(--btn-primary-hover-border)}:root{--accent: var(--brand-700);--accent-strong: var(--brand-800);--accent-deep: var(--brand-900);--accent-soft: #eef5f3;--accent-line: #d6e6e2;--accent-tint: #b9d6cf}.province-chart{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.75rem;align-items:center}@media(max-width:720px){.province-chart{grid-template-columns:1fr;justify-items:center}}.province-ring{flex-shrink:0}.province-ring-svg{width:220px;height:220px;display:block}.province-ring-value{font-size:2.1rem;font-weight:700;fill:var(--text);font-variant-numeric:tabular-nums}.province-ring-label{font-size:.82rem;font-weight:600;fill:var(--muted)}.province-table{width:100%;border-collapse:collapse;font-size:.92rem}.province-table th,.province-table td{padding:.42rem .5rem;border-bottom:1px solid var(--border-soft);text-align:left}.province-table thead th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;border-bottom-color:var(--border)}.province-table tbody th{font-weight:600;color:var(--text)}.province-table tbody tr:last-child th,.province-table tbody tr:last-child td{border-bottom:none}.province-table tbody tr{transition:background var(--fast)}.province-table tbody tr:hover,.province-table tbody tr.is-active{background:var(--accent-soft)}.province-table .num{text-align:right;font-variant-numeric:tabular-nums}.province-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.5rem;vertical-align:baseline}.dash-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.15rem;align-items:start}.dash-split>.card{margin-bottom:1.15rem}.trend-tile{display:flex;flex-direction:column}.sparkline{width:100%;height:32px;margin-top:.6rem;color:var(--accent-tint);overflow:visible}.trend-caption{display:flex;align-items:baseline;gap:.45rem;margin-top:.35rem;font-size:.78rem;font-weight:600}.trend-sep{color:var(--border-strong)}.delta-up{color:var(--success)}.delta-down{color:var(--muted)}.bar-list{list-style:none;margin:.25rem 0 0;padding:0}.bar-list li{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr) 2.5rem;align-items:center;gap:.7rem;padding:.3rem 0}.bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600}.bar-track{background:var(--surface-sunken);border-radius:var(--r-full);height:9px;overflow:hidden}.bar-fill{display:block;height:100%;border-radius:var(--r-full);background:var(--accent);transition:width var(--base)}.bar-list li.is-quiet .bar-fill{background:var(--amber-400)}.bar-value{text-align:right;font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-soft)}@media(max-width:520px){.bar-list li{grid-template-columns:minmax(0,1fr) 2.5rem}.bar-list .bar-track{grid-column:1 / -1}}.funnel{list-style:none;margin:0 0 .9rem;padding:0}.funnel li{display:flex;align-items:baseline;gap:.8rem;padding:.5rem .65rem;border-radius:var(--r-sm);border-bottom:1px solid var(--border-soft)}.funnel li:last-child{border-bottom:none}.funnel-value{font-size:1.35rem;font-weight:700;color:var(--accent-strong);font-variant-numeric:tabular-nums;min-width:2ch;text-align:right}.funnel-label{font-size:.9rem;font-weight:600;line-height:1.3}.funnel-hint{display:block;font-size:.76rem;font-weight:500;color:var(--muted)}.funnel li.is-actionable{background:var(--warning-soft)}.funnel li.is-actionable .funnel-value{color:var(--warning)}.capability-grid{display:flex;flex-wrap:wrap;gap:.35rem .9rem}.capability-check{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;white-space:nowrap;cursor:pointer}.capability-check input[disabled]{cursor:not-allowed}.capability-fieldset{border:1px solid var(--border);border-radius:8px;padding:.9rem 1rem;margin:1rem 0}.capability-fieldset legend{padding:0 .4rem;font-weight:600}.capability-option{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem 0;cursor:pointer}.capability-option+.capability-option{border-top:1px solid var(--border-soft)}.capability-caution{color:var(--warning);font-size:.85rem}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tabs button{flex:1;padding:.5rem;border:1px solid var(--border);background:transparent;border-radius:6px;cursor:pointer}.tabs button.is-active{border-color:var(--accent);color:var(--accent);font-weight:600}.cp{--cp-rev: var(--brand-500);--cp-cost: var(--amber-600)}.cp .page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 1.5rem}.cp .page-head>div{max-width:60ch}.cp h2{font-size:1.05rem}.cp-lede{font-size:.88rem;margin:.15rem 0 .75rem}.cp-fig,.cp input[type=number]{font-variant-numeric:tabular-nums}.cp-schools{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem 1.75rem;align-items:center}.cp-count{display:flex;align-items:baseline;gap:.6rem}.cp-count input{width:4.4ch;border:0;background:transparent;padding:0;text-align:right;font-family:inherit;font-weight:700;font-size:2.6rem;line-height:1;color:var(--text);font-variant-numeric:tabular-nums;-moz-appearance:textfield}.cp-count input::-webkit-outer-spin-button,.cp-count input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cp-count span{font-weight:700;color:var(--muted)}.cp-slide{display:grid;gap:.6rem}.cp-slide input[type=range]{width:100%;accent-color:var(--accent)}.cp-chips{display:flex;flex-wrap:wrap;gap:.45rem}.cp-chip{border:1px solid var(--border);background:var(--surface-sunken);color:var(--text-soft);border-radius:var(--r-full);padding:.2rem .75rem;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer}.cp-chip:hover{border-color:var(--accent);color:var(--accent)}.cp-chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong)}.cp-swatch{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:.35rem;vertical-align:0}.cp-swatch.cp-rev{background:var(--cp-rev)}.cp-swatch.cp-cost{background:var(--cp-cost)}.cp .stat-value.cp-good{color:var(--success)}.cp .stat-value.cp-bad{color:var(--danger)}.cp-main{display:grid;grid-template-columns:320px minmax(0,1fr);gap:1.15rem;align-items:start}.cp-stack{display:grid;gap:1.15rem;min-width:0}.cp-stack>.card{margin-bottom:0}.cp-assume{position:sticky;top:1rem}.cp-group{display:grid;gap:.5rem;padding-top:.85rem;margin-top:.85rem;border-top:1px solid var(--border-soft)}.cp-group-title{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.cp-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem;font-size:.88rem}.cp-row small{display:block;color:var(--muted);font-size:.75rem;line-height:1.35}.cp-num{display:inline-flex;align-items:center;gap:.25rem;min-width:5.5rem;justify-content:flex-end;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-sunken);padding:.15rem .5rem}.cp-num:focus-within{border-color:var(--accent)}.cp-num input{width:5.5ch;border:0;background:transparent;text-align:right;font:inherit;font-size:.88rem;padding:.15rem 0}.cp-num input:focus{outline:none}.cp-unit{font-size:.75rem;color:var(--muted)}.cp-note{font-size:.78rem;color:var(--muted);margin:0}.cp-note.cp-warn{color:var(--warning)}.cp-link{justify-self:start;border:0;background:none;padding:0;margin-top:.85rem;color:var(--accent);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.cp-group .cp-link{margin-top:.1rem}.cp-seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.cp-seg button{border:0;background:var(--surface-sunken);padding:.25rem .75rem;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;color:var(--text-soft)}.cp-seg button+button{border-left:1px solid var(--border)}.cp-seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong)}.cp-switch{position:relative;width:38px;height:22px;flex:none}.cp-switch input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.cp-switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-full);background:var(--border-strong);transition:background var(--fast);pointer-events:none}.cp-switch span:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--surface);box-shadow:var(--shadow-xs);transition:transform var(--fast)}.cp-switch input:checked+span{background:var(--accent)}.cp-switch input:checked+span:after{transform:translate(16px)}.cp-switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.cp-ledger td{vertical-align:top}.cp-ledger tfoot td{border-top:2px solid var(--text);font-weight:700}.cp-r{text-align:right}.cp-sub{color:var(--muted);font-size:.8rem}.cp-detail{color:var(--muted);font-size:.76rem;margin-top:.15rem}.cp-usd{display:block;color:var(--muted);font-size:.72rem}.cp-bar{display:block;height:4px;border-radius:2px;margin:.35rem 0 0 auto}.cp-bar.cp-rev{background:var(--cp-rev)}.cp-bar.cp-cost{background:var(--cp-cost)}.cp-tier{display:inline-block;font-size:.75rem;font-weight:700;border-radius:var(--r-full);padding:.1rem .55rem;background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap}.cp-tier.is-free{background:var(--success-soft);color:var(--success)}.cp-tier.is-alert{background:var(--danger-soft);color:var(--danger)}.cp-sums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:.9rem}.cp-sums>div{background:var(--surface-sunken);border:1px solid var(--border-soft);border-radius:var(--r-sm);padding:.55rem .75rem;display:grid}.cp-sums span{font-size:.76rem;color:var(--muted);font-weight:600}.cp-sums strong{font-size:1.1rem;font-variant-numeric:tabular-nums}.cp-vat{margin-top:.9rem;display:grid;gap:.35rem}.cp-vat-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;font-size:.85rem}.cp-vat-head span{color:var(--muted);font-variant-numeric:tabular-nums}.cp-meter{height:8px;border-radius:var(--r-full);background:var(--border-soft);overflow:hidden}.cp-meter i{display:block;height:100%;border-radius:var(--r-full);background:var(--cp-rev)}.cp-meter.is-full i{background:var(--warning)}.cp-legend{display:flex;gap:.9rem;font-size:.82rem;color:var(--text-soft)}.cp-legend i{display:inline-block;width:14px;height:3px;border-radius:2px;vertical-align:middle;margin-right:.35rem}.cp-legend i.cp-rev{background:var(--cp-rev)}.cp-legend i.cp-cost{background:var(--cp-cost)}.cp-chart{position:relative;margin-top:.6rem}.cp-chart svg{display:block;width:100%;height:280px;overflow:visible}.cp-chart text{fill:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.cp-chart .cp-end{fill:var(--text-soft);font-weight:700}.cp-grid{stroke:var(--border-soft)}.cp-axis{stroke:var(--border)}.cp-area-rev{fill:var(--cp-rev);fill-opacity:.08}.cp-area-cost{fill:var(--cp-cost);fill-opacity:.08}.cp-line-rev{fill:none;stroke:var(--cp-rev);stroke-width:2;stroke-linejoin:round}.cp-line-cost{fill:none;stroke:var(--cp-cost);stroke-width:2;stroke-linejoin:round}.cp-now{stroke:var(--muted);stroke-dasharray:3 4}.cp-hover{stroke:var(--text-soft);stroke-opacity:.45}.cp-dot-rev{fill:var(--cp-rev);stroke:var(--surface);stroke-width:2}.cp-dot-cost{fill:var(--cp-cost);stroke:var(--surface);stroke-width:2}.cp-tip{position:absolute;pointer-events:none;transform:translate(-50%,-100%);min-width:170px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);box-shadow:var(--shadow-md);padding:.45rem .6rem;font-size:.8rem}.cp-tip strong{display:block;margin-bottom:.2rem}.cp-tip>div{display:flex;justify-content:space-between;gap:.75rem;font-variant-numeric:tabular-nums}.cp-tip>div>span:first-child{color:var(--muted)}.cp-table-view{margin-top:.6rem;font-size:.85rem}.cp-table-view summary{cursor:pointer;color:var(--accent);font-weight:600}.cp-miles{list-style:none;margin:0;padding:0}.cp-miles li{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:.85rem;padding:.65rem 0;border-bottom:1px dashed var(--border);align-items:baseline}.cp-miles li:last-child{border-bottom:0}.cp-at{font-weight:700;font-variant-numeric:tabular-nums}.cp-at small{display:block;font-weight:500;font-size:.72rem;color:var(--muted)}.cp-miles li.is-past .cp-at{color:var(--accent)}.cp-miles h3{font-size:.92rem;margin:0}.cp-miles p{margin:.1rem 0 0;font-size:.82rem;color:var(--muted)}.cp-flag{display:inline-block;margin-left:.4rem;font-size:.7rem;font-weight:700;border-radius:var(--r-xs);padding:.05rem .45rem;background:var(--warning-soft);color:var(--warning);vertical-align:1px}.cp-foot{font-size:.78rem;color:var(--muted);margin:0;max-width:90ch}@media(max-width:1080px){.cp-main{grid-template-columns:1fr}.cp-assume{position:static}}@media(max-width:600px){.cp-schools,.cp-sums{grid-template-columns:1fr}.cp-miles li{grid-template-columns:4rem minmax(0,1fr)}}
