main>.container {
    padding: 70px 15px 20px;
}

.footer {
    background-color: #f5f5f5;
    font-size: .9em;
    height: 60px;
}

.footer>.container {
    padding-right: 15px;
    padding-left: 15px;
}

.not-set {
    color: #ff6b6b;
    font-style: italic;
}


/* add sorting icons to gridview sort links */

a.asc:after,
a.desc:after {
    content: '';
    left: 3px;
    display: inline-block;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    margin: 4px 4px 2px 4px;
    background: transparent;
}

a.asc:after {
    border-bottom: solid 7px #212529;
    border-top-width: 0;
}

a.desc:after {
    border-top: solid 7px #212529;
    border-bottom-width: 0;
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #ff6b6b;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}


/* align the logout "link" (button in form) of the navbar */

.nav li>form>button.logout {
    padding-top: 7px;
    color: rgba(255, 255, 255, 0.5);
}

@media(max-width:767px) {
    .nav li>form>button.logout {
        display: block;
        text-align: left;
        width: 100%;
        padding: 10px 0;
    }
}

.nav>li>form>button.logout:focus,
.nav>li>form>button.logout:hover {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.75);
}

.nav>li>form>button.logout:focus {
    outline: none;
}

.form-group {
    margin-bottom: 1rem;
}

