:root{color:#20252b;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f6f8;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}body{background:#f4f6f8;min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.site-header{background:#fff;border-bottom:1px solid #dfe3e8}.header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1120px,100% - 32px);margin:0 auto;padding:20px 0;display:flex}.operator-name,.step-label{letter-spacing:.12em;margin:0 0 4px;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.25rem,3vw,1.75rem)}h2{margin-bottom:0;font-size:clamp(1.35rem,3vw,1.8rem)}.page{width:min(1120px,100% - 32px);margin:32px auto 64px}.search-panel,.results-section,.selection-section{background:#fff;border:1px solid #e0e4e8;border-radius:14px;padding:24px;box-shadow:0 4px 16px #0000000a}.results-section,.selection-section{margin-top:24px}.section-heading,.results-header{margin-bottom:24px}.results-header{justify-content:space-between;align-items:end;gap:24px;display:flex}.results-summary{color:#59636e;text-align:right;margin-bottom:0}.search-form{grid-template-columns:1.1fr 1.5fr auto 1.5fr 1.2fr;align-items:end;gap:16px;display:grid}.search-form label{gap:8px;font-weight:700;display:grid}.search-form label span{font-size:.88rem}input,select{width:100%;min-height:46px;color:inherit;background:#fff;border:1px solid #bbc3cc;border-radius:8px;padding:10px 12px}input:focus,select:focus,button:focus-visible{outline-offset:2px;outline:3px solid #004e892e}.passenger-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.primary-button,.secondary-button,.select-train-button,.swap-button{border:1px solid #0000;border-radius:8px;min-height:46px;font-weight:700}.primary-button,.select-train-button{color:#fff;background:#005a8b;padding:10px 18px}.primary-button:hover:not(:disabled),.select-train-button:hover:not(:disabled){background:#00476e}.secondary-button{color:#26323d;background:#fff;border-color:#aeb7c0;padding:10px 16px}.swap-button{color:#26323d;background:#f8fafb;border-color:#aeb7c0;width:46px;padding:0}.search-button{grid-column:1/-1;justify-self:end;min-width:180px;margin-top:8px}.message{min-height:24px;margin:16px 0 0}.message.error{color:#9c1c1c}.train-results{gap:12px;display:grid}.train-card{border:1px solid #dce1e6;border-radius:10px;grid-template-columns:190px 1fr auto;align-items:center;gap:24px;padding:20px;display:grid}.train-time{align-items:center;gap:10px;font-size:1.2rem;display:flex}.time-arrow{color:#7a848e}.train-detail h3{margin-bottom:6px}.train-detail p{color:#66717c;margin-bottom:0}.connection-notice{color:#a61b1b;background:snow;border:1px solid #d94a4a;border-radius:8px;margin-top:12px;padding:12px 14px}.connection-notice strong{margin-bottom:6px;display:block}.connection-notice p{color:inherit;margin:0;line-height:1.6}.train-name-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sale-status{border-radius:999px;align-items:center;min-height:26px;padding:3px 9px;font-size:.78rem;font-weight:700;display:inline-flex}.sale-status.on-sale{color:#20603a;background:#e7f3ec}.sale-status.not-on-sale{color:#66717c;background:#eef0f2}.select-train-button{min-width:140px}.select-train-button:disabled{color:#69737e;background:#d7dce1}.empty-state{color:#66717c;text-align:center;border:1px dashed #bec6ce;border-radius:10px;padding:36px 20px}.selected-train{justify-content:space-between;align-items:center;gap:24px;display:flex}.selected-train p{color:#59636e;margin-bottom:0}@media (width<=860px){.search-form{grid-template-columns:1fr 46px 1fr}.search-form>label:first-child,.passenger-fields{grid-column:1/-1}.search-button{width:100%}.train-card{grid-template-columns:1fr auto}.train-time{grid-column:1/-1}}@media (width<=580px){.header-inner,.results-header,.selected-train{flex-direction:column;align-items:stretch}.page{width:min(100% - 20px,1120px);margin-top:20px}.search-panel,.results-section,.selection-section{padding:18px}.search-form{grid-template-columns:1fr}.search-form>label:first-child,.passenger-fields,.search-button{grid-column:auto}.swap-button{width:100%}.train-card{grid-template-columns:1fr}.select-train-button{width:100%}.results-summary{text-align:left}}.global-menu{align-items:stretch;gap:4px;display:flex}.global-menu-button{color:#33404b;background:0 0;border:0;border-radius:6px;min-height:44px;padding:8px 16px;font-weight:700;position:relative}.global-menu-button:hover{background:#005a8b12}.global-menu-button.selected{color:#005a8b;background:#005a8b17}.global-menu-button.selected:after{content:"";background:#005a8b;border-radius:2px;height:3px;position:absolute;bottom:3px;left:12px;right:12px}@media (width<=580px){.header-inner{align-items:flex-start;gap:12px}.global-menu{flex-direction:column}.global-menu-button{text-align:left;min-height:36px;padding:6px 10px}}.guest-home-section{background:#fff;border:1px solid #e0e4e8;border-radius:14px;padding:28px;box-shadow:0 4px 16px #0000000a}.guest-home-heading{margin-bottom:24px}.guest-home-heading p:last-child{color:#59636e;margin-bottom:0}.guest-home-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.guest-home-card{border:1px solid #dce1e6;border-radius:12px;flex-direction:column;align-items:flex-start;min-height:220px;padding:24px;display:flex}.guest-home-card h3{margin-bottom:12px;font-size:1.25rem}.guest-home-card p{color:#59636e;flex:1;margin-bottom:24px;line-height:1.7}.guest-home-card .primary-button,.guest-home-card .secondary-button{min-width:180px}@media (width<=680px){.guest-home-section{padding:20px}.guest-home-actions{grid-template-columns:1fr}.guest-home-card{min-height:0}.guest-home-card .primary-button,.guest-home-card .secondary-button{width:100%}}.guest-home-card{width:100%;min-height:110px;color:inherit;cursor:pointer;background:#fff;justify-content:center}.guest-home-card:hover,.guest-home-card:focus-visible{border-color:#005a8b;box-shadow:0 0 0 2px #005a8b1f}.guest-home-card-title{font-size:1.15rem;font-weight:700}.screen-route-hidden{display:none!important}.booking-progress{background:#fff;border:1px solid #e0e4e8;border-radius:12px;margin-bottom:22px;padding:14px 18px}.booking-progress ol{grid-template-columns:repeat(5,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.booking-progress li{color:#818a93;align-items:center;gap:8px;min-width:0;font-size:.82rem;font-weight:700;display:flex;position:relative}.booking-progress li:not(:last-child):after{content:"";background:#c8cfd6;width:8px;height:1px;position:absolute;top:50%;right:-4px}.progress-number{background:#fff;border:1px solid #b9c1c9;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.booking-progress li.current{color:#005a8b}.booking-progress li.current .progress-number{color:#fff;background:#005a8b;border-color:#005a8b}.booking-progress li.completed{color:#355e49}.booking-progress li.completed .progress-number{color:#fff;background:#47785e;border-color:#47785e}.screen-local-navigation{justify-content:space-between;gap:12px;margin-bottom:18px;display:flex}.screen-back-button,.screen-sub-action{border-radius:8px;min-height:40px;padding:8px 14px;font-weight:700}.screen-back-button{color:#33404b;background:#fff;border:1px solid #aeb8c2}.screen-back-button:hover{background:#f5f7f8}.screen-sub-action{color:#005a8b;background:#fff;border:1px solid #88aec4}.complete-navigation{align-items:center}@media (width<=700px){.booking-progress{padding:12px;overflow-x:auto}.booking-progress ol{min-width:520px}.progress-label{white-space:nowrap}}.seat-selection-section{background:#fff;border:1px solid #e0e4e8;border-radius:14px;margin-top:24px;padding:24px}.seat-selection-header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.passenger-seat-layout{grid-template-columns:220px minmax(0,1fr);gap:24px;display:grid}.passenger-panel{background:#f7f9fa;border:1px solid #dde2e7;border-radius:10px;padding:18px}.passenger-list{gap:8px;display:grid}.passenger-button{text-align:left;background:#fff;border:1px solid #c8d0d8;border-radius:8px;gap:4px;padding:12px;display:grid}.passenger-button.active{border-color:#005a8b;box-shadow:0 0 0 2px #005a8b1f}.passenger-button.completed .passenger-seat{color:#20603a}.passenger-name{font-weight:700}.passenger-seat{color:#6a747e;font-size:.82rem}.seat-selection-message{min-height:24px;margin:0 0 16px}.seat-selection-message.error{color:#9c1c1c}.seat-choice-panel{margin-bottom:20px}.seat-choice-buttons{flex-wrap:wrap;gap:8px;display:flex}.seat-choice-button{background:#fff;border:1px solid #aeb8c2;border-radius:8px;min-height:42px;padding:8px 14px;font-weight:700}.seat-choice-button:hover,.seat-choice-button.selected{background:#eef7fc;border-color:#005a8b}.seat-map{gap:20px;display:grid}.car-section{border:1px solid #dce1e6;border-radius:10px;padding:18px}.car-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.car-heading h3{margin:0}.seat-map-scroll{overflow-x:auto}.seat-map-row{justify-content:center;align-items:center;gap:6px;min-width:max-content;margin-bottom:6px;display:grid}.seat-map-column-header,.row-number{color:#66717c;text-align:center;font-size:.78rem}.aisle-cell{text-align:center;color:#8a939c;font-size:.65rem}.seat-placeholder{min-height:62px}.seat-button{background:#fff;border:1px solid #aeb8c2;border-radius:7px;align-content:center;gap:2px;min-height:62px;padding:6px;display:grid}.seat-button.available:hover{background:#f4f9fc;border-color:#005a8b}.seat-button.unavailable{color:#929aa2;background:#eef0f2}.seat-button.assigned{color:#fff;background:#31739a}.seat-button.assigned-active{background:#005a8b}.seat-number{font-weight:700}.seat-position,.seat-assignment{font-size:.68rem}.seat-guide,.seat-loading{color:#66717c;text-align:center;border:1px dashed #bec6ce;border-radius:10px;padding:32px}@media (width<=760px){.passenger-seat-layout{grid-template-columns:1fr}}.car-selector-block{color:#fff;background:#8b8e91;border-radius:10px;margin-bottom:22px;padding:18px}.car-selector-label{text-align:center;margin:0 0 12px;font-weight:700}.car-selector{justify-content:center;gap:6px;display:flex;overflow-x:auto}.car-selector-button{color:#17212b;background:#fff;border:1px solid #d2d6da;border-radius:6px;flex:0 0 72px;align-content:center;gap:2px;min-height:58px;font-weight:700;display:grid}.car-selector-button small{color:#67727c;font-size:.65rem;font-weight:400}.car-selector-button.selected{color:#fff;background:#005a8b;border-color:#005a8b}.car-selector-button.selected small{color:#fff}.car-selector-button:disabled{color:#949ba2;background:#d8dade;border-color:#d8dade}.seat-active-passenger{color:#005a8b;background:#eef7fc;border-radius:999px;align-items:center;min-height:34px;padding:6px 12px;display:inline-flex}.seat-map-status{align-items:center;gap:12px;display:flex}.seat-selection-summary{color:#66717c;font-weight:700}.seat-selection-section>.passenger-panel{margin-bottom:20px}.seat-choice-buttons{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.seat-choice-button{min-height:64px}.seat-selection-message[hidden]{display:none}@media (width<=580px){.seat-selection-header,.seat-map-status{flex-direction:column;align-items:stretch}}.fare-confirmation-section{background:#fff;border:1px solid #e0e4e8;border-radius:14px;margin-top:24px;padding:24px;box-shadow:0 4px 16px #0000000a}.fare-heading,.payment-screen-heading{margin-bottom:24px}.payment-screen-heading p:last-child{color:#66717c}.reservation-summary,.payment-reservation-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.reservation-summary>div,.payment-reservation-summary>div{background:#f7f9fa;border-radius:8px;gap:4px;padding:14px;display:grid}.reservation-summary span,.payment-reservation-summary span{color:#66717c;font-size:.78rem}.fare-table-wrapper{overflow-x:auto}.fare-table{border-collapse:collapse;width:100%}.fare-table th,.fare-table td{text-align:left;border-bottom:1px solid #e0e4e8;padding:12px}.fare-table th{background:#f7f9fa}.fare-table tfoot th,.fare-table tfoot td{font-weight:700}.fare-breakdown{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:18px;display:grid}.passenger-fare-breakdown{border:1px solid #e0e4e8;border-radius:8px;padding:14px}.passenger-fare-breakdown h3{margin-bottom:10px}.passenger-fare-breakdown ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.passenger-fare-breakdown li{justify-content:space-between;gap:16px;display:flex}.reservation-contact{margin-top:24px}.reservation-contact label{gap:8px;max-width:560px;font-weight:700;display:grid}.fulfillment-choice{margin-top:28px}.fulfillment-choice h3{margin-bottom:14px}.fulfillment-choice-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.fulfillment-choice-button{text-align:left;background:#fff;border:1px solid #aeb8c2;border-radius:10px;gap:8px;min-height:120px;padding:20px;display:grid}.fulfillment-choice-button strong{font-size:1.05rem}.fulfillment-choice-button span{color:#66717c;line-height:1.5}.fulfillment-choice-button:hover{background:#f4f9fc;border-color:#005a8b}.fulfillment-choice-button.primary-choice{border-width:2px;border-color:#005a8b}.payment-information{border:1px solid #d7dde3;border-radius:10px;margin-top:24px;padding:20px}.payment-information legend{padding:0 8px;font-weight:700}.payment-information-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.payment-information-grid label,.card-brand-field{gap:8px;font-weight:700;display:grid}.card-brand-result{background:#f7f9fa;border:1px solid #d7dde3;border-radius:7px;align-items:center;min-height:44px;padding:10px 12px;display:flex}.card-brand-result.error{color:#9c1c1c;background:#fff5f5;border-color:#c76a6a}.payment-actions{justify-content:space-between;gap:12px;margin-top:24px;display:flex}.payment-actions .primary-button{min-width:180px}.fare-confirmation-message{min-height:24px;margin:16px 0 0}.fare-confirmation-message.error{color:#9c1c1c}.fare-loading{color:#66717c;text-align:center;padding:36px 20px}.reservation-number-panel{background:#f3f8fb;border:1px solid #cbdce7;border-radius:10px;justify-items:center;gap:8px;margin:24px 0;padding:24px;display:grid}.reservation-number-panel strong{letter-spacing:.12em;font-size:clamp(2rem,6vw,3rem)}.completion-details{grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 24px;display:grid}.completion-details div{background:#f7f9fa;border-radius:8px;padding:14px}.completion-details dt{color:#66717c;font-size:.78rem}.completion-details dd{margin:4px 0 0;font-weight:700}@media (width<=760px){.reservation-summary,.payment-reservation-summary,.fulfillment-choice-grid,.payment-information-grid,.completion-details{grid-template-columns:1fr}.payment-actions{flex-direction:column-reverse}.payment-actions button{width:100%}}.reservation-lookup-section{background:#fff;border:1px solid #e0e4e8;border-radius:14px;margin-top:24px;padding:24px;box-shadow:0 4px 16px #0000000a}.lookup-heading{margin-bottom:24px}.lookup-heading p:last-child{color:#66717c;margin:8px 0 0}.lookup-form{grid-template-columns:1fr 1.5fr 1fr;align-items:start;gap:16px;display:grid}.lookup-form label{gap:8px;font-weight:700;display:grid}.lookup-form small{color:#66717c;font-size:.75rem;font-weight:400;line-height:1.4}.lookup-actions{grid-column:1/-1;justify-content:flex-end;display:flex}.lookup-actions .primary-button{min-width:160px}.lookup-message{min-height:24px;margin:16px 0 0}.lookup-message.error{color:#9c1c1c}.reservation-detail{border-top:1px solid #dfe3e8;margin-top:28px;padding-top:28px}.reservation-detail-header{justify-content:space-between;align-items:start;gap:24px;display:flex}.reservation-number-small{background:#f3f8fb;border:1px solid #cbdce7;border-radius:8px;gap:4px;min-width:180px;padding:12px 16px;display:grid}.reservation-number-small span{color:#66717c;font-size:.75rem}.reservation-number-small strong{letter-spacing:.08em;font-size:1.3rem}.changed-reservation-notice{background:#fff7df;border:1px solid #ead89c;border-radius:8px;margin:18px 0;padding:12px 14px}.reservation-overview{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:22px 0 0;display:grid}.reservation-overview>div{background:#f7f9fa;border-radius:8px;padding:12px}.reservation-overview dt{color:#66717c;font-size:.75rem}.reservation-overview dd{margin:5px 0 0;font-weight:700}.lookup-detail-block{margin-top:28px}.lookup-detail-block h3{margin-bottom:12px}.lookup-table-wrapper{overflow-x:auto}.lookup-table{border-collapse:collapse;width:100%}.lookup-table th,.lookup-table td{text-align:left;border-bottom:1px solid #e0e4e8;padding:11px 12px}.lookup-table th{background:#f7f9fa}.mobile-ticket-guidance,.mobile-ticket-empty{color:#66717c}.mobile-ticket-list{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;display:grid}.mobile-ticket-card{background:#fff;border:2px solid #005a8b;border-radius:14px;padding:20px}.mobile-ticket-title{justify-content:space-between;align-items:start;gap:16px;display:flex}.mobile-ticket-title h4{margin:4px 0 0;font-size:1.15rem}.mobile-ticket-label{color:#59636e;font-size:.75rem;font-weight:700}.ticket-mark{color:#9c1c1c;border:1px solid #c76a6a;border-radius:6px;padding:4px 8px;font-weight:700;display:inline-flex}.mobile-ticket-number{background:#f3f8fb;border-radius:8px;gap:4px;margin:18px 0;padding:14px;display:grid}.mobile-ticket-number span{color:#66717c;font-size:.75rem}.mobile-ticket-number strong{letter-spacing:.08em;font-size:1.4rem}.mobile-ticket-details{gap:10px;margin:0;display:grid}.mobile-ticket-details>div{grid-template-columns:90px 1fr;gap:12px;display:grid}.mobile-ticket-details dt{color:#66717c;font-size:.8rem}.mobile-ticket-details dd{margin:0;font-weight:700}@media (width<=800px){.lookup-form{grid-template-columns:1fr}.lookup-actions{grid-column:auto}.reservation-overview{grid-template-columns:repeat(2,1fr)}}@media (width<=580px){.reservation-lookup-section{padding:18px}.reservation-detail-header{flex-direction:column}.reservation-number-small{width:100%}.reservation-overview{grid-template-columns:1fr}.lookup-actions .primary-button{width:100%}}.lookup-payment-information dl{grid-template-columns:repeat(3,1fr);gap:10px;margin:0;display:grid}.lookup-payment-information dl>div{background:#f7f9fa;border-radius:8px;padding:12px}.lookup-payment-information dt{color:#66717c;font-size:.75rem}.lookup-payment-information dd{margin:5px 0 0;font-weight:700}@media (width<=700px){.lookup-payment-information dl{grid-template-columns:1fr}}.lookup-management-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.lookup-management-actions .primary-button,.lookup-management-actions .secondary-button{min-width:180px}@media (width<=580px){.lookup-management-actions .primary-button,.lookup-management-actions .secondary-button{width:100%}}.reservation-change-section{background:#fff;border:1px solid #e0e4e8;border-radius:14px;padding:24px;box-shadow:0 4px 16px #0000000a}.reservation-change-navigation,.reservation-change-heading,.reservation-change-current,.reservation-change-form,.reservation-change-train-list,.reservation-change-seat-layout,.reservation-change-comparison,.reservation-change-difference,.reservation-change-actions{margin-bottom:22px}.reservation-change-current{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:0;display:grid}.reservation-change-current>div,.reservation-change-result>div{background:#f7f9fa;border-radius:8px;padding:14px}.reservation-change-current dt,.reservation-change-result dt{color:#66717c;font-size:.78rem}.reservation-change-current dd,.reservation-change-result dd{margin:5px 0 0;font-weight:700}.reservation-change-form{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.reservation-change-form label{gap:8px;font-weight:700;display:grid}.reservation-change-form .primary-button{grid-column:1/-1}.reservation-change-train-list{gap:10px;display:grid}.reservation-change-train{border:1px solid #dce1e6;border-radius:9px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.reservation-change-train h3,.reservation-change-train p{margin:0}.reservation-change-train p{color:#66717c;margin-top:6px}.reservation-change-empty,.reservation-change-guide{color:#66717c;text-align:center;background:#f7f9fa;border-radius:8px;padding:22px}.reservation-change-seat-layout{grid-template-columns:190px minmax(0,1fr);gap:22px;display:grid}.reservation-change-passengers{align-content:start;gap:8px;display:grid}.reservation-change-passengers h3{margin:0 0 4px}.reservation-change-passenger{text-align:left;background:#fff;border:1px solid #bac3ca;border-radius:7px;gap:4px;padding:11px;display:grid}.reservation-change-passenger.selected{background:#eef7fc;border-color:#005a8b}.reservation-change-passenger span{color:#66717c;font-size:.8rem}.reservation-change-choice-block,.reservation-change-car-selector{margin-bottom:18px}.reservation-change-choice-block h3,.reservation-change-car-selector h3{margin:0 0 9px}.reservation-change-choice-buttons,.reservation-change-car-buttons{flex-wrap:wrap;gap:8px;display:flex}.reservation-change-choice-buttons button,.reservation-change-car-buttons button{background:#fff;border:1px solid #aeb8c2;border-radius:6px;min-height:42px;padding:8px 13px}.reservation-change-choice-buttons button.selected,.reservation-change-car-buttons button.selected{color:#fff;background:#005a8b;border-color:#005a8b}.reservation-change-car-buttons button{gap:2px;min-width:80px;display:grid}.reservation-change-car-buttons small{font-size:.7rem}.reservation-change-car-buttons button:disabled{color:#8c949c;background:#e7eaed}.reservation-change-seat-map-panel{border:1px solid #dce1e6;border-radius:9px;padding:18px}.reservation-change-seat-map-panel h3{text-align:center;margin-top:0}.reservation-change-seat-map{overflow-x:auto}.reservation-change-seat-row{text-align:center;justify-content:center;align-items:center;gap:6px;min-width:max-content;margin-bottom:6px;display:grid}.reservation-change-seat-header,.reservation-change-row-number,.reservation-change-aisle{color:#66717c;font-size:.75rem}.reservation-change-seat-button{background:#fff;border:1px solid #aeb8c2;border-radius:6px;align-content:center;gap:2px;min-height:58px;display:grid}.reservation-change-seat-button.selected{color:#fff;background:#005a8b;border-color:#005a8b}.reservation-change-seat-button:disabled{color:#8c949c;background:#e7eaed}.reservation-change-seat-button small{min-height:1em;font-size:.68rem}.reservation-change-comparison{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.reservation-change-comparison section{background:#f7f9fa;border-radius:8px;padding:18px}.reservation-change-comparison h3{margin-top:0}.reservation-change-difference{border:2px solid #005a8b;border-radius:9px;justify-content:space-between;gap:18px;padding:18px;display:flex}.reservation-change-table-wrapper{overflow-x:auto}.reservation-change-table{border-collapse:collapse;width:100%}.reservation-change-table th,.reservation-change-table td{text-align:left;border-bottom:1px solid #dce1e6;padding:11px}.reservation-change-table th{background:#f7f9fa}.reservation-change-result{grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 24px;display:grid}.reservation-change-actions{justify-content:center;margin-top:24px;display:flex}.reservation-change-actions .primary-button{min-width:220px}.reservation-change-message{min-height:24px}.reservation-change-message.error,.reservation-change-error{color:#9c1c1c}.reservation-change-loading{color:#66717c;text-align:center;padding:40px 20px}@media (width<=760px){.reservation-change-current,.reservation-change-form,.reservation-change-seat-layout,.reservation-change-comparison,.reservation-change-result{grid-template-columns:1fr}.reservation-change-train{flex-direction:column;align-items:stretch}}.reservation-change-mode-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.reservation-change-mode-button{text-align:left;cursor:pointer;background:#fff;border:1px solid #bac3ca;border-radius:10px;gap:8px;min-height:150px;padding:22px;display:grid}.reservation-change-mode-button:hover:not(:disabled),.reservation-change-mode-button:focus-visible:not(:disabled){border-color:#005a8b;box-shadow:0 0 0 2px #005a8b1f}.reservation-change-mode-button strong{font-size:1.1rem}.reservation-change-mode-button span,.reservation-change-mode-button small{color:#66717c;line-height:1.6}.reservation-change-mode-button:disabled{cursor:not-allowed;color:#7a838b;background:#f0f2f4}.reservation-change-passenger-choice-list{gap:10px;display:grid}.reservation-change-passenger-choice{text-align:left;cursor:pointer;background:#fff;border:1px solid #bac3ca;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px;display:flex}.reservation-change-passenger-choice:hover,.reservation-change-passenger-choice:focus-visible{border-color:#005a8b}.reservation-change-passenger-choice span{color:#66717c}@media (width<=760px){.reservation-change-mode-list{grid-template-columns:1fr}.reservation-change-passenger-choice{flex-direction:column;align-items:flex-start}}.reservation-change-mode-button{align-content:center;min-height:88px}.reservation-change-choice-buttons>button{min-width:140px;min-height:56px;font-weight:700}.reservation-seat-change-section{background:#fff;border:1px solid #e0e4e8;border-radius:14px;margin-top:24px;padding:24px;box-shadow:0 4px 16px #0000000a}.seat-change-navigation{margin-bottom:18px}.seat-change-heading{margin-bottom:22px}.seat-change-summary,.seat-change-complete-summary{grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 24px;display:grid}.seat-change-summary>div,.seat-change-complete-summary>div{background:#f7f9fa;border-radius:8px;padding:14px}.seat-change-summary dt,.seat-change-complete-summary dt{color:#66717c;font-size:.78rem}.seat-change-summary dd,.seat-change-complete-summary dd{margin:4px 0 0;font-weight:700}.seat-change-car-selector{color:#fff;background:#8b8e91;border-radius:10px;margin-bottom:24px;padding:18px}.seat-change-car-selector>p{text-align:center;margin:0 0 12px;font-weight:700}.seat-change-car-buttons{justify-content:center;gap:6px;display:flex;overflow-x:auto}.seat-change-car-button{background:#fff;border:1px solid #d2d6da;border-radius:6px;flex:0 0 82px;align-content:center;gap:2px;min-height:58px;display:grid}.seat-change-car-button small{color:#67727c;font-size:.68rem}.seat-change-car-button.selected{color:#fff;background:#005a8b;border-color:#005a8b}.seat-change-car-button.selected small{color:#fff}.seat-change-car-button:disabled{color:#949ba2;background:#d8dade}.seat-change-map-panel{border:1px solid #dce1e6;border-radius:10px;padding:20px}.seat-change-map-panel h3{text-align:center;margin-top:0}.seat-change-map-scroll{overflow-x:auto}.seat-change-map-row{justify-content:center;align-items:center;gap:6px;min-width:max-content;margin-bottom:6px;display:grid}.seat-change-map-header,.seat-change-row-number,.seat-change-aisle{color:#66717c;text-align:center;font-size:.76rem}.seat-change-seat{background:#fff;border:1px solid #aeb8c2;border-radius:7px;align-content:center;gap:3px;min-height:62px;padding:6px;display:grid}.seat-change-seat:not(:disabled):hover{background:#f4f9fc;border-color:#005a8b}.seat-change-seat.current{color:#525c65;background:#e7eaed;border-color:#b7bec5}.seat-change-seat.unavailable{color:#929aa2;background:#eef0f2}.seat-change-seat.selected{color:#fff;background:#005a8b;border-color:#005a8b}.seat-change-seat small{min-height:1em;font-size:.67rem}.seat-change-actions{justify-content:center;margin-top:24px;display:flex}.seat-change-actions .primary-button{min-width:220px}.seat-change-actions .primary-button:disabled{color:#69737e;background:#d7dce1}.reservation-seat-change-message{min-height:24px;margin:16px 0 0}.reservation-seat-change-message.error{color:#9c1c1c}.seat-change-loading{color:#66717c;text-align:center;padding:40px 20px}.seat-change-button{background:#fff;border:1px solid #8fa5b4;border-radius:6px;min-height:34px;padding:6px 10px;font-weight:700}.seat-change-button:hover{background:#eef7fc;border-color:#005a8b}@media (width<=700px){.seat-change-summary,.seat-change-complete-summary{grid-template-columns:1fr}}.reservation-cancellation-section{background:#fff;border:1px solid #e0e4e8;border-radius:14px;margin-top:24px;padding:24px;box-shadow:0 4px 16px #0000000a}.reservation-cancellation-navigation{margin-bottom:20px}.reservation-cancellation-heading{margin-bottom:24px}.reservation-cancellation-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.reservation-cancellation-summary>div{background:#f7f9fa;border-radius:8px;padding:12px}.reservation-cancellation-summary dt{color:#66717c;font-size:.75rem}.reservation-cancellation-summary dd{margin:5px 0 0;font-weight:700}.reservation-cancellation-notice{background:#fff7f7;border:1px solid #d9a0a0;border-radius:8px;margin-top:24px;padding:16px}.reservation-cancellation-notice p{margin:6px 0 0}.reservation-cancellation-actions{justify-content:flex-end;margin-top:24px;display:flex}.reservation-cancellation-confirm-button{color:#fff;min-width:180px;font:inherit;cursor:pointer;background:#9c1c1c;border:1px solid #9c1c1c;border-radius:8px;padding:12px 18px;font-weight:700}.reservation-cancellation-confirm-button:disabled{opacity:.6;cursor:default}.reservation-cancellation-message{min-height:24px;margin:16px 0 0}.reservation-cancellation-message.error{color:#9c1c1c}@media (width<=800px){.reservation-cancellation-summary{grid-template-columns:1fr}.reservation-cancellation-actions>button{width:100%}}.reservation-refund-section{background:#fff;border:1px solid #e0e4e8;border-radius:14px;margin-top:24px;padding:24px;box-shadow:0 4px 16px #0000000a}.reservation-refund-navigation{margin-bottom:20px}.reservation-refund-heading{margin-bottom:24px}.reservation-refund-loading{text-align:center;color:#66717c;padding:32px 0}.reservation-refund-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.reservation-refund-summary>div{background:#f7f9fa;border-radius:8px;padding:12px}.reservation-refund-summary dt{color:#66717c;font-size:.75rem}.reservation-refund-summary dd{margin:5px 0 0;font-weight:700}.reservation-refund-amounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.reservation-refund-amounts>div{background:#f7f9fa;border-radius:8px;gap:6px;padding:16px;display:grid}.reservation-refund-amounts span{color:#66717c;font-size:.8rem}.reservation-refund-amounts strong{font-size:1.25rem}.reservation-refund-amounts .refund-total{background:#f3f8fb;border:1px solid #cbdce7}.reservation-refund-notice{background:#fff7f7;border:1px solid #d9a0a0;border-radius:8px;margin-top:24px;padding:16px}.reservation-refund-actions{justify-content:flex-end;margin-top:24px;display:flex}.reservation-refund-confirm-button{color:#fff;min-width:180px;font:inherit;cursor:pointer;background:#9c1c1c;border:1px solid #9c1c1c;border-radius:8px;padding:12px 18px;font-weight:700}.reservation-refund-confirm-button:disabled{opacity:.6;cursor:default}.reservation-refund-message{min-height:24px;margin:16px 0 0}.reservation-refund-message.error{color:#9c1c1c}@media (width<=800px){.reservation-refund-summary,.reservation-refund-amounts{grid-template-columns:1fr}.reservation-refund-actions>button{width:100%}}
