:root{--bg:#f4f5f7;--card:#fff;--fg:#1b1f24;--muted:#6b7280;--line:#dfe3e8;--accent:#0e7c66;--accent-fg:#fff;--err:#c62828;--errbg:#fdecea;--field:#fff}
@media (prefers-color-scheme:dark){:root{--bg:#0f1216;--card:#171b21;--fg:#e8eaed;--muted:#9aa3ad;--line:#2b323b;--accent:#2bb59a;--accent-fg:#06211c;--err:#ff8a80;--errbg:#3a1d1b;--field:#0f1216}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.75 Vazirmatn,Vazir,"Segoe UI",Tahoma,system-ui,sans-serif;padding:24px 16px}
.card{max-width:560px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px 24px}
h1{font-size:1.4rem;margin:0 0 6px;line-height:1.5}
.lead{color:var(--muted);margin:0 0 22px}
.field{margin-bottom:18px}
.lbl{display:block;font-weight:600;margin-bottom:6px}
.req{color:var(--err)}
input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;font:inherit;color:var(--fg);background:var(--field);border:1px solid var(--line);border-radius:9px;padding:10px 12px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
input.ltr{text-align:left}
input[type=file]{padding:8px}
.opts{display:flex;flex-direction:column;gap:6px}
.opt{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.opt input{margin-top:.5em;accent-color:var(--accent)}
.help{color:var(--muted);font-size:.85rem;margin-top:5px}
.err{color:var(--err);font-size:.85rem;margin-top:5px}
.has-error input:not([type=checkbox]):not([type=radio]),.has-error select,.has-error textarea{border-color:var(--err)}
.alert,.notice{background:var(--errbg);color:var(--err);border-radius:9px;padding:10px 14px;margin-bottom:18px}
.notice{background:var(--bg);color:var(--fg);border:1px solid var(--line)}
button{width:100%;font:inherit;font-weight:700;background:var(--accent);color:var(--accent-fg);border:0;border-radius:9px;padding:12px;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.done{text-align:center;padding:18px 0}
.check{width:56px;height:56px;line-height:56px;border-radius:50%;background:var(--accent);color:var(--accent-fg);font-size:28px;margin:0 auto 14px}
footer{text-align:center;margin-top:18px;font-size:.85rem}
footer a{color:var(--muted);text-decoration:none}
