/* Panel izquierdo scrollable en formulario largo de gestor */
.auth-layout-override .panel-left {
    align-items: flex-start !important;
    overflow-y: auto !important;
    padding-top: 20px !important;
    padding-bottom: 60px !important;
}

@media (max-width: 900px) {
    .auth-layout-override .panel-left {
        padding-top: 20px !important;
    }
    /* Header vacío en móvil (logo ya está dentro del formulario) */
    .auth-layout-override header.top-header {
        display: none !important;
    }
    /* Reposicionar la X móvil para que no tape el logo */
    .auth-layout-override .auth-close-btn-mobile {
        top: 165px !important;
        right: 16px !important;
    }
}

/* Textarea dentro de mui-textfield */
.mui-textfield textarea {
    width: 100%;
    padding: 16px 14px;
    font-size: 1rem;
    font-family: 'Inter', sans-serif;
    color: var(--color-main-text);
    background: transparent;
    border: 1px solid rgba(0, 0, 0, 0.23);
    border-radius: 4px;
    outline: none;
    box-sizing: border-box;
    resize: vertical;
    min-height: 90px;
    transition: border-color 0.2s ease;
}
.mui-textfield textarea:hover { border-color: rgba(0, 0, 0, 0.87); }
.mui-textfield textarea:focus {
    border-color: var(--color-primary-accent);
    border-width: 2px;
    padding: 15px 13px;
}
.mui-textfield label.label-textarea { top: 20px; transform: none; }
.mui-textfield textarea:focus ~ label.label-textarea,
.mui-textfield textarea:not(:placeholder-shown) ~ label.label-textarea {
    top: 0;
    transform: translateY(-50%) scale(0.75);
    color: var(--color-primary-accent);
}
.mui-textfield textarea:not(:placeholder-shown):not(:focus) ~ label.label-textarea {
    color: rgba(0, 0, 0, 0.6);
}

/* Fila latitud / longitud (50% cada una) */
.rg-coords-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 1.5rem;
}
.rg-coords-row .mui-textfield {
    margin-bottom: 0;
}

