:root {
    --primary: #1072a0;
    --primary-dark: #0c5a7d;
    --primary-light: #1285ba;
}
* { box-sizing: border-box; }
body { margin: 0; padding: 0; font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; color: #1e293b; }
input, button, textarea, select { font-family: inherit; }

.auth-wrapper {
    min-height: 100vh;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #f5f7fa 0%, #e4e8ec 100%);
    padding: 20px; position: relative; overflow: hidden;
}
.auth-wrapper::before {
    content: ''; position: absolute; top: -50%; right: -20%;
    width: 600px; height: 600px;
    background: linear-gradient(135deg, rgba(16,114,160,.1) 0%, rgba(16,114,160,.03) 100%);
    border-radius: 50%; pointer-events: none;
}
.auth-wrapper::after {
    content: ''; position: absolute; bottom: -30%; left: -10%;
    width: 400px; height: 400px;
    background: linear-gradient(135deg, rgba(16,114,160,.08) 0%, rgba(16,114,160,.02) 100%);
    border-radius: 50%; pointer-events: none;
}
.auth-logo { max-width: 220px; margin-bottom: 24px; position: relative; z-index: 1; }
.auth-card {
    background: #fff; border-radius: 24px;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.03);
    padding: 40px; width: 100%; max-width: 440px; position: relative; z-index: 1;
}
@media (max-width: 480px) {
    .auth-card { padding: 32px 24px; border-radius: 20px; }
    .auth-logo { max-width: 180px; margin-bottom: 20px; }
}
.auth-title { font-size: 1.75rem; font-weight: 700; color: #1e293b; margin-bottom: 8px; letter-spacing: -.02em; }
.auth-subtitle { color: #64748b; font-size: 1rem; margin-bottom: 32px; }
.form-group { margin-bottom: 20px; }
.form-label { display: block; font-size: 0.875rem; font-weight: 500; color: #374151; margin-bottom: 8px; }
.input-wrapper { position: relative; }
.input-icon {
    position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
    color: #9ca3af; font-size: 20px; pointer-events: none;
}
.form-input {
    width: 100%; height: 52px; padding: 0 16px 0 48px;
    border: 1.5px solid #e5e7eb; border-radius: 12px;
    font-size: 15px; color: #1e293b; background: #fff; transition: all .2s;
}
.form-input:focus {
    outline: none; border-color: var(--primary); box-shadow: 0 0 0 3px rgba(16,114,160,.1);
}
.btn-signin {
    width: 100%; height: 52px;
    background: linear-gradient(135deg, var(--primary-light) 0%, var(--primary) 100%);
    color: #fff; border: none; border-radius: 12px;
    font-size: 1rem; font-weight: 600; cursor: pointer; transition: all .2s;
    display: flex; align-items: center; justify-content: center; gap: 8px;
}
.btn-signin:hover {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    transform: translateY(-1px); box-shadow: 0 8px 20px -6px rgba(16,114,160,.5);
}

.alert-error, .alert-success {
    padding: 14px 16px; border-radius: 12px; margin-bottom: 24px;
    display: flex; align-items: center; gap: 10px; font-size: .9375rem;
}
.alert-error iconify-icon, .alert-success iconify-icon { font-size: 1.25rem; flex-shrink: 0; }
.alert-error   { background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%); border: 1px solid #fecaca; color: #dc2626; }
.alert-success { background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%); border: 1px solid #bbf7d0; color: #15803d; }

.auth-back {
    display: inline-flex; align-items: center; gap: 6px;
    margin-top: 20px; font-size: 0.875rem; color: #64748b; text-decoration: none;
}
.auth-back:hover { color: var(--primary); }
