/* ==========================================================
🎨 AJUSTES ESPECIALES SOLICITADOS
========================================================== */

/* 1. Título ligeramente a la derecha y más abajo */
.titulo-pizarra {
padding-left: 16px !important;
margin-top: 7px !important;
}

/* 2. Eliminar espacios entre filas */
.tabla-calendario tbody tr {
margin: 0 !important;
padding: 0 !important;
border-spacing: 0 !important;
}

/* 3. Hacer columna de nombres más angosta SOLO en vertical */
@media screen and (orientation: portrait) {
.col-nombre,
.corner {
min-width: 170px !important;
max-width: 170px !important;
}
}

/* ==========================================================
🎨 PALETA CORPORATIVA
========================================================== */
:root {
--royal-blue: #2f6fb3;
--royal-blue-dark: #255a91;
--royal-gray: #e6e6e6;
--text-dark: #222222;
--bg-light: #f5f7fb;
--radius: 8px;
}

/* ==========================================================
🌐 BASE
========================================================== */
body {
font-family: "Helvetica Neue", Arial, sans-serif;
background: var(--bg-light);
color: var(--text-dark);
overflow-x: hidden;
margin: 0;
padding: 0;
}

/* ==========================================================
🔵 HEADER ANIMADO + SOMBRA MARCADA (VERSIÓN FINAL)
========================================================== */
.app-header {
height: 64px;
background: #ffffff;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 14px;

/* Animación suave */
transform: translateY(-60px);
opacity: 0;
transition: transform .75s cubic-bezier(.22,.61,.36,1),
            opacity .65s ease;

/* Sombra marcada tipo tarjeta */
box-shadow: 0 5px 14px rgba(0,0,0,0.10);

/* Sticky permanente */
position: sticky;
top: 0;
z-index: 9998;

}

/* Estado visible (activado por JS) */
.app-header.header-show {
transform: translateY(0);
opacity: 1;
}

/* Logo */
.app-logo {
height: 54px;
object-fit: contain;
}

/* Margen superior SOLO para ingresar.php */
.page-ingreso #main-content {
    padding-top: 35px !important;  /* Ajusta 35 → 40 o 50 si quieres más espacio */
}
/* ==========================================================
🟦 BOTÓN FLOTANTE (DRAWER)
========================================================== */
.drawer-btn {
position: fixed;
top: 10px;
right: 10px;
z-index: 9999;
width: 48px;
height: 48px;
background: var(--royal-blue);
border: none;
border-radius: 14px;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 24px;
box-shadow: 0 3px 12px rgba(0,0,0,0.25);
}

/* Mostrar SOLO en horizontal o pantallas grandes */
#btnDrawer {
display: none !important;
}

@media screen and (orientation: landscape),
(min-width: 992px) {
#btnDrawer {
display: flex !important;
}
}

/* ==========================================================
🟪 DRAWER
========================================================== */
.drawer {
position: fixed;
top: 0;
left: -260px;
width: 260px;
height: 100vh;
background: var(--royal-blue);
transition: left .25s ease;
z-index: 9998;
color: white;
display: flex;
flex-direction: column;
}

.drawer.open { left: 0; }

.drawer-header {
height: 70px;
display: flex;
align-items: center;
justify-content: center;
border-bottom: 1px solid rgba(255,255,255,0.2);
}

.drawer-logo { height: 55px; }

.drawer-menu .list-group-item {
background: transparent;
border: none;
color: white;
padding: 14px 18px;
display: flex;
align-items: center;
gap: 12px;
}

.drawer-menu .list-group-item:hover,
.drawer-menu .list-group-item.active {
background: var(--royal-blue-dark);
}

.drawer-overlay {
position: fixed;
inset: 0;
background: rgba(0,0,0,0.45);
z-index: 9997;
display: none;
}

/* ==========================================================
📱 FOOTER MOBILE
========================================================== */
.footer-nav {
position: fixed;
bottom: 0;
width: 100%;
height: 70px;
background: var(--royal-blue);
z-index: 9996;
display: flex;
}

.footer-nav button {
background: none;
border: none;
color: white !important;
display: flex;
flex-direction: column;
align-items: center;
gap: 3px;
font-size: 13px;
}

.footer-nav button i {
font-size: 20px;
}

/* Footer oculto en horizontal y pantallas grandes */
@media screen and (orientation: landscape),
(min-width: 992px) {
.footer-nav { display: none !important; }
}

/* ==========================================================
📌 CONTENIDO GENERAL
========================================================== */
#main-content {
min-height: calc(100vh - 60px);
padding-bottom: 90px;
width: 100%;
padding-top: 20px !important;   /* Ajuste perfecto */
}

