/*
 * Custom styles for the Location Selector Modal
 * To be loaded after user-management.css to override its styles.
 */

/* 1. OVERLAY (FONDO) */
#dcid-location-modal-overlay {
    background: rgba(0, 0, 0, 0.85) !important;
    backdrop-filter: blur(5px) !important;
}

/* 2. CONTENIDO PRINCIPAL DE LA MODAL (Nombres exactos del pantallazo) */
.dcid-modal-container.dcid-location-modal {
    position: relative !important; /* CLAVE: Ancla para el botón X absoluto */
    background: var(--usermgmt-card-bg) !important;
    border: 1px solid var(--usermgmt-border) !important;
    color: var(--usermgmt-light) !important;

    /* AHORA SÍ SE APLICARÁ EL ANCHO */
    width: 90% !important;
    max-width: 900px !important;
    min-width: 320px !important;
    
    padding: 25px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5) !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    
    display: flex !important;
    flex-direction: column !important;
    max-height: 90vh !important; 
    overflow-y: auto !important; 
}

/* --- ENCABEZADO DE LA MODAL --- */
.dcid-modal-container.dcid-location-modal .dcid-modal-header {
    color: var(--usermgmt-light) !important;
    border-bottom: 1px solid var(--usermgmt-border) !important;
    padding-bottom: 15px !important;
    margin-bottom: 15px !important;
    text-align: center !important;
    flex-shrink: 0 !important;
}
.dcid-modal-container.dcid-location-modal .dcid-modal-header h3 {
    margin: 0 !important;
    color: var(--usermgmt-light) !important;
    font-size: 1.8em !important;
}

/* --- BOTÓN X PARA CERRAR (Nombre exacto del pantallazo) --- */
#dcid-location-modal-close {
    position: absolute !important;
    z-index: 9999 !important; /* Traer la X al frente siempre */
    top: 15px !important;
    right: 20px !important;
    font-size: 28px !important;
    cursor: pointer !important;
    color: var(--close-button-color) !important;
    background: none !important;
    border: none !important;
    line-height: 1 !important;
    padding: 0 !important;
    transition: color 0.2s ease !important;
}
#dcid-location-modal-close:hover {
    color: var(--usermgmt-light) !important;
}

/* --- CUERPO DE LA MODAL --- */
#dcid-location-modal-body {
    flex-grow: 1 !important;
    padding: 10px 0 !important; 
}

/* --- LAYOUT DEL SELECTOR (COLUMNAS INTERNAS DEL BODY) --- */
#location-selector-wrapper {
    display: flex !important;
    gap: 20px !important;
    height: 100% !important;
    min-height: 350px !important;
    padding: 0 15px !important;
    box-sizing: border-box !important;
}

#location-selector-wrapper .search-and-filter-area {
    flex-basis: 60% !important;
    display: flex !important;
    flex-direction: column !important;
    padding-right: 10px !important;
    border-right: 1px solid var(--usermgmt-border) !important;
}

#location-selector-wrapper .selected-items-area {
    flex-basis: 40% !important;
    display: flex !important;
    flex-direction: column !important;
    padding-left: 10px !important;
}
#location-selector-wrapper .selected-items-area h4 {
    color: var(--usermgmt-light) !important;
    font-size: 1.2em !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px dashed rgba(255,255,255,0.2) !important;
    text-align: center !important;
}

/* --- ESTILOS DE INPUTS, SELECTS Y LISTAS --- */
#location-selector-wrapper .search-input-group input,
.locations-create-new-panel input[type="text"] { 
    background-color: var(--color-background-input-modal) !important; 
    color: var(--color-text-input-modal) !important; 
    border: 1px solid var(--color-border-input-modal) !important; 
}
#location-selector-wrapper .search-input-group input::placeholder,
.locations-create-new-panel input[type="text"]::placeholder { 
    color: var(--color-placeholder-input-modal) !important; 
}

.location-type-select,
#new-location-parent,
.locations-create-new-panel select { 
    background-color: var(--color-background-input-modal) !important;
    color: var(--color-text-input-modal) !important;
    border: 1px solid var(--color-border-input-modal) !important;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23f0f0f0%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E') !important;
}
.location-type-select option,
#new-location-parent option,
.locations-create-new-panel select option { 
    background-color: var(--color-background-input-modal) !important;
    color: var(--color-text-input-modal) !important;
}

#location-selector-wrapper #location-search-results,
#location-selector-wrapper #selected-locations-list-modal {
    background-color: var(--usermgmt-dark) !important; 
    border: 1px solid var(--usermgmt-border) !important; 
}
#location-selector-wrapper #location-search-results li,
#location-selector-wrapper #selected-locations-list-modal li {
    color: var(--usermgmt-light) !important; 
}
#location-selector-wrapper #location-search-results li.location-search-result.selected {
    background-color: var(--usermgmt-light) !important; 
    border-color: var(--usermgmt-light) !important;
}
#location-selector-wrapper #location-search-results li.location-search-result.selected .location-result-button {
    color: var(--usermgmt-dark) !important; 
}

