:root{--color-brand-primary: #0f3c3c;--color-brand-primary-hover: #092525;--color-brand-secondary: #003296;--color-brand-accent: #6fbeec;--color-sidebar-start: #00aaff;--color-sidebar-end: #b1e8e8;--color-sidebar-text: rgba(255, 255, 255, .98);--color-sidebar-hover-bg: rgba(255, 255, 255, .14);--color-sidebar-active-bg: rgba(255, 255, 255, .22);--color-sidebar-active-border: rgba(255, 255, 255, .96);--color-sidebar-focus-ring: rgba(255, 255, 255, .42);--color-background: #edf4f9;--color-background-alt: #f5f7fa;--color-background-muted: #f5f5f5;--color-surface: #ffffff;--color-surface-muted: #fafafa;--color-border: #d3d3d3;--color-border-light: #e5e5e5;--color-border-dim: #dde6ea;--color-text-main: #1c1c1c;--color-text-muted: #4f4f4f;--color-text-subtle: #65727d;--color-text-label: #272727;--color-success: #2e7d32;--color-warning: #f5a623;--color-danger: #d32f2f;--color-focus-ring: rgba(142, 229, 227, .35);--color-focus-ring-strong: rgba(74, 157, 166, .32);--color-row-hover-bg: #f7fafc;--color-row-selected-bg: rgba(15, 60, 60, .08);--color-row-selected-hover-bg: rgba(15, 60, 60, .12);--color-disabled-bg: #f3f5f7;--color-disabled-border: #d6dee3;--color-disabled-text: #7f8b96;--font-family-base: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .6875rem;--font-size-sm: .8125rem;--font-size-md: .875rem;--font-size-lg: .95rem;--font-size-xl: 1rem;--font-size-2xl: 1.75rem;--font-size-3xl: 2.25rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 10px;--radius-2xl: 14px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 24px rgba(15, 23, 42, .06);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--spacing-xs: var(--space-xs);--spacing-sm: var(--space-sm);--spacing-md: var(--space-md);--spacing-lg: var(--space-lg);--spacing-xl: var(--space-xl);--dark-blue: var(--color-brand-secondary);--blue-gray: var(--color-background);--base-gray: #ebebeb;--dark-gray: #666666;--action-blue: var(--color-brand-accent);--text-main: var(--color-text-main);--text-secondary: var(--color-text-muted);--text-muted: var(--color-text-subtle);--text-primary: var(--color-text-main);--text-label: var(--color-text-label);--brand-teal: var(--color-brand-primary);--brand-teal-dark: var(--color-brand-primary-hover);--brand-teal-light: #4a9da6;--brand-teal-bg: #e4f6f6;--border: var(--color-border);--border-medium: var(--color-border);--border-light: var(--color-border-light);--border-color: var(--color-border-light);--border-dim: var(--color-border-dim);--bg-subtle: var(--color-surface-muted);--bg-hover: #f0f0f0;--bg-card: var(--color-surface);--bg-surface: var(--color-surface);--background: var(--color-background);--background-alt: var(--color-background-alt);--background-muted: var(--color-background-muted);--error-color: var(--color-danger);--success-color: var(--color-success);--danger: var(--color-danger);--color-primary: var(--color-brand-primary);--color-text: var(--color-text-main);--map-marker-red: #e63946;--chart-blue: #007bff;--timeline-blue: #0b74de}*{box-sizing:border-box;margin:0;padding:0;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{border:none;background-color:transparent}.page-container{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:1200px;margin:0 auto;width:100%}.primary-color{background-color:var(--brand-teal-bg)}.primary-dark{background-color:var(--color-sidebar-end)}.base-gray{background-color:var(--base-gray)}.dark-gray{background-color:var(--border-medium)}.blue-gray{background-color:var(--blue-gray)}.green{background-color:#abe828}.blue{background-color:var(--action-blue)}html,body{margin:0;padding:0;box-sizing:border-box;max-height:100vh;max-width:100vw;font-family:var(--font-family-base);color:var(--text-main);background-color:var(--background)}body{display:flex;flex-direction:row;height:100vh;max-height:100vh;width:100vw;overflow:hidden;line-height:1.5}.layout-header,.layout-footer{padding:var(--spacing-sm);display:flex;align-items:center}.layout-header{justify-content:flex-end;gap:var(--spacing-md)}.header-spacer{flex:1}.layout-main{max-height:100%;display:flex;flex-direction:column;flex:1;min-width:0}.layout-article{max-height:100%;overflow-y:scroll;overflow-x:hidden;flex:1;min-width:0;scrollbar-width:none}.logo{padding-left:var(--spacing-sm);padding-top:var(--spacing-md);padding-bottom:var(--spacing-md);padding-right:50%;border-bottom:1px solid white}.language-section{display:flex;align-items:center;gap:.35rem}.language-icon{color:var(--dark-gray);flex-shrink:0}.language-select{padding:.25rem .35rem;border-radius:var(--radius-sm);border:1px solid var(--border-medium);background-color:var(--color-surface);font-size:var(--font-size-sm);color:var(--text-main);cursor:pointer;transition:border-color .2s ease}.language-select:hover{border-color:var(--dark-gray)}.language-select:focus{outline:none;border-color:var(--brand-teal-light);box-shadow:0 0 0 2px var(--color-focus-ring-strong)}.about-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:var(--dark-gray);cursor:pointer;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease}.about-btn:hover{background-color:#0000000f;color:var(--brand-teal)}.about-btn:focus-visible{outline:none;background-color:#0f3c3c14;color:var(--brand-teal);box-shadow:0 0 0 3px var(--color-focus-ring)}.about-btn.is-active{background-color:#0f3c3c1a;color:var(--brand-teal);box-shadow:inset 0 0 0 1px #0f3c3c1f}.about-btn.is-active:hover{background-color:#0f3c3c24}.user-section{display:flex;align-items:center;position:relative}.layout-header .login{padding:.5rem 1rem;background-color:var(--brand-teal);color:var(--color-surface);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;border:1px solid var(--brand-teal)}.layout-header .login:hover{background-color:var(--brand-teal-dark)}.layout-header .login[hidden]{display:none}.user-menu{display:flex;align-items:center;position:relative}.user-menu[hidden]{display:none}.user-info{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background-color:var(--color-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md) 0 0 var(--radius-md);border-right:none;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.user-icon{color:var(--brand-teal);flex-shrink:0}.user-details{display:flex;flex-direction:row;align-items:center;gap:.5rem}.user-name{font-size:.85rem;font-weight:500;color:var(--text-main);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-separator{color:var(--border-medium);font-size:.85rem}.user-separator[hidden]{display:none}.user-company{font-size:.85rem;color:var(--text-secondary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-company[hidden]{display:none}.user-menu-toggle{display:flex;align-items:center;justify-content:center;padding:.5rem .4rem;background-color:var(--color-surface);border:1px solid var(--border-medium);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--text-main);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}.user-menu-toggle:hover{background-color:var(--bg-hover);border-color:var(--dark-gray)}.user-menu-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus-ring)}.user-section.is-active .user-info,.user-section.is-active .user-menu-toggle{background-color:#0f3c3c0f;border-color:#0f3c3c29}.user-section.is-active .user-info{box-shadow:inset 3px 0 0 0 var(--brand-teal)}.user-section.is-active .user-icon,.user-section.is-active .user-name,.user-section.is-active .user-menu-toggle{color:var(--brand-teal)}.user-section.is-active .user-company{color:var(--text-main)}.user-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background-color:var(--color-surface);border:1px solid var(--border-medium);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;z-index:100;padding:.25rem 0}.user-menu-dropdown[hidden]{display:none}.user-menu-dropdown button{display:block;width:100%;padding:.65rem 1rem;background:none;border:none;text-align:left;font-size:.875rem;color:var(--text-main);cursor:pointer;transition:background-color .15s ease}.user-menu-dropdown button:hover{background-color:var(--bg-hover)}.user-menu-dropdown hr{margin:.25rem 0;border:none;border-top:1px solid var(--border-light)}.dropdown-user-info{padding:.5rem 1rem;background-color:var(--bg-subtle)}.dropdown-email{font-size:.8rem;color:var(--text-secondary)}nav{display:flex;flex-direction:column;background:linear-gradient(to bottom,var(--color-sidebar-start),var(--color-sidebar-end));width:calc(100% / 6);min-width:200px;height:100%;overflow-y:auto}nav[hidden]{display:none}nav .nav-links{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md) var(--spacing-sm);margin:0}nav .nav-links li{padding:0;margin:0}nav .nav-links a{display:flex;align-items:center;min-height:2.75rem;padding:.65rem .9rem .65rem 1rem;color:var(--color-sidebar-text);font-size:var(--font-size-lg);font-weight:500;line-height:1.35;border-radius:var(--radius-lg);box-shadow:inset 0 0 0 1px transparent;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease}nav .nav-links a:hover{background-color:var(--color-sidebar-hover-bg)}nav .nav-links a:focus-visible{outline:none;background-color:var(--color-sidebar-hover-bg);box-shadow:inset 0 0 0 1px #ffffff38,0 0 0 3px var(--color-sidebar-focus-ring)}nav .nav-links a.is-active,nav .nav-links a[aria-current=page]{background-color:var(--color-sidebar-active-bg);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 0 var(--color-sidebar-active-border),inset 0 0 0 1px #ffffff1f}nav .nav-links a.is-active:hover,nav .nav-links a[aria-current=page]:hover{background-color:#ffffff42}.impressum{flex:1;display:flex;align-items:center;gap:.35rem}.footer-about-link{color:var(--brand-teal);font-weight:500;cursor:pointer;transition:color .2s ease}.footer-about-link:hover{color:var(--brand-teal-dark);text-decoration:underline}.footer-about-link.is-active,.footer-about-link[aria-current=page]{color:var(--brand-teal-dark);font-weight:600;text-decoration:underline}.table-controls{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.table-controls input,.table-controls select{flex:1 1 18rem;min-width:min(100%,14rem);padding:.5rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background-color:var(--color-surface);font-size:var(--font-size-md);transition:border-color .2s ease,box-shadow .2s ease}.table-controls input:focus,.table-controls select:focus{border-color:var(--brand-teal-light);outline:2px solid transparent;box-shadow:0 0 0 3px var(--color-focus-ring)}.table-controls .actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.table-controls button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:.5rem 1rem;border:1px solid var(--border-medium);background-color:var(--color-surface);color:var(--text-main);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-md);font-weight:500;line-height:1.2;white-space:nowrap;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.table-controls button:hover{background-color:var(--bg-hover);border-color:var(--dark-gray)}button.list-primary-action,button.list-secondary-action,button.list-danger-action,button.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:.45rem 1rem;border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--font-size-md);font-weight:600;line-height:1.2}button.list-primary-action{background-color:var(--brand-teal);color:var(--color-surface);cursor:pointer;border-color:var(--brand-teal)}button.list-primary-action:hover:not(:disabled){background-color:var(--brand-teal-dark);border-color:var(--brand-teal-dark);color:var(--color-surface)}button.list-primary-action:focus-visible{color:var(--color-surface)}button.list-secondary-action{background-color:var(--color-surface);color:var(--text-main);border-color:var(--border-medium)}button.list-secondary-action:hover:not(:disabled){background-color:var(--bg-hover);border-color:var(--dark-gray)}button.list-danger-action{background-color:#d32f2f0f;color:var(--danger);border-color:#d32f2f2e}button.list-danger-action:hover:not(:disabled){background-color:#d32f2f1f;border-color:#d32f2f52}.table-controls button:focus-visible,table td button:focus-visible,.table-action-link:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-focus-ring)}.table-controls button:disabled,.list-primary-action:disabled,.list-secondary-action:disabled,.list-danger-action:disabled,table td button:disabled,.btn-primary:disabled,.btn-secondary:disabled,.compare-btn:disabled{background-color:var(--color-disabled-bg);border-color:var(--color-disabled-border);color:var(--color-disabled-text);opacity:1;box-shadow:none;cursor:not-allowed}.table-controls button:disabled:hover,.list-primary-action:disabled:hover,.list-secondary-action:disabled:hover,.list-danger-action:disabled:hover,table td button:disabled:hover,.compare-btn:disabled:hover{background-color:var(--color-disabled-bg);border-color:var(--color-disabled-border);color:var(--color-disabled-text)}table,.table-standard{width:100%;border-collapse:collapse;font-size:var(--font-size-md);flex:1;overflow-y:auto;background-color:var(--color-surface)}table thead,.table-standard thead{background-color:var(--bg-subtle);position:sticky;top:0}table th,.table-standard th{padding:.75rem;text-align:left;border-bottom:1px solid var(--border-medium);font-weight:600;color:var(--text-secondary)}table th.checkbox{width:2.5rem;text-align:center}table th.actions{width:8rem;text-align:center}table td,.table-standard td{padding:.75rem;border-bottom:1px solid var(--border-light)}table td.actions,.table-standard td.actions{text-align:center;background-color:var(--bg-subtle)}table tbody tr:hover td.actions,.table-standard tbody tr:hover td.actions{background-color:var(--bg-subtle)}table td button,.table-standard td button{padding:.35rem .75rem;border:1px solid var(--border-medium);background-color:var(--color-surface);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);white-space:nowrap}table td button:hover,.table-standard td button:hover{background-color:var(--bg-hover);border-color:var(--dark-gray)}table td button:focus-visible,.table-standard td button:focus-visible{outline:none}table tbody tr:hover,.table-standard tbody tr:hover{background-color:var(--bg-subtle)}table input[type=checkbox]{cursor:pointer;accent-color:var(--brand-teal)}.table-selectable tbody tr>td{transition:background-color .18s ease,box-shadow .18s ease}.table-selectable tbody tr:hover>td{background-color:var(--color-row-hover-bg)}.table-selectable tbody tr:has(input[type=checkbox]:checked)>td{background-color:var(--color-row-selected-bg)}.table-selectable tbody tr:has(input[type=checkbox]:checked):hover>td{background-color:var(--color-row-selected-hover-bg)}.table-selectable tbody tr:has(input[type=checkbox]:checked)>td.checkbox{box-shadow:inset 3px 0 0 0 var(--brand-teal)}.table-state-row>td,.table-selectable tbody tr.table-state-row:hover>td,.table-selectable tbody tr.table-state-row:has(input[type=checkbox]:checked)>td{background-color:transparent;box-shadow:none}.table-state-cell,.table-empty{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg);color:var(--text-secondary);text-align:center}.table-empty-message{margin:0;padding:var(--spacing-xl) 0;text-align:center}.table-action-link{color:var(--dark-blue);text-decoration:underline;cursor:pointer;font-size:var(--font-size-sm);font-weight:500}.table-action-link:hover{color:#049}.table-action-link.disabled,.table-action-link[aria-disabled=true]{color:var(--color-disabled-text);text-decoration:none;cursor:not-allowed;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.flash-message{margin:1rem 2rem 0;padding:.75rem 1rem;background-color:var(--brand-teal-bg);color:var(--brand-teal);border:1px solid rgba(15,60,60,.12);border-radius:var(--radius-md);font-size:var(--font-size-md)}.flash-message[hidden]{display:none}.page-title{margin:0;font-size:var(--font-size-2xl);font-weight:600;line-height:1.2;color:var(--brand-teal)}.page-subtitle{margin:0;max-width:60ch;font-size:var(--font-size-lg);color:var(--text-secondary);line-height:1.5}.section-title{margin:0;font-size:var(--font-size-xl);font-weight:600;line-height:1.35;color:var(--text-main)}.card-title{margin:0;font-size:var(--font-size-lg);font-weight:600;line-height:1.35;color:var(--text-main)}.card-subtitle,.helper-text{margin:0;font-size:var(--font-size-md);line-height:1.5;color:var(--text-secondary)}.card{background-color:var(--color-surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.muted-text{color:var(--text-muted)}.meta-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-lg)}.meta-item{display:flex;align-items:baseline;gap:var(--spacing-xs)}.meta-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.meta-value{color:var(--text-main);font-size:var(--font-size-md);font-weight:600;font-variant-numeric:tabular-nums}.metric-label{color:var(--text-muted);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.metric-value{color:var(--text-main);font-size:var(--font-size-xl);font-weight:700;font-variant-numeric:tabular-nums}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:.5rem 1rem;border-radius:var(--radius-md);line-height:1.2;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease}.btn-primary{background-color:var(--brand-teal);color:var(--color-surface);border:1px solid var(--brand-teal)}.btn-primary:hover{background-color:var(--brand-teal-dark);border-color:var(--brand-teal-dark);color:var(--color-surface)}.btn-primary:focus-visible{color:var(--color-surface)}.btn-secondary{background-color:var(--base-gray);color:var(--text-main);border:1px solid var(--border-medium)}.btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--dark-gray)}.btn-disabled,.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.form-label{font-size:var(--font-size-lg);font-weight:600;color:var(--text-label)}.form-input,.form-select,.form-textarea{padding:.65rem .75rem;border:1px solid var(--border-medium);border-radius:var(--radius-md);background-color:var(--color-surface);line-height:1.45;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--brand-teal-light);outline:2px solid transparent;box-shadow:0 0 0 3px var(--color-focus-ring)}.page-header{padding:var(--spacing-md) var(--spacing-sm);display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-xs);background-color:var(--blue-gray)}.page-header .title-container{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:0}.page-header h1{margin:0}.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--spacing-lg)}.section-header button{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);border:none;background-color:var(--brand-teal);color:#fff;font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color .2s ease}.section-header button:hover{background-color:var(--brand-teal-dark)}.close-button{border:none;background:none;padding:var(--spacing-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;color:inherit;opacity:.7;transition:opacity .2s;width:40px;height:40px}.close-button:hover{opacity:1}.close-button img{width:24px;height:24px;display:block}.header-with-close{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);width:100%}.header-with-close .title-container,.header-with-close .page-title{flex:1 1 auto;min-width:0}.form-page{display:flex;flex-direction:column;gap:0;padding:0;width:100%}.form-page .page-header{flex-direction:column;align-items:stretch;gap:var(--spacing-xs)}.form-page h1{margin:0}.form-page .intro{margin:0;max-width:60ch}.form-page main{display:flex;flex-direction:column;padding:var(--spacing-sm)}.form-page form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-page label{font-size:var(--font-size-lg);font-weight:600;color:var(--text-label)}.form-page input,.form-page textarea,.form-page select{padding:.65rem .75rem;border:1px solid var(--border-medium);border-radius:var(--radius-md);font-size:var(--font-size-lg);line-height:1.45;background-color:var(--color-surface);transition:border-color .2s ease,box-shadow .2s ease}.form-page input:focus,.form-page textarea:focus,.form-page select:focus{border-color:var(--brand-teal-light);outline:2px solid transparent;box-shadow:0 0 0 3px var(--color-focus-ring)}.form-page textarea{min-height:7.5rem;resize:vertical}.form-actions{display:flex;gap:.75rem;margin-top:var(--spacing-md)}.form-actions button{padding:.65rem 1.5rem;border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:500;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.form-actions button[data-action=cancel],.form-actions button[type=button]{background-color:var(--base-gray);color:var(--text-main);border:1px solid var(--border-medium)}.form-actions button[data-action=cancel]:hover,.form-actions button[type=button]:hover{background-color:var(--bg-hover);border-color:var(--dark-gray)}.form-actions button[type=submit]{background-color:var(--brand-teal);color:#fff;border:1px solid var(--brand-teal)}.form-actions button[type=submit]:hover{background-color:var(--brand-teal-dark);border-color:var(--brand-teal-dark)}.form-actions button:disabled{opacity:.6;cursor:not-allowed}.form-feedback{min-height:1.25rem;font-size:var(--font-size-md);letter-spacing:.01em}.form-feedback[hidden]{display:none}.form-feedback[data-tone=error]{color:var(--error-color)}.form-feedback[data-tone=success]{color:var(--success-color)}.landing-page,.login-page,.register-page{min-height:100%;display:flex;flex-direction:column;background-color:var(--blue-gray)}.landing-hero{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem 2rem}.landing-content{text-align:center;max-width:600px}.landing-logo{margin-bottom:1.5rem}.landing-logo img{width:100px;height:auto;filter:invert(15%) sepia(50%) saturate(500%) hue-rotate(180deg)}.landing-title{font-size:3rem;font-weight:700;margin:0 0 .5rem;letter-spacing:-.02em;color:var(--dark-blue)}.landing-tagline{font-size:1.25rem;font-weight:400;color:var(--text-secondary);margin:0 0 1.5rem}.landing-description{font-size:1rem;line-height:1.7;color:var(--text-secondary);margin:0 0 2.5rem}.landing-features{display:flex;justify-content:center;gap:1.5rem;margin-bottom:2.5rem;flex-wrap:wrap}.feature-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);min-width:140px;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.feature-item:hover{background:var(--color-surface);transform:translateY(-2px);box-shadow:var(--shadow-md)}.feature-icon{color:var(--brand-teal)}.feature-item span{font-size:.875rem;font-weight:500;color:var(--text-main)}.landing-actions{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.landing-btn{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-md);font-weight:500;border-radius:var(--radius-lg);cursor:pointer;transition:background-color .2s ease,border-color .2s ease;min-width:140px}.landing-btn-primary{background-color:var(--brand-teal);color:#fff;border:1px solid var(--brand-teal)}.landing-btn-primary:hover{background-color:var(--brand-teal-dark);border-color:var(--brand-teal-dark)}.landing-btn-secondary{background-color:var(--base-gray);color:var(--text-main);border:1px solid var(--border-medium)}.landing-btn-secondary:hover{background-color:var(--bg-hover);border-color:var(--dark-gray)}.landing-about-link-wrapper{margin-bottom:1.5rem}.landing-about-link{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:500;color:var(--brand-teal);border:1px solid var(--brand-teal);border-radius:var(--radius-lg);cursor:pointer;transition:background-color .2s ease,color .2s ease}.landing-about-link:hover{background-color:var(--brand-teal);color:#fff}.landing-about-link:hover svg{stroke:#fff}.landing-footer{padding:1rem;text-align:center;background-color:var(--color-surface);border-top:1px solid var(--border-light)}.landing-footer p{margin:0;font-size:.8125rem;color:var(--text-secondary)}@media(max-width:640px){.landing-title{font-size:2.25rem}.landing-tagline{font-size:1rem}.landing-features{gap:1rem}.feature-item{min-width:120px;padding:.75rem}.landing-actions{flex-direction:column;align-items:center}.landing-btn{width:100%;max-width:280px}}.login-page,.register-page{align-items:center;justify-content:center;padding:2rem}.login-container,.register-container{width:100%;background:var(--color-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.login-container{max-width:400px}.register-container{max-width:480px}.login-header,.register-header{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);position:relative}.login-header .back-btn,.register-header .back-btn{position:absolute;left:0;top:0;padding:.35rem;border-radius:var(--radius-sm);color:var(--dark-gray);cursor:pointer;transition:background .2s ease,color .2s ease}.login-header .back-btn:hover,.register-header .back-btn:hover{background:var(--bg-hover);color:var(--brand-teal)}.login-header .page-title,.register-header .page-title,.login-subtitle,.register-subtitle{text-align:center}.login-form,.register-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.login-form .form-group,.register-form .form-group{display:flex;flex-direction:column;gap:.35rem}.login-form label,.register-form label{font-size:.95rem;font-weight:600;color:var(--text-label)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.login-form .input-wrapper,.register-form .input-wrapper{position:relative;display:flex;align-items:center}.login-form .input-icon,.register-form .input-icon{position:absolute;left:.75rem;color:var(--dark-gray);pointer-events:none;transition:color .2s ease}.login-form .input-wrapper input,.register-form .input-wrapper input{width:100%;padding:.65rem .75rem .65rem 2.5rem;font-size:.95rem;line-height:1.45;border:1px solid var(--border-medium);border-radius:var(--radius-md);background-color:var(--color-surface);transition:border-color .2s ease,box-shadow .2s ease}.login-form .input-wrapper input::placeholder,.register-form .input-wrapper input::placeholder{color:var(--dark-gray)}.login-form .input-wrapper input:focus,.register-form .input-wrapper input:focus{border-color:var(--brand-teal-light);outline:2px solid transparent;box-shadow:0 0 0 3px var(--color-focus-ring)}.login-form .input-wrapper:focus-within .input-icon,.register-form .input-wrapper:focus-within .input-icon{color:var(--brand-teal)}.login-form .toggle-password,.register-form .toggle-password{position:absolute;right:.75rem;background:none;border:none;padding:4px;cursor:pointer;color:var(--dark-gray);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.login-form .toggle-password:hover,.register-form .toggle-password:hover{color:var(--brand-teal)}.input-hint{font-size:.75rem;color:var(--text-secondary);margin:0}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);border:1px solid var(--border-medium);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:100}.autocomplete-dropdown[hidden]{display:none}.autocomplete-list{list-style:none;margin:0;padding:0}.autocomplete-item{padding:.65rem .75rem;cursor:pointer;font-size:.9rem;color:var(--text-main);transition:background-color .15s ease;border-bottom:1px solid var(--border-light)}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover,.autocomplete-item.highlighted{background-color:var(--bg-hover)}.autocomplete-item.autocomplete-empty{color:var(--text-secondary);font-style:italic;cursor:default}.autocomplete-item.autocomplete-empty:hover{background-color:transparent}.login-form .form-feedback,.register-form .form-feedback{padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.85rem}.login-form .form-feedback[data-tone=error],.register-form .form-feedback[data-tone=error]{background-color:#fdecea;color:var(--error-color)}.login-form .form-feedback[data-tone=success],.register-form .form-feedback[data-tone=success]{background-color:#e8f5e9;color:var(--success-color)}.login-form .form-feedback[data-tone=info],.register-form .form-feedback[data-tone=info]{background-color:var(--blue-gray);color:var(--dark-blue)}.login-form .form-options,.register-form .form-options{display:flex;align-items:center}.remember-me,.terms-checkbox{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;color:var(--text-secondary);cursor:pointer}.remember-me input[type=checkbox],.terms-checkbox input[type=checkbox]{width:16px;height:16px;margin-top:2px;accent-color:var(--brand-teal);cursor:pointer}.login-submit,.register-submit{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-lg);border:1px solid var(--brand-teal);background-color:var(--brand-teal);color:var(--color-surface);font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:background-color .2s ease;margin-top:var(--spacing-sm)}.login-submit:hover:not(:disabled),.register-submit:hover:not(:disabled){background-color:var(--brand-teal-dark)}.login-submit:disabled,.register-submit:disabled{opacity:.6;cursor:not-allowed}.login-submit .spinner,.register-submit .spinner{animation:auth-spin 1s linear infinite}.login-submit .spinner[hidden],.register-submit .spinner[hidden]{display:none}@keyframes auth-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-footer,.register-footer{margin-top:var(--spacing-lg);text-align:center;padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.login-register-link,.register-login-link{font-size:.875rem;color:var(--text-secondary);margin:0 0 .5rem}.login-register-link a,.register-login-link a{color:var(--brand-teal);font-weight:500;margin-left:.25rem;transition:color .2s ease}.login-register-link a:hover,.register-login-link a:hover{color:var(--brand-teal-dark);text-decoration:underline}.login-help{font-size:.8125rem;color:var(--text-secondary);margin:0}.login-about-banner{margin-bottom:var(--spacing-md);text-align:center}.login-about-link{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;color:var(--brand-teal);background-color:var(--brand-teal-bg);border:1px solid rgba(15,60,60,.12);border-radius:6px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.login-about-link:hover{background-color:#d0eded;border-color:var(--brand-teal-light)}@media(max-width:480px){.login-page,.register-page{padding:1rem}.login-container,.register-container{padding:var(--spacing-md)}.login-header .page-title,.register-header .page-title{font-size:1.25rem}.form-row{grid-template-columns:1fr}}.pagination-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;margin-top:var(--spacing-sm);border-top:1px solid rgba(15,60,60,.08);font-size:.875rem;color:var(--dark-blue)}.pagination-controls[hidden]{display:none}.pagination-controls .pagination-page-size{display:inline-flex;align-items:center;gap:var(--spacing-xs, .5rem)}.pagination-controls .pagination-page-size select{padding:.25rem .5rem;border:1px solid rgba(15,60,60,.18);border-radius:4px;background-color:#fff;color:var(--dark-blue);font:inherit}.pagination-controls .pagination-range{flex:1 1 auto;text-align:center;color:var(--dark-blue)}.pagination-controls .pagination-buttons{display:inline-flex;align-items:center;gap:.5rem}.pagination-controls .pagination-buttons button{padding:.35rem .75rem;border:1px solid rgba(15,60,60,.18);border-radius:4px;background-color:#fff;color:var(--dark-blue);cursor:pointer;font:inherit}.pagination-controls .pagination-buttons button:hover:not(:disabled){background-color:var(--brand-teal-bg)}.pagination-controls .pagination-buttons button:disabled{opacity:.5;cursor:not-allowed}.buses-content{padding:var(--spacing-sm);overflow-y:auto}.add-bus-model main{max-width:1120px;padding:var(--spacing-lg);overflow-y:auto}.add-bus-model form{max-width:none}.add-bus-model .required-mark{color:var(--brand-teal)}.add-bus-model .required-note{font-size:.85rem;color:var(--text-secondary);margin:0}.add-bus-model .optional-note{font-size:.8em;font-weight:400;color:var(--text-secondary)}.add-bus-model .bus-model-shell{display:flex;flex-direction:column;gap:var(--spacing-lg)}.add-bus-model .bus-model-intro-card{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.add-bus-model .bus-model-kicker{margin:0 0 .2rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--action-blue)}.add-bus-model .bus-model-intro-copy h2{margin:0;font-size:var(--font-size-xl);font-weight:600;line-height:1.35;color:var(--text-main)}.add-bus-model .bus-model-intro-copy p:last-child{margin:0;max-width:60ch;color:var(--text-secondary);font-size:var(--font-size-md);line-height:1.5}.add-bus-model .bus-model-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-lg)}.add-bus-model .bus-model-panel{border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.add-bus-model .bus-model-panel--wide{grid-column:1 / -1}.add-bus-model .bus-model-panel-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--action-blue)}.add-bus-model .bus-model-panel-header h3{margin:0 0 .2rem;font-size:var(--font-size-lg);font-weight:600;color:var(--text-main);line-height:1.35}.add-bus-model .bus-model-panel-header p{margin:0;font-size:var(--font-size-md);color:var(--text-secondary);line-height:1.5}.add-bus-model .bus-model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--spacing-md)}.add-bus-model .bus-model-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.add-bus-model .bus-model-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.add-bus-model .bus-model-field--full{grid-column:1 / -1}.add-bus-model .bus-model-field--compact{justify-self:start;width:min(100%,15.5rem)}.add-bus-model .form-group{gap:.35rem}.add-bus-model label{font-size:.88rem;font-weight:600;color:var(--text-label)}.add-bus-model input,.add-bus-model select,.add-bus-model textarea{padding:.65rem .8rem;border:1px solid var(--border-medium);border-radius:var(--radius-lg);background:var(--color-surface)}.add-bus-model textarea{min-height:7rem}.add-bus-model .manufacturer-row{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:flex-start}.add-bus-model .manufacturer-row .autocomplete-wrapper,.add-bus-model .manufacturer-row .custom-manufacturer{min-width:0;width:100%}.add-bus-model .form-group input:disabled{opacity:.4;cursor:not-allowed}.add-bus-model .bus-model-form-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-light)}.add-bus-model .form-actions{margin-top:0}.bus-models table{flex:0 0 auto;height:auto;width:100%;table-layout:fixed}.bus-models th,.bus-models td{text-align:center;width:calc((100% - 2.5rem) / 9)}.bus-models th.checkbox,.bus-models td.checkbox{width:2.5rem}@media(max-width:900px){.add-bus-model .bus-model-panels,.add-bus-model .bus-model-grid--2,.add-bus-model .bus-model-grid--3{grid-template-columns:1fr}.add-bus-model .bus-model-field--compact{width:100%}}@media(max-width:640px){.add-bus-model main{padding:var(--spacing-md)}.add-bus-model .bus-model-intro-card,.add-bus-model .bus-model-panel{padding:var(--spacing-md)}.add-bus-model .manufacturer-row,.add-bus-model .bus-model-form-footer{grid-template-columns:1fr;display:grid}.add-bus-model .form-actions{width:100%;justify-content:flex-start}}.shift-form-grid{display:flex;flex-direction:column;gap:var(--spacing-xl)}.shift-form main{max-width:1400px;width:100%}.shift-form form{width:100%}.shift-form .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-md)}.shift-form h2{font-size:var(--font-size-xl);font-weight:600;line-height:1.35;color:var(--text-main)}.shift-form .shift-config h2,.shift-form .shift-details h2{color:var(--text-main);font-size:var(--font-size-xl);font-weight:600}.shift-form .shift-config .section-header{flex-direction:column;align-items:stretch}.shift-form .shift-info{display:flex;gap:var(--spacing-lg);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--brand-teal-bg);border-radius:var(--radius-md);border-left:3px solid var(--brand-teal);margin-bottom:var(--spacing-sm)}.shift-form .shift-info-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.95rem;color:var(--text-main)}.shift-form .shift-info-item strong{color:var(--brand-teal);font-weight:600}.shift-form .shift-config{display:flex;flex-direction:column;gap:var(--spacing-md)}.shift-form .shift-control-grid{display:grid;gap:var(--spacing-md);align-items:end}.shift-form .shift-control-grid--primary,.shift-form .shift-control-grid--secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-form .shift-secondary-group{display:grid;gap:var(--spacing-md);min-width:0}.shift-form .shift-secondary-group--filters,.shift-form .shift-secondary-group--depots{grid-template-columns:repeat(2,minmax(0,1fr))}.shift-form .shift-secondary-group--depots .controls-group-fields{display:grid;grid-template-columns:minmax(90px,110px) minmax(0,1fr);gap:var(--spacing-sm);align-items:end}.shift-form .shift-secondary-group--depots .form-group{min-width:0}.shift-form .shift-trip-tables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-xl);align-items:start}.shift-form .controls-group-box{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.shift-form .controls-group-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-main);line-height:1.35;margin:0}.shift-form .controls-group-fields{display:flex;gap:var(--spacing-md);flex-wrap:wrap;align-items:flex-end}.shift-form .form-group{min-width:150px}.shift-form input,.shift-form select{width:100%}.shift-form .table-wrapper{border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:var(--spacing-md);max-height:500px;overflow-y:auto;background:var(--color-surface)}.shift-form .table-toolbar{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-sm)}.shift-form .table-bulk-action{background-color:var(--color-surface);border:1px solid var(--brand-teal-light);color:var(--brand-teal);border-radius:var(--radius-md)}.shift-form .table-bulk-action:hover:not(:disabled){background-color:var(--brand-teal-bg)}.shift-form .table-bulk-action:disabled{cursor:not-allowed;opacity:.55}.shift-form table{width:100%;border-collapse:collapse}.shift-form th{background-color:var(--bg-subtle);position:sticky;top:0;z-index:1;padding:.75rem;text-align:left;border-bottom:1px solid var(--border-dim);font-weight:600;color:var(--dark-gray)}.shift-form td{padding:.75rem;border-bottom:1px solid var(--border-light)}.shift-form .form-actions{justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light)}.shift-form button{padding:.65rem 1.25rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:500;cursor:pointer;transition:background-color .2s}.shift-form button[type=submit]{background-color:var(--brand-teal);color:var(--color-surface);border:1px solid var(--brand-teal)}.shift-form button[type=submit]:hover{background-color:var(--brand-teal-dark)}.shift-form button[data-action=cancel]{background-color:var(--color-surface);border:1px solid var(--border-medium);color:var(--text-secondary)}.shift-form button[data-action=cancel]:hover{background-color:var(--bg-subtle)}.shift-form button[data-action=visualize-shift]{background-color:var(--color-surface);border:1px solid var(--brand-teal-light);color:var(--brand-teal)}.shift-form button[data-action=visualize-shift]:hover{background-color:var(--brand-teal-bg)}.shift-form .form-feedback{margin-bottom:var(--spacing-md)}.shift-form .shift-progress__overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.shift-form .shift-progress__content{background:var(--color-surface);border-radius:var(--radius-2xl);padding:2rem 2.5rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem;box-shadow:0 8px 32px #0000002e;min-width:280px;text-align:center}.shift-form .shift-progress__spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:shift-spin .8s linear infinite}@keyframes shift-spin{to{transform:rotate(360deg)}}.shift-form .shift-progress__message{margin:0;font-size:.95rem;color:var(--color-text)}.shifts-main{padding:var(--spacing-sm)}.shifts-table{overflow-x:auto}.shifts-table table{width:100%;table-layout:fixed}.shifts-table th,.shifts-table td{text-align:center;vertical-align:middle}.shifts-table .sort-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer}.shifts-table .sort-button:hover,.shifts-table .sort-button:focus-visible{color:var(--brand-teal)}.shifts-table .sort-arrow{font-size:.8em;line-height:1}.shifts-table th.checkbox,.shifts-table td.checkbox{width:2.5rem}.shifts-table th.name,.shifts-table td.name,.shifts-table th.bus,.shifts-table td.bus{width:16%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shifts-table th.start,.shifts-table td.start,.shifts-table th.end,.shifts-table td.end,.shifts-table th.distance,.shifts-table td.distance,.shifts-table th.route,.shifts-table td.route{width:10%}.shifts-table th.actions,.shifts-table td.actions{width:12%}.visualize-shift{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-sm)}.visualize-shift__header{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.visualize-shift__back{border:none;background:none;color:var(--brand-teal);font-size:.95rem;cursor:pointer;text-decoration:underline;padding:.25rem .5rem}.visualize-shift__back:hover,.visualize-shift__back:focus{text-decoration:none}.visualize-shift-grid{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:var(--spacing-xl);align-items:start}.shift-summary{display:flex;flex-direction:column;gap:var(--spacing-lg)}.shift-summary__header h2{font-size:1.15rem;font-weight:600;color:var(--text-main);line-height:1.35}.shift-summary__bus,.shift-summary__distance{display:flex;align-items:baseline;gap:var(--spacing-xs);color:var(--text-main);font-size:var(--font-size-md)}.shift-summary__block{background-color:var(--background-alt);border:1px solid rgba(15,60,60,.08);border-radius:var(--radius-lg);padding:var(--spacing-md) 1.25rem;display:flex;flex-direction:column;gap:.75rem}.shift-summary__block h3{font-size:var(--font-size-lg);font-weight:600;color:var(--text-main);line-height:1.35}.shift-summary__details{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--spacing-md)}.shift-summary__details dt{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.shift-summary__details dd{font-size:var(--font-size-md);color:var(--text-main);font-weight:600}.shift-summary__table{display:flex;flex-direction:column;gap:.75rem;max-height:220px;overflow-y:auto}.shift-summary__table table{border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;width:100%}.shift-summary__table tbody td.empty{text-align:center;color:var(--dark-gray);font-size:.9rem;padding:1.5rem .75rem;background-color:var(--bg-subtle)}.shift-summary__empty{font-size:var(--font-size-md);color:var(--text-secondary)}.shift-visualization{display:flex;flex-direction:column;gap:var(--spacing-lg);min-height:420px}.shift-visualization__header h2{font-size:var(--font-size-xl);font-weight:600;color:var(--text-main);line-height:1.35}.timeline{border:1px solid var(--border-light);border-radius:var(--radius-2xl);background:linear-gradient(180deg,#8ee5e31f,#b1e8e80d);padding:var(--spacing-lg);min-height:250px;display:flex;align-items:center;justify-content:center;position:relative}.timeline__chart{width:100%;height:auto;display:block}.timeline__placeholder{font-size:var(--font-size-md);color:var(--text-secondary);text-align:center;line-height:1.5}.timeline__grid line{stroke:#0f3c3c1f;stroke-dasharray:3 3}.timeline__grid--vertical line{stroke:#0f3c3c14;stroke-dasharray:2 6}.timeline__axis--x text{font-size:.78rem;fill:var(--text-secondary);font-variant-numeric:tabular-nums}.timeline__stop-label{font-size:.82rem;color:var(--text-secondary);font-family:inherit}.timeline__trip-line{fill:none;stroke:var(--timeline-blue);stroke-width:2}.timeline__point{fill:#fff;stroke:var(--timeline-blue);stroke-width:2}.timeline__point--start{fill:var(--timeline-blue);stroke:var(--timeline-blue)}.timeline__point--intermediate{fill:#fff;stroke:var(--timeline-blue);stroke-width:1.5}.timeline__depot-line{fill:none;stroke:#f59e0b;stroke-width:2;stroke-dasharray:5 3}.timeline__point--depot{fill:#f59e0b;stroke:#d97706;stroke-width:2}@media(max-width:1024px){.visualize-shift-grid,.shift-form .shift-control-grid--secondary,.shift-form .shift-trip-tables{grid-template-columns:1fr}.timeline{min-height:260px}}@media(max-width:760px){.shift-form .shift-control-grid--primary,.shift-form .shift-secondary-group--filters,.shift-form .shift-secondary-group--depots,.shift-form .shift-trip-tables,.shift-form .shift-secondary-group--depots .controls-group-fields{grid-template-columns:1fr}}.trip-preview-row{background:linear-gradient(180deg,#8ee5e314,#fff);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.trip-preview-cell{padding:0!important;border-bottom:2px solid var(--brand-teal-light)!important}.trip-preview-inline{padding:var(--spacing-md)}.trip-preview-inline__content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 2px 8px #0000000f}.trip-preview-inline__map{height:180px;background:#f0f4f4;position:relative;overflow:hidden;border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.trip-preview-inline__map .trip-preview-map-container{width:100%;height:180px}.trip-preview-inline__map .leaflet-container{width:100%!important;height:180px!important;border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.trip-preview-inline__elevation{padding:var(--spacing-md);background:var(--color-surface);display:flex;align-items:center;justify-content:center;min-height:180px}.trip-preview-inline__loading,.trip-preview-inline__empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:120px;color:var(--text-secondary);font-size:.9rem;text-align:center;padding:var(--spacing-md)}.trip-preview-inline__empty{color:var(--dark-gray)}.elevation-chart-inline{display:block;width:100%;max-width:400px;height:auto}@media(max-width:900px){.trip-preview-inline__content{grid-template-columns:1fr}.trip-preview-inline__map,.trip-preview-inline__map .leaflet-container{border-radius:var(--radius-xl) var(--radius-xl) 0 0}.trip-preview-inline__elevation{min-height:140px}}.elevation-chart{display:block;width:100%;height:auto}.shift-form .scheduled-trips tbody tr{cursor:pointer;transition:background-color .15s ease}.shift-form .scheduled-trips tbody tr:hover{background-color:#0f8a870d}.shift-timeline-section{margin-top:0}.shift-timeline-header{margin-bottom:var(--spacing-md)}.shift-timeline-header h2{font-size:1.25rem;font-weight:600;color:var(--brand-teal)}.shift-form-timeline{min-height:216px;max-height:348px;overflow:hidden;align-items:stretch;justify-content:stretch;padding:var(--spacing-md)}.shift-form-timeline .timeline__chart{width:100%;height:100%;max-width:100%}.timeline svg{display:block;width:100%;height:100%}.axis path,.axis line{fill:none;stroke:var(--border-medium);shape-rendering:crispEdges}.axis text{font-family:Inter,sans-serif;font-size:12px;fill:var(--dark-gray)}.grid line{stroke:var(--border-light);stroke-opacity:.7;shape-rendering:crispEdges}.grid path{stroke-width:0}.trip-line{fill:none;stroke:var(--chart-blue);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;transition:stroke-width .2s ease}.trip-line:hover{stroke-width:4px;cursor:pointer}.stop-dot{fill:var(--chart-blue);stroke:#fff;stroke-width:1px;transition:r .2s ease}.stop-dot:hover{r:6px;cursor:pointer}.custom-stops-main{padding:var(--spacing-sm);display:flex;flex-direction:column}.add-custom-stop .intro{max-width:48ch}.add-custom-stop form{display:grid;grid-template-columns:1fr 1fr;max-width:900px}.add-custom-stop .form-fields{display:flex;flex-direction:column;gap:var(--spacing-lg)}.add-custom-stop .map-picker-container{position:sticky;top:var(--spacing-lg);align-self:start}.add-custom-stop .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--spacing-md)}.add-custom-stop .map-picker-container>label{font-size:.95rem;font-weight:600;color:var(--text-label)}.add-custom-stop .map-hint{font-size:var(--font-size-md);margin:0}.add-custom-stop .map-wrapper{position:relative;width:100%;height:600px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-medium)}.add-custom-stop input[readonly],.add-custom-stop textarea[readonly]{background-color:var(--background-muted);color:var(--text-muted);cursor:not-allowed;border-color:var(--border-light)}.add-custom-stop #custom-stop-map{width:100%;height:100%}.add-custom-stop .map-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:1000}.add-custom-stop .map-crosshair:before,.add-custom-stop .map-crosshair:after{content:"";position:absolute;background-color:var(--map-marker-red)}.add-custom-stop .map-crosshair:before{width:2px;height:24px;left:50%;top:50%;transform:translate(-50%,-50%)}.add-custom-stop .map-crosshair:after{width:24px;height:2px;left:50%;top:50%;transform:translate(-50%,-50%)}.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.simulation-runs .page-header{flex-direction:row;justify-content:space-between;align-items:flex-end}.simulation-runs-main{padding:var(--spacing-sm);overflow-y:auto}.simulation-runs .table-controls{margin-bottom:var(--spacing-md)}.simulation-runs .simulation-actions{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-left:auto}.simulation-runs-table{overflow-x:auto}.simulation-runs-table table{width:100%;margin:0;table-layout:fixed}.simulation-runs-table th,.simulation-runs-table td{text-align:center;vertical-align:middle}.simulation-runs-table .sort-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer}.simulation-runs-table .sort-button:hover,.simulation-runs-table .sort-button:focus-visible{color:var(--brand-teal)}.simulation-runs-table .sort-arrow{font-size:.8em;line-height:1}.simulation-runs-table th.checkbox,.simulation-runs-table td.checkbox{width:2.5rem;text-align:center}.simulation-runs-table th.name,.simulation-runs-table td.name{width:16%}.simulation-runs-table th.main-parameters,.simulation-runs-table td.main-parameters{width:16%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simulation-runs-table th.type,.simulation-runs-table td.type{width:10%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simulation-runs-table th.day,.simulation-runs-table td.day{width:16%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simulation-runs-table th.status,.simulation-runs-table td.status,.simulation-runs-table th.feasibility,.simulation-runs-table td.feasibility{width:9%}.simulation-runs-table th.actions,.simulation-runs-table td.actions{width:12%}.simulation-runs-table .status-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.simulation-runs-table .status-badge.pending{background-color:#fff3cd;color:#856404}.simulation-runs-table .status-badge.running{background-color:#cce5ff;color:#004085}.simulation-runs-table .status-badge.completed{background-color:#d4edda;color:#155724}.simulation-runs-table .status-badge.failed{background-color:#f8d7da;color:#721c24}.simulation-runs-table .status-badge.feasible{background-color:#d4edda;color:#155724}.simulation-runs-table .status-badge.infeasible{background-color:#f8d7da;color:#721c24}.simulation-runs-table .status-badge.unknown{background-color:#f5f7fa;color:#6c757d}.simulation-runs-table th.results,.simulation-runs-table td.results{width:6%;text-align:center}.simulation-runs-table .results-link{color:#0062cc;text-decoration:underline;cursor:pointer;font-size:.85rem;font-weight:500}.simulation-runs-table .results-link:hover{color:#049}.simulation-runs-table .results-link.disabled{color:var(--text-secondary, #999);text-decoration:none;cursor:not-allowed;opacity:.6}.compare-section{width:100%;margin-top:var(--spacing-xl);padding:var(--spacing-lg);border:1px solid var(--border-light);border-radius:8px;background:#fff}.compare-section h2{font-size:var(--font-size-xl);font-weight:600;color:var(--text-main);line-height:1.35;margin-bottom:var(--spacing-md)}.compare-controls{display:flex;align-items:flex-end;gap:var(--spacing-md);flex-wrap:wrap}.compare-select-group{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1 1 200px;min-width:180px}.compare-select-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase}.compare-select-group select{padding:.45rem .6rem;border:1px solid var(--border-medium, #ccc);border-radius:6px;font-size:.85rem;background:#fff;color:var(--text-main)}.compare-vs{font-size:var(--font-size-md);font-weight:600;color:var(--text-secondary);padding-bottom:.45rem}.compare-btn{background-color:var(--brand-teal);color:#fff;padding:.5rem 1.4rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .15s;white-space:nowrap}.compare-btn:hover{background-color:var(--brand-teal-dark)}.compare-btn:disabled{opacity:.5;cursor:not-allowed}.add-simulation main{max-width:720px;overflow-y:auto}.add-simulation form{max-width:clamp(22rem,60vw,42rem);gap:var(--spacing-md)}.add-simulation .required-mark{color:var(--brand-teal)}.add-simulation .required-note{font-size:var(--font-size-md);color:var(--text-secondary);margin:0;line-height:1.5}.add-simulation [hidden]{display:none!important}.add-simulation label{font-size:.82rem;font-weight:600}.add-simulation input,.add-simulation select{padding:.4rem .55rem;font-size:.85rem}.add-simulation .form-group{gap:.2rem}.add-simulation #simulation-name{width:100%}.add-simulation #simulation-name[aria-invalid=true]{border-color:var(--error-color);box-shadow:0 0 0 3px #d32f2f1f}.add-simulation [data-role=name-feedback]{min-height:0}.add-simulation .compact-row{display:grid;gap:var(--spacing-sm, .5rem);align-items:end}.add-simulation .compact-row--2{grid-template-columns:1fr 1fr}.add-simulation .compact-row--3{grid-template-columns:1fr 1fr 1fr}.add-simulation .shift-selection{border:none;padding:0}.add-simulation .shift-search{margin-bottom:var(--spacing-xs, .25rem)}.add-simulation .shift-search input{width:100%;padding:.35rem .6rem;border:1px solid var(--border-medium);border-radius:5px;font-size:.82rem}.add-simulation .shift-table-wrapper{max-height:220px;overflow:auto;border:1px solid var(--border-light);border-radius:5px}.add-simulation .shift-table{width:100%;font-size:.8rem}.add-simulation .shift-table th{position:sticky;top:0;background-color:var(--bg-subtle);z-index:1;font-size:.75rem;padding:.3rem .5rem}.add-simulation .shift-table .sort-button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer}.add-simulation .shift-table .sort-button:hover,.add-simulation .shift-table .sort-button:focus-visible{color:var(--brand-teal)}.add-simulation .shift-table .sort-arrow{font-size:.8em;line-height:1}.add-simulation .shift-table td{padding:.25rem .5rem}.add-simulation .shift-table th.checkbox,.add-simulation .shift-table td.checkbox{width:2rem;text-align:center}.add-simulation .shift-table th.distance,.add-simulation .shift-table td.distance{white-space:nowrap}.add-simulation .shift-table tbody tr:hover{background-color:var(--bg-hover)}.add-simulation .shift-table tbody tr:has(input:checked){background-color:var(--brand-teal-bg)}.add-simulation .custom-variables-section{border:1px solid var(--border-light);border-radius:6px;padding:.5rem .75rem .65rem;margin:0}.add-simulation .custom-variables-section legend{color:var(--text-main);font-weight:600;font-size:var(--font-size-lg);line-height:1.35;padding:0 .3rem}.add-simulation .charging-stations-section{border:1px solid var(--border-light);border-radius:6px;padding:.5rem .75rem .65rem;margin:0}.add-simulation .charging-stations-section legend{color:var(--text-main);font-weight:600;font-size:var(--font-size-lg);line-height:1.35;padding:0 .3rem}.add-simulation .stops-hint{font-size:var(--font-size-md);color:var(--text-secondary);margin:.25rem 0;line-height:1.5}.add-simulation .stops-table-wrapper{max-height:260px;overflow-y:auto;border:1px solid var(--border-light);border-radius:5px;margin-top:.25rem}.add-simulation .stops-table{width:100%;font-size:.78rem;border-collapse:collapse}.add-simulation .stops-table th{position:sticky;top:0;background-color:var(--bg-subtle);z-index:1;font-size:.72rem;padding:.3rem .4rem;text-align:left;white-space:nowrap}.add-simulation .stops-table td{padding:.25rem .4rem;vertical-align:middle}.add-simulation .stops-table tbody tr:hover{background-color:var(--bg-hover)}.add-simulation .stops-table input[type=number]{width:5rem;padding:.2rem .35rem;border:1px solid var(--border-medium);border-radius:4px;font-size:.78rem}.add-simulation .stops-table th.checkbox,.add-simulation .stops-table td.checkbox{width:2rem;text-align:center}.add-simulation .stops-table td.stop-name{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simulation-progress__overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.simulation-progress__content{background:var(--color-surface, #fff);border-radius:12px;padding:2rem 2.5rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem;box-shadow:0 8px 32px #0000002e;min-width:280px;text-align:center}.simulation-progress__spinner{width:40px;height:40px;border:4px solid var(--color-border, #e2e2e2);border-top-color:var(--color-primary, #2563eb);border-radius:50%;animation:sim-spin .8s linear infinite}@keyframes sim-spin{to{transform:rotate(360deg)}}.simulation-progress__message{margin:0;font-size:.95rem;color:var(--color-text, #333)}@media(max-width:480px){.add-simulation .compact-row--2,.add-simulation .compact-row--3{grid-template-columns:1fr}}.simulation-detail .breadcrumb{display:flex;align-items:center;gap:var(--spacing-xs)}.simulation-detail .breadcrumb-sep{color:var(--border-medium)}.simulation-detail main{max-width:720px;overflow-y:auto}.simulation-detail .detail-loading{padding:var(--spacing-lg);color:var(--text-secondary);font-size:.95rem}.simulation-detail .detail-loading[hidden]{display:none}.simulation-detail .custom-variables-section{border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-lg)}.simulation-detail .custom-variables-section legend{font-size:var(--font-size-lg);font-weight:600;color:var(--text-main);line-height:1.35;padding:0 var(--spacing-xs)}.simulation-detail .custom-variables-section .form-group{margin-bottom:var(--spacing-md)}.simulation-detail .custom-variables-section .form-group:last-child{margin-bottom:0}.simulation-detail .custom-variables-section label{font-size:.9rem;font-weight:500;color:var(--text-label)}.simulation-detail .custom-variables-section input,.simulation-detail .custom-variables-section select{max-width:240px}.simulation-results{margin-top:var(--spacing-lg);border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-lg)}.simulation-results[hidden]{display:none}.simulation-results h2{font-size:var(--font-size-xl);font-weight:600;color:var(--text-main);line-height:1.35;margin-bottom:var(--spacing-md)}.result-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-light)}.result-row:last-child{border-bottom:none}.result-label{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.result-value{font-size:var(--font-size-md);font-weight:600;color:var(--text-main);font-variant-numeric:tabular-nums}.result-card{border:1px solid var(--border-light);border-radius:6px;padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-light)}.result-shift{font-size:var(--font-size-md);font-weight:600;color:var(--text-main);font-family:monospace}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge.pending{background-color:#fff3cd;color:#856404}.status-badge.running{background-color:#cce5ff;color:#004085}.status-badge.completed{background-color:#d4edda;color:#155724}.status-badge.failed{background-color:#f8d7da;color:#721c24}.simulation-results-page .breadcrumb{font-size:.9rem;color:var(--text-secondary);display:flex;align-items:center;gap:var(--spacing-xs)}.simulation-results-page .breadcrumb-sep{color:var(--border-medium)}.results-main{padding:var(--spacing-lg);overflow-y:auto;overflow-x:hidden;position:relative}.results-toolbar{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.results-shift-tabs{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:var(--spacing-sm)}.results-shift-tabs[hidden]{display:none}.results-shift-tab{border:1px solid var(--border-medium, #c9d3dc);background:#fff;color:var(--text-secondary);border-radius:999px;padding:.35rem .85rem;font-size:.78rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s,background-color .15s}.results-shift-tab:hover{color:var(--text-main);border-color:var(--brand-teal)}.results-shift-tab.active{background:var(--brand-teal);color:#fff;border-color:var(--brand-teal)}.sim-data-btn{background-color:var(--brand-teal);color:#fff;padding:.5rem .75rem;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:background-color .15s;line-height:1.2}.sim-data-btn:hover{background-color:var(--brand-teal-dark)}.sim-data-btn--secondary{background-color:var(--brand-teal);color:#fff;border:none}.sim-data-btn--secondary:hover{background-color:var(--brand-teal-dark)}.results-toolbar .sim-data-btn--secondary{max-width:10rem;white-space:normal;text-align:center}.results-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-light);margin-bottom:var(--spacing-lg)}.results-tab{padding:.65rem 1.5rem;font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.results-tab:hover{color:var(--text-main)}.results-tab.active{color:var(--dark-blue);border-bottom-color:var(--dark-blue);font-weight:600}.results-tab-panels{min-height:300px;min-width:0}.tab-panel{display:flex;flex-direction:row;gap:var(--spacing-md);min-width:0}.tab-panel[data-panel=costs]{display:grid;grid-template-columns:minmax(320px,38%) minmax(0,1fr);align-items:start;gap:var(--spacing-md)}.costs-primary-stack{display:grid;gap:var(--spacing-md);min-width:0;align-self:stretch}.costs-primary-stack--inputs,.costs-primary-stack--charts{grid-template-rows:auto auto}.costs-primary-stack>.chart-section{min-width:0}.costs-kpis-section{padding:var(--spacing-sm) var(--spacing-md)}.costs-kpis-section h2{margin-bottom:var(--spacing-xs)}.tab-panel[hidden]{display:none}.chart-section{flex:1 1 0;min-width:0;overflow:hidden;border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md);background:#fff}.chart-section--full{flex:1 1 100%}.chart-section h2{font-size:var(--font-size-lg);font-weight:600;color:var(--text-main);line-height:1.35;margin-bottom:var(--spacing-sm)}.results-cost-variables{padding:.65rem;background:linear-gradient(180deg,#6fbeec14,#6fbeec00),#fff}.results-cost-variables__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.results-cost-variables__note{margin:0;font-size:.78rem;color:var(--text-secondary)}.results-cost-variables__note[data-tone=error]{color:var(--danger, #c0392b)}.results-cost-variables__note[data-tone=info]{color:var(--brand-teal-dark, #0f766e)}.results-cost-variables__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.32rem .42rem;margin-top:.32rem}.results-cost-variables__field{display:grid;gap:.14rem;font-size:.78rem;font-weight:600;color:var(--text-main);padding:.3rem .42rem;border:1px solid var(--border-light, #dde4ea);border-radius:8px;background:#fffffff5}.results-cost-variables__field-top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.results-cost-variables__value{min-width:4.1rem;padding:.14rem .38rem;border-radius:999px;background:#0b7e7714;color:var(--brand-teal-dark, #0f766e);font-size:.68rem;font-weight:700;text-align:center}.results-cost-variables__range{--slider-progress: 50%;appearance:none;width:100%;height:.56rem;border-radius:999px;background:linear-gradient(90deg,var(--brand-teal) 0,var(--brand-teal) var(--slider-progress),#d7e1e8 var(--slider-progress),#d7e1e8 100%);cursor:pointer}.results-cost-variables__range:focus{outline:none}.results-cost-variables__range::-webkit-slider-thumb{appearance:none;width:.82rem;height:.82rem;border:2px solid #fff;border-radius:50%;background:var(--brand-teal);box-shadow:0 0 0 3px #0b7e771f}.results-cost-variables__range::-moz-range-thumb{width:.82rem;height:.82rem;border:2px solid #fff;border-radius:50%;background:var(--brand-teal);box-shadow:0 0 0 3px #0b7e771f}.results-cost-variables__range:disabled{opacity:.6;cursor:not-allowed}.results-cost-variables__range-scale{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:.64rem;font-weight:600;color:var(--text-secondary)}.results-cost-variables__actions{display:flex;justify-content:flex-end}.costs-trend-section{padding-top:var(--spacing-sm);padding-bottom:.85rem}.costs-trend-section h2{margin-bottom:.35rem}.results-cost-variables__reset{border:none;background:transparent;color:var(--brand-teal-dark, #0f766e);font-size:.68rem;font-weight:700;padding:0;cursor:pointer}.results-cost-variables__reset:disabled{color:var(--text-secondary);cursor:not-allowed}@media(max-width:980px){.tab-panel[data-panel=costs]{grid-template-columns:1fr}.costs-primary-stack--inputs,.costs-primary-stack--charts{grid-template-rows:auto}.results-cost-variables__grid{grid-template-columns:1fr}}.chart-container{width:100%;max-width:100%;min-height:150px;overflow:hidden}.costs-annual-section .chart-container,.costs-trend-section .chart-container{min-height:72px}.chart-container svg{width:100%;height:auto;display:block}.costs-kpi-grid{display:flex;flex-wrap:wrap;gap:6px}.costs-assumption-note{margin:0 0 var(--spacing-md);font-size:var(--font-size-md)}.investment-table{width:100%;max-width:480px;border-collapse:collapse;font-size:.88rem;margin-bottom:var(--spacing-md)}.investment-table td{padding:.45rem .75rem;border-bottom:1px solid var(--border-color, #e5e7eb)}.investment-table td:first-child{color:var(--text-secondary, #6b7280)}.investment-table td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.investment-table__total td{border-top:2px solid var(--text-primary, #1c1c1c);border-bottom:none;font-weight:700}.costs-kpi-card{position:relative;flex:1 1 auto;min-width:110px;border:1px solid var(--border-light);border-radius:6px;padding:.4rem .6rem;background:var(--background-alt, #f5f7fa);cursor:default}.costs-kpi-label{display:block;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);line-height:1.2}.costs-kpi-value{display:block;margin-top:.15rem;font-size:.8rem;font-weight:700;color:var(--text-main);white-space:nowrap}.costs-kpi-value--positive{color:#3d7a00}.costs-kpi-value--negative{color:var(--danger, #c0392b)}.costs-kpi-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);width:max-content;max-width:260px;padding:.55rem .7rem;font-size:.72rem;font-weight:400;line-height:1.45;color:#fff;background:#1e293b;border-radius:6px;box-shadow:0 4px 12px #0000002e;pointer-events:none;z-index:20;white-space:normal}.costs-kpi-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1e293b}.costs-kpi-card:hover .costs-kpi-tooltip{display:block}.costs-state-msg{margin:0;padding:var(--spacing-lg);color:var(--text-secondary);font-size:.88rem}.costs-state-msg--error{color:var(--danger, #c0392b)}.investment-table__note{margin:.75rem 0 0;font-size:.78rem;color:var(--text-secondary)}.costs-inputs-layout{display:grid;gap:var(--spacing-md)}.costs-inputs-section{border:1px solid var(--border-light);border-radius:8px;overflow:hidden;background:#fff}.costs-inputs-section-body{padding:0 .95rem .95rem}.costs-inputs-section-body .investment-table{max-width:none;margin-bottom:0}.costs-inputs-section-title{margin:0;padding:.8rem .95rem .35rem;font-size:var(--font-size-lg);font-weight:600;color:var(--text-main);line-height:1.35}.costs-inputs-note{margin:0;padding:0 .95rem .8rem;font-size:var(--font-size-md);color:var(--text-secondary);line-height:1.5}.costs-inputs-table{width:100%;border-collapse:collapse;font-size:.84rem}.costs-inputs-table th,.costs-inputs-table td{padding:.65rem .75rem;border-bottom:1px solid var(--border-light);vertical-align:top}.costs-inputs-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--background-alt, #f5f7fa)}.costs-inputs-table td:first-child{width:42%;font-weight:600;color:var(--text-secondary)}.costs-inputs-table td:last-child{color:var(--text-main)}.costs-inputs-table--detailed td:nth-child(1){width:38%;color:var(--text-main);font-weight:500}.costs-inputs-table--detailed td:nth-child(2){width:18%;color:var(--text-secondary);font-weight:600}.costs-inputs-table--detailed td:nth-child(3),.costs-inputs-table--detailed td:nth-child(4){width:22%;text-align:right;font-variant-numeric:tabular-nums}.costs-inputs-table__summary td{background:var(--background-alt, #f5f7fa);font-weight:700}@media(max-width:900px){.tab-panel{flex-direction:column}}.chart-legend{display:flex;align-items:flex-start;gap:.45rem var(--spacing-md);justify-content:center;margin-top:var(--spacing-sm);flex-wrap:wrap}.chart-legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);line-height:1.4;color:var(--text-secondary)}.chart-legend-swatch{width:12px;height:12px;border-radius:3px}.results-actions{margin-top:var(--spacing-xl);display:flex;justify-content:center}.results-tab-panels:has(.tab-panel[data-panel=overview].active)+.results-actions{width:70%;margin-left:0;margin-right:auto}.btn-close-results{background-color:var(--brand-teal);color:#fff;padding:.6rem 2rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s}.btn-close-results:hover{background-color:var(--brand-teal-dark)}.sim-data-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.sim-data-overlay[hidden]{display:none}.sim-data-panel{background:#fff;border-radius:10px;padding:var(--spacing-xl);width:90%;max-width:960px;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #0000002e}.sim-data-panel--wide{max-width:1180px}.sim-data-panel--investment{max-width:560px}.sim-data-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);border-bottom:2px solid var(--action-blue);padding-bottom:var(--spacing-md)}.sim-data-header h2{font-size:var(--font-size-xl);font-weight:600;color:var(--text-main);line-height:1.35}.sim-data-subtitle{font-size:var(--font-size-md);margin-top:.2rem;line-height:1.5}.sim-data-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.sim-data-columns--single{grid-template-columns:1fr}.sim-data-col h3{font-size:var(--font-size-lg);font-weight:600;color:var(--text-main);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light);line-height:1.35}[data-role=investment-content]{display:flex;flex-direction:column;align-items:center;gap:.75rem}[data-role=investment-content] .investment-table{max-width:420px;margin-bottom:0}[data-role=investment-content] .investment-table__note{max-width:420px;margin-top:0}.sim-data-field{margin-bottom:var(--spacing-sm)}.sim-data-field-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase}.sim-data-field-value{font-size:var(--font-size-md);color:var(--text-main);margin-top:.1rem;font-weight:600;line-height:1.45}.sim-data-field-value a{color:var(--action-blue);text-decoration:underline}.sim-data-actions{margin-top:var(--spacing-lg);display:flex;justify-content:flex-end}@media(max-width:768px){.sim-data-columns{grid-template-columns:1fr}}.overview-panel{width:100%;min-width:0}.overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-md);align-items:start;width:70%;margin:0 auto 0 0}@media(max-width:1280px){.results-tab-panels:has(.tab-panel[data-panel=overview].active)+.results-actions{width:100%}.overview-grid{width:100%}}@media(max-width:960px){.overview-grid{grid-template-columns:1fr}}.overview-col{border:1px solid var(--border-light);border-radius:8px;background:#fff;overflow:hidden}.overview-col__header{display:flex;align-items:center;gap:.4rem;padding:.55rem .75rem;background:var(--background-alt, #f5f7fa);border-bottom:2px solid var(--border-light)}.overview-col__icon{font-size:.9rem;line-height:1}.overview-col__title{margin:0;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--dark-blue)}.overview-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.4rem .75rem;border-bottom:1px solid var(--border-light);font-size:.8rem}.overview-row:last-child{border-bottom:none}.overview-row:nth-child(2n){background:#00000004}.overview-row__label{color:var(--text-secondary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.efficiency-label-with-info{display:inline-flex;align-items:center;gap:.35rem}.efficiency-info-icon{display:inline-flex;align-items:center;justify-content:center;width:.95rem;height:.95rem;border:1px solid currentColor;border-radius:50%;font-size:.65rem;font-weight:700;line-height:1;text-transform:none;cursor:help;opacity:.75}.efficiency-info-icon:hover,.efficiency-info-icon:focus{opacity:1;outline:none}.efficiency-limit-cell{display:inline-flex;flex-direction:column;align-items:center;gap:.15rem}.efficiency-limit-cell__warning{color:#c0392b;font-size:.68rem;font-weight:700;white-space:nowrap}.overview-row__value{color:var(--text-main);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;flex-shrink:0}.overview-highlight{font-weight:700}.overview-highlight--positive{color:#3d7a00}.overview-highlight--negative{color:var(--danger, #c0392b)}.overview-highlight--neutral{color:var(--text-secondary)}.overview-badge{display:inline-block;padding:.12rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.overview-badge--ok{background:#abe8282e;color:#3d7a00}.overview-badge--err{background:#c0392b1f;color:#c0392b}.overview-badge--neutral{background:var(--background-alt, #f5f7fa);color:var(--text-secondary)}.overview-col__msg{padding:.75rem;color:var(--text-secondary);font-size:.8rem;text-align:center}.overview-state-msg{padding:var(--spacing-lg);color:var(--text-secondary);font-size:.88rem;text-align:center}.tab-panel--full{flex-direction:column;min-width:0}.efficiency-panel,.predictions-panel{width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}.efficiency-state-msg{padding:var(--spacing-lg);color:var(--text-secondary);font-size:.9rem}.efficiency-state-error{color:var(--danger, #c0392b)}.efficiency-section{min-width:0;border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md);background:#fff}.efficiency-section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-main);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-light);line-height:1.35}.efficiency-params-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--spacing-sm)}.efficiency-param{display:flex;flex-direction:column;gap:2px}.efficiency-param-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.efficiency-param-value{font-size:var(--font-size-md);color:var(--text-main);font-weight:600;line-height:1.45}.efficiency-summary-table-wrap{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.efficiency-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.efficiency-summary-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.65rem .8rem;border-bottom:1px solid var(--border-light)}.efficiency-summary-item__label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.efficiency-summary-item__value{text-align:right;color:var(--text-main);font-size:var(--font-size-md);font-weight:600;font-variant-numeric:tabular-nums}.efficiency-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-md);min-width:0}.efficiency-chart-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.efficiency-chart-card{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:0}.efficiency-chart-copy h4{font-size:.82rem;font-weight:700;color:var(--text-main);margin:0}.efficiency-chart-copy p{margin:.2rem 0 0;font-size:.76rem;color:var(--text-secondary)}.efficiency-chart-container{min-height:220px}.efficiency-chart-legend{justify-content:flex-start;margin-top:0}.efficiency-chart-empty{margin:0;padding:var(--spacing-lg);color:var(--text-secondary);font-size:.85rem}.efficiency-adequacy-panel{border:1px solid var(--border-light);border-radius:var(--radius-sm, 6px);background:var(--background-alt, #f5f7fa);padding:.7rem .8rem}.efficiency-adequacy-panel h5{margin:0 0 .45rem;font-size:.78rem;font-weight:700;color:var(--text-main)}.efficiency-adequacy-panel p{margin:0;font-size:.76rem;color:var(--text-secondary)}.efficiency-adequacy-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .75rem;align-items:center;font-size:.76rem}.efficiency-adequacy-grid>span{color:var(--text-secondary)}.efficiency-adequacy-grid strong{color:var(--text-main);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.efficiency-adequacy-note{margin-top:.55rem!important}.efficiency-table-wrap{max-width:100%;overflow-x:auto}.efficiency-table{width:100%;min-width:max-content;border-collapse:collapse;font-size:.83rem}.efficiency-table thead th{background:var(--background-alt, #f5f7fa);color:var(--text-secondary);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.55rem .85rem;text-align:center;border-bottom:2px solid var(--border-light);white-space:nowrap}.efficiency-table tbody tr:nth-child(2n){background:var(--background-alt, #f5f7fa)}.efficiency-table tbody tr:hover{background:#00639a0d}.efficiency-table td{padding:.5rem .85rem;border-bottom:1px solid var(--border-light);color:var(--text-main);white-space:nowrap;text-align:center}.efficiency-td-num{text-align:center;font-variant-numeric:tabular-nums}.efficiency-td-center{text-align:center}.efficiency-td-highlight{font-weight:700;color:var(--brand-teal, #00639a)}.efficiency-no-data{text-align:center;color:var(--text-secondary);padding:var(--spacing-lg)!important;font-style:italic}.efficiency-table-note{margin:.75rem 0 0;color:var(--text-secondary);font-size:var(--font-size-md);line-height:1.5}.efficiency-subsection-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-main);margin:var(--spacing-md) 0 var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px dashed var(--border-light);line-height:1.35}.efficiency-th-text,.efficiency-th-center{text-align:center!important}.efficiency-collapsible{border:1px solid var(--border-light, #e2e8f0);border-radius:6px;padding:0}.efficiency-collapsible__toggle{cursor:pointer;list-style:none;padding:.7rem 1rem;-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:.4rem}.efficiency-collapsible__toggle:before{content:"▸";display:inline-block;transition:transform .15s ease;font-size:.8em}.efficiency-collapsible[open]>.efficiency-collapsible__toggle:before{transform:rotate(90deg)}.efficiency-collapsible__toggle::-webkit-details-marker{display:none}.efficiency-collapsible>.efficiency-table-wrap{padding:0 1rem .8rem}.efficiency-badge{display:inline-block;padding:.15rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.efficiency-badge--ok{background:#abe8282e;color:#3d7a00}.efficiency-badge--err{background:#c0392b1f;color:#c0392b}.efficiency-badge--neutral{background:var(--background-alt, #f5f7fa);color:var(--text-secondary)}.efficiency-infeasibility-notice{margin:1rem 0;padding:1rem 1.2rem;border-left:4px solid #c0392b;background:#c0392b0f;border-radius:0 6px 6px 0}.efficiency-infeasibility-msg{margin:0 0 .8rem;font-size:.88rem;color:#7a1a10;line-height:1.5}.efficiency-infeasibility-notice .efficiency-table-wrap{margin-top:.6rem}.infeasibility-tab-notice{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--text-secondary)}.infeasibility-tab-notice__icon{font-size:2.5rem;margin-bottom:.8rem;opacity:.7}.infeasibility-tab-notice h3{margin:0 0 .6rem;font-size:1.1rem;color:#c0392b;font-weight:600}.infeasibility-tab-notice p{margin:0;max-width:540px;font-size:.9rem;line-height:1.6}.predictions-card__header{margin-bottom:var(--spacing-md)}.predictions-card__title{margin-bottom:0}.predictions-overview__copy{margin:0 0 var(--spacing-md);color:var(--text-secondary);font-size:.83rem}.predictions-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.predictions-overview__chart{min-height:280px;margin-bottom:var(--spacing-sm)}.predictions-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.predictions-metric{display:flex;flex-direction:column;gap:.2rem;padding:.75rem .85rem;border-radius:8px;background:var(--background-alt, #f5f7fa)}.predictions-metric__label{font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em}.predictions-metric__value{font-size:.9rem;font-weight:600;color:var(--text-main);font-variant-numeric:tabular-nums}.predictions-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.predictions-card-section{min-width:0}.predictions-card-section__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.predictions-card-section__header h4{margin:0;font-size:.82rem;font-weight:700;color:var(--text-main)}.predictions-card-section__unit{font-size:.74rem;color:var(--text-secondary);font-weight:600}.predictions-table-wrap{overflow-x:auto}.predictions-chart-container{min-height:240px;margin-bottom:var(--spacing-sm)}.predictions-chart-legend{justify-content:flex-start;margin-top:0;margin-bottom:var(--spacing-sm)}.predictions-trip-section{margin-top:var(--spacing-md);border:1px solid var(--border-light);border-radius:8px;background:var(--background, #fff);padding:.75rem .85rem}.predictions-trip-summary{cursor:pointer;font-size:.82rem;font-weight:700;color:var(--text-main)}.predictions-trip-content{margin-top:var(--spacing-sm)}.predictions-trip-chart{min-height:260px}.predictions-trip-empty{margin-bottom:var(--spacing-sm)}.predictions-table{width:100%;min-width:420px;border-collapse:collapse;font-size:.82rem}.predictions-table thead th{background:var(--background-alt, #f5f7fa);color:var(--text-secondary);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.55rem .8rem;border-bottom:2px solid var(--border-light);text-align:right;white-space:nowrap}.predictions-table thead th:first-child,.predictions-table tbody th{text-align:left}.predictions-table tbody tr:nth-child(2n){background:var(--background-alt, #f5f7fa)}.predictions-table tbody th,.predictions-table tbody td{padding:.55rem .8rem;border-bottom:1px solid var(--border-light);white-space:nowrap}.predictions-table tbody th{color:var(--text-main);font-weight:600}.predictions-table tbody td{text-align:right;color:var(--text-main);font-weight:600;font-variant-numeric:tabular-nums}.predictions-note{margin:0;padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(0,99,154,.16);background:#00639a0d;color:var(--text-secondary);font-size:.82rem}@media(max-width:1200px){.efficiency-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.efficiency-summary-grid,.efficiency-chart-grid,.predictions-card-grid,.predictions-overview-grid{grid-template-columns:1fr}}.env-page{display:flex;flex-direction:column;gap:var(--spacing-lg);width:100%}.env-page__header{padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--border-light)}.env-page__title{font-size:var(--font-size-xl);font-weight:600;color:var(--text-main);margin:0 0 .2rem;line-height:1.35}.env-page__subtitle{margin:0;font-size:var(--font-size-md);line-height:1.5}.env-page__subtitle a{color:inherit;text-decoration:underline;text-underline-offset:.12em}.env-mission-bar{display:flex;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-lg);padding:.7rem 1rem;border-radius:8px;background:var(--background-alt, #f5f7fa);border:1px solid var(--border-light)}.env-mission-item{display:flex;align-items:baseline;gap:.35rem;font-size:.82rem}.env-mission-item__label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.env-mission-item__value{color:var(--text-main);font-size:var(--font-size-md);font-weight:600;font-variant-numeric:tabular-nums}.env-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}@media(max-width:900px){.env-kpi-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.env-kpi-row{grid-template-columns:1fr}}.env-kpi-card{border:1px solid var(--border-light);border-radius:10px;padding:.85rem 1rem;background:#fff;display:flex;flex-direction:column;gap:.35rem;position:relative;transition:box-shadow .15s}.env-kpi-card:hover{box-shadow:0 2px 8px #0000000f}.env-kpi-card--positive{border-left:4px solid #27ae60}.env-kpi-card--negative{border-left:4px solid #e74c3c}.env-kpi-card--neutral{border-left:4px solid #95a5a6}.env-kpi-card__title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0}.env-kpi-card__unit-inline{text-transform:none}.env-kpi-card__values{display:grid;grid-template-columns:1fr 1fr;gap:.2rem .6rem}.env-kpi-card__val-label{font-size:.68rem;color:var(--text-secondary);font-weight:600}.env-kpi-card__val-num{font-size:.88rem;font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums}.env-kpi-card__delta{display:flex;align-items:center;gap:.4rem;margin-top:.15rem}.env-kpi-card__badge{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem .55rem;border-radius:999px;font-size:.74rem;font-weight:700}.env-kpi-card__badge--positive{background:#27ae601a;color:#1e8449}.env-kpi-card__badge--negative{background:#e74c3c1a;color:#c0392b}.env-kpi-card__badge--neutral{background:#95a5a61f;color:#666}.env-kpi-card__abs-diff{font-size:.74rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.env-kpi-card__unit{font-size:.7rem;color:var(--text-secondary);font-weight:500;margin-top:-.1rem}.env-section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-main);margin:0 0 .15rem;line-height:1.35}.env-section-subtitle{font-size:var(--font-size-md);color:var(--text-secondary);margin:0 0 var(--spacing-sm);line-height:1.5}.env-table-section{padding:var(--spacing-md)}.env-page>.chart-section,.env-page>.env-chart-section{flex:none;overflow:visible}.env-chart-section{padding:var(--spacing-md)}.env-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-lg);align-items:start}.env-chart-grid>.env-chart-section{height:100%}.env-chart-section--prominent{background:linear-gradient(180deg,#27ae6008,#27ae6000),#fff}@media(max-width:820px){.env-chart-grid{grid-template-columns:1fr}}.env-methodology-note{padding:.85rem 1.1rem;border-radius:8px;border:1px solid rgba(0,99,154,.12);background:#00639a08}.env-methodology-note p{margin:0;font-size:.78rem;color:var(--text-secondary);line-height:1.55}.emissions-state-msg{margin:0;padding:var(--spacing-lg);color:var(--text-secondary);font-size:.88rem}.emissions-state-msg--error{color:var(--danger, #c0392b)}.emissions-recap-table{width:100%;border-collapse:collapse;font-size:.84rem}.emissions-recap-table thead th{padding:.6rem .75rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);border-bottom:2px solid var(--border-light);text-align:left;background:var(--background-alt, #f5f7fa)}.emissions-recap-table thead th:not(:first-child){text-align:right}.emissions-recap-table tbody td{padding:.55rem .75rem;border-bottom:1px solid var(--border-light);color:var(--text-main)}.emissions-recap-table tbody td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.emissions-recap-table tbody td:first-child{font-weight:600;white-space:nowrap}.emissions-recap-table tbody tr:nth-child(2n){background:var(--background-alt, #f5f7fa)}.emissions-recap-table tbody tr:hover{background:#00639a0d}.emissions-recap-table .emissions-recap-reduction{font-weight:700}.emissions-recap-reduction--positive{color:#3d7a00}.emissions-recap-reduction--negative{color:var(--danger, #c0392b)}.emissions-recap-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.emissions-recap-table--env thead th:not(:first-child){text-align:center}.emissions-recap-table--env .env-header-main th{border-bottom:1px solid var(--border-light);vertical-align:middle}.emissions-recap-table--env .env-header-main th[rowspan]{border-bottom:2px solid var(--border-light)}.emissions-recap-table--env .env-header-sub th{padding-top:.3rem;padding-bottom:.4rem;font-size:.66rem;font-weight:600;text-transform:none;letter-spacing:.02em;color:var(--text-secondary, #888);border-bottom:2px solid var(--border-light);text-align:center}.emissions-recap-table--env tbody td:not(:first-child){text-align:center}.emissions-recap-table--env .env-cell-unit{font-size:.66rem;font-weight:400;color:var(--text-secondary, #888);margin-left:.2em;text-transform:none}.emissions-recap-table--env .env-row--green{border-left:3px solid #27ae60}.emissions-recap-table--env .env-row--green td:first-child{color:#1e7e46}.emissions-recap-table--env .env-row--amber{border-left:3px solid #e67e22}.emissions-recap-table--env .env-row--amber td:first-child{color:#b95d0a}.emissions-recap-table--env .env-row--neutral{border-left:3px solid #5b8def}.emissions-recap-table--env .env-row--neutral td:first-child{color:#4271c9}.emissions-recap-table--env .env-row--muted{border-left:3px solid #bdc3c7}.emissions-recap-table--env .env-row--muted td{color:var(--text-secondary, #777)}.emissions-recap-table--env .env-row--muted td:first-child{font-weight:500}.emissions-recap-table--env tbody tr.env-row:nth-child(2n){background:transparent}.emissions-recap-table--env tbody tr.env-row:hover{background:#00639a0a}.emissions-kpi-section{grid-column:1 / -1}.emissions-kpi-grid{display:flex;flex-wrap:wrap;gap:10px}.emissions-kpi-card{flex:1 1 140px;min-width:130px;border:1px solid var(--border-light);border-radius:8px;padding:.65rem .85rem;background:var(--background-alt, #f5f7fa);display:flex;flex-direction:column;gap:2px}.emissions-kpi-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.emissions-kpi-value{font-size:.92rem;font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums}.emissions-kpi-sub{font-size:.74rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.emissions-kpi-reduction{font-size:.76rem;font-weight:700}.emissions-kpi-reduction--positive{color:#3d7a00}.emissions-kpi-reduction--negative{color:var(--danger, #c0392b)}.comparison-main{padding:var(--spacing-lg);overflow-y:auto;overflow-x:hidden;position:relative}.comparison-header-labels{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);min-width:0}.comparison-label{flex:1;padding:.5rem .8rem;border-radius:6px;font-size:var(--font-size-md);font-weight:600;text-align:center;line-height:1.45}.sim-a-label{background:#6fbeec26;color:#1a6fa0;border:1px solid rgba(111,190,236,.4)}.sim-b-label{background:#abe82826;color:#4a7a0a;border:1px solid rgba(171,232,40,.4)}.simulation-comparison-page .results-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-light);margin-bottom:var(--spacing-lg)}.simulation-comparison-page .results-tab{padding:.65rem 1.5rem;font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.simulation-comparison-page .results-tab:hover{color:var(--text-main)}.simulation-comparison-page .results-tab.active{color:var(--dark-blue);border-bottom-color:var(--dark-blue);font-weight:600}.simulation-comparison-page .results-tab-panels{min-height:300px;min-width:0}.simulation-comparison-page .tab-panel{display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}.simulation-comparison-page .tab-panel[hidden]{display:none}.comparison-row{display:flex;gap:var(--spacing-md);min-width:0}.comparison-row .chart-section{flex:1 1 0;min-width:0;overflow:hidden;border:1px solid var(--border-light);border-radius:8px;padding:var(--spacing-md);background:#fff}.comparison-row .chart-section h3{font-size:var(--font-size-lg);font-weight:600;color:var(--text-main);margin-bottom:var(--spacing-sm);line-height:1.35}.comparison-row .chart-container{width:100%;max-width:100%;min-height:160px;overflow:hidden}.comparison-row .chart-container svg{width:100%;height:auto;display:block}.comparison-row .chart-legend{display:flex;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-xs);flex-wrap:wrap}.comparison-row .chart-legend-item{display:flex;align-items:center;gap:4px;font-size:.7rem;color:var(--text-secondary)}.comparison-row .chart-legend-swatch{width:10px;height:10px;border-radius:2px}.simulation-comparison-page .costs-state-msg{margin:0;padding:var(--spacing-lg);color:var(--text-secondary);font-size:.88rem}.simulation-comparison-page .costs-state-msg--error{color:var(--danger, #c0392b)}.simulation-comparison-page .results-actions{margin-top:var(--spacing-xl);display:flex;justify-content:center}.simulation-comparison-page .btn-close-results{background-color:var(--brand-teal);color:#fff;padding:.6rem 2rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s}.simulation-comparison-page .btn-close-results:hover{background-color:var(--brand-teal-dark)}.simulation-comparison-page .efficiency-params-grid{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin-bottom:.8rem}.simulation-comparison-page .efficiency-param{display:flex;gap:.4rem;align-items:baseline;font-size:.82rem}.simulation-comparison-page .efficiency-param-label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.simulation-comparison-page .efficiency-param-value{font-size:var(--font-size-md);font-weight:600;color:var(--text-main);line-height:1.45}.simulation-comparison-page .efficiency-badge{display:inline-block;padding:.15rem .6rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.simulation-comparison-page .efficiency-badge--ok{background:#abe8282e;color:#3d7a00}.simulation-comparison-page .efficiency-badge--err{background:#c0392b1f;color:#c0392b}.simulation-comparison-page .efficiency-badge--neutral{background:var(--background-alt, #f5f7fa);color:var(--text-secondary)}.simulation-comparison-page .efficiency-infeasibility-notice{margin:.8rem 0;padding:.8rem 1rem;border-left:4px solid #c0392b;background:#c0392b0f;border-radius:0 6px 6px 0}.simulation-comparison-page .efficiency-infeasibility-msg{margin:0;font-size:.82rem;color:#7a1a10;line-height:1.5}.simulation-comparison-page .efficiency-table-wrap{overflow-x:auto}.simulation-comparison-page .efficiency-table{width:100%;border-collapse:collapse;font-size:.82rem}.simulation-comparison-page .efficiency-table th,.simulation-comparison-page .efficiency-table td{padding:.4rem .6rem;border-bottom:1px solid var(--border-color, #e5e5e5);text-align:left}.simulation-comparison-page .efficiency-table th{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary)}.simulation-comparison-page .efficiency-td-num{text-align:right;font-variant-numeric:tabular-nums}.simulation-comparison-page .infeasibility-tab-notice{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1.5rem;text-align:center;color:var(--text-secondary)}.simulation-comparison-page .infeasibility-tab-notice__icon{font-size:2rem;margin-bottom:.6rem;opacity:.7}.simulation-comparison-page .infeasibility-tab-notice h3{margin:0 0 .4rem;font-size:1rem;color:#c0392b;font-weight:600}.simulation-comparison-page .infeasibility-tab-notice p{margin:0;max-width:440px;font-size:.85rem;line-height:1.5}@media(max-width:900px){.comparison-row,.comparison-header-labels{flex-direction:column}}.create-yearly-analysis main{max-width:720px;overflow-y:auto}.create-yearly-analysis form{max-width:clamp(22rem,60vw,42rem);gap:var(--spacing-md)}.create-yearly-analysis .required-mark{color:var(--brand-teal)}.create-yearly-analysis [hidden]{display:none!important}.create-yearly-analysis label{font-size:.82rem;font-weight:600}.create-yearly-analysis select,.create-yearly-analysis input[type=text]{padding:.4rem .55rem;font-size:.85rem;width:100%}.create-yearly-analysis .form-group{gap:.2rem}.ya-create-description{font-size:var(--font-size-md);margin:0 0 var(--spacing-sm);line-height:1.5}.ya-scenarios-note{font-size:var(--font-size-md);color:var(--text-secondary);margin:0 0 .45rem;line-height:1.5}.create-yearly-analysis .ya-base-section,.create-yearly-analysis .ya-scenarios-section{border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.5rem .75rem .65rem;margin:0}.create-yearly-analysis .ya-base-section legend,.create-yearly-analysis .ya-scenarios-section legend{color:var(--text-main);font-weight:600;font-size:var(--font-size-lg);line-height:1.35;padding:0 .3rem}.ya-config-summary{margin-top:.5rem;padding:.55rem .65rem;background:var(--bg-subtle);border-radius:5px;font-size:var(--font-size-md);display:flex;flex-wrap:wrap;gap:.3rem 1.1rem}.ya-config-param{display:flex;gap:.3rem}.ya-config-param-label{font-size:var(--font-size-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.ya-config-param-label:after{content:":"}.ya-config-param-value{font-size:var(--font-size-md);font-weight:600;color:var(--text-main);font-variant-numeric:tabular-nums}.ya-config-param-value.ya-highlight{color:var(--brand-teal);font-weight:700}.create-yearly-analysis .ya-scenarios-table-wrapper{overflow-x:auto;border:1px solid var(--border-light);border-radius:var(--radius-sm)}.create-yearly-analysis .ya-scenarios-table{width:100%;font-size:.82rem;border-collapse:collapse}.create-yearly-analysis .ya-scenarios-table th:first-child,.create-yearly-analysis .ya-scenarios-table td:first-child{width:4rem}.create-yearly-analysis .ya-scenarios-table th{background-color:var(--bg-subtle);font-size:.75rem;font-weight:600;padding:.4rem .5rem;text-align:center;white-space:nowrap}.create-yearly-analysis .ya-scenarios-table td{padding:.38rem .5rem;vertical-align:middle;border-top:1px solid var(--border-light);text-align:center}.create-yearly-analysis .ya-scenarios-table tbody tr:hover{background-color:var(--bg-hover)}.create-yearly-analysis .ya-scenarios-table tfoot td{border-top:2px solid var(--border-medium);font-weight:600;padding:.45rem .5rem}.create-yearly-analysis .ya-scenarios-color-cell{padding-inline:.25rem}.create-yearly-analysis .ya-scenarios-swatch{display:inline-block;width:1.1rem;height:1.1rem;border-radius:9999px;box-shadow:inset 0 0 0 1px #ffffff8c,0 0 0 1px #0f172a14}.create-yearly-analysis .ya-scenarios-table .ya-scenarios-number{font-variant-numeric:tabular-nums}.ya-total-label{text-align:center}.ya-total-value{text-align:center;font-variant-numeric:tabular-nums;min-width:5.5rem}.ya-total-value.ya-total-warn{color:var(--error-color)}.ya-scenarios-placeholder{text-align:center;color:var(--text-secondary);font-size:var(--font-size-md);font-style:italic;line-height:1.5;padding:1rem .5rem}.ya-occurrences-warning{font-size:.8rem;color:var(--error-color);margin:.35rem 0 0;font-weight:500}#ya-occupancy{width:25%;min-width:6rem}.ya-occupancy-note{font-size:var(--font-size-md);color:var(--text-secondary);margin:.25rem 0 0;line-height:1.5}.ya-occupancy-note strong{font-weight:600;color:var(--text-primary)}@media(max-width:480px){.ya-config-summary{flex-direction:column}}.ya-runs-main{padding:var(--spacing-sm);overflow-y:auto}.ya-runs-actions{margin-bottom:var(--spacing-sm)}.ya-runs-search{width:100%}.ya-runs-table-wrap{overflow-x:auto}.ya-runs-table{width:100%;font-size:.82rem}.ya-runs-table th{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.45rem .55rem;text-align:left;white-space:nowrap}.ya-runs-table td{padding:.4rem .55rem;vertical-align:middle}.ya-runs-table th.checkbox,.ya-runs-table td.checkbox{width:2.5rem;text-align:center}.ya-runs-table .ya-status-badge{display:inline-block;padding:.15rem .55rem;border-radius:9999px;font-size:.72rem;font-weight:600;text-transform:capitalize}.ya-status-badge.completed{background:#d4edda;color:#155724}.ya-status-badge.partial{background:#fff3cd;color:#856404}.ya-status-badge.failed{background:#f8d7da;color:#721c24}.ya-runs-table .ya-results-link{font-size:.82rem}.ya-actions-cell{display:flex;align-items:center;gap:.5rem}.ya-loading{padding:var(--spacing-sm)}.yearly-analysis-runs [hidden],.yearly-analysis-results [hidden]{display:none!important}.ya-results-main{padding:var(--spacing-sm);overflow-y:auto}.ya-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-light);margin-bottom:var(--spacing-lg)}.ya-tab{padding:.6rem 1.3rem;font-size:.88rem;font-weight:500;color:var(--text-secondary);cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.ya-tab:hover{color:var(--text-main)}.ya-tab.active{color:var(--brand-teal);border-bottom-color:var(--brand-teal);font-weight:600}.ya-tab-panels{min-height:300px}.ya-tab-panel{display:flex;flex-direction:column;gap:var(--spacing-md)}.ya-tab-panel[hidden]{display:none}.ya-results-actions{margin-top:var(--spacing-xl);display:flex;justify-content:center}.ya-btn-close{background-color:var(--brand-teal);color:#fff;padding:.6rem 2rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .15s}.ya-btn-close:hover{background-color:var(--brand-teal-dark)}.ya-res-config{margin-bottom:var(--spacing-lg)}.ya-res-config-title{color:var(--text-main);font-size:var(--font-size-lg);font-weight:600;line-height:1.35;margin:0 0 .4rem}.ya-res-params{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:var(--font-size-md);padding:.5rem .65rem;background:var(--bg-subtle);border-radius:5px}.ya-res-param{display:flex;gap:.3rem}.ya-res-param-label{font-size:var(--font-size-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.ya-res-param-label:after{content:":"}.ya-res-param span:last-child{color:var(--text-main);font-weight:600;font-variant-numeric:tabular-nums}.ya-res-section{border:1px solid var(--border-light);border-radius:6px;padding:.65rem .85rem;margin-bottom:var(--spacing-md)}.ya-res-section-title{color:var(--text-main);font-size:var(--font-size-lg);font-weight:600;line-height:1.35;margin:0 0 .5rem}.ya-res-section-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem}.ya-res-section-header .ya-res-section-title{margin:0}.ya-chart-unit-toggle{display:inline-flex;flex-shrink:0;gap:2px;padding:2px;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-subtle)}.ya-chart-unit-button{border:0;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:.72rem;font-weight:700;line-height:1.2;padding:.28rem .5rem;white-space:nowrap}.ya-chart-unit-button:hover{color:var(--text-main)}.ya-chart-unit-button.active{background:#fff;color:var(--brand-teal);box-shadow:0 1px 2px #0f3c3c24}@media(max-width:560px){.ya-res-section-header{align-items:flex-start;flex-wrap:wrap}.ya-chart-unit-toggle{margin-left:auto}}.ya-res-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ya-res-table{width:100%;border-collapse:collapse;font-size:.8rem}.ya-res-table th{padding:.45rem .55rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg-subtle);text-align:right;white-space:nowrap}.ya-res-table th:first-child{text-align:left}.ya-res-table td{padding:.4rem .55rem;border-bottom:1px solid var(--border-light);color:var(--text-main);text-align:right;font-variant-numeric:tabular-nums}.ya-res-table td:first-child{text-align:left;font-weight:600}.ya-res-table tbody tr:nth-child(2n){background:var(--bg-subtle)}.ya-res-table tbody tr:hover{background:#0f3c3c0a}.ya-scenario-error{color:var(--error-color);font-weight:600;text-align:left!important}.ya-badge{display:inline-block;padding:.15rem .55rem;border-radius:9999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.ya-badge--ok{background:#e8f5e9;color:#2e7d32}.ya-badge--err{background:#ffebee;color:#c62828}.ya-badge--neutral{background:#eceff1;color:#546e7a}.ya-yearly-table{width:100%;border-collapse:collapse;font-size:.82rem}.ya-yearly-table th{padding:.45rem .65rem;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg-subtle);text-align:left}.ya-yearly-table td{padding:.45rem .65rem;border-bottom:1px solid var(--border-light)}.ya-yearly-table td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.ya-yearly-table tbody tr:nth-child(2n){background:var(--bg-subtle)}.ya-non-additive{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.84rem}.ya-non-additive-item{display:flex;gap:.35rem;align-items:center}.ya-non-additive-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase}.ya-non-additive-label:after{content:":"}.ya-highlight-value{color:var(--brand-teal);font-weight:700;font-size:1.05em}.ya-mono{font-family:monospace;font-size:.85em}.ya-sizing-note{font-size:var(--font-size-md);color:var(--text-secondary);margin:.4rem 0 0;font-style:italic;line-height:1.5}.ya-distance-note{font-size:var(--font-size-md);color:var(--text-secondary);margin:.6rem 0 0;font-style:italic;line-height:1.5}.ya-eff-charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media(max-width:1000px){.ya-eff-charts-grid{grid-template-columns:1fr}}.ya-eff-chart-section{background:#fff}.ya-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem;margin-bottom:.4rem}.ya-summary-card{padding:.6rem .8rem;border:1px solid var(--border-light);border-radius:8px;background:#fff}.ya-summary-card__label{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600;margin:0 0 .15rem}.ya-summary-card__value{font-size:var(--font-size-xl);font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums}.ya-summary-card__sub{font-size:var(--font-size-md);color:var(--text-secondary);margin-top:.1rem;line-height:1.45}.ya-summary-transition-note{margin-top:.35rem}.ya-yearly-uncertainty-summary{margin-top:var(--spacing-sm)}.ya-uncertainty-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;margin-top:.65rem}.ya-uncertainty-summary-item{padding:.6rem .75rem;border:1px solid var(--border-light);border-radius:8px;background:#fff}.ya-uncertainty-summary-item__label{display:block;font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.ya-uncertainty-summary-item__value{display:block;margin-top:.2rem;color:var(--text-main);font-size:var(--font-size-md);font-weight:600;font-variant-numeric:tabular-nums}.ya-uncertainty-summary-item__detail{display:block;margin-top:.15rem;color:var(--text-secondary);font-size:var(--font-size-md);line-height:1.45}.ya-uncertainty{font-size:.78rem;color:var(--text-secondary);white-space:nowrap}.ya-critical-panel{margin-top:var(--spacing-md)}.ya-critical-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;margin-top:.65rem}.ya-critical-item{padding:.65rem .75rem;border:1px solid var(--border-light);border-radius:8px;background:var(--bg-subtle)}.ya-critical-item__label,.ya-critical-item__detail{display:block;font-size:.72rem;color:var(--text-secondary)}.ya-critical-item__label{font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ya-critical-item__value{display:block;margin:.2rem 0;color:var(--text-main);font-size:.95rem;font-variant-numeric:tabular-nums}.ya-critical-empty{margin:.65rem 0 0;color:var(--text-secondary);font-size:.8rem}.ya-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-md);align-items:start}@media(max-width:960px){.ya-overview-grid{grid-template-columns:1fr}}.ya-overview-col{border:1px solid var(--border-light);border-radius:8px;background:#fff;overflow:hidden}.ya-overview-col__header{display:flex;align-items:center;gap:.4rem;padding:.55rem .75rem;background:var(--background-alt, #f5f7fa);border-bottom:2px solid var(--border-light)}.ya-overview-col__icon{font-size:.9rem;line-height:1}.ya-overview-col__title{margin:0;font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.ya-overview-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.4rem .75rem;border-bottom:1px solid var(--border-light);font-size:.8rem}.ya-overview-row:last-child{border-bottom:none}.ya-overview-row:nth-child(2n){background:#00000004}.ya-overview-row__label{color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ya-overview-row__value{color:var(--text-main);font-size:var(--font-size-md);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;flex-shrink:0;min-width:0;overflow:hidden;text-overflow:ellipsis}.ya-overview-link{color:var(--brand-teal);text-decoration:underline}.ya-overview-link:hover{color:var(--brand-teal-dark)}.ya-overview-highlight{font-weight:700}.ya-overview-highlight--positive{color:#3d7a00}.ya-overview-highlight--negative{color:var(--danger, #c0392b)}.ya-overview-highlight--neutral{color:var(--text-secondary)}.ya-overview-col__msg{padding:.75rem;color:var(--text-secondary);font-size:var(--font-size-md);text-align:center;line-height:1.5}.ya-overview-actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-md, 1rem);padding-top:var(--spacing-sm, .5rem)}.ya-btn--download{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1rem;border:1px solid var(--border, #ccc);border-radius:var(--radius-sm, 4px);background:var(--bg-surface, #fff);color:var(--text-primary, #333);font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}.ya-btn--download:hover{background:var(--bg-hover, #f4f6f8);border-color:var(--primary, #00639a);box-shadow:0 1px 3px #00000014}.ya-btn--download:active{background:var(--bg-active, #e8ecef)}.ya-btn--download svg{flex-shrink:0}.ya-overview-state-msg{padding:var(--spacing-lg);color:var(--text-secondary);font-size:.88rem;text-align:center}.ya-overview-badge{display:inline-block;padding:.12rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.ya-overview-badge--ok{background:#abe8282e;color:#3d7a00}.ya-overview-badge--err{background:#c0392b1f;color:#c0392b}.ya-overview-badge--neutral{background:var(--background-alt, #f5f7fa);color:var(--text-secondary)}.ya-costs-panel{display:grid!important;grid-template-columns:minmax(320px,38%) 1fr;gap:var(--spacing-md)}.ya-costs-panel>.ya-costs-opex-pair,.ya-costs-panel>[data-role=ya-costs-opex-tables],.ya-costs-panel>[data-role=ya-costs-scenario-table]{grid-column:1 / -1}.ya-costs-opex-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}@media(max-width:980px){.ya-costs-opex-pair{grid-template-columns:1fr}}.ya-costs-table .ya-opex-summary td{border-top:2px solid var(--border-light);font-weight:700}.ya-info-icon{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#00639a1f;color:var(--primary, #00639a);font-size:.62rem;font-weight:700;font-style:italic;cursor:help;position:relative;vertical-align:middle;margin-left:4px}.ya-costs-opex-pair .ya-costs-table-wrap{overflow:visible}.ya-info-icon .ya-info-tooltip{display:none;position:absolute;bottom:calc(100% + 6px);right:-8px;width:260px;padding:8px 10px;background:var(--bg-card, #fff);border:1px solid var(--border-light);border-radius:6px;box-shadow:0 4px 12px #0000001f;font-size:.72rem;font-weight:400;font-style:normal;color:var(--text-secondary);line-height:1.45;white-space:normal;z-index:100}.ya-info-icon:hover .ya-info-tooltip,.ya-info-icon:focus .ya-info-tooltip{display:block}@media(max-width:980px){.ya-costs-panel{grid-template-columns:1fr}}.ya-costs-stack{display:grid;gap:var(--spacing-md);min-width:0}.ya-cost-variables{padding:.65rem;background:linear-gradient(180deg,#6fbeec14,#6fbeec00),#fff}.ya-cost-variables__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.32rem .42rem}.ya-cost-variables__field{display:grid;gap:.14rem;font-size:.78rem}.ya-cost-variables__field-top{display:flex;align-items:center;justify-content:space-between}.ya-cost-variables__value{min-width:4.1rem;padding:.14rem .38rem;border-radius:999px;font-size:.72rem;font-weight:700;text-align:right;background:#6fbeec1f;color:var(--brand-teal-dark, #0f766e)}.ya-cost-variables__range{--slider-progress: 50%;appearance:none;width:100%;height:.56rem;border-radius:999px;outline:none;background:linear-gradient(90deg,var(--brand-teal) var(--slider-progress),#d7e1e8 var(--slider-progress),#d7e1e8 100%);cursor:pointer}.ya-cost-variables__range:focus{outline:none}.ya-cost-variables__range::-webkit-slider-thumb{appearance:none;width:.82rem;height:.82rem;border-radius:50%;background:var(--brand-teal);border:2px solid #fff;box-shadow:0 1px 3px #0000002e;cursor:pointer}.ya-cost-variables__range::-moz-range-thumb{width:.82rem;height:.82rem;border:2px solid #fff;border-radius:50%;background:var(--brand-teal);box-shadow:0 1px 3px #0000002e;cursor:pointer}.ya-cost-variables__range:disabled{opacity:.6;cursor:not-allowed}.ya-cost-variables__range-scale{display:flex;align-items:center;justify-content:space-between;font-size:.6rem;color:var(--text-secondary);padding:0 .15rem}.ya-cost-variables__actions{display:flex;justify-content:flex-end}.ya-cost-variables__reset{border:none;background:transparent;color:var(--brand-teal-dark, #0f766e);font-size:.68rem;cursor:pointer;padding:0 .15rem;text-decoration:underline;text-underline-offset:2px}.ya-cost-variables__reset:hover{opacity:.8}@media(max-width:980px){.ya-cost-variables__grid{grid-template-columns:1fr}}.ya-chart-container{min-height:72px}.ya-chart-container svg{display:block;width:100%;height:auto}.ya-chart-legend{display:flex;flex-wrap:wrap;gap:.45rem 1rem;padding:.35rem .2rem 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.ya-chart-legend-item{display:inline-flex;align-items:center;gap:.3rem;line-height:1.4}.ya-chart-legend-swatch{display:inline-block;width:10px;height:10px;border-radius:2px}.ya-costs-kpi-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--spacing-md)}.ya-costs-kpi-card{flex:1 1 auto;min-width:130px;border:1px solid var(--border-light);border-radius:6px;padding:.5rem .7rem;background:var(--background-alt, #f5f7fa)}.ya-costs-kpi-label{display:block;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary);line-height:1.2}.ya-costs-kpi-value{display:block;margin-top:.15rem;font-size:.82rem;font-weight:700;color:var(--text-main);white-space:nowrap}.ya-costs-kpi-value--positive{color:#3d7a00}.ya-costs-kpi-value--negative{color:var(--danger, #c0392b)}.ya-costs-table-wrap{overflow-x:auto}.ya-costs-table{width:100%;border-collapse:collapse;font-size:.84rem}.ya-costs-table thead th{padding:.55rem .75rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg-subtle, #f5f7fa);border-bottom:2px solid var(--border-light);text-align:left}.ya-costs-table thead th:not(:first-child){text-align:right}.ya-costs-table tbody td{padding:.5rem .75rem;border-bottom:1px solid var(--border-light);color:var(--text-main)}.ya-costs-table tbody td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.ya-costs-table tbody td:first-child{font-weight:600}.ya-costs-table tbody tr:nth-child(2n){background:var(--bg-subtle, #f5f7fa)}.ya-costs-table tbody tr:hover{background:#0f3c3c0a}.ya-costs-table .ya-costs-saving-row td{border-top:2px solid var(--border-light);font-weight:700}.ya-costs-note{font-size:.78rem;color:var(--text-secondary);margin:.4rem 0 0;font-style:italic}.ya-costs-detail{font-size:.72rem;font-weight:400;color:var(--text-secondary);margin-left:.25rem}.ya-costs-table--scenario thead th{font-size:.68rem}.ya-costs-scenario-total td{border-top:2px solid var(--border-light);font-weight:700;background:var(--bg-subtle, #f5f7fa)}.ya-env-kpi-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-md);align-items:stretch}@media(max-width:980px){.ya-env-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.ya-env-kpi-row{grid-template-columns:1fr}}.ya-env-kpi-card{border:1px solid var(--border-light);border-radius:10px;padding:.85rem 1rem;background:#fff;display:flex;align-items:stretch;min-height:0;transition:box-shadow .15s}.ya-env-kpi-card:hover{box-shadow:0 2px 8px #0000000f}.ya-env-kpi-card--positive{border-left:4px solid #27ae60}.ya-env-kpi-card--negative{border-left:4px solid #e74c3c}.ya-env-kpi-card--neutral{border-left:4px solid #95a5a6}.ya-env-kpi-card__line{display:flex;align-items:flex-start;gap:.4rem;flex-wrap:wrap;width:100%;min-width:0;white-space:normal}.ya-env-kpi-card__title{flex:1 1 100%;font-size:.94rem;font-weight:700;color:var(--text-main);margin:0;line-height:1.35;white-space:normal}.ya-env-kpi-card__values{display:inline-flex;align-items:center;gap:.45rem .8rem;width:100%;margin-left:0;min-width:0;flex-wrap:wrap}.ya-env-kpi-card__metric{display:inline-flex;align-items:baseline;gap:.18rem;min-width:0}.ya-env-kpi-card__val-label{font-size:.94rem;color:var(--text-main);font-weight:700;white-space:nowrap}.ya-env-kpi-card__val-num{font-size:.94rem;font-weight:700;color:var(--text-main);font-variant-numeric:tabular-nums;white-space:nowrap}.ya-env-kpi-card__delta{display:inline-flex;align-items:center;gap:.2rem;margin-left:auto;font-size:.94rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.ya-env-kpi-card__delta--positive{color:#1e8449}.ya-env-kpi-card__delta--negative{color:#c0392b}.ya-env-kpi-card__delta--neutral{color:#666}.ya-env-kpi-card__abs-diff{font-size:.74rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}@media(max-width:1180px){.ya-env-kpi-card__values{gap:.35rem .65rem}}.ya-env-table-wrap{overflow-x:auto}.ya-env-table{width:100%;border-collapse:collapse;font-size:.84rem}.ya-env-table thead th{padding:.58rem .75rem;font-size:.9rem;font-weight:700;text-transform:none;letter-spacing:0;color:var(--text-main);background:var(--bg-subtle, #f5f7fa);border-bottom:2px solid var(--border-light);text-align:left;vertical-align:middle}.ya-env-table thead th:not(:first-child){text-align:right}.ya-env-table thead th.ya-env-table__section-title{text-align:left;font-size:.92rem;color:var(--text-main);white-space:nowrap}.ya-env-table thead th.ya-env-table__section-title .ya-info-icon{margin-left:6px}.ya-env-table tbody td{padding:.5rem .75rem;border-bottom:1px solid var(--border-light);color:var(--text-main);line-height:1.4}.ya-env-table tbody td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.ya-env-table tbody td:first-child{font-weight:600;white-space:nowrap}.ya-env-table tbody tr:nth-child(2n){background:var(--bg-subtle, #f5f7fa)}.ya-env-table tbody tr:hover{background:#0f3c3c0a}.ya-env-reduction--positive{color:#3d7a00;font-weight:700}.ya-env-reduction--negative{color:var(--danger, #c0392b);font-weight:700}.ya-env-methodology-note{padding:.75rem 1rem;border-radius:8px;border:1px solid rgba(0,99,154,.12);background:#00639a08;margin-top:var(--spacing-md)}.ya-env-methodology-note p{margin:0;font-size:var(--font-size-md);color:var(--text-secondary);line-height:1.55}.ya-env-headline{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,520px);gap:var(--spacing-md);align-items:start;margin-bottom:var(--spacing-md)}.ya-env-panel .ya-env-header{margin-bottom:0}.ya-env-panel .ya-env-header h2{font-size:var(--font-size-xl);font-weight:600;line-height:1.35;margin:0;color:var(--text-main)}.ya-env-panel .ya-env-header p{font-size:var(--font-size-md);color:var(--text-secondary);line-height:1.5;margin:.3rem 0 0}.ya-env-panel .ya-env-header a{color:var(--link, #1a73e8);text-decoration:none}.ya-env-panel .ya-env-header a:hover{text-decoration:underline}.ya-env-controls{margin:0;padding:.7rem .9rem}.ya-env-controls .ya-cost-variables__grid{grid-template-columns:minmax(0,1fr);max-width:none}.ya-env-controls .ya-cost-variables__field{gap:.22rem;font-size:.84rem}.ya-env-controls .ya-cost-variables__field-top span{font-weight:600}.ya-env-controls .ya-cost-variables__range{height:.76rem}.ya-env-controls .ya-cost-variables__range::-webkit-slider-thumb{width:1.02rem;height:1.02rem}.ya-env-controls .ya-cost-variables__range::-moz-range-thumb{width:1.02rem;height:1.02rem}.ya-env-controls .ya-cost-variables__range-scale{font-size:.68rem}.ya-env-controls .ya-cost-variables__actions{justify-content:flex-start}@media(max-width:1080px){.ya-env-headline{grid-template-columns:1fr}}.ya-env-mission-bar{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;padding:.6rem .9rem;background:var(--bg-subtle, #f5f7fa);border-radius:8px;margin-bottom:var(--spacing-md)}.ya-env-mission-item{display:flex;flex-direction:column;gap:.1rem}.ya-env-mission-item__label{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600}.ya-env-mission-item__value{font-size:var(--font-size-md);font-weight:600;color:var(--text-main);font-variant-numeric:tabular-nums}.ya-env-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-md);align-items:stretch}@media(max-width:1100px){.ya-env-chart-grid{grid-template-columns:1fr}}.ya-env-chart-section{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-light);border-radius:10px;padding:1rem 1.1rem}.ya-env-chart-section--prominent{grid-column:span 1}.ya-env-chart-section .ya-res-section-title{display:flex;align-items:center;gap:4px;min-height:20px;line-height:1.2}.ya-chart-container{width:100%;overflow-x:auto}.ya-chart-container svg{width:100%;height:auto;display:block}.ya-chart-legend{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin-top:.5rem;padding:.1rem .2rem 0}.ya-chart-legend-item{display:flex;align-items:center;gap:.3rem;font-size:var(--font-size-sm);line-height:1.4;color:var(--text-secondary)}.ya-chart-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:3px}.ya-status-msg{padding:var(--spacing-lg);color:var(--text-secondary);font-size:.88rem;text-align:center}.ya-status-msg--error{color:var(--danger, #c0392b)}.about-page{min-height:100%;display:flex;flex-direction:column;background-color:var(--blue-gray)}.about-hero{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:3rem 2rem}.about-content{text-align:center;max-width:780px;width:100%}.about-logo{margin-bottom:1.25rem}.about-logo img{width:80px;height:auto;filter:invert(15%) sepia(50%) saturate(500%) hue-rotate(180deg)}.about-title{margin:0}.about-tagline{margin:var(--spacing-xs) 0 1.25rem 0}.about-description{font-size:var(--font-size-lg);line-height:1.7;margin:0 0 1.25rem}.about-project-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:500;color:var(--brand-teal);text-decoration:none;transition:color .2s ease;margin-bottom:2.5rem}.about-project-link:hover{color:var(--brand-teal-dark);text-decoration:underline}.about-section{margin-bottom:2rem}.about-section .section-title{font-size:1.15rem;margin:0 0 1.25rem;position:relative;display:inline-block}.about-section .section-title:after{content:"";position:absolute;left:25%;right:25%;bottom:-4px;height:2px;background-color:var(--brand-teal-light);border-radius:1px}.about-cards{display:flex;justify-content:center;gap:1.25rem;flex-wrap:wrap}.about-cards--single{justify-content:center}.about-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.25rem 1.5rem;background:var(--color-surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);min-width:160px;max-width:200px;flex:1;transition:transform .2s ease,box-shadow .2s ease}.about-cards--single .about-card{max-width:240px}.about-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.about-card-logo{width:64px;height:64px;display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.about-card-logo img{max-width:100%;max-height:100%;object-fit:contain}.about-card-name{font-size:1.1rem;font-weight:700;color:var(--text-main)}.about-card-full{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.about-card-link{font-size:.75rem;font-weight:500;color:var(--brand-teal);text-decoration:none;margin-top:.2rem;transition:color .2s ease}.about-card-link:hover{color:var(--brand-teal-dark);text-decoration:underline}.about-privacy{background:var(--color-surface);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:1.5rem;text-align:center}.about-privacy .section-title{margin-bottom:.75rem}.about-privacy p{font-size:var(--font-size-md);line-height:1.6;margin:0 0 1rem}.about-privacy-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:500;color:var(--brand-teal);text-decoration:none;padding:.5rem 1rem;border:1px solid var(--brand-teal);border-radius:var(--radius-md);transition:background-color .2s ease,color .2s ease}.about-privacy-link:hover{background-color:var(--brand-teal);color:#fff}.about-privacy-link:hover svg{stroke:#fff}@media(max-width:640px){.about-hero{padding:2rem 1rem}.about-cards{flex-direction:column;align-items:center}.about-card{min-width:0;width:100%;max-width:280px}}.settings-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-lg);align-items:start}.settings-card{background:var(--color-surface);border:1px solid var(--border-light);border-radius:var(--radius-2xl);padding:var(--spacing-lg);box-shadow:var(--shadow-lg)}.settings-card-header{margin-bottom:var(--spacing-lg)}.settings-card-header h2{margin:0 0 .35rem;font-size:var(--font-size-xl);color:var(--text-main);line-height:1.35}.settings-card-header p{margin:0;font-size:var(--font-size-md);line-height:1.5}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.settings-field-full{grid-column:1 / -1}.settings-page input[disabled]{background-color:var(--bg-subtle);color:var(--text-secondary);cursor:not-allowed}.settings-page .form-actions{margin-top:var(--spacing-lg)}@media(max-width:960px){.settings-content{grid-template-columns:1fr}}@media(max-width:640px){.settings-grid{grid-template-columns:1fr}}
