@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px);max-height:0}to{opacity:1;transform:translateY(0);max-height:500px}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}*{box-sizing:border-box}:root{font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-primary: #4a7c3f;--color-primary-hover: #3d6834;--color-primary-light: #e8f5e9;--color-accent: #e6a817;--color-accent-light: #fffef5;--color-info: #71717a;--color-info-light: #f4f4f5;--color-info-dark: #52525b;--color-success: #22c55e;--color-success-light: #dcfce7;--color-success-dark: #16a34a;--color-success-text: #166534;--color-success-bg: rgba(5, 150, 105, .08);--color-info-bg: rgba(113, 113, 122, .08);--color-text-on-primary: #ffffff;--color-error: #dc3545;--color-error-light: #fee2e2;--color-error-dark: #c82333;--color-warning: #f97316;--color-warning-dark: #ea580c;--color-warning-bg: #fff8e1;--color-warning-border: #ffcc02;--color-validation-error-bg: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);--color-validation-error-border: #fecaca;--color-validation-error-accent: #dc2626;--color-validation-error-text: #7f1d1d;--color-validation-error-heading: #991b1b;--color-validation-warning-bg: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);--color-validation-warning-border: #fcd34d;--color-validation-warning-accent: #f59e0b;--color-validation-warning-text: #78350f;--color-validation-warning-heading: #92400e;--color-text: #333;--color-text-secondary: #666;--color-text-muted: #999;--color-background: #f5f5f5;--color-surface: #ffffff;--color-surface-alt: #f9f9f9;--color-surface-dark: #e5e5e5;--color-border: #ddd;--color-border-light: #e0e0e0;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--color-shadow: rgba(0, 0, 0, .15);--color-shadow-primary: rgba(74, 124, 63, .2);--color-shadow-success: rgba(34, 197, 94, .2);--color-warning-light: #fef3c7;--color-warning-text: #92400e;--transition-fast: .15s ease;--transition-normal: .3s ease;--spacing-0: 0;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-xs: var(--spacing-1);--spacing-sm: var(--spacing-2);--spacing-md: var(--spacing-3);--spacing-base: var(--spacing-4);--spacing-lg: var(--spacing-5);--spacing-xl: var(--spacing-6);--spacing-2xl: var(--spacing-8);--spacing-3xl: var(--spacing-10);--spacing-4xl: var(--spacing-12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--touch-target-min: 44px;--touch-target-comfortable: 48px;--sidebar-width: 260px;--sidebar-width-collapsed: 60px;--sidebar-width-mobile: min(85vw, 300px);--spacing-mobile: 1rem;--spacing-tablet: 1.5rem;--spacing-desktop: 2rem;--row-height-mobile: 72px;--row-height-desktop: 56px;color:var(--color-text);background-color:var(--color-background);color-scheme:light dark}[data-theme=dark]{--color-text: #e4e4e7;--color-text-secondary: #a1a1aa;--color-text-muted: #71717a;--color-background: #18181b;--color-surface: #27272a;--color-surface-alt: #3f3f46;--color-surface-dark: #1f1f23;--color-border: #3f3f46;--color-border-light: #52525b;--color-primary: #5a9c4f;--color-primary-hover: #4a8c3f;--color-primary-light: #1a3d1a;--color-accent: #f0b827;--color-accent-light: #2a2510;--color-info: #a1a1aa;--color-info-light: #27272a;--color-info-dark: #d4d4d8;--color-success-light: rgba(34, 197, 94, .2);--color-success-text: #6ee7b7;--color-success-bg: rgba(16, 185, 129, .15);--color-info-bg: rgba(161, 161, 170, .15);--color-text-on-primary: #ffffff;--color-warning-bg: #2a2510;--color-warning-border: #d4a012;--color-validation-error-bg: linear-gradient(135deg, #2d1f1f 0%, #3a2020 100%);--color-validation-error-border: #7f1d1d;--color-validation-error-accent: #f87171;--color-validation-error-text: #fca5a5;--color-validation-error-heading: #f87171;--color-validation-warning-bg: linear-gradient(135deg, #2a2510 0%, #3a3015 100%);--color-validation-warning-border: #854d0e;--color-validation-warning-accent: #fbbf24;--color-validation-warning-text: #fcd34d;--color-validation-warning-heading: #fbbf24;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-text: #e4e4e7;--color-text-secondary: #a1a1aa;--color-text-muted: #71717a;--color-background: #18181b;--color-surface: #27272a;--color-surface-alt: #3f3f46;--color-surface-dark: #1f1f23;--color-border: #3f3f46;--color-border-light: #52525b;--color-primary: #5a9c4f;--color-primary-hover: #4a8c3f;--color-primary-light: rgba(90, 156, 79, .2);--color-accent: #f0b827;--color-accent-light: #2a2510;--color-info: #a1a1aa;--color-info-light: #27272a;--color-info-dark: #d4d4d8;--color-success-light: rgba(34, 197, 94, .2);--color-success-text: #6ee7b7;--color-success-bg: rgba(16, 185, 129, .15);--color-info-bg: rgba(161, 161, 170, .15);--color-text-on-primary: #ffffff;--color-warning-bg: #2a2510;--color-warning-border: #d4a012;--color-validation-error-bg: linear-gradient(135deg, #2d1f1f 0%, #3a2020 100%);--color-validation-error-border: #7f1d1d;--color-validation-error-accent: #f87171;--color-validation-error-text: #fca5a5;--color-validation-error-heading: #f87171;--color-validation-warning-bg: linear-gradient(135deg, #2a2510 0%, #3a3015 100%);--color-validation-warning-border: #854d0e;--color-validation-warning-accent: #fbbf24;--color-validation-warning-text: #fcd34d;--color-validation-warning-heading: #fbbf24;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--color-shadow: rgba(0, 0, 0, .4);--color-shadow-primary: rgba(90, 156, 79, .35);--color-shadow-success: rgba(34, 197, 94, .35);--color-warning-light: #3a3015;--color-warning-text: #fcd34d}}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-background);color:var(--color-text);transition:background-color var(--transition-normal),color var(--transition-normal)}#root{min-height:100vh}button,a,input,select,textarea,[role=button],.clickable{touch-action:manipulation}button:active:not(:disabled),.btn:active:not(:disabled),.admin-btn:active:not(:disabled),[role=button]:active:not([aria-disabled=true]),.clickable:active{transform:scale(.97);transition:transform .1s ease}button:not(:disabled),.btn:not(:disabled),.admin-btn:not(:disabled){position:relative;overflow:hidden}a:active{opacity:.8}.touch-target{position:relative;min-width:var(--touch-target-min, 44px);min-height:var(--touch-target-min, 44px)}.touch-target:before{content:"";position:absolute;inset:-8px}.card-pressable:active,.mobile-order-card:active,.accordion-group:active{transform:scale(.99);transition:transform .1s ease}input[type=checkbox]:active{transform:scale(.9)}select:active:not(:disabled){background-color:var(--color-surface-alt)}input[type=radio]:active{transform:scale(.9)}@media(hover:none)and (pointer:coarse){button:active:not(:disabled),.btn:active:not(:disabled),a:active{opacity:.85}.form-input,.form-select,.form-textarea{min-height:var(--touch-target-comfortable, 48px)}}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.3;color:var(--color-text)}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}input,select,textarea{font-family:inherit;background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface-alt)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.toast-container{position:fixed;bottom:1rem;left:1rem;right:1rem;display:flex;flex-direction:column;gap:.75rem;z-index:1100;max-width:none}@media(min-width:480px){.toast-container{left:auto;right:1.5rem;bottom:1.5rem;max-width:400px}}.toast{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background-color:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-lg);animation:slideIn .3s ease}.toast-exit{animation:slideOut .3s ease forwards}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0}.toast-success .toast-icon{background-color:var(--color-success);color:#fff}.toast-error .toast-icon{background-color:var(--color-error);color:#fff}.toast-warning .toast-icon{background-color:var(--color-warning);color:#fff}.toast-info .toast-icon{background-color:var(--color-info);color:#fff}.toast-message{flex:1;color:var(--color-text);font-size:.875rem;line-height:1.4}.toast-close{background:none;border:none;color:var(--color-text-muted);font-size:1.25rem;cursor:pointer;padding:0;line-height:1;margin-left:.5rem}.toast-close:hover{color:var(--color-text)}.toast-success{border-left:4px solid var(--color-success)}.toast-error{border-left:4px solid var(--color-error)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info{border-left:4px solid var(--color-info)}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--color-background, #f5f5f5)}.error-boundary-content{max-width:500px;padding:2.5rem;background:var(--color-surface, white);border-radius:12px;box-shadow:0 4px 20px #0000001a;text-align:center}.error-boundary-icon{font-size:4rem;margin-bottom:1rem}.error-boundary-content h2{font-size:1.5rem;font-weight:600;color:var(--color-text, #1a1a1a);margin:0 0 .75rem}.error-boundary-content p{color:var(--color-text-secondary, #666);margin:0 0 1.5rem;line-height:1.6}.error-boundary-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.error-boundary-btn{padding:.75rem 1.5rem;border-radius:8px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.error-boundary-btn-primary{background:var(--color-primary, #4a7c3f);color:#fff}.error-boundary-btn-primary:hover{background:var(--color-primary-hover, #3d6834)}.error-boundary-btn-secondary{background:var(--color-surface-alt, #f0f0f0);color:var(--color-text, #1a1a1a);border:1px solid var(--color-border, #e0e0e0)}.error-boundary-btn-secondary:hover{background:var(--color-border, #e0e0e0)}.error-boundary-details{margin-top:1.5rem;text-align:left}.error-boundary-details summary{cursor:pointer;color:var(--color-text-secondary, #666);font-size:.875rem;margin-bottom:.5rem}.error-boundary-details pre{background:var(--color-surface-alt, #f5f5f5);padding:1rem;border-radius:6px;font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--color-text-secondary, #666);max-height:200px;overflow-y:auto}.inline-error-boundary{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-error-bg, #fef2f2);border:1px solid var(--color-error-border, #fecaca);border-radius:8px;font-size:.875rem;color:var(--color-error, #dc2626)}.inline-error-icon{font-size:1rem}.inline-error-retry{margin-left:auto;padding:.25rem .75rem;background:transparent;border:1px solid currentColor;border-radius:4px;color:inherit;font-size:.8125rem;cursor:pointer;transition:all .2s ease}.inline-error-retry:hover{background:var(--color-error, #dc2626);color:#fff}[data-theme=dark] .error-boundary{background:var(--color-background)}[data-theme=dark] .error-boundary-content{background:var(--color-surface);box-shadow:0 4px 20px #0000004d}[data-theme=dark] .error-boundary-details pre{background:var(--color-surface-alt)}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -4px 20px #00000026;z-index:9999;animation:slideUp .3s ease-out}.cookie-banner-content{max-width:1200px;margin:0 auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}@media(min-width:768px){.cookie-banner-content{flex-direction:row;align-items:center;justify-content:space-between;padding:1.5rem 2rem}}.cookie-banner-text{flex:1}.cookie-banner-text h3{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text)}.cookie-banner-text p{font-size:.9rem;color:var(--color-text-secondary);margin:0 0 .5rem;line-height:1.5}.cookie-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.9rem;padding:0;text-decoration:underline}.cookie-link:hover{color:var(--color-primary-hover)}.cookie-banner-actions{display:flex;flex-direction:column;gap:.75rem}.cookie-banner-actions .cookie-btn{width:100%}@media(min-width:768px){.cookie-banner-actions{flex-direction:row;flex-wrap:wrap}.cookie-banner-actions .cookie-btn{width:auto}}.cookie-btn{padding:.75rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.cookie-btn-accept{background:var(--color-primary);color:#fff;border:none}.cookie-btn-accept:hover{background:var(--color-primary-hover)}.cookie-btn-reject{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.cookie-btn-reject:hover{background:var(--color-surface-alt);color:var(--color-text)}.cookie-btn-settings{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border)}.cookie-btn-settings:hover{background:var(--color-border)}.cookie-btn-save{background:var(--color-primary);color:#fff;border:none}.cookie-btn-save:hover{background:var(--color-primary-hover)}.cookie-settings-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .2s ease-out}.cookie-settings-modal{background:var(--color-surface);border-radius:12px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.cookie-settings-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.cookie-settings-header h2{font-size:1.25rem;font-weight:600;margin:0}.cookie-settings-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all var(--transition-fast)}.cookie-settings-close:hover{color:var(--color-text);background:var(--color-surface-alt)}.cookie-settings-content{padding:1.5rem;overflow-y:auto;flex:1}.cookie-settings-intro{font-size:.9rem;color:var(--color-text-secondary);margin:0 0 1.5rem;line-height:1.6}.cookie-settings-intro a{color:var(--color-primary)}.cookie-category{padding:1.25rem;background:var(--color-surface-alt);border-radius:8px;margin-bottom:1rem}.cookie-category:last-child{margin-bottom:0}.cookie-category-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.cookie-category-info{flex:1}.cookie-category-info h3{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text)}.cookie-category-info p{font-size:.85rem;color:var(--color-text-secondary);margin:0;line-height:1.5}.cookie-toggle{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:70px}.cookie-toggle-label{font-size:.75rem;color:var(--color-text-muted)}.cookie-checkbox{width:20px;height:20px;accent-color:var(--color-primary)}.cookie-checkbox:disabled{opacity:.7}.cookie-switch{position:relative;display:inline-block;width:50px;height:28px}.cookie-switch input{opacity:0;width:0;height:0}.cookie-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-border);transition:var(--transition-fast);border-radius:28px}.cookie-slider:before{position:absolute;content:"";height:22px;width:22px;left:3px;bottom:3px;background-color:#fff;transition:var(--transition-fast);border-radius:50%;box-shadow:0 2px 4px #0003}.cookie-switch input:checked+.cookie-slider{background-color:var(--color-primary)}.cookie-switch input:checked+.cookie-slider:before{transform:translate(22px)}.cookie-switch input:focus+.cookie-slider{box-shadow:0 0 0 2px var(--color-primary-light)}.cookie-settings-footer{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem;border-top:1px solid var(--color-border)}.cookie-settings-footer .cookie-btn{width:100%}@media(min-width:501px){.cookie-settings-footer{flex-direction:row;flex-wrap:wrap;justify-content:flex-end}.cookie-settings-footer .cookie-btn{width:auto}.cookie-settings-footer .cookie-btn-reject{margin-right:auto}}.skeleton{background:linear-gradient(90deg,var(--skeleton-base, var(--color-surface-alt, #e0e0e0)) 25%,var(--skeleton-highlight, var(--color-surface, #f0f0f0)) 50%,var(--skeleton-base, var(--color-surface-alt, #e0e0e0)) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;display:block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}[data-theme=dark] .skeleton{--skeleton-base: #374151;--skeleton-highlight: #4b5563}.skeleton--rectangular{border-radius:4px}.skeleton--circular{border-radius:50%}.skeleton--text{border-radius:4px;height:1em}.skeleton--rounded{border-radius:8px}.skeleton-order-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-bottom:1px solid var(--color-border)}.skeleton-order-header{display:flex;align-items:center;gap:.75rem}.skeleton-order-header>:nth-child(2){flex:1}.skeleton-order-info{display:flex;align-items:center;gap:.75rem;padding-left:2.75rem}.skeleton-table-row{display:grid;grid-template-columns:44px 1fr 100px 90px 44px;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--color-border);align-items:center}.skeleton-table-row{display:none}@media(min-width:480px){.skeleton-order-card{display:none}.skeleton-table-row{display:grid}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.router-error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--color-background, #f8fafc)}.error-content{max-width:480px;text-align:center;padding:2.5rem;background:var(--color-surface, #ffffff);border-radius:16px;box-shadow:0 4px 24px #00000014}.error-icon{font-size:4rem;margin-bottom:1.5rem;line-height:1}.error-icon.loading{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-content h1{margin:0 0 .75rem;font-size:1.5rem;font-weight:600;color:var(--color-text, #1e293b)}.error-content p{margin:0 0 1.5rem;font-size:1rem;color:var(--color-text-secondary, #64748b);line-height:1.5}.error-actions{display:flex;flex-direction:column;gap:.75rem}@media(min-width:480px){.error-actions{flex-direction:row;justify-content:center}}.error-actions button{padding:.875rem 1.5rem;font-size:.9375rem;font-weight:500;border-radius:10px;cursor:pointer;transition:all .2s ease;border:none}.error-actions .btn-primary{background:var(--color-primary, #22a66e);color:#fff}.error-actions .btn-primary:hover{background:var(--color-primary-dark, #1a8a5a);transform:translateY(-1px)}.error-actions .btn-secondary{background:var(--color-surface-alt, #f1f5f9);color:var(--color-text, #1e293b);border:1px solid var(--color-border, #e2e8f0)}.error-actions .btn-secondary:hover{background:var(--color-border, #e2e8f0)}.error-details{margin-top:1.5rem;text-align:left}.error-details summary{cursor:pointer;font-size:.875rem;color:var(--color-text-secondary, #64748b);margin-bottom:.5rem}.error-details pre{padding:1rem;background:var(--color-surface-alt, #f1f5f9);border-radius:8px;font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}[data-theme=dark] .router-error-boundary{background:var(--color-background, #0f172a)}[data-theme=dark] .error-content{background:var(--color-surface, #1e293b);box-shadow:0 4px 24px #0000004d}[data-theme=dark] .error-details pre{background:#0003}.logo{display:inline-block;vertical-align:middle}.logo-text{fill:var(--color-text);transition:fill .2s ease}.navbar-logo-full{display:none}.navbar-logo-icon{display:inline-block}@media(min-width:768px){.navbar-logo-full{display:inline-block}.navbar-logo-icon{display:none}}.logo-sm{height:28px;width:auto}.logo-md{height:36px;width:auto}.logo-lg{height:44px;width:auto}@media(min-width:480px){.logo-sm{height:30px}.logo-md{height:38px}.logo-lg{height:46px}}@media(min-width:768px){.logo-sm{height:32px}.logo-md{height:40px}.logo-lg{height:48px}}.dashboard-sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width-mobile, min(85vw, 300px));height:100vh;height:100dvh;background-color:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:100;transform:translate(-100%);transition:transform var(--transition-normal),width var(--transition-normal)}.dashboard-sidebar.open{transform:translate(0)}@media(min-width:480px){.dashboard-sidebar{width:var(--sidebar-width-collapsed, 60px);transform:translate(0)}}@media(min-width:768px){.dashboard-sidebar{width:var(--sidebar-width, 260px)}}.dashboard-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;height:54px;box-sizing:border-box;border-bottom:2px solid var(--color-accent);flex-shrink:0}@media(min-width:480px){.dashboard-sidebar-header{padding:10px 16px;height:60px}}@media(min-width:768px){.dashboard-sidebar-header{padding:12px 24px;height:66px}}.dashboard-sidebar-logo{color:var(--color-text);text-decoration:none;display:flex;align-items:center;gap:.75rem}.dashboard-sidebar-logo:hover{text-decoration:none}.dashboard-sidebar-logo-full{display:inline-block}.dashboard-sidebar-logo-icon{display:none}@media(min-width:480px)and (max-width:767px){.dashboard-sidebar-logo{justify-content:center}.dashboard-sidebar-logo-full{display:none}.dashboard-sidebar-logo-icon{display:inline-block}}.dashboard-sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto;display:flex;flex-direction:column;mask-image:linear-gradient(to bottom,transparent 0,black 8px,black calc(100% - 8px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black 8px,black calc(100% - 8px),transparent 100%)}.dashboard-sidebar-footer{flex-shrink:0;border-top:1px solid var(--color-border)}.dashboard-sidebar-menu{list-style:none;margin:0;padding:0}.dashboard-sidebar-secondary{margin-top:auto}.dashboard-sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;color:var(--color-text-secondary);text-decoration:none;font-size:.9375rem;font-weight:500;min-height:var(--touch-target-min, 44px);transition:all var(--transition-fast);background:none;border:none;width:100%;text-align:left;cursor:pointer}@media(min-width:480px)and (max-width:767px){.dashboard-sidebar-link{justify-content:center;padding:.875rem 0}}.dashboard-sidebar-link:hover{background-color:var(--color-surface-alt);color:var(--color-text);text-decoration:none}.dashboard-sidebar-link.active{background-color:var(--color-primary-light);color:var(--color-primary)}@media(min-width:480px)and (max-width:767px){.dashboard-sidebar-link.active{background-color:transparent;border-bottom:2px solid var(--color-primary)}}.dashboard-sidebar-icon{font-size:1.25rem;width:24px;text-align:center;flex-shrink:0}@media(min-width:480px)and (max-width:767px){.dashboard-sidebar-icon{font-size:1.375rem}}.dashboard-sidebar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(min-width:480px)and (max-width:767px){.dashboard-sidebar-label{display:none}}.dashboard-sidebar-divider{height:1px;background-color:var(--color-border);margin:.75rem 1.5rem}@media(min-width:480px)and (max-width:767px){.dashboard-sidebar-divider{margin:.75rem .5rem}}.dashboard-sidebar-admin{color:var(--color-error)}.dashboard-sidebar-admin:hover{background-color:#dc35451a;color:var(--color-error)}.dashboard-sidebar-logout{color:var(--color-text-muted)}.dashboard-sidebar-logout:hover{color:var(--color-error)}.dashboard-sidebar-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--touch-target-min, 44px);height:var(--touch-target-min, 44px);background:transparent;border:none;color:var(--color-text-muted);border-radius:var(--radius-md, 8px);cursor:pointer;margin-left:auto}.dashboard-sidebar-close:hover{background:var(--color-surface-alt);color:var(--color-text)}@media(min-width:480px){.dashboard-sidebar-close{display:none}}@media(min-width:480px)and (max-width:767px){.dashboard-sidebar-link{position:relative}.dashboard-sidebar-link:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%);padding:.5rem .75rem;background:var(--color-surface);color:var(--color-text);font-size:.8125rem;white-space:nowrap;border-radius:var(--radius-sm, 4px);box-shadow:var(--shadow-md);border:1px solid var(--color-border);opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);z-index:110;margin-left:.5rem}.dashboard-sidebar-link:hover:after,.dashboard-sidebar-link:focus:after{opacity:1;visibility:visible}}.dashboard-sidebar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--color-warning, #f59e0b);color:#fff;font-size:.6875rem;font-weight:700;border-radius:10px;margin-left:auto}@media(min-width:480px)and (max-width:767px){.dashboard-sidebar-link.has-badge{position:relative}.dashboard-sidebar-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;padding:0 4px;font-size:.625rem;margin-left:0}}.dashboard-sidebar-link.has-badge{position:relative}.dashboard-sidebar-link.has-badge:not(.active){color:var(--color-warning, #f59e0b)}.dashboard-sidebar-link.has-badge:not(.active) .dashboard-sidebar-icon{animation:pulse-icon 2s infinite}@keyframes pulse-icon{0%,to{opacity:1}50%{opacity:.6}}[data-theme=dark] .dashboard-sidebar{background-color:var(--color-surface);border-right-color:var(--color-border)}[data-theme=dark] .dashboard-sidebar-header{border-bottom-color:var(--color-accent)}[data-theme=dark] .dashboard-sidebar-link:hover{background-color:var(--color-surface-alt)}[data-theme=dark] .dashboard-sidebar-link.active{background-color:var(--color-primary-light);color:var(--color-primary)}[data-theme=dark] .dashboard-sidebar-admin:hover{background-color:#f871711f;color:#f87171}[data-theme=dark] .dashboard-sidebar-admin{color:#f87171}[data-theme=dark] .dashboard-sidebar-badge{background:#fbbf24;color:#1f2937}.theme-toggle{display:flex;align-items:center;gap:6px;padding:8px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:20px;color:var(--color-text);cursor:pointer;font-size:.85rem;transition:all var(--transition-fast)}@media(min-width:480px){.theme-toggle{padding:8px 14px}}.theme-toggle:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle-icon{display:flex;align-items:center;justify-content:center;width:18px;height:18px}.theme-toggle-icon svg{width:100%;height:100%}.theme-toggle-label{display:none;font-weight:500}@media(min-width:768px){.theme-toggle-label{display:block}}.dashboard-header{display:flex;align-items:center;gap:1rem;padding:8px 12px;height:54px;box-sizing:border-box;background-color:var(--color-surface);border-bottom:2px solid var(--color-accent);position:sticky;top:0;z-index:50}@media(min-width:480px){.dashboard-header{padding:10px 16px;height:60px}}@media(min-width:768px){.dashboard-header{padding:12px 24px;height:66px}}.dashboard-header-menu{display:block;background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-text)}@media(min-width:480px){.dashboard-header-menu{display:none}}.dashboard-header-menu-icon{font-size:1.5rem}.dashboard-header-title{flex:1}.dashboard-header-title h1{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}@media(min-width:640px){.dashboard-header-title h1{font-size:1.25rem}}.dashboard-header-actions{display:flex;align-items:center;gap:1rem}.dashboard-header-user{display:flex;align-items:center;gap:.75rem}.dashboard-header-avatar{width:36px;height:36px;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.dashboard-header-username{display:none;color:var(--color-text);font-size:.875rem;font-weight:500}@media(min-width:640px){.dashboard-header-username{display:block}}.dashboard-layout{display:flex;height:100vh;height:100dvh;background-color:var(--color-background);overflow:hidden}.dashboard-main{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;height:100dvh;margin-left:0;overflow:hidden;transition:margin-left var(--transition-normal)}@media(min-width:480px){.dashboard-main{margin-left:var(--sidebar-width-collapsed, 60px)}}@media(min-width:768px){.dashboard-main{margin-left:var(--sidebar-width, 260px)}}.dashboard-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-mobile, 1rem)}@media(min-width:480px){.dashboard-content{padding:var(--spacing-tablet, 1.5rem)}}@media(min-width:768px){.dashboard-content{padding:var(--spacing-desktop, 2rem)}}.dashboard-content:has(>.pull-to-refresh-container){overflow:hidden;padding:0;display:flex;flex-direction:column}.dashboard-content>.pull-to-refresh-container .dashboard-page{padding:var(--spacing-mobile, 1rem)}@media(min-width:480px){.dashboard-content>.pull-to-refresh-container .dashboard-page{padding:var(--spacing-tablet, 1.5rem)}}@media(min-width:768px){.dashboard-content>.pull-to-refresh-container .dashboard-page{padding:var(--spacing-desktop, 2rem)}}.dashboard-overlay{position:fixed;inset:0;background-color:#00000080;z-index:95;opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.dashboard-overlay.visible{opacity:1;visibility:visible}@media(min-width:480px){.dashboard-overlay{display:none!important}}.dashboard-menu-toggle{display:flex;align-items:center;justify-content:center;position:fixed;bottom:1rem;right:1rem;width:var(--touch-target-comfortable, 48px);height:var(--touch-target-comfortable, 48px);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-full, 9999px);box-shadow:var(--shadow-lg);z-index:90;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.dashboard-menu-toggle:active{transform:scale(.95)}.dashboard-menu-toggle svg,.dashboard-menu-toggle .toggle-icon{font-size:1.25rem}@media(min-width:480px){.dashboard-menu-toggle{display:none}}.dashboard-mobile-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.dashboard-mobile-header-toggle{display:flex;align-items:center;justify-content:center;width:var(--touch-target-min, 44px);height:var(--touch-target-min, 44px);background:transparent;border:none;color:var(--color-text);border-radius:var(--radius-md, 8px);cursor:pointer}.dashboard-mobile-header-toggle:active{background:var(--color-surface-alt)}.dashboard-mobile-header-title{font-size:1rem;font-weight:600;color:var(--color-text)}@media(min-width:480px){.dashboard-mobile-header{display:none}}.admin-sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width-mobile, min(85vw, 300px));height:100vh;height:100dvh;background-color:#1a1a2e;display:flex;flex-direction:column;z-index:100;transform:translate(-100%);transition:transform var(--transition-normal),width var(--transition-normal)}.admin-sidebar.open{transform:translate(0)}@media(min-width:480px){.admin-sidebar{width:var(--sidebar-width-collapsed, 60px);transform:translate(0)}}@media(min-width:768px){.admin-sidebar{width:var(--sidebar-width, 260px)}}[data-theme=dark] .admin-sidebar{background-color:#0f0f1a}.admin-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;height:54px;box-sizing:border-box;border-bottom:2px solid var(--color-accent);flex-shrink:0}@media(min-width:480px){.admin-sidebar-header{padding:10px 16px;height:60px}}@media(min-width:768px){.admin-sidebar-header{padding:12px 24px;height:66px}}.admin-sidebar-logo{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none}.admin-sidebar-logo:hover{text-decoration:none}.admin-sidebar-logo-full{display:inline-block}.admin-sidebar-logo-icon{display:none}@media(min-width:480px)and (max-width:767px){.admin-sidebar-logo{justify-content:center}.admin-sidebar-logo-full{display:none}.admin-sidebar-logo-icon{display:inline-block}}.admin-sidebar .logo-text{fill:#fff}.admin-badge{display:inline-block;padding:.125rem .5rem;font-size:.625rem;font-weight:700;letter-spacing:.05em;background-color:#dc3545;color:#fff;border-radius:4px}@media(min-width:480px)and (max-width:767px){.admin-badge{display:none}}.admin-sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto;display:flex;flex-direction:column;mask-image:linear-gradient(to bottom,transparent 0,black 8px,black calc(100% - 8px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black 8px,black calc(100% - 8px),transparent 100%)}.admin-sidebar-footer{flex-shrink:0;border-top:1px solid rgba(255,255,255,.1)}.admin-sidebar-menu{list-style:none;margin:0;padding:0}.admin-sidebar-secondary{margin-top:auto}.admin-sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.5rem;color:#ffffffb3;text-decoration:none;font-size:.9375rem;font-weight:500;min-height:var(--touch-target-min, 44px);transition:all var(--transition-fast);background:none;border:none;width:100%;text-align:left;cursor:pointer}@media(min-width:480px)and (max-width:767px){.admin-sidebar-link{justify-content:center;padding:.875rem 0}}.admin-sidebar-link:hover{background-color:#ffffff0d;color:#fff;text-decoration:none}.admin-sidebar-link.active{background-color:#ffffff1a;color:#fff;border-left:3px solid #dc3545}@media(min-width:480px)and (max-width:767px){.admin-sidebar-link.active{border-left:none;border-bottom:2px solid #dc3545}}.admin-sidebar-icon{font-size:1.25rem;width:24px;text-align:center;flex-shrink:0}@media(min-width:480px)and (max-width:767px){.admin-sidebar-icon{font-size:1.375rem}}.admin-sidebar-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}@media(min-width:480px)and (max-width:767px){.admin-sidebar-label{display:none}}.admin-sidebar-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;font-size:.6875rem;font-weight:700;background-color:#dc3545;color:#fff;border-radius:9999px;margin-left:auto}@media(min-width:480px)and (max-width:767px){.admin-sidebar-badge{position:absolute;top:4px;right:8px;min-width:8px;width:8px;height:8px;padding:0;font-size:0}.admin-sidebar-link{position:relative}}.admin-sidebar-link.active .admin-sidebar-badge{background-color:#fff;color:#dc3545}.admin-sidebar-divider{height:1px;background-color:#ffffff1a;margin:.75rem 1.5rem}@media(min-width:480px)and (max-width:767px){.admin-sidebar-divider{margin:.75rem .5rem}}.admin-sidebar-footer-row{display:flex;align-items:center;gap:.5rem;padding-left:1.5rem}.admin-sidebar-footer-row .admin-sidebar-link{flex:1;padding-left:0}.admin-sidebar-role-label{display:inline-block;padding:.25rem .625rem;font-size:.625rem;font-weight:700;color:#fff;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.admin-sidebar-role-label.role-admin{background:linear-gradient(135deg,#f59e0b,#ef4444)}.admin-sidebar-role-label.role-bearbeiter{background:linear-gradient(135deg,#3b82f6,#6366f1)}@media(min-width:480px)and (max-width:767px){.admin-sidebar-footer-row{padding-left:0}.admin-sidebar-role-label{display:none}.admin-sidebar-footer-row .admin-sidebar-link{padding-left:0;justify-content:center}}.admin-sidebar-logout{color:#ffffff80}.admin-sidebar-logout:hover{color:#dc3545}.admin-sidebar-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--touch-target-min, 44px);height:var(--touch-target-min, 44px);background:transparent;border:none;color:#ffffffb3;border-radius:var(--radius-md, 8px);cursor:pointer;margin-left:auto}.admin-sidebar-close:hover{background:#ffffff1a;color:#fff}@media(min-width:480px){.admin-sidebar-close{display:none}}@media(min-width:480px)and (max-width:767px){.admin-sidebar-link{position:relative}.admin-sidebar-link:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translateY(-50%);padding:.5rem .75rem;background:#1a1a2e;color:#fff;font-size:.8125rem;white-space:nowrap;border-radius:var(--radius-sm, 4px);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transition:opacity var(--transition-fast),visibility var(--transition-fast);z-index:110;margin-left:.5rem}.admin-sidebar-link:hover:after,.admin-sidebar-link:focus:after{opacity:1;visibility:visible}}.admin-header{display:flex;align-items:center;gap:1rem;padding:8px 12px;height:54px;box-sizing:border-box;background-color:var(--color-surface);border-bottom:2px solid var(--color-accent);position:sticky;top:0;z-index:50}@media(min-width:480px){.admin-header{padding:10px 16px;height:60px}}@media(min-width:768px){.admin-header{padding:12px 24px;height:66px}}.admin-header-menu{display:block;background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-text)}@media(min-width:480px){.admin-header-menu{display:none}}.admin-header-menu-icon{font-size:1.5rem}.admin-header-title{display:flex;align-items:center;gap:.75rem;flex:1}.admin-header-badge{display:inline-block;padding:.125rem .5rem;font-size:.625rem;font-weight:700;letter-spacing:.05em;background-color:#dc3545;color:#fff;border-radius:4px}.admin-header-title h1{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}@media(min-width:640px){.admin-header-title h1{font-size:1.25rem}}.admin-header-actions{display:flex;align-items:center;gap:1rem}.admin-header-user{display:flex;align-items:center;gap:.75rem}.admin-header-avatar{width:36px;height:36px;border-radius:50%;background-color:#dc3545;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.admin-header-user-info{display:none;flex-direction:column}@media(min-width:640px){.admin-header-user-info{display:flex}}.admin-header-username{color:var(--color-text);font-size:.875rem;font-weight:500}.admin-header-role{color:var(--color-text-muted);font-size:.6875rem}.admin-layout{display:flex;min-height:100vh;background-color:var(--color-background);--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #eff6ff;--color-primary-dark: #1e40af;--color-shadow-primary: rgba(37, 99, 235, .2)}[data-theme=dark] .admin-layout{--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-primary-light: #1e3a5f;--color-primary-dark: #60a5fa;--color-shadow-primary: rgba(59, 130, 246, .3)}.admin-main{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:0;transition:margin-left var(--transition-normal);height:100vh;overflow:hidden}@media(min-width:480px){.admin-main{margin-left:var(--sidebar-width-collapsed, 60px)}}@media(min-width:768px){.admin-main{margin-left:var(--sidebar-width, 260px)}}.admin-content{flex:1;padding:var(--spacing-mobile, 1rem);overflow-y:auto;overflow-x:hidden}@media(min-width:480px){.admin-content{padding:var(--spacing-tablet, 1.5rem)}}@media(min-width:768px){.admin-content{padding:var(--spacing-desktop, 2rem)}}.admin-overlay{position:fixed;inset:0;background-color:#00000080;z-index:95;opacity:0;visibility:hidden;transition:opacity var(--transition-normal),visibility var(--transition-normal);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.admin-overlay.visible{opacity:1;visibility:visible}@media(min-width:480px){.admin-overlay{display:none!important}}.admin-menu-toggle{display:flex;align-items:center;justify-content:center;position:fixed;bottom:1rem;right:1rem;width:var(--touch-target-comfortable, 48px);height:var(--touch-target-comfortable, 48px);background:#1a1a2e;color:#fff;border:none;border-radius:var(--radius-full, 9999px);box-shadow:var(--shadow-lg);z-index:90;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.admin-menu-toggle:active{transform:scale(.95)}.admin-menu-toggle svg,.admin-menu-toggle .toggle-icon{font-size:1.25rem}@media(min-width:480px){.admin-menu-toggle{display:none}}.admin-mobile-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#1a1a2e;color:#fff}.admin-mobile-header-toggle{display:flex;align-items:center;justify-content:center;width:var(--touch-target-min, 44px);height:var(--touch-target-min, 44px);background:transparent;border:none;color:#fff;border-radius:var(--radius-md, 8px);cursor:pointer}.admin-mobile-header-toggle:active{background:#ffffff1a}.admin-mobile-header-title{font-size:1rem;font-weight:600}@media(min-width:480px){.admin-mobile-header{display:none}}.static-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--color-surface)}.static-nav{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--color-surface);border-bottom:2px solid var(--color-accent);position:sticky;top:0;z-index:100}@media(min-width:768px){.static-nav{padding:16px 40px}}.static-nav-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--color-text)}.static-nav-desktop{display:none;align-items:center;gap:12px}@media(min-width:768px){.static-nav-desktop{display:flex}}.static-nav-btn{padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .2s ease;white-space:nowrap}.static-nav-btn-secondary{color:var(--color-text);background:transparent;border:1px solid var(--color-border)}.static-nav-btn-secondary:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.static-nav-btn-primary{color:#fff;background:var(--color-primary);border:1px solid var(--color-primary)}.static-nav-btn-primary:hover{background:var(--color-primary-hover)}.static-nav-mobile{display:flex;align-items:center;gap:12px}@media(min-width:768px){.static-nav-mobile{display:none}}.static-nav-mobile-cta{padding:8px 16px;font-size:.85rem}.static-hamburger-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:8px;background:transparent;border:none;cursor:pointer;border-radius:6px;transition:background .2s}.static-hamburger-btn:hover{background:var(--color-primary-light)}.static-hamburger-line{display:block;width:22px;height:2px;background:var(--color-text);border-radius:1px;transition:all .3s ease}.static-hamburger-btn.hamburger-open .static-hamburger-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.static-hamburger-btn.hamburger-open .static-hamburger-line:nth-child(2){opacity:0}.static-hamburger-btn.hamburger-open .static-hamburger-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.static-mobile-overlay{position:fixed;inset:0;background:var(--color-surface);z-index:99;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .3s ease}.static-mobile-overlay.static-mobile-open{opacity:1;pointer-events:auto}.static-mobile-content{display:flex;flex-direction:column;justify-content:space-between;flex:1;padding:80px 1.5rem 2rem}.static-mobile-nav{display:flex;flex-direction:column;gap:4px}.static-mobile-link{display:block;padding:14px 16px;font-size:1.05rem;font-weight:500;color:var(--color-text);text-decoration:none;border-radius:10px;transition:background .15s;border:none;background:none;text-align:left;cursor:pointer;width:100%}.static-mobile-link:hover{background:var(--color-surface-alt)}.static-mobile-link-primary{color:var(--color-primary);font-weight:600}.static-mobile-footer{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:1px solid var(--color-border)}.static-mobile-logout{color:var(--color-error, #ef4444)}.static-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem 1rem 1rem}@media(min-width:768px){.static-content{padding:2rem}}.static-footer{padding:2rem;background:var(--color-surface);border-top:none;text-align:center}.static-footer-links{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}@media(min-width:768px){.static-footer-links{gap:1.5rem}}.static-footer-links a{color:var(--color-text-secondary);text-decoration:none;font-size:.9rem;transition:color .2s ease}.static-footer-links a:hover{color:var(--color-primary)}.static-footer-copyright{color:var(--color-text-muted);font-size:.85rem;margin:0}.protected-route-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-background)}.protected-route-loading .loading-container{text-align:center;padding:2rem}.access-denied{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-background)}.access-denied-container{text-align:center;padding:2rem;max-width:400px}.access-denied-icon{font-size:4rem;margin-bottom:1rem}.access-denied h1{color:var(--color-text);margin-bottom:.5rem}.access-denied p{color:var(--color-text-secondary);margin-bottom:1.5rem}.access-denied-link{display:inline-block;padding:.75rem 1.5rem;background-color:var(--color-primary);color:#fff;border-radius:8px;text-decoration:none;font-weight:500;transition:background-color var(--transition-fast)}.access-denied-link:hover{background-color:var(--color-primary-hover);text-decoration:none}.tooltip-wrapper{position:relative;display:inline-flex;align-items:center;cursor:help}.tooltip-bubble{position:absolute;padding:6px 10px;background:var(--color-surface-alt);color:var(--color-text);font-size:.75rem;font-weight:400;line-height:1.4;border-radius:6px;box-shadow:var(--shadow-md);border:1px solid var(--color-border);white-space:normal;max-width:220px;min-width:150px;z-index:1000;pointer-events:none;animation:tooltipFadeIn .15s ease-out}@media(min-width:480px){.tooltip-bubble{padding:8px 12px;font-size:.8rem;max-width:280px}}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px) translate(-50%)}to{opacity:1;transform:translateY(0) translate(-50%)}}.tooltip-top{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px}.tooltip-top:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--color-surface-alt)}.tooltip-top:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-top-color:var(--color-border)}.tooltip-bottom{top:100%;left:50%;transform:translate(-50%);margin-top:8px}.tooltip-bottom:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--color-surface-alt)}.tooltip-bottom:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-bottom-color:var(--color-border)}.tooltip-left{right:100%;top:50%;transform:translateY(-50%);margin-right:8px}.tooltip-left:after{content:"";position:absolute;left:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:var(--color-surface-alt)}.tooltip-right{left:100%;top:50%;transform:translateY(-50%);margin-left:8px}.tooltip-right:after{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--color-surface-alt)}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--color-info-light);color:var(--color-info-dark);font-size:.7rem;font-weight:700;border:1px solid var(--color-info);transition:all var(--transition-fast)}.tooltip-wrapper:hover .help-icon,.tooltip-wrapper:focus .help-icon{background:var(--color-info);color:var(--color-surface)}[data-theme=dark] .tooltip-bubble{background:var(--color-surface);border-color:var(--color-border-light)}[data-theme=dark] .tooltip-top:after{border-top-color:var(--color-surface)}[data-theme=dark] .tooltip-bottom:after{border-bottom-color:var(--color-surface)}[data-theme=dark] .tooltip-left:after{border-left-color:var(--color-surface)}[data-theme=dark] .tooltip-right:after{border-right-color:var(--color-surface)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .tooltip-bubble{background:var(--color-surface);border-color:var(--color-border-light)}:root:not([data-theme=light]) .tooltip-top:after{border-top-color:var(--color-surface)}:root:not([data-theme=light]) .tooltip-bottom:after{border-bottom-color:var(--color-surface)}}@media(prefers-reduced-motion:reduce){.tooltip-bubble{animation:none}}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.form-section{margin-bottom:1rem;padding:.875rem;background:var(--color-accent-light);border:2px solid var(--color-accent);border-radius:var(--radius-md)}@media(min-width:480px){.form-section{margin-bottom:1.25rem;padding:1rem}}@media(min-width:768px){.form-section{margin-bottom:var(--spacing-6);padding:var(--spacing-5)}}.form-section.section-error{border-color:var(--color-error, #dc3545);animation:errorFadeIn .3s ease-out}.form-section.section-error>.error-message{margin-top:var(--spacing-2)}.form-section-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.form-section-header h3{margin:0;color:var(--color-text);font-size:1.1rem;background:var(--color-accent);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-sm)}.form-section-header-extra{margin-left:auto;flex-shrink:0}.form-section-context{margin:0 0 var(--spacing-3) 0;font-size:.85rem;color:var(--color-text-secondary);line-height:1.4}@media(min-width:480px){.form-section-context{font-size:.9rem}}.help-box{margin-top:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--color-info-light);border-left:3px solid var(--color-info);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.help-box-title{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--color-info-dark);margin-bottom:6px}.help-box-title svg{flex-shrink:0}.help-box-text{font-size:.85rem;color:var(--color-text);line-height:1.5}@media(min-width:480px){.help-box{padding:var(--spacing-3) var(--spacing-4)}.help-box-text{font-size:.9rem}}.form-section-content{display:flex;flex-wrap:wrap;gap:var(--spacing-4);width:100%}.form-section-content>*{min-width:0}.info-icon{cursor:help;font-size:1rem}.section-icon{display:flex;align-items:center;justify-content:center}.section-icon svg{width:36px;height:36px}.radio-option{display:flex;align-items:center;padding:.875rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;background:var(--color-surface);min-height:var(--touch-target-min, 44px);min-width:0;width:100%}@media(min-width:480px){.radio-option{padding:var(--spacing-3) var(--spacing-5);min-width:180px;width:auto}}.radio-option:hover,.radio-option.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.radio-option.disabled{opacity:.5;cursor:not-allowed;background:var(--color-background)}.radio-option.disabled:hover{border-color:var(--color-border);background:var(--color-background)}.radio-option:focus-within{outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}.radio-option input{position:absolute;opacity:0;width:0;height:0}.radio-option-content{display:flex;align-items:center;gap:var(--spacing-3);flex:1}.radio-option-icon{width:50px;height:40px;display:flex;align-items:center;justify-content:center}.radio-option-icon img,.radio-option-icon svg{max-width:100%;max-height:100%}.radio-option-text{display:flex;flex-direction:column}.radio-option-label{font-weight:500;color:var(--color-text)}.radio-option-desc{font-size:.8rem;color:var(--color-text-secondary)}.radio-indicator{width:24px;height:24px;border:2px solid var(--color-border);border-radius:50%;position:relative;flex-shrink:0}.radio-option.selected .radio-indicator{border-color:var(--color-primary)}.radio-option.selected .radio-indicator:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:var(--color-primary);border-radius:50%}.select-field{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0;width:100%}@media(min-width:480px){.select-field{min-width:200px;width:auto}.step-content .select-field{width:100%;min-width:0}}.select-field label{font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:var(--spacing-2)}.select-field select{padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;background:var(--color-surface);cursor:pointer;transition:border-color .2s ease;min-height:var(--touch-target-comfortable, 48px)}@media(min-width:480px){.select-field select{padding:var(--spacing-3) var(--spacing-4)}}.select-field select:hover{border-color:var(--color-primary)}.select-field select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px var(--color-primary-light)}.input-field{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0;width:100%;flex:1}@media(min-width:480px){.input-field{min-width:150px;width:auto}}.input-field label{font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:var(--spacing-2)}.input-wrapper{display:flex;align-items:center;border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .2s ease;min-height:var(--touch-target-comfortable, 48px)}.input-wrapper:focus-within{border-color:var(--color-primary)}.input-field input{flex:1;padding:.75rem 1rem;border:none;font-size:1rem;outline:none;min-height:var(--touch-target-min, 44px)}@media(min-width:480px){.input-field input{padding:var(--spacing-3) var(--spacing-4)}}.input-suffix{padding:.75rem 1rem;background:var(--color-background);color:var(--color-text-secondary);font-weight:500}@media(min-width:480px){.input-suffix{padding:var(--spacing-3) var(--spacing-4)}}.input-field.has-error .input-wrapper{border-color:var(--color-error)}.input-field.has-error .input-wrapper:focus-within{border-color:var(--color-error)}.input-field input.error{color:var(--color-error)}.select-field.has-error select{border-color:var(--color-error)}.select-field.has-error select:focus{border-color:var(--color-error);box-shadow:0 0 0 2px #dc354533}.select-field select.error,.number-field.has-error .number-input-wrapper{border-color:var(--color-error)}.number-field.has-error .number-input-wrapper:focus-within{border-color:var(--color-error)}.number-input-wrapper.error{border-color:var(--color-error)}.number-field input.error{color:var(--color-error)}.error-message{color:var(--color-error);font-size:.85rem;margin-top:var(--spacing-1);display:block;animation:errorFadeIn .2s ease-out}.error-message:empty{display:none}@keyframes errorFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.plz-lookup-hint{display:block;font-size:.85rem;margin-top:var(--spacing-1);animation:errorFadeIn .2s ease-out}.plz-lookup-hint.plz-loading{color:var(--color-text-muted, #6b7280)}.plz-lookup-hint.plz-success{color:var(--color-success, #059669);font-weight:500}.form-row{display:flex;flex-direction:column;gap:.75rem;width:100%}@media(min-width:480px){.form-row{flex-direction:row;flex-wrap:wrap;gap:15px}}.form-row>*{flex:1;min-width:0}@media(min-width:480px){.form-row>*{min-width:150px}}.number-field{display:flex;flex-direction:column;gap:.5rem;min-width:0;width:100%}@media(min-width:480px){.number-field{min-width:150px;width:auto;gap:8px}.step-content .number-field{width:100%;min-width:0}}.number-field label{font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:8px}.number-input-wrapper{display:flex;align-items:center;border:2px solid var(--color-border);border-radius:8px;overflow:hidden;transition:border-color .2s ease;min-height:var(--touch-target-comfortable, 48px)}.number-input-wrapper:focus-within{border-color:var(--color-primary)}.number-field input{flex:1;padding:.75rem 1rem;border:none;font-size:1rem;outline:none;min-height:var(--touch-target-min, 44px)}@media(min-width:480px){.number-field input{padding:12px 15px}}.number-field .unit{padding:.75rem;background:var(--color-background);color:var(--color-text-secondary);font-weight:500;white-space:nowrap;font-size:.9rem;flex-shrink:0}@media(min-width:480px){.number-field .unit{padding:12px 15px;font-size:1rem}}.checkbox-field{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border:2px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .2s ease;background:var(--color-surface);min-height:var(--touch-target-comfortable, 48px);position:relative}@media(min-width:480px){.checkbox-field{gap:12px;padding:12px 20px}}.checkbox-field:hover{border-color:var(--color-primary)}.checkbox-field.checked{border-color:var(--color-primary);background:var(--color-primary-light)}.checkbox-field:focus-within{outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}.checkbox-field input{position:absolute;opacity:0;width:0;height:0}.checkbox-indicator{width:24px;height:24px;border:2px solid var(--color-border);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.checkbox-field.checked .checkbox-indicator{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-indicator svg{width:16px;height:16px;fill:var(--color-surface)}.checkbox-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.checkbox-icon svg{width:28px;height:28px}.checkbox-text{display:flex;flex-direction:column}.checkbox-label{font-weight:500;color:var(--color-text)}.checkbox-desc{font-size:.8rem;color:var(--color-text-secondary)}.navigation-buttons{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.25rem;padding-top:1rem;border-top:2px solid var(--color-border-light)}@media(min-width:768px){.navigation-buttons{margin-top:30px;padding-top:20px}}.btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.25rem;border:none;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-height:var(--touch-target-comfortable, 48px)}@media(min-width:480px){.btn{gap:10px;padding:12px 30px}}.btn-back{background:var(--color-background);color:var(--color-text-secondary)}.btn-back:hover{background:var(--color-border-light)}.btn-back:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-next{background:var(--color-primary);color:var(--color-surface);margin-left:auto}.btn-next:hover:not(:disabled){background:var(--color-primary-hover);transform:translate(3px)}.btn-next:disabled{background:var(--color-text-muted);cursor:not-allowed}.btn-next:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-arrow{font-size:.8rem}.grundriss-grid{display:grid;grid-template-columns:1fr;gap:.5rem;width:100%}@media(min-width:480px){.grundriss-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media(min-width:768px){.grundriss-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px}}.grundriss-grid .radio-option{flex-direction:row;text-align:left;padding:.75rem 1rem}@media(min-width:480px){.grundriss-grid .radio-option{flex-direction:column;text-align:center;padding:.875rem}}@media(min-width:768px){.grundriss-grid .radio-option{padding:15px}}.grundriss-grid .radio-option-content{flex-direction:row;align-items:center;gap:.75rem}@media(min-width:480px){.grundriss-grid .radio-option-content{flex-direction:column;gap:0}}.grundriss-grid .radio-option-icon{width:40px;height:40px;flex-shrink:0}@media(min-width:480px){.grundriss-grid .radio-option-icon{width:50px;height:50px;margin-bottom:8px}}@media(min-width:768px){.grundriss-grid .radio-option-icon{width:64px;height:64px}}.grundriss-grid .radio-option-icon svg{width:100%;height:100%}.grundriss-grid .radio-option-text{align-items:flex-start}@media(min-width:480px){.grundriss-grid .radio-option-text{align-items:center}}.gebaeude-grid.two-col{display:grid;grid-template-columns:1fr;gap:.5rem;width:100%}@media(min-width:480px){.gebaeude-grid.two-col{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media(min-width:768px){.gebaeude-grid.two-col{gap:15px}}.gebaeude-grid.two-col .radio-option{flex-direction:row;text-align:left;padding:.75rem 1rem}@media(min-width:480px){.gebaeude-grid.two-col .radio-option{flex-direction:column;text-align:center;padding:.875rem}}@media(min-width:768px){.gebaeude-grid.two-col .radio-option{padding:15px}}.gebaeude-grid.two-col .radio-option-content{flex-direction:row;align-items:center;gap:.75rem}@media(min-width:480px){.gebaeude-grid.two-col .radio-option-content{flex-direction:column;gap:0}}.gebaeude-grid.two-col .radio-option-icon{width:40px;height:40px;flex-shrink:0}@media(min-width:480px){.gebaeude-grid.two-col .radio-option-icon{width:50px;height:50px;margin-bottom:8px}}@media(min-width:768px){.gebaeude-grid.two-col .radio-option-icon{width:64px;height:64px}}.gebaeude-grid.two-col .radio-option-icon svg{width:100%;height:100%}.gebaeude-grid.two-col .radio-option-text{align-items:flex-start}@media(min-width:480px){.gebaeude-grid.two-col .radio-option-text{align-items:center}}.typ-grid.four-col{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;width:100%}@media(min-width:480px){.typ-grid.four-col{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media(min-width:768px){.typ-grid.four-col{grid-template-columns:repeat(4,1fr);gap:15px}}.typ-grid.four-col .radio-option{flex-direction:column;text-align:center;padding:.75rem}@media(min-width:768px){.typ-grid.four-col .radio-option{padding:15px}}.typ-grid.four-col .radio-option-content{flex-direction:column;align-items:center}.typ-grid.four-col .radio-option-icon{width:50px;height:45px;margin-bottom:8px}@media(min-width:768px){.typ-grid.four-col .radio-option-icon{width:64px;height:55px}}.typ-grid.four-col .radio-option-icon svg{width:100%;height:100%}.typ-grid.four-col .radio-option-text{align-items:center}.konstruktion-grid.three-col{display:grid;grid-template-columns:1fr;gap:.5rem;width:100%}@media(min-width:480px){.konstruktion-grid.three-col{grid-template-columns:repeat(3,1fr);gap:.75rem}}@media(min-width:768px){.konstruktion-grid.three-col{gap:15px}}.konstruktion-grid.three-col .radio-option{flex-direction:row;text-align:left;padding:.75rem 1rem}@media(min-width:480px){.konstruktion-grid.three-col .radio-option{flex-direction:column;text-align:center;padding:.875rem}}@media(min-width:768px){.konstruktion-grid.three-col .radio-option{padding:15px}}.konstruktion-grid.three-col .radio-option-content{flex-direction:row;align-items:center;gap:.75rem}@media(min-width:480px){.konstruktion-grid.three-col .radio-option-content{flex-direction:column;gap:0}}.konstruktion-grid.three-col .radio-option-icon{width:40px;height:40px;flex-shrink:0}@media(min-width:480px){.konstruktion-grid.three-col .radio-option-icon{width:50px;height:50px;margin-bottom:8px}}@media(min-width:768px){.konstruktion-grid.three-col .radio-option-icon{width:64px;height:64px}}.konstruktion-grid.three-col .radio-option-icon svg{width:100%;height:100%}.konstruktion-grid.three-col .radio-option-text{align-items:flex-start}@media(min-width:480px){.konstruktion-grid.three-col .radio-option-text{align-items:center}}.wandmasse-container{display:flex;gap:30px;align-items:flex-start;width:100%}.wandmasse-preview{flex-shrink:0;padding:20px;background:var(--color-background);border-radius:8px;display:flex;align-items:center;justify-content:center}.wandmasse-preview svg{width:120px;height:120px}.wandmasse-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px;flex:1}.wandmasse-inputs .number-field{min-width:auto}.calculated-area{margin-top:20px;padding:15px;background:var(--color-primary-light);border-radius:8px;border-left:4px solid var(--color-primary);font-size:1rem}.calculated-area .area-note{color:var(--color-text-secondary);font-size:.9rem}.anbau-toggle{display:flex;gap:15px;flex-wrap:wrap;width:100%}.anbau-toggle .radio-option{flex:1;min-width:200px}.anbau-typ-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;width:100%}.anbau-typ-grid .radio-option{flex-direction:column;text-align:center;padding:20px}.anbau-typ-grid .radio-option-content{flex-direction:column;align-items:center}.anbau-typ-grid .radio-option-icon{width:100px;height:75px;margin-bottom:10px}.anbau-typ-grid .radio-option-icon svg{width:100%;height:100%}.anbau-typ-grid .radio-option-text{align-items:center}.anbau-layout{display:grid;grid-template-columns:1fr;gap:1rem;width:100%;padding:var(--spacing-3);background:var(--color-info-light);border:1px solid var(--color-info);border-radius:var(--radius-sm)}@media(min-width:480px){.anbau-layout{grid-template-columns:1fr 1fr;gap:1.5rem}}.anbau-layout-diagram{display:flex;align-items:center;justify-content:center}.anbau-diagram-svg{width:100%;max-width:200px;height:auto}.anbau-masse-inputs .number-field{min-width:auto}.gaube-details{margin-top:20px;padding:15px;background:var(--color-surface-alt);border-radius:8px;border-left:4px solid var(--color-primary)}.gaube-details h4{margin:0 0 15px;color:var(--color-text);font-size:1rem}.gaube-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:15px}.gaube-inputs .number-field,.gaube-inputs .select-field{min-width:auto}.wandmasse-container{display:flex;flex-direction:column;gap:1.25rem;align-items:flex-start;width:100%}@media(min-width:768px){.wandmasse-container{flex-direction:row;gap:30px}}.wandmasse-preview{width:100%;justify-content:center;flex-shrink:0;padding:1rem;background:var(--color-background);border-radius:8px;display:flex;align-items:center}@media(min-width:768px){.wandmasse-preview{width:auto;padding:20px}}.wandmasse-inputs{display:grid;grid-template-columns:1fr;gap:.75rem;flex:1;width:100%}@media(min-width:480px){.wandmasse-inputs{grid-template-columns:repeat(2,1fr);gap:15px}}@media(min-width:768px){.wandmasse-inputs{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.anbau-toggle{display:flex;flex-direction:column;gap:.75rem;width:100%}@media(min-width:480px){.anbau-toggle{flex-direction:row;flex-wrap:wrap;gap:15px}}.anbau-toggle .radio-option{flex:1;min-width:0;width:100%}@media(min-width:480px){.anbau-toggle .radio-option{min-width:200px;width:auto}}.anbau-typ-grid{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media(min-width:768px){.anbau-typ-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}}.anbau-masse-container{width:100%}.anbau-masse-inputs{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media(min-width:480px){.anbau-masse-inputs{grid-template-columns:repeat(2,1fr);gap:15px}}.gaube-inputs{display:grid;grid-template-columns:1fr;gap:.75rem}@media(min-width:480px){.gaube-inputs{grid-template-columns:repeat(2,1fr);gap:15px}}@media(min-width:768px){.gaube-inputs{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.fenster-row{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media(min-width:480px){.fenster-row{grid-template-columns:1fr 1fr;gap:1rem}}.fenster-row .form-field,.fenster-row .select-field,.fenster-row .number-field{margin-bottom:0;width:100%;min-width:0}.fenster-row .select-field select,.fenster-row .number-field input{width:100%}.haustechnik-row{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media(min-width:480px){.haustechnik-row{grid-template-columns:1fr 1fr;gap:1rem}}.haustechnik-row .form-field,.haustechnik-row .select-field,.haustechnik-row .number-field{margin-bottom:0;width:100%;min-width:0}.haustechnik-row .select-field select,.haustechnik-row .number-field input{width:100%}.lueftung-checkboxes{display:flex;flex-direction:column;gap:.5rem;width:100%}.lueftung-checkboxes .checkbox-field{transition:transform .15s ease}.lueftung-checkboxes .checkbox-field:hover{transform:translate(4px)}.lueftung-checkboxes .checkbox-field .checkbox-icon{width:40px;height:40px;flex-shrink:0}.lueftung-checkboxes .checkbox-field .checkbox-icon svg{width:36px;height:36px}.anlass-intro{margin-bottom:25px}.anlass-list,.ausweis-list{border:none;margin:0;padding:0}.anlass-list{display:flex;flex-direction:column;gap:.75rem;width:100%}.anlass-list-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:all .2s ease;min-height:var(--touch-target-comfortable, 48px)}@media(min-width:480px){.anlass-list-item{gap:1rem;padding:1rem 1.25rem}}.anlass-list-item:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.anlass-list-item.selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 2px 8px var(--color-shadow-primary, rgba(59, 130, 246, .15))}.anlass-list-item:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}.anlass-list-icon{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-background);border-radius:10px;transition:background .2s ease}@media(min-width:480px){.anlass-list-icon{width:48px;height:48px}}.anlass-list-item.selected .anlass-list-icon{background:var(--color-primary)}.anlass-list-icon svg{width:28px;height:28px}@media(min-width:480px){.anlass-list-icon svg{width:32px;height:32px}}.anlass-list-content{flex:1;min-width:0;text-align:left}.anlass-list-header{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}@media(min-width:480px){.anlass-list-header{flex-direction:row;align-items:center;gap:.75rem;flex-wrap:wrap}}.anlass-list-label{font-weight:600;color:var(--color-text);font-size:.95rem;line-height:1.3}@media(min-width:480px){.anlass-list-label{font-size:1rem}}.anlass-list-badge{display:inline-flex;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:500;border-radius:10px;white-space:nowrap}@media(min-width:480px){.anlass-list-badge{padding:3px 10px;font-size:.75rem}}.anlass-list-badge.badge-warning{background:var(--color-warning-light);color:var(--color-warning-dark)}.anlass-list-badge.badge-info{background:var(--color-info-light);color:var(--color-info-dark)}.anlass-list-badge.badge-success{background:var(--color-success-light);color:var(--color-success-dark)}.anlass-list-desc{margin:0;font-size:.8rem;color:var(--color-text-secondary);line-height:1.4;display:none}@media(min-width:480px){.anlass-list-desc{display:block;font-size:.85rem}}.anlass-list-radio{position:relative;flex-shrink:0}.anlass-list-radio input{position:absolute;opacity:0;width:0;height:0}.anlass-radio-indicator{display:block;width:22px;height:22px;border:2px solid var(--color-border);border-radius:50%;background:var(--color-surface);transition:all .2s ease}.anlass-list-item:hover .anlass-radio-indicator{border-color:var(--color-primary)}.anlass-list-item.selected .anlass-radio-indicator{border-color:var(--color-primary);background:var(--color-primary)}.anlass-list-item.selected .anlass-radio-indicator:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--color-surface);border-radius:50%}.anlass-check-indicator{display:block;width:22px;height:22px;border:2px solid var(--color-border);border-radius:4px;background:var(--color-surface);transition:all .2s ease;position:relative}.anlass-list-item:hover .anlass-check-indicator{border-color:var(--color-primary)}.anlass-list-item.selected .anlass-check-indicator{border-color:var(--color-primary);background:var(--color-primary)}.anlass-list-item.selected .anlass-check-indicator:after{content:"";position:absolute;top:3px;left:6px;width:6px;height:10px;border:solid var(--color-surface);border-width:0 2px 2px 0;transform:rotate(45deg)}.anlass-grid,.anlass-option{display:none}.anlass-hinweis-box{padding:15px 20px;background:var(--color-info-light);border-left:4px solid var(--color-info);border-radius:var(--radius-sm);margin-bottom:25px}.anlass-hinweis-box p{margin:0;color:var(--color-text);font-size:.95rem;line-height:1.5}.ausweis-badge{display:inline-block;padding:4px 12px;font-size:.75rem;font-weight:600;border-radius:12px;margin-top:-5px;margin-bottom:10px}.ausweis-badge.empfohlen{background:var(--color-success-light);color:var(--color-success-dark)}.ausweis-badge.nicht-verfuegbar{background:var(--color-error-light);color:var(--color-error)}.ausweis-hinweis{margin:0;padding:10px 15px;border-radius:var(--radius-sm);font-size:.85rem;line-height:1.4}.ausweis-hinweis.info{background:var(--color-info-light);color:var(--color-info-dark)}.ausweis-hinweis.warnung{background:var(--color-error-light);color:var(--color-error)}.ausweis-option-wrapper.disabled{opacity:.6}.ausweis-option-wrapper.disabled .radio-option{cursor:not-allowed}.ausweis-option-wrapper.disabled .radio-option:hover{border-color:var(--color-border);background:var(--color-surface)}.ausweis-intro{margin-bottom:25px}.intro-text{color:var(--color-text-secondary);font-size:1rem;line-height:1.6}.ausweis-list{display:flex;flex-direction:column;gap:.75rem;width:100%}.ausweis-list-item{display:flex;align-items:flex-start;gap:.875rem;padding:1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:all .2s ease;position:relative}@media(min-width:480px){.ausweis-list-item{gap:1rem;padding:1.25rem}}.ausweis-list-item:hover:not(.disabled){border-color:var(--color-primary);background:var(--color-primary-light)}.ausweis-list-item.selected{border-color:var(--color-primary);background:var(--color-primary-light);box-shadow:0 2px 8px var(--color-shadow-primary, rgba(59, 130, 246, .15))}.ausweis-list-item.empfohlen{border-color:var(--color-success);background:linear-gradient(to right,var(--color-success-light),var(--color-surface))}.ausweis-list-item.empfohlen:hover:not(.disabled){background:var(--color-success-light)}.ausweis-list-item.empfohlen.selected{border-color:var(--color-success);background:var(--color-success-light);box-shadow:0 2px 8px var(--color-shadow-success, rgba(16, 185, 129, .2))}.ausweis-list-item.disabled{opacity:.6;cursor:not-allowed;background:var(--color-background)}.ausweis-list-item:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}.ausweis-list-item.empfohlen:focus{box-shadow:0 0 0 3px var(--color-success-light)}.ausweis-empfohlen-star{position:absolute;top:-10px;right:12px;width:24px;height:24px;background:var(--color-success);color:var(--color-text-on-primary, #fff);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;box-shadow:0 2px 4px var(--color-shadow, rgba(0, 0, 0, .15))}.ausweis-list-icon{width:48px;height:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-background);border-radius:12px;transition:background .2s ease}@media(min-width:480px){.ausweis-list-icon{width:52px;height:52px}}.ausweis-list-item.selected .ausweis-list-icon{background:var(--color-primary)}.ausweis-list-item.empfohlen .ausweis-list-icon{background:var(--color-success-light)}.ausweis-list-item.empfohlen.selected .ausweis-list-icon{background:var(--color-success)}.ausweis-list-icon svg{width:28px;height:28px}@media(min-width:480px){.ausweis-list-icon svg{width:32px;height:32px}}.ausweis-list-content{flex:1;min-width:0;text-align:left}.ausweis-list-header{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}@media(min-width:480px){.ausweis-list-header{flex-direction:row;align-items:center;gap:.75rem;flex-wrap:wrap}}.ausweis-list-label{font-weight:600;color:var(--color-text);font-size:.95rem;line-height:1.3}@media(min-width:480px){.ausweis-list-label{font-size:1rem}}.ausweis-list-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:.7rem;font-weight:600;border-radius:10px;white-space:nowrap}@media(min-width:480px){.ausweis-list-badge{padding:3px 10px;font-size:.75rem}}.ausweis-list-badge.badge-success{background:var(--color-success);color:var(--color-text-on-primary, #fff)}.ausweis-list-badge.badge-warning{background:var(--color-warning);color:var(--color-warning-text, #92400e)}.ausweis-list-badge.badge-error{background:var(--color-error);color:var(--color-text-on-primary, #fff)}.ausweis-list-badge svg{width:12px;height:12px}.ausweis-list-subtitle{margin:0 0 .5rem;font-size:.85rem;color:var(--color-text-secondary);line-height:1.4}.ausweis-detail-tags{display:none;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}@media(min-width:480px){.ausweis-detail-tags{display:flex}}.ausweis-detail-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;background:var(--color-background);border-radius:6px;color:var(--color-text-secondary)}.ausweis-detail-tag svg{width:12px;height:12px;color:var(--color-success)}.ausweis-warning-text{font-size:.8rem;color:var(--color-error);background:var(--color-error-light);padding:.5rem .75rem;border-radius:6px;margin-top:.5rem;line-height:1.4}.ausweis-info-hint{margin:.5rem 0 0;font-size:.8rem;color:var(--color-info-dark);background:var(--color-info-light);padding:.5rem .75rem;border-radius:6px;line-height:1.4}.ausweis-list-radio{position:relative;flex-shrink:0;margin-top:4px}.ausweis-list-radio input{position:absolute;opacity:0;width:0;height:0}.ausweis-radio-indicator{display:block;width:22px;height:22px;border:2px solid var(--color-border);border-radius:50%;background:var(--color-surface);transition:all .2s ease}.ausweis-list-item:hover:not(.disabled) .ausweis-radio-indicator{border-color:var(--color-primary)}.ausweis-list-item.empfohlen:hover:not(.disabled) .ausweis-radio-indicator{border-color:var(--color-success)}.ausweis-list-item.selected .ausweis-radio-indicator{border-color:var(--color-primary);background:var(--color-primary)}.ausweis-list-item.empfohlen.selected .ausweis-radio-indicator{border-color:var(--color-success);background:var(--color-success)}.ausweis-list-item.selected .ausweis-radio-indicator:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--color-surface);border-radius:50%}.ausweis-grid,.ausweis-option-wrapper,.ausweis-details{display:none}.info-box{margin-top:25px;padding:20px;background:var(--color-info-light);border-radius:8px;border-left:4px solid var(--color-info)}.info-box h4{margin:0 0 10px;color:var(--color-info-dark)}.info-box p{margin:0 0 10px;color:var(--color-text);line-height:1.5}.info-box p:last-child{margin-bottom:0}.info-toggle{margin-top:15px;width:100%}.info-toggle-trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;background:transparent;border:1px dashed var(--color-info);border-radius:6px;cursor:pointer;color:var(--color-info-dark);font-size:.9rem;transition:all .2s ease}.info-toggle-trigger:hover{background:var(--color-info-light);border-color:var(--color-info-dark)}.info-toggle.open .info-toggle-trigger{background:var(--color-info-light);border-color:var(--color-info-dark);border-style:solid;border-bottom-left-radius:0;border-bottom-right-radius:0}.info-toggle-icon{font-size:1rem}.info-toggle-label{flex:1;text-align:left;font-weight:500}.info-toggle-arrow{font-size:.7rem;opacity:.7}.info-toggle-content{padding:15px;background:var(--color-info-light);border:1px solid var(--color-info-dark);border-top:none;border-radius:0 0 6px 6px;animation:slideDown .2s ease-out}.info-toggle-content p{margin:0;color:var(--color-text);line-height:1.5;font-size:.9rem}.info-toggle-content p+p{margin-top:10px}.ausweis-type-badge{display:inline-block;padding:6px 14px;background:var(--color-primary-light);color:var(--color-success-text);font-size:.85rem;font-weight:600;border-radius:20px;margin-bottom:20px}.gebaeude-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;width:100%}.gebaeude-grid .radio-option{flex-direction:column;text-align:center;padding:20px}.gebaeude-grid .radio-option-content{flex-direction:column;align-items:center}.gebaeude-grid .radio-option-icon{width:50px;height:50px;margin-bottom:10px}.warmwasser-art-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;width:100%}.warmwasser-art-grid .radio-option{flex-direction:column;text-align:center;padding:20px}.warmwasser-art-grid .radio-option-content{flex-direction:column;align-items:center}.warmwasser-art-grid .radio-option-icon{width:50px;height:50px;margin-bottom:10px}.periode-inputs{display:flex;flex-direction:column;gap:15px;width:100%}.mod-intro{margin-bottom:20px}.mod-item{display:flex;gap:20px;align-items:flex-start;width:100%}.mod-icon{flex-shrink:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--color-background);border-radius:8px}.mod-fields{flex:1;display:flex;flex-direction:column;gap:15px}.mod-fields .checkbox-field{margin-bottom:0}.mod-fields .select-field{max-width:250px}.gebaeude-grid{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media(min-width:480px){.gebaeude-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.gebaeude-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}}.warmwasser-art-grid{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media(min-width:768px){.warmwasser-art-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}}.mod-item{display:flex;flex-direction:column;gap:1rem;align-items:flex-start;width:100%}@media(min-width:768px){.mod-item{flex-direction:row;gap:20px}}.mod-icon{align-self:center;flex-shrink:0;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--color-background);border-radius:8px}@media(min-width:768px){.mod-icon{align-self:flex-start}}.mod-fields .select-field{max-width:100%}@media(min-width:768px){.mod-fields .select-field{max-width:250px}}.conditional-field{animation:conditionalFadeIn .3s ease-out forwards;width:100%}@keyframes conditionalFadeIn{0%{opacity:0;transform:translateY(-8px);max-height:0}to{opacity:1;transform:translateY(0);max-height:5000px}}.conditional-field.with-indicator{position:relative;padding-left:12px;margin-left:4px;display:flex;flex-direction:column;gap:var(--spacing-4)}.conditional-field.with-indicator:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-primary);border-radius:2px;opacity:.6}.dependency-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--color-info-light);color:var(--color-info-dark);font-size:.7rem;font-weight:500;border-radius:10px;margin-left:8px}.dependency-badge:before{content:"↳";font-size:.8rem}.form-section.conditional-section{animation:sectionReveal .35s ease-out forwards;overflow:hidden}@keyframes sectionReveal{0%{opacity:0;transform:translateY(-12px) scale(.98);max-height:0}to{opacity:1;transform:translateY(0) scale(1);max-height:2000px}}@media(prefers-reduced-motion:reduce){.conditional-field,.form-section.conditional-section{animation:none;opacity:1;transform:none}}.vollgeschoss-info{margin-top:var(--spacing-3);padding:0;background:none;border:none;width:100%}.vollgeschoss-explainer{display:grid;grid-template-columns:1fr;gap:1rem;padding:var(--spacing-3);background:var(--color-info-light);border:1px solid var(--color-info);border-radius:var(--radius-sm)}@media(min-width:480px){.vollgeschoss-explainer{grid-template-columns:1fr 1fr;gap:1rem}}.vollgeschoss-graphic{display:flex;align-items:flex-start;justify-content:center;padding-top:.5rem}.vollgeschoss-graphic svg{display:block;width:100%;max-width:130px;height:auto}.vg-roof{fill:var(--color-info-light);stroke:var(--color-info);stroke-width:1.5}.vg-floor{fill:var(--color-primary-light);stroke:var(--color-primary);stroke-width:1.5}.vg-ground{stroke:#8b7355;stroke-width:2}.vg-grass{stroke:var(--color-primary);stroke-width:1}.vg-keller{fill:var(--color-info-light);stroke:var(--color-info);stroke-width:1.5}.vg-text-muted{fill:var(--color-text-secondary)}.vg-text-green{fill:var(--color-primary)}.vollgeschoss-legend{min-width:0;display:flex;flex-direction:column;justify-content:center}.vg-legend-title{font-size:.85rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem}.vg-legend-item{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.82rem}.vg-legend-letter{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;font-weight:700;font-size:.8rem;background:var(--color-info-light);color:var(--color-text-secondary);border:1px solid var(--color-info);flex-shrink:0}.vg-legend-letter.vg-letter-ja{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.vg-legend-desc{flex:1;color:var(--color-text-secondary)}.vg-legend-badge{font-size:.75rem;font-weight:700;padding:1px 8px;border-radius:10px;flex-shrink:0}.vg-badge-ja{background:#22c55e26;color:#22c55e}.vg-badge-nein{background:#dc35451f;color:#dc3545}.vg-legend-hint{margin-top:.5rem;font-size:.8rem;color:var(--color-text-secondary)}.vg-legend-hint strong{color:var(--color-primary)}.vg-explainer-note{grid-column:1 / -1;margin:0;padding-top:.5rem;border-top:1px solid var(--color-border);font-size:.78rem;color:var(--color-text-secondary);line-height:1.4}.anbau-diagram-svg .anbau-haus{fill:var(--color-info-light);stroke:var(--color-info);stroke-width:1.5}.anbau-diagram-svg .anbau-ext{fill:var(--color-primary-light);stroke:var(--color-primary);stroke-width:2}.anbau-diagram-svg .anbau-label-haus{fill:var(--color-text-muted);font-size:14px;font-weight:600}.anbau-diagram-svg .anbau-label-ext{fill:var(--color-primary);font-size:13px;font-weight:600}.anbau-diagram-svg .anbau-shared{stroke:var(--color-primary);stroke-width:2.5}.anbau-diagram-svg .anbau-dim-label{fill:var(--color-text-secondary)}.section-description{color:var(--color-text-secondary, #666);font-size:.875rem;margin-bottom:1rem;line-height:1.5}.section-hint{color:var(--color-text-secondary, #666);font-size:.85rem;margin-bottom:1rem;padding:.5rem .75rem;background:var(--color-info-light, #e7f3ff);border-left:3px solid var(--color-info, #3b82f6);border-radius:0 4px 4px 0;line-height:1.4}.himmelsrichtung-grid{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}@media(min-width:480px){.himmelsrichtung-grid{display:grid;grid-template-columns:1fr 80px 1fr;grid-template-rows:auto auto auto;gap:.5rem;max-width:360px;margin:1rem auto;align-items:center}}@media(min-width:768px){.himmelsrichtung-grid{grid-template-columns:1fr 100px 1fr;max-width:400px}}.himmelsrichtung-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;background:var(--color-surface-alt, #f8f9fa);border-radius:var(--radius-md, 8px)}@media(min-width:480px){.himmelsrichtung-item{flex-direction:column;justify-content:center;padding:.5rem;background:transparent;border-radius:0}.himmelsrichtung-item.nord{grid-column:2;grid-row:1}.himmelsrichtung-item.west{grid-column:1;grid-row:2}.himmelsrichtung-item.ost{grid-column:3;grid-row:2}.himmelsrichtung-item.sued{grid-column:2;grid-row:3}}.himmelsrichtung-compass{display:none}@media(min-width:480px){.himmelsrichtung-compass{display:flex;grid-column:2;grid-row:2;justify-content:center;align-items:center}}.compass-indicator{width:50px;height:50px;border:2px solid var(--color-border, #ddd);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--color-surface, #f8f9fa);position:relative}@media(min-width:768px){.compass-indicator{width:60px;height:60px}}.compass-n{position:absolute;top:4px;font-size:.625rem;font-weight:600;color:var(--color-primary, #0066cc)}@media(min-width:768px){.compass-n{font-size:.7rem}}.compass-center{font-size:1.25rem;color:var(--color-text-secondary, #666)}@media(min-width:768px){.compass-center{font-size:1.5rem}}.richtung-label{font-weight:500;font-size:.9375rem;color:var(--color-text, #333)}@media(min-width:480px){.richtung-label{font-size:.85rem}}.himmelsrichtung-item .form-field{width:100%;max-width:none;flex:1}@media(min-width:480px){.himmelsrichtung-item .form-field{max-width:100px;flex:none}}.himmelsrichtung-item select{text-align:center;padding:.75rem 1rem;min-height:var(--touch-target-min, 44px);font-size:1rem;border-radius:var(--radius-md, 8px);border:1px solid var(--color-border, #ddd);background:var(--color-surface, #fff);width:100%}@media(min-width:480px){.himmelsrichtung-item select{padding:.5rem;font-size:.9375rem}}.summe-anzeige{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;border-radius:var(--radius-md, 8px);margin-top:1rem;font-weight:500;transition:all .2s ease}.summe-anzeige.valid{background:var(--color-success-light, #d4edda);color:var(--color-success-text, #155724);border:1px solid var(--color-success, #c3e6cb)}.summe-anzeige.invalid{background:var(--color-warning-bg, #fff3cd);color:var(--color-warning-text, #856404);border:1px solid var(--color-warning-border, #ffeeba)}.summe-label{font-size:.9rem}.summe-wert{font-size:1.1rem;font-weight:600}.summe-hinweis{font-size:.8rem;font-style:italic;width:100%;text-align:center}@media(min-width:480px){.summe-hinweis{width:auto}}.summe-ok{font-size:1.2rem;margin-left:.25rem}.weitere-oeffnungen-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-top:.5rem}@media(min-width:480px){.weitere-oeffnungen-grid{grid-template-columns:repeat(2,1fr);gap:1rem}}@media(min-width:768px){.weitere-oeffnungen-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.weitere-oeffnungen-grid .form-field{margin-bottom:0}[data-theme=dark] .himmelsrichtung-item{background:var(--color-surface-alt)}@media(min-width:480px){[data-theme=dark] .himmelsrichtung-item{background:transparent}}[data-theme=dark] .compass-indicator{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .himmelsrichtung-item select{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.verbrauch-gebaeude .info-hint{margin-top:.75rem;padding:.75rem 1rem;background:var(--color-warning-bg);border-left:3px solid var(--color-accent);border-radius:0 4px 4px 0;font-size:.85rem;line-height:1.5}.verbrauch-gebaeude .info-hint.warning{background:var(--color-warning-bg);border-left-color:var(--color-accent)}.verbrauch-gebaeude .select-field,.verbrauch-gebaeude .input-field,.verbrauch-gebaeude .number-field{width:100%}.verbrauch-gebaeude .anzahl-wohnungen-row{margin-top:1rem;max-width:250px}.leerstand-zeitraum-card{width:100%;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;padding:.75rem;margin-bottom:1rem;transition:border-color .2s ease,box-shadow .2s ease;overflow:hidden;box-sizing:border-box}@media(min-width:768px){.leerstand-zeitraum-card{padding:1rem}}.leerstand-zeitraum-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #4a7c3f1a}.leerstand-zeitraum-card.has-error{border-color:var(--color-error, #ef4444);background:var(--color-error-light, #fef2f2)}.leerstand-zeitraum-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-light)}.leerstand-zeitraum-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#fef3c7;border-radius:50%;flex-shrink:0}.leerstand-zeitraum-icon svg{width:16px;height:16px}.leerstand-zeitraum-title{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:var(--color-text);flex:1}.leerstand-delete-btn{margin-left:auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #fca5a5;border-radius:4px;color:#ef4444;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease}.leerstand-delete-btn:hover:not(:disabled){background:#fee2e2;border-color:#ef4444}.leerstand-delete-btn:disabled{opacity:.5;cursor:not-allowed}.leerstand-zeitraum-content{display:flex;flex-direction:column;gap:.75rem}.leerstand-row{width:100%;display:grid;grid-template-columns:1fr;gap:.75rem;align-items:start}@media(min-width:480px){.leerstand-row{grid-template-columns:1fr 1fr}}.leerstand-datum-row{grid-template-columns:1fr 1fr;align-items:end}.leerstand-field{display:flex;flex-direction:column;min-width:0;overflow:hidden}.leerstand-field label{display:block;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:.35rem;font-weight:500}.leerstand-field input[type=date]{width:100%;padding:.625rem .75rem;min-height:48px;border:1px solid var(--color-border, #e2e8f0);border-radius:6px;font-size:.9375rem;color:var(--color-text, #1e293b);background:#fff;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.leerstand-field input[type=date]:focus{outline:none;border-color:var(--color-primary, #4a7c3f);box-shadow:0 0 0 3px #4a7c3f26}.leerstand-field input[type=date]:disabled{background:var(--color-surface-alt, #f1f5f9);cursor:not-allowed}.leerstand-field-flaeche{position:relative;width:100%}.leerstand-field-flaeche .number-field{width:100%}.leerstand-flaeche-hint{font-size:.75rem;color:var(--color-text-muted, #94a3b8);margin-top:.25rem}.leerstand-field-beschreibung{width:100%}.leerstand-zeitraum-card .number-field,.leerstand-zeitraum-card .input-field{margin:0;width:100%;min-width:0}.leerstand-zeitraum-card .number-field label,.leerstand-zeitraum-card .input-field label{font-size:.9rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.35rem}.leerstand-field.field-error input[type=date]{border-color:var(--color-error, #ef4444);background:#ef44440d}.leerstand-field.field-error input[type=date]:focus{border-color:var(--color-error, #ef4444);box-shadow:0 0 0 3px #ef444426}.leerstand-field.field-error .number-field input{border-color:var(--color-error, #ef4444)!important;background:#ef44440d}.leerstand-field.field-error .number-field input:focus{box-shadow:0 0 0 3px #ef444426}.leerstand-field-error{display:block;font-size:.75rem;color:var(--color-error, #ef4444);margin-top:.25rem;font-weight:500}.leerstand-zeitraum-fehler{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--color-error-light, #fef2f2);border-radius:8px;margin-top:.5rem}.leerstand-fehler-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.8125rem;color:var(--color-error, #ef4444)}.leerstand-fehler-item svg{flex-shrink:0;margin-top:.125rem}[data-theme=dark] .leerstand-zeitraum-card{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .leerstand-zeitraum-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #4a7c3f33}[data-theme=dark] .leerstand-zeitraum-card.has-error{background:#ef44441a}[data-theme=dark] .leerstand-zeitraum-icon{background:#d9770633}[data-theme=dark] .leerstand-zeitraum-header{border-color:var(--color-border)}[data-theme=dark] .leerstand-zeitraum-title{color:var(--color-text, #e4e4e7)}[data-theme=dark] .leerstand-field label{color:var(--color-text-secondary, #a1a1aa)}[data-theme=dark] .leerstand-field input[type=date]{background:var(--color-surface, #27272a);border-color:var(--color-border, #3f3f46);color:var(--color-text, #e4e4e7)}[data-theme=dark] .leerstand-field input[type=date]:focus{border-color:var(--color-primary, #5a9c4f);box-shadow:0 0 0 3px #5a9c4f33}[data-theme=dark] .leerstand-delete-btn{border-color:#ef444466;color:#f87171}[data-theme=dark] .leerstand-delete-btn:hover:not(:disabled){background:#ef444433;border-color:#ef4444}[data-theme=dark] .leerstand-zeitraum-fehler{background:#ef444426}[data-theme=dark] .leerstand-field.field-error input[type=date]{border-color:var(--color-error, #ef4444);background:#ef44441a}[data-theme=dark] .leerstand-field.field-error .number-field input{border-color:var(--color-error, #ef4444)!important;background:#ef44441a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .leerstand-zeitraum-card{background:var(--color-surface);border-color:var(--color-border)}:root:not([data-theme=light]) .leerstand-zeitraum-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #4a7c3f33}:root:not([data-theme=light]) .leerstand-zeitraum-card.has-error{background:#ef44441a}:root:not([data-theme=light]) .leerstand-zeitraum-icon{background:#d9770633}:root:not([data-theme=light]) .leerstand-zeitraum-header{border-color:var(--color-border)}:root:not([data-theme=light]) .leerstand-zeitraum-title{color:var(--color-text, #e4e4e7)}:root:not([data-theme=light]) .leerstand-field label{color:var(--color-text-secondary, #a1a1aa)}:root:not([data-theme=light]) .leerstand-field input[type=date]{background:var(--color-surface, #27272a);border-color:var(--color-border, #3f3f46);color:var(--color-text, #e4e4e7)}:root:not([data-theme=light]) .leerstand-field input[type=date]:focus{border-color:var(--color-primary, #5a9c4f);box-shadow:0 0 0 3px #5a9c4f33}:root:not([data-theme=light]) .leerstand-delete-btn{border-color:#ef444466;color:#f87171}:root:not([data-theme=light]) .leerstand-delete-btn:hover:not(:disabled){background:#ef444433;border-color:#ef4444}:root:not([data-theme=light]) .leerstand-zeitraum-fehler{background:#ef444426}}@media(min-width:768px){.leerstand-row{gap:1rem}}.leerstand-vorschau{display:flex;flex-direction:column;gap:1.5rem;width:100%}.leerstand-zeitstrahl{background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:12px;padding:1rem 1.25rem;width:100%;box-sizing:border-box;overflow:hidden}.zeitstrahl-header{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;font-size:.875rem;font-weight:500;color:var(--color-text-secondary, #64748b)}.zeitstrahl-legende{display:flex;flex-wrap:wrap;gap:1rem;font-size:.75rem;font-weight:400}.legende-item{display:flex;align-items:center;gap:.375rem}.legende-dot{width:10px;height:10px;border-radius:3px}.legende-item.heizperiode .legende-dot{background:#f59e0b}.legende-item.sommer .legende-dot{background:#22c55e}.legende-item.gemischt .legende-dot{background:linear-gradient(135deg,#f59e0b 25%,#22c55e 25% 50%,#f59e0b 50% 75%,#22c55e 75%);background-size:4px 4px}.zeitstrahl-track{position:relative;height:32px;background:var(--color-surface-alt, #f8fafc);border-radius:8px;overflow:hidden}.zeitstrahl-leerstand{position:absolute;top:4px;bottom:4px;border-radius:4px;min-width:4px}.zeitstrahl-leerstand.sommer{background:#22c55e}.zeitstrahl-leerstand.heizperiode{background:#f59e0b}.zeitstrahl-leerstand.gemischt{background:linear-gradient(135deg,#f59e0b 25%,#22c55e 25% 50%,#f59e0b 50% 75%,#22c55e 75%);background-size:8px 8px}.zeitstrahl-labels{display:flex;justify-content:space-between;align-items:center;height:20px;margin-top:.5rem;font-size:.6875rem;color:var(--color-text-muted, #94a3b8);position:relative}.zeitstrahl-label{white-space:nowrap}.zeitstrahl-label.edge:first-child{text-align:left}.zeitstrahl-label.edge:last-child{text-align:right}.zeitstrahl-label.middle{position:absolute;transform:translate(-50%);font-weight:500;color:var(--color-text-secondary, #64748b)}.leerstand-zusammenfassung{background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:12px;padding:1rem;width:100%;box-sizing:border-box}.leerstand-zusammenfassung.status-error{border-color:var(--color-error, #ef4444);background:var(--color-error-light, #fef2f2)}.leerstand-zusammenfassung.status-blocked{border-color:#3b82f6;background:#eff6ff}.leerstand-zusammenfassung.status-warning{border-color:var(--color-accent, #e6a817);background:var(--color-accent-light, #fffef5)}.leerstand-zusammenfassung.status-info{border-color:var(--color-primary, #4a7c3f);background:var(--color-primary-light, #e8f5e9)}.leerstand-zusammenfassung.status-gering{border-color:#94a3b8;background:#f8fafc}.zusammenfassung-header{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--color-text, #1e293b);margin-bottom:1rem}.status-error .zusammenfassung-header{color:var(--color-error, #ef4444)}.status-warning .zusammenfassung-header{color:var(--color-accent, #c2410c)}.status-info .zusammenfassung-header{color:var(--color-primary, #4a7c3f)}.status-blocked .zusammenfassung-header{color:#3b82f6}.status-gering .zusammenfassung-header{color:#64748b}.zusammenfassung-table{width:100%;border-collapse:collapse}.zusammenfassung-table td{padding:.375rem 0}.zusammenfassung-table .item-label{padding-right:1rem;white-space:nowrap}.zusammenfassung-table .item-value{text-align:right;white-space:nowrap}.zusammenfassung-table .hint-row td{padding-top:0;padding-bottom:.5rem}.item-label{font-size:.75rem;color:var(--color-text-secondary, #64748b)}.item-value{font-size:.9375rem;font-weight:500;color:var(--color-text, #1e293b)}.item-hint{font-size:.6875rem;color:var(--color-text-muted, #94a3b8);line-height:1.3;margin-top:.125rem}.zusammenfassung-hinweis{display:flex;align-items:flex-start;gap:.5rem;margin-top:1rem;padding:.75rem;border-radius:8px;font-size:.8125rem}.zusammenfassung-hinweis svg{flex-shrink:0;margin-top:.125rem}.zusammenfassung-hinweis.error{background:#ef44441a;color:var(--color-error, #ef4444)}.zusammenfassung-hinweis.warning{background:#e6a8171a;color:var(--color-accent, #c2410c)}.zusammenfassung-hinweis.info{background:#4a7c3f1a;color:var(--color-primary, #4a7c3f)}.zusammenfassung-hinweis.gering{background:#94a3b826;color:#64748b}.zusammenfassung-hinweis.blocked{background:#3b82f61a;color:#1d4ed8;flex-direction:column;align-items:flex-start}.zusammenfassung-hinweis.blocked>svg{display:none}.hinweis-content{display:flex;flex-direction:column;gap:.75rem;width:100%}.hinweis-link{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s ease;align-self:flex-start}.hinweis-link:hover{background:#2563eb}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .leerstand-zeitstrahl{background:var(--color-surface, #27272a);border-color:var(--color-border, #3f3f46)}:root:not([data-theme=light]) .zeitstrahl-header{color:var(--color-text-secondary, #a1a1aa)}:root:not([data-theme=light]) .zeitstrahl-track{background:var(--color-surface-alt, #3f3f46)}:root:not([data-theme=light]) .zeitstrahl-leerstand.sommer{background:#4ade80}:root:not([data-theme=light]) .zeitstrahl-leerstand.heizperiode{background:#fbbf24}:root:not([data-theme=light]) .zeitstrahl-leerstand.gemischt{background:linear-gradient(135deg,#fbbf24 25%,#4ade80 25% 50%,#fbbf24 50% 75%,#4ade80 75%);background-size:8px 8px}:root:not([data-theme=light]) .legende-item.heizperiode .legende-dot{background:#fbbf24}:root:not([data-theme=light]) .legende-item.sommer .legende-dot{background:#4ade80}:root:not([data-theme=light]) .legende-item.gemischt .legende-dot{background:linear-gradient(135deg,#fbbf24 25%,#4ade80 25% 50%,#fbbf24 50% 75%,#4ade80 75%);background-size:4px 4px}:root:not([data-theme=light]) .leerstand-zusammenfassung{background:var(--color-surface, #27272a);border-color:var(--color-border, #3f3f46)}:root:not([data-theme=light]) .leerstand-zusammenfassung.status-error{background:#ef44441a}:root:not([data-theme=light]) .leerstand-zusammenfassung.status-warning{background:#fbbf2426;border-color:#fbbf24}:root:not([data-theme=light]) .leerstand-zusammenfassung.status-info{background:#4ade801a;border-color:#4ade80}:root:not([data-theme=light]) .leerstand-zusammenfassung.status-blocked{background:#3b82f626;border-color:#60a5fa}:root:not([data-theme=light]) .leerstand-zusammenfassung.status-gering{background:#94a3b81a;border-color:#71717a}:root:not([data-theme=light]) .zusammenfassung-header{color:var(--color-text, #e4e4e7)}:root:not([data-theme=light]) .status-info .zusammenfassung-header{color:#4ade80}:root:not([data-theme=light]) .status-warning .zusammenfassung-header{color:#fbbf24}:root:not([data-theme=light]) .status-blocked .zusammenfassung-header{color:#60a5fa}:root:not([data-theme=light]) .status-gering .zusammenfassung-header{color:#a1a1aa}:root:not([data-theme=light]) .item-label{color:var(--color-text-secondary, #a1a1aa)}:root:not([data-theme=light]) .item-value{color:var(--color-text, #e4e4e7)}:root:not([data-theme=light]) .item-hint{color:var(--color-text-muted, #71717a)}:root:not([data-theme=light]) .zusammenfassung-hinweis.info{background:#4ade8026;color:#4ade80}:root:not([data-theme=light]) .zusammenfassung-hinweis.warning{background:#fbbf2426;color:#fbbf24}:root:not([data-theme=light]) .zusammenfassung-hinweis.error{background:#ef444426}:root:not([data-theme=light]) .zusammenfassung-hinweis.blocked{background:#3b82f626;color:#60a5fa}:root:not([data-theme=light]) .zusammenfassung-hinweis.gering{background:#94a3b81a;color:#a1a1aa}}[data-theme=dark] .leerstand-zeitstrahl{background:var(--color-surface, #27272a);border-color:var(--color-border, #3f3f46)}[data-theme=dark] .zeitstrahl-header{color:var(--color-text-secondary, #a1a1aa)}[data-theme=dark] .zeitstrahl-track{background:var(--color-surface-alt, #3f3f46)}[data-theme=dark] .zeitstrahl-leerstand.sommer{background:#4ade80}[data-theme=dark] .zeitstrahl-leerstand.heizperiode{background:#fbbf24}[data-theme=dark] .zeitstrahl-leerstand.gemischt{background:linear-gradient(135deg,#fbbf24 25%,#4ade80 25% 50%,#fbbf24 50% 75%,#4ade80 75%);background-size:8px 8px}[data-theme=dark] .legende-item.heizperiode .legende-dot{background:#fbbf24}[data-theme=dark] .legende-item.sommer .legende-dot{background:#4ade80}[data-theme=dark] .legende-item.gemischt .legende-dot{background:linear-gradient(135deg,#fbbf24 25%,#4ade80 25% 50%,#fbbf24 50% 75%,#4ade80 75%);background-size:4px 4px}[data-theme=dark] .leerstand-zusammenfassung{background:var(--color-surface, #27272a);border-color:var(--color-border, #3f3f46)}[data-theme=dark] .leerstand-zusammenfassung.status-error{background:#ef44441a}[data-theme=dark] .leerstand-zusammenfassung.status-warning{background:#fbbf2426;border-color:#fbbf24}[data-theme=dark] .leerstand-zusammenfassung.status-info{background:#4ade801a;border-color:#4ade80}[data-theme=dark] .leerstand-zusammenfassung.status-blocked{background:#3b82f626;border-color:#60a5fa}[data-theme=dark] .leerstand-zusammenfassung.status-gering{background:#94a3b81a;border-color:#71717a}[data-theme=dark] .zusammenfassung-header{color:var(--color-text, #e4e4e7)}[data-theme=dark] .status-info .zusammenfassung-header{color:#4ade80}[data-theme=dark] .status-warning .zusammenfassung-header{color:#fbbf24}[data-theme=dark] .status-blocked .zusammenfassung-header{color:#60a5fa}[data-theme=dark] .status-gering .zusammenfassung-header{color:#a1a1aa}[data-theme=dark] .item-label{color:var(--color-text-secondary, #a1a1aa)}[data-theme=dark] .item-value{color:var(--color-text, #e4e4e7)}[data-theme=dark] .item-hint{color:var(--color-text-muted, #71717a)}[data-theme=dark] .zusammenfassung-hinweis.info{background:#4ade8026;color:#4ade80}[data-theme=dark] .zusammenfassung-hinweis.warning{background:#fbbf2426;color:#fbbf24}[data-theme=dark] .zusammenfassung-hinweis.error{background:#ef444426}[data-theme=dark] .zusammenfassung-hinweis.blocked{background:#3b82f626;color:#60a5fa}[data-theme=dark] .zusammenfassung-hinweis.gering{background:#94a3b81a;color:#a1a1aa}@media(min-width:480px){.zeitstrahl-header{flex-direction:row;justify-content:space-between;align-items:center}.leerstand-zusammenfassung{padding:1.25rem}}@media(min-width:768px){.zeitstrahl-labels{font-size:.75rem}}.leerstand-warnungen{display:flex;flex-direction:column;gap:.75rem;width:100%}.leerstand-warnung{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-radius:10px;font-size:.875rem;width:100%;box-sizing:border-box}.leerstand-warnung-fehler{background:var(--color-error-light, #fef2f2);border:1px solid var(--color-error, #ef4444);color:var(--color-error, #ef4444)}.leerstand-warnung-warnung{background:var(--color-accent-light, #fffef5);border:1px solid var(--color-accent, #e6a817);color:var(--color-accent, #c2410c)}.leerstand-warnung-info{background:var(--color-primary-light, #e8f5e9);border:1px solid var(--color-primary, #4a7c3f);color:var(--color-primary, #4a7c3f)}.warnung-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:.0625rem}.warnung-content{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.warnung-titel{font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.025em}.warnung-nachricht{color:inherit;line-height:1.4}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .leerstand-warnung-fehler{background:#ef444426;border-color:var(--color-error, #f87171);color:#fca5a5}:root:not([data-theme=light]) .leerstand-warnung-warnung{background:var(--color-accent-light, #2a2510);border-color:var(--color-accent, #f0b827);color:var(--color-accent, #f0b827)}:root:not([data-theme=light]) .leerstand-warnung-info{background:var(--color-primary-light, rgba(90, 156, 79, .15));border-color:var(--color-primary, #5a9c4f);color:var(--color-primary, #5a9c4f)}}[data-theme=dark] .leerstand-warnung-fehler{background:#ef444426;border-color:var(--color-error, #f87171);color:#fca5a5}[data-theme=dark] .leerstand-warnung-warnung{background:var(--color-accent-light, #2a2510);border-color:var(--color-accent, #f0b827);color:var(--color-accent, #f0b827)}[data-theme=dark] .leerstand-warnung-info{background:var(--color-primary-light, rgba(90, 156, 79, .15));border-color:var(--color-primary, #5a9c4f);color:var(--color-primary, #5a9c4f)}@media(min-width:480px){.leerstand-warnung{padding:1rem 1.25rem}}.leerstand-eingabe{display:flex;flex-direction:column;gap:1.5rem;width:100%}.leerstand-eingabe.disabled{opacity:.6;pointer-events:none}.leerstand-zeitraeume{display:flex;flex-direction:column;gap:1rem;width:100%}.leerstand-empty-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;background:var(--color-surface-alt, #f8fafc);border:2px dashed var(--color-border, #e2e8f0);border-radius:8px;cursor:pointer;transition:all .2s ease;min-height:200px;width:100%;box-sizing:border-box}.leerstand-empty-add:hover{border-color:var(--color-primary, #4a7c3f);background:var(--color-primary-light, rgba(74, 124, 63, .1))}.leerstand-empty-add:hover .leerstand-empty-icon{background:var(--color-primary, #4a7c3f);color:#fff;transform:scale(1.1)}.leerstand-empty-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--color-surface, #ffffff);border:2px solid var(--color-border, #e2e8f0);border-radius:50%;color:var(--color-text-muted, #94a3b8);transition:all .2s ease}.leerstand-empty-text{text-align:center}.leerstand-empty-title{display:block;font-size:1.125rem;font-weight:600;color:var(--color-text, #1e293b);margin-bottom:.25rem}.leerstand-empty-hint{display:block;font-size:.875rem;color:var(--color-text-muted, #94a3b8)}.leerstand-add-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;margin-top:.5rem;background:transparent;border:2px dashed var(--color-border);border-radius:8px;color:var(--color-text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.leerstand-add-btn:hover:not(:disabled){background:var(--color-primary-light, rgba(74, 124, 63, .1));border-color:var(--color-primary, #4a7c3f);color:var(--color-primary, #4a7c3f)}.leerstand-add-btn:disabled{opacity:.5;cursor:not-allowed}.leerstand-max-hint{text-align:center;font-size:.875rem;color:var(--color-text-muted, #94a3b8);margin:0}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .leerstand-empty-add{background:var(--color-surface, #27272a);border-color:var(--color-border, #3f3f46)}:root:not([data-theme=light]) .leerstand-empty-add:hover{background:var(--color-primary-light, rgba(90, 156, 79, .15));border-color:var(--color-primary, #5a9c4f)}:root:not([data-theme=light]) .leerstand-empty-icon{background:var(--color-surface-alt, #3f3f46);border-color:var(--color-border-light, #52525b);color:var(--color-text-muted, #71717a)}:root:not([data-theme=light]) .leerstand-empty-title{color:var(--color-text, #e4e4e7)}:root:not([data-theme=light]) .leerstand-add-btn{border-color:var(--color-border, #3f3f46);color:var(--color-text-secondary, #a1a1aa)}:root:not([data-theme=light]) .leerstand-add-btn:hover:not(:disabled){background:var(--color-primary-light, rgba(90, 156, 79, .15));border-color:var(--color-primary, #5a9c4f);color:var(--color-primary, #5a9c4f)}}[data-theme=dark] .leerstand-empty-add{background:var(--color-surface, #27272a);border-color:var(--color-border, #3f3f46)}[data-theme=dark] .leerstand-empty-add:hover{background:var(--color-primary-light, rgba(90, 156, 79, .15));border-color:var(--color-primary, #5a9c4f)}[data-theme=dark] .leerstand-empty-icon{background:var(--color-surface-alt, #3f3f46);border-color:var(--color-border-light, #52525b);color:var(--color-text-muted, #71717a)}[data-theme=dark] .leerstand-empty-title{color:var(--color-text, #e4e4e7)}[data-theme=dark] .leerstand-add-btn{border-color:var(--color-border, #3f3f46);color:var(--color-text-secondary, #a1a1aa)}[data-theme=dark] .leerstand-add-btn:hover:not(:disabled){background:var(--color-primary-light, rgba(90, 156, 79, .15));border-color:var(--color-primary, #5a9c4f);color:var(--color-primary, #5a9c4f)}@media(min-width:480px){.leerstand-eingabe{gap:2rem}.leerstand-empty-add{padding:4rem 3rem;min-height:240px}}@media(min-width:768px){.leerstand-zeitraeume{gap:1.25rem}}.verbrauchsdaten .select-field,.verbrauchsdaten .input-field,.verbrauchsdaten .number-field{width:100%}.verbrauchsdaten .conditional-field{max-height:none!important;overflow:visible!important}.verbrauchsdaten .energietraeger-section{margin-top:1.5rem;width:100%}.verbrauch-einheit-hint{margin:.25rem 0 .75rem;padding:.5rem .75rem;font-size:.82rem;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-secondary, #f9fafb);border-left:3px solid var(--color-primary, #3b82f6);border-radius:0 6px 6px 0;line-height:1.4}[data-theme=dark] .verbrauch-einheit-hint{color:var(--color-text-secondary, #9ca3af);background:var(--color-bg-tertiary, #1f2937)}.verbrauch-einheit-hint.fernwaerme-hinweis{border-left-color:var(--color-validation-warning-accent, #f59e0b);background:var(--color-validation-warning-bg, #fef3c7);color:var(--color-validation-warning-heading, #92400e)}[data-theme=dark] .verbrauch-einheit-hint.fernwaerme-hinweis{background:#f59e0b1a;color:var(--color-validation-warning-text, #fcd34d)}.verbrauchsdaten .form-row{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem;width:100%}@media(min-width:480px){.verbrauchsdaten .form-row{grid-template-columns:1fr 1fr}}.verbrauchsdaten .periode-container{width:100%;margin-bottom:.5rem}.verbrauchsdaten .periode-card{width:100%;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;padding:.75rem;margin-bottom:1rem;transition:border-color .2s ease,box-shadow .2s ease;overflow:hidden;box-sizing:border-box}@media(min-width:768px){.verbrauchsdaten .periode-card{padding:1rem}}.verbrauchsdaten .periode-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #4a7c3f1a}.verbrauchsdaten .periode-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-light)}.verbrauchsdaten .periode-card-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-warning-bg);border-radius:50%}.verbrauchsdaten .periode-card-icon.water{background:var(--color-info-light)}.verbrauchsdaten .periode-card-icon.leerstand{background:#fef3c7}.verbrauchsdaten .periode-card-title{font-weight:600;font-size:.95rem;color:var(--color-text)}.verbrauchsdaten .periode-label{font-weight:500;font-style:italic;color:var(--color-text);margin-bottom:.5rem}.verbrauchsdaten .periode-inputs-row{width:100%;display:grid;grid-template-columns:1fr;gap:.75rem;align-items:start;margin-bottom:0}@media(min-width:480px){.verbrauchsdaten .periode-inputs-row{grid-template-columns:1fr 1fr}}@media(min-width:768px){.verbrauchsdaten .periode-inputs-row{grid-template-columns:1fr 1fr 1fr 1fr}}.verbrauchsdaten .periode-field{min-width:0;overflow:hidden}.verbrauchsdaten .periode-field .input-field,.verbrauchsdaten .periode-field .number-field,.verbrauchsdaten .periode-field .select-field{width:100%;min-width:0}.verbrauchsdaten .periode-field label{display:block;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:.35rem;font-weight:500}.verbrauchsdaten .periode-field.einheit{display:flex;flex-direction:column}.verbrauchsdaten .einheit-display{display:flex;align-items:center;justify-content:center;min-height:48px;height:100%;padding:0 .75rem;background:var(--color-primary-light);border-radius:6px;font-size:.95rem;color:var(--color-text);font-weight:500;border:1px solid var(--color-primary)}.verbrauchsdaten .periode-warmwasser-section{width:100%;margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--color-border)}.verbrauchsdaten .leerstande-section{width:100%;margin:1.5rem 0;overflow:visible}.verbrauchsdaten .leerstande-toggle{width:100%;padding:1rem 1.25rem;background:linear-gradient(135deg,var(--color-surface-alt) 0%,var(--color-background) 100%);border:2px solid var(--color-border);border-radius:8px;transition:all .2s ease}.verbrauchsdaten .leerstande-toggle:hover{border-color:var(--color-primary)}.verbrauchsdaten .leerstande-toggle.active{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary-light) 100%)}.verbrauchsdaten .leerstande-toggle .checkbox-field,.verbrauchsdaten .leerstande-toggle .checkbox-field.checked{border:none;padding:0;background:transparent;box-shadow:none}.verbrauchsdaten .leerstande-hint{margin-top:.5rem;padding-left:36px;font-size:.85rem;color:var(--color-text-secondary);line-height:1.4}.verbrauchsdaten .leerstande-content{width:100%;margin-top:1rem}.verbrauchsdaten .leerstande-content.conditional-field{animation:leerstandeReveal .3s ease-out forwards;max-height:none;overflow:visible}@keyframes leerstandeReveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.verbrauchsdaten .periode-inputs-row.leerstand-row{grid-template-columns:1fr 80px}@media(min-width:768px){.verbrauchsdaten .periode-inputs-row.leerstand-row{grid-template-columns:1fr 70px 1fr 70px}}@media(min-width:900px){.verbrauchsdaten .periode-inputs-row.leerstand-row{grid-template-columns:1fr 70px 1fr 70px 1fr 70px}}.verbrauchsdaten .periode-field .season-badge{display:inline-flex;align-items:center;font-size:.65rem;font-weight:600;color:#fff;padding:2px 6px;border-radius:8px;margin-left:6px;white-space:nowrap}.verbrauchsdaten .periode-field .season-badge.summer{background:var(--color-warning)}.verbrauchsdaten .periode-field .season-badge.winter{background:var(--color-info)}.verbrauchsdaten .info-box{margin-top:1.5rem;padding:1rem;background:var(--color-primary-light);border-left:3px solid var(--color-primary);border-radius:0 6px 6px 0}.verbrauchsdaten .info-box strong{display:block;margin-bottom:.5rem;color:var(--color-success-text)}.verbrauchsdaten .info-box p{margin:0;font-size:.9rem;color:var(--color-text)}.verbrauchsdaten .zeitraum-vorauswahl{margin-bottom:.5rem;width:100%}.verbrauchsdaten .zeitraum-fields{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media(min-width:480px){.verbrauchsdaten .zeitraum-fields{grid-template-columns:1fr 1fr;align-items:start}}.verbrauchsdaten .zeitraum-field-startjahr .select-field{margin-bottom:0;min-width:0;width:100%}.verbrauchsdaten .zeitraum-field-art{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0}.verbrauchsdaten .zeitraum-art-label{font-weight:500;color:var(--color-text)}.verbrauchsdaten .zeitraum-art-buttons{display:flex;border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.verbrauchsdaten .zeitraum-art-btn{flex:1;padding:.75rem 1rem;min-height:var(--touch-target-comfortable, 48px);background:var(--color-surface);border:none;border-right:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.verbrauchsdaten .zeitraum-art-btn:last-child{border-right:none}.verbrauchsdaten .zeitraum-art-btn:hover{background:var(--color-surface-alt)}.verbrauchsdaten .zeitraum-art-btn.active{background:var(--color-primary);color:var(--color-text-on-primary, #fff);font-weight:600}.verbrauchsdaten .zeitraum-hint{margin-top:.5rem;font-size:.8rem;color:var(--color-text-muted);line-height:1.4}[data-theme=dark] .verbrauchsdaten .zeitraum-art-btn{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .verbrauchsdaten .zeitraum-art-btn:hover{background:var(--color-surface-alt)}[data-theme=dark] .verbrauchsdaten .zeitraum-art-btn.active{background:var(--color-primary);color:#fff}.verbrauchsdaten .zusaetzliche-energietraeger{margin-top:.75rem}.verbrauchsdaten .periode-zusaetzlich{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-color:#10b981}.verbrauchsdaten .periode-card-icon.zusaetzlich{background:#d1fae5}.verbrauchsdaten .periode-card-header .remove-zusaetzlich-btn{margin-left:auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #fca5a5;border-radius:4px;color:#ef4444;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease}.verbrauchsdaten .periode-card-header .remove-zusaetzlich-btn:hover{background:#fee2e2;border-color:#ef4444}.verbrauchsdaten .periode-inputs-row.zusaetzlich-row{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media(min-width:480px){.verbrauchsdaten .periode-inputs-row.zusaetzlich-row{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.verbrauchsdaten .periode-inputs-row.zusaetzlich-row{grid-template-columns:1fr 1fr 1fr 1fr}}.verbrauchsdaten .periode-inputs-row.zusaetzlich-row .periode-field,.verbrauchsdaten .periode-inputs-row.zusaetzlich-row .select-field,.verbrauchsdaten .periode-inputs-row.zusaetzlich-row .input-field,.verbrauchsdaten .periode-inputs-row.zusaetzlich-row .number-field{min-width:0;width:100%}.verbrauchsdaten .periode-inputs-row.zusaetzlich-row .select-field select,.verbrauchsdaten .periode-inputs-row.zusaetzlich-row .input-field input,.verbrauchsdaten .periode-inputs-row.zusaetzlich-row .number-field input{min-width:0;width:100%;font-size:.875rem}.verbrauchsdaten .periode-inputs-row.zusaetzlich-row .periode-field label{font-size:.8rem;line-height:1.3}@media(min-width:768px){.verbrauchsdaten .periode-inputs-row.zusaetzlich-row .periode-field label{font-size:.85rem}}.verbrauchsdaten .add-zusaetzlich-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;margin-top:.5rem;background:transparent;border:2px dashed var(--color-border);border-radius:8px;color:var(--color-text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.verbrauchsdaten .add-zusaetzlich-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.verbrauchsdaten .add-zusaetzlich-btn svg{flex-shrink:0}[data-theme=dark] .verbrauchsdaten .periode-zusaetzlich{background:linear-gradient(135deg,#10b98126,#10b9811a);border-color:#10b98180}[data-theme=dark] .verbrauchsdaten .periode-card-icon.zusaetzlich{background:#10b98140}[data-theme=dark] .verbrauchsdaten .add-zusaetzlich-btn{border-color:var(--color-border);color:var(--color-text-secondary)}[data-theme=dark] .verbrauchsdaten .add-zusaetzlich-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#4a7c3f26}[data-theme=dark] .verbrauchsdaten .remove-zusaetzlich-btn{border-color:#ef444466;color:#f87171}[data-theme=dark] .verbrauchsdaten .remove-zusaetzlich-btn:hover{background:#ef444433;border-color:#ef4444}[data-theme=dark] .verbrauchsdaten .einheit-display{background:#4a7c3f33;border-color:#4a7c3f80}[data-theme=dark] .verbrauchsdaten .periode-card{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .verbrauchsdaten .periode-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #4a7c3f33}[data-theme=dark] .verbrauchsdaten .periode-card-icon{background:#f9731633}[data-theme=dark] .verbrauchsdaten .periode-card-icon.water{background:#3b82f633}[data-theme=dark] .verbrauchsdaten .periode-card-icon.leerstand{background:#d9770633}[data-theme=dark] .verbrauchsdaten .leerstande-toggle{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-surface-alt) 100%);border-color:var(--color-border)}[data-theme=dark] .verbrauchsdaten .leerstande-toggle.active{background:linear-gradient(135deg,#4a7c3f26,#4a7c3f1a);border-color:var(--color-primary)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .verbrauchsdaten .periode-zusaetzlich{background:linear-gradient(135deg,#10b98126,#10b9811a);border-color:#10b98180}:root:not([data-theme=light]) .verbrauchsdaten .periode-card-icon.zusaetzlich{background:#10b98140}:root:not([data-theme=light]) .verbrauchsdaten .add-zusaetzlich-btn{border-color:var(--color-border);color:var(--color-text-secondary)}:root:not([data-theme=light]) .verbrauchsdaten .add-zusaetzlich-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#4a7c3f26}:root:not([data-theme=light]) .verbrauchsdaten .remove-zusaetzlich-btn{border-color:#ef444466;color:#f87171}:root:not([data-theme=light]) .verbrauchsdaten .remove-zusaetzlich-btn:hover{background:#ef444433;border-color:#ef4444}:root:not([data-theme=light]) .verbrauchsdaten .einheit-display{background:#4a7c3f33;border-color:#4a7c3f80}:root:not([data-theme=light]) .verbrauchsdaten .periode-card{background:var(--color-surface);border-color:var(--color-border)}:root:not([data-theme=light]) .verbrauchsdaten .periode-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #4a7c3f33}:root:not([data-theme=light]) .verbrauchsdaten .periode-card-icon{background:#f9731633}:root:not([data-theme=light]) .verbrauchsdaten .periode-card-icon.water{background:#3b82f633}:root:not([data-theme=light]) .verbrauchsdaten .periode-card-icon.leerstand{background:#d9770633}:root:not([data-theme=light]) .verbrauchsdaten .leerstande-toggle{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-surface-alt) 100%);border-color:var(--color-border)}:root:not([data-theme=light]) .verbrauchsdaten .leerstande-toggle.active{background:linear-gradient(135deg,#4a7c3f26,#4a7c3f1a);border-color:var(--color-primary)}}.verbrauch-modernisierung .select-field,.verbrauch-modernisierung .input-field,.verbrauch-modernisierung .number-field{width:100%}.verbrauch-modernisierung .step-intro-box{background:linear-gradient(135deg,var(--color-surface-alt) 0%,var(--color-background) 100%);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.verbrauch-modernisierung .step-intro-box p{margin:0;line-height:1.5;color:var(--color-text)}.verbrauch-modernisierung .step-intro-box p+p{margin-top:.75rem}.verbrauch-modernisierung .step-intro-note{font-size:.9rem;color:var(--color-text-muted);background:var(--color-surface);padding:.5rem .75rem;border-radius:4px}.verbrauch-modernisierung .section-hint{margin:0 0 .5rem;font-size:.85rem;color:var(--color-text-muted)}.verbrauch-modernisierung .validation-hint{margin:0 0 .75rem;padding:.5rem .75rem;font-size:.85rem;border-radius:4px}.verbrauch-modernisierung .validation-hint.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}:root[data-theme=dark] .verbrauch-modernisierung .validation-hint.error{background:#b91c1c26;color:#fca5a5;border-color:#b91c1c4d}:root[data-theme=dark] .verbrauch-modernisierung .step-intro-box{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-background) 100%)}.verbrauch-modernisierung .daemmung-grid{display:flex;flex-direction:column;gap:.75rem}.verbrauch-modernisierung .daemmung-row{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--color-border-light)}@media(min-width:768px){.verbrauch-modernisierung .daemmung-row{flex-direction:row;align-items:center}}.verbrauch-modernisierung .daemmung-row:last-child{border-bottom:none}.verbrauch-modernisierung .daemmung-label{min-width:160px;font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}@media(min-width:768px){.verbrauch-modernisierung .daemmung-label{margin-bottom:0}}.verbrauch-modernisierung .daemmung-label svg{flex-shrink:0;transition:transform .2s ease}.verbrauch-modernisierung .daemmung-row:hover .daemmung-label svg{transform:scale(1.05)}.verbrauch-modernisierung .daemmung-options{display:flex;gap:1rem}.verbrauch-modernisierung .daemmung-options .radio-option{min-width:auto;padding:.5rem 1rem}.verbrauch-modernisierung .fenster-row,.verbrauch-modernisierung .haustechnik-row{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media(min-width:480px){.verbrauch-modernisierung .fenster-row,.verbrauch-modernisierung .haustechnik-row{grid-template-columns:1fr 1fr}}.verbrauch-modernisierung .haustechnik-row{margin-bottom:1rem}.verbrauch-modernisierung .hydraulischer-abgleich{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem 0;border-top:1px solid var(--color-border-light)}@media(min-width:768px){.verbrauch-modernisierung .hydraulischer-abgleich{flex-direction:row;align-items:center}}.verbrauch-modernisierung .abgleich-label{min-width:180px;font-weight:500;color:var(--color-text);margin-bottom:.5rem}@media(min-width:768px){.verbrauch-modernisierung .abgleich-label{margin-bottom:0}}.verbrauch-modernisierung .abgleich-options{display:flex;gap:1rem}.verbrauch-modernisierung .abgleich-options .radio-option{min-width:auto;padding:.5rem 1rem}.verbrauch-modernisierung .section-hint{width:100%}.verbrauch-modernisierung .lueftung-checkboxes{width:100%;display:flex;flex-direction:column;gap:.75rem}.verbrauch-modernisierung .lueftung-checkboxes .checkbox-field{transition:all .2s ease}.verbrauch-modernisierung .lueftung-checkboxes .checkbox-field:hover{transform:translate(4px)}.verbrauch-modernisierung .lueftung-checkboxes .checkbox-icon{width:40px;height:40px}.verbrauch-modernisierung .lueftung-checkboxes .checkbox-icon svg{width:36px;height:36px}.verbrauch-modernisierung .field-filter-hint{margin:.25rem 0 .75rem;padding:.4rem .75rem;font-size:.8rem;color:var(--color-text-muted);background:var(--color-surface-alt);border-radius:4px;border-left:2px solid var(--color-primary);display:inline-block}.verbrauch-modernisierung .field-filter-hint:before{content:""}.verbrauch-modernisierung .kuehlung-flaeche-field{margin-top:.75rem;padding:1rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-left:3px solid var(--color-info, #3b82f6);border-radius:8px;animation:slideIn .2s ease-out;width:100%;box-sizing:border-box}.verbrauch-modernisierung .kuehlung-flaeche-row{display:grid;grid-template-columns:1fr;align-items:end;gap:.5rem;width:100%}@media(min-width:480px){.verbrauch-modernisierung .kuehlung-flaeche-row{grid-template-columns:1fr auto 1fr;gap:.75rem}}.verbrauch-modernisierung .kuehlung-flaeche-row .number-field{width:100%}.verbrauch-modernisierung .kuehlung-flaeche-sync{display:flex;align-items:center;justify-content:center;padding:0;font-size:1rem;color:var(--color-text-muted);font-weight:300}@media(min-width:480px){.verbrauch-modernisierung .kuehlung-flaeche-sync{padding:0 0 .75rem;font-size:1.25rem}}.verbrauch-modernisierung .kuehlung-flaeche-hint{margin:.75rem 0 0;font-size:.8rem;color:var(--color-text-muted)}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .verbrauch-modernisierung .kuehlung-flaeche-field{background:var(--color-surface);border-color:var(--color-border);border-left-color:#60a5fa}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .verbrauch-modernisierung .kuehlung-flaeche-field{background:var(--color-surface);border-color:var(--color-border);border-left-color:#60a5fa}}.nwg-gebaeudedaten .select-field,.nwg-gebaeudedaten .input-field,.nwg-gebaeudedaten .number-field{width:100%}.nwg-gebaeudedaten .gebaeudeanteil-label{width:100%;font-weight:500;color:var(--color-text);margin-bottom:.75rem;margin-top:1.5rem;font-size:.95rem}.nwg-gebaeudedaten .form-row{margin-bottom:1rem}.nwg-gebaeudedaten .info-hint{margin-top:.75rem;padding:.75rem 1rem;background:var(--color-validation-warning-bg);border-left:3px solid var(--color-validation-warning-accent);border-radius:0 6px 6px 0;font-size:.9rem;color:var(--color-validation-warning-heading)}.nwg-gebaeudedaten .info-hint.warning{background:var(--color-validation-warning-bg);border-left-color:var(--color-validation-warning-accent)}.nwg-gebaeudedaten .info-hint strong{color:var(--color-validation-warning-text)}.nwg-gebaeudedaten .flaechentyp-label{width:100%;font-weight:500;color:var(--color-text);margin-bottom:.75rem;font-size:.95rem}.nwg-gebaeudedaten .flaechentyp-list{margin-bottom:1.25rem}.nwg-gebaeudedaten .flaechentyp-list .anlass-list-item{padding:.75rem 1rem}.nwg-gebaeudedaten .flaechentyp-list .anlass-list-description{font-size:.85rem;color:var(--color-text-muted);margin-top:.25rem}.nwg-gebaeudedaten .berechnete-ngf{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-primary-light);border-radius:8px;margin-top:.5rem;margin-bottom:1rem}.nwg-gebaeudedaten .berechnete-ngf-label{font-size:.9rem;color:var(--color-text-muted)}.nwg-gebaeudedaten .berechnete-ngf-wert{font-weight:600;color:var(--color-primary);font-size:1.1rem}.nwg-gebaeudedaten .berechnete-ngf-formel{font-size:.8rem;color:var(--color-text-muted);margin-left:auto}.nwg-verbrauchsdaten .select-field,.nwg-verbrauchsdaten .input-field,.nwg-verbrauchsdaten .number-field{width:100%}.nwg-verbrauchsdaten .energietraeger-section{width:100%;margin-top:1.5rem}.nwg-verbrauchsdaten .form-row{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem;width:100%}@media(min-width:480px){.nwg-verbrauchsdaten .form-row{grid-template-columns:repeat(2,1fr)}}.nwg-verbrauchsdaten .periode-container{width:100%;margin-bottom:.5rem}.nwg-verbrauchsdaten .periode-card{width:100%;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;padding:.75rem;margin-bottom:1rem;transition:border-color .2s ease,box-shadow .2s ease;overflow:hidden;box-sizing:border-box}@media(min-width:768px){.nwg-verbrauchsdaten .periode-card{padding:1rem}}.nwg-verbrauchsdaten .periode-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #4a7c3f1a}.nwg-verbrauchsdaten .periode-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border-light)}.nwg-verbrauchsdaten .periode-card-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-warning-bg);border-radius:50%}.nwg-verbrauchsdaten .periode-card-icon.water{background:var(--color-info-light)}.nwg-verbrauchsdaten .periode-card-title{font-weight:600;font-size:.95rem;color:var(--color-text)}.nwg-verbrauchsdaten .periode-inputs-row{width:100%;display:grid;grid-template-columns:1fr;gap:.75rem;align-items:start}@media(min-width:480px){.nwg-verbrauchsdaten .periode-inputs-row{grid-template-columns:1fr 1fr}}@media(min-width:768px){.nwg-verbrauchsdaten .periode-inputs-row{grid-template-columns:1fr 1fr 1fr 1fr}}.nwg-verbrauchsdaten .periode-field{min-width:0;overflow:hidden}.nwg-verbrauchsdaten .periode-field .input-field,.nwg-verbrauchsdaten .periode-field .number-field,.nwg-verbrauchsdaten .periode-field .select-field{width:100%;min-width:0}.nwg-verbrauchsdaten .periode-field label{display:block;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:.35rem;font-weight:500}.nwg-verbrauchsdaten .periode-label{font-weight:500;font-style:italic;color:var(--color-text);margin-bottom:.5rem}.nwg-verbrauchsdaten .conditional-field{max-height:none!important;overflow:visible!important}.nwg-verbrauchsdaten .periode-field.einheit{display:flex;flex-direction:column}.nwg-verbrauchsdaten .einheit-display{display:flex;align-items:center;justify-content:center;min-height:48px;height:100%;padding:0 .75rem;background:var(--color-primary-light);border-radius:6px;font-size:.95rem;color:var(--color-text);font-weight:500;border:1px solid var(--color-primary)}.nwg-verbrauchsdaten .periode-warmwasser-section{width:100%;margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--color-border)}.nwg-verbrauchsdaten .zeitraum-vorauswahl{margin-bottom:.5rem;width:100%}.nwg-verbrauchsdaten .zeitraum-fields{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media(min-width:480px){.nwg-verbrauchsdaten .zeitraum-fields{grid-template-columns:1fr 1fr;align-items:start}}.nwg-verbrauchsdaten .zeitraum-field-startjahr .select-field{margin-bottom:0;min-width:0;width:100%}.nwg-verbrauchsdaten .zeitraum-field-art{display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0}.nwg-verbrauchsdaten .zeitraum-art-label{font-weight:500;color:var(--color-text)}.nwg-verbrauchsdaten .zeitraum-art-buttons{display:flex;border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.nwg-verbrauchsdaten .zeitraum-art-btn{flex:1;padding:.75rem 1rem;min-height:var(--touch-target-comfortable, 48px);background:var(--color-surface);border:none;border-right:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.nwg-verbrauchsdaten .zeitraum-art-btn:last-child{border-right:none}.nwg-verbrauchsdaten .zeitraum-art-btn:hover{background:var(--color-surface-alt)}.nwg-verbrauchsdaten .zeitraum-art-btn.active{background:var(--color-primary);color:var(--color-text-on-primary, #fff);font-weight:600}.nwg-verbrauchsdaten .zeitraum-hint{margin-top:.5rem;font-size:.8rem;color:var(--color-text-muted);line-height:1.4}[data-theme=dark] .nwg-verbrauchsdaten .zeitraum-art-btn{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .nwg-verbrauchsdaten .zeitraum-art-btn:hover{background:var(--color-surface-alt)}[data-theme=dark] .nwg-verbrauchsdaten .zeitraum-art-btn.active{background:var(--color-primary);color:#fff}.nwg-verbrauchsdaten .verwendung-strom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:15px;width:100%}.nwg-verbrauchsdaten .verwendung-strom-grid .checkbox-field{padding:15px}@media(min-width:768px){.nwg-verbrauchsdaten .verwendung-strom-grid .checkbox-field{padding:20px}}.nwg-verbrauchsdaten .leerstande-section{width:100%;margin:1.5rem 0;overflow:visible}.nwg-verbrauchsdaten .leerstande-toggle{width:100%;padding:1rem 1.25rem;background:linear-gradient(135deg,var(--color-surface-alt) 0%,var(--color-background) 100%);border:2px solid var(--color-border);border-radius:8px;transition:all .2s ease}.nwg-verbrauchsdaten .leerstande-toggle:hover{border-color:var(--color-primary)}.nwg-verbrauchsdaten .leerstande-toggle.active{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary-light) 100%)}.nwg-verbrauchsdaten .leerstande-toggle .checkbox-field,.nwg-verbrauchsdaten .leerstande-toggle .checkbox-field.checked{border:none;padding:0;background:transparent;box-shadow:none}.nwg-verbrauchsdaten .leerstande-hint{margin-top:.5rem;padding-left:36px;font-size:.85rem;color:var(--color-text-secondary);line-height:1.4}.nwg-verbrauchsdaten .leerstande-content{width:100%;margin-top:1rem}.nwg-verbrauchsdaten .leerstande-content.conditional-field{animation:leerstandeReveal .3s ease-out forwards;max-height:none;overflow:visible}.nwg-verbrauchsdaten .periode-inputs-row.leerstand-row{grid-template-columns:1fr 80px}@media(min-width:768px){.nwg-verbrauchsdaten .periode-inputs-row.leerstand-row{grid-template-columns:1fr 70px 1fr 70px}}@media(min-width:900px){.nwg-verbrauchsdaten .periode-inputs-row.leerstand-row{grid-template-columns:1fr 70px 1fr 70px 1fr 70px}}.nwg-verbrauchsdaten .periode-card-icon.leerstand{background:#fef3c7}.nwg-verbrauchsdaten .periode-field .season-badge{display:inline-flex;align-items:center;font-size:.65rem;font-weight:600;color:#fff;padding:2px 6px;border-radius:8px;margin-left:6px;white-space:nowrap}.nwg-verbrauchsdaten .periode-field .season-badge.summer{background:var(--color-warning)}.nwg-verbrauchsdaten .periode-field .season-badge.winter{background:var(--color-info)}.nwg-verbrauchsdaten .verbrauch-einheit-hint{margin:.25rem 0 .75rem;padding:.5rem .75rem;font-size:.82rem;color:var(--color-text-secondary, #6b7280);background:var(--color-bg-secondary, #f9fafb);border-left:3px solid var(--color-primary, #3b82f6);border-radius:0 6px 6px 0;line-height:1.4}[data-theme=dark] .nwg-verbrauchsdaten .verbrauch-einheit-hint{color:var(--color-text-secondary, #9ca3af);background:var(--color-bg-tertiary, #1f2937)}.nwg-verbrauchsdaten .info-hint{margin-top:.75rem;padding:.75rem 1rem;background:var(--color-validation-warning-bg);border-left:3px solid var(--color-validation-warning-accent);border-radius:0 6px 6px 0;font-size:.9rem;color:var(--color-validation-warning-heading)}.nwg-verbrauchsdaten .info-hint.warning{background:var(--color-validation-warning-bg);border-left-color:var(--color-validation-warning-accent)}[data-theme=dark] .nwg-verbrauchsdaten .periode-card{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .nwg-verbrauchsdaten .periode-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #4a7c3f33}[data-theme=dark] .nwg-verbrauchsdaten .periode-card-icon{background:#f9731633}[data-theme=dark] .nwg-verbrauchsdaten .periode-card-icon.water{background:#3b82f633}[data-theme=dark] .nwg-verbrauchsdaten .periode-card-icon.leerstand{background:#d9770633}.nwg-verbrauchsdaten .zusaetzliche-energietraeger{margin-top:.75rem;position:relative;z-index:10}.nwg-verbrauchsdaten .periode-zusaetzlich{background:linear-gradient(135deg,#ecfdf5,#f0fdf4);border-color:#10b981;position:relative;z-index:10;overflow:visible}.nwg-verbrauchsdaten .periode-card-icon.zusaetzlich{background:#d1fae5}.nwg-verbrauchsdaten .periode-card-header .remove-zusaetzlich-btn{margin-left:auto;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #fca5a5;border-radius:4px;color:#ef4444;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease}.nwg-verbrauchsdaten .periode-card-header .remove-zusaetzlich-btn:hover{background:#fee2e2;border-color:#ef4444}.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%;overflow:visible}@media(min-width:480px){.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row{grid-template-columns:repeat(2,1fr)}}@media(min-width:768px){.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row{grid-template-columns:1fr 1fr 1fr 1fr}}.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row .periode-field,.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row .select-field,.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row .input-field,.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row .number-field{min-width:0;width:100%}.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row .select-field select,.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row .input-field input,.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row .number-field input{min-width:0;width:100%;font-size:.875rem}.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row .periode-field label{font-size:.8rem;line-height:1.3}@media(min-width:768px){.nwg-verbrauchsdaten .periode-inputs-row.zusaetzlich-row .periode-field label{font-size:.85rem}}.nwg-verbrauchsdaten .add-zusaetzlich-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;margin-top:.5rem;margin-bottom:1rem;background:var(--color-surface);border:2px dashed var(--color-border);border-radius:8px;color:var(--color-text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;z-index:5}.nwg-verbrauchsdaten .add-zusaetzlich-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.nwg-verbrauchsdaten .add-zusaetzlich-btn svg{flex-shrink:0}[data-theme=dark] .nwg-verbrauchsdaten .periode-zusaetzlich{background:linear-gradient(135deg,#10b98126,#10b9811a);border-color:#10b98180}[data-theme=dark] .nwg-verbrauchsdaten .periode-card-icon.zusaetzlich{background:#10b98140}[data-theme=dark] .nwg-verbrauchsdaten .add-zusaetzlich-btn{border-color:var(--color-border);color:var(--color-text-secondary)}[data-theme=dark] .nwg-verbrauchsdaten .add-zusaetzlich-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#4a7c3f26}[data-theme=dark] .nwg-verbrauchsdaten .remove-zusaetzlich-btn{border-color:#ef444466;color:#f87171}[data-theme=dark] .nwg-verbrauchsdaten .remove-zusaetzlich-btn:hover{background:#ef444433;border-color:#ef4444}.nwg-verbrauchsdaten .periode-card-icon.kuehlung{background:#cffafe}[data-theme=dark] .nwg-verbrauchsdaten .periode-card-icon.kuehlung{background:#06b6d433}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .nwg-verbrauchsdaten .periode-zusaetzlich{background:linear-gradient(135deg,#10b98126,#10b9811a);border-color:#10b98180}:root:not([data-theme=light]) .nwg-verbrauchsdaten .periode-card-icon.zusaetzlich{background:#10b98140}:root:not([data-theme=light]) .nwg-verbrauchsdaten .add-zusaetzlich-btn{border-color:var(--color-border);color:var(--color-text-secondary)}:root:not([data-theme=light]) .nwg-verbrauchsdaten .add-zusaetzlich-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#4a7c3f26}:root:not([data-theme=light]) .nwg-verbrauchsdaten .remove-zusaetzlich-btn{border-color:#ef444466;color:#f87171}:root:not([data-theme=light]) .nwg-verbrauchsdaten .remove-zusaetzlich-btn:hover{background:#ef444433;border-color:#ef4444}:root:not([data-theme=light]) .nwg-verbrauchsdaten .periode-card-icon.kuehlung{background:#06b6d433}}.nwg-modernisierung .step-intro-box{background:linear-gradient(135deg,var(--color-surface-alt) 0%,var(--color-background) 100%);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:8px;padding:1rem 1.25rem;margin-bottom:1.5rem}.nwg-modernisierung .step-intro-box p{margin:0;line-height:1.5;color:var(--color-text)}.nwg-modernisierung .step-intro-box p+p{margin-top:.75rem}.nwg-modernisierung .step-intro-note{font-size:.9rem;color:var(--color-text-muted);background:var(--color-surface);padding:.5rem .75rem;border-radius:4px}:root[data-theme=dark] .nwg-modernisierung .step-intro-box{background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-background) 100%)}.nwg-modernisierung .select-field,.nwg-modernisierung .input-field,.nwg-modernisierung .number-field{width:100%}.nwg-modernisierung .section-hint{width:100%;margin:0 0 .5rem;font-size:.85rem;color:var(--color-text-muted)}.nwg-modernisierung .validation-hint{margin:0 0 .75rem;padding:.5rem .75rem;font-size:.85rem;border-radius:4px}.nwg-modernisierung .validation-hint.error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}:root[data-theme=dark] .nwg-modernisierung .validation-hint.error{background:#b91c1c26;color:#fca5a5;border-color:#b91c1c4d}.nwg-modernisierung .fenster-row,.nwg-modernisierung .haustechnik-row{display:grid;grid-template-columns:1fr;gap:.75rem;width:100%}@media(min-width:480px){.nwg-modernisierung .fenster-row,.nwg-modernisierung .haustechnik-row{grid-template-columns:1fr 1fr}}.nwg-modernisierung .haustechnik-row{margin-bottom:1rem}.nwg-modernisierung .lueftung-checkboxes{width:100%;display:flex;flex-direction:column;gap:.75rem}.nwg-modernisierung .lueftung-checkboxes .checkbox-field{transition:all .2s ease}.nwg-modernisierung .lueftung-checkboxes .checkbox-field:hover{transform:translate(4px)}.nwg-modernisierung .lueftung-checkboxes .checkbox-icon{width:40px;height:40px}.nwg-modernisierung .lueftung-checkboxes .checkbox-icon svg{width:36px;height:36px}.nwg-modernisierung .klima-details{margin-top:1rem;padding:1rem;width:100%;background:var(--color-surface-alt);border-radius:8px;border:1px solid var(--color-border)}:root[data-theme=dark] .nwg-modernisierung .klima-details{background:var(--color-surface);border-color:var(--color-border)}.nwg-modernisierung .erneuerbare-section{display:flex;flex-direction:column;gap:1rem}.nwg-modernisierung .erneuerbare-art{display:flex;align-items:center;gap:1rem}.nwg-modernisierung .erneuerbare-label{font-size:.95rem;color:var(--color-text);font-weight:500}.nwg-modernisierung .erneuerbare-verwendung{padding:1rem;background:var(--color-info-light);border-radius:8px;border:1px solid var(--color-info)}.nwg-modernisierung .verwendung-options{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}@media(min-width:768px){.nwg-modernisierung .verwendung-options{flex-direction:row;gap:1.5rem}}.nwg-modernisierung .subsection-title{font-size:.95rem;font-weight:600;color:var(--color-text);margin:1.25rem 0 .75rem;padding:0}.nwg-modernisierung .subsection-title.first{margin-top:0}.ergebnis-step{max-width:700px;margin:0 auto;padding:0 16px;position:relative;overflow-x:hidden}.ergebnis-container{display:flex;flex-direction:column;gap:24px}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.confetti-piece{position:absolute;top:-20px;width:10px;height:10px;border-radius:2px;animation:confetti-fall linear forwards;opacity:0}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}.success-banner{text-align:center;padding:32px 24px;background:linear-gradient(135deg,#4a7c3f14,#5a9a4a0d);border:1px solid rgba(74,124,63,.2);border-radius:16px;margin-bottom:8px}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,#4a7c3f,#5a9a4a);border-radius:50%;margin-bottom:20px;animation:success-pop .5s ease-out}.success-icon svg{color:#fff}@keyframes success-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.success-title{font-size:1.4rem;font-weight:700;color:var(--color-text, #1a1a1a);margin:0 0 12px}@media(min-width:640px){.success-title{font-size:1.75rem}}.success-subtitle{font-size:1.1rem;color:var(--color-text-muted, #6b7280);margin:0}.order-number-display{margin-top:24px;padding:20px;background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:8px}.order-number-label{font-size:.875rem;color:var(--color-text-muted, #6b7280)}.order-number-value{font-size:1.5rem;font-weight:700;font-family:SF Mono,Monaco,Inconsolata,monospace;color:var(--color-primary, #4a7c3f);letter-spacing:.05em}.status-link{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:8px 16px;background:var(--color-primary-light, rgba(74, 124, 63, .1));color:var(--color-primary, #4a7c3f);font-size:.875rem;font-weight:500;text-decoration:none;border-radius:8px;transition:all .2s ease}.status-link:hover{background:var(--color-primary, #4a7c3f);color:#fff}.next-steps{margin-top:32px;text-align:left}.next-steps h3{font-size:1rem;font-weight:600;color:var(--color-text, #1a1a1a);margin:0 0 20px;text-align:center}.steps-timeline{display:flex;flex-direction:column;gap:0;position:relative;max-width:400px;margin:0 auto}.timeline-step{display:flex;align-items:flex-start;gap:16px;padding:12px 0;position:relative}.timeline-step:not(:last-child):before{content:"";position:absolute;left:17px;top:44px;width:2px;height:calc(100% - 20px);background:var(--color-border, #e5e7eb)}.timeline-step.completed:before{background:var(--color-primary, #4a7c3f)}.step-marker{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-surface-alt, #f9fafb);border:2px solid var(--color-border, #e5e7eb);color:var(--color-text-muted, #6b7280);font-size:.9rem;z-index:1}.timeline-step.completed .step-marker{background:var(--color-primary, #4a7c3f);border-color:var(--color-primary, #4a7c3f);color:#fff;font-weight:600}.timeline-step.active .step-marker{background:#fff;border-color:var(--color-primary, #4a7c3f);border-width:3px;color:var(--color-primary, #4a7c3f);animation:pulse-ring 2s infinite}.step-content{flex:1}.step-content .step-title{display:block;font-weight:600;font-size:.95rem;color:var(--color-text, #1a1a1a);margin-bottom:2px}.step-content .step-desc{display:block;font-size:.85rem;color:var(--color-text-muted, #6b7280)}.timeline-step.completed .step-title{color:var(--color-primary, #4a7c3f)}.validation-messages{margin-bottom:16px}.validation-section{padding:16px 20px;border-radius:12px;margin-bottom:12px}.validation-errors{background:#dc354514;border:1px solid rgba(220,53,69,.2)}.validation-warnings{background:#ffc1071a;border:1px solid rgba(255,193,7,.3)}.validation-section h4{margin:0 0 12px;font-size:.95rem;font-weight:600}.validation-errors h4{color:var(--color-error, #dc3545)}.validation-warnings h4{color:#b8860b}.validation-section ul{margin:0;padding-left:20px}.validation-section li{margin-bottom:6px;font-size:.9rem;color:var(--color-text, #1a1a1a)}.energy-result-card{background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000a}.energy-result-card h3{margin:0 0 20px;font-size:1.1rem;font-weight:600;color:var(--color-text, #1a1a1a)}.energy-values-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}@media(min-width:640px){.energy-values-grid{grid-template-columns:repeat(3,1fr)}}.energy-value-card{background:var(--color-surface-alt, #f9fafb);border-radius:12px;padding:16px;text-align:center}.energy-value-card.primary{background:linear-gradient(135deg,#4a7c3f1a,#5a9a4a0d);border:1px solid rgba(74,124,63,.2)}.energy-label{display:block;font-size:.8rem;color:var(--color-text-muted, #6b7280);margin-bottom:8px}.energy-value-display{display:flex;align-items:baseline;justify-content:center;gap:4px}.energy-number{font-size:1.5rem;font-weight:700;color:var(--color-text, #1a1a1a)}@media(min-width:640px){.energy-number{font-size:1.75rem}}.energy-value-card.primary .energy-number{color:var(--color-primary, #4a7c3f)}.energy-unit{font-size:.75rem;color:var(--color-text-muted, #6b7280)}.energy-class-badge{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 32px;border-radius:12px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.energy-class-badge.large{padding:20px 40px}.energy-class-badge .class-letter{font-size:2rem;font-weight:800;line-height:1}.energy-class-badge .class-label{font-size:.8rem;font-weight:500;margin-top:4px;opacity:.9}.energy-scale-card{background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:16px;padding:24px;position:relative}.scale-bar{display:flex;border-radius:8px;overflow:hidden;height:40px}.scale-segment{flex:1;display:flex;align-items:center;justify-content:center}.scale-label{color:#fff;font-weight:700;font-size:.85rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.scale-indicator{position:absolute;transform:translate(-50%);top:8px;display:flex;flex-direction:column;align-items:center;z-index:10}.indicator-arrow{font-size:1.5rem;color:var(--color-text, #1a1a1a);line-height:1;margin-bottom:-4px}.indicator-value{background:var(--color-text, #1a1a1a);color:#fff;font-size:.85rem;font-weight:700;padding:4px 10px;border-radius:4px}.scale-numbers{display:flex;justify-content:space-between;margin-top:8px;padding:0 4px}.scale-numbers span{font-size:.75rem;color:var(--color-text-muted, #6b7280)}.data-summary-card{background:var(--color-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:16px;padding:24px}.data-summary-card h3{margin:0 0 16px;font-size:1rem;font-weight:600;color:var(--color-text, #1a1a1a)}.summary-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:640px){.summary-grid{grid-template-columns:repeat(2,1fr)}}.summary-item{display:flex;justify-content:space-between;padding:10px 12px;background:var(--color-surface-alt, #f9fafb);border-radius:8px}.summary-label{color:var(--color-text-muted, #6b7280);font-size:.9rem}.summary-value{color:var(--color-text, #1a1a1a);font-weight:500;font-size:.9rem}.action-buttons-card{display:flex;flex-direction:column;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;font-size:1rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:linear-gradient(135deg,#4a7c3f,#5a9a4a);color:#fff;box-shadow:0 4px 14px #4a7c3f4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4a7c3f66}.btn-large{padding:18px 32px;font-size:1.1rem}.btn-secondary{background:var(--color-surface, #ffffff);color:var(--color-text, #1a1a1a);border:1px solid var(--color-border, #e5e7eb)}.btn-secondary:hover{background:var(--color-surface-alt, #f9fafb)}.disclaimer-card{background:var(--color-surface-alt, #f9fafb);border-radius:12px;padding:16px 20px}.disclaimer-card p{margin:0;font-size:.85rem;color:var(--color-text-muted, #6b7280);line-height:1.6}.disclaimer-card strong{color:var(--color-text, #1a1a1a)}[data-theme=dark] .success-banner{background:linear-gradient(135deg,#4a7c3f26,#5a9a4a14)}[data-theme=dark] .energy-result-card,[data-theme=dark] .energy-scale-card,[data-theme=dark] .data-summary-card{background:var(--color-surface)}[data-theme=dark] .btn-primary{box-shadow:0 4px 14px #0000004d}.paid-action-buttons{display:flex;flex-direction:column;gap:12px;justify-content:center;margin-top:32px;padding-top:24px;border-top:1px solid var(--color-border, #e5e7eb)}@media(min-width:480px){.paid-action-buttons{flex-direction:row;flex-wrap:wrap}}.paid-action-buttons .btn{width:100%;text-decoration:none}@media(min-width:480px){.paid-action-buttons .btn{width:auto;min-width:180px}}.energie-compact{padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px)}.energie-compact--placeholder{opacity:.5}.energie-compact__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.energie-compact__header-main{display:flex;align-items:baseline;gap:.5rem}.energie-compact__header-value{font-size:2rem;font-weight:800;color:var(--color-text);line-height:1;letter-spacing:-.02em}.energie-compact__header-meta{display:flex;flex-direction:column;gap:0}.energie-compact__header-unit{font-size:.6875rem;color:var(--color-text-secondary);font-weight:500;line-height:1.3}.energie-compact__header-sublabel{font-size:.625rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px;font-weight:600}.energie-compact__header-badge{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;font-size:1.25rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 2px 8px #00000026;flex-shrink:0}.energie-compact__header-nwg{flex:1;min-width:0}.energie-compact__header-title{font-size:.6875rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.energie-compact__header-split{display:flex;align-items:flex-start;gap:.375rem;flex-wrap:wrap}.energie-compact__header-split-item{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.energie-compact__header-split-item .energie-compact__header-sublabel{font-size:.5625rem;order:-1;margin-bottom:.125rem}.energie-compact__header-split-item .energie-compact__header-value{font-size:1.25rem;font-weight:700}.energie-compact__header-split-item .energie-compact__header-unit{font-size:.5625rem}.energie-compact__header-compare{font-size:.5rem;font-weight:600;padding:.125rem .25rem;border-radius:3px;margin-top:.25rem;white-space:nowrap}.energie-compact__header-compare--good{background:#10b98126;color:#059669}.energie-compact__header-compare--over{background:#ef444426;color:#dc2626}.energie-compact__header-split-item--total{padding-left:.25rem}.energie-compact__header-split-item--total .energie-compact__header-value{font-size:1.5rem;font-weight:800}.energie-compact__header-split-divider{font-size:1rem;font-weight:600;color:var(--color-text-muted);margin:0 .125rem;padding-top:1rem}.energie-compact__gradient{margin-bottom:1rem}.energie-compact__gradient-labels{display:flex;justify-content:space-between;padding:0 2px;margin-bottom:4px}.energie-compact__gradient-label{font-size:.5625rem;font-weight:600;color:var(--color-text-muted);text-align:center;flex:1;transition:all .2s ease}.energie-compact__gradient-label--active{color:var(--color-text);font-weight:800;font-size:.625rem}.energie-compact__gradient-bar{position:relative;height:14px;border-radius:7px;background:linear-gradient(to right,#00a650,#4cb848 10%,#9aca3c 17%,#d4de26,#fff100 33%,#fcb814,#f37021 53%,#ed1c24 67%,#be1622 83%,#8b0000);box-shadow:inset 0 1px 2px #0000001a}.energie-compact__gradient-bar--empty{opacity:.3}.energie-compact__marker{position:absolute;bottom:100%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none}.energie-compact__marker-label{font-size:.6875rem;font-weight:800;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:1px 5px;margin-bottom:2px;white-space:nowrap;box-shadow:0 1px 3px #0000001a}.energie-compact__marker-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #333}.energie-compact__stats{display:flex;gap:.5rem;margin-bottom:.75rem}.energie-compact__stat{flex:1;display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:var(--color-surface-alt, rgba(0, 0, 0, .02));border-radius:var(--radius-md, 8px)}.energie-compact__stat-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;background:var(--color-surface);color:var(--color-text-secondary);flex-shrink:0}.energie-compact__stat-content{display:flex;flex-direction:column;min-width:0}.energie-compact__stat-value{font-size:1rem;font-weight:700;color:var(--color-text);line-height:1.2}.energie-compact__stat-label{font-size:.625rem;font-weight:600;color:var(--color-text-secondary);line-height:1.3;order:-1;margin-bottom:.125rem}.energie-compact__stat-unit{font-size:.6875rem;font-weight:500;color:var(--color-text-muted)}.energie-compact__stat-secondary{font-size:.5625rem;color:var(--color-text-muted);margin-top:.125rem}.energie-compact__footer{font-size:.625rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}@media(min-width:480px){.energie-compact{padding:1.25rem}.energie-compact__header-value{font-size:2.25rem}.energie-compact__header-badge{width:48px;height:48px;font-size:1.375rem}.energie-compact__gradient-bar{height:16px;border-radius:8px}.energie-compact__gradient-label{font-size:.625rem}.energie-compact__gradient-label--active{font-size:.6875rem}.energie-compact__stat-value{font-size:1.125rem}.energie-compact__stat-label{font-size:.6875rem}.energie-compact__stats{gap:.75rem}.energie-compact__header-split{gap:.5rem;flex-wrap:nowrap}.energie-compact__header-split-item .energie-compact__header-value{font-size:1.5rem}.energie-compact__header-split-item .energie-compact__header-unit,.energie-compact__header-split-item .energie-compact__header-sublabel{font-size:.625rem}.energie-compact__header-split-item--total .energie-compact__header-value{font-size:1.75rem}.energie-compact__header-split-divider{font-size:1.125rem;margin:0 .25rem}}[data-theme=dark] .energie-compact{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .energie-compact__header-badge{box-shadow:0 2px 8px #0000004d}[data-theme=dark] .energie-compact__stat{background:#ffffff0a}[data-theme=dark] .energie-compact__stat-icon{background:#ffffff0f}[data-theme=dark] .energie-compact__marker-label{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .energie-compact__marker-arrow{border-top-color:var(--color-text-muted)}.ausweis-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);overflow:hidden}.ausweis-preview__loading-smart{padding:1.25rem 1rem;display:flex;flex-direction:column;gap:1rem}.ausweis-preview__doc-silhouette{position:relative;width:100%;max-width:280px;margin:0 auto;aspect-ratio:210 / 200}.ausweis-preview__doc-glow{position:absolute;inset:-4px;background:linear-gradient(135deg,#4a7c3f,#6abf5b,#4a7c3f);border-radius:12px;opacity:.15;animation:doc-glow-pulse 2s ease-in-out infinite}@keyframes doc-glow-pulse{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.25;transform:scale(1.02)}}.ausweis-preview__doc-inner{position:relative;background:#fff;border-radius:8px;padding:12px;height:100%;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 8px #00000014;border:1px solid var(--color-border)}.ausweis-preview__doc-header{display:flex;align-items:center;gap:10px}.ausweis-preview__doc-logo{width:32px;height:32px;border-radius:6px;background:linear-gradient(135deg,#e8e8e8,#d0d0d0);animation:shimmer-subtle 2s ease-in-out infinite}.ausweis-preview__doc-title-lines{flex:1;display:flex;flex-direction:column;gap:4px}.ausweis-preview__doc-line{height:8px;background:linear-gradient(90deg,#e8e8e8,#f4f4f4,#e8e8e8);background-size:200% 100%;border-radius:4px;animation:shimmer-subtle 2s ease-in-out infinite}.ausweis-preview__doc-line--short{width:40%}.ausweis-preview__doc-line--medium{width:70%}@keyframes shimmer-subtle{0%{background-position:200% 0}to{background-position:-200% 0}}.ausweis-preview__energy-scale-anim{background:#f8f8f8;border-radius:6px;padding:10px;border:1px solid #e0e0e0}.ausweis-preview__scale-labels{display:flex;justify-content:space-between;margin-bottom:6px}.ausweis-preview__scale-label-item{font-size:.625rem;font-weight:700;color:#888;opacity:0;animation:label-fade-in .3s ease-out forwards}@keyframes label-fade-in{to{opacity:1}}.ausweis-preview__scale-bar-container{position:relative;height:16px;border-radius:8px;overflow:hidden}.ausweis-preview__scale-bar-bg{position:absolute;inset:0;background:linear-gradient(90deg,#00a650,#4cb848,#9aca3c,#d4de26,#fff100 44%,#fcb814 56%,#f37021,#ed1c24 78%,#be1622);opacity:.25}.ausweis-preview__scale-bar-fill{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,#00a650,#4cb848,#9aca3c,#d4de26,#fff100 44%,#fcb814 56%,#f37021,#ed1c24 78%,#be1622);border-radius:8px;transition:width .3s ease-out}.ausweis-preview__scale-bar-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:scale-shimmer 1.5s ease-in-out infinite}@keyframes scale-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ausweis-preview__doc-content{flex:1;display:flex;flex-direction:column;gap:6px}.ausweis-preview__loading-steps{display:flex;flex-direction:column;gap:8px}.ausweis-preview__step{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--color-surface-alt, #f5f5f5);border-radius:8px;border:1px solid transparent;transition:all .3s ease}.ausweis-preview__step--current{background:linear-gradient(135deg,#4a7c3f14,#4a7c3f0a);border-color:#4a7c3f4d}.ausweis-preview__step--complete{background:#4a7c3f0f}.ausweis-preview__step-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000001a;transition:all .3s ease;color:var(--color-text-muted);flex-shrink:0}.ausweis-preview__step-icon svg{width:14px;height:14px}.ausweis-preview__step--complete .ausweis-preview__step-icon{background:#4a7c3f;color:#fff}.ausweis-preview__step--current .ausweis-preview__step-icon{color:#4a7c3f}.ausweis-preview__step--current .ausweis-preview__step-icon{box-shadow:0 0 0 3px #4a7c3f33}.ausweis-preview__step-label{flex:1;font-size:.75rem;font-weight:500;color:var(--color-text-muted);transition:color .3s ease}.ausweis-preview__step--current .ausweis-preview__step-label{color:var(--color-text);font-weight:600}.ausweis-preview__step--complete .ausweis-preview__step-label{color:#4a7c3f}.ausweis-preview__step-spinner{width:14px;height:14px;border:2px solid var(--color-border);border-top-color:#4a7c3f;border-radius:50%;animation:ausweis-spin .8s linear infinite}@keyframes ausweis-spin{to{transform:rotate(360deg)}}.ausweis-preview__progress-container{display:flex;flex-direction:column;gap:6px}.ausweis-preview__progress-bar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.ausweis-preview__progress-fill{height:100%;background:linear-gradient(90deg,#4a7c3f,#6abf5b);border-radius:2px;transition:width .3s ease-out}.ausweis-preview__progress-text{font-size:.6875rem;color:var(--color-text-muted);text-align:center}[data-theme=dark] .ausweis-preview__doc-inner{background:#2a2a2a;border-color:#404040}[data-theme=dark] .ausweis-preview__doc-logo,[data-theme=dark] .ausweis-preview__doc-line{background:linear-gradient(90deg,#3a3a3a,#454545,#3a3a3a);background-size:200% 100%}[data-theme=dark] .ausweis-preview__energy-scale-anim{background:#333;border-color:#444}[data-theme=dark] .ausweis-preview__scale-label-item{color:#888}[data-theme=dark] .ausweis-preview__step{background:#ffffff0d}[data-theme=dark] .ausweis-preview__step--current{background:#4a7c3f26;border-color:#4a7c3f66}[data-theme=dark] .ausweis-preview__step-icon{background:#3a3a3a}.ausweis-preview__main{position:relative;width:100%;background:#f5f5f5;line-height:0}.ausweis-preview__main img{width:100%;height:auto;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ausweis-preview__fade{position:absolute;bottom:0;left:0;right:0;height:75%;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.5) 15%,rgba(255,255,255,.9) 35%,rgba(255,255,255,.98) 55%,#ffffff 100%);display:flex;align-items:flex-end;justify-content:center;padding:0 .75rem 1rem;pointer-events:none}@media(min-width:360px){.ausweis-preview__fade{padding:0 1rem 1.5rem}}.ausweis-preview__fade-cta{text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.ausweis-preview__fade-title{font-size:.75rem;font-weight:700;color:#1a1a1a;line-height:1.3}.ausweis-preview__fade-benefits{display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;font-size:.625rem;font-weight:600;color:#4a7c3f;justify-content:center}.ausweis-preview__fade-benefits span+span:before{content:"·";margin-right:6px;opacity:.5}@media(min-width:360px){.ausweis-preview__fade-cta{gap:6px}.ausweis-preview__fade-title{font-size:.875rem}.ausweis-preview__fade-benefits{gap:8px;font-size:.6875rem}}.ausweis-preview__watermark-hint{position:absolute;top:8px;right:8px;background:#0000008c;color:#fff;font-size:.5625rem;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;pointer-events:none}.ausweis-preview__thumbnails{display:flex;gap:6px;padding:10px 12px;overflow-x:auto;background:var(--color-surface-alt, rgba(0, 0, 0, .03));border-top:1px solid var(--color-border);scrollbar-width:none}.ausweis-preview__thumbnails::-webkit-scrollbar{display:none}.ausweis-preview__thumb{flex:1 1 0;min-width:0;aspect-ratio:210 / 297;border-radius:6px;overflow:hidden;pointer-events:none;border:2px solid var(--color-border);position:relative;background:#f5f5f5;padding:0;line-height:0}.ausweis-preview__thumb--active{border-color:var(--color-primary, #4a7c3f);box-shadow:0 0 0 1px var(--color-primary, #4a7c3f)}.ausweis-preview__thumb--active:after{content:"";position:absolute;z-index:1;bottom:0;left:0;right:0;height:70%;background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.5) 20%,rgba(255,255,255,.95) 60%,#ffffff 100%);pointer-events:none;border-radius:0 0 4px 4px}[data-theme=dark] .ausweis-preview__thumb--active:after{background:linear-gradient(to bottom,transparent 0%,rgba(30,30,30,.5) 20%,rgba(30,30,30,.95) 60%,#1e1e1e 100%)}.ausweis-preview__thumb img{width:100%;height:100%;object-fit:cover;filter:blur(2px) saturate(.6);opacity:.5;transition:filter .15s ease,opacity .15s ease}.ausweis-preview__thumb--active img{filter:none;opacity:1}.ausweis-preview__thumb-label{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:.5625rem;font-weight:700;color:var(--color-text-muted);background:#ffffffd9;padding:2px 0;line-height:1.2}.ausweis-preview__thumb--active .ausweis-preview__thumb-label{color:var(--color-primary, #4a7c3f);background:#fffffff2;font-weight:800}.ausweis-preview__cta{padding:.75rem 1rem;display:flex;align-items:center;gap:.75rem;border-top:1px solid var(--color-border)}.ausweis-preview__cta-badge{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;font-size:1.125rem;font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 2px 6px #0000001f;flex-shrink:0}.ausweis-preview__cta-badge--nwg{background:linear-gradient(135deg,#3b82f6,#1d4ed8);font-size:.75rem;letter-spacing:.5px}.ausweis-preview__cta-text{display:flex;flex-direction:column;gap:1px;min-width:0}.ausweis-preview__cta-title{font-size:.8125rem;font-weight:700;color:var(--color-text);line-height:1.3}.ausweis-preview__cta-subtitle{font-size:.6875rem;color:var(--color-text-secondary);line-height:1.4}.ausweis-preview__error{margin-top:.5rem;padding:.5rem .75rem;font-size:.75rem;color:var(--color-text-muted);text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px)}@media(min-width:480px){.ausweis-preview__thumbnails{gap:8px;padding:12px 14px}.ausweis-preview__cta{padding:1rem 1.25rem}}[data-theme=dark] .ausweis-preview{background:var(--color-surface)}[data-theme=dark] .ausweis-preview__main{background:#1a1a1a}[data-theme=dark] .ausweis-preview__fade{background:linear-gradient(to bottom,transparent 0%,rgba(30,30,30,.5) 15%,rgba(30,30,30,.9) 35%,rgba(30,30,30,.98) 55%,#1e1e1e 100%)}[data-theme=dark] .ausweis-preview__fade-title{color:#e5e7eb}[data-theme=dark] .ausweis-preview__fade-benefits{color:#6abf5b}[data-theme=dark] .ausweis-preview__fade-benefits span+span:before{color:#6abf5b}[data-theme=dark] .ausweis-preview__skeleton{background:linear-gradient(110deg,#ffffff0a 0% 40%,#ffffff14 50%,#ffffff0a 60% 100%);background-size:200% 100%;animation:ausweis-shimmer 1.5s ease-in-out infinite}[data-theme=dark] .ausweis-preview__thumb{background:#1a1a1a;border-color:var(--color-border)}[data-theme=dark] .ausweis-preview__thumb img{filter:blur(2px) brightness(.5)}[data-theme=dark] .ausweis-preview__thumb--active img{filter:brightness(.9)}[data-theme=dark] .ausweis-preview__thumb-label{background:#000000bf;color:var(--color-text-muted)}[data-theme=dark] .ausweis-preview__thumb--active .ausweis-preview__thumb-label{background:#000000d9}[data-theme=dark] .ausweis-preview__watermark-hint{background:#000000b3}.photo-uploader{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:6px;padding:.625rem;margin-bottom:0}@media(min-width:480px){.photo-uploader{padding:.75rem}}.photo-uploader-disabled{opacity:.6;pointer-events:none}.photo-uploader-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.375rem}.photo-uploader-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.photo-uploader-title h4{margin:0;font-size:.75rem;font-weight:600;color:var(--color-text)}.photo-count{font-size:.6875rem;color:var(--color-text-secondary);font-weight:500}.photo-uploader .status-badge{font-size:.5625rem;font-weight:600;padding:.125rem .375rem;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.photo-uploader .status-badge-required{background:#dc354526;color:#dc3545}.photo-uploader .status-badge-success{background:#28a74526;color:#28a745}.photo-uploader .status-badge-recommended{background:#ffc10726;color:#d39e00}.photo-uploader .status-badge-optional{background:var(--color-surface);color:var(--color-text-secondary)}.photo-uploader-description{margin:0 0 .5rem;font-size:.6875rem;color:var(--color-text-secondary);line-height:1.4}.photo-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.375rem;margin-bottom:.5rem}@media(min-width:480px){.photo-preview-grid{grid-template-columns:repeat(4,1fr);gap:.5rem}}.photo-preview-item{position:relative;aspect-ratio:1;border-radius:4px;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border)}.photo-preview-image{width:100%;height:100%;object-fit:cover}.photo-preview-pdf{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:.25rem;text-align:center}.pdf-icon{display:flex;align-items:center;justify-content:center;color:#dc3545;margin-bottom:.125rem}.pdf-icon svg{width:20px;height:20px}.pdf-name{font-size:.5rem;color:var(--color-text-secondary);word-break:break-all;line-height:1.1}.photo-delete-btn{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:#dc3545e6;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity var(--transition-fast),transform var(--transition-fast)}.photo-delete-btn svg{width:12px;height:12px}@media(min-width:768px){.photo-delete-btn{opacity:0}.photo-preview-item:hover .photo-delete-btn{opacity:1}}.photo-delete-btn:hover{background:#c82333;transform:scale(1.1)}.photo-delete-btn:active{transform:scale(.95)}.photo-size{position:absolute;bottom:2px;left:2px;font-size:.5rem;background:#0009;color:#fff;padding:1px 3px;border-radius:2px}.photo-dropzone{border:2px dashed var(--color-border);border-radius:6px;padding:.625rem;text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--color-surface);min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem}@media(min-width:480px){.photo-dropzone{padding:.75rem;min-height:70px}}.photo-dropzone:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb, 59, 130, 246),.05)}.photo-dropzone-active{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb, 59, 130, 246),.1)}.photo-dropzone-disabled{cursor:not-allowed;opacity:.5}.photo-dropzone:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.dropzone-icon{color:var(--color-text-secondary);margin-bottom:0}.dropzone-icon svg{width:20px;height:20px}.dropzone-text{margin:0;font-size:.6875rem;color:var(--color-text)}.dropzone-link{color:var(--color-primary);text-decoration:underline}.dropzone-hint{margin:0;font-size:.5625rem;color:var(--color-text-tertiary, #9ca3af)}.photo-input-hidden{display:none}.photo-uploader .upload-progress{padding:.25rem 0}.photo-uploader .upload-progress-bar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden;margin-bottom:.25rem}.photo-uploader .upload-progress-fill{height:100%;background:var(--color-primary);transition:width .2s ease}.photo-uploader .upload-progress-text{font-size:.625rem;color:var(--color-text-secondary)}.photo-uploader-hint{margin:.5rem 0 0;font-size:.625rem;color:var(--color-text-tertiary, #9ca3af);font-style:italic;display:flex;align-items:flex-start;gap:.375rem}.photo-uploader-hint:before{content:"";display:inline-block;flex-shrink:0;width:12px;height:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='12' y1='16' x2='12' y2='12'/%3E%3Cline x1='12' y1='8' x2='12.01' y2='8'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.photo-uploader-error{display:flex;align-items:center;gap:.375rem;margin-top:.5rem;padding:.375rem .5rem;background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:4px;color:#dc3545;font-size:.6875rem}.error-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#dc3545}.error-icon svg{width:14px;height:14px}[data-theme=dark] .photo-dropzone{background:var(--color-surface-alt)}[data-theme=dark] .photo-dropzone:hover{background:rgba(var(--color-primary-rgb, 59, 130, 246),.1)}[data-theme=dark] .photo-uploader .status-badge-required{background:#dc354533}[data-theme=dark] .photo-uploader .status-badge-success{background:#28a74533}[data-theme=dark] .photo-uploader .status-badge-recommended{background:#ffc10733}.photo-upload-compact{display:flex;flex-direction:column;gap:.625rem;padding:.875rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px)}.photo-upload-compact--no-header{padding:0;border:none;background:transparent;border-radius:0}.photo-upload-compact__header{display:flex;align-items:center;justify-content:space-between}.photo-upload-compact__header h4{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text)}.photo-upload-compact__header h4 svg{color:var(--color-text-secondary);width:16px;height:16px}.photo-upload-compact__optional{font-size:.75rem;font-weight:400;color:var(--color-text-muted)}.photo-upload-compact__progress{font-size:.75rem;font-weight:600;color:var(--color-primary);padding:.1875rem .5rem;background:var(--color-primary-light, rgba(74, 124, 63, .1));border-radius:var(--radius-sm, 6px)}.photo-upload-compact__choice{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.photo-upload-compact__choice-btn{display:flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem .75rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all .2s;min-height:44px}.photo-upload-compact__choice-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.photo-upload-compact__choice-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.photo-upload-compact__choice-btn svg{flex-shrink:0;width:16px;height:16px}.photo-upload-compact__later{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;background:var(--color-success-light, rgba(16, 185, 129, .1));border-radius:var(--radius-sm, 6px)}.photo-upload-compact__later svg{color:var(--color-success, #10b981);flex-shrink:0;width:16px;height:16px}.photo-upload-compact__later p{margin:0;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.5}.photo-upload-compact__list{display:flex;flex-direction:column;gap:.5rem}.photo-upload-compact__item{border-radius:var(--radius-sm, 6px);overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface);transition:border-color .2s,background .2s}.photo-upload-compact__item:hover{border-color:var(--color-primary);background:var(--color-primary-light, rgba(74, 124, 63, .05))}.photo-upload-compact__item.uploaded{border-color:var(--color-success, #10b981);background:var(--color-success-light, rgba(16, 185, 129, .05))}.photo-upload-compact__item-header{display:flex;align-items:center;gap:.625rem;width:100%;padding:.625rem .75rem;background:transparent;border:none;color:var(--color-text);cursor:pointer;text-align:left;min-height:48px}.photo-upload-compact__item-header.expanded{border-bottom:1px solid var(--color-border)}.photo-upload-compact__item-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--color-surface-alt);border:1.5px solid var(--color-border);flex-shrink:0;transition:all .2s}.photo-upload-compact__item-icon svg{width:16px;height:16px;color:var(--color-text-muted)}.photo-upload-compact__item.uploaded .photo-upload-compact__item-icon{background:var(--color-success, #10b981);border-color:var(--color-success, #10b981)}.photo-upload-compact__item.uploaded .photo-upload-compact__item-icon svg{color:#fff}.photo-upload-compact__item-info{flex:1;min-width:0}.photo-upload-compact__item-label{font-weight:500;font-size:.875rem;display:block}.photo-upload-compact__item-status{font-size:.75rem;color:var(--color-text-muted);display:block;margin-top:.125rem}.photo-upload-compact__item.uploaded .photo-upload-compact__item-status{color:var(--color-success, #10b981)}.photo-upload-compact__item-arrow{color:var(--color-text-muted);flex-shrink:0}.photo-upload-compact__item-arrow svg{width:14px;height:14px}.photo-upload-compact__item:hover .photo-upload-compact__item-arrow{color:var(--color-primary)}.photo-upload-compact__thumbnails{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem .75rem}.photo-upload-compact__thumb{position:relative;width:48px;height:48px;border-radius:var(--radius-sm, 6px);overflow:hidden;box-shadow:0 1px 3px #0000001a}.photo-upload-compact__thumb img{width:100%;height:100%;object-fit:cover}.photo-upload-compact__thumb-delete{position:absolute;top:0;right:0;width:22px;height:22px;border-radius:0 var(--radius-sm, 6px) 0 var(--radius-sm, 6px);background:#ef4444e6;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1;transition:background .15s;opacity:0}.photo-upload-compact__thumb:hover .photo-upload-compact__thumb-delete,.photo-upload-compact__thumb:focus-within .photo-upload-compact__thumb-delete{opacity:1}@media(hover:none){.photo-upload-compact__thumb-delete{opacity:1}}.photo-upload-compact__thumb-delete:hover{background:#dc2626}.photo-upload-compact__thumb-delete svg{width:12px;height:12px}.photo-upload-compact__item-content{padding:.625rem .75rem;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.photo-upload-compact__item-hint{margin:0 0 .5rem;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.5}.photo-upload-compact__success{display:flex;align-items:center;gap:.5rem;padding:.625rem;background:var(--color-success-light, rgba(16, 185, 129, .1));border-radius:var(--radius-sm, 6px);color:var(--color-success, #10b981);font-size:.8125rem;font-weight:500}.photo-upload-compact__success svg{width:16px;height:16px}.photo-upload-compact__switch{padding:.625rem;background:transparent;border:1px dashed var(--color-border);border-radius:var(--radius-sm, 6px);font-size:.8125rem;color:var(--color-text-secondary);cursor:pointer;transition:all .2s;text-align:center;min-height:44px}.photo-upload-compact__switch:hover{border-color:var(--color-primary);color:var(--color-primary)}.photo-upload-compact__prompt{padding:.5rem;text-align:center}.photo-upload-compact__prompt p{margin:0;font-size:.8125rem;color:var(--color-text-secondary)}@media(min-width:480px){.photo-upload-compact{padding:1rem;gap:.75rem}.photo-upload-compact__header h4{font-size:1rem}.photo-upload-compact__choice-btn{font-size:.875rem;padding:.625rem .875rem}.photo-upload-compact__item-label{font-size:.9375rem}}[data-theme=dark] .photo-upload-compact{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .photo-upload-compact__progress{background:#5a9c4f26}[data-theme=dark] .photo-upload-compact__choice-btn{background:var(--color-surface-alt);border-color:var(--color-border)}[data-theme=dark] .photo-upload-compact__choice-btn:hover{border-color:var(--color-primary)}[data-theme=dark] .photo-upload-compact__choice-btn.active{background:var(--color-primary);border-color:var(--color-primary)}[data-theme=dark] .photo-upload-compact__later{background:#10b98126}[data-theme=dark] .photo-upload-compact__later svg{color:#6ee7b7}[data-theme=dark] .photo-upload-compact__item{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .photo-upload-compact__item:hover{border-color:var(--color-primary);background:#4a7c3f1a}[data-theme=dark] .photo-upload-compact__item.uploaded{border-color:#6ee7b7;background:#10b9811a}[data-theme=dark] .photo-upload-compact__item-icon{background:var(--color-surface-alt);border-color:var(--color-border)}[data-theme=dark] .photo-upload-compact__item.uploaded .photo-upload-compact__item-icon{background:#10b981;border-color:#10b981}[data-theme=dark] .photo-upload-compact__item.uploaded .photo-upload-compact__item-status{color:#6ee7b7}[data-theme=dark] .photo-upload-compact__item-header.expanded{border-bottom-color:var(--color-border)}[data-theme=dark] .photo-upload-compact__success{background:#10b98126;color:#6ee7b7}[data-theme=dark] .photo-upload-compact__switch{border-color:var(--color-border)}[data-theme=dark] .photo-upload-compact__switch:hover{border-color:var(--color-primary);color:var(--color-primary)}.step-checkout{width:100%;margin:0 auto;padding:0;overflow-x:hidden}.checkout-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:stretch;min-width:0}@media(min-width:480px){.checkout-grid{gap:1.75rem}}.checkout-forms{display:flex;flex-direction:column;gap:1rem;min-width:0}@media(min-width:480px){.checkout-forms{gap:1.25rem}}@media(min-width:768px){.checkout-forms{gap:1.5rem}}.checkout-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);padding:.875rem;overflow:hidden}@media(min-width:480px){.checkout-section{padding:1rem}}@media(min-width:768px){.checkout-section{padding:1.25rem}}.checkout-section h3,.checkout-section-heading{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--color-text)}@media(min-width:480px){.checkout-section h3,.checkout-section-heading{font-size:1.0625rem}}.checkout-section h3 svg,.checkout-section-heading svg{color:var(--color-primary, #2563eb);width:18px;height:18px}.checkout-photo-section{padding:0;overflow:hidden}.checkout-photo-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem;background:transparent;border:none;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--color-text)}.checkout-photo-toggle:hover{background:var(--color-surface-alt)}.checkout-photo-toggle-left{display:flex;align-items:center;gap:.375rem}.checkout-photo-toggle-left svg{color:var(--color-primary, #2563eb);width:16px;height:16px}.checkout-photo-badge{font-size:.75rem;font-weight:400;color:var(--color-text-muted)}.checkout-photo-toggle-right{display:flex;align-items:center;gap:.375rem}.checkout-photo-toggle-right svg{color:var(--color-text-muted);width:14px;height:14px}.checkout-photo-progress{font-size:.75rem;font-weight:600;color:var(--color-primary);padding:.1875rem .5rem;background:var(--color-primary-light, rgba(74, 124, 63, .1));border-radius:var(--radius-sm, 6px)}.checkout-photo-status-badge{font-size:.75rem;font-weight:500;color:var(--color-success, #10b981);padding:.1875rem .5rem;background:var(--color-success-light, rgba(16, 185, 129, .1));border-radius:var(--radius-sm, 6px)}.checkout-photo-required{font-size:.75rem;font-weight:500;color:var(--color-warning, #d97706);padding:.1875rem .5rem;background:#d977061a;border-radius:var(--radius-sm, 6px)}.checkout-photo-section.needs-action{border-color:var(--color-warning, #d97706)}.checkout-photo-content{padding:0 .75rem .75rem;border-top:1px solid var(--color-border);animation:slideDown .2s ease-out}@media(min-width:480px){.checkout-photo-toggle{padding:.875rem}.checkout-photo-content{padding:0 .875rem .875rem}}.section-hint{margin:-.375rem 0 .75rem;font-size:.75rem;color:var(--color-text-secondary)}@media(min-width:480px){.section-hint{font-size:.8125rem}}.step-checkout input,.step-checkout select,.step-checkout textarea{font-size:16px}.step-checkout .form-row{display:flex;flex-direction:column;gap:.625rem;margin-bottom:.625rem}.step-checkout .form-row.two-col{display:flex;flex-direction:column;gap:.625rem}@media(min-width:480px){.step-checkout .form-row{flex-direction:row;gap:.75rem;margin-bottom:.625rem}.step-checkout .form-row.two-col{flex-direction:row}}.step-checkout .form-group{display:flex;flex-direction:column;gap:.25rem;width:100%}.step-checkout .form-group.flex-grow{flex:1}.step-checkout .form-group.plz-field,.step-checkout .form-group.hausnummer-field{width:100%}@media(min-width:480px){.step-checkout .form-group.plz-field{width:110px;flex-shrink:0}.step-checkout .form-group.hausnummer-field{width:100px;flex-shrink:0}}.step-checkout .form-group label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary)}.step-checkout .form-group input{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);font-size:.9375rem;min-height:44px;transition:border-color .2s,box-shadow .2s}@media(min-width:768px){.step-checkout .form-group input{padding:.625rem .75rem;min-height:44px}}.form-group input:focus{outline:none;border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 2px var(--color-primary-alpha, rgba(37, 99, 235, .1))}.checkout-payment{position:static;min-width:0;overflow:hidden}@media(min-width:768px){.checkout-payment{position:sticky;top:1rem}}.checkout-summary{background:var(--color-surface-alt);border-radius:var(--radius-lg, 12px);padding:1rem;margin-bottom:1rem}@media(min-width:480px){.checkout-summary{padding:1.25rem;margin-bottom:1.25rem}}@media(min-width:768px){.checkout-summary{margin-bottom:1.5rem}}.checkout-summary h3{margin:0 0 1rem;font-size:1rem;font-weight:600}.summary-line{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.9375rem}.summary-line.total{border-top:2px solid var(--color-border);margin-top:.5rem;padding-top:.75rem;font-weight:600;font-size:1.125rem}.summary-line .price{font-weight:600;color:var(--color-primary, #2563eb)}.payment-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;padding:.625rem .75rem;margin-bottom:.5rem}.payment-section h3{display:flex;align-items:center;gap:.375rem;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.payment-section h3 svg{color:var(--color-primary, #2563eb);width:16px;height:16px}.agb-checkbox{display:flex;align-items:flex-start;gap:.625rem;margin:0;cursor:pointer;padding:0;border-radius:0;min-height:32px}.agb-checkbox:active{background:transparent}.agb-checkbox input[type=checkbox]{display:block!important;appearance:auto!important;-webkit-appearance:checkbox!important;width:20px;height:20px;min-width:20px;margin-top:1px;accent-color:var(--color-primary, #2563eb);cursor:pointer}.agb-checkbox span{font-size:.8125rem;color:var(--color-text-secondary);line-height:1.6}.agb-checkbox span a{color:var(--color-primary, #2563eb);text-decoration:underline}.agb-links{display:flex;align-items:center;gap:.5rem;padding-left:calc(20px + .625rem);margin-top:-.125rem}.agb-links a{font-size:.75rem;color:var(--color-primary, #2563eb);text-decoration:underline;padding:.375rem .25rem;margin:-.375rem -.25rem;border-radius:4px;transition:background .15s}.agb-links a:active{background:var(--color-primary-light, rgba(37, 99, 235, .1))}.agb-links-divider{color:var(--color-text-muted);font-size:.75rem;-webkit-user-select:none;user-select:none}.checkout-error{padding:1rem;background:var(--color-error-bg, #fef2f2);color:var(--color-error, #dc2626);border-radius:8px;margin-bottom:1rem;font-size:.9375rem}.checkout-actions{display:flex;flex-direction:column-reverse;gap:.75rem;margin-top:1rem}@media(min-width:480px){.checkout-actions{flex-direction:row;gap:1rem}}.btn-back{width:100%;padding:.875rem 1.5rem;background:var(--color-surface-alt);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);font-size:.9375rem;min-height:var(--touch-target-min, 44px);cursor:pointer;transition:all .2s;text-align:center}@media(min-width:480px){.btn-back{width:auto}}.btn-back:hover{background:var(--color-surface);border-color:var(--color-text-secondary, #9ca3af)}.btn-pay{flex:1;padding:.875rem 1.5rem;background:var(--color-primary, #2563eb);color:#fff;border:none;border-radius:var(--radius-md, 8px);font-size:1rem;font-weight:600;min-height:var(--touch-target-min, 44px);cursor:pointer;transition:all .2s}.btn-pay:hover:not(:disabled){background:var(--color-primary-hover, #1d4ed8)}.btn-pay:disabled{opacity:.6;cursor:not-allowed}.demo-payment{background:var(--color-surface);border:2px dashed var(--color-border);border-radius:12px;padding:1.5rem}.demo-notice{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--color-warning-bg, #fffbeb);border-radius:8px;margin-bottom:1rem}.demo-badge{padding:.25rem .5rem;background:var(--color-warning, #f59e0b);color:#fff;border-radius:4px;font-size:.75rem;font-weight:700}.demo-notice p{margin:0;font-size:.875rem;color:var(--color-warning-text, #92400e)}.checkout-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary, #2563eb);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.input-hint{display:block;font-size:.75rem;color:var(--color-text-muted, #9ca3af);margin-top:.25rem}[data-theme=dark] .checkout-section{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .checkout-section h3 svg{color:var(--color-primary)}[data-theme=dark] .form-group input{background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .form-group input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #5a9c4f26}[data-theme=dark] .checkout-summary{background:var(--color-surface-alt)}[data-theme=dark] .summary-line.total{border-top-color:var(--color-border)}[data-theme=dark] .summary-line .price{color:var(--color-primary)}[data-theme=dark] .payment-section{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .payment-section h3 svg{color:var(--color-primary, #3b82f6)}[data-theme=dark] .checkout-error{background:#dc262626;color:#fca5a5}[data-theme=dark] .btn-back{background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-text-secondary)}[data-theme=dark] .btn-back:hover{background:var(--color-surface);border-color:var(--color-text-muted)}[data-theme=dark] .btn-pay{background:var(--color-primary)}[data-theme=dark] .btn-pay:hover:not(:disabled){background:var(--color-primary-hover)}[data-theme=dark] .demo-payment{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .demo-notice{background:#f59e0b26}[data-theme=dark] .demo-notice p{color:#fbbf24}.customer-type-row{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding-bottom:.625rem;margin-bottom:.625rem;border-bottom:1px solid var(--color-border)}@media(min-width:400px){.customer-type-row{flex-direction:row;align-items:center;justify-content:space-between}}.customer-type-label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);flex-shrink:0}.toggle-buttons-small{display:flex;gap:0;flex-wrap:nowrap;width:100%}@media(min-width:400px){.toggle-buttons-small{width:auto}}.toggle-btn{display:flex;align-items:center;justify-content:center;gap:.25rem;flex:1;padding:.5rem .75rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:0;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);min-height:38px;cursor:pointer;transition:all .2s}.toggle-btn:first-child{border-radius:6px 0 0 6px;border-right:none}.toggle-btn:last-child{border-radius:0 6px 6px 0}@media(min-width:400px){.toggle-btn{flex:none;padding:.5rem .875rem;font-size:.8125rem}}.toggle-btn:hover:not(.active){background:var(--color-surface);border-color:var(--color-primary);color:var(--color-text)}.toggle-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;z-index:1}.toggle-btn svg{width:14px;height:14px;flex-shrink:0}.billing-toggle{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1rem;background:var(--color-surface-alt);border:1px dashed var(--color-border);border-radius:var(--radius-md, 8px);font-size:.9375rem;color:var(--color-text-secondary);min-height:var(--touch-target-comfortable, 48px);cursor:pointer;transition:all .2s}.billing-toggle:hover{border-color:var(--color-primary);color:var(--color-text)}.billing-toggle.active{background:#2563eb14;border-color:var(--color-primary);border-style:solid;color:var(--color-primary)}.billing-address-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);animation:slideDown .25s ease-out}[data-theme=dark] .customer-type-row{border-bottom-color:var(--color-border)}[data-theme=dark] .toggle-btn{background:var(--color-surface-alt);border-color:var(--color-border)}[data-theme=dark] .toggle-btn:first-child{border-right:none}[data-theme=dark] .toggle-btn:hover:not(.active){background:var(--color-surface);border-color:var(--color-primary)}[data-theme=dark] .toggle-btn.active{background:var(--color-primary);border-color:var(--color-primary)}[data-theme=dark] .billing-toggle{background:var(--color-surface-alt);border-color:var(--color-border)}[data-theme=dark] .billing-toggle:hover{border-color:var(--color-primary)}[data-theme=dark] .billing-toggle.active{background:#5a9c4f26;border-color:var(--color-primary);color:var(--color-primary)}[data-theme=dark] .billing-address-form{border-top-color:var(--color-border)}.payment-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--color-primary) 0%,#3d6834 100%);color:#fff;border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0}.payment-header-left{display:flex;align-items:center;gap:.625rem;min-width:0;overflow:hidden}.payment-header-icon{width:32px;height:32px;background:#fff3;border-radius:var(--radius-sm, 6px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.payment-header-icon svg{width:16px;height:16px}.payment-header-info{min-width:0;overflow:hidden}.payment-header-title{font-weight:600;font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.payment-header-subtitle{font-size:.75rem;opacity:.8;font-weight:400}.payment-header-price{display:flex;flex-direction:column;align-items:flex-end;gap:0;flex-shrink:0}.payment-header-amount{font-size:1.25rem;font-weight:700;line-height:1.1}.payment-header-vat{font-size:.6875rem;opacity:.85;line-height:1.2}.benefits-mini{display:flex;justify-content:center;flex-wrap:nowrap;gap:.5rem;padding:.375rem .75rem;background:var(--color-surface-alt);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border);overflow:hidden}.benefit-mini{display:flex;align-items:center;gap:.25rem;font-size:.6875rem;color:var(--color-text-secondary);white-space:nowrap}.benefit-mini svg{width:12px;height:12px;color:var(--color-success, #10b981);flex-shrink:0}.payment-content{padding:0;background:transparent;border:none;border-radius:0}[data-theme=dark] .payment-header{background:linear-gradient(135deg,var(--color-primary) 0%,#4a8a3a 100%)}[data-theme=dark] .benefits-mini{background:var(--color-surface-alt);border-color:var(--color-border)}[data-theme=dark] .benefit-mini svg{color:#6ee7b7}.checkout-summary-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:.875rem;overflow:hidden}@media(min-width:480px){.checkout-summary-section{padding:1rem}}.section-header{display:flex;align-items:center;justify-content:space-between;gap:.375rem;margin-bottom:.5rem;min-width:0}.section-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text);min-width:0;overflow:hidden}@media(min-width:480px){.section-header h3{font-size:1rem}}.section-header h3 svg{color:var(--color-primary, #2563eb);flex-shrink:0;width:16px;height:16px}.edit-btn{padding:.375rem .5rem;background:transparent;border:1px solid var(--color-border);border-radius:4px;font-size:.75rem;color:var(--color-text-secondary);min-height:32px;cursor:pointer;transition:all .2s;flex-shrink:0;white-space:nowrap}.edit-btn svg{width:12px;height:12px}@media(min-width:480px){.edit-btn{font-size:.75rem}}.edit-btn:hover{background:var(--color-surface-alt);border-color:var(--color-primary);color:var(--color-primary)}.data-summary{display:flex;flex-direction:column;gap:.25rem;overflow:hidden}.data-row{display:flex;flex-wrap:wrap;gap:.125rem .375rem;font-size:.8125rem}@media(min-width:480px){.data-row{flex-wrap:nowrap;font-size:.875rem}}.data-label{color:var(--color-text-secondary);flex-shrink:0}@media(min-width:480px){.data-label{min-width:80px}}.data-value{color:var(--color-text);font-weight:500;word-break:break-word;overflow-wrap:break-word}.data-value.same-address{font-style:italic;color:var(--color-text-secondary)}.btn-save-data{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:var(--color-primary, #2563eb);border:none;border-radius:6px;font-size:.875rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s;min-height:44px}.btn-save-data svg{width:14px;height:14px}.btn-save-data:hover{background:var(--color-primary-hover, #1d4ed8)}.btn-pay-primary{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 1.5rem;background:var(--color-success, #10b981);border:none;border-radius:var(--radius-md, 8px);font-size:1rem;font-weight:700;color:#fff;min-height:52px;cursor:pointer;transition:all .2s;letter-spacing:.01em}.btn-pay-primary:hover:not(:disabled){background:var(--color-success-hover, #059669);transform:translateY(-1px)}@media(hover:none){.btn-pay-primary:hover:not(:disabled){transform:none}}.btn-pay-primary:active:not(:disabled){transform:scale(.98)}.btn-pay-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-pay-primary svg{width:20px;height:20px}@media(min-width:768px){.btn-pay-primary svg{width:18px;height:18px}}.btn-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.btn-back-link{display:block;width:100%;padding:.875rem;background:none;border:none;font-size:.9375rem;color:var(--color-text-secondary);min-height:var(--touch-target-min, 44px);cursor:pointer;text-align:center;transition:color .2s}.btn-back-link:hover{color:var(--color-text)}.btn-back-link:active{background:var(--color-surface-alt);border-radius:var(--radius-md, 8px)}.trust-badges{display:flex;justify-content:center;gap:.75rem;padding:.625rem 0 0;margin-top:0;border-top:1px solid var(--color-border)}.trust-badge{display:flex;align-items:center;gap:.25rem;text-align:center}.trust-badge svg{width:14px;height:14px;color:var(--color-success, #10b981);flex-shrink:0}.trust-badge span{font-size:.6875rem;color:var(--color-text-secondary);line-height:1.3}@media(min-width:480px){.trust-badges{gap:1rem}.trust-badge svg{width:16px;height:16px}.trust-badge span{font-size:.75rem}}.checkout-error-state{padding:1.5rem;text-align:center}.error-hint{margin:.5rem 0 1rem;font-size:.875rem;color:var(--color-text-secondary)}.checkout-waiting-state{padding:1.5rem;text-align:center}.checkout-initializing{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem 0}.checkout-initializing p{color:var(--color-text-secondary);font-size:.9375rem}.spinner-small{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.checkout-hint-state{padding:2rem 1rem}.checkout-hint-icon{font-size:2.5rem;margin-bottom:1rem}.checkout-hint-text{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5;margin-bottom:.5rem}.checkout-hint-required{color:var(--color-text-tertiary);font-size:.8125rem;margin-top:.75rem}.btn-retry{margin-top:1rem;padding:.625rem 1.25rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);color:var(--color-text);font-size:.9375rem;min-height:var(--touch-target-min, 44px);cursor:pointer;transition:background .2s}.btn-retry:hover{background:var(--color-surface)}.btn-retry:active{transform:scale(.98)}.checkout-action-card{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px)}[data-theme=dark] .checkout-action-card{background:var(--color-surface-alt);border-color:var(--color-border)}.checkout-action-card .agb-section{margin:0;padding:0;background:transparent;border:none;border-radius:0}.checkout-action-card .trust-badges{border-top:none;padding-top:0;margin-top:0}.agb-section{margin:0;padding:.75rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:6px}[data-theme=dark] .agb-section{background:var(--color-surface-alt);border-color:var(--color-border)}.billing-checkbox{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);cursor:pointer;margin-bottom:.625rem;min-height:36px}.billing-checkbox:active{background:var(--color-surface)}.billing-checkbox input[type=checkbox]{display:block!important;appearance:auto!important;-webkit-appearance:checkbox!important;width:16px;height:16px;min-width:16px;accent-color:var(--color-primary, #2563eb);cursor:pointer}.billing-checkbox span{font-size:.75rem;color:var(--color-text)}[data-theme=dark] .checkout-summary-section{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .section-header h3 svg{color:var(--color-primary)}[data-theme=dark] .edit-btn{border-color:var(--color-border)}[data-theme=dark] .edit-btn:hover{background:var(--color-surface-alt);border-color:var(--color-primary);color:var(--color-primary)}[data-theme=dark] .btn-save-data{background:var(--color-primary)}[data-theme=dark] .btn-save-data:hover{background:var(--color-primary-hover)}[data-theme=dark] .btn-pay-primary{background:#10b981}[data-theme=dark] .btn-pay-primary:hover:not(:disabled){background:#059669}[data-theme=dark] .trust-badges{border-top-color:var(--color-border)}[data-theme=dark] .trust-badge svg{color:#6ee7b7}[data-theme=dark] .trust-badge span{color:var(--color-text-secondary)}[data-theme=dark] .billing-checkbox{background:var(--color-surface-alt);border-color:var(--color-border)}.validation-checklist{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem;margin-top:1rem}.validation-checklist h4{margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:var(--color-text)}.validation-checklist .checklist-items{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.5rem}.validation-checklist .checklist-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary);transition:color .2s}.validation-checklist .checklist-item.valid{color:var(--color-success, #10b981)}.validation-checklist .checklist-item.pending{color:var(--color-text-muted, #9ca3af)}.validation-checklist .checklist-icon{width:18px;text-align:center;font-weight:600}.validation-checklist .checklist-item.valid .checklist-icon{color:var(--color-success, #10b981)}.validation-checklist .checklist-item.pending .checklist-icon{color:var(--color-text-muted, #9ca3af)}.validation-checklist .checklist-label{flex:1}.checklist-progress{display:flex;align-items:center;gap:.75rem}.progress-bar{flex:1;height:6px;background:var(--color-surface-alt);border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary, #4a7c3f),var(--color-success, #10b981));border-radius:3px;transition:width .3s ease}.progress-text{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);min-width:30px}.btn-pay-primary.btn-pay-disabled{background:var(--color-success, #10b981);opacity:.35;border:none;color:#fff;cursor:not-allowed;transform:none}.btn-pay-primary.btn-pay-disabled:hover{transform:none}.btn-pay-primary.btn-pay-enabled{background:var(--color-success, #10b981);opacity:.85}.btn-pay-primary.btn-pay-ready{background:var(--color-success, #10b981);opacity:1;animation:readyPulse 2s ease-in-out infinite}@keyframes readyPulse{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 8px #10b98100}}.btn-pay-primary .btn-icon{font-size:1.125rem;line-height:1}.btn-state-email_missing,.btn-state-name_missing,.btn-state-address_missing,.btn-state-billing_missing{background:var(--color-warning-bg, #fffbeb);border-color:var(--color-warning, #f59e0b);color:var(--color-warning-text, #92400e)}.btn-state-payment_missing{background:var(--color-surface-alt);border-color:var(--color-primary, #4a7c3f);color:var(--color-primary, #4a7c3f)}.btn-state-agb_missing{background:var(--color-surface-alt);border-color:var(--color-error, #dc3545);color:var(--color-error, #dc3545)}.btn-state-processing{background:var(--color-primary, #4a7c3f);color:#fff;cursor:wait}.field-valid{display:inline-block;margin-left:.5rem;color:var(--color-success, #10b981);font-weight:600}.input-valid{border-color:var(--color-success, #10b981)!important}.section-valid{display:inline-block;margin-left:.5rem;color:var(--color-success, #10b981);font-size:.875rem}.agb-highlight{background:var(--color-warning-bg, #fffbeb);border:2px solid var(--color-warning, #f59e0b);border-radius:8px;padding:.75rem;animation:highlightPulse 1.5s ease-in-out infinite}@keyframes highlightPulse{0%,to{border-color:var(--color-warning, #f59e0b)}50%{border-color:var(--color-error, #dc3545)}}.payment-element-wrapper{min-height:100px;padding:0}.demo-payment-placeholder{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:6px;padding:.625rem;margin-bottom:0}.demo-tabs{display:flex;gap:.25rem;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.demo-tab{padding:.375rem .625rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;font-size:.6875rem;color:var(--color-text-secondary);min-height:28px;cursor:default}.demo-tab.active{background:var(--color-primary, #4a7c3f);border-color:var(--color-primary, #4a7c3f);color:#fff}.demo-fields{display:flex;flex-direction:column;gap:.375rem}.demo-field{display:flex;flex-direction:column;gap:.125rem}.demo-field label{font-size:.625rem;color:var(--color-text-secondary)}.demo-field input{padding:.5rem .625rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;font-size:.75rem;color:var(--color-text-muted);min-height:32px;cursor:not-allowed}.demo-field-row{display:flex;gap:.375rem}.demo-field-row .demo-field{flex:1}.checkout-form-inner{display:flex;flex-direction:column;gap:.75rem}.checkout-price-summary{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px)}.price-line{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;color:var(--color-text)}.price-line.price-discount{color:var(--color-success, #10b981);font-weight:500}.price-line.price-total{border-top:1px solid var(--color-border);padding-top:.5rem;margin-top:.25rem;font-weight:700;font-size:1rem}[data-theme=dark] .checkout-price-summary{background:var(--color-surface-alt);border-color:var(--color-border)}[data-theme=dark] .price-line.price-discount{color:#6ee7b7}.promo-section{display:flex;flex-direction:column;gap:.375rem}.promo-input-group{display:flex;gap:.375rem}.promo-input{flex:1;min-width:0;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);font-size:.875rem;min-height:40px;background:var(--color-surface);color:var(--color-text);letter-spacing:.05em;transition:border-color .2s}.promo-input:focus{outline:none;border-color:var(--color-primary)}.promo-input::placeholder{letter-spacing:normal;color:var(--color-text-muted)}.promo-apply-btn{padding:.5rem .875rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);font-size:.8125rem;font-weight:500;color:var(--color-text);cursor:pointer;transition:all .2s;white-space:nowrap;min-height:40px;display:flex;align-items:center;gap:.375rem}.promo-apply-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.promo-apply-btn:disabled{opacity:.5;cursor:not-allowed}.promo-applied{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--color-success-light, rgba(16, 185, 129, .08));border:1px solid var(--color-success, #10b981);border-radius:var(--radius-sm, 6px)}.promo-tag{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;font-weight:600;color:var(--color-success, #10b981)}.promo-label{font-weight:400;color:var(--color-text-secondary);margin-left:.25rem}.promo-remove{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.promo-remove:hover{background:#0000001a;color:var(--color-text)}.promo-error{font-size:.8125rem;color:var(--color-error, #dc3545)}[data-theme=dark] .promo-input{background:var(--color-surface-alt);border-color:var(--color-border);color:var(--color-text)}[data-theme=dark] .promo-apply-btn{background:var(--color-surface-alt);border-color:var(--color-border)}[data-theme=dark] .promo-applied{background:#10b9811a;border-color:#6ee7b7}[data-theme=dark] .promo-tag{color:#6ee7b7}[data-theme=dark] .promo-remove:hover{background:#ffffff1a;color:var(--color-text)}[data-theme=dark] .promo-error{color:#f87171}[data-theme=dark] .validation-checklist{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .validation-checklist .checklist-item.valid,[data-theme=dark] .validation-checklist .checklist-item.valid .checklist-icon{color:#6ee7b7}[data-theme=dark] .progress-bar{background:var(--color-surface-alt)}[data-theme=dark] .progress-fill{background:linear-gradient(90deg,var(--color-primary),#6ee7b7)}[data-theme=dark] .btn-pay-primary.btn-pay-disabled{background:var(--color-success, #10b981);opacity:.3}[data-theme=dark] .btn-state-email_missing,[data-theme=dark] .btn-state-name_missing,[data-theme=dark] .btn-state-address_missing,[data-theme=dark] .btn-state-billing_missing{background:#f59e0b26;border-color:#fbbf24;color:#fbbf24}[data-theme=dark] .btn-state-payment_missing{background:#5a9c4f26;border-color:var(--color-primary);color:var(--color-primary)}[data-theme=dark] .btn-state-agb_missing{background:#dc262626;border-color:#f87171;color:#f87171}[data-theme=dark] .field-valid,[data-theme=dark] .section-valid{color:#6ee7b7}[data-theme=dark] .input-valid{border-color:#6ee7b7!important}[data-theme=dark] .agb-highlight{background:#f59e0b26;border-color:#fbbf24}[data-theme=dark] .demo-payment-placeholder{background:var(--color-surface-alt);border-color:var(--color-border)}[data-theme=dark] .demo-tabs{border-bottom-color:var(--color-border)}[data-theme=dark] .demo-tab{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .demo-tab.active{background:var(--color-primary);border-color:var(--color-primary)}[data-theme=dark] .demo-field input{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-muted)}.form-group.has-error input{border-color:var(--color-error, #dc3545);background-color:#dc35450d}.form-group.has-error input:focus{border-color:var(--color-error, #dc3545);box-shadow:0 0 0 3px #dc354526}.input-error{border-color:var(--color-error, #dc3545)!important;background-color:#dc35450d!important}.input-error:focus{border-color:var(--color-error, #dc3545)!important;box-shadow:0 0 0 3px #dc354526!important}.step-checkout .error-message{color:var(--color-error, #dc3545);font-size:.8125rem;margin-top:.25rem;display:flex;align-items:center;gap:.25rem;animation:checkoutErrorFadeIn .2s ease-out}@keyframes checkoutErrorFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.field-error{display:block;color:var(--color-danger, #dc3545);font-size:.8125rem;margin-top:.25rem}.checkout-section.section-error{border-color:var(--color-error, #dc3545);box-shadow:0 0 0 1px var(--color-error, #dc3545);animation:sectionErrorPulse .4s ease-out}@keyframes sectionErrorPulse{0%{box-shadow:0 0 #dc354566}to{box-shadow:0 0 0 1px var(--color-error, #dc3545)}}[data-theme=dark] .checkout-section.section-error{border-color:#f87171;box-shadow:0 0 0 1px #f87171}.agb-checkbox.agb-error{background:#dc354514;border:2px solid var(--color-error, #dc3545);border-radius:8px;padding:.75rem}.agb-section.has-error .error-message{margin-top:.5rem;padding-left:.5rem}[data-theme=dark] .form-group.has-error input,[data-theme=dark] .input-error{border-color:#f87171!important;background-color:#f871711a!important}[data-theme=dark] .form-group.has-error input:focus,[data-theme=dark] .input-error:focus{box-shadow:0 0 0 3px #f8717133!important}[data-theme=dark] .step-checkout .error-message{color:#f87171}[data-theme=dark] .agb-checkbox.agb-error{background:#f871711a;border-color:#f87171}.pay-button-wrapper{display:flex;flex-direction:column;gap:.5rem}.checkout-accordion{display:flex;flex-direction:column;gap:.75rem}@media(min-width:600px){.checkout-accordion{gap:1rem}}.checkout-preview-column,.checkout-contact-column,.checkout-payment-column{display:flex;flex-direction:column;gap:.625rem;min-width:0}.checkout-contact-column{gap:1rem}.accordion-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);overflow:hidden}.accordion-section.always-open{border-color:var(--color-primary);border-width:2px}.accordion-header{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem;background:transparent;border:none;font-size:1rem;font-weight:600;color:var(--color-text);cursor:pointer;text-align:left;min-height:var(--touch-target-comfortable, 48px);transition:background .2s}.accordion-header:hover:not(:disabled){background:var(--color-surface-alt)}.accordion-header:disabled{cursor:default}.accordion-section.always-open .accordion-header{background:var(--color-primary);color:#fff}.accordion-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--color-text-secondary)}.accordion-section.always-open .accordion-icon{color:#fff}.accordion-title{flex:1}.accordion-badge{font-size:.75rem;font-weight:600;color:var(--color-success, #10b981);padding:.125rem .375rem;background:var(--color-success-light, rgba(16, 185, 129, .1));border-radius:var(--radius-sm, 6px)}.accordion-chevron{color:var(--color-text-muted);transition:transform .2s}.accordion-section.open .accordion-chevron{transform:rotate(90deg)}.accordion-content{padding:.75rem 1rem 1rem;animation:accordionSlideDown .25s ease-out}.accordion-content[hidden]{display:none}@keyframes accordionSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.checkout-back-nav{margin-top:1.5rem;text-align:center}@media(min-width:600px){.checkout-back-nav{margin-top:1rem}}[data-theme=dark] .accordion-section{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .accordion-section.always-open{border-color:var(--color-primary)}[data-theme=dark] .accordion-header:hover:not(:disabled){background:var(--color-surface-alt)}[data-theme=dark] .accordion-section.always-open .accordion-header{background:var(--color-primary)}[data-theme=dark] .accordion-badge{color:#6ee7b7;background:#10b98126}.photo-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.photo-confirm-dialog{background:var(--color-surface, #fff);border-radius:var(--radius-lg, 12px);padding:1.5rem;max-width:400px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d}.photo-confirm-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--color-warning-light, rgba(245, 158, 11, .1));color:var(--color-warning, #f59e0b);margin-bottom:.75rem}.photo-confirm-dialog h3{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--color-text)}.photo-confirm-dialog p{margin:0 0 1.25rem;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.5}.photo-confirm-actions{display:flex;flex-direction:column;gap:.5rem}.photo-confirm-btn{padding:.625rem 1rem;border-radius:var(--radius-sm, 6px);font-size:.8125rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.photo-confirm-btn--primary{background:var(--color-primary);color:#fff}.photo-confirm-btn--primary:hover{opacity:.9}.photo-confirm-btn--secondary{background:var(--color-surface-alt, #f3f4f6);color:var(--color-text);border:1px solid var(--color-border)}.photo-confirm-btn--secondary:hover{border-color:var(--color-primary)}.photo-confirm-btn--ghost{background:transparent;color:var(--color-primary)}.photo-confirm-btn--ghost:hover{background:var(--color-primary-light, rgba(74, 124, 63, .05))}[data-theme=dark] .photo-confirm-dialog{background:var(--color-surface);box-shadow:0 20px 60px #0009}[data-theme=dark] .photo-confirm-icon{background:#f59e0b26}[data-theme=dark] .photo-confirm-btn--secondary{background:var(--color-surface-alt);border-color:var(--color-border)}.pac-container{z-index:10000;border-radius:var(--radius-sm, 6px);border:1px solid var(--color-border, #e5e7eb);box-shadow:0 4px 12px #0000001a;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:.875rem;margin-top:4px}.pac-item{padding:.5rem .75rem;line-height:1.4;cursor:pointer;border-top:1px solid var(--color-border, #e5e7eb);min-height:44px;display:flex;align-items:center}.pac-item:first-child{border-top:none}.pac-item:hover,.pac-item-selected{background:var(--color-surface-alt, #f3f4f6)}.pac-item-query{font-weight:500;color:var(--color-text, #1a1a1a)}.pac-matched{font-weight:600}.pac-icon{display:none}[data-theme=dark] .pac-container{background:var(--color-surface, #1f2937);border-color:var(--color-border, #374151);box-shadow:0 4px 12px #0000004d}[data-theme=dark] .pac-item{border-top-color:var(--color-border, #374151)}[data-theme=dark] .pac-item:hover,[data-theme=dark] .pac-item-selected{background:var(--color-surface-alt, #374151)}[data-theme=dark] .pac-item-query{color:var(--color-text, #e5e7eb)}[data-theme=dark] .pac-item span{color:var(--color-text-secondary, #9ca3af)}.wizard{max-width:900px;margin:0 auto;padding:12px;transition:max-width .3s ease}@media(min-width:768px){.wizard{padding:20px}}.wizard--wide{max-width:900px}@media(min-width:900px){.wizard--wide{max-width:1250px}}@media(min-width:1100px){.wizard--wide{max-width:1350px}}.wizard-card{background:var(--color-surface);border:2px solid var(--color-accent);border-radius:12px;overflow:visible;box-shadow:var(--shadow-md)}.wizard-content{padding:16px}@media(min-width:768px){.wizard-content{padding:24px 30px}}.wizard-content-header{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px}@media(min-width:768px){.wizard-content-header{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}}.wizard-content-header--checkout{flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--color-primary) 0%,#3d6834 100%);color:#fff;border-radius:var(--radius-lg, 12px);margin-bottom:1rem}.checkout-header-left{display:flex;flex-direction:column;gap:.125rem;min-width:0}.wizard-content-header--checkout .step-title{color:#fff;font-size:1.0625rem;font-weight:700;margin:0;line-height:1.2}.checkout-header-product{font-size:.6875rem;opacity:.85;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checkout-header-price{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.checkout-header-amount{font-size:1.25rem;font-weight:800;line-height:1.1}.checkout-header-vat{font-size:.5625rem;opacity:.8}@media(min-width:480px){.wizard-content-header--checkout{padding:.875rem 1.25rem}.wizard-content-header--checkout .step-title{font-size:1.1875rem}.checkout-header-product{font-size:.75rem}.checkout-header-amount{font-size:1.375rem}}@media(min-width:768px){.wizard-content-header--checkout .step-title{font-size:1.3125rem}}.ausweis-type-badge{display:inline-block;padding:4px 12px;background:var(--color-primary-light);color:var(--color-primary);border-radius:20px;font-size:.8rem;font-weight:600}.step-title{color:var(--color-primary);font-size:1.2rem;margin:0;flex:1}@media(min-width:768px){.step-title{font-size:1.4rem}}.step-container{animation:fadeSlideIn .3s ease-out}.step-container.slide-left{animation:slideInFromRight .3s ease-out}.step-container.slide-right{animation:slideInFromLeft .3s ease-out}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.step-container,.step-container.slide-left,.step-container.slide-right{animation:none}}.wizard-footer{display:flex;flex-direction:column;gap:.75rem;padding:12px 16px;background:var(--color-surface-alt);border-top:1px solid var(--color-border)}@media(min-width:768px){.wizard-footer{flex-direction:row;justify-content:space-between;align-items:center;padding:12px 24px}}.keyboard-hints{display:none;gap:16px;opacity:.6;transition:opacity var(--transition-fast)}@media(min-width:768px){.keyboard-hints{display:flex}}.keyboard-hints:hover{opacity:1}.keyboard-hint{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--color-text-secondary)}.keyboard-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;padding:2px 6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;font-family:inherit;font-size:.7rem;font-weight:600;color:var(--color-text);box-shadow:0 1px 2px #0000001a}@media(hover:none){.keyboard-hints{display:none}}.demo-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.4rem .8rem;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;color:#fff;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #667eea4d}@media(min-width:768px){.demo-button{width:auto;justify-content:flex-start}}.demo-button:hover{transform:translateY(-1px);box-shadow:0 4px 10px #667eea66}.demo-button:active{transform:translateY(0)}.demo-button.loaded{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 6px #22c55e4d}.demo-button.loaded:hover{box-shadow:0 4px 10px #22c55e66}[data-theme=dark] .wizard-card{box-shadow:var(--shadow-lg)}[data-theme=dark] .wizard-footer{background:var(--color-surface)}.resume-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.resume-dialog{background:var(--color-surface);border-radius:12px;padding:20px;max-width:420px;width:90%;box-shadow:var(--shadow-xl, 0 25px 50px -12px rgba(0, 0, 0, .25));border:2px solid var(--color-accent)}@media(min-width:480px){.resume-dialog{padding:24px 32px}}.resume-dialog h3{color:var(--color-primary);font-size:1.25rem;margin:0 0 16px;display:flex;align-items:center;gap:8px}.resume-dialog h3:before{content:"📋"}.resume-dialog p{color:var(--color-text);margin:0 0 12px;line-height:1.5}.resume-dialog p strong{color:var(--color-primary)}.resume-dialog .progress-info{color:var(--color-text-secondary);font-size:.9em}.resume-dialog .resume-question{color:var(--color-text-secondary);font-size:.95rem;margin-top:16px}.resume-dialog-buttons{display:flex;flex-direction:column;gap:12px;margin-top:20px}@media(min-width:480px){.resume-dialog-buttons{flex-direction:row}}.resume-dialog-buttons .btn{flex:1;padding:12px 20px;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;border:none}.resume-dialog-buttons .btn-primary{background:var(--color-primary);color:#fff}.resume-dialog-buttons .btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.resume-dialog-buttons .btn-secondary{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border)}.resume-dialog-buttons .btn-secondary:hover{background:var(--color-border)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:6px;padding:4px;background:transparent;border:1px solid var(--color-border);border-radius:50%;cursor:pointer;transition:all var(--transition-fast)}@media(min-width:768px){.user-menu-trigger{padding:4px 8px;border-radius:24px}}.user-menu-trigger:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.user-menu-trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.user-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-primary);color:#fff;border-radius:50%;font-size:.85rem;font-weight:600;text-transform:uppercase}.user-menu-chevron{display:none;width:18px;height:18px;fill:var(--color-text-secondary);transition:transform var(--transition-fast)}@media(min-width:768px){.user-menu-chevron{display:block}}.user-menu-chevron.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:1000;animation:dropdownFadeIn .15s ease-out;transform-origin:top right}@media(min-width:768px){.user-menu-dropdown{min-width:220px}}@keyframes dropdownFadeIn{0%{opacity:0;transform:scaleY(.9) translateY(-4px)}to{opacity:1;transform:scaleY(1) translateY(0)}}.user-menu-header{padding:12px 16px;display:flex;flex-direction:column;gap:2px}.user-menu-name{font-weight:600;color:var(--color-text);font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-email{font-size:.8rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider{height:1px;background:var(--color-border);margin:4px 0}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:transparent;border:none;color:var(--color-text);font-size:.9rem;text-decoration:none;cursor:pointer;transition:background var(--transition-fast);text-align:left}.user-menu-item:hover{background:var(--color-primary-light)}.user-menu-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.user-menu-item svg{width:18px;height:18px;fill:var(--color-text-secondary);flex-shrink:0}.user-menu-item:hover svg{fill:var(--color-primary)}.user-menu-item-admin{color:var(--color-primary)}.user-menu-item-admin svg{fill:var(--color-primary)}.admin-badge{margin-left:auto;padding:2px 8px;background:var(--color-error);color:#fff;font-size:.7rem;font-weight:600;border-radius:12px;text-transform:uppercase}.user-menu-item-signout{color:var(--color-text-secondary)}.user-menu-item-signout:hover{background:#fee2e2;color:var(--color-error)}.user-menu-item-signout:hover svg{fill:var(--color-error)}[data-theme=dark] .user-menu-item-signout:hover{background:#3a2020}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .user-menu-item-signout:hover{background:#3a2020}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:modalOverlayIn .15s ease}@keyframes modalOverlayIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-lg);margin:.5rem;max-height:95vh;overflow-y:auto}@media(min-width:480px){.modal-content{margin:0;max-height:90vh}}.modal-small{width:100%;max-width:400px}.modal-medium{width:100%;max-width:560px}.modal-large{width:100%;max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--color-border)}@media(min-width:480px){.modal-header{padding:1.25rem 1.5rem}}.modal-title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0}.modal-close{background:none;border:none;font-size:1.75rem;color:var(--color-text-muted);cursor:pointer;padding:0;line-height:1;transition:color var(--transition-fast)}.modal-close:hover{color:var(--color-text)}.modal-body{padding:1rem}@media(min-width:480px){.modal-body{padding:1.5rem}}[data-theme=dark] .modal-overlay{background-color:#000000b3}[data-theme=dark] .modal-content{background-color:#1f2937;border:1px solid #374151}[data-theme=dark] .modal-header{border-bottom-color:#374151}[data-theme=dark] .modal-title{color:#f3f4f6}[data-theme=dark] .modal-close{color:#9ca3af}[data-theme=dark] .modal-close:hover{color:#f3f4f6}.confirm-dialog-message{color:var(--color-text-secondary);margin:0 0 1.5rem;line-height:1.6}.confirm-dialog-actions{display:flex;gap:.75rem;justify-content:flex-end}.confirm-dialog-cancel,.confirm-dialog-confirm{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:8px;cursor:pointer;transition:all var(--transition-fast)}.confirm-dialog-cancel{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text)}.confirm-dialog-cancel:hover:not(:disabled){background-color:var(--color-surface-alt)}.confirm-dialog-confirm{background-color:var(--color-primary);border:none;color:#fff}.confirm-dialog-confirm:hover:not(:disabled){background-color:var(--color-primary-hover)}.confirm-dialog-confirm.danger{background-color:var(--color-error)}.confirm-dialog-confirm.danger:hover:not(:disabled){background-color:#c82333}.confirm-dialog-cancel:disabled,.confirm-dialog-confirm:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .confirm-dialog-message{color:#9ca3af}[data-theme=dark] .confirm-dialog-cancel{background-color:#374151;border-color:#4b5563;color:#e5e7eb}[data-theme=dark] .confirm-dialog-cancel:hover:not(:disabled){background-color:#4b5563}.main-stepper{padding:16px 16px 12px}@media(min-width:480px){.main-stepper{padding:20px 24px 16px}}.pill-track{display:flex;align-items:center;justify-content:center;background:var(--color-surface-alt);border-radius:10px;padding:6px;gap:0}@media(min-width:480px){.pill-track{padding:8px}}.pill-wrapper{display:flex;align-items:center}.pill-connector{width:24px;height:2px;background:var(--color-border);margin:0 8px;border-radius:1px;transition:background-color var(--transition-fast)}@media(min-width:480px){.pill-connector{width:32px;margin:0 10px}}@media(min-width:768px){.pill-connector{width:40px;margin:0 12px}}.pill-connector.complete{background:var(--color-primary)}.pill-step{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:6px;border:none;background:transparent;font-size:.82rem;font-weight:500;color:var(--color-text-muted);cursor:default;transition:all var(--transition-fast);white-space:nowrap}@media(min-width:480px){.pill-step{padding:12px 18px;font-size:.88rem;gap:10px}}.pill-step:not(:disabled){cursor:pointer}.pill-step:not(:disabled):hover{background:#0000000a}.pill-step.complete{color:var(--color-primary)}.pill-step.complete:not(:disabled):hover{background:var(--color-primary-light)}.pill-step.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.pill-step.active:not(:disabled):hover{background:var(--color-primary-dark, #3d6834)}.pill-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.pill-icon svg{width:16px;height:16px}@media(min-width:480px){.pill-icon svg{width:18px;height:18px}}.pill-label{display:none}@media(min-width:400px){.pill-label{display:inline}}.mini-progress{display:flex;align-items:center;gap:4px;margin-left:8px}.mini-dot{width:6px;height:6px;border-radius:50%;background:#ffffff59;transition:all var(--transition-fast)}.mini-dot.complete,.mini-dot.active{background:#fff}.mini-dot.active{transform:scale(1.2)}[data-theme=dark] .pill-track{background:var(--color-surface);border:1px solid var(--color-border)}[data-theme=dark] .pill-step:not(:disabled):hover{background:#ffffff0d}[data-theme=dark] .pill-step.complete:not(:disabled):hover{background:#4a7c3f33}[data-theme=dark] .pill-step.active{box-shadow:0 0 0 2px #4a7c3f4d}.navbar-stepper .main-stepper{padding:0}.navbar-stepper .pill-track{padding:4px;gap:0}.navbar-stepper .pill-step{padding:8px 14px;font-size:.8rem;gap:6px}@media(min-width:480px){.navbar-stepper .pill-step{padding:10px 16px;font-size:.85rem;gap:8px}}.navbar-stepper .pill-icon svg{width:14px;height:14px}@media(min-width:480px){.navbar-stepper .pill-icon svg{width:16px;height:16px}}.navbar-stepper .pill-connector{width:20px;margin:0 6px}@media(min-width:480px){.navbar-stepper .pill-connector{width:28px;margin:0 8px}}@media(min-width:768px){.navbar-stepper .pill-connector{width:36px;margin:0 10px}}.navbar-stepper .mini-progress{gap:3px;margin-left:6px}.navbar-stepper .mini-dot{width:5px;height:5px}@media(min-width:900px){.navbar-stepper .pill-label{display:inline}}@media(prefers-reduced-motion:reduce){.pill-step,.pill-connector,.mini-dot{transition:none}}.substep-indicator{padding:0 16px 12px;position:relative}@media(min-width:768px){.substep-indicator{display:none}}.substep-dots-container{display:none}.substep-accordion-trigger{display:flex;width:100%;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;transition:all var(--transition-fast);align-items:center;justify-content:space-between;font-size:.85rem}@media(min-width:768px){.substep-accordion-trigger{display:none}}.substep-accordion-trigger:hover{background:var(--color-surface-hover, var(--color-surface-alt));border-color:var(--color-primary)}.substep-accordion-trigger.open{border-radius:6px 6px 0 0;border-bottom-color:transparent}.substep-accordion-title{font-weight:500;color:var(--color-text)}.substep-accordion-chevron{color:var(--color-text-muted);transition:transform var(--transition-fast);width:18px;height:18px}.substep-accordion-trigger.open .substep-accordion-chevron{transform:rotate(180deg)}.substep-accordion-content{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-top:none;border-radius:0 0 6px 6px;overflow:hidden;max-height:300px;overflow-y:auto}@media(min-width:768px){.substep-accordion-content{display:none}}.substep-accordion-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;border-bottom:1px solid var(--color-border);cursor:default;transition:background-color var(--transition-fast);text-align:left;font-size:.85rem}.substep-accordion-item:last-child{border-bottom:none}.substep-accordion-item:not(:disabled){cursor:pointer}.substep-accordion-item:not(:disabled):hover{background:var(--color-surface-alt)}.substep-accordion-item.active{background:var(--color-primary-light)}.substep-accordion-item.complete{color:var(--color-primary)}.substep-accordion-item-indicator{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.substep-accordion-item-dot{width:6px;height:6px;border-radius:50%;background:var(--color-border)}.substep-accordion-item-dot.active{width:8px;height:8px;background:var(--color-primary)}.substep-accordion-item.complete .substep-accordion-item-indicator svg{color:var(--color-primary)}.substep-accordion-item-label{font-size:.85rem;color:var(--color-text)}.substep-accordion-item.active .substep-accordion-item-label{font-weight:600;color:var(--color-primary)}.substep-accordion-item:disabled .substep-accordion-item-label{color:var(--color-text-muted)}[data-theme=dark] .substep-accordion-trigger{background:var(--color-surface-alt)}[data-theme=dark] .substep-accordion-trigger:hover{background:var(--color-surface)}[data-theme=dark] .substep-accordion-content{background:var(--color-surface-alt)}[data-theme=dark] .substep-accordion-item:not(:disabled):hover{background:var(--color-surface)}[data-theme=dark] .substep-accordion-item.active{background:#4a7c3f33}.navbar-stepper .substep-indicator{padding:0}.navbar-stepper .substep-indicator{flex:1;min-width:0;overflow:hidden}.navbar-stepper .substep-accordion-trigger{padding:4px 6px;font-size:.8rem;border:none;background:none;border-radius:0;gap:3px;min-width:0;max-width:100%;width:100%;justify-content:flex-start;overflow:hidden}.navbar-stepper .substep-accordion-trigger:hover{background:none;border:none}.navbar-stepper .substep-accordion-trigger.open{border-radius:0;border:none}.navbar-stepper .substep-accordion-title{color:var(--color-text-secondary, var(--color-text-muted));font-weight:500;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-stepper .substep-accordion-chevron{width:14px;height:14px}.navbar-stepper .substep-accordion-content{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);min-width:200px;border-radius:8px;border:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:200}@media(prefers-reduced-motion:reduce){.substep-accordion-chevron,.substep-accordion-item{transition:none}}.navbar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--color-surface);border-bottom:2px solid var(--color-accent);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}@media(min-width:480px){.navbar{padding:10px 16px}}@media(min-width:768px){.navbar{padding:12px 24px}}@media(min-width:768px){.navbar{position:sticky;justify-content:center}.navbar-brand{position:absolute;left:24px;top:50%;transform:translateY(-50%)}.navbar-actions{position:absolute;right:24px;top:50%;transform:translateY(-50%)}}.navbar{overflow:visible}.navbar-stepper{overflow:hidden}@media(min-width:768px){.navbar,.navbar-stepper{overflow:initial}}.navbar-brand{display:flex;align-items:center;gap:10px;text-decoration:none;transition:opacity var(--transition-fast);color:var(--color-text);flex-shrink:0}.navbar-brand:hover{opacity:.8}.navbar-stepper{display:flex;flex-direction:column;align-items:center;min-width:0;gap:4px}@media(min-width:768px){.navbar-stepper{flex:1;gap:0}}.navbar{flex-wrap:nowrap;gap:8px}.navbar-brand{margin-right:0}.navbar-stepper{align-items:stretch;flex:1}.navbar-stepper .main-stepper{display:block;padding:0}.navbar-stepper .pill-track{border-radius:8px;width:fit-content;margin:0 auto}.navbar-stepper .pill-step{padding:8px 10px;font-size:.75rem;gap:4px;border-radius:6px}.navbar-stepper .pill-icon svg{width:16px;height:16px}.navbar-stepper .pill-label{display:none}.navbar-stepper .pill-connector{width:16px;height:2px}.navbar-stepper .mini-progress{margin-left:5px}.navbar-stepper .substep-indicator{display:none}@media(min-width:768px){.navbar{flex-wrap:initial;gap:initial}.navbar-stepper{align-items:center}.navbar-stepper .pill-track{border-radius:10px;width:auto;margin:0}.navbar-stepper .pill-step{padding:10px 16px;font-size:.85rem;gap:8px}.navbar-stepper .pill-connector{width:36px}.navbar-stepper .mini-progress{margin-left:6px}}@media(min-width:768px)and (max-width:899px){.navbar .navbar-stepper .pill-track{width:fit-content}.navbar .navbar-stepper .pill-step{padding:8px 12px;gap:5px}.navbar .navbar-stepper .pill-icon svg{width:16px;height:16px}.navbar .navbar-stepper .pill-label{display:none}.navbar .navbar-stepper .pill-connector{width:24px;margin:0 8px}.navbar .navbar-stepper .mini-progress{gap:3px;margin-left:6px}.navbar .navbar-stepper .mini-dot{width:5px;height:5px}.navbar-stepper .substep-accordion-trigger{padding:4px 8px;font-size:.75rem;border:none;background:var(--color-surface-alt);border-radius:4px;gap:4px}.navbar-stepper .substep-accordion-trigger:hover{background:var(--color-surface-alt);border:none}.navbar-stepper .substep-accordion-trigger.open{border-radius:4px 4px 0 0;border:none}.navbar-stepper .substep-accordion-title{color:var(--color-text-secondary, var(--color-text-muted));font-weight:500;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navbar-stepper .substep-accordion-chevron{width:14px;height:14px;flex-shrink:0}.navbar-stepper .substep-accordion-content{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);min-width:200px;border-radius:8px;border:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:200}}@media(min-width:768px){.navbar-stepper{flex-direction:row;justify-content:center}.navbar-stepper .main-stepper{padding:0}.navbar-stepper .substep-indicator{display:none}}.navbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}@media(min-width:480px){.navbar-actions{gap:8px}}@media(min-width:768px){.navbar-actions{gap:12px}}.navbar-status{display:none;align-items:center;gap:8px}@media(min-width:480px){.navbar-status{display:flex}}.autosave-indicator{display:flex;align-items:center;gap:6px;padding:6px;border-radius:20px;font-size:.8rem;font-weight:500;transition:all var(--transition-fast);animation:fadeIn .2s ease-out}@media(min-width:768px){.autosave-indicator{padding:6px 12px}}.autosave-text{display:none}@media(min-width:768px){.autosave-text{display:inline}}.autosave-indicator.saving{background:var(--color-info-light);color:var(--color-info-dark)}.autosave-indicator.saved{background:var(--color-primary-light);color:var(--color-success-text)}.autosave-indicator.error{background:#fee2e2;color:var(--color-error)}.autosave-icon{width:16px;height:16px;fill:currentColor}.autosave-icon.spinning{animation:spin 1s linear infinite}.autosave-icon.error{fill:var(--color-error)}.cloud-sync-indicator{display:flex;align-items:center;gap:6px;padding:6px;border-radius:20px;font-size:.8rem;font-weight:500;transition:all var(--transition-fast);animation:fadeIn .2s ease-out}@media(min-width:768px){.cloud-sync-indicator{padding:6px 12px}}.cloud-sync-text{display:none;white-space:nowrap}@media(min-width:768px){.cloud-sync-text{display:inline}}.cloud-sync-indicator.syncing{background:var(--color-info-light);color:var(--color-info-dark)}.cloud-sync-indicator.synced{background:#d1fae5;color:#065f46}.cloud-sync-indicator.error{background:#fee2e2;color:var(--color-error)}.cloud-sync-indicator.idle{background:transparent;padding:6px}.cloud-icon{width:16px;height:16px;fill:currentColor}.cloud-icon.spinning{animation:spin 1s linear infinite}.cloud-icon.synced{fill:#059669}.cloud-icon.idle{fill:var(--color-text-muted);opacity:.6}.cloud-icon.error{fill:var(--color-error)}.navbar-menu-container{position:relative}.navbar-menu-btn{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.navbar-menu-btn svg{width:18px;height:18px;fill:currentColor}@media(min-width:480px){.navbar-menu-btn svg{width:20px;height:20px}}.navbar-menu-btn:hover,.navbar-menu-btn.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.navbar-menu-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.navbar-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-lg);padding:8px;z-index:200;animation:dropdownFadeIn .15s ease-out}.navbar-dropdown-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:none;border-radius:8px;background:transparent;color:var(--color-text);font-size:.9rem;font-weight:500;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.navbar-dropdown-item svg{width:18px;height:18px;fill:currentColor;flex-shrink:0}.navbar-dropdown-item:hover{background:var(--color-primary-light);color:var(--color-primary)}.navbar-dropdown-item-danger:hover{background:#fee2e2;color:var(--color-error)}.navbar-dropdown-divider{height:1px;background:var(--color-border);margin:8px 0}.navbar-auth{display:flex;align-items:center;margin-left:4px}.navbar-login-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px;min-height:44px;min-width:44px;background:var(--color-primary);color:#fff;border:none;border-radius:50%;font-size:.85rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all var(--transition-fast)}@media(min-width:768px){.navbar-login-btn{padding:8px 16px;border-radius:6px}}.navbar-login-btn svg{width:18px;height:18px;fill:currentColor}.navbar-login-btn span{display:none}@media(min-width:768px){.navbar-login-btn span{display:inline}}.navbar-login-btn:hover{background:var(--color-primary-dark, #1d8a5f);transform:translateY(-1px)}.navbar-login-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}[data-theme=dark] .autosave-indicator.error,[data-theme=dark] .cloud-sync-indicator.error,[data-theme=dark] .navbar-dropdown-item-danger:hover{background:#3a2020}[data-theme=dark] .cloud-sync-indicator.synced{background:#064e3b;color:#6ee7b7}[data-theme=dark] .cloud-icon.synced{fill:#6ee7b7}[data-theme=dark] .navbar-dropdown{background:var(--color-surface);border-color:var(--color-border)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .autosave-indicator.error,:root:not([data-theme=light]) .cloud-sync-indicator.error,:root:not([data-theme=light]) .navbar-dropdown-item-danger:hover{background:#3a2020}:root:not([data-theme=light]) .cloud-sync-indicator.synced{background:#064e3b;color:#6ee7b7}:root:not([data-theme=light]) .cloud-icon.synced{fill:#6ee7b7}}.loading-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:overlayFadeIn .2s ease-out}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.loading-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 48px;background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-lg);animation:contentSlideIn .3s ease-out}@keyframes contentSlideIn{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.loading-spinner{width:48px;height:48px;color:var(--color-primary)}.loading-spinner svg{width:100%;height:100%;animation:spinnerRotate 1.5s linear infinite}.loading-spinner circle{stroke-dasharray:90,150;stroke-dashoffset:0;animation:spinnerDash 1.5s ease-in-out infinite}@keyframes spinnerRotate{to{transform:rotate(360deg)}}@keyframes spinnerDash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.loading-text{font-size:1rem;font-weight:500;color:var(--color-text)}@media(prefers-reduced-motion:reduce){.loading-overlay,.loading-content{animation:none}.loading-spinner svg{animation:spinnerRotate 2s linear infinite}.loading-spinner circle{animation:none;stroke-dasharray:90,150}}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-background);transition:background-color var(--transition-normal)}.app-main{flex:1;padding:20px 15px;max-width:1200px;margin:0 auto;width:100%;box-sizing:border-box}@media(min-width:768px){.app-main{padding:30px 20px}}.app-footer{background:var(--color-surface-alt);color:var(--color-text-muted);padding:12px;text-align:center;border-top:1px solid var(--color-border);font-size:.75rem;transition:background-color var(--transition-normal),border-color var(--transition-normal)}[data-theme=dark] .app-footer,:root:not([data-theme=light]) .app-footer{background:var(--color-surface)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .app-footer{background:var(--color-surface-alt)}}.footer-content{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:1200px;margin:0 auto}.footer-copyright{color:var(--color-text-muted)}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px}.footer-nav a,.footer-link-btn{color:var(--color-text-muted);text-decoration:none;background:none;border:none;font:inherit;cursor:pointer;padding:0;transition:color var(--transition-fast)}.footer-nav a:hover,.footer-link-btn:hover{color:var(--color-accent)}.footer-nav a:focus-visible,.footer-link-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(min-width:480px){.app-footer{padding:14px 16px;font-size:.8rem}.footer-nav{gap:4px 14px}}@media(min-width:768px){.app-footer{padding:16px 24px}.footer-content{flex-direction:row;justify-content:space-between}.footer-nav{gap:20px}}