.locations-create-new-panel h4,
.locations-create-new-panel label {
    color: var(--usermgmt-light) !important;
}
.locations-create-new-panel small {
    color: #bbb !important; 
}

/* --- BOTONES ESPECÍFICOS DE LA MODAL --- */
#location-selector-wrapper .search-input-group {
    display: flex !important;
    gap: 10px !important;
    margin-bottom: 15px !important;
}

#location-selector-wrapper .search-input-group input {
    flex-grow: 1 !important;
    height: 40px !important; 
    padding: 8px 12px !important;
    border-radius: 4px !important;
    border: 1px solid var(--color-border-input-modal) !important;
    background-color: var(--color-background-input-modal) !important;
    color: var(--color-text-input-modal) !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
}
#location-selector-wrapper .search-input-group button {
    flex-shrink: 0 !important;
    height: 40px !important;
    padding: 0 20px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    background-color: var(--usermgmt-dark) !important; 
    color: var(--usermgmt-light) !important;
    border: 1px solid var(--usermgmt-border) !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-weight: 600 !important;
    transition: background-color 0.2s ease !important;
}
#location-selector-wrapper .search-input-group button:hover {
    background-color: var(--usermgmt-hover) !important;
}

/* Botón Crear ubicación */
.locations-create-new-panel button[type="submit"] { 
    background-color: var(--usermgmt-light) !important; 
    color: var(--usermgmt-dark) !important; 
    border: 1px solid var(--usermgmt-light) !important; 
    font-weight: 600 !important; 
    padding: 12px 20px !important; 
    width: 100% !important; 
    margin-top: 10px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.locations-create-new-panel button[type="submit"]:hover {
    background-color: var(--usermgmt-hover) !important; 
    color: var(--usermgmt-light) !important; 
    border-color: var(--usermgmt-hover) !important;
}

.locations-create-new-panel button[type="submit"]:active {
    background-color: color-mix(in srgb, var(--usermgmt-hover) 80%, black) !important; 
    color: var(--usermgmt-light) !important;
    border-color: color-mix(in srgb, var(--usermgmt-hover) 80%, black) !important;
}

/* Footer de la modal de ubicaciones */
.dcid-modal-container.dcid-location-modal .modal-footer-locations { 
    display: flex !important;
    justify-content: center !important;
    margin-top: 20px !important;
    border-top: 1px solid var(--usermgmt-border) !important;
    padding-top: 20px !important;
}

.dcid-modal-container.dcid-location-modal .modal-footer-locations .modal-save-locations-selector {
    background-color: var(--usermgmt-light) !important; 
    color: var(--usermgmt-dark) !important; 
    border: 1px solid var(--usermgmt-light) !important; 
    min-width: 250px !important;
    font-weight: 600 !important;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}
.dcid-modal-container.dcid-location-modal .modal-footer-locations .modal-save-locations-selector:hover {
    background-color: var(--usermgmt-hover) !important;
    color: var(--usermgmt-light) !important;
    border-color: var(--usermgmt-hover) !important;
}
.dcid-modal-container.dcid-location-modal .modal-footer-locations .modal-save-locations-selector:active {
    background-color: color-mix(in srgb, var(--usermgmt-hover) 80%, black) !important; 
    color: var(--usermgmt-light) !important;
    border-color: color-mix(in srgb, var(--usermgmt-hover) 80%, black) !important;
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
    .dcid-modal-container.dcid-location-modal {
        width: 95% !important; 
        padding: 15px !important;
    }
    #location-selector-wrapper {
        flex-direction: column !important;
        min-height: auto !important;
        height: auto !important;
        padding: 0 !important;
    }
    #location-selector-wrapper .search-and-filter-area {
        flex-basis: 100% !important;
        padding-right: 0 !important;
        border-right: none !important;
        margin-bottom: 20px !important;
        padding-bottom: 20px !important;
        border-bottom: 1px solid var(--usermgmt-border) !important;
    }
    #location-selector-wrapper .selected-items-area {
        flex-basis: 100% !important;
        padding-left: 0 !important;
    }
    #location-selector-wrapper .search-input-group {
        flex-direction: column !important;
    }
    #location-selector-wrapper .search-input-group button {
        width: 100% !important;
        margin-left: 0 !important;
        margin-top: 10px !important;
    }
    .locations-create-new-panel {
        padding: 10px !important;
    }
}
