*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',-apple-system,Segoe UI,Roboto,sans-serif;background:#f8fafc;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;color:#111827}
.card{width:100%;max-width:380px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:26px 24px;box-shadow:0 10px 30px rgba(15,23,42,.08)}
h1{font-size:22px;font-weight:700;color:#0f172a;letter-spacing:-.3px}
.sub{font-size:13.5px;color:#6b7280;margin:6px 0 18px}
.tabs{display:flex;background:#f1f4f9;border-radius:10px;padding:4px;margin-bottom:18px}
.tab{flex:1;text-align:center;padding:8px 0;border-radius:8px;font-size:13px;font-weight:600;color:#64748b;text-decoration:none}
.tab.active{background:#fff;color:#6366f1;box-shadow:0 1px 3px rgba(0,0,0,.08)}
label{display:block;font-size:13px;font-weight:600;color:#111827;margin:12px 0 6px}
input{width:100%;height:42px;padding:0 14px;border:1.5px solid #e5e7eb;border-radius:10px;font-family:inherit;font-size:14px;color:#111827;background:#fff;outline:none;transition:.15s}
input::placeholder{color:#9ca3af}
input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.15)}
button,.btn{display:block;width:100%;height:44px;margin-top:18px;border:0;border-radius:10px;background:#6366f1;color:#fff;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;text-align:center;line-height:44px;text-decoration:none;transition:.15s}
button:hover,.btn:hover{background:#585be0}
.alert{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c;font-size:13px;padding:9px 12px;border-radius:10px;margin-bottom:4px}

/* ---------- Admin / shared ---------- */
.alert.good{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}
.btn.ghost{background:#f1f4f9;color:#334155;margin-top:10px}
.btn.ghost:hover{background:#e7ebf3}


/* ---------- Google Login ---------- */
.or{display:flex;align-items:center;gap:10px;margin:18px 0 12px;color:#9ca3af;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.6px}
.or:before,.or:after{content:"";flex:1;height:1px;background:#e5e7eb}
a.gbtn,button.gbtn{display:flex;width:100%;box-sizing:border-box;padding:12px 16px;border-radius:10px;font:inherit;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;align-items:center;justify-content:center;gap:10px;margin-top:0;background:#fff;color:#1f2937;border:1.5px solid #e5e7eb;line-height:1}
a.gbtn:hover,button.gbtn:hover{background:#f8fafc;border-color:#d1d5db}
button.gbtn:disabled{opacity:.65;cursor:wait}
