:root{--bg:#f4f6f8;--surface:#fff;--border:#e2e8f0;--text:#16202c;--muted:#64748b;--accent:#1d4ed8;--accent-soft:#eff6ff;--danger:#b91c1c;--danger-soft:#fef2f2;--success:#15803d;--success-soft:#f0fdf4;--warning:#a16207;--warning-soft:#fefce8;--radius:10px;--shadow:0 1px 2px #10202c0f, 0 4px 12px #10202c0a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0 0 .5rem;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0 0 .75rem}a{color:var(--accent)}.app{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:20;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.topbar__brand{letter-spacing:-.02em;margin-right:auto;font-weight:700}.topbar__user{color:var(--muted);text-align:right;font-size:.85rem;line-height:1.3}.tabs{background:var(--surface);border-bottom:1px solid var(--border);z-index:19;gap:.25rem;padding:0 .5rem;display:flex;position:sticky;top:57px;overflow-x:auto}.tabs a{white-space:nowrap;color:var(--muted);border-bottom:2px solid #0000;padding:.7rem .85rem;font-size:.92rem;text-decoration:none}.tabs a.is-active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.content{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;padding:1rem}.card__head{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.card__head h2{margin:0 auto 0 0}.stack{gap:.75rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row--end{justify-content:flex-end}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.muted{color:var(--muted);font-size:.875rem}label{display:block}.field__label{margin-bottom:.3rem;font-size:.85rem;font-weight:600;display:block}input,select,textarea{width:100%;font:inherit;border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:8px;padding:.6rem .7rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:var(--accent)}input[type=checkbox]{width:auto}.field{margin-bottom:.75rem}.checkbox{cursor:pointer;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.checkbox input{width:1.05rem;height:1.05rem;accent-color:var(--accent);margin:0}.checkbox span{font-size:.9rem}.field__error{color:var(--danger);margin-top:.25rem;font-size:.8rem}button{font:inherit;cursor:pointer;background:var(--accent);color:#fff;border:1px solid #0000;border-radius:8px;padding:.6rem 1rem;font-weight:600}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}button.danger{background:var(--danger)}button.ghost{color:var(--accent);background:0 0;border-color:#0000;padding:.4rem .5rem}button.tap{min-width:44px;min-height:44px}.alert{border:1px solid;border-radius:8px;margin-bottom:1rem;padding:.7rem .85rem;font-size:.9rem}.alert--error{background:var(--danger-soft);color:var(--danger);border-color:#fecaca}.alert--warn{background:var(--warning-soft);color:var(--warning);border-color:#fde68a}.alert--ok{background:var(--success-soft);color:var(--success);border-color:#bbf7d0}.alert--info{background:var(--accent-soft);color:var(--accent);border-color:#bfdbfe}.badge{border:1px solid;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge--ok{background:var(--success-soft);color:var(--success);border-color:#bbf7d0}.badge--wait{background:var(--warning-soft);color:var(--warning);border-color:#fde68a}.badge--neutral{background:var(--bg);border-color:var(--border);color:var(--muted)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--border);padding:.6rem .5rem}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.78rem}.passenger{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.7rem 0;display:flex}.passenger:last-child{border-bottom:0}.passenger__seat{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex:0 0 3rem;place-items:center;height:2.75rem;font-size:.95rem;font-weight:700;display:grid}.passenger__main{flex:1;min-width:0}.passenger__name{font-weight:600}.passenger--arrived .passenger__seat{background:var(--success-soft);color:var(--success);border-color:#bbf7d0}.auth{place-items:center;min-height:100%;padding:1.5rem 1rem;display:grid}.auth__box{width:100%;max-width:420px}.auth__brand{text-align:center;margin-bottom:.25rem;font-size:1.6rem;font-weight:800}.auth__tag{text-align:center;color:var(--muted);margin-bottom:1.25rem;font-size:.9rem}.center-note{text-align:center;color:var(--muted);padding:2.5rem 1rem}@media (width<=640px){.content{padding:.75rem}.tabs{top:53px}}.footer{text-align:center;padding:1rem;font-size:.78rem}.impersonation{color:#9a3412;z-index:18;background:#fff7ed;border-bottom:2px solid #fb923c;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.9rem;display:flex;position:sticky;top:57px}.impersonation span{margin-right:auto}.bar{background:var(--bg);border-radius:999px;height:8px;overflow:hidden}.bar__fill{background:var(--accent);border-radius:999px;height:100%}.payment{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.payment__code{background:var(--accent-soft);border:1px dashed var(--accent);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:1rem;margin:.75rem 0 1rem;padding:1rem;display:flex}.payment__code-label{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);width:100%;font-size:.78rem;font-weight:700}.payment__code-value{letter-spacing:.22em;color:var(--text);margin-right:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:2rem;font-weight:700}.payment th{vertical-align:top;width:7rem}.payment code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem}code.ref{letter-spacing:.08em;background:var(--accent-soft);color:var(--accent);border-radius:5px;margin-right:.3rem;padding:.1rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}textarea{resize:vertical;font-family:inherit}
