:root{--bg:#0b1020;--card:#ffffff;--ink:#0d1226;--ink-soft:#5b6478;--line:#e7e9f0;--brand:#4f46e5;--brand-2:#7c3aed;--accent:#06b6d4;--ok:#16a34a;--radius:20px;--shadow:0 24px 70px rgba(8,12,30,0.28);--maxw:540px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:radial-gradient(1100px 560px at 80% -10%,#1b2750 0,transparent 60%),radial-gradient(820px 480px at 0 0,#261a4d 0,transparent 55%),var(--bg);-webkit-font-smoothing:antialiased}.shell,body{min-height:100vh}.shell{max-width:var(--maxw);margin:0 auto;padding:34px 18px 70px;display:flex;flex-direction:column}.topbar{justify-content:space-between;color:#fff;margin-bottom:20px}.brand,.topbar{display:flex;align-items:center}.brand{gap:10px;font-weight:800;letter-spacing:-.02em;font-size:20px}.brand .dot{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--brand-2));display:grid;place-items:center;font-size:16px}.topbar .muted{color:#aeb6d6;font-size:13px}.summary-head{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 16px;color:#fff;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.summary-head .rt{display:flex;align-items:center;gap:10px;font-weight:700}.summary-head .rt .pl{opacity:.7}.summary-head .sub{color:#aeb6d6;font-size:12px;margin-top:2px}.summary-head .amt{text-align:right}.summary-head .amt .big{font-size:22px;font-weight:800}.summary-head .amt .lbl{color:#aeb6d6;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.steps{display:flex;gap:7px;margin-bottom:16px}.step{flex:1 1;height:5px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden}.step>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--brand));transition:width .5s cubic-bezier(.4,0,.2,1)}.step.done>i{width:100%}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.fade{animation:fade .4s cubic-bezier(.4,0,.2,1)}@keyframes fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}h1{font-size:24px;margin:0 0 4px}h1,h3{letter-spacing:-.02em}h3{margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:var(--brand);margin-bottom:8px}.muted{color:var(--ink-soft)}.route{display:flex;align-items:center;gap:16px;margin:22px 0 16px}.port{text-align:center}.port .code{font-size:30px;font-weight:800}.port .city{font-size:13px;color:var(--ink-soft)}.path{flex:1 1;position:relative;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px)}.path .plane{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--card);padding:0 6px;font-size:18px}.facts{display:flex;gap:18px;flex-wrap:wrap;color:var(--ink-soft);font-size:13.5px}.facts b{color:var(--ink)}.rowline{display:flex;justify-content:space-between;padding:7px 0;color:var(--ink-soft);font-size:14px}.rowline.total{border-top:1px dashed var(--line);margin-top:8px;padding-top:13px;font-size:20px;font-weight:800;color:var(--ink)}.options{display:grid;grid-gap:11px;gap:11px;margin:18px 0 4px}.opt{display:flex;gap:14px;align-items:center;border:1.5px solid var(--line);border-radius:14px;padding:15px;cursor:pointer;transition:all .18s ease;background:#fff}.opt:hover{border-color:#c7c9f0;transform:translateY(-1px)}.opt.sel{border-color:var(--brand);background:#f5f4ff;box-shadow:0 6px 18px rgba(79,70,229,.12)}.opt.disabled{opacity:.55;cursor:not-allowed}.opt.disabled:hover{border-color:var(--line);transform:none}.opt .ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:22px;background:linear-gradient(135deg,#eef2ff,#f5f3ff);flex-shrink:0}.opt .t{font-weight:700}.opt .s{font-size:13px;color:var(--ink-soft)}.opt .price{margin-left:auto;font-weight:800;text-align:right;white-space:nowrap}.seg{display:flex;background:#f1f3f9;border-radius:12px;padding:4px;margin-top:16px;gap:4px}.seg button{flex:1 1;border:none;background:transparent;padding:10px;border-radius:9px;font-weight:700;font-size:14px;color:var(--ink-soft);cursor:pointer;transition:all .15s ease}.seg button.on{background:#fff;color:var(--brand);box-shadow:0 2px 8px rgba(8,12,30,.08)}.stepper{display:inline-flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:12px;padding:6px 8px;margin-top:12px}.stepper button{width:34px;height:34px;border-radius:9px;border:none;background:#eef0fb;font-size:18px;cursor:pointer;color:var(--ink)}.stepper button:hover{background:#e3e6fa}.stepper .n{min-width:28px;text-align:center;font-weight:800;font-size:18px}.split{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}.chip{border:1.5px solid var(--line);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700}.chip.you{border-color:var(--brand);background:#f5f4ff;color:var(--brand)}button.chip{cursor:pointer;background:#fff;font-family:inherit}button.chip.sel{border-color:var(--brand);background:#f5f4ff;color:var(--brand)}button.chip:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}.prows{margin-top:14px;display:grid;grid-gap:8px;gap:8px}.prow{display:flex;gap:8px;align-items:center}.prow .pname{flex:1 1;padding:11px 12px;border:1.5px solid var(--line);border-radius:11px;font-size:14px;outline:none}.prow .pamt{width:116px;position:relative}.prow .pamt input{width:100%;padding:11px 12px 11px 26px;border:1.5px solid var(--line);border-radius:11px;font-size:14px;font-weight:700;outline:none;text-align:right}.prow .pamt .cur{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--ink-soft);font-weight:700;font-size:13px}.prow .pamt input:focus,.prow .pname:focus{border-color:var(--brand)}.prow .rm{width:34px;height:34px;border:none;border-radius:9px;background:#fbe9e9;color:#b91c1c;cursor:pointer;font-size:16px;flex-shrink:0}.prow .rm:disabled{opacity:.35;cursor:not-allowed}.add-row{margin-top:10px;background:none;border:1.5px dashed var(--line);border-radius:11px;padding:11px;width:100%;color:var(--brand);font-weight:700;cursor:pointer}.add-row:hover{border-color:var(--brand)}.sumbar{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:11px 14px;border-radius:11px;font-weight:700;font-size:14px;background:#f1f3f9}.sumbar.ok{background:#ecfdf3;color:#15803d}.sumbar.bad{background:#fef3f2;color:#b42318}label.field{display:block;margin-top:14px;font-size:13px;font-weight:600;color:var(--ink)}input.txt{width:100%;margin-top:6px;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;outline:none}input.txt:focus{border-color:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:20px;padding:15px 18px;border-radius:13px;border:none;font-size:16px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand-2));cursor:pointer;transition:all .12s ease;box-shadow:0 12px 26px rgba(79,70,229,.32)}.btn:hover{box-shadow:0 14px 32px rgba(79,70,229,.45);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn.ghost{background:transparent;color:var(--brand);box-shadow:none;border:1.5px solid var(--line)}.btn.ghost:hover{border-color:var(--brand)}.linkback{background:none;border:none;color:var(--ink-soft);cursor:pointer;font-size:14px;margin-top:14px;padding:0}.linkback:hover{color:var(--ink)}.pay-wrap{margin-top:8px}.pay-amount{display:flex;align-items:baseline;justify-content:space-between;margin:4px 0 18px}.pay-amount .big{font-size:32px;font-weight:800}.cclabel{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:14px 0 6px}.ccfield{border:1.5px solid var(--line);border-radius:12px;padding:13px 14px;background:#fff;transition:border-color .15s}.ccfield.focused{border-color:var(--brand)}.ccfield.invalid{border-color:#e5484d}.ccrow{display:flex;gap:10px}.ccrow>div{flex:1 1}.notice{border-radius:12px;padding:12px 14px;font-size:14px;margin-top:14px}.notice.err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.notice.info{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.testcard{font-size:12px;color:var(--ink-soft);margin-top:12px;text-align:center}.testcard code{background:#f1f3f9;padding:1px 6px;border-radius:6px}.success{text-align:center;padding:14px 4px}.checkmark{width:78px;height:78px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(135deg,#16a34a,#22c55e);display:grid;place-items:center;color:#fff;font-size:38px;box-shadow:0 12px 30px rgba(22,163,74,.35);animation:pop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.plane-box{border:1.5px solid var(--line);border-radius:16px;padding:16px;margin-top:14px;background:linear-gradient(180deg,#fafbff,#fff)}.cabin-label{text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;margin-bottom:12px}.seatmap{display:grid;grid-gap:8px;gap:8px;justify-content:center}.seatrow{display:flex;align-items:center;gap:8px}.seatrow .rownum{width:18px;text-align:center}.seat,.seatrow .rownum{font-size:12px;color:var(--ink-soft);font-weight:700}.seat{width:36px;height:36px;border-radius:9px 9px 7px 7px;border:1.5px solid var(--line);background:#fff;cursor:pointer;transition:all .12s ease}.seat:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.seat.sel{background:var(--brand);border-color:var(--brand);color:#fff}.seat:disabled{background:#eef0f6;border-color:#eef0f6;color:#c2c7d6;cursor:not-allowed}.aisle{width:14px}.seat-legend{display:flex;gap:16px;justify-content:center;margin-top:12px;font-size:12px;color:var(--ink-soft)}.seat-legend span{display:inline-flex;align-items:center;gap:6px}.seat-legend i{width:14px;height:14px;border-radius:4px;display:inline-block}.seat-legend i.free{border:1.5px solid var(--line)}.seat-legend i.busy{background:#eef0f6}.seat-legend i.mine{background:var(--brand)}.pickedseat{text-align:center;margin-top:12px;font-weight:700}.paxlist{margin-top:16px;display:grid;grid-gap:8px;gap:8px}.paxrow{display:flex;gap:10px;align-items:center}.seatbadge{width:46px;height:40px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:13px;background:#eef2ff;color:var(--brand);flex-shrink:0}.paxrow .pname{flex:1 1;padding:11px 12px;border:1.5px solid var(--line);border-radius:11px;font-size:14px;outline:none}.paxrow .pname:focus{border-color:var(--brand)}.paxhint{font-size:13px;color:var(--ink-soft);margin-top:10px}.remind{border:1.5px solid var(--line);background:#fff;color:var(--brand);border-radius:8px;padding:5px 10px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.remind:hover{border-color:var(--brand)}.remind.sent{border-color:#bbf7d0;background:#ecfdf3;color:#15803d;cursor:default}.countdown{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:700;margin:0 0 16px;background:#f1f3f9;color:var(--ink-soft);border:1px solid var(--line)}.countdown .clock{font-size:15px}.countdown b{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.countdown.urgent{background:#fef3f2;border-color:#fecaca;color:#b42318}.countdown.urgent b{color:#b42318}.countdown.expired{background:#fef3f2;border-color:#fecaca;color:#b42318}.tracker{text-align:left;border:1.5px solid var(--line);border-radius:16px;padding:18px;margin-top:18px}.tracker .head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.tracker .head .title{font-weight:800;font-size:15px}.tracker .head .count{font-size:13px;color:var(--ink-soft);font-weight:700}.tracker .collected{font-size:13px;color:var(--ink-soft);margin-bottom:12px}.tracker .collected b{color:var(--ink)}.bar{height:9px;background:#eef0f6;overflow:hidden;margin-bottom:16px}.bar,.bar>i{border-radius:99px}.bar>i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#16a34a);transition:width .6s cubic-bezier(.4,0,.2,1)}.plist{display:grid;grid-gap:8px;gap:8px}.pitem{display:flex;align-items:center;gap:12px}.pitem .av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;color:#fff;flex-shrink:0;background:linear-gradient(135deg,#94a3b8,#64748b)}.pitem.paid .av{background:linear-gradient(135deg,#22c55e,#16a34a)}.pitem .amt,.pitem .who{font-weight:700;font-size:14px}.pitem .amt{margin-left:auto;color:var(--ink-soft)}.pill{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:99px}.pill.paid{background:#ecfdf3;color:#15803d}.pill.pending{background:#fff7ed;color:#c2410c}.statebanner{border-radius:12px;padding:12px 14px;font-weight:700;font-size:14px;margin-top:16px;text-align:center}.statebanner.done{background:#ecfdf3;color:#15803d}.statebanner.partial{background:#fffbeb;color:#b45309}.share{display:flex;gap:8px;margin-top:14px}.share input{flex:1 1;padding:11px 12px;border:1.5px solid var(--line);border-radius:10px;font-size:13px;color:var(--ink-soft)}.spin{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:sp .7s linear infinite}@keyframes sp{to{transform:rotate(1turn)}}.poweredby{text-align:center;color:#8b93b5;font-size:12px;margin-top:22px}