.glass1 {
    /* From https://css.glass */
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(14px) saturate(140%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}

.y_centercenter {
    vertical-align: middle !important;
}

.y_top {
    vertical-align: top !important;
}

.font400 {
    font-weight: 400 !important;
}

.font450 {
    font-weight: 450 !important;
}

.font500 {
    font-weight: 500 !important;
}

.font550 {
    font-weight: 550 !important;
}

.font600 {
    font-weight: 600 !important;
}

.font650 {
    font-weight: 650 !important;
}

.font5 {
    font-size: 5px !important;
}

.font6 {
    font-size: 6px !important;
}

.font7 {
    font-size: 7px !important;
}

.font8 {
    font-size: 8px !important;
}

.font9 {
    font-size: 9px !important;
}

.font10 {
    font-size: 10px !important;
}

.font11 {
    font-size: 11px !important;
}

.font12 {
    font-size: 12px !important;
    ;
}

.font13 {
    font-size: 13px !important;
}

.font14 {
    font-size: 14px !important;
}

.font15 {
    font-size: 15px !important;
}

.font16 {
    font-size: 16px !important;
}

.font17 {
    font-size: 17px !important;
}

.font18 {
    font-size: 18px !important;
}

.font19 {
    font-size: 19px !important;
}

.font20 {
    font-size: 20px !important;
}

.font21 {
    font-size: 21px !important;
}

.font22 {
    font-size: 22px !important;
}

.font23 {
    font-size: 23px !important;
}

.font24 {
    font-size: 24px !important;
}

.font25 {
    font-size: 25px !important;
}

.font26 {
    font-size: 26px !important;
}

.font27 {
    font-size: 27px !important;
}

.font28 {
    font-size: 28px !important;
}

.font29 {
    font-size: 29px !important;
}

.font30 {
    font-size: 30px !important;
}

.font35 {
    font-size: 35px !important;
}

.font40 {
    font-size: 40px !important;
}

.font45 {
    font-size: 45px !important;
}

.color1 {
    color: #FBE462 !important;
}

.color2 {
    color: #FFC4A9 !important;
}

.color3 {
    color: #FB8D75 !important;
}

.color4 {
    color: #BE5944 !important;
}

.color5 {
    color: #1a252f !important;
}

.color6 {
    color: #f39c12 !important;
}

.color7 {
    color: #ffeeba !important;
}

.color8 {
    color: #fff5e6 !important;
}

.color9 {
    color: #fff5e6 !important;
}

.color10 {
    color: #f4f7f6 !important;
}

.color11 {
    color: #1a1a1a !important;
}

.colorverde {
    color: #60d386 !important;
}

.colorazul {
    color: #81c9f5 !important;
}

.colornaranja {
    color: #E67E22 !important;
}

.coloramarillo {
    color: #D4AC0D !important;
}

.colorrojo {
    color: #ff6b6b !important;
}

.colorgris {
    color: #7F8C8D !important;
}

.colortransparent1 {
    color: #FBE4623e !important;
}

.colortransparent2 {
    color: #FFC4A93e !important;
}

.colortransparent3 {
    color: #FB8D753e !important;
}

.colortransparent4 {
    color: #BE59443e !important;
}

.colortransparent5 {
    color: #1a252f3e !important;
}

.colortransparent6 {
    color: #f39c123e !important;
}

.colortransparent7 {
    color: #ffeeba3e !important;
}

.colortransparent8 {
    color: #fff5e63e !important;
}

.colortransparent9 {
    color: #fff5e63e !important;
}

.colortransparent10 {
    color: #f4f7f63e !important;
}

.colortransparent11 {
    color: #1a1a1a3e !important;
}

.colortransparentverde {
    color: #60d3863e !important;
}

.colortransparentazul {
    color: #81c9f53e !important;
}

.colortransparentnaranja {
    color: #E67E223e !important;
}

.colortransparentamarillo {
    color: #D4AC0D3e !important;
}

.colortransparentrojo {
    color: #ff6b6b3e !important;
}

.colortransparentgris {
    color: #7F8C8D3e !important;
}

.bg-color1 {
    background-color: #FBE462 !important;
}

.bg-color2 {
    background-color: #FFC4A9 !important;
}

.bg-color3 {
    background-color: #FB8D75 !important;
}

.bg-color4 {
    background-color: #BE5944 !important;
}

.bg-color5 {
    background-color: #1a252f !important;
}

.bg-color6 {
    background-color: #f39c12 !important;
}

.bg-color7 {
    background-color: #ffeeba !important;
}

.bg-color8 {
    background-color: #fff5e6 !important;
}

.bg-color9 {
    background-color: #fff5e6 !important;
}

.bg-color10 {
    background-color: #f4f7f6 !important;
}

.bg-color11 {
    background-color: #1a1a1a !important;
}

.bg-colorverde {
    background-color: #60d386 !important;
}

.bg-colorazul {
    background-color: #81c9f5 !important;
}

.bg-colornaranja {
    background-color: #E67E22 !important;
}

.bg-coloramarillo {
    background-color: #D4AC0D !important;
}

.bg-colorrojo {
    background-color: #ff6b6b !important;
}

.bg-colorgris {
    background-color: #7F8C8D !important;
}

.bg-colorrosa {
    background-color: #e71689 !important;
}

.bg-colortransparent1 {
    background-color: #FBE4623e !important;
}

.bg-colortransparent2 {
    background-color: #FFC4A93e !important;
}

.bg-colortransparent3 {
    background-color: #FB8D753e !important;
}

.bg-colortransparent4 {
    background-color: #BE59443e !important;
}

.bg-colortransparent5 {
    background-color: #1a252f3e !important;
}

.bg-colortransparent6 {
    background-color: #f39c123e !important;
}

.bg-colortransparent7 {
    background-color: #ffeeba3e !important;
}

.bg-colortransparent8 {
    background-color: #fff5e63e !important;
}

.bg-colortransparent9 {
    background-color: #fff5e63e !important;
}

.bg-colortransparent10 {
    background-color: #f4f7f63e !important;
}

.bg-colortransparent11 {
    background-color: #1a1a1a3e !important;
}

.bg-colortransparentverde {
    background-color: #60d3863e !important;
}

.bg-colortransparentazul {
    background-color: #81c9f53e !important;
}

.bg-colortransparentnaranja {
    background-color: #E67E223e !important;
}

.bg-colortransparentamarillo {
    background-color: #D4AC0D3e !important;
}

.bg-colortransparentrojo {
    background-color: #ff6b6b3e !important;
}

.bg-colortransparentgris {
    background-color: #7F8C8D3e !important;
}

.border-color1 {
    border: 1px solid#FBE462 !important;
}

.border-color2 {
    border: 1px solid#FFC4A9 !important;
}

.border-color3 {
    border: 1px solid#FB8D75 !important;
}

.border-color4 {
    border: 1px solid#BE5944 !important;
}

.border-color5 {
    border: 1px solid#1a252f !important;
}

.border-color6 {
    border: 1px solid#f39c12 !important;
}

.border-color7 {
    border: 1px solid#ffeeba !important;
}

.border-color8 {
    border: 1px solid#fff5e6 !important;
}

.border-color9 {
    border: 1px solid#fff5e6 !important;
}

.border-color10 {
    border: 1px solid#f4f7f6 !important;
}

.border-color11 {
    border: 1px solid#1a1a1a !important;
}

.border-colorverde {
    border: 1px solid#60d386 !important;
}

.border-colorazul {
    border: 1px solid#81c9f5 !important;
}

.border-colornaranja {
    border: 1px solid#E67E22 !important;
}

.border-coloramarillo {
    border: 1px solid#D4AC0D !important;
}

.border-colorrojo {
    border: 1px solid#ff6b6b !important;
}

.border-colorgris {
    border: 1px solid#7F8C8D !important;
}

.border-colortransparent1 {
    border: 1px solid#FBE4623e !important;
}

.border-colortransparent2 {
    border: 1px solid#FFC4A93e !important;
}

.border-colortransparent3 {
    border: 1px solid#FB8D753e !important;
}

.border-colortransparent4 {
    border: 1px solid#BE59443e !important;
}

.border-colortransparent5 {
    border: 1px solid#1a252f3e !important;
}

.border-colortransparent6 {
    border: 1px solid#f39c123e !important;
}

.border-colortransparent7 {
    border: 1px solid#ffeeba3e !important;
}

.border-colortransparent8 {
    border: 1px solid#fff5e63e !important;
}

.border-colortransparent9 {
    border: 1px solid#fff5e63e !important;
}

.border-colortransparent10 {
    border: 1px solid#f4f7f63e !important;
}

.border-colortransparent11 {
    border: 1px solid#1a1a1a3e !important;
}

.border-colortransparentverde {
    border: 1px solid#60d3863e !important;
}

.border-colortransparentazul {
    border: 1px solid#81c9f53e !important;
}

.border-colortransparentnaranja {
    border: 1px solid#E67E223e !important;
}

.border-colortransparentamarillo {
    border: 1px solid#D4AC0D3e !important;
}

.border-colortransparentrojo {
    border: 1px solid #ff6b6b3e !important;
}

.border-colortransparentgris {
    border: 1px solid#7F8C8D3e !important;
}

#footer {
    background: #333;
    color: white;
    text-align: center;
    padding: 2rem;
    margin-top: 3rem;
}

