.sh-sup-body{gap:10px}.sh-ai .sh-ai-msg.bot.sh-sup-staff .bubble{background:var(--sh-gold-tint,#f6f0e3);border:1px solid var(--sh-gold-line,#e6d6b4);color:var(--sh-ink)}.sh-sup-body .sh-ai-msg{flex-direction:column}.sh-sup-body .sh-ai-msg.user{align-items:flex-end}.sh-sup-body .sh-ai-msg.bot{align-items:flex-start}.sh-sup-who{font-size:11.5px;font-weight:700;color:var(--sh-muted);margin:0 4px 3px}.sh-sup-staff .sh-sup-who{color:var(--sh-gold-ink,#7a5f28)}.sh-sup-meta{font-size:11px;color:var(--sh-muted);margin:3px 4px 0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sh-sup-sys{align-self:center;max-width:92%;text-align:center;font-size:12px;line-height:1.4;color:var(--sh-ink-2,#34433d);background:#eef1ef;border-radius:10px;padding:6px 10px}.sh-sup-note{font-size:13px;color:var(--sh-muted);text-align:center;margin:24px 8px}.sh-sup-link{border:0;background:none;padding:0;color:var(--sh-green);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.sh-sup-link.err{color:#a8321f}.sh-sup-img{display:block;margin-bottom:4px}.sh-sup-img img{display:block;max-width:220px;max-height:260px;width:auto;height:auto;border-radius:12px;border:1px solid var(--sh-line);object-fit:cover;background:#f2f4f3}.sh-sup-expect{display:flex;gap:10px;margin:10px 12px 0;padding:10px 12px;border-radius:12px;background:var(--sh-gold-tint,#f6f0e3);border:1px solid var(--sh-gold-line,#e6d6b4)}.sh-sup-expect b{display:block;font-size:13px;color:var(--sh-gold-ink,#7a5f28)}.sh-sup-expect p{margin:2px 0 0;font-size:12.5px;line-height:1.4;color:var(--sh-ink)}.sh-sup-expect .dot{flex:0 0 auto;width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--sh-gold,#a57d35);animation:shSupPulse 1.4s ease-in-out infinite}@keyframes shSupPulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.sh-sup-expect .dot{animation:none}}.sh-sup-callrow{display:flex;justify-content:center;padding:6px 14px 0}.sh-sup-call{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:999px;cursor:pointer;border:1px solid var(--sh-gold-line,#e6d6b4);background:var(--sh-gold-tint,#f6f0e3);color:var(--sh-gold-ink,#7a5f28);font-family:var(--sh-font);font-size:13px;font-weight:700}.sh-sup-call:hover{border-color:var(--sh-gold,#a57d35)}.sh-sup-call:disabled{opacity:.6;cursor:default}.sh-sup-input .sh-sup-clip{background:transparent!important;color:var(--sh-muted)!important;width:36px!important}.sh-sup-input button[type=submit]:disabled{opacity:.5;cursor:default}.sh-sup-rate{align-self:stretch;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;margin-top:4px;border-radius:14px;background:var(--sh-surface);border:1px solid var(--sh-line);text-align:center}.sh-sup-rate b{font-size:14px}.sh-sup-rate p{margin:0;font-size:12px;color:var(--sh-muted)}.sh-sup-rate .stars{display:flex;gap:4px;color:var(--sh-gold,#a57d35)}.sh-sup-rate .stars button{border:0;background:none;padding:2px;cursor:pointer;color:inherit}.sh-sup-rate .stars button:focus-visible{outline:2px solid var(--sh-green);border-radius:6px}.sh-sup-rate textarea{width:100%;border:1px solid var(--sh-line);border-radius:10px;padding:8px 10px;resize:vertical;outline:none}.sh-sup-btn,.sh-sup-rate textarea{font-family:var(--sh-font);font-size:13px}.sh-sup-btn{height:38px;padding:0 16px;border:0;border-radius:10px;background:var(--sh-green-fill);color:#fff;font-weight:700;cursor:pointer}.sh-sup-btn:disabled{opacity:.6}.sh-sup-closed{padding:12px 14px 14px;text-align:center;border-top:1px solid var(--sh-line)}.sh-sup-closed p{margin:0 0 8px;font-size:12.5px;color:var(--sh-muted)}.sh-sup-toast{margin:0 12px;padding:8px 12px;border-radius:10px;background:var(--sh-green-deep,#022a1b);color:#fff;font-size:12.5px;text-align:center}.sh-ai-staff{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:999px;cursor:pointer;border:1px solid hsla(41,65%,75%,.55);background:rgba(165,125,53,.22);color:#f1dfb8;font-family:var(--sh-font);font-size:12px;font-weight:700;white-space:nowrap}.sh-ai-staff:hover{background:rgba(165,125,53,.34);color:#fff}.sh-ai-staff+.sh-ai-close{margin-left:4px}.sh-ai-back{border:0;background:hsla(0,0%,100%,.12);color:#fff;width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;cursor:pointer;flex:0 0 auto}.sh-ai-card.staff{background:var(--sh-gold-tint,#f6f0e3);border-color:var(--sh-gold-line,#e6d6b4);cursor:pointer;text-align:left;font-family:var(--sh-font)}.sh-ai-card.staff .r{color:var(--sh-gold-ink,#7a5f28)}.sh-ai-fab .sh-sup-badge{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--sh-gold,#a57d35);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid #fff;font-family:var(--sh-font)}.shn{--shn-bg:#faf8f2;--shn-card:#fff;--shn-alt:#f2eee4;--shn-line:#e9e4d8;--shn-ink2:#34433d;--shn-head:linear-gradient(120deg,#05633e,#034a30 55%,#033a26);--shn-shadow:0 30px 80px -30px rgba(2,42,27,.5),0 0 0 1px rgba(4,80,54,.1);font-family:var(--sh-font);color:var(--sh-ink)}:root[data-theme=dark] .shn{--shn-bg:#07140f;--shn-card:#0e1f18;--shn-alt:#15291f;--shn-line:#22362b;--shn-ink2:#c9d6cf;--shn-head:linear-gradient(120deg,#0c3d29,#072a1c 60%,#04170f);--shn-shadow:0 30px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(233,239,234,.08)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .shn{--shn-bg:#07140f;--shn-card:#0e1f18;--shn-alt:#15291f;--shn-line:#22362b;--shn-ink2:#c9d6cf;--shn-head:linear-gradient(120deg,#0c3d29,#072a1c 60%,#04170f);--shn-shadow:0 30px 80px -30px rgba(0,0,0,.8),0 0 0 1px rgba(233,239,234,.08)}}.shn-hidden{display:none!important}.shn-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shn button,.shn textarea,.shn-lb button{font-family:var(--sh-font);font-feature-settings:"lnum";font-variant-numeric:lining-nums}.shn a:focus-visible,.shn button:focus-visible,.shn textarea:focus-visible{outline:2px solid var(--sh-gold);outline-offset:2px}.shn-falcon{position:relative;display:inline-block;flex:0 0 auto;--wing:7s;--shine:7s}.shn-falcon svg{position:relative;display:block;width:100%;height:100%;overflow:visible}.shn-falcon.glow:before{content:"";position:absolute;inset:-24%;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 50% 54%,hsla(41,79%,70%,.46) 0,hsla(41,79%,70%,.18) 36%,hsla(41,79%,70%,.05) 58%,hsla(41,79%,70%,0) 72%);animation:shnHalo var(--wing) ease-in-out infinite}.shn-f-bird{transform-box:view-box;transform-origin:22.5px 21.5px;animation:shnBob var(--wing) ease-in-out infinite}.shn-f-wing{transform-box:view-box;transform-origin:31.5px 27px;animation:shnWing var(--wing) ease-in-out infinite}.shn-f-wing.top{--amp:3.2deg}.shn-f-wing.mid{--amp:2.3deg;animation-delay:calc(var(--wing) * -.92)}.shn-f-wing.low{--amp:1.5deg;animation-delay:calc(var(--wing) * -.84)}.shn-f-glint{transform-box:view-box;opacity:.55;transform:translateX(-24px);animation:shnGlint var(--shine) cubic-bezier(.45,.05,.55,.95) .7s infinite}.shn-falcon.think{--wing:5.2s;--shine:3.6s}.shn-falcon.talk{--wing:4.6s;--shine:5.2s}.shn-falcon.sorry{--wing:9s;opacity:.78;transition:opacity .6s ease}.shn-falcon.sorry .shn-f-glint{animation:none;opacity:0}.shn-falcon.still *,.shn-falcon.still:before{animation:none!important}@keyframes shnWing{0%,to{transform:rotate(calc(var(--amp) * -1))}50%{transform:rotate(var(--amp))}}@keyframes shnBob{0%,to{transform:translateY(.5px) scale(.994)}50%{transform:translateY(-.5px) scale(1.006)}}@keyframes shnGlint{0%{transform:translateX(-24px)}46%{transform:translateX(66px)}to{transform:translateX(66px)}}@keyframes shnHalo{0%,to{opacity:.6;transform:scale(.97)}50%{opacity:.95;transform:scale(1.03)}}.shn .shn-fab.sh-ai-fab{position:relative;width:60px;height:60px;border-radius:999px;border:0;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:#fff;background:radial-gradient(circle at 50% 32%,#0b6a45 0,#045036 52%,#022e1f 100%);box-shadow:0 16px 34px -16px rgba(2,42,27,.7),inset 0 0 0 1px rgba(201,173,80,.3);transition:transform .25s ease,box-shadow .25s ease}.shn .shn-fab.sh-ai-fab:hover{transform:translateY(-2px);box-shadow:0 20px 38px -16px rgba(2,42,27,.75),inset 0 0 0 1px rgba(201,173,80,.45)}.shn .shn-fab.sh-ai-fab.away{display:none}.shn .shn-fab.sh-ai-fab.tuck{transform:translateY(calc(100% + 40px));pointer-events:none}@media (prefers-reduced-motion:reduce){.shn .shn-fab.sh-ai-fab{transition:none}}.shn-badge{position:absolute;top:2px;right:2px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--sh-gold);color:var(--sh-on-gold);font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid #fff}.shn-panel{position:fixed;right:24px;bottom:24px;z-index:210;width:404px;height:min(700px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border-radius:22px;background:var(--shn-bg);box-shadow:var(--shn-shadow);animation:shnIn .2s ease-out}@keyframes shnIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.shn-head{position:relative;display:flex;align-items:center;gap:6px;padding:12px 10px 12px 14px;background:var(--shn-head);color:#fff;flex:0 0 auto}.shn-head-falcon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;margin-right:6px;background:radial-gradient(circle at 50% 38%,#0a5a3b 0,#033a26 70%,#022a1b 100%);box-shadow:inset 0 0 0 1px rgba(201,173,80,.35)}.shn-head-tx{flex:1 1;min-width:0}.shn-head-tx b{display:block;font-size:16px;font-weight:800;letter-spacing:.01em}.shn-head-tx span{display:block;font-size:12px;color:#bcd8c9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shn-hbtn{position:relative;width:36px;height:36px;border-radius:50%;border:0;display:inline-grid;place-items:center;flex:0 0 auto;background:hsla(0,0%,100%,.08);color:#e7efe9;cursor:pointer;transition:background .15s ease,color .15s ease}.shn-hbtn:hover{background:hsla(0,0%,100%,.17);color:#fff}.shn-hbtn.gold{background:rgba(201,173,80,.2);color:#f1dfb8}.shn-hbtn.gold:hover{background:rgba(201,173,80,.32);color:#fff}.shn-hbtn.back{margin-right:4px}.shn-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--sh-gold-soft);box-shadow:0 0 0 2px #034a30}.shn-body{position:relative;flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(4,80,54,.22) transparent}.shn-list{display:flex;flex-direction:column;gap:22px;padding:18px 16px 12px}.shn-list.empty{min-height:100%}.shn-welcome{flex:1 1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 4px 0}.shn-welcome .hero{margin:8px 0 14px}.shn-welcome h3{margin:0;font-size:21px;font-weight:800;line-height:1.25;color:var(--sh-ink)}.shn-welcome>p{margin:6px 0 0;max-width:320px;font-size:14.5px;line-height:1.5;color:var(--sh-muted)}.shn-starters{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}.shn-starter{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 15px;border-radius:999px;cursor:pointer;border:1px solid var(--shn-line);background:var(--shn-card);color:var(--sh-ink);font-size:13.5px;font-weight:600;transition:border-color .15s ease,transform .15s ease}.shn-starter svg{color:var(--sh-green)}.shn-starter:hover{border-color:var(--sh-green)}.shn-starter:active{transform:scale(.97)}.shn-disclaimer{margin:auto 0 0!important;padding-top:26px;max-width:300px;font-size:12px!important;color:var(--sh-muted)!important}.shn-user{display:flex;flex-direction:column;align-items:flex-end}.shn-bubble{max-width:84%;padding:10px 14px;border-radius:18px 18px 6px 18px;background:var(--sh-green-fill);color:var(--sh-on-fill);font-size:15px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;font-feature-settings:"lnum";font-variant-numeric:lining-nums}.shn-bubble.fixing{opacity:.5}.shn-fix{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:2px 4px;border:0;background:none;color:var(--sh-muted);font-size:12px;cursor:pointer}.shn-fix:hover{color:var(--sh-green)}.shn-bot{min-width:0}.shn-bot.live{animation:shnRise .25s ease-out}@keyframes shnRise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.shn-bot-head{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--shn-ink2)}.shn-block{margin-top:10px;min-width:0}.shn-working{display:flex;align-items:center;gap:10px;margin-top:10px;min-height:24px;font-size:13.5px;color:var(--shn-ink2)}.shn-working .dots{display:inline-flex;gap:4px}.shn-working .dots i{width:6px;height:6px;border-radius:50%;background:var(--sh-gold);opacity:.3;animation:shnDot 1.1s ease-in-out infinite}.shn-working .dots i:nth-child(2){animation-delay:.16s}.shn-working .dots i:nth-child(3){animation-delay:.32s}@keyframes shnDot{0%,to{opacity:.25}40%{opacity:1}}.shn-rich{font-size:15px;line-height:1.55;color:var(--sh-ink);overflow-wrap:anywhere;font-feature-settings:"lnum";font-variant-numeric:lining-nums}.shn-rich.err{color:var(--shn-ink2)}.shn-rich p{margin:4px 0 0}.shn-rich>:first-child{margin-top:0}.shn-rich .gap{margin-top:12px}.shn-rich .b{font-weight:700}.shn-rich .li{display:flex;align-items:flex-start;gap:9px;margin-top:6px}.shn-rich .li .dot{flex:0 0 auto;width:5px;height:5px;margin-top:calc(.775em - 2.5px);border-radius:50%;background:var(--sh-gold)}.shn-rich .li .num{flex:0 0 auto;min-width:18px;color:var(--shn-ink2);font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums}.shn-rich .li .tx{flex:1 1;min-width:0}.shn-tools{display:flex;gap:2px;margin:6px 0 0 -7px}.shn-tools button{width:32px;height:32px;border-radius:50%;border:0;background:none;color:var(--sh-muted);display:grid;place-items:center;cursor:pointer;transition:background .15s ease,color .15s ease}.shn-tools button:hover:not(:disabled){background:var(--shn-alt);color:var(--sh-green)}.shn-tools button.done{color:var(--sh-green);cursor:default}.shn-stopped{margin:8px 0 0;font-size:12.5px;color:var(--sh-muted)}.shn-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--sh-green);cursor:pointer;font-size:13px;font-weight:700;text-decoration:none}.shn-link:hover{text-decoration:underline;text-underline-offset:3px}.shn-link.retry{margin-top:8px;min-height:36px}.shn-buttons{display:flex;flex-direction:column;gap:8px}.shn-suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.shn-pill{min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--shn-line);background:var(--shn-card);color:var(--sh-green);font-size:13.5px;font-weight:600;cursor:pointer;text-align:left;transition:border-color .15s ease}.shn-pill:hover{border-color:var(--sh-green)}.shn-foot{flex:0 0 auto;padding:6px 12px 12px;background:var(--shn-bg)}.shn-vnote{margin:0 6px 8px;font-size:13px;color:var(--shn-ink2)}.shn-input{display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 16px;border-radius:24px;background:var(--shn-card);border:1px solid var(--shn-line);transition:border-color .15s ease,box-shadow .15s ease}.shn-input:focus-within{border-color:var(--sh-green);box-shadow:0 0 0 3px rgba(4,80,54,.08)}.shn-input textarea{flex:1 1;min-width:0;min-height:24px;max-height:132px;margin:0;padding:8px 0;border:0;outline:none;resize:none;background:none;font-family:var(--sh-font);font-size:15px;line-height:1.45;color:var(--sh-ink)}.shn-input textarea::placeholder{color:var(--sh-muted)}.shn-input textarea:focus-visible{outline:none}.shn-mic,.shn-send{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:var(--sh-green-fill);color:var(--sh-on-fill);transition:background .15s ease,opacity .15s ease}.shn-send:disabled{background:var(--shn-alt);color:var(--sh-muted);cursor:default}.shn-send.stop{background:var(--sh-ink);color:var(--shn-card)}.shn-mic{background:var(--sh-green-tint);color:var(--sh-green)}.shn-mic:hover{background:var(--sh-green-fill);color:var(--sh-on-fill)}.shn-send.wait{background:var(--shn-alt);cursor:default}.shn-send .spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(4,80,54,.2);border-top:2px solid var(--sh-green);animation:shnSpin .8s linear infinite}@keyframes shnSpin{to{transform:rotate(1turn)}}.shn-voice{display:flex;align-items:center;gap:10px;padding:6px;border-radius:24px;background:var(--shn-card);border:1px solid var(--sh-green)}.shn-vcancel{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:0;background:var(--shn-alt);color:var(--sh-ink);display:grid;place-items:center;cursor:pointer}.shn-voice .word{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--sh-green)}.shn-voice .word.busy{color:var(--shn-ink2)}.shn-voice .wave{flex:1 1;min-width:0;height:28px;display:flex;align-items:center;justify-content:flex-end;gap:2px;overflow:hidden}.shn-voice .wave i{flex:0 0 auto;width:3px;border-radius:2px;background:var(--sh-green);transition:height .09s linear}.shn-voice .wave.dim{opacity:.45}.shn-voice .clock{min-width:30px;text-align:right;font-size:12.5px;font-weight:600;color:var(--sh-muted);font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums}.shn-down{position:absolute;left:50%;bottom:84px;z-index:3;width:38px;height:38px;margin-left:-19px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--shn-line);background:var(--shn-card);color:var(--sh-ink);box-shadow:var(--sh-shadow-sm);cursor:pointer}.shn-toast{position:absolute;left:50%;bottom:84px;z-index:4;transform:translateX(-50%);max-width:calc(100% - 32px);padding:8px 16px;border-radius:999px;background:var(--sh-green-deep);color:#fff;font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;animation:shnRise .2s ease-out}.shn-scrim{position:absolute;inset:0;z-index:6;display:flex;align-items:flex-end;background:rgba(2,20,14,.38);animation:shnFade .18s ease-out}@keyframes shnFade{0%{opacity:0}to{opacity:1}}.shn-sheet{width:100%;max-height:88%;display:flex;flex-direction:column;border-radius:22px 22px 0 0;background:var(--shn-card);box-shadow:0 -18px 40px -24px rgba(0,0,0,.35);animation:shnUp .22s ease-out}@keyframes shnUp{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}.shn-sheet-head{display:flex;align-items:center;gap:8px;padding:16px 12px 4px 20px}.shn-sheet-head h3{flex:1 1;margin:0;font-size:17px;font-weight:800;color:var(--sh-ink)}.shn-hbtn.plain{background:var(--shn-alt);color:var(--sh-ink)}.shn-hbtn.plain:hover{background:var(--shn-line);color:var(--sh-ink)}.shn-sheet-body{padding:6px 20px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.shn-sheet-body>p{margin:0;font-size:14px;line-height:1.55;color:var(--shn-ink2)}.shn-sheet-body>.shn-link{align-self:flex-start}.shn-sheet-body>.shn-btn.big:first-of-type{margin-top:8px}.shn-hist{list-style:none;margin:0;padding:0}.shn-hist button{width:100%;display:flex;align-items:center;gap:10px;padding:12px 2px;border:0;border-bottom:1px solid var(--shn-line);background:none;text-align:left;cursor:pointer;color:var(--sh-muted)}.shn-hist li:last-child button{border-bottom:0}.shn-hist .tx{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.shn-hist b{font-size:14px;font-weight:700;color:var(--sh-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shn-hist button.on b{color:var(--sh-green)}.shn-hist .tx span{font-size:12px;font-feature-settings:"lnum";font-variant-numeric:lining-nums}.shn-hist button:hover b{color:var(--sh-green)}.shn-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:100%;min-height:42px;margin-top:12px;padding:0 16px;border:0;border-radius:12px;background:var(--sh-green-fill);color:var(--sh-on-fill);font-size:14px;font-weight:700;cursor:pointer;transition:background .15s ease}.shn-btn:hover{background:var(--sh-green-fill-hover)}.shn-btn.big{min-height:48px;margin-top:0;font-size:15px}.shn-btn.ghost{margin-top:0;background:none;color:var(--sh-green)}.shn-btn.ghost:hover,.shn-btn.tonal{background:var(--sh-green-tint)}.shn-btn.tonal{color:var(--sh-green)}.shn-btn.tonal:hover{background:var(--sh-green-fill);color:var(--sh-on-fill)}.shn-btn.danger{background:#a8321f}.shn-btn.danger:hover{background:#8f2817}.shn-card{padding:14px;border-radius:16px;background:var(--shn-card);border:1px solid var(--shn-line);color:var(--sh-ink);font-feature-settings:"lnum";font-variant-numeric:lining-nums}.shn-card h4{margin:0;font-size:16px;font-weight:800;line-height:1.3;color:var(--sh-ink)}.shn-card .sub{display:block;margin-top:2px;font-size:13px;color:var(--shn-ink2)}.shn-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.shn-chip{flex:0 0 auto;display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:11.5px;font-weight:700;white-space:nowrap}.shn-chip.gold{background:var(--sh-gold-tint);color:var(--sh-gold-ink)}.shn-chip.green{background:var(--sh-green-tint);color:var(--sh-green)}.shn-chip.red{background:rgba(179,38,30,.1);color:var(--sh-danger)}.shn-over{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sh-gold-ink)}.shn-card-note{margin:8px 0 0;font-size:12px;line-height:1.45;color:var(--sh-muted)}.shn-muted{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--sh-muted)}.shn-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid var(--shn-line);font-size:12px;color:var(--sh-muted)}.shn-skel{display:flex;flex-direction:column;gap:10px;padding:12px 0}.shn-skel span{display:block;height:14px;border-radius:8px;background:var(--sh-skeleton);animation:shnPulse 1.2s ease-in-out infinite}.shn-skel span:nth-child(2){width:70%}.shn-skel span:nth-child(3){width:45%}@keyframes shnPulse{50%{opacity:.5}}.shn-empty{display:flex;flex-direction:column;gap:2px;padding:14px 0 6px;font-size:13px;color:var(--shn-ink2)}.shn-empty b{font-size:14.5px;color:var(--sh-ink)}.shn-empty.row{flex-direction:row;align-items:center;justify-content:space-between}.shn-days{display:flex;gap:6px;margin:12px -14px 0;padding:0 14px 4px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth}.shn-days::-webkit-scrollbar{display:none}.shn-day{flex:0 0 auto;width:58px;padding:7px 0 8px;border:0;border-radius:12px;background:var(--shn-alt);color:var(--sh-ink);display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer;transition:background .15s ease}.shn-day .mo,.shn-day .wd{font-size:11px;color:var(--sh-muted)}.shn-day b{font-size:16px;font-weight:800;line-height:1.2}.shn-day .pr{margin-top:3px;font-size:11.5px;font-weight:600;color:var(--shn-ink2);font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums}.shn-day.cheap .pr{color:var(--sh-gold-ink);font-weight:800}.shn-day:hover:not(:disabled):not(.on){background:var(--shn-line)}.shn-day.on{background:var(--sh-green-fill)}.shn-day.on,.shn-day.on .mo,.shn-day.on .pr,.shn-day.on .wd{color:var(--sh-on-fill)}.shn-day:disabled:not(.on){opacity:.45;cursor:default}.shn-flights{margin-top:6px}.shn-flight{display:block;width:calc(100% + 16px);margin:0 -8px;padding:12px 8px;border:0;border-radius:12px;background:none;text-align:left;color:var(--sh-ink);cursor:pointer;transition:background .15s ease}.shn-flight+.shn-flight{border-top:1px solid var(--shn-line);border-radius:0 0 12px 12px}.shn-flight:hover{background:var(--shn-alt)}.shn-route{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px}.shn-route .shn-pt{display:flex;flex-direction:column}.shn-route .shn-pt.end{align-items:flex-end}.shn-route .shn-pt b{font-size:19px;font-weight:800;line-height:1.15;font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums}.shn-route .shn-pt span{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--sh-muted)}.shn-route .mid{display:flex;align-items:center;gap:6px;min-width:0}.shn-route .ln{flex:1 1;height:1px;background:var(--shn-line)}.shn-route .dur{flex:0 0 auto;font-size:11.5px;color:var(--sh-muted);white-space:nowrap}.shn-flight .meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.shn-flight .who{display:flex;flex-direction:column;min-width:0}.shn-flight .fno{font-size:13px;font-weight:600;color:var(--shn-ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shn-flight .fare{margin-top:2px;font-size:12px;color:var(--sh-muted)}.shn-flight .price{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;font-size:15px;font-weight:800;color:var(--sh-green);white-space:nowrap}.shn-flight .closed{flex:0 0 auto;max-width:140px;font-size:12px;color:var(--sh-muted);text-align:right}.shn-back{margin-top:8px;padding-top:10px;border-top:1px solid var(--shn-line)}.shn-notice{display:flex;gap:8px;margin:10px 0 0;padding:9px 11px;border-radius:12px;background:var(--sh-gold-tint);color:var(--sh-gold-ink);font-size:12.5px;line-height:1.45}.shn-notice svg{flex:0 0 auto;margin-top:1px}.shn-bags{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:10px}.shn-bag{display:flex;align-items:center;gap:8px;padding:8px;border-radius:12px;background:var(--shn-bg);min-width:0}.shn-bag .ic{flex:0 0 auto;width:32px;height:32px;border-radius:50%;display:grid;place-items:center}.shn-bag.included .ic{background:var(--sh-green-tint);color:var(--sh-green)}.shn-bag.charge .ic{background:var(--sh-gold-tint);color:var(--sh-gold-ink)}.shn-bag.unavailable .ic{background:var(--shn-alt);color:var(--sh-muted)}.shn-bag .tx{display:flex;flex-direction:column;min-width:0}.shn-bag .tx span{font-size:11px;color:var(--sh-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shn-bag .tx b{font-size:13px;font-weight:700;color:var(--sh-ink)}.shn-bag.unavailable .tx b{color:var(--sh-muted)}.shn-sched{margin-top:8px}.shn-sched.next{margin-top:14px;padding-top:14px;border-top:1px solid var(--shn-line)}.shn-sched-row{margin-top:12px}.shn-sched-row .top{display:flex;align-items:baseline;gap:10px}.shn-sched-row .top b{font-size:16px;font-weight:800;font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums}.shn-sched-row .top span{font-size:12.5px;color:var(--shn-ink2)}.shn-sched-row .week{display:flex;gap:4px;margin-top:8px}.shn-sched-row .week span{flex:1 1;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--shn-alt);color:var(--sh-muted);font-size:11px;font-weight:600}.shn-sched-row .week span.on{background:var(--sh-green-tint);color:var(--sh-green);font-weight:800}.shn-sched-row .bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:12px;color:var(--sh-muted)}.shn-sched-row .bottom b{font-size:13.5px;font-weight:800;color:var(--sh-green);white-space:nowrap}.shn-sched-row .bottom b.off{color:var(--sh-muted);font-weight:600}.shn-sched-row .dates{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.shn-sched-row .dates .shn-pill{min-height:32px;padding:0 12px;color:var(--sh-ink);font-size:12.5px}.shn-card.trip .shn-route{margin-top:12px}.shn-count{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--sh-gold-ink)}.shn-trip-no{display:block;margin-top:8px;font-size:13px;font-weight:600;color:var(--shn-ink2)}.shn-trip-line{margin:8px 0 0;font-size:13.5px;line-height:1.45;color:var(--sh-ink)}.shn-partner-head{display:flex;align-items:center;gap:12px}.shn-round{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--sh-green-tint);color:var(--sh-green)}.shn-round.gold{background:var(--sh-gold);color:var(--sh-on-gold)}.shn-partners{display:flex;gap:8px;margin-top:8px}.shn-partner{flex:1 1;min-height:46px;border-radius:12px;border:1px solid rgba(16,35,63,.1);background:#fff;display:grid;place-items:center;cursor:pointer}.shn-partner img{display:block;max-width:70%;max-height:22px}.shn-partner:hover{border-color:rgba(16,35,63,.3)}.shn-wx{margin-top:6px}.shn-wx .row{display:grid;grid-template-columns:76px 26px 1fr;align-items:center;grid-gap:10px;gap:10px;padding:9px 0}.shn-wx .row+.row{border-top:1px solid var(--shn-line)}.shn-wx .part{font-size:13px;color:var(--shn-ink2)}.shn-wx .ic{color:var(--sh-green);display:grid;place-items:center}.shn-wx .tx{display:flex;flex-direction:column;font-size:14px}.shn-wx .tx b{font-size:15px;font-weight:800}.shn-wx .tx small{font-size:12px;color:var(--sh-muted)}.shn-tag{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sh-gold-ink)}.shn-info-text{margin:6px 0 0;font-size:13.5px;line-height:1.55;color:var(--shn-ink2)}.shn-own{margin-top:10px;padding:10px;border-radius:12px;background:var(--shn-alt)}.shn-own>span{font-size:12.5px;font-weight:700;color:var(--sh-ink)}.shn-own .shn-bag{background:var(--shn-card)}.shn-src-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.shn-src-pill{display:inline-flex;gap:6px;max-width:100%;min-height:30px;padding:0 12px;border:0;border-radius:999px;background:var(--sh-green-tint);color:var(--sh-green);font-size:12.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shn-row,.shn-src-pill{align-items:center;cursor:pointer}.shn-row{display:flex;gap:12px;width:100%;min-height:58px;padding:9px 12px;border-radius:14px;text-align:left;border:1px solid var(--shn-line);background:var(--shn-card);color:var(--sh-ink);transition:border-color .15s ease}.shn-row:hover{border-color:var(--sh-green)}.shn-row .tx{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:1px}.shn-row .tx b{font-size:14px;font-weight:700;line-height:1.3}.shn-row .tx span{font-size:12.5px;color:var(--shn-ink2);line-height:1.35}.shn-row .go{flex:0 0 auto;color:var(--sh-muted)}.shn-row .logo{flex:0 0 auto;width:80px;height:38px;border-radius:10px;background:#fff;border:1px solid rgba(16,35,63,.1);display:grid;place-items:center}.shn-row .logo img{display:block;max-width:64px;max-height:20px}.shn-row.staff{background:var(--sh-gold-tint);border-color:rgba(165,125,53,.35)}.shn-row.staff .go,.shn-row.staff .tx b{color:var(--sh-gold-ink)}.shn-row.staff:hover{border-color:var(--sh-gold)}.shn-gal-head{display:flex;align-items:center;gap:6px;margin:0 0 8px 2px;font-size:12px;color:var(--sh-muted);min-width:0}.shn-gal-head svg{color:var(--sh-gold);flex:0 0 auto}.shn-gal-head b{color:var(--sh-ink);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shn-gal-row{list-style:none;display:flex;gap:8px;margin:0 -16px;padding:2px 16px 8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:0 16px;scrollbar-width:thin;scrollbar-color:rgba(4,80,54,.25) transparent}.shn-gal-row li{flex:0 0 auto;scroll-snap-align:start}.shn-gal-tile{position:relative;display:block;height:140px;padding:0;border:0;border-radius:14px;overflow:hidden;background:var(--sh-skeleton);cursor:zoom-in}.shn-gal-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.shn-gal-tile:hover img{transform:scale(1.04)}.shn-gal-tile .d{position:absolute;left:0;right:0;bottom:0;padding:20px 9px 7px;text-align:left;font-size:11px;font-weight:700;color:#fff;background:linear-gradient(180deg,rgba(2,20,14,0),rgba(2,20,14,.74));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shn-src>.shn-over{margin:0 0 6px 2px;color:var(--sh-muted)}.shn-src ul{list-style:none;display:flex;gap:6px;margin:0 -16px;padding:0 16px 4px;overflow-x:auto;scrollbar-width:none}.shn-src ul::-webkit-scrollbar{display:none}.shn-src li{flex:0 0 auto;max-width:228px}.shn-src-chip{display:flex;align-items:center;gap:8px;max-width:100%;padding:6px 12px 6px 6px;border:1px solid var(--shn-line);border-radius:12px;background:var(--shn-card);color:var(--sh-ink);text-align:left;cursor:pointer}.shn-src-chip:hover{border-color:var(--sh-green)}.shn-src-chip .ic{display:grid;place-items:center;flex:0 0 auto;width:28px;height:28px;border-radius:8px;background:var(--sh-gold-tint);color:var(--sh-gold-ink);font-size:13px;font-weight:800}.shn-src-chip .tx{display:flex;flex-direction:column;min-width:0;line-height:1.25}.shn-src-chip b{font-size:12px;font-weight:700;color:var(--sh-green)}.shn-src-chip .tx>span,.shn-src-chip b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shn-src-chip .tx>span{font-size:11px;color:var(--sh-muted)}.shn-lb{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(2,11,8,.94);color:#fff;font-family:var(--sh-font);animation:shnFade .18s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.shn-lb-top{display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top, 0px)) 16px 8px 20px}.shn-lb-top .count{font-size:13px;font-weight:700;color:hsla(0,0%,100%,.72);font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums}.shn-lb-btn,.shn-lb-nav{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:999px;background:hsla(0,0%,100%,.12);color:#fff;cursor:pointer;transition:background .15s ease}.shn-lb-btn:hover,.shn-lb-nav:hover:not(:disabled){background:hsla(0,0%,100%,.22)}.shn-lb-stage{display:flex;align-items:center;justify-content:center;padding:4px 76px;touch-action:pan-y}.shn-lb-frame,.shn-lb-stage{position:relative;min-height:0}.shn-lb-frame{display:grid;grid-template:minmax(0,1fr) /minmax(0,1fr);place-items:center;width:100%;height:100%;container-type:size}.shn-lb-img{grid-area:1/1;max-width:min(100%,1280px);max-height:100%;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 30px 80px -30px rgba(0,0,0,.85);-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.shn-lb-img.ph{filter:blur(1px)}.shn-lb-img:not(.ph){opacity:0;transition:opacity .25s ease}.shn-lb-img.on{opacity:1}.shn-lb-nav{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:48px;height:48px}.shn-lb-nav.prev{left:16px}.shn-lb-nav.next{right:16px}.shn-lb-nav:disabled{opacity:.25;cursor:default}.shn-lb-nav .flip{transform:scaleX(-1)}.shn-lb-cap{width:100%;max-width:880px;margin:0 auto;padding:12px 20px calc(18px + env(safe-area-inset-bottom, 0px))}.shn-lb-cap .t{margin:0 0 10px;font-size:15px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.shn-lb-cap .row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.shn-lb-cap .d{display:inline-flex;align-items:center;gap:7px;min-width:0;font-size:13px;font-weight:600;color:hsla(0,0%,100%,.78)}.shn-lb-cap .d svg{flex:0 0 auto;color:var(--sh-gold-soft)}.shn-lb-open{display:inline-flex;align-items:center;gap:7px;padding:11px 18px;border-radius:999px;background:var(--sh-gold);color:var(--sh-on-gold);font-size:14px;font-weight:700;text-decoration:none}.shn-lb-open:hover{background:#b78c3f}.shn-lb-cap .note{margin:10px 0 0;font-size:11px;color:hsla(0,0%,100%,.5)}.shn-support{flex:1 1;min-height:0;display:flex;flex-direction:column}.shn-support .sh-ai-body{flex:1 1;min-height:0}.shn-support .sh-ai-msg .bubble{white-space:pre-line;overflow-wrap:anywhere;font-feature-settings:"lnum";font-variant-numeric:lining-nums}@media (max-width:720px){.shn .shn-fab.sh-ai-fab{width:56px;height:56px}.shn-panel{inset:0;width:100%;height:100%;max-height:none;border-radius:0;box-shadow:none;animation:shnFade .18s ease-out}.shn-head{gap:4px;padding-top:calc(10px + env(safe-area-inset-top, 0px));padding-left:12px}.shn-head-falcon{width:42px;height:42px;margin-right:4px}.shn-hbtn{width:34px;height:34px}.shn-foot{padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px))}.shn-list{padding:16px 14px 12px}.shn-gal-row,.shn-src ul{margin:0 -14px;padding-left:14px;padding-right:14px}.shn-down,.shn-toast{bottom:calc(80px + env(safe-area-inset-bottom, 0px))}.shn-lb-stage{padding:4px 10px}.shn-lb-nav{width:40px;height:40px;background:rgba(2,11,8,.55)}.shn-lb-nav.prev{left:14px}.shn-lb-nav.next{right:14px}}@media (prefers-reduced-motion:reduce){.shn *,.shn :before,.shn-lb,.shn-panel{animation:none!important;transition:none!important}}:root{--bg:#f4f6f9;--surface:#fff;--border:#e2e6ec;--text:#1a2230;--muted:#6b7686;--primary:#0b5cff;--primary-hover:#0847c9;--primary-soft:#e8f0ff;--success:#128a4b;--success-soft:#e3f6ec;--danger:#c02b2b;--danger-soft:#fdeaea;--warning:#a86400;--warning-soft:#fdf3e0;--radius:10px;--shadow:0 1px 3px rgba(20,30,50,.08),0 1px 2px rgba(20,30,50,.04)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.site-header .inner{max-width:960px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;gap:12px}.brand{font-size:19px;font-weight:700;color:var(--text)}.brand:hover{text-decoration:none}.brand-mark{color:var(--primary);margin-right:8px}.container{max-width:960px;margin:0 auto;padding:28px 20px 64px}.page-title{font-size:24px;font-weight:700;margin:0 0 4px}.page-subtitle{color:var(--muted);margin:0 0 24px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card+.card{margin-top:16px}.form-grid{display:grid;grid-gap:16px;gap:16px}@media (min-width:640px){.form-grid.cols-3{grid-template-columns:1fr 1fr 1fr}.form-grid.cols-2{grid-template-columns:1fr 1fr}}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600;color:var(--muted)}input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;width:100%}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;border:1px solid transparent;border-radius:8px;padding:10px 18px;cursor:pointer;transition:background .12s ease,border-color .12s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover);text-decoration:none}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#0f7340;text-decoration:none}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--bg);text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-block{width:100%}.flight-list{display:grid;grid-gap:14px;gap:14px}.flight-card{flex-wrap:wrap;justify-content:space-between;gap:20px}.flight-card,.flight-main{display:flex;align-items:center}.flight-main{gap:22px;flex:1 1 auto;min-width:260px}.flight-endpoint{text-align:center}.flight-time{font-size:22px;font-weight:700;line-height:1.1}.flight-city{font-size:13px;color:var(--muted);margin-top:2px}.flight-arrow{display:flex;flex-direction:column;align-items:center;color:var(--muted);font-size:12px;min-width:90px}.flight-arrow .line{width:100%;height:1px;background:var(--border);margin:6px 0;position:relative}.flight-arrow .line:after{content:"";position:absolute;right:0;top:-3px;border:3px solid transparent;border-left:3px solid var(--border)}.flight-meta{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:6px}.flight-side{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.flight-price{font-size:22px;font-weight:700}.summary-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.summary-row:last-child{border-bottom:none}.summary-row .label{color:var(--muted)}.summary-row .value{font-weight:600}.total-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:12px;padding-top:12px;border-top:2px solid var(--border)}.total-row .amount{font-size:22px;font-weight:700}.passenger-row{border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:14px}.passenger-row .row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.passenger-row .row-head h4{margin:0;font-size:14px}.link-btn{background:none;border:none;color:var(--danger);cursor:pointer;font:inherit;font-size:13px;padding:0}.link-btn:hover{text-decoration:underline}.badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.badge-held{background:var(--warning-soft);color:var(--warning)}.badge-confirmed{background:var(--success-soft);color:var(--success)}.badge-expired{background:var(--danger-soft);color:var(--danger)}.alert{border-radius:8px;padding:12px 14px;font-size:14px;margin-bottom:16px}.alert-error{background:var(--danger-soft);color:var(--danger)}.alert-info{background:var(--primary-soft);color:var(--primary-hover)}.alert-success{background:var(--success-soft);color:var(--success)}.muted{color:var(--muted)}.center{text-align:center}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.spinner{display:inline-block;width:18px;height:18px;border:2px solid hsla(0,0%,100%,.5);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.state-block{text-align:center;color:var(--muted);padding:48px 20px}@keyframes spin{to{transform:rotate(1turn)}}.pnr{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:28px;font-weight:700;letter-spacing:.14em;color:var(--primary)}.price-from{font-size:13px;font-weight:500;color:var(--muted)}.demand-hint{font-size:12px;font-weight:600;color:var(--warning);letter-spacing:.01em}.step-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.step-head h3{margin:0;font-size:17px}.step-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;font-size:14px;font-weight:700;flex:none}.step-hint{margin-left:auto;font-size:13px;color:var(--muted)}.fare-grid{display:grid;grid-gap:14px;gap:14px}@media (min-width:640px){.fare-grid{grid-template-columns:1fr 1fr 1fr}}.fare-card{text-align:left;font:inherit;color:var(--text);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:border-color .12s ease,box-shadow .12s ease}.fare-card:hover{border-color:#c3ccdb}.fare-card-selected{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.fare-name{font-size:16px;font-weight:700}.fare-price{font-size:22px;font-weight:700;color:var(--primary)}.fare-pricing-note{font-size:13px;margin:-8px 0 16px}.fare-demand{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:-4px}.fare-base-strike{font-size:14px;color:var(--muted);text-decoration:line-through}.fare-level-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--warning-soft);color:var(--warning);white-space:nowrap}.fare-demand-note{font-size:12px;margin-top:-2px}.fare-rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:14px}.fare-rules-inline{font-size:13px;color:var(--muted);font-weight:400}.yes{color:var(--success);font-weight:600}.no{color:var(--muted)}.fare-pick{margin-top:auto;align-self:flex-start;font-size:13px;font-weight:700;color:var(--primary)}.fare-card-selected .fare-pick{color:var(--success)}.seat-tag{margin-left:8px;font-size:12px;font-weight:700;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:2px 8px}.price-summary .summary-row:first-of-type{padding-top:0}.ancillary-block{margin-top:14px;padding-top:14px;border-top:1px dashed var(--border)}.ancillary-head{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:10px}.ancillary-options{display:grid;grid-gap:8px;gap:8px}@media (min-width:640px){.ancillary-options{grid-template-columns:1fr 1fr}}.ancillary-option{display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer;background:var(--surface);transition:border-color .12s ease,background .12s ease}.ancillary-option:hover{border-color:#c3ccdb}.ancillary-option-selected{border-color:var(--primary);background:var(--primary-soft)}.ancillary-checkbox{width:auto;margin:0;flex:none;accent-color:var(--primary);cursor:pointer}.ancillary-name{flex:1 1 auto;font-size:14px;font-weight:600}.ancillary-price{flex:none;font-size:14px;font-weight:700;color:var(--primary);white-space:nowrap}.ancillary-line .ancillary-line-cat{font-weight:400;font-size:13px}.seatmap{display:flex;flex-direction:column;gap:16px}.seatmap-cabin{border:1px solid var(--border);border-radius:var(--radius);padding:14px 12px;background:var(--bg);overflow-x:auto}.seat-row{display:flex;align-items:center;gap:6px;margin-bottom:6px;min-width:max-content}.seat-row-header{margin-bottom:10px}.seat-rownum{width:24px;text-align:right}.seat-colhead,.seat-rownum{font-size:12px;color:var(--muted);flex:none}.seat-colhead{width:34px;text-align:center;font-weight:600}.seat-aisle{width:20px;flex:none}.seat{width:34px;height:34px;flex:none;border-radius:7px;border:1px solid transparent;font:inherit;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:transform .08s ease,background .12s ease}.seat:not(:disabled):hover{transform:translateY(-1px)}.seat-empty{background:transparent;cursor:default}.seat-available{background:var(--surface);border-color:var(--border);color:var(--text)}.seat-window{background:#eaf3ff;border-color:#bcd7ff;color:var(--primary-hover)}.seat-legroom{background:#e3f6ec;border-color:#b6e2c8;color:var(--success)}.seat-selected{background:var(--primary);border-color:var(--primary);color:#fff}.seat-occupied{background:#e6e9ef;border-color:#e6e9ef;color:#b3bac6;cursor:not-allowed}.seat-locked{opacity:.55;cursor:not-allowed}.seat-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 18px;font-size:13px;color:var(--muted)}.seat-legend li{display:flex;align-items:center;gap:6px}.seat-swatch{width:16px;height:16px;border-radius:4px;border:1px solid transparent;flex:none}.swatch-available{background:var(--surface);border-color:var(--border)}.swatch-window{background:#eaf3ff;border-color:#bcd7ff}.swatch-legroom{background:#e3f6ec;border-color:#b6e2c8}.swatch-selected{background:var(--primary);border-color:var(--primary)}.swatch-occupied{background:#e6e9ef;border-color:#e6e9ef}.payment-card .step-head{justify-content:flex-start}.payment-card .step-head .step-hint{margin-left:8px;background:var(--warning-soft);color:var(--warning);font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:999px}.payment-demo-note{margin-bottom:20px}.payment-secure-note{font-size:12px;margin:14px 0 0}.hold-banner{font-size:13px;padding:10px 14px;border-radius:8px;background:var(--warning-soft);color:var(--warning)}.hold-banner strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hold-banner-expired{background:var(--danger-soft);color:var(--danger)}.tickets-section{margin-top:24px}.tickets-heading{font-size:18px;font-weight:700;margin:0 0 14px}.ticket-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.ticket-card+.ticket-card{margin-top:14px}.ticket-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 20px;background:var(--primary-soft);border-bottom:1px dashed var(--border)}.ticket-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ticket-number{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:22px;font-weight:700;letter-spacing:.08em;color:var(--primary-hover);margin-top:2px}.ticket-badge{display:inline-flex;align-items:center;align-self:center;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--success-soft);color:var(--success);white-space:nowrap}.ticket-body{padding:8px 20px 14px}.ticket-field{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}.ticket-field:last-child{border-bottom:none}.ticket-field-label{color:var(--muted)}.ticket-field-value{font-weight:600;text-align:right}.checkin-section{margin-top:24px}.boarding-pass{display:flex;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.boarding-pass+.boarding-pass{margin-top:14px}.bp-main{flex:1 1 320px;padding:18px 20px;min-width:0}.bp-stub{flex:0 0 190px;padding:18px;background:var(--primary-soft);border-left:2px dashed var(--border);display:flex;flex-direction:column;gap:8px}@media (max-width:559px){.bp-stub{flex-basis:100%;border-left:none;border-top:2px dashed var(--border)}}.bp-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.bp-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.bp-airline{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:18px;font-weight:700;letter-spacing:.06em;color:var(--primary-hover)}.bp-route{display:flex;align-items:center;gap:16px;margin-bottom:16px}.bp-city-code{font-size:26px;font-weight:700;line-height:1.05}.bp-city-name{font-size:13px;color:var(--muted);margin-top:2px}.bp-route-arrow{font-size:20px;color:var(--muted)}.bp-passenger{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:12px}.bp-passenger-name{font-size:17px;font-weight:700;letter-spacing:.02em}.bp-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}@media (max-width:419px){.bp-grid{grid-template-columns:repeat(2,1fr)}}.bp-field{display:flex;flex-direction:column;gap:2px}.bp-field-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.bp-field-value{font-weight:600}.bp-barcode{border-top:1px dashed var(--border);padding-top:12px}.bp-bars{display:flex;align-items:flex-end;gap:1px;height:44px;overflow:hidden}.bp-bar{display:inline-block;height:100%;background:var(--text);flex:none}.bp-barcode-text{display:block;margin-top:6px;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.18em;color:var(--muted)}.bp-stub-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.bp-seat{font-size:20px;font-weight:700;color:var(--primary-hover)}.bp-stub-seq{margin-top:auto;padding-top:10px;border-top:1px dashed var(--border);display:flex;flex-direction:column;gap:2px}.bp-seq-num{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:18px;font-weight:700;letter-spacing:.1em}.page-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head-row .btn{flex:none}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#a72424;text-decoration:none}.link-btn-plain{background:none;border:none;color:var(--primary);cursor:pointer;font:inherit;font-size:14px;font-weight:600;padding:0}.link-btn-plain:hover{text-decoration:underline}.badge-cancelled{background:var(--danger-soft);color:var(--danger)}.found-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:14px}.doc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.doc-list li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:14px}.doc-mono{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-weight:600;letter-spacing:.04em}.manage-actions{margin-top:16px;display:flex;flex-direction:column;gap:16px}.action-card .action-title{margin:0 0 8px;font-size:17px}.confirm-block{border:1px solid var(--danger-soft);background:var(--danger-soft);border-radius:8px;padding:14px}.confirm-text{margin:0 0 12px;color:var(--danger)}.confirm-actions{display:flex;gap:10px;flex-wrap:wrap}.spinner-dark{border-color:#fff hsla(0,0%,100%,.55) hsla(0,0%,100%,.55)}.refund-box{border-radius:8px;padding:14px 16px}.refund-ok{background:var(--success-soft);color:var(--success)}.refund-pending{background:var(--warning-soft);color:var(--warning)}.refund-none{background:var(--bg);border:1px solid var(--border);color:var(--text)}.refund-amount{font-size:18px;font-weight:700}.refund-box .muted{margin-top:4px}.change-search{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.change-search .field{flex:1 1 200px}.change-search .btn{flex:none}.alt-flight-list{display:flex;flex-direction:column;gap:10px}.alt-flight{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border:1px solid var(--border);border-radius:8px;padding:12px 14px}.alt-flight-main{flex:1 1 auto;min-width:200px}.alt-flight-times{display:flex;align-items:baseline;gap:8px}.alt-time{font-size:18px;font-weight:700}.alt-arrow{color:var(--muted)}.alt-flight-meta{font-size:13px;margin-top:2px}.page-head-actions{display:flex;gap:10px;flex-wrap:wrap;flex:none}.loyalty-grid{display:grid;grid-gap:16px;gap:16px}@media (min-width:760px){.loyalty-grid{grid-template-columns:1fr 1fr;align-items:start}}.field-hint{font-size:12px;font-weight:400}.member-number{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:24px;font-weight:700;letter-spacing:.1em;color:var(--primary);margin-top:2px}.join-note{font-size:13px;margin:12px 0 0}.miles-cards{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.miles-balance-box{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:var(--radius);background:var(--primary-soft);border:1px solid var(--border)}.miles-balance-box-soft{background:var(--bg)}.miles-balance-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.miles-balance-value{font-size:26px;font-weight:700;color:var(--primary-hover);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.miles-balance-box-soft .miles-balance-value{color:var(--text)}.miles-unit{font-size:14px;font-weight:600;color:var(--muted)}.member-head{margin-bottom:16px}.tier-badge{display:inline-block;font-size:13px;font-weight:700;padding:5px 14px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em;border:1px solid transparent}.tier-badge-silver{background:#eef1f5;color:#5a6472;border-color:#d5dbe4}.tier-badge-gold{background:#fbf1d6;color:#8a6400;border-color:#ecd9a3}.tier-badge-platinum{background:#e8ecf3;color:#33415c;border-color:#c3cddd}.tier-progress{margin-bottom:20px}.tier-progress-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:6px}.tier-progress-bar{height:8px;border-radius:999px;background:var(--bg);border:1px solid var(--border);overflow:hidden}.tier-progress-fill{height:100%;background:var(--primary);border-radius:999px;transition:width .3s ease}.tier-progress-note{font-size:13px;margin:0 0 20px}.txn-heading{font-size:15px;font-weight:700;margin:0 0 10px}.txn-table-wrap{overflow-x:auto}.txn-table{width:100%;border-collapse:collapse;font-size:13px}.txn-table th{text-align:left;font-weight:600;color:var(--muted);white-space:nowrap}.txn-table td,.txn-table th{padding:8px 10px;border-bottom:1px solid var(--border)}.txn-table td{vertical-align:top}.txn-table tr:last-child td{border-bottom:none}.txn-num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.txn-plus{color:var(--success);font-weight:600}.txn-minus{color:var(--danger);font-weight:600}.txn-type{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}.txn-type-earn{background:var(--success-soft);color:var(--success)}.txn-type-bonus{background:var(--primary-soft);color:var(--primary-hover)}.txn-type-redeem{background:var(--danger-soft);color:var(--danger)}.txn-type-adjust{background:var(--warning-soft);color:var(--warning)}.miles-earned-note{margin-bottom:0}.miles-pay-card .step-head{justify-content:flex-start;margin-bottom:12px}.btn-small{padding:6px 12px;font-size:14px;font-weight:600}.staff-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:8px}.staff-title{margin:0}.staff-subtitle{margin:4px 0 0;color:var(--muted)}.staff-badge{flex:none;background:var(--warning-soft);color:var(--warning);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600;white-space:nowrap}.staff-nav{display:flex;align-items:center;gap:16px;margin:8px 0 16px}.staff-flight-list{display:flex;flex-direction:column;gap:10px}.staff-flight-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;text-decoration:none;color:var(--text);transition:border-color .12s ease,background .12s ease}.staff-flight-row:hover{border-color:var(--primary);background:var(--primary-soft)}.staff-flight-main{display:flex;flex-direction:column;gap:2px}.staff-flight-no,.staff-flight-route{font-weight:600}.staff-flight-codes{color:var(--muted);font-weight:400}.staff-flight-time{font-size:14px}.pnl-counts,.staff-count-pills{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 16px}.count-pill{font-size:13px;font-weight:600;border-radius:999px;padding:4px 12px}.count-pill-total{background:var(--bg);color:var(--muted);border:1px solid var(--border)}.count-pill-checked{background:var(--primary-soft);color:var(--primary)}.count-pill-boarded{background:var(--success-soft);color:var(--success)}.pnl-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.pnl-table td,.pnl-table th{text-align:left;padding:10px 14px;border-bottom:1px solid var(--border);font-size:15px}.pnl-table th{background:var(--bg);color:var(--muted);font-weight:600;font-size:13px}.pnl-table tr:last-child td{border-bottom:none}.pnl-pnr{font-family:ui-monospace,SF Mono,Menlo,monospace}.pnl-action-col{text-align:right}.pnl-chip{display:inline-block;font-size:13px;font-weight:600;border-radius:999px;padding:3px 10px}.pnl-chip-none{background:var(--bg);color:var(--muted);border:1px solid var(--border)}.pnl-chip-checked{background:var(--primary-soft);color:var(--primary)}.pnl-chip-boarded{background:var(--success-soft);color:var(--success)}.staff-portal-link a{color:var(--muted)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px;margin:12px 0 24px}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.kpi-label{font-size:13px;color:var(--muted);margin-bottom:6px}.kpi-value{font-size:24px;font-weight:600;color:var(--text)}.admin-h2{font-size:18px;margin:24px 0 10px}.admin-num{text-align:right}.admin-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:10px}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-bottom:12px}.admin-form label{display:flex;flex-direction:column;gap:4px}.fld-l{font-size:13px;color:var(--muted)}.sales-fare{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;cursor:pointer}.sales-fare.selected{border-color:var(--primary);background:var(--primary-soft)}.load-banner{padding:14px 16px;border-radius:var(--radius);font-weight:600;margin:16px 0}.load-ok{background:var(--success-soft);color:var(--success)}.load-bad{background:var(--danger-soft);color:var(--danger)}.load-warnings{margin:0 0 16px;padding-left:20px;color:var(--danger)}.load-warnings li{margin:2px 0}.pnl-chip.load-fail{background:var(--danger-soft);color:var(--danger)}img,picture,video{-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}html:not([data-taxi]) .sh-taxi-link{display:none!important}