:root{--bg: #ffffff;--surface: #f7f8fa;--border: #dfe3e8;--text: #1a1d21;--text-muted: #656d76;--accent: #2f5bd0;--ok: #1a7f4b;--warn: #9a6700;--pending: #8b8f96;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--bg)}@media (prefers-color-scheme: dark){:root{--bg: #14171a;--surface: #1c2024;--border: #2c3238;--text: #e6e8ea;--text-muted: #9aa2ab;--accent: #7aa2f7;--ok: #4ec98a;--warn: #e0b341;--pending: #7d848c}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.layout{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{border-right:1px solid var(--border);background:var(--surface);padding:20px 12px}.brand{font-weight:700;font-size:18px;padding:0 10px 18px}.brand span{color:var(--text-muted);font-weight:500}.nav-item{display:block;padding:8px 10px;border-radius:6px;color:var(--text-muted);text-decoration:none;font-size:14px}.nav-item:hover{background:var(--bg);color:var(--text)}.nav-item.active{background:var(--accent);color:#fff}.content{padding:24px 28px;max-width:1100px}h1{font-size:22px;margin:0 0 4px}h2{font-size:15px;margin:28px 0 8px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.subtitle{color:var(--text-muted);margin:0 0 20px;font-size:14px}.mock-banner{background:color-mix(in srgb,var(--warn) 14%,transparent);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);color:var(--warn);padding:8px 12px;border-radius:6px;font-size:13px;margin-bottom:20px}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.tile{border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--surface);display:flex;flex-direction:column;gap:4px}.tile-label{font-size:13px;color:var(--text-muted)}.tile-value{font-size:26px;font-weight:600}.tile-pending .tile-value{color:var(--pending)}.tile-note{font-size:11px;color:var(--pending)}.data-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:8px}.data-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 10px}.data-table td{border-bottom:1px solid var(--border);padding:9px 10px;vertical-align:top}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:13px}.badge{display:inline-block;padding:2px 8px;border-radius:100px;font-size:12px;border:1px solid var(--border)}.badge-active{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.badge-suspended{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.chip-row{display:flex;flex-wrap:wrap;gap:4px}.chip{font-size:11px;padding:2px 7px;border-radius:4px;background:var(--bg);border:1px solid var(--border);font-family:ui-monospace,monospace}.inline-link{color:var(--accent);text-decoration:none;display:block}.inline-link:hover{text-decoration:underline}.definition-list{display:grid;grid-template-columns:180px 1fr;gap:6px 16px;font-size:14px;margin:0}.definition-list dt{color:var(--text-muted)}.definition-list dd{margin:0}.placeholder{border:1px dashed var(--border);border-radius:8px;padding:28px;text-align:center;color:var(--text-muted);font-size:14px}.login{display:grid;place-items:center;min-height:100vh}.login-card{border:1px solid var(--border);border-radius:10px;padding:32px;max-width:380px;background:var(--surface)}.login-card h1{margin-bottom:12px}.login-card .hint{font-size:13px;color:var(--text-muted)}.login-card button{margin-top:12px;padding:9px 18px;border-radius:6px;border:1px solid var(--border);background:var(--accent);color:#fff;font-size:14px}.login-card button:disabled{background:var(--pending);cursor:not-allowed}.session-box{display:flex;flex-direction:column;gap:3px;padding:8px 10px 14px;border-bottom:1px solid var(--border);margin-bottom:10px;font-size:13px}.session-name{font-weight:600}.session-role{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent)}.link-button{background:none;border:none;padding:0;color:var(--text-muted);font-size:12px;text-align:left;cursor:pointer;text-decoration:underline}.link-button:hover{color:var(--text)}.badge.risk-low{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.badge.risk-medium{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.badge.risk-high,.badge.risk-critical{color:#d33;border-color:color-mix(in srgb,#d33 45%,transparent)}.badge.status-completed,.badge.status-succeeded{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.badge.status-waiting_approval,.badge.status-awaiting_approval{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.badge.status-failed,.badge.status-rejected{color:#d33;border-color:color-mix(in srgb,#d33 45%,transparent)}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.5rem}.chip{padding:.25rem .75rem;border-radius:999px;cursor:pointer;border:1px solid #d1d5db;background:transparent;color:inherit;font-size:.85rem}.chip-active{background:#1f2937;color:#fff;border-color:#1f2937}.status{display:inline-block;padding:.15rem .6rem;border-radius:4px;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.status-pending{background:#fef3c7;color:#92400e}.status-confirmed{background:#dbeafe;color:#1e40af}.status-preparing{background:#e0e7ff;color:#3730a3}.status-ready{background:#d1fae5;color:#065f46}.status-completed{background:#e5e7eb;color:#374151}.status-cancelled{background:#fee2e2;color:#991b1b}.detail-head{display:flex;gap:1rem;align-items:center;margin-bottom:1.5rem}.actions{display:flex;gap:.75rem;margin:1.5rem 0;flex-wrap:wrap}.button-danger{padding:.5rem 1.1rem;border:none;border-radius:6px;cursor:pointer;background:#b91c1c;color:#fff;font-size:.95rem}.button-danger:disabled,.button-primary:disabled{opacity:.55;cursor:progress}.numeric{text-align:right;font-variant-numeric:tabular-nums}.modifier-list{margin:.25rem 0 0 1rem;padding:0;list-style:none;font-size:.875rem}.totals{display:grid;grid-template-columns:1fr auto;gap:.4rem 2rem;max-width:22rem;margin:1.5rem 0}.totals dt,.totals dd{margin:0}.wizard-steps{display:flex;gap:0;list-style:none;padding:0;margin:1.5rem 0 2rem;counter-reset:step}.wizard-steps li{flex:1;padding:.6rem 1rem;text-align:center;border-bottom:3px solid #e5e7eb;color:#9ca3af;counter-increment:step}.wizard-steps li:before{content:counter(step) ". "}.wizard-steps li.active{border-bottom-color:#1f2937;color:#1f2937;font-weight:600}.wizard-steps li.done{border-bottom-color:#10b981;color:#065f46}.template-grid{display:grid;gap:1rem;margin:1rem 0;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.template-card{display:flex;flex-direction:column;gap:.4rem;text-align:left;padding:1rem;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font:inherit;color:inherit}.template-card:hover{border-color:#9ca3af}.template-card-active{border-color:#1f2937;box-shadow:0 0 0 1px #1f2937}.template-preview{display:block;height:64px;border-radius:4px;overflow:hidden;background:#f3f4f6;border:1px solid #e5e7eb;margin-bottom:.4rem}.template-preview-bar{display:block;height:12px;background:#d1d5db}.template-preview-body{display:block;height:52px}.template-preview-classic .template-preview-body{background:linear-gradient(#e5e7eb 0 22px,transparent 22px),repeating-linear-gradient(#fff 0,#fff 6px,#f9fafb 6px,#f9fafb 12px)}.template-preview-modern .template-preview-body{background:repeating-linear-gradient(90deg,#e5e7eb 0 46%,transparent 46% 54%);margin:6px;border-radius:6px}.template-preview-minimal .template-preview-body{background:repeating-linear-gradient(#fff 0,#fff 9px,#eef0f2 9px,#eef0f2 10px)}.color-fields{display:flex;gap:1.5rem}.color-fields input[type=color]{width:4rem;height:2.2rem;padding:0;border:1px solid #d1d5db}.notice{background:#f9fafb;border:1px solid #d1d5db;border-radius:6px;padding:1rem;margin:1rem 0}.notice pre{background:#fff;padding:.6rem;overflow-x:auto;font-size:.85rem}.detail-links{margin:.75rem 0 1.5rem}.field select,.field input[type=text],.field input:not([type]){width:100%;max-width:28rem;padding:.45rem;font:inherit}.status-seated{background:#dcfce7;color:#14532d}.status-no_show{background:#fef2f2;color:#7f1d1d}.filters input[type=date]{padding:.25rem .5rem;font:inherit;border:1px solid #d1d5db;border-radius:4px}