a {
    text-decoration: none;
}

.kv-grid-table thead th {
    font-size: 13px;
    letter-spacing: .5px;
    color: #BE5944 !important;
    text-transform: uppercase;
    font-weight: 550;
    padding: 10px;
}

.kv-grid-table thead th a {
    color: #BE5944 !important;
}

.btn-new {
    border: 2px solid #f39c128e;
    background-color: #f39c12;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 500;
    color: white;
    padding: 10px;
}

.btn-new:hover {
    background-color: #df9010;
    border: 2px solid #f39c12;
    color: white;
    border-radius: 999px;
}

.btn-new-small {
    border: 1px solid #81c9f58e;
    background-color: #e4eff78e;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    color: #335b83;
    padding: 8px;
    transition: all 0.2s ease;
}

.btn-new-small:hover {
    background-color: rgb(122, 200, 255, 0.8);
    border: 1px solid #81c9f58e;
    color: #fdfdfd;
    border-radius: 999px;
    box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;
    transform: translateY(-4px);
}

.btn-download-small {
    border: 1px solid #FFC4A98e;
    background-color: #ffeae0;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    color: #BE5944;
    padding: 8px;
    transition: all 0.2s ease;
}

.btn-download-small:hover {
    background-color: #ffc9b0;
    border: 1px solid #FFC4A98e;
    color: #fdfdfd;
    border-radius: 999px;
    box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;
    transform: translateY(-4px);
}

.btn-search-small {
    border: 1px solid #e716898e;
    background-color: #fddcee;
    border-radius: 25px;
    font-size: 13px;
    font-weight: 500;
    color: #e71689;
    padding: 5px;
    transition: all 0.2s ease;
}

.btn-search-small:hover {
    background-color: #fddcee;
    border: 1px solid #e716898e;
    color: #fdfdfd;
    border-radius: 25px;
    box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;
    transform: translateY(-4px);
}

