@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg: #FAFAF9;--bg-elevated: #FFFFFF;--fg: #1C1C1B;--fg-muted: #686866;--fg-subtle: #A8A8A4;--accent: #006B3F;--accent-light: #E8F5EE;--accent-dark: #004D2D;--warm: #F59E0B;--warm-light: #FEF3C7;--danger: #DC2626;--danger-light: #FEE2E2;--border: #E7E5E4;--border-strong: #D6D3D1;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -2px rgba(0,0,0,.05);--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--transition: .15s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-weight:600;font-size:14px;border-radius:var(--radius);transition:all var(--transition);white-space:nowrap}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:var(--shadow)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--bg-elevated);color:var(--fg);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg);border-color:var(--border-strong)}.btn-ghost{color:var(--fg-muted);padding:8px 12px}.btn-ghost:hover{color:var(--fg);background:var(--border)}.btn-icon{padding:8px;border-radius:8px}.btn-icon:hover{background:var(--border)}.card{background:var(--bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition)}.card:hover{box-shadow:var(--shadow)}.badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;border-radius:999px;background:var(--accent-light);color:var(--accent-dark)}.badge-warm{background:var(--warm-light);color:#92400e}.badge-danger{background:var(--danger-light);color:#991b1b}.section-title{font-size:28px;font-weight:800;letter-spacing:-.02em;color:var(--fg)}.section-subtitle{color:var(--fg-muted);font-size:16px;margin-top:4px}.page-header{padding:40px 0 24px}.page-title{font-size:36px;font-weight:800;letter-spacing:-.03em}.page-description{color:var(--fg-muted);font-size:18px;margin-top:8px;max-width:600px}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.p-16{padding:16px}.p-24{padding:24px}.text-center{text-align:center}.text-muted{color:var(--fg-muted)}.text-subtle{color:var(--fg-subtle)}.text-sm{font-size:14px}.text-xs{font-size:12px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.divider{height:1px;background:var(--border);margin:24px 0}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.page-title{font-size:28px}.section-title{font-size:24px}.container{padding:0 16px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.animate-in{animation:fadeIn .3s var(--transition) forwards}.spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.budget-bar{height:8px;background:var(--border);border-radius:999px;overflow:hidden}.budget-bar-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .5s var(--transition)}.budget-bar-fill.warning{background:var(--warm)}.budget-bar-fill.danger{background:var(--danger)}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:999px;font-size:13px;font-weight:500;color:var(--fg);transition:all var(--transition)}.chip:hover{background:var(--border)}.chip.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-dark)}.chip.selected{background:var(--accent);color:#fff;border-color:var(--accent)}.toast{position:fixed;bottom:24px;right:24px;background:var(--fg);color:var(--bg);padding:16px 24px;border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:1000;animation:slideUp .3s var(--transition)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
