*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-gray-900);background:var(--color-gray-50)}button{cursor:pointer;font:inherit;background:0 0;border:none}input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}ul{list-style:none}:root{--bg:oklch(96.5% .004 264);--bg-2:oklch(98% .003 264);--surface:oklch(100% 0 0);--surface-2:oklch(97.5% .004 264);--surface-3:oklch(95% .006 264);--line:oklch(20% .02 264/.1);--line-2:oklch(20% .02 264/.16);--line-strong:oklch(20% .02 264/.28);--text:oklch(24% .02 264);--text-2:oklch(40% .02 264);--text-3:oklch(54% .018 264);--text-4:oklch(64% .016 264);--shadow:0 1px 2px oklch(30% .02 264/.08), 0 12px 28px -12px oklch(30% .04 264/.18);--shadow-lg:0 28px 64px -20px oklch(30% .04 264/.28);--sympho:oklch(72% .135 274);--ek:oklch(72% .135 152);--muluk:oklch(78% .135 86);--manik:oklch(72% .135 178);--pakal:oklch(72% .135 232);--zamna:oklch(72% .135 32);--eb:oklch(70% .12 52);--kin:oklch(72% .15 72);--sympho-dim:oklch(72% .135 274/.16);--ek-dim:oklch(72% .135 152/.16);--muluk-dim:oklch(78% .135 86/.16);--manik-dim:oklch(72% .135 178/.16);--pakal-dim:oklch(72% .135 232/.16);--zamna-dim:oklch(72% .135 32/.16);--eb-dim:oklch(70% .12 52/.16);--kin-dim:oklch(72% .15 72/.16);--accent:var(--sympho);--accent-dim:var(--sympho-dim);--ok:oklch(74% .14 152);--warn:oklch(80% .13 78);--bad:oklch(66% .17 26);--ok-dim:oklch(74% .14 152/.16);--warn-dim:oklch(80% .13 78/.16);--bad-dim:oklch(66% .17 26/.16);--sidebar-bg:oklch(20% .013 264);--sidebar-text:oklch(96% .004 264);--sidebar-text-muted:oklch(70% .012 264);--sidebar-border:oklch(100% 0 0/.08);--radius:12px;--rail-w:64px;--side-w:248px;--top-h:56px;--ease:cubic-bezier(.22, .61, .36, 1)}:root[data-theme=dark]{--bg:oklch(16.5% .012 264);--bg-2:oklch(19.5% .013 264);--surface:oklch(21.8% .013 264);--surface-2:oklch(25.2% .014 264);--surface-3:oklch(29.5% .014 264);--line:oklch(100% 0 0/.09);--line-2:oklch(100% 0 0/.14);--line-strong:oklch(100% 0 0/.22);--text:oklch(96.5% .004 264);--text-2:oklch(78% .012 264);--text-3:oklch(62% .014 264);--text-4:oklch(50% .014 264);--shadow:0 1px 2px oklch(0% 0 0/.4), 0 8px 24px -8px oklch(0% 0 0/.5);--shadow-lg:0 24px 64px -16px oklch(0% 0 0/.66);--kin:oklch(80% .155 80);--kin-dim:oklch(80% .155 80/.16)}:root{--color-primary:var(--accent);--color-primary-hover:color-mix(in oklch, var(--accent), black 12%);--color-primary-light:var(--accent-dim);--color-success:var(--ok);--color-success-light:var(--ok-dim);--color-warning:var(--warn);--color-warning-light:var(--warn-dim);--color-danger:var(--bad);--color-danger-light:var(--bad-dim);--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--sidebar-width:240px;--header-height:56px;--accent:var(--muluk);--accent-dim:var(--muluk-dim)}.btn{border-radius:var(--radius-md);align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-secondary{background:var(--surface-2);color:var(--text-2);border:1px solid var(--line)}.btn-secondary:hover:not(:disabled){background:var(--surface-3)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-sm{padding:5px 10px;font-size:13px}.card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;padding:20px}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-2);font-size:13px;font-weight:500}.form-control{border:1px solid var(--line-2);border-radius:var(--radius-md);background:#fff;padding:8px 12px;font-size:14px;transition:border-color .15s}.form-control:focus{border-color:var(--color-primary);outline:none}.form-control:disabled{background:var(--surface-2);color:var(--text-3)}.badge{border-radius:99px;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.badge-borrador{background:var(--surface-2);color:var(--text-2)}.badge-timbrado{background:var(--color-success-light);color:var(--color-success)}.badge-cancelado{background:var(--color-danger-light);color:var(--color-danger)}.page-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.page-header h1{font-size:20px;font-weight:600}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;overflow:hidden}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;background:var(--surface-2);border-bottom:1px solid var(--line);padding:10px 16px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--line);color:var(--text-2);padding:12px 16px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface-2)}.empty-state{text-align:center;color:var(--text-4);padding:48px 24px}.empty-state p{margin-top:8px;font-size:14px}.error-msg{background:var(--color-danger-light);color:var(--color-danger);border-radius:var(--radius-md);padding:10px 14px;font-size:14px}.success-msg{background:var(--color-success-light);color:var(--color-success);border-radius:var(--radius-md);padding:10px 14px;font-size:14px}.modal-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-md);background:#fff;max-height:90vh;padding:24px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{font-size:16px;font-weight:600}.modal-footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}
