:root{--g:#34a853;--gd:#0f9d58;--bg:#f8f9fa;--fg:#202124;--muted:#5f6368;--bd:#e8eaed}
*{box-sizing:border-box}
body{margin:0;min-height:100dvh;display:grid;place-items:center;
     font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
     background:var(--bg);color:var(--fg);padding:20px}
.card{width:100%;max-width:440px;background:#fff;border:1.5px solid var(--bd);
      border-radius:18px;padding:32px 28px;box-shadow:0 10px 30px rgba(0,0,0,.06)}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.brand-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--g),var(--gd));
            display:grid;place-items:center;color:#fff;font-size:22px;
            box-shadow:0 4px 14px rgba(52,168,83,.28)}
h1{margin:0;font-size:20px;font-weight:700;letter-spacing:-.3px}
.sub{margin:2px 0 20px;font-size:13px;color:var(--muted)}
label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}
input{width:100%;height:46px;padding:0 14px;border:1.5px solid var(--bd);
      border-radius:10px;font:inherit;background:#f8f9fa;transition:.15s}
input:focus{outline:0;background:#fff;border-color:var(--g);box-shadow:0 0 0 3px rgba(52,168,83,.15)}
.btn{width:100%;height:48px;margin-top:22px;border:0;border-radius:12px;
     background:linear-gradient(135deg,var(--g),var(--gd));color:#fff;font-weight:600;
     font-size:15px;cursor:pointer;box-shadow:0 5px 15px rgba(52,168,83,.28);transition:.15s}
.btn:hover{transform:translateY(-1px)}
.error{padding:10px 14px;border-radius:10px;background:#fce8e6;color:#a50e0e;
       font-size:13px;border:1px solid #f5c6c2;margin-bottom:8px}
.success{padding:10px 14px;border-radius:10px;background:#e6f4ea;color:#188038;
         font-size:13px;border:1px solid #b7e1c4;margin-bottom:8px}
.foot{margin-top:20px;text-align:center;font-size:13px;color:var(--muted)}
.foot a{color:var(--gd);text-decoration:none;font-weight:600}
.foot a:hover{text-decoration:underline}
