@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(./inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(./inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(./inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(./inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(./inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(./inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(./inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(./inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(./inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(./inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(./inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(./inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(./inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(./inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(./inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(./inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(./inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(./inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(./inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(./inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(./inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(./inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(./inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(./inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-devanagari-600-normal-STEjXBNN.woff2) format("woff2"),url(./poppins-devanagari-600-normal-ClASKHrr.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-ext-600-normal-CAhIAdZj.woff2) format("woff2"),url(./poppins-latin-ext-600-normal-Df5ffKXP.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:600;src:url(./poppins-latin-600-normal-zEkxB9Mr.woff2) format("woff2"),url(./poppins-latin-600-normal-BJdTmd5m.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-devanagari-700-normal-O-jipLrW.woff2) format("woff2"),url(./poppins-devanagari-700-normal-fHs-vx92.woff) format("woff");unicode-range:U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-ext-700-normal-cby-RkWa.woff2) format("woff2"),url(./poppins-latin-ext-700-normal-DctTR6Tg.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:700;src:url(./poppins-latin-700-normal-Qrb0O0WB.woff2) format("woff2"),url(./poppins-latin-700-normal-BVuQR_eA.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--shell-max: 390px;--color-primary: #235DFF;--color-primary-bright: #4A7BFF;--color-primary-deep: #1A47C8;--color-primary-soft: #E7EEFF;--color-primary-100: #A7BEFF;--color-accent: #12D18E;--color-accent-soft: #E1F9F0;--color-success: #12B981;--color-warning: #F59E0B;--color-danger: #E5484D;--color-seat-occupied: #7085A7;--color-page-bg: #F5F5F5;--color-surface: #FFFFFF;--color-text: #17181C;--color-text-secondary: #5B6170;--color-text-muted: #9AA0AE;--color-line: #E7E8EC;--color-mask: rgba(13, 18, 30, .55);--color-chip-bg: #F0F1F4;--color-dark-bg: #0E1117;--color-dark-surface: #171B24;--color-dark-text: #F2F4F8;--color-dark-line: #2A2F3A;--font-sans: "Inter", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;--font-display: "Poppins", "Inter", "PingFang SC", sans-serif;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 30px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--shadow-card: 0 2px 10px rgba(23, 24, 28, .05);--shadow-float: 0 8px 28px rgba(13, 18, 30, .18);--topbar-h: 56px;--bottomnav-h: 62px}html[data-theme=dark]{--color-page-bg: var(--color-dark-bg);--color-surface: var(--color-dark-surface);--color-text: var(--color-dark-text);--color-text-secondary: #A6ADBC;--color-text-muted: #6B7383;--color-line: var(--color-dark-line);--color-chip-bg: #20242E;--color-primary-soft: #1D2A4D;--color-accent-soft: #12352A;--shadow-card: 0 2px 10px rgba(0, 0, 0, .35)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:auto;min-height:100%}body{margin:0;font-family:var(--font-sans);background:var(--color-page-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6,p{margin:0}button,input,textarea,select{font:inherit;color:inherit}img,svg{display:block;max-width:none}img{max-width:96vw}#root{display:flex;justify-content:center;align-items:flex-start}.app-shell{width:100%;max-width:var(--shell-max);min-height:100vh;min-height:100dvh;margin:0 auto;position:relative;background:var(--color-page-bg);display:flex;flex-direction:column}.app-shell>main{flex:1}.toast-stack{position:fixed;left:50%;bottom:calc(var(--bottomnav-h) + 24px);transform:translate(-50%);width:max-content;max-width:calc(var(--shell-max) - 48px);display:flex;flex-direction:column;gap:var(--space-2);z-index:90;pointer-events:none}.toast{background:#17181ceb;color:#fff;font-size:var(--text-sm);padding:10px 18px;border-radius:var(--radius-pill);box-shadow:var(--shadow-float);animation:toast-in .2s ease;text-align:center}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast--success{background:#12b27df2}.toast--warning{background:#d97706f2}.toast--error{background:#cb393ef2}.form-section{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.form-title{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-3)}.action-bar{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:var(--shell-max);padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-line);z-index:34}.action-bar--with-nav{bottom:var(--bottomnav-h)}.action-bar__hint{text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-2)}.chips-row{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none}.chips-row::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;padding:7px 14px;border-radius:var(--radius-pill);border:1.5px solid var(--color-line);background:var(--color-surface);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;font-family:var(--font-sans)}.chip--active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft);font-weight:600}.kv{display:flex;justify-content:space-between;gap:var(--space-4);padding:7px 0;font-size:var(--text-base)}.kv__k{color:var(--color-text-secondary);flex:0 0 auto}.kv__v{text-align:right;font-weight:500;word-break:break-all}.kv__v--strong{font-weight:700}.kv__v--primary{color:var(--color-primary)}.kv__v--danger{color:var(--color-danger)}.divider{border:none;border-top:1px solid var(--color-line);margin:var(--space-3) 0}a{color:var(--color-primary)}:focus-visible{outline:2px solid var(--color-primary-bright);outline-offset:2px}a{color:inherit;text-decoration:none}a:visited{color:inherit}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14100e73;z-index:200}.overlay{position:fixed;background:var(--color-surface, #fff);color:var(--color-text, #222);display:flex;flex-direction:column;z-index:201;max-width:var(--shell-max, 375px);width:100%;left:50%;transform:translate(-50%);box-sizing:border-box}.overlay--bottom{bottom:0;max-height:82vh;border-radius:20px 20px 0 0}.overlay--center{top:50%;left:50%;width:calc(100% - 48px);max-height:80vh;border-radius:16px;transform:translate(-50%,-50%)}.overlay--left,.overlay--right{top:0;bottom:0;width:min(320px,84vw)}.overlay--left{left:0;transform:none}.overlay--right{left:auto;right:0;transform:none}.toast-region{position:fixed;top:16px;left:50%;transform:translate(-50%);width:min(100% - 32px,var(--shell-max, 375px));display:flex;flex-direction:column;align-items:center;gap:8px;z-index:300;pointer-events:none}.tabs,.segmented,.chips,.filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar,.segmented::-webkit-scrollbar,.chips::-webkit-scrollbar,.filters::-webkit-scrollbar{display:none}.tabs>*,.segmented>*,.chips>*,.filters>*{flex:0 0 auto;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease,opacity .15s ease;font-family:var(--font-sans);line-height:1.2}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-bright)}.btn--secondary{background:var(--color-primary-soft);color:var(--color-primary)}.btn--ghost{background:transparent;color:var(--color-primary)}.btn--sm{padding:6px 14px;font-size:var(--text-sm)}.btn--md{padding:10px 20px;font-size:var(--text-base)}.btn--lg{padding:14px 24px;font-size:var(--text-md)}.btn--block{width:100%}.btn__spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:btn-spin .7s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.walkthrough{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:var(--space-6)}.walkthrough__skip{position:absolute;top:var(--space-5);right:var(--space-5)}.walkthrough__skip button{background:none;border:none;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer}.walkthrough__art{width:100%;margin-bottom:var(--space-6)}.walkthrough__title{font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-3)}.walkthrough__desc{font-size:var(--text-base);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-6)}.walkthrough__dots{display:flex;gap:8px;justify-content:center;margin-bottom:var(--space-6)}.walkthrough__dot{width:8px;height:8px;border-radius:var(--radius-pill);background:var(--color-line);transition:width .2s ease,background .2s ease}.walkthrough__dot--on{width:22px;background:var(--color-primary)}.walkthrough__actions{display:flex;gap:var(--space-3)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-3)}.field__label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.field__box{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface);border:1.5px solid var(--color-line);border-radius:var(--radius-md);padding:0 12px;transition:border-color .15s ease}.field--focus .field__box,.field__box:focus-within{border-color:var(--color-primary)}.field--error .field__box{border-color:var(--color-danger)}.field--sm .field__box{padding-top:2px;padding-bottom:2px}.field__box input{flex:1;min-width:0;border:none;outline:none;background:transparent;padding:12px 0;font-size:var(--text-base);color:var(--color-text)}.field--sm .field__box input{padding:8px 0;font-size:var(--text-sm)}.field__box input::placeholder{color:var(--color-text-muted)}.field__affix{color:var(--color-text-muted);display:inline-flex;align-items:center}.field__error{font-size:var(--text-xs);color:var(--color-danger)}.field__textarea{border:1.5px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface);padding:12px;font-size:var(--text-base);color:var(--color-text);resize:vertical;outline:none}.field__textarea:focus{border-color:var(--color-primary)}.tabs{display:flex;overflow-x:auto;scrollbar-width:none;border-bottom:1.5px solid var(--color-line)}.tabs::-webkit-scrollbar{display:none}.tabs__item{flex:0 0 auto;position:relative;white-space:nowrap;background:none;border:none;padding:10px 16px;font-size:var(--text-base);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.tabs__item--active{color:var(--color-primary);font-weight:600}.tabs--underline .tabs__item--active:after{content:"";position:absolute;left:16px;right:16px;bottom:-1.5px;height:3px;border-radius:3px;background:var(--color-primary)}.tabs__badge{min-width:17px;height:17px;padding:0 4px;border-radius:var(--radius-pill);background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.seg{display:flex;gap:var(--space-3);margin-bottom:var(--space-4)}.seg__item{flex:1;border:1.5px solid var(--color-primary);background:transparent;color:var(--color-primary);font-weight:600;padding:10px 0;border-radius:var(--radius-pill);cursor:pointer;font-size:var(--text-base);font-family:var(--font-sans)}.seg__item--active{background:var(--color-primary);color:#fff}.checkbox{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-base);color:var(--color-text)}.checkbox--disabled{opacity:.5;cursor:not-allowed}.checkbox input{position:absolute;opacity:0;width:1px;height:1px}.checkbox__box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--color-line);background:var(--color-surface);display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease;flex:0 0 auto}.checkbox input:checked+.checkbox__box{background:var(--color-primary);border-color:var(--color-primary)}.checkbox input:focus-visible+.checkbox__box{outline:2px solid var(--color-primary-bright);outline-offset:2px}.checkbox--disabled .checkbox__box{border-color:var(--color-primary-100);background:var(--color-primary-100)}.switch{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer}.switch--disabled{opacity:.5;cursor:not-allowed}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch__track{width:42px;height:24px;border-radius:var(--radius-pill);background:var(--color-chip-bg);padding:3px;display:inline-flex;transition:background .15s ease;flex:0 0 auto}.switch__thumb{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .18s ease}.switch input:checked+.switch__track{background:var(--color-primary)}.switch input:checked+.switch__track .switch__thumb{transform:translate(18px)}.switch input:focus-visible+.switch__track{outline:2px solid var(--color-primary-bright);outline-offset:2px}.accordion{border-bottom:1px solid var(--color-line)}.accordion__head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);background:none;border:none;padding:14px 4px;font-size:var(--text-base);color:var(--color-text);text-align:left;cursor:pointer;font-family:var(--font-sans)}.accordion__chev{color:var(--color-text-muted);transition:transform .15s ease;font-size:var(--text-lg)}.accordion__chev--open{transform:rotate(90deg)}.accordion__body{padding:0 4px 14px;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}.topbar{position:sticky;top:0;z-index:30;height:var(--topbar-h);background:var(--color-primary);color:#fff;display:flex;align-items:center;padding:0 var(--space-3);gap:var(--space-2)}.topbar--transparent{background:transparent}.topbar__side{width:56px;display:flex;align-items:center}.topbar__side--right{justify-content:flex-end}.topbar__title{flex:1;text-align:center;font-size:var(--text-md);font-weight:600;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar__btn{background:none;border:none;color:inherit;cursor:pointer;padding:8px;border-radius:var(--radius-sm);display:inline-flex;align-items:center}.topbar__btn:hover{background:#ffffff24}.page{padding:var(--space-4) var(--space-4) var(--space-6)}.page--with-nav{padding-bottom:calc(var(--bottomnav-h) + var(--space-6) + 10px)}.bottomnav{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:var(--shell-max);height:var(--bottomnav-h);background:var(--color-surface);border-top:1px solid var(--color-line);display:flex;z-index:35;padding-bottom:env(safe-area-inset-bottom)}.bottomnav__item{flex:1;background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans)}.bottomnav__item--active{color:var(--color-primary);font-weight:600}.auth{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;padding:var(--space-8) var(--space-6) var(--space-6)}.auth__brand{text-align:center;margin:var(--space-6) 0 var(--space-8)}.auth__logo{width:72px;height:72px;border-radius:var(--radius-xl);background:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.auth__brand h1{font-size:var(--text-xl);font-family:var(--font-display)}.auth__brand p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:6px}.auth__form{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-line);padding:var(--space-5)}.auth__agree{font-size:var(--text-xs);color:var(--color-text-secondary)}.auth__agree a{pointer-events:auto}.auth__divider{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs);margin:var(--space-5) 0 var(--space-3)}.auth__divider:before,.auth__divider:after{content:"";flex:1;height:1px;background:var(--color-line)}.auth__hint{text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-4)}.auth__otp-hint{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.auth__resend{background:none;border:none;color:var(--color-primary);font-size:var(--text-sm);cursor:pointer;white-space:nowrap}.auth__resend:disabled{color:var(--color-text-muted);cursor:not-allowed}.auth__link{display:block;text-align:center;background:none;border:none;color:var(--color-text-secondary);font-size:var(--text-sm);margin-top:var(--space-4);cursor:pointer;text-decoration:underline}.auth__register{text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-5)}.auth__links{margin-top:var(--space-4)}.auth__links .auth__link{margin-top:0}.result{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8) var(--space-4) var(--space-6)}.result__icon--ok{color:var(--color-accent);margin-bottom:var(--space-5)}.result__icon--fail{color:var(--color-danger);margin-bottom:var(--space-5)}.result__title{font-size:var(--text-xl);margin-bottom:var(--space-2)}.result__desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-6);max-width:280px}.result__actions{width:100%;display:flex;flex-direction:column;gap:var(--space-2)}.stepper{display:flex;margin:var(--space-4) 0}.stepper__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.stepper__item:before{content:"";position:absolute;top:11px;left:-50%;width:100%;height:2px;background:var(--color-line)}.stepper__item:first-child:before{display:none}.stepper__item--on:before{background:var(--color-primary)}.stepper__num{width:24px;height:24px;border-radius:50%;background:var(--color-chip-bg);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:1}.stepper__item--on .stepper__num{background:var(--color-primary);color:#fff}.stepper__label{font-size:10px;color:var(--color-text-muted);white-space:nowrap}.stepper__item--on .stepper__label{color:var(--color-primary);font-weight:600}.register__gender{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-3)}.register__note{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-chip-bg);border-radius:var(--radius-sm);padding:8px 10px}.verifyitem{display:flex;align-items:center;gap:var(--space-3);padding:12px 0;border-bottom:1px solid var(--color-line)}.verifyitem:last-of-type{border-bottom:none}.verifyitem__main{flex:1;min-width:0}.verifyitem__name{font-size:var(--text-base);font-weight:500}.verifyitem__desc{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.verifyitem__ok{color:var(--color-success);font-size:var(--text-sm);font-weight:600}.drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55}.drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-mask);animation:backdrop-in .2s ease}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.drawer-layer__panel{position:absolute;background:var(--color-surface);max-width:var(--shell-max);width:100%}.drawer-layer__panel--bottom{left:50%;bottom:0;transform:translate(-50%);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:86vh;display:flex;flex-direction:column;animation:drawer-up .24s cubic-bezier(.22,.8,.36,1)}@keyframes drawer-up{0%{transform:translate(-50%,100%)}to{transform:translate(-50%)}}.drawer-layer__panel--left{left:50%;top:0;bottom:0;transform:translate(calc(-50% - (min(var(--shell-max),100vw)/2)));animation:drawer-left .22s ease}@keyframes drawer-left{0%{transform:translate(calc(-50% - (min(var(--shell-max),100vw)/2) - 40px));opacity:0}to{transform:translate(calc(-50% - (min(var(--shell-max),100vw)/2)));opacity:1}}.drawer-layer__panel--right{left:50%;top:0;bottom:0;transform:translate(calc(-50% + min(var(--shell-max),100vw)/2));animation:drawer-right .22s ease}@keyframes drawer-right{0%{transform:translate(calc(-50% + min(var(--shell-max),100vw)/2 + 40px));opacity:0}to{transform:translate(calc(-50% + min(var(--shell-max),100vw)/2));opacity:1}}.drawer-layer__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-line)}.drawer-layer__title{font-size:var(--text-md);font-weight:600}.drawer-layer__close{background:none;border:none;font-size:24px;line-height:1;color:var(--color-text-muted);cursor:pointer;padding:0 4px}.drawer-layer__body{padding:var(--space-4) var(--space-5);overflow-y:auto}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4)}.card--raised{box-shadow:var(--shadow-card);border-color:transparent}.card--interactive{cursor:pointer;transition:box-shadow .15s ease,transform .1s ease}.card--interactive:hover{box-shadow:var(--shadow-float)}.card--interactive:active{transform:scale(.995)}.traincard{margin-bottom:var(--space-4)}.traincard__top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:var(--space-3);border-bottom:1.5px solid var(--color-text)}.traincard__carrier{display:flex;gap:var(--space-3);align-items:center}.traincard__logo{width:38px;height:38px;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);font-weight:800;font-size:var(--text-sm);display:inline-flex;align-items:center;justify-content:center}.traincard__no{font-weight:700;font-size:var(--text-md)}.traincard__class{font-size:var(--text-xs);color:var(--color-text-muted)}.traincard__avail{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:1px}.traincard__status{font-size:var(--text-xs);color:var(--color-success);font-weight:600}.traincard__status--out{color:var(--color-text-muted)}.traincard__price{font-size:var(--text-xl);font-weight:700;color:var(--color-text)}.traincard__priceunit{font-size:var(--text-xs);color:var(--color-text-muted)}.traincard__route{display:flex;align-items:center;padding-top:var(--space-3);gap:var(--space-2)}.traincard__station{flex:1;min-width:0}.traincard__station--right{text-align:right}.traincard__stname{font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.traincard__time{font-size:var(--text-lg);color:var(--color-primary);font-weight:600;margin-top:2px}.traincard__date{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.traincard__mid{display:flex;flex-direction:column;align-items:center;gap:3px;flex:0 0 96px}.traincard__dash{display:block;width:34px;height:0;border-top:2px dashed var(--color-primary-100)}.traincard__duration{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.trainglyph{margin:0 4px}.swapbtn{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--color-primary);background:var(--color-surface);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.swapbtn:hover{background:var(--color-primary-soft)}.routeinline{display:flex;align-items:center}.routeinline__name{font-weight:600;font-size:var(--text-base)}.routeinline__time{color:var(--color-primary);font-weight:600;font-size:var(--text-md);margin-top:2px}.routeinline__date{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.routeinline__mid{flex:1;display:flex;flex-direction:column;align-items:center}.routeinline__right{text-align:right}.stationrow{display:flex;align-items:center;width:100%;padding:13px 4px;border:none;border-bottom:1px solid var(--color-line);background:none;cursor:pointer;text-align:left;font-family:var(--font-sans)}.stationrow:hover{background:var(--color-chip-bg)}.stationrow__main{flex:1;display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.stationrow__name{font-size:var(--text-base);color:var(--color-text);font-weight:500}.stationrow__city{font-size:var(--text-xs);color:var(--color-text-muted)}.stationrow__chev{color:var(--color-text-muted)}.pinpad{display:flex;flex-direction:column;gap:var(--space-4)}.pinpad__dots{display:flex;justify-content:center;gap:var(--space-4);padding:var(--space-2) 0}.pinpad__dot{width:14px;height:14px;border-radius:50%;background:var(--color-chip-bg);border:1.5px solid var(--color-line);transition:background .12s ease}.pinpad__dot--on{background:var(--color-primary);border-color:var(--color-primary)}.pinpad__dot--err{background:var(--color-danger);border-color:var(--color-danger)}.pinpad__error{text-align:center;color:var(--color-danger);font-size:var(--text-sm)}.pinpad__keys{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.pinpad__keys--compact{gap:var(--space-1);margin:var(--space-3) 0}.pinpad__key{background:var(--color-chip-bg);border:none;border-radius:var(--radius-md);padding:16px 0;font-size:var(--text-lg);font-weight:600;cursor:pointer;color:var(--color-text);font-family:var(--font-sans);transition:background .1s ease}.pinpad__keys--compact .pinpad__key{padding:12px 0;font-size:var(--text-base)}.pinpad__key:active{background:var(--color-line)}.pinmodal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;align-items:flex-end;justify-content:center}.pinmodal{position:relative;width:100%;max-width:var(--shell-max);background:var(--color-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-5);animation:drawer-up .24s cubic-bezier(.22,.8,.36,1);left:50%;transform:translate(-50%)}.pinmodal__title{text-align:center;font-size:var(--text-md)}.pinmodal__hint{text-align:center;color:var(--color-text-muted);font-size:var(--text-xs);margin-top:4px}.pinmodal__body{margin-top:var(--space-4)}.sectiontitle{display:flex;align-items:baseline;justify-content:space-between;margin:var(--space-5) 0 var(--space-3)}.sectiontitle h2{font-size:var(--text-lg);font-weight:700}.home-hero{background:linear-gradient(150deg,var(--color-primary) 0%,var(--color-primary-bright) 100%);margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) 0;padding:var(--space-4) var(--space-4) 96px;color:#fff;position:relative;overflow:hidden}.home-hero:before{content:"";position:absolute;right:-30px;top:10px;width:150px;height:150px;background:#ffffff1a;transform:rotate(45deg);border-radius:24px}.home-hero:after{content:"";position:absolute;right:40px;top:120px;width:90px;height:90px;background:#ffffff1f;transform:rotate(24deg);border-radius:18px}.home-hero__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5);position:relative;z-index:1}.home-hero__brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:700;font-size:var(--text-md)}.home-avatar{width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:#ffffff38;color:#fff;font-weight:700;font-size:var(--text-md);cursor:pointer}.home-hero__greet{font-size:var(--text-sm);opacity:.85;position:relative;z-index:1}.home-hero__slogan{font-size:var(--text-2xl);font-weight:700;margin-top:4px;position:relative;z-index:1}.home-searchcard{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);margin-top:-76px;position:relative;z-index:2;border:1px solid var(--color-line)}.home-tabs{display:flex;gap:var(--space-6);border-bottom:1.5px solid var(--color-line);margin-bottom:var(--space-4)}.home-tabs button{background:none;border:none;padding:10px 2px;font-size:var(--text-base);color:var(--color-text-muted);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1.5px}.home-tabs button.on{color:var(--color-primary);font-weight:600;border-bottom-color:var(--color-primary)}.home-od{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.home-od__field{flex:1;min-width:0;background:none;border:none;border-bottom:1.5px solid var(--color-line);padding:10px 2px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;font-family:var(--font-sans)}.home-od__field--right{text-align:right;align-items:flex-end}.home-od__label{font-size:var(--text-xs);color:var(--color-text-muted)}.home-od__value{font-size:var(--text-lg);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:96%}.home-row{display:flex;align-items:center;gap:var(--space-3);width:100%;background:none;border:none;border-bottom:1.5px solid var(--color-line);padding:12px 2px;cursor:pointer;text-align:left;font-family:var(--font-sans);color:var(--color-text)}.home-row svg{color:var(--color-primary);flex:0 0 auto}.home-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}.home-row__label{font-size:var(--text-xs);color:var(--color-text-muted)}.home-row__value{font-size:var(--text-base);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-paxicon{color:var(--color-primary);display:inline-flex;width:18px}.home-grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.home-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4) var(--space-2)}.home-shortcut{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;padding:0;font-family:var(--font-sans)}.home-shortcut__icon{width:52px;height:52px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center}.home-shortcut:hover .home-shortcut__icon{background:var(--color-primary-soft)}.home-shortcut__label{font-size:var(--text-xs);color:var(--color-text-secondary)}.home-more{background:none;border:none;color:var(--color-primary);font-size:var(--text-sm);cursor:pointer}.home-discounts{display:flex;gap:var(--space-3)}.home-discount{flex:0 0 240px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--color-primary-soft);border:1px solid var(--color-primary-100);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);cursor:pointer;font-family:var(--font-sans);text-align:left}.home-discount--alt{background:var(--color-accent-soft);border-color:var(--color-accent)}.home-discount__text{display:flex;flex-direction:column;gap:3px;min-width:0}.home-discount__text strong{font-size:var(--text-base);color:var(--color-text)}.home-discount__text span{font-size:var(--text-xs);color:var(--color-text-muted)}.home-discount__code{background:var(--color-primary);color:#fff;font-size:var(--text-xs);font-weight:700;padding:4px 8px;border-radius:var(--radius-sm);letter-spacing:.5px;flex:0 0 auto}.home-discount--alt .home-discount__code{background:var(--color-accent)}.home-news{display:flex;flex-direction:column;gap:var(--space-3)}.home-news__item{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;text-align:left;font-family:var(--font-sans)}.home-news__thumb{width:56px;height:56px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.home-news__meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.home-news__title{font-size:var(--text-base);color:var(--color-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-news__date{font-size:var(--text-xs);color:var(--color-text-muted)}.home-news__chev{color:var(--color-text-muted);flex:0 0 auto}.station-search{width:100%;border:1.5px solid var(--color-line);border-radius:var(--radius-md);padding:10px 12px;font-size:var(--text-base);background:var(--color-surface);margin-bottom:var(--space-2)}.station-search:focus{outline:none;border-color:var(--color-primary)}.station-list{max-height:52vh;overflow-y:auto}.station-empty{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-5) 0}.date-list{max-height:56vh;overflow-y:auto}.date-row{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;border-bottom:1px solid var(--color-line);padding:13px 4px;font-size:var(--text-base);cursor:pointer;font-family:var(--font-sans);color:var(--color-text)}.date-row--on{color:var(--color-primary);font-weight:600}.date-row__tag{font-style:normal;font-size:var(--text-xs);color:var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-pill);padding:2px 8px}.home-classlist{margin-top:var(--space-2)}.home-pax{display:flex;justify-content:space-between;align-items:center;margin:var(--space-3) 0 var(--space-5);font-size:var(--text-base)}.home-pax__ctrl{display:flex;align-items:center;gap:var(--space-4)}.home-pax__ctrl button{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--color-primary);background:var(--color-surface);color:var(--color-primary);font-size:var(--text-lg);cursor:pointer;line-height:1}.home-pax__ctrl button:disabled{border-color:var(--color-line);color:var(--color-text-muted)}.home-pax__ctrl span{min-width:20px;text-align:center;font-weight:600}.listitem{display:flex;align-items:center;gap:var(--space-3);width:100%;background:none;border:none;padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--color-line);text-align:left;font-family:var(--font-sans)}.listitem:last-child{border-bottom:none}.listitem--selected .listitem__title{color:var(--color-primary);font-weight:600}.listitem__left{flex:0 0 auto;display:flex;align-items:center}.listitem__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.listitem__title{font-size:var(--text-base);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.listitem__subtitle{font-size:var(--text-xs);color:var(--color-text-muted)}.listitem__meta{flex:0 0 auto;font-size:var(--text-base);font-weight:600;color:var(--color-text)}.listitem__right{flex:0 0 auto;color:var(--color-text-muted);display:flex;align-items:center}button.listitem{cursor:pointer}button.listitem:hover{background:var(--color-chip-bg)}.avatar{border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:600;background:var(--color-primary);flex:0 0 auto}.avatar--sm{width:32px;height:32px;font-size:var(--text-sm)}.avatar--md{width:44px;height:44px;font-size:var(--text-md)}.avatar--lg{width:64px;height:64px;font-size:var(--text-xl)}.badge{display:inline-flex;align-items:center;justify-content:center}.badge--dot{width:8px;height:8px;border-radius:50%}.badge--count{min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;color:#fff}.badge--danger{background:var(--color-danger)}.badge--primary{background:var(--color-primary)}.badge--success{background:var(--color-success)}.badge--muted{background:var(--color-text-muted)}.empty{text-align:center;padding:var(--space-8) var(--space-4)}.empty__icon{font-size:40px;margin-bottom:var(--space-3)}.empty__title{font-size:var(--text-md);margin-bottom:var(--space-2)}.empty__desc{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4);line-height:1.6}.skeleton{background:linear-gradient(90deg,var(--color-chip-bg) 25%,var(--color-line) 50%,var(--color-chip-bg) 75%);background-size:200% 100%;animation:skeleton-wave 1.3s infinite;border-radius:var(--radius-sm)}@keyframes skeleton-wave{to{background-position:-200% 0}}.skeleton--text{display:inline-block;height:14px}.skeleton--card{height:120px;border-radius:var(--radius-md)}.skeleton--list-row{height:92px;margin-bottom:var(--space-3)}.grouplabel{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.grouplabel__line{flex:1;height:1.5px;background:var(--color-text);opacity:.8}.setrow{display:flex;align-items:center;gap:var(--space-3);width:100%;background:none;border:none;padding:13px var(--space-2);border-bottom:1px solid var(--color-line);font-size:var(--text-base);color:var(--color-text);text-align:left;font-family:var(--font-sans)}.setrow:last-child{border-bottom:none}button.setrow{cursor:pointer}button.setrow:hover{background:var(--color-chip-bg)}.setrow__icon{color:var(--color-text);display:inline-flex;width:22px;justify-content:center}.setrow__title{flex:1}.setrow--danger .setrow__title,.setrow--danger .setrow__icon{color:var(--color-danger)}.setrow__value{color:var(--color-text-muted);font-size:var(--text-sm);max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setrow__chev{color:var(--color-text-muted);font-size:var(--text-lg)}.search-subbar{padding:10px 16px;font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-surface);border-bottom:1px solid var(--color-line)}.search-filterdot{position:absolute;top:2px;right:2px;min-width:15px;height:15px;border-radius:var(--radius-pill);background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.datestrip{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);overflow-x:auto;scrollbar-width:none;background:var(--color-surface);border-bottom:1px solid var(--color-line)}.datestrip::-webkit-scrollbar{display:none}.datestrip__item{flex:1 0 60px;max-width:84px;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;padding:8px 6px;border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-sans);color:var(--color-text-secondary);font-size:var(--text-sm)}.datestrip__item--on{background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.datestrip__count{font-size:var(--text-xs);color:var(--color-text-muted)}.datestrip__item--on .datestrip__count{color:var(--color-primary)}.datestrip__item--add{flex:0 0 44px;max-width:44px;font-size:var(--text-lg);border:1.5px dashed var(--color-line)}.filter-body{padding:var(--space-4) var(--space-4) 0}.filter-h{font-size:var(--text-base);font-weight:700;margin-bottom:var(--space-3);display:flex;justify-content:space-between;align-items:center}.filter-radio{display:flex;align-items:center;gap:var(--space-3);padding:9px 0;font-size:var(--text-base);cursor:pointer}.filter-radio input{position:absolute;opacity:0}.filter-radio__dot{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--color-line);display:inline-block;position:relative;flex:0 0 auto}.filter-radio input:checked+.filter-radio__dot{border-color:var(--color-primary)}.filter-radio input:checked+.filter-radio__dot:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--color-primary)}.filter-range{text-align:center;font-size:var(--text-md);font-weight:600;margin-bottom:var(--space-2)}.filter-slider{display:flex;flex-direction:column;gap:var(--space-3)}.filter-slider label{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.filter-slider input[type=range]{flex:1;accent-color:var(--color-primary)}.filter-slider b{min-width:44px;color:var(--color-text)}.filter-slider-single{width:100%;accent-color:var(--color-primary)}.filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.filter-selectall{background:none;border:none;color:var(--color-primary);font-size:var(--text-sm);cursor:pointer}.filter-check{display:flex;justify-content:space-between;align-items:center;padding:7px 0}.filter-check__glyph{width:26px;height:26px;border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-xs);font-weight:800;display:inline-flex;align-items:center;justify-content:center}.seatmap{-webkit-user-select:none;user-select:none}.seatmap__legend{display:flex;justify-content:center;gap:var(--space-5);margin:var(--space-3) 0 var(--space-4)}.legend__item{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--color-text-secondary)}.seat{width:52px;height:44px;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;cursor:pointer;font-family:var(--font-sans);display:inline-flex;align-items:center;justify-content:center;transition:transform .1s ease,background .15s ease}.seat:disabled{cursor:not-allowed}.seat--available{background:var(--color-primary-100);color:#fff}.seat--available:hover:not(:disabled){transform:scale(1.05)}.seat--selected{background:var(--color-primary);color:#fff}.seat--occupied{background:var(--color-seat-occupied);color:#ffffffbf;opacity:.65}.seatmap__grid{display:flex;flex-direction:column;gap:var(--space-2)}.seatmap__colhead{text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:600;width:52px}.seatmap__colhead:first-child{width:auto;flex:0 0 12px}.seatmap__row{display:grid;grid-template-columns:52px 52px 1fr 52px 52px;gap:var(--space-2);justify-items:center}.seatmap__rowno{align-self:center;font-size:var(--text-sm);color:var(--color-text-muted)}.carriage-tabs{display:flex;gap:var(--space-2);overflow-x:auto;scrollbar-width:none;padding-bottom:var(--space-2)}.carriage-tabs::-webkit-scrollbar{display:none}.carriage-tabs__item{flex:0 0 auto;padding:8px 18px;border-radius:var(--radius-pill);border:1.5px solid var(--color-primary);background:transparent;color:var(--color-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;white-space:nowrap;font-family:var(--font-sans)}.carriage-tabs__item--active{background:var(--color-primary);color:#fff}.legend-swatch{width:18px;height:16px;border-radius:5px;display:inline-block}.legend-swatch--selected{background:var(--color-primary)}.legend-swatch--occupied{background:var(--color-seat-occupied);opacity:.65}.legend-swatch--available{background:var(--color-primary-100)}.bk-trip{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.bk-trip__head{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.bk-trip__no{font-weight:700;font-size:var(--text-md)}.bk-trip__cls{font-size:var(--text-xs);color:var(--color-text-muted)}.bk-trip__dur{margin-left:auto;font-size:var(--text-xs);color:var(--color-text-muted)}.bk-pax{border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3)}.bk-pax__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.bk-pax__no{display:inline-flex;align-items:center;gap:5px;font-weight:600;font-size:var(--text-sm)}.bk-pax__pick{border:none;background:var(--color-chip-bg);border-radius:var(--radius-pill);font-size:var(--text-xs);padding:5px 10px;color:var(--color-primary);max-width:130px}.bk-seatchoose{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.bk-seatchoose__item{font-size:var(--text-xs);color:var(--color-text-secondary);background:var(--color-chip-bg);border-radius:var(--radius-pill);padding:4px 10px}.modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;align-items:center;justify-content:center}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-mask)}.modal{position:relative;width:calc(100% - 48px);max-width:var(--shell-max);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);animation:modal-in .18s ease;max-height:80vh;display:flex;flex-direction:column}.modal--sm{max-width:300px}@keyframes modal-in{0%{transform:scale(.94);opacity:0}to{transform:scale(1);opacity:1}}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-4) 0}.modal__title{font-size:var(--text-md)}.modal__close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm)}.modal__body{padding:var(--space-4);overflow-y:auto}.pay-method{display:flex;align-items:center;gap:var(--space-3);border:1.5px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-2);cursor:pointer}.pay-method--on{border-color:var(--color-primary);background:var(--color-primary-soft)}.pay-method__glyph{width:38px;height:38px;border-radius:var(--radius-sm);background:#2aae67;color:#fff;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.pay-method__glyph--wallet{background:var(--color-accent)}.pay-method__main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.pay-method__main b{font-size:var(--text-base)}.pay-method__main i{font-style:normal;font-size:var(--text-xs);color:var(--color-text-muted)}.pay-method input{accent-color:var(--color-primary);width:18px;height:18px}.pay-ok{color:var(--color-success);font-size:var(--text-sm);margin-bottom:var(--space-2)}.pay-coins{margin:var(--space-2) 0}.pay-qr{display:flex;flex-direction:column;gap:var(--space-2)}.pay-qr__box{text-align:center;padding:var(--space-4);background:var(--color-chip-bg);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.pay-qr__glyph{width:72px;height:72px;margin:0 auto var(--space-3);border-radius:var(--radius-lg);background:#2aae67;color:#fff;font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center}.pay-qr__amount{font-size:var(--text-2xl);font-weight:700}.pay-qr__note{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2);line-height:1.6}.pay-fail__desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-4)}.pay-linkbtn{background:none;border:none;color:var(--color-primary);text-decoration:underline;cursor:pointer;font-size:var(--text-xs);padding:0}.pay-returntag{font-size:var(--text-xs);color:var(--color-primary);background:var(--color-primary-soft);display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);margin-bottom:var(--space-2)}.qrcode{display:block;margin:0 auto;border-radius:var(--radius-sm)}.eticket{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-line);margin-bottom:var(--space-4);overflow:hidden}.eticket__qrzone{padding:var(--space-5) var(--space-5) var(--space-4);text-align:center}.eticket__scan{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.eticket__perfo{display:flex;align-items:center;margin:0 -1px}.eticket__hole{width:18px;height:18px;border-radius:50%;background:var(--color-page-bg);border:1px solid var(--color-line);flex:0 0 auto}.eticket__hole--left{margin-left:-9px}.eticket__hole--right{margin-right:-9px}.eticket__dash{flex:1;border-top:2px dashed var(--color-line);margin:0 6px}.eticket__info{padding:var(--space-4) var(--space-5) var(--space-5)}.eticket__head{display:flex;justify-content:space-between;margin-bottom:var(--space-4)}.eticket__carrier{font-weight:700;font-size:var(--text-md)}.eticket__cls{font-size:var(--text-xs);color:var(--color-text-muted)}.eticket__bookingid{text-align:right}.eticket__bookingid b{font-size:var(--text-md)}.eticket__bookingid span{display:block;font-size:var(--text-xs);color:var(--color-text-muted)}.eticket__route{display:flex;align-items:center}.eticket__st{font-size:var(--text-lg);font-weight:700}.eticket__time{font-size:var(--text-lg);color:var(--color-primary);font-weight:600;margin-top:3px}.eticket__date{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:3px}.eticket__mid{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px}.eticket__dashline{width:30px;border-top:2px dashed var(--color-primary-100)}.eticket__dur{font-size:var(--text-xs);color:var(--color-text-muted)}.eticket__right{text-align:right}.eticket__pax{padding-top:var(--space-2)}.eticket__return{margin-top:var(--space-2)}.tk-card{margin-bottom:var(--space-4)}.tk-card__top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:var(--space-3);border-bottom:1.5px solid var(--color-text)}.tk-card__no{font-size:var(--text-md);display:block}.tk-card__cls{font-size:var(--text-xs);color:var(--color-text-muted);display:block;margin-top:2px}.tk-badge{font-size:var(--text-xs);font-weight:700;padding:4px 12px;border-radius:var(--radius-pill);color:#fff}.tk-badge--ok{background:var(--color-primary)}.tk-badge--warn{background:var(--color-warning)}.tk-badge--gray{background:var(--color-text-muted)}.tk-card__route{display:flex;align-items:center;padding-top:var(--space-3)}.tk-card__st{font-size:var(--text-base);font-weight:600}.tk-card__time{color:var(--color-primary);font-weight:600;font-size:var(--text-md);margin-top:2px}.tk-card__date{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.tk-card__mid{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.tk-card__dash{width:28px;border-top:2px dashed var(--color-primary-100)}.tk-card__dur{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.tk-card__right{text-align:right}.tk-card__ops{display:flex;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--color-line)}.tk-card__ops a{flex:1;border:1.5px solid var(--color-primary);background:var(--color-surface);color:var(--color-primary);border-radius:var(--radius-pill);padding:7px 0;font-size:var(--text-sm);cursor:pointer;font-family:var(--font-sans);text-align:center;text-decoration:none}.tk-card__ops a:last-child{background:var(--color-primary);color:#fff}.tk-card__refund{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted)}.tk-food__items{margin-top:var(--space-3)}.tk-notifdot{position:absolute;top:4px;right:4px;min-width:15px;height:15px;border-radius:var(--radius-pill);background:var(--color-danger);color:#fff;font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 3px}.tk-notifdot{position:relative;top:auto;right:auto;margin-left:4px}.rs-step{font-size:var(--text-sm);color:var(--color-text-muted);margin:var(--space-3) 0}.rs-note{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-chip-bg);border-radius:var(--radius-sm);padding:10px 12px;line-height:1.7}.rs-train{margin-bottom:var(--space-3);border:1.5px solid transparent}.rs-train--on{border-color:var(--color-primary);background:var(--color-primary-soft)}.rs-train__row{display:flex;align-items:center;gap:var(--space-3)}.rs-train__row--sub{margin-top:6px;color:var(--color-text-secondary);font-size:var(--text-sm)}.rs-train__seats{margin-left:auto;font-size:var(--text-xs);color:var(--color-success)}.rs-train__price{color:var(--color-text)}.rs-success{text-align:center;padding:var(--space-8) var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.rs-success__icon{width:84px;height:84px;margin:0 auto;border-radius:50%;background:var(--color-accent);color:#fff;font-size:40px;display:flex;align-items:center;justify-content:center}.rs-success h2{font-size:var(--text-xl)}.rs-success p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-3)}.rs-agree{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-3)}.rs-agree input{accent-color:var(--color-primary);margin-top:3px}.food-cats{padding:var(--space-3) 16px}.food-sectionhead{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) 16px var(--space-2)}.food-sectionhead h2{font-size:var(--text-md);font-weight:700}.food-rec{flex:0 0 200px;display:flex;gap:var(--space-3);align-items:center;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3);cursor:pointer;text-align:left;font-family:var(--font-sans)}.food-rec>div{display:flex;flex-direction:column;gap:3px;min-width:0}.food-rec b{font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-rec span{color:var(--color-primary);font-weight:600}.food-item{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3)}.food-item__main{flex:1;min-width:0;background:none;border:none;text-align:left;cursor:pointer;padding:0;font-family:var(--font-sans);display:flex;flex-direction:column;gap:3px}.food-item__main b{font-size:var(--text-base);color:var(--color-text);display:flex;align-items:center;gap:6px}.food-new{font-style:normal;font-size:10px;color:var(--color-primary);border:1px solid var(--color-primary);border-radius:4px;padding:0 4px;flex:0 0 auto}.food-item__desc{font-size:var(--text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-item__price{color:var(--color-primary);font-weight:700;font-size:var(--text-base)}.food-item__qty{display:flex;align-items:center;gap:var(--space-2)}.food-item__qty button{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--color-primary);background:var(--color-surface);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.food-item__qty span{min-width:18px;text-align:center;font-weight:600}.foodthumb{width:56px;height:56px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.foodthumb--sm{width:48px;height:48px}.foodthumb--lg{width:100%;height:160px;border-radius:var(--radius-md);margin-bottom:var(--space-3)}.food-detail h3{font-size:var(--text-lg);margin-bottom:var(--space-2)}.food-detail__desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-4)}.food-detail__qty{display:flex;align-items:center;justify-content:center;gap:var(--space-6);margin-bottom:var(--space-4)}.food-detail__qty button{width:44px;height:44px;border-radius:var(--radius-md);border:none;background:var(--color-chip-bg);font-size:var(--text-xl);cursor:pointer}.food-detail__qty span{font-size:var(--text-lg);font-weight:700;min-width:24px;text-align:center}.food-note{width:100%;min-height:84px;border:1.5px solid var(--color-line);border-radius:var(--radius-md);padding:12px;font-size:var(--text-base);background:var(--color-chip-bg);resize:none;margin-bottom:var(--space-4);font-family:var(--font-sans)}.food-note:focus{outline:none;border-color:var(--color-primary)}.food-trip{display:flex;align-items:center;gap:var(--space-3);width:100%;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3);cursor:pointer;text-align:left;font-family:var(--font-sans)}.food-trip>div{flex:1;display:flex;flex-direction:column;gap:4px}.food-trip b{font-size:var(--text-base)}.food-trip span{font-size:var(--text-xs);color:var(--color-text-muted)}.food-trip:last-child{color:var(--color-text-muted)}.food-checkout__confirm{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-4)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.tools-intro{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4) var(--space-2)}.tools-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;padding:0;font-family:var(--font-sans)}.tools-item__icon{width:52px;height:52px;border-radius:50%;background:var(--color-accent-soft);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center}.tools-item:hover .tools-item__icon{background:var(--color-primary-soft)}.tools-item__label{font-size:var(--text-xs);color:var(--color-text-secondary)}.tools-alarm{display:flex;align-items:center;gap:var(--space-2);width:100%;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2);font-size:var(--text-sm);cursor:pointer;font-family:var(--font-sans);color:var(--color-text)}.tools-alarm svg{color:var(--color-primary)}.tools-alarm b{margin-left:auto;font-size:var(--text-xs);color:var(--color-success);font-weight:600}.tool-result{margin-top:var(--space-4)}.tool-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}.tool-table th,.tool-table td{padding:10px 8px;text-align:center;border-bottom:1px solid var(--color-line)}.tool-table th{background:var(--color-chip-bg);font-weight:600;color:var(--color-text-secondary)}.tool-table tr:last-child td{border-bottom:none}.tool-status{display:inline-block;padding:2px 10px;border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:600}.tool-status--on{background:var(--color-accent-soft);color:var(--color-success)}.tool-status--late{background:#fdebe0;color:var(--color-warning)}.rt-line{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-4)}.rt-stop{position:relative;display:flex;gap:var(--space-3);padding-bottom:var(--space-5)}.rt-stop:last-child{padding-bottom:0}.rt-dot{width:12px;height:12px;border-radius:50%;background:var(--color-primary);border:2.5px solid var(--color-primary-soft);flex:0 0 auto;margin-top:4px;z-index:1}.rt-seg{position:absolute;left:5px;top:18px;bottom:-4px;width:2px;background:var(--color-primary-100)}.rt-info{display:flex;flex-direction:column;gap:2px}.rt-info b{font-size:var(--text-base)}.rt-info span{font-size:var(--text-xs);color:var(--color-text-muted)}.alarm-field{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-3);font-size:var(--text-sm);color:var(--color-text-secondary)}.alarm-field select{border:1.5px solid var(--color-line);border-radius:var(--radius-md);padding:11px;background:var(--color-surface);font-size:var(--text-base)}.alarm-leads{margin-bottom:var(--space-4)}.alarm-ok{margin-top:var(--space-3);color:var(--color-success);font-size:var(--text-sm);background:var(--color-accent-soft);border-radius:var(--radius-sm);padding:8px 12px}.alarm-item{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}.alarm-item__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.alarm-item__main b{font-size:var(--text-base)}.alarm-item__main span{font-size:var(--text-xs);color:var(--color-text-muted)}.alarm-del{background:none;border:none;color:var(--color-danger);font-size:var(--text-sm);cursor:pointer}.wallet-card{position:relative;background:linear-gradient(135deg,#12d18e,#0fbf7f 60%,#0aa96f);border-radius:var(--radius-lg);color:#fff;padding:var(--space-5);margin-bottom:var(--space-4);overflow:hidden}.wallet-card__deco{position:absolute;right:-10px;top:-10px;width:150px;height:150px}.wallet-card__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);position:relative;z-index:1}.wallet-card__name{font-size:var(--text-base);font-weight:600}.wallet-card__brands{display:flex;gap:6px}.wallet-brand{width:26px;height:26px;border-radius:50%;background:#ffffff47;font-style:normal;font-size:var(--text-xs);font-weight:700;display:inline-flex;align-items:center;justify-content:center}.wallet-brand--zfb{background:#fff;color:#1677ff}.wallet-card__mid{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.wallet-card__mid span{font-size:var(--text-xs);opacity:.85}.wallet-card__mid b{font-size:34px;font-weight:700;letter-spacing:.5px}.wallet-card__topup{position:absolute;right:var(--space-5);bottom:var(--space-5);background:var(--color-primary);border:none;color:#fff;font-weight:600;font-size:var(--text-sm);padding:9px 22px;border-radius:var(--radius-pill);cursor:pointer;z-index:1}.wallet-card__topup:hover{background:var(--color-primary-bright)}.wallet-coins{display:flex;align-items:center;gap:var(--space-3);cursor:pointer}.wallet-coins__icon{color:var(--color-warning);flex:0 0 auto}.wallet-coins>div{flex:1;display:flex;flex-direction:column;gap:2px}.wallet-coins b{font-size:var(--text-base)}.wallet-coins span{font-size:var(--text-xs);color:var(--color-text-muted)}.wallet-coins__chev{color:var(--color-text-muted)}.wallet-sec{display:flex;justify-content:space-between;align-items:center;margin:var(--space-5) 0 var(--space-2)}.wallet-sec h2{font-size:var(--text-lg);font-weight:700}.wallet-txlist{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:0 var(--space-3)}.wallet-tx{display:flex;align-items:center;gap:var(--space-3);width:100%;background:none;border:none;border-bottom:1px solid var(--color-line);padding:var(--space-3) 0;cursor:pointer;text-align:left;font-family:var(--font-sans);text-decoration:none;color:inherit}.wallet-tx:last-child{border-bottom:none}.wallet-tx__icon{width:40px;height:40px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.wallet-tx__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.wallet-tx__main b{font-size:var(--text-base);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet-tx__main i{font-style:normal;font-size:var(--text-xs);color:var(--color-text-muted)}.wallet-tx__amount{font-weight:700;font-size:var(--text-base);flex:0 0 auto}.wallet-tx__amount.is-in{color:var(--color-success)}.wallet-tx__amount.is-out{color:var(--color-text)}.wallet-tx__chev{color:var(--color-text-muted);flex:0 0 auto}.topup-lead{text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);margin:var(--space-4) 0 var(--space-3)}.topup-amount{border:2.5px solid var(--color-line);border-radius:var(--radius-lg);text-align:center;font-size:40px;font-weight:700;padding:var(--space-5);background:var(--color-surface);margin-bottom:var(--space-4);color:var(--color-text-muted);transition:border-color .15s ease,color .15s ease}.topup-amount--on{border-color:var(--color-accent);color:var(--color-text)}.topup-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.topup-chip{border:2px solid var(--color-accent);background:var(--color-surface);color:var(--color-accent);font-weight:700;font-size:var(--text-base);border-radius:var(--radius-pill);padding:11px 0;cursor:pointer;font-family:var(--font-sans)}.topup-chip--on{background:var(--color-accent-soft)}.acct-head{display:flex;align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-4);cursor:pointer}.acct-head__main{flex:1;display:flex;flex-direction:column;gap:3px}.acct-head__main b{font-size:var(--text-lg)}.acct-head__main span{font-size:var(--text-sm);color:var(--color-text-muted)}.acct-head__main em{font-style:normal;font-size:var(--text-xs);color:var(--color-text-muted);align-self:flex-start}.acct-head__main em.is-verified{color:var(--color-success)}.acct-head__chev{color:var(--color-text-muted)}.acct-list{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:0 var(--space-3)}.acct-logout__desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--space-4)}.pax-item{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3)}.pax-item__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pax-item__main b{font-size:var(--text-base)}.pax-item__main span{font-size:var(--text-xs);color:var(--color-text-muted)}.pax-item__edit{background:none;border:1.5px solid var(--color-primary);color:var(--color-primary);border-radius:var(--radius-pill);padding:6px 16px;font-size:var(--text-sm);cursor:pointer}.pax-item__del{background:none;border:none;color:var(--color-danger);font-size:var(--text-sm);cursor:pointer}.pax-types{display:flex;flex-direction:column;gap:6px;margin-bottom:var(--space-3)}.notif{position:relative;display:flex;gap:var(--space-3);width:100%;text-align:left;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3);cursor:pointer;font-family:var(--font-sans)}.notif--read{opacity:.62}.notif__dot{width:8px;height:8px;border-radius:50%;background:var(--color-danger);flex:0 0 auto;margin-top:6px}.notif--read .notif__dot{background:transparent}.notif__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.notif__main b{font-size:var(--text-base)}.notif__main p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6}.notif__main i{font-style:normal;font-size:var(--text-xs);color:var(--color-text-muted)}.notif-setting{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-line)}.notif-setting:last-child{border-bottom:none}.notif-setting>div{display:flex;flex-direction:column;gap:3px}.notif-setting b{font-size:var(--text-base)}.notif-setting span{font-size:var(--text-xs);color:var(--color-text-muted)}.lang-row{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:14px var(--space-2);font-size:var(--text-base);border-bottom:1px solid var(--color-line);cursor:pointer;font-family:var(--font-sans);color:var(--color-text)}.lang-row:last-child{border-bottom:none}.lang-row--on{color:var(--color-primary);font-weight:600}.setrow__value--warn{color:var(--color-warning)}.privacy-body h3{font-size:var(--text-md);margin-bottom:var(--space-2)}.privacy-body h4{font-size:var(--text-base);margin:var(--space-3) 0 var(--space-1)}.privacy-body p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.8}.about{display:flex;flex-direction:column;align-items:center;padding-top:var(--space-6);text-align:center}.about h2{font-size:var(--text-lg)}.about__ver{font-size:var(--text-xs);color:var(--color-text-muted);margin:4px 0 var(--space-5)}.about__desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.8;text-align:left;margin-bottom:var(--space-3)}.about__copy{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-4)}.news-card{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-2);width:100%;text-align:left;background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-4);cursor:pointer;font-family:var(--font-sans)}.news-card>span.foodthumb{width:100%;height:120px;border-radius:var(--radius-md)}.news-card b{font-size:var(--text-md);color:var(--color-text);line-height:1.5}.news-card p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-card>span:last-child{font-size:var(--text-xs);color:var(--color-text-muted)}.news-detail__title{font-size:var(--text-lg);line-height:1.5;margin-top:var(--space-3)}.news-detail__date{font-size:var(--text-xs);color:var(--color-text-muted);margin:var(--space-2) 0 var(--space-3)}.news-detail__body{margin-top:var(--space-4)}.news-detail__body p{font-size:var(--text-base);line-height:1.9;color:var(--color-text);margin-bottom:var(--space-3)}.share-row{display:flex;gap:var(--space-5);justify-content:center;padding:var(--space-2) 0 var(--space-4)}.share-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans)}.share-item__icon{width:52px;height:52px;border-radius:50%;color:#fff;font-size:var(--text-md);font-weight:700;display:inline-flex;align-items:center;justify-content:center}
