:root{--color-bg: #f6f3f1;--color-surface: #ffffff;--color-ink: #1d1718;--color-muted: #6b625c;--color-line: #e3ddd6;--color-sidebar: #0e0a0b;--color-accent: #c1111c;--color-accent-light: #f0414b;--color-on-dark: #f7f2ee;--color-on-dark-muted: #b8aca6;--color-open: #2d6e45;--color-upcoming: #8a5a12;--color-closed: #5d5550;--font-body: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 12px}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);line-height:1.5}a{color:var(--color-accent)}:focus-visible{outline:3px solid var(--color-accent-light);outline-offset:2px}.page-head{margin-bottom:24px}.page-head h1{margin:0 0 4px;font-size:1.75rem;font-weight:700}.page-head p{margin:0;max-width:70ch}.muted{color:var(--color-muted)}.notice{padding:16px 20px;border-radius:var(--radius);background:var(--color-surface);border:1px dashed var(--color-line)}.notice--error{border-style:solid;border-color:#e4b4a2;background:#fbece6}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.8rem;font-weight:600;white-space:nowrap;background:#5d55501f;color:var(--color-closed)}.badge[data-tone=open]{background:#2d6e4521;color:var(--color-open)}.badge[data-tone=upcoming]{background:#8a5a1221;color:var(--color-upcoming)}.table-wrap{overflow-x:auto;border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-line)}table{width:100%;border-collapse:collapse;font-size:.925rem}th,td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--color-line)}th{font-size:.8rem;font-weight:600;color:var(--color-muted);white-space:nowrap}tbody tr:last-child td{border-bottom:0}.cell-note{display:block;color:var(--color-muted);font-size:.85rem}.nowrap{white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:0;border-radius:10px;background:var(--color-accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}.button:hover{background:#9a0d16}.button:disabled{opacity:.65;cursor:wait}.field{display:flex;flex-direction:column;gap:6px;font-size:.9rem;font-weight:500}.field input{padding:10px 12px;border:1px solid var(--color-line);border-radius:10px;background:#fff;color:var(--color-ink);font:inherit;font-weight:400}.field input:focus{border-color:var(--color-accent);outline:2px solid rgba(193,17,28,.25);outline-offset:0}.field__error{color:var(--color-accent);font-weight:400}.page-head--with-action{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px}.back-link{display:inline-block;margin-bottom:8px;color:var(--color-muted);font-size:.9rem;text-decoration:none}.back-link:hover{color:var(--color-accent)}.row-link{color:var(--color-ink);font-weight:600;text-decoration:none}.row-link:hover{color:var(--color-accent);text-decoration:underline}.card{padding:22px 24px;border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-line)}.form{display:flex;flex-direction:column;gap:16px}.form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 16px}.form__group{display:flex;flex-direction:column;gap:14px;margin:0;padding:16px;border:1px solid var(--color-line);border-radius:12px}.form__group legend{padding:0 6px;font-weight:600}.form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.field small{font-weight:400;color:var(--color-muted)}.field select,.field textarea{padding:10px 12px;border:1px solid var(--color-line);border-radius:10px;background:#fff;color:var(--color-ink);font:inherit;font-weight:400}.field select:focus,.field textarea:focus{border-color:var(--color-accent);outline:2px solid rgba(193,17,28,.25);outline-offset:0}.field textarea{resize:vertical}.field small.field__error{color:var(--color-accent)}.check{display:inline-flex;align-items:center;gap:10px;font-weight:500;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--color-accent)}.saved{color:var(--color-open);font-weight:600}.hint{margin:0;font-size:.85rem;color:var(--color-muted)}.button--secondary{background:var(--color-ink)}.button--secondary:hover{background:#3a3133}.button--secondary.is-busy{opacity:.65;cursor:wait}.button--ghost{background:transparent;color:var(--color-ink);border:1px solid var(--color-line)}.button--ghost:hover{background:#0000000a}.field__error{margin:0;color:var(--color-accent);font-size:.875rem}
