:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#dbeafe;--color-success:#16a34a;--color-success-light:#dcfce7;--color-warning:#d97706;--color-warning-light:#fef3c7;--color-danger:#dc2626;--color-danger-light:#fee2e2;--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;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--sidebar-width:220px;--header-height:56px}*,: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}.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(--color-gray-100);color:var(--color-gray-700);border:1px solid var(--color-gray-200)}.btn-secondary:hover:not(:disabled){background:var(--color-gray-200)}.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(--color-gray-200);border-radius:var(--radius-lg);background:#fff;padding:20px}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--color-gray-700);font-size:13px;font-weight:500}.form-control{border:1px solid var(--color-gray-300);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(--color-gray-50);color:var(--color-gray-500)}.badge{border-radius:99px;align-items:center;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.badge-borrador{background:var(--color-gray-100);color:var(--color-gray-600)}.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(--color-gray-200);border-radius:var(--radius-lg);background:#fff;overflow:hidden}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;color:var(--color-gray-500);text-transform:uppercase;letter-spacing:.05em;background:var(--color-gray-50);border-bottom:1px solid var(--color-gray-200);padding:10px 16px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--color-gray-100);color:var(--color-gray-700);padding:12px 16px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--color-gray-50)}.empty-state{text-align:center;color:var(--color-gray-400);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}
