@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef1f6;--surface:#fff;--surface-muted:#f4f6fa;--fila-alterna:#f7f9fc;--border:#d8dde7;--border-suave:#e7ebf2;--border-strong:#c2c9d6;--text:#16202e;--muted:#5c6675;--primary:#1e4fd6;--primary-hover:#1840b3;--on-primary:#fff;--primary-soft:#eaf0ff;--primary-light:#5b86f0;--primary-borde:#c3d4ff;--focus:#0b57d0;--ok:#15803d;--bad:#c02626;--warn:#b45309;--on-warn:#fff;--on-bad:#fff;--ok-fondo:#e3f4e9;--ok-texto:#166534;--ok-borde:#b8e2c6;--bad-fondo:#fdecec;--bad-texto:#a11f1f;--bad-borde:#f0c2c2;--warn-fondo:#fdf0dc;--warn-texto:#92500a;--warn-borde:#f3d9a8;--serie-ok:#15803d;--serie-revision:#ca8a04;--serie-bad:#c02626;--sidebar:#0f1b2d;--sidebar-text:#aab6c6;--sidebar-muted:#9aa8bb;--degradado-login:linear-gradient(135deg, #eef1f6 0%, #e3e8f1 100%);--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0f1b2d0f, 0 0 0 1px #0f1b2d05;--shadow-md:0 4px 12px #0f1b2d1a, 0 1px 3px #0f1b2d0f;--panel:var(--surface);--accent:var(--primary);--accent-soft:var(--primary-soft);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}:root[data-tema=oscuro]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--surface:#151b24;--surface-muted:#1c232e;--fila-alterna:#191f29;--border:#2a3340;--border-suave:#222a35;--border-strong:#3b4655;--text:#e6edf3;--muted:#93a0b0;--primary:#ff8f45;--primary-hover:#ffa367;--on-primary:#10151c;--primary-soft:#ff8f4521;--primary-light:#ffb181;--primary-borde:#ff8f4559;--focus:#ffb181;--ok:#4ade80;--bad:#fb7185;--warn:#fbbf24;--on-warn:#10151c;--on-bad:#10151c;--ok-fondo:#4ade801f;--ok-texto:#6ee7a0;--ok-borde:#4ade804d;--bad-fondo:#fb71851f;--bad-texto:#fda4af;--bad-borde:#fb71854d;--warn-fondo:#fbbf241f;--warn-texto:#fcd34d;--warn-borde:#fbbf244d;--serie-ok:#16a34a;--serie-revision:#d97706;--serie-bad:#e11d48;--sidebar:#0a0e15;--sidebar-text:#9aa7b8;--sidebar-muted:#93a0b0;--degradado-login:linear-gradient(135deg, #0d1117 0%, #141b26 100%);--shadow-sm:0 1px 2px #0006, 0 0 0 1px #ffffff08;--shadow-md:0 8px 24px #00000080, 0 2px 6px #0000004d}:root[data-tema=oscuro] .leaflet-tile-pane{filter:brightness(.72)contrast(1.06)saturate(.85)}*{box-sizing:border-box}body{background:var(--bg);margin:0}#root{width:100%;min-height:100vh}a{color:inherit;text-decoration:none}.content a:not(.btn):not(.btn-ghost):not(.tab-btn):hover{color:var(--primary)}h2{letter-spacing:-.01em;margin:0 0 16px;font-size:21px;font-weight:700}h3{margin:0 0 12px;font-size:15px;font-weight:700}h1{letter-spacing:-.01em;margin:0 0 16px;font-size:21px;font-weight:700}.muted{color:var(--muted)}.small{font-size:13px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.skip-link{z-index:2000;background:var(--surface);color:var(--text);border:2px solid var(--focus);border-radius:var(--radius);padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}::-webkit-scrollbar-track{background:0 0}.layout{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--sidebar);width:224px;color:var(--sidebar-text);flex-direction:column;flex-shrink:0;transition:width .18s;display:flex}.brand{color:#fff;justify-content:space-between;align-items:center;gap:10px;padding:16px 14px 16px 22px;font-size:18px;font-weight:700;display:flex}.brand>span{gap:3px;display:grid}.menu-movil{border-radius:var(--radius);color:#fff;width:44px;height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #52627a;flex:0 0 44px;place-items:center;font-size:24px;display:grid}.brand-logo{width:auto;height:24px;display:block}.brand .brand-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--sidebar-muted);font-size:11px;font-weight:700}.login-card .brand-sub{color:var(--muted)}.brand .brand-mark{background:var(--primary);width:26px;height:26px;color:var(--on-primary);border-radius:7px;flex-shrink:0;place-items:center;font-size:14px;display:grid}.sidebar nav{flex-direction:column;flex:1;gap:2px;padding:6px 8px;display:flex;overflow-y:auto}.nav-section{text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-muted);padding:16px 14px 6px;font-size:11px;font-weight:700}.sidebar nav a{border-radius:var(--radius);color:var(--sidebar-text);align-items:center;gap:12px;padding:11px 14px;font-size:15px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar nav a svg{opacity:.85;flex-shrink:0;width:19px;height:19px}.sidebar nav a:hover{color:#fff;background:#ffffff12}.sidebar nav a.active{background:var(--primary);color:var(--on-primary);box-shadow:inset 3px 0 0 var(--primary-light);font-weight:600}.sidebar nav a.active svg{opacity:1}.sidebar-foot{color:var(--sidebar-muted);border-top:1px solid #ffffff0f;padding:14px 18px;font-size:11px}.sidebar.contraida{width:72px}.sidebar.contraida .brand{justify-content:center;padding:16px 14px}.sidebar.contraida .brand>span,.sidebar.contraida .nav-section,.sidebar.contraida .sidebar-foot{display:none}.sidebar.contraida nav a{justify-content:center;gap:0;padding-inline:10px;font-size:0;position:relative}.sidebar.contraida nav a svg{width:22px;height:22px}.sidebar.contraida .nav-badge{min-width:17px;height:17px;padding:0 4px;font-size:9px;position:absolute;top:2px;right:2px}.main{flex-direction:column;flex:1;min-width:0;height:100vh;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);height:60px;box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:flex-end;align-items:center;padding:0 28px;display:flex}.topbar .user{color:var(--muted);align-items:center;gap:14px;font-size:14px;display:flex}.topbar .who{align-items:center;gap:10px;display:flex}.topbar .who b{color:var(--text);font-weight:600}.avatar{background:var(--primary-soft);width:32px;height:32px;color:var(--primary);border-radius:999px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.content{flex:1;padding:28px;overflow-y:auto}.content:focus{outline:none}.page-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.page-head h1,.page-head h2{margin:0}.title-row{align-items:center;gap:12px;min-width:0;display:flex}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-head h3{margin:0}.section-head:last-child{margin-bottom:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:18px;padding:20px}.table-panel{border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}.cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px;margin-bottom:18px;display:grid}.cards-resumen{grid-template-columns:repeat(var(--cols,3), minmax(0, 1fr))}@media (width<=980px){.cards-resumen{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=520px){.cards-resumen{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}.campo-ayuda{font-weight:400}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px;transition:box-shadow .15s,border-color .15s,transform .15s}.card[style*=cursor]:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-button{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit}.card-button:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card.compact{border-radius:var(--radius);padding:16px}.card.apagada .card-value{color:var(--muted)}.obra-periodo{letter-spacing:.02em;margin:14px 0 6px;font-weight:600}.obra-periodo:first-of-type{margin-top:0}.card-value{overflow-wrap:anywhere}.card-value,.card-label{display:block}.card-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1}.card.compact .card-value{font-size:24px}.card-value.ok{color:var(--ok)}.card-value.bad{color:var(--bad)}.card-value.warn{color:var(--warn)}.plantilla-bajo{color:var(--warn);font-weight:600}.card-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:8px;font-size:13px;font-weight:600}.grid-2{grid-template-columns:1fr 1fr;gap:18px;display:grid}@media (width<=980px){.grid-2{grid-template-columns:1fr}}.empleados-resumen{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:14px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:2px solid var(--border);background:var(--surface-muted);white-space:nowrap;z-index:1;padding:11px 12px;font-size:11px;font-weight:700;position:sticky;top:0}.table td{border-bottom:1px solid var(--border-suave);vertical-align:middle;color:var(--text);font-variant-numeric:tabular-nums;padding:12px}.table tbody tr:nth-child(2n) td{background:var(--fila-alterna)}.table tbody tr:hover td{background:var(--primary-soft)}.table tr:last-child td{border-bottom:none}.empty-state{color:var(--muted);text-align:center;padding:32px 10px}.badge{letter-spacing:.02em;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:999px;flex-shrink:0;width:6px;height:6px}.badge.APROBADO{background:var(--ok-fondo);color:var(--ok-texto);border-color:var(--ok-borde)}.badge.RECHAZADO{background:var(--bad-fondo);color:var(--bad-texto);border-color:var(--bad-borde)}.badge.REVISION{background:var(--warn-fondo);color:var(--warn-texto);border-color:var(--warn-borde)}.badge.NEUTRO{color:var(--muted);border-color:var(--border);background:0 0}@keyframes pulseWarn{0%,to{opacity:.55;transform:scale(1)}50%{opacity:0;transform:scale(1.12)}}.pulse-warn,.nav-badge,.card.pulsa{position:relative}.pulse-warn:after,.nav-badge:after,.card.pulsa:after{content:"";border-radius:inherit;pointer-events:none;animation:1.6s ease-in-out infinite pulseWarn;position:absolute;inset:-3px;box-shadow:0 0 0 3px #b4530973}@media (prefers-reduced-motion:reduce){.pulse-warn:after,.nav-badge:after,.card.pulsa:after{opacity:0;animation:none}}.pulse-warn{background:var(--warn-fondo);color:var(--warn-texto);border:1px solid var(--warn-borde);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.nav-badge{background:var(--warn);min-width:20px;height:20px;color:var(--on-warn);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.obras-search{width:100%;margin-bottom:12px}.turnos-emp{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted);margin-bottom:12px;padding:14px 16px}.turnos-emp-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.turnos-emp .table-panel{background:var(--surface)}.card.pulsa{border-color:var(--warn-borde)}.resumen-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);grid-template-areas:"actividad obras""salidas salidas";align-items:start;gap:18px;display:grid}.resumen-grid.sin-obras{grid-template-areas:"actividad actividad""salidas salidas"}.resumen-actividad{grid-area:actividad}.resumen-salidas{grid-area:salidas}.resumen-obras{grid-area:obras}.resumen-grid>.panel,.grid-2>.panel{margin-bottom:0}.resumen-grid>.panel{min-width:0}.resumen-grid .section-head{align-items:flex-start;min-height:46px}.resumen-grid .section-head>.row-actions,.resumen-grid .section-head>.btn-ghost{margin-top:1px}.grafica{position:relative}.grafica-svg{width:100%;height:240px;display:block;overflow:visible}.grafica-guia{stroke:var(--border);stroke-width:1px;stroke-dasharray:3 5}.grafica-guia.base{stroke:var(--border-strong);stroke-dasharray:none}.grafica-eje{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.grafica-eje.destacado{fill:var(--text);font-weight:600}.grafica-zona{fill:#0000;rx:6;transition:fill .12s}.grafica-zona.activa{fill:var(--primary-soft)}.grafica-zona.pulsa{cursor:pointer}.grafica-zona.pulsa:focus{fill:var(--primary-soft);outline:2px solid var(--primary);outline-offset:-2px}.grafica-tramo{pointer-events:none;transform-origin:bottom;transition:opacity .12s,transform .12s}.grafica:hover .grafica-tramo{opacity:.35}.grafica g:hover .grafica-tramo{opacity:1}.grafica-lectura{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius);min-height:38px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:10px;padding:9px 12px;font-size:12px;transition:background .12s,border-color .12s;display:flex}.grafica-lectura.activa{background:var(--primary-soft);border-color:var(--primary-light)}.grafica-lectura-dia{color:var(--text);min-width:96px;font-weight:700;display:inline-block}.grafica-lectura-dia:first-letter,.actividad-detalle h4:first-letter{text-transform:uppercase}.grafica-lectura-total{margin-left:auto}.grafica-lectura-total b{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px}.grafica-clave{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.grafica-clave b{color:var(--text);font-variant-numeric:tabular-nums}.actividad-detalle{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.actividad-detalle h4{margin:0 0 6px}.actividad-cargando{text-align:center;padding:18px 0}.actividad-cuenta{min-width:38px}.actividad-cuenta:disabled{opacity:.55}.obras-barras{gap:6px;display:grid}.obra-barra{text-align:left;border-radius:var(--radius);cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:1px solid #0000;grid-template-columns:1fr;gap:5px;padding:9px 10px;transition:background .12s,border-color .12s;display:grid}.obra-barra:hover{background:var(--surface-muted);border-color:var(--border)}.obra-barra-nombre{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.obra-barra-pista{background:var(--border);border-radius:999px;min-width:24px;height:10px;display:block}.obra-barra-fill{background:var(--primary);border-radius:999px;height:100%;transition:width .25s;display:block}.obra-barra-valor{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.obra-barra-valor b{color:var(--text);font-size:14px}.plantillas{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.plantilla{text-align:left;cursor:pointer;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:5px;padding:14px;transition:border-color .12s,box-shadow .12s,transform .12s;display:grid}.plantilla:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.plantilla strong{font-size:15px}.plantilla-hojas{color:var(--primary);font-size:12px;font-weight:600}.reporte-armador{grid-template-columns:minmax(230px,300px) minmax(0,1fr);gap:0;margin-bottom:18px;padding:0;display:grid;overflow:hidden}.reporte-hojas{border-right:1px solid var(--border);background:var(--surface-muted);align-content:start;gap:2px;padding:8px;display:grid}.reporte-titulo{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px 10px;font-size:12px;font-weight:700;display:flex}.reporte-hoja{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;align-items:center;gap:10px;padding:10px 12px;transition:background .12s,border-color .12s,box-shadow .12s;display:flex;position:relative}.reporte-hoja:hover{background:var(--surface)}.reporte-hoja.en-foco{background:var(--surface);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.reporte-hoja.en-foco:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.reporte-hoja.incluida strong{color:var(--primary)}.reporte-hoja.incluida .muted{color:var(--primary-hover)}.reporte-hoja-texto{gap:1px;min-width:0;display:grid}.reporte-columnas{min-height:260px;padding:8px 14px 16px}.reporte-desc{margin:0 10px 12px}.pista-esencial{text-transform:uppercase;letter-spacing:.04em;color:var(--primary);background:var(--primary-soft);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px}.resumen-reporte{gap:4px;display:grid}.selector{flex-direction:column;gap:6px;min-width:0;display:flex;position:relative}.selector-titulo{color:var(--text);font-size:14px;font-weight:600}.selector-boton{width:100%;min-width:200px;font:inherit;text-align:left;cursor:pointer;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;font-size:15px;line-height:1.4;transition:border-color .12s;display:flex}.selector-boton:hover{border-color:var(--border-strong)}.selector-boton.abierto{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.selector-boton.abierto svg{transform:rotate(180deg)}.selector-boton svg{color:var(--muted);flex-shrink:0;transition:transform .15s}.selector-panel{z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:max(240px,100%);max-height:260px;box-shadow:var(--shadow-md);margin-top:4px;padding:5px;position:absolute;top:100%;left:0;overflow-y:auto}.selector-buscar{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);align-items:center;gap:7px;margin-bottom:6px;padding:7px 9px;display:flex}.selector-buscar:focus-within{border-color:var(--primary);background:var(--surface)}.selector-buscar input{min-width:0;font:inherit;color:var(--text);background:0 0;border:0;flex:1;padding:0;font-size:13px}.selector-buscar input:focus{box-shadow:none;outline:none}.selector-limpiar{cursor:pointer;width:32px;height:32px;color:var(--muted);background:0 0;border:0;padding:0;font-size:17px;line-height:1}.selector-limpiar:hover{color:var(--text)}.selector-filas{max-height:244px;overflow-y:auto}.selector-fila{cursor:pointer;text-align:left;border-radius:var(--radius);border:1px solid #0000;flex-direction:row;align-items:center;gap:12px;min-height:44px;padding:9px 10px;transition:background .1s;display:flex}.selector-fila+.selector-fila{box-shadow:0 -1px 0 var(--border) inset}.selector-fila:hover{background:var(--surface-muted)}.selector-fila.activa{background:var(--primary-soft);border-color:var(--primary-borde);box-shadow:none}.selector-fila.activa+.selector-fila{box-shadow:none}.selector-fila.todas{margin-bottom:6px}.selector-fila input[type=checkbox]{cursor:pointer;flex-shrink:0;width:17px;height:17px;margin:0}.selector-nombre{flex:1;gap:2px;min-width:0;display:grid}.selector-nombre strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.selector-fila.activa .selector-nombre strong{color:var(--primary-hover)}.selector-meta{color:var(--muted);gap:7px;font-size:11px;display:flex}.selector-vacio{text-align:center;color:var(--muted);padding:18px 10px;font-size:13px}.selector-estado{text-transform:uppercase;letter-spacing:.3px;font-weight:600}.selector-boton:disabled{background:var(--surface-muted);color:var(--muted);cursor:default}.selector-boton.sin-valor .selector-resumen{color:var(--muted)}.selector-resumen{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.selector-requerido{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;left:14px}button.selector-fila{width:100%;font:inherit;color:inherit;background:0 0}.selector-check{color:var(--primary);flex-shrink:0}.selector-fila.deshabilitada,button.selector-fila:disabled{opacity:.5;cursor:not-allowed}.form-row .selector{flex:1;min-width:180px}.col-marca{width:36px}.seleccion-barra{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jornada-detalles{flex-wrap:wrap;gap:22px;padding:10px 14px;font-size:13px;display:flex}.intento-detalle{background:var(--surface-muted);border-radius:var(--radius);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:10px;padding:8px 10px;display:flex}.intento-motivo{flex:1;min-width:180px}.segmentado{border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmentado-btn{background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border:0;border-left:1px solid var(--border);padding:5px 11px;font-size:12px}.segmentado-btn:first-child{border-left:0}.segmentado-btn:hover{background:var(--surface-muted);color:var(--text)}.segmentado-btn.activo{background:var(--primary-soft);color:var(--primary);font-weight:600}.autocomplete-list{z-index:1000;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);max-height:240px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.autocomplete-list li{cursor:pointer;border-radius:6px;padding:8px 10px;font-size:13px}.autocomplete-list li:hover{background:var(--primary-soft)}input,select,textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:11px 12px;font-size:15px;line-height:1.4}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1e4fd626}input:disabled,select:disabled,textarea:disabled{background:var(--surface-muted);color:var(--muted)}input[type=checkbox],input[type=radio]{accent-color:var(--primary);flex:none;width:20px;height:20px;margin:2px;padding:0}.btn-soporte{border-radius:50%;width:34px;height:34px;padding:0;font-size:17px;font-weight:800}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235c6675' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:32px}label{color:var(--text);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.form-row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.form-row input,.form-row select{flex:1;min-width:120px}.btn{background:var(--primary);color:var(--on-primary);border-radius:var(--radius);min-height:44px;font:inherit;cursor:pointer;border:none;align-items:center;gap:8px;padding:11px 18px;font-size:15px;font-weight:600;transition:background .15s,box-shadow .15s,transform 50ms;display:inline-flex;box-shadow:0 1px 2px #1e4fd640}.btn:hover{background:var(--primary-hover)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.55;cursor:default;box-shadow:none}.btn-ghost{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;min-height:44px;font:inherit;color:var(--text);align-items:center;gap:8px;padding:9px 16px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.btn-ghost:hover{background:var(--surface-muted);border-color:var(--border-strong)}.btn-ghost.danger{color:var(--bad);border-color:var(--bad-borde)}.btn-ghost.danger:hover{background:var(--bad-fondo);border-color:var(--bad)}.btn-danger{background:var(--bad);color:var(--on-bad);border-radius:var(--radius);min-height:44px;font:inherit;cursor:pointer;border:none;padding:11px 18px;font-weight:600}.btn-danger:hover{background:var(--bad-texto)}.btn-sm{min-height:36px;padding:6px 12px;font-size:13px}.error{background:var(--bad-fondo);color:var(--bad-texto);border:1px solid var(--bad-borde);border-radius:var(--radius);margin:8px 0;padding:10px 12px;font-size:14px}.notice{background:var(--primary-soft);color:var(--primary-hover);border:1px solid var(--primary-borde);border-radius:var(--radius);margin:8px 0 14px;padding:10px 12px;font-size:14px}.empleados-toolbar{justify-content:space-between}.toolbar-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.empleado-main{flex-direction:column;gap:3px;display:flex}.col-obras{min-width:220px;max-width:380px}.obra-tags{flex-wrap:wrap;gap:6px;display:flex}.obra-chip{border:1px solid var(--primary-borde);background:var(--primary-soft);max-width:100%;color:var(--primary-hover);border-radius:999px;align-items:center;gap:6px;padding:3px 7px 3px 9px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.obra-chip button{background:var(--primary-borde);min-width:24px;height:24px;color:var(--primary-hover);cursor:pointer;font:inherit;border:0;border-radius:999px;padding:0 5px;font-weight:700;line-height:1}.obra-chip button:hover{background:var(--primary-light)}.row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.asignar-obras select{min-width:190px}.login-wrap{background:var(--degradado-login);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:380px;max-width:100%;box-shadow:var(--shadow-md);flex-direction:column;gap:16px;padding:36px;display:flex}.login-card .brand{color:var(--text);padding:0 0 4px;font-size:20px}.login-card h1{margin:0;font-size:22px}.login-card .btn{justify-content:center;width:100%;margin-top:8px;padding:12px}.modal-bg{z-index:1000;background:#0f1b2d9e;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);max-width:90vw;max-height:90vh;box-shadow:var(--shadow-md);padding:22px;overflow:auto}.modal-wide{width:min(1120px,94vw)}.modal-form-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;display:grid}.modal-actions{grid-column:1/-1}.obra-modal-grid{grid-template-columns:minmax(360px,1fr) minmax(320px,.85fr);align-items:stretch;gap:16px;display:grid}.modal-map{grid-template-rows:1fr auto auto;gap:8px;min-height:460px;display:grid}.coordenadas-manuales{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.alta-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px 18px;width:min(660px,86vw);display:grid}.alta-form>.form-seccion,.alta-form>.full{grid-column:1/-1}.form-seccion{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;margin-top:6px;font-size:12px;font-weight:700;display:flex}.form-seccion:after{content:"";background:var(--border);flex:1;height:1px}.alta-form>.form-seccion:first-child,.alta-form .obra-checks{margin-top:0}.obra-checks{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);gap:8px;max-height:180px;margin-top:12px;padding:10px;display:grid;overflow:auto}.modal img{border-radius:var(--radius);max-width:70vw;max-height:75vh;display:block}.btn-tema,.btn-soporte{justify-content:center;width:44px;height:44px;padding:0;line-height:0}.btn-tema svg{width:17px;height:17px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.leaflet-container{border-radius:var(--radius)}.obras-shell{grid-template-columns:minmax(340px,1fr) minmax(420px,1.05fr);align-items:start;gap:18px;display:grid}.obras-list{gap:12px;display:grid}.obra-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:16px;transition:border-color .15s,box-shadow .15s,transform .15s}.obra-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.obra-card.is-off{opacity:.62}.obra-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.obra-title{font-size:15px;font-weight:700}.obra-title:hover{color:var(--primary)}.obra-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.obra-facts span{border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);background:var(--surface-muted);padding:8px;font-size:12px;display:block}.obra-facts strong{color:var(--text);font-weight:700}.obra-actions{justify-content:flex-start}.action-menu{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.action-menu-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:4px;padding:6px;display:flex}.action-menu-list .btn-ghost{justify-content:flex-start}.map-panel{position:sticky;top:0}.map-panel .leaflet-container{border-radius:var(--radius);height:clamp(380px,52vh,620px)!important}.obra-resumen{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:14px}.obra-detail-grid{grid-template-columns:1fr;gap:18px;display:grid}.info-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.info-grid div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);padding:10px}.info-grid span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.info-grid strong{font-size:14px}.tabs{gap:6px;margin:4px 0 16px;display:flex;overflow-x:auto}.tab-btn{border:1px solid var(--border);background:var(--panel-2,var(--panel));color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;min-height:44px;padding:10px 16px;font-size:15px;font-weight:600;transition:color .15s,background .15s,border-color .15s}.tab-btn:hover{color:var(--text);border-color:var(--muted)}.tab-btn.active{color:var(--on-primary);background:var(--primary);border-color:var(--primary);font-weight:700}.report-head{align-items:flex-start}.report-toolbar{grid-template-columns:minmax(220px,2fr) minmax(170px,1fr);align-items:end;gap:12px;margin-bottom:14px;display:grid}.report-toolbar input,.report-toolbar select{width:100%}.report-quick{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.jornada-summary{justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;display:flex}.jornada-estados{flex:1;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.jornada-estados .badge{text-align:center;justify-content:center}.jornada-firmas{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.semana-dia.advertencia{box-shadow:0 0 0 2px var(--warn)}.alerta-grande{border:2px solid var(--bad);border-radius:var(--radius);background:var(--bad-fondo);color:var(--bad-texto);flex-direction:column;gap:4px;margin:0 0 14px;padding:14px 16px;font-size:14px;display:flex}.alerta-grande strong{font-size:16px}.table tr.fila-roja td{background:var(--bad-fondo)}.table tr.fila-roja td:first-child{box-shadow:inset 3px 0 0 var(--bad)}.nota-reapertura{border-left:3px solid var(--warn);background:var(--warn-fondo);color:var(--warn-texto);border-radius:4px;margin:6px 0 0;padding:6px 10px;font-size:12px}.con-ayuda{cursor:help}.fuera-ahora{border-top:1px solid var(--border-suave);margin-top:18px;padding-top:16px}.semana-tabs{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:16px;display:flex}.semana-tab{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:34px;height:34px;color:var(--text);font:inherit;cursor:pointer;padding:0 10px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}.semana-tab:hover{background:var(--surface-muted);border-color:var(--border-strong)}.semana-tab.activa{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.semana-tabs-hueco{color:var(--muted);padding:0 2px}.manual-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.manual-grid .full{grid-column:1/-1}.marca-manual{border:2px solid var(--warn);border-radius:var(--radius);background:var(--warn-fondo);min-width:64px;min-height:44px;color:var(--text);font:inherit;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:5px 8px;font-weight:700;display:inline-flex}.marca-manual small{color:var(--warn-texto);text-transform:uppercase;font-size:10px;line-height:1}.marca-manual:hover{border-color:var(--warn-texto)}.marca-manual:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.semana-toolbar{grid-template-columns:minmax(180px,1fr) 160px 160px auto;align-items:end;gap:12px;margin-bottom:14px;display:grid}.semana-toolbar select,.semana-toolbar input{width:100%}.reportes-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.reporte-card{margin-bottom:0}.reportes-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.reportes-summary{flex-wrap:wrap;gap:10px;display:flex}.reportes-summary span{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);gap:2px;min-width:150px;padding:9px 11px;font-size:13px;display:grid}.reportes-summary strong{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.report-section-title>div{gap:3px;display:grid}.check-row{flex-direction:row;align-items:center;gap:8px;font-weight:600}.column-checks{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;display:grid}.column-checks .check-row{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;padding:9px 11px;font-weight:500;transition:border-color .12s,background .12s}.column-checks .check-row:hover{border-color:var(--border-strong);background:var(--surface-muted)}.column-checks .check-row:has(input:checked){border-color:var(--primary-light);background:var(--primary-soft);font-weight:600}.dias-toggle{grid-template-columns:repeat(7,36px);gap:4px;display:grid}.dia-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:40px;height:40px;color:var(--muted);font:inherit;cursor:pointer;font-size:13px;transition:background .15s,border-color .15s}.dia-btn:hover:not(:disabled){border-color:var(--border-strong)}.dia-btn.is-on{background:var(--primary-soft);border-color:var(--primary-borde);color:var(--primary-hover);font-weight:700}.dia-btn:disabled{cursor:default;opacity:.75}.jornada-table td:first-child{min-width:160px}.semana-list{gap:8px;margin-bottom:14px;display:grid}.semana-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.semana-card.is-active{border-color:var(--primary-borde);background:var(--primary-soft)}.semana-title{gap:2px;display:grid}.semana-firmas{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.semana-detail-head{align-items:flex-start}.empleados-obra-table tr.is-open td{background:var(--primary-soft)}.turnos-row>td{padding:0;background:var(--surface)!important}.turnos-editor{border-top:1px solid var(--border);background:var(--surface);padding:12px}.config-grid{grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:start;gap:18px;display:grid}.config-help{position:sticky;top:0}.credencial-previa{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-muted);gap:4px;padding:12px 14px;display:grid}.credencial-previa strong{font-variant-numeric:tabular-nums;font-size:16px}.modal-permisos{width:min(880px,94vw)}.modal-permisos .table-panel{margin-bottom:4px}.permisos-titulo{margin:18px 0 8px;font-size:14px}.permisos-titulo:first-of-type{margin-top:10px}.permisos-tabla th:not(:first-child),.permisos-tabla td:not(:first-child){text-align:center}.permisos-tabla td:first-child{width:42%}.permiso-si{color:var(--ok);font-weight:700}.permiso-no{color:var(--border-strong)}.permisos-notas{color:var(--muted);gap:8px;margin:0;padding-left:18px;font-size:13px;display:grid}.permisos-notas strong{color:var(--text)}.config-note-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.config-note-list li{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);gap:3px;padding:10px 11px;display:grid}.config-note-list span{color:var(--muted);font-size:13px}.compare{flex-wrap:wrap;gap:16px;display:flex}.compare figure{text-align:center;margin:0}.compare img{object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);width:240px;height:240px;display:block}.compare .noimg{border-radius:var(--radius);border:1px dashed var(--border);width:240px;height:240px;color:var(--muted);justify-content:center;align-items:center;font-size:13px;display:flex}.compare figcaption{color:var(--muted);margin-top:6px;font-size:12px}.review-meta{flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;font-size:14px;display:flex}.motivo-tags{flex-wrap:wrap;gap:5px;max-width:360px;display:flex}.motivo-chip{background:var(--surface-muted);color:var(--muted);border:1px solid var(--border);border-radius:999px;align-items:center;padding:3px 8px;font-size:12px;line-height:1.25;display:inline-flex}.auditoria-detalle{white-space:nowrap;text-overflow:ellipsis;max-width:420px;overflow:hidden}@media (width<=860px){.layout{flex-direction:column;height:auto;overflow:visible}.sidebar,.sidebar.contraida{width:100%}.brand{flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding:10px 16px}.sidebar.contraida .brand{justify-content:space-between;padding:10px 16px}.sidebar.contraida .brand>span{display:grid}.sidebar nav{padding:4px 12px 12px;display:none;overflow:visible}.sidebar nav.abierta{flex-direction:column;display:flex}.sidebar nav a,.sidebar.contraida nav a{justify-content:flex-start;gap:12px;min-height:44px;padding:11px 14px;font-size:15px}.sidebar.contraida nav a svg{width:19px;height:19px}.sidebar.contraida .nav-section{display:block}.sidebar.contraida .nav-badge{min-width:20px;height:20px;margin-left:auto;padding:0 6px;font-size:11px;position:static}.sidebar-foot{display:none}.nav-section{padding-top:10px;display:block}.main{height:auto}.topbar{justify-content:flex-start;height:auto;padding:12px 16px}.topbar .user{flex-wrap:wrap}.content{padding:16px;overflow-y:visible}.page-head{flex-direction:column;align-items:flex-start}.obras-shell,.report-toolbar,.semana-toolbar{grid-template-columns:1fr}.semana-detail-head{flex-direction:column}.semana-detail-head .row-actions{width:100%}.semana-detail-head .row-actions>button{flex:180px;justify-content:center}.jornada-summary{flex-direction:column;align-items:stretch}.jornada-estados{grid-template-columns:repeat(2,minmax(0,1fr))}.jornada-estados>:last-child:nth-child(odd){grid-column:1/-1}.jornada-firmas{justify-content:flex-start}.manual-grid{grid-template-columns:1fr}.alta-form{grid-template-columns:1fr;width:auto}.report-quick{justify-content:flex-start}.map-panel{position:static}.config-grid{grid-template-columns:1fr}.config-help{position:static}.obra-modal-grid{grid-template-columns:1fr}.modal-map{min-height:300px}.obra-facts,.resumen-grid{grid-template-columns:1fr}.resumen-grid,.resumen-grid.sin-obras{grid-template-areas:"actividad""salidas""obras"}.reporte-armador{grid-template-columns:1fr}.reporte-hojas{border-right:0;border-bottom:1px solid var(--border)}.semana-card{flex-direction:column;align-items:flex-start}.table th{position:static}}@media (width<=520px){.topbar .user{gap:8px;width:100%}.topbar .who{width:100%}.content{padding:12px}.panel{padding:14px}.modal-bg{align-items:flex-end;padding:8px}.modal{width:100%;max-width:100%;max-height:calc(100dvh - 16px);padding:18px;min-width:0!important}.toolbar>input,.toolbar>select,.toolbar>.selector,.toolbar-left>input,.toolbar-left>select,.toolbar-left>.selector{width:100%;min-width:0!important}.row-actions>.btn,.row-actions>.btn-danger{flex:1;justify-content:center}}.turno-modal{gap:14px;width:min(520px,94vw);display:grid}.turno-modal h3{margin:0}.turno-modal p{margin:-10px 0 0}.turno-modal .modal-actions{gap:8px;margin-top:2px;display:flex}.punto-conexion{vertical-align:middle;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:7px;display:inline-block;position:relative;top:-1px}.punto-conexion.on{background:var(--ok);box-shadow:0 0 0 2px var(--ok-fondo)}.punto-conexion.off{background:var(--bad);box-shadow:0 0 0 2px var(--bad-fondo)}.telefono-no-listo{vertical-align:-2px;width:14px;height:14px;color:var(--warn);margin-right:6px;display:inline-flex}.telefono-no-listo svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.campana{display:inline-flex;position:relative}.campana-punto{background:var(--bad);min-width:16px;height:16px;color:var(--on-bad);border:2px solid var(--surface);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:-4px;right:-4px}.campana-panel{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:min(360px,100vw - 32px);max-height:60vh;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 12px 32px #0f1b2d2e}.campana-item{border-bottom:1px solid var(--border-suave);align-items:flex-start;gap:4px;display:flex}.campana-item:last-child{border-bottom:0}.campana-item.sin-leer{background:var(--primary-soft)}.campana-texto{text-align:left;cursor:pointer;color:var(--text);font:inherit;background:0 0;border:0;flex-direction:column;flex:1;gap:2px;padding:10px 4px 10px 14px;display:flex}.campana-texto span{color:var(--muted);font-size:12px}.campana-texto small{color:var(--muted);font-size:11px}.campana-texto:hover b{text-decoration:underline}.campana-x{cursor:pointer;min-width:44px;min-height:44px;color:var(--muted);background:0 0;border:0;padding:10px 12px;font-size:18px;line-height:1}.campana-x:hover{color:var(--bad)}.table tr.fila-sin-leer>td{background:var(--primary-soft)}.panel-plegable{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:10px;min-height:44px;padding:0;display:flex}.panel-plegable-h{margin:0}.panel-plegable .muted{font-weight:400}.panel-flecha{color:var(--muted);font-size:20px;line-height:1;transition:transform .15s;display:inline-block}.panel-flecha.abierta{transform:rotate(90deg)}.badge-boton{cursor:pointer;font:inherit;font-size:12px}.badge-boton:hover{filter:brightness(.95)}.table thead tr.fila-filtros td{background:var(--surface-muted);border-bottom:1px solid var(--border);vertical-align:middle;padding:6px 10px}.fila-filtros input,.fila-filtros select{width:100%;min-width:120px;padding:5px 8px;font-size:13px}.fila-filtros td:empty{padding:0}.filtros-obra{flex-wrap:wrap;align-items:flex-end;gap:14px;margin-bottom:16px;display:flex}.filtros-obra.ajustes{background:var(--surface-muted);border-radius:var(--radius);border:1px solid var(--border);margin-top:-6px;padding:12px 14px}.filtro{gap:5px;display:grid}.filtro-tit{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.filtro>.selector{min-width:240px}.filtro-dia{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filtro-dia input[type=date]{min-width:150px}.filtro-mas{align-self:flex-end}@media (width<=760px){.filtro,.filtro>.selector{width:100%;min-width:0}}.semana-dias{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.semana-dia{border:1px solid var(--primary-borde);background:var(--primary-soft);width:36px;height:36px;color:var(--primary-hover);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:700;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.semana-dia:hover:not(.fijo){border-color:var(--primary-hover)}.semana-dia:focus-visible{outline:2px solid var(--primary-hover);outline-offset:1px}.semana-dia.no-cuenta{background:var(--surface-muted);border-color:var(--border);color:var(--muted);font-weight:500;text-decoration:none}.semana-dia.domingo{background:var(--warn-fondo);border-color:var(--warn-borde);color:var(--warn-texto);font-weight:700}.semana-dia.fijo{cursor:default}.semana-dias-total{color:var(--muted);margin-left:6px;font-size:12px}.semana-dias-total strong{font-weight:700}.btn-icono{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.btn-icono svg{flex:none;width:14px;height:14px}
