:root{--color-primary: #2563eb;--color-primary-dark: #1d4ed8;--color-secondary: #64748b;--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--color-text: #1e293b;--color-text-light: #64748b;--color-bg: #ffffff;--color-bg-alt: #f8fafc;--color-border: #e2e8f0;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--max-width: 1200px;--content-width: 800px;--border-radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 6px rgba(0, 0, 0, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);background-color:var(--color-bg)}h1,h2,h3,h4{line-height:1.3;font-weight:600}h1{font-size:var(--font-size-3xl);margin-bottom:var(--space-lg)}h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-md);margin-top:var(--space-xl)}h3{font-size:var(--font-size-xl);margin-bottom:var(--space-sm);margin-top:var(--space-lg)}p{margin-bottom:var(--space-md)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}ul,ol{margin-bottom:var(--space-md);padding-left:var(--space-xl)}li{margin-bottom:var(--space-xs)}li:last-child{margin-bottom:0}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}.main-content{max-width:var(--content-width);padding-top:var(--space-xl);padding-bottom:var(--space-2xl)}.site-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-md) 0}.site-header .container{display:flex;justify-content:space-between;align-items:center;max-width:var(--max-width)}.logo{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary)}.logo:hover{text-decoration:none}.lang-nav{display:flex;gap:var(--space-sm)}.lang-link{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-light);border-radius:4px}.lang-link:hover{background:var(--color-bg-alt);text-decoration:none}.lang-link.active{background:var(--color-primary);color:#fff}.site-footer{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding:var(--space-lg) 0;text-align:center;color:var(--color-text-light);font-size:var(--font-size-sm)}.footer-nav{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-md)}.footer-nav a{color:var(--color-text-light);text-decoration:none;transition:color .2s}.footer-nav a:hover{color:var(--color-primary)}.ad-slot{background:var(--color-bg-alt);border:1px dashed var(--color-border);min-height:90px;display:flex;align-items:center;justify-content:center;color:var(--color-text-light);font-size:var(--font-size-sm);margin:var(--space-md) auto;max-width:var(--max-width)}label{display:block;font-weight:500;margin-bottom:var(--space-xs);color:var(--color-text)}input[type=text],input[type=number],select{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-bg);transition:border-color .2s}input:focus,select:focus{outline:none;border-color:var(--color-primary)}button{display:inline-block;padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);font-weight:500;color:#fff;background:var(--color-primary);border:none;border-radius:var(--border-radius);cursor:pointer;transition:background .2s}button:hover{background:var(--color-primary-dark)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (max-width: 768px){:root{--font-size-3xl: 1.75rem;--font-size-2xl: 1.35rem}.main-content{padding-top:var(--space-lg)}.ad-slot{min-height:60px}}@media (max-width: 480px){.site-header .container{flex-direction:column;gap:var(--space-sm)}.lang-nav{flex-wrap:wrap;justify-content:center}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--color-bg);border-top:1px solid var(--color-border);box-shadow:0 -2px 10px #0000001a;padding:var(--space-md);z-index:1000}.cookie-banner[hidden]{display:none}.cookie-banner__content{max-width:var(--max-width);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md)}.cookie-banner__text{flex:1;min-width:280px}.cookie-banner__title{font-weight:600;font-size:var(--font-size-base);margin-bottom:var(--space-xs)}.cookie-banner__description{font-size:var(--font-size-sm);color:var(--color-text-light);margin:0}.cookie-banner__actions{display:flex;gap:var(--space-sm);flex-shrink:0}.cookie-banner__btn{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);border-radius:var(--border-radius);cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}.cookie-banner__btn--primary{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary)}.cookie-banner__btn--primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.cookie-banner__btn--secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.cookie-banner__btn--secondary:hover{background:var(--color-bg-alt);border-color:var(--color-secondary)}@media (max-width: 600px){.cookie-banner__content{flex-direction:column;text-align:center}.cookie-banner__actions{width:100%;justify-content:center}.cookie-banner__btn{flex:1;max-width:200px}}.schedule-table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.5;table-layout:fixed}.schedule-table th,.schedule-table td{padding:12px 16px;vertical-align:middle}.schedule-table th:nth-child(1),.schedule-table td:nth-child(1){width:15%;text-align:left}.schedule-table th:nth-child(2),.schedule-table td:nth-child(2){width:28%;text-align:right}.schedule-table th:nth-child(3),.schedule-table td:nth-child(3){width:32%;text-align:right}.schedule-table th:nth-child(4),.schedule-table td:nth-child(4){width:25%;text-align:right}.schedule-table.cols-5 th:nth-child(1),.schedule-table.cols-5 td:nth-child(1){width:12%;text-align:left}.schedule-table.cols-5 th:nth-child(2),.schedule-table.cols-5 td:nth-child(2){width:22%;text-align:right}.schedule-table.cols-5 th:nth-child(3),.schedule-table.cols-5 td:nth-child(3){width:22%;text-align:right}.schedule-table.cols-5 th:nth-child(4),.schedule-table.cols-5 td:nth-child(4){width:22%;text-align:right}.schedule-table.cols-5 th:nth-child(5),.schedule-table.cols-5 td:nth-child(5){width:22%;text-align:right}.schedule-table.cols-6 th:nth-child(1),.schedule-table.cols-6 td:nth-child(1){width:10%;text-align:left}.schedule-table.cols-6 th:nth-child(2),.schedule-table.cols-6 td:nth-child(2){width:18%;text-align:right}.schedule-table.cols-6 th:nth-child(3),.schedule-table.cols-6 td:nth-child(3){width:18%;text-align:right}.schedule-table.cols-6 th:nth-child(4),.schedule-table.cols-6 td:nth-child(4){width:14%;text-align:right}.schedule-table.cols-6 th:nth-child(5),.schedule-table.cols-6 td:nth-child(5){width:18%;text-align:right}.schedule-table.cols-6 th:nth-child(6),.schedule-table.cols-6 td:nth-child(6){width:22%;text-align:right}.schedule-table.cols-7 th:nth-child(1),.schedule-table.cols-7 td:nth-child(1){width:8%;text-align:left}.schedule-table.cols-7 th:nth-child(2),.schedule-table.cols-7 td:nth-child(2){width:16%;text-align:right}.schedule-table.cols-7 th:nth-child(3),.schedule-table.cols-7 td:nth-child(3){width:16%;text-align:right}.schedule-table.cols-7 th:nth-child(4),.schedule-table.cols-7 td:nth-child(4){width:16%;text-align:right}.schedule-table.cols-7 th:nth-child(5),.schedule-table.cols-7 td:nth-child(5){width:14%;text-align:right}.schedule-table.cols-7 th:nth-child(6),.schedule-table.cols-7 td:nth-child(6){width:12%;text-align:right}.schedule-table.cols-7 th:nth-child(7),.schedule-table.cols-7 td:nth-child(7){width:18%;text-align:right}.schedule-table thead th{background:#f3f4f6;font-weight:600;border-bottom:2px solid #d1d5db;white-space:nowrap}.schedule-table tbody td{border-bottom:1px solid #e5e7eb;font-variant-numeric:tabular-nums}.schedule-table tbody td:first-child{font-weight:500}.schedule-table tbody tr:hover{background:#f9fafb}.schedule-table tbody tr.separator-row td{text-align:center!important;color:#9ca3af;padding:8px 16px;background:#f9fafb;font-weight:400}.schedule-table tbody tr.separator-row:hover{background:#f9fafb}@media (max-width: 640px){.schedule-table thead{display:none}.schedule-table,.schedule-table tbody,.schedule-table tr,.schedule-table td{display:block}.schedule-table tbody tr{background:#f9fafb;border-radius:var(--border-radius);margin-bottom:var(--space-sm);padding:8px 0;border:1px solid var(--color-border)}.schedule-table tbody tr:hover{background:#f3f4f6}.schedule-table tbody td{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md);padding:8px 14px;border-bottom:none;text-align:right!important;width:auto!important}.schedule-table tbody td:before{content:attr(data-label);font-weight:400;color:var(--color-text-light);text-align:left;flex:1;min-width:0}.schedule-table tbody td:nth-child(n+2){font-weight:600}.schedule-table tbody tr.separator-row{background:transparent;border:none;padding:0}.schedule-table tbody tr.separator-row td{display:block;text-align:center!important;padding:6px 14px}.schedule-table tbody tr.separator-row td:before{content:none}}.mode-tabs{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg);overflow-x:auto;flex-wrap:nowrap}.mode-tabs button{flex:1;min-width:100px;padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all .2s;white-space:nowrap}.mode-tabs button:hover{background:var(--color-bg-alt);color:var(--color-primary)}.mode-tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);background:transparent}.list-builder-row{display:grid;grid-template-columns:2fr 1.5fr 1.2fr 40px;gap:var(--space-sm);margin-bottom:var(--space-sm);padding:var(--space-sm);background:var(--color-bg-alt);border-radius:var(--border-radius);border:1px solid var(--color-border)}.list-builder-row .field-group{display:flex;flex-direction:column;gap:4px}.list-builder-row .field-label{font-size:.7rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.8px}.list-builder-row input,.list-builder-row select{width:100%}.list-builder-row .remove-btn{width:38px;height:38px;padding:0;background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1;border-radius:4px;font-size:18px;line-height:1;cursor:pointer;transition:all .15s;font-weight:400}.list-builder-row .remove-btn:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.btn-add,.btn-add-item{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 18px;font-size:.88rem;font-weight:600;color:#2563eb;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s;margin-top:var(--space-sm);width:100%}.btn-add:hover,.btn-add-item:hover{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.category-block{margin-bottom:var(--space-md);border:1px solid var(--color-border);border-radius:var(--border-radius);overflow:hidden}.category-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8fafc;cursor:pointer;transition:background .15s;border-bottom:1px solid #e2e8f0}.category-header:hover{background:#f1f5f9}.category-header .cat-name-group,.category-header .cat-type-group{display:flex;align-items:center;gap:8px}.category-header .cat-name-group{flex:1}.category-header .cat-label{font-size:.7rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.8px;white-space:nowrap}.category-header .category-name-input{flex:1;min-width:0;border:1px solid var(--color-border);padding:6px 10px;font-weight:400;font-size:.95rem;color:var(--color-text)}.category-header .btn-remove-cat{flex-shrink:0;width:32px;height:32px;padding:0;background:#f1f5f9;color:#64748b;border:1px solid #cbd5e1;border-radius:4px;font-size:18px;line-height:1;cursor:pointer;transition:all .15s;font-weight:400}.category-header .btn-remove-cat:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.category-items{padding:var(--space-md);background:#fff}.classification-badge{display:inline-block;padding:2px 8px;font-size:.75rem;font-weight:500;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.classification-badge.needs{background:#dbeafe;color:#1e40af}.classification-badge.wants{background:#fed7aa;color:#92400e}.classification-badge.savings{background:#d1fae5;color:#065f46}.classification-badge.debt{background:#fee2e2;color:#991b1b}.classification-badge.other{background:#e5e7eb;color:#374151}.budget-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.budget-summary-card{padding:var(--space-md);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--border-radius);text-align:center}.budget-summary-card .card-value{display:block;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text);margin-bottom:var(--space-xs)}.budget-summary-card .card-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-light);font-weight:500}.budget-summary-card.surplus .card-value{color:var(--color-success)}.budget-summary-card.deficit .card-value{color:var(--color-error)}.benchmark-section{margin-top:var(--space-lg);padding:var(--space-lg);background:var(--color-bg-alt);border-radius:var(--border-radius)}.benchmark-bar{position:relative;height:32px;background:#e5e7eb;border-radius:4px;margin-bottom:var(--space-lg);overflow:visible}.benchmark-bar:last-child{margin-bottom:0}.benchmark-bar .bar-fill{height:100%;border-radius:4px;transition:width .3s ease;position:relative}.benchmark-bar.needs .bar-fill{background:#3b82f6}.benchmark-bar.wants .bar-fill{background:#f59e0b}.benchmark-bar.savings .bar-fill{background:#22c55e}.benchmark-bar .bar-target{position:absolute;top:0;bottom:0;width:2px;background:#1e293b;z-index:1}.benchmark-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs);font-size:var(--font-size-sm);font-weight:500}.benchmark-delta{font-size:var(--font-size-sm);font-weight:600}.benchmark-delta.over{color:var(--color-error)}.benchmark-delta.under{color:var(--color-success)}.budget-warning{padding:var(--space-md);border-radius:var(--border-radius);margin-bottom:var(--space-md);font-size:var(--font-size-sm);line-height:1.5}.budget-warning.warn{background:#fef3c7;border:1px solid #fbbf24;color:#92400e}.budget-warning.strong_warn{background:#fee2e2;border:1px solid #f87171;color:#991b1b}.budget-insights{margin-top:var(--space-lg);padding:var(--space-lg);background:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius)}.budget-insight-item{display:flex;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.budget-insight-item:last-child{border-bottom:none}.budget-insight-item:before{content:"•";color:var(--color-primary);font-weight:700;font-size:var(--font-size-lg)}.goals-list{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.goal-item{padding:var(--space-md);background:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius)}.goal-progress{position:relative;height:24px;background:#e5e7eb;border-radius:12px;margin-top:var(--space-sm);overflow:hidden}.goal-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-success) 100%);border-radius:12px;transition:width .3s ease}.goal-progress .progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.75rem;font-weight:600;color:var(--color-text);mix-blend-mode:difference;filter:invert(1)}.scenario-compare{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--color-bg-alt);border-radius:var(--border-radius)}.scenario-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md);margin-top:var(--space-md)}.scenario-card{padding:var(--space-lg);background:#fff;border:2px solid var(--color-border);border-radius:var(--border-radius)}.scenario-card h4{margin-top:0;margin-bottom:var(--space-md);color:var(--color-primary)}.scenario-diff{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.75rem;font-weight:600;margin-left:var(--space-xs)}.scenario-diff.positive{background:#d1fae5;color:#065f46}.scenario-diff.negative{background:#fee2e2;color:#991b1b}.budget-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.budget-actions button{flex:1;min-width:140px;font-size:var(--font-size-sm)}.budget-actions button.secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.budget-actions button.secondary:hover{background:var(--color-bg-alt);border-color:var(--color-secondary)}.privacy-note{margin-top:var(--space-lg);padding:var(--space-md);background:#f0f9ff;border:1px solid #bae6fd;border-radius:var(--border-radius);font-size:var(--font-size-sm);color:var(--color-text-light);text-align:center}.template-selector{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-lg)}.template-selector label{font-weight:500;margin-bottom:var(--space-xs)}.template-selector select{padding:var(--space-sm) var(--space-md)}@media (max-width: 768px){.mode-tabs{gap:var(--space-xs)}.mode-tabs button{min-width:80px;padding:var(--space-sm);font-size:.75rem}.budget-summary-cards{grid-template-columns:repeat(2,1fr)}.list-builder-row{flex-wrap:wrap}.list-builder-row input,.list-builder-row select{flex:1 1 100%}.list-builder-row .remove-btn{flex:0 0 100%;width:100%}.budget-actions{flex-direction:column}.budget-actions button{width:100%}.scenario-cards{grid-template-columns:1fr}}@media (max-width: 480px){.budget-summary-cards{grid-template-columns:1fr}.budget-category-header{font-size:var(--font-size-sm)}.benchmark-section{padding:var(--space-md)}.benchmark-bar{height:28px}}