/* Select con estilo MUI */
.mui-textfield-select select {
    width: 100%;
    padding: 16px 36px 16px 14px;
    font-size: 1rem;
    font-family: 'Inter', sans-serif;
    color: var(--color-main-text);
    background: transparent;
    border: 1px solid rgba(0, 0, 0, 0.23);
    border-radius: 4px;
    outline: none;
    box-sizing: border-box;
    appearance: none;
    cursor: pointer;
    background-image: linear-gradient(45deg, transparent 50%, rgba(0, 0, 0, 0.54) 50%),
        linear-gradient(135deg, rgba(0, 0, 0, 0.54) 50%, transparent 50%);
    background-position: calc(100% - 18px) calc(50% - 2px), calc(100% - 12px) calc(50% - 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    transition: border-color 0.2s ease;
}
.mui-textfield-select select:hover { border-color: rgba(0, 0, 0, 0.87); }
.mui-textfield-select select:focus {
    border-color: var(--color-primary-accent);
    border-width: 2px;
    padding: 15px 35px 15px 13px;
}
.mui-textfield-select.has-value label,
.mui-textfield-select select:focus ~ label {
    top: 0;
    transform: translateY(-50%) scale(0.75);
    color: var(--color-primary-accent);
}
.mui-textfield-select select:focus ~ label { color: var(--color-primary-accent); }
.mui-textfield-select.has-value:not(:focus-within) label {
    color: rgba(0, 0, 0, 0.6);
}

@media (max-width: 480px) {
    .rg-coords-row {
        grid-template-columns: 1fr;
    }
}

/* Secciones del formulario */
.rg-section {
    margin-top: 1.8rem;
    padding-top: 1.4rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.rg-section-label {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #999;
    margin-bottom: 1.2rem;
}

/* Info box destacado */
.rg-info-box {
    background: #c8d4f0;
    border: 1.5px solid #8fa8dc;
    border-radius: 12px;
    padding: 11px 16px;
    font-size: 0.82rem;
    color: #1e3478;
    margin-bottom: 1.2rem;
    line-height: 1.5;
    font-weight: 500;
}

/* Badge del plan seleccionado */
.rg-plan-tag {
    background: #c8d4f0;
    border: 1.5px solid #8fa8dc;
    border-radius: 12px;
    padding: 10px 16px;
    margin-bottom: 1.2rem;
    font-size: 0.84rem;
    color: #1e3478;
    font-weight: 500;
}

/* Input de archivo */
.rg-file-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #999;
    margin-bottom: 8px;
}
.rg-file-input {
    width: 100%;
    font-size: 0.9rem;
    font-family: 'Inter', sans-serif;
    color: var(--color-main-text);
}

/* Contenedor principal del formulario */
.rg-container {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
}
.rg-title {
    font-size: 2rem;
    color: var(--color-main-text);
    margin-bottom: 0.3rem;
    font-weight: 500;
    letter-spacing: -1px;
}
.rg-subtitle {
    font-size: 0.88rem;
    color: #888;
    margin-bottom: 1.8rem;
}

/* Alerta de sesión info */
.rg-alert-info {
    background: #c8d4f0;
    border: 1.5px solid #8fa8dc;
    border-radius: 12px;
    color: #1e3478;
}

/* Error inline de campo */
.rg-field-error {
    color: #b91c1c;
    font-size: 0.82rem;
    margin-top: 2px;
    margin-bottom: 1.5rem;
}

/* Input con error: sin margen propio (lo gestiona .rg-field-error) + borde rojo */
.mui-textfield.has-error {
    margin-bottom: 0;
}
.mui-textfield.has-error input,
.mui-textfield.has-error textarea,
.mui-textfield.has-error select {
    border-color: #b91c1c !important;
}
.mui-textfield.has-error label {
    color: #b91c1c !important;
}

/* Grupo de checkboxes de promoción */
.rg-check-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.rg-check-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.18s, background 0.18s;
}
.rg-check-item:hover {
    border-color: var(--color-primary-accent);
    background: rgba(69, 96, 186, 0.04);
}
.rg-check-item input[type="checkbox"] { display: none; }
.rg-check-box {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(0, 0, 0, 0.3);
    border-radius: 4px;
    margin-top: 2px;
    transition: border-color 0.18s, background 0.18s;
    position: relative;
}
.rg-check-item input[type="checkbox"]:checked ~ .rg-check-box {
    background: var(--color-primary-accent);
    border-color: var(--color-primary-accent);
}
.rg-check-item input[type="checkbox"]:checked ~ .rg-check-box::after {
    content: '';
    position: absolute;
    left: 4px; top: 1px;
    width: 5px; height: 9px;
    border: 2px solid #fff;
    border-top: none; border-left: none;
    transform: rotate(45deg);
}
.rg-check-item input[type="checkbox"]:checked ~ .rg-check-label strong {
    color: var(--color-primary-accent);
}
.rg-check-item:has(input:checked) {
    border-color: var(--color-primary-accent);
    background: rgba(69, 96, 186, 0.05);
}
.rg-check-label {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.rg-check-label strong {
    font-size: 0.9rem;
    color: var(--color-main-text);
    font-weight: 600;
}
.rg-check-label small {
    font-size: 0.78rem;
    color: #888;
}

/* Item de promo bloqueado por plan */
.rg-check-item--locked {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 14px;
    border: 1px dashed rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    cursor: not-allowed;
    opacity: 0.55;
}
.rg-check-box--locked {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(0, 0, 0, 0.18);
    border-radius: 4px;
    margin-top: 2px;
    background: rgba(0, 0, 0, 0.05);
}
.rg-plan-lock-badge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    background: #dce5f8;
    color: #2e4a9f;
    border: 1px solid #a3b4e8;
    border-radius: 4px;
    padding: 1px 6px;
    margin-left: 6px;
    vertical-align: middle;
}

/* Botón de envío con margen superior */
.rg-submit { margin-top: 2rem; }

/* Área de links al pie */
.rg-auth-links { margin-bottom: 1rem; }
