@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root {
    --bg-primary:#ffffff; --bg-secondary:#f8f9fb; --bg-tertiary:#f1f3f7;
    --bg-card:#ffffff; --border:#e2e6ed; --border-light:#eef0f4;
    --text-primary:#1a1d26; --text-secondary:#5f6980; --text-tertiary:#8892a6;
    --accent:#4f6ef7; --accent-hover:#3b5ae0; --accent-light:#eef1fe;
    --accent-glow:rgba(79,110,247,0.15); --valid:#22c55e; --invalid:#ef4444;
    --shadow-sm:0 1px 3px rgba(0,0,0,0.04); --shadow-md:0 4px 12px rgba(0,0,0,0.06);
    --shadow-lg:0 12px 40px rgba(0,0,0,0.08); --radius:12px; --radius-sm:8px;
    --radius-xs:6px; --transition:0.2s cubic-bezier(0.4,0,0.2,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Inter',-apple-system,sans-serif;background:var(--bg-secondary);color:var(--text-primary);-webkit-font-smoothing:antialiased;}
a{text-decoration:none;}

/* AUTH PAGE */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px;background:linear-gradient(135deg,#f8f9fb 0%,#eef1fe 100%);}
.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:20px;padding:48px 44px;width:100%;max-width:440px;box-shadow:var(--shadow-lg);animation:authFade .4s ease;}
@keyframes authFade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:32px;}
.auth-logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--accent),#6366f1);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 4px 12px var(--accent-glow);}
.auth-logo-name{font-size:17px;font-weight:700;color:var(--text-primary);}
.auth-title{font-size:24px;font-weight:800;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.4px;}
.auth-subtitle{font-size:14px;color:var(--text-secondary);margin-bottom:32px;line-height:1.5;}
.form-group{margin-bottom:18px;}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:7px;}
.form-input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:'Inter',sans-serif;color:var(--text-primary);background:var(--bg-secondary);transition:var(--transition);outline:none;}
.form-input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px var(--accent-glow);}
.form-input::placeholder{color:var(--text-tertiary);}
.auth-btn{width:100%;padding:13px;background:linear-gradient(135deg,var(--accent),#6366f1);color:#fff;border:none;border-radius:var(--radius-sm);font-size:15px;font-weight:600;font-family:'Inter',sans-serif;cursor:pointer;transition:var(--transition);box-shadow:0 4px 16px var(--accent-glow);margin-top:4px;}
.auth-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--accent-glow);}
.auth-btn:active{transform:translateY(0);}
.auth-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:var(--text-tertiary);font-size:13px;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;font-size:14px;font-weight:600;font-family:'Inter',sans-serif;color:var(--text-primary);cursor:pointer;transition:var(--transition);text-decoration:none;}
.google-btn:hover{background:var(--bg-secondary);border-color:#c5c5c5;box-shadow:var(--shadow-sm);}
.google-btn svg{width:18px;height:18px;flex-shrink:0;}
.auth-footer{margin-top:28px;text-align:center;font-size:13px;color:var(--text-secondary);}
.auth-footer a{color:var(--accent);font-weight:600;}
.auth-footer a:hover{text-decoration:underline;}
.auth-errors{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:20px;list-style:none;}
.auth-errors li{font-size:13px;color:var(--invalid);font-weight:500;line-height:1.5;}
.auth-errors li+li{margin-top:4px;}
.auth-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:20px;font-size:13px;color:var(--valid);font-weight:500;}
