.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--color-primary, #6B1F1F) 0%,var(--color-accent, #E85D2A) 100%);padding:var(--space-3, 24px);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 50px,rgba(255,215,0,.03) 50px,rgba(255,215,0,.03) 52px);pointer-events:none}.login-container{background:#fff;border-radius:12px;box-shadow:var(--shadow-lg, 0 10px 40px rgba(0, 0, 0, .2));padding:var(--space-5, 40px);width:100%;max-width:450px;position:relative;z-index:1;animation:fadeInUp .5s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.login-container{animation:none}}.login-header{text-align:center;margin-bottom:var(--space-4, 32px);display:flex;flex-direction:column;align-items:center;gap:var(--space-2, 16px)}.login-header .logo{margin-bottom:var(--space-2, 16px);filter:drop-shadow(0 2px 8px rgba(0,0,0,.15));transition:transform .3s ease}.login-header .logo:hover{transform:scale(1.02)}.login-header h1{font-size:var(--font-size-2xl, 32px);color:var(--color-primary, #6B1F1F);margin:0;font-weight:600}.login-header p{font-size:var(--font-size-sm, 14px);color:#666;margin:0}.login-form{display:flex;flex-direction:column;gap:var(--space-3, 24px)}.error-message{background-color:#ffebee;color:var(--color-error, #D32F2F);padding:var(--space-2, 16px);border-radius:4px;font-size:var(--font-size-sm, 14px);border-left:4px solid var(--color-error, #D32F2F)}.login-footer{margin-top:var(--space-4, 32px);padding-top:var(--space-3, 24px);border-top:1px solid #E0E0E0;text-align:center;font-size:var(--font-size-sm, 14px);color:#999}.login-footer p{margin:0}@media (max-width: 480px){.login-container{padding:var(--space-3, 24px)}.login-header h1{font-size:var(--font-size-xl, 24px)}}.dashboard-layout{display:flex;height:100vh;overflow:hidden}.skip-link{position:absolute;top:-40px;left:16px;background:#fff;color:#1f2933;padding:8px 12px;border-radius:6px;border:1px solid #d0d5dd;box-shadow:0 2px 6px #00000026;z-index:1100;transition:top .15s ease}.skip-link:focus{top:16px;outline:2px solid var(--color-accent, #e85d2a);outline-offset:2px}.mobile-header,.mobile-menu-overlay{display:none}.sidebar{width:250px;background-color:var(--color-primary);color:#fff;display:flex;flex-direction:column;flex-shrink:0;transition:transform .3s ease-in-out}.sidebar-header{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:1rem}.dashboard-logo{cursor:pointer;align-self:flex-start}.user-info{font-size:.85rem}.user-name{font-weight:500;margin-bottom:.25rem}.user-role{color:#ffffffb3;text-transform:capitalize}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-nav a{display:flex;align-items:center;padding:.75rem 1.5rem;color:#fffc;text-decoration:none;transition:all .2s ease-in-out;min-height:44px}.sidebar-nav a:hover{background-color:#ffffff1a;color:#fff}.sidebar-nav a:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.sidebar-nav a.active{background-color:var(--color-accent);color:#fff;border-left:none;font-weight:600}.nav-icon{margin-right:.75rem;font-size:1.2rem}.sidebar-footer{padding:1rem;border-top:1px solid rgba(255,255,255,.1)}.logout-button{width:100%;display:flex;align-items:center;padding:.75rem 1rem;background-color:transparent;color:#fffc;border:1px solid rgba(255,255,255,.2);border-radius:4px;transition:all .2s ease-in-out;cursor:pointer;min-height:44px;font-family:inherit;font-size:1rem}.logout-button:hover{background-color:#ffffff1a;color:#fff}.logout-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.main-content{flex:1;overflow-y:auto;background-color:#f5f5f5}@media (max-width: 767px){.dashboard-layout{flex-direction:column}.mobile-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2);background-color:var(--color-primary);color:#fff;height:60px;flex-shrink:0;z-index:1001}.hamburger-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;color:#fff;cursor:pointer;padding:0;transition:background-color .2s ease-in-out;border-radius:4px}.hamburger-button:hover{background-color:#ffffff1a}.hamburger-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.hamburger-icon{font-size:1.5rem;line-height:1}.mobile-logo{cursor:pointer}.mobile-user-info{font-size:.875rem;font-weight:500}.mobile-user-name{display:block;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar{position:fixed;top:60px;left:0;bottom:0;width:280px;max-width:85vw;transform:translate(-100%);z-index:1000;box-shadow:2px 0 8px #0003}.sidebar--open{transform:translate(0)}.sidebar-header{display:none}.sidebar--open~.mobile-menu-overlay{display:block;position:fixed;top:60px;left:0;right:0;bottom:0;background-color:#00000080;z-index:999}.main-content{flex:1;overflow-y:auto;margin-top:0}.sidebar-nav a{min-height:48px;padding:1rem 1.5rem;font-size:1rem}.logout-button{min-height:48px;font-size:1rem}}@media (min-width: 768px) and (max-width: 1023px){.sidebar{width:220px}.sidebar-header{padding:1rem}.sidebar-nav a{padding:.625rem 1rem;font-size:.9375rem}.nav-icon{font-size:1.1rem}}@media (prefers-reduced-motion: reduce){.sidebar-nav a{transition:none}}.page{padding:clamp(16px,3vw,32px);max-width:1400px;margin:0 auto;display:grid;gap:var(--space-3, 24px)}.page-header{display:flex;flex-direction:column;gap:.5rem}.page-header h1{font-size:clamp(24px,2.2vw,32px);color:#1f2933;margin:0}.page-header p{color:#616e7c;font-size:1rem;margin:0}.page-content{background:#fff;border-radius:10px;padding:clamp(16px,2.5vw,32px);box-shadow:var(--shadow-sm, 0 2px 4px rgba(0, 0, 0, .08));border:1px solid #eef0f2;display:grid;gap:var(--space-3, 24px)}.error-banner{background:#fff5f5;color:#b42318;border:1px solid #fecdca;padding:.75rem 1rem;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.no-data,.no-results,.empty-state,.no-devices,.no-alerts,.no-configs,.no-logs{text-align:center;padding:3rem 1.5rem;color:#98a2b3;background:#fbfbfb;border:1px dashed #e4e7ec;border-radius:10px}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:180px}.filter-group label{font-size:.85rem;font-weight:600;color:#475467}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:600;color:#475467}.form-helper,.help-text{font-size:.8rem;color:#667085}.page-content input:not(.form-field__input),.page-content select,.page-content textarea{width:100%;padding:.6rem .75rem;border:1px solid #d0d5dd;border-radius:8px;font-size:.95rem;background:#fff;color:#1f2933;transition:border-color .15s ease,box-shadow .15s ease}.page-content input:not(.form-field__input):focus-visible,.page-content select:focus-visible,.page-content textarea:focus-visible{outline:none;border-color:var(--color-accent, #e85d2a);box-shadow:0 0 0 3px #e85d2a33}.page-content input:not(.form-field__input):disabled,.page-content select:disabled,.page-content textarea:disabled{background:#f2f4f7;color:#98a2b3}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0f172a73;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:min(90vw,560px);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg, 0 10px 30px rgba(0, 0, 0, .2));border:1px solid #eaecf0}.modal-content.large{width:min(92vw,760px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #eaecf0}.modal-header h2{margin:0;font-size:1.25rem;color:#1f2933}.modal-close{background:none;border:none;font-size:1.75rem;color:#98a2b3;cursor:pointer;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.modal-close:focus-visible{outline:2px solid var(--color-accent, #e85d2a);outline-offset:2px}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #eaecf0}@media (max-width: 768px){.page,.page-content{padding:16px}.modal-content{width:100%}}.error-banner{background-color:#fee;color:#c33;padding:1rem;border-radius:4px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center}.devices-controls{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-end;flex-wrap:wrap}.devices-controls-actions{display:flex;gap:.5rem;margin-left:auto}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.9rem;font-weight:500;color:#666}.filter-group select{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.refresh-button{padding:.5rem 1rem;background-color:#667eea;color:#fff;border:none;border-radius:4px;font-size:.9rem;transition:background-color .2s}.refresh-button:hover{background-color:#5568d3}.devices-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;text-align:center}.summary-card.online{border-color:#4caf50}.summary-card.offline{border-color:#f44336}.summary-card.maintenance{border-color:#ff9800}.summary-value{font-size:2rem;font-weight:700;color:#333;margin-bottom:.5rem}.summary-label{font-size:.9rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.station-group{margin-bottom:2rem}.station-name{font-size:1.3rem;color:#333;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0}.devices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-2, 16px)}.device-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:var(--space-3, 24px);transition:all .2s ease-in-out}.device-card:nth-child(2n){background-color:#f9f9f9}.device-card:hover{box-shadow:var(--shadow-md, 0 4px 8px rgba(0, 0, 0, .1));background-color:#e85d2a0d;transform:translateY(-2px)}.device-card.online{border-left:4px solid var(--color-status-ontime, #4caf50)}.device-card.offline{border-left:4px solid var(--color-status-cancelled, #f44336)}.device-card.maintenance{border-left:4px solid var(--color-status-delayed, #ff9800)}.device-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.device-id{font-weight:600;color:#333;font-size:.95rem}.device-status{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.device-status.online{background-color:#e8f5e9;color:#2e7d32}.device-status.offline{background-color:#ffebee;color:#c62828}.device-status.maintenance{background-color:#fff3e0;color:#e65100}.device-info{margin-bottom:1rem}.info-row{display:flex;justify-content:space-between;padding:var(--space-2, 16px) 0;border-bottom:1px solid #f0f0f0}.info-label{font-size:var(--font-size-sm, 14px);color:#666}.info-value{font-size:var(--font-size-sm, 14px);color:#333;font-weight:500}.device-actions{display:flex;gap:.5rem}.device-actions button{flex:1;min-height:36px;padding:.5rem;border:none;border-radius:4px;font-size:.85rem;font-weight:500;transition:all .2s}.btn-primary{background-color:#667eea;color:#fff}.btn-primary:hover{background-color:#5568d3}.btn-secondary{background-color:#e0e0e0;color:#333}.btn-secondary:hover{background-color:#d0d0d0}.btn-warning{background-color:#ff9800;color:#fff}.btn-warning:hover{background-color:#f57c00}.btn-success{background-color:#4caf50;color:#fff}.btn-success:hover{background-color:#388e3c}.no-devices{text-align:center;padding:3rem;color:#999}@media (max-width: 900px){.devices-controls{align-items:stretch}.devices-controls-actions{margin-left:0}.devices-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e0e0e0}.modal-header h2{font-size:1.3rem;color:#333}.modal-close{background:none;border:none;font-size:2rem;color:#999;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:#333}.modal-body{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.9rem;font-weight:500;color:#666;margin-bottom:.5rem}.form-group input,.form-group select{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.form-group input:disabled{background-color:#f5f5f5;color:#999}.form-helper{font-size:.8rem;color:#666;margin-top:.25rem;margin-bottom:0}.modal-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:1.5rem;border-top:1px solid #e0e0e0}.modal-footer button{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer}.alerts-controls{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-end;flex-wrap:wrap}.create-button{padding:.5rem 1rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:background-color .2s;margin-left:auto}.create-button:hover{background-color:#388e3c}.alerts-list{display:flex;flex-direction:column;gap:var(--space-2, 16px)}.alert-card{background:#fff;border-radius:8px;padding:var(--space-3, 24px);border-left:4px solid #e0e0e0;transition:all .2s ease-in-out}.alert-card:nth-child(2n){background-color:#f9f9f9}.alert-card:hover{box-shadow:var(--shadow-md, 0 4px 8px rgba(0, 0, 0, .1));background-color:#e85d2a0d;transform:translateY(-1px)}.alert-card.info{border-left-color:var(--color-info, #2196f3)}.alert-card.warning{border-left-color:var(--color-warning, #ff9800)}.alert-card.critical{border-left-color:var(--color-error, #f44336)}.alert-card.inactive{opacity:.6}.alert-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.75rem}.alert-title-section{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.severity-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.severity-badge.info{background-color:#e3f2fd;color:#1976d2}.severity-badge.warning{background-color:#fff3e0;color:#e65100}.severity-badge.critical{background-color:#ffebee;color:#c62828}.station-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;background-color:#f5f5f5;color:#666}.active-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;background-color:#4caf50;color:#fff}.auto-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;background-color:#9e9e9e;color:#fff}.alert-actions{display:flex;gap:.5rem;flex-wrap:wrap}.btn-edit{padding:.4rem .8rem;background-color:#667eea;color:#fff;border:none;border-radius:4px;font-size:.85rem;transition:background-color .2s}.btn-edit:hover{background-color:#5568d3}.btn-delete{padding:.4rem .8rem;background-color:#f44336;color:#fff;border:none;border-radius:4px;font-size:.85rem;transition:background-color .2s}.btn-delete:hover{background-color:#d32f2f}.alert-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3, 24px);margin-bottom:var(--space-2, 16px)}.alert-language-section{padding:var(--space-2, 16px);background-color:#f9f9f9;border-radius:4px}.language-label{font-size:var(--font-size-sm, 14px);font-weight:600;color:#666;text-transform:uppercase;margin-bottom:var(--space-1, 8px)}.alert-title{font-size:var(--font-size-base, 16px);font-weight:600;color:#333;margin-bottom:var(--space-1, 8px);text-align:left}.alert-message{font-size:var(--font-size-sm, 14px);color:#666;line-height:1.5;text-align:left}.alert-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-2, 16px);border-top:1px solid #e0e0e0;font-size:var(--font-size-sm, 14px);color:#999}@media (max-width: 900px){.alert-header{flex-direction:column;align-items:flex-start}.alert-actions{width:100%}.alert-content{grid-template-columns:1fr}.alert-footer{flex-direction:column;align-items:flex-start;gap:.5rem}.alert-meta{text-align:left}}.alert-time{display:flex;gap:var(--space-2, 16px);text-align:left}.alert-meta{text-align:right}.no-alerts{text-align:center;padding:3rem;color:#999}.modal-content.large{max-width:700px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.bilingual-section{margin-bottom:1.5rem;padding:1rem;background-color:#f9f9f9;border-radius:4px}.bilingual-section h3{font-size:1rem;color:#333;margin-bottom:1rem}.form-group textarea{width:100%;padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem;font-family:inherit;resize:vertical}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:4px;font-size:.9rem;border:1px solid #fcc;margin-bottom:1rem}.config-controls{margin-bottom:1.5rem}.search-box{max-width:400px}.search-box input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.9rem}.config-list{display:flex;flex-direction:column;gap:1rem}.config-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:box-shadow .2s}.config-card:hover{box-shadow:0 4px 8px #0000001a}.config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.config-key{font-size:1.1rem;font-weight:600;color:#333;font-family:Courier New,monospace}.config-description{color:#666;font-size:.9rem;margin-bottom:1rem;line-height:1.5}.config-details{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid #f0f0f0}.config-detail-row{display:flex;justify-content:space-between;font-size:.85rem}.detail-label{color:#999;font-weight:500}.detail-value{color:#333;font-weight:600;font-family:Courier New,monospace}.no-configs{text-align:center;padding:3rem;color:#999}.help-text{display:block;margin-top:.25rem;font-size:.8rem;color:#999;font-style:italic}@media (max-width: 768px){.search-box{max-width:100%}}.translations-controls{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-end;flex-wrap:wrap}.version-info{padding:.5rem 1rem;background-color:#f5f5f5;border-radius:4px;font-size:.9rem;color:#666}.action-buttons{display:flex;gap:.5rem;margin-left:auto;flex-wrap:wrap}.btn-import,.btn-export,.btn-rollback{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:all .2s;cursor:pointer}.btn-import{background-color:#4caf50;color:#fff}.btn-import:hover{background-color:#388e3c}.btn-export{background-color:#2196f3;color:#fff}.btn-export:hover{background-color:#1976d2}.btn-rollback{background-color:#ff9800;color:#fff}.btn-rollback:hover{background-color:#f57c00}.translations-table-container{overflow-x:auto;margin-bottom:var(--space-3, 24px)}@media (max-width: 900px){.translations-controls{flex-direction:column;align-items:stretch}.action-buttons{margin-left:0}}.form-group input[type=file]{padding:.5rem 0}.filters-section{background:#fff;border-radius:8px;padding:var(--space-3, 24px);margin-bottom:var(--space-3, 24px);box-shadow:var(--shadow-sm, 0 2px 4px rgba(0, 0, 0, .1))}.filters-section h3{font-size:var(--font-size-lg, 20px);color:#333;margin-bottom:var(--space-2, 16px)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-2, 16px);margin-bottom:var(--space-2, 16px)}.filter-actions{display:flex;gap:var(--space-1, 8px);justify-content:flex-end;flex-wrap:wrap}.btn-apply{padding:.5rem 1rem;background-color:#667eea;color:#fff;border:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:background-color .2s;cursor:pointer}.btn-apply:hover{background-color:#5568d3}.btn-clear{padding:.5rem 1rem;background-color:#e0e0e0;color:#333;border:none;border-radius:4px;font-size:.9rem;font-weight:500;transition:background-color .2s;cursor:pointer}.btn-clear:hover{background-color:#d0d0d0}.logs-summary{background:#fff;border-radius:8px;padding:var(--space-2, 16px);margin-bottom:var(--space-3, 24px);box-shadow:var(--shadow-sm, 0 2px 4px rgba(0, 0, 0, .1))}.summary-item{display:flex;gap:var(--space-1, 8px);font-size:var(--font-size-sm, 14px)}.summary-label{color:#666;font-weight:500;text-align:left}.summary-value{color:#333;font-weight:600;text-align:right}.logs-list{display:flex;flex-direction:column;gap:var(--space-2, 16px)}.log-card{background:#fff;border-radius:8px;padding:var(--space-3, 24px);border-left:4px solid #e0e0e0;transition:all .2s ease-in-out}.log-card:nth-child(2n){background-color:#f9f9f9}.log-card:hover{box-shadow:var(--shadow-md, 0 4px 8px rgba(0, 0, 0, .1));background-color:#e85d2a0d;transform:translateY(-1px)}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2, 16px);padding-bottom:var(--space-2, 16px);border-bottom:1px solid #f0f0f0;position:sticky;top:0;background:inherit;z-index:1}.log-timestamp{font-size:var(--font-size-sm, 14px);color:#666;font-family:Courier New,monospace;text-align:left}.action-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.action-badge.create{background-color:#e8f5e9;color:#2e7d32}.action-badge.update{background-color:#e3f2fd;color:#1976d2}.action-badge.delete{background-color:#ffebee;color:#c62828}.action-badge.auth{background-color:#fff3e0;color:#e65100}.action-badge.default{background-color:#f5f5f5;color:#666}.log-content{display:flex;flex-direction:column;gap:var(--space-1, 8px)}.log-row{display:flex;gap:var(--space-1, 8px);font-size:var(--font-size-sm, 14px);flex-wrap:wrap}.log-label{color:#999;font-weight:500;min-width:100px;text-align:left}.log-value{color:#333;font-weight:600;text-align:left}.log-details-section{margin-top:var(--space-1, 8px)}.btn-toggle-details{padding:.4rem .8rem;background-color:#f5f5f5;color:#666;border:1px solid #e0e0e0;border-radius:4px;font-size:var(--font-size-sm, 14px);cursor:pointer;transition:all .2s ease-in-out}.btn-toggle-details:hover{background-color:#e0e0e0}.log-details{margin-top:var(--space-1, 8px);padding:var(--space-2, 16px);background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px;font-size:var(--font-size-sm, 14px);font-family:Courier New,monospace;overflow-x:auto;max-height:300px;overflow-y:auto}.no-logs{text-align:center;padding:3rem;color:#999;background:#fff;border-radius:8px}@media (max-width: 768px){.filters-grid{grid-template-columns:1fr}.filter-actions{justify-content:flex-start}}body{background-color:#f5f5f5}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:#666}:root{--color-primary: #6B1F1F;--color-primary-light: #8B3535;--color-primary-dark: #4B1515;--color-primary-hover: #5A1919;--color-primary-active: #4B1515;--color-accent: #E85D2A;--color-accent-light: #FF7744;--color-accent-dark: #D14D1A;--color-accent-hover: #D14D1A;--color-accent-active: #B83D0A;--color-highlight: #FFD700;--color-highlight-light: #FFE44D;--color-highlight-dark: #E6C200;--color-highlight-hover: #E6C200;--color-highlight-active: #CCB000;--color-black: #000000;--color-white: #FFFFFF;--color-text-primary: #000000;--color-text-secondary: #666666;--color-text-tertiary: #757575;--color-text-disabled: #CCCCCC;--color-text-inverse: #FFFFFF;--color-background-primary: #FFFFFF;--color-background-secondary: #F9F9F9;--color-background-tertiary: #F5F5F5;--color-background-disabled: #E0E0E0;--color-background-overlay: rgba(0, 0, 0, .5);--color-border-primary: #E0E0E0;--color-border-secondary: #CCCCCC;--color-border-focus: var(--color-accent);--color-border-error: #D32F2F;--color-status-boarding: #FFD700;--color-status-boarding-bg: #FFF9E6;--color-status-boarding-text: #6B5A00;--color-status-delayed: #E85D2A;--color-status-delayed-bg: #FFF3E0;--color-status-delayed-text: #BF360C;--color-status-ontime: #4CAF50;--color-status-ontime-bg: #E8F5E9;--color-status-ontime-text: #1B5E20;--color-status-departed: #9E9E9E;--color-status-departed-bg: #F5F5F5;--color-status-departed-text: #424242;--color-status-cancelled: #D32F2F;--color-status-cancelled-bg: #FFEBEE;--color-status-cancelled-text: #B71C1C;--color-success: #4CAF50;--color-success-light: #81C784;--color-success-dark: #388E3C;--color-success-bg: #E8F5E9;--color-success-text: #1B5E20;--color-success-border: #4CAF50;--color-error: #D32F2F;--color-error-light: #E57373;--color-error-dark: #C62828;--color-error-bg: #FFEBEE;--color-error-text: #B71C1C;--color-error-border: #D32F2F;--color-warning: #E85D2A;--color-warning-light: #FF7744;--color-warning-dark: #D14D1A;--color-warning-bg: #FFF3E0;--color-warning-text: #BF360C;--color-warning-border: #E85D2A;--color-info: #2196F3;--color-info-light: #64B5F6;--color-info-dark: #1976D2;--color-info-bg: #E3F2FD;--color-info-text: #0D47A1;--color-info-border: #2196F3;--color-primary-10: rgba(107, 31, 31, .1);--color-primary-20: rgba(107, 31, 31, .2);--color-primary-30: rgba(107, 31, 31, .3);--color-primary-50: rgba(107, 31, 31, .5);--color-primary-70: rgba(107, 31, 31, .7);--color-primary-90: rgba(107, 31, 31, .9);--color-accent-10: rgba(232, 93, 42, .1);--color-accent-20: rgba(232, 93, 42, .2);--color-accent-30: rgba(232, 93, 42, .3);--color-accent-50: rgba(232, 93, 42, .5);--color-accent-70: rgba(232, 93, 42, .7);--color-accent-90: rgba(232, 93, 42, .9);--color-highlight-10: rgba(255, 215, 0, .1);--color-highlight-20: rgba(255, 215, 0, .2);--color-highlight-30: rgba(255, 215, 0, .3);--color-highlight-50: rgba(255, 215, 0, .5);--color-highlight-70: rgba(255, 215, 0, .7);--color-highlight-90: rgba(255, 215, 0, .9);--color-black-10: rgba(0, 0, 0, .1);--color-black-20: rgba(0, 0, 0, .2);--color-black-30: rgba(0, 0, 0, .3);--color-black-50: rgba(0, 0, 0, .5);--color-black-70: rgba(0, 0, 0, .7);--color-black-90: rgba(0, 0, 0, .9);--color-white-10: rgba(255, 255, 255, .1);--color-white-20: rgba(255, 255, 255, .2);--color-white-30: rgba(255, 255, 255, .3);--color-white-50: rgba(255, 255, 255, .5);--color-white-70: rgba(255, 255, 255, .7);--color-white-90: rgba(255, 255, 255, .9);--color-hover-primary: var(--color-primary-hover);--color-hover-accent: var(--color-accent-hover);--color-hover-highlight: var(--color-highlight-hover);--color-hover-overlay: rgba(0, 0, 0, .05);--color-active-primary: var(--color-primary-active);--color-active-accent: var(--color-accent-active);--color-active-highlight: var(--color-highlight-active);--color-active-overlay: rgba(0, 0, 0, .1);--color-focus-ring: var(--color-accent);--color-focus-ring-offset: var(--color-white);--color-disabled-bg: #E0E0E0;--color-disabled-text: #CCCCCC;--color-disabled-border: #CCCCCC;--color-disabled-opacity: .5;--color-shadow-sm: rgba(0, 0, 0, .1);--color-shadow-md: rgba(0, 0, 0, .15);--color-shadow-lg: rgba(0, 0, 0, .2);--color-shadow-xl: rgba(0, 0, 0, .25);--color-link: var(--color-accent);--color-link-hover: var(--color-accent-dark);--color-link-visited: #9C27B0;--color-selection-bg: var(--color-accent-20);--color-selection-text: var(--color-text-primary);--color-scrollbar-track: #F5F5F5;--color-scrollbar-thumb: #CCCCCC;--color-scrollbar-thumb-hover: #999999}:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 20px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-size-3xl: 48px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em}.font-sans{font-family:var(--font-family)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-normal{letter-spacing:var(--letter-spacing-normal)}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.display-train-number{font-family:var(--font-family);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.display-body{font-family:var(--font-family);font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal)}.display-heading{font-family:var(--font-family);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.admin-heading{font-family:var(--font-family);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.admin-body{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal)}.admin-label{font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5,h6{font-size:var(--font-size-base)}p{margin:0;line-height:var(--line-height-normal)}a{font-family:inherit;text-decoration:underline;color:inherit;transition:color .2s ease-in-out,opacity .2s ease-in-out}a:hover{opacity:.8}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}code,pre,kbd,samp{font-family:Monaco,Courier New,monospace;font-size:.9em}@media (prefers-reduced-motion: reduce){a{transition:none}}:root{--space-0: 0;--space-1: 8px;--space-2: 16px;--space-3: 24px;--space-4: 32px;--space-5: 40px;--space-6: 48px;--space-8: 64px;--space-10: 80px;--space-12: 96px;--space-form-field-gap: var(--space-2);--space-card-padding: var(--space-3);--space-section-margin: var(--space-2);--space-train-row-gap: var(--space-4);--space-table-cell-padding: 12px;--space-button-padding-x: var(--space-3);--space-button-padding-y: var(--space-2);--space-input-padding: var(--space-2);--space-modal-padding: var(--space-4);--space-header-padding: var(--space-3)}.m-0{margin:var(--space-0)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.mt-0{margin-top:var(--space-0)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mr-0{margin-right:var(--space-0)}.mr-6{margin-right:var(--space-6)}.mr-8{margin-right:var(--space-8)}.mb-0{margin-bottom:var(--space-0)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.ml-0{margin-left:var(--space-0)}.ml-6{margin-left:var(--space-6)}.ml-8{margin-left:var(--space-8)}.mx-0{margin-left:var(--space-0);margin-right:var(--space-0)}.mx-6{margin-left:var(--space-6);margin-right:var(--space-6)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-0{margin-top:var(--space-0);margin-bottom:var(--space-0)}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-0{padding:var(--space-0)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.pt-0{padding-top:var(--space-0)}.pt-6{padding-top:var(--space-6)}.pt-8{padding-top:var(--space-8)}.pr-0{padding-right:var(--space-0)}.pr-6{padding-right:var(--space-6)}.pr-8{padding-right:var(--space-8)}.pb-0{padding-bottom:var(--space-0)}.pb-6{padding-bottom:var(--space-6)}.pb-8{padding-bottom:var(--space-8)}.pl-0{padding-left:var(--space-0)}.pl-6{padding-left:var(--space-6)}.pl-8{padding-left:var(--space-8)}.px-0{padding-left:var(--space-0);padding-right:var(--space-0)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-0{padding-top:var(--space-0);padding-bottom:var(--space-0)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.gap-0{gap:var(--space-0)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.row-gap-0{row-gap:var(--space-0)}.row-gap-1{row-gap:var(--space-1)}.row-gap-2{row-gap:var(--space-2)}.row-gap-3{row-gap:var(--space-3)}.row-gap-4{row-gap:var(--space-4)}.row-gap-5{row-gap:var(--space-5)}.row-gap-6{row-gap:var(--space-6)}.row-gap-8{row-gap:var(--space-8)}.column-gap-0{column-gap:var(--space-0)}.column-gap-1{column-gap:var(--space-1)}.column-gap-2{column-gap:var(--space-2)}.column-gap-3{column-gap:var(--space-3)}.column-gap-4{column-gap:var(--space-4)}.column-gap-5{column-gap:var(--space-5)}.column-gap-6{column-gap:var(--space-6)}.column-gap-8{column-gap:var(--space-8)}.form-field-gap{margin-bottom:var(--space-form-field-gap)}.card-padding{padding:var(--space-card-padding)}.section-margin{margin-bottom:var(--space-section-margin)}.train-row-gap{margin-bottom:var(--space-train-row-gap)}:root{--color-shadow-sm: rgba(0, 0, 0, .1);--color-shadow-md: rgba(0, 0, 0, .15);--color-shadow-lg: rgba(0, 0, 0, .2);--color-shadow-xl: rgba(0, 0, 0, .25);--shadow-sm: 0 2px 4px var(--color-shadow-sm);--shadow-md: 0 4px 8px var(--color-shadow-md);--shadow-lg: 0 10px 24px var(--color-shadow-lg);--shadow-xl: 0 16px 40px var(--color-shadow-xl);--shadow-card: var(--shadow-sm);--shadow-card-hover: var(--shadow-md);--shadow-button: 0 2px 4px rgba(0, 0, 0, .1);--shadow-button-hover: 0 4px 8px rgba(0, 0, 0, .15);--shadow-button-active: 0 1px 2px rgba(0, 0, 0, .1);--shadow-modal: var(--shadow-lg);--shadow-modal-backdrop: 0 0 0 9999px rgba(0, 0, 0, .5);--shadow-dropdown: var(--shadow-md);--shadow-input-focus: 0 0 0 3px rgba(232, 93, 42, .1);--shadow-table-row-hover: 0 2px 4px rgba(0, 0, 0, .05);--shadow-nav: 0 2px 8px rgba(0, 0, 0, .1);--shadow-inset: inset 0 2px 4px rgba(0, 0, 0, .1);--shadow-input-inset: inset 0 1px 2px rgba(0, 0, 0, .05);--shadow-focus: 0 0 0 3px rgba(232, 93, 42, .3);--shadow-success: 0 0 0 3px rgba(76, 175, 80, .3);--shadow-error: 0 0 0 3px rgba(211, 47, 47, .3);--shadow-warning: 0 0 0 3px rgba(232, 93, 42, .3);--shadow-layered: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--shadow-layered-elevated: 0 3px 6px rgba(0, 0, 0, .15), 0 2px 4px rgba(0, 0, 0, .12);--shadow-layered-floating: 0 10px 20px rgba(0, 0, 0, .15), 0 3px 6px rgba(0, 0, 0, .1)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-card{box-shadow:var(--shadow-card)}.shadow-card-hover{box-shadow:var(--shadow-card-hover)}.shadow-button{box-shadow:var(--shadow-button)}.shadow-modal{box-shadow:var(--shadow-modal)}.shadow-dropdown{box-shadow:var(--shadow-dropdown)}.shadow-inset{box-shadow:var(--shadow-inset)}.shadow-input-inset{box-shadow:var(--shadow-input-inset)}.shadow-focus{box-shadow:var(--shadow-focus)}.shadow-success{box-shadow:var(--shadow-success)}.shadow-error{box-shadow:var(--shadow-error)}.shadow-warning{box-shadow:var(--shadow-warning)}.shadow-layered{box-shadow:var(--shadow-layered)}.shadow-layered-elevated{box-shadow:var(--shadow-layered-elevated)}.shadow-layered-floating{box-shadow:var(--shadow-layered-floating)}.shadow-transition{transition:box-shadow .2s ease-in-out}.shadow-card-interactive{box-shadow:var(--shadow-card);transition:box-shadow .2s ease-in-out}.shadow-card-interactive:hover{box-shadow:var(--shadow-card-hover)}.shadow-button-interactive{box-shadow:var(--shadow-button);transition:box-shadow .2s ease-in-out,transform .2s ease-in-out}.shadow-button-interactive:hover:not(:disabled){box-shadow:var(--shadow-button-hover);transform:translateY(-1px)}.shadow-button-interactive:active:not(:disabled){box-shadow:var(--shadow-button-active);transform:translateY(0)}@media (prefers-reduced-motion: reduce){.shadow-transition,.shadow-card-interactive,.shadow-button-interactive{transition:none}}@media (prefers-contrast: high){.shadow-sm,.shadow-md,.shadow-lg,.shadow-xl,.shadow-card,.shadow-button{box-shadow:none;border:1px solid currentColor}}:root{--breakpoint-xs: 320px;--breakpoint-sm: 768px;--breakpoint-md: 1024px;--breakpoint-lg: 1440px;--breakpoint-xl: 1920px;--breakpoint-2xl: 2560px}@media (min-width: 320px){.hide-xs{display:none!important}}@media (min-width: 768px){.hide-sm{display:none!important}}@media (min-width: 1024px){.hide-md{display:none!important}}@media (min-width: 1440px){.hide-lg{display:none!important}}@media (min-width: 1920px){.hide-xl{display:none!important}}.show-xs{display:none!important}@media (min-width: 320px){.show-xs{display:block!important}}.show-sm{display:none!important}@media (min-width: 768px){.show-sm{display:block!important}}.show-md{display:none!important}@media (min-width: 1024px){.show-md{display:block!important}}.show-lg{display:none!important}@media (min-width: 1440px){.show-lg{display:block!important}}.show-xl{display:none!important}@media (min-width: 1920px){.show-xl{display:block!important}}@media (max-width: 767px){.mobile-only{display:block!important}.desktop-only{display:none!important}}@media (min-width: 768px){.mobile-only{display:none!important}.desktop-only{display:block!important}}@media (max-width: 767px){.text-center-mobile{text-align:center!important}.text-left-mobile{text-align:left!important}.text-right-mobile{text-align:right!important}}@media (max-width: 767px){.flex-col-mobile{flex-direction:column!important}}@media (min-width: 768px){.flex-row-desktop{flex-direction:row!important}}@media (max-width: 767px){.full-width-mobile{width:100%!important}}@media (max-width: 767px){.p-mobile-2{padding:var(--space-2)!important}.px-mobile-2{padding-left:var(--space-2)!important;padding-right:var(--space-2)!important}.py-mobile-2{padding-top:var(--space-2)!important;padding-bottom:var(--space-2)!important}}@media (max-width: 767px){.m-mobile-2{margin:var(--space-2)!important}.mx-mobile-2{margin-left:var(--space-2)!important;margin-right:var(--space-2)!important}.my-mobile-2{margin-top:var(--space-2)!important;margin-bottom:var(--space-2)!important}}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-2);padding-right:var(--space-2)}@media (min-width: 768px){.container{max-width:720px;padding-left:var(--space-3);padding-right:var(--space-3)}}@media (min-width: 1024px){.container{max-width:960px}}@media (min-width: 1440px){.container{max-width:1200px}}@media (min-width: 1920px){.container{max-width:1600px}}.container-fluid{width:100%;padding-left:var(--space-2);padding-right:var(--space-2)}@media (min-width: 768px){.container-fluid{padding-left:var(--space-3);padding-right:var(--space-3)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border:none;border-radius:4px;font-family:var(--font-family);font-size:var(--font-size-base);font-weight:600;line-height:1.5;cursor:pointer;transition:all .2s ease-in-out;min-height:44px;text-decoration:none;-webkit-user-select:none;user-select:none;white-space:nowrap;contain:layout style}.btn--primary{background-color:var(--color-accent);color:#fff}.btn--primary:hover:not(:disabled){background-color:#d14d1a;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn--primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #00000026}.btn--primary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--secondary{background-color:var(--color-primary);color:#fff}.btn--secondary:hover:not(:disabled){background-color:#551818;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn--secondary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #00000026}.btn--secondary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn--danger{background-color:#d32f2f;color:#fff}.btn--danger:hover:not(:disabled){background-color:#b71c1c;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.btn--danger:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #00000026}.btn--danger:focus-visible{outline:2px solid #D32F2F;outline-offset:2px}.btn--ghost{background-color:transparent;color:var(--color-text);border:2px solid #E0E0E0}.btn--ghost:hover:not(:disabled){background-color:#0000000d;border-color:var(--color-accent);color:var(--color-accent)}.btn--ghost:active:not(:disabled){background-color:#0000001a}.btn--ghost:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--small{padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm);min-height:36px}.btn--medium{padding:var(--space-2) var(--space-3);font-size:var(--font-size-base);min-height:44px}.btn--large{padding:var(--space-3) var(--space-4);font-size:var(--font-size-lg);min-height:52px}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--loading{position:relative;color:transparent;pointer-events:none}.btn--loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btn-spin .8s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn__text{display:inline-block}.btn--icon-only{padding:var(--space-2);min-width:44px}.btn--icon-only .btn__text{display:none}.btn--full-width{width:100%}@media (prefers-reduced-motion: reduce){.btn{transition:none}.btn:hover:not(:disabled){transform:none}.btn--loading:after{animation:none;border-top-color:transparent}}.form-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3);contain:layout style}.form-field__label{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:4px}.form-field__required{color:var(--color-accent);margin-left:4px}.form-field__input,.form-field__select,.form-field__textarea{padding:var(--space-2);border:2px solid #E0E0E0;border-radius:4px;font-size:var(--font-size-base);font-family:var(--font-family);transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out;min-height:44px;background-color:#fff;color:var(--color-text)}.form-field__textarea{min-height:120px;resize:vertical}.form-field__input:focus,.form-field__select:focus,.form-field__textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #e85d2a1a}.form-field__input--error,.form-field__select--error,.form-field__textarea--error{border-color:#d32f2f}.form-field__input--error:focus,.form-field__select--error:focus,.form-field__textarea--error:focus{box-shadow:0 0 0 3px #d32f2f1a}.form-field__input:disabled,.form-field__select:disabled,.form-field__textarea:disabled{background-color:#f5f5f5;color:#9e9e9e;cursor:not-allowed;opacity:.6}.form-field__helper{color:#666;font-size:var(--font-size-sm);margin:0}.form-field__error{color:#d32f2f;font-size:var(--font-size-sm);margin:0;display:flex;align-items:center;gap:4px}.form-field__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23000000' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-2) center;padding-right:calc(var(--space-2) + 24px)}.form-field__checkbox-wrapper,.form-field__radio-wrapper{display:flex;align-items:center;gap:var(--space-2);min-height:44px;cursor:pointer}.form-field__checkbox,.form-field__radio{width:20px;height:20px;cursor:pointer;accent-color:var(--color-accent)}.form-field__checkbox:focus,.form-field__radio:focus{outline:2px solid var(--color-accent);outline-offset:2px}.form-field__checkbox:disabled,.form-field__radio:disabled{cursor:not-allowed;opacity:.5}.form-field__checkbox-label,.form-field__radio-label{font-size:var(--font-size-base);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none}.form-fieldset{border:1px solid #E0E0E0;border-radius:4px;padding:var(--space-3);margin-bottom:var(--space-3)}.form-fieldset__legend{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);padding:0 var(--space-1)}.form-actions{display:flex;gap:var(--space-2);margin-top:var(--space-4);justify-content:flex-end}.form-row{display:flex;gap:var(--space-3);margin-bottom:var(--space-3)}.form-row .form-field{flex:1;margin-bottom:0}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-3)}.form-grid--3-col{grid-template-columns:repeat(3,1fr)}.form-grid--4-col{grid-template-columns:repeat(4,1fr)}@media (max-width: 767px){.form-row{flex-direction:column;gap:0}.form-row .form-field{margin-bottom:var(--space-3)}.form-grid,.form-grid--3-col,.form-grid--4-col{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}.form-field__input,.form-field__select,.form-field__textarea{min-height:48px;font-size:16px}.form-field__checkbox-wrapper,.form-field__radio-wrapper{min-height:48px}.form-field__checkbox,.form-field__radio{width:24px;height:24px}.form-fieldset{padding:var(--space-2)}.form-field__label{font-size:var(--font-size-sm)}.form-fieldset__legend{font-size:var(--font-size-base)}}@media (min-width: 768px) and (max-width: 1023px){.form-grid{grid-template-columns:1fr}.form-grid--3-col,.form-grid--4-col{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion: reduce){.form-field__input,.form-field__select,.form-field__textarea{transition:none}}.table-container{overflow-x:auto;border-radius:8px;border:1px solid #E0E0E0;background-color:var(--color-background, #FFFFFF);contain:layout style paint}.table{width:100%;border-collapse:collapse;font-size:var(--font-size-base, 16px);font-family:var(--font-family, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)}.table__header{background-color:var(--color-primary, #6B1F1F);color:#fff;position:sticky;top:0;z-index:10}.table__header-cell{padding:var(--space-2, 16px) var(--space-3, 24px);text-align:left;font-weight:600;-webkit-user-select:none;user-select:none;white-space:nowrap}.table__header-cell--sortable{cursor:pointer;transition:background-color .15s ease-in-out}.table__header-cell--sortable:hover{background-color:#0000001a}.table__header-cell--sortable:focus{outline:2px solid var(--color-accent, #E85D2A);outline-offset:-2px}.table__header-cell--right{text-align:right}.table__header-cell--center{text-align:center}.table__sort-icon{display:inline-block;margin-left:var(--space-1, 8px);font-size:14px;opacity:.8}.table__body{background-color:var(--color-background, #FFFFFF)}.table__row{border-bottom:1px solid #E0E0E0;transition:background-color .15s ease-in-out}.table__row:nth-child(2n){background-color:#f9f9f9}.table__row:hover{background-color:#e85d2a0d}.table__cell{padding:var(--space-2, 16px) var(--space-3, 24px);vertical-align:middle}.table__cell--left{text-align:left}.table__cell--right{text-align:right}.table__cell--center{text-align:center}.table__loading{text-align:center;padding:var(--space-5, 40px);color:#666}.table__empty{text-align:center;padding:var(--space-5, 40px);color:#666;font-style:italic}@media (max-width: 768px){.table__header-cell,.table__cell{padding:var(--space-2, 16px)}.table{font-size:var(--font-size-sm, 14px)}}.table-container:focus-within{outline:2px solid var(--color-accent, #E85D2A);outline-offset:2px}@media (prefers-reduced-motion: reduce){.table__header-cell--sortable,.table__row{transition:none}}.alert{display:flex;align-items:flex-start;gap:var(--space-2, 16px);padding:var(--space-3, 24px);border-radius:8px;border-left:4px solid;margin-bottom:var(--space-3, 24px);font-family:var(--font-family, "Inter", sans-serif);font-size:var(--font-size-base, 16px);line-height:var(--line-height-normal, 1.5);contain:layout style;animation:alert-fade-in .2s ease-in-out}@keyframes alert-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.alert__icon{font-size:20px;font-weight:700;flex-shrink:0;line-height:1;margin-top:2px}.alert__content{flex:1;min-width:0}.alert__title{font-weight:600;margin-bottom:var(--space-1, 8px);font-size:var(--font-size-base, 16px)}.alert__message{font-size:var(--font-size-sm, 14px);margin:0}.alert__close{background:none;border:none;font-size:20px;cursor:pointer;padding:0;color:inherit;opacity:.7;transition:opacity .15s ease-in-out;flex-shrink:0;line-height:1;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.alert__close:hover{opacity:1}.alert__close:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:2px}.alert--success{background-color:#e8f5e9;border-color:#4caf50;color:#1b5e20}.alert--success .alert__icon{color:#4caf50}.alert--error{background-color:#ffebee;border-color:#d32f2f;color:#b71c1c}.alert--error .alert__icon{color:#d32f2f}.alert--warning{background-color:#fff3e0;border-color:var(--color-accent, #E85D2A);color:#e65100}.alert--warning .alert__icon{color:var(--color-accent, #E85D2A)}.alert--info{background-color:#e3f2fd;border-color:#2196f3;color:#0d47a1}.alert--info .alert__icon{color:#2196f3}@media (max-width: 768px){.alert{padding:var(--space-2, 16px);gap:var(--space-2, 16px)}.alert__icon{font-size:18px}.alert__close{font-size:18px;width:20px;height:20px}}@media (prefers-reduced-motion: reduce){.alert{animation:none}.alert__close{transition:none}}.spinner{display:inline-block;border-radius:50%;border-style:solid;animation:spin .8s linear infinite;contain:layout style paint}.spinner--small{width:16px;height:16px;border-width:2px}.spinner--medium{width:32px;height:32px;border-width:3px}.spinner--large{width:48px;height:48px;border-width:4px}.spinner--primary{border-color:#6b1f1f33;border-top-color:var(--color-primary, #6B1F1F)}.spinner--accent{border-color:#e85d2a33;border-top-color:var(--color-accent, #E85D2A)}.spinner--white{border-color:#ffffff4d;border-top-color:#fff}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none;border-top-color:transparent;opacity:.6}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-3, 24px);overflow-y:auto;animation:modal-fade-in .2s ease-in-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:8px;box-shadow:var(--shadow-modal, 0 10px 24px rgba(0, 0, 0, .2));max-width:600px;width:100%;max-height:90vh;display:flex;flex-direction:column;position:relative;animation:modal-scale-in .25s ease-in-out;contain:layout style}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-content--small{max-width:400px}.modal-content--medium{max-width:600px}.modal-content--large{max-width:800px}.modal-content--full{max-width:95vw;max-height:95vh}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3, 24px);border-bottom:1px solid #E0E0E0;flex-shrink:0}.modal-header h2,.modal-header h3{margin:0;font-size:var(--font-size-xl, 24px);font-weight:600;color:var(--color-text, #000000)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;padding:var(--space-1, 8px);color:#666;line-height:1;border-radius:4px;transition:color .2s ease-in-out,background-color .2s ease-in-out;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.modal-close:hover{color:#333;background-color:#0000000d}.modal-close:focus-visible{outline:2px solid var(--color-accent, #E85D2A);outline-offset:2px}.modal-body{padding:var(--space-4, 32px) var(--space-3, 24px);overflow-y:auto;flex:1}.modal-body p{margin:0 0 var(--space-2, 16px) 0;line-height:1.5}.modal-body p:last-child{margin-bottom:0}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2, 16px);padding:var(--space-3, 24px);border-top:1px solid #E0E0E0;flex-shrink:0}.modal-footer button{min-width:100px}.modal-overlay--closing{animation:modal-fade-out .2s ease-in-out forwards}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.modal-content--closing{animation:modal-scale-out .25s ease-in-out forwards}@keyframes modal-scale-out{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(-20px)}}@media (max-width: 768px){.modal-overlay{padding:var(--space-2, 16px)}.modal-content{max-width:100%;max-height:95vh}.modal-content--small,.modal-content--medium,.modal-content--large{max-width:100%}.modal-header{padding:var(--space-2, 16px)}.modal-header h2,.modal-header h3{font-size:var(--font-size-lg, 20px)}.modal-body{padding:var(--space-3, 24px) var(--space-2, 16px)}.modal-footer{padding:var(--space-2, 16px);flex-direction:column}.modal-footer button{width:100%}}body.modal-open{overflow:hidden}@media (prefers-reduced-motion: reduce){.modal-overlay,.modal-content,.modal-overlay--closing,.modal-content--closing{animation:none}.modal-close{transition:none}}:root{--passenger-color-bg-primary: #F5F5F5;--passenger-color-bg-card: #FFFFFF;--passenger-color-bg-header: #1E40AF;--passenger-color-text-primary: #1A1A1A;--passenger-color-text-secondary: #6B7280;--passenger-color-text-inverse: #FFFFFF;--passenger-color-status-scheduled: #9CA3AF;--passenger-color-status-boarding: #10B981;--passenger-color-status-final-call: #F59E0B;--passenger-color-status-delayed: #EF4444;--passenger-color-status-cancelled: #DC2626;--passenger-color-status-scheduled-bg: #F3F4F6;--passenger-color-status-boarding-bg: #D1FAE5;--passenger-color-status-final-call-bg: #FEF3C7;--passenger-color-status-delayed-bg: #FEE2E2;--passenger-color-status-cancelled-bg: #FEE2E2;--passenger-color-brand-primary: #1E40AF;--passenger-color-brand-secondary: #DC2626;--passenger-color-brand-accent: #F59E0B;--passenger-color-border-light: #E5E7EB;--passenger-color-border-medium: #D1D5DB;--passenger-font-size-display: 72px;--passenger-font-weight-display: 700;--passenger-line-height-display: 1.2;--passenger-letter-spacing-display: -.02em;--passenger-font-size-heading: 48px;--passenger-font-weight-heading: 600;--passenger-line-height-heading: 1.3;--passenger-letter-spacing-heading: -.01em;--passenger-font-size-body: 36px;--passenger-font-weight-body: 400;--passenger-line-height-body: 1.5;--passenger-letter-spacing-body: 0;--passenger-font-size-caption: 24px;--passenger-font-weight-caption: 400;--passenger-line-height-caption: 1.4;--passenger-letter-spacing-caption: 0;--passenger-font-size-small: 18px;--passenger-font-weight-small: 400;--passenger-line-height-small: 1.4;--passenger-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--passenger-spacing-screen-padding: 48px;--passenger-spacing-screen-padding-mobile: 24px;--passenger-spacing-section: 40px;--passenger-spacing-section-small: 24px;--passenger-spacing-card-padding: 32px;--passenger-spacing-card-gap: 24px;--passenger-spacing-row: 20px;--passenger-spacing-row-compact: 12px;--passenger-spacing-column-gap: 32px;--passenger-spacing-column-gap-small: 16px;--passenger-spacing-xs: 4px;--passenger-spacing-sm: 8px;--passenger-spacing-md: 16px;--passenger-spacing-lg: 24px;--passenger-spacing-xl: 32px;--passenger-spacing-2xl: 48px;--passenger-spacing-3xl: 64px;--passenger-transition-fast: .15s;--passenger-transition-normal: .3s;--passenger-transition-slow: .5s;--passenger-easing-ease-in-out: cubic-bezier(.4, 0, .2, 1);--passenger-easing-ease-out: cubic-bezier(0, 0, .2, 1);--passenger-easing-ease-in: cubic-bezier(.4, 0, 1, 1);--passenger-transition-fade: var(--passenger-transition-normal) var(--passenger-easing-ease-in-out);--passenger-transition-slide: .4s var(--passenger-easing-ease-out);--passenger-refresh-interval: 5s;--passenger-refresh-interval-fast: 3s;--passenger-refresh-interval-slow: 10s;--passenger-header-height: 120px;--passenger-header-height-mobile: 80px;--passenger-badge-height: 60px;--passenger-badge-padding-x: 32px;--passenger-badge-padding-y: 12px;--passenger-badge-border-radius: 8px;--passenger-row-height: 140px;--passenger-row-height-compact: 100px;--passenger-border-radius-sm: 4px;--passenger-border-radius-md: 8px;--passenger-border-radius-lg: 12px;--passenger-border-radius-xl: 16px;--passenger-border-width-thin: 1px;--passenger-border-width-medium: 2px;--passenger-border-width-thick: 4px;--passenger-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--passenger-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--passenger-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--passenger-z-base: 0;--passenger-z-content: 10;--passenger-z-header: 100;--passenger-z-badge: 200;--passenger-z-overlay: 1000;--passenger-focus-ring-width: 3px;--passenger-focus-ring-color: #3B82F6;--passenger-focus-ring-offset: 2px;--passenger-touch-target-min: 44px}@media (min-width: 1920px){:root{--passenger-font-size-display: 84px;--passenger-font-size-heading: 56px;--passenger-font-size-body: 42px}}@media (max-width: 1919px) and (min-width: 1366px){:root{--passenger-font-size-display: 72px;--passenger-font-size-heading: 48px;--passenger-font-size-body: 36px}}@media (max-width: 1365px){:root{--passenger-font-size-display: 60px;--passenger-font-size-heading: 40px;--passenger-font-size-body: 30px;--passenger-spacing-screen-padding: 32px}}@media (max-width: 768px){:root{--passenger-font-size-display: 48px;--passenger-font-size-heading: 32px;--passenger-font-size-body: 24px;--passenger-spacing-screen-padding: var(--passenger-spacing-screen-padding-mobile);--passenger-header-height: var(--passenger-header-height-mobile)}}@media (max-height: 900px){:root{--passenger-font-size-display: 64px;--passenger-font-size-heading: 44px;--passenger-font-size-body: 32px;--passenger-font-size-caption: 22px;--passenger-font-size-small: 16px;--passenger-spacing-screen-padding: 36px;--passenger-spacing-section: 32px;--passenger-spacing-card-padding: 28px;--passenger-spacing-row: 16px;--passenger-spacing-column-gap: 24px;--passenger-spacing-2xl: 36px;--passenger-spacing-3xl: 48px;--passenger-header-height: 100px;--passenger-badge-height: 52px;--passenger-row-height: 120px;--passenger-row-height-compact: 90px}}@media (max-height: 800px){:root{--passenger-font-size-display: 56px;--passenger-font-size-heading: 38px;--passenger-font-size-body: 28px;--passenger-font-size-caption: 20px;--passenger-font-size-small: 14px;--passenger-spacing-screen-padding: 28px;--passenger-spacing-section: 24px;--passenger-spacing-card-padding: 24px;--passenger-spacing-row: 12px;--passenger-spacing-column-gap: 20px;--passenger-spacing-2xl: 28px;--passenger-spacing-3xl: 40px;--passenger-header-height: 92px;--passenger-badge-height: 48px;--passenger-row-height: 110px;--passenger-row-height-compact: 84px}}.passenger-text-display{font-size:var(--passenger-font-size-display);font-weight:var(--passenger-font-weight-display);line-height:var(--passenger-line-height-display);letter-spacing:var(--passenger-letter-spacing-display)}.passenger-text-heading{font-size:var(--passenger-font-size-heading);font-weight:var(--passenger-font-weight-heading);line-height:var(--passenger-line-height-heading);letter-spacing:var(--passenger-letter-spacing-heading)}.passenger-text-body{font-size:var(--passenger-font-size-body);font-weight:var(--passenger-font-weight-body);line-height:var(--passenger-line-height-body);letter-spacing:var(--passenger-letter-spacing-body)}.passenger-text-caption{font-size:var(--passenger-font-size-caption);font-weight:var(--passenger-font-weight-caption);line-height:var(--passenger-line-height-caption);letter-spacing:var(--passenger-letter-spacing-caption)}.passenger-text-primary{color:var(--passenger-color-text-primary)}.passenger-text-secondary{color:var(--passenger-color-text-secondary)}.passenger-text-inverse{color:var(--passenger-color-text-inverse)}.passenger-bg-primary{background-color:var(--passenger-color-bg-primary)}.passenger-bg-card{background-color:var(--passenger-color-bg-card)}.passenger-padding-screen{padding:var(--passenger-spacing-screen-padding)}.passenger-padding-card{padding:var(--passenger-spacing-card-padding)}.passenger-fade-transition{transition:opacity var(--passenger-transition-fade)}.passenger-slide-transition{transition:transform var(--passenger-transition-slide)}.passenger-focus-ring:focus{outline:var(--passenger-focus-ring-width) solid var(--passenger-focus-ring-color);outline-offset:var(--passenger-focus-ring-offset)}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:var(--passenger-badge-height);padding:var(--passenger-badge-padding-y) var(--passenger-badge-padding-x);border-radius:var(--passenger-badge-border-radius);font-family:var(--passenger-font-family);font-weight:600;text-align:center;box-shadow:var(--passenger-shadow-sm);transition:all var(--passenger-transition-fast)}.status-badge__content{display:flex;align-items:center;gap:var(--passenger-spacing-sm)}.status-badge__icon{font-size:var(--passenger-font-size-body);line-height:1}.status-badge__text{display:flex;flex-direction:column;gap:var(--passenger-spacing-xs)}.status-badge__text-en{font-size:var(--passenger-font-size-body);line-height:1.2}.status-badge__text-sw{font-size:var(--passenger-font-size-caption);line-height:1.2;opacity:.95}.status-badge--scheduled{background-color:var(--passenger-color-status-scheduled-bg);color:var(--passenger-color-status-scheduled);border:var(--passenger-border-width-medium) solid var(--passenger-color-status-scheduled)}.status-badge--boarding{background-color:var(--passenger-color-status-boarding-bg);color:var(--passenger-color-status-boarding);border:var(--passenger-border-width-medium) solid var(--passenger-color-status-boarding)}.status-badge--final_call{background-color:var(--passenger-color-status-final-call-bg);color:#92400e;border:var(--passenger-border-width-medium) solid var(--passenger-color-status-final-call);animation:pulse-subtle 2s ease-in-out infinite}.status-badge--delayed{background-color:var(--passenger-color-status-delayed-bg);color:#991b1b;border:var(--passenger-border-width-medium) solid var(--passenger-color-status-delayed)}.status-badge--cancelled{background-color:var(--passenger-color-status-cancelled-bg);color:var(--passenger-color-status-cancelled);border:var(--passenger-border-width-medium) solid var(--passenger-color-status-cancelled)}.status-badge--arrived{background-color:var(--passenger-color-status-boarding-bg);color:var(--passenger-color-status-boarding);border:var(--passenger-border-width-medium) solid var(--passenger-color-status-boarding)}.status-badge--expected{background-color:var(--passenger-color-status-scheduled-bg);color:var(--passenger-color-status-scheduled);border:var(--passenger-border-width-medium) solid var(--passenger-color-status-scheduled)}@keyframes pulse-subtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.95;transform:scale(1.02)}}@media (prefers-contrast: high){.status-badge{border-width:var(--passenger-border-width-thick)}}@media (prefers-reduced-motion: reduce){.status-badge{transition:none}.status-badge--final_call{animation:none}}@media (max-width: 1365px){.status-badge{min-height:50px;padding:10px 24px}.status-badge__text-en{font-size:30px}.status-badge__text-sw{font-size:20px}}@media (max-width: 768px){.status-badge{min-height:40px;padding:8px 16px}.status-badge__text-en{font-size:20px}.status-badge__text-sw{font-size:16px}}.status-badge--large{min-height:80px;padding:16px 48px}.status-badge--large .status-badge__text-en{font-size:48px}.status-badge--large .status-badge__text-sw{font-size:32px}.status-badge--small{min-height:40px;padding:8px 16px}.status-badge--small .status-badge__text-en{font-size:24px}.status-badge--small .status-badge__text-sw{font-size:18px}.passenger-train-row{display:flex;align-items:center;justify-content:space-between;min-height:var(--passenger-row-height);padding:var(--passenger-spacing-lg) var(--passenger-spacing-xl);background-color:var(--passenger-color-bg-card);border-radius:var(--passenger-border-radius-lg);border:var(--passenger-border-width-thin) solid var(--passenger-color-border-light);box-shadow:var(--passenger-shadow-sm);font-family:var(--passenger-font-family);transition:all var(--passenger-transition-fast)}.passenger-train-row:hover{box-shadow:var(--passenger-shadow-md);border-color:var(--passenger-color-border-medium)}.passenger-train-row__main{display:flex;align-items:center;gap:var(--passenger-spacing-column-gap);flex:1}.passenger-train-row__details{display:flex;align-items:center;gap:var(--passenger-spacing-column-gap);flex-shrink:0}.passenger-train-row__train-number{display:flex;flex-direction:column;min-width:200px}.passenger-train-row__train-number .passenger-train-row__value{font-size:var(--passenger-font-size-display);font-weight:var(--passenger-font-weight-display);line-height:var(--passenger-line-height-display);letter-spacing:var(--passenger-letter-spacing-display);color:var(--passenger-color-text-primary)}.passenger-train-row__destination,.passenger-train-row__origin{display:flex;flex-direction:column;gap:var(--passenger-spacing-xs);flex:1}.passenger-train-row__destination .passenger-train-row__value,.passenger-train-row__origin .passenger-train-row__value{font-size:var(--passenger-font-size-heading);font-weight:var(--passenger-font-weight-heading);line-height:var(--passenger-line-height-heading);letter-spacing:var(--passenger-letter-spacing-heading);color:var(--passenger-color-text-primary)}.passenger-train-row__time{display:flex;flex-direction:column;gap:var(--passenger-spacing-xs);min-width:150px;text-align:right}.passenger-train-row__time .passenger-train-row__value{font-size:var(--passenger-font-size-body);font-weight:var(--passenger-font-weight-body);line-height:var(--passenger-line-height-body);color:var(--passenger-color-text-primary);font-variant-numeric:tabular-nums}.passenger-train-row__label{font-size:var(--passenger-font-size-caption);font-weight:var(--passenger-font-weight-caption);line-height:var(--passenger-line-height-caption);color:var(--passenger-color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.passenger-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}.passenger-train-row__delay{display:inline-block;margin-top:var(--passenger-spacing-xs);padding:var(--passenger-spacing-xs) var(--passenger-spacing-sm);font-size:var(--passenger-font-size-caption);font-weight:600;color:var(--passenger-color-status-delayed);background-color:var(--passenger-color-status-delayed-bg);border-radius:var(--passenger-border-radius-sm)}.passenger-train-row__delay-info{display:flex;align-items:center}.passenger-train-row__status{display:flex;align-items:center;margin-left:var(--passenger-spacing-lg)}.passenger-train-row--intermediate .passenger-train-row__details{gap:var(--passenger-spacing-column-gap-small)}.passenger-train-row--intermediate .passenger-train-row__time{min-width:120px}.passenger-train-row--intermediate .passenger-train-row__time--arrival .passenger-train-row__value{font-size:var(--passenger-font-size-body);font-weight:600}.passenger-train-row--intermediate .passenger-train-row__time--departure .passenger-train-row__value{font-size:calc(var(--passenger-font-size-body) * .9);font-weight:400;color:var(--passenger-color-text-secondary)}.passenger-train-row--cancelled{opacity:.7}.passenger-train-row--cancelled .passenger-train-row__train-number .passenger-train-row__value,.passenger-train-row--cancelled .passenger-train-row__destination .passenger-train-row__value,.passenger-train-row--cancelled .passenger-train-row__origin .passenger-train-row__value{text-decoration:line-through;color:var(--passenger-color-text-secondary)}@keyframes fade-in-row{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.passenger-train-row--entering{animation:fade-in-row var(--passenger-transition-fade)}@keyframes fade-out-row{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}.passenger-train-row--exiting{animation:fade-out-row var(--passenger-transition-fade)}@media (prefers-contrast: high){.passenger-train-row{border-width:var(--passenger-border-width-medium)}.passenger-train-row__train-number .passenger-train-row__value{font-weight:800}}@media (prefers-reduced-motion: reduce){.passenger-train-row{transition:none}.passenger-train-row--entering,.passenger-train-row--exiting{animation:none}}@media (min-width: 1920px){.passenger-train-row{min-height:160px;padding:var(--passenger-spacing-xl) var(--passenger-spacing-2xl)}.passenger-train-row__train-number{min-width:240px}.passenger-train-row__time{min-width:180px}}@media (max-width: 1919px) and (min-width: 1366px){.passenger-train-row{min-height:140px}}@media (max-width: 1365px){.passenger-train-row{min-height:var(--passenger-row-height-compact);padding:var(--passenger-spacing-md) var(--passenger-spacing-lg)}.passenger-train-row__main,.passenger-train-row__details{gap:var(--passenger-spacing-lg)}.passenger-train-row__train-number{min-width:160px}.passenger-train-row__time{min-width:120px}}@media (max-width: 768px){.passenger-train-row{flex-direction:column;align-items:flex-start;min-height:auto;padding:var(--passenger-spacing-md);gap:var(--passenger-spacing-md)}.passenger-train-row__main{width:100%;flex-direction:column;align-items:flex-start;gap:var(--passenger-spacing-sm)}.passenger-train-row__details{width:100%;flex-wrap:wrap;gap:var(--passenger-spacing-sm)}.passenger-train-row__train-number,.passenger-train-row__destination,.passenger-train-row__origin,.passenger-train-row__time{min-width:auto;text-align:left}.passenger-train-row__status{margin-left:0;width:100%}}.passenger-screen-layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--passenger-color-bg-primary);font-family:var(--passenger-font-family);color:var(--passenger-color-text-primary)}.passenger-screen-header{display:flex;align-items:center;justify-content:space-between;height:var(--passenger-header-height);padding:0 var(--passenger-spacing-screen-padding);background-color:var(--passenger-color-bg-header);color:var(--passenger-color-text-inverse);box-shadow:var(--passenger-shadow-md);z-index:var(--passenger-z-header)}.passenger-screen-header__brand{display:flex;align-items:center;gap:var(--passenger-spacing-md)}.passenger-screen-header__logo{display:flex;align-items:center}.passenger-screen-header__logo-text{font-size:var(--passenger-font-size-heading);font-weight:700;letter-spacing:-.02em}.passenger-screen-header__info{display:flex;flex-direction:column;align-items:center;gap:var(--passenger-spacing-xs);flex:1}.passenger-screen-header__station{font-size:var(--passenger-font-size-heading);font-weight:700;margin:0;text-align:center}.passenger-screen-header__type{font-size:var(--passenger-font-size-caption);font-weight:400;opacity:.9;text-transform:uppercase;letter-spacing:.1em}.passenger-screen-header__time{display:flex;align-items:center}.passenger-screen-header__time-value{font-size:var(--passenger-font-size-heading);font-weight:600;font-variant-numeric:tabular-nums}.passenger-screen-content{flex:1;padding:var(--passenger-spacing-screen-padding);overflow-y:auto}.passenger-screen-content--centered{display:flex;align-items:center;justify-content:center}.passenger-train-list{display:flex;flex-direction:column;gap:var(--passenger-spacing-row);max-width:1600px;margin:0 auto}.passenger-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--passenger-spacing-xl);padding:var(--passenger-spacing-3xl);text-align:center}.passenger-empty-state__icon{font-size:120px;opacity:.3}.passenger-empty-state__message{display:flex;flex-direction:column;gap:var(--passenger-spacing-md)}.passenger-empty-state__text-en{font-size:var(--passenger-font-size-heading);font-weight:600;color:var(--passenger-color-text-primary);margin:0}.passenger-empty-state__text-sw{font-size:var(--passenger-font-size-body);font-weight:400;color:var(--passenger-color-text-secondary);margin:0}.passenger-boarding-display{display:flex;flex-direction:column;align-items:center;gap:var(--passenger-spacing-2xl);width:100%;max-width:1400px}.passenger-boarding-display__banner{display:flex;justify-content:center;width:100%}.passenger-boarding-display__banner .status-badge{transform:scale(1.5);box-shadow:var(--passenger-shadow-lg)}.passenger-boarding-display__train{width:100%}.passenger-boarding-display__train .passenger-train-row{transform:scale(1.2);box-shadow:var(--passenger-shadow-lg)}.passenger-screen-footer{display:flex;align-items:center;justify-content:center;padding:var(--passenger-spacing-lg) var(--passenger-spacing-screen-padding);background-color:var(--passenger-color-bg-card);border-top:var(--passenger-border-width-thin) solid var(--passenger-color-border-light)}.passenger-screen-footer__text{font-size:var(--passenger-font-size-caption);color:var(--passenger-color-text-secondary);margin:0;text-align:center}.passenger-screen-layout--boarding-gate .passenger-screen-content{background:linear-gradient(to bottom,var(--passenger-color-bg-primary) 0%,rgba(255,255,255,.5) 50%,var(--passenger-color-bg-primary) 100%)}.passenger-screen-layout--arrival-hall .passenger-screen-header{background-color:var(--passenger-color-status-boarding)}@keyframes fade-in-content{0%{opacity:0}to{opacity:1}}.passenger-train-list{animation:fade-in-content var(--passenger-transition-fade)}@media (prefers-contrast: high){.passenger-screen-header{border-bottom:var(--passenger-border-width-thick) solid var(--passenger-color-text-inverse)}.passenger-screen-footer{border-top-width:var(--passenger-border-width-thick)}}@media (prefers-reduced-motion: reduce){.passenger-train-list{animation:none}.passenger-boarding-display__banner .status-badge,.passenger-boarding-display__train .passenger-train-row{transition:none}}@media (min-width: 1920px){.passenger-train-list{max-width:1800px}.passenger-boarding-display{max-width:1600px}.passenger-boarding-display__banner .status-badge{transform:scale(1.8)}.passenger-boarding-display__train .passenger-train-row{transform:scale(1.4)}}@media (max-width: 1919px) and (min-width: 1366px){.passenger-train-list{max-width:1400px}}@media (max-width: 1365px){.passenger-screen-header{height:100px;padding:0 var(--passenger-spacing-lg)}.passenger-screen-content{padding:var(--passenger-spacing-lg)}.passenger-train-list{max-width:1200px;gap:var(--passenger-spacing-row-compact)}.passenger-boarding-display__banner .status-badge{transform:scale(1.3)}.passenger-boarding-display__train .passenger-train-row{transform:scale(1.1)}}@media (max-width: 768px){.passenger-screen-header{height:var(--passenger-header-height-mobile);padding:0 var(--passenger-spacing-md);flex-wrap:wrap}.passenger-screen-header__brand{width:100%;justify-content:center}.passenger-screen-header__info{width:50%}.passenger-screen-header__time{width:50%;justify-content:flex-end}.passenger-screen-content{padding:var(--passenger-spacing-md)}.passenger-train-list{gap:var(--passenger-spacing-sm)}.passenger-empty-state{padding:var(--passenger-spacing-xl)}.passenger-boarding-display__banner .status-badge,.passenger-boarding-display__train .passenger-train-row{transform:scale(1)}}@media print{.passenger-screen-layout{min-height:auto}.passenger-screen-header{background-color:transparent;color:var(--passenger-color-text-primary);border-bottom:2px solid var(--passenger-color-text-primary)}.passenger-screen-content{padding:20px}.passenger-train-list{gap:10px}}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.grid{display:grid}.inline-grid{display:inline-grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.grid-rows-5{grid-template-rows:repeat(5,minmax(0,1fr))}.grid-rows-6{grid-template-rows:repeat(6,minmax(0,1fr))}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.col-span-6{grid-column:span 6 / span 6}.col-span-12{grid-column:span 12 / span 12}.col-span-full{grid-column:1 / -1}.row-span-1{grid-row:span 1 / span 1}.row-span-2{grid-row:span 2 / span 2}.row-span-3{grid-row:span 3 / span 3}.row-span-full{grid-row:1 / -1}.place-content-center{place-content:center}.place-content-start{place-content:start}.place-content-end{place-content:end}.place-content-between{place-content:space-between}.place-content-around{place-content:space-around}.place-content-evenly{place-content:space-evenly}.place-content-stretch{place-content:stretch}.place-items-start{place-items:start}.place-items-end{place-items:end}.place-items-center{place-items:center}.place-items-stretch{place-items:stretch}.place-self-auto{place-self:auto}.place-self-start{place-self:start}.place-self-end{place-self:end}.place-self-center{place-self:center}.place-self-stretch{place-self:stretch}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-auto{margin:auto}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:var(--space-1);margin-right:var(--space-1)}.mx-2{margin-left:var(--space-2);margin-right:var(--space-2)}.mx-3{margin-left:var(--space-3);margin-right:var(--space-3)}.mx-4{margin-left:var(--space-4);margin-right:var(--space-4)}.mx-5{margin-left:var(--space-5);margin-right:var(--space-5)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:var(--space-1);margin-bottom:var(--space-1)}.my-2{margin-top:var(--space-2);margin-bottom:var(--space-2)}.my-3{margin-top:var(--space-3);margin-bottom:var(--space-3)}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.my-5{margin-top:var(--space-5);margin-bottom:var(--space-5)}.my-auto{margin-top:auto;margin-bottom:auto}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-auto{margin-top:auto}.mr-0{margin-right:0}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.mr-5{margin-right:var(--space-5)}.mr-auto{margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-auto{margin-bottom:auto}.ml-0{margin-left:0}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.ml-5{margin-left:var(--space-5)}.ml-auto{margin-left:auto}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:var(--space-1);padding-right:var(--space-1)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-5{padding-left:var(--space-5);padding-right:var(--space-5)}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:var(--space-1);padding-bottom:var(--space-1)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.py-5{padding-top:var(--space-5);padding-bottom:var(--space-5)}.pt-0{padding-top:0}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pt-5{padding-top:var(--space-5)}.pr-0{padding-right:0}.pr-1{padding-right:var(--space-1)}.pr-2{padding-right:var(--space-2)}.pr-3{padding-right:var(--space-3)}.pr-4{padding-right:var(--space-4)}.pr-5{padding-right:var(--space-5)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.pb-5{padding-bottom:var(--space-5)}.pl-0{padding-left:0}.pl-1{padding-left:var(--space-1)}.pl-2{padding-left:var(--space-2)}.pl-3{padding-left:var(--space-3)}.pl-4{padding-left:var(--space-4)}.pl-5{padding-left:var(--space-5)}.gap-0{gap:0}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-x-0{column-gap:0}.gap-x-1{column-gap:var(--space-1)}.gap-x-2{column-gap:var(--space-2)}.gap-x-3{column-gap:var(--space-3)}.gap-x-4{column-gap:var(--space-4)}.gap-x-5{column-gap:var(--space-5)}.gap-y-0{row-gap:0}.gap-y-1{row-gap:var(--space-1)}.gap-y-2{row-gap:var(--space-2)}.gap-y-3{row-gap:var(--space-3)}.gap-y-4{row-gap:var(--space-4)}.gap-y-5{row-gap:var(--space-5)}.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}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}.skip-link{position:absolute;top:-40px;left:0;background-color:var(--color-accent, #E85D2A);color:#fff;padding:var(--space-2, 16px) var(--space-3, 24px);text-decoration:none;font-weight:600;border-radius:0 0 4px;z-index:9999;transition:top .2s ease-in-out}.skip-link:focus{top:0;outline:2px solid var(--color-primary, #6B1F1F);outline-offset:2px}.focus-visible:focus-visible{outline:2px solid var(--color-accent, #E85D2A);outline-offset:2px;border-radius:4px}.focus-visible:focus:not(:focus-visible){outline:none}.focus-ring:focus{outline:2px solid var(--color-accent, #E85D2A);outline-offset:2px;box-shadow:0 0 0 3px #e85d2a1a}.focus-ring-primary:focus{outline:2px solid var(--color-primary, #6B1F1F);outline-offset:2px;box-shadow:0 0 0 3px #6b1f1f1a}.focus-ring-inset:focus{outline:2px solid var(--color-accent, #E85D2A);outline-offset:-2px}.not-focusable{pointer-events:none;-webkit-user-select:none;user-select:none}.keyboard-focus:focus:not(:focus-visible){outline:none}.keyboard-focus:focus-visible{outline:2px solid var(--color-accent, #E85D2A);outline-offset:2px}@media (prefers-contrast: high){.focus-ring:focus,.focus-visible:focus-visible,.keyboard-focus:focus-visible{outline:3px solid currentColor;outline-offset:3px}}@media (prefers-reduced-motion: reduce){.skip-link{transition:none}}.visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.visually-hidden:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto;white-space:normal}.no-outline:focus{outline:none}.a11y-hide{display:none;visibility:hidden}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.select-auto{-webkit-user-select:auto;user-select:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-in{animation:fade-in .35s ease-in-out}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.fade-out{animation:fade-out .35s ease-in-out}.fade-transition{transition:opacity .35s ease-in-out}.fade-transition-slow{transition:opacity .5s ease-in-out}.fade-transition-fast{transition:opacity .15s ease-in-out}@keyframes slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.slide-in-right{animation:slide-in-right .4s ease-out}@keyframes slide-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.slide-in-left{animation:slide-in-left .4s ease-out}@keyframes slide-out-left{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}.slide-out-left{animation:slide-out-left .4s ease-out}.slide-transition{transition:transform .4s ease-out}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.scale-in{animation:scale-in .35s ease-out}.scale-transition{transition:transform .35s ease-out}@keyframes gentle-pulse{0%{opacity:1}50%{opacity:.85}to{opacity:1}}.gentle-pulse{animation:gentle-pulse .5s ease-in-out}.color-transition{transition:background-color .35s ease-in-out,color .35s ease-in-out}@keyframes train-row-enter{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.train-row-enter{animation:train-row-enter .4s ease-out}@keyframes train-row-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.train-row-exit{animation:train-row-exit .4s ease-out}@keyframes train-row-update{0%{background-color:transparent}50%{background-color:#00000005}to{background-color:transparent}}.train-row-update{animation:train-row-update .6s ease-in-out}.no-animation{animation:none!important;transition:none!important}.smooth-transition{transition:all .35s ease-in-out}.gpu-accelerated{will-change:transform;transform:translateZ(0)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.fade-in,.fade-out,.slide-in-right,.slide-in-left,.slide-out-left,.scale-in,.gentle-pulse,.train-row-enter,.train-row-exit,.train-row-update{animation:none!important}.fade-transition,.fade-transition-slow,.fade-transition-fast,.slide-transition,.scale-transition,.color-transition,.smooth-transition{transition:none!important}}:root{--animation-duration-fast: .15s;--animation-duration-normal: .35s;--animation-duration-slow: .5s;--animation-duration-slide: .4s;--animation-easing-ease-in-out: cubic-bezier(.4, 0, .2, 1);--animation-easing-ease-out: cubic-bezier(0, 0, .2, 1);--animation-easing-ease-in: cubic-bezier(.4, 0, 1, 1);--animation-delay-short: 50ms;--animation-delay-medium: .1s;--animation-delay-long: .2s}.stagger-1{animation-delay:calc(var(--animation-delay-short) * 1)}.stagger-2{animation-delay:calc(var(--animation-delay-short) * 2)}.stagger-3{animation-delay:calc(var(--animation-delay-short) * 3)}.stagger-4{animation-delay:calc(var(--animation-delay-short) * 4)}.stagger-5{animation-delay:calc(var(--animation-delay-short) * 5)}.stagger-6{animation-delay:calc(var(--animation-delay-short) * 6)}.animated-element{contain:layout style paint}.complex-animation{will-change:transform,opacity}.animation-complete{will-change:auto}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-family, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-size:var(--font-size-base, 16px);line-height:var(--line-height-normal, 1.5);color:var(--color-text, #000000);background-color:var(--color-background, #FFFFFF);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--color-accent, #E85D2A);outline-offset:2px}:focus:not(:focus-visible){outline:none}
