/* Administración Caja v3.54 · Diseño maestro de Inicio.
   Prioridad absoluta: contraste y tamaños de la referencia del usuario.
   Estilos sin escrituras en Supabase. */

/* BARRA LATERAL: fija arriba en TODOS los módulos, nunca al pie. */
.shell{width:100%;max-width:100%;min-width:0}
.shell>.main{flex:1 1 0%!important;width:0;min-width:0!important;max-width:100%!important}
.shell>.rail{
  width:151px!important;flex:0 0 151px!important;
  padding:7px 5px 9px!important;
  align-items:stretch!important;gap:2px!important;
  background:linear-gradient(180deg,#191d22,#111519)!important;
  border-right:2px solid #4a5560!important;
}
.rail-scroll.v338-bottom-navigation{
  width:100%!important;display:flex!important;align-items:stretch!important;
  justify-content:flex-start!important;flex-direction:column!important;
  gap:2px!important;margin:0!important;padding:1px 0!important;overflow-y:auto!important;
}
.rail-scroll.v338-bottom-navigation::before{display:none!important;content:none!important}
.rail .navbtn{
  width:100%!important;min-height:43px!important;max-height:none!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;
  justify-content:flex-start!important;gap:10px!important;
  padding:5px 9px!important;color:#f5f6fa!important;
  border:1px solid transparent!important;border-radius:5px!important;
  background:transparent!important;box-shadow:none!important;
}
.rail .navbtn:hover{background:#353c43!important;border-color:#55616b!important}
.rail .navbtn.active{
  background:linear-gradient(110deg,#ffea45,#ffc400)!important;
  color:#191b1d!important;border-color:#f0ba00!important;
  box-shadow:0 2px 6px #0005,inset 0 1px #fffbba!important;
}
.rail .navbtn .nav-icon{
  height:29px!important;width:30px!important;flex:0 0 30px!important;
  color:white!important;background:var(--tile,#5183a5)!important;
  border:1px solid #ffffff35!important;border-radius:6px!important;
  box-shadow:inset 0 -2px #0004,0 1px 3px #0005!important;
  display:grid!important;place-items:center!important;
}
.rail .navbtn .nav-icon svg{width:21px!important;height:21px!important;stroke-width:2!important}
.rail .navbtn.active .nav-icon{background:#25292c!important;color:#ffdb36!important}
.rail .navbtn .navtext{
  display:block!important;max-width:none!important;overflow:visible!important;
  white-space:normal!important;text-align:left!important;
  color:#f9f9fa!important;font-size:13px!important;line-height:1.12!important;
  font-weight:760!important;letter-spacing:-.1px!important;
}
.rail .navbtn.active .navtext{color:#12191d!important;font-weight:950!important}
.rail-foot{width:100%!important;align-items:stretch!important;justify-content:center!important}
.rail-foot .morebtn{width:100%!important;min-height:42px!important;flex-direction:row!important;gap:8px!important;
  background:#202930!important;border:1px solid #626b6d!important;color:#ffdc40!important;
  font-size:12px!important;font-weight:850!important}
.rail-foot .v338-more-symbol{font-size:23px!important}

/* CABECERA: negro brillante con franja diagonal dorada, logotipo e identidad legibles. */
.v337-brandbar{
  box-sizing:border-box;height:77px!important;min-height:77px!important;
  padding:7px 21px 7px 19px!important;
  background:linear-gradient(125deg,#090b0d 0%,#111419 43%,#14181a 57%,#a27c00 69%,#ffc900 79%,#ffe83a 100%)!important;
  border-bottom:3px solid #f8c400!important;gap:16px!important;
  box-shadow:0 2px 9px #1119!important;
}
.v337-brand{min-width:280px!important;gap:12px!important;align-self:center}
.v337-brand-icon.v338-real-logo{width:49px!important;height:58px!important;min-width:49px!important}
.v337-brand-icon.v338-real-logo img{width:43px!important;height:56px!important}
.v337-brand-name strong{font-size:24px!important;line-height:1.04!important;font-weight:900!important;letter-spacing:-.6px!important}
.v337-brand-name small{font-size:11px!important;letter-spacing:2.6px!important;font-weight:950!important;line-height:1.2!important}
.v337-search-form{flex:0 1 500px!important;width:min(500px,39vw)!important;min-width:220px!important;
  border:2px solid #718298!important;border-radius:22px!important;padding:3px 7px 3px 12px!important;
  background:#fff!important;box-shadow:0 2px 5px #0004!important}
.v337-search-form input{font-size:13px!important;font-weight:550!important;height:31px}
.v337-search-form button{background:#ffdc2b!important;color:#151c25!important;font-size:12px!important;font-weight:900!important}
.v337-brand-right{flex-shrink:0!important;gap:13px!important}
.v337-brand-right .v337-bell{font-size:26px!important;color:#16191b!important}
.v337-brand-right .v337-user{color:#141a1c!important;font-size:14px!important;font-weight:900!important}

/* CINTA estilo Outlook: pictogramas grandes y títulos visibles. */
.v337-ribbon{background:linear-gradient(#fafbfc,#e2e7ed)!important;border-bottom:1px solid #b6c2cd!important}
.v337-ribbon-tabs{height:37px!important;padding:0 13px!important;gap:4px!important}
.v337-ribbon-tabs button{font-size:14px!important;padding:5px 15px!important;font-weight:620!important}
.v337-ribbon-tabs button.active{font-weight:900!important;color:#152636!important}
.v337-ribbon-tabs button.v337-archivo{background:linear-gradient(#ffe76a,#f9c21a)!important;
  border:1px solid #e6bb27!important;font-weight:900!important;color:#171c1f!important}
.v337-ribbon-actions{height:auto!important;min-height:76px!important;gap:3px!important;padding:6px 10px 6px!important;align-items:stretch!important}
.v337-ribbon-action{min-width:105px!important;max-width:150px!important;flex-direction:column!important;
  padding:3px 9px!important;gap:4px!important;border-right:1px solid #bcc8d2!important;border-radius:3px!important}
.v337-ribbon-action>span{height:36px!important;display:grid!important;place-items:center!important;color:#2089bd!important}
.v354-ribbon-svg{height:34px!important;width:34px!important;stroke-width:1.9!important}
.v337-ribbon-action small{font-size:12px!important;line-height:1.1!important;color:#233b4e!important;font-weight:800!important;white-space:nowrap}
.v337-ribbon-action[data-action="new:ac_tasks"]>span{color:#e49c05!important}
.v337-ribbon-action[data-action="new:ac_events"]>span{color:#2a85cf!important}
.v337-ribbon-action[data-action="new:ac_journal"]>span{color:#2e80b9!important}
.v337-ribbon-action[data-action="new:ac_claims"]>span{color:#ed7818!important}
.v337-ribbon-action[data-action="refresh"]>span{color:#4689b4!important}
.v337-ribbon-action:hover:not(:disabled){background:#fff5c3!important;border-color:#bd9516!important}

/* Portada sin encogimiento de columnas ni desbordamiento horizontal. */
.shell:has(.v353-dashboard) .topbar{display:none!important}
.shell:has(.v353-dashboard) .main>.content{max-width:none!important;width:100%!important;
  min-width:0!important;box-sizing:border-box!important;padding:10px 13px 20px!important;margin:0!important}
.v353-dashboard{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;color:#1e262f!important}
.v353-dashboard :is(.v353-alert-grid,.v353-kpi-grid,.v353-workspace,.v353-main-panels,.v353-panel,.v353-sidebar){min-width:0!important;max-width:100%!important}
.v353-home-heading{min-height:55px!important;padding:1px 2px 9px!important;gap:10px!important}
.v353-home-icon{width:49px!important;height:45px!important;font-size:32px!important}
.v353-home-heading h1{font-size:27px!important;line-height:1!important;color:#151a20!important;font-weight:950!important}
.v353-home-heading p{font-size:13px!important;color:#576574!important}
.v353-home-heading time{font-size:13px!important;color:#1d2831!important;font-weight:800!important}

/* AVISOS: rojo intenso cuando faltan <=3 días; parpadeo del borde/icono <=1 día. */
.v353-alert-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:11px!important;margin:0 0 12px!important}
.v353-signal{box-sizing:border-box!important;min-height:108px!important;padding:12px 11px!important;
  gap:11px!important;border:2px solid #f0b928!important;border-radius:10px!important;
  background:linear-gradient(120deg,#ffe8a0,#fff8e7 67%,#fff)!important;
  box-shadow:inset 0 0 0 2px #fff5cb,0 2px 7px #132f4a28!important}
.v353-signal-icon{width:59px!important;height:59px!important;flex:0 0 59px!important;
  background:linear-gradient(#fff3cd,#ffd882)!important;border:2px solid #eaa618!important;
  box-shadow:0 0 0 3px #fff6d9,0 1px 6px #0002!important;
  border-radius:11px!important;color:#bb5717!important}
.v353-signal-icon svg{display:block!important;height:37px!important;width:37px!important;stroke-width:2.1!important}
.v353-signal-copy{gap:5px!important}
.v353-signal-title{font-size:16px!important;line-height:1.14!important;font-weight:950!important;
 color:#a34306!important;letter-spacing:0!important}
.v353-signal-copy strong{font-size:17px!important;font-weight:900!important;line-height:1.13!important;color:#161e28!important}
.v353-signal-copy small{font-size:11px!important;line-height:1.25!important;color:#475a69!important;font-weight:620!important}
.v353-signal-chevron{font-size:27px!important;color:#b65c11!important}
.v353-tone-danger{
  background:linear-gradient(125deg,#ff9eac 0%,#ffd8de 44%,#fff2f3 100%)!important;
  border:2px solid #f01836!important;box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #ff7e8b,0 0 16px #ef203b8c!important;
}
.v353-tone-danger .v353-signal-icon{background:linear-gradient(#fa4d5a,#d41029)!important;
  border-color:#fff!important;color:#fff!important;
  box-shadow:0 0 0 4px #ff8296,0 0 14px #d81c33b3!important}
.v353-tone-danger .v353-signal-title{display:inline-block!important;align-self:flex-start;
  border-radius:5px!important;padding:5px 9px!important;
  background:#d9192e!important;color:#fff!important;border:1px solid #fff!important;
  font-size:15px!important;font-weight:950!important;box-shadow:0 0 8px #c91c2c90!important}
.v353-tone-danger .v353-signal-chevron{color:#c8142e!important}
.v353-tone-high{
  background:linear-gradient(120deg,#ffdb93,#fff4d5 65%,#fff)!important;
  border-color:#e9951c!important
}
.v353-tone-high .v353-signal-icon{color:#c95c11!important;background:#ffe3aa!important}
.v353-tone-high .v353-signal-title{color:#b34a08!important}
.v353-tone-soon{background:linear-gradient(125deg,#fff4bb,#fffdf1)!important}
.v353-tone-follow{border-color:#a8c4d7!important;background:linear-gradient(125deg,#e7f2fb,#fff)!important}
.v353-tone-follow .v353-signal-title{color:#24628f!important}
.v353-tone-follow .v353-signal-icon{background:#dcebf7!important;color:#236c9e!important;border-color:#9cc2dd!important}
.v353-tone-meeting,.v353-tone-acta{
  background:linear-gradient(120deg,#ffefbb,#fff8e4 64%,#fff)!important;border-color:#f0b02b!important;
}
.v353-tone-meeting .v353-signal-icon,.v353-tone-acta .v353-signal-icon{
  background:#ffedbe!important;color:#c16a14!important;border-color:#ecaa24!important
}
.v353-tone-meeting .v353-signal-title,.v353-tone-acta .v353-signal-title{color:#b94b0b!important}
.v353-tone-claim{background:linear-gradient(120deg,#ffe7ca,#fff7e9)!important;border-color:#f19b27!important}
.v353-tone-clear{background:linear-gradient(120deg,#ebfae9,#fff)!important;border-color:#87c59b!important}
.v353-tone-clear .v353-signal-title{color:#277348!important}
.v353-signal.v354-flashing{animation:v354-alert-flash 1.15s ease-in-out infinite}
.v354-flashing .v353-signal-icon{animation:v354-icon-flash 1.15s ease-in-out infinite}
@keyframes v354-alert-flash{
  0%,100%{border-color:#ec1536;box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #fe8395,0 0 12px #e11a3990}
  50%{border-color:#ffec27;box-shadow:inset 0 0 0 2px #fff,0 0 0 3px #f4db25,0 0 23px #e0143ba9}
}
@keyframes v354-icon-flash{
  0%,100%{filter:brightness(1);transform:scale(1)}
  50%{filter:brightness(1.25);transform:scale(1.05)}
}
@media(prefers-reduced-motion:reduce){
 .v353-signal.v354-flashing,.v354-flashing .v353-signal-icon{animation:none!important}
 .v353-signal.v354-flashing{outline:3px solid #d91c31!important}
}

/* INDICADORES: cajas compactas, iconos muy visibles, rótulos en negrita. */
.v353-kpi-grid{grid-template-columns:repeat(8,minmax(0,1fr))!important;gap:7px!important;margin:0 0 13px!important}
.v353-tile{min-height:81px!important;gap:1px 7px!important;padding:7px!important;
  grid-template-columns:47px minmax(0,1fr)!important;grid-template-rows:auto auto!important;
  background:linear-gradient(#fff,#f6f8fb)!important;box-shadow:0 1px 5px #1b354028!important;
  border-color:#c6d2dc!important}
.v353-tile-icon{width:45px!important;height:47px!important;border-radius:6px!important;
  box-shadow:inset 0 -3px #0002,0 1px 3px #0002!important}
.v353-tile-icon svg{height:30px!important;width:30px!important;stroke-width:2.0!important}
.v353-tile-number{font-size:26px!important;line-height:1!important;font-weight:950!important}
.v353-tile-label{font-size:12px!important;color:#263540!important;font-weight:830!important;line-height:1.1!important}

/* PANELES como el ejemplo: tres columnas y lateral fijo; tipografía contrastada. */
.v353-workspace{grid-template-columns:minmax(0,1fr) 235px!important;gap:10px!important;width:100%!important}
.v353-main-panels{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.v353-panel{min-height:214px!important;border:1px solid #bccbda!important;border-radius:8px!important;
  background:#fff!important;box-shadow:0 1px 5px #1b344429!important}
.v353-panel-heading,.v353-side-heading{min-height:42px!important;
  padding:7px 9px!important;background:linear-gradient(#fff,#e7edf3)!important;
  border-bottom:1px solid #b9cad9!important}
.v353-panel-heading h2,.v353-side-heading h2{
 font-size:15px!important;color:#151f29!important;font-weight:950!important;line-height:1.1!important
}
.v353-panel-icon{width:31px!important;height:29px!important;border-radius:5px!important}
.v353-panel-icon svg{height:22px!important;width:22px!important;stroke-width:2.2!important}
.v353-panel-heading>button,.v353-side-heading>button{font-size:12px!important;font-weight:850!important;color:#155b90!important}
.v353-panel-rows{padding:4px 9px 9px!important}
.v353-list-row{min-height:35px!important;padding:5px 3px!important;gap:8px!important;border-bottom:1px solid #dce5ec!important}
.v353-row-mark{width:5px!important;flex-basis:5px!important;height:29px!important}
.v353-row-main{gap:2px!important}
.v353-row-main strong{font-size:14px!important;line-height:1.15!important;font-weight:900!important;color:#162129!important}
.v353-row-main small{font-size:11px!important;line-height:1.15!important;color:#455966!important;font-weight:600!important}
.v353-row-tag{max-width:105px!important;padding:3px 8px!important;font-size:11px!important;
  font-weight:800!important;color:#40515e!important}
.v353-panel-due .v353-row-tag{background:#fff0c9!important;color:#805019!important}
.v353-panel-due .v353-list-row:has(.v353-mark-red) .v353-row-tag{background:#ffd3d8!important;color:#b3162c!important}
.v353-empty{font-size:12px!important;color:#5d7181!important}

/* PANEL DERECHO: calendario, accesos rápidos, destacados compactos. */
.v353-sidebar{display:flex!important;flex-direction:column!important;gap:10px!important;width:100%!important}
.v353-side-card{border:1px solid #bacada!important;box-shadow:0 1px 5px #1c364330!important}
.v353-side-heading{min-height:42px!important}
.v354-side-icon{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;color:#29333b}
.v354-side-icon svg{width:23px;height:23px}
.v353-mini-title{padding:9px 5px 7px!important;font-size:14px!important;font-weight:900!important}
.v353-mini-calendar{padding:1px 9px 10px!important}
.v353-mini-calendar b{font-size:11px!important}
.v353-caldate{min-height:26px!important;font-size:12px!important}
.v353-quick .v353-side-heading{background:linear-gradient(#ffe6a1,#ffd02c)!important}
.v353-quick>button{font-size:12px!important;font-weight:760!important;padding:7px 10px!important}
.v353-quick>button>.v354-quick-svg{width:23px!important;height:23px!important;display:grid!important;place-items:center!important}
.v354-quick-svg svg{height:19px;width:19px;stroke-width:2.2}
.v353-safety{font-size:11px!important;color:#66523a!important;font-weight:580!important;margin:10px 1px 0!important}
@media(max-width:1590px){
 .v353-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 .v353-alert-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .v353-main-panels{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .v353-workspace{grid-template-columns:minmax(0,1fr) 220px!important}
}
@media(max-width:1050px){
 .shell>.rail{width:85px!important;flex:0 0 85px!important}
 .rail .navbtn{flex-direction:column!important;justify-content:center!important;gap:2px!important}
 .rail .navbtn .navtext{font-size:10px!important;text-align:center!important}
 .v337-brand{min-width:175px!important}
 .v337-brand-name strong{font-size:17px!important}
 .v337-brand-name small{font-size:8px!important;letter-spacing:1.2px!important}
 .v337-search-form{min-width:130px!important}
 .v353-workspace{grid-template-columns:1fr!important}
 .v353-sidebar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
 .v337-brandbar{height:67px!important;min-height:67px!important;padding:6px!important;gap:5px!important}
 .v337-brand{min-width:125px!important;gap:4px!important}
 .v337-brand-icon.v338-real-logo{width:31px!important;min-width:31px!important;height:42px!important}
 .v337-brand-icon.v338-real-logo img{width:28px!important;height:40px!important}
 .v337-brand-name strong{font-size:12px!important}
 .v337-brand-name small{display:none!important}
 .v337-brand-right{gap:3px!important}
 .v337-brand-right .v337-user{display:none!important}
 .v337-ribbon-actions{min-height:66px!important;padding:5px!important}
 .v337-ribbon-action{min-width:85px!important;padding:3px!important}
 .v337-ribbon-action small{font-size:10px!important}
 .v353-home-heading{flex-wrap:wrap!important}
 .v353-home-heading h1{font-size:22px!important}
 .v353-home-heading p{font-size:11px!important}
 .v353-alert-grid,.v353-main-panels,.v353-sidebar{grid-template-columns:1fr!important}
 .v353-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .v353-signal-copy strong{font-size:15px!important}
 .v353-signal-title{font-size:14px!important}
 .shell>.rail{width:64px!important;flex-basis:64px!important}
 .rail .navbtn .navtext{font-size:9px!important}
 .rail .navbtn .nav-icon{width:27px!important;flex-basis:27px!important}
}

/* Igualar la prioridad de estilos de Inicio a los módulos restantes. */
.shell:has(.v353-dashboard)>.rail{width:151px!important;flex:0 0 151px!important}
.shell:has(.v353-dashboard) .rail .navbtn{
 min-height:43px!important;max-height:none!important;
 display:flex!important;flex-direction:row!important;gap:10px!important;
 padding:5px 9px!important;
}
.shell:has(.v353-dashboard) .rail .navbtn .nav-icon{
 background:var(--tile,#5183a5)!important;color:#fff!important;
 width:30px!important;height:29px!important;flex:0 0 30px!important;
 border:1px solid #ffffff35!important;border-radius:6px!important;
 box-shadow:inset 0 -2px #0004,0 1px 3px #0005!important;
}
.shell:has(.v353-dashboard) .rail .navbtn.active .nav-icon{background:#25292c!important;color:#ffdb36!important}
.shell:has(.v353-dashboard) .rail .navbtn .navtext{
 font-size:13px!important;line-height:1.12!important;font-weight:760!important;
 max-width:none!important;white-space:normal!important;
}
.shell:has(.v353-dashboard) .rail .navbtn.active .navtext{font-weight:950!important}
/* El resplandor animado se pinta encima sin ocultar el texto ni depender
   de propiedades con !important en la tarjeta principal. */
.v353-signal.v354-flashing::after{
 content:"";position:absolute;inset:1px;border-radius:8px;
 pointer-events:none;border:4px solid #ffe238;opacity:0;
 box-shadow:inset 0 0 13px #ffdb5a,0 0 17px #f21c3c;
 animation:v354-visible-pulse 1.1s steps(2,end) infinite;
}
@keyframes v354-visible-pulse{0%,46%{opacity:0}47%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){
 .v353-signal.v354-flashing::after{animation:none;opacity:1;border-color:#b8142b;box-shadow:none}
}
@media(max-width:1050px){
 .shell:has(.v353-dashboard)>.rail{width:85px!important;flex-basis:85px!important}
 .shell:has(.v353-dashboard) .rail .navbtn{flex-direction:column!important;justify-content:center!important;gap:2px!important}
 .shell:has(.v353-dashboard) .rail .navbtn .navtext{font-size:10px!important;text-align:center!important}
}
@media(max-width:680px){
 .shell:has(.v353-dashboard)>.rail{width:64px!important;flex-basis:64px!important}
 .shell:has(.v353-dashboard) .rail .navbtn .navtext{font-size:9px!important}
}

/* v3.55: iconos laterales de color por módulo, también si está seleccionado.
   Mantener la navegación superior y el fondo amarillo de selección. */
.rail .navbtn.active .nav-icon,
.shell:has(.v353-dashboard) .rail .navbtn.active .nav-icon{
  background:var(--tile,#5183a5)!important;
  color:#fff!important;
  border:1px solid #ffffff73!important;
  box-shadow:inset 0 -2px #0003,0 1px 3px #0004!important;
}
.rail .navbtn[data-page="calendario"] .nav-icon svg,
.rail .navbtn[data-page="siniestros"] .nav-icon svg{stroke-width:2.1!important}