.btn-geo-small {
    border: 1px solid #9f94ad8e;
    background-color: #f6fbff8e;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 500;
    color: #5486a3;
    padding: 8px;
    transition: all 0.2s ease;
}

.btn-geo-small:hover {
    background-color: rgba(174, 190, 201, 0.557);
    border: 1px solid #9f94ad8e;
    color: #fdfdfd;
    border-radius: 999px;
    box-shadow: rgba(0, 0, 0, 0.04) 0px 3px 5px;
    transform: translateY(-4px);
}

.btn-view {
    border: 1px solid #81c9f58e;
    color: #2c3e50;
    border-radius: 999px;
    font-size: 12px;
}

.btn-view:hover {
    background-color: #81c9f5;
    color: white;
    border-radius: 999px;
}

.btn-edit {
    border: 1px solid #FBE4628e;
    color: #2c3e50;
    border-radius: 999px;
    font-size: 12px;
}

.btn-edit:hover {
    background-color: #FBE462;
    color: white;
    border-radius: 999px;
}

.btn-aprove {
    border: 1px solid#60d3868e;
    color: #2c3e50;
    border-radius: 999px;
    font-size: 12px;
}

.btn-aprove:hover {
    background-color: #60d386;
    color: white;
    border-radius: 999px;
}

.btn-reject {
    border: 1px solid #FFC4A98e;
    color: #2c3e50;
    border-radius: 999px;
    font-size: 12px;
}

.btn-reject:hover {
    background-color: #FFC4A9;
    color: white;
    border-radius: 999px;
}

.btn-cancel {
    border: 1px solid #BE59448e;
    color: #2c3e50;
    border-radius: 999px;
    font-size: 12px;
}

.btn-cancel:hover {
    background-color: #BE5944;
    color: white;
    border-radius: 999px;
}

.btn-baja {
    border: 1px solid #ff6b6b8e;
    color: #2c3e50;
    border-radius: 999px;
    font-size: 12px;
}

.btn-baja:hover {
    background-color: #ff6b6b;
    color: white;
    border-radius: 999px;
}

.control-label {
    font-size: 13px;
    letter-spacing: .5px;
    color: #212529 !important;
    text-transform: uppercase;
    font-weight: 550;
}

.toggle-btn-2 {
    display: inline-block;
    padding: 6px 18px;
    border-radius: 20px;
    background-color: #f2f4f4;
    cursor: pointer;
    font-weight: bold;
    position: relative;
}


/* Contenedor */

.ios-toggle {
    position: relative;
    display: inline-block;
    width: 52px;
    height: 30px;
    cursor: pointer;
}


/* Ocultar checkbox */

.ios-toggle-input {
    opacity: 0;
    width: 0;
    height: 0;
}


/* Fondo */

.ios-toggle-slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #e5e7ea;
    /* gris suave */
    border-radius: 30px;
    transition: all 0.3s ease;
}


/* Bolita */

.ios-toggle-slider::before {
    content: "";
    position: absolute;
    height: 24px;
    width: 24px;
    left: 3px;
    top: 3px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}


/* Estado ON */

.ios-toggle-input:checked+.ios-toggle-slider {
    background: #5FAF7A;
    /* tu verde personalizado */
}


/* Movimiento */

.ios-toggle-input:checked+.ios-toggle-slider::before {
    transform: translateX(22px);
}


/* Efecto activo (click) */

.ios-toggle:active .ios-toggle-slider::before {
    width: 28px;
}


/* Glow sutil (glass feeling) */

.ios-toggle-input:checked+.ios-toggle-slider {
    box-shadow: 0 0 8px rgba(95, 175, 122, 0.5);
}

select.is-valid+.select2-container--krajee-bs5 .select2-selection--single,
.has-success.select2-container--krajee-bs5 .select2-dropdown,
.has-success .select2-container--krajee-bs5 .select2-selection {
    border-color: #5FAF7A;
}

.has-success .select2-container--bootstrap .select2-dropdown,
.has-success .select2-container--bootstrap .select2-selection {
    border-color: #5FAF7A;
}

.has-success .select2-container--bootstrap.select2-container--focus .select2-selection,
.has-success .select2-container--bootstrap.select2-container--open .select2-selection {
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #5FAF7A;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #5FAF7A;
    border-color: #5FAF7A;
}

