/* pages/login.css - login page specific styles */
.login-viewport {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: linear-gradient(180deg, #eef2f7 0%, #f7fafc 100%)
}

.login.card {
    width: 100%;
    max-width: 420px;
    padding: 28px;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(15, 23, 42, 0.06);
    background: linear-gradient(180deg, #ffffff, #fbfdff)
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px
}

.brand .logo {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    border-radius: 10px;
    background: #06b6d4;
    color: #062024
}

.brand h1 {
    margin: 0;
    font-size: 20px
}

.lead {
    color: #475569;
    margin: 8px 0 16px
}

.login-form .field {
    display: block;
    margin-bottom: 12px
}

.login-form input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 8px
}

.login-msg {
    min-height: 20px;
    margin-bottom: 8px
}

.actions {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between
}

.actions .primary {
    flex: 1
}

.actions .secondary {
    text-decoration: none;
    color: #475569;
    font-size: 14px
}

.primary {
    background: linear-gradient(180deg, #06b6d4, #0891b2);
    color: #062024;
    border: 0;
    padding: 10px 14px;
    border-radius: 8px
}

.primary:hover {
    filter: brightness(1.03)
}

.secondary {
    background: transparent;
    padding: 8px 10px;
    border-radius: 8px
}

.footnote {
    color: #94a3b8;
    font-size: 12px;
    margin-top: 12px
}

@media(max-width:700px) {
    nav {
        display: block;
        margin-top: 8px
    }

    header {
        flex-direction: column;
        align-items: flex-start
    }

    .login.card {
        padding: 18px;
        max-width: 100%
    }
}