:root{--color-bg: #F5F7FA;--color-surface: #FFFFFF;--color-surface-hover: #F8FAFC;--color-text-main: #132238;--color-text-muted: #4B5563;--color-text-subtle: #6B7280;--color-border: #DCE3EB;--color-border-subtle: #E5E7EB;--color-accent: #066671;--color-accent-hover: #066671;--color-accent-light: #E6F4F5;--color-accent-text: #FFFFFF;--color-success: #087644;--color-success-bg: #ECFDF5;--color-warning: #915300;--color-warning-bg: #FFFBEB;--color-error: #DC2626;--color-error-bg: #FEF2F2;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 2px 0 rgba(19, 34, 56, .05);--shadow-md: 0 4px 6px -1px rgba(19, 34, 56, .08), 0 2px 4px -2px rgba(19, 34, 56, .05);--shadow-lg: 0 10px 15px -3px rgba(19, 34, 56, .1), 0 4px 6px -4px rgba(19, 34, 56, .05);--max-width: 1200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-main);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;display:flex;flex-direction:column}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--color-accent-hover)}.container{width:100%;max-width:var(--max-width);margin-left:auto;margin-right:auto;padding-left:1.25rem;padding-right:1.25rem}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50}.site-header-inner{display:flex;align-items:center;justify-content:space-between;height:4.5rem}.brand-link{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:1.25rem;color:var(--color-text-main);text-decoration:none}.brand-logo{width:32px;height:32px;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem}.nav-links{display:flex;gap:1.5rem;list-style:none}.nav-links a{text-decoration:none;color:var(--color-text-muted);font-weight:500;font-size:.95rem;min-height:44px;display:flex;align-items:center}.nav-links a:hover,.nav-links a:focus{color:var(--color-accent)}.site-footer{margin-top:auto;background:var(--color-surface);border-top:1px solid var(--color-border);padding:3rem 0;font-size:.9rem;color:var(--color-text-subtle)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:2rem}.footer-heading{font-weight:700;color:var(--color-text-main);margin-bottom:.75rem;font-size:.95rem}.footer-links{list-style:none;display:flex;flex-direction:column;gap:.5rem}.footer-links a{color:var(--color-text-muted);text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-bottom{padding-top:1.5rem;border-top:1px solid var(--color-border-subtle);display:flex;flex-direction:column;gap:.5rem;font-size:.825rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm)}.badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.badge-info{background:var(--color-accent-light);color:var(--color-accent)}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:.6rem 1.25rem;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;cursor:pointer;border:none;text-decoration:none;transition:background-color .15s ease}.button-primary{background:var(--color-accent);color:var(--color-accent-text)}.button-primary:hover{background:var(--color-accent-hover);color:var(--color-accent-text);text-decoration:none}.button-secondary{background:var(--color-surface);color:var(--color-text-main);border:1px solid var(--color-border)}.button-secondary:hover{background:var(--color-surface-hover)}.preview-banner{padding:1rem;background:#fff4cf;color:#533900;text-align:center;border-bottom:1px solid #b39754}.skip-link{position:absolute;top:-100px;left:1rem;z-index:20;background:#fff;padding:1rem}.skip-link:focus{top:0}:focus-visible{outline:3px solid #087e8b!important;outline-offset:3px!important}#calc-error{color:#9d2222;font-weight:600}#calc-status{margin:1rem 0}#calc-unavailable{margin-bottom:1rem}#calc-results-list .tariff-card{display:grid;gap:.8rem}#calc-results-list .highlight{font-size:1.5rem;color:#075e68}#calc-results-list .badge{font-size:.85rem;background:#e3f3f3;padding:.5rem}#calc-results-list summary{padding:.6rem 0;cursor:pointer;min-height:44px}#charging-calc-form .range-slider,#charging-calc-form .checkbox-label{min-height:44px}#charging-calc-form .form-control{padding-right:6rem}#charging-calc-form select.form-control{padding-right:1rem}@media(max-width:480px){.calc-header,.slider-header{flex-wrap:wrap;gap:.5rem}.meta-pair{flex-wrap:wrap;gap:.4rem}.breadcrumb{flex-wrap:wrap}h1{overflow-wrap:anywhere}.card{min-width:0}.grid-2-col{grid-template-columns:1fr!important}}.detail-col-main,.detail-col-side,.table-responsive{min-width:0;max-width:100%}.table-responsive{overflow-x:auto}@media(max-width:640px){.site-header-inner{flex-direction:column;align-items:flex-start;gap:.75rem}.site-header nav{width:100%}.nav-links{flex-wrap:wrap;gap:.5rem 1rem}.nav-links a{display:inline-flex;align-items:center;min-height:44px}.detail-grid{grid-template-columns:minmax(0,1fr)!important}.slider-header{align-items:flex-start;flex-direction:column}.privacy-card,.impressum-card{padding:1.25rem!important}}.brand-link{max-width:100%;min-width:0}.brand-link span:last-child{min-width:0;overflow-wrap:anywhere}.brand-logo{flex-shrink:0}
