.trains-back-link{display:inline-flex;align-items:center;gap:0.5rem;color:#0066cc;text-decoration:none;font-size:0.9rem;margin-bottom:1rem;padding:0.5rem 0}.trains-back-link:hover{text-decoration:underline}:root{--train-primary:#0066cc;--delay-low:#16a34a;--delay-medium:#f59e0b;--delay-high:#dc2626}.trains-page-header{background:linear-gradient(135deg,#1a365d 0%,#2c5282 100%);color:#fff;padding:1.5rem 1rem;border-radius:12px;margin-bottom:1rem}.trains-page-header h1{margin:0;font-size:1.5rem;display:flex;align-items:center;gap:0.5rem}.trains-search-box{background:#fff;border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.trains-search-wrapper{position:relative;display:flex;align-items:center}.trains-search-icon{position:absolute;left:1rem;color:#64748b;pointer-events:none}.trains-search-input{width:100%;padding:0.75rem 1rem 0.75rem 2.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color 0.2s}.trains-search-input:focus{outline:none;border-color:var(--train-primary)}.trains-search-clear{position:absolute;right:0.5rem;background:none;border:none;color:#94a3b8;cursor:pointer;padding:0.5rem;display:none}.trains-search-clear.visible{display:block}.trains-search-hint{font-size:0.85rem;color:#64748b;margin-top:0.5rem}.trains-delayed-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.08);padding:1.5rem;margin-bottom:1.5rem;border-left:4px solid var(--delay-medium)}.trains-delayed-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;margin-bottom:1rem}.trains-delayed-header h2{font-size:1.25rem;margin:0;color:#1e293b;display:flex;align-items:center;gap:0.5rem}.trains-delayed-count{background:var(--delay-medium);color:#fff;padding:0.25rem 0.75rem;border-radius:20px;font-size:0.9rem;font-weight:600}.trains-delayed-updated{font-size:0.85rem;color:#64748b}.trains-delayed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0.75rem}.trains-delayed-grid.hidden{display:none}.train-delay-card{display:block;background:#f8fafc;border-radius:8px;padding:1rem;text-decoration:none;color:inherit;border-left:4px solid var(--delay-low);transition:all 0.2s}.train-delay-card:hover{background:#f1f5f9;transform:translateY(-2px)}.train-delay-card--low{border-left-color:var(--delay-low)}.train-delay-card--medium{border-left-color:var(--delay-medium)}.train-delay-card--high{border-left-color:var(--delay-high)}.train-delay-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.5rem}.train-delay-card__number{font-weight:700;color:#1e293b;display:flex;align-items:center;gap:0.5rem}.train-delay-card__flag{width:20px;height:15px;border-radius:2px}.train-delay-card__delay{font-weight:600;padding:0.15rem 0.5rem;border-radius:4px;font-size:0.85rem}.train-delay-card__delay--low{background:#dcfce7;color:#166534}.train-delay-card__delay--medium{background:#fef3c7;color:#92400e}.train-delay-card__delay--high{background:#fee2e2;color:#991b1b}.train-delay-card__route{display:flex;align-items:center;gap:0.5rem;font-size:0.9rem;color:#475569}.train-delay-card__arrow{color:#94a3b8}.train-delay-card__country{font-size:0.8rem;color:#64748b;margin-top:0.5rem}.trains-no-results{text-align:center;padding:2rem;color:#64748b;display:none}.trains-no-results.visible{display:block}.trains-nav{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1rem}.trains-nav a{display:flex;align-items:center;gap:0.4rem;padding:0.5rem 1rem;background:#f1f5f9;color:#334155;text-decoration:none;border-radius:20px;font-size:0.9rem;transition:all 0.2s}.trains-nav a:hover,.trains-nav a.active{background:var(--train-primary);color:#fff}.trains-countries-filter{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1.5rem;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.08)}.trains-country-link{padding:0.5rem 1rem;background:#f1f5f9;color:#334155;text-decoration:none;border-radius:6px;font-size:0.9rem;transition:all 0.2s}.trains-country-link:hover,.trains-country-link.active{background:var(--train-primary);color:#fff}.trains-country-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.08);padding:1.5rem;margin-bottom:1rem}.trains-country-section h2{font-size:1.25rem;margin:0 0 1rem 0;color:#1e293b;display:flex;align-items:center;gap:0.5rem}.trains-stations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0.75rem}.trains-station-card{display:flex;align-items:center;gap:0.75rem;padding:1rem;background:#f8fafc;border-radius:8px;text-decoration:none;color:inherit;transition:all 0.2s;border:1px solid transparent}.trains-station-card:hover{background:#e2e8f0;border-color:var(--train-primary)}.trains-station-card.hidden{display:none}.trains-station-icon{width:40px;height:40px;background:var(--train-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.trains-station-info{flex:1;min-width:0}.trains-station-name{font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trains-station-city{font-size:0.85rem;color:#64748b}.trains-station-badge{display:inline-block;padding:0.15rem 0.4rem;background:#dbeafe;color:#1e40af;border-radius:4px;font-size:0.7rem;margin-top:0.25rem}.trains-country-section.hidden{display:none}.trains-delayed-inline{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px dashed #e2e8f0}.trains-view-all-footer{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.08);padding:1rem;margin-top:1rem;text-align:center}.trains-view-all-link{display:inline-flex;align-items:center;gap:0.5rem;color:var(--train-primary);text-decoration:none;font-weight:500;font-size:0.95rem}.trains-view-all-link:hover{text-decoration:underline}.trains-delayed-badge{background:#f59e0b;color:#fff;padding:0.15rem 0.5rem;border-radius:12px;font-size:0.8rem}@media (prefers-color-scheme:dark){.trains-search-box,.trains-delayed-section,.trains-countries-filter,.trains-country-section{background:#1e293b}.trains-search-input{background:#0f172a;border-color:#334155;color:#f1f5f9}.trains-search-input::placeholder{color:#64748b}.trains-delayed-header h2,.trains-country-section h2,.trains-station-name,.train-delay-card__number{color:#f1f5f9}.train-delay-card,.trains-station-card{background:#0f172a}.train-delay-card:hover,.trains-station-card:hover{background:#1e293b}.trains-country-link,.trains-nav a{background:#334155;color:#f1f5f9}}.dark-mode .trains-search-box,.dark-mode .trains-delayed-section,.dark-mode .trains-countries-filter,.dark-mode .trains-country-section{background:#1e293b}.dark-mode .trains-search-input{background:#0f172a;border-color:#334155;color:#f1f5f9}.dark-mode .trains-delayed-header h2,.dark-mode .trains-country-section h2,.dark-mode .trains-station-name,.dark-mode .train-delay-card__number{color:#f1f5f9}.dark-mode .train-delay-card,.dark-mode .trains-station-card{background:#0f172a}.dark-mode .train-delay-card:hover,.dark-mode .trains-station-card:hover{background:#1e293b}.dark-mode .trains-country-link,.dark-mode .trains-nav a{background:#334155;color:#f1f5f9}@media (max-width:480px){.trains-page-header{padding:1rem 0.75rem;border-radius:8px}.trains-page-header h1{font-size:1.25rem}.trains-search-box{padding:0.75rem}.trains-search-input{font-size:16px;padding:0.625rem 0.75rem 0.625rem 2.5rem}.trains-search-hint{font-size:0.8rem}.trains-delayed-inline{margin-bottom:0.75rem;padding-bottom:0.75rem}.trains-delayed-grid{grid-template-columns:1fr}.train-delay-card{padding:0.75rem}.train-delay-card__header{flex-wrap:wrap;gap:0.5rem}.train-delay-card__route{flex-wrap:wrap;font-size:0.85rem}.trains-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:0.25rem}.trains-nav::-webkit-scrollbar{display:none}.trains-nav a{flex-shrink:0;font-size:0.85rem;padding:0.4rem 0.75rem}.trains-countries-filter{padding:0.75rem;gap:0.4rem;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.trains-country-link{padding:0.4rem 0.75rem;font-size:0.85rem;flex-shrink:0}.trains-country-section{padding:1rem;border-radius:8px}.trains-country-section h2{font-size:1rem;flex-wrap:wrap;gap:0.25rem}.trains-country-section h2 span{font-size:0.75rem !important}.trains-stations-grid{grid-template-columns:1fr}.trains-station-card{padding:0.75rem}.trains-station-icon{width:36px;height:36px;font-size:0.9rem}.trains-view-all-footer{padding:0.75rem;margin-top:0.75rem}.trains-view-all-link{font-size:0.85rem;flex-wrap:wrap;justify-content:center}}@media (min-width:481px) and (max-width:768px){.trains-delayed-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.trains-stations-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}