/* Tema Primavera SOBRIA de Wessel Asistencia — noviembre 2026 (para quien no tiene género definido en su ficha; solo la app del personal).
   Solo actúa cuando <html> tiene la clase "pv-sobrio". Un script en la página la pone sola del 1 al 30 de noviembre de 2026
   (hora de Perú) y en diciembre el diseño vuelve al normal sin hacer nada. Administración puede forzarlo o apagarlo en
   Configuración (settings/general.temaPrimavera = auto | on | off). Respeta el modo claro u oscuro que elija cada persona.
   Versión 2 (2026-11-02): sin rosa. Verdes y amarillo sol con el burdeos de la marca; girasol, pájaro, brote, hoja, abeja y sol.
   Íconos dibujados planos (SVG inline), sin imágenes externas. */
html.pv-sobrio:root{
  --papel:#FAFCF5; --tarjeta:#F0F5E6; --tarjeta-2:#E3ECD6; --control:#F7FAF0;
  --tinta:#1B2A1D; --tinta-suave:#4F6350; --tinta-tenue:#5F735F;
  --linea:rgba(46,100,50,.16); --linea-fuerte:rgba(46,100,50,.32);
  --sello:#2B7D49; --sobre-sello:#FFFFFF;
}
@media (prefers-color-scheme: dark){
  html.pv-sobrio:root:not([data-theme="light"]){
    --papel:#0E1811; --tarjeta:#15231A; --tarjeta-2:#1D3023; --control:#0A130D;
    --tinta:#F0F7EC; --tinta-suave:#A9BEA9; --tinta-tenue:#8FA68F;
    --linea:rgba(190,235,190,.15); --linea-fuerte:rgba(190,235,190,.3);
    --sello:#7BD99A; --sobre-sello:#082412;
  }
}
html.pv-sobrio:root[data-theme="dark"]{
  --papel:#0E1811; --tarjeta:#15231A; --tarjeta-2:#1D3023; --control:#0A130D;
  --tinta:#F0F7EC; --tinta-suave:#A9BEA9; --tinta-tenue:#8FA68F;
  --linea:rgba(190,235,190,.15); --linea-fuerte:rgba(190,235,190,.3);
  --sello:#7BD99A; --sobre-sello:#082412;
}
html.pv-sobrio:root, html.pv-sobrio:root[data-theme]{
  --pv-girasol:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(0.0 20 20)'/%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(30.0 20 20)'/%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(60.0 20 20)'/%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(90.0 20 20)'/%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(120.0 20 20)'/%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(150.0 20 20)'/%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(180.0 20 20)'/%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(210.0 20 20)'/%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(240.0 20 20)'/%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(270.0 20 20)'/%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(300.0 20 20)'/%3E%3Cellipse cx='20' cy='9.8' rx='3.2' ry='8.2' fill='%23FFC928'  transform='rotate(330.0 20 20)'/%3E%3Ccircle cx='20' cy='20' r='6.6' fill='%236B4423'/%3E%3Ccircle cx='18' cy='18' r='1' fill='%238A5A2B'/%3E%3Ccircle cx='22' cy='19' r='1' fill='%238A5A2B'/%3E%3Ccircle cx='20' cy='22.5' r='1' fill='%238A5A2B'/%3E%3C/svg%3E");
  --pv-margarita:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cellipse cx='20' cy='10' rx='3.4' ry='8.6' fill='%23FFFFFF' stroke='%23E3D9C8' stroke-width='.8' transform='rotate(0.0 20 20)'/%3E%3Cellipse cx='20' cy='10' rx='3.4' ry='8.6' fill='%23FFFFFF' stroke='%23E3D9C8' stroke-width='.8' transform='rotate(45.0 20 20)'/%3E%3Cellipse cx='20' cy='10' rx='3.4' ry='8.6' fill='%23FFFFFF' stroke='%23E3D9C8' stroke-width='.8' transform='rotate(90.0 20 20)'/%3E%3Cellipse cx='20' cy='10' rx='3.4' ry='8.6' fill='%23FFFFFF' stroke='%23E3D9C8' stroke-width='.8' transform='rotate(135.0 20 20)'/%3E%3Cellipse cx='20' cy='10' rx='3.4' ry='8.6' fill='%23FFFFFF' stroke='%23E3D9C8' stroke-width='.8' transform='rotate(180.0 20 20)'/%3E%3Cellipse cx='20' cy='10' rx='3.4' ry='8.6' fill='%23FFFFFF' stroke='%23E3D9C8' stroke-width='.8' transform='rotate(225.0 20 20)'/%3E%3Cellipse cx='20' cy='10' rx='3.4' ry='8.6' fill='%23FFFFFF' stroke='%23E3D9C8' stroke-width='.8' transform='rotate(270.0 20 20)'/%3E%3Cellipse cx='20' cy='10' rx='3.4' ry='8.6' fill='%23FFFFFF' stroke='%23E3D9C8' stroke-width='.8' transform='rotate(315.0 20 20)'/%3E%3Ccircle cx='20' cy='20' r='5.6' fill='%23F6C21C'/%3E%3C/svg%3E");
  --pv-pajaro:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M8 24L1 20l2 7 7 1z' fill='%232F7FC4'/%3E%3Cellipse cx='19' cy='23' rx='12' ry='8.5' fill='%234DA3E8'/%3E%3Ccircle cx='28' cy='15.5' r='6.4' fill='%234DA3E8'/%3E%3Cpath d='M33.6 14.6L39 16.6l-5.4 2.4z' fill='%23F2A33A'/%3E%3Cellipse cx='19' cy='26' rx='8' ry='4.8' fill='%23F6E7C8'/%3E%3Cpath d='M10 21q6-6 14-1q-4 7-11 6z' fill='%232F7FC4'/%3E%3Ccircle cx='29.5' cy='14.5' r='1.5' fill='%231B2A1D'/%3E%3Ccircle cx='30' cy='14' r='.5' fill='%23FFFFFF'/%3E%3Cpath d='M17 31v5M22 31v5' stroke='%238A5A2B' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  --pv-brote:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M6 36q14-6 28 0z' fill='%238A5A2B'/%3E%3Cpath d='M20 34V18' stroke='%233E9A52' stroke-width='2.8' stroke-linecap='round' fill='none'/%3E%3Cpath d='M20 22C12 22 8 17 8 10c8 0 12 4 12 12z' fill='%2362C26E'/%3E%3Cpath d='M20 18c0-7 4-11 12-11 0 7-4 11-12 11z' fill='%234FB25D'/%3E%3C/svg%3E");
  --pv-hoja:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M6 33C5 17 15 6 33 6c1 18-9 28-27 27z' fill='%235DBB63'/%3E%3Cpath d='M6 33C15 24 22 17 30 9' stroke='%232F7D3A' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  --pv-abeja:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cellipse cx='15' cy='12' rx='7' ry='5' transform='rotate(-30 15 12)' fill='%23CFE9FF' fill-opacity='.9'/%3E%3Cellipse cx='25' cy='12' rx='7' ry='5' transform='rotate(30 25 12)' fill='%23CFE9FF' fill-opacity='.9'/%3E%3Cellipse cx='20' cy='24' rx='10' ry='9' fill='%23FFC928'/%3E%3Cpath d='M13 22q7 3 14 0M12 28q8 4 16 0' stroke='%232B2118' stroke-width='3' fill='none' stroke-linecap='round'/%3E%3Ccircle cx='26' cy='20' r='1.5' fill='%232B2118'/%3E%3C/svg%3E");
  --pv-sol:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Crect x='18.6' y='2' width='2.8' height='7' rx='1.4' fill='%23FFB81F' transform='rotate(0 20 20)'/%3E%3Crect x='18.6' y='2' width='2.8' height='7' rx='1.4' fill='%23FFB81F' transform='rotate(45 20 20)'/%3E%3Crect x='18.6' y='2' width='2.8' height='7' rx='1.4' fill='%23FFB81F' transform='rotate(90 20 20)'/%3E%3Crect x='18.6' y='2' width='2.8' height='7' rx='1.4' fill='%23FFB81F' transform='rotate(135 20 20)'/%3E%3Crect x='18.6' y='2' width='2.8' height='7' rx='1.4' fill='%23FFB81F' transform='rotate(180 20 20)'/%3E%3Crect x='18.6' y='2' width='2.8' height='7' rx='1.4' fill='%23FFB81F' transform='rotate(225 20 20)'/%3E%3Crect x='18.6' y='2' width='2.8' height='7' rx='1.4' fill='%23FFB81F' transform='rotate(270 20 20)'/%3E%3Crect x='18.6' y='2' width='2.8' height='7' rx='1.4' fill='%23FFB81F' transform='rotate(315 20 20)'/%3E%3Ccircle cx='20' cy='20' r='8.5' fill='%23FFCE3A'/%3E%3C/svg%3E");
  --pv-enredadera:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 150' fill='none' stroke-linecap='round'%3E%3Cpath d='M-4 14Q36 10 62 36T104 92 118 146' stroke='%234C9A5A' stroke-width='3'/%3E%3Cpath d='M14 12q3 14 15 16' stroke='%234C9A5A' stroke-width='2'/%3E%3Cg fill='%236CC57A'%3E%3Cellipse cx='24' cy='28' rx='11' ry='5.5' transform='rotate(35 24 28)'/%3E%3Cellipse cx='50' cy='28' rx='11' ry='5.5' transform='rotate(-35 50 28)'/%3E%3Cellipse cx='74' cy='60' rx='11' ry='5.5' transform='rotate(40 74 60)'/%3E%3Cellipse cx='94' cy='72' rx='11' ry='5.5' transform='rotate(-30 94 72)'/%3E%3Cellipse cx='112' cy='108' rx='10' ry='5' transform='rotate(35 112 108)'/%3E%3Cellipse cx='126' cy='126' rx='10' ry='5' transform='rotate(-35 126 126)'/%3E%3C/g%3E%3Cg%3E%3Ccircle cx='38' cy='16' r='5.6' fill='%23FFC928'/%3E%3Ccircle cx='38' cy='16' r='2.2' fill='%236B4423'/%3E%3Ccircle cx='84' cy='46' r='5' fill='%23FFFFFF'/%3E%3Ccircle cx='84' cy='46' r='2' fill='%23F6C21C'/%3E%3Ccircle cx='103' cy='94' r='5.4' fill='%23FFC928'/%3E%3Ccircle cx='103' cy='94' r='2.1' fill='%236B4423'/%3E%3C/g%3E%3C/svg%3E");
}
/* detalles de color (el botón principal y la salida conservan el burdeos de la marca) */
html.pv-sobrio .btn-principal{ box-shadow:0 4px 16px rgba(124,31,53,.2); }
html.pv-sobrio .btn-marcar{ box-shadow:0 6px 20px rgba(43,125,73,.16); }
html.pv-sobrio .btn-marcar.salida{ box-shadow:0 6px 20px rgba(124,31,53,.22); }
html.pv-sobrio .btn-marcar.btn-extra{ background:#F6C21C; color:#2A2200; border-color:#2A2200; box-shadow:0 3px 0 #2A2200; }
html.pv-sobrio .btn-marcar.btn-extra.en-curso{ background:var(--burdeos); color:#fff; border-color:#fff; }
html.pv-sobrio .tarjeta, html.pv-sobrio .casilla{ border-color:var(--linea-fuerte); }

/* ---- decoración minimalista ---- */
/* franja fina arriba: verde → amarillo → celeste */
html.pv-sobrio body{ border-top:3px solid transparent; border-image:linear-gradient(90deg,#4FB25D,#FFC928,#6FB7E9) 1; overflow-x:hidden; }
/* girasol junto al saludo */
html.pv-sobrio #saludo{ position:relative; }
html.pv-sobrio #saludo::after{ content:''; margin-left:auto; width:36px; height:36px; flex:none; background:var(--pv-girasol) center / contain no-repeat; }
/* fila de íconos bajo el reloj: girasol · pájaro · margarita · abeja · brote · hoja */
html.pv-sobrio .reloj::after{ content:''; display:block; height:28px; margin:10px auto 0; max-width:300px;
  background:var(--pv-girasol) 3% center / 25px no-repeat, var(--pv-pajaro) 21% center / 26px no-repeat, var(--pv-margarita) 39% center / 24px no-repeat,
             var(--pv-abeja) 57% center / 24px no-repeat, var(--pv-brote) 75% center / 26px no-repeat, var(--pv-hoja) 96% center / 24px no-repeat; opacity:.97; }
/* enredaderas con flores amarillas y blancas bajo la barra de arriba, en las dos esquinas (la derecha va en espejo) */
html.pv-sobrio::before, html.pv-sobrio::after{ content:''; position:fixed; top:72px; width:84px; height:84px; pointer-events:none; z-index:1; opacity:.5; background:var(--pv-enredadera) top left / contain no-repeat; }
html.pv-sobrio::before{ left:0; }
html.pv-sobrio::after{ right:0; transform:scaleX(-1); }
/* brote y pájaro fijos abajo (suben cuando la barra de pestañas está a la vista) */
html.pv-sobrio body::before{ content:''; position:fixed; inset:0; pointer-events:none; z-index:2;
  background:var(--pv-brote) left 10px bottom 12px / 34px no-repeat; opacity:.95; }
html.pv-sobrio body.tm-nav::before{ background:var(--pv-brote) left 10px bottom 82px / 34px no-repeat; }
html.pv-sobrio body::after{ content:''; position:fixed; right:10px; bottom:12px; width:38px; height:38px; pointer-events:none; z-index:2; background:var(--pv-pajaro) center / contain no-repeat; opacity:.97; }
html.pv-sobrio body.tm-nav::after{ bottom:82px; }
/* sol junto al reloj */
html.pv-sobrio .reloj{ position:relative; }
html.pv-sobrio .reloj::before{ content:''; position:absolute; top:-2px; right:16px; width:30px; height:30px; pointer-events:none; background:var(--pv-sol) center / contain no-repeat; }
/* pájaro que cruza la pantalla cerca del saludo */
html.pv-sobrio #saludo::before{ content:''; position:absolute; top:-4px; left:-40px; width:26px; height:26px; pointer-events:none; background:var(--pv-pajaro) center / contain no-repeat; }
@media (prefers-reduced-motion: no-preference){
  html.pv-sobrio body::after{ animation:pv-flota 5s ease-in-out infinite; }
  @keyframes pv-flota{ 0%,100%{ transform:translate(0,0) rotate(-4deg); } 50%{ transform:translate(-4px,-8px) rotate(4deg); } }
  html.pv-sobrio .reloj::before{ animation:pv-gira 24s linear infinite; }
  @keyframes pv-gira{ to{ transform:rotate(360deg); } }
  html.pv-sobrio #saludo::before{ animation:pv-vuela 18s linear infinite; }
  @keyframes pv-vuela{ 0%{ transform:translate(0,0) rotate(-6deg); } 25%{ transform:translate(26vw,14px) rotate(6deg); } 50%{ transform:translate(52vw,-4px) rotate(-5deg); } 75%{ transform:translate(78vw,16px) rotate(6deg); } 100%{ transform:translate(112vw,2px) rotate(-6deg); } }
  html.pv-sobrio .btn-marcar:not(:disabled):not(.btn-extra){ animation:pv-late 3.8s ease-in-out infinite; }
  @keyframes pv-late{ 0%,100%{ box-shadow:0 6px 20px rgba(43,125,73,.14); } 50%{ box-shadow:0 6px 28px rgba(43,125,73,.32); } }
}
/* en pantallas grandes: adornos más pequeños, sin sol girando ni pájaro cruzando */
@media (min-width:900px){
  html.pv-sobrio body::before{ background:var(--pv-brote) left 12px bottom 12px / 30px no-repeat; }
  html.pv-sobrio body::after{ bottom:12px; right:14px; width:30px; height:30px; }
  html.pv-sobrio .reloj::before, html.pv-sobrio #saludo::before{ display:none; }
}
/* impresión y reportes: sin decoración */
@media print{ html.pv-sobrio::before, html.pv-sobrio::after, html.pv-sobrio body::before, html.pv-sobrio body::after, html.pv-sobrio #saludo::after, html.pv-sobrio #saludo::before, html.pv-sobrio .reloj::before, html.pv-sobrio .reloj::after{ display:none !important; } }
