body{font-family:'Inter',ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji"}.alert{padding:.75rem 1rem;margin-bottom:.75rem;border-radius:.5rem;font-weight:500}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:radial-gradient(1200px 600px at 20%20%,rgba(20,184,166,.18),transparent 60%),radial-gradient(1000px 500px at 80%30%,rgba(14,165,233,.18),transparent 60%),radial-gradient(900px 600px at 50%100%,rgba(244,114,182,.18),transparent 60%),linear-gradient(180deg,#f7fbff,#ffffff)}
@media(prefers-color-scheme:dark){.auth-page{background:radial-gradient(1200px 600px at 20%20%,rgba(20,184,166,.22),transparent 60%),radial-gradient(1000px 500px at 80%30%,rgba(14,165,233,.22),transparent 60%),radial-gradient(900px 600px at 50%100%,rgba(244,114,182,.22),transparent 60%),linear-gradient(180deg,#0f172a,#0b1220)}}.auth-card{width:100%;max-width:28rem;background:#ffffff;backdrop-filter:blur(8px);border:1px solid #eef2f7;border-radius:1rem;box-shadow:0 10px 30px rgba(0,0,0,.08);padding:1.5rem}
@media(min-width:768px){.auth-card{padding:2rem}}
@media(prefers-color-scheme:dark){.auth-card{background:#ffffff;border-color:#e5e7eb}}.auth-header{text-align:center;margin-bottom:1rem}.auth-badge{height:3rem;width:3rem;border-radius:9999px;margin:0 auto 0.75rem;display:flex;align-items:center;justify-content:center;background:#14b8a6;color:#fff;box-shadow:0 4px 12px rgba(20,184,166,.35)}.auth-badge svg{width:24px;height:24px;display:block}.auth-badge,.auth-badge svg{user-select:none;-webkit-user-drag:none;pointer-events:none}.auth-title{font-size:1.5rem;font-weight:600;margin:.25rem 0;color:#0b0b0b}.auth-subtitle{font-size:.9rem;color:#0b0b0b;opacity:.85}
@media(prefers-color-scheme:dark){.auth-subtitle{color:#0b0b0b}}.form{display:grid;gap:1rem}.form-row label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.25rem;color:#0b0b0b}.input-wrap{position:relative}.input-icon{position:absolute;inset:0 0 0 .75rem;display:flex;align-items:center;color:#9ca3af;pointer-events:none}.input-icon svg{width:20px;height:20px;display:block}.input-icon,.input-icon svg{user-select:none;-webkit-user-drag:none;pointer-events:none}.input{width:100%;padding:.5rem.75rem.5rem 2.5rem;border-radius:.5rem;border:1px solid #d1d5db;background:#ffffff;color:#0b0b0b;outline:none;transition:box-shadow.15s,border-color.15s}.input::placeholder{color:rgba(0,0,0,.55)}.input:focus{border-color:transparent;box-shadow:0 0 0 2px #14b8a6}.input-select{padding-left:.75rem}
/* Dark mode styles are handled per-page for forms that use dark surfaces (see login.css/register.css) */
@media(prefers-color-scheme:dark){.input{background:#ffffff;color:#0b0b0b;border-color:#d1d5db}}.hint{margin-top:.25rem;font-size:.75rem;color:#0b0b0b;opacity:.8}.btn-primary{width:100%;border:0;border-radius:.6rem;padding:.7rem 1rem;color:#fff;font-weight:700;background:linear-gradient(90deg,#14b8a6,#0ea5e9,#f472b6);background-size:200%100%;animation:hueShift 8s ease infinite alternate;box-shadow:0 12px 28px rgba(20,184,166,.25);cursor:pointer;transition:transform.05s ease,filter.15s ease}.btn-primary:hover{filter:brightness(1.05)}.btn-primary:active{transform:translateY(1px)}.auth-link{display:inline-flex;align-items:center;gap:.35rem;color:#0f766e;text-decoration:none}.auth-link:hover{text-decoration:underline}.center.auth-link{margin-top:.5rem}.center{text-align:center}.mt-1{margin-top:.25rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes hueShift{0%{background-position:0%50%}
100%{background-position:100%50%}}

/* Shared social button styles (auth pages) */
.social-btn{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;
	border:2px solid rgba(0,0,0,0.12);color:#111;background:transparent;transition:transform .2s ease, background-color .2s ease, border-color .2s ease}
.social-btn:hover{transform:translateY(-2px)}
.social-btn i{font-size:1.25rem}
/* Add horizontal spacing between adjacent social buttons */
.social-btn + .social-btn{margin-left:16px}
@media(min-width:480px){.social-btn + .social-btn{margin-left:20px}}
.social-btn.fb{color:#1877f2;border-color:rgba(24,119,242,.4)}
.social-btn.ig{color:#e1306c;border-color:rgba(225,48,108,.35)}
.social-btn.google{position:relative;border:none;color:#111}
.social-btn.google svg{width:26px;height:26px;display:block}
/* Empty center multicolor ring using mask */
.social-btn.google::before{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
	background:conic-gradient(#4285F4 0 25%, #34A853 25% 50%, #FBBC05 50% 75%, #EA4335 75% 100%);
	-webkit-mask:radial-gradient(circle, transparent calc(50% - 1.5px), #000 calc(50% - 1.5px));
					mask:radial-gradient(circle, transparent calc(50% - 1.5px), #000 calc(50% - 1.5px));}
.social-btn.google > *{position:relative;z-index:1}
@media (prefers-color-scheme:dark){
	.social-btn{border-color:rgba(255,255,255,0.35);color:#fff}
}