:root{--bg:#f4f4f2;--card:#fff;--fg:#1b2230;--mut:#5d677a;--line:#dcdfe5;--acc:#1b2a41;--accfg:#fff;--soft:#e3ecf5;--bad:#b4412b;--ok:#1f7a4d;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#101620;--card:#18202d;--fg:#e7ebf2;--mut:#a3adbf;--line:#2c3748;--acc:#8fb4e3;--accfg:#101620;--soft:#223148;--bad:#ff9b85;--ok:#6fd4a0;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#101620;--card:#18202d;--fg:#e7ebf2;--mut:#a3adbf;--line:#2c3748;--acc:#8fb4e3;--accfg:#101620;--soft:#223148;--bad:#ff9b85;--ok:#6fd4a0;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}
.wrap{max-width:560px;margin:0 auto;padding-block:28px 48px;display:flex;flex-direction:column;gap:16px}
.logo{height:34px;width:auto;align-self:flex-start}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
h1{font:600 24px/1.25 Georgia,"Times New Roman",serif;margin:0;text-wrap:balance}
h2{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);margin:0}
p{margin:0}.mut{color:var(--mut);font-size:14px}
.days,.times{display:flex;flex-wrap:wrap;gap:8px}
button,.btn{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:10px;padding:10px 14px;cursor:pointer;min-height:44px}
button[aria-pressed="true"]{background:var(--acc);color:var(--accfg);border-color:var(--acc)}
button.primary{background:var(--acc);color:var(--accfg);border-color:var(--acc);font-weight:600}
button:disabled{opacity:.55;cursor:default}
label{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--mut)}
input[type=text],input[type=email],input[type=tel]{font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);min-height:44px;width:100%}
.chk{flex-direction:row;align-items:flex-start;gap:10px;color:var(--fg)}.chk input{margin-top:4px;width:18px;height:18px}
.err{color:var(--bad);font-size:14px;min-height:1.2em}.ok{color:var(--ok);font-weight:600}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
a{color:var(--acc)}
:focus-visible{outline:3px solid var(--soft);outline-offset:2px;box-shadow:0 0 0 2px var(--acc)}
[hidden]{display:none!important}
