:root{--bg:#0d0f12;--panel:#14171b;--ink:#e8ecf0;--muted:#8a939d;--line:#2a2f37;--accent:#4fd1e8;color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 "IBM Plex Sans",system-ui,sans-serif}
.auth,.home{min-height:100vh;display:grid;place-items:center;padding:16px}
.box{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;width:min(360px,100%);display:grid;gap:14px;box-sizing:border-box}
.box.wide{width:min(560px,100%)}
h1{margin:0;font:600 1.6rem "Barlow Condensed","Arial Narrow",sans-serif}
label{display:grid;gap:6px;color:var(--muted);font-size:.9rem}
input,textarea,select{font:inherit;background:#191c21;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 11px}
.btn{font:600 .95rem inherit;background:var(--accent);color:#071216;border:0;border-radius:8px;padding:10px 14px;cursor:pointer;text-decoration:none;display:inline-block;text-align:center}
.msg{color:#ffb4a8;margin:0}
.tile{display:grid;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;color:var(--ink);text-decoration:none}
.tile:hover{border-color:var(--accent)} .tile span{color:var(--muted);font-size:.9rem}
a{color:var(--accent)}
.ok{color:#7be0a0;margin:0}
.hint{color:var(--muted);font-size:.85rem;margin:0}
code{font-size:.85em;background:#191c21;padding:1px 5px;border-radius:4px}
