body{max-width:100vw;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{font-family:inherit}.transition-all{transition:all .3s ease}.hover-bg-light:hover{background-color:#f8f9fa!important}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#764ba2,#667eea)}.form-control:focus{border-color:#667eea;box-shadow:0 0 0 .2rem rgba(102,126,234,.25)}a{transition:all .3s ease}:root{--primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--secondary-gradient:linear-gradient(135deg,#f093fb,#f5576c);--success-gradient:linear-gradient(135deg,#11998e,#38ef7d);--info-gradient:linear-gradient(135deg,#4facfe,#00f2fe);--bg-gradient:linear-gradient(135deg,#f5f7fa,#c3cfe2);--primary-color:#667eea;--secondary-color:#764ba2;--text-dark:#2d3748;--text-muted:#718096;--bg-light:#f7fafc;--border-color:#e2e8f0;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 2px 8px rgba(0,0,0,.08);--shadow-md:0 4px 16px rgba(0,0,0,.1);--shadow-lg:0 10px 40px rgba(0,0,0,.12);--shadow-xl:0 20px 60px rgba(0,0,0,.15)}*{box-sizing:border-box}body{margin:0!important;padding:0!important;width:100%;overflow-x:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:var(--text-dark);line-height:1.6;background-color:#f8f9fa;min-height:100vh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modern-page{min-height:100vh;background:var(--bg-light)}.modern-hero{background:var(--primary-gradient);padding:120px 0 60px;color:#fff;position:relative;overflow:hidden}.modern-hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,hsla(0,0%,100%,.1) 1px,transparent 0),radial-gradient(circle at 80% 80%,hsla(0,0%,100%,.1) 1px,transparent 0);background-size:50px 50px;opacity:.3}.modern-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:all .3s ease;border:1px solid var(--border-color);word-wrap:break-word;overflow-wrap:break-word;min-width:0}.modern-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.modern-btn{padding:12px 32px;border-radius:var(--radius-md);font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:8px}.modern-btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:var(--shadow-sm)}.modern-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.modern-btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.modern-btn-outline:hover{background:var(--primary-color);color:#fff}.modern-btn-lg{padding:16px 40px;font-size:1.1rem}.modern-input{width:100%;padding:14px 20px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:all .3s ease;background:#fff}.modern-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(102,126,234,.1)}.modern-input-lg{padding:18px 24px;font-size:1.1rem}.modern-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;background:var(--bg-gradient);color:var(--text-dark)}.modern-badge-primary{background:var(--primary-gradient);color:#fff}.modern-grid{display:grid;grid-gap:var(--spacing-lg);gap:var(--spacing-lg)}.modern-grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media (max-width:768px){.modern-grid-3{grid-template-columns:1fr}}.modern-alert{padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);display:flex;align-items:flex-start;gap:var(--spacing-sm)}.modern-alert,.modern-alert>*{word-wrap:break-word;overflow-wrap:break-word;min-width:0}.modern-alert-info{background:#e6f7ff;border-left:4px solid #1890ff;color:#0050b3}.modern-alert-success{background:#f6ffed;border-left:4px solid #52c41a;color:#237804}.modern-alert-warning{background:#fffbe6;border-left:4px solid #faad14;color:#ad6800}.modern-alert-error{background:#fff1f0;border-left:4px solid #ff4d4f;color:#a8071a}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.glass-effect{background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2)}@media (max-width:768px){.modern-hero{padding:80px 0 60px}.modern-card{padding:var(--spacing-md)}.modern-alert{padding:var(--spacing-sm);font-size:.9rem}.modern-grid{gap:var(--spacing-md)}}@media (max-width:576px){.container{padding-left:16px!important;padding-right:16px!important}.container .row{margin-left:0!important;margin-right:0!important}.container .row>[class*=col]{padding-left:0!important;padding-right:0!important}}.train-search-container{position:relative;z-index:1000}.search-input-wrapper{position:relative}.train-search-input{border:var(--input-border,2px solid #e1e5e9);background:var(--input-bg,#fff);color:var(--input-color,#333);-webkit-backdrop-filter:var(--input-backdrop,none);backdrop-filter:var(--input-backdrop,none);transition:all .3s ease;text-align:center;min-height:48px;font-weight:600;font-size:1.1rem}.train-search-input:focus{border-color:hsla(0,0%,100%,.5)!important;background:var(--input-bg,#fff)!important;color:var(--input-color,#333)!important;box-shadow:0 0 0 3px hsla(0,0%,100%,.1)!important;outline:none!important}.train-search-input::placeholder{color:var(--input-color,#666);opacity:.8}.search-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#666}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);max-height:300px;overflow-y:auto;z-index:10000;margin-top:4px;width:100%}.suggestion-item{cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.suggestion-item:hover{background-color:#f8f9fa}.suggestion-item:last-child{border-bottom:none}.train-number-badge{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border-radius:4px;font-weight:600;min-width:60px;text-align:center}.train-name-text{flex:1 1;color:#333;font-weight:500}.no-suggestions{color:#666}.no-suggestions-text{font-weight:600}.no-suggestions-hint{opacity:.8}.train-icon-wrapper{position:relative;padding-bottom:20px}.train-icon{animation:trainMove 2s ease-in-out infinite;font-size:4rem!important;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.train-track{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:120px;height:4px;background:repeating-linear-gradient(90deg,hsla(0,0%,100%,.3),hsla(0,0%,100%,.3) 10px,transparent 0,transparent 20px);border-radius:2px}.loading-dots span{width:10px;height:10px;background:#fff;border-radius:50%;animation:dotPulse 1.4s ease-in-out infinite both;box-shadow:0 2px 4px rgba(0,0,0,.2)}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes trainMove{0%,to{transform:translateX(-10px)}50%{transform:translateX(10px)}}@keyframes dotPulse{0%,to{transform:scale(.6);opacity:.5}50%{transform:scale(1);opacity:1}}