/* Общие стили: страница записи, вход, админка. Цвета — токены, светлая и тёмная тема. */
:root{
  --bg:#f5f2ec; --surface:#ffffff; --sunk:#ece7de; --line:#ddd5c8; --gold:#b28f67; --brand:#123b33;
  --fg:#1c2622; --muted:#66706b; --accent:#123b33; --accent-fg:#f3e8d6; --accent-soft:#e0ebe6;
  --ok:#2f7a4f; --ok-soft:#e2f1e7; --warn:#a2581a; --warn-soft:#f8eadb; --bad:#a4322b; --bad-soft:#f7e1df; --blk:#8a8178;
  --f-display:"Unbounded","Onest",system-ui,sans-serif;
  --f-body:"Onest",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r:10px; color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0d1d19; --surface:#132823; --sunk:#1a322c; --line:#284239; --gold:#c9a77e; --brand:#123b33;
  --fg:#eee8dd; --muted:#a5b0aa; --accent:#c9a77e; --accent-fg:#102b25; --accent-soft:#2c3a2f;
  --ok:#7cc89a; --ok-soft:#1f3328; --warn:#e3a36a; --warn-soft:#3a2b1d; --bad:#ec8f86; --bad-soft:#3d2321; --blk:#8f877e; color-scheme:dark}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 var(--f-body);padding-inline:16px;padding-block:0 48px}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tnum{font-variant-numeric:tabular-nums}
h1{font:600 clamp(22px,5vw,28px)/1.2 var(--f-display);margin:0;text-wrap:balance}
.sub{color:var(--muted);margin:6px 0 0}
.field{display:grid;gap:4px}
.field label{font-size:13px;color:var(--muted)}
.field input,.field textarea,.field select{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:10px 12px;width:100%}
.btn{display:inline-block;border:0;border-radius:999px;padding:12px 20px;background:var(--accent);color:var(--accent-fg);font-weight:600;text-decoration:none;text-align:center}
.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:var(--sunk);color:var(--fg)}
.btn.danger{background:var(--bad-soft);color:var(--bad)}
.btn.small{padding:7px 14px;font-size:14px}
.err{color:var(--bad);font-size:14px;margin:0}
.note{font-size:13px;color:var(--muted)}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pill{display:inline-block;font-size:11px;font-weight:600;border-radius:999px;padding:1px 8px;width:max-content;white-space:nowrap}
.pill.bot{background:var(--accent-soft);color:var(--accent)}
.pill.man{background:var(--warn-soft);color:var(--warn)}
.st{display:inline-block;font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;white-space:nowrap}
.st-booked{background:var(--accent-soft);color:var(--accent)}
.st-came{background:var(--ok-soft);color:var(--ok)}
.st-bought{background:var(--ok);color:var(--surface)}
.st-noshow{background:var(--bad-soft);color:var(--bad)}
.st-cancelled{background:var(--sunk);color:var(--muted)}
.st-request{background:var(--warn-soft);color:var(--warn)}
.st-nc{background:var(--warn-soft);color:var(--warn)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.ferr{color:var(--bad);font-size:13px;margin-top:4px;display:block}
.ferr[hidden]{display:none}
input[aria-invalid=true]{border-color:var(--bad)!important;box-shadow:0 0 0 3px var(--bad-soft)}
.copybox{display:grid;gap:8px;margin-top:6px;padding-top:12px;border-top:1px solid var(--line)}
.linkbox{width:100%;font:inherit;font-size:13px;color:var(--muted);background:var(--sunk);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;text-overflow:ellipsis}
