.app-shell[data-v-941d95ed]{min-height:100vh;display:flex}.sidebar[data-v-941d95ed]{background:var(--sidebar-bg);width:250px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.brand[data-v-941d95ed]{align-items:center;gap:.6rem;padding:1.25rem 1.25rem 1rem;display:flex}.brand-mark[data-v-941d95ed]{flex-shrink:0;width:34px;height:34px}.brand-name[data-v-941d95ed]{color:#fff;font-size:1.05rem;font-weight:700}.side-nav[data-v-941d95ed]{flex-direction:column;flex:1;gap:.15rem;padding:.5rem .75rem;display:flex;overflow-y:auto}.side-link[data-v-941d95ed]{color:var(--sidebar-text);border-radius:10px;align-items:center;gap:.7rem;padding:.6rem .8rem;font-size:.92rem;font-weight:500;text-decoration:none;display:flex}.side-icon[data-v-941d95ed]{text-align:center;width:1.3rem;font-size:1.05rem}.side-link.router-link-exact-active[data-v-941d95ed]{background:var(--sidebar-active-bg);color:var(--sidebar-text-active)}.side-footer[data-v-941d95ed]{border-top:1px solid #ffffff14;flex-direction:column;gap:.6rem;padding:.9rem;display:flex}.user-chip[data-v-941d95ed]{border-radius:10px;align-items:center;gap:.6rem;margin:-.3rem;padding:.3rem;text-decoration:none;display:flex}.avatar[data-v-941d95ed]{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:flex}.user-info[data-v-941d95ed]{min-width:0}.user-name[data-v-941d95ed]{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;font-weight:600;overflow:hidden}.user-email[data-v-941d95ed]{color:var(--sidebar-text);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.logout[data-v-941d95ed]{color:var(--sidebar-text);background:0 0;border-color:#ffffff26}.main-col[data-v-941d95ed]{flex-direction:column;flex:1;min-width:0;display:flex}.topbar[data-v-941d95ed]{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:.75rem;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.page-title[data-v-941d95ed]{text-transform:capitalize;font-size:1.05rem;font-weight:700}.budget-pill[data-v-941d95ed]{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:600}.spacer[data-v-941d95ed]{flex:1}.menu-toggle[data-v-941d95ed],.scrim[data-v-941d95ed]{display:none}.content[data-v-941d95ed]{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.5rem}@media (width<=900px){.sidebar[data-v-941d95ed]{z-index:30;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open[data-v-941d95ed]{transform:translate(0)}.menu-toggle[data-v-941d95ed]{display:inline-block}.scrim[data-v-941d95ed]{z-index:20;background:#0006;display:block;position:fixed;inset:0}.content[data-v-941d95ed]{padding:1rem}.page-title[data-v-941d95ed]{display:none}}:root{--bg:#f4f6fb;--surface:#fff;--surface-alt:#f0f2f8;--text:#1a1d21;--text-muted:#667085;--border:#c1c8d6;--accent:#4b6fed;--accent-soft:#eaeeff;--accent-contrast:#fff;--income:#1a9e6a;--income-soft:#e4f8ef;--bill:#e0455a;--bill-soft:#fdeaec;--pending:#c8862e;--pending-soft:#fbf1e2;--shadow:0 4px 16px #1e28460f;--radius:14px;--sidebar-bg:#1c2333;--sidebar-text:#b7bfd6;--sidebar-text-active:#fff;--sidebar-active-bg:#4b6fed59;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--bg:#10131a;--surface:#1a1e29;--surface-alt:#232838;--text:#eceef1;--text-muted:#99a1b7;--border:#454e68;--accent:#6d8dff;--accent-soft:#6d8dff29;--accent-contrast:#0b0d10;--income:#4fd68a;--income-soft:#4fd68a24;--bill:#f27979;--bill-soft:#f2797924;--pending:#e0ab63;--pending-soft:#e0ab6324;--shadow:0 4px 16px #00000059;--sidebar-bg:#12151e;--sidebar-text:#8b93ac;--sidebar-text-active:#fff;--sidebar-active-bg:#6d8dff38;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh}#app{min-height:100vh}a{color:var(--accent)}button{cursor:pointer;font-family:inherit}input,select,textarea{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.5rem .6rem;font-family:inherit;font-size:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;gap:.9rem;padding:1.1rem 1.25rem;display:flex}.stat-tile .icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;display:flex}.stat-tile .icon.accent{background:var(--accent-soft);color:var(--accent)}.stat-tile .icon.income{background:var(--income-soft);color:var(--income)}.stat-tile .icon.bill{background:var(--bill-soft);color:var(--bill)}.stat-tile .icon.pending{background:var(--pending-soft);color:var(--pending)}.stat-tile .stat-label{color:var(--text-muted);font-size:.85rem}.stat-tile .stat-value{font-size:1.35rem;font-weight:700}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:.5rem .9rem;font-size:.95rem}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn-danger{border-color:var(--bill);color:var(--bill);background:0 0}.btn-cleared{border-color:var(--income);color:var(--income);background:0 0}.btn-toggle-paid{border-color:var(--pending);color:var(--pending);background:0 0}.btn-toggle-paid.is-paid{border-color:var(--accent);color:var(--accent-contrast);background:var(--accent)}.text-muted,.status-scheduled{color:var(--text-muted)}.status-unpaid{color:var(--pending)}.status-past-due{color:var(--bill)}.status-paid{color:var(--accent)}.status-cleared,.amount-income{color:var(--income)}.amount-bill{color:var(--bill)}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem}@media (width<=640px){table,thead,tbody,th,td,tr{display:block}thead tr{display:none}tbody tr{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-bottom:.75rem;padding:.25rem .5rem}td{border:none;justify-content:space-between;gap:.75rem;padding:.3rem .25rem;display:flex}td:before{content:attr(data-label);color:var(--text-muted);font-size:.85rem}}
