/* Auth pages shared stylesheet */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

body { font-family: 'Segoe UI', system-ui, sans-serif; }

.auth-bg {
    min-height: 100vh;
    background: linear-gradient(135deg, #0d1b2a 0%, #1b2838 50%, #0a1929 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.auth-card {
    background: rgba(26, 26, 46, 0.95);
    border: 1px solid rgba(110, 168, 254, 0.2);
    border-radius: 20px;
    padding: 44px 40px;
    width: 100%;
    max-width: 420px;
    backdrop-filter: blur(20px);
    box-shadow: 0 24px 64px rgba(0,0,0,0.6);
}

.auth-logo {
    font-size: 3rem;
    text-align: center;
    margin-bottom: 12px;
    line-height: 1;
}

h1 {
    text-align: center;
    font-size: 1.5rem;
    color: #6ea8fe;
    margin-bottom: 4px;
}

.sub {
    text-align: center;
    color: #888;
    font-size: .9rem;
    margin-bottom: 28px;
}

.auth-form { display: flex; flex-direction: column; gap: 0; }

.field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 16px; }

label {
    font-size: .82rem;
    color: #aaa;
    font-weight: 500;
}

input[type=text], input[type=email],
input[type=password], input[type=url],
input[type=number], select, textarea {
    background: rgba(0,0,0,0.4);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 8px;
    color: #eee;
    padding: 10px 14px;
    font-size: .95rem;
    font-family: inherit;
    transition: border-color .15s;
    width: 100%;
}

input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: #6ea8fe;
    box-shadow: 0 0 0 3px rgba(110,168,254,.15);
}

.btn-primary {
    display: block;
    width: 100%;
    padding: 12px;
    background: #6ea8fe;
    color: #000;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
    margin-top: 8px;
    transition: background .15s, transform .1s;
    text-align: center;
}

.btn-primary:hover { background: #90beff; }
.btn-primary:active { transform: scale(.98); }

.alert {
    padding: 10px 14px;
    border-radius: 8px;
    font-size: .88rem;
    margin-bottom: 16px;
    line-height: 1.5;
}

.alert-err  { background: rgba(224,109,109,.15); color: #e06d6d; border: 1px solid rgba(224,109,109,.3); }
.alert-ok   { background: rgba(109,187,109,.15); color: #6dbb6d; border: 1px solid rgba(109,187,109,.3); }
.alert-warn { background: rgba(224,181,109,.15); color: #e0b56d; border: 1px solid rgba(224,181,109,.3); }

.auth-links {
    margin-top: 20px;
    text-align: center;
    font-size: .85rem;
    color: #888;
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.auth-links a { color: #6ea8fe; text-decoration: none; }
.auth-links a:hover { text-decoration: underline; }
