:root{--bg:#f7f8fa;--surface:#ffffff;--surface-strong:#eef3f0;--text:#18201d;--muted:#65736d;--line:#d9dfdc;--accent:#1d6f5f;--accent-strong:#15584b;--accent-text:#ffffff;--warning:#a15f00;--danger:#a23b3b;--sidebar:#1f2a26;--sidebar-text:#f3f7f5;--field-bg:#ffffff;--success-bg:#e6f5ee;--success-text:#175642;--error-bg:#f8eaea}:root[data-theme=dark]{--bg:#111614;--surface:#19211e;--surface-strong:#22302b;--text:#edf4f1;--muted:#9fb0aa;--line:#32413c;--accent:#3aa786;--accent-strong:#7fd9bd;--accent-text:#111614;--warning:#e0a347;--danger:#e07878;--sidebar:#0d1210;--sidebar-text:#edf4f1;--field-bg:#111614;--success-bg:#173328;--success-text:#91e2c3;--error-bg:#3a2022}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.powered-by-fractal{position:fixed;right:14px;bottom:12px;z-index:60;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:6px;background:color-mix(in srgb,var(--surface) 92%,transparent);color:var(--muted);font-size:11px;line-height:1;box-shadow:0 8px 24px rgba(10,20,18,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.powered-by-fractal:hover{border-color:var(--accent);color:var(--text)}.powered-by-fractal img{width:18px;height:18px;border-radius:4px;object-fit:contain}.powered-by-fractal strong{color:var(--text);font-size:12px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.route-progress{position:fixed;top:0;left:0;z-index:80;width:100%;height:3px;overflow:hidden;background:color-mix(in srgb,var(--accent) 16%,transparent)}.route-progress:after{content:"";display:block;width:42%;height:100%;background:var(--accent);border-radius:999px;animation:route-progress-slide 1s ease-in-out infinite}@keyframes route-progress-slide{0%{transform:translateX(-110%)}to{transform:translateX(245%)}}.sidebar{background:var(--sidebar);color:var(--sidebar-text);padding:24px 18px}.brand{font-size:20px;font-weight:700;margin-bottom:24px;gap:14px;min-width:0;padding:4px 0}.brand,.brand-logo-frame{display:flex;align-items:center}.brand-logo-frame{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:12px;background:linear-gradient(135deg,#ffffff,#f4f6f8);padding:4px;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.8);flex-shrink:0;overflow:hidden;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s ease}.brand:hover .brand-logo-frame{transform:scale(1.05);box-shadow:0 6px 18px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.9)}.brand-logo-frame img{max-width:100%;max-height:100%;border-radius:8px}.brand img,.brand-logo-frame img{width:100%;height:100%;object-fit:contain}.brand-logo-placeholder{width:100%;height:100%;border-radius:8px;background:color-mix(in srgb,var(--sidebar-text) 14%,transparent);flex:0 0 auto}.brand-copy{display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere;min-width:0}.brand-copy strong{color:var(--sidebar-text);font-size:16px;font-weight:700;line-height:1.25;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.brand-badge{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--accent,#1d6f5f) 85%,#ffffff);background:color-mix(in srgb,var(--accent,#1d6f5f) 28%,transparent);border:1px solid color-mix(in srgb,var(--accent,#1d6f5f) 45%,transparent);padding:2px 7px;border-radius:12px;width:-moz-fit-content;width:fit-content;margin-top:3px;line-height:1}.brand-copy small{color:color-mix(in srgb,var(--sidebar-text) 72%,transparent);font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:0;line-height:1.2}.nav{display:grid;grid-gap:8px;gap:8px}.nav a{display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 10px;border-radius:6px;color:color-mix(in srgb,var(--sidebar-text) 86%,transparent)}.nav a.active,.nav a:hover{background:color-mix(in srgb,var(--sidebar-text) 14%,transparent);color:var(--sidebar-text)}.nav a.pending{background:color-mix(in srgb,var(--sidebar-text) 20%,transparent);color:var(--sidebar-text)}.nav a span{min-width:0}.nav-pending-icon{margin-left:auto;flex:0 0 auto;animation:loading-spin .85s linear infinite}.main{min-width:0;padding:28px}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:24px}.topbar-side{display:grid;justify-items:end;grid-gap:8px;gap:8px;min-width:0}.preference-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.icon-button{width:38px;min-height:38px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.notification-bell,.notification-bell-wrap{position:relative}.admin-help-chat{position:fixed;left:24px;bottom:62px;z-index:19}.admin-help-launcher{border:0;min-height:58px;border-radius:999px;padding:8px 16px 8px 8px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 72%,#101827 28%));color:var(--accent-text);box-shadow:0 14px 32px color-mix(in srgb,var(--accent) 32%,transparent),0 8px 22px color-mix(in srgb,var(--text) 18%,transparent);display:inline-flex;align-items:center;gap:10px;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.admin-help-launcher:hover{transform:translateY(-2px);filter:saturate(1.06);box-shadow:0 18px 38px color-mix(in srgb,var(--accent) 36%,transparent),0 12px 26px color-mix(in srgb,var(--text) 20%,transparent)}.admin-help-launcher-icon{width:42px;height:42px;border-radius:999px;background:color-mix(in srgb,var(--accent-text) 18%,transparent);display:inline-flex;align-items:center;justify-content:center}.admin-help-launcher-copy{display:grid;grid-gap:1px;gap:1px;text-align:left;line-height:1.1}.admin-help-launcher-copy strong{font-size:14px}.admin-help-launcher-copy small{font-size:11px;opacity:.82}.admin-help-backdrop{position:fixed;inset:0;z-index:20;background:color-mix(in srgb,var(--text) 12%,transparent);display:flex;justify-content:flex-start;align-items:flex-end;padding:24px 24px 62px}.admin-help-panel{width:min(460px,100%);max-height:min(720px,calc(100vh - 48px));background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 80px color-mix(in srgb,var(--text) 26%,transparent);display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;overflow:hidden;animation:admin-help-panel-in .15s ease-out}.admin-help-header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:16px;border-bottom:1px solid var(--line)}.admin-help-header-mark{width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--accent) 14%,var(--surface) 86%);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.admin-help-header h2{font-size:18px;margin-bottom:0}.admin-help-messages{display:grid;grid-gap:12px;gap:12px;align-content:start;overflow-y:auto;padding:16px;background:color-mix(in srgb,var(--field-bg) 70%,var(--surface) 30%)}.admin-help-message{display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start}.admin-help-message.user{grid-template-columns:minmax(0,1fr) 28px}.admin-help-message.user .admin-help-avatar{grid-column:2;grid-row:1}.admin-help-message.user div{grid-column:1;grid-row:1}.admin-help-message p{width:-moz-fit-content;width:fit-content;max-width:100%;margin:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:10px 12px;line-height:1.45;white-space:pre-wrap}.admin-help-message.user p{margin-left:auto;background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.admin-help-avatar{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--field-bg);color:var(--muted)}.admin-help-sources{display:grid;grid-gap:4px;gap:4px;margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:12px}.admin-help-starters{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line)}.admin-help-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:end;padding:16px;border-top:1px solid var(--line)}@keyframes admin-help-panel-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-badge{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;border-radius:999px;padding:0 5px;background:var(--danger);color:#fff;border:2px solid var(--surface);font-size:11px;font-weight:750;line-height:14px}.notification-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:30;width:min(420px,calc(100vw - 28px));max-height:min(620px,calc(100vh - 110px));overflow:auto;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 22px 60px rgba(15,23,42,.2)}.notification-panel-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px}.notification-list{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.notification-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--background)}.notification-item.unread{border-color:color-mix(in srgb,var(--accent) 38%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--background))}.notification-item-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.notification-item-button:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.notification-item p,.notification-item strong{display:block;margin-bottom:5px}.eyebrow{color:var(--muted);font-size:13px;margin:0 0 4px}h1,h2,h3,p{margin-top:0}h1{font-size:28px;line-height:1.2;margin-bottom:0}.actions{display:flex;gap:8px}.actions,.segmented-actions{flex-wrap:wrap;align-items:center}.segmented-actions{display:inline-flex;gap:6px}.charge-action-menu{position:relative;display:inline-block}.charge-action-menu>summary{list-style:none;cursor:pointer}.charge-action-menu>summary::-webkit-details-marker{display:none}.charge-action-menu-list{position:absolute;right:0;z-index:30;display:grid;grid-gap:6px;gap:6px;min-width:240px;margin-top:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 16px 34px rgba(15,23,42,.16);padding:8px}.charge-action-menu-list .button{width:100%;justify-content:flex-start}.navigation-loading-pill{gap:8px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent);font-weight:700}.navigation-loading-pill,.tenant-type-pill{min-height:34px;display:inline-flex;align-items:center;padding:7px 10px;font-size:13px;line-height:1}.tenant-type-pill{border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent-strong);font-weight:750}.button-loading-icon,.navigation-loading-pill svg{animation:loading-spin .85s linear infinite}@keyframes loading-spin{to{transform:rotate(1turn)}}.button{min-height:38px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);display:inline-flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer}.button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.table-action-btn{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 12px;border-radius:6px;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .15s ease;border:1px solid var(--line);background:var(--surface);color:var(--text);line-height:1}.table-action-btn.icon-only{width:32px;min-height:32px;padding:0;justify-content:center}.table-action-btn.edit{background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.table-action-btn.edit:hover{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.table-action-btn.danger{background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,var(--line))}.table-action-btn.danger:hover{background:var(--danger);color:#ffffff;border-color:var(--danger)}.button.small{min-height:32px;padding:6px 10px;font-size:13px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px}.actionable-card{color:inherit;text-decoration:none;transition:border-color .12s ease,background .12s ease,transform .12s ease}.actionable-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface) 86%,var(--accent) 14%);transform:translateY(-1px)}.metric{display:grid;grid-gap:8px;gap:8px;min-height:116px}.metric-label{color:var(--muted);font-size:13px}.metric-value{font-size:28px;font-weight:750}.metric-foot{color:var(--muted);font-size:13px}.balance-detail-title{color:var(--text);font-size:1.08rem;font-weight:800;line-height:1.25;margin:0}.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:12px;gap:12px}.curriculum-context,.guided-setup{display:flex;flex-direction:column;gap:16px;width:100%}.guided-setup-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}@media (max-width:860px){.guided-setup-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:540px){.guided-setup-grid{grid-template-columns:1fr}}.setup-workspace-layout{grid-column:1/-1;display:flex;flex-direction:column;gap:24px;width:100%}.setup-subnav-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:4px}.setup-nav-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);text-decoration:none;font-size:13px;font-weight:600;transition:all .12s ease}.setup-nav-tab.active,.setup-nav-tab:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%);color:var(--text)}.setup-top-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start;width:100%;max-width:100%}@media (max-width:1280px){.setup-top-grid{grid-template-columns:1fr}}.setup-profile-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);grid-gap:20px;gap:20px;align-items:start;width:100%;max-width:100%}@media (max-width:1100px){.setup-profile-grid{grid-template-columns:1fr}}.academic-years-container,.institution-profile-card{width:100%}.academic-year-form-card{width:100%;display:flex;flex-direction:column;gap:20px}.academic-year-form{gap:20px;background:color-mix(in srgb,var(--surface) 92%,var(--surface-strong) 8%);border:1px solid var(--line);border-radius:8px;padding:18px}.academic-year-form,.form-section{display:flex;flex-direction:column}.form-section{gap:12px}.form-section-header{gap:8px;color:var(--text);font-size:13.5px;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:6px}.form-section-header svg{color:var(--accent-strong,var(--accent))}:root[data-theme=dark] .form-section-header svg{color:var(--accent-strong,#a78bfa)}.academic-year-form label span,.modal-form-section label span{color:var(--text);opacity:.9;font-weight:600}.form-actions-bar .button.primary,.modal-actions-bar .button.primary{background:var(--accent);color:#ffffff;font-weight:600}:root[data-theme=dark] .form-actions-bar .button.primary,:root[data-theme=dark] .modal-actions-bar .button.primary{background:var(--accent);color:#ffffff}.form-actions-bar{margin-top:4px}.status-legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-top:4px}.status-chip{gap:6px;padding:4px 10px;border-radius:9999px;font-weight:600;width:-moz-fit-content;width:fit-content;max-width:-moz-fit-content;max-width:fit-content;border:1px solid transparent}.status-dot{background:currentColor}.status-chip.draft{background:color-mix(in srgb,var(--line) 40%,transparent);color:var(--muted);border-color:var(--line)}.status-chip.enrollment_open{background:rgba(14,165,233,.12);color:#0284c7;border-color:rgba(14,165,233,.28)}.status-chip.active{background:rgba(16,185,129,.12);color:#059669;border-color:rgba(16,185,129,.28)}.status-chip.closed{background:rgba(100,116,139,.12);color:#475569;border-color:rgba(100,116,139,.28)}.status-legend-item{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:all .15s ease}.status-legend-item:hover{border-color:var(--accent);transform:translateY(-1px)}.status-legend-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.check-field-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer;transition:all .15s ease}.check-field-card:hover{border-color:var(--accent)}.check-field-card input[type=checkbox]{margin-top:3px;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.check-field-card div{display:flex;flex-direction:column;gap:2px}.check-field-card strong{font-size:13px;color:var(--text)}.check-field-card small{font-size:11.5px;color:var(--muted);line-height:1.35}.compact-window-form{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.modal-backdrop{background:rgba(0,0,0,.45);animation:fadeIn .15s ease-out}.dates-modal-card,.modal-card{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 40px -10px rgba(0,0,0,.18);padding:24px!important;display:flex;flex-direction:column;gap:20px;animation:scaleUp .15s ease-out}.modal-header{align-items:flex-start;gap:16px;padding-bottom:14px}.modal-title-group{display:flex;align-items:flex-start;gap:12px}.modal-title-icon{margin-top:2px}.modal-header h3{color:var(--text);margin:0 0 2px}.close-modal-button{background:transparent;border:none;color:var(--muted);width:32px;height:32px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.close-modal-button:hover{background:color-mix(in srgb,var(--muted) 12%,transparent);color:var(--text)}.modal-form-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}@media (max-width:540px){.modal-form-grid{grid-template-columns:1fr}}.modal-actions-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding-top:14px;border-top:1px solid var(--line);margin-top:4px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.students-container{grid-column:1/-1;display:flex;flex-direction:column;gap:20px;width:100%}.student-avatar{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--accent) 15%,var(--surface-strong));color:var(--accent);font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.student-cell-group{display:flex;align-items:center;gap:12px}.student-cell-info{display:flex;flex-direction:column;gap:2px}.student-cell-info strong{font-size:13.5px;color:var(--text)}.student-cell-info span{font-size:11.5px;color:var(--muted)}.code-chip{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;padding:3px 8px;border-radius:4px;background:var(--surface-strong);color:var(--text);border:1px solid var(--line);display:inline-block}.students-table-card{width:100%;overflow:hidden}.table-header-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:16px}.table-header-bar h2{font-size:17px;font-weight:700;margin:0;display:flex;align-items:center;gap:8px}.pager-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid var(--line);margin-top:16px}.enrollment-dates-summary{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.date-badge-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);background:var(--surface);border:1px solid var(--line);padding:4px 8px;border-radius:6px}.edit-dates-btn{margin-top:2px;font-size:11.5px;padding:4px 10px}.modal-backdrop{z-index:9999;background:rgba(15,23,42,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px}.dates-modal-card{width:100%;max-width:580px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 25px -5px rgba(0,0,0,.15),0 10px 10px -5px rgba(0,0,0,.04);display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 95%,var(--surface-strong) 5%)}.modal-title-wrap{display:flex;align-items:center;gap:12px}.modal-title-icon{color:var(--accent)}.modal-header h3{margin:0;font-size:16px;font-weight:700}.dates-modal-form{padding:20px;display:flex;flex-direction:column;gap:20px}.modal-form-section{display:flex;flex-direction:column;gap:12px}.modal-actions-bar{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:16px;margin-top:4px}.setup-edit-list{display:flex;flex-direction:column;gap:10px;margin-top:16px;width:100%}.setup-edit-row{grid-template-columns:minmax(130px,1.2fr) minmax(140px,1fr) minmax(120px,1fr) 85px 85px 110px auto;align-items:center;grid-gap:14px;gap:14px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;transition:all .15s ease}.setup-grade-row{grid-template-columns:minmax(130px,1.2fr) minmax(140px,1fr) minmax(120px,1fr) 95px 110px auto}.setup-edit-row:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:0 4px 12px rgba(0,0,0,.03)}.setup-edit-field{display:flex;flex-direction:column;gap:4px;min-width:0}.setup-edit-field span,.setup-edit-meta span{font-weight:700;letter-spacing:.04em}.setup-edit-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.setup-edit-field input,.setup-edit-field select{font-size:13px;padding:6px 10px;min-height:34px;border-radius:6px;border:1px solid var(--line);background:var(--field-bg);color:var(--text);width:100%}.setup-row-actions,.setup-status-cell{display:flex;align-items:center}.setup-row-actions{justify-content:flex-end}.setup-action-button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:all .15s ease}.setup-action-button:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.setup-action-button.danger:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.window-save-btn{width:-moz-fit-content!important;width:fit-content!important;align-self:flex-start;margin-top:4px;padding:6px 14px;font-size:12px;border-radius:6px;display:inline-flex;align-items:center;gap:6px}.inline-status-select{padding:6px 12px;font-size:12.5px;font-weight:500;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--text);min-height:34px;cursor:pointer;transition:border-color .15s ease}.inline-status-select:focus{border-color:var(--accent);outline:none}.inline-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.field-compact{display:flex;flex-direction:column;gap:2px}.field-compact small{font-size:11px;color:var(--muted);font-weight:600}.field-compact input{font-size:12px;padding:4px 8px;min-height:32px;border:1px solid var(--line);border-radius:4px;background:var(--field-bg);color:var(--text)}.form-grid{grid-gap:14px;gap:14px;width:100%}.field{display:flex;flex-direction:column;min-width:0}.field span{font-size:13px;font-weight:600;color:var(--muted)}.field input,.field select,.field textarea{width:100%;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--field-bg);color:var(--text);font-size:14px}.option-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px;width:100%}.check-field{display:inline-flex;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--field-bg);color:var(--text);font-size:13px;font-weight:500;cursor:pointer}.check-field input[type=checkbox],.check-field input[type=radio]{accent-color:var(--accent);width:16px;height:16px;margin:0;cursor:pointer}.guided-setup-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}@media (max-width:1280px){.form-grid,.setup-profile-grid,.setup-top-grid{grid-template-columns:1fr}}.setup-overview-main{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;align-items:start}.billing-currencies-card{align-self:start;padding:14px}.billing-currencies-card .records-header{margin-bottom:10px}.setup-profile-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);grid-gap:14px;gap:14px;align-items:start}.institution-profile-card,.school-logo-card,.school-profile-card{align-self:start}.institution-profile-card{grid-column:1/-1}.school-profile-form{display:grid;grid-gap:14px;gap:14px}.school-logo-card .logo-settings-grid{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:start}.billing-currencies-form{display:grid;grid-gap:10px;gap:10px}.billing-currencies-form .option-grid{grid-template-columns:1fr}.guided-setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px}.report-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:10px;gap:10px}.report-choice{min-height:84px;border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);color:var(--text);display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;padding:12px;text-align:left;font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease}.report-choice.active,.report-choice:focus-visible,.report-choice:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface-strong) 88%,var(--accent) 12%)}.report-choice-icon{color:var(--text);opacity:.75;display:inline-flex;align-items:center;justify-content:center;padding-top:2px}.report-choice.active .report-choice-icon{color:var(--accent);opacity:1}.report-choice span:last-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.report-choice small{color:var(--muted);font-size:12px;line-height:1.35}.report-export-form{gap:16px}.report-section-filter{border:1px solid var(--line);border-radius:10px;background:var(--surface-strong);padding:16px}.report-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.report-section-header>div{display:grid;grid-gap:4px;gap:4px}.report-section-header strong{color:var(--text);font-size:14px}.report-section-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-top:12px}.report-section-group{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:12px;display:grid;grid-gap:10px;gap:10px}.report-section-group strong{font-size:13px;color:var(--text);letter-spacing:.01em}.report-section-options{display:flex;flex-wrap:wrap;gap:8px}.report-section-option{min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--field-bg);color:var(--text);display:inline-flex;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:border-color .14s ease,background .14s ease}.report-section-option:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--field-bg))}.report-section-option:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--field-bg));color:var(--text);box-shadow:0 1px 4px color-mix(in srgb,var(--accent) 12%,transparent)}.report-section-option input{width:15px;height:15px;min-height:0;margin:0;accent-color:var(--accent);cursor:pointer}.report-section-empty{margin-top:10px;color:var(--muted);font-size:13px}.data-import-category-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:10px;gap:10px}.data-import-analysis-status{display:grid;grid-gap:12px;gap:12px}.data-import-analysis-status div:first-child{display:grid;grid-gap:4px;gap:4px}.data-import-analysis-status strong{color:var(--text)}.data-import-analysis-status span{color:var(--muted);font-size:13px}.data-import-progress{height:8px;border-radius:999px;overflow:hidden;background:var(--surface-strong);border:1px solid var(--line)}.data-import-progress span{display:block;width:42%;height:100%;border-radius:inherit;background:var(--accent);animation:data-import-progress 1.15s ease-in-out infinite}@keyframes data-import-progress{0%{transform:translateX(-110%)}to{transform:translateX(250%)}}.data-import-category{border-radius:6px;background:var(--surface-strong);display:grid;grid-gap:5px;gap:5px;padding:10px}.data-import-category span,.data-import-recommendations span{color:var(--muted);font-size:12px;line-height:1.35}.data-import-recommendations{display:grid;grid-gap:6px;gap:6px;margin-top:14px}.data-import-recommendations span{border-left:3px solid var(--accent);padding-left:10px}.data-import-compact-card,.data-import-summary-card{padding:14px}.data-import-compact-card .records-header,.data-import-summary-card .records-header{margin-bottom:10px}.data-import-summary-card .metric{min-height:68px;align-content:start;gap:6px;border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);padding:10px}.data-import-summary-card .metric span{color:var(--muted);font-size:12px;font-weight:650}.data-import-summary-card .metric strong{color:var(--text);font-size:22px;line-height:1}.data-import-ai-sheet-list,.data-import-sheet-list{display:grid;grid-gap:12px;gap:12px}.data-import-ai-sheet-list{margin-top:14px}.data-import-understood-list{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.data-import-understood-item{border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);display:grid;grid-gap:10px;gap:10px;padding:12px}.data-import-ai-details{padding:0}.data-import-ai-details>summary{cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:center;list-style:none;padding:14px}.data-import-ai-details>summary::-webkit-details-marker{display:none}.data-import-ai-details>summary:after{content:"+";color:var(--accent);font-size:18px;font-weight:800;line-height:1}.data-import-ai-details[open]>summary:after{content:"-"}.data-import-ai-details>summary .pill{margin-left:auto}.data-import-ai-details>:not(summary){margin-left:14px;margin-right:14px}.data-import-ai-details>:last-child{margin-bottom:14px}.data-import-ai-actions{margin-top:0;margin-bottom:10px}.data-import-ignored-details{padding:0}.data-import-ignored-details>summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;list-style:none;padding:12px 14px;color:var(--text);font-weight:750}.data-import-ignored-details>summary::-webkit-details-marker{display:none}.data-import-ignored-details>summary:after{content:"+";color:var(--accent);font-size:18px;font-weight:800;line-height:1}.data-import-ignored-details[open]>summary:after{content:"-"}.data-import-ignored-details>summary .pill{margin-left:auto}.data-import-ignored-details .data-import-review-list{margin:0 14px 14px}.data-import-before-review{scroll-margin-top:18px}.data-import-readiness-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:8px;gap:8px;margin-top:12px}.data-import-readiness-list>div{border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);display:grid;grid-gap:5px;gap:5px;padding:10px}.data-import-readiness-list strong{color:var(--text);font-size:22px;line-height:1}.data-import-readiness-list span{color:var(--muted);font-size:12px;line-height:1.35}.data-import-review-panel{margin-top:14px}.data-import-review-pager{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:10px 0}.data-import-review-pager>span{color:var(--muted);font-size:13px}.data-import-review-table-wrap{width:100%;overflow-x:auto}.data-import-review-table{min-width:820px}.data-import-review-table td,.data-import-review-table th{vertical-align:top;white-space:normal}.data-import-review-table td{color:var(--text)}.data-import-review-workspace .tabs{align-items:center}.data-import-review-workspace .tab .pill{font-size:11px}.data-import-review-workspace .tab.active .pill{background:color-mix(in srgb,var(--accent-text) 16%,transparent);color:var(--accent-text)}.data-import-warning-details{border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);padding:0}.data-import-warning-details>summary{cursor:pointer;list-style:none;padding:12px 14px;color:var(--text);font-weight:750}.data-import-warning-details>summary::-webkit-details-marker{display:none}.data-import-warning-list{border-top:1px solid var(--line)}.data-import-sheet{border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);padding:12px;display:grid;grid-gap:12px;gap:12px;scroll-margin-top:18px;transition:border-color .16s ease,box-shadow .16s ease}.data-import-sheet-highlight{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}.data-import-question-list{border-left:3px solid var(--accent);display:grid;grid-gap:6px;gap:6px;padding-left:10px}.data-import-question-list strong{color:var(--text);font-size:13px}.data-import-question-list span{color:var(--muted);font-size:13px}.data-import-chip-list{display:flex;flex-wrap:wrap;gap:6px}.data-import-chip-list .pill{font-size:12px;min-height:28px;padding:5px 8px}.data-import-review-list{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.data-import-review-list button{border:0;border-left:3px solid var(--accent);color:var(--text);cursor:pointer;display:grid;grid-gap:3px;gap:3px;font-size:13px;line-height:1.35;min-height:0;padding:7px 9px;background:var(--surface-strong);border-radius:0 6px 6px 0;text-align:left}.data-import-review-list button:hover{background:color-mix(in srgb,var(--surface-strong) 86%,var(--accent) 14%)}.data-import-review-list strong{color:var(--text)}.data-import-review-list span{color:var(--muted)}.data-import-dropzone{border:1px dashed var(--line);border-radius:8px;background:var(--surface-strong);color:var(--text);display:grid;grid-gap:6px;gap:6px;padding:18px;transition:border-color .12s ease,background .12s ease}.data-import-dropzone.active,.data-import-dropzone:hover{background:color-mix(in srgb,var(--surface-strong) 88%,var(--accent) 12%)}.data-import-dropzone>span{color:var(--muted);font-size:13px;font-weight:650}.data-import-dropzone strong{font-size:15px}.data-import-dropzone input{margin-top:6px}.data-import-file-list{display:grid;grid-gap:8px}.data-import-file-row{border-radius:6px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;padding:8px 10px}.data-import-file-row span{min-width:0;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-import-file-row small{color:var(--muted);font-size:12px}.data-import-batch-list{display:grid;grid-gap:8px;gap:8px}.data-import-batch-row{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:10px 12px;text-align:left}.data-import-batch-row.active,.data-import-batch-row:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%)}.data-import-batch-row>button:first-child{min-width:0;display:grid;grid-gap:3px;gap:3px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;text-align:left}.data-import-batch-row small,.data-import-batch-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-import-batch-row small{color:var(--muted);font-size:12px}.data-import-batch-actions{display:inline-flex;gap:8px;align-items:center}.guided-step{min-height:88px;border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);color:var(--text);display:grid;grid-template-columns:22px minmax(0,1fr) 18px;grid-gap:10px;gap:10px;align-items:center;padding:12px;text-decoration:none;transition:border-color .12s ease,background .12s ease}.guided-step:focus-visible,.guided-step:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface-strong) 88%,var(--accent) 12%)}.guided-step.done svg:first-child{color:var(--success,#15803d)}.guided-step:not(.done) svg:first-child{color:var(--danger,#b45309)}.guided-step span{display:grid;grid-gap:4px;gap:4px;min-width:0}.guided-step small{color:var(--muted);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.system-admin-workspace .metrics-grid{grid-template-columns:repeat(4,minmax(150px,1fr))}.system-admin-workspace .metric-card{min-height:104px}.system-admin-workspace .metric-card:last-child{grid-column:span 2}.student-portal-wrapper{max-width:1140px;margin:0 auto;padding:24px 20px 60px;display:flex;flex-direction:column;gap:24px}.sp-header{justify-content:space-between;gap:16px;padding:14px 22px;background:var(--surface-strong);border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.04)}.sp-brand,.sp-header{display:flex;align-items:center}.sp-brand{gap:14px;min-width:0}.sp-logo-container{display:flex;align-items:center;gap:12px;min-width:0}.sp-portal-badge-pill{font-size:12px;font-weight:600;color:var(--muted-text);background:color-mix(in srgb,var(--text) 6%,transparent);border:1px solid var(--line);padding:4px 10px;border-radius:99px;white-space:nowrap}.sp-school-logo{height:38px;max-width:180px;object-fit:contain;border-radius:8px;background:#ffffff;padding:4px 10px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.sp-school-icon{width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sp-brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.sp-school-name{font-size:16px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-portal-badge{font-size:12px;color:var(--muted-text);font-weight:500}.sp-top-actions{gap:10px;flex-shrink:0}.sp-action-btn,.sp-top-actions{display:flex;align-items:center}.sp-action-btn{position:relative;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);justify-content:center;cursor:pointer;transition:all .18s ease}.sp-action-btn:hover{background:color-mix(in srgb,var(--surface-strong) 80%,var(--accent));border-color:var(--accent)}.sp-action-btn.has-unread{color:var(--accent)}.sp-unread-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#ffffff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:99px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--surface-strong)}.sp-logout-btn{display:inline-flex;align-items:center;gap:8px;padding:0 16px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease}.sp-logout-btn:hover{background:color-mix(in srgb,#ef4444 12%,transparent);color:#ef4444;border-color:color-mix(in srgb,#ef4444 40%,transparent)}.sp-hero-card{position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,var(--surface-strong)) 0,var(--surface-strong) 100%);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:20px;padding:28px 32px;box-shadow:0 8px 32px rgba(0,0,0,.06)}.sp-hero-bg-glow{position:absolute;top:-60px;right:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 25%,transparent) 0,transparent 70%);pointer-events:none}.sp-hero-content{position:relative;z-index:1;display:flex;align-items:center;gap:24px}.sp-avatar-wrap{position:relative;flex-shrink:0}.sp-avatar{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,var(--accent) 0,color-mix(in srgb,var(--accent) 70%,#000) 100%);color:#ffffff;font-size:26px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 35%,transparent)}.sp-online-dot{position:absolute;bottom:2px;right:2px;width:16px;height:16px;border-radius:50%;background:#10b981;border:3px solid var(--surface-strong)}.sp-hero-info{display:flex;flex-direction:column;gap:8px;min-width:0}.sp-hero-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sp-hero-header h1{font-size:26px;font-weight:800;color:var(--text);margin:0;display:flex;align-items:center;gap:8px;line-height:1.2}.sp-sparkle-icon{color:#f59e0b}.sp-role-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-size:12px;font-weight:600}.sp-hero-sub{font-size:14px;color:var(--muted-text);margin:0}.sp-hero-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.sp-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:12px;font-weight:600}.sp-tag-success{background:color-mix(in srgb,#10b981 14%,transparent);color:#10b981}.sp-tag-accent{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706}.sp-tag-info{background:color-mix(in srgb,#3b82f6 14%,transparent);color:#3b82f6}.sp-alert-banner{display:flex;align-items:center;gap:10px;padding:12px 18px;background:color-mix(in srgb,#ef4444 12%,transparent);border:1px solid color-mix(in srgb,#ef4444 30%,transparent);border-radius:12px;color:#ef4444;font-size:14px;font-weight:500}.sp-bento-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.sp-bento-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;align-items:flex-start;gap:14px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px rgba(0,0,0,.02)}.sp-bento-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 12%,transparent)}.sp-bento-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface-strong))}.sp-bento-card.static{cursor:default}.sp-bento-card.static:hover{transform:none;border-color:var(--line);box-shadow:none}.sp-bento-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.icon-blue{background:color-mix(in srgb,#3b82f6 14%,transparent);color:#3b82f6}.icon-amber{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706}.icon-purple{background:color-mix(in srgb,#8b5cf6 14%,transparent);color:#8b5cf6}.icon-emerald{background:color-mix(in srgb,#10b981 14%,transparent);color:#10b981}.sp-bento-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.sp-bento-label{font-size:12px;font-weight:600;color:var(--muted-text)}.sp-bento-val{font-size:22px;font-weight:800;color:var(--text);line-height:1.2}.sp-bento-sub{font-size:11px;color:var(--muted-text)}.sp-nav-controls{justify-content:space-between;gap:16px;flex-wrap:wrap}.sp-nav-controls,.sp-tabs{display:flex;align-items:center}.sp-tabs{gap:6px;background:var(--surface-strong);border:1px solid var(--line);padding:5px;border-radius:14px}.sp-tab{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:10px;border:none;background:transparent;color:var(--muted-text);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.sp-tab:hover{color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.sp-tab.active{background:var(--accent);color:var(--accent-text,#ffffff);box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 30%,transparent)}.sp-tab-badge{background:color-mix(in srgb,var(--text) 14%,transparent);color:currentColor;font-size:11px;font-weight:700;padding:2px 7px;border-radius:99px}.sp-tab-badge.highlight{background:#ef4444;color:#ffffff}.sp-search-box{position:relative;width:280px}.sp-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted-text)}.sp-search-input{width:100%;padding:9px 12px 9px 36px;border-radius:12px;border:1px solid var(--line);background:var(--surface-strong);color:var(--text);font-size:13px;outline:none;transition:all .18s ease}.sp-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.sp-card-section{background:var(--surface-strong);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:20px;box-shadow:0 4px 16px rgba(0,0,0,.02)}.sp-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.sp-section-title{display:flex;align-items:center;gap:14px}.sp-section-title h2{font-size:18px;font-weight:700;color:var(--text);margin:0 0 2px}.sp-section-title p{font-size:13px;color:var(--muted-text);margin:0}.sp-text-btn{background:none;border:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .15s ease}.sp-text-btn:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.sp-empty-box{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 20px;background:color-mix(in srgb,var(--surface) 60%,transparent);border:1px dashed var(--line);border-radius:16px;gap:10px}.sp-empty-icon{margin-bottom:4px}.sp-empty-box h3{font-size:16px;font-weight:700;color:var(--text);margin:0}.sp-empty-box p{font-size:13px;color:var(--muted-text);margin:0;max-width:360px}.sp-assignment-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.sp-assignment-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:10px;transition:all .18s ease}.sp-assignment-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:0 4px 16px rgba(0,0,0,.04)}.sp-ac-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.sp-subject-tag{font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 9px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.sp-due-pill,.sp-subject-tag{font-size:11px;border-radius:6px}.sp-due-pill{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:#d97706;background:color-mix(in srgb,#f59e0b 12%,transparent);padding:3px 8px}.sp-ac-title{font-size:15px;font-weight:700;color:var(--text);margin:0;line-height:1.3}.sp-ac-teacher{font-size:12px;color:var(--muted-text);display:flex;align-items:center;gap:5px;margin:0}.sp-ac-expand-area{margin-top:4px;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent);padding-top:8px}.sp-ac-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:4px 0;font-size:12px;font-weight:600;color:var(--accent);cursor:pointer}.sp-ac-desc{font-size:13px;color:var(--text);background:color-mix(in srgb,var(--surface-strong) 80%,transparent);padding:12px;border-radius:10px;margin-top:8px;line-height:1.5;white-space:pre-wrap}.sp-report-cards-list{display:flex;flex-direction:column;gap:12px}.sp-rc-item{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;transition:border-color .18s ease}.sp-rc-item:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.sp-rc-header{padding:18px 20px;justify-content:space-between;gap:16px;cursor:pointer}.sp-rc-header,.sp-rc-main-info{display:flex;align-items:center}.sp-rc-main-info{gap:14px}.sp-rc-icon-bg{width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,#3b82f6 14%,transparent);color:#3b82f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sp-rc-period{font-size:16px;font-weight:700;color:var(--text);margin:0 0 2px}.sp-rc-meta{font-size:12px;color:var(--muted-text)}.sp-rc-right-action{display:flex;align-items:center;gap:14px}.sp-grade-pill{display:flex;flex-direction:column;align-items:flex-end;padding:6px 14px;border-radius:12px;background:color-mix(in srgb,var(--surface-strong) 80%,transparent);border:1px solid var(--line)}.sp-grade-pill.high{background:color-mix(in srgb,#10b981 12%,transparent);border-color:color-mix(in srgb,#10b981 30%,transparent)}.sp-gp-label{font-size:10px;font-weight:600;text-transform:uppercase;color:var(--muted-text)}.sp-gp-val{font-size:16px;font-weight:800;color:var(--text)}.sp-rc-chevron{background:none;border:none;color:var(--muted-text);display:flex;align-items:center;justify-content:center;cursor:pointer}.sp-rc-detail-table{border-top:1px solid var(--line);padding:16px 20px;background:color-mix(in srgb,var(--surface-strong) 50%,transparent)}.sp-dt-header{display:grid;grid-template-columns:2fr 1fr 1fr;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted-text);border-bottom:1px solid var(--line)}.sp-dt-body{display:flex;flex-direction:column}.sp-dt-row{display:grid;grid-template-columns:2fr 1fr 1fr;padding:12px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--line) 40%,transparent);font-size:13px}.sp-dt-row:last-child{border-bottom:none}.sp-dt-subject{font-weight:600;color:var(--text)}.sp-dt-count{color:var(--muted-text);font-size:12px}.sp-dt-score{color:var(--text)}.sp-announcements-feed{display:flex;flex-direction:column;gap:14px}.sp-announcement-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:all .18s ease}.sp-announcement-card:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.sp-announcement-card.unread{border-left:4px solid var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.sp-announcement-header{display:flex;align-items:center;gap:10px}.sp-announcement-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;background:color-mix(in srgb,#8b5cf6 12%,transparent);color:#8b5cf6}.sp-unread-pill{font-size:10px;font-weight:700;padding:2px 7px;border-radius:99px;background:#ef4444;color:#ffffff}.sp-date-text{font-size:12px;color:var(--muted-text);margin-left:auto}.sp-announcement-title{font-size:16px;font-weight:700;color:var(--text);margin:0}.sp-announcement-msg{font-size:14px;color:var(--muted-text);line-height:1.5;margin:0}.sp-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.sp-spinner{width:40px;height:40px;border:3px solid color-mix(in srgb,var(--accent) 20%,transparent);border-top-color:var(--accent);border-radius:50%;animation:sp-spin .8s linear infinite}@keyframes sp-spin{to{transform:rotate(1turn)}}.pp-pending-payment-notice{display:inline-flex;align-items:center;gap:.5rem;margin-top:.6rem;padding:.45rem .85rem;background:rgba(234,179,8,.14);border:1px solid rgba(234,179,8,.35);border-radius:var(--radius-full,9999px);color:#854d0e;font-size:.8rem;font-weight:500}@media (max-width:1024px){.sp-bento-grid{grid-template-columns:repeat(2,1fr)}}.pp-wrapper{max-width:1140px;margin:0 auto;padding:24px 20px 60px;display:flex;flex-direction:column;gap:24px}.pp-header{justify-content:space-between;gap:16px;padding:14px 22px;background:var(--surface-strong);border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.04)}.pp-brand,.pp-header{display:flex;align-items:center}.pp-brand{gap:14px;min-width:0}.pp-school-logo{height:38px;max-width:180px;object-fit:contain;border-radius:8px;background:#ffffff;padding:4px 10px;box-shadow:0 1px 3px rgba(0,0,0,.08)}.pp-school-icon{width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-brand-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pp-school-name{font-size:16px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-portal-badge{font-size:12px;color:var(--muted-text);font-weight:500}.pp-top-actions{gap:10px;flex-shrink:0}.pp-action-btn,.pp-top-actions{display:flex;align-items:center}.pp-action-btn{position:relative;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);justify-content:center;cursor:pointer;transition:all .18s ease}.pp-action-btn:hover{background:color-mix(in srgb,var(--surface-strong) 80%,var(--accent));border-color:var(--accent)}.pp-action-btn.has-unread{color:var(--accent)}.pp-unread-badge{position:absolute;top:-4px;right:-4px;background:#ef4444;color:#ffffff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:99px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--surface-strong)}.pp-logout-btn{display:inline-flex;align-items:center;gap:8px;padding:0 16px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease}.pp-logout-btn:hover{background:color-mix(in srgb,#ef4444 12%,transparent);color:#ef4444;border-color:color-mix(in srgb,#ef4444 40%,transparent)}.pp-hero-card{position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 18%,var(--surface-strong)) 0,var(--surface-strong) 100%);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:20px;padding:28px 32px 20px;box-shadow:0 8px 32px rgba(0,0,0,.06);display:flex;flex-direction:column;gap:20px}.pp-hero-bg-glow{position:absolute;top:-60px;right:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 25%,transparent) 0,transparent 70%);pointer-events:none}.pp-hero-content{position:relative;z-index:1;display:flex;align-items:center;gap:24px}.pp-avatar-wrap{position:relative;flex-shrink:0}.pp-avatar{width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,var(--accent) 0,color-mix(in srgb,var(--accent) 70%,#000) 100%);color:#ffffff;font-size:26px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 35%,transparent)}.pp-online-dot{position:absolute;bottom:2px;right:2px;width:16px;height:16px;border-radius:50%;background:#10b981;border:3px solid var(--surface-strong)}.pp-hero-info{display:flex;flex-direction:column;gap:8px;min-width:0}.pp-hero-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pp-hero-header h1{font-size:26px;font-weight:800;color:var(--text);margin:0;display:flex;align-items:center;gap:8px;line-height:1.2}.pp-sparkle-icon{color:#f59e0b}.pp-role-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:99px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-size:12px;font-weight:600}.pp-hero-sub{font-size:14px;color:var(--muted-text);margin:0}.pp-hero-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.pp-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:8px;font-size:12px;font-weight:600;border:none}.pp-tag.clickable{cursor:pointer;transition:opacity .15s ease}.pp-tag.clickable:hover{opacity:.85}.pp-tag-success{background:color-mix(in srgb,#10b981 14%,transparent);color:#10b981}.pp-tag-warning{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#d97706}.pp-tag-info{background:color-mix(in srgb,#3b82f6 14%,transparent);color:#3b82f6}.pp-hero-nav{position:relative;z-index:1;display:flex;flex-wrap:wrap;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.pp-hero-nav,.pp-nav-pill{align-items:center;gap:8px}.pp-nav-pill{display:inline-flex;padding:8px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.pp-nav-pill:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.pp-nav-pill.active{background:var(--accent);color:#ffffff;border-color:var(--accent);box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 30%,transparent)}.pp-dot-warning{width:8px;height:8px;border-radius:50%;background:#f59e0b}.pp-alert-banner{display:flex;align-items:center;gap:10px;padding:12px 18px;background:color-mix(in srgb,#ef4444 12%,transparent);border:1px solid color-mix(in srgb,#ef4444 30%,transparent);border-radius:12px;color:#ef4444;font-size:14px;font-weight:500}.pp-card-section{background:var(--surface-strong);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:20px;box-shadow:0 4px 16px rgba(0,0,0,.02)}.pp-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.pp-section-title{display:flex;align-items:center;gap:14px}.pp-section-title h2{font-size:18px;font-weight:700;color:var(--text);margin:0 0 2px}.pp-section-title p{font-size:13px;color:var(--muted-text);margin:0}.pp-back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.pp-back-btn:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.pp-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border-radius:12px;border:none;background:var(--accent);color:#ffffff;font-size:13px;font-weight:700;cursor:pointer;transition:all .18s ease;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 25%,transparent)}.pp-btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.pp-btn-primary.large{padding:12px 22px;font-size:14px}.pp-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease}.pp-btn-secondary:hover{background:color-mix(in srgb,var(--text) 6%,transparent);border-color:var(--accent)}.pp-btn-secondary.large{padding:12px 22px;font-size:14px}.pp-text-btn{background:none;border:none;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;padding:4px 8px}.pp-children-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:16px;gap:16px}.pp-child-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;align-items:center;gap:16px;cursor:pointer;transition:all .2s ease}.pp-child-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 10%,transparent)}.pp-child-card.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:0 0 0 2px var(--accent)}.pp-cc-avatar{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#3b82f6,#1e40af);color:#ffffff;font-size:18px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-cc-body{flex-direction:column;gap:4px;min-width:0}.pp-cc-body h3{font-size:16px;font-weight:700;color:var(--text);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-cc-sub{font-size:12px;color:var(--muted-text)}.pp-cc-balance-badge{margin-top:4px}.pp-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px}.pp-pill.success{background:color-mix(in srgb,#10b981 14%,transparent);color:#10b981}.pp-pill.danger{background:color-mix(in srgb,#ef4444 14%,transparent);color:#ef4444}.pp-pill.warning{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706}.pp-pill.info{background:color-mix(in srgb,#3b82f6 14%,transparent);color:#3b82f6}.pp-financial-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface)) 0,var(--surface) 100%);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:18px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.pp-fh-info{display:flex;flex-direction:column;gap:4px}.pp-fh-label{font-size:12px;font-weight:600;color:var(--muted-text);text-transform:uppercase;letter-spacing:.5px}.pp-fh-amount{font-size:32px;font-weight:900;color:var(--text);margin:0;line-height:1.1}.pp-fh-sub{font-size:13px;color:var(--muted-text);margin:0}.pp-fh-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pp-sub-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.pp-sub-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px}.pp-sc-header{justify-content:space-between}.pp-sc-header,.pp-sc-header h3{display:flex;align-items:center}.pp-sc-header h3{font-size:15px;font-weight:700;color:var(--text);margin:0;gap:8px}.pp-sc-list{display:flex;flex-direction:column;gap:10px}.pp-sc-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--surface-strong) 60%,transparent);border:1px solid var(--line)}.pp-sc-row strong{font-size:13px;color:var(--text);display:block}.pp-sc-row small{font-size:11px;color:var(--muted-text)}.pp-score-pill{font-size:13px;font-weight:800;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);padding:4px 10px;border-radius:8px}.pp-status-pill{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--text)}.pp-empty-box{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 20px;background:color-mix(in srgb,var(--surface) 60%,transparent);border:1px dashed var(--line);border-radius:16px;gap:10px}.pp-empty-box.compact{padding:18px}.pp-empty-box h3{font-size:16px;font-weight:700;color:var(--text);margin:0}.pp-empty-box p{max-width:380px}.pp-empty-box p,.pp-empty-text{font-size:13px;color:var(--muted-text);margin:0}.pp-empty-text{text-align:center;padding:12px 0}.pp-child-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 20px;box-shadow:0 2px 8px rgba(0,0,0,.02)}.pp-child-filter-bar label{font-size:13.5px;font-weight:700;color:var(--muted-text);display:flex;align-items:center;gap:8px}.pp-child-filter-bar .pp-select-input{max-width:280px;font-weight:600;background:var(--surface-strong);border-color:var(--line)}.pp-courses-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:18px;gap:18px}.pp-course-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;transition:all .22s ease;box-shadow:0 4px 16px rgba(0,0,0,.03);position:relative;overflow:hidden}.pp-course-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));box-shadow:0 12px 32px color-mix(in srgb,var(--accent) 12%,transparent)}.pp-cc-header-row{display:flex;align-items:flex-start;gap:14px}.pp-cc-icon-bg{width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-cc-info{display:flex;flex-direction:column;gap:4px;min-width:0}.pp-cc-info h3{font-size:17px;font-weight:800;color:var(--text);margin:0;line-height:1.25}.pp-cc-code-tag{font-size:12px;font-weight:600;color:var(--muted-text)}.pp-cc-body{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.pp-course-fee{font-size:17px;font-weight:900;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:6px 14px;border-radius:10px;display:inline-flex;align-items:center}.pp-course-actions{display:flex;align-items:center;gap:10px;margin-top:4px}.pp-offers-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-gap:18px;gap:18px}.pp-offer-card{justify-content:space-between;gap:16px;transition:all .22s ease}.pp-offer-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,#10b981 50%,var(--line));box-shadow:0 12px 32px color-mix(in srgb,#10b981 12%,transparent)}.pp-oc-header{gap:14px}.pp-oc-icon-bg{width:48px;height:48px;background:color-mix(in srgb,#10b981 15%,transparent);color:#10b981}.pp-oc-header h3{font-size:17px;font-weight:800;color:var(--text);margin:0 0 4px}.pp-oc-header p{font-size:13px;margin:0}.pp-oc-body{align-items:center}.pp-oc-amount{font-size:20px}.pp-oc-actions{gap:10px}.pp-report-list{display:flex;flex-direction:column;gap:14px}.pp-report-card-item{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:all .18s ease}.pp-report-card-item:hover{transform:translateY(-2px);border-color:color-mix(in srgb,#3b82f6 40%,var(--line));box-shadow:0 8px 24px rgba(0,0,0,.04)}.pp-rci-left{gap:16px}.pp-rc-icon-bg,.pp-rci-left{display:flex;align-items:center}.pp-rc-icon-bg{width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,#3b82f6 15%,transparent);color:#3b82f6;justify-content:center;flex-shrink:0}.pp-rci-left h3{font-size:16px;font-weight:700;color:var(--text);margin:0 0 2px}.pp-rci-left p{font-size:13px;color:var(--muted-text);margin:0}.pp-rci-right{flex-shrink:0}.pp-score-badge{display:flex;flex-direction:column;align-items:flex-end;gap:2px;background:color-mix(in srgb,var(--accent) 12%,transparent);padding:8px 16px;border-radius:12px;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}.pp-score-badge span{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted-text);letter-spacing:.5px}.pp-score-badge strong{font-size:18px;font-weight:900;color:var(--accent)}.pp-charges-stack{display:flex;flex-direction:column;gap:20px}.pp-child-charge-box{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 4px 16px rgba(0,0,0,.02)}.pp-cc-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.pp-cc-student-info{display:flex;align-items:center;gap:14px}.pp-avatar-sm{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--accent) 0,#0d473b 100%);color:#ffffff;font-size:16px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-cc-student-info h3{font-size:17px;font-weight:800;color:var(--text);margin:0 0 2px}.pp-cc-owed{font-size:13px;color:var(--muted-text)}.pp-cc-owed strong{color:var(--accent);font-weight:800}.pp-month-card,.pp-months-list{display:flex;flex-direction:column;gap:14px}.pp-month-card{background:color-mix(in srgb,var(--surface-strong) 70%,transparent);border:1px solid var(--line);border-radius:16px;padding:18px}.pp-mc-header{display:flex;align-items:center;justify-content:space-between}.pp-mc-header h4{font-size:16px;font-weight:800;color:var(--text);margin:0 0 2px;text-transform:capitalize}.pp-mc-total{font-size:13px;font-weight:700;color:var(--muted-text)}.pp-warning-text{font-size:12px;font-weight:600;color:#d97706;margin:0}.pp-charges-table{display:flex;flex-direction:column;gap:8px}.pp-ct-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:12px}.pp-ct-desc{display:flex;flex-direction:column;gap:2px}.pp-ct-desc strong{font-size:13.5px;font-weight:700;color:var(--text)}.pp-ct-desc small{font-size:11px;color:var(--muted-text)}.pp-ct-val{display:flex;align-items:center;gap:12px}.pp-ct-val strong{font-size:14px;font-weight:800;color:var(--text)}.pp-profile-prompt-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;background:color-mix(in srgb,#f59e0b 12%,var(--surface-strong));border:1px solid color-mix(in srgb,#f59e0b 35%,transparent);border-radius:16px}.pp-ppb-left{display:flex;align-items:center;gap:14px}.pp-ppb-left h3{font-size:15px;font-weight:700;color:var(--text);margin:0 0 2px}.pp-ppb-left p{font-size:13px;color:var(--muted-text);margin:0}.pp-form-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px}.pp-field{display:flex;flex-direction:column;gap:6px}.pp-field span{font-size:13px;font-weight:600;color:var(--text)}.pp-field.missing span{color:#d97706}.pp-input,.pp-select-input{width:100%;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px;outline:none;transition:all .18s ease}.pp-input[type=date]{color-scheme:light dark}.pp-input:-moz-read-only{background-color:var(--surface-strong);color:var(--text);border-color:var(--line)}.pp-input:disabled,.pp-input:read-only,.pp-select-input:disabled{background-color:var(--surface-strong);color:var(--text);border-color:var(--line)}.pp-input[type=file]{padding:6px 12px}.pp-input[type=file]::-webkit-file-upload-button{background:var(--surface-strong);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;margin-right:12px;-webkit-transition:all .15s ease;transition:all .15s ease}.pp-input[type=file]::file-selector-button{background:var(--surface-strong);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer;margin-right:12px;transition:all .15s ease}.pp-input[type=file]::-webkit-file-upload-button:hover{background:var(--accent);color:var(--accent-text,#ffffff);border-color:var(--accent)}.pp-input[type=file]::file-selector-button:hover{background:var(--accent);color:var(--accent-text,#ffffff);border-color:var(--accent)}.pp-notif-filter-bar{margin-bottom:8px}.pp-notification-list{display:flex;flex-direction:column;gap:16px}.pp-notification-card{display:flex;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;transition:all .2s ease;position:relative}.pp-notification-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 8px 24px rgba(0,0,0,.05)}.pp-notification-card.unread{border-left:5px solid var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.pp-nc-left-icon{flex-shrink:0}.pp-nc-icon-wrap{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center}.pp-nc-icon-wrap.purple{background:color-mix(in srgb,#a855f7 15%,transparent);color:#a855f7}.pp-nc-icon-wrap.blue{background:color-mix(in srgb,#3b82f6 15%,transparent);color:#3b82f6}.pp-nc-content{display:flex;flex-direction:column;gap:10px;flex:1 1;min-width:0}.pp-nc-header{justify-content:space-between;gap:12px;flex-wrap:wrap}.pp-nc-badges,.pp-nc-header{display:flex;align-items:center}.pp-nc-badges{gap:8px}.pp-badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:8px}.pp-badge.badge-purple{background:color-mix(in srgb,#a855f7 14%,transparent);color:#9333ea}.pp-badge.badge-blue{background:color-mix(in srgb,#3b82f6 14%,transparent);color:#2563eb}.pp-unread-pill{font-size:11px;font-weight:700;color:#ffffff;background:#ef4444;padding:2px 8px;border-radius:99px}.pp-nc-date{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted-text)}.pp-nc-title{font-size:16px;font-weight:700;color:var(--text);margin:0;line-height:1.3}.pp-nc-body{font-size:14px;color:var(--muted-text);line-height:1.55;margin:0;background:color-mix(in srgb,var(--surface-strong) 70%,transparent);padding:12px 16px;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.pp-nc-footer{display:flex;justify-content:flex-end;margin-top:2px}.pp-nc-read-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:10px;font-size:12px;font-weight:600;border:1px solid var(--line);cursor:pointer;transition:all .18s ease}.pp-nc-read-btn.unread{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.pp-nc-read-btn.unread:hover{background:var(--accent);color:#ffffff}.pp-nc-read-btn.read{background:transparent;color:var(--muted-text);border-color:transparent;cursor:default}.pp-modal-overlay{background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:ppFadeIn .18s ease-out}@keyframes ppFadeIn{0%{opacity:0}to{opacity:1}}.pp-modal-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:24px;padding:28px;width:100%;max-width:480px;box-shadow:0 20px 50px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:20px;animation:ppSlideUp .2s ease-out}@keyframes ppSlideUp{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.pp-modal-header{align-items:flex-start;gap:14px;position:relative}.pp-modal-icon{width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-modal-icon.icon-amber{background:color-mix(in srgb,#f59e0b 16%,transparent);color:#d97706}.pp-modal-titles{flex:1 1}.pp-modal-titles h3{font-size:18px;font-weight:800;color:var(--text);margin:0 0 4px}.pp-modal-titles p{font-size:13px;color:var(--muted-text);margin:0}.pp-modal-close{background:none;width:32px;height:32px;color:var(--muted-text)}.pp-modal-close:hover{background:var(--surface);color:var(--text)}.pp-modal-body{gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px}.pp-modal-detail-row{font-size:13px;padding-bottom:8px;border-bottom:1px dashed color-mix(in srgb,var(--line) 70%,transparent)}.pp-modal-detail-row:last-of-type{border-bottom:none;padding-bottom:0}.pp-modal-alert{gap:10px;background:color-mix(in srgb,#3b82f6 12%,transparent);border:1px solid color-mix(in srgb,#3b82f6 30%,transparent);border-radius:12px;padding:10px 14px;color:#2563eb;font-size:12px;font-weight:500;line-height:1.4;margin-top:4px}@media (max-width:1024px){.pp-sub-grid,.sp-bento-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.pp-header,.sp-header{flex-direction:column;align-items:stretch}.pp-top-actions,.sp-top-actions{justify-content:flex-end}.pp-hero-content,.sp-hero-content{flex-direction:column;text-align:center}.pp-hero-header,.pp-hero-tags,.sp-hero-header,.sp-hero-tags{justify-content:center}.pp-financial-hero{flex-direction:column;align-items:stretch;text-align:center}.pp-fh-actions{justify-content:center}.pp-form-grid{grid-template-columns:1fr}.pp-profile-prompt-banner,.sp-header{flex-direction:column;align-items:stretch}.sp-top-actions{justify-content:flex-end}.sp-hero-content{flex-direction:column;text-align:center}.sp-hero-header,.sp-hero-tags{justify-content:center}.sp-assignment-grid,.sp-bento-grid{grid-template-columns:1fr}.sp-nav-controls{flex-direction:column;align-items:stretch}.sp-search-box{width:100%}}.metric-card{border:1px solid var(--line);border-radius:6px;padding:12px;display:grid;grid-gap:8px;gap:8px;background:var(--surface-strong)}.metric-card strong{font-size:24px}.attendance-review-workspace{gap:18px}.attendance-filter-card{display:grid;grid-gap:16px;gap:16px}.attendance-filter-grid{align-items:end}.attendance-metric-card{position:relative;min-height:124px;align-content:start}.attendance-metric-card small{color:var(--muted);font-size:12px;line-height:1.35}.attendance-metric-icon{position:absolute;top:12px;right:12px;color:var(--accent)}.at-risk-card,.attendance-chart-card,.attendance-policy-card{min-width:0}.attendance-secondary-section{grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr)}.attendance-policy-form{display:grid;grid-gap:10px;gap:10px;max-width:360px}.attendance-policy-form .button{justify-self:start}.attendance-chart-card .records-header>svg,.attendance-policy-card .records-header>svg{color:var(--accent)}.attendance-risk-row{align-items:center}.attendance-risk-row span{display:grid;grid-gap:3px;gap:3px}.attendance-risk-row small{color:var(--muted)}.attendance-status-present{color:#166534;background:color-mix(in srgb,#22c55e 16%,var(--surface))}.attendance-status-absent{color:#9a3412;background:color-mix(in srgb,#f97316 16%,var(--surface))}.attendance-status-late{color:#854d0e;background:color-mix(in srgb,#eab308 20%,var(--surface))}.attendance-status-justified{color:#4338ca;background:color-mix(in srgb,#6366f1 16%,var(--surface))}.section{margin-top:20px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);grid-gap:14px;gap:14px}.dashboard-single-section{grid-template-columns:1fr}.dashboard-priority-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.dashboard-grade-heavy{grid-template-columns:1fr}.students-by-grade-card{min-width:0}.grade-capacity-header{margin-top:14px;margin-bottom:8px;align-items:center}.grade-capacity-header h2{font-size:15px}.grade-capacity-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(98px,1fr));grid-gap:8px;gap:8px}.grade-capacity-pill{display:grid;grid-gap:2px;gap:2px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.grade-capacity-pill small,.grade-capacity-pill span{color:var(--muted);font-size:11px;line-height:1.2}.grade-capacity-pill strong{color:var(--text);font-size:15px;line-height:1.15}.table{width:100%;border-collapse:collapse}.table td,.table th{border-bottom:1px solid var(--line);padding:12px 8px;text-align:left;font-size:14px}.table th{color:var(--muted);font-weight:650}.table tr.selected-row td{background:color-mix(in srgb,var(--accent) 10%,transparent)}.table tr.clickable-row{cursor:pointer}.table tr.clickable-row:hover td{background:color-mix(in srgb,var(--accent) 8%,transparent)}.landing-page{min-height:100vh;background:var(--bg)}.landing-hero{position:relative;min-height:min(720px,86vh);color:#ffffff;background-image:url(/images/landing-hero-school-ops.png);background-size:cover;background-position:100%;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.landing-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,18,16,.92),rgba(10,18,16,.72) 38%,rgba(10,18,16,.22) 78%),linear-gradient(0deg,rgba(10,18,16,.22),rgba(10,18,16,.05))}.landing-nav{position:relative;z-index:1;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:16px}.landing-brand{display:inline-flex;align-items:center;gap:9px;color:#ffffff;font-size:20px;font-weight:760}.landing-brand img{width:34px;height:34px;border-radius:8px;padding:3px}.landing-brand img,.landing-hero-mark{background:rgba(255,255,255,.94);object-fit:contain}.landing-hero-mark{width:78px;height:78px;border-radius:18px;padding:8px;margin-bottom:18px;box-shadow:0 18px 42px rgba(4,12,10,.28)}.landing-actions,.landing-final-actions,.landing-nav-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.landing-actions .button,.landing-nav .button{border-color:rgba(255,255,255,.32)}.hero-secondary,.landing-nav .button:not(.primary){background:rgba(255,255,255,.12);color:#ffffff}.landing-hero-content{position:relative;z-index:1;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:64px 0 76px;display:grid;align-content:center;max-width:680px;justify-self:start}.landing-hero-content .eyebrow{color:rgba(255,255,255,.78)}.landing-hero h1{font-size:clamp(48px,8vw,88px);line-height:.98;margin-bottom:20px}.landing-lede{font-size:20px;line-height:1.5;color:rgba(255,255,255,.88);max-width:620px}.landing-band{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:54px 0}.landing-section-head{display:grid;grid-gap:8px;gap:8px;max-width:760px;margin-bottom:24px}.landing-final h2,.landing-section-head h2,.landing-split h2{font-size:34px;line-height:1.15;margin-bottom:0}.landing-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.landing-card,.landing-row{background:var(--surface);border:1px solid var(--line);border-radius:8px}.landing-card{min-height:218px;padding:18px;display:grid;align-content:start;grid-gap:12px;gap:12px}.landing-card svg,.landing-checks svg,.landing-row svg{color:var(--accent);flex:0 0 auto}.landing-card h3,.landing-row h3{margin-bottom:0}.landing-card p,.landing-copy,.landing-row p{color:var(--muted);line-height:1.55;margin-bottom:0}.landing-final,.landing-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(360px,1.15fr);grid-gap:28px;gap:28px;align-items:start}.landing-audience-list{display:grid;grid-gap:12px;gap:12px}.landing-row{padding:16px;display:flex;gap:14px}.landing-proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.landing-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.landing-checks span{min-height:48px;border:1px solid var(--line);border-radius:8px;background:var(--surface);display:flex;align-items:center;gap:10px;padding:11px 12px;font-weight:650}.landing-final{align-items:center;padding-bottom:72px}.landing-final-actions{justify-content:flex-end}.json-panel{min-height:140px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px;line-height:1.45;padding:12px;white-space:pre-wrap}.audit-change-panel{display:grid;grid-gap:12px;gap:12px;margin-top:14px}.audit-change-panel h3{margin:0;font-size:15px}.audit-change-list{display:grid;grid-gap:8px;gap:8px}.audit-change-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr) minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px 12px}.audit-change-row span{min-width:0;overflow-wrap:anywhere;color:var(--muted)}.technical-detail{margin-top:14px}.technical-detail summary{cursor:pointer;color:var(--muted);font-weight:700}.mobile-shell{min-height:100vh;max-width:520px;margin:0 auto;background:var(--surface);border-left:1px solid var(--line);border-right:1px solid var(--line)}.mobile-header{padding:18px 18px 12px;border-bottom:1px solid var(--line)}.mobile-content{padding:16px}.mobile-content,.student-card{display:grid;grid-gap:12px;gap:12px}.parent-loading-state{min-height:180px;display:grid;place-items:center}.parent-empty-state{min-height:320px;display:grid;place-items:center}.parent-primary-action{width:min(100%,300px);min-height:150px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--accent-text);display:grid;place-items:center;grid-gap:10px;gap:10px;font:inherit;font-size:18px;font-weight:750;cursor:pointer}.parent-child-list{display:grid;grid-gap:8px;gap:8px}.parent-child-button,.payment-option{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);color:var(--text);display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;padding:12px;text-align:left;font:inherit;cursor:pointer}.parent-child-button.selected,.parent-child-button:hover,.payment-option.selected,.payment-option:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface-strong) 88%,var(--accent) 12%)}.parent-child-button span,.payment-option span{display:grid;grid-gap:3px;gap:3px}.parent-child-button small,.payment-option small{color:var(--muted);font-size:12px}.payment-option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:8px;gap:8px}.parent-payment-target{margin-bottom:18px}.parent-payment-methods{margin-top:6px;margin-bottom:20px}.parent-payment-summary{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.parent-payment-summary small,.parent-payment-summary span{color:var(--muted)}.parent-balance-kpi{min-width:150px;padding:10px 12px}.parent-balance-kpi strong{font-size:18px}.charge-child-group,.parent-charge-detail{display:grid;grid-gap:14px;gap:14px}.charge-child-group{border-top:1px solid var(--line);padding-top:14px}.charge-child-group:first-child{border-top:0;padding-top:0}.charge-month-group{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:6px;padding:10px;background:var(--surface-strong)}.parent-profile-prompt{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto) auto;grid-gap:14px;gap:14px;align-items:center;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.parent-profile-prompt h2{margin:2px 0}.parent-profile-missing{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.parent-profile-field span{display:flex;align-items:center;justify-content:space-between;gap:8px}.parent-profile-field em{color:var(--danger);font-size:11px;font-style:normal;font-weight:750}.parent-profile-field.missing input{border-color:color-mix(in srgb,var(--danger) 65%,var(--line))}.status-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.pill{justify-content:center;border-radius:999px;padding:4px 9px;color:var(--accent-strong);font-weight:650;line-height:1;min-height:24px;text-align:center}.exchange-rate-status,.pill{display:inline-flex;align-items:center;background:var(--surface-strong);font-size:12px}.exchange-rate-status{gap:8px;flex-wrap:wrap;justify-content:flex-end;border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:var(--text);line-height:1.2;max-width:100%}.exchange-rate-status strong{font-weight:750}.exchange-rate-status span,.exchange-rate-status.muted,.exchange-rate-status.stale{color:var(--muted)}.attendance-list{display:grid;grid-gap:8px;gap:8px}.attendance-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:12px;color:var(--muted);font-size:13px}.attendance-legend span{display:inline-flex;align-items:center;gap:6px}.attendance-legend strong{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:12px}.attendance-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(4,44px);grid-gap:8px;gap:8px;align-items:center}.mini-list{display:flex;flex-direction:column;gap:4px;margin-top:12px}.mini-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent);padding:10px 4px;font-size:13.5px}.mini-row.action-row{width:100%;background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);cursor:pointer;font:inherit;text-align:left;color:inherit;text-decoration:none;border-radius:8px;padding:9px 12px;margin:0;transition:background .15s ease,border-color .15s ease}.mini-row.action-row:hover{background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-bottom-color:transparent}.mini-row.action-row:last-child,.mini-row:last-child{border-bottom:0}.finance-mix{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1.2fr);grid-gap:18px;gap:18px;align-items:center}.finance-mix .chart-frame{height:232px;margin-top:0}.finance-mix-list{align-content:center}.finance-agreement-form-card,.finance-agreement-intro,.finance-quick-action-card{display:grid;grid-gap:14px;gap:14px}.finance-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.finance-action-card{min-height:88px;border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);color:var(--text);display:grid;grid-template-columns:28px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;padding:12px;text-align:left;font:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease}.finance-action-card.active,.finance-action-card:focus-visible,.finance-action-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface-strong) 88%,var(--accent) 12%)}.finance-action-card span:last-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.finance-action-card small{color:var(--muted);font-size:12px;line-height:1.35}.agreement-summary-strip{display:flex;gap:8px;flex-wrap:wrap}.agreement-summary-strip span{border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);padding:6px 10px;font-size:12px;line-height:1.25}.agreement-charge-list{display:grid;grid-gap:8px;gap:8px;padding:10px;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}.agreement-records{display:grid;grid-gap:14px;gap:14px}.agreement-records-table{min-width:860px}.agreement-records-table td{vertical-align:top;overflow-wrap:anywhere}.agreement-records-table tr.clickable-row:focus-visible td{outline:2px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:-2px}.table-subtext{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}.agreement-detail-panel{display:grid;grid-gap:14px;gap:14px;border-top:1px solid var(--line);padding-top:14px}.agreement-detail-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:12px}.agreement-detail-header h3,.agreement-detail-header p,.agreement-linked-charges h4{margin:0}.agreement-detail-header h3{font-size:18px;line-height:1.25;overflow-wrap:anywhere}.agreement-detail-header p{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.agreement-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px 14px;gap:10px 14px;margin:0}.agreement-detail-item{display:grid;grid-gap:3px;gap:3px;min-width:0}.agreement-detail-item.wide{grid-column:span 3}.agreement-detail-item dt{color:var(--muted);font-size:11px;font-weight:750;line-height:1.25;text-transform:uppercase}.agreement-detail-item dd{margin:0;color:var(--text);font-size:14px;line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap}.agreement-linked-charges{display:grid;grid-gap:8px;gap:8px}.agreement-linked-charges h4{font-size:15px;line-height:1.3}.agreement-linked-charges-table{min-width:780px}.legend-label{display:inline-flex;align-items:center;gap:10px;min-width:0}.legend-label i{display:inline-block;width:10px;height:10px;flex:0 0 10px;border-radius:999px}.legend-label span{display:grid;grid-gap:2px;gap:2px;min-width:0}.legend-label small{color:var(--muted);font-size:12px}.optional-course-selector{margin-top:12px;max-width:420px}.optional-course-list{margin-top:40px;padding-top:18px;border-top:1px solid var(--line)}.detail-panel{margin-top:16px;border-top:1px solid var(--line);padding-top:14px;display:grid;grid-gap:10px;gap:10px;min-width:0}.announcement-detail-panel{border:1px solid var(--line);border-radius:8px;padding:14px;background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}.announcement-list{display:grid;grid-gap:8px;gap:8px;min-width:560px}.announcement-row{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden}.announcement-row.expanded{border-color:color-mix(in srgb,var(--accent) 42%,var(--line))}.announcement-row-summary{width:100%;display:grid;grid-template-columns:20px minmax(0,1fr) auto minmax(88px,auto);grid-gap:12px;gap:12px;align-items:center;border:0;background:transparent;color:inherit;text-align:left;padding:12px;cursor:pointer;font:inherit}.announcement-row-summary svg{transition:transform .12s ease}.announcement-row-summary[aria-expanded=true] svg{transform:rotate(180deg)}.announcement-row-summary span:nth-child(2){display:grid;grid-gap:3px;gap:3px;min-width:0}.announcement-row-summary small{color:var(--muted);font-size:12px}.announcement-inline-detail{display:grid;grid-gap:10px;gap:10px;padding:0 12px 12px}.announcement-message{display:grid;grid-gap:6px;gap:6px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.announcement-message p{margin:0;white-space:pre-wrap}.attendance-toggle{width:44px;height:36px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:750;cursor:pointer}.attendance-toggle.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.attendance-toggle.active svg{color:currentColor}.finance-workspace,.payment-control-workspace{display:grid;grid-gap:14px;gap:14px}.stack{display:grid;grid-gap:22px;gap:22px}.professor-action-strip,.settings-action-strip{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.professor-action-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}.tabs{display:flex;gap:8px;overflow-x:auto}.tab{border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 12px;cursor:pointer;white-space:nowrap}.tab.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.system-admin-workspace{gap:18px}.system-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px}.system-toolbar h2{margin:0 0 4px;font-size:20px}.system-tabs{padding-bottom:8px}.system-filter-bar,.system-tabs{border-bottom:1px solid var(--line)}.system-filter-bar{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-bottom:12px}.system-filter-bar>div:first-child{display:grid;grid-gap:3px;gap:3px}.system-filter-bar strong{font-size:15px}.system-filter-bar span{color:var(--muted);font-size:13px}.system-application-toggle{width:min(100%,360px)}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:999px;padding:0 6px;background:var(--surface-strong);color:var(--accent-strong);font-size:12px;font-weight:700}.tab.active .tab-count{background:color-mix(in srgb,var(--accent-text) 20%,transparent);color:var(--accent-text)}.system-panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));grid-gap:14px;gap:14px}.system-billing-grid{grid-template-columns:minmax(320px,.85fr) minmax(360px,1.15fr);align-items:start}.system-billing-grid>.card:last-child{grid-column:1/-1}.system-admin-workspace .records-header .status-row{flex-wrap:wrap;justify-content:flex-end}.system-list,.system-school-list{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.system-row-card{border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);padding:12px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,1.2fr) auto;grid-gap:12px;gap:12px;align-items:center;min-width:0}.system-row-card.compact{grid-template-columns:minmax(220px,1fr) auto auto}.system-row-card.system-plan-row{grid-template-columns:minmax(220px,1fr) auto auto auto;align-items:start}.system-row-card.system-billing-row{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px}.system-row-card.system-billing-row>.status-pill{justify-self:start}.system-row-card.system-billing-row>.record-field{width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:8px}.system-row-card.system-billing-row>.record-field:last-child{justify-self:stretch}.system-row-card.system-billing-row .system-row-actions{justify-content:flex-start}.system-row-card.system-billing-row .system-row-actions .button{flex:1 1 118px;min-width:0}.system-row-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0}.system-row-actions .button{min-height:34px;padding:7px 10px}.system-row-main{display:grid;grid-gap:4px;gap:4px;min-width:0}.system-row-main strong{font-size:15px}.system-row-main span{color:var(--muted);font-size:13px;overflow-wrap:anywhere}.system-row-stats,.system-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));grid-gap:10px;gap:10px;min-width:0}.system-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:12px}.system-detail-grid .record-field.wide{grid-column:span 3}.system-plan-features{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.system-plan-price-list{display:grid;grid-gap:4px;gap:4px;margin-top:6px}.system-plan-features small,.system-plan-price-list small{border:1px solid var(--line);border-radius:6px;padding:3px 8px;background:var(--surface);color:var(--muted);font-size:12px}.system-plan-features small{border-radius:999px}.system-application-card,.system-company-card{align-content:start}.system-approve-form{margin-top:12px;gap:12px}.system-approve-form,.system-upload-row{border-top:1px solid var(--line);padding-top:12px}.system-upload-row{display:grid;grid-template-columns:minmax(130px,180px) minmax(180px,1fr) auto;grid-gap:10px 12px;gap:10px 12px;align-items:center;margin-top:14px}.system-decision-row,.system-form-actions{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap}.system-decision-row,.system-invite-actions{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.system-invite-actions{display:grid;grid-gap:10px;gap:10px}.system-contact-email-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;grid-gap:10px;gap:10px;align-items:end}.system-readonly-field strong{min-height:40px;border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);padding:9px 10px;font-size:14px;overflow-wrap:anywhere}.system-document-row{align-items:center}.system-document-list{margin-top:12px}.system-document-row .status-row{justify-content:flex-end;gap:6px}.notice{border-radius:6px;padding:10px 12px;font-size:14px}.notice.compact{padding:8px 10px;font-size:13px;overflow-wrap:anywhere}.notice.success{background:var(--success-bg);color:var(--success-text)}.notice.error{background:var(--error-bg);color:var(--danger)}.notice.warning{background:color-mix(in srgb,var(--warning) 14%,var(--surface));color:var(--text)}.finance-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);grid-gap:14px;gap:14px}.crud-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.login-page{min-height:100vh;display:grid;place-items:center;padding:18px}.login-card{width:min(480px,100%);display:grid;grid-gap:16px;gap:16px;position:relative}.access-request-card{width:min(1040px,100%)}.access-request-top-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.access-request-grid{align-items:start}.access-institution-type{border:0;display:grid;grid-gap:8px;gap:8px;margin:0;min-width:0;padding:0}.access-institution-type legend{color:var(--muted);font-size:13px;font-weight:650;padding:0}.access-institution-type .check-field{cursor:pointer}.access-institution-type .check-field.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.access-request-result{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px 16px;line-height:1.35}.access-request-result svg{flex:0 0 auto;margin-top:1px}.access-request-result span,.access-request-result strong{display:block}.access-request-result strong{margin-bottom:4px}.access-request-result.success{border-color:color-mix(in srgb,var(--success-text) 30%,var(--line));background:var(--success-bg);color:var(--success-text)}.access-request-result.error{border-color:color-mix(in srgb,var(--danger) 30%,var(--line));background:var(--error-bg);color:var(--danger)}.access-plan-section{display:grid;grid-gap:12px;gap:12px;border-top:1px solid var(--line);padding-top:14px}.access-plan-section h2{margin:0 0 4px;font-size:18px}.access-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.access-plan-card{position:relative;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);padding:14px;display:grid;grid-gap:12px;gap:12px;cursor:pointer;min-width:0}.access-plan-card input{position:absolute;opacity:0;pointer-events:none}.access-plan-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.access-plan-header{display:grid;grid-gap:4px;gap:4px}.access-plan-header strong{font-size:16px}.access-plan-features span,.access-plan-header span{color:var(--muted);font-size:13px}.access-plan-features{display:grid;grid-gap:8px;gap:8px}.access-plan-features span{display:flex;align-items:flex-start;gap:7px;color:var(--text);line-height:1.35}.access-plan-features svg{flex:0 0 auto;color:var(--accent-strong);margin-top:1px}.login-loading-panel{min-height:42px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent) 10%,var(--surface));color:var(--accent-strong);font-weight:750}.login-loading-panel svg{flex:0 0 auto;animation:loading-spin .85s linear infinite}.login-close-button{position:absolute;top:12px;right:12px;width:34px;height:34px;border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);color:var(--text);display:grid;place-items:center;text-decoration:none}.login-close-button:hover{border-color:var(--accent);color:var(--accent-strong)}.demo-login-grid,.login-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.demo-login-groups{display:grid;grid-gap:16px;gap:16px}.demo-login-section{display:grid;grid-gap:8px;gap:8px}.demo-login-section h3{margin:0;font-size:13px;line-height:1.2;color:var(--muted);font-weight:750}.login-action-grid .button:only-child{grid-column:1/-1}.login-card h2{font-size:15px;line-height:1.25}.google-signin{width:100%;min-height:42px}.google-signin iframe,.google-signin>div{width:100%!important}.google-auth-button{width:100%;min-height:42px;justify-content:center;background:#ffffff;color:#1f1f1f;border-color:#dadce0;font-weight:650}.google-auth-button:hover:not(:disabled){background:#f8fafd;border-color:#c8d3e4}.google-auth-button:disabled{opacity:1;background:#f7f8fa;color:#6f7672}.clerk-auth-actions{display:grid;grid-gap:.7rem;gap:.7rem}.clerk-auth-actions.signed-in{align-items:center;grid-template-columns:auto 1fr}.finance-form{display:grid;grid-gap:16px;gap:16px}.charge-rate-form{margin-bottom:20px}.rate-of-day-panel{border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);margin-bottom:18px;padding:14px}.rate-of-day-panel h3{margin:0 0 4px}.rate-of-day-form{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.full-span{grid-column:1/-1}.logo-settings-grid,.theme-grid,.theme-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:12px}.logo-preview-box{min-height:148px;border:1px dashed var(--line);border-radius:6px;background:var(--surface-strong);display:grid;place-items:center;padding:14px;color:var(--muted)}.logo-preview-box img{max-width:min(260px,100%);max-height:110px;object-fit:contain}.field{display:grid;grid-gap:6px;gap:6px}.field.full{grid-column:1/-1}.field.compact{min-width:260px}.check-field span,.field span{color:var(--muted);font-size:13px;font-weight:650}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--field-bg);color:var(--text);min-height:40px;padding:9px 10px}.field .field-help{color:var(--muted);font-size:12px;font-weight:500}.option-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));grid-gap:8px;gap:8px}.option-grid .check-field{min-height:40px;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:8px 10px}.inline-create-form{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}.compact-window-form{align-items:center;border-bottom:0;display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(2,minmax(118px,1fr)) auto;margin-bottom:0;padding-bottom:0}.compact-window-form input{border:1px solid var(--line);border-radius:6px;min-height:34px;padding:6px 8px}.embedded-records{min-width:0}.color-field div{display:grid;grid-template-columns:54px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center}.color-field input[type=color]{min-height:40px;padding:3px;cursor:pointer}.field textarea{resize:vertical}.check-field{display:flex;gap:8px;align-items:center}.theme-preview{border:1px solid var(--line);border-radius:6px;padding:12px;display:grid;grid-template-columns:96px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;background:var(--surface-strong)}.theme-preview.dark{background:#111614;color:#edf4f1}.theme-preview strong{grid-column:1/-1;color:inherit}.theme-preview em{align-self:stretch;min-height:70px;border-radius:6px;background:var(--preview-sidebar);display:grid;place-items:center;font-style:normal;font-size:13px;font-weight:750}.theme-preview span{width:-moz-fit-content;width:fit-content;min-height:34px;display:inline-flex;align-items:center;border-radius:6px;padding:7px 10px;background:var(--preview-primary);color:#ffffff;border-left:5px solid var(--preview-secondary)}.report-card-preview{border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);padding:14px;display:grid;grid-gap:12px;gap:12px;margin-top:12px}.report-card-preview.compact{margin-top:0}.report-card-preview span{color:var(--muted);display:block;font-size:13px;margin-top:2px}.report-card-header{display:flex;align-items:center;gap:12px;min-width:0}.report-card-header img{width:76px;height:48px;object-fit:contain;border-radius:6px;background:#ffffff;padding:4px;border:1px solid var(--line)}.checkbox-field{display:flex;align-items:center;gap:10px}.checkbox-field input{width:auto;min-height:0}.rule-list{display:grid;grid-gap:8px;gap:8px;margin-top:16px}.rule-list span{border-left:3px solid var(--accent);padding-left:10px;color:var(--muted);font-size:14px}.records-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:12px}.dashboard-chart-header{display:grid;grid-template-columns:1fr;align-items:start;grid-gap:12px;gap:12px}.dashboard-chart-header>div:first-child{min-width:0}.dashboard-chart-controls{align-items:end;flex-wrap:wrap}.dashboard-payment-header{display:flex;flex-direction:column;align-items:stretch;gap:14px}.dashboard-payment-title{min-width:0}.dashboard-payment-title h2{margin-bottom:4px}.dashboard-payment-actions{width:100%;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-start}.dashboard-payment-actions .dashboard-toggle{flex:0 1 auto;min-width:0}.dashboard-payment-currency{flex:0 1 140px;min-width:110px}.dashboard-toggle{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface-strong) 76%,var(--surface));box-shadow:inset 0 1px 2px rgb(24 32 29/.06);max-width:100%;width:-moz-fit-content;width:fit-content}.dashboard-toggle button{border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:13px;font-weight:600;min-height:34px;padding:6px 14px;white-space:nowrap;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;justify-content:center;text-align:center;transition:background .18s cubic-bezier(.16,1,.3,1),color .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1)}.dashboard-toggle button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px rgb(24 32 29/.14),0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent)}.dashboard-toggle button:not(.active):hover{color:var(--text);background:color-mix(in srgb,var(--surface) 40%,transparent)}:root[data-theme=dark] .dashboard-toggle button.active{background:color-mix(in srgb,var(--surface) 88%,#fff 12%)}.dashboard-range-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,420px);grid-gap:16px;gap:16px;align-items:end;margin-top:18px}.institution-dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center;margin-top:14px;border-color:color-mix(in srgb,var(--accent) 24%,var(--line))}.dashboard-filter-bar{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));grid-gap:10px;gap:10px;align-items:end;justify-content:stretch}.dashboard-filter-bar.range-mode{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-filter-field,.dashboard-filter-field input,.dashboard-filter-field select{min-width:0}.dashboard-academic-filters{max-width:520px;grid-template-columns:repeat(2,minmax(180px,1fr))}.dashboard-filter-field input[type=date],.dashboard-filter-field input[type=month]{cursor:pointer;color-scheme:light}:root[data-theme=dark] .dashboard-filter-field input[type=date],:root[data-theme=dark] .dashboard-filter-field input[type=month]{color-scheme:dark}.dashboard-filter-field input[type=date]::-webkit-calendar-picker-indicator,.dashboard-filter-field input[type=month]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.85}:root[data-theme=dark] .dashboard-filter-field input[type=date]::-webkit-calendar-picker-indicator,:root[data-theme=dark] .dashboard-filter-field input[type=month]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.9}.records-scroll{overflow-x:auto}.account-list{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.account-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.account-row span,.account-row strong{display:block}.account-row span{color:var(--muted);font-size:13px}.account-row-meta{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.muted-pill{border-color:var(--line);color:var(--muted);background:transparent}.proof-preview{display:grid;grid-gap:10px;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.proof-preview-frame,.proof-preview-image{width:100%;max-height:520px;border:1px solid var(--line);border-radius:6px;background:#fff}.proof-preview-frame{height:520px}.proof-preview-image{object-fit:contain}.chart-frame{height:276px;margin-top:14px}.chart-frame,.empty-chart-state{width:100%;display:flex;flex-direction:column}.empty-chart-state{height:100%;min-height:240px;gap:12px;padding:24px;text-align:center;color:var(--muted);border:1.5px dashed color-mix(in srgb,var(--line) 75%,transparent);border-radius:12px;background:color-mix(in srgb,var(--surface-strong) 40%,var(--surface));font-size:13.5px;font-weight:500}.empty-chart-icon,.empty-chart-state{align-items:center;justify-content:center}.empty-chart-icon{width:48px;height:48px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);display:flex;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 10%,transparent)}.ledger-workspace-card{display:flex;flex-direction:column;gap:20px}.ledger-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.ledger-header-title{display:flex;align-items:center;gap:12px}.ledger-icon-badge{width:44px;height:44px;border-radius:10px;background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 15%,transparent)}.ledger-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px}.ledger-metric-card{display:flex;align-items:center;gap:14px;padding:16px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 90%,var(--bg));transition:transform .15s ease,box-shadow .15s ease}.ledger-metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--text) 5%,transparent)}.metric-icon-box{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.metric-icon-box.info{background:color-mix(in srgb,#3b82f6 15%,transparent);color:#2563eb}.metric-icon-box.danger{background:color-mix(in srgb,#ef4444 15%,transparent);color:#dc2626}.metric-icon-box.success{background:color-mix(in srgb,#10b981 15%,transparent);color:#059669}.metric-icon-box.accent{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.ledger-metric-card .metric-content{display:flex;flex-direction:column}.ledger-metric-card .metric-label{font-size:12px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.ledger-metric-card .metric-value{font-size:20px;font-weight:700;color:var(--text);line-height:1.2}.ledger-metric-card .metric-foot-sm{font-size:11px;color:var(--muted);margin-top:2px}.debit-text{color:#dc2626}.credit-text{color:#059669}.ledger-filter-toolbar{padding:12px 16px;background:color-mix(in srgb,var(--surface) 95%,var(--bg));border:1px solid var(--line);border-radius:10px}.ledger-search-box{min-width:260px}.ledger-search-box .search-icon{left:12px}.ledger-search-input{padding-left:36px;padding-right:32px;width:100%}.clear-search-btn:hover{background:color-mix(in srgb,var(--line) 50%,transparent)}.ledger-source-pills{flex-wrap:wrap}.ledger-pill,.ledger-source-pills{display:flex;align-items:center;gap:6px}.ledger-pill{padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s ease}.ledger-pill:hover{background:color-mix(in srgb,var(--line) 30%,var(--surface));color:var(--text)}.ledger-pill.active{background:var(--accent);color:#ffffff;border-color:var(--accent)}.ledger-pill .pill-count{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;border-radius:10px;font-size:11px;font-weight:600;background:color-mix(in srgb,var(--text) 10%,transparent)}.ledger-pill.active .pill-count{background:rgba(255,255,255,.25);color:#ffffff}.ledger-custom-table th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:12px 14px}.ledger-custom-table td{padding:12px 14px;vertical-align:middle}.ledger-date-cell{display:flex;flex-direction:column;gap:2px}.ledger-entry-date{font-weight:600;font-size:13px;color:var(--text)}.ledger-ref-tag{font-family:monospace;font-size:11px;color:var(--muted)}.ledger-memo-cell{max-width:320px}.ledger-memo-title{color:var(--text);font-size:14px;line-height:1.3}.ledger-impact-pill{display:inline-block;margin-top:3px;font-size:12px;color:var(--muted)}.ledger-source-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600}.source-badge-charge{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#d97706}.source-badge-payment{background:color-mix(in srgb,#10b981 15%,transparent);color:#059669}.source-badge-adjustment{background:color-mix(in srgb,#6366f1 15%,transparent);color:#4f46e5}.source-badge-expense{background:color-mix(in srgb,#0284c7 15%,transparent);color:#0284c7}.source-badge-default{background:color-mix(in srgb,var(--line) 50%,transparent);color:var(--muted)}.ledger-status-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:12px;font-size:12px;font-weight:500}.status-dot{width:6px;height:6px;border-radius:50%}.status-badge-posted{background:color-mix(in srgb,#10b981 12%,transparent);color:#059669}.status-badge-posted .status-dot{background:#10b981}.status-badge-pending{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#d97706}.status-badge-pending .status-dot{background:#f59e0b}.status-badge-reversed{background:color-mix(in srgb,#ef4444 12%,transparent);color:#dc2626}.status-badge-reversed .status-dot{background:#ef4444}.debit-tag{font-weight:700;color:#dc2626}.credit-tag{font-weight:700;color:#059669}.ledger-detail-btn{display:inline-flex;align-items:center;gap:4px}.ledger-expanded-container{padding:16px;background:color-mix(in srgb,var(--surface) 98%,var(--bg));border:1px solid var(--line);border-radius:10px;margin:6px 0;display:flex;flex-direction:column;gap:16px}.ledger-audit-header{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}.audit-meta-item{display:flex;align-items:center;gap:8px;font-size:13px}.meta-label{color:var(--muted);font-size:12px}.meta-code{font-family:monospace;background:color-mix(in srgb,var(--line) 40%,transparent);padding:2px 6px;border-radius:4px;font-size:12px}.copy-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center}.copy-btn:hover{color:var(--text)}.journal-lines-wrapper{display:flex;flex-direction:column;gap:10px}.journal-header-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--accent)}.journal-lines-table{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.journal-lines-table th{background:color-mix(in srgb,var(--line) 20%,var(--surface));font-size:11px}.account-code-badge{font-family:monospace;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:2px 6px;border-radius:4px;font-size:12px}.account-desc{color:var(--muted)}.journal-line-explanation{font-size:12px;color:var(--text)}.debit-highlight{color:#dc2626}.credit-highlight{color:#059669}.ledger-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;gap:10px;color:var(--muted)}.empty-icon{opacity:.4}.text-right{text-align:right}.text-center{text-align:center}.action-tab-panel,.embedded-form{margin-top:14px}.scheduler-panel{display:grid;grid-gap:16px;gap:16px}.pager-row{display:flex;gap:10px;align-items:center;justify-content:flex-end}.button:disabled{opacity:.48;cursor:not-allowed}.logo-panel,.search-panel{grid-column:1/-1}.logo-panel{max-width:760px;width:100%}.logo-panel .logo-settings-grid{grid-template-columns:minmax(220px,280px) minmax(220px,340px);align-items:start}.logo-upload-form{max-width:340px;width:100%;justify-self:start}.logo-upload-form .button{width:-moz-fit-content;width:fit-content}.instructor-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:22px;gap:22px}.instructor-list,.schedule-list{display:grid;grid-gap:8px;gap:8px}.instructor-row,.schedule-row{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;border:1px solid var(--line);border-radius:6px;padding:12px;background:var(--surface-strong)}.instructor-row.selectable{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.instructor-row.selectable:focus-visible,.instructor-row.selectable:hover,.instructor-row.selected{border-color:var(--accent);background:color-mix(in srgb,var(--surface-strong) 88%,var(--accent) 12%)}.instructor-row div,.schedule-row div{display:grid;grid-gap:4px;gap:4px;min-width:0}.instructor-row strong,.schedule-row strong{font-size:14px}.instructor-row span,.schedule-row span{color:var(--muted);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.record-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:12px}.record-card,.record-card-grid{display:grid;grid-gap:10px;gap:10px}.record-card{border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);padding:12px;align-content:start;min-width:0}.record-card.selectable{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}.record-card.selectable:focus-visible,.record-card.selectable:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface-strong) 88%,var(--accent) 12%)}.metric-button strong{font-size:20px}.setup-issue-panel{border-color:color-mix(in srgb,var(--warning,#b45309) 36%,var(--line))}.compact-button{min-height:32px;justify-self:start;pointer-events:none}.record-field{display:grid;grid-gap:3px;gap:3px;min-width:0}.record-field span{color:var(--muted);font-size:12px;font-weight:650}.record-field strong{color:var(--text);font-size:14px;line-height:1.35;overflow-wrap:anywhere}.pipeline-board{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px;align-items:start}.pipeline-column{border:1px solid var(--line);border-radius:6px;background:var(--surface);min-width:0}.pipeline-column-header{min-height:42px;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.pipeline-column-header strong{min-width:0;font-size:13px;line-height:1.3;overflow-wrap:anywhere}.pipeline-column-header span{flex:0 0 auto;min-width:26px;min-height:26px;border:1px solid var(--line);border-radius:999px;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:700}.pipeline-column-body{display:grid;grid-gap:8px;gap:8px;padding:10px}.pipeline-card{border:1px solid var(--line);border-radius:6px;background:var(--surface-strong);padding:10px;display:grid;grid-gap:9px;gap:9px;min-width:0;cursor:pointer}.pipeline-card span,.pipeline-card strong{overflow-wrap:anywhere}.pipeline-card strong{font-size:14px}.pipeline-card-person{display:grid;grid-gap:3px;gap:3px}.pipeline-card span,.pipeline-card-meta{color:var(--muted);font-size:12px;line-height:1.35}.pipeline-card-meta{display:grid;grid-gap:3px;gap:3px}.pipeline-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pipeline-actions.compact{gap:6px}.pipeline-actions select{min-height:36px;min-width:128px;max-width:190px;border:1px solid var(--line);border-radius:6px;background:var(--field-bg);color:var(--text);padding:7px 9px;font:inherit}.pipeline-actions.compact select{min-width:112px;max-width:150px}.enrollment-request-list{display:grid;grid-gap:10px;gap:10px}.enrollment-request-row{border-radius:6px;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px}.enrollment-request-summary{display:grid;grid-gap:4px}.enrollment-request-summary strong{font-size:14px}.enrollment-request-summary span{font-size:12px;line-height:1.35;overflow-wrap:anywhere}.enrollment-request-actions{flex-wrap:wrap;justify-content:flex-start}.modal-backdrop{position:fixed;inset:0;z-index:80;background:color-mix(in srgb,#000 48%,transparent);display:grid;place-items:center;padding:18px}.modal-panel{width:min(460px,100%);max-height:calc(100dvh - 36px);border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px color-mix(in srgb,#000 32%,transparent);padding:18px;display:grid;grid-gap:14px;gap:14px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.rate-edit-modal{width:min(720px,100%)}.modal-panel h2{margin:0}.modal-panel textarea{min-height:100px;resize:vertical}.download-format-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.download-format-actions .button{justify-content:center;min-height:44px}.inline-field-action{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.rate-category-manager{display:grid;grid-gap:8px;gap:8px;margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.rate-category-list{display:flex;flex-wrap:wrap;gap:8px}.rate-category-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 6px 4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px;font-weight:650}.compact-actions{gap:6px;flex-wrap:nowrap}.compact-actions .button{min-height:32px;padding:7px 10px;white-space:nowrap}.compact-setup-scroll{padding-bottom:2px}#setup-grades,#setup-levels,#setup-sections{grid-column:1/-1}#setup-grades .inline-create-form .form-grid,#setup-levels .inline-create-form .form-grid,#setup-sections .inline-create-form .form-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}#setup-grades .inline-create-form>.button,#setup-levels .inline-create-form>.button,#setup-sections .inline-create-form>.button{justify-self:start;width:auto;max-width:100%}.setup-edit-table{width:100%;table-layout:fixed;min-width:0}.setup-edit-table td,.setup-edit-table th{padding:10px 6px;vertical-align:middle}.setup-edit-table .inline-input{min-width:0}.setup-row-actions{gap:6px;flex-wrap:wrap}.setup-row-actions .button{min-height:32px;padding:7px 9px}.setup-edit-list{display:grid;margin-top:14px;max-height:430px;overflow-y:auto;padding-right:2px;border-top:1px solid var(--line)}.setup-edit-row{display:grid;grid-template-columns:minmax(110px,1.15fr) minmax(120px,1fr) minmax(120px,.9fr) minmax(78px,.55fr) auto auto;grid-gap:8px;gap:8px;align-items:end;min-width:0;padding:10px 0;border-bottom:1px solid var(--line)}.setup-edit-field,.setup-edit-meta{display:grid;grid-gap:4px;gap:4px;min-width:0}.setup-edit-field span,.setup-edit-meta span{color:var(--muted);font-size:11px;font-weight:750;line-height:1.2;text-transform:uppercase}.setup-edit-meta{align-self:center}.setup-edit-meta strong{overflow:hidden;color:var(--text);font-size:13px;font-weight:700;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.setup-edit-row .inline-input{min-width:0;min-height:34px;padding:7px 9px}.setup-capacity-field{max-width:96px}.setup-status-cell{align-self:center;min-width:0}.setup-row-actions-compact{align-self:center;justify-content:flex-end;flex-wrap:nowrap;gap:6px;min-width:max-content}.setup-action-button{width:34px;min-height:34px;height:34px;padding:0}.setup-action-button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--line))}.setup-empty-row{padding:14px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.status-chip{border:1px solid var(--line);border-radius:999px;display:inline-flex;align-items:center;min-height:26px;padding:4px 9px;font-size:12px;font-weight:700;white-space:nowrap}.status-chip.open{border-color:color-mix(in srgb,var(--success-text) 42%,var(--line));color:var(--success-text)}.status-chip.closed{color:var(--muted)}.status-legend{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:14px 0}.status-legend span{border-left:3px solid var(--line);color:var(--muted);display:grid;grid-gap:2px;gap:2px;font-size:12px;line-height:1.35;padding-left:8px}.status-legend strong{color:var(--text);font-size:13px}.stacked-cell{display:grid;grid-gap:3px;gap:3px;min-width:0}.stacked-cell span{color:var(--muted);font-size:12px;line-height:1.35}.stacked-fields{display:grid;grid-gap:6px;gap:6px;min-width:150px}.stacked-fields input,.stacked-fields select,.stacked-fields textarea{min-width:0;width:100%}.inline-decision-form{display:grid;grid-gap:6px;gap:6px;min-width:180px}.inline-decision-form input,.inline-decision-form select,.inline-decision-form textarea{min-width:0;width:100%}.inline-decision-form .actions{pointer-events:none}.inline-decision-form .actions .button{pointer-events:auto;position:relative;z-index:1}.manual-payment-charge-picker{min-width:0;border:1px solid var(--line);border-radius:12px;padding:14px;background:color-mix(in srgb,var(--surface) 94%,var(--primary) 6%)}.manual-payment-charge-list{display:grid;grid-gap:8px;gap:8px;margin:12px 0 10px;max-height:240px;overflow-y:auto}.manual-payment-charge-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer}.manual-payment-charge-option:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--surface) 88%,var(--primary) 12%)}.manual-payment-charge-option input{width:17px;height:17px}.manual-payment-charge-option span{display:grid;grid-gap:3px;gap:3px;min-width:0}.manual-payment-charge-option small{color:var(--muted)}.manual-payment-student-charges{display:grid;grid-gap:7px;gap:7px}.manual-payment-student-name{padding:4px 2px 0;color:var(--text);font-size:.9rem}.manual-payment-credit-choice{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;grid-gap:10px;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.manual-payment-credit-choice input{margin-top:3px}.manual-payment-credit-choice span{display:grid;grid-gap:3px;gap:3px}.manual-payment-credit-choice small{color:var(--muted)}.manual-payment-allocation-preview{display:grid;grid-gap:.55rem;gap:.55rem;padding:.85rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-muted)}.manual-payment-allocation-preview>div{display:flex;justify-content:space-between;gap:1rem;font-size:.88rem}.manual-payment-allocation-preview>div span:last-child{text-align:right;font-weight:600}.decision-choice-grid,.grade-teacher-subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:8px;gap:8px}.decision-choice,.pp-choice-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.decision-choice span,.pp-choice-card span{display:grid;grid-gap:3px;gap:3px}.decision-choice small,.pp-choice-card small{color:var(--muted)}.pp-insurance-enrollment-card{display:grid;grid-gap:12px;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,var(--primary) 8%)}.pp-insurance-declaration-inline{margin-top:4px}.modal-panel .field,.modal-panel .form-grid,.modal-panel select{min-width:0;max-width:100%}.modal-panel .field{overflow-x:hidden}.modal-panel select{width:100%;text-overflow:ellipsis}.data-import-financial-row-form{display:grid;grid-gap:6px;gap:6px;min-width:220px}.data-import-financial-row-form input,.data-import-financial-row-form select{min-width:0;width:100%}.compact-checkbox{align-items:center;font-size:12px}.charge-rates-table-header{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.inline-input{width:100%;min-width:160px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:9px 10px;font:inherit}.student-snapshot{display:grid;grid-gap:14px;gap:14px}.student-completion-indicator{min-height:38px;border:1px solid color-mix(in srgb,#d97706 45%,var(--line));border-radius:6px;background:color-mix(in srgb,#f59e0b 12%,var(--surface));color:#92400e;display:inline-flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;font:inherit;font-size:13px;font-weight:750}.student-completion-indicator strong{min-width:24px;min-height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,#d97706 18%,var(--surface));color:#78350f;padding:2px 7px}.student-completion-indicator.active{border-color:#d97706;background:color-mix(in srgb,#f59e0b 20%,var(--surface))}.student-completion-badge{width:-moz-fit-content;width:fit-content;margin-top:8px;min-height:28px;border:1px solid color-mix(in srgb,#d97706 45%,var(--line));border-radius:999px;background:color-mix(in srgb,#f59e0b 12%,var(--surface));color:#92400e;display:inline-flex;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:750}.student-code-badge{display:inline-grid;gap:3px;margin-top:8px;border:1px solid var(--accent);border-radius:6px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));padding:8px 10px}.student-code-badge span,.student-result strong small{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase}.student-code-badge strong{color:var(--accent-strong);font-size:18px;letter-spacing:0}.compact-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.mini-metric{min-height:84px;border:1px solid var(--line);border-radius:6px;padding:12px;display:grid;grid-gap:8px;gap:8px;align-content:start;background:var(--surface-strong)}.mini-metric span{color:var(--muted);font-size:12px;font-weight:650}.mini-metric strong{font-size:15px;line-height:1.35}.student-result-list{display:grid;grid-gap:8px}.student-result-list.compact .student-result{grid-template-columns:minmax(0,1fr) minmax(120px,auto) 78px}.student-result-list.academic-meta .student-result{grid-template-columns:minmax(0,1fr) minmax(120px,auto) minmax(100px,auto) 78px}.student-result{min-height:46px;border-radius:6px;display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto) 90px;grid-gap:12px;padding:10px 12px}.student-result.active,.student-result:hover{border-color:var(--accent);background:var(--surface-strong)}.student-result span{font-weight:650}.student-result em,.student-result strong{color:var(--muted);font-size:13px;font-style:normal}.student-result strong{display:grid;grid-gap:2px;color:var(--accent-strong);font-weight:800}.link-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px;margin-top:14px}.link-picker{border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--surface)}.link-picker h3{margin:0}.guardian-pick-list{display:grid;grid-gap:8px;gap:8px}.portal-activation-view{display:grid;grid-gap:16px;gap:16px}.portal-activation-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.portal-activation-metric{border:1px solid var(--line);text-align:left;cursor:pointer}.portal-activation-metric.active{border-color:var(--accent);background:var(--accent);color:#ffffff}.portal-activation-metric.active em,.portal-activation-metric.active span,.portal-activation-metric.active strong{color:#ffffff}.portal-activation-metric em{color:var(--muted);font-size:12px;font-style:normal;line-height:1.35}.portal-activation-list{display:grid;grid-gap:10px;gap:10px}.portal-activation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,180px) minmax(180px,auto);grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--surface)}.portal-activation-actions,.portal-activation-main,.portal-activation-status{display:grid;grid-gap:6px;gap:6px;min-width:0}.portal-activation-main small,.portal-activation-main span,.portal-activation-main strong{overflow-wrap:anywhere}.portal-activation-main small,.portal-activation-main span,.portal-activation-status small{color:var(--muted);font-size:13px}.portal-activation-warning{color:var(--danger)}.portal-email-editor{display:grid;grid-template-columns:minmax(150px,1fr) auto;grid-gap:8px;gap:8px}.portal-email-editor input{min-width:0}.guardian-pick{min-height:44px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;font:inherit;text-align:left;cursor:pointer}.guardian-pick.active,.guardian-pick:hover{border-color:var(--accent);background:var(--surface-strong)}.guardian-pick span{font-weight:650}.guardian-pick strong{color:var(--accent-strong);font-size:13px}.muted-inline{color:var(--muted);font-size:12px;font-weight:650}.compact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.guardian-history-list{margin-top:12px}@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:2;padding:14px 16px}.brand{margin-bottom:10px}.nav{grid-auto-flow:column;overflow-x:auto}.main{padding:18px}.crud-grid,.finance-grid,.finance-mix,.instructor-layout,.instructor-row,.link-picker-grid,.records-header,.schedule-row,.section,.topbar{grid-template-columns:1fr;display:grid}.topbar-side{justify-items:start}.agreement-detail-grid{grid-template-columns:1fr}.agreement-detail-item.wide{grid-column:span 1}.dashboard-filter-bar,.dashboard-filter-bar.range-mode{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.dashboard-range-card,.institution-dashboard-hero,.rate-of-day-form,.rate-of-day-panel{grid-template-columns:1fr}.grid,.system-admin-workspace .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-admin-workspace .metric-card:last-child{grid-column:auto}.system-billing-grid{grid-template-columns:1fr}.system-billing-grid>.card:last-child{grid-column:auto}.landing-card-grid,.landing-checks,.landing-final,.landing-split,.metrics-grid,.student-metric-grid{grid-template-columns:1fr}.landing-final-actions{justify-content:flex-start}.landing-hero{background-position:50%}.setup-overview-main,.setup-profile-row{grid-template-columns:1fr}.setup-edit-row{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-capacity-field{max-width:none}.setup-row-actions-compact,.setup-status-cell{align-self:end}.setup-row-actions-compact{justify-content:flex-start}.access-plan-grid,.audit-change-row,.compact-metrics,.logo-settings-grid,.parent-profile-prompt,.portal-activation-row,.portal-email-editor,.student-result,.system-detail-grid,.system-row-card,.system-row-card.compact,.system-row-card.system-billing-row,.system-row-card.system-plan-row,.system-upload-row,.theme-grid,.theme-preview-grid{grid-template-columns:1fr}.system-detail-grid .record-field.wide{grid-column:auto}.system-row-actions,.system-row-card.system-billing-row>.record-field:last-child{justify-self:stretch}.system-contact-email-form{grid-template-columns:1fr}.system-row-actions{justify-content:flex-start}.system-toolbar{align-items:flex-start;flex-direction:column}.admin-help-chat{left:16px;bottom:60px}.admin-help-launcher{min-height:54px;padding:6px}.admin-help-launcher-copy{display:none}.admin-help-backdrop{padding:12px 12px 60px}.admin-help-panel{width:100%;max-height:calc(100vh - 72px);border-radius:12px}.admin-help-form{grid-template-columns:1fr}}@media print{.actions,.form-grid,.powered-by-fractal,.records-scroll,.sidebar,.topbar{display:none!important}.app-shell,.main,.section{display:block}.detail-panel,.report-card-preview{border:0;padding:0;margin:0}}@media (max-width:560px){.dashboard-filter-bar.range-mode,.grid{grid-template-columns:1fr}.announcement-list{min-width:0}.announcement-row-summary{grid-template-columns:20px minmax(0,1fr)}.announcement-row-summary .pill,.announcement-row-summary>.metric-foot{justify-self:start;grid-column:2}h1{font-size:24px}#setup-grades .inline-create-form .form-grid,#setup-levels .inline-create-form .form-grid,#setup-sections .inline-create-form .form-grid,.demo-login-grid,.form-grid,.login-action-grid,.setup-edit-row{grid-template-columns:1fr}.landing-hero{min-height:88vh}.landing-overlay{background:linear-gradient(90deg,rgba(10,18,16,.94),rgba(10,18,16,.76))}.landing-nav{align-items:flex-start}.landing-nav-actions{justify-content:flex-end}.landing-nav-actions .button{min-height:34px;padding:6px 9px}.landing-hero-content{padding:40px 0 54px}.landing-lede{font-size:17px}.landing-band{padding:38px 0}.landing-final h2,.landing-section-head h2,.landing-split h2{font-size:27px}}.ui-checkbox-container{display:inline-flex;align-items:flex-start;gap:10px;position:relative;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .18s cubic-bezier(.16,1,.3,1);box-sizing:border-box}.ui-checkbox-container.is-disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.ui-checkbox-native{position:absolute;opacity:0;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-checkbox-input-wrapper{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.ui-checkbox-box{display:flex;align-items:center;justify-content:center;border:1.5px solid var(--line);border-radius:6px;background:var(--surface);color:var(--accent-text);transition:all .16s cubic-bezier(.16,1,.3,1);box-shadow:0 1px 2px rgba(0,0,0,.04)}.ui-checkbox-container:hover:not(.is-disabled) .ui-checkbox-box{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.ui-checkbox-native:focus-visible~.ui-checkbox-box{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.ui-checkbox-container.is-checked .ui-checkbox-box,.ui-checkbox-container:has(.ui-checkbox-native:checked) .ui-checkbox-box{background:var(--accent);border-color:var(--accent);color:var(--accent-text);box-shadow:0 2px 6px color-mix(in srgb,var(--accent) 35%,transparent)}.ui-checkbox-icon{opacity:0;transform:scale(.6) rotate(-10deg);transition:transform .16s cubic-bezier(.34,1.56,.64,1),opacity .14s ease;stroke-width:3px}.ui-checkbox-container.is-checked .ui-checkbox-icon,.ui-checkbox-container:has(.ui-checkbox-native:checked) .ui-checkbox-icon{opacity:1;transform:scale(1) rotate(0deg)}.ui-cb-sm .ui-checkbox-box{width:16px;height:16px;border-radius:4px}.ui-cb-sm .ui-checkbox-icon{width:11px;height:11px}.ui-cb-sm .ui-checkbox-label{font-size:13px}.ui-cb-md .ui-checkbox-box{width:20px;height:20px;border-radius:6px}.ui-cb-md .ui-checkbox-icon{width:14px;height:14px}.ui-cb-md .ui-checkbox-label{font-size:14px}.ui-cb-lg .ui-checkbox-box{width:24px;height:24px;border-radius:7px}.ui-cb-lg .ui-checkbox-icon{width:17px;height:17px}.ui-cb-lg .ui-checkbox-label{font-size:15px}.ui-checkbox-content{display:flex;flex-direction:column;gap:2px;min-width:0}.ui-checkbox-label-row{display:flex;align-items:center;gap:6px}.ui-checkbox-label{color:var(--text);font-weight:550;line-height:1.35}.ui-checkbox-description{margin:0;font-size:12px;color:var(--muted);line-height:1.3}.ui-checkbox-badge{font-size:11px;font-weight:700;padding:1px 6px;border-radius:99px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent-strong)}.ui-cb-variant-default{padding:2px 0}.ui-cb-variant-chip{align-items:center;padding:8px 14px;border:1px solid var(--line);border-radius:9999px;background:var(--surface);box-shadow:0 1px 2px rgba(0,0,0,.02)}.ui-cb-variant-chip:hover:not(.is-disabled){border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--surface));transform:translateY(-1px)}.ui-cb-variant-chip.is-checked,.ui-cb-variant-chip:has(.ui-checkbox-native:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 16%,transparent)}.ui-cb-variant-chip.is-checked .ui-checkbox-label,.ui-cb-variant-chip:has(.ui-checkbox-native:checked) .ui-checkbox-label{color:var(--accent-strong);font-weight:650}.ui-cb-variant-card{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 1px 3px rgba(0,0,0,.03)}.ui-cb-variant-card:hover:not(.is-disabled){border-color:color-mix(in srgb,var(--accent) 50%,var(--line));background:color-mix(in srgb,var(--accent) 4%,var(--surface));transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.05)}.ui-cb-variant-card.is-checked,.ui-cb-variant-card:has(.ui-checkbox-native:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 18%,transparent)}.ui-cb-variant-card.is-checked .ui-checkbox-label,.ui-cb-variant-card:has(.ui-checkbox-native:checked) .ui-checkbox-label{color:var(--accent-strong);font-weight:650}.ui-checkbox-group-wrapper{display:flex;flex-direction:column;gap:10px;width:100%}.ui-checkbox-group-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ui-checkbox-action-btn{border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:12px;font-weight:600;padding:4px 10px;cursor:pointer;transition:all .14s ease}.ui-checkbox-action-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.ui-checkbox-action-btn:disabled{opacity:.45;cursor:not-allowed}.ui-checkbox-selected-count{font-size:12px;color:var(--muted);margin-left:auto;font-weight:500}.ui-checkbox-group-grid{display:grid;grid-gap:8px;gap:8px;width:100%}.ui-cb-grid-auto{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.ui-cb-grid-cols-1{grid-template-columns:1fr}.ui-cb-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-cb-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ui-cb-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ui-cb-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.ui-cb-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.ui-cb-group-empty{padding:12px;font-size:13px;color:var(--muted);border:1px dashed var(--line);border-radius:8px;text-align:center}.tuition-rates-panel{display:flex;flex-direction:column;gap:18px}.tuition-rates-header{border-bottom:1px solid var(--line);padding-bottom:16px}.tuition-rates-tabs-container{background:color-mix(in srgb,var(--text) 4%,var(--bg));border:1px solid var(--line);border-radius:12px;padding:4px;margin-bottom:4px}.tuition-rates-tabs{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}.tuition-rates-tabs::-webkit-scrollbar{display:none}.tuition-tab-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .18s cubic-bezier(.16,1,.3,1);border-radius:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tuition-tab-btn:hover{color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.tuition-tab-btn.active{color:var(--accent-strong);background:var(--surface);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));font-weight:600;box-shadow:0 2px 8px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.08)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:11px;font-weight:700;line-height:1;background:color-mix(in srgb,var(--text) 8%,var(--surface));color:var(--muted);transition:all .18s ease}.tuition-tab-btn.active .tab-badge{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent-strong)}.tuition-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.tuition-stat-card{padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--text) 2%,var(--surface)));display:flex;flex-direction:column;gap:4px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.tuition-stat-card .stat-label{font-size:11px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.tuition-stat-card .stat-value{font-size:18px;color:var(--text);font-weight:700}.tuition-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}.search-input-wrapper{position:relative;flex:1 1 300px;display:flex;align-items:center}.search-input-wrapper .search-icon{position:absolute;left:12px;color:var(--muted);pointer-events:none}.search-input-wrapper .search-input{width:100%;padding:9px 12px 9px 36px;border:1px solid var(--line);border-radius:8px;background:var(--field-bg);color:var(--text);font-size:14px}.search-input-wrapper .search-input:focus{outline:2px solid var(--accent);border-color:var(--accent)}.clear-search-btn{right:10px;border:0;background:transparent;padding:4px;border-radius:4px}.clear-search-btn:hover{color:var(--text)}.year-selector{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.year-selector select{padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--field-bg);color:var(--text);font-weight:600}.rate-type-pill{display:inline-block;padding:3px 10px;border-radius:6px;font-size:12px;font-weight:600;background:color-mix(in srgb,var(--text) 8%,var(--surface));color:var(--text);border:1px solid color-mix(in srgb,var(--line) 80%,transparent)}.optional-pill{background:color-mix(in srgb,var(--warning) 16%,var(--surface));color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 35%,transparent)}.required-pill{background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent-strong);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.money-text{color:var(--accent-strong);font-size:14px;font-weight:700}.early-pay-text{font-size:11px;color:var(--muted)}.tuition-table tr.selected-row{background:color-mix(in srgb,var(--accent) 14%,var(--surface))!important}.tuition-table tr.clickable-row:hover{background:color-mix(in srgb,var(--text) 4%,var(--surface))}.empty-table-cell{text-align:center;padding:36px 16px;color:var(--muted);font-size:14px}.form-section-title{margin-bottom:16px}.form-section-title h3{margin:0 0 4px;font-size:16px}.form-actions-bar{display:flex;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.tool-card{padding:20px;box-shadow:0 1px 4px rgba(0,0,0,.04);margin-bottom:18px}.card-sub-panel,.tool-card{border:1px solid var(--line);border-radius:12px;background:var(--surface)}.card-sub-panel{padding:18px}:root[data-theme=dark] .tuition-rates-tabs-container{background:color-mix(in srgb,var(--surface) 60%,var(--bg));border-color:var(--line)}:root[data-theme=dark] .tuition-tab-btn{color:var(--muted)}:root[data-theme=dark] .tuition-tab-btn:hover{color:#ffffff;background:color-mix(in srgb,var(--text) 10%,transparent)}:root[data-theme=dark] .tuition-tab-btn.active{background:var(--accent);color:#ffffff!important;border-color:var(--accent);box-shadow:0 4px 14px rgba(0,0,0,.4);font-weight:600}:root[data-theme=dark] .tuition-tab-btn.active svg{color:#ffffff!important}:root[data-theme=dark] .tuition-tab-btn.active .tab-badge{background:rgba(255,255,255,.25)!important;color:#ffffff!important}:root[data-theme=dark] .tuition-stat-card{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .rate-of-day-panel{border-color:color-mix(in srgb,var(--accent) 30%,var(--line));background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.school-logo-card-v2{grid-gap:20px}.school-logo-card-v2,.school-logo-grid{display:grid;gap:20px;max-width:100%;overflow:hidden}.school-logo-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:20px;align-items:start;width:100%}@media (max-width:860px){.school-logo-grid{grid-template-columns:1fr}}.logo-file-input-hidden{display:none}.logo-dropzone{border:2px dashed var(--line);border-radius:12px;padding:22px 16px;text-align:center;background:color-mix(in srgb,var(--surface) 95%,var(--accent) 5%);cursor:pointer;transition:all .18s ease;outline:none}.logo-dropzone:focus-visible,.logo-dropzone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%)}.logo-dropzone.dragging{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,var(--surface));transform:scale(1.01)}.logo-dropzone.has-file{border-color:var(--accent);border-style:solid;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:12px}.dropzone-icon-badge{width:56px;height:56px;border-radius:14px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);display:flex;align-items:center;justify-content:center;transition:transform .18s ease}.dropzone-icon-badge .icon-success{color:var(--accent-strong)}.logo-dropzone:hover .dropzone-icon-badge{transform:translateY(-2px) scale(1.05)}.dropzone-text{display:flex;flex-direction:column;gap:4px;align-items:center}.dropzone-text strong{font-size:14px;font-weight:600;color:var(--text)}.dropzone-text small{font-size:12px;color:var(--muted)}.file-name-truncated{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-validation-error{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:var(--danger);font-size:13px}.logo-action-buttons{display:flex;gap:10px;margin-top:16px;align-items:center}.logo-submit-btn{flex:1 1;justify-content:center}.logo-preview-section{display:flex;flex-direction:column;gap:12px;background:color-mix(in srgb,var(--surface-strong) 50%,var(--surface));border:1px solid var(--line);border-radius:12px;padding:16px;max-width:100%;box-sizing:border-box;overflow:hidden}.preview-header-tabs{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;max-width:100%}.preview-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.preview-mode-pills{display:flex;gap:4px;background:var(--surface);padding:3px;border-radius:8px;border:1px solid var(--line);flex-wrap:wrap}.preview-pill{border:0;background:transparent;padding:4px 10px;font-size:12px;font-weight:500;border-radius:6px;color:var(--muted);cursor:pointer;transition:all .14s ease}.preview-pill:hover{color:var(--text)}.preview-pill.active{background:var(--accent);color:var(--accent-text);font-weight:600}.logo-preview-stage{min-height:170px;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--line);position:relative}.logo-preview-stage,.mock-sidebar-preview{display:flex;border-radius:10px;padding:16px;overflow:hidden;max-width:100%;box-sizing:border-box}.mock-sidebar-preview{width:100%;background:var(--sidebar);color:var(--sidebar-text);flex-direction:column;gap:16px;box-shadow:0 10px 25px rgba(0,0,0,.2)}.mock-brand{display:flex;align-items:center;gap:14px}.mock-brand-img{width:48px;height:48px;border-radius:12px;object-fit:contain;background:linear-gradient(135deg,#ffffff,#f4f6f8);padding:4px;box-shadow:0 4px 12px rgba(0,0,0,.2)}.mock-brand-placeholder{width:100%;height:100%;border-radius:8px;background:rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:var(--sidebar-text)}.mock-brand-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.mock-brand-copy strong{font-size:15px;font-weight:700;line-height:1.2;color:var(--sidebar-text)}.mock-nav-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;font-size:13px;background:rgba(255,255,255,.12);color:var(--sidebar-text)}.mock-report-card-preview{width:100%;background:#ffffff;color:#1e293b;padding:20px;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 4px 12px rgba(0,0,0,.05)}.mock-report-header{display:flex;align-items:center;gap:14px;border-bottom:2px solid #e2e8f0;padding-bottom:12px}.mock-report-logo{max-width:64px;max-height:48px;object-fit:contain}.mock-report-logo-placeholder{width:48px;height:48px;border-radius:6px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;color:#64748b}.mock-report-titles{display:flex;flex-direction:column}.mock-report-titles strong{font-size:15px;color:#0f172a}.mock-report-titles span{font-size:12px;color:#64748b}.mock-clean-preview{display:flex;align-items:center;justify-content:center}.data-import-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-bottom:20px}.data-import-category{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:10px;border:1px solid var(--line);background:color-mix(in srgb,var(--surface-strong) 40%,var(--surface));transition:all .16s ease}.data-import-category:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface) 88%,var(--accent) 12%);transform:translateY(-1px)}.data-import-category .category-header{display:flex;align-items:center;gap:8px}.data-import-category .category-icon{color:var(--accent)}.data-import-category strong{font-size:13px;font-weight:600;color:var(--text)}.data-import-category span{font-size:12px;color:var(--muted);line-height:1.4}.data-import-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 20px;border:2px dashed var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 95%,var(--accent) 5%);cursor:pointer;transition:all .18s ease;text-align:center;position:relative}.data-import-dropzone.active,.data-import-dropzone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface) 86%,var(--accent) 14%)}.data-import-dropzone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.data-import-dropzone strong{font-size:14px;font-weight:600;color:var(--text)}.data-import-dropzone small{font-size:12px;color:var(--muted)}.data-import-file-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.data-import-file-row{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;border:1px solid var(--line);background:var(--surface);font-size:13px}.data-import-file-row span{display:inline-flex;align-items:center;gap:6px;font-weight:500}.mock-clean-box{padding:16px;background:color-mix(in srgb,var(--surface) 90%,var(--accent) 10%);border-radius:10px;display:flex;align-items:center;justify-content:center}.student-result-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.student-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:all .14s ease;text-align:left;width:100%}.student-result:hover{border-color:var(--accent);background:color-mix(in srgb,var(--surface) 92%,var(--accent) 8%)}.student-result.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));font-weight:600}.student-result span{font-size:14px;font-weight:600;color:var(--text)}.student-result strong{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}.student-result strong small{font-size:10px;text-transform:uppercase;letter-spacing:.5px}.enrollment-request-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}.enrollment-request-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-radius:10px;border:1px solid var(--line);background:var(--surface)}.enrollment-request-summary{display:flex;flex-direction:column;gap:4px}.enrollment-request-summary strong{font-size:15px;color:var(--text)}.enrollment-request-summary span{font-size:13px;color:var(--muted)}.enrollment-request-actions{display:flex;gap:8px;align-items:center}.mock-clean-img{max-width:160px;max-height:120px;object-fit:contain}.toast-container{position:fixed;top:24px;right:24px;z-index:99999;display:flex;flex-direction:column;gap:10px;max-width:400px;width:calc(100vw - 32px);pointer-events:none}.toast-item{position:relative;pointer-events:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:flex-start;padding:14px 16px 18px;border-radius:10px;background:var(--surface);color:var(--text);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.12),0 4px 12px rgba(0,0,0,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden;animation:toast-slide-in .25s cubic-bezier(.16,1,.3,1) forwards;transition:transform .15s ease,box-shadow .15s ease}.toast-item:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(0,0,0,.16),0 6px 16px rgba(0,0,0,.1)}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}.toast-icon{display:flex;align-items:center;justify-content:center;padding-top:2px;flex-shrink:0}.toast-content{display:flex;flex-direction:column;gap:2px;min-width:0}.toast-title{font-size:14px;font-weight:700;line-height:1.25}.toast-message{margin:0;font-size:13px;line-height:1.4;color:var(--text);opacity:.92;word-break:break-word}.toast-close-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;padding:0;transition:background .12s ease,color .12s ease;margin-top:-2px;margin-right:-4px}.toast-close-btn:hover{background:color-mix(in srgb,var(--text) 10%,transparent);color:var(--text)}.toast-progress-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:color-mix(in srgb,var(--line) 50%,transparent)}.toast-progress-fill{height:100%;transition:width 40ms linear}.toast-success{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.toast-success .toast-icon{color:var(--accent)}.toast-success .toast-title{color:var(--accent-strong)}.toast-success .toast-progress-fill{background:var(--accent)}.toast-error{border-color:rgba(239,68,68,.35);background:color-mix(in srgb,#ef4444 7%,var(--surface));box-shadow:0 12px 32px rgba(0,0,0,.25),0 0 0 1px rgba(239,68,68,.15)}.toast-error .toast-icon{color:#ef4444;background:rgba(239,68,68,.12);padding:6px;border-radius:50%}.toast-error .toast-title{color:var(--danger)}.toast-error .toast-progress-fill{background:var(--danger)}.toast-warning{border-color:color-mix(in srgb,var(--warning) 35%,var(--line));background:color-mix(in srgb,var(--warning) 8%,var(--surface))}.toast-warning .toast-icon,.toast-warning .toast-title{color:var(--warning)}.toast-warning .toast-progress-fill{background:var(--warning)}.toast-info{border-color:color-mix(in srgb,#3b82f6 35%,var(--line));background:color-mix(in srgb,#3b82f6 8%,var(--surface))}.toast-info .toast-icon{color:#3b82f6}.toast-info .toast-title{color:#2563eb}.toast-info .toast-progress-fill{background:#3b82f6}.form-section-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:20px;display:flex;flex-direction:column;gap:16px}.form-section-header{display:flex;align-items:center;gap:10px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);padding-bottom:12px;margin-bottom:4px}.form-section-header-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--surface-strong);color:var(--text);border:1px solid var(--line);flex-shrink:0}.form-section-header-icon svg{stroke-width:2.25px}:root[data-theme=dark] .form-section-header-icon{background:color-mix(in srgb,var(--text) 12%,var(--surface));color:#ffffff;border-color:color-mix(in srgb,var(--text) 20%,var(--line))}.form-section-header-text h4{margin:0;font-size:15px;font-weight:700;color:var(--text)}.form-section-header-text p{margin:2px 0 0;font-size:12px;color:var(--muted)}.form-subcard{background:color-mix(in srgb,var(--accent) 5%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:10px;padding:16px;margin-top:8px;display:flex;flex-direction:column;gap:14px}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-box{background:linear-gradient(90deg,color-mix(in srgb,var(--text) 8%,var(--surface)) 0,color-mix(in srgb,var(--text) 16%,var(--surface)) 50%,color-mix(in srgb,var(--text) 8%,var(--surface)) 100%);background-size:200px 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:6px;display:inline-block;vertical-align:middle}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#ef4444!important;background-color:color-mix(in srgb,#ef4444 6%,var(--surface))!important;box-shadow:0 0 0 3px color-mix(in srgb,#ef4444 20%,transparent)!important;transition:all .2s ease-in-out}:root[data-theme=dark] .field.has-error input,:root[data-theme=dark] .field.has-error select,:root[data-theme=dark] .field.has-error textarea{border-color:#f87171!important;background-color:color-mix(in srgb,#ef4444 14%,var(--surface))!important;box-shadow:0 0 0 3px color-mix(in srgb,#ef4444 30%,transparent)!important}.field-error-text{font-size:12px;font-weight:500;color:#ef4444;margin-top:4px;display:flex;align-items:center;gap:4px;line-height:1.3}:root[data-theme=dark] .field-error-text{color:#f87171}.form-alert-banner{padding:14px 16px;border-radius:10px;background:color-mix(in srgb,#ef4444 12%,var(--surface));border:1px solid color-mix(in srgb,#ef4444 35%,transparent);color:#b91c1c;display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.4}:root[data-theme=dark] .form-alert-banner{background:color-mix(in srgb,#ef4444 18%,var(--surface));color:#fca5a5;border-color:color-mix(in srgb,#ef4444 45%,transparent)}.teacher-page-root{width:100%;min-height:100vh}.tp-wrapper{max-width:1140px;margin:0 auto;padding:24px 20px 60px;display:flex;flex-direction:column;gap:24px}.tp-header{justify-content:space-between;gap:16px;padding:12px 20px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.03)}.tp-brand,.tp-header{display:flex;align-items:center}.tp-brand{gap:14px}.tp-school-logo{height:40px;width:auto;object-fit:contain}.tp-school-icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--accent) 0,#059669 100%);color:#ffffff;display:flex;align-items:center;justify-content:center}.tp-brand-text{display:flex;flex-direction:column;gap:2px}.tp-school-name{font-size:16px;font-weight:800;color:var(--text)}.tp-portal-badge{font-size:11px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.tp-top-actions{display:flex;align-items:center;gap:12px}.tp-logout-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface-strong);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;transition:all .18s ease}.tp-logout-btn:hover{background:color-mix(in srgb,#ef4444 10%,var(--surface));color:#ef4444;border-color:color-mix(in srgb,#ef4444 30%,transparent)}.tp-hero-card{position:relative;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 15%,var(--surface-strong)) 0,var(--surface-strong) 100%);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:24px;padding:28px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.04)}.tp-hero-bg-glow{position:absolute;top:-40px;right:-40px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 25%,transparent) 0,transparent 70%);pointer-events:none}.tp-hero-content{z-index:1;display:flex;align-items:center;gap:20px}.tp-avatar-wrap,.tp-hero-content{position:relative}.tp-avatar{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,var(--accent) 0,#047857 100%);color:#ffffff;font-size:22px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent)}.tp-online-dot{position:absolute;bottom:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#10b981;border:2px solid var(--surface-strong)}.tp-hero-info{display:flex;flex-direction:column;gap:6px}.tp-hero-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tp-hero-header h1{font-size:22px;font-weight:800;color:var(--text);margin:0;display:flex;align-items:center;gap:8px}.tp-sparkle-icon{color:#f59e0b}.tp-role-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-size:12px;font-weight:700}.tp-hero-sub{font-size:13.5px;color:var(--muted-text);margin:0}.tp-hero-tags{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:4px}.tp-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:10px;font-size:12px;font-weight:600}.tp-tag-success{background:color-mix(in srgb,#10b981 14%,transparent);color:#10b981}.tp-tag-info{background:color-mix(in srgb,#3b82f6 14%,transparent);color:#3b82f6}.tp-hero-nav{position:relative;z-index:1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:16px;margin-top:18px;border-top:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.tp-nav-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13.5px;font-weight:600;cursor:pointer;transition:all .18s ease}.tp-nav-pill:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.tp-nav-pill.active{background:var(--accent);color:#ffffff;border-color:var(--accent);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent)}.tp-pill-count{background:rgba(255,255,255,.25);color:#ffffff;padding:2px 7px;border-radius:8px;font-size:11px;font-weight:800}.tp-nav-pill:not(.active) .tp-pill-count{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.tp-alert-banner{display:flex;align-items:center;gap:12px;padding:14px 20px;background:color-mix(in srgb,var(--accent) 12%,var(--surface-strong));border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:16px;color:var(--text);font-size:14px;font-weight:600}.tp-bento-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:16px;gap:16px}.tp-bento-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 4px 16px rgba(0,0,0,.02);transition:all .18s ease}.tp-bento-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.tp-bento-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tp-bento-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.tp-bento-label{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--muted-text);letter-spacing:.5px}.tp-bento-val{font-size:20px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-bento-sub{font-size:12px;color:var(--muted-text)}.tp-card-section{background:var(--surface-strong);border:1px solid var(--line);border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:22px;box-shadow:0 4px 16px rgba(0,0,0,.02)}.tp-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.tp-section-title{display:flex;align-items:center;gap:14px}.tp-section-title h2{font-size:19px;font-weight:800;color:var(--text);margin:0 0 2px}.tp-section-title p{font-size:13.5px;color:var(--muted-text);margin:0}.tp-header-actions{display:flex;align-items:center;gap:10px}.tp-filter-bar{display:flex;align-items:center;gap:20px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 20px;flex-wrap:wrap}.tp-field{display:flex;flex-direction:column;gap:6px;flex:1 1;min-width:220px}.tp-field.full{flex:100% 1}.tp-field.highlight{background:color-mix(in srgb,#f59e0b 10%,var(--surface));padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,#f59e0b 30%,transparent)}.tp-field span{font-size:13px;font-weight:700;color:var(--text)}.tp-input,.tp-select-input{padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface-strong);color:var(--text);font-size:14px;font-weight:500;outline:none;transition:all .18s ease}.tp-input:focus,.tp-select-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.tp-attendance-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:4px 0}.tp-legend-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:10px;font-size:12.5px;font-weight:600}.status-present{background:color-mix(in srgb,#10b981 14%,transparent);color:#10b981}.status-absent{background:color-mix(in srgb,#ef4444 14%,transparent);color:#ef4444}.status-late{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#d97706}.status-justified{background:color-mix(in srgb,#3b82f6 14%,transparent);color:#3b82f6}.tp-roster-list{display:flex;flex-direction:column;gap:12px}.tp-roster-item{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:all .18s ease}.tp-roster-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.tp-ri-left{display:flex;align-items:center;gap:14px}.tp-ri-left h3{font-size:15.5px;font-weight:700;color:var(--text);margin:0 0 2px}.tp-ri-left small{font-size:12px;color:var(--muted-text)}.tp-ri-toggles{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tp-toggle-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;border:1px solid transparent;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s ease;opacity:.55}.tp-toggle-btn:hover{opacity:.85}.tp-toggle-btn.active{opacity:1;box-shadow:0 2px 8px rgba(0,0,0,.08);border-color:currentColor}.tp-assignments-grid,.tp-gradebook-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:22px;gap:22px}@media (max-width:900px){.tp-assignments-grid,.tp-gradebook-grid{grid-template-columns:1fr}}.tp-form-box,.tp-history-box{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:18px}.tp-form-box h3,.tp-history-box h3{font-size:17px;font-weight:800;color:var(--text);margin:0;display:flex;align-items:center;gap:10px}.tp-form-grid{display:flex;flex-wrap:wrap;gap:14px}.tp-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:6px}.tp-table-wrap{overflow-x:auto}.tp-table{width:100%;border-collapse:collapse;font-size:13.5px}.tp-table th{text-align:left;padding:10px 14px;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--muted-text);border-bottom:1px solid var(--line)}.tp-table td{padding:12px 14px;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);color:var(--text)}.tp-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:12px;border:none;background:var(--accent);color:#ffffff;font-size:13.5px;font-weight:700;cursor:pointer;transition:all .18s ease;box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 25%,transparent)}.tp-btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.tp-btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.tp-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13.5px;font-weight:600;cursor:pointer;transition:all .18s ease}.tp-btn-secondary:hover{background:color-mix(in srgb,var(--text) 6%,transparent);border-color:var(--accent)}.tp-btn-secondary.compact{padding:6px 12px;font-size:12.5px;border-radius:8px}.tp-checkbox-label{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--text);cursor:pointer}.tp-checkbox-label input{width:16px;height:16px;accent-color:var(--accent)}.tp-assignments-feed{display:flex;flex-direction:column;gap:12px}.tp-assignment-item{background:color-mix(in srgb,var(--surface-strong) 70%,transparent);border:1px solid var(--line);border-radius:14px;padding:16px}.tp-ai-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tp-ai-header h4{font-size:15px;font-weight:700;color:var(--text);margin:0 0 2px}.tp-ai-sub{font-size:12.5px;color:var(--muted-text)}.tp-hb-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--line)}.tp-hb-student-info{font-size:12.5px;color:var(--muted-text);margin:4px 0 0}.tp-average-badge{display:flex;flex-direction:column;align-items:flex-end;gap:2px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);padding:6px 14px;border-radius:12px}.tp-average-badge span{font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--muted-text);letter-spacing:.5px}.tp-average-badge strong{font-size:16px;font-weight:900;color:var(--accent)}.tp-history-search{position:relative;display:flex;align-items:center;margin-top:4px}.tp-history-search .tp-search-icon{position:absolute;left:12px;color:var(--muted-text);pointer-events:none}.tp-history-search .tp-search-input{width:100%;padding-left:36px;font-size:13px;background:color-mix(in srgb,var(--surface-strong) 80%,transparent)}.tp-scores-feed{margin-top:8px}.tp-score-item-card,.tp-scores-feed{display:flex;flex-direction:column;gap:12px}.tp-score-item-card{background:color-mix(in srgb,var(--surface-strong) 60%,transparent);border:1px solid var(--line);border-radius:16px;padding:16px 18px;transition:all .18s ease}.tp-score-item-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 4px 16px rgba(0,0,0,.04)}.tp-sic-main{display:flex;align-items:flex-start;gap:12px}.tp-sic-icon{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.tp-sic-info{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:0}.tp-sic-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.tp-sic-title-row h4{font-size:15px;font-weight:700;color:var(--text);margin:0}.tp-sic-date{display:flex;align-items:center;gap:4px}.tp-sic-date,.tp-sic-subject{font-size:12px;color:var(--muted-text)}.tp-sic-subject{font-weight:600}.tp-sic-right{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px dashed color-mix(in srgb,var(--line) 70%,transparent)}.tp-score-badge-pill{display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:12px}.score-badge-high{background:color-mix(in srgb,#10b981 16%,transparent);border:1px solid color-mix(in srgb,#10b981 30%,transparent);color:#10b981}.score-badge-medium{background:color-mix(in srgb,#f59e0b 16%,transparent);border:1px solid color-mix(in srgb,#f59e0b 30%,transparent);color:#d97706}.score-badge-low{background:color-mix(in srgb,#ef4444 16%,transparent);border:1px solid color-mix(in srgb,#ef4444 30%,transparent);color:#ef4444}.tp-sb-val{font-size:15px;font-weight:900}.tp-sb-text{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.85}.tp-sic-notes{font-size:12.5px;color:var(--muted-text);background:color-mix(in srgb,var(--surface) 80%,transparent);padding:8px 12px;border-radius:10px;display:flex;align-items:flex-start;gap:8px;line-height:1.35}.tp-history-search-bar{position:relative;display:flex;align-items:center;margin-top:4px}.tp-history-search-bar .tp-search-icon{position:absolute;left:14px;color:var(--muted-text);pointer-events:none}.tp-search-input-field{width:100%;padding:10px 38px 10px 40px;font-size:13.5px;font-weight:500;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--text);outline:none;transition:all .18s ease}.tp-search-input-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.tp-search-clear-btn{position:absolute;right:12px;background:color-mix(in srgb,var(--text) 10%,transparent);border:none;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;transition:all .15s ease}.tp-search-clear-btn:hover{background:color-mix(in srgb,var(--text) 20%,transparent)}.tp-sic-student-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid color-mix(in srgb,var(--line) 50%,transparent)}.tp-student-tag{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:3px 10px;border-radius:8px}.tp-pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;margin-top:6px;border-top:1px solid var(--line);flex-wrap:wrap}.tp-page-info{font-size:12.5px;color:var(--muted-text)}.tp-page-info strong{color:var(--text)}.tp-page-btns{display:flex;align-items:center;gap:8px}.tp-page-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s ease}.tp-page-btn:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.tp-page-btn:disabled{opacity:.4;cursor:not-allowed}.pp-oc-deadline{background:color-mix(in srgb,var(--text) 6%,transparent);padding:4px 10px;border-radius:8px}.pp-oc-status-box{margin-top:6px}.pp-insurance-status-pill{gap:10px;padding:10px 14px;border-radius:12px;font-size:13px;line-height:1.35}.pp-insurance-status-pill.status-active{background:color-mix(in srgb,#10b981 14%,transparent);border:1px solid color-mix(in srgb,#10b981 30%,transparent)}.pp-insurance-status-pill.status-exempt{background:color-mix(in srgb,#3b82f6 14%,transparent);border:1px solid color-mix(in srgb,#3b82f6 30%,transparent)}.pp-insurance-status-pill.status-exempt small{font-size:11.5px;margin-top:2px}.pp-insurance-status-pill.status-pending{background:color-mix(in srgb,#f59e0b 14%,transparent);border:1px solid color-mix(in srgb,#f59e0b 30%,transparent)}.pp-offers-list{gap:16px}.pp-offer-card,.pp-offers-list{display:flex;flex-direction:column}.pp-offer-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px;gap:18px;box-shadow:0 4px 16px rgba(0,0,0,.03);transition:all .2s ease}.pp-offer-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 35%,var(--line));box-shadow:0 8px 24px rgba(0,0,0,.06)}.pp-offer-card.insurance-card{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface)) 0,var(--surface) 100%);border:1px solid color-mix(in srgb,var(--accent) 25%,var(--line))}.pp-oc-header{display:flex;align-items:flex-start;gap:16px}.pp-oc-icon-bg{width:46px;height:46px;border-radius:14px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-oc-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pp-oc-title-row h3{font-size:17px;font-weight:800;color:var(--text);margin:0}.pp-oc-header p{font-size:13.5px;color:var(--muted-text);margin:4px 0 0;line-height:1.4}.pp-oc-body{display:flex;flex-direction:column;gap:14px;padding:16px;background:color-mix(in srgb,var(--surface-strong) 70%,transparent);border-radius:16px;border:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.pp-oc-main-info{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pp-oc-amount{font-size:22px;font-weight:900;color:var(--text);letter-spacing:-.5px}.pp-oc-deadline{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted-text);background:var(--surface);border:1px solid var(--line);padding:5px 12px;border-radius:10px}.pp-oc-deadline strong{color:var(--text)}.pp-oc-status-box{width:100%}.pp-insurance-status-pill{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;font-size:13.5px;font-weight:700;line-height:1.4}.pp-insurance-status-pill.status-active{background:color-mix(in srgb,#10b981 14%,var(--surface));border:1px solid color-mix(in srgb,#10b981 35%,transparent);color:#10b981}.pp-insurance-status-pill.status-exempt{background:color-mix(in srgb,#3b82f6 14%,var(--surface));border:1px solid color-mix(in srgb,#3b82f6 35%,transparent);color:#3b82f6}:root[data-theme=dark] .pp-insurance-status-pill.status-exempt{color:#93c5fd;background:color-mix(in srgb,#3b82f6 20%,var(--surface))}.pp-insurance-status-pill.status-exempt small{display:block;font-size:12px;font-weight:500;color:var(--text);margin-top:3px;opacity:.9}.pp-insurance-status-pill.status-pending{background:color-mix(in srgb,#f59e0b 14%,var(--surface));border:1px solid color-mix(in srgb,#f59e0b 35%,transparent);color:#d97706}:root[data-theme=dark] .pp-insurance-status-pill.status-pending{color:#fbbf24}.pp-oc-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:4px}.pp-btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;border:none;background:transparent;color:var(--muted-text);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.pp-btn-ghost:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.pp-modal-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto}.pp-modal{background:var(--surface-strong);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:24px;width:100%;max-width:660px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.45);overflow:hidden;position:relative;animation:ppModalPop .22s cubic-bezier(.16,1,.3,1)}@keyframes ppModalPop{0%{opacity:0;transform:scale(.96) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.pp-modal-header{padding:20px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;background:color-mix(in srgb,var(--accent) 10%,var(--surface-strong))}.pp-modal-header h3{font-size:18px;font-weight:800;color:var(--text);margin:0}.pp-modal-header p{font-size:13px;color:var(--muted-text);margin:2px 0 0}.pp-modal-close{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.pp-modal-close:hover{background:color-mix(in srgb,#ef4444 14%,var(--surface));color:#ef4444;border-color:color-mix(in srgb,#ef4444 30%,transparent)}.pp-modal-body{padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.pp-modal-body.pp-form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}@media (max-width:600px){.pp-modal-body.pp-form-grid{grid-template-columns:1fr}}.pp-modal-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--surface);border-radius:12px;font-size:13.5px}.pp-modal-detail-row span{color:var(--muted-text)}.pp-modal-detail-row strong{color:var(--text);font-weight:700}.pp-modal-alert{padding:14px 16px;border-radius:14px;background:color-mix(in srgb,#3b82f6 14%,var(--surface));border:1px solid color-mix(in srgb,#3b82f6 35%,transparent);color:var(--text);display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.5}.pp-modal-alert.full{grid-column:1/-1}.pp-modal-alert svg{color:#3b82f6;flex-shrink:0;margin-top:2px}:root[data-theme=dark] .pp-modal-alert{background:color-mix(in srgb,#3b82f6 18%,var(--surface));border-color:color-mix(in srgb,#3b82f6 45%,transparent);color:#93c5fd}.pp-modal-footer{padding:18px 24px;border-top:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:flex-end;gap:12px}.pp-payment-box{display:flex;flex-direction:column;gap:24px}.pp-payment-target-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,#10b981 12%,var(--surface)) 0,var(--surface) 100%);border:1px solid color-mix(in srgb,#10b981 30%,var(--line));box-shadow:0 4px 18px rgba(0,0,0,.04);flex-wrap:wrap}.pp-ptc-info span.pp-ptc-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted-text);display:block}.pp-ptc-info h3{font-size:18px;font-weight:800;color:var(--text);margin:4px 0 0}.pp-ptc-amount-box{display:flex;flex-direction:column;align-items:flex-end}.pp-ptc-amount-box span{font-size:12px;color:var(--muted-text);font-weight:600}.pp-ptc-amount-box strong{font-size:24px;font-weight:900;color:#10b981;letter-spacing:-.5px}.pp-methods-grid{display:flex;flex-direction:column;gap:14px}.pp-methods-grid h3,.pp-payment-details-form h3{font-size:15px;font-weight:800;color:var(--text);margin:0}.pp-methods-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:14px;gap:14px}.pp-method-card{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:16px;display:flex;align-items:center;gap:14px;cursor:pointer;text-align:left;position:relative;transition:all .18s ease;width:100%}.pp-method-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.05)}.pp-method-card.selected{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:var(--accent);box-shadow:0 4px 18px color-mix(in srgb,var(--accent) 25%,transparent)}.pp-mc-icon{width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .18s ease}.pp-method-card.selected .pp-mc-icon{background:var(--accent);color:#ffffff}.pp-mc-text{display:flex;flex-direction:column;flex:1 1}.pp-mc-text strong{font-size:14px;font-weight:700;color:var(--text);line-height:1.2}.pp-mc-text small{font-size:11.5px;color:var(--muted-text);margin-top:3px}.pp-mc-check{color:var(--accent);flex-shrink:0}.pp-payment-details-form{display:flex;flex-direction:column;gap:16px;padding:24px;background:color-mix(in srgb,var(--surface-strong) 70%,transparent);border:1px solid var(--line);border-radius:20px;margin-top:10px}.pp-form-full{grid-column:1/-1;margin-top:8px}.pp-btn-primary.full-width{width:100%;justify-content:center;padding:14px 20px;font-size:15px;font-weight:800;border-radius:14px}.pp-toast-container{position:fixed;top:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:420px;width:calc(100vw - 48px);pointer-events:none}.pp-toast{pointer-events:auto;background:var(--surface-strong);border-radius:16px;padding:14px 18px;display:flex;align-items:flex-start;gap:12px;box-shadow:0 12px 36px rgba(0,0,0,.25);border:1px solid var(--line);animation:ppToastSlideIn .24s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}@keyframes ppToastSlideIn{0%{opacity:0;transform:translateX(30px) scale(.95)}to{opacity:1;transform:translateX(0) scale(1)}}.pp-toast-success{border-color:color-mix(in srgb,#10b981 40%,transparent);background:linear-gradient(135deg,color-mix(in srgb,#10b981 12%,var(--surface-strong)) 0,var(--surface-strong) 100%)}.pp-toast-success .pp-toast-icon{color:#10b981}.pp-toast-error{border-color:color-mix(in srgb,#ef4444 40%,transparent);background:linear-gradient(135deg,color-mix(in srgb,#ef4444 12%,var(--surface-strong)) 0,var(--surface-strong) 100%)}.pp-toast-error .pp-toast-icon{color:#ef4444}.pp-toast-warning{border-color:color-mix(in srgb,#f59e0b 40%,transparent);background:linear-gradient(135deg,color-mix(in srgb,#f59e0b 12%,var(--surface-strong)) 0,var(--surface-strong) 100%)}.pp-toast-warning .pp-toast-icon{color:#f59e0b}.pp-toast-info{border-color:color-mix(in srgb,#3b82f6 40%,transparent);background:linear-gradient(135deg,color-mix(in srgb,#3b82f6 12%,var(--surface-strong)) 0,var(--surface-strong) 100%)}.pp-toast-info .pp-toast-icon{color:#3b82f6}.pp-toast-icon{margin-top:2px;flex-shrink:0}.pp-toast-content{flex:1 1;display:flex;flex-direction:column}.pp-toast-content strong{font-size:13.5px;font-weight:800;color:var(--text);line-height:1.2}.pp-toast-content p{font-size:12.5px;color:var(--muted-text);margin:3px 0 0;line-height:1.35}.pp-toast-close{background:transparent;border:none;color:var(--muted-text);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .12s ease}.pp-toast-close:hover{color:var(--text);background:color-mix(in srgb,var(--text) 10%,transparent)}.pp-modal-loading-card{background:var(--surface-strong);border:1px solid var(--line);border-radius:20px;padding:32px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;box-shadow:0 20px 50px rgba(0,0,0,.4)}.pp-modal-loading-card h3{font-size:17px;font-weight:800;color:var(--text);margin:4px 0 0}.pp-modal-loading-card p{font-size:13px;color:var(--muted-text);margin:0}.pp-spinner{animation:ppSpin 1s linear infinite}@keyframes ppSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pp-flex-header{display:flex;align-items:center;gap:8px}.pp-payment-summary-bento{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px}.pp-psb-item{display:flex;flex-direction:column;gap:3px;padding:10px 12px;background:color-mix(in srgb,var(--surface-strong) 80%,transparent);border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.pp-psb-item.full{grid-column:1/-1;background:color-mix(in srgb,#10b981 12%,var(--surface-strong));border-color:color-mix(in srgb,#10b981 30%,transparent)}.pp-psb-item span{font-size:11.5px;color:var(--muted-text);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.pp-psb-item strong{font-size:14.5px;font-weight:800;color:var(--text)}.pp-psb-item.full strong{font-size:20px;font-weight:900;color:#10b981}.funnel-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:14px;gap:14px;margin-bottom:20px}.funnel-kpi-card{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 75%,transparent);border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.03);transition:transform .2s ease,box-shadow .2s ease}.funnel-kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.06)}.funnel-kpi-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;flex-shrink:0}.funnel-kpi-icon.blue{background:color-mix(in srgb,#3b82f6 14%,transparent);color:#3b82f6}.funnel-kpi-icon.green{background:color-mix(in srgb,#10b981 14%,transparent);color:#10b981}.funnel-kpi-icon.amber{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#f59e0b}.funnel-kpi-icon.rose{background:color-mix(in srgb,#ef4444 14%,transparent);color:#ef4444}.funnel-kpi-content{display:flex;flex-direction:column;gap:2px}.funnel-kpi-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.funnel-kpi-value{font-size:22px;font-weight:800;color:var(--text);line-height:1.2}.funnel-kpi-subtext{font-size:11.5px;color:var(--muted)}.funnel-flow-container{background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:16px;padding:20px;margin-bottom:24px;box-shadow:0 2px 10px rgba(0,0,0,.03)}.funnel-flow-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.funnel-flow-title{font-size:14px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}.funnel-flow-steps{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.funnel-step-item{flex:1 1;min-width:180px;background:color-mix(in srgb,var(--surface-strong) 70%,transparent);border:1px solid color-mix(in srgb,var(--line) 60%,transparent);border-radius:12px;padding:14px 16px;position:relative;transition:all .2s ease}.funnel-step-item.submitted{border-left:4px solid #3b82f6}.funnel-step-item.under_review{border-left:4px solid #f59e0b}.funnel-step-item.activated{border-left:4px solid #10b981}.funnel-step-item.rejected{border-left:4px solid #ef4444}.funnel-step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.funnel-step-name{font-size:13px;font-weight:700;color:var(--text)}.funnel-step-pct{font-size:12px;font-weight:800;padding:2px 8px;border-radius:20px;background:color-mix(in srgb,var(--line) 50%,transparent)}.funnel-step-pct.submitted{color:#3b82f6;background:rgba(59,130,246,.12)}.funnel-step-pct.under_review{color:#d97706;background:rgba(245,158,11,.12)}.funnel-step-pct.activated{color:#10b981;background:rgba(16,185,129,.12)}.funnel-step-pct.rejected{color:#ef4444;background:rgba(239,68,68,.12)}.funnel-step-bar-bg{width:100%;height:7px;background:color-mix(in srgb,var(--line) 40%,transparent);border-radius:10px;overflow:hidden;margin-bottom:8px}.funnel-step-bar-fill{height:100%;border-radius:10px;transition:width .4s ease}.funnel-step-bar-fill.submitted{background:linear-gradient(90deg,#60a5fa,#3b82f6)}.funnel-step-bar-fill.under_review{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.funnel-step-bar-fill.activated{background:linear-gradient(90deg,#34d399,#10b981)}.funnel-step-bar-fill.rejected{background:linear-gradient(90deg,#f87171,#ef4444)}.funnel-step-meta{justify-content:space-between;font-size:11.5px}.funnel-arrow,.funnel-step-meta{display:flex;align-items:center;color:var(--muted)}.funnel-arrow{justify-content:center}@media (max-width:900px){.funnel-arrow{display:none}}.pipeline-subtoolbar{justify-content:space-between;gap:14px;padding:12px 16px;background:color-mix(in srgb,var(--surface-strong) 50%,transparent);border:1px solid color-mix(in srgb,var(--line) 60%,transparent);border-radius:12px;margin-bottom:18px}.pipeline-filter-group,.pipeline-subtoolbar{display:flex;align-items:center;flex-wrap:wrap}.pipeline-filter-group{gap:10px}.pipeline-filter-select,.pipeline-search-input{font-size:13px;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);outline:none;transition:border-color .15s ease}.pipeline-filter-select:focus,.pipeline-search-input:focus{border-color:var(--accent)}.pipeline-subview-toggle{display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--line);padding:3px;border-radius:8px}.subview-btn{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:5px 10px;border-radius:6px;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:all .15s ease}.subview-btn.active{background:var(--accent);color:#ffffff}.pipeline-board{display:grid;grid-template-columns:repeat(4,minmax(260px,1fr));grid-gap:16px;gap:16px;overflow-x:auto;padding-bottom:12px}@media (max-width:1100px){.pipeline-board{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.pipeline-board{grid-template-columns:1fr}}.pipeline-column{background:color-mix(in srgb,var(--surface-strong) 40%,transparent);border:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:14px;display:flex;flex-direction:column;min-height:480px;overflow:hidden}.pipeline-column-header{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);background:var(--surface)}.pipeline-column-header strong{font-size:14px;font-weight:700;display:flex;align-items:center;gap:8px}.pipeline-column-body{padding:12px;display:flex;flex-direction:column;gap:10px;flex:1 1;overflow-y:auto}.pipeline-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 2px 6px rgba(0,0,0,.02);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;position:relative}.pipeline-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.07);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.pipeline-card.submitted{border-left:4px solid #3b82f6}.pipeline-card.under_review{border-left:4px solid #f59e0b}.pipeline-card.activated{border-left:4px solid #10b981}.pipeline-card.rejected{border-left:4px solid #ef4444}.pipeline-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.pipeline-card-student{font-size:14px;font-weight:700;color:var(--text);line-height:1.3}.pipeline-guardian-tag{font-size:11.5px;color:var(--muted);display:flex;align-items:center;gap:4px;margin-top:2px}.pipeline-time-badge{font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:6px;background:color-mix(in srgb,var(--surface-strong) 90%,transparent);color:var(--muted);white-space:nowrap}.pipeline-time-badge.warning{background:rgba(245,158,11,.15);color:#d97706}.pipeline-card-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);padding:8px;background:color-mix(in srgb,var(--surface-strong) 40%,transparent);border-radius:8px}.pipeline-card-actions{display:flex;align-items:center;gap:6px;margin-top:4px}.pipeline-card-actions .button{flex:1 1;justify-content:center;font-size:12px;padding:6px 10px}.funnel-analytics-view{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-top:8px}@media (max-width:850px){.funnel-analytics-view{grid-template-columns:1fr}}.analytics-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:14px;padding:20px}.analytics-card-title{font-size:15px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}.analytics-breakdown-list{display:flex;flex-direction:column;gap:12px}.analytics-breakdown-row{display:flex;flex-direction:column;gap:6px}.analytics-row-label{display:flex;justify-content:space-between;font-size:13px;font-weight:600}.announcement-editor-layout{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:20px;gap:20px;align-items:start}@media (max-width:960px){.announcement-editor-layout{grid-template-columns:1fr}}.announcement-presets-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;padding:12px;background:color-mix(in srgb,var(--surface-strong) 40%,transparent);border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 60%,transparent)}.preset-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:6px 14px;border-radius:20px;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);background:var(--surface);color:var(--text);cursor:pointer;transition:all .15s ease}.preset-chip:hover{background:var(--surface-strong);border-color:var(--accent);transform:translateY(-1px)}.priority-selector{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.priority-btn{font-size:12px;font-weight:600;padding:6px 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;transition:all .15s ease}.priority-btn.active.info{background:rgba(59,130,246,.16);color:#3b82f6;border-color:#3b82f6;font-weight:700}.priority-btn.active.urgent{background:rgba(239,68,68,.16);color:#ef4444;border-color:#ef4444;font-weight:700}.priority-btn.active.event{background:rgba(16,185,129,.16);color:#10b981;border-color:#10b981;font-weight:700}.priority-btn.active.academic{background:rgba(245,158,11,.16);color:#f59e0b;border-color:#f59e0b;font-weight:700}.announcement-preview-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:16px;padding:20px;box-shadow:0 4px 18px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:14px;position:-webkit-sticky;position:sticky;top:20px}.preview-card-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent);padding-bottom:12px}.preview-school-brand{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text)}.preview-badge{font-size:11px;font-weight:700;padding:3px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.4px}.preview-badge.info{background:rgba(59,130,246,.15);color:#3b82f6}.preview-badge.urgent{background:rgba(239,68,68,.15);color:#ef4444}.preview-badge.event{background:rgba(16,185,129,.15);color:#10b981}.preview-badge.academic{background:rgba(245,158,11,.15);color:#f59e0b}.preview-title{font-size:16px;font-weight:800;color:var(--text);line-height:1.3}.preview-body{font-size:13.5px;color:var(--text);line-height:1.65;white-space:pre-wrap;background:color-mix(in srgb,var(--surface-strong) 40%,transparent);padding:14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--line) 50%,transparent);min-height:100px}.preview-meta{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--muted)}.announcement-audience-pill{font-size:11px;font-weight:700;padding:3px 9px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.announcement-audience-pill.school{background:rgba(59,130,246,.15);color:#3b82f6}.announcement-audience-pill.grade{background:rgba(147,51,234,.15);color:#a855f7}.announcement-audience-pill.section{background:rgba(245,158,11,.15);color:#f59e0b}.announcement-audience-pill.individual{background:rgba(16,185,129,.15);color:#10b981}.pp-integrated-checkout{display:grid;grid-gap:18px;gap:18px}.pp-integrated-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.pp-integrated-toolbar>div{display:grid;grid-gap:3px;gap:3px}.pp-integrated-summary small,.pp-integrated-toolbar small{color:var(--muted)}.pp-integrated-charge-list{display:grid;grid-gap:10px;gap:10px}.pp-integrated-charge{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.pp-integrated-charge:hover{border-color:var(--primary);transform:translateY(-1px)}.pp-integrated-charge.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.pp-integrated-charge.disabled{cursor:not-allowed;opacity:.62;transform:none}.pp-integrated-charge>span{display:grid;grid-gap:3px;gap:3px}.pp-integrated-charge small{color:var(--muted)}.pp-integrated-bank-instructions,.pp-integrated-status,.pp-integrated-summary{display:grid;grid-gap:12px;gap:12px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface-strong)}.pp-summary-row{display:flex;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:1px solid var(--border)}.pp-summary-row.total{padding-top:8px;border-bottom:0;font-size:1.12rem}.pp-integrated-summary .actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px}.pp-integrated-status{justify-items:center;text-align:center}.pp-integrated-documents{display:grid;grid-gap:6px;gap:6px}@media (max-width:680px){.pp-integrated-charge{grid-template-columns:auto minmax(0,1fr)}.pp-integrated-charge>strong{grid-column:2}.pp-integrated-toolbar{align-items:stretch}}.money-input-container{display:inline-flex;align-items:center;position:relative;width:100%;min-height:38px;background:var(--field-bg,var(--surface));border:1px solid var(--line);border-radius:8px;color:var(--text);box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}.money-input-container:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.money-input-container input{color:var(--text)!important;background:transparent!important}.up-container{display:flex;flex-direction:column;gap:24px}.up.ledger-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.ledger-export-btn{width:auto!important;min-width:max-content;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;height:40px;font-size:13px;font-weight:600;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;transition:all .15s ease}.ledger-export-btn:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent)}.ledger-export-btn:disabled{opacity:.5;cursor:not-allowed}.up-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.up-header-title{display:flex;align-items:center;gap:12px}.up-header-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.up-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.up-card-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text);margin-bottom:16px}.up-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-bottom:16px}.up-field-wrapper{display:flex;flex-direction:column;gap:6px}.up-field-label{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:6px}.up-input-group{position:relative;display:flex;align-items:center}.up-input-icon{position:absolute;left:12px;color:var(--muted);pointer-events:none}.up-input-group input,.up-input-group select{width:100%;padding:10px 12px 10px 38px;border-radius:8px;border:1px solid var(--line);background:var(--field-bg,var(--surface));color:var(--text);font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.up-input-group input:focus,.up-input-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.up-role-hint{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:10px 14px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:8px;font-size:13px;color:var(--text)}.up-form-actions{display:flex;justify-content:flex-end}.up-tools-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 20px;background:var(--surface);border-radius:12px 12px 0 0;border:1px solid var(--line);border-bottom:none}.up-search-box{position:relative;min-width:260px;flex:1 1}.up-search-box input{width:100%;padding:9px 34px 9px 36px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:13.5px}.up-search-box input:focus{outline:none;border-color:var(--accent)}.up-search-icon{left:10px;pointer-events:none}.up-search-clear,.up-search-icon{position:absolute;top:50%;transform:translateY(-50%);color:var(--muted)}.up-search-clear{right:10px;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px}.up-filters-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.up-filter-select{padding:8px 12px;border-radius:8px;border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:13px}.up-user-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0;color:#ffffff}.up-avatar-admin{background:linear-gradient(135deg,#a855f7,#7e22ce)}.up-avatar-academic{background:linear-gradient(135deg,#10b981,#047857)}.up-avatar-finance{background:linear-gradient(135deg,#f59e0b,#b45309)}.up-avatar-teacher{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.up-user-cell{display:flex;align-items:center;gap:12px}.up-user-info{display:flex;flex-direction:column}.up-user-name{font-weight:600;color:var(--text);font-size:14px}.up-email-cell{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.ledger-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.ledger-export-btn,.ledger-header-actions .button{width:auto!important;min-width:max-content!important;white-space:nowrap!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:8px 16px!important;height:40px!important;font-size:13px!important;font-weight:600!important;border-radius:8px!important;border:1px solid var(--line)!important;background:var(--surface)!important;color:var(--text)!important;cursor:pointer!important;transition:all .15s ease!important}.ledger-export-btn:hover,.ledger-header-actions .button:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface))!important;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))!important;color:var(--accent)!important}.ledger-export-btn:disabled,.ledger-header-actions .button:disabled{opacity:.5!important;cursor:not-allowed!important}.ledger-filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;background:color-mix(in srgb,var(--surface) 96%,var(--bg));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:14px;box-shadow:0 2px 10px color-mix(in srgb,var(--text) 3%,transparent)}.ledger-search-box{position:relative;flex:1 1;min-width:280px;display:flex;align-items:center}.ledger-search-box .search-icon{position:absolute;left:14px;color:var(--muted);pointer-events:none;z-index:2;transition:color .2s ease,transform .2s ease}.ledger-search-box:focus-within .search-icon{color:var(--accent);transform:scale(1.08)}.ledger-search-input{height:44px!important;padding:0 48px 0 42px!important;width:100%!important;border-radius:10px!important;border:1.5px solid color-mix(in srgb,var(--accent) 25%,var(--line))!important;background:color-mix(in srgb,var(--surface) 98%,var(--bg))!important;color:var(--text)!important;font-size:14px!important;font-weight:500!important;line-height:44px!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.04)!important;transition:all .2s cubic-bezier(.16,1,.3,1)!important}.ledger-search-input::placeholder{color:color-mix(in srgb,var(--muted) 85%,transparent)!important;font-size:13px!important;font-weight:400!important}.ledger-search-input:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))!important;background:var(--surface)!important}.ledger-search-input:focus{outline:none!important;background:var(--surface)!important;border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent),0 4px 14px color-mix(in srgb,var(--accent) 12%,transparent)!important}.search-shortcut-badge{font-family:system-ui,-apple-system,sans-serif;font-size:11px;font-weight:600;padding:3px 7px;border-radius:6px;background:color-mix(in srgb,var(--line) 45%,var(--surface));right:14px;pointer-events:none;border:1px solid color-mix(in srgb,var(--line) 80%,transparent);letter-spacing:.5px}.clear-search-btn,.search-shortcut-badge{color:var(--muted);position:absolute;z-index:2}.clear-search-btn{right:12px;background:none;border:none;cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.clear-search-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.up-copy-btn{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;display:inline-flex;align-items:center;transition:color .15s ease,background .15s ease}.up-copy-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.up-role-badge-select{border-radius:20px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:500;cursor:pointer}.up-role-badge-select,.up-status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px}.up-status-pill{border-radius:20px;font-size:12px;font-weight:600}.up-status-pill.active{background:rgba(16,185,129,.15);color:#059669}.up-status-pill.inactive{background:rgba(107,114,128,.15);color:#6b7280}.up-status-dot{width:7px;height:7px;border-radius:50%}.up-status-pill.active .up-status-dot{background:#10b981}.up-status-pill.inactive .up-status-dot{background:#9ca3af}.up-action-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.up-action-btn:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.up-action-btn.disable:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.app-loading-gate-overlay{position:fixed;inset:0;z-index:99998;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#1e293b 0,#0f172a 100%);color:#ffffff;font-family:inherit;opacity:1;transition:opacity .35s ease-out,transform .35s ease-out;pointer-events:auto}.app-loading-gate-overlay.fade-out{opacity:0;transform:scale(1.02);pointer-events:none}.app-loading-gate-content{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding:24px}.app-loading-gate-brand{position:relative;width:88px;height:88px;display:flex;align-items:center;justify-content:center}.app-loading-gate-logo{width:52px;height:52px;object-fit:contain;animation:gateLogoPulse 2s ease-in-out infinite}.app-loading-gate-spinner{position:absolute;inset:0;border-radius:50%;padding:3px;background:conic-gradient(from 0deg,transparent 0,#2563eb 50%,#7c3aed 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:gateSpin 1.2s linear infinite}.app-loading-gate-info{display:flex;flex-direction:column;align-items:center;gap:6px}.app-loading-gate-title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:#ffffff;margin:0}.app-loading-gate-status{font-size:.875rem;color:rgba(255,255,255,.7);margin:0;font-weight:400}.app-loading-gate-progress-bar{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#7c3aed,#2563eb);background-size:200% 100%;animation:gateProgressMove 1.8s ease-in-out infinite}@keyframes gateSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes gateLogoPulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.06);opacity:1}}@keyframes gateProgressMove{0%{background-position:0 0}50%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.app-loading-gate-logo,.app-loading-gate-progress-bar,.app-loading-gate-spinner{animation:none!important}}@keyframes spinOnce{to{transform:rotate(1turn)}}.spin-icon{animation:spinOnce .9s linear infinite}.link-guardian-wizard{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.link-guardian-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.link-guardian-title{display:flex;align-items:flex-start;gap:14px}.link-guardian-title-icon{width:40px;height:40px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;flex-shrink:0}.link-guardian-title h2{margin:0;font-size:17px;font-weight:700;color:var(--text);line-height:1.3}.link-guardian-title p{margin:3px 0 0;font-size:13px;color:var(--muted)}.link-guardian-counts{display:flex;gap:8px;flex-wrap:wrap}.link-guardian-count-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent);font-size:12px;font-weight:600}.link-guardian-stepper-container{position:relative;background:color-mix(in srgb,var(--accent) 4%,var(--surface));border-bottom:1px solid var(--border)}.link-guardian-stepper{display:flex;align-items:center;justify-content:space-between;padding:18px 28px;gap:12px}.link-guardian-step{display:flex;align-items:center;gap:12px;position:relative;flex:1 1;padding:8px 14px;border-radius:12px;transition:all .22s cubic-bezier(.16,1,.3,1);-webkit-user-select:none;-moz-user-select:none;user-select:none}.link-guardian-step.clickable{cursor:pointer}.link-guardian-step.clickable:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.link-guardian-step.clickable:hover .link-guardian-step-circle{transform:scale(1.08)}.link-guardian-step-circle{width:36px;height:36px;border-radius:50%;border:2px solid color-mix(in srgb,var(--text) 22%,transparent);background:var(--surface);color:var(--text);font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 4px rgba(0,0,0,.04);transition:all .25s cubic-bezier(.34,1.56,.64,1)}.link-guardian-step.active .link-guardian-step-circle{border-color:var(--accent);background:var(--accent);color:#ffffff;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent),0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent)}.link-guardian-step.complete .link-guardian-step-circle{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.link-guardian-step-text{display:flex;flex-direction:column;gap:2px;min-width:0}.link-guardian-step-label{font-size:14px;font-weight:700;color:var(--text);white-space:nowrap;transition:color .2s ease;line-height:1.2}.link-guardian-step.active .link-guardian-step-label{color:var(--accent)}.link-guardian-step.complete .link-guardian-step-label{color:var(--text)}.link-guardian-step-sublabel{font-size:11.5px;font-weight:500;color:var(--muted);white-space:nowrap}.link-guardian-step.active .link-guardian-step-sublabel{color:var(--text);font-weight:600}.link-guardian-step-connector{flex:1 1;height:2px;min-width:16px;background:color-mix(in srgb,var(--border) 80%,transparent);margin:0 8px;border-radius:2px;position:relative;overflow:hidden;transition:background .3s ease}.link-guardian-step-connector.complete{background:var(--accent)}.link-guardian-progress-track{height:3.5px;width:100%;background:color-mix(in srgb,var(--border) 60%,transparent);position:absolute;bottom:0;left:0;overflow:hidden}.link-guardian-progress-bar{height:100%;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#ffffff));transition:width .35s cubic-bezier(.4,0,.2,1);box-shadow:0 0 8px var(--accent)}.link-guardian-body{padding:28px;background:color-mix(in srgb,var(--background) 50%,var(--surface))}.link-guardian-step-panel{display:flex;flex-direction:column;gap:20px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.03);animation:lgSlideIn .2s cubic-bezier(.22,1,.36,1)}@keyframes lgSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.link-guardian-step-heading{display:flex;align-items:center;gap:10px;color:var(--accent)}.link-guardian-step-heading h3{margin:0;font-size:17px;font-weight:700;color:var(--text)}.link-guardian-step-hint{margin:-12px 0 0;font-size:13.5px;color:var(--muted)}.link-guardian-combobox{position:relative}.link-guardian-combobox-field{display:flex;align-items:center;gap:10px;border:2px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:12px;background:var(--surface);padding:4px 14px;box-shadow:0 2px 8px rgba(0,0,0,.04),inset 0 1px 2px rgba(0,0,0,.02);transition:all .2s cubic-bezier(.16,1,.3,1)}.link-guardian-combobox-field:hover{border-color:var(--accent);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 12%,transparent)}.link-guardian-combobox-field:focus-within{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent),0 4px 16px color-mix(in srgb,var(--accent) 15%,transparent)}.link-guardian-combobox-icon{color:var(--accent);flex-shrink:0}.link-guardian-combobox-input{flex:1 1;border:none;background:transparent;padding:12px 0;font-size:14.5px;font-weight:500;color:var(--text);outline:none;min-width:0}.link-guardian-combobox-input::placeholder{color:color-mix(in srgb,var(--muted) 85%,transparent);font-weight:400}.link-guardian-combobox-clear{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text);cursor:pointer;border-radius:50%;padding:0;flex-shrink:0;transition:color .15s ease,background .15s ease,transform .15s ease}.link-guardian-combobox-clear:hover{color:#ffffff;background:var(--accent);transform:scale(1.1)}.link-guardian-combobox-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:2px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:12px;box-shadow:0 12px 36px rgba(0,0,0,.16);list-style:none;margin:0;padding:6px;z-index:200;max-height:280px;overflow-y:auto;animation:lgSlideIn .15s ease}.link-guardian-combobox-option{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;cursor:pointer;transition:background .12s ease;color:var(--text)}.link-guardian-combobox-option:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.link-guardian-combobox-option.selected{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.link-guardian-combobox-avatar{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}.link-guardian-combobox-avatar.guardian{background:color-mix(in srgb,#8b5cf6 16%,transparent);color:#8b5cf6}.link-guardian-combobox-option-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.link-guardian-combobox-option-info strong{font-size:14px;font-weight:600;line-height:1.2;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-guardian-combobox-more,.link-guardian-combobox-option-info span{font-size:12px;color:var(--muted)}.link-guardian-combobox-more{padding:8px 12px;font-style:italic;border-top:1px solid var(--border);margin-top:4px}.link-guardian-combobox-empty{display:flex;align-items:center;gap:10px;padding:14px 16px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);font-size:13.5px;margin-top:6px}.link-guardian-selected-card{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:2px solid color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 8%,transparent);animation:lgSlideIn .18s ease}.link-guardian-selected-card.guardian{background:color-mix(in srgb,#8b5cf6 8%,var(--surface));border-color:color-mix(in srgb,#8b5cf6 32%,transparent);box-shadow:0 4px 12px color-mix(in srgb,#8b5cf6 8%,transparent)}.link-guardian-selected-avatar{width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex-shrink:0}.link-guardian-selected-avatar.guardian{background:color-mix(in srgb,#8b5cf6 18%,transparent);color:#8b5cf6}.link-guardian-selected-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.link-guardian-selected-info strong{font-size:14.5px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-guardian-selected-info span{font-size:12.5px;color:var(--muted)}.link-guardian-selected-check{color:var(--accent);flex-shrink:0}.link-guardian-empty-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:36px 24px;border:2px dashed color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--accent) 3%,var(--surface));color:var(--muted);font-size:14px;font-weight:500;text-align:center}.link-guardian-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:8px}.link-guardian-diagram{display:flex;align-items:center;gap:0;padding:20px 24px;background:color-mix(in srgb,var(--accent) 5%,var(--background));border:1.5px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:14px;flex-wrap:wrap;justify-content:center}.link-guardian-diagram-node{display:flex;align-items:center;gap:12px;flex:1 1;min-width:160px}.link-guardian-diagram-node.guardian{flex-direction:row-reverse;text-align:right}.link-guardian-diagram-avatar{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0;border:2px solid color-mix(in srgb,var(--accent) 30%,transparent)}.link-guardian-diagram-avatar.guardian{background:color-mix(in srgb,#8b5cf6 18%,transparent);color:#8b5cf6;border-color:color-mix(in srgb,#8b5cf6 30%,transparent)}.link-guardian-diagram-info{display:flex;flex-direction:column;gap:2px}.link-guardian-diagram-info strong{font-size:14px;font-weight:700;color:var(--text)}.link-guardian-diagram-info span{font-size:12px;color:var(--muted)}.link-guardian-diagram-connector{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:0 12px}.link-guardian-diagram-line{height:2px;width:32px;background:color-mix(in srgb,var(--accent) 40%,transparent);border-radius:2px}.link-guardian-diagram-badge{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent);font-size:12px;font-weight:600;white-space:nowrap}.link-guardian-config-section{display:flex;flex-direction:column;gap:8px}.link-guardian-permissions{display:flex;flex-direction:column;gap:10px}.link-guardian-permissions-label{margin:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.link-guardian-permission-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:10px;gap:10px}.link-guardian-perm-card{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;border-radius:12px;background:var(--background);border:1.5px solid var(--border);cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;position:relative}.link-guardian-perm-card input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.link-guardian-perm-card:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.link-guardian-perm-card.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--background));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.link-guardian-perm-card-icon{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.link-guardian-perm-card-icon.billing{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#f59e0b}.link-guardian-perm-card-icon.legal{background:color-mix(in srgb,#3b82f6 14%,transparent);color:#3b82f6}.link-guardian-perm-card.active .link-guardian-perm-card-icon.billing{background:color-mix(in srgb,#f59e0b 22%,transparent)}.link-guardian-perm-card.active .link-guardian-perm-card-icon.legal{background:color-mix(in srgb,#3b82f6 22%,transparent)}.link-guardian-perm-card-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:3px}.link-guardian-perm-card-text strong{font-size:13.5px;font-weight:600;color:var(--text);line-height:1.2}.link-guardian-perm-card-text span{font-size:12px;color:var(--muted);line-height:1.4}.link-guardian-perm-card-indicator{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0;margin-top:2px}@media (max-width:640px){.link-guardian-header{flex-direction:column;align-items:flex-start}.link-guardian-stepper{padding:14px 16px;gap:0}.link-guardian-step-label{display:none}.link-guardian-body{padding:20px 16px 16px}.link-guardian-diagram{flex-direction:column;gap:12px}.link-guardian-diagram-connector{flex-direction:column;padding:0}.link-guardian-diagram-line{width:2px;height:20px}.link-guardian-diagram-node.guardian{flex-direction:row;text-align:left}}@media (prefers-reduced-motion:reduce){.link-guardian-combobox-dropdown,.link-guardian-selected-card,.link-guardian-step-panel,.spin-icon{animation:none!important}}