@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=DM+Mono:wght@400;500&display=swap";
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0bjc5tiuqdqro.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.0m6w47a4e5dy9.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.11u06r12fd6v_.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.0wxq9webf.ew4.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.067x_6k0k23tk.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.16ipb6fqu393i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_5901b7c6-module__ec5Qua__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_5901b7c6-module__ec5Qua__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--brand-navy:#1a2b5f;--brand-navy2:#243172;--brand-dark:#0d1b3e;--brand-400:#48cae4;--brand-500:#00b4d8;--brand-600:#0096c7;--font-mono:"DM Mono", monospace;--sidebar-width:260px;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#080e1e;--card-bg:#0f1829;--bg-muted:#162035;--surface3:#1e2d47;--border:#48cae414;--border-hover:#48cae424;--accent:#00b4d8;--accent-hover:#48cae4;--accent-dim:#00b4d814;--accent-glow:#00b4d833;--text-primary:#e8eff8;--text-secondary:#7b90b2;--text-muted:#4a5f7a;--sidebar-bg:#0b1527;--sidebar-text:#5b7499;--sidebar-text2:#c8d8f0;--sidebar-active:#00b4d8;--sidebar-active-dim:#00b4d81f;--sidebar-border:#48cae412;--sidebar-section:#48cae440;--topbar-bg:#0f1829;--topbar-border:#48cae414;--topbar-input:#162035;--btn-primary-bg:#00b4d8;--btn-primary-text:#050d1f;--btn-primary-hover:#48cae4;--radius:12px;--radius-sm:8px;--shadow:0 4px 28px #00000080}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:#f0f5fa;--card-bg:#fff;--bg-muted:#e4edf7;--surface3:#d5e3f0;--border:#d5e3f0;--border-hover:#bccfe5;--accent:#0096c7;--accent-hover:#0077a8;--accent-dim:#e0f4fa;--accent-glow:#0096c72e;--text-primary:#0a1428;--text-secondary:#3a5070;--text-muted:#7b96b8;--sidebar-bg:#0b1527;--sidebar-text:#5b7499;--sidebar-text2:#c8d8f0;--sidebar-active:#00b4d8;--sidebar-active-dim:#00b4d826;--sidebar-border:#48cae412;--sidebar-section:#48cae440;--topbar-bg:#fff;--topbar-border:#d5e3f0;--topbar-input:#f0f5fa;--btn-primary-bg:#0096c7;--btn-primary-text:#fff;--btn-primary-hover:#0077a8;--radius:10px;--radius-sm:7px;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a}[data-theme=colorful]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-primary:#f7f8fc;--card-bg:#fff;--bg-muted:#f3f4f6;--surface3:#e4e8f0;--border:#e4e8f0;--border-hover:#d1d8e8;--accent:#6366f1;--accent-hover:#4f46e5;--accent-dim:#eef2ff;--accent-glow:#6366f140;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--sidebar-bg:linear-gradient(175deg,#1e1b4b 0%,#312e81 45%,#1e3a8a 100%);--sidebar-text:#ffffff80;--sidebar-text2:#ffffffd9;--sidebar-active:#f59e0b;--sidebar-active-dim:#ffffff1f;--sidebar-border:#ffffff14;--sidebar-section:#ffffff40;--topbar-bg:#fff;--topbar-border:#e4e8f0;--topbar-input:#f7f8fc;--btn-primary-bg:linear-gradient(135deg,#6366f1,#8b5cf6);--btn-primary-text:#fff;--btn-primary-hover:linear-gradient(135deg,#4f46e5,#7c3aed);--radius:12px;--radius-sm:8px;--shadow:0 1px 4px #0000000f;--shadow-md:0 6px 20px #00000017}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:15px}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-inter), system-ui, sans-serif;line-height:1.6}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.layout{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);z-index:50;border-right:1px solid var(--sidebar-border,#ffffff12);flex-direction:column;flex-shrink:0;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.main-content{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.topbar{background:var(--topbar-bg);border-bottom:1px solid var(--topbar-border);z-index:40;align-items:center;gap:1rem;height:64px;padding:0 1.5rem;display:flex;position:sticky;top:0}.page-content{flex:1;padding:1.5rem}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius,12px);padding:1.25rem;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow,0 4px 20px #00000014)}.card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.25rem;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001f}.kpi-card:before{content:"";background:var(--accent-color,var(--brand-500));border-radius:12px 12px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.kpi-value{letter-spacing:-.02em;color:var(--text-primary);margin:.5rem 0 .25rem;font-size:1.75rem;font-weight:700}.kpi-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.kpi-delta{align-items:center;gap:3px;margin-top:.5rem;font-size:.8rem;font-weight:600;display:inline-flex}.kpi-delta.up{color:var(--success)}.kpi-delta.down{color:var(--error)}.table-container{border:1px solid var(--border);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;background:var(--bg-card);width:100%}thead th{background:var(--bg-muted);text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;border-bottom:1px solid var(--border);padding:.75rem 1rem;font-size:.75rem;font-weight:600}tbody tr{border-bottom:1px solid var(--border);transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--bg-muted)}tbody td{color:var(--text-secondary);vertical-align:middle;padding:.75rem 1rem;font-size:.875rem}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;align-items:center;gap:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.btn-primary{background:var(--btn-primary-bg,var(--brand-500));color:var(--btn-primary-text,#fff)}.btn-primary:hover{background:var(--btn-primary-hover,var(--brand-600));filter:brightness(1.04);transform:translateY(-1px)}.btn-secondary{background:var(--bg-muted);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-muted);color:var(--text-primary)}.btn-danger{color:var(--error);background:#ef44441a;border:1px solid #ef44444d}.btn-danger:hover{background:var(--error);color:#fff}.badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.badge-green{color:#10b981;background:#10b98126}.badge-yellow{color:#f59e0b;background:#f59e0b26}.badge-red{color:#ef4444;background:#ef444426}.badge-blue{color:#3b82f6;background:#3b82f626}.badge-purple{color:#6366f1;background:#6366f126}.badge-gray{background:var(--bg-muted);color:var(--text-muted)}.form-group{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}label{color:var(--text-secondary);font-size:.82rem;font-weight:500}input,select,textarea{background:var(--bg-muted);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;outline:none;width:100%;padding:.6rem .875rem;font-family:inherit;font-size:.875rem;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--brand-400);background:var(--bg-card)}input.error{border-color:var(--error)}.error-msg{color:var(--error);font-size:.75rem}.nav-logo{border-bottom:1px solid #48cae41a;align-items:center;gap:10px;min-height:70px;margin-bottom:.5rem;padding:1rem 1rem .9rem;display:flex}.nav-logo-text{background:linear-gradient(120deg,#48cae4,#00b4d8);-webkit-text-fill-color:transparent;letter-spacing:.06em;-webkit-background-clip:text;font-size:1.1rem;font-weight:800}.nav-section{padding:.5rem .75rem}.nav-section-title{text-transform:uppercase;letter-spacing:.08em;color:#48cae459;padding:.75rem .5rem .4rem;font-size:.65rem;font-weight:600}.nav-item{cursor:pointer;color:var(--sidebar-text);border-radius:8px;align-items:center;gap:10px;margin-bottom:1px;padding:.55rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.nav-item:hover{color:#c8d8f0;background:#00b4d81a}.nav-item.active{color:#48cae4;background:#00b4d829;font-weight:600;box-shadow:inset 2px 0 #00b4d8}.nav-item-icon{opacity:.8;flex-shrink:0;width:18px;height:18px}.compliance-tag{color:#f59e0b;letter-spacing:.04em;background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-flex}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.page-title{letter-spacing:-.02em;color:var(--text-primary);font-size:1.5rem;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:2px;font-size:.875rem}.grid-2{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.grid-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}.sidebar{transform:translate(-100%)}.main-content{margin-left:0}.kpi-grid{grid-template-columns:1fr 1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.25s ease-out fadeIn}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}@keyframes pulse-ring{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block;position:relative}.status-dot.online{background:var(--success)}.status-dot.online:after{content:"";background:var(--success);border-radius:50%;animation:2s infinite pulse-ring;position:absolute;inset:0}.mark-entrada{color:var(--success)}.mark-salida{color:var(--error)}.mark-colacion{color:var(--warning)}.payroll-summary{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.payroll-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.875rem;display:flex}.payroll-row:last-child{border-bottom:none}.payroll-row.total{color:var(--text-primary);border-top:2px solid var(--brand-500);margin-top:.25rem;padding-top:.75rem;font-size:1rem;font-weight:700}.payroll-row.net{color:var(--success);font-size:1.1rem;font-weight:800}
