:root {
    --bg-main:#2f4635;
    --bg-card:#3d5a45;
    --input-bg:#4d6b54;
    --btn-bg:#e5e5e5;
    --text-muted:#b5b5b5;
}

body {
    margin:0;
    background:var(--bg-main);
    font-family:Arial,sans-serif;
    color:#fff;
}

.container {
    display:flex;
    justify-content:center;
    padding:40px 20px;
}

.card {
    width:100%;
    max-width:900px;
    background:var(--bg-card);
    border-radius:20px;
    padding:40px;
    display:flex;
    gap:30px;
}

/* ===== FORM ===== */
.form {
    flex:1;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.form h2 {
    margin:0 0 25px;
}

.input-group {
    position:relative;
    margin-bottom:18px;
}

.input-group input {
    width:100%;
    height:48px;
    border-radius:20px;
    border:none;
    background:var(--input-bg);
    padding: 0 0px 0 16px;
    color:#fff;
    font-size:14px;
}

/* Иконки справа: фиксированный размер, не искажаются */
.input-group svg {
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    width:20px;
    height:20px;
    max-width:20px;
    max-height:20px;
    display:block;
    fill:#b5b5b5;
    /* по умолчанию декоративные иконки не блокируют ввод */
    pointer-events: none;
}

/* глаз — кликабельный */
.input-group svg.eye {
    pointer-events: auto;
    cursor: pointer;
}

/* Actions */
.actions {
    display:flex;
    justify-content:space-between;
    margin:8px 6px 18px;
}

.actions span {
    font-size:14px;
    color:var(--text-muted);
    cursor:pointer;
    text-decoration:underline;
}

button {
    width:100%;
    padding:14px;
    border-radius:20px;
    border:none;
    background:var(--btn-bg);
    font-weight:bold;
    cursor:pointer;
}

/* ===== IMAGE GRID — 1 В 1 КАК ВО ВХОДЕ ===== */
.grid {
    width:45%;
    display:flex;
    gap:10px;
}

.grid-col {
    width:50%;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.slot {
    width:100%;
    border-radius:14px;
    background:#5f7d68;
    background-size:cover;
    background-position:center;
}

.slot-tall { flex:1.4; }
.slot-short { flex:0.9; }
.slot-mini { flex:0.6; }
.slot-mega { flex:1.7; }

/* ===== MOBILE ===== */
@media (max-width:700px) {
    .card {
        flex-direction:column;
        padding:25px;
    }
    .grid {
        display:none;
    }
}

.input-group {
    display: flex;
    flex-direction: column; /* Чтобы инпут был сверху, а ошибка под ним */
    height: auto; /* Важно! */
    margin-bottom: 15px;
}

.error-message {
    color: #ff4d4d;
    font-size: 12px;
    margin-top: 4px;
    display: none; /* Скрыто, пока нет ошибки */
}

.input-group.error input {
    border: 1px solid #ff4d4d;
}