:root{--bg:#f5f6f8;--surface:#fff;--border:#d6d9de;--text:#1b1f24;--text-muted:#5b6470;--accent:#0b5fa5;--accent-contrast:#fff;--danger:#b42318;--danger-bg:#fdecea;--warn:#8a6100;--warn-bg:#fff5da;--ok:#146c43;--ok-bg:#e7f4ec;--radius:6px;--space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "Cascadia Mono", Consolas, monospace}*{box-sizing:border-box}body{font-family:var(--font);color:var(--text);background:var(--bg);margin:0;font-size:15px;line-height:1.45}h1{margin:0 0 var(--space-3);font-size:1.35rem}h2{margin:0 0 var(--space-2);font-size:1.1rem}p{margin:0 0 var(--space-2)}.page{max-width:960px;padding:var(--space-4) var(--space-3);margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4)}.btn{font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent);color:var(--accent-contrast);cursor:pointer;display:inline-block}.btn:disabled{opacity:.55;cursor:default}.btn.secondary{background:var(--surface);color:var(--accent)}.btn.danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.btn.small{padding:2px var(--space-2);font-size:.85rem}.label{margin-bottom:var(--space-1);font-weight:600;display:block}.input{width:100%;font:inherit;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);display:block}.input:focus{outline:2px solid var(--accent);outline-offset:0}.field{margin-bottom:var(--space-3)}.field-error{color:var(--danger);margin-top:var(--space-1);font-size:.85rem}.alert{border-radius:var(--radius);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);border:1px solid}.alert.error{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.alert.warn{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}.alert.ok{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.badge{padding:1px var(--space-2);border:1px solid var(--border);background:var(--bg);color:var(--text-muted);border-radius:999px;font-size:.78rem;display:inline-block}.table{border-collapse:collapse;background:var(--surface);width:100%}.table th,.table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.table th{color:var(--text-muted);font-size:.85rem}.table .mono{font-family:var(--mono);font-size:.9rem}.shell-header{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface);border-bottom:1px solid var(--border);display:flex}.shell-header .brand{font-weight:700}.shell-header nav{gap:var(--space-2);display:flex}.shell-header nav a{color:var(--text-muted);padding:var(--space-1) var(--space-2);border-radius:var(--radius);text-decoration:none}.shell-header nav a.active{color:var(--accent);background:var(--bg)}.shell-header .spacer{flex:1}.overlay{padding:var(--space-3);z-index:10;background:#14181e8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.overlay .card{width:100%;max-width:420px}.muted{color:var(--text-muted)}.stack>*+*{margin-top:var(--space-3)}.row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-3)}.panel+.panel{margin-top:var(--space-2)}.field-row{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.field-row+.field-row{margin-top:var(--space-2)}.inline-group{display:block}.inline-group .label{font-size:.85rem;font-weight:600}.inline-group .input{min-width:140px}.row-actions{gap:var(--space-1);align-items:center;margin-left:auto;display:flex}.toolbar{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.empty{border:1px dashed var(--border);border-radius:var(--radius);padding:var(--space-3);text-align:center}.seat-list{margin:0;padding:0;list-style:none}.seat-list li+li{margin-top:var(--space-2)}.seat-list button{text-align:left;width:100%;font:inherit;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer}.seat-list button:hover{border-color:var(--accent)}
