:root{font-family:Inter,"Noto Sans KR",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172e38;background:#f3f6f6;font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}main{max-width:1020px;margin:auto;padding:30px 24px}header,.section-top,.account-bar,.form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}header{padding:0 0 30px;border-bottom:1px solid #dce4e4}.brand{text-decoration:none;font-size:14px;font-weight:800;letter-spacing:.04em;color:#174c47}.badge{font-size:12px;background:#e0ece8;color:#286354;padding:5px 12px;border-radius:99px}.intro{padding:40px 0 24px}.eyebrow{font-size:12px;color:#39726a;letter-spacing:.08em;font-weight:700}h1{font-size:38px;letter-spacing:-1.7px;line-height:1.3;margin:12px 0}h2{font-size:19px;letter-spacing:-.6px;margin:0 0 12px}.intro>p:last-child,.muted{color:#65787c}.panel{background:white;border:1px solid #dfe7e6;border-radius:16px;padding:28px;margin-bottom:22px;box-shadow:0 3px 10px #18332e03}.login-grid{display:grid;grid-template-columns:1.3fr 1fr auto;gap:16px;align-items:end}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650}input,select,button{font:inherit}input,select{width:100%;min-height:46px;border:1px solid #cbd8d7;border-radius:8px;padding:10px 12px;color:#1b343b;background:#fff;font-size:15px}input:focus,select:focus{outline:2px solid #218675;outline-offset:2px}button{background:#176b5a;border:1px solid transparent;border-radius:8px;padding:11px 22px;min-height:46px;color:white;font-size:14px;font-weight:650;cursor:pointer}button:hover{background:#0f5447}button:disabled{cursor:default;background:#edf0f0;color:#8b999b;border-color:#e3e8e8}.secondary,.swap{background:#fff;color:#286357;border-color:#cbdcd7}.secondary:hover,.swap:hover{background:#eef5f2}.text-button{background:transparent;color:#45665e;min-height:36px;padding:6px 12px}.text-button:hover{background:#e2ece9}.hint{font-size:12px;color:#64777a;margin:14px 0 0}.account-bar{margin:0 0 15px;font-size:13px;color:#41695b}.route-grid{display:grid;grid-template-columns:1fr 48px 1fr;gap:14px;align-items:end;margin-bottom:20px}.swap{padding:4px;font-size:25px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-footer{margin-top:24px;border-top:1px solid #edf0ef;padding-top:20px}.form-footer .hint{margin:0}.section-top h2{margin:0}.section-top{margin-bottom:12px}.train-row{display:grid;grid-template-columns:140px 1fr auto;align-items:center;gap:20px;border-top:1px solid #e5ecea;padding:22px 0}.train-row:first-child{border-top:0}.train-label strong{display:block}.train-label small,.journey small{display:block;color:#687d80;font-size:12px}.journey strong{font-size:22px;font-weight:650;letter-spacing:.02em}.seat-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.seat-actions button{font-size:12px;padding:8px 13px;min-height:40px}.reservation{border-top:1px solid #e5ecea;padding:18px 0}.reservation p{margin:5px 0}.reservation strong{color:#176b5a}.deadline{font-size:13px;color:#975324}.empty{padding:25px 0;text-align:center;color:#6a7f82}#notice{position:sticky;top:12px;z-index:5;padding:16px 20px;background:#e8f4ee;border:1px solid #b9d9c8;border-radius:10px;margin:0 0 20px;white-space:pre-line}#notice.error{background:#fff1eb;border-color:#e8c5b6;color:#834631}footer{text-align:center;color:#7a8a8b;font-size:12px;line-height:1.9;margin:36px 0 14px}dialog{border:0;border-radius:18px;padding:30px;width:min(440px,calc(100% - 32px));color:#172e38;box-shadow:0 20px 90px #16372e30}dialog::backdrop{background:#152f3860}#confirm-description{white-space:pre-line}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}[hidden]{display:none!important}@media(max-width:680px){main{padding:20px 16px}.badge{display:none}.intro{padding:25px 0 16px}h1{font-size:31px}.panel{padding:20px}.login-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.train-row{grid-template-columns:100px 1fr;gap:12px}.seat-actions{grid-column:1/-1;justify-content:flex-start}.journey strong{font-size:20px}.form-footer{align-items:flex-start;flex-direction:column}.form-footer button{width:100%}.route-grid{gap:8px;grid-template-columns:1fr 36px 1fr}}
:root .monitor-panel{border-color:#bdd7cb;background:#fbfefc}.telegram-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e1ebe5;margin-top:18px;padding-top:15px}.telegram-row .hint{margin:0}#monitor-confirm-description{white-space:pre-line}#stop-monitor{margin-top:15px}#monitor-badge{display:inline-block;white-space:nowrap}@media(max-width:680px){.telegram-row{align-items:flex-start;flex-direction:column}.seat-actions{max-width:100%}}
.auth-main{max-width:700px}.auth-form{display:grid;gap:16px;margin-top:18px}.auth-form button{justify-self:start}.button-link{display:inline-block;color:white;background:#176b5a;border-radius:8px;padding:11px 20px;text-decoration:none}#otp-qr{display:block;margin:20px auto;max-width:100%;height:auto;background:white}#otp-secret{overflow-wrap:anywhere}#recovery-codes{padding:15px;background:#f0f5f2;line-height:2}.member-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-top:1px solid #e5ecea;font-size:13px}.telegram-settings{margin-top:18px}.telegram-settings summary{cursor:pointer;color:#286354;font-size:13px}
.main-tabs{display:flex;gap:6px;padding:6px;background:#e5edeb;border-radius:12px;margin:8px 0 26px;overflow-x:auto}.main-tabs button{flex:1;white-space:nowrap;background:transparent;color:#516c65;border:0}.main-tabs button[aria-selected="true"]{background:#fff;color:#145e4f;box-shadow:0 2px 6px #14372f12}.main-tabs button:focus-visible{outline:2px solid #176b5a;outline-offset:-2px}.main-tabs [hidden]{display:none}.holiday-steps{padding-left:22px}.holiday-steps li{margin:10px 0}.holiday-note{white-space:pre-wrap}.holiday-check{display:flex;flex-direction:row;align-items:center;margin:12px 0}.holiday-check input{width:18px;min-height:18px}#holiday-connection{margin:20px 0;padding:18px;background:#f3f7f5;border-radius:10px}#holiday-connection label{margin-bottom:12px}#pane-holiday details{margin-top:20px}#pane-holiday a{color:#176b5a;text-underline-offset:3px}
#holiday-status{display:inline-block;white-space:nowrap}#pane-holiday .section-top{flex-wrap:wrap}@media(max-width:680px){.main-tabs button{padding:10px 12px}}
