:root{--bg: #0b1020;--card: #11172b;--text: #e8ecf3;--muted: #a6b0c2;--ring: rgba(125, 211, 252, .35);--ok: #34d399;--err: #ef4444}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}.container{max-width:1100px;margin:0 auto;padding:16px}.h1{font-size:clamp(22px,4vw,36px);font-weight:800;margin:12px 0}.card{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:16px;margin-bottom:20px}.grid{display:grid;gap:12px}.grid-cols{grid-template-columns:1fr}@media (min-width: 680px){.grid-cols{grid-template-columns:repeat(2,1fr)}}@media (min-width: 980px){.grid-cols{grid-template-columns:repeat(3,1fr)}}label{font-size:12px;color:var(--muted);display:block;margin-bottom:6px}input,select{width:100%;background:#ffffff0f;color:var(--text);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:12px 14px;font-size:15px;outline:none}input:focus,select:focus{border-color:#7dd3fc;box-shadow:0 0 0 4px var(--ring)}.full{grid-column:1 / -1}.actions{display:flex;gap:10px;flex-wrap:wrap}button{background:#7dd3fc1f;border:1px solid rgba(125,211,252,.35);color:var(--text);padding:10px 14px;border-radius:12px;font-weight:700;cursor:pointer}.status{font-size:13px;margin-top:8px}.ok{color:var(--ok)}.err{color:var(--err)}.table table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{padding:8px 12px;border-bottom:1px solid #e5e7eb}.table thead th{position:sticky;top:0;z-index:2;background:#d1d5db;color:#111827;font-weight:600;border-bottom:2px solid #9ca3af}.table tbody tr:hover{background:#ffffff12;color:inherit}.table tbody tr:hover td{border-bottom-color:#ffffff04}.table tbody tr.is-selected{background:#7dd3fc12}.table tbody tr.is-selected td{border-bottom-color:#7dd3fc2e}.table input[type=radio]{accent-color:#7dd3fc}.table input[type=radio]:focus-visible{outline:2px solid rgba(125,211,252,.35);outline-offset:2px;border-radius:6px}.table th.col-id,.table td.col-id{width:60px;text-align:right;color:#6b7280}.table th.center,.table td.center{text-align:center}.table th.amount,.table td.amount{text-align:right;white-space:nowrap}.table tbody tr:hover td,.table tbody tr:hover th,.table tbody tr:hover a,.table tbody tr:hover span,.table tbody tr:hover div,.table td.amount:hover{color:#111827!important}.container{max-width:1100px;margin:20px auto;padding:0 12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}label{display:flex;flex-direction:column;gap:6px;font-size:14px}input[type=text],input[type=number],input[type=date]{padding:8px}.tbl{border-collapse:collapse;width:100%;margin-top:16px}.tbl th,.tbl td{border:1px solid #ddd;padding:8px;font-size:14px}.tbl th{background:#f4f4f4}.btn{padding:6px 10px;border:1px solid #ccc;background:#fff;cursor:pointer}.btn.active{background:#e8f1ff;border-color:#6ea8fe}.btn.primary{background:#1e88e5;color:#fff;border-color:#1e88e5}.card{border:1px solid #e5e7eb;padding:12px;border-radius:8px;background:#fff}.btn.badge{border-radius:9999px;padding:2px 10px;font-size:12px;line-height:18px;border:1px solid #d1d5db;background:#fff;min-width:42px}.btn.badge:hover{background:#f8fafc}.btn.badge.active{color:#0b5ed7;border-color:#9ec5fe;background:#e7f1ff}.badge--fin{--badge-hue: 210}.badge--firma{--badge-hue: 140}.btn.badge.active.badge--fin{color:hsl(var(--badge-hue),65%,30%);border-color:hsl(var(--badge-hue),85%,75%);background:hsl(var(--badge-hue),95%,95%)}.btn.badge.active.badge--firma{color:hsl(var(--badge-hue),55%,28%);border-color:hsl(var(--badge-hue),75%,72%);background:hsl(var(--badge-hue),95%,94%)}.btn.badge.active:before{content:"";display:inline-block;width:6px;height:6px;border-radius:9999px;margin-right:6px;background:currentColor;opacity:.85}input,select,textarea{background:#ffffff0f;border:1px solid rgba(255,255,255,.16);color:var(--text)}input:focus,select:focus,textarea:focus{border-color:#7dd3fc;box-shadow:0 0 0 4px var(--ring);outline:none}button{background:#7dd3fc1f;border:1px solid rgba(125,211,252,.35);color:var(--text)}button:hover:not(:disabled){background:#7dd3fc2e}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:#ffffff0f;border-color:#ffffff24}.table th,.table td{border-bottom:1px solid rgba(255,255,255,.06)}.table thead th{background:#ffffff14;color:var(--text);border-bottom:1px solid rgba(255,255,255,.12)}.table tbody tr:hover{background:#7dd3fc14;color:var(--text)}.tbl th,.tbl td,.card{background:unset;border-color:#ffffff14;color:var(--text)}.btn.badge{border-radius:9999px;padding:4px 10px;font-size:12px;line-height:18px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;color:var(--text);min-width:48px}.btn.badge:hover{background:#ffffff1a}.btn.badge.active{border-color:#7dd3fc73;background:#7dd3fc29;color:var(--text)}.badge--fin{--badge-bg: rgba(31, 111, 235, .18);--badge-bd: rgba(31, 111, 235, .55);--badge-dot: #1f6feb}.badge--firma{--badge-bg: rgba(35, 134, 54, .18);--badge-bd: rgba(35, 134, 54, .55);--badge-dot: #238636}.btn.badge.active.badge--fin,.btn.badge.active.badge--firma{background:var(--badge-bg);border-color:var(--badge-bd)}.btn.badge.active:before{content:"";display:inline-block;width:6px;height:6px;border-radius:9999px;margin-right:6px;background:var(--badge-dot, #7dd3fc);opacity:.95}.muted{color:var(--muted)}.pill{display:inline-block;padding:2px 10px;border-radius:9999px;font-size:12px;line-height:18px;background:#ffffff0f;border:1px solid rgba(255,255,255,.16);color:var(--text)}.pill-accent{background:#7dd3fc29;border:1px solid rgba(125,211,252,.45)}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.gap-4{gap:1rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.wrap{flex-wrap:wrap}.hr{height:1px;background:#ffffff14;border:0}.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}.pdf-btn{background:#1f6feb24;border:1px solid rgba(31,111,235,.45);color:#d7e3ff;padding:6px 10px;border-radius:10px;font-weight:600}.pdf-btn:hover{background:#1f6feb38}.pdf-btn.secondary{background:#ffffff0f;border:1px solid rgba(255,255,255,.16);color:var(--text)}.pdf-btn.secondary:hover{background:#ffffff1a}.pdf-link{display:inline-block;padding:6px 10px;border-radius:10px;text-decoration:none;background:#1f6feb1f;border:1px solid rgba(31,111,235,.45);color:#d7e3ff}.pdf-link:hover{background:#1f6feb33}.pdf-btn:before,.pdf-link:before{content:"📄";margin-right:6px;opacity:.95}.icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.16);color:var(--text)}.icon-btn:hover{background:#ffffff1a}.dot-ind{width:22px;height:22px;border-radius:9999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);background:#ffffff0f}.dot-ind .dot{width:8px;height:8px;border-radius:9999px;opacity:.35}.dot-ind.active .dot{opacity:1}.dot--fin{background:#1f6feb}.dot--firma{background:#238636}.table tbody td,.table tbody th{color:var(--text)!important}.table tbody tr:hover{background:#ffffff05!important}.table tbody tr:hover td,.table tbody tr:hover th,.table tbody tr:hover a,.table tbody tr:hover span,.table tbody tr:hover div{color:var(--text)!important}.table thead th{background:#ffffff14!important;color:var(--text)!important;border-bottom:1px solid rgba(255,255,255,.12)!important}.table tbody td{border-bottom:1px solid rgba(255,255,255,.08)!important}.table tbody tr.is-selected{background:#7dd3fc12!important}.table tbody tr.is-selected td{border-bottom-color:#7dd3fc2e!important}.card{background:var(--card)!important;border:1px solid rgba(255,255,255,.08)!important}:root{--focus-border: rgba(148,163,184,.55);--focus-ring: rgba(148,163,184,.25)}input,select,textarea{background:#ffffff0f;border:1px solid rgba(255,255,255,.16);color:var(--text);border-radius:12px}input:focus,select:focus,textarea:focus{border-color:var(--focus-border);box-shadow:0 0 0 2px var(--focus-ring);outline:none}button:disabled{background:#ffffff0f;border-color:#ffffff1f;color:var(--muted);opacity:1;cursor:not-allowed}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px rgba(255,255,255,.06) inset!important;-webkit-text-fill-color:var(--text)!important}.table input[type=radio]{accent-color:#cbd5e1}.table input[type=radio]:focus{outline:none;box-shadow:none}.table input[type=radio]:focus-visible{outline:2px solid rgba(148,163,184,.35);outline-offset:2px;border-radius:6px}.table input[type=radio]{width:18px;height:18px;transform:scale(1.05);accent-color:#60a5fa}.table input[type=radio]:checked{box-shadow:0 0 0 3px #60a5fa40;border-radius:9999px}.table input[type=radio]:focus{outline:none;box-shadow:0 0 0 3px #60a5fa40;border-radius:9999px}.table tbody tr.is-selected{background:#60a5fa14!important}.table tbody tr.is-selected td{border-bottom-color:#60a5fa38!important}:root{color-scheme:dark}input,select,textarea{background:#ffffff0f!important;border:1px solid rgba(255,255,255,.16)!important;color:var(--text)!important;caret-color:var(--text)}input:focus,select:focus,textarea:focus{border-color:#94a3b88c!important;box-shadow:0 0 0 2px #94a3b840!important;outline:none}::placeholder{color:var(--muted);opacity:.9}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px rgba(255,255,255,.06) inset!important;-webkit-text-fill-color:var(--text)!important;caret-color:var(--text)!important;transition:background-color 9999s ease-in-out 0s}.table input[type=radio]{width:18px;height:18px;accent-color:#60a5fa;border-radius:9999px}.table input[type=radio]:focus,.table input[type=radio]:focus-visible{outline:none!important;box-shadow:none!important}.table input[type=radio]:focus-visible{box-shadow:0 0 0 3px #60a5fa52!important;border-radius:9999px}.table input[type=radio]:checked{box-shadow:0 0 0 3px #60a5fa38;border-radius:9999px}.table input[type=radio]{-webkit-tap-highlight-color:transparent}
