* {
    box-sizing:
        border-box;
}

body {
    margin:
        0;

    min-height:
        100vh;

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    background:
        #07111f;

    color:
        white;
}

.auth-page {
    min-height:
        100vh;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    padding:
        24px;
}

.auth-card {
    width:
        100%;

    max-width:
        430px;

    padding:
        30px;

    border:
        1px solid
        rgba(
            148,
            163,
            184,
            0.18
        );

    border-radius:
        22px;

    background:
        #0f1b2f;
}

.brand {
    color:
        #38bdf8;

    font-size:
        14px;

    font-weight:
        900;

    letter-spacing:
        0.20em;
}

h1 {
    margin:
        10px
        0
        6px;
}

.subtitle {
    margin-bottom:
        24px;

    color:
        #94a3b8;
}

.setup-hint {
    display: grid;
    gap: 5px;
    margin: 0 0 20px;
    padding: 13px 15px;
    border: 1px solid rgba(56, 189, 248, 0.35);
    border-radius: 12px;
    background: rgba(14, 116, 144, 0.18);
    color: #bae6fd;
    font-size: 13px;
}

.setup-hint strong {
    color: #ffffff;
}

.auth-card.wide {
    max-width: 620px;
}

.module-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 22px;
}

.module-card {
    display: grid;
    gap: 8px;
    min-height: 150px;
    padding: 20px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 16px;
    background: #07111f;
    color: #ffffff;
    text-decoration: none;
}

.module-card:hover {
    border-color: #38bdf8;
    transform: translateY(-1px);
}

.module-card strong {
    font-size: 18px;
}

.module-card span {
    color: #94a3b8;
    font-size: 13px;
    line-height: 1.45;
}

.profile-summary {
    margin-top: 12px;
    color: #cbd5e1;
    font-size: 13px;
}

@media (max-width: 640px) {
    .module-grid {
        grid-template-columns: 1fr;
    }
}

label {
    display:
        block;

    margin-top:
        14px;

    margin-bottom:
        6px;

    color:
        #cbd5e1;

    font-size:
        13px;

    font-weight:
        700;
}

input {
    width:
        100%;

    padding:
        12px;

    border:
        1px solid
        rgba(
            148,
            163,
            184,
            0.25
        );

    border-radius:
        10px;

    background:
        #07111f;

    color:
        white;

    outline:
        none;
}

input:focus {
    border-color:
        #38bdf8;
}

.primary-button {
    width:
        100%;

    margin-top:
        22px;

    padding:
        13px;

    border:
        0;

    border-radius:
        10px;

    background:
        #2563eb;

    color:
        white;

    font-weight:
        900;
}

.text-button {
    width:
        100%;

    margin-top:
        12px;

    border:
        0;

    background:
        transparent;

    color:
        #38bdf8;
}

.divider {
    margin:
        22px
        0;

    text-align:
        center;

    color:
        #64748b;
}

.register-link {
    display:
        block;

    text-align:
        center;

    color:
        #38bdf8;

    text-decoration:
        none;

    font-weight:
        800;
}

.auth-message {
    margin-top:
        18px;

    padding:
        12px;

    border-radius:
        10px;

    background:
        #7f1d1d;
}

.auth-message.success {
    background:
        #166534;
}

.hidden {
    display:
        none;
}
