.account-page{width:min(100%,430px);min-height:100dvh;margin:auto;background:#f7faf9;padding:64px 20px 30px}.account-brand{text-align:center;padding:28px 0 34px}.account-brand>span{width:62px;height:62px;margin:auto;border-radius:16px;background:#2c7a7b;color:#fff;display:grid;place-items:center;box-shadow:0 10px 25px #2c7a7b3d}.account-brand svg{width:31px;height:31px}.account-brand h1{font-size:27px;margin:17px 0 7px}.account-brand p{font-size:13px;color:#6d828b;margin:0}.account-panel{background:#fff;border-radius:12px;padding:20px;box-shadow:0 8px 30px #0f1f2e17}.account-tabs{height:42px;padding:3px;background:#eef4f3;border-radius:8px;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;margin-bottom:18px}.account-tabs button{border:0;border-radius:6px;background:transparent;color:#6d828b;font-weight:700}.account-tabs button.active{background:#fff;color:#2c7a7b;box-shadow:0 2px 7px #0f1f2e14}.account-panel form{display:flex;flex-direction:column;gap:12px}.account-panel form>label{height:50px;border:1px solid #d7e3e1;border-radius:8px;padding:0 13px;display:flex;align-items:center;gap:10px}.account-panel label>svg{width:19px;color:#78909a;flex:none}.account-panel input{border:0;outline:0;min-width:0;flex:1;color:#0f1f2e;background:transparent}.account-panel label>button{border:0;background:transparent;color:#78909a;padding:4px;display:grid}.account-panel label>button svg{width:19px}.account-submit{height:48px;margin-top:4px;border:0;border-radius:8px;background:#2c7a7b;color:#fff;font-weight:700;box-shadow:0 7px 18px #2c7a7b38}.account-submit:disabled{opacity:.6}.account-panel>p{text-align:center;color:#8a9ca4;font-size:11px;margin:17px 0 0}.auth-loading{min-height:100dvh;display:grid;place-items:center;background:#f7faf9;color:#78909a;font-size:13px}@media(min-width:700px){body{padding:24px 0}.account-page{min-height:calc(100dvh - 48px);border-radius:24px;box-shadow:0 16px 50px #0f1f2e24}}.credential-form{margin:-1px 20px 18px;padding:22px 20px;background:#fff;border-radius:0 0 12px 12px;box-shadow:0 8px 24px #2e7be61f;display:flex;flex-direction:column;gap:14px}.credential-form>label:not(.agreement){height:50px;border:1px solid #d8e0e8;border-radius:10px;display:flex;align-items:center;padding:0 13px;gap:11px}.credential-form label>svg{width:20px;color:#91a0b2;flex:none}.credential-form input{min-width:0;flex:1;border:0;outline:0;color:#17283a;background:transparent}.credential-form input::placeholder{color:#9aa8b8}.credential-form label>button{border:0;background:transparent;color:#91a0b2;padding:5px;display:grid;place-items:center}.credential-form label>button svg{width:20px}.credential-form .code-button{color:#2e7be6;background:#eaf2fe;border-radius:8px;padding:9px 11px;font-weight:700;white-space:nowrap}.credential-form .code-button:disabled{color:#91a0b2;background:#f1f4f7}.bind-button{height:50px;border:0;border-radius:25px;background:#2e7be6;color:#fff;font-weight:700;box-shadow:0 7px 18px #2e7be645;display:flex;align-items:center;justify-content:center;gap:7px}.bind-button:disabled{opacity:.6}.bind-button svg{width:18px}.credential-form .agreement{display:flex;align-items:center;justify-content:center;gap:7px;color:#647b96;font-size:11px}.credential-form .agreement input{appearance:none;flex:none;width:16px;height:16px;border:1px solid #aebdca;border-radius:3px;position:relative}.credential-form .agreement input:checked{background:#2e7be6;border-color:#2e7be6}.credential-form .agreement input:checked:after{content:"✓";position:absolute;left:2px;top:-2px;color:#fff;font-size:13px}.official-fallback{display:block;margin:14px auto 0;border:0;background:transparent;color:#2e7be6;font-size:11px}.login-footnote{text-align:center;color:#a0adba;font-size:11px;margin:26px 0 0}:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#0f1f2e;background:#eef3f3;font-synthesis:none;letter-spacing:0}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;letter-spacing:0}button{cursor:pointer}.app-frame,.standalone{width:min(100%,430px);min-height:100dvh;margin:auto;background:#fafcfc}.app-frame{padding-bottom:94px}.app-header{height:106px;padding:38px 18px 10px;display:flex;align-items:center;justify-content:center;position:relative}.app-header h1,.standalone header h1{font-size:19px;font-weight:600;margin:0}.mini-pill{position:absolute;right:14px;width:86px;height:32px;border:1px solid #e0ebea;border-radius:18px;background:#fff;display:flex;align-items:center;justify-content:space-evenly}.mini-pill b{font-size:14px}.mini-pill i{width:15px;height:15px;border:2px solid #0f1f2e;border-radius:50%;position:relative}.mini-pill i:before{content:"";position:absolute;left:-14px;top:-8px;height:28px;border-left:1px solid #e0ebea}.page{padding:16px;display:flex;flex-direction:column;gap:12px}.tabbar{position:fixed;z-index:10;bottom:12px;left:50%;transform:translate(-50%);width:min(calc(100% - 28px),402px);height:66px;padding:4px;border:1px solid #dbe8e7;border-radius:36px;background:#fff;box-shadow:0 4px 12px #0f1f2e14;display:grid;grid-template-columns:repeat(4,1fr)}.tabbar a{display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;border-radius:28px;color:#5c7480;text-decoration:none;font-size:11px;font-weight:600}.tabbar a.active{background:#2c7a7b;color:#fff}.card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 2px #0f1f2e0a,0 4px 12px #0f1f2e0f}.login-strip{width:100%;border:0;border-radius:10px;padding:11px;background:#f8fcfb;color:#2c7a7b;display:flex;gap:8px;align-items:center;text-align:left}.login-strip strong{flex:1}.login-strip>span:last-child{font-size:11px;color:#5c7480}.login-strip.invalid{color:#eb5757}.status-dot{width:8px;height:8px;border-radius:50%;background:#5bcfc5}.invalid .status-dot{background:#eb5757}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title h2{font-size:16px;margin:4px 0}.section-title span{font-size:12px;color:#5c7480}.icon-action{border:0;background:transparent;color:#5c7480;padding:6px}.card-heading{display:flex;align-items:center;gap:10px}.card-heading h3{flex:1;margin:0;font-size:15px}.card-heading>svg{color:#2c7a7b}.card-icon{width:34px;height:34px;border-radius:8px;background:#e6f7f5;color:#2c7a7b;display:grid;place-items:center}.card-icon.amber{background:#fbf3dc;color:#8a6d1a}.badge{border-radius:100px;padding:5px 9px;background:#e6f7f5;color:#2c7a7b;font-size:10px;font-weight:700;display:inline-flex;align-items:center;gap:4px}.badge.amber{background:#fbf3dc;color:#8a6d1a}.badge.red{background:#fff0f0;color:#eb5757}.route{display:flex;align-items:center;gap:12px;margin:20px 0}.route strong{font-size:21px}.route svg{color:#5bcfc5;width:18px}.count-row,.card-footer{display:flex;align-items:center;justify-content:space-between;color:#5c7480;font-size:12px}.count-row b{font-size:15px;color:#2c7a7b}.progress{height:6px;border-radius:4px;background:#e0ebea;overflow:hidden;margin:9px 0 18px}.progress i{height:100%;display:block;background:#5bcfc5;border-radius:4px}.progress i.amber{background:#f2c94c}.primary{border:0;background:#2c7a7b;color:#fff;font-weight:700;border-radius:10px;box-shadow:0 6px 16px #2c7a7b33;display:inline-flex;align-items:center;justify-content:center;gap:7px}.primary.small{padding:9px 12px;font-size:12px}.primary.wide{width:100%;height:48px;font-size:15px}.primary:disabled{opacity:.55}.hint{padding:12px;color:#5c7480;display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.5}.state-view{min-height:180px;display:flex;align-items:center;justify-content:center;gap:8px;color:#8fa3ac}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.field-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0f1f2e0f;padding:14px;display:flex;align-items:center;gap:10px}.field-card>span{font-size:12px;color:#5c7480;white-space:nowrap}.field-card select,.field-card input{flex:1;min-width:0;border:0;background:transparent;color:#0f1f2e;font-weight:600;outline:0}.form-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.form-row label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}.form-row input{height:42px;border:1px solid #e0ebea;border-radius:10px;padding:0 10px;background:#fff}.primary.search{height:42px;padding:0 13px}.train-list h2,.priority-list h2{font-size:14px;margin:0 0 8px}.train-list h2 small{font-size:10px;color:#8fa3ac;font-weight:400}.train-row{width:100%;border:0;border-bottom:1px solid #f0f4f4;padding:13px 8px;background:#fff;display:grid;grid-template-columns:22px 60px 1fr auto;gap:7px;align-items:center;text-align:left}.train-row:last-child{border:0}.train-row i{width:19px;height:19px;border:1.5px solid #c8d8d6;border-radius:50%;display:grid;place-items:center;color:#8a6d1a}.train-row.selected{background:#f8fcfb;border-radius:8px}.train-row.selected i{background:#2c7a7b;border-color:#2c7a7b;color:#fff}.train-row span{font-size:11px;color:#5c7480}.train-row b{font-size:10px;color:#2c7a7b}.inline-empty{padding:34px 4px;text-align:center;color:#8fa3ac;font-size:12px}.priority-list>div{display:grid;grid-template-columns:24px 1fr 34px 34px;gap:6px;align-items:center;padding:8px 0}.priority-list>div>b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e6f7f5;color:#2c7a7b}.priority-list button{border:1px solid #e0ebea;background:#fff;border-radius:7px;padding:5px}.priority-list svg{width:15px;height:15px}.sticky-submit{margin-top:10px;display:flex;flex-direction:column;gap:8px;text-align:center}.sticky-submit>span{font-size:10px;color:#5c7480}.task-card{display:flex;flex-direction:column;gap:9px}.task-card.status-scheduled,.task-card.status-login_required{border:1px solid #f2e9c8}.task-card h2{font-size:14px;margin:3px 0 0}.task-card p{margin:0;color:#5c7480;font-size:12px}.countdown{padding:10px;border-radius:10px;background:#fbf3dc;display:grid;grid-template-columns:24px 1fr;align-items:center;color:#8a6d1a}.countdown svg{grid-row:1/3}.countdown span{font-size:10px}.countdown strong{font-size:15px;color:#0f1f2e}.monitor-row{font-size:10px;color:#5c7480}.result{padding:9px;border-radius:8px;font-size:11px}.result.ok{background:#e6f7f5;color:#2c7a7b}.result.bad{background:#fff0f0;color:#b93f3f}.actions{display:flex;justify-content:flex-end}.danger{border:1px solid #e0ebea;background:#fff;color:#eb5757;border-radius:8px;padding:8px 10px;display:flex;gap:5px}.profile-card{display:flex;align-items:center;gap:13px}.profile-card .avatar{width:48px;height:48px;border-radius:50%;background:#e6f7f5;color:#2c7a7b;display:grid;place-items:center}.profile-card>div{flex:1}.profile-card h2{font-size:17px;margin:0}.profile-card p{font-size:11px;color:#5c7480;margin:4px 0 0}.group-title{font-size:13px;color:#5c7480;margin:8px 0 0}.settings-card{padding:4px 10px}.settings-card>label,.setting-button{width:100%;padding:13px 3px;border:0;border-bottom:1px solid #f0f4f4;background:#fff;display:flex;align-items:center;gap:10px;text-align:left}.settings-card>label:last-child,.setting-button:last-child{border-bottom:0}.settings-card label>div{flex:1;display:flex;flex-direction:column;gap:2px}.settings-card strong,.setting-button span{font-size:13px}.settings-card small{font-size:10px;color:#5c7480}.settings-card input[role=switch]{appearance:none;width:40px;height:24px;border-radius:20px;background:#e0ebea;position:relative;transition:.2s}.settings-card input[role=switch]:before{content:"";position:absolute;width:20px;height:20px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f1f2e26;transition:.2s}.settings-card input[role=switch]:checked{background:#5bcfc5}.settings-card input[role=switch]:checked:before{transform:translate(16px)}.webhook{flex-direction:column!important;align-items:stretch!important}.webhook input{border:1px solid #e0ebea;border-radius:8px;padding:9px;width:100%}.setting-button svg:first-child{width:18px;color:#2c7a7b}.setting-button span{flex:1}.setting-button svg:last-child{width:16px;color:#5c7480}.logout{height:46px;border-radius:12px;border:1px solid #e0ebea;background:#fff;color:#eb5757;display:flex;align-items:center;justify-content:center;gap:8px}.standalone{padding-bottom:24px}.standalone>header{height:106px;padding:38px 18px 10px;display:flex;align-items:center;justify-content:center;position:relative}.standalone>header button{position:absolute;left:18px;border:0;background:transparent}.login-hero{padding:30px 26px 38px;background:linear-gradient(#2b6fe3,#4e9df5);color:#fff}.login-hero>span{display:grid;place-items:center;width:56px;height:56px;border-radius:14px;background:#fff3}.login-hero h2{font-size:25px;margin:16px 0 5px}.login-hero p{color:#dce9fd;font-size:13px}.official-login{margin:20px;padding:22px;background:#fff;border-radius:16px;box-shadow:0 8px 24px #2e7be62e;text-align:center}.official-login>svg{width:40px;height:40px;color:#2e7be6}.official-login h2{font-size:17px}.official-login p{font-size:12px;color:#5c7480;line-height:1.7}.official-button,.secondary-wide{width:100%;height:48px;border-radius:24px;font-weight:700}.official-button{border:0;background:#2e7be6;color:#fff;box-shadow:0 6px 16px #2e7be64d;display:flex;align-items:center;justify-content:center;gap:8px}.secondary-wide{margin-top:10px;border:1px solid #d8e6f8;background:#fff;color:#2e7be6}.blue-note{margin:0 20px;padding:12px;border-radius:10px;background:#f0f6fe;color:#5b7395;font-size:11px;display:flex;align-items:flex-start;gap:8px;line-height:1.6}.blue-note svg{min-width:17px}.toast{position:fixed;z-index:30;top:18px;left:50%;transform:translate(-50%);width:min(calc(100% - 32px),390px);padding:12px;border-radius:10px;display:flex;align-items:center;gap:8px;box-shadow:0 8px 28px #0f1f2e2e}.toast-success{background:#e6f7f5;color:#246a6b}.toast-error{background:#fff0f0;color:#b93f3f}.toast span{flex:1}.toast button{border:0;background:transparent;color:inherit}.seat-page{padding:0 16px 30px;display:flex;flex-direction:column;gap:14px}.seat-page>header{margin:0 -16px}.seat-train h2{font-size:16px;margin:0}.seat-train p,.seat-card>p{font-size:10px;color:#8fa3ac}.seat-row{display:flex;align-items:center;gap:6px}.seat-row small{font-size:10px;color:#8fa3ac}.seat-row button{width:40px;height:40px;border:1.5px solid #c8d8d6;border-radius:10px;background:#fff;color:#5c7480}.seat-row button.active{background:#2c7a7b;color:#fff;border-color:#2c7a7b}.quiet{margin-top:16px;padding:10px;border-radius:10px;background:#f8fcfb;display:flex;align-items:center;gap:8px;font-size:12px}.quiet button{width:20px;height:20px;border:1px solid #c8d8d6;border-radius:5px;background:#fff}.quiet button.checked{background:#2c7a7b;color:#fff}.quiet svg{width:14px}.seat-page>.primary{margin-top:auto}@media(min-width:700px){body{padding:24px 0}.app-frame,.standalone{border-radius:24px;overflow:hidden;min-height:calc(100dvh - 48px);box-shadow:0 16px 50px #0f1f2e24}.tabbar{bottom:24px}}.route-picker{display:grid;grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr);gap:8px;align-items:end;padding:14px;border-radius:12px;background:#fff;box-shadow:0 4px 12px #0f1f2e0f}.route-picker label{display:flex;min-width:0;flex-direction:column;gap:6px}.route-picker label span{color:#5c7480;font-size:11px}.route-picker select{width:100%;height:36px;border:0;border-bottom:1px solid #e0ebea;outline:0;background:#fff;color:#0f1f2e;font-weight:700}.route-picker>button{display:grid;width:38px;height:38px;place-items:center;border:1px solid #dbe8e7;border-radius:50%;background:#f8fcfb;color:#2c7a7b}.route-picker>button:disabled{opacity:.4}.priority-item{display:grid!important;grid-template-columns:24px 1fr 34px 34px!important;padding:10px 0!important;border-bottom:1px solid #f0f4f4}.priority-item:last-child{border:0}.priority-item label{grid-column:2 / 4;display:flex;align-items:center;gap:6px;color:#5c7480;font-size:10px}.priority-item label select{height:30px;border:1px solid #e0ebea;border-radius:7px;background:#fff}.priority-item .quiet-pref{grid-column:4 / 5;white-space:nowrap}.priority-item .quiet-pref input{accent-color:#2c7a7b}.page{padding-bottom:104px}.train-filters{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:11px 12px;border:1px solid #e0ebea;border-radius:8px;background:#fff}.train-filters label{display:flex;align-items:center;gap:5px;color:#405966;font-size:11px;white-space:nowrap}.train-filters input{accent-color:#2c7a7b}.train-filters label:last-child{justify-self:end}.train-filters select{min-width:64px;height:30px;border:1px solid #dbe8e7;border-radius:7px;background:#fff;color:#0f1f2e}.reservation-sticky{position:sticky;z-index:20;top:0;padding-bottom:4px;background:#fafcfc;display:flex;flex-direction:column;gap:12px}.quick-date-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) 48px;overflow:hidden;border-radius:8px;background:#2f8586;box-shadow:0 4px 12px #2c7a7b29}.quick-date-bar>button{position:relative;min-width:0;height:52px;padding:5px 1px;border:0;background:transparent;color:#ffffffc2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.quick-date-bar>button.active{background:#fff;color:#246a6b}.quick-date-bar>button:disabled{cursor:wait}.quick-date-bar span{font-size:10px;white-space:nowrap}.quick-date-bar strong{font-size:12px}.quick-date-bar .calendar-choice{border-left:1px solid rgba(255,255,255,.2);gap:2px}.calendar-choice svg{width:17px;height:17px}.calendar-backdrop,.submission-backdrop{position:fixed;z-index:50;inset:0;padding:18px;background:#0f1f2e61;display:flex;align-items:center;justify-content:center}.travel-calendar{width:min(100%,390px);padding:16px;border-radius:8px;background:#fff;box-shadow:0 18px 50px #0f1f2e40}.travel-calendar header{height:38px;display:flex;align-items:center;justify-content:space-between}.travel-calendar header button{width:34px;height:34px;padding:0;border:0;background:transparent;color:#405966}.travel-calendar header svg{width:19px}.travel-calendar-weekdays,.travel-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.travel-calendar-weekdays{margin:10px 0 7px;color:#78909a;font-size:10px;text-align:center}.travel-calendar-weekdays .weekend,.travel-calendar-days .weekend{color:#b7791f}.travel-calendar-days button{position:relative;min-width:0;height:42px;padding:0;border:1px solid transparent;border-radius:7px;background:transparent;color:#405966}.travel-calendar-days button.active{border-color:#2c7a7b;background:#e6f7f5;color:#246a6b;font-weight:700}.travel-calendar-days button.outside{color:#b9c5c8}.travel-calendar-days button:disabled{color:#d0d7d9;cursor:not-allowed}.travel-calendar-days button i{position:absolute;right:1px;top:1px;width:14px;height:14px;border-radius:4px;background:#e87918;color:#fff;font-size:8px;font-style:normal;line-height:14px}.travel-calendar-days button:disabled i{background:#c5cfd2}.travel-calendar>p{height:294px;margin:0;color:#8fa3ac;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px}.travel-calendar>p svg{width:16px}.travel-calendar footer{margin-top:12px;display:flex;justify-content:flex-end;gap:8px}.travel-calendar footer button{height:34px;padding:0 12px;border:1px solid #dbe8e7;border-radius:7px;background:#fff;color:#2c7a7b}.train-option{display:block;width:100%;margin-bottom:10px;padding:15px 13px 12px;border:1px solid transparent;border-radius:8px;background:#fff;box-shadow:0 2px 9px #0f1f2e0f;color:inherit;text-align:left}.train-list h2{margin:5px 2px 10px}.train-option.selected{border-color:#2c7a7b;background:#f7fcfb;box-shadow:0 3px 12px #2c7a7b21}.train-option:disabled{cursor:not-allowed;opacity:.48}.train-option.unavailable{opacity:.48}.train-route-row{display:grid;grid-template-columns:26px minmax(61px,1fr) 59px minmax(61px,1fr) 52px;align-items:center;gap:6px}.train-select{position:relative;width:22px;height:22px}.train-select input{position:absolute;opacity:0}.train-select>span{width:22px;height:22px;border:1.5px solid #b9cbce;border-radius:5px;display:grid;place-items:center;color:#fff}.train-select input:checked+span{border-color:#2c7a7b;background:#2c7a7b}.train-select svg{width:14px;height:14px}.train-stop{min-width:0}.train-stop strong{display:block;color:#0f1f2e;font-size:21px;line-height:1.1}.train-stop span{display:flex;align-items:center;gap:4px;margin-top:6px;overflow:hidden;color:#405966;font-size:11px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.train-stop i{display:inline-grid;width:18px;height:18px;flex:0 0 18px;place-items:center;border-radius:4px;background:#f2a93b;color:#fff;font-size:10px;font-style:normal}.train-stop.arrival{text-align:right}.train-stop.arrival span{justify-content:flex-end}.train-stop.arrival i{background:#43a987}.train-summary{text-align:center}.train-summary b{display:block;font-size:16px}.train-summary span{display:block;margin-top:7px;border-top:1px solid #c9d7d5;color:#738992;font-size:10px}.train-actions{display:flex;flex-direction:column;gap:5px}.train-book,.train-manage{height:29px;padding:0 7px;border-radius:7px;background:#fff;font-size:11px;font-weight:700}.train-book{border:1px solid #e87918;color:#e87918}.train-book.reserved:disabled{border-color:#2c7a7b;background:#e6f7f5;color:#2c7a7b;opacity:1}.train-manage{border:1px solid #2c7a7b;color:#2c7a7b}.train-book:disabled,.train-manage:disabled{border-color:#cbd6d7;color:#9dacb2}.train-meta{display:flex;align-items:center;justify-content:space-between;margin:12px 58px 0 32px;padding-top:10px;border-top:1px solid #edf2f1}.train-meta>span{display:flex;gap:14px;color:#2c7a7b;font-size:11px}.train-meta .sold-out{color:#9dacb2}.train-meta .waitlist{color:#b7791f}.train-meta>small{color:#9dacb2;font-size:10px}.dialog-backdrop{position:fixed;z-index:40;inset:0;background:#0f1f2e61;display:flex;justify-content:center}.seat-dialog{position:relative;width:min(100%,430px);height:100dvh;background:#f7fafa;display:flex;flex-direction:column;box-shadow:0 18px 50px #0f1f2e40}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.seat-dialog-close{position:absolute;z-index:3;top:12px;right:12px;width:38px;height:38px;padding:0;border:1px solid #dbe8e7;border-radius:50%;background:#fffffff5;color:#405966;display:grid;place-items:center;box-shadow:0 2px 8px #0f1f2e14}.seat-dialog-close svg{width:19px}.seat-dialog-list{flex:1;overflow-y:auto;padding:12px 2px 110px}.managed-date-picker{margin-bottom:12px;padding:16px;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0f1f2e0d}.managed-date-picker>div:first-child{margin-bottom:12px;display:flex;align-items:baseline;justify-content:space-between}.managed-date-picker h3{margin:0;font-size:15px}.managed-date-picker>div:first-child span{color:#8fa3ac;font-size:10px}.managed-weekdays,.managed-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.managed-weekdays{margin-bottom:6px;color:#78909a;font-size:9px;text-align:center}.managed-weekdays .weekend,.managed-date-picker button.weekend{color:#b7791f}.managed-date-picker button{position:relative;min-width:0;height:42px;padding:4px 1px;border:1px solid #dbe8e7;border-radius:7px;background:#fff;color:#5c7480;display:flex;align-items:center;justify-content:center}.managed-date-picker button.active{border-color:#2c7a7b;background:#e6f7f5;color:#246a6b}.managed-date-picker button:disabled{border-color:#edf2f1;background:#f7f9f9;color:#c5cfd2;cursor:not-allowed}.managed-date-picker button span{font-size:10px;font-weight:600}.managed-date-picker button i{position:absolute;right:2px;top:2px;width:14px;height:14px;border-radius:4px;background:#e87918;color:#fff;font-size:8px;font-style:normal;line-height:14px;text-align:center}.managed-date-picker button:disabled i{background:#c5cfd2}.managed-date-loading{height:54px;margin:0;color:#8fa3ac;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px}.managed-date-loading svg{width:14px}.submission-backdrop{z-index:60}.submission-dialog{width:min(100%,390px);padding:24px 20px 18px;border-radius:8px;background:#fff;text-align:center;box-shadow:0 18px 50px #0f1f2e40}.submission-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:50%;background:#e6f7f5;color:#2c7a7b;display:grid;place-items:center}.submission-icon.warning{background:#fbf3dc;color:#b7791f}.submission-icon svg{width:25px}.submission-dialog h2{margin:0;font-size:19px}.submission-dialog>p{margin:7px 0 16px;color:#718894;font-size:12px}.submission-task-list{max-height:240px;overflow-y:auto;text-align:left}.submission-task-list>div{padding:11px 0;border-top:1px solid #edf2f1;display:grid;grid-template-columns:1fr auto;gap:4px 10px}.submission-task-list span{color:#405966;font-size:12px;font-weight:600}.submission-task-list strong{color:#2c7a7b;font-size:11px}.submission-task-list small{grid-column:1 / -1;color:#b7791f;font-size:10px;line-height:1.5}.submission-actions{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.submission-actions button{height:42px;border:1px solid #dbe8e7;border-radius:8px;background:#fff;color:#405966;font-weight:700}.submission-actions .primary{border:0;background:#2c7a7b;color:#fff}.task-card.status-uncertain{border:1px solid #f2e9c8}.task-card.status-uncertain .badge{background:#fbf3dc;color:#8a6d1a}.task-card.status-failed .badge{background:#fff0f0;color:#b93f3f}.reservation-card{display:flex;flex-direction:column;gap:10px;border:1px solid #d9ece9}.reservation-card h2{margin:2px 0 0;font-size:16px}.reservation-card p{margin:0;color:#5c7480;font-size:12px}.reservation-seat{padding:11px;border-radius:8px;background:#f3faf8;color:#2c7a7b;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;font-size:11px}.reservation-seat svg{width:17px}.reservation-seat strong{color:#405966}.reservation-order-no{color:#8fa3ac;font-size:10px}.confirm-backdrop{position:fixed;z-index:70;inset:0;padding:18px;background:#0f1f2e6b;display:flex;align-items:center;justify-content:center}.confirm-dialog{width:min(100%,360px);padding:24px 20px 18px;border-radius:8px;background:#fff;text-align:center;box-shadow:0 18px 50px #0f1f2e47}.confirm-icon{width:46px;height:46px;margin:0 auto 12px;border-radius:50%;background:#fff0f0;color:#eb5757;display:grid;place-items:center}.confirm-icon svg{width:23px}.confirm-dialog h2{margin:0;font-size:18px}.confirm-dialog p{margin:10px 0 3px;color:#0f1f2e;font-size:14px;font-weight:700}.confirm-dialog>span,.confirm-dialog>small{display:block;color:#718894;font-size:11px}.confirm-dialog>small{margin-top:12px;color:#b7791f}.confirm-dialog>div:last-child{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.confirm-dialog>div:last-child button{height:42px;border:1px solid #dbe8e7;border-radius:8px;background:#fff;color:#405966;font-weight:700}.confirm-dialog .danger-confirm{border-color:#eb5757;background:#eb5757;color:#fff}.seat-preference{padding-bottom:12px}.seat-train-summary{position:relative;margin-bottom:12px;padding:18px;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0f1f2e0d;display:flex;align-items:center;justify-content:space-between}.seat-train-summary>div:first-child{display:flex;flex-direction:column;gap:4px}.seat-train-summary strong{font-size:19px}.seat-train-summary span{color:#718894;font-size:11px}.seat-train-summary p{margin:0;color:#5c7480;font-size:13px;font-weight:600}.seat-train-summary p b{margin:0 5px;color:#8fa3ac}.seat-priority{position:absolute;right:12px;bottom:-11px;display:flex;gap:4px}.seat-priority button{width:26px;height:24px;padding:0;border:1px solid #dbe8e7;border-radius:7px;background:#fff;color:#5c7480}.seat-priority button:disabled{opacity:.35}.seat-priority svg{width:13px}.seat-class-tabs{margin-bottom:12px;padding:4px;border-radius:12px;background:#e9f3f2;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}.seat-class-tabs button{min-width:0;min-height:52px;padding:6px 3px;border:0;border-radius:9px;background:transparent;color:#667f89;display:flex;flex-direction:column;align-items:center;justify-content:center}.seat-class-tabs button.active{background:#fff;color:#0f1f2e;box-shadow:0 2px 7px #0f1f2e0f}.seat-class-tabs strong{font-size:13px}.seat-class-tabs span{margin-top:2px;overflow:hidden;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.seat-class-tabs button.active span{color:#2c7a7b}.seat-selection-card{padding:18px;border-radius:12px;background:#fff;box-shadow:0 2px 8px #0f1f2e0d}.seat-selection-title{display:flex;align-items:center;justify-content:space-between}.seat-selection-title h3{margin:0;font-size:15px}.seat-selection-title span{color:#718894;font-size:12px}.seat-position{margin-top:18px;display:grid;grid-template-columns:22px repeat(3,1fr) 34px repeat(2,1fr) 22px;gap:6px;align-items:center;text-align:center}.seat-position small{color:#8fa3ac;font-size:10px}.seat-position button{min-width:0;height:50px;padding:0;border:2px solid #c8d8d6;border-radius:10px;background:#fff;color:#5c7480;font-size:16px}.seat-position button.active{border-color:#2c7a7b;background:#2c7a7b;color:#fff;font-weight:700}.seat-note,.no-seat-note{margin:14px 0;color:#8fa3ac;font-size:10px;text-align:center}.no-seat-note{padding:24px 0 10px}.seat-check,.waitlist-card{position:relative;display:flex;align-items:center;gap:10px}.seat-check{margin-top:14px;padding:13px;border-radius:10px;background:#f7fbfa;font-size:12px;font-weight:600}.seat-check input,.waitlist-card input{position:absolute;opacity:0;pointer-events:none}.seat-check>span,.waitlist-card>span{width:22px;height:22px;flex:0 0 22px;border:2px solid #c8d8d6;border-radius:6px;display:grid;place-items:center;color:#fff}.seat-check input:checked+span,.waitlist-card input:checked+span{border-color:#2c7a7b;background:#2c7a7b}.seat-check svg,.waitlist-card svg{width:14px}.waitlist-card{margin-top:12px;padding:17px 18px;border:1px solid #f0d89c;border-radius:12px;background:#fff}.waitlist-card>div{display:flex;flex-direction:column;gap:3px}.waitlist-card strong{font-size:14px}.waitlist-card small{color:#718894;font-size:10px;line-height:1.4}.seat-passenger{margin-top:2px;padding:17px 18px;border-radius:12px;background:#fff;display:flex;align-items:center;gap:14px;box-shadow:0 2px 8px #0f1f2e0d}.seat-passenger>span{color:#718894;font-size:12px}.seat-passenger strong{padding:7px 11px;border:1px solid #dbe8e7;border-radius:18px;display:flex;align-items:center;gap:6px;font-size:12px}.seat-passenger svg{width:15px}.seat-dialog-hint{margin:16px 12px;color:#718894;display:flex;align-items:flex-start;gap:6px;font-size:10px;line-height:1.5}.seat-dialog-hint svg{width:16px;flex:0 0 16px}.seat-dialog>footer{position:absolute;bottom:0;width:min(100%,430px);min-height:78px;padding:10px 14px max(10px,env(safe-area-inset-bottom));border-top:1px solid #e8efef;background:#fffffff7;display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:center}.seat-dialog>footer>div{min-width:0;display:flex;flex-direction:column;gap:3px}.seat-dialog>footer strong{overflow:hidden;font-size:16px;white-space:nowrap;text-overflow:ellipsis}.seat-dialog>footer span{color:#718894;font-size:10px}.seat-dialog>footer button{height:46px;border-radius:10px}.sticky-submit{position:fixed;z-index:9;bottom:88px;left:50%;width:min(calc(100% - 32px),398px);margin:0;padding:8px 0 2px;transform:translate(-50%);background:#fafcfcf5;display:grid;grid-template-columns:1fr 1fr;gap:8px}.reserve-submit{width:100%;height:48px;border:1px solid #e87918;border-radius:10px;background:#fff;color:#e87918;font-size:14px;font-weight:700}.seat-page{padding-top:16px}.page{padding-bottom:230px}.train-list h2 small{display:inline-flex;align-items:center;gap:3px}.train-list h2 small svg{width:12px;height:12px}@media(min-width:700px){.reservation-sticky{top:24px}.sticky-submit{bottom:100px}.dialog-backdrop{align-items:center}.seat-dialog{height:calc(100dvh - 48px);border-radius:24px;overflow:hidden}.seat-dialog>footer{bottom:24px;border-radius:0 0 24px 24px}}