.help-block {
    color: #ff6b6b;
    font-size: 13px;
}

select.is-invalid+.select2-container--krajee-bs5 .select2-selection--single,
.has-error.select2-container--krajee-bs5 .select2-dropdown,
.has-error .select2-container--krajee-bs5 .select2-selection {
    border-color: #ff6b6b;
}

.form-hint-required {
    background-color: #FFF8E1;
    /* cálido suave (combina con tus amarillos) */
    color: #7D6608;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 13px;
    margin-bottom: 15px;
    border-left: 4px solid #F4D03F;
    display: inline-block;
}

.form-hint-info {
    background-color: #E8F4FD;
    /* azul muy claro */
    color: #1B4F72;
    /* azul oscuro legible */
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 13px;
    margin-bottom: 15px;
    border-left: 4px solid #3498DB;
    /* azul principal */
    display: inline-block;
}

.form-hint-success {
    background-color: #E9F7EF;
    color: #1E8449;
    border-left: 4px solid #2ECC71;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 13px;
    margin-bottom: 15px;
}

.form-hint-warning {
    background-color: #FFF8E1;
    color: #7D6608;
    border-left: 4px solid #F4D03F;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 13px;
    margin-bottom: 15px;
}

.form-hint-danger {
    background-color: #FDEDEC;
    color: #922B21;
    border-left: 4px solid #E74C3C;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 13px;
    margin-bottom: 15px;
}

.form-hint-minimal {
    background-color: #F8F9F9;
    color: #555;
    border-left: 4px solid #BDC3C7;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 12px;
    margin-bottom: 10px;
}

.form-hint-required .asterisk {
    color: #C0392B;
    font-weight: bold;
    margin-right: 4px;
}

.horarios-card {
    background: #fff;
    border-radius: 10px;
    padding: 10px 0;
    width: 220px;
}

.horarios-card .row {
    display: flex;
    justify-content: space-between;
    padding: 8px 16px;
    font-size: 14px;
}

.horarios-card .row:hover {
    background: #f5f5f5;
}

.activo {
    background: #eaf4ff;
    font-weight: bold;
}

.close {
    background: transparent;
    /* sin fondo */
    border: none;
    /* sin borde */
    color: #555;
    /* gris neutro */
    font-size: 18px;
    /* tamaño visible */
    font-weight: bold;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all 0.2s ease;
    /* animación suave */
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.close:hover {
    background-color: #f0f0f0;
    /* sutil fondo al pasar */
    color: #222;
    /* más contraste */
}

.close:active {
    background-color: #e0e0e0;
    /* efecto click */
    transform: scale(0.95);
    /* ligera contracción */
}


/* Contenedor múltiple */

.select2-container--bootstrap .select2-selection--multiple {
    background-color: #fff5e6;
    /* color8: fondo cálido y claro */
    border: 1px solid #f39c12;
    /* color6: borde naranja suave */
    border-radius: 12px;
    padding: 4px 6px;
    min-height: 36px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    cursor: text;
    transition: all 0.2s ease;
}


/* Contenedor enfocado */

.select2-container--bootstrap .select2-selection--multiple:focus {
    border-color: #FB8D75;
    /* color3: foco cálido */
    box-shadow: 0 2px 6px rgba(251, 141, 117, 0.25);
    /* sombra ligera cálida */
}


/* Chips (opciones seleccionadas) */

.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice {
    background-color: #FBE462;
    /* color1: amarillo suave */
    color: #1a252f;
    /* color5: texto oscuro para contraste */
    border-radius: 16px;
    margin: 3px 4px 3px 0;
    padding: 2px 8px;
    font-size: 13px;
    display: flex;
    align-items: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
    border: none;
}


/* Animación al eliminar */

.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove {
    color: #BE5944;
    /* color4: rojo/marrón para cerrar */
    font-weight: bold;
    margin-left: 6px;
    cursor: pointer;
    transition: color 0.2s ease, transform 0.15s ease;
}

.select2-container--bootstrap .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #FB8D75;
    /* color3: hover cálido */
    transform: scale(1.2);
}


/* Placeholder y contenedor de selección */

