#personal-logout-dialog{width:calc(100% - 40px);max-width:360px;max-height:calc(100dvh - 28px);margin:auto;padding:24px 22px 10px;border:0;border-radius:22px;background:var(--ui-paper);color:var(--ui-ink);text-align:center;overflow:auto;overscroll-behavior:contain}
#personal-logout-dialog::backdrop{background:#29251f66}
#personal-logout-dialog .ui-logout-symbol{display:grid;place-items:center;width:56px;height:56px;margin:0 auto;border-radius:50%;background:#fae1d9;color:#ae463b}
#personal-logout-dialog .ui-logout-symbol svg{width:29px;height:29px}
#personal-logout-dialog h2{max-width:240px;margin:16px auto 22px;font-size:22px;line-height:1.3;font-weight:700}
#personal-logout-dialog .ui-logout-actions{display:grid;gap:4px}
#personal-logout-dialog button{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px;padding:10px 14px;border:0;border-radius:12px;font:inherit;line-height:1.4}
#personal-logout-dialog #personal-logout-confirm{min-height:48px;background:linear-gradient(125deg,#c8584c,#ac433b);box-shadow:0 3px 8px #a4433920;color:#fff;font-weight:650}
#personal-logout-dialog #personal-logout-cancel{background:transparent;color:var(--ui-ink);box-shadow:none}
/* Installation guide: same airport image as authentication; fetched only when opened. */
.install-guide-overlay{position:fixed;z-index:200;inset:0;display:flex;align-items:center;justify-content:center;background:#231f1b66;padding:14px;overscroll-behavior:contain}
.install-guide-overlay[hidden]{display:none}
.install-guide-dialog{position:relative;display:flex;flex-direction:column;width:min(100%,430px);max-height:calc(100dvh - 28px);overflow:hidden;border:0;border-radius:22px;background:var(--ui-paper,#fffdf9);color:var(--ui-ink,#292624)}
.install-guide-header{position:relative;display:flex;align-items:flex-end;flex:none;min-height:190px;padding:65px 20px 19px;background:#061c1a;color:#fffdf9;overflow:hidden}
.install-guide-scene{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 22%;pointer-events:none}
.install-guide-header:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#061c1a05 15%,#061c1a45 45%,#061c1add);pointer-events:none}
.install-guide-heading{position:relative;z-index:1;min-width:0}
.install-guide-header h2{margin:0;font-size:28px;line-height:1.15;font-weight:700;letter-spacing:-.5px}
.install-guide-header p{margin:7px 0 0;color:#fffdf9dd;font-size:12px;line-height:1.5}
.install-guide-dialog .install-guide-close{position:absolute;z-index:2;right:12px;top:12px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fffdf92b;color:#fffdf9;cursor:pointer}
.install-guide-close svg{width:20px;height:20px}
.install-guide-body{min-height:0;padding:16px 18px 7px;overflow:auto;overscroll-behavior:contain}
.install-guide-device{position:relative;display:flex;align-items:center;min-height:48px;margin-bottom:12px;border:1px solid var(--ui-line);border-radius:12px;background:#f1ede7}
.install-guide-device>svg{position:absolute;left:12px;width:20px;height:20px;pointer-events:none}
.install-guide-device .install-device-chevron{left:auto;right:12px;width:16px;height:16px}
.install-guide-device select{width:100%;min-width:0;min-height:48px;padding:10px 38px 10px 43px;border:0;border-radius:12px;appearance:none;background:transparent;color:inherit;font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.install-guide-steps{list-style:none;margin:0;padding:0}
.install-guide-step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--ui-line)}
.install-step-icon{display:grid;place-items:center;width:42px;height:46px;border-radius:12px;background:#efebe5;color:#48423b}
.install-step-icon svg{width:24px;height:24px}
.install-step-number{display:block;margin-bottom:2px;color:var(--ui-muted);font-size:11px;font-weight:600;line-height:1.4}
.install-guide-step h3{margin:0;font-size:14px;font-weight:650;line-height:1.4}
.install-guide-step p{margin:4px 0 0;color:var(--ui-muted);font-size:12px;line-height:1.5}
.install-guide-open{overflow:hidden}
@media(max-width:350px){.install-guide-header{padding-inline:16px}.install-guide-header h2{font-size:25px}.install-guide-body{padding-inline:14px}.install-guide-step{gap:10px}}
@media(max-height:620px){.install-guide-header{min-height:140px;padding-top:52px;padding-bottom:14px}.install-guide-header h2{font-size:24px}.install-guide-body{padding-top:12px}.install-guide-step{padding-block:12px}}
.pull-indicator{position:fixed;top:10px;left:50%;transform:translate(-50%,-90px);display:flex;align-items:center;gap:7px;z-index:100;background:#fffdf9;border:1px solid #e5dfd7;border-radius:20px;padding:10px 16px;font-size:12px}.pull-indicator.active{transform:translate(-50%,0)}.pull-icon{width:18px;height:18px}
:root{color-scheme:light;--ui-bg:#f6f3ee;--ui-paper:#fffdf9;--ui-ink:#292624;--ui-muted:#7b756e;--ui-line:#e5dfd7;--ui-accent:#4b4743;--ui-soft:#eeebe5;--ui-danger:#a03f39;--ui-radius:16px;--ui-shadow:0 5px 18px rgba(49,40,30,.035);--primary:#4b4743;--text:#292624;--text-muted:#7b756e;--border:#e5dfd7;--card-bg:#fffdf9}
html.ui-pwa-airport{background-color:#061c1a;--ui-auth-top-blend:#061c1a 0,#061c1a 4px,#03171511 40px;--ui-home-top-blend:#061c1a 0,#061c1a 4px,#061c1a0f 40px}
html.ui-pwa-airport body{background-image:linear-gradient(180deg,#061c1a 0,#061c1a 40px,#061c1a00 120px);background-repeat:no-repeat}
*,*::before,*::after{box-sizing:border-box}html{min-height:100%;background:var(--ui-bg);scroll-padding-bottom:calc(var(--ui-footer-height,82px) + 20px);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;color:var(--ui-ink);background:var(--ui-bg);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;overflow-wrap:anywhere;padding-bottom:calc(var(--ui-footer-height,82px) + 12px)}body.ui-auth-page{padding-bottom:0}h1,h2,h3,h4,h5,p{margin:0 0 12px}h1{font-size:25px;line-height:1.25;letter-spacing:-.6px}h2{font-size:20px;line-height:1.35;letter-spacing:-.35px}h3{font-size:17px}h4,h5{font-size:16px}small{font-size:12px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a[role=button]{touch-action:manipulation}button{cursor:pointer}button:disabled,[aria-disabled=true]{cursor:default;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #766e65;outline-offset:3px}[hidden],.d-none{display:none!important}img{max-width:100%;height:auto;vertical-align:middle}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}ul,ol{padding-left:22px}hr{border:0;border-top:1px solid var(--ui-line);margin:20px 0}table{border-collapse:collapse;width:100%}th,td{padding:10px 8px;border-bottom:1px solid var(--ui-line);text-align:left}pre{white-space:pre-wrap}summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.ui-page,.container{width:100%;max-width:760px;margin:0 auto;padding:20px 18px}.page-header,.ui-header,.header{display:flex;align-items:center;gap:12px;min-height:60px;margin-bottom:20px}.page-header h1,.ui-header h1,.header h1,.page-title{flex:1;min-width:0;margin:0;font-size:23px}.header-back,.back-btn,.back-button,.icon-btn,.ui-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;min-height:44px;padding:10px;border:1px solid var(--ui-line);border-radius:50%;background:var(--ui-paper);color:var(--ui-ink)}.ui-header .text-muted{font-size:12px}.card,.ui-card{padding:20px;margin-bottom:16px;border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-paper);box-shadow:var(--ui-shadow)}.section-header,.ui-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:26px 0 12px}.section-header h2,.ui-section-head h2{margin:0}.section-header>a,.ui-section-head>a{font-size:12px;color:var(--ui-muted);min-height:44px;display:inline-flex;align-items:center;gap:5px}.section-header svg,.ui-section-head svg{width:16px;height:16px}
.btn,.btn-grad,.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid transparent;border-radius:11px;background:linear-gradient(125deg,#373431,#5b5752);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 3px 8px rgba(42,35,28,.07);color:#fff;font-weight:600;text-align:center;line-height:1.35;transition:transform .1s ease,opacity .12s ease}.btn:active,.btn-grad:active,.btn-primary:active{transform:translateY(1px);opacity:.85}.btn-secondary,.btn-outline,.btn-outline-primary,.btn-light{background:var(--ui-paper);border-color:#bab2a8;color:var(--ui-ink);box-shadow:none}.btn-link{border:0;background:none;color:var(--ui-ink);box-shadow:none;text-decoration:underline;text-underline-offset:3px}.btn-danger{background:var(--ui-danger);color:#fff}.btn-block,.w-100{width:100%}.btn-sm{min-height:40px;padding:8px 13px;font-size:13px}.btn svg{width:20px;height:20px}.btn-loading{pointer-events:none}.btn-group{display:flex;gap:10px;flex-wrap:wrap}.btn-group>*{flex:1}.form-group{margin-bottom:17px}.form-label,label{display:block;font-size:13px;font-weight:600;margin:0 0 7px}.form-control,:where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden])),select,textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid #d5cec4;border-radius:10px;background:#fffefa;color:var(--ui-ink);font-size:16px;line-height:1.45;transition:border-color .12s;min-width:0}.form-control:focus,input:focus,select:focus,textarea:focus{border-color:#756e65}input::placeholder,textarea::placeholder{color:#958e85;opacity:1}textarea{min-height:100px;resize:vertical}input[type=checkbox],input[type=radio]{width:19px;height:19px;accent-color:var(--ui-accent);vertical-align:middle}input[type=file]{font-size:13px;max-width:100%}.form-text,.help-text,.form-hint{font-size:12px;color:var(--ui-muted);margin-top:6px}.field-error,.invalid-feedback,.error-text{color:var(--ui-danger);font-size:13px;margin-top:6px}[aria-invalid=true]{border-color:var(--ui-danger)!important}.input-group{display:flex;align-items:stretch;gap:8px}.input-group>*{min-width:0}.input-group>.btn{flex-shrink:0}.input-group-text{display:flex;align-items:center;padding:0 10px}.text-muted{color:var(--ui-muted)}.text-center{text-align:center}.text-right{text-align:right}.text-danger{color:var(--ui-danger)}.text-success{color:#43574b}.fw-bold{font-weight:700}.d-flex{display:flex}.align-items-center{align-items:center}.justify-content-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.gap-2{gap:8px}.gap-3{gap:12px}.flex-1{flex:1;min-width:0}.row{display:flex;flex-wrap:wrap;margin:0 -6px}.row>*{padding-left:6px;padding-right:6px}.col-6{width:50%}.col-12{width:100%}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:16px}.mt-4{margin-top:24px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:24px}.p-0{padding:0}.p-3{padding:16px}
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--ui-line);border-radius:6px;font-size:11px;background:var(--ui-soft);font-weight:600;color:#5c554d}.tabs,.tab-nav{display:flex;gap:6px;padding:5px;border-radius:12px;background:var(--ui-soft);overflow-x:auto;scrollbar-width:thin;margin-bottom:18px}.tab-btn,.tabs>button,.tabs>a{flex:1;min-height:43px;white-space:nowrap;border:0;border-radius:9px;padding:9px 13px;color:var(--ui-muted);background:transparent;text-align:center}.tab-btn.active,.tab-btn.is-active,.tabs>.active,.tabs>[aria-selected=true]{background:var(--ui-paper);color:var(--ui-ink);box-shadow:0 1px 4px #3428190a}.empty-state,.loading-state,.error-state{padding:28px 18px;text-align:center;color:var(--ui-muted);border-radius:12px;min-height:100px}.empty-state svg{display:block;margin:0 auto 12px;color:#a49b8f;width:36px;height:36px}.error-state{background:#f7ede9;color:#88443b}.error-state .btn{margin-top:12px}.skeleton{background:#e9e4dd;border-radius:8px;min-height:16px}.skeleton-card{height:110px;margin-bottom:12px}.skeleton-line{height:14px;width:80%;margin:8px 0}.skeleton-line.short{width:50%}.skeleton-circle{height:44px;width:44px;border-radius:50%}.loading-spinner{display:inline-block;width:18px;height:18px;border:2px solid #cfc7be;border-top-color:#5b554e;border-radius:50%;animation:ui-spin .8s linear infinite}.loading-spinner-wrapper{display:flex;justify-content:center;padding:25px}@keyframes ui-spin{to{transform:rotate(360deg)}}.progress{height:6px;overflow:hidden;border-radius:5px;background:var(--ui-soft)}.progress-bar{height:100%;background:linear-gradient(90deg,#49443f,#81786d);border-radius:5px}.alert{padding:13px 15px;border:1px solid var(--ui-line);border-radius:10px;margin-bottom:15px;background:var(--ui-soft)}.alert-danger{background:#f6ebe7;border-color:#e7cbc2;color:#88443b}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 0;list-style:none}.pagination a,.pagination button{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--ui-line);border-radius:9px;background:var(--ui-paper)}
dialog{border:1px solid var(--ui-line);border-radius:20px;background:var(--ui-paper);color:var(--ui-ink);padding:0;width:min(580px,calc(100% - 24px));max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;box-shadow:0 18px 70px #30271b26}dialog:not([open]){display:none}dialog::backdrop{background:rgba(35,31,27,.36)}dialog[open]{animation:ui-enter .14s ease-out}.dialog-header,.modal-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 20px;border-bottom:1px solid var(--ui-line)}.dialog-header h2,.modal-header h2,.modal-header h3{margin:0}.dialog-body,.modal-body{padding:20px}.dialog-footer,.modal-footer{padding:16px 20px;display:flex;gap:10px;border-top:1px solid var(--ui-line)}.dialog-close,.modal-close,.close-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;padding:10px;border:0;border-radius:50%;background:var(--ui-soft);color:var(--ui-ink);font-size:23px}.dialog-close svg,.modal-close svg{width:20px;height:20px}.ui-modal-open{overflow:hidden}.ui-modal-inert{pointer-events:none}.toast{position:fixed;left:50%;bottom:calc(var(--ui-footer-height,82px) + 24px);transform:translateX(-50%);max-width:calc(100% - 32px);padding:12px 18px;z-index:2147483645;border-radius:10px;background:#332f2b;color:#fff;box-shadow:0 3px 18px #221d1630;font-size:13px}.toast.error{background:#733f37}@keyframes ui-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.footer-nav{position:fixed;z-index:50;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:760px;padding:9px 8px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:#fffcf7;border-top:1px solid var(--ui-line)}.footer-nav a{min-height:49px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:3px;font-size:10px;color:#898178;position:relative;line-height:1.3;text-align:center}.footer-nav .nav-icon{display:flex}.footer-nav svg{height:23px;width:23px}.footer-nav .active{color:var(--ui-ink);font-weight:650}.footer-nav a.active::after{content:"";width:4px;height:4px;border-radius:50%;background:#4f4942;position:absolute;bottom:-4px}.ui-brand{display:inline-flex;align-items:center;gap:10px;min-width:0}.ui-brand-mark{position:relative;display:grid;place-items:center;width:42px;height:46px;font:italic 700 49px/.9 Georgia,serif;letter-spacing:-4px;color:#514b44;flex-shrink:0;padding-right:4px}.ui-brand-mark::after{content:"";position:absolute;top:0;right:0;width:11px;height:6px;border-radius:10px 0 10px 0;background:#625a50;transform:rotate(-35deg)}.ui-brand-name{font:700 24px/1.1 Georgia,"Times New Roman",serif;letter-spacing:-.6px;overflow-wrap:anywhere}.ui-brand-caption{font:12px/1.5 system-ui,sans-serif;color:var(--ui-muted);display:block;margin-top:3px}.ui-brand-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:3px 0 24px}.ui-header-actions{display:flex;align-items:center;gap:8px}.ui-avatar{width:39px;height:39px;border-radius:50%;object-fit:cover;background:var(--ui-soft)}
.cs-float-btn{position:fixed;right:max(14px,calc((100vw - 760px)/2 + 14px));bottom:calc(var(--ui-footer-height,82px) + 14px);z-index:45;display:flex;align-items:center;justify-content:center;gap:5px;min-width:45px;min-height:45px;padding:10px 12px;border:1px solid var(--ui-line);border-radius:24px;background:var(--ui-paper);color:var(--ui-ink);box-shadow:var(--ui-shadow)}.cs-float-btn .utility-label{font-size:11px}.cs-overlay{position:fixed;z-index:200;inset:0;display:flex;align-items:center;justify-content:center;background:#231f1b66;padding:14px;overscroll-behavior:contain}.cs-popup{position:relative;width:min(100%,500px);max-height:calc(100dvh - 28px);overflow:auto;background:var(--ui-paper);border-radius:20px;border:1px solid var(--ui-line);padding:24px}.cs-close{position:absolute;right:10px;top:10px;border:0;border-radius:50%;background:var(--ui-soft);width:44px;height:44px;padding:12px}.cs-overlay{padding:24px}.cs-popup{width:min(100%,380px);max-height:calc(100dvh - 48px);padding:18px}.cs-popup-heading{display:flex;align-items:center;gap:10px}.cs-popup-heading h2{flex:1;margin:0;font-size:20px;line-height:1.3;min-width:0}.cs-popup .cs-close{position:static;flex-shrink:0}.cs-popup .cs-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ui-soft);flex-shrink:0}.cs-popup .cs-icon svg{width:22px;height:22px}.cs-popup [role=status]{font-size:13px;color:var(--ui-muted);margin:16px 0;line-height:1.5}.cs-link-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--ui-line);border-radius:12px;margin-top:10px;min-height:54px}.cs-link-item strong{flex:1;min-width:0;overflow-wrap:anywhere}.cs-link-action{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;max-width:50%;min-height:44px;padding:10px 14px;border-radius:10px;background:linear-gradient(125deg,#373431,#5b5752);box-shadow:inset 0 1px 0 #ffffff26;color:#fffdf9;font-size:13px;font-weight:600;line-height:1.35;text-align:center;overflow-wrap:anywhere}.cs-link-item:active{background:var(--ui-soft)}.cs-popup #cs-link-retry{margin-top:12px}.install-app-hidden #install-btn{display:none!important}
@media(min-width:600px){.ui-page,.container{padding:28px}.footer-nav a{font-size:12px}.card,.ui-card{padding:24px}}@media(max-width:359px){.ui-page,.container{padding:16px 12px}.card,.ui-card{padding:15px}.btn{padding-left:12px;padding-right:12px}.ui-brand-name{font-size:21px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media(max-width:600px){html{scrollbar-width:none}html::-webkit-scrollbar{display:none}}

.footer-nav a{justify-content:flex-start;padding-top:5px}
/* Shared navigation and help placement from the approved layout. */
.footer-nav{bottom:10px;width:calc(100% - 24px);max-width:736px;border:1px solid var(--ui-line);border-radius:18px;box-shadow:0 5px 24px #4337280b}
.ui-has-inline-support #cs-float-btn:not(.ui-inline-support){display:none!important}
.cs-float-btn.ui-inline-support{position:relative;right:auto;bottom:auto;flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:11px;border-radius:12px;box-shadow:none;z-index:auto}
.cs-float-btn.ui-inline-support .utility-label{display:none}.cs-float-btn.ui-inline-support>svg{width:21px;height:21px}
.ui-page-hidden *, .ui-page-hidden *::before,.ui-page-hidden *::after{animation-play-state:paused!important}
.auth-public-links{display:flex;justify-content:center;gap:22px;max-width:520px;padding:0 20px 30px;margin:auto;color:var(--ui-muted);font-size:12px}.auth-public-links a{display:inline-flex;align-items:center;min-height:44px}

.ui-brand{align-items:flex-start;gap:8px}.ui-brand>span:last-child{padding-top:4.5px}.ui-brand img.ui-brand-mark{width:28px;height:30px;padding:0;object-fit:contain}.ui-brand img.ui-brand-name{display:block;width:86px;height:21px;object-fit:contain}
