@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--ink-900:#1b1c2d;--ink-700:#2f3556;--ink-500:#4b5378;--ink-300:#8992bb;--canvas:#f6f8ff;--canvas-strong:#f1f4ff;--surface:#fff;--surface-2:#eef2ff;--line:#d4dbf2;--brand:#1263d8;--brand-strong:#0f4fb0;--brand-soft:#d7e8ff;--danger:#b42342;--btn-info-bg:#eaf2ff;--btn-info-border:#c8dcff;--btn-info-text:#1659b8;--btn-info-bg-hover:#dce9ff;--btn-success-bg:#e8f7ef;--btn-success-border:#bde7cc;--btn-success-text:#0b6f44;--btn-success-bg-hover:#d8f2e5;--btn-warning-bg:#fff4db;--btn-warning-border:#f2d595;--btn-warning-text:#8a5a00;--btn-warning-bg-hover:#ffedc7;--btn-danger-bg:#fdecef;--btn-danger-border:#f5c3ce;--btn-danger-text:#b42342;--btn-danger-bg-hover:#fbdde3;--shadow:0 18px 40px #0e244c1f}*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:var(--ink-700);background:radial-gradient(circle at 12% 6%, #1263d81f, transparent 34%), radial-gradient(circle at 88% 8%, #1d9c851c, transparent 26%), var(--canvas);margin:0;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}h1,h2,h3,h4,h5,h6{color:var(--ink-900);margin:0;font-family:Space Grotesk,IBM Plex Sans,sans-serif}p{margin:0}a{color:inherit;text-decoration:none}.auth-loading-screen{min-height:100dvh;color:var(--ink-500);place-items:center;font-weight:600;display:grid}.login-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);width:min(440px,100%);box-shadow:var(--shadow);border-radius:18px;padding:28px}.login-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-300);margin-bottom:8px;font-size:.75rem}.login-copy{color:var(--ink-500);margin-top:10px}.login-form{gap:14px;margin-top:20px;display:grid}.login-form label{color:var(--ink-500);gap:6px;font-size:.9rem;display:grid}.login-form input[type=email],.login-form input[type=password]{border:1px solid var(--line);background:var(--surface);font:inherit;color:var(--ink-700);border-radius:10px;padding:10px 12px}.login-form input:focus{border-color:var(--brand);outline-offset:1px;outline:2px solid #1263d833}.remember-toggle{color:var(--ink-500);align-items:center;gap:10px;font-size:.88rem;display:flex}.login-form .remember-toggle{justify-content:flex-start;align-items:center;gap:10px;display:inline-flex}.login-form .remember-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);margin:0}.form-error{color:var(--danger);font-size:.88rem}.btn-primary,.btn-secondary{font:inherit;cursor:pointer;border:none;border-radius:10px;font-weight:600;transition:background-color .2s,color .2s,transform .2s}.btn-primary{background:var(--brand);color:#fff;padding:10px 14px}.btn-primary:hover{background:var(--brand-strong)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{background:var(--surface-2);color:var(--ink-700);border:1px solid var(--line);padding:8px 12px}.btn-secondary:hover{transform:translateY(-1px)}.btn-secondary:disabled{opacity:.68;cursor:not-allowed;transform:none}.btn-info{background:var(--btn-info-bg);border-color:var(--btn-info-border);color:var(--btn-info-text)}.btn-info:hover{background:var(--btn-info-bg-hover)}.btn-success{background:var(--btn-success-bg);border-color:var(--btn-success-border);color:var(--btn-success-text)}.btn-success:hover{background:var(--btn-success-bg-hover)}.btn-warning{background:var(--btn-warning-bg);border-color:var(--btn-warning-border);color:var(--btn-warning-text)}.btn-warning:hover{background:var(--btn-warning-bg-hover)}.btn-danger{background:var(--btn-danger-bg);border-color:var(--btn-danger-border);color:var(--btn-danger-text)}.btn-danger:hover{background:var(--btn-danger-bg-hover)}.icon-button{border:1px solid var(--line);background:var(--surface);color:var(--ink-700);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-width:40px;min-height:36px;padding:6px 10px;font-weight:600;display:inline-flex;position:relative}.icon-button:hover{background:var(--surface-2)}.icon-button.tiny{border-radius:8px;min-width:26px;min-height:26px;padding:0}.icon-glyph{letter-spacing:.04em;font-family:Space Grotesk,sans-serif}.icon-bell{width:18px;height:18px;display:block}.badge-dot{border:1px solid var(--surface);background:var(--danger);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:700;display:inline-flex;position:absolute;top:-7px;right:-7px}.inline-action{display:inline-block}.app-shell{grid-template-columns:262px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:radial-gradient(circle at 16% 4%,#0f5fd629,#0000 38%),linear-gradient(#f8fbff 0%,#f2f5ff 62%,#eef3ff 100%);border-right:1px solid #1263d824;padding:22px 16px;overflow-y:auto}.brand{align-items:center;gap:12px;padding:8px 10px 18px;display:flex}.brand-mark{color:#fff;background:linear-gradient(140deg,#0f5fd6,#2974df);border-radius:12px;place-items:center;width:36px;height:36px;font-family:Space Grotesk,sans-serif;font-size:.86rem;font-weight:700;display:grid;box-shadow:0 8px 16px #0f5fd657}.brand-subtitle{color:var(--ink-300);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}.brand h1{margin-top:6px;font-size:1.3rem}.sidebar-nav{flex-direction:column;gap:5px;display:flex}.sidebar-link{color:var(--ink-500);border:1px solid #0000;border-radius:11px;padding:10px 12px;font-weight:600;transition:background-color .18s,border-color .18s,color .18s}.sidebar-link:hover{color:var(--ink-700);background:#ffffffd1;border-color:#1263d829}.sidebar-link.active{color:#0f4fb0;background:linear-gradient(135deg,#0f5fd62e,#2974df14);border-color:#0f5fd647}.sidebar-group{border-radius:11px;gap:3px;display:grid}.sidebar-group.active{background:#0f5fd614}.sidebar-group-toggle{color:var(--ink-500);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:600;display:flex}.sidebar-group-toggle:hover{color:var(--ink-700);background:#fffc;border-color:#1263d82e}.sidebar-chevron{font-size:.78rem;transition:transform .2s;display:inline-block}.sidebar-chevron.open{transform:rotate(180deg)}.sidebar-subnav{gap:4px;padding:0 8px 8px 10px;display:grid}.sidebar-sublink{color:var(--ink-500);border:1px solid #0000;border-radius:9px;padding:8px 10px;font-size:.85rem}.sidebar-sublink:hover{color:var(--ink-700);background:#ffffffd1;border-color:#1263d829}.sidebar-sublink.active{color:#0f4fb0;background:linear-gradient(135deg,#0f5fd629,#2974df12);border-color:#0f5fd642}.sidebar-note{color:var(--ink-300);padding:4px 10px;font-size:.78rem}:root:not([data-theme=dark]) .sidebar{color:#f2f4ff;background:linear-gradient(#454bc7 0%,#3f5bd8 56%,#4f42ba 100%);border-right:none}:root:not([data-theme=dark]) .brand-subtitle{color:#ecf1ffc7}:root:not([data-theme=dark]) .brand h1{color:#f6f8ff}:root:not([data-theme=dark]) .brand-mark{box-shadow:none;background:#ffffff29;border:1px solid #ffffff47}:root:not([data-theme=dark]) .sidebar-link,:root:not([data-theme=dark]) .sidebar-group-toggle,:root:not([data-theme=dark]) .sidebar-sublink,:root:not([data-theme=dark]) .sidebar-note{color:#f2f4ffe0}:root:not([data-theme=dark]) .sidebar-link:hover,:root:not([data-theme=dark]) .sidebar-group-toggle:hover,:root:not([data-theme=dark]) .sidebar-sublink:hover{color:#fff;background:#ffffff29;border-color:#ffffff4d}:root:not([data-theme=dark]) .sidebar-link.active,:root:not([data-theme=dark]) .sidebar-sublink.active{color:#fff;background:#ffffff3d;border-color:#ffffff61}:root:not([data-theme=dark]) .sidebar-group.active{background:#ffffff1c}.main-panel{grid-template-rows:auto 1fr;display:grid}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:8;background:#ffffffc7;border-bottom:1px solid #1263d824;justify-content:space-between;align-items:center;padding:16px 22px;display:flex;position:sticky;top:0}:root:not([data-theme=dark]) .topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffff5;border-bottom:1px solid #e2e7f5}.topbar-meta{gap:2px;display:grid}.topbar-label{color:var(--ink-300);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem}.topbar-title{color:var(--ink-900);font-family:Space Grotesk,sans-serif;font-size:1.05rem;font-weight:600}.topbar-user{color:var(--ink-500);margin-top:1px;font-size:.85rem}.topbar-user strong{color:var(--ink-700);font-weight:600}.topbar-actions{align-items:center;gap:8px;display:flex}.content-area{padding:24px}:root:not([data-theme=dark]) .content-area{background:linear-gradient(#f7f9ff 0%,#f5f7fc 100%)}.page-wrap{gap:20px;display:grid}.page-header{gap:8px;display:grid}.page-header p{color:var(--ink-500)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;display:grid}.stat-card,.empty-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;box-shadow:0 8px 24px #1f2d5c14}.stat-card{gap:6px;padding:16px;display:grid}.stat-card p{color:var(--ink-500);font-size:.88rem}.stat-card strong{color:var(--ink-900);font-size:1.2rem}.empty-card{color:var(--ink-500);padding:18px}.card-block{border:1px solid var(--line);background:var(--surface);border-radius:14px;gap:12px;padding:16px;display:grid;box-shadow:0 8px 24px #1f2d5c14}.card-block h3{font-size:1.05rem}.chart-panel{border:1px solid var(--line);background:linear-gradient(#fcfdff 0%,#f6f8ff 100%);border-radius:12px;width:100%;min-height:260px;padding:8px 4px}.report-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.grid-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.income-create-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.grid-form label{color:var(--ink-500);gap:6px;min-width:0;font-size:.88rem;display:grid}.grid-form input:not([type=checkbox]),.grid-form select{border:1px solid var(--line);font:inherit;color:var(--ink-700);background:var(--surface);box-sizing:border-box;border-radius:10px;width:100%;min-width:0;max-width:100%;padding:8px 10px}.grid-form input[readonly]{background:var(--canvas-strong)}.grid-form select[multiple]{min-height:120px;padding:8px}.form-actions{align-items:end;display:flex}.grid-full{grid-column:1/-1}.grid-form .remember-toggle{color:var(--ink-500);align-items:center;gap:8px;font-size:.88rem;display:inline-flex}.grid-form .remember-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);margin:0}.team-checkbox-field{grid-column:1/-1;gap:8px;display:grid}.team-checkbox-head{color:var(--ink-500);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:.88rem;display:flex}.team-checkbox-actions{align-items:center;gap:6px;display:flex}.team-checkbox-link{border:1px solid var(--line);background:var(--surface);color:var(--ink-500);font:inherit;cursor:pointer;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600}.team-checkbox-link:disabled{opacity:.55;cursor:not-allowed}.team-checkbox-list{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:6px;max-height:190px;padding:8px;display:grid;overflow-y:auto}.team-checkbox-item{background:#fbfcff;border:1px solid #e1e6f3;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;display:grid}.team-checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);margin:0}.team-checkbox-item span{color:var(--ink-700);font-size:.9rem}.team-checkbox-item small{color:var(--ink-500);text-transform:capitalize;font-size:.75rem}.team-checkbox-empty{color:var(--ink-500);margin:0;padding:4px 2px;font-size:.84rem}.management-recurring-section,.management-client-section{gap:14px}.management-compensation-section{gap:10px}.management-compensation-section .dashboard-panel-head{gap:6px}.management-compensation-section .panel-note{width:100%;margin-top:2px}.client-create-panel,.client-list-panel{gap:10px;display:grid}.client-create-panel{background:#fbfcff;border-color:#dde4f5}.client-management-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.client-management-count{color:#7a84ae;font-size:.82rem;font-weight:600}.client-create-grid{gap:10px}.client-create-actions{grid-column:1/-1}.client-management-filters{grid-template-columns:minmax(260px,2fr) minmax(170px,1fr) auto;align-items:center}.client-management-table .table-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.client-management-table .table-inline-select{border:1px solid var(--line);min-width:128px;font:inherit;color:var(--ink-700);background:var(--surface);border-radius:10px;padding:8px 10px}.client-management-table .btn-secondary{white-space:nowrap}.inline-value-editor{align-items:center;gap:8px;display:flex}.inline-value-editor input{border:1px solid var(--line);width:92px;font:inherit;color:var(--ink-700);background:var(--surface);border-radius:10px;padding:6px 8px}.team-create-panel,.team-list-panel{gap:10px;display:grid}.team-create-grid{align-items:start;gap:8px 10px}.team-field{min-width:0}.scope-checklist-field{gap:4px;min-width:0;display:grid}.scope-checklist-label{color:var(--ink-500);font-size:.84rem;line-height:1.2}.scope-checklist-menu{min-width:0;position:relative}.scope-checklist-trigger{border:1px solid var(--line);font:inherit;color:var(--ink-700);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;border-radius:10px;align-items:center;min-height:44px;padding:8px 10px;list-style:none;display:flex;overflow:hidden}.scope-checklist-trigger::-webkit-details-marker{display:none}.scope-checklist-menu[open] .scope-checklist-trigger{border-color:var(--brand);box-shadow:0 0 0 2px #1263d829}.scope-checklist-dropdown{z-index:14;border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:6px;max-height:240px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 26px #18275929}.scope-checklist-dropdown .scope-checklist-option{color:var(--ink-700);background:#fbfcff;border:1px solid #e2e8f7;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-size:.88rem;display:flex}.scope-checklist-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand);margin:0}.scope-checklist-divider{border-top:1px solid var(--line);margin:2px 0 0;padding-top:4px}.team-create-grid .team-field input:not([type=checkbox]),.team-create-grid .team-field select{min-height:44px}@media (width>=1200px){.team-create-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.team-field-name{grid-column:1}.team-field-role{grid-column:2}.team-field-compensation{grid-column:3}.team-field-client-scope,.scope-checklist-field{grid-column:4}.team-field-fixed-pay{grid-column:5}.team-field-commission{grid-column:1}.team-field-start-date{grid-column:2}.team-field-notes{grid-column:3/span 2}}.team-create-actions{grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.team-filters{grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(170px,1fr) auto;align-items:center}.inline-link-btn{align-items:center;text-decoration:none;display:inline-flex}.recurring-subtitle{letter-spacing:.01em;font-weight:600}.recurring-create-panel,.recurring-list-panel{gap:10px;display:grid}.recurring-create-grid{gap:10px}.recurring-create-actions{grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;padding-top:4px;display:flex}.recurring-filters{grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) auto;align-items:center}.recurring-filters .remember-toggle{justify-self:start}.detail-head{gap:4px;display:grid}.section-head-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.section-actions-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-entry-block{gap:10px;display:grid}.inline-entry-form{border:1px solid var(--line);background:var(--canvas-strong);border-radius:12px;padding:10px}.tab-row{flex-wrap:wrap;gap:8px;display:flex}.tab-button{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-700);font:inherit;cursor:pointer;border-radius:999px;padding:6px 12px}.tab-button.active{background:var(--brand-soft);color:var(--brand-strong);border-color:#1263d852}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.filters-bar{grid-template-columns:2fr repeat(3,minmax(130px,1fr));gap:8px;display:grid}.filters-bar input,.filters-bar select{border:1px solid var(--line);font:inherit;color:var(--ink-700);background:var(--surface);border-radius:10px;padding:8px 10px}.reports-filter-bar{grid-template-columns:minmax(150px,200px) minmax(180px,1fr) minmax(150px,200px) max-content;align-items:center}.reports-filter-bar .export-actions{white-space:nowrap;justify-self:end}.reports-headline-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.reports-headline-row span{color:var(--ink-500);font-size:.82rem;font-weight:600}.client-filter-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.client-filter-grid label{color:var(--ink-500);gap:6px;font-size:.84rem;display:grid}.client-filter-grid input,.client-filter-grid select{border:1px solid var(--line);font:inherit;color:var(--ink-700);background:var(--surface);border-radius:10px;padding:8px 10px}.client-filter-grid .btn-secondary{align-self:end}.dashboard-controls-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.dashboard-controls-grid label{color:#727ba4;letter-spacing:.01em;background:#fafbff;border:1px solid #dfe4f3;border-radius:12px;gap:6px;padding:9px 11px;font-size:.78rem;font-weight:600;display:grid}.dashboard-controls-grid input,.dashboard-controls-grid select{font:inherit;color:var(--ink-700);background:0 0;border:none;border-radius:0;padding:0;font-size:.94rem;font-weight:600}.dashboard-controls-grid input:focus,.dashboard-controls-grid select:focus{outline:none}.dashboard-page{gap:18px}.dashboard-hero{background:#fff;border:1px solid #e2e7f5;border-radius:16px;grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);align-items:start;gap:16px;padding:20px;display:grid;box-shadow:0 10px 24px #17244814}.dashboard-kicker{letter-spacing:.09em;text-transform:uppercase;color:#8a92b7;font-size:.74rem;font-weight:700}.dashboard-hero-copy{gap:10px;display:grid}.dashboard-hero-copy h2{font-size:clamp(1.5rem,2.2vw,2rem)}.dashboard-hero-copy p{color:var(--ink-500);max-width:56ch}.dashboard-context-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dashboard-context-chip{color:#455080;background:#f8faff;border:1px solid #dde3f3;border-radius:10px;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.dashboard-context-chip.refresh{background:#169b831f;border-color:#169b8359;padding:4px 8px}.dashboard-refresh-spinner{border:2px solid #0c8369;border-color:#0c8369 #0c8369 #0c83693d #0c83693d;border-radius:999px;width:14px;height:14px;animation:.7s linear infinite dashboard-spin}@keyframes dashboard-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-control-panel{background:0 0;border:none;border-radius:0;gap:10px;padding:0;display:grid}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.kpi-card{box-shadow:none;background:#f5f8ff;border:1px solid #dfe5f5;border-radius:12px;gap:7px;padding:16px;display:grid}.kpi-card.mint{background:#e9f8ee;border-color:#cae8d3}.kpi-card.indigo{background:#edf1ff;border-color:#d4ddf8}.kpi-card.teal{background:#e7f5f6;border-color:#cae4e8}.kpi-card.rose{background:#f7ecfb;border-color:#e8d8f1}.kpi-label{color:#2f3a63;font-size:.84rem;font-weight:700}.kpi-value{color:var(--ink-900);font-family:Space Grotesk,sans-serif;font-size:clamp(1.2rem,2vw,1.5rem)}.kpi-meta{color:#6f79a4;flex-wrap:wrap;align-items:center;gap:8px;font-size:.77rem;display:flex}.kpi-change{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-500);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700}.kpi-change.up{color:#0b6f64;background:#169b831f;border-color:#169b8359}.kpi-change.down{color:#b42342;background:#b423421c;border-color:#b4234252}.kpi-card.compact{gap:6px;padding:12px}.kpi-card.compact .kpi-value{font-size:clamp(1rem,1.6vw,1.25rem)}.ledger-page{gap:20px}.ledger-hero{border:1px solid var(--line);background:linear-gradient(130deg, #0f5fd61c, transparent 48%), linear-gradient(180deg, var(--surface), var(--canvas-strong));border-radius:18px;grid-template-columns:minmax(0,1.2fr) minmax(340px,1fr);gap:12px;padding:16px;display:grid;box-shadow:0 12px 26px #12254d1a}.ledger-hero-copy{gap:10px;display:grid}.ledger-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ledger-switch-card{gap:10px;padding:12px 14px}.ledger-tab-row{gap:10px}.ledger-section{gap:14px}.ledger-filter-grid{border:1px solid var(--line);background:linear-gradient(#fffffffa,#f1f5ffe0);border-radius:12px;padding:10px}.ledger-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:14px}.ledger-table-head{justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 2px;display:flex}.ledger-table-head h4{font-size:.98rem}.ledger-table-head p{color:var(--ink-300);font-size:.78rem}.ledger-table{min-width:100%}.dashboard-grid-primary{grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:10px;display:grid}.dashboard-grid-secondary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dashboard-grid-secondary.single{grid-template-columns:1fr}.dashboard-grid-tables{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-panel{box-shadow:none;border-color:#dde3f3;border-radius:12px;gap:12px}.dashboard-panel.main{min-height:380px}.dashboard-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.panel-note{color:#7a84ae;font-size:.79rem}.chart-panel.elevated{box-shadow:none;background:#fbfcff;border:1px solid #e2e7f5;border-radius:12px}.analytics-table{min-width:100%}.analytics-table th{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-300);font-size:.8rem}.analytics-table td{color:var(--ink-700);font-size:.88rem}.badge-pill{border:1px solid var(--line);background:var(--surface-2);color:var(--ink-500);text-transform:capitalize;border-radius:999px;align-items:center;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-pill.good{color:#0b6f64;background:#169b831f;border-color:#169b8359}.badge-pill.bad{color:#b42342;background:#b423421c;border-color:#b423424d}.badge-pill.neutral{color:#8c6f00;background:#f39c1224;border-color:#f39c1254}.export-actions{flex-wrap:nowrap;justify-content:flex-end;gap:8px;display:flex}.table-wrap{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:640px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px;font-size:.9rem}.data-table th{color:var(--ink-700);background:var(--canvas-strong);font-weight:600}.data-table tbody tr:hover{background:#1263d80a}.pager-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.table-actions{flex-wrap:wrap;gap:6px;display:flex}.table-actions label{color:var(--ink-500);gap:4px;font-size:.85rem;display:grid}.table-actions input{border:1px solid var(--line);font:inherit;color:var(--ink-700);background:var(--surface);border-radius:10px;padding:8px 10px}.notification-root{position:relative}.notification-panel{z-index:40;border:1px solid var(--line);background:var(--surface);width:min(380px,100vw - 32px);box-shadow:var(--shadow);border-radius:12px;gap:10px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.notification-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.notification-head p{color:var(--ink-500);font-size:.8rem}.notification-list{gap:8px;max-height:360px;display:grid;overflow:auto}.notification-item{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px;display:grid}.notification-item.unread{background:#1263d814;border-color:#1263d880}.notification-open{text-align:left;color:inherit;cursor:pointer;background:0 0;border:none;gap:4px;padding:0;display:grid}.notification-open p{color:var(--ink-500);font-size:.88rem}.notification-open time{color:var(--ink-300);font-size:.75rem}.command-overlay{z-index:60;place-items:start center;padding:8dvh 16px 16px;display:grid;position:fixed;inset:0}.command-backdrop{background:#070d1980;border:none;position:absolute;inset:0}.command-modal{border:1px solid var(--line);background:var(--surface);width:min(640px,100%);box-shadow:var(--shadow);z-index:1;border-radius:14px;gap:10px;padding:10px;display:grid}.command-input{border:1px solid var(--line);font:inherit;background:var(--surface);color:var(--ink-700);border-radius:10px;padding:10px 12px}.command-list{gap:8px;max-height:420px;display:grid;overflow:auto}.command-item{border:1px solid var(--line);background:var(--surface);color:var(--ink-700);font:inherit;text-align:left;cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.command-item:hover{background:var(--surface-2)}.command-item code{color:var(--ink-300);font-size:.8rem}.command-empty{color:var(--ink-500);padding:8px}.skeleton-stack{gap:10px;display:grid}.skeleton-line{background:linear-gradient(90deg, var(--surface-2), var(--line), var(--surface-2));background-size:300% 100%;border-radius:8px;height:16px;animation:1.2s linear infinite skeletonShift}@keyframes skeletonShift{0%{background-position:100% 0}to{background-position:-100% 0}}.error-state,.empty-state{border:1px dashed var(--line);background:var(--surface);color:var(--ink-500);border-radius:12px;gap:8px;padding:14px;display:grid}.error-state strong,.empty-state strong{color:var(--ink-900)}.error-state.compact,.empty-state.compact{gap:4px;padding:10px}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.setting-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:8px;padding:12px;display:grid}.setting-card h4{font-size:1rem}.setting-card header p{color:var(--ink-500);font-size:.84rem}.setting-card input,.setting-card select,.setting-card textarea{border:1px solid var(--line);font:inherit;color:var(--ink-700);background:var(--surface);border-radius:10px;padding:8px 10px}.setting-card footer{color:var(--ink-300);justify-content:space-between;align-items:center;font-size:.78rem;display:flex}@media (width<=900px){.app-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--line);padding:14px}.brand{padding:6px 6px 12px}.brand-mark{border-radius:10px;width:32px;height:32px;font-size:.78rem}.sidebar-nav{flex-direction:column;gap:6px;display:flex}.sidebar-link{text-align:left;padding:9px 8px;font-size:.88rem}.sidebar-group-toggle{padding:9px 8px}.sidebar-subnav{padding-left:8px}.content-area{padding:16px}.filters-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-filter-bar,.client-management-filters{grid-template-columns:1fr}.client-management-toolbar{align-items:flex-start}.recurring-filters,.team-filters{grid-template-columns:1fr}.recurring-create-actions,.team-create-actions{flex-direction:column;align-items:flex-start}.report-grid-two,.dashboard-hero,.ledger-hero{grid-template-columns:1fr}.kpi-grid,.ledger-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid-primary,.dashboard-grid-secondary,.dashboard-grid-tables{grid-template-columns:1fr}.export-actions{flex-wrap:wrap;justify-content:flex-start}}@media (width<=640px){.topbar{padding:12px 14px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.topbar-title{font-size:.98rem}.login-card{padding:20px}.chart-panel{min-height:220px}.kpi-grid,.ledger-summary-grid{grid-template-columns:1fr}.dashboard-context-row{gap:6px}.notification-panel{right:-6px}}
