:root{--bg:#f6f7f9;--surface:#fff;--text:#1a1d23;--muted:#5d6471;--line:#e1e4ea;--accent:#1f5eff;--accent-text:#fff;--danger:#b3261e;--warn-bg:#fff4d6;--warn-text:#5c4300;--ok:#1a7f37;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111317;--surface:#1a1d23;--text:#e8eaef;--muted:#9aa3b2;--line:#2b3039;--accent:#6f93ff;--accent-text:#0b1020;--danger:#ff7b72;--warn-bg:#3a2f08;--warn-text:#ffe08a;--ok:#4cc26b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html{font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.15rem}p{margin:0 0 .75rem}code{font-size:.9em}.shell-header{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.6rem 1rem;display:flex}.brand{color:var(--text);font-weight:700}.nav{flex-wrap:wrap;gap:.25rem .9rem;margin:0;padding:0;list-style:none;display:flex}.nav a{color:var(--muted)}.nav a[aria-current=page]{color:var(--text);font-weight:600}.spacer{flex:auto}.who{color:var(--muted);align-items:center;gap:.75rem;font-size:.9rem;display:flex}.banner{background:var(--warn-bg);color:var(--warn-text);flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.subnav{background:var(--surface);border-bottom:1px solid var(--line);padding:.4rem 1rem}main{max-width:72rem;margin:0 auto;padding:1rem}.page-head{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.page-head .actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.muted{color:var(--muted)}.small{font-size:.875rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.notice{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);margin-bottom:1rem;padding:.6rem .9rem}.notice.error{border-color:var(--danger);color:var(--danger)}.notice.success{border-color:var(--ok);color:var(--ok)}.empty{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:var(--radius);padding:1.5rem}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap;padding:.55rem .75rem}th{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:.8rem;font-weight:600}tr:last-child td{border-bottom:0}td.wrap{white-space:normal}.pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.1rem .5rem;font-size:.8rem;display:inline-block}.pill.active,.pill.open,.pill.booked,.pill.completed{color:var(--ok);border-color:var(--ok)}.pill.pending{color:var(--warn-text);border-color:var(--warn-text)}.pill.failed,.pill.cancelled,.pill.no_show,.pill.revoked,.pill.expired{color:var(--danger);border-color:var(--danger)}form.stack{gap:.9rem;max-width:36rem;display:grid}form.inline{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}label.field{gap:.25rem;font-size:.9rem;display:grid}label.field>span.hint{color:var(--muted);font-size:.8rem}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:6px;width:100%;min-width:0;padding:.5rem .6rem}form.inline input,form.inline select{width:auto}button,.button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;padding:.5rem .9rem}button.primary,.button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}button.danger{color:var(--danger)}button.link{color:var(--accent);background:0 0;border:0;padding:0}button[disabled]{opacity:.6;cursor:default}.row-actions{flex-wrap:wrap;gap:.5rem;display:flex}.row-actions form{display:inline}dl.facts{grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0;display:grid}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}@media (width>=48rem){main{padding:1.5rem}h1{font-size:1.75rem}}
