/* ============================================
   BINAS CUSTOM STYLES
   Estilos personalizados específicos del proyecto BINAS
   
   ⚠️ IMPORTANTE: Variables movidas a design-tokens.css
   Este archivo ahora SOLO contiene estilos custom del proyecto.
   Las variables CSS se cargan desde design-tokens.css.
   
   NO definir variables :root en este archivo.
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');

/* ============================================
   LAYOUT CONTAINER OVERRIDES
   ============================================ */

/* Ocultar visualmente el elemento .card-container */
.card-container, .card-container .card-header, .card-container .card-body {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Asegurar que los elementos hijos no hereden estilos de card */
.card-container > * {
background-color: transparent !important;
}

/* Ocultar sombras y bordes de todos los elementos card dentro de card-container */
.card-container.card {
    background-color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* ============================================
   SCROLL CONFIGURATION
   Configuración para scroll único en la página - DESHABILITADO
   ⚠️ ESTAS REGLAS CAUSABAN CONFLICTOS CON EL NUEVO SISTEMA DE LAYOUT
   ============================================ */
/* html {
    height: 100%;
} */

/* ⚠️ COMENTADO: Causaba que el header zone desapareciera */
/* body {
    height: 100vh;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    padding-top: 4em;
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-optical-sizing: auto;
    font-weight: var(--font-weight-light);
    font-style: normal;
    background-color: var(--bg-base);
} */

/* ✅ Versión corregida sin padding-top y sin flex */
body {
    overflow-x: hidden;
    color: var(--text-primary);
    font-family: var(--font-primary);
    font-optical-sizing: auto;
    font-weight: var(--font-weight-normal);
    font-style: normal;
    background-color: var(--bg-base);
}

/* Header fijo en la parte superior */
body > nav,
body > .header-style,
.topMenu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-fixed);
}

/* ⚠️ COMENTADO: Conflictos con binas-main-wrapper */
/* .body-container {
    flex: 1;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    min-height: calc(100vh - 8em);
} */

/* Remover scroll del card-body */
.card-container .card-body {
    max-height: none !important;
    height: auto !important;
}

/* Footer fijo en la parte inferior */
.app-footer {
    height: 8em;
    z-index: var(--z-fixed);
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
    border-top: 3px solid var(--binas-yellow);
    width: 100vw !important;
    left: 0;
    position: absolute;
}

/* ============================================
   CUSTOM FONT FACES
   ============================================ */
@font-face {
    font-family: 'ProximaNova';
    src: url("../../fonts/ProximaNova/ProximaNova-Regular.otf") format("opentype");
}

@font-face {
    font-family: 'ProximaNova';
    font-weight: bold;
    src: url("../../fonts/ProximaNova/ProximaNova-Bold.otf") format("opentype");
}

@font-face {
  font-family: 'ProximaNova';
    font-weight: 600;
    src: url("../../fonts/ProximaNova/ProximaNova-Semibold.otf") format("opentype");
}

/* ============================================
   HEADER & NAVIGATION STYLES
   ============================================ */
.home-card .custom-shadow {
    box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.00)
}

.topMenu {
    border-bottom: 3px solid var(--binas-yellow);
}

body .header-style {
    top: -5px;
    height: 3em;
    z-index: 1021;
}

/* ============================================
   BACKGROUND UTILITIES
   ============================================ */
.bg-grey {
    background-color: var(--bg-grey-300) !important;
}

.bg-grey-2 {
    background-color: var(--bg-grey-200) !important;
}

.bg-grey-3 {
    background-color: var(--bg-grey-500) !important;
}

.bg-grey-4 {
    background-color: var(--bg-grey-400) !important;
}

.bg-grey-5 {
    background-color: var(--bg-grey-600) !important;
}

/* ============================================
   SPEECH BUBBLES
   ============================================ */
.speech-bubble {
 background-color: rgba(0, 90, 241, 0.2) !important;
}

.speech-bubble-own {
    background-color: var(--bg-grey-500) !important;
}

