/* Shared design tokens for the website and admin panel.
   Deep green brand, stone-paper ground, brass for money and calls to action, mono for survey data. */
:root{
  --bg:#F3F2EE; --surface:#FFFFFF; --surface-2:#E8E7E1; --ink:#18211E; --muted:#5A6560; --line:#D6D5CD;
  --brand:#1C3830; --brand-2:#26493F; --brand-ink:#F4F2EC; --brand-muted:#B7C6BF;
  --accent:#9A6C21; --accent-ink:#FFFFFF; --accent-soft:#F3E8D4;
  --ok:#2E7550; --ok-soft:#DDEEE3; --warn:#A87410; --warn-soft:#F7EBCF; --bad:#A0392E; --bad-soft:#F3DDD9; --info:#2D5F8A; --info-soft:#DCE8F3;
  --plot-avail:#CBE5D4; --plot-booked:#DAD8D0; --plot-hold:#F1DEAF; --road:#C9C7BD; --park:#B5D2B1; --plot-stroke:#7C8A84;
  --shadow:0 1px 2px rgba(20,30,26,.06),0 10px 30px rgba(20,30,26,.08);
  --display:'Marcellus','Iowan Old Style','Palatino Linotype',Georgia,serif;
  --body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0E1412; --surface:#151D1A; --surface-2:#1D2723; --ink:#E9E7E0; --muted:#9DA8A2; --line:#2A3531;
  --brand:#11241D; --brand-2:#1B3830; --brand-ink:#EEECE4; --brand-muted:#9FB3AB;
  --accent:#D6A85B; --accent-ink:#1A1408; --accent-soft:#2E2617;
  --ok:#62BD88; --ok-soft:#173020; --warn:#E2AC3F; --warn-soft:#33280F; --bad:#E27A6C; --bad-soft:#3A1E1A; --info:#7EB2E0; --info-soft:#18283A;
  --plot-avail:#28513A; --plot-booked:#2A302D; --plot-hold:#5C4A1F; --road:#3A403D; --park:#2C4A31; --plot-stroke:#5F6E68;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.3);
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0E1412; --surface:#151D1A; --surface-2:#1D2723; --ink:#E9E7E0; --muted:#9DA8A2; --line:#2A3531;
  --brand:#11241D; --brand-2:#1B3830; --brand-ink:#EEECE4; --brand-muted:#9FB3AB;
  --accent:#D6A85B; --accent-ink:#1A1408; --accent-soft:#2E2617;
  --ok:#62BD88; --ok-soft:#173020; --warn:#E2AC3F; --warn-soft:#33280F; --bad:#E27A6C; --bad-soft:#3A1E1A; --info:#7EB2E0; --info-soft:#18283A;
  --plot-avail:#28513A; --plot-booked:#2A302D; --plot-hold:#5C4A1F; --road:#3A403D; --park:#2C4A31; --plot-stroke:#5F6E68;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 10px 30px rgba(0,0,0,.3);
  color-scheme:dark}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.15;text-wrap:balance;margin:0}
p{margin:0}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}
[hidden]{display:none!important}
.mono{font-family:var(--mono)}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
.eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.note{font-size:.8rem;color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:11px 20px;font-weight:600;font-size:.94rem;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,filter .15s;white-space:nowrap;background:none}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.55;cursor:progress}
.btn-accent{background:var(--accent);color:var(--accent-ink)}
.btn-accent:hover{filter:brightness(1.07)}
.btn-dark{background:var(--ink);color:var(--bg)}
.btn-ghost{border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-danger{border-color:color-mix(in srgb,var(--bad) 40%,transparent);color:var(--bad)}
.btn-danger:hover{background:var(--bad-soft)}
.btn-sm{padding:7px 13px;font-size:.84rem}

.pill{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 10px;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.pill.new{background:var(--accent-soft);color:var(--accent)}
.pill.uc{background:var(--warn-soft);color:var(--warn)}
.pill.ready{background:var(--ok-soft);color:var(--ok)}

.field{display:grid;gap:6px;min-width:0}
.field > label,.field > legend,.field > span.lbl{font-size:.8rem;font-weight:600;color:var(--muted)}
.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:10px 12px;font-size:.95rem;width:100%}
.field textarea{resize:vertical;min-height:84px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
.field .err{font-size:.78rem;color:var(--bad)}
fieldset.field{border:0;padding:0;margin:0}

.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:999px;font-size:.88rem;z-index:100;transition:all .25s;pointer-events:none;max-width:calc(100vw - 32px)}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
