:root{--ink:#0e2b27;--ink-soft:#4a6863;--papel:#ffffff;--hueso:#e9e5da;--taller:#14201e;--taller-2:#1d2c29;--linea:#2c3e3a;--menta:#2e9e90;--acc:#08514b}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--taller);color:#e6edeb;font-family:IBM Plex Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}.barra{display:flex;align-items:baseline;gap:14px;padding:16px 26px;border-bottom:1px solid var(--linea);background:var(--taller-2)}.marca{font-family:Fraunces,serif;font-weight:600;font-size:24px;letter-spacing:-.01em;margin:0;color:#f2f7f5;text-decoration:none}.barra nav{margin-left:auto;display:flex;gap:18px;align-items:baseline}.barra nav a,.barra nav button{color:#93afa9;text-decoration:none;background:none;border:0;cursor:pointer;font:inherit;font-size:13px;padding:0}.barra nav a:hover,.barra nav button:hover{color:#eaf1ef}.eyebrow{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#6f8c86;display:block;margin-bottom:9px}.contenido{max-width:1080px;margin:0 auto;padding:34px 26px 80px}.titulo{font-family:Fraunces,serif;font-weight:600;font-size:30px;margin:0 0 4px;letter-spacing:-.015em;color:#f2f7f5}.bajada{color:#7e9a94;font-size:13.5px;margin:0 0 26px;line-height:1.55}label{display:block;font-size:11.5px;color:#93afa9;margin:0 0 4px}input,select,textarea{width:100%;background:#0f1b19;border:1px solid var(--linea);color:#eaf1ef;border-radius:5px;padding:8px 10px;font:inherit;font-size:13px;margin-bottom:9px}textarea{resize:vertical;min-height:66px;line-height:1.45}a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus{outline:2px solid var(--menta);outline-offset:1px}input:focus,select:focus,textarea:focus{border-color:transparent}.par{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px;gap:9px}.boton{background:#0f1b19;border:1px solid var(--linea);color:#cfe0dc;padding:9px 14px;border-radius:5px;font:inherit;font-size:12.5px;cursor:pointer;display:inline-block;text-decoration:none;text-align:center}.boton:hover{border-color:var(--menta);color:#eaf1ef}.boton.lleno{background:var(--menta);border-color:var(--menta);color:#04211e;font-weight:600}.boton.lleno:hover{background:#38b7a7;border-color:#38b7a7;color:#04211e}.boton.ancho{width:100%}.boton:disabled{opacity:.55;cursor:default}.pista{font-size:11px;color:#6f8c86;line-height:1.5;margin:6px 0 0}.pista.mal{color:#e9a9a9}.pista.bien{color:#8fd3c6}.paleta{display:flex;gap:7px;margin-bottom:10px}.tono{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.tono[aria-pressed=true]{border-color:#eaf1ef}.taller{display:grid;grid-template-columns:352px 1fr;min-height:calc(100vh - 57px)}.panel{background:var(--taller-2);border-right:1px solid var(--linea);padding:24px 22px 70px;overflow-y:auto;max-height:calc(100vh - 57px)}.panel fieldset{border:0;padding:0;margin:0 0 22px}.panel legend{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#6f8c86;margin-bottom:9px}.renglon{display:grid;grid-template-columns:1fr 84px 26px;grid-gap:6px;gap:6px;align-items:start}.renglon input{margin-bottom:7px}.quitar{background:transparent;border:1px solid var(--linea);color:#7e9a94;border-radius:5px;height:33px;cursor:pointer;font-size:15px;line-height:1}.quitar:hover{color:#f2b8b8;border-color:#5a3a3a}.escenario{padding:34px 24px 70px;display:flex;justify-content:center;align-items:flex-start;overflow-y:auto}.tabla{width:100%;border-collapse:collapse}.tabla th{font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:#6f8c86;font-weight:400;text-align:left;padding:0 12px 9px 0;border-bottom:1px solid var(--linea)}.tabla td{padding:13px 12px 13px 0;border-bottom:1px solid #22322f;font-size:13.5px}.tabla td.der,.tabla th.der{text-align:right;padding-right:0}.tabla tr:hover td{background:#1a2725}.mono,.sello{font-family:IBM Plex Mono,monospace}.sello{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;padding:3px 8px;border-radius:3px;border:1px solid}.sello.borrador{color:#8fa5a1;border-color:#3a4a47}.sello.emitido{color:#8fd3c6;border-color:#2e6b62}.sello.pagado{color:#04211e;border-color:var(--menta);background:var(--menta)}.vacio{border:1px dashed var(--linea);border-radius:8px;padding:42px 26px;text-align:center}.vacio p{color:#7e9a94;margin:0 0 18px}.doc,.vacio p{font-size:13.5px}.doc{background:var(--papel);color:var(--ink);width:100%;max-width:660px;padding:52px 52px 0;box-shadow:0 26px 60px rgba(0,0,0,.42)}.doc-cabeza{display:flex;justify-content:space-between;align-items:flex-start;gap:28px}.doc h2{font-family:Fraunces,serif;font-weight:600;font-size:30px;line-height:1.05;margin:0 0 6px;letter-spacing:-.015em}.doc .oficio{font-size:12.5px;color:var(--ink-soft);margin:0 0 3px;max-width:34ch;line-height:1.4}.doc .contacto{font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--ink-soft);margin:0}.doc .folio{text-align:right;flex:0 0 auto}.doc .folio .tipo{font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--acc);margin:0 0 5px}.doc .folio .num,.doc .folio .tipo{font-family:IBM Plex Mono,monospace}.doc .folio .num{font-size:19px;margin:0 0 4px}.doc .folio .fecha{font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--ink-soft);margin:0}.doc .banda{height:3px;background:var(--acc);margin:26px 0 22px}.doc .glab{font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 5px}.doc .quien{font-size:16px;font-weight:600;margin:0}.doc .quien-2{font-size:12.5px;color:var(--ink-soft);margin:2px 0 0}.doc .concepto{font-family:Fraunces,serif;font-size:17px;line-height:1.4;margin:22px 0 0;max-width:46ch}.doc table{width:100%;border-collapse:collapse;margin:24px 0 0}.doc th{font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:400;text-align:left;padding:0 0 7px;border-bottom:1px solid var(--ink)}.doc td.der,.doc th.der{text-align:right}.doc td{padding:11px 0;border-bottom:1px solid var(--hueso);vertical-align:top;line-height:1.45}.doc td.der{font-family:IBM Plex Mono,monospace;font-size:13px;white-space:nowrap;padding-left:16px}.doc .total{display:flex;justify-content:space-between;align-items:flex-end;margin:26px 0 0;gap:20px}.doc .total .lab{font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);padding-bottom:12px}.doc .total .val{font-family:Fraunces,serif;font-size:56px;line-height:.92;letter-spacing:-.03em;margin:0}.doc .total .val small{font-family:IBM Plex Mono,monospace;font-size:15px;letter-spacing:0;color:var(--ink-soft);margin-right:7px;vertical-align:.42em}.doc .talon{margin:34px -52px 0;padding:22px 52px 26px;border-top:2px dashed var(--hueso);display:flex;gap:20px;align-items:center;page-break-inside:avoid;break-inside:avoid}.doc .talon img{display:block;width:104px;height:104px;flex:0 0 104px}.doc .talon .glab{color:var(--acc)}.doc .talon p{margin:0 0 3px;font-size:13px;line-height:1.45}.doc .talon .dato{font-family:IBM Plex Mono,monospace;font-size:14px;word-break:break-all}.doc .talon .nota{font-size:11.5px;color:var(--ink-soft);margin-top:7px;line-height:1.45}.doc .pie{font-family:IBM Plex Mono,monospace;font-size:8.5px;letter-spacing:.1em;text-transform:uppercase;color:#9cada9;padding:0 0 18px;margin:0}.doc tr{page-break-inside:avoid;break-inside:avoid}.publico{background:#eceae4;min-height:100vh;padding:40px 16px 70px}.publico .doc{margin:0 auto;box-shadow:0 20px 46px rgba(14,43,39,.18)}.acciones{max-width:660px;margin:0 auto 16px;display:flex;gap:10px;justify-content:flex-end}.acciones .boton{background:#fff;border-color:#cdcabf;color:#2c4541}.acciones .boton:hover{border-color:var(--ink);color:var(--ink)}@media (max-width:900px){.taller{grid-template-columns:1fr}.panel{max-height:none}.doc{padding:32px 26px 0}.doc .talon{margin:28px -26px 0;padding:20px 26px 22px;flex-direction:column;align-items:flex-start}.doc .total .val{font-size:44px}.escenario{padding:22px 14px 50px}.contenido{padding:26px 16px 60px}}@media print{@page{size:letter;margin:14mm}.publico,body{background:#fff;padding:0}.acciones,.barra,.no-imprimir,.panel{display:none!important}.escenario,.taller{display:block}.escenario{padding:0;overflow:visible}.doc{box-shadow:none;max-width:none;width:100%;padding:0;margin:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.doc .talon{margin:30px 0 0;padding:20px 0 0}}