:root{--bg:#eef1f3;--surface:#fff;--text:#1e2328;--text-muted:#5a636b;--accent:#e3a008;--accent-hover:#c98a06;--accent-tint:#e3a0081a;--signed:#2a4d69;--signed-tint:#2a4d6914;--border:#d8dce0;--danger:#b42318;--font-head:"Space Grotesk", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "Consolas", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.5 var(--font-body);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.01em;color:var(--text);font-weight:600}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.field{flex-direction:column;gap:6px;display:flex}.field label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:600}input,select{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:6px;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s}input::placeholder{color:#9aa2a9}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);outline:none}.button-primary{background:var(--accent);color:var(--text);font-family:var(--font-head);letter-spacing:.01em;cursor:pointer;border:none;border-radius:6px;padding:11px 18px;font-size:15px;font-weight:600;transition:background .15s}.button-primary:hover:not(:disabled){background:var(--accent-hover)}.button-primary:disabled{opacity:.55;cursor:default}.link{font:inherit;color:var(--signed);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:500;text-decoration:none}.link:hover{color:var(--accent-hover);text-decoration:underline}.error-text{color:var(--danger);margin:0 0 16px;font-size:14px}.warning-text{color:#92400e;background:var(--accent-tint);border:1px solid #e3a00859;border-radius:6px;margin:0 0 20px;padding:10px 12px;font-size:14px}.auth-layout{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%;max-width:380px;padding:36px}.brand{margin-bottom:24px}.brand-logo{width:auto;max-width:100%;height:46px;display:block}.brand-title{margin:0 0 24px;font-size:22px}.card form{flex-direction:column;gap:18px;display:flex}.card .button-primary{width:100%;margin-top:4px}.top-bar{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;display:flex}.top-bar-left{align-items:center;gap:18px;display:flex}.top-bar-brand{align-items:center;display:inline-flex}.brand-logo-horizontal{width:auto;height:32px;display:block}.brand-logo-sello{width:auto;height:34px;display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{max-width:1040px;margin:0 auto;padding:32px 28px 56px}.estado-texto{color:var(--text-muted);text-align:center;padding:48px 24px}.filtros{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;padding:18px 20px;display:flex}.filtros .field{flex:180px;min-width:150px}.filtros-limpiar{white-space:nowrap;flex:none;padding-bottom:10px}.resultado-conteo{font-family:var(--font-mono);color:var(--text-muted);margin:0 0 10px;padding-left:2px;font-size:13px}.tabla-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow-x:auto}.tabla{border-collapse:separate;border-spacing:0;width:100%}.tabla thead th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;background:#f6f8f9;padding:14px 18px;font-size:11px;font-weight:600}.tabla tbody td{border-bottom:1px solid var(--border);padding:16px 18px;font-size:15px}.tabla tbody tr:last-child td{border-bottom:none}.tabla tbody td:first-child{border-left:3px solid #0000}.fila-clicable{cursor:pointer}.fila-clicable:hover td{background:var(--accent-tint)}.fila-clicable:hover td:first-child{border-left-color:var(--accent)}.celda-obra{font-weight:500}.detalle-doc{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 24px}.detalle-ref{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;font-size:12px}.campo{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;padding:14px 0;display:flex}.campo:last-child{border-bottom:none}.campo-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.campo-valor{white-space:pre-wrap;font-size:16px}.campo-valor.vacio{color:#9aa2a9}.seccion-titulo{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:32px 0 14px;font-size:15px}.fotos-fila{flex-wrap:wrap;gap:10px;padding-top:6px;display:flex}.foto-miniatura{object-fit:cover;border:1px solid var(--border);background:#f6f8f9;border-radius:8px;width:104px;height:104px;transition:border-color .15s;display:block}.foto-miniatura:hover{border-color:var(--accent)}.sellos{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.sello{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:10px;padding:18px;display:flex}.sello-cabecera{justify-content:space-between;align-items:center;gap:12px;display:flex}.sello-rol{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.sello-badge{background:var(--signed-tint);color:var(--signed);letter-spacing:.02em;white-space:nowrap;border:1px solid #2a4d6940;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 8px;font-size:12px;font-weight:600;display:inline-flex}.sello-badge svg{width:14px;height:14px}.sello-nombre{font-family:var(--font-head);font-size:18px;font-weight:600}.sello-email{font-family:var(--font-mono);color:var(--text-muted);word-break:break-all;font-size:13px}.sello-firma{border-top:1px solid var(--border);margin-top:2px;padding-top:10px}.sello-firma-img{object-fit:contain;object-position:left center;max-width:100%;height:60px;display:block}.boton-pdf{margin-top:28px}@media (width<=640px){.top-bar{padding:14px 18px}.top-bar-left{gap:14px}.brand-logo-horizontal{display:none}.brand-logo-sello{display:block}.page{padding:22px 18px 44px}.filtros .field{flex-basis:100%}}
