*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary, #f5f5f5)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}:root{--bg-primary: #f5f5f5;--bg-card: #ffffff;--bg-sidebar: #1a1a1a;--bg-topbar: #2d2d2d;--bg-input: #f9fafb;--bg-hover: #f3f4f6;--bg-hover-dark: #252525;--text-primary: #1a1a1a;--text-secondary: #6b6b6b;--text-muted: #64748b;--text-on-dark: #94a3b8;--border-color: #e5e5e5;--border-input: #e5e7eb;--border-sidebar: #2d2d2d;--shadow-sm: 0 1px 3px rgba(0,0,0,.08);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--shadow-hover: 0 8px 16px rgba(0,0,0,.12);--accent-local: #2d2d2d}[data-theme=oscuro]{--bg-primary: #121212;--bg-card: #1e1e1e;--bg-sidebar: #0d0d0d;--bg-topbar: #1a1a1a;--bg-input: #2a2a2a;--bg-hover: #2d2d2d;--bg-hover-dark: #333333;--text-primary: #ededed;--text-secondary: #b0b0b0;--text-muted: #9a9a9a;--text-on-dark: #b0b0b0;--border-color: #2e2e2e;--border-input: #3a3a3a;--border-sidebar: #1a1a1a;--shadow-sm: 0 1px 3px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--shadow-lg: 0 8px 24px rgba(0,0,0,.5);--shadow-hover: 0 8px 16px rgba(0,0,0,.5);--accent-local: #2d2d2d}*,*:before,*:after{box-sizing:border-box}html,body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}input,select,textarea,button{font-family:inherit}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea{background-color:var(--bg-input);color:var(--text-primary)}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:1}[data-theme=oscuro] select option{background-color:var(--bg-card);color:var(--text-primary)}#root{min-height:100vh}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes drawerSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.drawer-slide-in{animation:drawerSlideIn .28s cubic-bezier(.22,1,.36,1)}.backdrop-fade-in{animation:backdropFadeIn .25s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-in{animation:fadeIn .3s ease-out}.slide-in{animation:slideIn .3s ease-out}.modal-in{animation:modalIn .2s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-fade-in{animation:pageFadeIn .28s ease-out}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.count-up{animation:countUp .4s ease-out}@keyframes staggerIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stagger-in{animation:staggerIn .35s ease-out both}@keyframes softPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.soft-pulse{animation:softPulse 2s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.shake{animation:shake .4s ease-out}@keyframes celebrate{0%{transform:scale(0) rotate(0);opacity:0}50%{transform:scale(1.2) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.celebrate{animation:celebrate .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .3s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.scale-in{animation:scaleIn .25s ease-out}@keyframes glow{0%,to{box-shadow:0 0 5px #2d7a8a33}50%{box-shadow:0 0 15px #2d7a8a66}}.glow{animation:glow 2s ease-in-out infinite}@keyframes ripple{0%{transform:scale(0);opacity:.4}to{transform:scale(2.5);opacity:0}}@keyframes numberPop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.number-pop{animation:numberPop .3s ease-out}@keyframes checkDraw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes fillBar{0%{width:0%}}.fill-bar{animation:fillBar .8s ease-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.float{animation:float 3s ease-in-out infinite}tr{transition:background-color .15s ease,transform .15s ease}tr:hover{transform:translate(2px)}button{transition:all .2s ease}button:active{transform:scale(.97)}@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}html{scroll-behavior:smooth}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes kioscoOverlayIn{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes kioscoCheckPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}.kiosco-tile{transition:transform .18s ease,box-shadow .18s ease}.kiosco-tile:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000002e}.kiosco-tile:active{transform:scale(.97)}@media(max-width:768px){.page-fade-in>div{padding-left:8px!important;padding-right:8px!important}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}button{min-height:44px}div[style*="position: fixed"][style*=inset]>div[style*=borderRadius],div[style*="position:fixed"][style*=inset]>div[style*=borderRadius]{width:100%!important;max-width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;margin:0!important}div[style*="gridTemplateColumns: repeat(4"]{grid-template-columns:1fr 1fr!important}div[style*="gridTemplateColumns: repeat(3"]{grid-template-columns:1fr!important}.recharts-wrapper{font-size:11px}}@media(max-width:480px){div[style*="gridTemplateColumns: repeat(4"],div[style*="gridTemplateColumns: repeat(2"]{grid-template-columns:1fr!important}}.print-only{display:none!important}@media print{.sidebar,[class*=Sidebar],nav,.topbar,[class*=Topbar],.breadcrumbs,[class*=Breadcrumb],.back-to-top,[class*=BackToTop],.command-palette,[class*=CommandPalette],[class*=AlertaStock],[class*=AlertaFichaje],[class*=AlertaAnomalias],[class*=NotificacionesToggle],.no-print{display:none!important}.print-only{display:block!important}body,#root,main,[style*=marginLeft]{margin-left:0!important;padding-left:0!important;width:100%!important;max-width:100%!important}body{background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}div[style*=backgroundColor]{box-shadow:none!important}.recharts-wrapper,.recharts-surface{overflow:visible!important}svg.recharts-surface{width:100%!important;height:auto!important}table{border-collapse:collapse!important;width:100%!important}table th,table td{border:1px solid #ccc!important;padding:6px 8px!important;font-size:11px!important;color:#000!important}table th{background-color:#e5e5e5!important;font-weight:700!important}table tr:nth-child(2n) td{background-color:#f9f9f9!important}tr,div[style*=borderRadius]{break-inside:avoid}button{display:none!important}*{animation:none!important;transition:none!important}a[href]:after{content:none!important}}
