:root{
--bg:#fafafa; --card:#fff; --text:#1f1f1f; --muted:#646b73; --brand:#1a73e8; --danger:#d93025;
--radius:16px; --shadow:0 2px 10px rgba(0,0,0,.08);
}
*{box-sizing:border-box} html,body{margin:0;padding:0;font:16px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}
.container{max-width:420px;margin:6vh auto;padding:0 16px}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}
.h1{font-size:24px;font-weight:700;margin:0 0 8px}
.p{color:var(--muted);margin:0 0 20px}
.input{width:100%;padding:12px 14px;border:1px solid #dadce0;border-radius:12px;background:#fff;outline:none}
.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(26,115,232,.12)}
.row{display:flex;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:12px;border:1px solid transparent;cursor:pointer;font-weight:600}
.btn-primary{background:var(--brand);color:#fff}
.btn-ghost{background:transparent;border-color:#dadce0;color:var(--text)}
.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.error{color:var(--danger);font-size:14px;margin-bottom:10px}
.footer{margin-top:16px;color:var(--muted);font-size:12px}
.logo{width:28px;height:28px;vertical-align:middle}