.select2-container--bootstrap .select2-selection {
    background-color: transparent;
    border: none;
    font-size: 14px;
    color: #1a252f;
    /* color5: texto oscuro por defecto */
}

.icon-cube {
    width: 100px;
    height: 90px;
    border-radius: 15px 15px 15px 15px;
    background-color: white;
}

.icon-cube-small {
    width: 70px;
    height: 60px;
    border-radius: 15px 15px 15px 15px;
    background-color: white;
}

.product-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.category-chip {
    background-color: #FFEBA0;
    /* color suave */
    color: #1a252f;
    /* texto legible */
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 500;
    cursor: default;
    transition: transform 0.2s;
}

.category-chip:hover {
    transform: scale(1.05);
    background-color: #FBE462;
    /* ligero cambio al pasar */
}

.last-move-card {
    display: flex;
    align-items: center;
    background-color: #fff5e6;
    /* color8: fondo cálido */
    border-left: 4px solid #FB8D75;
    /* color3: borde destacado */
    padding: 8px 12px;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    gap: 10px;
    max-width: 220px;
    font-family: sans-serif;
}

.last-move-card .icon {
    font-size: 18px;
    color: #f39c12;
    /* color6: reloj amarillo/naranja */
}

.last-move-card .info .date {
    font-weight: 600;
    font-size: 14px;
    color: #1a252f;
    /* color5: texto oscuro */
}

.last-move-card .info .human {
    font-size: 12px;
    color: #FB8D75;
    /* color3: versión humana cálida */
}

.price-badge {
    background-color: #FBE462;
    /* color1 */
    color: #1a252f;
    /* color5 */
    padding: 4px 10px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 16px;
    display: inline-block;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease;
}

.price-badge:hover {
    transform: scale(1.05);
}

.role-color {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1px solid #ccc;
    display: inline-block;
    vertical-align: middle;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    cursor: default;
}

.role-dot:hover,
.role-badge:hover {
    transform: scale(1.1);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.role-color-info {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
}

.role-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid #ccc;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.btn-login-modern {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(135deg, #FB8D75, #FBE462);
    /* color3 a color1 */
    color: #1a252f;
    /* color5: texto oscuro para contraste */
    font-size: 16px;
    font-weight: 600;
    padding: 12px 28px;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    box-shadow: 0 6px 15px rgba(251, 141, 117, 0.3);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.btn-login-modern:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 10px 20px rgba(251, 141, 117, 0.35);
}

.btn-login-modern:active {
    transform: translateY(1px) scale(0.98);
    box-shadow: 0 4px 10px rgba(251, 141, 117, 0.25);
}

.btn-login-modern .btn-icon {
    display: inline-block;
    font-size: 18px;
    transition: transform 0.3s ease;
}

.btn-login-modern:hover .btn-icon {
    transform: translateX(4px);
}

.login-title-minimal {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    color: #1a252f;
    /* color5: texto oscuro */
    margin-bottom: 20px;
    letter-spacing: 1px;
}

.login-title-minimal .highlight {
    color: #FB8D75;
    /* color3: acento cálido */
}


/* Contenedor del formulario */

.login-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 300px;
    /* o ajusta según diseño */
    margin: 0 auto;
}


/* Estilo de los inputs */

.login-input {
    padding: 12px 16px;
    font-size: 14px;
    border-radius: 10px;
    border: 1px solid #dbd9d9;
    /* color1: borde cálido */
    background-color: white;
    /* color8: fondo suave */
    color: #1a252f;
    /* color5: texto oscuro */
    outline: none;
    transition: all 0.2s ease;
}


/* Placeholder estilo */

.login-input::placeholder {
    color: #BE5944;
    /* color4: placeholder más cálido */
    opacity: 0.7;
}


/* Focus moderno */

.login-input:focus {
    border-color: #FB8D75;
    /* color3: foco cálido */
    box-shadow: 0 2px 6px rgba(251, 141, 117, 0.25);
}

