:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center;
       background: #14161d; color: #e6e8ee;
       font: 14px/1.5 ui-sans-serif, system-ui, -apple-system, "Segoe UI", "PingFang SC", sans-serif; }
form { width: min(360px, calc(100vw - 32px)); background: #1b1e27; border: 1px solid #2a2f3c;
       border-radius: 10px; padding: 28px; }
h1 { margin: 0 0 4px; font-size: 16px; font-weight: 600; }
p.sub { margin: 0 0 20px; color: #8b93a7; font-size: 12px; }
label { display: block; font-size: 12px; color: #8b93a7; margin: 14px 0 6px; }
input { width: 100%; padding: 10px 12px; border-radius: 8px; border: 1px solid #333a4a;
        background: #12141b; color: inherit; font: inherit; }
input:focus { outline: none; border-color: #4b7bec; }
button { margin-top: 20px; width: 100%; padding: 10px; border: 0; border-radius: 8px;
         background: #4b7bec; color: #fff; font: inherit; font-weight: 600; cursor: pointer; }
button:hover { background: #3f68cf; }
.err { margin-top: 14px; color: #ff8080; font-size: 12px; min-height: 18px; }
