:root{--primary:#3b82f6;--primary-light:#60a5fa;--success:#10b981;--danger:#ef4444;--warning:#f59e0b;--bg-color:#f8fafc;--text-color:#374151;--text-light:#6b7280;--radius:8px;--gray-200:#e5e7eb}
*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
body,html{overflow:hidden;height:100%}
body{background-color:var(--bg-color);color:var(--text-color);line-height:1.6;padding:20px}
.container{max-width:600px;margin:0 auto;padding:20px;height:100%;display:flex;flex-direction:column;justify-content:center}
header{text-align:center;margin-bottom:40px}
.title{font-size:2.5rem;font-weight:700;color:var(--primary);margin-bottom:15px}
.tagline{font-size:1.2rem;color:var(--text-light);opacity:.8}
.form-group{margin-bottom:25px}
label{display:block;margin-bottom:8px;font-weight:500}
.form-control{width:100%;height:50px;padding:0 15px;border:2px solid var(--gray-200);border-radius:var(--radius);font-size:1rem;transition:all .3s ease}
.form-control:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.btn{width:100%;height:55px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:1.1rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;margin:20px 0 30px}
.btn:hover{background:var(--primary-light)}
.btn-secondary{background:#6b7280;color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-size:1rem;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease}
.btn-secondary:hover{background:#4b5563}
.btn-secondary:disabled{background:#9ca3af;cursor:not-allowed}
.alert{padding:20px;border-radius:var(--radius);font-size:1.1rem;margin-bottom:30px;display:flex;align-items:center;gap:12px;animation:fadeIn .5s ease-out}
.alert-success{background:rgba(16,185,129,.1);border:1px solid var(--success);color:var(--success)}
.alert-danger{background:rgba(239,68,68,.1);border:1px solid var(--danger);color:var(--danger)}
.alert i{font-size:1.5rem}
@keyframes fadeIn{from{opacity:0;transform:translateY(-10px)}
to{opacity:1;transform:translateY(0)}
}
@media (max-width:480px){.title{font-size:2rem}
.container{padding:15px}
}
.form-group .example-text{color:#aaa;font-size:.9em;margin-left:5px}
