.planning-page{gap:24px;display:grid}.planning-page>.page-header,.planning-page .panel{margin:0}.planning-hero{grid-template-columns:1.25fr 1fr;align-items:center;gap:36px;display:grid;background:linear-gradient(115deg, color-mix(in srgb, var(--primary) 12%, var(--card)), var(--card))!important;padding:32px!important}.planning-hero-copy{align-items:center;gap:20px;display:flex}.planning-hero-icon{background:color-mix(in srgb, var(--primary) 12%, transparent);width:74px;height:74px;color:var(--primary);border-radius:22px;flex-shrink:0;place-items:center;display:grid}.planning-hero-icon svg{width:34px;height:34px}.planning-kicker{text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font-size:11px;font-weight:700}.planning-hero h2{margin:8px 0 10px;font-size:25px;line-height:1.2}.planning-hero p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.planning-metrics{grid-template-columns:1fr 1.5fr;gap:24px;display:grid}.planning-metrics>div{border-left:1px solid var(--border);flex-direction:column;gap:8px;min-width:0;padding-left:24px;display:flex}.planning-metrics svg{color:var(--primary)}.planning-metrics strong{overflow-wrap:anywhere;font-size:27px;line-height:1.2}.planning-metrics span{color:var(--muted);font-size:12px}.planning-card{gap:12px;position:relative;overflow:hidden;padding:24px!important}.planning-card:before{content:"";background:var(--primary);opacity:.7;height:3px;position:absolute;top:0;left:0;right:0}.planning-card .section-header{align-items:center;gap:12px;margin:0 0 10px;display:flex}.planning-card .section-header h2{overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-size:17px}.planning-card-icon{background:color-mix(in srgb, var(--primary) 10%, transparent);width:42px;height:42px;color:var(--primary);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.planning-status{white-space:nowrap;background:color-mix(in srgb, var(--primary) 9%, transparent);color:var(--primary);border-radius:99px;align-items:center;padding:5px 8px;font-size:10px;display:inline-flex}.planning-spent-label{color:var(--muted);font-size:12px}.planning-card .control-amount{margin:0;font-size:32px;line-height:1.2}.planning-card>p{margin:0;font-size:12px}.planning-progress-label{justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.planning-progress-label>span{color:var(--muted)}.planning-remaining{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.planning-remaining strong{color:var(--foreground);margin-left:auto}.planning-remaining svg{color:var(--primary);flex-shrink:0}.planning-over .planning-status{color:#df5555;background:#df555519}.planning-over:before{background:#df5555!important}.planning-over progress::-webkit-progress-value{background:#df5555!important}.planning-over progress::-moz-progress-bar{background:#df5555}.planning-over .planning-remaining strong{color:#df5555}.planning-closed .planning-status{color:var(--muted);background:var(--accent)}.planning-project-details{border-top:1px solid var(--border);gap:10px;padding-top:14px;display:grid}.planning-project-details p{color:var(--muted);align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.planning-project-details svg{flex-shrink:0}.planning-category-chips{flex-wrap:wrap;gap:6px;display:flex}.planning-category-chips span{background:var(--accent);color:var(--muted);overflow-wrap:anywhere;border-radius:6px;padding:5px 8px;font-size:10px}.planning-note{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;line-height:1.6;overflow:hidden;display:-webkit-box!important}.planning-card>.actions{border-top:1px solid var(--border);padding-top:14px}.planning-empty{text-align:center;background:radial-gradient(ellipse at top, color-mix(in srgb, var(--primary) 8%, var(--card)), var(--card) 70%)!important;padding:42px 24px!important}.planning-empty-icon{background:color-mix(in srgb, var(--primary) 10%, transparent);width:90px;height:90px;color:var(--primary);border-radius:28px;place-items:center;margin:0 auto 24px;display:grid;transform:rotate(-5deg)}.planning-empty-icon svg{width:38px;height:38px}.planning-empty h2{margin:0 0 12px;font-size:25px}.planning-empty p{max-width:430px;color:var(--muted);margin:0 auto 24px;line-height:1.7}@media (width<=1000px){.planning-hero{grid-template-columns:1fr}.planning-metrics>div:first-child{border-left:0;padding-left:0}}@media (width<=580px){.planning-hero{gap:24px;padding:24px!important}.planning-hero-copy{align-items:start;gap:14px}.planning-hero-icon{border-radius:15px;width:48px;height:48px}.planning-hero-icon svg{width:25px;height:25px}.planning-hero h2{font-size:22px}.planning-metrics{gap:14px}.planning-metrics>div{padding-left:14px}.planning-metrics strong{font-size:24px}.planning-card .section-header{flex-wrap:wrap}.planning-status{margin-left:auto}}.planning-header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:12px;display:flex}@media (width<=650px){.planning-budgets>.page-header{flex-wrap:wrap;gap:18px}.planning-budgets .planning-header-actions{justify-content:space-between;width:100%}}.budget-dialog[data-slot=dialog-content]{border-radius:20px;gap:26px;width:min(680px,100vw - 32px);max-width:680px;padding:32px}.budget-dialog [data-slot=dialog-header]{text-align:left;grid-template-columns:52px minmax(0,1fr);gap:8px 16px;padding-right:14px;display:grid}.budget-dialog-icon{background:color-mix(in srgb, var(--primary) 10%, transparent);width:52px;height:52px;color:var(--primary);border-radius:16px;grid-row:1/3;place-items:center;display:grid}.budget-dialog [data-slot=dialog-title]{font-size:24px;line-height:1.2}.budget-dialog [data-slot=dialog-description]{color:var(--muted);font-size:13px;line-height:1.6}.budget-dialog .form-grid{gap:16px 22px}.budget-amount-field{background:color-mix(in srgb, var(--primary) 5%, var(--card));border:1px solid color-mix(in srgb, var(--primary) 20%, var(--border));border-radius:14px;grid-column:1/-1;padding:20px}.budget-dialog .field{margin-bottom:0}.budget-dialog .field>label{margin-bottom:8px;font-size:13px}.budget-amount-field input{min-height:60px;padding:12px 16px;font-size:28px;font-weight:600}.budget-dialog select{min-height:44px}.budget-currency-hint{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.5;display:block}.budget-scope-hint{color:var(--muted);margin:14px 0 24px;font-size:12px}.budget-dialog-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:12px;padding-top:20px;display:flex}.budget-dialog-actions button{min-height:42px;padding:10px 20px}@media (width<=650px){.budget-dialog[data-slot=dialog-content]{padding:24px 20px}.budget-dialog [data-slot=dialog-title]{font-size:21px}.budget-dialog .form-grid{grid-template-columns:1fr}.budget-amount-field{padding:16px}.budget-dialog-actions button{flex:1}}.project-dialog form>.field{margin-bottom:20px}.project-dialog input:not([type=checkbox]),.project-dialog select{min-height:44px}.project-dialog fieldset{border:1px solid var(--border);background:color-mix(in srgb, var(--primary) 4%, var(--card));border-radius:14px;margin:0 0 20px;padding:18px}.project-dialog legend{padding:0 6px;font-size:13px;font-weight:600}.project-dialog .checks{gap:12px 18px;max-height:180px;padding:4px;overflow-y:auto}.project-dialog .checks label{font-size:12px;line-height:1.5}.project-dialog textarea{min-height:90px}.planning-recurring_payments .control-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.recurring-amount-row{justify-content:space-between;align-items:center;gap:20px;margin:12px 0;display:flex}.recurring-amount-row .control-amount{margin:0;font-size:30px}.recurring-pay-day{background:color-mix(in srgb, var(--primary) 7%, var(--card));color:var(--primary);text-align:center;border-radius:12px;flex-shrink:0;grid-template-columns:auto auto;gap:4px 7px;padding:12px;display:grid}.recurring-pay-day svg{align-self:center}.recurring-pay-day strong{font-size:22px}.recurring-pay-day span{color:var(--muted);grid-column:1/-1;font-size:10px}.planning-recurring_payments .planning-card>.muted{margin:0;font-size:12px}.recurring-register{width:100%;margin-top:auto}.planning-recurring_payments .planning-card>.actions{border-top:1px solid var(--border);margin-top:4px;padding-top:14px}
