/* Logowanie i „Ustaw hasło” – te same motywy co aplikacja (style.css). Dostępne bez logowania (/static/login*). */
:root { color-scheme: light dark; --bg:#f6f7f9; --card:#fff; --text:#1d232b; --muted:#6b7580; --line:#e3e6ea; --accent:#e4572e; }
@media (prefers-color-scheme: dark){ :root:not([data-theme]){ --bg:#20252d; --card:#2a303a; --text:#e7ebf1; --muted:#a1adbf; --line:#3b4452; } }
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"]   { color-scheme: dark; --bg:#20252d; --card:#2a303a; --text:#e7ebf1; --muted:#a1adbf; --line:#3b4452; --accent:#ff7f5a; --accent-text:#14161a; }
:root[data-theme="purple"] { color-scheme: dark; --bg:#1e1d3a; --card:#2b2a52; --text:#eceaff; --muted:#aaa5d8; --line:#423f78; --accent:#fad000; --accent-text:#14161a; }
:root[data-theme="blue"]   { color-scheme: dark; --bg:#13202d; --card:#1a2a3a; --text:#d9e3ec; --muted:#8ca2b7; --line:#2a3e52; --accent:#5cb8e6; --accent-text:#14161a; }
:root[data-theme="green"]  { color-scheme: dark; --bg:#1d241f; --card:#252f28; --text:#dfe7dc; --muted:#9cad9d; --line:#36443a; --accent:#8ccf3f; --accent-text:#14161a; }
:root[data-theme="red"]    { color-scheme: dark; --bg:#1a0808; --card:#270e0e; --text:#ede5e7; --muted:#bb9fa2; --line:#4c1f20; --accent:#ff5a5f; --accent-text:#14161a; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:flex; align-items:center; justify-content:center;
       font:15px/1.5 system-ui,sans-serif; background:var(--bg); color:var(--text); padding:16px; }
form, .card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:28px;
       width:100%; max-width:360px; box-shadow:0 6px 24px rgba(0,0,0,.08); }
#box > form { border:0; box-shadow:none; padding:0; }
#box { max-width:360px; }
h1 { margin:0 0 4px; font-size:22px; }
p.sub { margin:0 0 20px; color:var(--muted); font-size:13px; }
p.hint { margin:0 0 14px; color:var(--muted); font-size:12.5px; }
label { display:block; font-size:13px; color:var(--muted); margin-bottom:4px; }
input, textarea { width:100%; padding:10px 12px; margin-bottom:14px; font:inherit; color:var(--text);
        background:transparent; border:1px solid var(--line); border-radius:8px; }
input:focus, textarea:focus { outline:none; border-color:var(--accent); }
label.chk { display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--text); margin:-4px 0 16px; cursor:pointer; }
label.chk input { width:auto; margin:0; accent-color:var(--accent); }
label.chk.off { opacity:.5; cursor:default; }
button, a.btn { display:block; width:100%; padding:11px; font:inherit; font-weight:600; color:var(--accent-text, #fff);
         background:var(--accent); border:0; border-radius:8px; cursor:pointer; text-align:center; text-decoration:none; }
button:hover, a.btn:hover { filter:brightness(1.05); }
button:disabled { opacity:.6; cursor:default; }
button.link { background:none; color:var(--accent); font-weight:500; padding:6px 0 0; width:auto; margin:10px auto 0; font-size:13.5px; }
:root[data-theme="purple"] button.link, :root[data-theme="green"] button.link { color:var(--accent); }
.err, .ok, .dev { border-radius:8px; padding:9px 12px; font-size:13px; margin-bottom:16px; }
.err { background:#fdecea; color:#a32018; }
.ok { background:#e5f6e9; color:#17612c; }
.dev { background:#fff4d6; color:#7a5a00; }
:root[data-theme]:not([data-theme="light"]) .err { background:#3a1d1a; color:#f3b4ac; }
:root[data-theme]:not([data-theme="light"]) .ok { background:#183824; color:#a7e2b6; }
:root[data-theme]:not([data-theme="light"]) .dev { background:#3a3015; color:#f0d58a; }
[hidden] { display:none !important; }
