:root{color-scheme:light;--bg:#f6f7f5;--panel:#ffffff;--panel-soft:#f0f4f2;--text:#1b1f1d;--muted:#667069;--line:#dce3de;--green:#187a55;--green-soft:#e4f3ec;--red:#b63a3a;--red-soft:#fae8e6;--amber:#91631a;--amber-soft:#f8efd9;--blue:#246a92;--blue-soft:#e4f0f6;--shadow:0 16px 50px rgba(33,44,38,0.08);--panel-shadow:0 6px 20px rgba(33,44,38,0.04);--focus-ring:rgba(24,122,85,0.13);--input-bg:#ffffff;--on-accent:#ffffff;--sidebar-bg:#fbfcfb;--track:#d9e4de}:root[data-theme=dark]{color-scheme:dark;--bg:#070b12;--panel:#0d1320;--panel-soft:#151d2b;--text:#eef4ff;--muted:#9caabd;--line:#263349;--green:#6ee7b7;--green-soft:#10283a;--red:#ff7b86;--red-soft:#351924;--amber:#f0b85a;--amber-soft:#352916;--blue:#7cc7ff;--blue-soft:#102941;--shadow:0 16px 50px rgba(0,0,0,0.48);--panel-shadow:0 8px 28px rgba(0,0,0,0.28);--focus-ring:rgba(124,199,255,0.2);--input-bg:#090f19;--on-accent:#07130d;--sidebar-bg:#080d16;--track:#223049}*{box-sizing:border-box}body,html{height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0;margin:0;overflow-x:hidden;overflow-y:auto}button,input,select{font:inherit}button{align-items:center;border:0;cursor:pointer;display:inline-flex;gap:8px;justify-content:center}button:disabled{cursor:not-allowed;opacity:.55}label{color:var(--muted);display:grid;font-size:12px;font-weight:700;grid-gap:7px;gap:7px;min-width:0}input,select,textarea{background:var(--input-bg);border:1px solid var(--line);border-radius:8px;color:var(--text);min-height:40px;outline:none;padding:9px 11px;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring)}.loading-screen,.login-screen{align-items:center;display:flex;min-height:100vh;justify-content:center;padding:24px}.loading-screen{color:var(--muted);gap:10px}.login-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:18px;gap:18px;max-width:390px;padding:22px;width:100%}.brand-block{align-items:center;display:flex;gap:12px;min-width:0}.brand-block span,.brand-block strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-block span{color:var(--muted);font-size:12px;margin-top:2px}.brand-mark{align-items:center;background:var(--green);border-radius:8px;color:var(--on-accent);display:flex;flex:0 0 38px;font-size:13px;font-weight:800;height:38px;justify-content:center;width:38px}.login-brand{border-bottom:1px solid var(--line);padding-bottom:14px}.app-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}.app-shell.sidebar-collapsed{grid-template-columns:92px minmax(0,1fr)}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--line);display:grid;grid-template-rows:auto 1fr;grid-gap:50px;gap:50px;height:100vh;min-height:0;overflow:hidden;position:-webkit-sticky;position:sticky;top:0;padding:18px}.app-shell.sidebar-collapsed .sidebar{padding:16px 10px}.sidebar-brand-row{position:relative}.sidebar-brand-toggle{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;gap:10px;justify-content:flex-start;min-width:0;padding:0;width:100%}.sidebar-collapse-handle{position:absolute;right:-12px;top:100%;transform:translateY(0)}.module-nav{display:grid;grid-gap:3px;gap:3px;align-content:start;overflow:auto;padding-right:2px}.app-shell.sidebar-collapsed .module-nav{justify-items:center;padding-right:0}.app-shell.sidebar-collapsed .sidebar-brand-toggle{justify-content:center;margin:0 auto;width:40px}.module-button{background:transparent;border-radius:7px;color:var(--muted);height:40px;justify-content:flex-start;padding:0 9px;width:100%}.app-shell.sidebar-collapsed .module-button{justify-content:center;padding:0;width:44px}.app-shell.sidebar-collapsed .brand-block div,.app-shell.sidebar-collapsed .module-button span{display:none}.app-shell.sidebar-collapsed .brand-block{gap:0;justify-content:center}.app-shell.sidebar-collapsed .brand-mark{flex:0 0 40px;height:40px;width:40px}.module-button.active{background:var(--green-soft);color:var(--green);font-weight:800}.header-user-chip span,.header-user-chip strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-chip{align-items:flex-end;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:inherit;display:flex;flex-direction:column;gap:2px;max-width:260px;padding:8px 12px;text-align:left}.header-user-button{cursor:pointer}.header-user-chip span{color:var(--muted);font-size:12px}.workspace{display:grid;grid-gap:18px;gap:18px;grid-template-rows:auto 1fr;min-height:100vh;min-width:0;padding:22px}.workspace-header{align-items:center;display:flex;gap:16px;justify-content:space-between;min-width:0}.workspace-header h1{font-size:30px;line-height:1;margin:3px 0 0}.modal-backdrop{align-items:center;background:rgba(0,0,0,.48);display:flex;inset:0;justify-content:center;overflow:hidden;padding:16px;position:fixed;z-index:20}.modal-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);max-width:420px;max-height:calc(100vh - 32px);overflow:hidden;width:100%}.preferences-panel{padding:14px}.admin-panel{display:flex;flex-direction:column;height:100%;max-width:min(1460px,calc(100vw - 28px));min-height:0;position:relative;padding:0}.admin-panel>.panel-title{flex:0 0 auto;padding:14px}.admin-title-actions{align-items:center;display:flex;gap:10px}.admin-live-pill{background:color-mix(in srgb,var(--blue) 18%,transparent);color:var(--blue)}.admin-panel-body{display:flex;flex-direction:column;flex:1 1 auto;gap:14px;min-height:0;overflow:auto;padding:0 14px 14px}.user-profile-panel{max-width:min(1360px,calc(100vw - 28px))}.user-profile-body{gap:12px}.profile-summary-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.profile-tabs{display:flex;flex-wrap:wrap;gap:8px}.profile-tab-layout{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,.96fr) minmax(260px,.7fr);align-items:start;min-height:0}.profile-form-panel,.profile-side-panel{min-width:0}.profile-form-panel,.profile-side-panel{display:grid;grid-gap:12px;gap:12px}.profile-side-stack{display:grid;grid-gap:10px;gap:10px;align-content:start}.profile-readonly-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-context-card,.profile-note-box,.profile-readonly-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;padding:12px}.profile-context-card strong,.profile-readonly-card span{display:block;font-size:12px;font-weight:800;margin-bottom:4px}.profile-readonly-card strong{display:block;font-size:15px;margin-bottom:3px}.profile-context-card p,.profile-note-box p,.profile-readonly-card small{color:var(--muted);display:block;font-size:12px;font-weight:700;margin:0}.profile-kpi-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.profile-note-box{display:grid;grid-gap:4px;gap:4px}.profile-note-box strong{font-size:13px}.profile-history-list{gap:8px}@media (max-width:1180px){.profile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-tab-layout{grid-template-columns:minmax(0,1fr)}}.preferences-body{display:grid;grid-gap:10px;gap:10px;padding-top:14px}.preferences-body p{color:var(--muted);font-size:12px;font-weight:700;margin:0}.admin-summary-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);min-height:0}.admin-left-column{display:grid;grid-gap:12px;gap:12px;min-width:0}.admin-form-panel,.admin-list-panel,.admin-roles-panel{min-width:0}.admin-list-panel{display:flex;flex-direction:column;min-height:0}.admin-list-panel .table-shell{max-height:min(640px,78vh);flex:1 1 auto}.admin-edit-backdrop{align-items:center;background:rgba(3,7,18,.72);display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:30}.admin-edit-panel{max-height:calc(100vh - 32px);max-width:640px;overflow:auto;width:100%}.admin-role-edit-panel{max-width:760px}.wellness-admin-panel{max-width:1100px}.admin-edit-form{display:grid;grid-gap:12px;gap:12px;padding:0 14px 14px}.admin-edit-workspace{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:flex;gap:10px;justify-content:space-between;min-width:0;padding:10px 12px}.admin-edit-workspace span{color:var(--muted);font-size:12px;font-weight:800}.admin-edit-workspace strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-edit-workspace p{color:var(--muted);font-size:12px;font-weight:700;margin:0;text-align:right}.admin-edit-actions{justify-content:flex-end}.admin-role-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-role-create-form{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.admin-role-create-header{display:flex;justify-content:space-between;gap:10px}.admin-role-create-header strong{display:block}.admin-role-create-header p{color:var(--muted);font-size:12px;font-weight:700;margin:3px 0 0}.admin-role-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.admin-role-header{align-items:center;display:flex;gap:10px;justify-content:space-between;min-width:0}.admin-role-header>div:first-child{min-width:0}.admin-role-header-actions{align-items:center;display:flex;gap:8px;flex:0 0 auto}.admin-role-header span,.admin-role-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-role-header span{color:var(--muted);font-size:12px;font-weight:700}.admin-access-chips{display:flex;flex-wrap:wrap;gap:6px}.admin-role-module-list{display:grid;grid-gap:8px;gap:8px}.admin-role-module-option{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:8px;gap:8px;justify-items:start;padding:9px 10px;width:100%}.admin-role-module-option.locked{opacity:.7;border-style:dashed}.admin-role-module-option input{flex:0 0 auto;margin:0}.admin-role-module-main{display:grid;grid-gap:2px;gap:2px;min-width:0}.admin-role-module-main strong{font-size:14px}.admin-note{color:var(--muted);font-size:12px;font-weight:700;margin:0}.admin-access-selector{display:grid;grid-gap:6px;gap:6px}.admin-access-selector-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.admin-access-selector-header span{color:var(--text);font-size:12px;font-weight:800}.admin-access-selector-header small{color:var(--muted);font-size:11px;font-weight:700}.admin-access-grid{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));max-height:200px;overflow:auto;padding-right:2px}.admin-access-option{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;cursor:pointer;display:grid;grid-gap:8px;gap:8px;grid-template-columns:auto minmax(0,1fr);padding:8px 10px}.admin-access-option input{margin:0;height:15px;width:15px}.admin-access-option-copy{display:grid;grid-gap:0;gap:0;min-width:0}.admin-access-option-copy strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{color:var(--green);font-size:12px;font-weight:800;margin:0}.header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.finance-layout{display:grid;grid-gap:14px;gap:14px;grid-template-columns:320px minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);min-height:0}.finance-workspace{align-content:start;display:grid;grid-gap:14px;gap:14px;grid-auto-rows:max-content;min-width:0}.wealth-grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);grid-gap:1rem;gap:1rem}.wealth-workspace .form-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.wealth-workspace .form-grid label{color:var(--muted);display:grid;font-size:12px;font-weight:700;grid-gap:6px;gap:6px}.wealth-workspace .form-grid input,.wealth-workspace .form-grid select{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;color:var(--text);min-height:38px;padding:0 10px;width:100%}.input-with-action{display:flex;gap:8px}.input-with-action input{min-width:0}.input-with-action .secondary-button{align-items:center;display:inline-flex;gap:6px;white-space:nowrap}.form-actions{align-items:end;display:flex}.asset-search-results{display:grid;grid-gap:6px;gap:6px;grid-column:1/-1;margin-top:12px}.asset-search-result{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;color:var(--text);display:grid;grid-gap:10px;gap:10px;grid-template-columns:80px minmax(0,1fr) auto;padding:9px 12px;text-align:left}.asset-search-result small,.asset-search-result span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-search-result small{color:var(--muted)}.asset-edit-form{align-items:center;background:var(--panel-soft);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;padding:10px}.asset-edit-form strong{margin-right:auto}.asset-edit-form input,.asset-edit-form select{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text);min-height:36px;max-width:180px;padding:0 9px}@media (max-width:700px){.wealth-workspace .form-grid{grid-template-columns:1fr}}.allocation-list{display:grid;grid-gap:.75rem;gap:.75rem}.allocation-row{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:.65rem}.allocation-row span{display:grid;grid-gap:.2rem;gap:.2rem}.allocation-row small,.table-shell td small{color:var(--muted-text);display:block;font-size:.75rem}@media (max-width:1000px){.wealth-grid{grid-template-columns:1fr}}.learning-grid{display:flex;flex-direction:column;gap:14px;min-width:0}.learning-content-grid{align-items:start;display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);min-width:0}.learning-content-single{grid-template-columns:minmax(0,1fr)}.learning-column{display:grid;grid-gap:14px;gap:14px;min-width:0}.learning-overview-stack{display:contents}.is-hidden{display:none!important}.learning-tabs-panel{display:flex;flex-wrap:wrap;gap:8px}.learning-tab-button{background:var(--panel-soft);border:1px solid transparent;border-radius:8px;color:var(--muted);font-size:13px;font-weight:800;min-height:36px;padding:0 12px}.learning-tab-button.active{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 35%,transparent);color:var(--green)}.learning-placeholder-panel,.learning-roadmap-panel,.learning-students-panel{display:grid;grid-gap:12px;gap:12px}.learning-placeholder-grid,.learning-roadmap-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.learning-student-metrics{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.learning-forum-panel,.learning-grades-panel,.learning-my-learning-panel{display:grid;grid-gap:12px;gap:12px}.learning-my-learning-intro{color:var(--muted);font-size:13px;font-weight:700;margin:0}.learning-grade-metrics,.learning-my-learning-metrics{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.learning-grade-workbench{align-items:start;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);min-width:0}.learning-grade-form-panel,.learning-grade-list-panel{display:grid;grid-gap:12px;gap:12px;min-width:0}.learning-my-learning-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.learning-my-learning-section{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;min-width:0;padding:12px}.learning-section-header{align-items:baseline;display:flex;gap:10px;justify-content:space-between;min-width:0}.learning-section-header h3{font-size:14px;margin:0}.learning-section-header span{color:var(--muted);font-size:12px;font-weight:700;text-align:right}.learning-focus-list,.learning-progress-list{display:grid;grid-gap:8px;gap:8px}.learning-focus-row,.learning-progress-row{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto auto}.learning-focus-copy,.learning-progress-copy{min-width:0}.learning-focus-copy small,.learning-focus-copy strong,.learning-progress-copy small,.learning-progress-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learning-focus-copy small,.learning-progress-copy small{color:var(--muted);font-size:11px;margin-top:3px}.learning-focus-meta{align-items:center;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.learning-progress-track{background:var(--track);border-radius:999px;height:8px;overflow:hidden}.learning-progress-fill{background:var(--green);height:100%}.learning-progress-value{color:var(--muted);font-size:12px;font-weight:800;text-align:right;width:44px}.learning-grade-table{max-height:420px}.learning-grade-progress{align-items:center;display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(90px,1fr) 44px;min-width:150px}.learning-grade-progress strong{color:var(--muted);font-size:12px;text-align:right}.learning-grade-pill{border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;padding:3px 8px;white-space:nowrap}.learning-grade-pill.excellent{background:var(--green-soft);color:var(--green)}.learning-grade-pill.on-track{background:var(--blue-soft);color:var(--blue)}.learning-grade-pill.needs-work{background:var(--red-soft);color:var(--red)}.learning-grade-pill.pending{background:var(--amber-soft);color:var(--amber)}.learning-forum-list{display:grid;grid-gap:10px;gap:10px}.learning-forum-thread{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) minmax(220px,.35fr);min-width:0;padding:12px}.learning-forum-copy{display:grid;grid-gap:6px;gap:6px;min-width:0}.learning-forum-copy p,.learning-forum-copy strong,.learning-forum-meta span{overflow:hidden;text-overflow:ellipsis}.learning-forum-copy strong{font-size:14px;white-space:nowrap}.learning-forum-copy p{color:var(--muted);font-size:12px;font-weight:700;margin:0}.learning-forum-meta{color:var(--muted);display:grid;grid-gap:6px;gap:6px;font-size:12px;font-weight:800;justify-items:end;min-width:0}.learning-forum-meta span{max-width:100%;white-space:nowrap}.nutrition-hero-panel{align-items:start;display:grid;grid-gap:14px;gap:14px}.nutrition-hero-copy{display:grid;grid-gap:8px;gap:8px;min-width:0}.nutrition-hero-copy p,.nutrition-hero-copy span{margin:0}.nutrition-hero-copy p{color:var(--text);font-size:14px;font-weight:800}.nutrition-hero-copy span{color:var(--muted);font-size:12px;font-weight:700}.nutrition-hero-badges{display:flex;flex-wrap:wrap;gap:8px}.nutrition-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nutrition-profile-layout,.nutrition-profile-panel{display:grid;grid-gap:14px;gap:14px}.nutrition-profile-layout{align-items:start;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr)}.nutrition-profile-form{min-width:0}.nutrition-profile-template{display:grid;grid-gap:14px;gap:14px;min-width:0}.nutrition-profile-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:14px}.nutrition-profile-card dd,.nutrition-profile-card dl,.nutrition-profile-card dt,.nutrition-profile-card h3,.nutrition-profile-card p{margin:0}.nutrition-profile-card p{color:var(--muted);font-size:12px}.nutrition-profile-card dl{display:grid;grid-gap:10px;gap:10px}.nutrition-profile-card dl div{display:grid;grid-gap:3px;gap:3px}.nutrition-profile-card dt{color:var(--muted);font-size:11px;font-weight:700}.nutrition-profile-card dd{font-size:14px;font-weight:800}.nutrition-roadmap-panel{display:grid;grid-gap:12px;gap:12px}.nutrition-roadmap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nutrition-stack{display:grid;grid-gap:14px;gap:14px}.nutrition-management-grid,.nutrition-summary-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-management-panel{display:grid;grid-gap:12px;gap:12px}.nutrition-mini-form,.nutrition-mini-form .form-row{gap:10px}.nutrition-edit-row{align-items:start;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto auto;padding:10px 12px}.nutrition-inline-edit{display:grid;grid-gap:10px;gap:10px;grid-column:1/-1}.nutrition-list-panel{display:grid;grid-gap:12px;gap:12px}.nutrition-list{display:grid;grid-gap:8px;gap:8px}.nutrition-list-row{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:10px 12px}.nutrition-list-row small,.nutrition-list-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nutrition-list-row small{color:var(--muted);font-size:11px;margin-top:3px}.compact-list{padding-top:0}.compact-card{padding:10px}.learning-placeholder-card,.learning-roadmap-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;color:var(--text);display:grid;grid-gap:6px;gap:6px;justify-content:flex-start;justify-items:start;min-width:0;padding:12px;text-align:left;width:100%}.learning-placeholder-card span,.learning-placeholder-card strong,.learning-roadmap-card span{display:block;overflow:hidden;text-overflow:ellipsis}.learning-roadmap-card span{font-weight:800}.learning-placeholder-card span,.learning-roadmap-card small{color:var(--muted);font-size:12px}.learning-placeholder-card strong{font-size:13px}.finance-tabs{align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:6px;padding:6px}.tab-button{background:transparent;border-radius:8px;color:var(--muted);font-size:13px;font-weight:800;min-height:34px;padding:0 10px}.tab-button.active{background:var(--green-soft);color:var(--green)}.budget-management-grid,.import-grid,.management-grid,.overview-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:320px minmax(0,1fr);min-width:0}.budget-management-grid,.import-grid,.management-grid{align-items:start}.management-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.management-grid>.form-panel{grid-column:1/span 3}.management-grid>.list-panel{grid-column:4/-1}.category-management-grid .category-create-panel{grid-column:1/span 4;grid-row:1}.category-management-grid .category-profile-panel{grid-column:1/span 4;grid-row:2}.category-management-grid .category-list-panel{grid-column:5/-1;grid-row:1/span 2}.budget-management-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)}.budget-assignment-header{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding-bottom:10px}.budget-assignment-header .panel-title{border-bottom:0;padding-bottom:0}.budget-selector-shell{min-width:260px}.budget-selector-shell select{width:100%}.wide-panel{grid-column:1/-1}.form-panel,.list-panel{min-width:0}.metrics-grid{display:grid;grid-gap:14px;gap:14px;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}.learning-metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.metric,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--panel-shadow)}.metric{display:grid;grid-gap:6px;gap:6px;min-height:82px;padding:14px}.metric span{color:var(--muted);font-size:12px;font-weight:700}.metric small{color:var(--muted);font-size:11px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.metric strong{font-size:clamp(20px,2vw,26px);overflow-wrap:anywhere}.metric-positive{border-top:3px solid var(--green)}.metric-negative{border-top:3px solid var(--red)}.metric-neutral{border-top:3px solid var(--blue)}.metric-plain{border-top:3px solid var(--amber)}.panel{min-width:0;padding:14px}.panel-title{border-bottom:1px solid var(--line);padding-bottom:10px}.panel-title,.panel-title span{align-items:center;display:flex;gap:8px}.panel-title-actions{gap:12px;justify-content:space-between;flex-wrap:wrap}.transaction-toolbar{align-items:flex-end;display:grid;flex:1 1 760px;grid-gap:12px;gap:12px;grid-template-columns:minmax(0,1fr) minmax(180px,220px) auto;justify-content:end;min-width:0}.transaction-title-stack{display:grid;flex:1 1 760px;grid-gap:10px;gap:10px;min-width:0}.transaction-account-filters{align-items:flex-start;display:grid;grid-gap:6px;gap:6px;justify-items:end;min-width:0}.transaction-account-filters>span{color:var(--muted);font-size:11px;font-weight:700}.transaction-account-filter-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0;width:100%}.bubble-button{align-items:center;background:color-mix(in srgb,var(--account-accent,var(--green)) 8%,var(--panel));border:1px solid color-mix(in srgb,var(--account-accent,var(--green)) 28%,var(--line));border-radius:999px;color:color-mix(in srgb,var(--account-accent,var(--green)) 84%,var(--text));display:inline-flex;gap:8px;min-height:32px;padding:0 12px 0 10px}.bubble-button:hover{background:color-mix(in srgb,var(--account-accent,var(--green)) 14%,var(--panel));border-color:color-mix(in srgb,var(--account-accent,var(--green)) 42%,var(--line))}.bubble-button.active{background:color-mix(in srgb,var(--account-accent,var(--green)) 22%,var(--panel));box-shadow:0 0 0 1px color-mix(in srgb,var(--account-accent,var(--green)) 34%,transparent) inset}.bubble-dot{background:var(--account-accent,var(--green));border-radius:999px;flex:0 0 8px;height:8px;width:8px}.bubble-label{font-size:12px;font-weight:700;white-space:nowrap}.transaction-search{align-items:end;display:grid;grid-gap:6px;gap:6px;min-width:0;justify-self:center;width:min(420px,100%)}.transaction-search span{color:var(--muted);font-size:11px;font-weight:700}.transaction-search-field{align-items:center;background:var(--input-bg);border:1px solid var(--line);border-radius:8px;box-sizing:border-box;display:flex;gap:8px;max-width:100%;min-height:40px;padding:0 10px;width:100%}.transaction-search-field:focus-within{border-color:var(--green);box-shadow:0 0 0 3px var(--focus-ring)}.transaction-search-field svg{color:var(--muted);flex:0 0 auto}.transaction-search-field input{background:transparent;border:0;box-shadow:none;flex:1 1 auto;min-height:0;min-width:0;padding:0;width:auto}.transaction-search-field input:focus{box-shadow:none}.transaction-search-clear{flex:0 0 auto;min-height:26px;min-width:26px;padding:0}.period-select{align-items:end;display:grid;grid-gap:6px;gap:6px;min-width:0;width:min(220px,100%)}.transaction-period-select{margin-right:16px}.period-select span{color:var(--muted);font-size:11px;font-weight:700}.period-select select{min-width:0;width:100%}.transaction-export-group{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0}.transaction-duplicate-button{flex:1 1 auto;min-width:0;white-space:nowrap}.transaction-duplicate-button.active{border-color:color-mix(in srgb,var(--amber) 45%,transparent);color:var(--amber)}.transaction-toolbar-note{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.transaction-batch-bar{align-items:end;display:flex;flex-wrap:wrap;gap:12px;justify-content:end;margin-top:12px}.transaction-select-all{align-items:center;gap:8px;margin:0;padding-top:0}.transaction-batch-account{width:min(260px,100%)}.transaction-batch-category,.transaction-batch-type{width:min(220px,100%)}.transaction-batch-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.transaction-select-cell{text-align:center;width:38px}.transaction-description-cell{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.transaction-description-cell input{flex:1 1;min-width:0}.form-empty-note{color:var(--muted);font-size:12px;line-height:1.4;padding:10px 0 2px}.transaction-row-duplicate{background:color-mix(in srgb,var(--amber) 9%,transparent)}.transaction-row-mirror{background:color-mix(in srgb,var(--amber) 5%,transparent)}.transaction-row-selected{background:color-mix(in srgb,var(--green) 8%,transparent)}.transaction-toolbar-note span{color:var(--muted);font-size:12px;font-weight:700}.transaction-export-format{flex:1 1 150px;min-width:0;width:min(180px,100%)}.transaction-export-button{flex:1 1 auto;min-width:0}.panel-title h2{font-size:15px;margin:0}.category-overview-panel{grid-column:1;grid-row:1}.overview-right-column{display:flex;flex-direction:column;gap:14px;grid-column:2;grid-row:1/span 3;min-width:0}.accounts-panel{grid-column:1;grid-row:3}.cashflow-panel,.finance-ai-panel,.recent-transactions-panel{min-width:0}.budget-overview-panel{grid-column:1;grid-row:2}.recent-transactions-panel{min-height:0}.finance-ai-panel{display:grid;grid-gap:12px;gap:12px}.finance-ai-form textarea{min-height:108px;resize:vertical}.finance-ai-meta{color:var(--muted);display:flex;flex-wrap:wrap;gap:10px 14px;font-size:12px;font-weight:700}.finance-ai-report{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:12px}.finance-ai-report-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between}.finance-ai-report-title{align-items:center;display:flex;gap:8px;min-width:0}.finance-ai-report-confidence{color:var(--muted);font-size:12px;font-weight:700}.finance-ai-report-summary{color:var(--text);line-height:1.5;margin:0}.finance-ai-report-basis{color:var(--muted);font-size:12px;font-weight:700;margin:-4px 0 0}.finance-ai-report-visuals{display:grid;grid-gap:12px;gap:12px;padding-top:4px}.finance-ai-report-visuals-header{align-items:center;display:flex;justify-content:space-between;gap:12px}.finance-ai-report-visuals-header strong{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.finance-ai-report-chart-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.finance-ai-report-chart-card{background:color-mix(in srgb,var(--panel) 84%,transparent);border:1px solid var(--line);border-radius:10px;display:grid;grid-gap:10px;gap:10px;padding:12px}.finance-ai-report-chart-card-header{align-items:center;display:flex;justify-content:space-between;gap:12px}.finance-ai-report-chart-card-header strong{color:var(--text);font-size:13px;font-weight:800}.finance-ai-report-chart-card-header span{color:var(--muted);font-size:12px;font-weight:700}.finance-ai-report-chart-body{display:grid;grid-gap:10px;gap:10px}.finance-ai-report-chart-row{display:grid;grid-gap:6px;gap:6px}.finance-ai-report-chart-row-header{align-items:center;display:flex;justify-content:space-between;gap:10px;min-width:0}.finance-ai-report-chart-row-header strong{color:var(--text);font-size:13px}.finance-ai-report-chart-row-header span{color:var(--muted);font-size:12px;font-weight:700}.finance-ai-report-empty{color:var(--muted);font-size:13px;margin:0}.finance-ai-report-chart{display:grid;grid-gap:10px;gap:10px}.finance-ai-report-row{display:grid;grid-gap:6px;gap:6px}.finance-ai-report-row-header{align-items:center;display:flex;justify-content:space-between;gap:10px;min-width:0}.finance-ai-report-row-header strong{color:var(--text);font-size:13px}.finance-ai-report-row-header span{color:var(--muted);font-size:12px;font-weight:700}.finance-ai-report-track{background:var(--track);border-radius:999px;height:10px;overflow:hidden}.finance-ai-report-fill{border-radius:inherit;height:100%;min-width:4px}.finance-ai-report-fill.tone-positive{background:var(--green)}.finance-ai-report-fill.tone-negative{background:var(--red)}.finance-ai-report-fill.tone-neutral{background:var(--blue)}.finance-ai-report-columns{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.finance-ai-report-column{background:color-mix(in srgb,var(--panel) 84%,transparent);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:10px}.finance-ai-report-column strong{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.finance-ai-report-column ul{display:grid;grid-gap:6px;gap:6px;margin:0;padding-left:18px}.finance-ai-report-column li,.finance-ai-report-column span{color:var(--text);font-size:13px}.finance-ai-output{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;color:var(--text);margin:0;max-height:240px;overflow:auto;padding:12px;white-space:pre-wrap;word-break:break-word}.finance-ai-analysis,.finance-ai-draft,.finance-ai-questions{display:grid;grid-gap:10px;gap:10px}.finance-ai-draft{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;padding:12px}.finance-ai-draft-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:space-between}.finance-ai-draft-header span{color:var(--muted);font-size:12px;font-weight:700}.finance-ai-draft-grid{display:grid;grid-gap:8px 12px;gap:8px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-ai-draft-grid span{color:var(--text);display:grid;grid-gap:3px;gap:3px;min-width:0}.finance-ai-draft-grid strong,.finance-ai-questions strong{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.finance-ai-questions ul{margin:0;padding-left:18px}.finance-ai-questions li{color:var(--text);font-size:13px}.import-panel{grid-column:1;grid-row:3}.transactions-panel{grid-column:2;grid-row:2/span 2}.account-list,.account-management-list{display:grid;grid-gap:8px;gap:8px;padding-top:12px}.account-row{background:var(--panel-soft);border:1px solid transparent;border-radius:8px;color:var(--text);display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:54px;padding:9px 10px;text-align:left}.account-row.active{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 35%,transparent)}.account-row small,.account-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-row small{color:var(--muted);font-size:11px;margin-top:3px}.account-management-row{align-items:center;background:var(--panel-soft);border:1px solid transparent;border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto auto;min-width:0;padding:10px}.account-management-row:has(.stack-form),.account-management-row:has(label){grid-template-columns:minmax(0,1fr) auto}.account-management-row>span{min-width:0}.account-management-row small,.account-management-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-management-row small{color:var(--muted);font-size:11px;margin-top:3px}.import-tool,.stack-form{display:grid;grid-gap:12px;gap:12px;padding-top:12px}.form-row{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.triple-row{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,.9fr)}.checkbox-row{align-items:center;color:var(--text);display:flex;font-size:13px;gap:8px}.checkbox-row input{min-height:20px;width:16px}.compact-checkbox{color:var(--muted);font-size:12px;font-weight:700;justify-content:center}.import-controls{display:grid;grid-gap:10px;gap:10px}.file-picker input{font-size:12px}.button-row{display:flex;flex-wrap:wrap;gap:8px}.icon-button,.primary-button,.secondary-button{border-radius:8px;min-height:38px}.primary-button{background:var(--green);color:var(--on-accent);font-weight:800;padding:0 14px}.secondary-button{background:var(--panel);border:1px solid var(--line);color:var(--text);font-weight:700;padding:0 12px}.icon-button{background:var(--panel-soft);color:var(--muted);height:auto;min-height:36px;min-width:36px;padding:10px;width:auto}.danger-button{color:var(--red)}.small-button{min-height:32px}.table-shell{max-height:calc(100vh - 210px);overflow:auto;padding-top:0}table{border-collapse:collapse;font-size:13px;width:100%}td,th{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:middle;white-space:nowrap}th{color:var(--muted);font-size:11px;font-weight:800;position:-webkit-sticky;position:sticky;top:0;background:var(--panel);z-index:2}.amount-cell,.amount-input{text-align:right}.amount-input{min-width:110px}.row-actions{display:flex;gap:6px;justify-content:space-around;min-width:0}.budget-context-actions{grid-column:1/-1;gap:10px;width:100%}.budget-context-actions .primary-button{flex:1 1}.budget-context-actions .danger-button{background:var(--red);color:var(--on-accent)}.plan-edit-grid{display:grid;grid-gap:6px;gap:6px;grid-template-columns:minmax(0,1.2fr) minmax(88px,.7fr) minmax(88px,.7fr);min-width:0}.plan-edit-interval{margin-top:6px;width:100%}.recurring-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);min-width:0}.recurring-metrics-grid{grid-column:1/-1}.recurring-list{display:grid;grid-gap:10px;gap:10px;max-height:calc(100vh - 220px);overflow:auto;padding-top:12px}.recurring-card{background:var(--panel-soft);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;padding:12px}.recurring-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.recurring-card-header small,.recurring-card-header strong,.recurring-card-meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recurring-card-header small{color:var(--muted);font-size:11px;margin-top:3px}.recurring-card-meta{display:grid;grid-gap:6px;gap:6px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.recurring-card-meta span{color:var(--muted);font-size:12px;font-weight:700}.recurring-card-actions{display:flex;flex-wrap:wrap;gap:6px}.category-pill,.duplicate-tag,.mirror-tag,.new-tag,.plan-pill,.status-pill,.type-pill{border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;line-height:1;padding:5px 8px}.plan-pill{background:var(--panel-soft);border:1px solid var(--line);color:var(--muted);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-pill-empty{opacity:.8}.recurring-status-pill{align-items:center;border:1px solid transparent;border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;line-height:1;padding:5px 8px;text-transform:capitalize}.recurring-status-active{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 35%,transparent);color:var(--green)}.recurring-status-paused{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 35%,transparent);color:var(--amber)}.recurring-status-completed{background:var(--blue-soft);border-color:color-mix(in srgb,var(--blue) 35%,transparent);color:var(--blue)}.recurring-status-archived{background:var(--panel-soft);border-color:var(--line);color:var(--muted)}.category-pill{background:color-mix(in srgb,var(--category-pill-color) 16%,var(--panel));border:1px solid color-mix(in srgb,var(--category-pill-color) 38%,transparent);color:color-mix(in srgb,var(--category-pill-color) 82%,var(--text));max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-pill-empty{background:var(--panel-soft);border-color:var(--line);color:var(--muted)}.status-pill{align-items:center;border:1px solid transparent;gap:5px;padding:5px 8px;text-transform:capitalize}.status-pill-reconciled{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 35%,transparent);color:var(--green)}.status-pill-pending{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 35%,transparent);color:var(--amber)}.type-expense{background:var(--red-soft);color:var(--red)}.type-income{background:var(--green-soft);color:var(--green)}.type-payment{background:var(--blue-soft);color:var(--blue)}.preview-list{display:grid;grid-gap:7px;gap:7px;max-height:260px;overflow:auto}.preview-list.expanded{max-height:calc(100vh - 360px)}.preview-row{align-items:center;background:var(--panel-soft);border-radius:8px;display:grid;grid-gap:8px;gap:8px;grid-template-columns:minmax(0,1fr) auto auto;padding:8px 9px}.preview-row small,.preview-row strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-row small{color:var(--muted);font-size:11px;margin-top:3px}.duplicate-tag{background:var(--amber-soft);color:var(--amber)}.mirror-tag{background:color-mix(in srgb,var(--amber) 22%,transparent);border:1px solid color-mix(in srgb,var(--amber) 45%,transparent);color:var(--amber)}.new-tag{background:var(--green-soft);color:var(--green)}.import-summary{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr));padding:12px 0}.breakdown-list,.budget-list,.category-groups{display:grid;grid-gap:10px;gap:10px;padding-top:12px}.category-chart{display:grid;grid-gap:12px;gap:12px;padding-top:12px}.category-chart-row{display:grid;grid-gap:7px;gap:7px;min-width:0}.category-chart-row-button{background:var(--panel-soft);border:1px solid transparent;border-radius:8px;color:inherit;display:flex;flex-direction:column;gap:7px;align-items:stretch;padding:10px 11px;text-align:left;width:100%}.category-chart-row-button:hover{border-color:color-mix(in srgb,var(--chart-color) 35%,var(--line))}.category-chart-row-button.active{border-color:color-mix(in srgb,var(--chart-color) 60%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--chart-color) 18%,transparent)}.category-chart-row-button.active .chart-row-label strong{color:color-mix(in srgb,var(--chart-color) 82%,var(--text))}.chart-row-label{align-items:center;display:flex;gap:10px;justify-content:space-between;min-width:0;width:100%}.horizontal-chart-track{background:var(--track);border-radius:999px;height:10px;overflow:hidden}.horizontal-chart-fill{background:var(--chart-color);border-radius:inherit;height:100%;min-width:4px}.overview-filter-chip{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.overview-filter-chip span,.overview-filter-hint{color:var(--muted);font-size:12px;font-weight:700}.course-list{display:grid;grid-gap:8px;gap:8px;padding-top:12px}.course-card{background:var(--panel-soft);border:1px solid transparent;border-radius:8px;color:var(--text);cursor:pointer;display:grid;grid-gap:10px;gap:10px;padding:12px;text-align:left;width:100%}.course-card.active{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 38%,transparent)}.course-card-header{align-items:center;display:flex;gap:10px;justify-content:space-between;min-width:0}.course-card-header small,.course-card-header strong,.learning-item-cell small,.learning-item-cell strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-card-header small,.learning-item-cell small{color:var(--muted);font-size:11px;margin-top:3px}.course-progress-track{background:var(--track);border-radius:999px;height:8px;overflow:hidden}.course-progress-fill{background:var(--green);height:100%}.course-card-footer{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;min-width:0}.course-card-footer span{font-size:12px;font-weight:700}.course-card-actions{display:flex;gap:6px;margin-left:auto}.kind-pill,.learning-status-pill{border:1px solid transparent;border-radius:999px;display:inline-flex;font-size:11px;font-weight:800;padding:3px 8px;white-space:nowrap}.learning-status-pill.active{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 30%,transparent);color:var(--green)}.learning-status-pill.archived{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 28%,transparent);color:var(--amber)}.learning-status-pill.completed{background:var(--blue-soft);border-color:color-mix(in srgb,var(--blue) 28%,transparent);color:var(--blue)}.kind-pill{background:var(--panel-soft);border-color:var(--line);color:var(--muted)}.learning-filter-chip{align-items:center;display:flex;gap:8px;justify-content:flex-end}.learning-filter-chip span{color:var(--muted);font-size:12px;font-weight:700}.assignment-list{display:grid;grid-gap:8px;gap:8px;padding-top:12px}.assignment-card{background:var(--panel-soft);border:1px solid transparent;border-radius:8px;display:grid;grid-gap:10px;gap:10px;padding:12px}.assignment-card-header{align-items:center;display:flex;gap:10px;justify-content:space-between;min-width:0}.assignment-card p,.assignment-card-header small,.assignment-card-header strong,.assignment-meta span{display:block;overflow:hidden;text-overflow:ellipsis}.assignment-card-header small{color:var(--muted);font-size:11px;margin-top:3px}.assignment-meta{color:var(--muted);display:grid;grid-gap:4px;gap:4px;grid-template-columns:repeat(4,minmax(0,1fr))}.assignment-meta span{font-size:12px;font-weight:700;white-space:nowrap}.assignment-card p{color:var(--text);font-size:12px;margin:0}.assignment-card-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end}.cashflow-chart{align-items:flex-end;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(12,minmax(0,1fr));min-height:0;padding:10px 2px 4px}.cashflow-column{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:grid;grid-gap:5px;gap:5px;justify-items:center;min-width:0;padding:0;text-align:center}.cashflow-column:focus-visible .cashflow-bars,.cashflow-column:hover .cashflow-bars{filter:brightness(1.08)}.cashflow-column.projected{opacity:.72}.cashflow-column:focus-visible{outline:2px solid var(--green);outline-offset:4px}.cashflow-bars{align-items:flex-end;display:flex;gap:6px;height:122px;justify-content:center;width:100%}.cashflow-bar{border-radius:999px 999px 4px 4px;display:block;min-height:4px;width:22px}.income-bar{background:var(--green)}.expense-bar{background:var(--red)}.cashflow-column strong{font-size:12px;text-transform:capitalize}.cashflow-column small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.chart-legend{align-items:center;border-top:1px solid var(--line);display:flex;gap:14px;padding-top:6px}.chart-legend span{align-items:center;color:var(--muted);display:inline-flex;font-size:12px;font-weight:800;gap:7px}.legend-dot{border-radius:999px;display:inline-block;height:9px;width:9px}.income-dot{background:var(--green)}.expense-dot{background:var(--red)}.breakdown-row,.budget-row,.category-row{background:var(--panel-soft);border:1px solid transparent;border-radius:8px;min-width:0}.breakdown-row{align-items:center;display:flex;justify-content:space-between;padding:10px}.breakdown-row span,.category-row>span{align-items:center;display:flex;gap:8px;min-width:0}.category-swatch{border-radius:999px;display:inline-block;flex:0 0 10px;height:10px;width:10px}.category-group{background:transparent;display:grid;grid-gap:8px;gap:8px;padding:0}.category-group h3{color:var(--muted);font-size:12px;margin:0;text-transform:uppercase}.category-row{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) auto;padding:10px;position:relative}.child-category-row{margin-left:calc(var(--category-depth, 0) * 22px)}.child-category-row:before{bottom:10px;top:10px;width:2px}.child-category-row:after,.child-category-row:before{background:var(--line);content:"";left:-12px;position:absolute}.child-category-row:after{height:2px;top:50%;width:12px}.category-row .stack-form,.category-row label{padding-top:0}.category-row small{color:var(--muted);font-size:11px}.budget-row{display:grid;grid-gap:8px;gap:8px;padding:11px}.budget-assignment-list{display:grid;grid-gap:8px;gap:8px;padding-top:12px}.budget-assignment-row{align-items:start;background:var(--panel-soft);border:1px solid transparent;border-radius:8px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) minmax(200px,.9fr) minmax(112px,140px) minmax(84px,92px) minmax(0,.6fr);min-width:0;padding:10px;position:relative;scroll-margin-top:16px}.budget-assignment-row:has(.auto-budget-note){grid-template-columns:minmax(0,1fr) auto}.budget-assignment-row.selected-budget-row{border-color:color-mix(in srgb,var(--amber) 60%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--amber) 40%,transparent)}.budget-scope-stack{display:grid;grid-gap:8px;gap:8px;min-width:0}.budget-scope-stack label{padding-top:0}.budget-scope-stack select{width:100%}.budget-member-select{min-height:96px}.budget-owner-note{align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:grid;grid-gap:4px;gap:4px;padding:10px 12px}.budget-owner-note strong{color:var(--text);font-size:12px}.budget-participants{display:grid;grid-gap:6px;gap:6px;margin-top:8px}.budget-participants-label{color:var(--muted);font-size:11px;font-weight:800}.budget-participant-list{display:flex;flex-wrap:wrap;gap:6px}.budget-category-label{align-items:center;display:flex;gap:8px;min-width:0}.budget-category-label small,.budget-category-label strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-category-label small{color:var(--muted);font-size:11px;margin-top:3px}.auto-budget-note{align-items:center;background:var(--blue-soft);border-radius:8px;color:var(--blue);display:inline-flex;font-size:12px;font-weight:800;gap:7px;min-height:34px;padding:0 10px;white-space:nowrap}.budget-row-footer,.budget-row-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.budget-row-header small,.budget-row-header strong{display:block}.budget-row-footer,.budget-row-header small{color:var(--muted);font-size:12px}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.budget-progress-track{background:var(--track);border-radius:999px;height:9px;overflow:hidden}.budget-progress-fill{background:var(--green);height:100%}.budget-progress-fill.is-over,.budget-row.overbudget .budget-progress-fill{background:var(--red)}.budget-row.overbudget .budget-row-footer span,.form-error,.inline-error{color:var(--red);font-weight:700}.form-error,.inline-error{font-size:12px;margin:0}.compact-inline-error{margin:0 0 8px}.form-success{color:var(--green);font-size:12px;font-weight:700;margin:0}.empty-state{color:var(--muted);padding:24px;text-align:center}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:980px){body{overflow:auto}.app-shell{grid-template-columns:1fr}.app-shell,.sidebar{height:auto;overflow:visible}.sidebar{min-height:auto}.app-shell.sidebar-collapsed{grid-template-columns:1fr}.app-shell.sidebar-collapsed .sidebar{padding:18px}.app-shell.sidebar-collapsed .module-nav{justify-items:stretch;padding-right:2px}.app-shell.sidebar-collapsed .module-button{justify-content:flex-start;padding:0 10px}.app-shell.sidebar-collapsed .brand-block div,.app-shell.sidebar-collapsed .header-user-chip,.app-shell.sidebar-collapsed .module-button span{display:block}.workspace{height:auto;overflow:visible}.module-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.module-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounts-panel,.budget-management-grid,.budget-overview-panel,.cashflow-panel,.category-create-panel,.category-list-panel,.category-overview-panel,.category-profile-panel,.finance-layout,.import-grid,.import-panel,.management-grid,.nutrition-management-grid,.overview-grid,.overview-right-column,.recent-transactions-panel,.transactions-panel{grid-column:1;grid-row:auto}.budget-management-grid,.finance-layout,.import-grid,.management-grid,.nutrition-management-grid,.overview-grid{grid-template-columns:1fr}.category-management-grid .category-create-panel,.category-management-grid .category-list-panel,.category-management-grid .category-profile-panel,.management-grid>.form-panel,.management-grid>.list-panel{grid-column:1;grid-row:auto}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-ai-report-chart-grid,.finance-ai-report-columns,.learning-grid{grid-template-columns:1fr}.learning-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-summary-grid{grid-template-columns:1fr}.learning-grade-metrics,.learning-my-learning-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-forum-thread,.learning-grade-workbench,.learning-my-learning-grid{grid-template-columns:1fr}.learning-forum-meta{justify-items:start}.admin-grid,.admin-left-column,.admin-role-grid{grid-template-columns:1fr}.cashflow-chart{grid-template-columns:repeat(3,minmax(0,1fr))}.transaction-toolbar{grid-template-columns:minmax(0,1fr) minmax(160px,220px)}.transaction-export-group{grid-column:1/-1;justify-content:flex-start}}@media (max-width:640px){.workspace{padding:14px}.workspace-header{align-items:stretch;flex-direction:column}.module-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-grade-metrics,.learning-grade-workbench,.learning-metrics-grid,.learning-my-learning-metrics,.learning-student-metrics,.metrics-grid,.nutrition-edit-row,.nutrition-metrics-grid,.nutrition-profile-layout{grid-template-columns:1fr}.modal-backdrop{padding:10px}.modal-panel{max-height:calc(100vh - 20px)}.admin-panel{max-width:calc(100vw - 20px)}.admin-summary-grid{grid-template-columns:1fr}.learning-placeholder-grid,.learning-roadmap-grid{grid-template-columns:1fr 1fr}.cashflow-chart{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-toolbar{grid-template-columns:1fr}.transaction-period-select{margin-right:0}.transaction-title-stack{width:100%}.transaction-account-filters{justify-items:start;width:100%}.transaction-account-filter-row{justify-content:flex-start}.transaction-export-group,.transaction-toolbar-note{justify-content:flex-start;width:100%}.transaction-duplicate-button,.transaction-export-button,.transaction-export-format{flex:1 1 100%;width:100%}.transaction-duplicate-button{white-space:normal}.transaction-batch-actions,.transaction-batch-bar{justify-content:flex-start}.account-management-row,.budget-assignment-row,.form-row,.import-summary,.learning-placeholder-grid,.learning-roadmap-grid,.plan-edit-grid,.recurring-card-meta,.recurring-grid{grid-template-columns:1fr}.table-shell{max-height:none}td,th{padding:9px 7px}}@media (min-width:981px) and (max-aspect-ratio:8/5) and (max-height:800px){.sidebar{gap:32px;padding:16px}.workspace{gap:14px;padding:clamp(14px,1.7vw,22px)}.workspace-header h1{font-size:clamp(24px,2.35vw,30px)}.metric{min-height:72px}.metric,.panel{padding:12px}}@media (max-width:980px){.app-shell,.sidebar,.workspace{min-height:100dvh}.sidebar{gap:18px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.sidebar-brand-row{padding-right:44px}.sidebar-collapse-handle{right:0;top:0;transform:none}.module-nav{min-width:0;width:100%}.header-actions,.module-button,.panel-title,.panel-title-actions,.workspace-header{min-width:0}.header-actions{width:100%}.header-user-chip{flex:1 1 180px;max-width:none;min-width:0}.workspace-header h1{overflow-wrap:anywhere}.panel-title h2,.panel-title strong{min-width:0;overflow-wrap:anywhere}.table-shell{max-width:100%;-webkit-overflow-scrolling:touch}}@media (max-width:640px){.workspace{gap:12px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.sidebar{padding:14px max(14px,env(safe-area-inset-right)) 14px max(14px,env(safe-area-inset-left))}.sidebar-brand-row{padding-right:42px}.header-actions{align-items:stretch;justify-content:stretch}.header-user-chip{align-items:flex-start;text-align:left}.header-actions .icon-button{flex:0 0 40px}.budget-assignment-header,.panel-title,.panel-title-actions{align-items:flex-start;flex-direction:column}.budget-selector-shell,.panel-title-actions>*{width:100%}.finance-tabs,.learning-tabs-panel{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.finance-tabs .tab-button,.learning-tabs-panel .learning-tab-button{flex:0 0 auto}.admin-edit-backdrop,.modal-backdrop{align-items:flex-start;overflow-y:auto;padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.admin-edit-panel,.admin-panel,.modal-panel{max-height:calc(100dvh - 20px)}.admin-panel{height:auto}}