﻿:root {
    --btn: #3787CA;
    --btn-h: #B4D1EE;
    --white: #ffffff;
    --title: #08406e;
    --gray: #525252;
    --link: #3687c9;
    --soft: #acd2f1;
}

* {
    box-sizing: border-box
}

body {
    margin: 0;
    font-family: 'Encode Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    background: var(--white);
    color: var(--title);
}

.rec-wrapper {
    /*min-height: 100dvh;*/
    display: grid;
    place-items: center;
    padding: 24px;
}

.rec-card {
    width: 100%;
    max-width: 540px;
    background: #fff;
    border: 1px solid var(--soft);
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 8px 28px rgba(0,0,0,.06);
}

.rec-title {
    margin: 0 0 8px;
    font-size: 28px;
    color: var(--title);
    font-weight: 700;
}

.rec-sub {
    margin: 0 0 20px;
    color: var(--gray)
}

.rec-form {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.rec-label {
    font-weight: 600;
    color: var(--title)
}

.rec-input {
    width: 100%;
    border: 1px solid var(--soft);
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 16px;
    outline: none;
}

    .rec-input:focus {
        border-color: var(--btn)
    }

.rec-btn {
    margin-top: 8px;
    background: var(--btn);
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 12px 16px;
    font-size: 16px;
    cursor: pointer;
    transition: background .2s,color .2s,transform .02s;
}

    .rec-btn:hover {
        background: var(--btn-h);
        color: #000
    }

    .rec-btn:disabled {
        opacity: .5;
        cursor: not-allowed
    }

.rec-link {
    display: inline-block;
    margin-top: 14px;
    color: var(--link);
    text-decoration: none
}

    .rec-link:hover {
        text-decoration: underline
    }

.rec-alert {
    padding: 12px 14px;
    border-radius: 10px;
    margin: 0 0 14px;
    font-size: 14px
}

    .rec-alert.ok {
        background: #e8f6ee;
        color: #145c2e;
        border: 1px solid #bce3ca
    }

    .rec-alert.err {
        background: #fdecec;
        color: #7a1f1f;
        border: 1px solid #f6c2c2
    }

.rec-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 8px 0 16px
}

.rec-label-static {
    font-weight: 700
}

.rec-value {
    color: var(--gray)
}

.rec-rules {
    list-style: none;
    padding: 0;
    margin: 6px 0 0;
    color: var(--gray);
    font-size: 14px
}

    .rec-rules li {
        margin: 4px 0;
        padding-left: 22px;
        position: relative
    }

        .rec-rules li::before {
            content: "•";
            position: absolute;
            left: 6px;
            top: 0;
            color: var(--soft);
            font-weight: 900;
        }

        .rec-rules li.ok {
            color: #145c2e
        }

            .rec-rules li.ok::before {
                content: "✓";
                color: #1ea34a
            }

@media (max-width:480px) {
    .rec-card {
        padding: 20px;
        border-radius: 14px
    }

    .rec-title {
        font-size: 24px
    }
}