.btn-login-modern {
    background-color: #FB8D75;
    /* color3 */
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 12px 24px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-login-modern:hover {
    background-color: #BE5944;
    /* color4 */
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(251, 141, 117, 0.25);
}

.btn-login-modern:active {
    transform: translateY(1px);
    box-shadow: 0 3px 6px rgba(251, 141, 117, 0.2);
}


/* Contenedor general */

.dashboard-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff5e6;
    /* color8 */
    border-left: 5px solid #FB8D75;
    /* color3 */
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    transition: all 0.25s ease;
    min-width: 220px;
}


/* Hover moderno */

.dashboard-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}


/* Icono */

.card-icon {
    font-size: 26px;
    background: #FBE462;
    /* color1 */
    color: #1a252f;
    /* color5 */
    border-radius: 10px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* Info */

.card-info {
    display: flex;
    flex-direction: column;
}


/* Título */

.card-title {
    font-size: 13px;
    color: #BE5944;
    /* color4 */
}


/* Número principal */

.card-value {
    font-size: 24px;
    font-weight: 700;
    color: #1a252f;
    /* color5 */
}


/* Subtexto */

.card-subtitle {
    font-size: 12px;
    color: #FB8D75;
    /* color3 */
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

 :root {
    /* Brand Palette */
    --color-purple: #7A4DFF;
    --color-turquoise: #2DD4BF;
    --color-orange: #FF8A3D;
    --color-bg-card: #ffffff;
    --color-text: #1f2937;
    --color-border-light: #e5e7eb;
    /* Gradients */
    --grad-input: linear-gradient(to right, var(--color-purple), var(--color-turquoise));
    --grad-button: linear-gradient(135deg, var(--color-purple), var(--color-orange));
    /* Transitions */
    --transition-smooth: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.ocio-input {
    height: 40px;
    padding: 0 6px;
    font-size: 1rem;
    color: var(--color-text);
    background-color: var(--color-bg-card);
    border: 2px solid var(--color-border-light);
    border-radius: 12px;
    outline: none;
    transition: var(--transition-smooth);
    box-sizing: border-box;
}

.ocio-input-small {
    height: 38px;
    padding: 0 8px;
    font-size: 0.8rem;
    color: var(--color-text);
    background-color: var(--color-bg-card);
    border: 2px solid var(--color-border-light);
    border-radius: 12px;
    outline: none;
    transition: var(--transition-smooth);
    box-sizing: border-box;
}

.evento-portada-card {
    min-height: 140px;
}

.circle-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #3498DB;
    /* color del círculo */
    display: flex;
    align-items: center;
    justify-content: center;
}

.circle-btn img {
    width: 100%;
    /* controla el tamaño del icono */
    height: auto;
}

.avatar-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    padding: 0;
    overflow: hidden;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.avatar-btn img {
    width: 100%;
    height: 90%;
    object-fit: cover;
}


/* Hover moderno */

.avatar-btn:hover {
    transform: scale(1.08);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.src-logo {
    height: 75px;
    padding: 8px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.src-logo:hover {
    transform: scale(1.05);
}

#modalUbicacion .modal-content {
    border: none;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
}

#modalUbicacion .modal-header {
    border-bottom: none;
}

#modalUbicacion .btn-primary {
    border-radius: 10px;
    padding: 12px;
    font-weight: 500;
}

#modalUbicacion .btn-light {
    border-radius: 10px;
    padding: 12px;
}

.modal.fade .modal-dialog {
    transform: translateY(20px);
    transition: all 0.3s ease;
}

.modal-backdrop.show {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background-color: rgba(0, 0, 0, 0.3);
}

#modalUbicacion .modal-content {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(10px);
    border-radius: 16px;
    border: none;
}

.modal.show .modal-dialog {
    transform: translateY(0);
}

.mi-imagen {
    max-width: 120px;
    height: auto;
}


/* Contenedor del link */

.item-link {
    display: flex;
    align-items: center;
    width: 100%;
    overflow: hidden;
}


/* Icono ocupa ~20% */

.item-link .icono {
    flex: 0 0 20%;
    max-width: 20%;
    height: auto;
}


/* Texto ocupa el resto */

.item-link .texto {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* 📱 Vista móvil */

@media (max-width: 768px) {
    .item-link {
        justify-content: center;
    }
    .item-link .icono {
        flex: 0 0 100%;
        max-width: 40px;
        /* tamaño fijo del icono */
    }
    .item-link .texto {
        display: none;
    }
}