:root{--azul:#173f5f;--azul-claro:#296487;--oro:#d4a848;--fondo:#f4f7fa;--texto:#1f3342;--linea:#d7e0e7;--sombra:0 5px 18px rgba(23,63,95,.10)}*{box-sizing:border-box}html{background:var(--fondo)}body{margin:0;padding-top:56px;background:var(--fondo)!important;color:var(--texto)!important;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}.app-nav{position:fixed;z-index:9999;top:0;left:0;right:0;min-height:56px;display:flex;align-items:center;gap:8px;padding:8px max(14px,4vw);background:linear-gradient(110deg,var(--azul),var(--azul-claro));box-shadow:0 2px 10px rgba(0,0,0,.18)}.app-nav strong{color:#fff;margin-right:auto;font-size:15px;letter-spacing:.1px}.app-nav a{color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:700;padding:7px 10px;border-radius:7px}.app-nav a:hover,.app-nav a:focus{background:rgba(255,255,255,.17)}header{background:linear-gradient(110deg,var(--azul),var(--azul-claro))!important;box-shadow:var(--sombra)}main,body>div,body>section{max-width:1320px;margin-left:auto;margin-right:auto}h1,h2,h3{color:var(--azul)!important;letter-spacing:-.015em}button,input[type=submit],.button{border-radius:8px!important;border:0!important;background:var(--azul)!important;color:#fff!important;padding:9px 13px!important;font-weight:700!important;cursor:pointer;box-shadow:0 2px 7px rgba(23,63,95,.18)}button:hover,input[type=submit]:hover{background:var(--azul-claro)!important}table{box-shadow:var(--sombra);border-radius:10px;overflow:hidden}th{background:var(--azul)!important;color:#fff!important}td,th{border-color:var(--linea)!important}a{color:#165a82}select,input,textarea{border:1px solid var(--linea)!important;border-radius:7px!important;padding:8px!important;background:#fff}@media(max-width:760px){body{padding-top:100px}.app-nav{flex-wrap:wrap;gap:2px}.app-nav strong{width:100%;margin:0}.app-nav a{padding:4px 6px;font-size:12px}}.week td.zero,.detail td.zero{background:#fff!important;color:#1f3342!important}.week td.one,.detail td.one{background:#ff241c!important;color:#111!important}.week td.two,.detail td.two{background:#fff000!important;color:#111!important}.week td.covered,.detail td.covered{background:#4ee65b!important;color:#111!important}.week td.na,.detail td.na{background:#bfbfbf!important;color:#333!important}.detail td:nth-child(8){min-width:105px!important}@media screen{body{padding:76px 18px 32px!important}body>h1,body>p,body>.tools,body>table,body>section,body>form{max-width:1280px;margin-left:auto!important;margin-right:auto!important}body>h1{margin-top:10px!important;margin-bottom:6px!important;font-size:28px!important}body>h1+p{color:#5b6d79;margin-top:0!important;margin-bottom:18px!important}body>a[href*="gestion.php"]:first-child{display:none!important}.tools{display:flex!important;flex-wrap:wrap;gap:8px;padding:12px!important;background:#fff;border:1px solid var(--linea);border-radius:12px;box-shadow:var(--sombra)}.tools a,.tools button{margin:0!important;border-radius:8px!important;background:var(--azul)!important;color:#fff!important}.tools a:hover{background:var(--azul-claro)!important;color:#fff!important}section,form{background:#fff!important;border:1px solid var(--linea)!important;border-radius:12px!important;padding:18px!important;box-shadow:var(--sombra)}body>table{background:#fff;border:1px solid var(--linea);border-radius:12px}.week{border-radius:12px!important}body>p:not(.app-nav){line-height:1.5}.detail td:nth-last-child(-n+2){background:#fff!important}.app-nav{border-bottom:2px solid rgba(212,168,72,.75)}}.salir-gestion{position:fixed!important;z-index:10000!important;top:8px!important;right:14px!important;height:40px!important;display:flex!important;align-items:center!important;padding:0 10px!important;border-radius:7px!important;line-height:20px!important;color:#fff!important;text-decoration:none!important;font:700 13px system-ui,-apple-system,"Segoe UI",sans-serif!important}.salir-gestion:hover{background:rgba(255,255,255,.17)!important}@media(min-width:761px){body:has(.salir-gestion) .app-nav{padding-right:84px!important}}
/* Informes: texto más compacto dentro de los cuadros */
@media screen{.week td{font-size:14px!important}.detail td{font-size:10px!important;line-height:1.18!important}.detail td:first-child{font-size:11px!important}}

/* Reducción adicional del 20 % en informes */
@media screen{.week td{font-size:11px!important}.detail td{font-size:8px!important;line-height:1.15!important}.detail td:first-child{font-size:9px!important}}

/* Cuadrante de cobertura: reducción adicional del 40 % */
@media screen{.week:not(.detail) td{font-size:6.6px!important}}

/* Cabecera y horas del cuadrante de cobertura */
@media screen{.week:not(.detail) th{font-size:17px!important;line-height:1.15!important}}

/* Ajuste de tamaño y alineación del cuadrante de cobertura */
@media screen{.week:not(.detail) td{font-size:3.3px!important}.week:not(.detail) th{font-size:25.5px!important;line-height:1.1!important;text-align:center!important;vertical-align:middle!important}}

/* Números del cuadrante al mismo tamaño que las horas */
@media screen{.week:not(.detail) td{font-size:25.5px!important;font-weight:800!important;text-align:center!important;vertical-align:middle!important}}

/* Versión móvil */
@media (max-width:760px){
 body{padding:112px 12px 24px!important;font-size:15px!important}
 .app-nav{min-height:104px!important;padding:7px 8px!important;justify-content:center!important;gap:3px!important}
 .app-nav strong{width:100%!important;margin:0!important;text-align:center!important;font-size:13px!important}
 .app-nav a{padding:6px 7px!important;font-size:12px!important}
 body>h1{font-size:22px!important;line-height:1.15!important}
 body>h1,body>p,body>.tools,body>table,body>section,body>form{max-width:100%!important}
 .tools{padding:8px!important;gap:6px!important}
 .tools a,.tools button{flex:1 1 calc(50% - 6px)!important;min-height:42px!important;text-align:center!important;font-size:13px!important}
 section,form{padding:14px!important}
 input,select,textarea,button{font-size:16px!important}
 body>table{display:block!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;width:100%!important}
 .week:not(.detail){min-width:720px!important}
 .week:not(.detail) th{font-size:13px!important;text-align:center!important;vertical-align:middle!important}
 .week:not(.detail) td{font-size:16px!important;text-align:center!important;vertical-align:middle!important}
 .week.detail{min-width:1000px!important}
 .week.detail td{font-size:10px!important}
}

/* Contenedor táctil real para todas las tablas */
@media (max-width:760px){
 .table-scroll{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior-x:contain!important;margin:12px 0!important;border:1px solid var(--linea)!important;border-radius:10px!important;background:#fff!important}
 .table-scroll>table{display:table!important;overflow:visible!important;width:max-content!important;min-width:680px!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
 .table-scroll>.week:not(.detail){min-width:720px!important}
 .table-scroll>.week.detail{min-width:1000px!important}
}

/* Tamaños normales y estables: ordenador y móvil */
.week:not(.detail) th,.week:not(.detail) td{font-size:16px!important;line-height:1.25!important;text-align:center!important;vertical-align:middle!important;font-weight:700!important}
.week.detail th,.week.detail td{font-size:13px!important;line-height:1.25!important}

/* Cuadrantes: lectura y contraste uniformes */
.week th,.week td{border:1px solid #111!important;text-align:center!important;vertical-align:middle!important}
.week th{border-color:#fff!important}
.week td.zero,.week td.one,.week td.two,.week td.covered,.week td.na{border-color:#111!important}
.week td.black,.week td.dark{border-color:#fff!important;color:#fff!important}
.week.detail td{ text-align:center!important;vertical-align:middle!important }
.week.detail th,.week.detail td:first-child{min-width:56px!important;width:56px!important;text-align:center!important;vertical-align:middle!important;white-space:nowrap!important}
/* Responsable es siempre la columna 9; así Domingo conserva su color aunque Coord. Turno use filas unidas. */
.week.detail tr td:nth-child(9),.week.detail tr td:nth-child(10){background:#fff!important}

/* Domingo es la octava columna visual, con o sin celda de coordinadora en esa fila. */
.week.detail tr td.zero:nth-child(8){background:#fff!important}
.week.detail tr td.one:nth-child(8){background:#ff241c!important}
.week.detail tr td.two:nth-child(8){background:#fff000!important}
.week.detail tr td.covered:nth-child(8){background:#4ee65b!important}
.week.detail tr td.na:nth-child(8){background:#bfbfbf!important}
