:root{color-scheme:light;--bg:#f5f7fb;--card:#ffffff;--text:#1f2937;--muted:#6b7280;--accent:#2563eb;--border:#dbe2ea;--danger:#b91c1c;--success:#166534}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}main{max-width:980px;margin:0 auto;padding:24px 16px 48px}.grid,.stack{display:grid;grid-gap:16px;gap:16px}.grid-2,.today-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.compact-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 4px 16px rgba(15,23,42,.04)}.kpi{font-size:1.8rem;font-weight:700;margin-top:8px}.muted{color:var(--muted)}form{grid-gap:12px;gap:12px}form,label{display:grid}label{grid-gap:6px;gap:6px;font-size:.95rem}button,input,select,textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px;font:inherit;background:#fff}button{cursor:pointer;border:0;font-weight:600}.button-link,button{background:var(--accent);color:#fff}.button-link{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:12px;font:inherit;font-weight:600}.ghost-link{background:#eef2ff;color:var(--accent)}button.secondary{background:#111827}button.ghost{background:#eef2ff;color:var(--accent)}table{width:100%;border-collapse:collapse}td,th{padding:10px 8px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.space{justify-content:space-between}.danger{color:var(--danger)}.success{color:var(--success)}.tiny{font-size:.85rem}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions form{display:inline-flex}.actions button{width:auto}.app-header{align-items:flex-start;margin-bottom:4px}.brand-block{display:grid;grid-gap:4px;gap:4px;min-width:0}.brand-logo{width:min(260px,64vw)}.brand-logo,.login-logo{display:block;height:auto}.login-logo{width:min(320px,100%);margin-bottom:8px}.inline-form{display:inline-flex}.inline-form button{width:auto}.compact-button{padding:8px 10px;border-radius:8px;font-size:.9rem}.forecast-card{border-width:2px}.card-hero{grid-column:span 2;background:linear-gradient(180deg,#ffffff,#f8fbff)}.today-card-hero{position:relative}.danger-card{border-color:#fecaca;background:#fff7f7}.success-card{border-color:#bbf7d0;background:#f7fff9}.budget-recommendation-card{border-color:#bfdbfe;background:#f8fbff}.dashboard-top{gap:14px}.today-card-head{align-items:flex-start}.today-balance-details{position:relative}.today-balance-summary{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:1px solid var(--border);background:#fff;color:var(--accent);cursor:pointer;list-style:none;flex:0 0 34px}.today-balance-summary::-webkit-details-marker{display:none}.today-balance-popup{display:none;position:absolute;top:calc(100% + 10px);right:0;z-index:10;width:min(560px,calc(100vw - 48px));padding:14px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.12)}.today-balance-details[open] .today-balance-popup{display:grid;grid-gap:12px;gap:12px}.today-balance-popup-head{align-items:baseline}.today-balance-table{font-size:.92rem}.today-balance-table td,.today-balance-table th{padding:8px 6px}.today-balance-table th{white-space:nowrap}.today-meta-list{display:grid;grid-gap:4px;gap:4px;margin-top:10px}.mini-kpis,.today-budget-lines{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.mini-kpis div,.today-budget-lines div{display:grid;grid-gap:4px;gap:4px}.month-decision-row{grid-template-columns:minmax(260px,.85fr) minmax(320px,1.15fr)}.quick-actions-layout{grid-template-columns:minmax(260px,.8fr) minmax(360px,1.2fr);align-items:start}.quick-entry-card{border-width:2px;border-color:#bfdbfe}.quick-entry-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.quick-entry-header h2{margin:0}.quick-expense-form{display:grid;grid-gap:10px;gap:10px}.quick-expense-form input,.quick-expense-form select{height:46px;padding-top:10px;padding-bottom:10px}.quick-expense-form select{line-height:1.2}.quick-expense-form button{width:100%}.balance-card{align-self:start}.balance-sources-form{gap:8px}.balance-source-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,160px);grid-gap:10px;gap:10px;align-items:center}.balance-source-row span{font-size:.95rem}.balance-source-row input{text-align:right}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:4px 2px 0}.section-heading h2,.section-heading p{margin:0}.eyebrow{margin:0 0 4px;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.summary-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.summary-chips span{display:grid;grid-gap:2px;gap:2px;min-width:150px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#fff}.summary-chips small{color:var(--muted)}.budget-card-header{align-items:flex-start}.recommendation-box{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}.budget-transfer-form{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.budget-transfer-form button{width:auto;justify-self:start}.warning-text{color:var(--danger);font-weight:600}.success-text{color:var(--success);font-weight:600}.balance-live-total{display:flex;align-items:center;justify-content:space-between;padding:12px;border:1px dashed var(--border);border-radius:12px;background:#f8fafc}.create-plan-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,120px) auto;grid-gap:8px;gap:8px;margin-bottom:16px}.create-plan-form button{width:auto}.template-category-form{display:grid;grid-template-columns:minmax(140px,1fr) minmax(90px,120px) auto;grid-gap:8px;gap:8px}.template-category-form button{width:auto}.planning-card{min-width:0}.notice{margin:10px 0 16px;padding:10px 12px;border-radius:12px;font-size:.92rem}.error-notice{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.table-scroll{overflow-x:auto}.planning-table{font-size:.92rem}.planning-table th{white-space:nowrap}.planning-table td,.planning-table th{padding:8px 6px}.life-row{background:#f8fbff}.category-exhausted-row,.life-row.category-exhausted-row{background:#f3f4f6;color:#6b7280}.category-exhausted-row .readonly-plan-input,.category-exhausted-row input{color:#6b7280;background:#f9fafb;border-color:#e5e7eb}.category-exhausted-row .pill{background:#e5e7eb;color:#6b7280}.category-exhausted-row .progress-bar{background:#9ca3af}.pill{display:inline-flex;margin-left:8px;padding:2px 8px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.75rem;font-weight:700;white-space:nowrap}.progress-wrap{width:100%;min-width:86px;height:8px;overflow:hidden;border-radius:999px;background:#e5e7eb}.progress-bar{height:100%;border-radius:999px;background:var(--accent)}.progress-bar.success{background:var(--success)}.progress-bar.danger{background:var(--danger)}.plan-input-form{display:block}.plan-input-form input,.readonly-plan-input{width:104px;padding:8px}.readonly-plan-input{color:var(--muted);background:#f8fafc}.icon-cell{width:1%;white-space:nowrap}.icon-button{width:32px;min-width:32px;height:32px;min-height:32px;padding:0;border-radius:999px;background:#fee2e2;color:var(--danger);font-size:1.2rem;line-height:1}.inline-form .icon-button{width:32px;min-width:32px;flex:0 0 32px}.mobile-balance-details,.mobile-create-plan-form,.mobile-list,.mobile-operations-slot,.mobile-plan-details,.mobile-planning-summary{display:none}.desktop-operations-slot{display:block}.desktop-balance-content{display:grid;grid-gap:8px;gap:8px}.mobile-card{padding:12px;border:1px solid var(--border);border-radius:14px;background:#fff}.mobile-card,.mobile-fields{display:grid;grid-gap:10px;gap:10px}.mobile-field-label{display:grid;grid-gap:6px;gap:6px;font-size:.95rem}.operation-card.operation-income,.operations-table tr.operation-income{background:#f7fff9}.operation-card.operation-correction,.operations-table tr.operation-correction{background:#fffaf0}.operation-card.operation-uncategorized,.operations-table tr.operation-uncategorized{background:#eff6ff}.operation-badge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:.78rem;font-weight:700}.operation-uncategorized .operation-badge{background:#dbeafe;color:#1d4ed8}.mobile-operation-main,.mobile-undo-button{display:none}@media (max-width:640px){main{padding:16px 12px 40px}.card{padding:14px}.app-header{gap:10px}.brand-logo{width:min(210px,58vw)}.app-section{gap:10px}.row.space{align-items:flex-start}.actions,.actions a,.actions button,.actions form{width:100%}.kpi-grid,.month-decision-row,.quick-actions-layout,.today-grid{grid-template-columns:1fr}.today-dashboard-section .today-grid{gap:10px}.today-dashboard-section .card:not(.card-hero){padding:12px}.today-dashboard-section .kpi{font-size:2rem}.today-card-head{gap:8px}.today-budget-lines{gap:6px;margin-top:8px}.month-decision-row{gap:10px}.month-decision-row .card{padding:12px}.month-decision-row .kpi{font-size:1.55rem}.mini-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.mini-kpis div{padding:8px;border-radius:10px;background:#f8fafc}.budget-recommendation-card{padding:12px}.budget-card-header{display:grid}.quick-expense-form{grid-template-columns:1fr}.quick-expense-form button{width:100%}.quick-entry-card{order:1}.balance-card{order:2;padding:0;overflow:hidden}.desktop-balance-content{display:none}.mobile-balance-details{display:block;padding:14px}.mobile-balance-details summary,.mobile-plan-details summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.mobile-balance-details summary::-webkit-details-marker,.mobile-plan-details summary::-webkit-details-marker{display:none}.mobile-balance-details summary span,.mobile-plan-details summary span{display:grid;grid-gap:2px;gap:2px}.mobile-balance-details summary small{color:var(--muted)}.mobile-balance-details[open] summary,.mobile-plan-details[open] summary{margin-bottom:12px}.balance-source-row{grid-template-columns:minmax(110px,1fr) minmax(110px,150px)}.desktop-operations-slot{display:none}.mobile-operations-slot{display:block}.latest-operations-section .row.space{gap:8px}.latest-operations-section .button-link{padding:9px 10px}.latest-operations-section .button-link[href="/app/days"]{display:none}.operation-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px}.operation-card .mobile-operation-main{display:grid;grid-template-columns:auto auto auto minmax(0,1fr);align-items:center;grid-gap:7px;gap:7px;min-width:0}.mobile-operation-date{white-space:nowrap}.mobile-operation-note{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operation-card .inline-form{justify-self:end}.operation-card .inline-form,.operation-card .inline-form button{width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;flex:0 0 40px}.mobile-undo-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:10px;font-size:1.1rem}.section-heading{display:grid;align-items:start}.planning-heading{display:none}.mobile-planning-summary{display:grid;grid-gap:12px;gap:12px}.mobile-planning-summary h2{margin:0}.mobile-plan-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.mobile-plan-kpis div{display:grid;grid-gap:3px;gap:3px;padding:10px;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.summary-chips{justify-content:stretch}.summary-chips span{min-width:0}.card-hero{grid-column:auto}.desktop-create-plan-form,.desktop-table{display:none}.planning-card{padding:0;overflow:hidden}.planning-card>.row.space{display:none}.mobile-plan-details{display:block;padding:14px}.mobile-plan-details+.mobile-plan-details{border-top:1px solid var(--border)}.mobile-create-plan-form{display:grid;margin:0 0 12px}.mobile-list{display:grid;grid-gap:10px;gap:10px}td,th{font-size:.92rem}.today-balance-popup{right:auto;left:0;width:min(560px,calc(100vw - 32px))}.create-plan-form,.template-category-form{grid-template-columns:1fr}.plan-input-form input{width:100%}}