:root{--bg:#faf8f4;--surface:#fff;--surface-2:#f2efe7;--border:#e7e3da;--text:#14213d;--text-secondary:#5b6472;--text-muted:#8891a6;--brand:#0f766e;--brand-hover:#0b5d57;--on-brand:#fff;--accent-bg:#fdf0dc;--accent-text:#8a5a0f;--amber:#f5a623;--chart-secondary:#2563eb;--success-bg:#daf5e9;--success-text:#046c4e;--warning-bg:#fff3d8;--warning-text:#9a5b03;--danger-bg:#ffe4e6;--danger-text:#9f1239;--neutral-bg:#eceff3;--neutral-text:#6b7280;--shadow:0 1px 2px #14213d0a, 0 8px 24px #14213d0f;--rail-bg:var(--surface);--rail-border:var(--border);--rail-text:var(--text);--rail-muted:var(--text-secondary);--rail-active:var(--brand);--chrome-bg:var(--surface);--focus:#14213d}a{color:inherit;text-decoration:none}html[data-theme=dark]{--bg:#0f1626;--surface:#16213d;--surface-2:#1b2740;--border:#26314a;--text:#f4f2ed;--text-secondary:#9aa5bc;--text-muted:#6b7a99;--brand:#2dd4bf;--brand-hover:#5eead4;--on-brand:#082622;--accent-bg:#3a2b0e;--accent-text:#f5c67a;--amber:#f5a623;--chart-secondary:#60a5fa;--success-bg:#123d32;--success-text:#8ce6c4;--warning-bg:#4a3513;--warning-text:#f5c67a;--danger-bg:#4a202b;--danger-text:#ffb4c0;--neutral-bg:#2a3448;--neutral-text:#b4bfd2;--shadow:0 1px 2px #0003, 0 12px 32px #00000059;--rail-bg:var(--surface);--rail-border:var(--border);--rail-text:var(--text);--rail-muted:var(--text-secondary);--rail-active:var(--brand);--chrome-bg:var(--surface);--focus:#f4f2ed}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;accent-color:var(--brand)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}#root :focus:not(:focus-visible){outline:none}#root :focus-visible{outline-offset:2px;outline:2px solid var(--focus)!important}#skip-to-content{z-index:80;background:var(--brand);color:var(--on-brand);border-radius:8px;padding:8px 12px;position:absolute;top:8px;left:12px;transform:translateY(-140%)}#skip-to-content:focus,#skip-to-content:focus-visible{transform:none}#main-content:focus{outline:none}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0;font-family:Inter,-apple-system,sans-serif;line-height:1.6}button,input,select,textarea{font-family:inherit}#root,#root *{font-family:Inter,-apple-system,sans-serif!important}#root [style*=ionicons]{font-family:ionicons!important}h1,h2,h3,.eyebrow,.logo-shell{font-family:Inter,-apple-system,sans-serif}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.left-rail{background:var(--rail-bg);color:var(--rail-text);border-right:none;flex-direction:column;align-self:start;gap:0;height:100vh;padding:0;display:flex;position:sticky;top:0;overflow-y:auto}.rail-brand{background:var(--chrome-bg);border-bottom:1px solid var(--rail-border);justify-content:flex-start;align-items:center;min-height:84px;padding:10px 12px;display:flex}.workspace{min-width:0}.topbar{z-index:50;background:var(--chrome-bg);border-bottom:1px solid var(--border);min-height:84px;padding:10px 16px;position:sticky;top:0}.topbar-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-title{margin:0;font-size:24px;line-height:1.2}.content-wrap{padding:18px 16px 28px}.boot-screen{min-height:100vh;color:var(--text-secondary);place-items:center;font-weight:600;display:grid}.login-shell{min-height:100vh;padding:0;display:block}.login-layout{background:var(--surface);width:100%;min-height:100vh;box-shadow:none;border:0;border-radius:0;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.login-left{border-right:1px solid var(--border);background:radial-gradient(circle at 20% 20%, color-mix(in srgb, var(--accent-bg) 70%, transparent) 0, transparent 42%), linear-gradient(180deg, color-mix(in srgb, var(--surface-2) 85%, transparent), var(--surface));text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:44px;display:flex}.login-left h1{margin:6px 0 8px;font-size:36px;line-height:1.1}.login-kicker{color:var(--brand);text-transform:uppercase;letter-spacing:1.4px;margin:0;font-size:12px;font-weight:700}.login-right{flex-direction:column;justify-content:center;padding:44px;display:flex}.login-left>*,.login-right>*,.login-right .login-form{width:min(100%,520px)}.login-right h2{margin:0 0 6px;font-size:30px}.login-value-grid{gap:14px;margin-top:22px;display:grid}.login-value-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px}.login-value-card h3{margin:0 0 4px;font-size:16px}.login-value-card p{color:var(--text-secondary);margin:0;font-size:13px}.login-card{background:var(--surface);border:1px solid var(--border);width:min(100%,440px);box-shadow:var(--shadow);border-radius:16px;padding:26px}.login-logo{margin-bottom:16px}.login-card h1{margin:0 0 6px}.login-form{grid-template-columns:1fr;margin-top:10px}.form-grid.login-form{grid-template-columns:1fr}.notice{color:var(--text-secondary);margin:0 0 10px;font-size:13px}.header-left{gap:8px;display:grid}.header-context h1{margin:8px 0 0;font-size:22px;line-height:1.1}.header-context p{color:var(--text-secondary);margin:0;font-size:13px}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.icon-btn:hover{border-color:var(--brand);color:var(--brand)}.profile-menu-wrap{position:relative}.profile-icon-btn{font-size:17px}.profile-menu{background:var(--surface);border:1px solid var(--border);min-width:196px;box-shadow:var(--shadow);z-index:90;border-radius:9px;padding:4px;position:absolute;top:calc(100% + 6px);right:0}.profile-menu-item{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 9px;font-size:13px;line-height:1.25}.profile-menu-item:hover{background:var(--surface-2)}.brand-cluster{justify-content:center;align-items:center;gap:12px;display:flex}.logo-shell{align-items:center;font-size:22px;font-weight:600;display:flex}.logo-shell .tra{color:var(--rail-text)}.logo-shell .avo{color:var(--brand)}.logo-suffix{color:var(--rail-text);background:var(--accent-bg);border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:12px}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:9px;padding:10px 14px;font-weight:600}.theme-toggle:hover{border-color:var(--brand);color:var(--brand)}.content-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px}.sidebar-card{border:1px solid var(--rail-border);background:var(--surface-2);border-radius:10px;padding:12px}.sidebar-head{margin-bottom:12px}.sidebar-sub{color:var(--rail-muted);margin:0 0 8px;font-size:13px}.health-chip{border:1px solid var(--rail-border);color:var(--accent-text);background:var(--accent-bg);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.sidebar-nav{gap:8px;margin-bottom:14px;padding:12px 12px 0;display:grid}.sidebar-section{gap:7px;display:grid}.sidebar-group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.7px;margin:6px 4px 0;font-size:11px;font-weight:700}.eyebrow{text-transform:uppercase;letter-spacing:1px;color:var(--brand);margin-top:0;font-size:12px}.menu-btn{border:1px solid var(--rail-border);background:var(--surface);width:100%;color:var(--rail-text);text-align:left;cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:11px;font-weight:600;transition:border-color .2s,background .2s,color .2s;display:flex}.menu-btn:hover{border-color:var(--brand)}.menu-btn-muted{opacity:.72;cursor:default}.menu-btn-muted:hover{border-color:var(--rail-border)}.menu-glyph{border:1px solid var(--rail-border);background:var(--surface-2);width:32px;height:32px;color:var(--brand);letter-spacing:.8px;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.menu-btn.active{background:var(--rail-active);color:var(--on-brand);border-color:var(--rail-active)}.menu-btn.active .menu-glyph{background:color-mix(in srgb, var(--on-brand) 18%, transparent);border-color:color-mix(in srgb, var(--on-brand) 45%, transparent);color:var(--on-brand)}.menu-copy{gap:1px;display:grid}.menu-copy strong{color:inherit;font-size:13px;line-height:1.25}.menu-copy small{color:var(--rail-muted);font-size:11.5px;font-weight:500}.menu-btn.active .menu-copy small{color:color-mix(in srgb, var(--on-brand) 88%, transparent)}.row-selected{background:color-mix(in srgb, var(--brand) 7%, transparent)}.sidebar-divider{display:none}.sidebar-refresh{width:100%;color:var(--text-secondary);border-color:var(--rail-border);background:0 0;margin-bottom:12px;margin-left:12px;margin-right:12px}.sidebar-panel{gap:10px;margin:0 12px 12px;display:grid}.sidebar-panel div{color:var(--rail-muted);justify-content:space-between;align-items:center;font-size:13px;display:flex}.sidebar-panel strong{color:var(--rail-text);font-family:Inter,-apple-system,sans-serif;font-size:15px}.content-card{padding:24px}.profile-page{gap:14px;display:grid}.profile-hero{border:1px solid var(--border);background:linear-gradient(140deg, color-mix(in srgb, var(--surface-2) 72%, var(--surface) 28%), var(--surface));border-radius:14px;align-items:center;gap:14px;padding:16px;display:flex}.profile-avatar{border:1px solid color-mix(in srgb, var(--brand) 35%, var(--border) 65%);background:color-mix(in srgb, var(--brand) 16%, var(--surface) 84%);width:72px;height:72px;color:var(--brand);border-radius:18px;place-items:center;font-size:26px;font-weight:700;display:grid}.profile-head-copy h1{margin:0;font-size:28px}.profile-tags{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.profile-tags span{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);border-radius:999px;padding:4px 9px;font-size:12px}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px}.profile-panel h3{margin:0 0 10px;font-size:17px}.profile-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.profile-field-grid label{color:var(--text-muted);font-size:12px}.profile-field-grid p{color:var(--text);margin:2px 0 0;font-size:14px}.profile-list,.profile-metrics{gap:8px;display:grid}.profile-list div,.profile-metrics div{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.profile-list span,.profile-metrics span{color:var(--text-secondary);font-size:12px}.profile-list strong,.profile-metrics strong{font-size:14px}.module-page-stack{gap:14px;display:grid}.module-tabs{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:8px;width:fit-content;padding:6px;display:inline-flex}.filters-bar{grid-template-columns:1.6fr repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;margin-bottom:12px;display:grid}.filters-actions{justify-content:flex-end;align-items:flex-end;display:flex}.user-filters-bar{grid-template-columns:1.5fr repeat(3,minmax(0,1fr)) auto}.invitation-filters-bar,.audit-filters-bar{grid-template-columns:1.6fr minmax(0,1fr) auto}.session-filters-bar{grid-template-columns:1.8fr auto}.pagination-bar{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.pagination-bar p{color:var(--text-secondary);margin:0;font-size:12px}.pagination-actions{align-items:center;gap:8px;display:inline-flex}.page-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text-secondary);border-radius:8px;padding:4px 8px;font-size:12px}.module-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;padding:7px 12px;font-size:13px;font-weight:600}.module-tab.active{background:var(--surface);border-color:var(--border);color:var(--text)}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.detail-card h3{margin:0 0 10px;font-size:17px}.kv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.kv-grid div{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:1px;padding:9px;display:grid}.kv-grid span{color:var(--text-secondary);font-size:12px}.kv-grid strong{font-size:14px;line-height:1.3}.span-2{grid-column:span 2}.span-all{grid-column:1/-1}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.permissions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.permission-card{border:1px solid var(--border);background:var(--surface-2);border-radius:11px;padding:10px}.permission-card h4{margin:0 0 8px;font-size:14px}.permission-list{gap:6px;display:grid}.permission-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.permission-row span{color:var(--text-secondary);font-size:12px}.permission-row strong{font-size:12px}.tag-chip{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:5px 10px;font-size:12px}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.btn-xs{border-radius:8px;padding:5px 8px;font-size:11px}.btn-icon-only{justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:0;font-size:14px;line-height:1;display:inline-flex}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.check-pill{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;align-items:center;gap:8px;padding:8px;display:flex}.check-pill span{font-size:13px}.growth-list{gap:8px;display:grid}.growth-row{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;justify-content:space-between;align-items:center;padding:9px 10px;display:flex}.capacity-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.capacity-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:10px;padding:12px;display:grid}.capacity-head strong{font-size:15px}.capacity-head p{color:var(--text-secondary);margin:0;font-size:12px}.capacity-bar-block{gap:5px;display:grid}.capacity-bar-block span{color:var(--text-secondary);font-size:12px}.capacity-bar-track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:10px;overflow:hidden}.capacity-bar-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--brand) 80%, #fff 20%), var(--brand));height:100%}.capacity-bar-fill.teacher{background:linear-gradient(90deg,#0f766e,#0f766e)}.dashboard-stack{gap:16px;display:grid}.overview-card{border:1px solid var(--border);background:linear-gradient(150deg, color-mix(in srgb, var(--surface-2) 75%, var(--surface) 25%), var(--surface));border-radius:14px;padding:14px}.overview-card h2{margin:0 0 4px;font-size:22px}.overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.overview-grid div{border:1px solid var(--border);background:var(--surface);border-radius:10px;gap:3px;padding:10px;display:grid}.overview-grid span{color:var(--text-secondary);font-size:12px}.overview-grid strong{font-size:18px;line-height:1.2}.metric-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:2px;padding:12px;display:grid}.metric-card p{color:var(--text-secondary);margin:0;font-size:12px}.metric-card h3{margin:0;font-size:26px;line-height:1.1}.metric-card small{color:var(--text-secondary);font-size:12px}.user-metric-grid,.role-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-two-col{grid-template-columns:2fr 1fr;gap:12px;display:grid}.surface-panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:14px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px;display:flex}.page-header>div:first-child{flex:1;min-width:0}.page-header h1{margin:0;font-size:28px;line-height:1.2}.page-header p{color:var(--text-secondary);margin:7px 0 0}.page-header>.btn{flex-shrink:0;margin-left:auto}.page-header .btn,.filters-actions .btn,.school-detail-table-wrapper .btn{justify-content:center;align-items:center;gap:6px;display:inline-flex}.button-icon{justify-content:center;align-items:center;line-height:1;display:inline-flex}.surface-panel h3{margin:0 0 10px;font-size:18px}.panel-head-top{align-items:flex-start}.panel-head-actions-only{justify-content:flex-end;width:100%}.panel-head-actions-only .btn{margin-left:auto}.panel-subtext{margin:4px 0 0}.revenue-chart{grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:8px;min-height:220px;display:grid}.revenue-col{justify-items:center;gap:4px;display:grid}.revenue-col p,.revenue-col small{color:var(--text-secondary);margin:0;font-size:11px}.revenue-bar-wrap{background:var(--surface-2);border-radius:999px;align-items:flex-end;width:100%;height:140px;display:flex;overflow:hidden}.revenue-bar{border-radius:inherit;background:linear-gradient(180deg, color-mix(in srgb, var(--brand) 75%, #fff 25%), var(--brand));width:100%}.donut-wrap{justify-items:center;gap:12px;display:grid}.donut{aspect-ratio:1;border-radius:50%;place-items:center;width:170px;display:grid;position:relative}.donut:after{content:"";aspect-ratio:1;background:var(--surface);border:1px solid var(--border);border-radius:50%;width:102px}.donut span{font-size:24px;font-weight:700;position:absolute}.donut-legend{gap:8px;width:100%;display:grid}.donut-legend p{align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.dot{border-radius:50%;width:10px;height:10px}.dot.starter{background:var(--brand)}.dot.professional{background:#1d4ed8}.dot.enterprise{background:#f59e0b}.pipeline-grid,.support-grid,.health-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pipeline-grid div,.support-grid div,.health-grid div{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:2px;padding:10px;display:grid}.pipeline-grid span,.support-grid span,.health-grid span{color:var(--text-secondary);font-size:12px}.pipeline-grid strong,.support-grid strong,.health-grid strong{font-size:20px;line-height:1.2}.panel-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.status-pill{border:1px solid var(--border);border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-pill.active{color:var(--success-text);background:var(--success-bg)}.status-pill.expiring{color:var(--warning-text);background:var(--warning-bg)}.status-pill.expired{color:var(--danger-text);background:var(--danger-bg)}.status-pill.suspended,.status-pill.disabled{color:var(--neutral-text);background:var(--neutral-bg)}.status-pill.success{color:var(--success-text);background:var(--success-bg)}.status-pill.warning{color:var(--warning-text);background:var(--warning-bg)}.status-pill.danger{color:var(--danger-text);background:var(--danger-bg)}.status-pill.neutral{color:var(--neutral-text);background:var(--neutral-bg)}.activity-list,.renewal-list{gap:8px;display:grid}.activity-item,.renewal-item{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:10px}.activity-item p,.activity-item strong,.activity-item small{margin:0;display:block}.activity-item p{color:var(--text-secondary);font-size:12px}.activity-item strong{font-size:14px;line-height:1.25}.activity-item small{color:var(--text-muted);font-size:12px}.renewal-item{justify-content:space-between;align-items:center;gap:10px;display:flex}.renewal-item strong,.renewal-item small{margin:0;display:block}.renewal-item small{color:var(--text-secondary);font-size:12px}.renewal-item span{color:var(--accent-text);font-weight:700}.quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.modal-backdrop{z-index:120;overscroll-behavior:contain;background:#14213d57;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.modal-card{border:1px solid var(--border);background:var(--surface);width:min(100%,680px);max-height:calc(100vh - 40px);box-shadow:var(--shadow);overscroll-behavior:contain;border-radius:16px;padding:16px;overflow-y:auto}.modal-dialog{border:1px solid var(--border);background:var(--surface);width:min(100%,720px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.modal-dialog-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;display:flex}.modal-dialog-header h3{color:var(--text);margin:0;font-size:20px;line-height:1.25}.modal-dialog-body{overscroll-behavior:contain;min-height:0;padding:20px 24px 24px;overflow-y:auto}.modal-dialog-body .subscription-form-row{gap:7px;display:grid}.modal-dialog-body .subscription-form-row label{color:var(--text-secondary);font-size:13px;font-weight:600}.modal-dialog-body .subscription-form-row select{min-height:40px}.modal-close{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:6px;flex:none;place-items:center;padding:0;font-size:18px;line-height:1;display:inline-grid}.modal-close:hover{background:var(--surface-2)}.modal-wide{width:min(100%,820px)}.modal-sm{width:min(100%,460px)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.api-loading-indicator{z-index:10001;border:1px solid var(--border);background:var(--surface);min-height:40px;box-shadow:var(--shadow);color:var(--text);pointer-events:none;border-radius:999px;align-items:center;gap:9px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex;position:fixed;top:18px;left:50%;transform:translate(-50%)}.api-loading-spinner{border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:16px;height:16px;animation:.75s linear infinite api-spin}.api-success-backdrop{z-index:10000;background:#14213d57;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.api-success-dialog{border:1px solid var(--border);background:var(--surface);width:min(100%,360px);box-shadow:var(--shadow);text-align:center;border-radius:16px;padding:28px 24px 24px}.api-success-icon{color:#046c4e;background:#daf5e9;border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 14px;font-size:28px;font-weight:800;display:grid}.api-success-dialog h2{color:var(--text);margin:0;font-size:20px}.api-success-dialog p{color:var(--text-secondary);margin:8px 0 22px;font-size:14px}@keyframes api-spin{to{transform:rotate(360deg)}}.role-accordion-stack{gap:10px;display:grid}.accordion-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.accordion-toggle{background:var(--surface-2);width:100%;color:var(--text);font:inherit;cursor:pointer;border:0;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.accordion-body{padding:12px}.checkbox-label{color:var(--text-secondary);align-items:center;gap:8px;display:flex}.checkbox-label input{width:auto}.lead{color:var(--text-secondary);margin-top:0}.error-banner{background:var(--accent-bg);color:var(--accent-text);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.role-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-bottom:14px;padding:16px}.role-card h3{margin-top:0;margin-bottom:12px}.perm-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}label{color:var(--text-secondary);gap:6px;font-size:13px;display:grid}input,select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:9px;padding:10px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb, var(--brand) 40%, transparent);outline-offset:1px}.btn{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.7;cursor:not-allowed}.btn-primary{background:var(--brand);color:var(--on-brand)}.btn-primary:hover{background:var(--brand-hover)}.btn-ghost{border-color:var(--border);color:var(--text-secondary);background:0 0}.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}table{border-collapse:collapse;border:1px solid var(--border);border-radius:12px;width:100%;margin-top:12px;font-size:13px;overflow:hidden}thead{background:var(--surface-2)}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:9px 10px}.action-cell{grid-template-columns:1fr 1fr auto;gap:8px;display:grid}.content-card h1{margin-top:0;margin-bottom:12px;line-height:1.2}.content-card ul{color:var(--text-secondary);margin:0 0 18px}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.kpi{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:14px}.kpi p{color:var(--text-secondary);margin:0;font-size:13px}.kpi h2{margin:2px 0 0;font-size:24px}@media (width<=860px){.app-shell{grid-template-columns:1fr}.left-rail{border-right:none;border-bottom:1px solid var(--rail-border);height:auto;position:static;top:auto;overflow-y:visible}.topbar-row{align-items:center}.header-actions{margin-left:0}.form-grid{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr;min-height:auto}.login-left{border-right:none;border-bottom:1px solid var(--border);justify-content:flex-start}.action-cell,.kpi-grid,.overview-grid,.metric-cards-grid,.user-metric-grid,.dashboard-two-col,.profile-grid,.profile-field-grid,.filters-bar,.detail-grid,.kv-grid,.permissions-grid,.checkbox-grid,.capacity-list,.pipeline-grid,.support-grid,.health-grid,.quick-actions-grid{grid-template-columns:1fr}.pagination-bar{flex-direction:column;align-items:flex-start}.span-2{grid-column:auto}.profile-hero{flex-direction:column;align-items:flex-start}.page-header{flex-direction:column}.page-header>.btn{width:100%;margin-left:0}.modal-card,.modal-wide,.modal-sm,.modal-dialog{width:100%}.modal-backdrop{place-items:start center;padding:12px}.modal-dialog{max-height:calc(100dvh - 24px)}.modal-dialog-header,.modal-dialog-body{padding-left:16px;padding-right:16px}.revenue-chart{min-height:180px}}html,body,#root{background:var(--bg);min-height:100%}