:root{--bg:#f6f7f9;--surface:#fff;--text:#1c1e21;--muted:#65676b;--border:#dadde1;--accent:#1d6fe0;--accent-text:#fff;--danger:#c62828;--ok:#2e7d32;--warn:#b26a00;--radius:10px;--gap:12px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box}body{margin:0}.page{max-width:640px;margin:0 auto;padding:16px}h1{margin:0;font-size:1.5rem}h2{margin:0;font-size:1.125rem}p{margin:0}ul{margin:0;padding:0;list-style:none}.stack{gap:var(--gap);flex-direction:column;display:flex}.muted{color:var(--muted)}.error{color:var(--danger)}.warning{color:var(--warn);font-weight:600}input,select,button,.button{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--text);padding:8px 12px}button,.button{cursor:pointer;text-align:center;text-decoration:none}button:disabled{cursor:default;opacity:.5}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.link{min-height:0;color:var(--accent);background:0 0;border:none;padding:0}.field{flex-direction:column;gap:4px;display:flex}.checkbox{align-items:center;gap:8px;display:flex}.checkbox input{width:20px;height:20px;min-height:0}.copy-link{gap:8px;display:flex}.copy-link input{flex:1;min-width:0}.actions{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.tabs button{border-radius:var(--radius) var(--radius) 0 0;background:0 0;border:none;flex:1}.tabs button[aria-selected=true]{background:var(--surface);box-shadow:inset 0 -3px 0 var(--accent);font-weight:600}.week-nav{flex-direction:column;gap:4px;display:flex}.week-nav-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.days{flex-direction:column;gap:16px;display:flex}.day{flex-direction:column;gap:8px;display:flex}.day h2:first-letter{text-transform:uppercase}.slot,.booking,.rule{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:left;flex-direction:column;gap:6px;padding:12px;display:flex}button.slot{border-color:var(--accent)}.bookings,.rules{flex-direction:column;gap:8px;display:flex}.slot .booking{border:none;border-top:1px solid var(--border);border-radius:0;padding:8px 0 0}.rule{grid-template-columns:1fr 1fr;gap:8px;display:grid}.rule .field:first-child{grid-column:1/-1}.captcha{min-height:100px}.footer{font-size:.875rem}.legal ul{padding-left:1.25rem;list-style:outside}
