:root{--zaatar: #300000;--roma: #d84430;--macadamia: #e0dcc3;--coconut: #f0f0ea;--kala: #060205;--corvina: #a59870;--nori: #786018;--maple: #cba32a;--bg: var(--coconut);--surface: #ffffff;--ink: var(--kala);--muted: #5a544a;--line: #d9d4c2;--ok: #2f6b3a;--warn: var(--nori);--radius: 12px;--tap: 52px}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.45 Arial,Helvetica,sans-serif}#root{min-height:100dvh;display:flex;flex-direction:column}.topbar{background:var(--zaatar);color:var(--macadamia);padding:14px 16px;display:flex;align-items:center;justify-content:space-between}.topbar .brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--macadamia)}.topbar .wordmark{height:18px;width:auto;display:block}.topbar .divider{width:1px;height:22px;background:var(--corvina);opacity:.9}.topbar .sub{font-weight:700;letter-spacing:.12em;font-size:14px}.hero-wordmark{display:block;height:28px;width:auto;margin:8px 0 20px}.topbar .who{font-size:14px;opacity:.85}main{flex:1;width:100%;max-width:560px;margin:0 auto;padding:20px 16px 40px}h1{font-size:26px;line-height:1.2;margin:8px 0 6px}h2{font-size:19px;margin:24px 0 8px}p.lead{color:var(--muted);margin:0 0 18px}.eyebrow{color:var(--roma);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:12px 0}label{display:block;font-weight:700;margin:14px 0 6px}.help{font-weight:400;color:var(--muted);font-size:14px;display:block;margin-top:2px}input[type=text],input[type=email],input[type=tel]{width:100%;min-height:var(--tap);font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff}input:focus{outline:3px solid color-mix(in srgb,var(--roma) 35%,transparent);border-color:var(--roma)}.choices{display:grid;gap:10px}.choice{display:flex;gap:12px;align-items:flex-start;min-height:var(--tap);padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}.choice input{margin-top:4px;width:20px;height:20px;accent-color:var(--roma)}.choice.selected{border-color:var(--roma);background:color-mix(in srgb,var(--roma) 6%,#fff)}.choice b{display:block}.choice small{color:var(--muted);font-weight:400}button{font:inherit;min-height:var(--tap);border-radius:10px;border:0;padding:12px 18px;cursor:pointer}button.primary{background:var(--roma);color:#fff;font-weight:700;width:100%;font-size:18px}button.primary:disabled{opacity:.6;cursor:progress}button.ghost{background:transparent;color:var(--zaatar);text-decoration:underline;padding:8px 4px;min-height:40px}button.add{background:var(--macadamia);color:var(--zaatar);width:100%}.error{background:#fdecea;border:1px solid #f3b5ad;color:#7a1d12;border-radius:10px;padding:12px 14px;margin:12px 0}.code{font-size:32px;font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--zaatar)}.status{display:inline-block;font-size:13px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--macadamia);color:var(--zaatar)}.status.ok{background:#dff0e1;color:var(--ok)}.status.bad{background:#fdecea;color:#7a1d12}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.row:first-of-type{border-top:0}.traveller{position:relative}.traveller .remove{position:absolute;top:8px;right:8px}main.wide{max-width:1400px}.admin h1{margin-top:0}.admin-grid{display:grid;grid-template-columns:360px 1fr;gap:16px;align-items:start}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}}.admin textarea{width:100%;font:14px/1.4 ui-monospace,Menlo,monospace;padding:10px;border:1.5px solid var(--line);border-radius:8px}.admin .fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.admin .fields input{width:100%;min-height:40px;padding:6px 10px;border:1.5px solid var(--line);border-radius:8px;font:inherit}.admin label{font-size:14px}.admin .actions{display:flex;gap:8px;margin-top:12px}.admin .actions button{min-height:42px;font-size:15px}.admin .toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.admin .toolbar .add{width:auto;min-height:36px;padding:6px 12px;font-size:14px}.filters{display:flex;gap:6px;flex-wrap:wrap}.event-panel summary{cursor:pointer}.admin .choices.kind{grid-template-columns:1fr 1fr;margin-bottom:8px}.admin .choices.kind .choice{padding:8px 10px;min-height:0;font-size:14px}.admin select{width:100%;min-height:40px;padding:6px 10px;border:1.5px solid var(--line);border-radius:8px;font:inherit;background:#fff}.agent .check{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.agent .check input{font-family:ui-monospace,Menlo,monospace;font-size:20px;letter-spacing:.06em;text-transform:uppercase}.agent .check .primary{width:auto;min-height:52px;padding:0 28px}.agent-row{display:grid;grid-template-columns:180px 1fr auto;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.agent-row:first-child{border-top:0}.agent-row .code{font-size:22px}.agent-row .right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.agent h2 .help{font-weight:400;font-size:14px;margin-left:8px}.event-panel .fields{grid-template-columns:1fr 1fr;margin-top:10px}.event-panel .actions{margin-top:10px}.wave{display:flex;align-items:end;gap:8px}.wave label{margin:0;font-size:12px}.wave input{width:90px;min-height:36px;padding:4px 8px;border:1.5px solid var(--line);border-radius:8px;font:inherit}.chip{min-height:30px;padding:4px 10px;font-size:13px;border-radius:999px;background:var(--coconut);border:1px solid var(--line);color:var(--ink)}.chip.on{background:var(--zaatar);color:var(--macadamia);border-color:var(--zaatar)}.admin table{width:100%;border-collapse:collapse;font-size:14px}.admin th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}.admin td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}.admin td .ghost{min-height:28px;padding:2px 4px;font-size:13px}.mono{font-family:ui-monospace,Menlo,monospace;font-size:13px}.notice{background:#e8efe4;border:1px solid #bcd3b0;color:var(--ok);border-radius:10px;padding:10px 12px;margin-top:12px}.topbar .dev{font-size:12px;opacity:.9}.topbar .signout{color:var(--macadamia);font-size:13px;min-height:28px;margin-left:10px;padding:2px 4px}.topbar .dev .chip{min-height:22px;padding:1px 8px;font-size:12px;margin-left:4px}.bo{--bo-ink: #300000;--bo-muted: #7A6A66;--bo-body: #4A3330;--bo-line: #D5CFBB;--bo-line2: #C9C0AE;--bo-panel: #E7E4D6;--bo-page: #F0F0EA;min-height:100dvh;background:var(--bo-page);color:var(--bo-body);font-size:14px}.bo .mono,.bo-table .mono{font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:12.5px}.bo .muted{color:var(--bo-muted)}.bo .small{font-size:12px}.bo-title,.bo-stat.big .v,.bo-stats.big .v{font-family:Clash Display,Arial,sans-serif;font-weight:600;color:var(--bo-ink)}.bo-header{height:52px;background:var(--zaatar);display:flex;align-items:center;gap:22px;padding:0 20px;color:var(--macadamia)}.bo-header .brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--macadamia)}.bo-header .wordmark{height:16px}.bo-header .divider{width:1px;height:18px;background:var(--corvina)}.bo-header .sub{font-family:Clash Display,Arial,sans-serif;font-weight:600;letter-spacing:.06em;font-size:15px}.bo-stages{display:flex;gap:4px}.bo-stage{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:4px;border:1px solid transparent;background:transparent;color:#c9bfa8;font:inherit;font-size:13px;cursor:pointer}.bo-stage .n{font-family:JetBrains Mono,monospace;font-size:11px;opacity:.65}.bo-stage .badge{font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--roma);color:#fff}.bo-stage.on{background:var(--macadamia);color:var(--zaatar)}.bo-stage.on .badge{background:var(--zaatar);color:var(--macadamia)}.bo-header .who{margin-left:auto;font-size:13px;color:#c9bfa8;display:flex;align-items:center;gap:10px}.bo-header .who .ev{color:var(--macadamia);font-weight:700}.bo-header .signout{color:var(--macadamia);font-size:13px;min-height:28px;padding:2px 4px}.bo-kpis{padding:16px 24px 14px;background:var(--bo-panel);border-bottom:1px solid var(--bo-line);display:flex;flex-direction:column;gap:10px}.bo-kpinote{font-size:12px;line-height:1.5;color:#5c4a46;max-width:1100px}.bo-stats{display:inline-grid;grid-auto-flow:column;gap:1px;background:var(--bo-line);border:1px solid var(--bo-line);width:max-content;max-width:100%;overflow-x:auto}.bo-stat{background:#fff;padding:10px 20px;display:flex;flex-direction:column;gap:1px;min-width:96px}.bo-stat .k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--bo-muted);white-space:nowrap}.bo-stat .v{font-size:21px;font-weight:700;color:var(--bo-ink);font-variant-numeric:tabular-nums}.bo-stat .sub{font-size:12px;color:var(--bo-muted)}.bo-stats.big .bo-stat{background:var(--bo-page);padding:12px 26px;min-width:172px}.bo-stats.big .v{font-size:30px;line-height:1.1}.bo-main{padding:18px 24px 40px;max-width:1440px}.bo-pagehead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:12px}.bo-title{font-size:25px;letter-spacing:-.005em;margin:0}.bo-sub{font-size:13px;color:var(--bo-muted);margin-top:4px;max-width:900px}.bo-main .bo-stats{margin-bottom:14px}.bo-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.bo-filter-row .lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bo-muted);width:56px}.bo-filter-row>.bo-filter-row{margin:0}.bo-pill{height:28px;padding:0 12px;border-radius:999px;border:1px solid var(--bo-line2);background:#fff;color:var(--bo-ink);font:inherit;font-size:13px;cursor:pointer;text-transform:capitalize}.bo-pill .n{opacity:.6;font-variant-numeric:tabular-nums;margin-left:2px}.bo-pill.on{background:var(--zaatar);color:var(--macadamia);border-color:var(--zaatar)}.bo-pill.on .n{opacity:.8}.bo-pill.on.roma{background:var(--roma);border-color:var(--roma);color:#fff}.bo-search{margin-left:auto;width:280px;height:30px;padding:0 10px;border:1px solid var(--bo-line2);border-radius:4px;font:inherit;font-size:13px;background:#fff}.bo-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bo-panel);border:1px solid var(--bo-line);border-radius:4px;margin:8px 0 12px}.bo-bar .spacer{flex:1}.bo-num{width:80px;height:30px;padding:0 8px;border:1px solid var(--bo-line2);border-radius:4px;font:inherit;background:#fff}.bo-btn{height:32px;padding:0 14px;border-radius:4px;border:1px solid var(--bo-line2);background:#fff;color:var(--bo-ink);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.bo-btn.primary{background:var(--roma);border-color:var(--roma);color:#fff}.bo-btn:disabled{opacity:.5;cursor:default}.bo-link{background:none;border:0;padding:0;min-height:0;font:inherit;font-size:13px;color:var(--roma);text-decoration:underline;cursor:pointer}.bo-notice{padding:10px 14px;border-radius:4px;margin:0 0 12px;font-size:13px;line-height:1.5;border:1px solid var(--bo-line);background:#fff;color:var(--bo-body)}.bo-notice.ok{border-color:#bcd3b0;background:#eef4ea;color:#2f6b3a}.bo-notice.bad{border-color:#f3b5ad;background:#fdecea;color:#7a1d12}.bo-table{background:#fff;border:1px solid var(--bo-line);border-radius:4px}.bo-th,.bo-tr{display:grid;align-items:center;gap:12px;padding:0 14px}.bo-th{height:30px;background:var(--bo-panel);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bo-muted)}.bo-tr{padding-top:8px;padding-bottom:8px;border-top:1px solid var(--bo-line);font-size:13px}.bo-tr .name b{color:var(--bo-ink);font-size:14px}.bo-tr .tag{font-size:11px;color:var(--bo-muted);margin-left:6px;text-transform:uppercase;letter-spacing:.06em}.bo-tr .code{color:var(--bo-ink);font-weight:600}.bo-tr .code.big{font-size:18px}.bo-tr .actions{text-align:right}.bo-table.inv .bo-th,.bo-table.inv .bo-tr{grid-template-columns:1.4fr 1.6fr 60px 150px 120px 120px 120px 80px}.bo-table.access .bo-th,.bo-table.access .bo-tr{grid-template-columns:1.2fr 1.6fr 110px 140px 80px}.bo-table.codes .bo-th,.bo-table.codes .bo-tr{grid-template-columns:170px 1fr 150px 120px 110px}.bo-empty{padding:18px 14px;color:var(--bo-muted);font-size:13px}.bo-count{font-size:12px;color:var(--bo-muted);margin-top:6px;text-align:right}.bo-state{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--bo-panel);color:var(--bo-ink);text-transform:capitalize}.bo-state.ok{background:#dff0e1;color:#2f6b3a}.bo-state.bad{background:#fdecea;color:#7a1d12}.bo-state.mid{background:#efe8c8;color:#786018}.bo-panel{background:#fff;border:1px solid var(--bo-line);border-radius:4px;padding:16px;margin-bottom:12px}.bo-field{display:block;font-size:13px;font-weight:700;color:var(--bo-ink);margin:0 0 12px}.bo-field .help{display:block;font-weight:400;color:var(--bo-muted);font-size:12px;margin:1px 0 4px}.bo-field input,.bo-field select,.bo-field textarea{display:block;width:100%;margin-top:4px;height:34px;padding:0 10px;border:1px solid var(--bo-line2);border-radius:4px;font:inherit;font-size:13px;font-weight:400;background:#fff}.bo-field textarea{height:auto;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.5}.bo-field input:disabled,.bo-field textarea:disabled{background:var(--bo-page);color:var(--bo-muted)}.bo-field-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.bo-field-grid.two{grid-template-columns:1fr 1fr}.bo-field-grid.three{grid-template-columns:1fr 1.4fr 1.6fr;align-items:end}.bo-field-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bo-muted);margin-bottom:6px}.bo-field-note{font-size:12px;color:var(--bo-muted);margin:-6px 0 12px}.bo-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.bo-choice{text-align:left;padding:10px 12px;border:1px solid var(--bo-line2);border-radius:4px;background:#fff;font:inherit;cursor:pointer;display:flex;flex-direction:column;gap:2px}.bo-choice b{color:var(--bo-ink);font-size:13px}.bo-choice span{font-size:12px;color:var(--bo-muted)}.bo-choice.on{border-color:var(--zaatar);background:#f6f1e7;box-shadow:inset 0 0 0 1px var(--zaatar)}.bo-drawer-actions{display:flex;gap:8px;justify-content:flex-end;margin:8px 0}.bo-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#30000059;z-index:20}.bo-drawer{position:absolute;top:0;right:0;bottom:0;width:min(520px,100%);background:var(--bo-page);border-left:1px solid var(--bo-line2);padding:18px 20px;overflow-y:auto;box-shadow:-8px 0 24px #30000026}.bo-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.bo-drawer-head h2{margin:0;font-family:Clash Display,Arial,sans-serif;font-weight:600;color:var(--bo-ink);font-size:20px}.bo-code-input{font-family:JetBrains Mono,monospace;font-size:20px;letter-spacing:.06em;text-transform:uppercase;height:40px;width:240px;padding:0 12px;border:1px solid var(--bo-line2);border-radius:4px;background:#fff}.bo-bar.check{background:#fff}.agent-page{padding-top:24px}@media(max-width:900px){.bo-stages,.bo-table.inv .bo-th{display:none}.bo-table.inv .bo-tr,.bo-table.codes .bo-tr,.bo-table.access .bo-tr{grid-template-columns:1fr;gap:4px}.bo-field-grid,.bo-field-grid.two,.bo-field-grid.three{grid-template-columns:1fr}}.bo button{min-height:0}.bo .bo-btn,.bo .bo-btn.primary{width:auto;font-size:13px;min-height:32px}.bo .bo-link{min-height:0}