/* ==========================================================
🗓 CALENDARIO — BASE
========================================================== */
.calendario-full { background: #fff !important; }

.calendario-wrapper {
width: 100% !important;
max-width: 100% !important;
overflow: auto;
background: #fff !important;
}

.tabla-calendario {
border-collapse: collapse !important;
border-spacing: 0 !important;
width: max-content;
min-width: 100%;
}

.tabla-calendario th {
padding: 4px;
background: #f1f3f5;
border: 1px solid #d3d3d3;
font-weight: 600;
position: sticky;
top: 0;
z-index: 5;
}

.tabla-calendario td {
padding: 6px 4px !important;
border: 1px solid #e5e5e5;
min-width: 44px;
height: 32px;
}

/* COLUMNA DE NOMBRES */
.col-nombre,
.corner {
position: sticky;
left: 0;
z-index: 10;
background: #f1f3f5 !important;
font-weight: 750;
font-size: 13px !important;
min-width: 170px;
max-width: 170px;
text-align: left;
}

.tabla-calendario th.corner {
background: #595959 !important;
color: white;
}

/* Día actual */
.semana-actual {
border: 2px solid var(--royal-blue) !important;
background: #f0f8ff !important;
}

/* Bolitas */
.venta-circulo {
width: 12px;
height: 12px;
border-radius: 50%;
margin: 1px auto;
display: inline-block;
}

/* X */
.no-actividad-x {
color: #d63031;
font-weight: 900;
}

/* Actividad sin ventas */
.actividad-suave {
background: #a3c4be !important;
}

/* Filas alternadas */
.tabla-calendario tbody tr:nth-child(odd) { background: #ffffff; }
.tabla-calendario tbody tr:nth-child(even) { background: #eef2f5; }

/* ==========================================================
📱 PORTRAIT
========================================================== */
@media screen and (orientation: portrait) {

body.calendario-open #main-content {
    overflow: auto !important;
}

#main-content {
    overflow-y: auto !important;
    padding-top: 20px !important;   /* Ajuste perfecto */
}

.calendario-wrapper {
    max-height: calc(100vh - 130px) !important;
    overflow-y: auto !important;
    overflow-x: auto !important;
}
}

/* ==========================================================
🖥 LANDSCAPE
========================================================== */
@media screen and (orientation: landscape) {

body {
    overflow-y: auto !important;
    height: auto !important;
}

#main-content {
    min-height: calc(100vh - 60px) !important;
    overflow: visible !important;
}

.calendario-wrapper {
    max-height: calc(100vh - 60px) !important;
    overflow-y: auto !important;
    overflow-x: auto !important;
}

}

.calendario-wrapper {
    height: calc(100vh - 60px) !important;
    overflow-y: auto !important;
    overflow-x: auto !important;
}

}

/* ==========================================================
🎨 MODALES
========================================================== */
.color-option {
padding: 14px 10px;
border-radius: 10px;
font-weight: 700;
}

.color-option.dark-text { color: #000 !important; }

#modalResumen .resumen-color-box {
border-radius: 10px;
min-width:80px;
    height:60px;
font-size: 18px;
font-weight: 700;
}
.resumen-color-box{
    min-width:80px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:16px;
    padding:6px 10px;
    box-shadow:0 3px 8px rgba(0,0,0,.15);
}
/* 🔽 BAJAR TODOS LOS MODALES PARA QUE NO LOS TAPE EL HEADER */
.modal-dialog {
    margin-top: 90px !important; /* Ajusta aquí: sube/baja la altura */
}
/* ===============================
ESTADOS DE ACTIVIDAD VENDEDORES
================================ */

.estado-rojo td.col-nombre{
background:#ffd6d6 !important;
}

.estado-amarillo td.col-nombre{
background:#fff6d9;
}

.estado-verde td.col-nombre{
background:#e8f7ea;
}

/* DOT INDICADOR */

.estado-dot{
display:inline-block;
width:3px;
height:10px;
border-radius:10%;
margin-left:0px;
}

.estado-dot.rojo{
/*background:#ff4d4d;*/
}

.estado-dot.amarillo{
background:#ffcc33;
}

.estado-dot.verde{
background:#28a745;
}
.toast-guardado{
    position: fixed;
    top: 90px;
    left: 50%;
    transform: translateX(-50%);
    
    background: #198754;
    color: white;
    
    padding: 14px 20px;
    border-radius: 10px;
    
    font-weight: 600;
    font-size: 14px;
    
    box-shadow: 0 6px 20px rgba(0,0,0,0.2);
    
    opacity: 0;
    pointer-events: none;
    
    transition: opacity .4s ease, transform .4s ease;
    
    z-index: 9999;
}

.toast-guardado.show{
    opacity:1;
    transform: translateX(-50%) translateY(10px);
}
.color-option{
transition:transform .15s ease;
}

.color-option:active{
transform:scale(.96);
}