#root{margin:0 auto;text-align:center}.card{padding:2em}.read-the-docs{color:#888}html,body{margin:0;padding:0;background-color:#fff;color:#2c5463;font-family:Inter,Roboto,sans-serif}h2{font-size:35px;color:#192930}h4{font-size:20px}button{background-color:#2b5362;color:#fff;padding:12px 20px;border-radius:10px;text-decoration:none;transition:all .3s ease;box-shadow:0 8px 8px #0000001a;font-family:Inter,Roboto,sans-serif;font-size:15px}button:hover{background-color:#192930;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}input[type=text],input[type=date]{color:#192930;padding:12px 20px;width:50%;margin:8px 0;border:1px solid #ccc;border-radius:4px;font-family:Inter,Roboto,sans-serif;font-size:15px}button[type=submit]{width:50%;margin:8px 0}.train-form{display:flex;flex-direction:column;gap:1rem;align-items:center}.field{display:flex;flex-direction:column;width:50%}.field input{width:100%}.hero{margin:0;width:100%;min-height:500px;display:flex;align-items:center;justify-content:center;text-align:center;background-blend-mode:lighten;background-size:cover;background-position:50% 60%}.hero-inner{position:relative;z-index:1;max-width:720px;padding:40px 16px}.hero h2{font-size:35px;color:#192930}.theme-toggle{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-8);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);color:var(--color-text);font-size:var(--font-size-lg)}.theme-toggle:hover{background:var(--color-secondary);transform:scale(1.1)}.theme-toggle:focus-visible{outline:var(--focus-outline);box-shadow:var(--focus-ring)}.page{background-color:#c5e7ef}.hero-form{margin:0;width:100%;min-height:500px;display:flex;align-items:center;justify-content:center;text-align:center;background-blend-mode:lighten;background-size:cover;background-position:50% 100%}.train-form-page{display:flex;flex-direction:column;align-items:center}.train-form-page h2{color:#2b5362}.train-form-container{display:flex;flex-direction:column;align-items:center}.cardLogin{margin:30px}.train-form-container .field{width:150%;!important}.instructions{margin-bottom:30px}button[type=submit]{width:200px;!important}@media (max-width: 768px){.foto img{width:250px}}.table-wrapper-form{display:flex;flex-direction:column;padding:30px 20px;border-top-style:dashed}.table-details{width:100%;display:flex;flex-direction:column;padding:30px 20px}.table-wrapper .header-searching{display:flex;flex-direction:row;justify-content:center}.header-searching h2{color:#2b5362!important}.train-type-badge{color:#fcfcf9;padding:4px 8px;border-radius:9999px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.train-type-regional{background-color:#21808d}.train-type-intercity{background-color:#a84b2f}.train-type-high-speed{background-color:#c0152f}.table-wrapper thead{font-size:18px!important}.results-table{border-collapse:separate;border-spacing:0 14px;width:100%}.results-table tbody tr.result-row td{background:#fff;padding:16px;border:none}.results-table tbody tr.result-row td:first-child{border-top-left-radius:12px;border-bottom-left-radius:12px}.results-table tbody tr.result-row td:last-child{border-top-right-radius:12px;border-bottom-right-radius:12px}.results-table tbody tr.result-row td:first-child{box-shadow:0 2px 6px #00000014}.results-table tbody tr.result-row td+td{box-shadow:0 2px 6px #00000014}.results-table thead th{background:transparent;border:none;padding:12px 8px}.results-table tbody tr.details-row td{background:#f6fbfc;padding:12px 16px;border-radius:10px}button{margin:5px}.class-option.selected{background-color:#0a2250;color:#fff;transform:scale(.9)}@media (max-width: 768px){table,tbody,th,td,tr{display:block;font-size:16px}thead{display:none}tr{margin-bottom:1rem;border:1px solid #ddd;border-radius:12px;padding:1rem;background:#fff}td{display:flex;justify-content:flex-start;padding:.5rem 0}td:before{font-weight:700;margin-right:.5rem}.etichetta-cel{display:initial;color:#2b5362;margin-right:5px}.seleziona-classe,.bottoni{display:flex;align-items:center;justify-content:center}}.cardLogin{border:2px solid #e2e8f0;border-radius:20px;padding:30px 30px 50px;box-shadow:0 2px 3px #0006;max-width:720px;display:grid;place-items:center;background:linear-gradient(#eef7fb,#fff)}.hero-dashboard{background-color:#c5e7ef}.dashboard-header{padding:40px 20px 20px}.dashboard-header h1{color:#2b5362}.dashboard-header button{margin:10px}.dashboard-container{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-around;gap:30px;margin:0 30px}.user-info-card{border-radius:30px;padding:50px;margin-bottom:30px;box-shadow:#8f8f8f 1px 2px 3px;background:linear-gradient(#eef7fb,#fff);flex:1;max-width:400px}.user-info-card h2{color:#2b5362}.user-info-card p{color:#2b5362;font-size:15px}.profile-img{width:80px;margin-bottom:20px}.user-info-card .user-stats{margin-top:30px}.user-info-card button{margin-top:20px}.bookings-section{border-radius:30px;padding:50px;margin-bottom:30px;box-shadow:#8f8f8f 1px 2px 3px;background-color:#2b5362;flex:1.5}.bookings-section button{color:#2b5362;background-color:#e2e8f0;margin-top:20px}.bookings-section p{color:#fff}.section-title{border-bottom-style:solid;padding-bottom:15px}.booking-content{border-radius:20px;padding:20px;color:#2b5362;background:linear-gradient(#eef7fb,#fff);box-shadow:#000 3px 4px 5px}.booking-header{padding-bottom:40px}.bookings-grid{display:grid;gap:40px}.route-info{display:flex;flex-direction:column;gap:15px}.station-name{font-weight:700;font-size:17px;padding-right:5px}.train-info{display:flex;flex-direction:row;align-items:center;justify-content:space-around;background-color:#559abc;padding:15px;border-radius:10px;color:#fff;margin-bottom:30px}.booking-details{color:#2b5362;border-color:#0369a1}.train-details{padding:24px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #7a7a7a}.detail-item .label{font-weight:700}.detail-item .value{text-align:right;font-size:15px}.booked-date{padding-top:15px}@media (max-width: 768px){.dashboard-container{flex-direction:column;align-items:center;margin:0 20px;gap:10px}.user-info-card{width:100%;max-width:none;padding:20px}.bookings-section{width:100%}.booking-container{padding:var(--space-16)}.detail-grid{grid-template-columns:1fr;gap:var(--space-8)}.detail-item{flex-direction:column;align-items:flex-start;gap:var(--space-4)}.detail-item .value{text-align:left}.train-info{margin-bottom:20px}}.dashboard-loading{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.empty-icon{font-size:30px}.hero-register{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:calc(50% - 50vw);margin-bottom:calc(50% - 50vw);width:100vw;min-height:500px;display:grid;align-items:center;justify-content:center;text-align:center;background-size:cover;background-color:#c5e7ef}.form-register{display:flex;flex-direction:column;align-items:center}.form-register input{width:100%}.cardLogin h2{color:#2b5362}.logo{height:150px;padding:1.5em;margin:20px 20px 20px 50px}header{position:sticky;width:100%;display:flex;align-items:center;justify-content:space-between;background-color:#76a9b6;color:#454545;z-index:1000;height:150px;box-shadow:0 4px 8px #0003,0 6px 20px #00000030}.header-container{display:flex;justify-content:flex-start;align-items:center}.titolo{font-weight:400;color:#fff}.nav-desktop{display:block}.hamburger{display:none}.hamburger{background-color:#2b5362;border:0;cursor:pointer;padding:10px;border-radius:8px}.hamburger span{display:block;width:26px;height:3px;margin:5px 0;background:#fff;transition:transform .3s ease,opacity .3s ease}@media (max-width: 768px){.nav-desktop{display:none}.hamburger{display:inline-block;margin-right:50px}.header-container img{height:150px!important;margin-left:16px!important}.titolo{margin-left:8px;font-size:17px;color:#fff}}nav ul{list-style:none;display:flex;justify-content:flex-end;align-items:center;margin-right:40px;gap:0}nav ul li{display:flex;align-items:center;position:relative;margin:0 10px;border-radius:10px;font-family:Inter,Roboto,sans-serif}nav ul li a{color:#fff;padding:12px 20px;border-radius:10px;text-decoration:none;display:inline-block;transition:all .3s ease}nav ul li a:hover{background-color:#192930;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}nav ul li a.active{background-color:#2b5362;color:#fff;padding:12px 20px;border-radius:10px;text-decoration:none;display:inline-block;transition:all .3s ease;box-shadow:0 8px 8px #0000001a}.sidebar{position:fixed;top:0;left:0;height:100vh;width:78%;max-width:320px;background:#0f2027;color:#fff;transform:translate(-100%);transition:transform .3s ease;z-index:1001;padding:20px;box-shadow:4px 0 18px #0003}.sidebar.open{transform:translate(0)}.sidebar .close{background:transparent;color:#fff;font-size:28px;border:0;cursor:pointer;line-height:1;margin-left:auto;display:block}.nav-mobile ul{padding:0;margin:56px 0 0;display:block}.nav-mobile li{margin-bottom:6px;border-bottom-style:solid;border-radius:0!important}.nav-mobile a{display:block;padding:12px 16px;color:#fff;text-decoration:none;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;box-shadow:0 8px 8px #0000001a}.nav-mobile a:hover{background-color:transparent}.nav-mobile a.active{background-color:transparent;color:#76a9b6;transform:none;padding:10px 16px}.overlay{position:fixed;inset:0;background:#00000059;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:1000}.overlay.show{opacity:1;pointer-events:auto}footer{background-color:#76a9b6;margin-top:auto;display:flex;flex-direction:column;padding-top:30px;color:#fff}.flex-container{display:flex;justify-content:space-around;align-items:center;color:#2c5463}.menu-footer ul{display:flex;flex-direction:column;align-items:flex-start}.menu-footer ul li a{padding-top:1px}.menu-footer ul li a:hover{background-color:transparent;box-shadow:none;color:#2b5362}.parte-bassa-footer{text-align:center;padding:12px 16px;margin-top:5px;border-top:1px solid rgba(0,0,0,.08);background:#192930;color:#fff;height:50px}h2,h4{color:#fff}section.section{padding:48px 0}.grid{display:grid;gap:16px;grid-template-columns:1fr}@media (min-width: 768px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.grid{grid-template-columns:repeat(4,1fr)}}.card-spacer{border:2px solid #e2e8f0;border-radius:20px;padding:18px;box-shadow:0 2px 3px #0006;background-color:#cfe0e4;transition:all .3s ease}.card-title{display:flex;align-items:center;gap:13px;font-weight:600}.card-desc{color:#475569}.icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;background:#e0f2fe;color:#0369a1;border-radius:999px;font-size:12px}.card-spacer:hover{transform:translateY(-4px);box-shadow:0 2px 3px #00000026;background-color:#b0e0e6}.container{max-width:1120px;margin:0 auto;padding:0 16px}.booking-container{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#c5e7ef}.booking-container h2{color:#2b5362}.cardLogin h2{font-size:25px;margin-bottom:20px}.booking-summary{border:1px solid #475569;border-radius:12px;overflow:hidden;margin-bottom:32px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005}.train-details{padding-top:0}.detail-item .label{font-size:16px;margin-right:20px;font-weight:700;display:inline-flex;flex-direction:row}.detail-item .value{font-size:14px}.detail-grid{display:grid;gap:20px}.journey-details{display:flex;flex-direction:column;align-items:center;justify-content:center}@media (max-width: 768px){.booking-container .cardLogin{width:80%;margin-top:0}.train-details{display:flex;flex-direction:column;width:100%;padding:0}.detail-item{flex-direction:row}}.table-wrapper{width:100%;overflow:auto;border-radius:12px;background:#fff;box-shadow:0 6px 18px #0000000f;border:1px solid #e2e8f0}.stops-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font:500 16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Inter,sans-serif;color:#2b5362;background:#fff}.stops-table thead th{position:sticky;top:0;z-index:1;text-align:left;padding:.9rem 1.1rem;font-weight:700;background:#e8f3f7;color:#1e3b46;border-bottom:1px solid #d7e3ea}.stops-table td,.stops-table th{padding:.85rem 1.1rem;vertical-align:middle;border-bottom:1px solid #eef2f6}.stops-table tbody tr:nth-child(odd){background:#f8fbfd}.stops-table thead th:first-child{border-top-left-radius:12px}.stops-table thead th:last-child{border-top-right-radius:12px}.stops-table tbody tr:last-child td:first-child{border-bottom-left-radius:12px}.stops-table tbody tr:last-child td:last-child{border-bottom-right-radius:12px}.stops-table td{font-variant-numeric:tabular-nums}.stops-table td:nth-child(2),.stops-table td:nth-child(3){text-align:right}.stops-table td:empty:before{content:"—";opacity:.6}@media (max-width: 768px){.journey-details{width:100%}.table-wrapper{border:0;box-shadow:none;padding:0}.stops-table{border-spacing:0;table-layout:auto}.stops-table thead{display:none}.stops-table tbody tr{display:grid;grid-template-columns:1fr;gap:.35rem;margin:.75rem 0}}.actions{margin-bottom:30px}:root{--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-cream-50: rgba(252, 252, 249, 1);--color-cream-100: rgba(255, 255, 253, 1);--color-gray-200: rgba(245, 245, 245, 1);--color-gray-300: rgba(167, 169, 169, 1);--color-gray-400: rgba(119, 124, 124, 1);--color-slate-500: rgba(98, 108, 113, 1);--color-brown-600: rgba(94, 82, 64, 1);--color-charcoal-700: rgba(31, 33, 33, 1);--color-charcoal-800: rgba(38, 40, 40, 1);--color-slate-900: rgba(19, 52, 59, 1);--color-teal-300: rgba(50, 184, 198, 1);--color-teal-400: rgba(45, 166, 178, 1);--color-teal-500: rgba(33, 128, 141, 1);--color-teal-600: rgba(29, 116, 128, 1);--color-teal-700: rgba(26, 104, 115, 1);--color-teal-800: rgba(41, 150, 161, 1);--color-red-400: rgba(255, 84, 89, 1);--color-red-500: rgba(192, 21, 47, 1);--color-orange-400: rgba(230, 129, 97, 1);--color-orange-500: rgba(168, 75, 47, 1);--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 33, 128, 141;--color-slate-900-rgb: 19, 52, 59;--color-slate-500-rgb: 98, 108, 113;--color-red-500-rgb: 192, 21, 47;--color-red-400-rgb: 255, 84, 89;--color-orange-500-rgb: 168, 75, 47;--color-orange-400-rgb: 230, 129, 97;--color-bg-1: rgba(59, 130, 246, .08);--color-bg-2: rgba(245, 158, 11, .08);--color-bg-3: rgba(34, 197, 94, .08);--color-bg-4: rgba(239, 68, 68, .08);--color-bg-5: rgba(147, 51, 234, .08);--color-bg-6: rgba(249, 115, 22, .08);--color-bg-7: rgba(236, 72, 153, .08);--color-bg-8: rgba(6, 182, 212, .08);--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-select-caret: rgba(var(--color-slate-900-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: 33, 128, 141;--color-error-rgb: 192, 21, 47;--color-warning-rgb: 168, 75, 47;--color-info-rgb: 98, 108, 113;--font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .02);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .15), inset 0 -1px 0 rgba(0, 0, 0, .03);--duration-fast: .15s;--duration-normal: .25s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}@media (prefers-color-scheme: dark){:root{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .2);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--button-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}}[data-color-scheme=dark]{--color-gray-400-rgb: 119, 124, 124;--color-teal-300-rgb: 50, 184, 198;--color-gray-300-rgb: 167, 169, 169;--color-gray-200-rgb: 245, 245, 245;--color-bg-1: rgba(29, 78, 216, .15);--color-bg-2: rgba(180, 83, 9, .15);--color-bg-3: rgba(21, 128, 61, .15);--color-bg-4: rgba(185, 28, 28, .15);--color-bg-5: rgba(107, 33, 168, .15);--color-bg-6: rgba(194, 65, 12, .15);--color-bg-7: rgba(190, 24, 93, .15);--color-bg-8: rgba(8, 145, 178, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-teal-300);--color-primary-hover: var(--color-teal-400);--color-primary-active: var(--color-teal-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-teal-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-teal-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .15);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-teal-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}[data-color-scheme=light]{--color-brown-600-rgb: 94, 82, 64;--color-teal-500-rgb: 33, 128, 141;--color-slate-900-rgb: 19, 52, 59;--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-teal-500);--color-primary-hover: var(--color-teal-600);--color-primary-active: var(--color-teal-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-teal-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-teal-500-rgb), .4);--color-success-rgb: var(--color-teal-500-rgb);--color-error-rgb: var(--color-red-500-rgb);--color-warning-rgb: var(--color-orange-500-rgb);--color-info-rgb: var(--color-slate-500-rgb)}.confirm-container{padding:32px;background:#c5e7ef;display:flex;flex-direction:column;align-items:center;justify-content:center}.success-header{text-align:center;margin-bottom:32px}.success-icon{width:80px;height:80px;border-radius:9999px;background:linear-gradient(135deg,#2b5362,#192930);color:#fff;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;margin:0 auto 16px}.success-header h1{color:#2b5362;margin:0 0 8px;font-size:30px}.success-message{color:#071012;font-size:var(--font-size-lg);margin:0}.ticket-card{background:#192930;border-radius:20px;box-shadow:#475569 1px 1px 1px;overflow:hidden;margin-bottom:32px;border:1px solid #475569;width:80%}.ticket-header{background:linear-gradient(135deg,#76a9b6,#21808d);color:#fff;padding:24px;display:flex;justify-content:space-between;align-items:center}.ticket-header h2{margin:0;font-size:20px}.booking-codes{display:flex;gap:14px}.code-item{text-align:center}.code-label{display:block;opacity:.8;margin-bottom:4px}.code-value{display:block;background:#fff3;padding:8px 16px;border-radius:5px}.route-section{padding:24px}.route-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.route-header h3{margin:0;color:#fff}.train-type-badge{background:#bf4a4a;color:#fff;border-radius:999px;margin-top:10px}.route-info-conf{display:flex;align-items:center;gap:32px;margin:24px 0}.station{flex:1;text-align:center}.station-name-conf{color:#fff;margin-bottom:8px}.station-time-conf{color:#8ce0ef;font-weight:600;margin-bottom:4px}.station-label{font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:.5px}.route-arrow-conf{display:flex;flex-direction:column;align-items:center;color:#21808d}.arrow-line{height:2px;width:60px;background:#21808d;margin-bottom:6px}.journey-date{text-align:center;background:#8fbbc6;padding:16px;border-radius:5px;color:#1f2429}.booking-details-conf{padding:24px;border-bottom:1px solid #888888}.detail-grid-conf{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px}.detail-card{background:#0a2250;border:2px solid #2b5362;border-radius:20px;padding:16px;text-align:center;transition:all .2s linear}.detail-card:hover{border-color:#559abc;transform:translateY(-2px)}.detail-icon{font-size:20px;margin-bottom:8px}.detail-label{font-size:12px;color:#888;margin-bottom:5px}.detail-value{font-size:16px;font-weight:600;color:#fff}.schedule-section{padding:24px;border-bottom:1px solid}.schedule-section h3{margin:0 0 16px;color:#fff;font-size:18px;font-weight:700}.table-wrapper-conf{overflow-x:auto;border-radius:13px;border:1px solid}.stops-table{width:100%;border-collapse:collapse}.stops-table th{text-align:left;font-size:15px}.stops-table td{padding:10px;border-bottom:1px solid #90ced6;font-size:12px}.stops-table tr:last-child td{border-bottom:none}.station-badge{display:inline-block;font-size:12px;padding:4px 8px;border-radius:999px;margin-right:6px;font-weight:700;text-transform:uppercase}.station-badge.from{background:#5ec9d8;color:#192930}.station-badge.to{background:#cd5c5c;color:#192930}.info-section{padding:24px}.info-section h4{margin:0 0 15px;color:#fff;font-size:16px;font-weight:700}.info-list{margin:0;padding-left:20px;color:#8f8f8f}.info-list li{margin-bottom:5px;line-height:30px}.info-list li:last-child{margin-bottom:0}@media (max-width: 768px){.confirm-container{padding:16px}.ticket-card{width:90%}.ticket-header{flex-direction:column;gap:16px;text-align:center}.booking-codes{justify-content:center}.route-header{flex-direction:column;gap:8px;text-align:center}.route-info-conf{flex-direction:column;gap:16px}.route-arrow-conf{transform:rotate(90deg);font-weight:700;font-size:20px}.arrow-line{display:none}.detail-grid-conf{grid-template-columns:1fr}.actions{flex-direction:column;align-items:center}.table-wrapper-conf{border:1px;border-radius:10px}.stops-table{border-radius:10px;background:none}.stops-table tbody tr{background:#c5e7ef!important}.info-list li{line-height:25px;color:#cdcdcd}}@media print{.confirm-container{background:var(--color-white);max-width:none;padding:0}.actions{display:none}.ticket-card{box-shadow:none;border:2px solid var(--color-black)}.success-header{page-break-after:avoid}.schedule-section{page-break-inside:avoid}}.seat-selection-page{display:flex;flex-direction:column;background-color:#c5e7ef;padding:0 5rem}.seat-selection-container{margin:0 30px}.seat-selection-container h2{color:#2b5362}.train-info{background-color:#76a9b6;color:#fff;padding:16px 24px;border-radius:8px;margin-bottom:16px;border:1px solid #757575;box-shadow:0 1px 3px #00000014;display:flex;justify-content:space-between;align-items:center}.train-info .route{font-weight:600}.train-info .class-info,.train-info .train-type{margin-left:16px}.legend{display:flex;justify-content:center;gap:32px;margin-bottom:32px;padding:16px 24px;background-color:#245c68;border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #00000014}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:#fff}.legend .seat{width:22px;height:22px;border-radius:4px;border:3px solid transparent}.legend .seat.available{border-color:#535353;background:#fffc;box-shadow:#000 2px 2px 2px}.legend .seat.occupied{border-color:#650d1a;background:#c0152fcc;box-shadow:#000 2px 2px 2px}.legend .seat.selected{border-color:#21808d;background:#21808d4d;box-shadow:#000 2px 2px 2px}.coach-selector h4{color:#2b5362;margin-bottom:8px}.coach-buttons{margin-bottom:16px}.coaches-container{display:flex;flex-direction:column;gap:16px}.coach{background:#fffffd;border:1px solid rgba(94,82,64,.12);border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000a,0 1px 2px #00000005;transition:box-shadow .25s cubic-bezier(.16,1,.3,1)}.coach:hover{box-shadow:0 4px 6px -1px #0000000a,0 2px 4px -1px #00000005}.coach .coach-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(94,82,64,.12)}.coach .coach-header h3{margin:0;color:#13343b;font-size:18px;font-weight:550}.coach .coach-info{color:#626c71;font-size:12px}.coach .seat-map{display:flex;flex-direction:column;gap:8px;align-items:center}.coach .seat-row{display:flex;align-items:center;gap:8px}.coach .row-number{width:30px;text-align:center;color:#626c71;font-size:12px;font-weight:550}.coach .seat-group{display:flex;gap:4px}.coach .aisle{width:32px;height:1px}.coach .seat{width:40px;height:40px;border:2px solid rgba(94,82,64,.2);border-radius:8px;background:#fffffd;cursor:pointer;font-size:11px;font-weight:550;transition:all .15s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;justify-content:center;color:#13343b}.coach .seat.available{background:#21808d1a;border-color:#21808d;color:#21808d}.coach .seat.available:hover{background:#21808d26;transform:scale(1.05)}.coach .seat.occupied{background:#c0152f1a;border-color:#c0152f;color:#c0152f;cursor:not-allowed}.coach .seat.selected{background:#21808d26;border-color:#21808d;color:#21808d;box-shadow:0 0 0 3px #21808d66}.coach .seat:focus-visible{outline:2px solid #21808d;outline-offset:2px}@media (max-width: 768px){.coach{padding:16px}.coach .seat{width:35px;height:35px;font-size:11px}}@media (max-width: 480px){.coach .coach-header{flex-direction:column;gap:8px;text-align:center}.coach .coach-header h3{font-size:16px}.coach .seat{width:30px;height:30px;font-size:10px}.coach .row-number{width:25px;font-size:11px}.coach .aisle{width:16px}}.seat-config-info{margin-top:20px}.selected-seats{display:flex;flex-direction:column;align-items:center;justify-content:center}.selected-seat-info{background-color:#fff;padding:20px 40px;margin:10px;border-radius:20px;box-shadow:#757575 2px 2px 2px}