/* ============================================
   SURVEY TABS
   ============================================ */
#survey-tabs .nav-link.rounded-pill {
    background-color: var(--bs-white);
    color: var(--bs-primary) !important;
    border: 1px solid var(--bs-primary) !important;
}

#survey-tabs .nav-link.rounded-pill.active {
    background-color: var(--bs-primary-bg-subtle);
    border: 1px solid var(--bs-primary-bg-subtle) !important;
}

#survey-tabs .nav-link.rounded-pill .badge {
    --bs-bg-opacity: 1;
    --bs-text-opacity: 1;
    background-color: var(--bs-gray-500) !important;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

#survey-tabs .nav-link.rounded-pill.active .badge {
    --bs-bg-opacity: 1;
    --bs-text-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

/* ============================================
   PAGE NAVIGATION
   ============================================ */
#nav-pages .nav-link.rounded-pill, #nav-pages .nav-link.rounded-pill {
    --bs-bg-opacity: 1;
    --bs-text-opacity: 1;
    background-color: var(--bs-white);
  color: var(--bs-success) !important;
    border: 1px solid var(--bs-success) !important;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
    font-size: 0.95rem;
}

#nav-pages .nav-link.rounded-pill.active {
    background-color: var(--bs-success-bg-subtle);
}

#nav-pages .nav-link.rounded-pill .badge {
    --bs-bg-opacity: 1;
    --bs-text-opacity: 1;
    background-color: var(--bs-gray-500) !important;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

#nav-pages .nav-link.rounded-pill.active .badge {
    --bs-bg-opacity: 1;
    --bs-text-opacity: 1;
    background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

/* ============================================
   GROUP NAVIGATION
   ============================================ */
#nav-groups .nav-link.rounded-pill {
    --bs-bg-opacity: 1;
    --bs-text-opacity: 1;
    background-color: var(--bs-white);
    color: var(--bs-primary) !important;
    border: 1px solid var(--bs-primary) !important;
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
    font-size: 0.95rem;
}

#nav-groups .nav-link.rounded-pill.active {
    background-color: var(--bs-primary-bg-subtle);
}

#nav-groups .nav-link.rounded-pill .badge {
    --bs-bg-opacity: 1;
  --bs-text-opacity: 1;
    background-color: var(--bs-gray-500) !important;
  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

#nav-groups .nav-link.rounded-pill.active .badge {
    --bs-bg-opacity: 1;
    --bs-text-opacity: 1;
    background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}

#nav-groups .dropdown-menu .dropdown-item {
    color: var(--bs-primary);
}

#nav-groups .dropdown-menu .dropdown-item.active, 
#nav-groups .dropdown-menu .dropdown-item:active {
    background-color: var(--bs-primary-bg-subtle);
}

#nav-pages .dropdown-menu .dropdown-item {
    color: var(--bs-success);
}

#nav-pages .dropdown-menu .dropdown-item.active, 
#nav-pages .dropdown-menu .dropdown-item:active {
    background-color: var(--bs-success-bg-subtle);
}

/* ============================================
   ACTIVITY CARDS
   ============================================ */
.activity-card .rounded-12 {
    background-color: var(--bs-tertiary-bg) !important;
    overflow: hidden;
}

/* ============================================
   TABLE STYLES
   ============================================ */
tr.sticky-top {
    top: 4em;
}

.table-custom-striped > tbody > tr:nth-child(odd) > td,
.table-custom-striped > tbody > tr:nth-child(odd) > th,
.table-custom-striped > tbody > tr:nth-child(odd) .bg-striped {
    background-color: var(--bg-grey-300);
}   

.table-custom-striped > tbody > tr:nth-child(even) > td,
.table-custom-striped > tbody > tr:nth-child(even) > th,
.table-custom-striped > tbody > tr:nth-child(even) .bg-striped {
    background-color: #efefef;
}

