:root{--bg:#111315;--surface:#191c1f;--surface-2:#202428;--line:#343a3f;--line-strong:#4b535a;--text:#e5e8e9;--muted:#9aa3a8;--green:#87c79e;--green-dark:#234a32;--orange:#e6a06d;--red:#e47e78;--yellow:#dec477}*{box-sizing:border-box}html,body,#app{min-height:100%}body{background:var(--bg);color:var(--text);margin:0;font:13px/1.4 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.shell{background:var(--bg);min-height:100vh}.topbar{z-index:5;border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:20px;min-height:58px;padding:9px 20px;display:flex;position:sticky;top:0}.brand{align-items:center;display:flex}.brand strong{color:var(--text);font-size:15px;font-weight:600}.header-fields{flex:1;align-items:center;gap:10px;display:flex}.header-fields label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.money-input{border:1px solid var(--line);background:var(--bg);width:94px;color:var(--text);align-items:center;padding:0 6px;display:flex}.money-input input{width:100%;color:var(--text);background:0 0;border:0;outline:0;padding:5px 2px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.header-actions{align-items:center;gap:8px;display:flex}.button,.today-button{border:1px solid var(--line-strong);border-radius:2px;padding:7px 11px;font-weight:600}.button:hover,.today-button:hover,.icon-button:hover{border-color:var(--green)}.button.primary{border-color:var(--green);background:var(--green);color:#102016}.button.dark{background:var(--surface-2);color:var(--text)}.button.secondary,.today-button{color:var(--text);background:0 0}.icon-button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:2px;padding:5px 8px;font-size:17px}.profile-button{color:var(--muted);background:0 0;border:0;align-items:center;gap:6px;padding:6px;display:flex}.status-dot{background:var(--green);border-radius:50%;width:6px;height:6px}.add-button span{font-size:15px}main{max-width:1320px;margin:0 auto;padding:24px 20px 48px}.intro{justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;display:flex}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 4px;font-size:10px}.intro h1{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:600}.lede{color:var(--muted);margin:3px 0 0}.calendar-picker{min-width:210px}.calendar-picker span{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.calendar-picker select,.modal select,.modal input{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:2px;outline:0;padding:7px 8px}.calendar-picker select:focus,.modal select:focus,.modal input:focus,.money-input:focus-within{border-color:var(--green)}.view-tabs{border-bottom:1px solid var(--line);gap:20px;margin-bottom:12px;display:flex}.view-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 0}.view-tabs button.active{border-color:var(--green);color:var(--text)}.view-tabs span{color:var(--muted);margin-left:4px}.excluded-note{border-left:2px solid var(--line-strong);background:var(--surface);color:var(--muted);margin-bottom:10px;padding:7px 9px;font-size:12px}.calendar-wrap{border:1px solid var(--line);background:var(--surface);overflow-x:auto}.calendar-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:9px 11px;display:flex}.month-nav{align-items:center;gap:3px;display:flex}.month-nav h2{margin:0 8px;font-size:16px;font-weight:600}.legend{color:var(--muted);gap:12px;font-size:11px;display:flex}.legend i{border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.income-dot{background:var(--green)}.expense-dot{background:var(--orange)}.warning-dot{background:var(--red)}.loading-line{border-bottom:1px solid var(--line);color:var(--muted);padding:6px 11px;font-size:11px}.calendar-grid{grid-template-columns:repeat(7,minmax(115px,1fr));min-width:805px;display:grid}.weekday{border-right:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:7px 8px;font-size:10px}.day-cell{border:0;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--surface);min-height:119px;color:var(--text);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:7px;display:flex}.day-cell:hover,.day-cell.selected{background:var(--surface-2)}.day-cell.muted{color:#60686d;background:#151719}.day-cell.past{color:#858d92;background:#151719}.day-cell.past:hover,.day-cell.past.selected{background:#1a1d20}.day-cell.past .event-chip,.day-cell.past .day-content small,.day-cell.past .day-total{opacity:.58}.day-number{justify-content:space-between;align-items:center;display:flex}.day-number b{font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.day-cell.today .day-number b{color:var(--green);text-underline-offset:3px;text-decoration:underline}.day-number i{background:var(--red);border-radius:50%;width:6px;height:6px}.event-chip{text-overflow:ellipsis;white-space:nowrap;border-left:2px solid;margin-top:6px;padding:3px 4px;font-size:11px;overflow:hidden}.event-chip.income{border-color:var(--green);color:var(--green);background:#1c2a20}.event-chip.expense{border-color:var(--muted);background:var(--surface-2);color:var(--muted)}.day-content{flex-direction:column;flex:1;width:100%;display:flex}.day-content small{color:var(--muted);margin-top:3px;display:block}.day-total{justify-content:space-between;align-items:baseline;gap:6px;margin-top:auto;padding-top:7px;font:11px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;display:flex}.day-total .net{font-size:10px}.day-total .end{color:var(--text);margin-left:auto}.day-cell.muted .day-total .end{color:var(--muted)}.positive{color:var(--green)}.negative{color:var(--muted)}.settings{gap:18px;max-width:460px;padding:6px 0;display:grid}.settings label{color:var(--text);gap:4px;font-weight:600;display:grid}.settings .hint{color:var(--muted);font-size:11px;font-weight:400}.settings .money-input{width:160px}.settings select{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);border-radius:2px;padding:7px 8px}.agenda{border-top:1px solid var(--line)}.agenda-day{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;display:grid}.agenda-day.past{opacity:.58}.agenda-day.past:hover{opacity:.78}.agenda-date{padding:13px 12px 13px 0}.agenda-date strong{font-weight:600;display:block}.agenda-date span{color:var(--green);margin-top:4px;font-size:11px;display:block}.low-text{color:var(--red)!important}.agenda-items{border-left:1px solid var(--line)}.agenda-item{border:0;border-bottom:1px solid var(--line);background:var(--surface);width:100%;color:var(--text);text-align:left;align-items:center;gap:10px;padding:9px 11px;display:flex}.agenda-item:hover{background:var(--surface-2)}.agenda-item>span:nth-child(2){flex:1}.agenda-item small{color:var(--muted);font-size:11px;display:block}.item-icon{width:19px;color:var(--muted);text-align:center}.item-icon.income,.agenda-item strong.income{color:var(--green)}.item-icon.expense,.agenda-item strong.expense{color:var(--muted)}.agenda-summary{color:var(--muted);justify-content:space-between;gap:15px;padding:8px 11px;font-size:11px;display:flex}.agenda-summary b{color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.empty,.state-card{border:1px solid var(--line);background:var(--surface);text-align:center;padding:34px 15px}.empty h2,.state-card h2{margin:0 0 6px;font-size:17px;font-weight:600}.empty p,.state-card p{max-width:480px;color:var(--muted);margin:0 auto 15px}.state-card code{color:var(--green)}.muted{color:var(--muted)}.error-state{border-color:#75423f}.modal-overlay{z-index:20;background:#000b;place-items:center;padding:15px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line-strong);background:var(--surface);width:min(100%,480px);padding:18px}.modal-head{justify-content:space-between;margin-bottom:16px;display:flex}.modal h2{margin:0;font-size:19px;font-weight:600}.segmented{border-bottom:1px solid var(--line);gap:1px;margin-bottom:13px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;padding:7px 10px}.segmented button.selected{border-bottom:2px solid var(--green);color:var(--green)}.modal label{color:var(--muted);margin-top:11px;font-size:11px;display:block}.modal input,.modal select{margin-top:4px;display:block}.form-row{grid-template-columns:2fr 1fr;gap:10px;display:grid}.modal-actions{align-items:center;gap:7px;margin-top:20px;display:flex}.modal-actions span{flex:1}.danger-ghost{color:var(--red);background:0 0;border:0;padding-left:0}@media (width<=760px){.topbar{flex-wrap:wrap;gap:8px 12px;padding:9px 12px}.header-actions{margin-left:auto}.header-fields{order:3;width:100%;overflow-x:auto}.intro{flex-direction:column;align-items:flex-start;margin-bottom:15px}.calendar-picker{width:100%}.calendar-toolbar{flex-direction:column;align-items:flex-start;gap:5px}.agenda-day{grid-template-columns:1fr}.agenda-date{padding:11px 0 6px}.agenda-date span{margin-top:2px}.agenda-items{border-left:0}.profile-button{font-size:0}.profile-button span:last-child{font-size:13px}}@media (width<=450px){main{padding:16px 10px 32px}.topbar{position:static}.add-button{padding:7px 9px;font-size:0}.add-button span{font-size:17px}.intro h1{font-size:20px}.legend{display:none}.form-row{grid-template-columns:1fr}.modal{padding:14px}}.calendar-picker{align-items:center;gap:8px;min-width:0;margin-bottom:12px;display:flex}.calendar-picker label{color:var(--muted);font-size:11px}.calendar-picker select{width:auto;min-width:190px;padding:5px 7px}.state-line{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:36px;color:var(--muted);align-items:center;gap:10px;margin-bottom:12px;padding:7px 0;display:flex}.state-line code{color:var(--green)}.state-line.error-state{color:var(--red);border-color:#6b403d;justify-content:space-between}.empty{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.empty .button{flex:none}.state-card{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;background:0 0;padding:7px 0}.state-card h2{display:none}.state-card p{color:var(--muted);margin:0;display:inline}.state-card .button{margin-left:10px}.state-icon,.empty>span{display:none}.legend{color:var(--muted)}.legend i{display:none}.agenda-item,.day-cell{border-radius:0}@media (width<=760px){.calendar-picker{flex-direction:column;align-items:flex-start;gap:3px}.calendar-picker select{width:100%}}.event-chip{cursor:grab}.event-chip:active{cursor:grabbing}.day-cell.drop{box-shadow:inset 0 0 0 1px var(--green)}.agenda-item{align-items:stretch;gap:0;padding:0}.agenda-main{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:9px 11px;display:flex}.agenda-main>span:nth-child(2){flex:1}.agenda-main:hover{background:var(--surface-2)}.move-date{border:1px solid var(--line);background:var(--bg);width:132px;color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:2px;flex:none;align-self:center;margin-right:11px;padding:4px 6px}.event-chip.excluded,.agenda-item.excluded{opacity:.45}.event-chip.excluded{border-color:var(--line-strong);color:var(--muted);background:0 0;text-decoration:line-through}.agenda-item.excluded b,.agenda-item.excluded strong{color:var(--muted);text-decoration:line-through}
