@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/montserrat-latin-600-normal-UVxSCcoG.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/montserrat-latin-800-normal-axpkC1rd.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2")}:root{--font-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", monospace;--bg-color: #f8fafc;--bg-surface: #ffffff;--bg-elevated: #f1f5f9;--border-color: #e2e8f0;--border-strong: #cbd5e1;--primary-color: #eab308;--accent: var(--primary-color);--primary-hover: #ca8a04;--primary-soft: rgba(234, 179, 8, .15);--text-on-primary: #0f172a;--primary-soft-bg: rgba(234, 179, 8, .1);--primary-brand-text: #92400e;--brand-on-light: #92400e;--success-on-light: #047857;--danger-on-light: #b91c1c;--border-on-light: #cbd5e1;--success: #10b981;--success-soft: rgba(16, 185, 129, .12);--danger: #b91c1c;--danger-solid: #b91c1c;--danger-hover: #b91c1c;--danger-soft: rgba(220, 38, 38, .12);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .12);--info: #2563eb;--accent-purple: #6366f1;--accent-purple-soft: rgba(99, 102, 241, .1);--accent-admin-bg: #4338ca;--accent-admin-text: #ffffff;--accent-admin-soft-text: #4338ca;--text-primary: #1e293b;--text-secondary: #334155;--text-muted: #475569;--text-faint: #64748b;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .05), 0 4px 6px -4px rgba(0, 0, 0, .03);--space-2xs: 4px;--space-xs: 8px;--space-sm: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--content-max: 1480px;--touch-min: 44px;--z-overlay: 999;--z-sidebar: 1000;--z-hamburger: 1100;--z-modal: 2000;--z-toast: 2500;--focus-ring: 0 0 0 3px rgba(234, 179, 8, .4)}[data-theme=dark]{--bg-color: #09090b;--bg-surface: #18181b;--bg-elevated: #27272a;--border-color: #27272a;--border-strong: #3f3f46;--primary-color: #eab308;--accent: var(--primary-color);--primary-hover: #facc15;--primary-soft: rgba(234, 179, 8, .15);--primary-soft-bg: rgba(234, 179, 8, .1);--text-on-primary: #0f172a;--primary-brand-text: #eab308;--brand-on-light: #eab308;--success-on-light: #34d399;--danger-on-light: #f87171;--border-on-light: #3f3f46;--success: #34d399;--danger: #f87171;--danger-solid: #b91c1c;--danger-hover: #b91c1c;--warning: #fbbf24;--warning-soft: rgba(251, 191, 36, .1);--accent-purple-soft: rgba(129, 140, 248, .1);--accent-admin-soft-text: #a5b4fc;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-faint: #94a3b8;--shadow-md: none;--shadow-lg: none;--focus-ring: 0 0 0 3px rgba(234, 179, 8, .5)}[data-theme=light]{--primary-brand-text: #92400e;--brand-on-light: #92400e;--success-on-light: #047857;--danger-on-light: #b91c1c;--border-on-light: #cbd5e1;--iron-text: #92400e;--up-text: #047857;--down-text: #b91c1c}body{background:var(--bg-color);color:var(--text-primary);transition:background .3s ease,color .3s ease}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-pill);border:2px solid var(--bg-color)}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms}}.toast{position:fixed;bottom:24px;right:24px;max-width:calc(100vw - 48px);background:#121316f2;color:#f8fafc;border:1px solid rgba(255,255,255,.1);padding:14px 18px;border-radius:14px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;transform:translateY(12px);transition:opacity .25s ease,transform .25s ease;z-index:var(--z-toast);pointer-events:none}.toast.active{opacity:1;transform:translateY(0);pointer-events:auto}.toast.success{background:#047857;color:#fff}.toast.error{background:#b91c1c;color:#fff}.toast.warning{background:#b45309;color:#fff}[data-theme=dark] .toast{background:#18181bf2;color:#f8fafc;border:1px solid rgba(255,255,255,.15)}[data-theme=dark] .toast.success{background:#059669;color:#fff}[data-theme=dark] .toast.error{background:#b91c1c;color:#fff}[data-theme=dark] .toast.warning{background:#d97706;color:#fff}@media (max-width:768px){.toast{left:16px;right:16px;bottom:16px;max-width:none;text-align:center}}.text-success{color:#047857}.text-warning{color:#a16207}.text-danger{color:#b91c1c}.text-accent{color:#4338ca}[data-theme=dark] .text-success{color:#34d399}[data-theme=dark] .text-warning{color:#fbbf24}[data-theme=dark] .text-danger{color:#f87171}[data-theme=dark] .text-accent{color:#818cf8}.help-text{color:var(--text-muted);font-size:.9rem}.help-text.sm{font-size:.85rem}.help-text.mt{margin-top:8px}.help-text.mb{margin-bottom:15px}.mt-15{margin-top:15px}.mt-20{margin-top:20px}.mt-30{margin-top:30px}.mb-15{margin-bottom:15px}.span-full{grid-column:1 / -1}.row-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:15px}.menu a.active,.menu a.active span,.btn-guardar,.btn-action:not(.btn-wp):not(.btn-delete):not(.btn-edit):not(.btn-portal):not(.btn-portal-revoke):not([data-action=delete]):not([data-action=edit]):not([data-action=edit-staff]),.btn-login,.btn-exportar-reporte,.btn-action-sa:not(.btn-secondary),.table-header button,.btn-home{color:var(--text-on-primary)}.menu a.active svg,.btn-guardar svg,.btn-action:not(.btn-wp):not(.btn-delete):not(.btn-edit):not(.btn-portal):not(.btn-portal-revoke):not([data-action=delete]):not([data-action=edit]):not([data-action=edit-staff]) svg,.btn-action-sa:not(.btn-secondary) svg,.table-header button svg{stroke:var(--text-on-primary)}.btn-action.btn-wp,button.btn-wp,[data-action=whatsapp]{color:#25d366;background:#25d36614;border:1px solid rgba(37,211,102,.3);border-radius:var(--radius-sm);transition:all .2s ease}.btn-action.btn-wp svg,button.btn-wp svg,[data-action=whatsapp] svg{stroke:#25d366;color:#25d366}.btn-action.btn-wp:hover,button.btn-wp:hover,[data-action=whatsapp]:hover{background:#25d366;color:#fff;border-color:#25d366;box-shadow:0 4px 12px #25d36659}.btn-action.btn-wp:hover svg,button.btn-wp:hover svg,[data-action=whatsapp]:hover svg{stroke:#fff;color:#fff}.acciones .btn-edit,.acciones [data-action=edit],.acciones [data-action=edit-staff],.btn-action.btn-edit,button.btn-edit,[data-action=edit],[data-action=edit-staff],.btn-edit{color:#3b82f6;background:#3b82f614;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-sm);transition:all .2s ease}.acciones .btn-edit svg,.acciones [data-action=edit] svg,.acciones [data-action=edit-staff] svg,.btn-action.btn-edit svg,button.btn-edit svg,[data-action=edit] svg,[data-action=edit-staff] svg,.btn-edit svg{stroke:#3b82f6;color:#3b82f6}.acciones .btn-edit:hover,.acciones [data-action=edit]:hover,.acciones [data-action=edit-staff]:hover,.btn-action.btn-edit:hover,button.btn-edit:hover,[data-action=edit]:hover,[data-action=edit-staff]:hover,.btn-edit:hover{background:#3b82f6;color:#fff;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f659}.acciones .btn-edit:hover svg,.acciones [data-action=edit]:hover svg,.acciones [data-action=edit-staff]:hover svg,.btn-action.btn-edit:hover svg,button.btn-edit:hover svg,[data-action=edit]:hover svg,[data-action=edit-staff]:hover svg,.btn-edit:hover svg{stroke:#fff;color:#fff}.acciones .btn-delete,.acciones [data-action=delete],.acciones [data-action=delete-staff],.btn-action.btn-delete,button.btn-delete,[data-action=delete],[data-action=delete-staff],.btn-delete{color:#ef4444;background:#ef444414;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);transition:all .2s ease}.acciones .btn-delete svg,.acciones [data-action=delete] svg,.acciones [data-action=delete-staff] svg,.btn-action.btn-delete svg,button.btn-delete svg,[data-action=delete] svg,[data-action=delete-staff] svg,.btn-delete svg{stroke:#ef4444;color:#ef4444}.acciones .btn-delete:hover,.acciones [data-action=delete]:hover,.acciones [data-action=delete-staff]:hover,.btn-action.btn-delete:hover,button.btn-delete:hover,[data-action=delete]:hover,[data-action=delete-staff]:hover,.btn-delete:hover{background:var(--danger-hover, #b91c1c);color:#fff;border-color:var(--danger-hover, #b91c1c);box-shadow:0 4px 12px #ef444459}.acciones .btn-delete:hover svg,.acciones [data-action=delete]:hover svg,.acciones [data-action=delete-staff]:hover svg,.btn-action.btn-delete:hover svg,button.btn-delete:hover svg,[data-action=delete]:hover svg,[data-action=delete-staff]:hover svg,.btn-delete:hover svg{stroke:#fff;color:#fff}.btn-cancelar,.btn-secondary,.btn-action-sa.btn-secondary{color:var(--text-primary)}.btn-action-sa.btn-secondary svg{stroke:var(--text-primary)}@keyframes modalShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.modal-content.shake{animation:modalShake .35s ease-in-out}.theme-toggle,.theme-toggle-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:var(--radius-sm, 6px);transition:background .2s ease,color .2s ease}.theme-toggle:hover,.theme-toggle-btn:hover{color:var(--text-primary);background:var(--bg-elevated)}.theme-toggle .icon-moon,.theme-toggle-btn .icon-moon{display:none}.theme-toggle .icon-sun,.theme-toggle-btn .icon-sun{display:block}[data-theme=dark] .icon-sun{display:none!important}[data-theme=dark] .icon-moon,[data-theme=light] .icon-sun{display:block!important}[data-theme=light] .icon-moon{display:none!important}.cookie-banner{position:fixed;bottom:24px;left:24px;right:24px;max-width:480px;background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-color);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-md);z-index:var(--z-modal);transform:translateY(120%);opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s ease}.cookie-banner.visible{transform:translateY(0);opacity:1}.cookie-content p{margin:0;font-size:.95rem;line-height:1.5;color:var(--text-secondary)}.cookie-actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.btn-cookie{padding:8px 16px;font-size:.9rem;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease;border:1px solid transparent}.btn-cookie.btn-primary{background:var(--primary-color);color:var(--text-on-primary);border-color:var(--primary-color)}.btn-cookie.btn-primary:hover{background:var(--primary-hover)}.btn-cookie.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.btn-cookie.btn-secondary:hover{background:var(--bg-elevated)}@media (max-width: 768px){.cookie-banner{bottom:16px;left:16px;right:16px;max-width:100%;padding:var(--space-sm) var(--space-md)}}.font-mono{font-family:var(--font-mono)}.tabular-nums{font-variant-numeric:tabular-nums}.btn-eliminar{background:var(--danger-solid, #b91c1c);color:#fff!important}.btn-eliminar:hover{background:var(--danger-hover, #b91c1c);color:#fff!important}