.table-custom-striped > tbody > tr:nth-child(even) .bg-inverted-striped {
    background-color: var(--bg-grey-300);
}

.table-custom-striped > tbody > tr:nth-child(odd) .bg-inverted-striped {
    background-color: #efefef;
}

.invalid-border {
    width: 4px;
    height: 4em;
}

.table-custom-striped > tbody > tr:nth-child(odd) > .invalid-border {
    background-color: var(--bg-grey-300);
}

.table-custom-striped > tbody > tr:nth-child(even) > .invalid-border, 
.table-custom-striped > thead > tr:nth-child(even) > .invalid-border {
    background-color: var(--bg-grey-200);
}

.table-custom-striped > tbody > tr > .invalid-border + .bg-white {
    background-color: var(--bg-grey-100);
}

.table-custom-striped > tbody > tr > .invalid-border + .bg-grey-2 {
    background-color: var(--bg-grey-200);
}

/* ============================================
HOME WIDGETS & LINKS
   ============================================ */
.widget-home-link, .btn-home-link {
    background-color: var(--bs-white);
    border: 1px solid var(--border-color-button);
}

.widget-home-link a, .btn-home-link a {
    color: var(--text-primary);
    font-weight: var(--font-weight-normal);
}

.widget-home-link a i, .btn-home-link a i {
    color: rgb(18 38 170);
}

.widget-home-link:hover, .btn-home-link:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(231 233 247 / var(--tw-bg-opacity));
}

.widget-home-link .text-primary {
    color: var(--text-primary) !important;
}

/* ============================================
   DEVEXTREME OVERRIDES
   ============================================ */
.dx-widget input, .dx-widget textarea {
    /* font-family: 'ProximaNova'; */
}

.dx-numberbox {
    font-size: var(--font-size-sm);
    border-radius: var(--radius-sm) !important;
}

.mc-table-editor {
    border: 0;
    font-size: var(--font-size-sm);
    border-radius: var(--radius-sm) !important;
}

/* ============================================
   VARIABLE CODE & LANGUAGE
   ============================================ */
.mc-variablecode-answer {
    font-size: 0.9rem;
    font-style: italic;
    color: var(--bs-gray-600);
    display: none;
}

.mc-language-dropdown {
    display: none;
}

/* ============================================
SCROLLBAR CUSTOMIZATION
   ============================================ */
.scrollbar::-webkit-scrollbar-track {
    border-radius: var(--scrollbar-thumb-radius);
    background-color: var(--scrollbar-track-bg);
    border: 0px solid rgba(221, 221, 221, .6);
}

.scrollbar::-webkit-scrollbar-thumb {
border-radius: var(--scrollbar-thumb-radius);
    background-clip: content-box;
    background-color: var(--scrollbar-thumb-bg) !important;
}

/* ============================================
   PRINT STYLES
   ============================================ */
@media print {
    .calendar-year-wrapper {
        border: 1px solid #000;
 padding: 35px 40px 25px;
    }

    .calendar-year-title {
   font-size: 40px;
  margin-bottom: 25px;
    }

    .months-grid {
        gap: 28px 48px;
    }

    .month-block {
        break-inside: avoid;
    }

    .zone-schedule-wrapper {
     border: 1px solid #000;
        padding: 35px 45px 40px;
    }

    .schedule-item {
    padding: 3px 4px 3px 0;
    }
}

/* ============================================
   RESPONSIVE OVERRIDES
   ============================================ */
@media (min-width: 767.98px) {
    body > .body-container {
        max-height: none !important;
        height: auto !important;
    }
}

/* ============================================
   PONCHO / MI ARGENTINA STYLES
   ============================================ */
.btn-mi-argentina {
    background-color: #0072bb; /* Azul Argentina.gob.ar */
    border-color: #0072bb;
    color: #fff;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: all 0.2s ease;
}

.btn-mi-argentina:hover {
    background-color: #005c99;
    border-color: #005c99;
    color: #fff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.btn-mi-argentina i {
    color: #fff;
}

