/* --------------------------------------------------
   Rifa Online - Login 2026
--------------------------------------------------- */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {

    --primary: #0f766e;

    --background: #f8fafc;

    --card: #ffffff;

    --text: #111827;

    --text-secondary: #6b7280;

    --border: #e5e7eb;

    --google-border: #dadce0;

}

body {

    font-family: Inter, sans-serif;

    background: linear-gradient(180deg, #f8fafc 0%, #eef6f5 100%);

    color: var(--text);

    min-height: 100vh;

}

.background {

    min-height: 100vh;

    display: flex;

    justify-content: center;

    align-items: center;

    padding: 32px;

}

.card {

    width: 100%;

    max-width: 420px;

    background: var(--card);

    border: 1px solid rgba(15, 118, 110, .08);

    border-radius: 20px;

    padding: 48px 40px;

    text-align: center;

    box-shadow:
        0 8px 30px rgba(15, 23, 42, .08);

}

.logo {

    width: 72px;

    height: 72px;

    margin: 0 auto 24px;

    border-radius: 18px;

    background: linear-gradient(135deg, #0f766e, #14b8a6);

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 34px;

    color: white;

    box-shadow:
        0 10px 25px rgba(15, 118, 110, .25);

}

h1 {

    font-size: 30px;

    font-weight: 700;

    letter-spacing: -.5px;

}

.subtitle {

    margin-top: 14px;

    color: var(--text-secondary);

    font-size: 16px;

    line-height: 1.6;

}

.google-button {

    margin-top: 36px;

    width: 100%;

    height: 48px;

    border: 1px solid var(--google-border);

    border-radius: 8px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 12px;

    cursor: pointer;

    transition:
        background .15s ease,
        border-color .15s ease,
        box-shadow .15s ease;

    background: #fbfbfc;
    border: 1px solid #dadce0;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .08);

}

.google-button:hover {

    background: #f8f9fa;
    border-color: #c6c6c6;

}

.google-button:focus-visible {

    outline: none;

    box-shadow: 0 0 0 4px rgba(26, 115, 232, .15);

}

.google-button:active {

    background: #f1f3f4;

}

.google-button img {

    width: 18px;

    height: 18px;

    display: block;

    flex-shrink: 0;

}

.google-button span {

    font-size: 15px;

    font-weight: 500;

    color: #3c4043;

}

.terms {

    margin-top: 28px;

    font-size: 11px;

    color: #9ca3af;

    line-height: 1.7;

}

.terms a {

    color: var(--primary);

    text-decoration: none;

    font-weight: 600;

}

.terms a:hover {

    text-decoration: underline;

}

.brand {

    display: inline-block;

    margin-bottom: 24px;

    padding: 7px 12px;

    background: #2f3c52;

    border-radius: 6px;

    font-size: 24px;

    font-weight: 800;

    letter-spacing: -.6px;

    line-height: 1;

}

.brand-dark {

    color: #ffffff;

}

.brand-green {

    color: #39ff14;

}

@media (max-width: 480px) {

    .background {

        padding: 20px;

    }

    .card {

        padding: 36px 28px;

        border-radius: 18px;

    }

    h1 {

        font-size: 28px;

    }

    .subtitle {

        font-size: 15px;

    }

}