:root{--canvas:#f2f5fa;--panel:#fff;--panel-2:#f7f9fc;--line:#dce3ee;--line-strong:#a9b8cc;--navy:#00296b;--accent-hover:#003c99;--accent-muted:#dde7f8;--text-primary:#0a1526;--text-secondary:#465975;--text-dim:#55677f;--night:#070c16;--night-line:#1e2b3e;--night-text:#e8eef7;--night-label:#b4c6de;--ok:#157a4e;--warn:#9a6b10;--bad:#8a2f2f;--display:"Archivo", ui-sans-serif, system-ui, sans-serif;--body:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--canvas);color:var(--text-primary);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}a{color:var(--navy)}.topbar{background:var(--night);height:62px;color:var(--night-text);border-bottom:1px solid var(--night-line);align-items:center;gap:16px;padding:0 clamp(16px,3vw,32px);display:flex}.topbar .mark{color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.topbar .mark svg{width:22px;height:22px}.topbar .mark svg path{fill:#fff}.topbar .word{font-family:var(--display);letter-spacing:.16em;font-size:15px;font-weight:800}.topbar .sub{font-family:var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--night-label);font-size:10px}.topbar .spacer{flex:1}.topbar nav{align-items:center;gap:20px;display:flex}.topbar nav a,.topbar nav button{color:var(--night-label);cursor:pointer;font-size:13.5px;font:inherit;background:0 0;border:0;padding:0;font-size:13.5px;text-decoration:none}.topbar nav a:hover,.topbar nav button:hover{color:#fff}main.wrap{max-width:1040px;margin:0 auto;padding:clamp(28px,5vw,56px) clamp(16px,3vw,32px) 96px}main.narrow{max-width:460px}h1{font-family:var(--display);letter-spacing:-.025em;margin:0 0 10px;font-size:clamp(28px,4vw,40px);font-weight:800;line-height:1.05}h2{font-family:var(--display);letter-spacing:-.02em;margin:0 0 12px;font-size:20px;font-weight:800}.lede{color:var(--text-secondary);max-width:62ch;margin:0 0 28px}.label{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--text-dim);align-items:center;gap:14px;margin:36px 0 14px;font-size:10px;display:flex}.label:after{content:"";background:var(--line);flex:1;height:1px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:clamp(18px,2.4vw,26px)}.row{border-bottom:1px solid var(--line);justify-content:space-between;gap:18px;padding:11px 0;display:flex}.row:last-child{border-bottom:0}.row .k{color:var(--text-secondary)}.row .v{text-align:right}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.stat{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px}.stat .n{font-family:var(--display);letter-spacing:-.02em;font-size:30px;font-weight:800;line-height:1}.stat .k{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim);margin-top:9px;font-size:9.5px}.field{margin-bottom:16px}.field label{font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim);margin-bottom:7px;font-size:9.5px;display:block}.field input,.field select{border:1px solid var(--line-strong);background:var(--panel);width:100%;color:var(--text-primary);font:inherit;border-radius:9px;padding:12px 13px;font-size:15px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px #00296b1f}.hint{color:var(--text-dim);margin-top:6px;font-size:12.5px}.btn{min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:14.5px;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;display:inline-flex}.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-ghost{border-color:var(--line-strong);color:var(--navy)}.btn-ghost:hover{border-color:var(--navy);background:var(--accent-muted)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-wide{width:100%}.note{border:1px solid var(--line);background:var(--panel-2);color:var(--text-secondary);border-radius:10px;margin:0 0 18px;padding:13px 15px;font-size:13.5px;line-height:1.6}.note.bad{color:var(--bad);background:#fbeeee;border-color:#e3c4c4}.note.good{color:var(--ok);background:#eaf6ef;border-color:#b6dcc7}.note.warn{color:#6b4708;background:#fdf5e7;border-color:#f2ce95}.chip{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--line);background:var(--panel-2);color:var(--text-secondary);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:9.5px;display:inline-flex}.chip.ok{color:var(--ok);background:#eaf6ef;border-color:#b6dcc7}.chip.bad{color:var(--bad);background:#fbeeee;border-color:#e3c4c4}.chip.run{color:#6b4708;background:#fdf5e7;border-color:#f2ce95}table.plain{border-collapse:collapse;width:100%;font-size:14px}table.plain th{text-align:left;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--line);padding:0 12px 10px 0;font-size:9.5px;font-weight:400}table.plain td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 12px 11px 0}.mono{font-family:var(--mono);font-size:13px}.muted{color:var(--text-dim)}.planewrap{max-width:420px;margin:8px auto 0}.seatmap{width:100%;height:auto;display:block;overflow:visible}.sm-body{fill:var(--panel);stroke:var(--line-strong);stroke-width:1.6px}.sm-wing{fill:#cfdae9;stroke:#afc0d6;stroke-width:1.2px}.sm-engine{fill:#b8c7dc;stroke:#98aac4;stroke-width:1.2px}.sm-galley{fill:#0f1b2e}.sm-lav{fill:#1d5c43}.sm-coat{fill:#c9d6ea}.sm-door{fill:#c7362f}.sm-label{font-family:var(--mono);letter-spacing:.24em;fill:var(--text-dim);text-anchor:middle;font-size:8px}.sm-fit{font-family:var(--mono);letter-spacing:.16em;fill:#c3d2e6;text-anchor:middle;font-size:7.5px}.sm-rownum{font-family:var(--mono);fill:var(--text-dim);text-anchor:end;font-size:9px}.sm-seat rect{fill:var(--panel);stroke:var(--line-strong);stroke-width:1.1px;transition:fill .18s,stroke .18s}.sm-seat text{font-family:var(--mono);fill:var(--text-dim);text-anchor:middle;pointer-events:none;font-size:9px;transition:fill .18s}.sm-seat[role=button]:not([aria-disabled]){cursor:pointer}.sm-seat[role=button]:not([aria-disabled]):hover rect{stroke:var(--navy);fill:var(--accent-muted)}.sm-seat[role=button]:focus-visible{outline:none}.sm-seat[role=button]:focus-visible rect{stroke:#2159c7;stroke-width:2.4px}.sm-seat.biz rect{fill:#eef3fb;stroke:#9fb4d2}.sm-seat.biz text{fill:#41618f}.sm-seat.exit rect{fill:#fdf5e7;stroke:#e4b865}.sm-seat.exit text{fill:#7a5209}.sm-seat.taken rect{fill:#d5dde9;stroke:#d5dde9}.sm-seat.taken text{fill:#8e9db2}.sm-seat.sel rect{fill:var(--navy);stroke:var(--navy)}.sm-seat.sel text{fill:#fff}.sm-seat.blocked rect{fill:#e7ecf4;stroke:#cbd6e5;stroke-dasharray:3 2}.seatkey{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);flex-wrap:wrap;gap:12px 20px;margin-top:24px;font-size:10px;display:flex}.seatkey i{vertical-align:-3px;border:1px solid #0a152624;border-radius:4px;width:14px;height:14px;margin-right:8px;display:inline-block}.trips{flex-direction:column;gap:12px;display:flex}.tripcard{text-align:left;width:100%;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:20px 22px;text-decoration:none;transition:border-color .3s,transform .3s,box-shadow .3s;display:grid}.tripcard:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 14px 34px #0a152617}.tc-route{font-family:var(--display);letter-spacing:-.02em;color:var(--text-primary);align-items:baseline;gap:11px;font-size:24px;font-weight:800;display:flex}.tc-route .ar{color:var(--line-strong);font-weight:400}.tc-city{color:var(--text-secondary);margin-top:5px;font-size:13.5px;display:block}.tc-meta{font-family:var(--mono);letter-spacing:.13em;color:var(--text-dim);text-transform:uppercase;flex-wrap:wrap;gap:7px 16px;margin-top:12px;font-size:10.5px;display:flex}.tc-right{align-items:center;gap:18px;display:flex}.mst{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;color:#0f5c3b;background:#eaf6ef;border:1px solid #b6dcc7;border-radius:999px;align-items:center;gap:7px;padding:6px 13px;font-size:9.5px;display:inline-flex}.mst .d{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.mst.off{color:var(--bad);background:#fbeeee;border-color:#e3c4c4}.mst.done{border-color:var(--line);background:var(--panel-2);color:var(--text-dim)}.my-back{cursor:pointer;font-family:var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--text-secondary);background:0 0;border:0;align-items:center;gap:8px;margin-bottom:20px;padding:6px 0;font-size:10.5px;text-decoration:none;transition:color .25s,gap .25s;display:inline-flex}.my-back:hover{color:var(--navy);gap:12px}.my-back svg{width:15px;height:9px}.oauth{gap:10px;display:grid}.btn-oauth{background:var(--panel);border:1px solid var(--line-strong);width:100%;color:var(--text-primary);justify-content:center;align-items:center;gap:10px;font-weight:600;display:flex}.btn-oauth:hover{border-color:var(--navy);background:var(--accent-muted)}.btn-oauth svg{flex:none}.oauth-or{color:var(--text-dim);font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:14px;margin:22px 0;font-size:10.5px;display:flex}.oauth-or:before,.oauth-or:after{content:"";background:var(--line);flex:1;height:1px}
