:root{color:#18211d;background:#f3f1ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}main{min-height:100vh}.centered-shell{align-items:center;display:flex;justify-content:center;padding:24px}.auth-panel{max-width:420px}.eyebrow{color:#66736c;font-size:.74rem;font-weight:800;letter-spacing:.08em;margin:0 0 8px;text-transform:uppercase}h1,h2{letter-spacing:0;margin:0}h1{font-size:2.35rem;line-height:1.05}h2{font-size:1rem}.lede{color:#4d5a53;font-size:1.02rem;line-height:1.55;margin:18px 0 28px}.lede.compact{margin:8px 0 14px}.primary-action{align-items:center;background:#124c43;border:0;border-radius:6px;color:#fff;display:inline-flex;font-weight:800;justify-content:center;min-height:42px;padding:0 16px;text-decoration:none}.danger-action{background:#9d3025}.full-width{width:100%}.field,.modal-field{display:grid;gap:8px;margin:22px 0}.field span,.modal-field span{color:#506057;font-size:.82rem;font-weight:800}.field input,.modal-field input,.modal-field select,.budget-switcher,.hidden-title-input{background:#fff;border:1px solid #cfd8d2;border-radius:6px;color:#18211d;min-height:42px;padding:0 12px}.product-shell{background:#f3f1ea;display:grid;grid-template-columns:256px minmax(0,1fr);min-height:100vh;transition:grid-template-columns .18s ease}.product-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.app-sidebar{background:#fbfcf8;border-right:1px solid #d8ddd9;display:flex;flex-direction:column;gap:12px;min-height:100vh;overflow:hidden;padding:12px;position:sticky;top:0}.sidebar-header{min-height:44px}.sidebar-brand,.sidebar-link{align-items:center;background:transparent;border:0;border-radius:6px;color:#4d5a53;display:flex;gap:8px;min-height:32px;padding:0 8px;width:100%}.sidebar-brand span{align-items:center;background:#e8f4ee;border:1px solid #c9ddd2;border-radius:6px;display:inline-flex;flex:0 0 30px;font-weight:900;height:30px;justify-content:center}.sidebar-icon{flex:0 0 auto;height:16px;opacity:.88;width:16px}.sidebar-brand strong,.sidebar-link strong{font-size:.86rem;font-weight:650;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{display:grid;gap:2px}.sidebar-link.is-active,.sidebar-link:hover,.sidebar-brand:hover{background:#edf1ed;color:#163d37}.sidebar-collapsed .app-sidebar{display:none}.icon-button{align-items:center;border:0;border-radius:6px;display:inline-flex;justify-content:center}.workspace-frame{display:grid;grid-template-rows:auto 1fr;min-width:0}.app-topbar{align-items:center;border-bottom:1px solid #d8ddd9;display:flex;gap:12px;min-height:56px;padding:0 18px}.breadcrumb-nav{align-items:center;display:flex;flex:1;min-width:0}.breadcrumb-list{align-items:center;display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;min-width:0;padding:0}.breadcrumb-item{align-items:center;display:inline-flex;min-width:0}.breadcrumb-menu{display:inline-flex;min-width:0;position:relative}.breadcrumb-menu summary{align-items:center;background:transparent;border:0;border-radius:6px;color:#123b36;cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:800;list-style:none;max-width:min(34vw,300px);min-height:34px;overflow:hidden;padding:0 8px;text-overflow:ellipsis;white-space:nowrap}.breadcrumb-menu summary::-webkit-details-marker{display:none}.breadcrumb-menu summary:hover,.breadcrumb-menu summary:focus{background:#fff;outline:1px solid #d8ddd9}.breadcrumb-menu-content{background:#fff;border:1px solid #d8ddd9;border-radius:6px;box-shadow:0 12px 32px #123b3629;display:grid;gap:2px;left:0;min-width:220px;padding:4px;position:absolute;top:calc(100% + 6px);z-index:20}.breadcrumb-menu:not([open]) .breadcrumb-menu-content{display:none}.breadcrumb-menu-content button{background:transparent;border:0;border-radius:5px;color:#123b36;font-weight:750;min-height:34px;padding:0 10px;text-align:left}.breadcrumb-menu-content button:hover,.breadcrumb-menu-content button:focus{background:#f0f4f1}.breadcrumb-separator{color:#7b8780;display:inline-flex;font-size:.88rem;font-weight:700}.breadcrumb-page{color:#52615a;font-size:.92rem;font-weight:750}.title-cluster{align-items:center;display:flex;gap:12px;min-width:0}.budget-switcher{border-color:transparent;color:#123b36;font-weight:900;max-width:min(48vw,360px)}.title-button{background:transparent;border:0;color:#5b6a62;font-weight:800;padding:8px}.hidden-title-input{max-width:160px}.top-actions,.toolbar-actions{align-items:center;display:flex;gap:8px}.top-actions{margin-left:auto}.toolbar-actions button,.budget-toolbar button,.register-row button,.rail-header button,.workspace-row,.saved-report{background:#fff;border:1px solid #d8ddd9;border-radius:6px;color:#163d37;font-weight:800;min-height:36px;padding:0 12px}.account-table button{background:#fff;border:1px solid #d8ddd9;border-radius:6px;color:#163d37;font-weight:800}.account-table button:disabled{color:#9aa59f;cursor:not-allowed;opacity:.55}.align-end{justify-content:flex-end}.status-pill{align-items:baseline;background:#fff;border:1px solid #d8ddd9;border-radius:999px;color:#163d37;display:inline-flex;gap:6px;min-height:32px;padding:0 12px}.status-pill small{color:#77847d;font-size:.72rem;font-weight:800}.inline-status{align-items:center;background:#e8f4ee;border:1px solid #c9ddd2;border-radius:6px;color:#163d37;display:flex;font-size:.86rem;font-weight:800;margin:0;min-height:38px;padding:0 12px}.icon-button{background:#fff;border:1px solid #d8ddd9;color:#163d37;height:34px;width:34px}.view-stack{display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 280px;padding:20px 24px 28px}.single-column{grid-template-columns:minmax(0,1fr)}.accounts-view,.transactions-view{align-content:start;display:grid;gap:12px;padding:20px 24px 28px}.reports-view{align-content:start;display:grid;gap:16px;padding:20px 24px 28px}.budget-toolbar{align-items:center;display:flex;gap:12px;grid-column:1 / -1;justify-content:space-between}.ready-chip{align-items:center;background:#123b36;border-radius:8px;color:#fff;display:inline-flex;gap:10px;min-height:42px;padding:0 8px 0 14px}.ready-chip span{font-size:1.2rem;font-weight:900}.ready-chip button{background:#d6f05d;border-color:transparent;color:#173c35}.budget-table,.register,.account-table,.workspace-grid,.report-grid{min-width:0}.budget-table,.register,.account-table{background:#fff;border:1px solid #d8ddd9;border-radius:8px;overflow:hidden}.table-row{align-items:center;border-top:1px solid #edf0ed;display:grid;gap:10px;grid-template-columns:minmax(180px,1fr) 120px 120px 120px;min-height:46px;padding:0 14px}.category-row>span:not(:first-child),.category-row>.money-cell{justify-self:end;text-align:right}.table-row:first-child,.category-group:first-of-type .group-row{border-top:0}.table-head,.register-head{align-items:center;background:#f7f8f5;color:#68766f;font-size:.76rem;font-weight:900;line-height:1.25;padding-bottom:12px;padding-top:12px;text-transform:uppercase}.group-row{background:#eef3ef;color:#21362f;font-weight:900}.category-row{align-items:start;background:#fff;padding-bottom:10px;padding-top:10px}.name-cell,.money-cell{background:transparent;border:0;color:inherit;display:grid;font-weight:800;gap:4px;justify-items:start;min-height:40px;padding:0;text-align:left}.category-row .name-cell,.category-row .money-cell{min-height:0}.category-row>span{line-height:1.2}.money-cell{color:#124c43;justify-items:end;text-align:right}.negative{color:#aa3d2d}.right-rail{align-self:start;background:#fff;border:1px solid #d8ddd9;border-radius:8px;display:grid;gap:10px;padding:14px}.rail-header,.move-row,.member-row,.account-row{align-items:center;display:flex;justify-content:space-between}.rail-header{color:#4c5b53;font-size:.82rem;font-weight:900}.move-row,.member-row{border-top:1px solid #edf0ed;min-height:42px}.move-row span,.member-row span{color:#5d6a64}.workspace-grid,.report-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.workspace-panel,.chart-panel{background:#fff;border:1px solid #d8ddd9;border-radius:8px;display:grid;gap:12px;padding:14px}.account-table{overflow-x:auto}.account-table table{border-collapse:collapse;min-width:780px;width:100%}.account-table th,.account-table td{border-top:1px solid #edf0ed;min-height:48px;padding:12px 14px;text-align:left;white-space:nowrap}.account-table thead th{background:#f7f8f5;border-top:0;color:#68766f;font-size:.76rem;font-weight:900;text-transform:uppercase}.account-table td:nth-child(3),.account-table td:nth-child(4){text-align:right}.row-actions{display:flex;flex-wrap:nowrap;gap:8px;min-width:118px}.icon-action{align-items:center;display:inline-flex;font-size:1rem;height:34px;justify-content:center;line-height:1;padding:0;width:34px}.sidebar-trigger{background:transparent;border:0;flex:0 0 auto;height:28px;width:28px}.sidebar-trigger:hover,.sidebar-trigger:focus{background:#edf1ed}.icon-svg{display:block;height:16px;width:16px}.icon-action.danger:not(:disabled){color:#aa3d2d}.register-row{align-items:center;border-top:1px solid #edf0ed;display:grid;gap:12px;grid-template-columns:90px minmax(140px,1fr) minmax(120px,1fr) minmax(120px,1fr) 110px 116px;min-height:48px;padding:0 14px}.register-row:first-child{border-top:0}.register-payee{background:transparent;border:0;color:inherit;font-weight:900;padding:0;text-align:left}.register-payee:hover,.register-payee:focus{color:#124c43;text-decoration:underline}.report-kpis{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(150px,1fr))}.metric-card{background:#fff;border:1px solid #d8ddd9;border-radius:8px;display:grid;gap:8px;min-height:86px;padding:12px 14px}.metric-card span{color:#64736b;font-size:.76rem;font-weight:900;text-transform:uppercase}.metric-card strong{font-size:1.35rem;line-height:1.15}.bar-row{align-items:center;display:grid;gap:10px;grid-template-columns:100px minmax(80px,1fr) 90px}.bar-row div{background:#edf0ed;border-radius:999px;height:9px;overflow:hidden}.bar-row i{background:#2dbb7f;display:block;height:100%}.saved-report,.workspace-row{align-items:center;display:flex;justify-content:space-between;width:100%}.saved-report span{color:#69776f;font-size:.78rem}.modal-backdrop{align-items:center;background:#111f1c6b;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:18px;position:fixed;z-index:10}.modal{background:#fbfcf8;border:1px solid #cfd8d2;border-radius:8px;box-shadow:0 24px 80px #123b3647;display:grid;gap:4px;max-width:420px;padding:16px;width:min(100%,420px)}.modal header{align-items:center;display:flex;justify-content:space-between}.modal header button{background:transparent;border:0;color:#5e6b64;font-weight:900}.segmented{background:#edf1ed;border-radius:6px;display:grid;gap:4px;grid-template-columns:1fr 1fr;margin-top:14px;padding:4px}.segmented button{background:transparent;border:0;border-radius:5px;color:#3e5148;font-weight:900;min-height:34px}.segmented .is-active{background:#fff;color:#123b36}.settings-strip{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}@media (max-width: 900px){.product-shell,.product-shell.sidebar-collapsed{grid-template-columns:1fr}.app-sidebar{box-shadow:16px 0 44px #123b362e;display:flex;inset:0 auto 0 0;position:fixed;width:256px;z-index:30}.sidebar-collapsed .app-sidebar{display:none}.view-stack,.accounts-view,.transactions-view,.reports-view{grid-template-columns:1fr;padding:16px}.right-rail{display:none}.table-row,.register-row{grid-template-columns:minmax(130px,1fr) 92px 92px 92px}.register-row{grid-template-columns:74px minmax(130px,1fr) 100px}.register-row span:nth-child(3),.register-row span:nth-child(4),.register-head span:nth-child(6),.register-row>button:not(.register-payee){display:none}.report-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 620px){.app-topbar,.budget-toolbar{align-items:stretch;flex-direction:column}.app-topbar{align-items:flex-start}.title-cluster{flex-wrap:wrap;width:100%}.breadcrumb-nav,.budget-switcher{max-width:100%;width:100%}.top-actions,.toolbar-actions{flex-wrap:wrap}.table-row{grid-template-columns:minmax(120px,1fr) 82px 82px}.table-row span:nth-child(3),.table-head span:nth-child(3){display:none}.report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{min-height:74px;padding:10px 12px}.metric-card strong{font-size:1.1rem}}
