:root{color:#e9e7ee;font-synthesis:none;text-rendering:optimizelegibility;--bg:#111014;--panel:#18171c;--panel-raised:#201e25;--panel-hover:#28252e;--border:#302d36;--border-bright:#48434f;--text:#e9e7ee;--muted:#9b96a3;--subtle:#6f6977;--accent:#a98cf0;--accent-strong:#c2abff;--accent-soft:#a98cf021;--green:#69c897;--green-soft:#69c89721;--yellow:#d6ae62;--yellow-soft:#d6ae6224;--red:#e47786;--red-soft:#e4778621;--sidebar-width:264px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#111014;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:radial-gradient(circle at 88% -10%, #a98cf017, transparent 30rem), var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ruby-mark{background:linear-gradient(145deg,#c2abff3d,#a98cf00f);border:1px solid #c2abffc7;border-radius:7px;flex:none;place-items:center;width:28px;height:28px;display:grid;position:relative;transform:rotate(45deg);box-shadow:inset 0 0 14px #a98cf01f,0 0 18px #a98cf014}.ruby-mark span{background:var(--accent-strong);border-radius:2px;width:8px;height:8px;box-shadow:0 0 12px #c2abff8c}.eyebrow{color:var(--subtle);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;font-size:10px;font-weight:700;display:block}kbd{color:var(--subtle);border:1px solid var(--border-bright);background:#141318;border-radius:4px;padding:1px 4px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace}.access-shell{background:radial-gradient(circle at 50% 5%,#a98cf021,#0000 34rem);place-items:center;min-height:100vh;padding:28px 18px;display:grid}.access-card{border:1px solid var(--border);background:#18171cf2;border-radius:16px;width:min(480px,100%);padding:28px;box-shadow:0 28px 100px #0000005c}.access-brand{align-items:center;gap:12px;margin-bottom:38px;display:flex}.access-brand>div:last-child{gap:2px;display:grid}.access-brand strong{font-size:18px}.access-brand span{color:var(--muted);font-size:11px}.access-copy h1{letter-spacing:-.045em;margin:0;font-size:30px}.access-copy p{color:var(--muted);margin:12px 0 22px;font-size:13px;line-height:1.6}.access-form{gap:14px;display:grid}.access-form label,.password-change label,.standalone-label{color:var(--muted);gap:7px;font-size:10px;font-weight:650;display:grid}.access-form input,.password-change input,.standalone-label input{border:1px solid var(--border-bright);width:100%;color:var(--text);background:#121116;border-radius:8px;padding:11px 12px}.access-primary{width:100%;margin-top:5px}.access-divider{text-align:center;color:var(--subtle);margin:24px 0;font-size:10px;position:relative}.access-divider:before{content:"";border-top:1px solid var(--border);position:absolute;inset:50% 0 auto}.access-divider span{background:var(--panel);padding:0 12px;position:relative}.demo-button{text-align:left;border:1px solid var(--border-bright);background:var(--panel-raised);border-radius:10px;align-items:center;gap:14px;width:100%;padding:14px;display:flex}.demo-button:hover{border-color:var(--accent);background:var(--panel-hover)}.demo-button .ruby-mark{width:24px;height:24px}.demo-button>span{gap:3px;display:grid}.demo-button strong{font-size:12px}.demo-button small{color:var(--muted);font-size:10px;line-height:1.4}.danger-link{color:var(--red);background:0 0;border:0;margin:18px auto 0;font-size:10px;display:block}.security-note{border-top:1px solid var(--border);color:var(--subtle);align-items:flex-start;gap:8px;margin:24px 0 0;padding-top:18px;font-size:9px;line-height:1.5;display:flex}.security-note svg{flex:none;width:14px;height:14px}.form-error,.form-warning,.form-success{border-radius:7px;padding:9px 11px;font-size:10px;line-height:1.45}.form-error{color:var(--red);background:var(--red-soft);border:1px solid #e477862e}.form-warning{color:var(--yellow);background:var(--yellow-soft);border:1px solid #d6ae622e;margin-bottom:14px}.form-success{color:var(--green);background:var(--green-soft);border:1px solid #69c8972e}.app-shell{min-height:100vh}.demo-banner{inset:0 0 auto var(--sidebar-width);z-index:30;color:#211b2b;background:var(--accent-strong);justify-content:center;align-items:center;gap:14px;min-height:28px;font-size:10px;font-weight:700;display:flex;position:fixed}.demo-banner button{color:#211b2b;background:#ffffff40;border:0;border-radius:4px;padding:2px 7px;font-size:9px}.demo-banner+.sidebar+.workspace{padding-top:62px}.sidebar{z-index:20;width:var(--sidebar-width);border-right:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#18171cf7;flex-direction:column;padding:18px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:4px 8px 22px;display:flex}.brand>div:last-child{flex-direction:column;gap:2px;min-width:0;display:flex}.brand strong{letter-spacing:-.02em;font-size:16px}.brand span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.primary-nav{gap:4px;display:grid}.primary-nav button,.sidebar-footer button{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;display:flex}.primary-nav button:hover,.sidebar-footer button:hover,.primary-nav button.active{color:var(--text);background:var(--panel-hover)}.primary-nav button.active{box-shadow:inset 2px 0 var(--accent)}.primary-nav button span{flex:1}.primary-nav kbd{opacity:0}.primary-nav button:hover kbd{opacity:1}.sidebar-section{min-height:0;margin-top:26px;overflow:auto}.section-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--subtle);justify-content:space-between;align-items:center;padding:0 10px 8px;font-size:9px;font-weight:700;display:flex}.tiny-add{border:1px solid var(--border);width:21px;height:21px;color:var(--muted);background:0 0;border-radius:5px;padding:0}.tiny-add:hover{color:var(--text);border-color:var(--border-bright)}.account-list{gap:2px;display:grid}.account-list button{color:var(--muted);background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:11px;display:flex}.account-list button:hover,.account-list button.active{color:var(--text);background:var(--panel-hover)}.account-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.account-dot{background:var(--green);border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 8px #69c8974d}.account-dot.credit{background:var(--yellow)}.account-dot.tracking{background:var(--muted)}.empty-account-link{color:var(--accent-strong)!important;justify-content:flex-start!important}.sidebar-total{border-top:1px solid var(--border);color:var(--subtle);justify-content:space-between;margin:10px 10px 0;padding-top:10px;font-size:9px;display:flex}.sidebar-total strong{color:var(--muted)}.sidebar-footer{border-top:1px solid var(--border);gap:2px;margin-top:auto;padding-top:16px;display:grid}.save-status{color:var(--subtle);padding:8px 10px 0;font-size:9px;display:block}.save-status.saving{color:var(--yellow)}.save-status.error{color:var(--red)}.workspace{min-height:100vh;margin-left:var(--sidebar-width);padding:34px clamp(24px,4vw,64px) 80px}.workspace-header{justify-content:space-between;align-items:flex-end;gap:28px;max-width:1180px;margin:0 auto 22px;display:flex}.workspace-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,3vw,38px);font-weight:650;line-height:1.1}.workspace-header p{color:var(--muted);margin:7px 0 0;font-size:12px}.month-switcher{align-items:center;gap:8px;display:flex}.month-switcher button,.icon-button{width:30px;height:30px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;display:grid}.month-switcher button:hover,.icon-button:hover{background:var(--panel-hover);border-color:var(--border);color:var(--text)}.ready-card{text-align:left;background:linear-gradient(145deg,#69c8971c,#69c89709);border:1px solid #69c8973b;border-radius:10px;gap:2px;min-width:248px;padding:14px 17px;display:grid}.ready-card:hover{border-color:#69c89780;transform:translateY(-1px)}.ready-card.negative{background:linear-gradient(145deg,#e477861f,#e4778609);border-color:#e4778640}.ready-card span{color:var(--muted);font-size:11px}.ready-card strong{color:var(--green);letter-spacing:-.03em;font-size:24px}.ready-card.negative strong{color:var(--red)}.ready-card small{color:var(--subtle);font-size:10px}.toolbar{justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:0 auto 12px;display:flex}.toolbar-cluster{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.primary-button,.secondary-button,.danger-button{border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:8px 12px;font-size:11px;font-weight:650;display:inline-flex}.primary-button{color:#151219;background:linear-gradient(#9c81df,#876acb);border:1px solid #9c81df;box-shadow:inset 0 1px #ffffff38,0 5px 18px #6446a01f}.primary-button:hover:not(:disabled){filter:brightness(1.08)}.primary-button kbd{color:#151219a6;background:#ffffff29;border-color:#1512194d}.secondary-button{border:1px solid var(--border-bright);background:var(--panel-raised);color:var(--text)}.secondary-button:hover:not(:disabled){background:var(--panel-hover)}.danger-button{background:var(--red-soft);color:var(--red);border:1px solid #e477864d}.text-button{color:var(--accent-strong);background:0 0;border:0;font-size:10px}.title-with-action{align-items:center;gap:7px;display:flex}.budget-panel,.register-panel{border:1px solid var(--border);background:#18171ccc;border-radius:10px;max-width:1180px;margin:0 auto;overflow:hidden;box-shadow:0 18px 70px #00000021}.budget-grid{grid-template-columns:minmax(340px,1fr) 145px 135px 155px;align-items:center;display:grid}.budget-grid-header{min-height:38px;color:var(--subtle);text-transform:uppercase;letter-spacing:.09em;border-bottom:1px solid var(--border);background:#151419;padding:0 16px;font-size:9px}.budget-grid-header>div:not(:first-child),.category-row>div:not(:first-child),.totals-row>div:not(:first-child){text-align:right}.category-group+.category-group{border-top:1px solid var(--border)}.group-row{border-bottom:1px solid var(--border);background:#201e25c7;justify-content:space-between;align-items:center;gap:12px;min-height:38px;padding:0 13px;display:flex}.group-name{text-align:left;background:0 0;border:0;align-items:center;gap:7px;min-height:32px;display:flex}.group-name strong{font-size:11px}.group-name small{color:var(--subtle);font-size:9px}.collapse-chevron{color:var(--subtle);transition:transform .15s;transform:rotate(0)}.collapse-chevron.collapsed{transform:rotate(-90deg)}.group-actions{gap:4px;display:flex}.group-actions button{opacity:0;color:var(--muted);background:0 0;border:0;border-radius:5px;align-items:center;gap:4px;padding:5px 7px;font-size:9px;display:inline-flex}.group-row:hover .group-actions button,.group-actions button:focus-visible{opacity:1}.group-actions button:hover{color:var(--accent-strong);background:var(--panel-hover)}.category-row{min-height:68px;color:var(--muted);border-bottom:1px solid #302d36b8;padding:7px 16px;font-size:11px;transition:background .12s}.category-row:hover{background:#28252e8c}.category-cell{align-items:center;gap:10px;min-width:0;display:flex}.category-details{flex:1;gap:3px;min-width:0;display:grid}.category-name-button{width:max-content;max-width:100%;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0;display:flex}.category-name-button strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:570;overflow:hidden}.category-name-button svg{opacity:0;color:var(--muted)}.category-name-button:hover svg,.category-name-button:focus-visible svg{opacity:1}.category-details small{color:var(--subtle);font-size:9px}.category-details .no-target{color:#5f5967}.target-track{background:var(--border);border-radius:999px;width:min(190px,90%);height:2px;overflow:hidden}.target-track span{background:var(--accent);height:100%;display:block}.fund-button{opacity:0;background:var(--accent-soft);color:var(--accent-strong);border:1px solid #a98cf03d;border-radius:6px;flex:none;padding:4px 7px;font-size:9px}.category-row:hover .fund-button,.fund-button:focus-visible{opacity:1}.status-dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.status-dot.healthy{background:var(--green)}.status-dot.underfunded{background:var(--yellow)}.status-dot.overspent{background:var(--red)}.money-input{width:106px;color:var(--text);text-align:right;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 8px;font-size:11px}.money-input:hover,.money-input:focus{border-color:var(--border-bright);background:#131217}.negative-money{color:#c3bdca}.available-pill{text-align:right;border:0;border-radius:999px;min-width:98px;min-height:27px;padding:4px 8px;font-size:10px;font-weight:650}.available-pill.healthy{color:var(--green);background:var(--green-soft)}.available-pill.underfunded{color:var(--yellow);background:var(--yellow-soft)}.available-pill.overspent{color:var(--red);background:var(--red-soft)}.available-pill:hover{filter:brightness(1.15)}.totals-row{min-height:44px;color:var(--text);background:#151419;padding:0 16px;font-size:10px;font-weight:650}.accounts-header{align-items:center}.account-chips{flex-wrap:wrap;gap:6px;max-width:1180px;margin:0 auto 12px;display:flex}.account-chips button{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:10px}.account-chips button:hover,.account-chips button.active{color:var(--text);border-color:var(--border-bright);background:var(--panel-hover)}.transaction-list{display:grid}.transaction-row{border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;grid-template-columns:34px minmax(220px,1fr) 90px 140px;align-items:center;gap:12px;width:100%;min-height:68px;padding:10px 16px;display:grid}.transaction-row:last-child{border-bottom:0}.transaction-row:hover{background:#28252e8c}.transaction-icon{border-radius:8px;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.transaction-icon.inflow{color:var(--green);background:var(--green-soft)}.transaction-icon.outflow{color:var(--muted);background:var(--panel-hover)}.transaction-main{flex-direction:column;gap:2px;min-width:0;display:flex}.transaction-main strong{font-size:12px;font-weight:600}.transaction-main span,.transaction-main small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.transaction-main small{color:var(--subtle)}.transaction-row time{color:var(--muted);font-size:10px}.transaction-amount{color:var(--text);flex-direction:column;align-items:flex-end;gap:2px;font-size:11px;font-weight:650;display:flex}.transaction-amount.positive{color:var(--green)}.transaction-amount small{color:var(--subtle);font-size:9px;font-weight:500}.empty-state{text-align:center;align-content:center;place-items:center;gap:8px;min-height:340px;padding:40px;display:grid}.empty-state .ruby-mark{opacity:.75;margin-bottom:8px}.empty-state h3{margin:0;font-size:16px}.empty-state p{color:var(--muted);max-width:360px;margin:0 0 10px;font-size:12px}.dialog-backdrop{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070609c2;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--border-bright);background:#1b1920;border-radius:12px;width:min(580px,100%);max-height:min(820px,100vh - 40px);overflow:auto;box-shadow:0 30px 100px #00000073}.dialog-wide{width:min(720px,100%)}.dialog>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px 16px;display:flex}.dialog h2{letter-spacing:-.03em;margin:0;font-size:20px}.dialog header p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.45}.close-button{color:var(--muted);background:0 0;border:0;border-radius:7px;width:30px;height:30px;font-size:21px}.close-button:hover{background:var(--panel-hover);color:var(--text)}.dialog form{padding:20px 22px 22px}.segmented-control{border:1px solid var(--border);background:#131217;border-radius:8px;grid-template-columns:1fr 1fr;margin-bottom:18px;padding:3px;display:grid}.segmented-control button{color:var(--muted);background:0 0;border:0;border-radius:5px;padding:7px;font-size:11px}.segmented-control button.active{background:var(--panel-hover);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-bright)}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid.single-column{grid-template-columns:1fr}.form-grid label{color:var(--muted);gap:6px;font-size:10px;font-weight:650;display:grid}.form-grid .span-two{grid-column:1/-1}.optional{color:var(--subtle);font-weight:500}.form-grid input,.form-grid select,.form-grid textarea,.move-flow select{border:1px solid var(--border-bright);width:100%;min-width:0;color:var(--text);background:#131217;border-radius:7px;padding:9px 10px;font-size:11px}.form-grid textarea{resize:vertical;line-height:1.5}.form-grid input::placeholder,.form-grid textarea::placeholder{color:#5d5864}.checkbox-label{grid-template-columns:auto 1fr;align-items:center;gap:9px!important;display:flex!important}.checkbox-label input{width:15px;height:15px}.dialog-actions{justify-content:flex-end;gap:8px;padding-top:20px;display:flex}.split-actions{justify-content:space-between;align-items:center}.split-actions>div{gap:8px;display:flex}.move-flow{grid-template-columns:1fr 28px 1fr;align-items:end;gap:8px;display:grid}.move-flow label{color:var(--muted);gap:6px;font-size:10px;font-weight:650;display:grid}.move-arrow{color:var(--accent-strong);text-align:center;padding-bottom:9px}.standalone-label{margin-top:16px}.source-balance{color:var(--muted);margin-top:10px;font-size:10px}.source-balance strong{color:var(--text)}.settings-body{padding:0 22px 22px}.settings-section{border-bottom:1px solid var(--border);padding:20px 0}.settings-section:last-child{border-bottom:0;padding-bottom:0}.settings-section h3{margin:0;font-size:13px}.settings-section>p{color:var(--muted);margin:6px 0 14px;font-size:10px;line-height:1.5}.settings-actions{flex-wrap:wrap;gap:8px;display:flex}.password-change{grid-template-columns:1fr 1fr;gap:12px;display:grid;padding:0!important}.password-change .form-error,.password-change .form-success,.password-change button{grid-column:1/-1}.password-change button{justify-self:start}.summary-list{gap:0;margin:13px 0 0;display:grid}.summary-list div{border-bottom:1px solid #302d3699;justify-content:space-between;padding:8px 0;font-size:10px;display:flex}.summary-list div:last-child{border-bottom:0}.summary-list dt{color:var(--muted)}.summary-list dd{color:var(--text);margin:0}.mobile-nav{display:none}@media (width<=980px){:root{--sidebar-width:224px}.workspace{padding-left:22px;padding-right:22px}.budget-grid{grid-template-columns:minmax(310px,1fr) 130px 125px 140px}.fund-button{display:none}}@media (width<=760px){body{padding-bottom:env(safe-area-inset-bottom)}.sidebar{display:none}.demo-banner{inset:0 0 auto}.workspace,.demo-banner+.sidebar+.workspace{margin-left:0;padding:20px 14px 94px}.demo-banner+.sidebar+.workspace{padding-top:52px}.workspace-header{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:14px}.workspace-header h1{font-size:27px}.ready-card{width:100%;min-width:0}.toolbar{flex-direction:column;align-items:stretch}.toolbar-cluster{grid-template-columns:1fr 1fr;display:grid}.toolbar-cluster .primary-button:first-child{grid-column:1/-1}.text-button{align-self:flex-end}.budget-panel{border-radius:9px;overflow-x:auto}.budget-grid{grid-template-columns:minmax(330px,1fr) 145px 135px 150px;min-width:760px}.budget-grid-header{z-index:4;position:sticky;top:0}.group-row{min-width:760px}.group-actions button{opacity:1}.category-name-button svg{opacity:.55}.transaction-row{grid-template-columns:34px minmax(130px,1fr) 110px;gap:10px}.transaction-row time{display:none}.transaction-main span{white-space:normal}.account-chips{flex-wrap:nowrap;padding-bottom:3px;overflow-x:auto}.account-chips button{white-space:nowrap}.mobile-nav{z-index:50;padding:7px 16px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#18171cf2;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:5px;font-size:9px;display:flex}.mobile-nav button.active{color:var(--accent-strong)}.mobile-nav .mobile-add{color:var(--text)}.mobile-nav .mobile-add svg{background:var(--accent);color:#17131b;border-radius:50%;width:30px;height:30px;margin-top:-12px;padding:5px;box-shadow:0 6px 18px #785abe4d}.dialog-backdrop{place-items:end center;padding:0}.dialog{border-bottom:0;border-radius:14px 14px 0 0;width:100%;max-height:92vh}}@media (width<=500px){.access-card{padding:22px 18px}.access-copy h1{font-size:26px}.form-grid,.password-change{grid-template-columns:1fr}.form-grid .span-two,.password-change .form-error,.password-change .form-success,.password-change button{grid-column:auto}.move-flow{grid-template-columns:1fr}.move-arrow{padding:0;transform:rotate(90deg)}.transaction-row{grid-template-columns:30px minmax(120px,1fr) 95px;padding:10px 12px}.transaction-amount{font-size:10px}.dialog-actions.split-actions{flex-direction:column-reverse;align-items:stretch}.split-actions>div{grid-template-columns:1fr 1fr;display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.target-schedule-box{border:1px solid var(--border);background:#13121794;border-radius:9px;gap:12px;padding:14px;display:grid}.target-schedule-heading{gap:3px;display:grid}.target-schedule-heading strong{color:var(--text);font-size:11px}.target-schedule-heading span,.field-help{color:var(--muted);font-size:9px;font-weight:450;line-height:1.45}.target-inline-grid{grid-template-columns:minmax(76px,.65fr) 1fr 1.45fr;align-items:end;gap:10px;display:grid}.target-inline-grid.repeat-grid{grid-template-columns:minmax(100px,.7fr) 1fr}@media (width<=640px){.target-inline-grid,.target-inline-grid.repeat-grid{grid-template-columns:1fr}}
