@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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:Geist;src:url(/fonts/geist/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--font-geist-sans:"Geist";--font-geist-mono:"Geist Mono";--font-display:"Plus Jakarta Sans Variable", "Plus Jakarta Sans", var(--font-geist-sans), "Segoe UI", sans-serif;--font-body:"Inter Variable", "Inter", var(--font-geist-sans), "Segoe UI", sans-serif}.h-full{height:100%}.min-h-full{min-height:100%}.flex{display:flex}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline-none{outline:none}:root{--brand-blue:#06c;--brand-blue-bright:#007bff;--brand-blue-soft:#67c3f3;--brand-green:#00c853;--brand-green-deep:#00a047;--brand-ink:#154399;--brand-muted:#3f5f86;--expense-red:#b42318;--glass:#ffffff61;--glass-strong:#ffffff8c;--glass-border:#ffffff38;--glass-blur:28px;--field-fill:#ffffffb8;--field-bg:#ffffffe0;--ink-border:#153f8638;--wash:linear-gradient(152deg, #edf7ff 0%, #dceeff 50%, #d1e9fb 100%);--primary-blue:var(--brand-blue);--secondary-blue:var(--brand-blue-bright);--light-blue:var(--brand-blue-soft);--green:var(--brand-green);--dark-green:var(--brand-green-deep);--text:var(--brand-ink);--muted:#54749f;--border:var(--ink-border);--red:var(--expense-red);--bg:transparent;--blue-soft:#0066cc17;--green-soft:#00c8531a;--amber-soft:#b478141a;--red-soft:#b4231814;--radius-control:.35rem;--radius:.44rem;--radius-panel:.85rem;--radius-login:.95rem;--shadow-panel:0 16px 32px -26px #06c6, inset 0 1px 0 #ffffff80;--shadow-btn:0 10px 22px -14px #06cc;--shadow-btn-green:0 10px 22px -14px #00c853b3;--sidebar-width:15rem;--ease-water:cubic-bezier(.23, 1, .32, 1);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--font:var(--font-geist-sans), "Segoe UI", "Trebuchet MS", sans-serif}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--text);background: radial-gradient(620px 460px at 88% -10%, #007bff2e, transparent 60%), radial-gradient(560px 440px at 6% 108%, #00c8531f, transparent 60%), radial-gradient(520px 420px at 55% 55%, #67c3f338, transparent 65%), var(--wash);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;line-height:1.45}body:before,body:after{content:"";pointer-events:none;z-index:-1;filter:blur(110px);opacity:.55;border-radius:50%;position:fixed}body:before{background:radial-gradient(circle,#007bff52 0%,#0000 70%);width:360px;height:360px;animation:18s ease-in-out infinite alternate orb-drift;top:6%;left:8%}body:after{background:radial-gradient(circle,#00c85340 0%,#0000 70%);width:320px;height:320px;animation:22s ease-in-out infinite alternate-reverse orb-drift;bottom:8%;right:6%}h1,h2,h3,h4{color:var(--text);letter-spacing:-.03em;margin:0;font-weight:720;line-height:1.2}h1{font-size:clamp(1.65rem,3vw,2.2rem)}h2{font-size:1.35rem}h3{font-size:1rem}p{margin:0}a{color:var(--primary-blue);text-decoration:none}a:hover{color:var(--secondary-blue)}::selection{color:var(--text);background:#0066cc2e}input,select,textarea{caret-color:var(--primary-blue)}*{--scrollbar-thumb:color-mix(in srgb, var(--brand-blue) 30%, transparent);--scrollbar-thumb-active:var(--brand-blue);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}[data-scrollbar-active]{--scrollbar-thumb:var(--scrollbar-thumb-active)}@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto;scrollbar-color:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px;min-width:2.5rem;min-height:2.5rem}::-webkit-scrollbar-button{width:0;height:0;display:none}@media (hover:hover) and (pointer:fine){::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-active)}}}@media (forced-colors:active){*{scrollbar-color:auto}::-webkit-scrollbar-thumb{background-color:buttontext}::-webkit-scrollbar-thumb:hover{background-color:highlight}}.btn{font-family:var(--font);border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;touch-action:manipulation;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;min-height:2.75rem;padding:.7rem 1.25rem;font-size:.875rem;font-weight:600;line-height:1;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .4s;display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary:after,.btn-green:after{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 30%,#ffffff52 50%,#0000 70%);width:42%;height:100%;position:absolute;top:0;left:0;transform:translate(-160%)skew(-12deg)}.btn-primary:hover:not(:disabled):after,.btn-green:hover:not(:disabled):after{animation:1.8s ease-out btn-sheen}@keyframes btn-sheen{to{transform:translate(260%)skew(-12deg)}}.btn-primary{color:#fff;box-shadow:var(--shadow-btn);background:linear-gradient(105deg,#078fc9,#426bd8);height:2.75rem}.btn-primary:hover:not(:disabled){color:#fff;background:linear-gradient(105deg,#067fba,#345cc8)}.btn-green{background:var(--green);color:#fff;box-shadow:var(--shadow-btn-green);height:2.75rem}.btn-green:hover:not(:disabled){background:var(--dark-green);color:#fff}.btn-outline{color:var(--brand-blue);background:#ffffffc7;border:1px solid #0066cc73;height:2.5rem;font-weight:600}.btn-outline:hover:not(:disabled){border-color:var(--brand-blue);color:var(--secondary-blue);background:#fff}.btn-ghost{color:var(--brand-muted);background:0 0}.btn-danger{color:var(--expense-red);background:#efcfcc;height:2.25rem}.btn-danger:hover:not(:disabled){background:var(--expense-red);color:#fff}.btn-amber{background:var(--amber-soft);color:#8a5a00}.btn-amber:hover:not(:disabled){background:#b478142e}@media (hover:hover) and (pointer:fine){.btn-primary:hover:not(:disabled),.btn-outline:hover:not(:disabled),.kiosk-cta:hover:not(:disabled){transform:translateY(-1px)}}.btn-sm{height:auto;min-height:2.25rem;padding:.45rem .7rem;font-size:.78rem}.btn-lg{border-radius:var(--radius);padding:.85rem 1.6rem;font-size:1rem}.label{letter-spacing:.06em;text-transform:uppercase;color:var(--brand-muted);margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:block}.input,.select{width:100%;font-family:var(--font);color:var(--text);border:1px solid var(--ink-border);border-radius:var(--radius-control);background:#fff;height:2.75rem;padding:.55rem .75rem;font-size:.9rem;transition:border-color .2s,background-color .2s}.input:focus,.select:focus{border-color:var(--secondary-blue);box-shadow:none;outline:none}.input:focus-visible,.select:focus-visible{outline:2px solid var(--brand-blue-bright);outline-offset:1px}.input::placeholder{color:#3f5f86b8}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23154399' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;padding-right:2rem}.select-trigger{text-align:left;justify-content:space-between;align-items:center;gap:.5rem;padding-right:.7rem;display:inline-flex}.select-trigger[data-placeholder]{color:#3f5f86bf}.select-trigger:focus{border-color:var(--secondary-blue);outline:none}.select-chevron{color:var(--brand-ink);opacity:.6;flex-shrink:0}.select-trigger:hover .select-chevron{opacity:1}.glass-select-content{border-radius:var(--radius-panel);z-index:140;min-width:var(--radix-select-trigger-width);background:#fff;border:1px solid #1543992e;overflow:hidden;box-shadow:0 20px 40px -20px #0066cc73}.glass-select-item{color:var(--text);cursor:pointer;outline:none;justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem .75rem;font-size:.875rem;display:flex}.glass-select-item[data-highlighted]{color:var(--brand-blue);background:#0066cc1f;font-weight:600}.glass-select-item[data-state=checked]{color:var(--brand-blue);font-weight:600}.select-item-indicator{color:var(--brand-blue);flex-shrink:0}.card{background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--ink-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel)}.card-pad{padding:1.35rem 1.4rem}.card-title{color:var(--text);letter-spacing:-.03em;font-size:1.35rem;font-weight:720}.card-sub{color:var(--muted);font-size:.8rem}.badge{letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge-green{color:var(--dark-green);background:#00c8531f}.badge-amber{color:#8a5a00;background:#b478141f}.badge-red{color:var(--expense-red);background:#b423181a}.badge-neutral{color:var(--brand-muted);background:#fff9}.table-wrap{overscroll-behavior-inline:contain;border:1px solid var(--ink-border);border-radius:var(--radius-panel);background:var(--glass-strong);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-panel);overflow-x:auto}.table{table-layout:auto;border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.table th{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:#ffffff80;border-bottom:1px solid #15439924;padding:.7rem 1rem;font-size:.72rem;font-weight:700}.table td{color:var(--text);vertical-align:middle;overflow-wrap:anywhere;border-bottom:1px solid #1543991a;padding:.85rem 1rem}.table td[colspan],.table .empty{white-space:normal}.table-cell-nowrap{white-space:nowrap;overflow-wrap:normal}.table-cell-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.table-cell-action{white-space:nowrap;overflow-wrap:normal}.responsive-table-cards{display:none}.attendance-daily-table .col-employee{width:22%}.attendance-daily-table .col-date{width:9%}.attendance-daily-table .col-sessions{width:7%}.attendance-daily-table .col-duration{width:9%}.attendance-daily-table .col-difference{width:10%}.attendance-daily-table .col-incidents,.attendance-daily-table.has-actions .col-employee{width:16%}.attendance-daily-table.has-actions .col-sessions{width:5%}.attendance-daily-table.has-actions .col-duration{width:8.5%}.attendance-daily-table.has-actions .col-difference{width:9%}.attendance-daily-table.has-actions .col-incidents{width:13%}.attendance-daily-table.has-actions .col-action{width:14%}.attendance-records-table .col-employee{width:23%}.attendance-records-table .col-date{width:9%}.attendance-records-table .col-time{width:8%}.attendance-records-table .col-duration,.attendance-records-table .col-status{width:11%}.attendance-records-table.has-actions .col-employee{width:21%}.attendance-records-table.has-actions .col-duration,.attendance-records-table.has-actions .col-status{width:10%}.attendance-records-table.has-actions .col-action{width:11%}.attendance-responsive-wrap,.payroll-daily-responsive-wrap{overflow:hidden}.attendance-daily-table,.attendance-records-table{table-layout:fixed}.attendance-daily-table th,.attendance-daily-table td,.attendance-records-table th,.attendance-records-table td,.payroll-daily-responsive-wrap .table th,.payroll-daily-responsive-wrap .table td{padding-inline:.6rem;overflow:hidden}.payroll-daily-responsive-wrap .table{table-layout:fixed}.attendance-daily-table .badge,.attendance-records-table .badge{letter-spacing:.02em;padding-inline:.55rem}.attendance-daily-table .table-cell-action,.attendance-records-table .table-cell-action{text-align:center}.attendance-daily-table .table-cell-action .btn{white-space:nowrap;justify-content:center;width:100%;max-width:9.5rem;display:inline-flex}.attendance-records-table .attendance-record-actions{flex-wrap:nowrap;justify-content:center;gap:.3rem;width:100%;max-width:100%;display:flex}.attendance-record-action{border-radius:var(--radius-control);flex:0 0 2.75rem;place-items:center;width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;display:inline-grid}.attendance-record-action:hover:not(:disabled){color:var(--brand-blue)}.attendance-record-action:focus-visible{outline:3px solid var(--brand-blue-bright);outline-offset:3px}@media (width<=1439px){.attendance-responsive-wrap,.payroll-daily-responsive-wrap{display:none}.salaries-responsive-wrap{overflow:visible}.salaries-responsive-table,.salaries-responsive-table>tbody,.salaries-responsive-table>tbody>tr,.salaries-responsive-table>tbody>tr>td{width:100%;display:block}.salaries-responsive-table>thead{display:none}.salaries-responsive-table>tbody{gap:.7rem;display:grid}.salaries-responsive-table>tbody>tr:not(.salary-detail-row):not(.salary-history-separator){border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);box-shadow:var(--st-shadow-sm);padding:.75rem .9rem;overflow:hidden}.salaries-responsive-table>tbody>tr:not(.salary-detail-row):not(.salary-history-separator)>td{border:0;grid-template-columns:minmax(7.5rem,40%) minmax(0,1fr);align-items:center;gap:.65rem;padding:.45rem 0;display:grid;text-align:right!important}.salaries-responsive-table>tbody>tr:not(.salary-detail-row):not(.salary-history-separator)>td:before{content:attr(data-label);color:var(--muted);letter-spacing:.055em;text-align:left;text-transform:uppercase;font-size:.68rem;font-weight:750;line-height:1.2}.salaries-responsive-table>tbody>tr:not(.salary-detail-row):not(.salary-history-separator)>td[data-label=Empleado]{text-align:left!important}.salaries-responsive-table>tbody>tr:not(.salary-detail-row):not(.salary-history-separator)>td[data-label=Detalle]>div{flex-wrap:wrap;justify-content:flex-end}.salaries-responsive-table>tbody>.salary-history-separator>td{padding:.85rem .9rem}.salaries-responsive-table>tbody>.salary-detail-row>td{border:0;padding:.15rem 0 .5rem;display:block}.responsive-table-cards{gap:.7rem;display:grid}.responsive-table-card{border:1px solid var(--line-subtle);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-float), inset 0 1px 0 #ffffffeb;gap:.7rem;padding:.95rem;display:grid}.responsive-table-card__heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.responsive-table-card__name{min-width:0;color:var(--brand-ink);overflow-wrap:anywhere;font-weight:700}.responsive-table-card__date{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.responsive-table-card__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem .85rem;display:grid}.responsive-table-card__item{gap:.13rem;min-width:0;display:grid}.responsive-table-card__item dt{color:var(--muted);letter-spacing:.055em;text-transform:uppercase;font-size:.68rem;font-weight:750;line-height:1.2}.responsive-table-card__item dd{font-variant-numeric:tabular-nums;min-width:0;margin:0}.responsive-table-card__footer{border-top:1px solid var(--line-subtle);flex-wrap:wrap;align-items:center;gap:.55rem;padding-top:.65rem;display:flex}.responsive-table-card__footer .btn{min-height:2.75rem}.responsive-table-card__footer.attendance-record-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.3rem}.historical-history-panel .attendance-responsive-wrap{display:block;overflow:visible}.historical-history-table,.historical-history-table>tbody,.historical-history-table>tbody>tr,.historical-history-table>tbody>tr>td{width:100%;display:block}.historical-history-table>thead{display:none}.historical-history-table>tbody{gap:.7rem;display:grid}.historical-history-table>tbody>tr{border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);box-shadow:var(--st-shadow-sm);padding:.75rem .9rem;overflow:hidden}.historical-history-table>tbody>tr>td{border:0;grid-template-columns:minmax(7.5rem,40%) minmax(0,1fr);align-items:center;gap:.65rem;padding:.45rem 0;display:grid;text-align:right!important}.historical-history-table>tbody>tr>td:before{content:attr(data-label);color:var(--muted);letter-spacing:.055em;text-align:left;text-transform:uppercase;font-size:.68rem;font-weight:750;line-height:1.2}.historical-history-table>tbody>tr>td[data-label="Fecha / empleado"],.historical-history-table>tbody>tr>td[data-label=Horarios\ conocidos],.historical-history-table>tbody>tr>td[data-label="Pago / versión"]{padding-top:.55rem;display:block;text-align:left!important}.historical-history-table>tbody>tr>td[data-label="Fecha / empleado"]:before,.historical-history-table>tbody>tr>td[data-label=Horarios\ conocidos]:before,.historical-history-table>tbody>tr>td[data-label="Pago / versión"]:before{margin-bottom:.2rem;display:block}.historical-history-table>tbody>tr>td[data-label=Acciones]{border-top:1px solid var(--line-subtle);flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.65rem;display:flex;text-align:left!important}.historical-history-table>tbody>tr>td[data-label=Acciones]:before{flex:0 0 100%;margin-bottom:0}}@media (width<=480px){.responsive-table-card__grid{grid-template-columns:1fr}.responsive-table-card__heading{flex-direction:column;align-items:flex-start;gap:.2rem}}.table tbody tr:last-child td{border-bottom:none}.row-saved{background-color:var(--st-success-soft,#00c95329)}@media (prefers-reduced-motion:reduce){.row-saved{background-color:var(--st-success-soft,#00c95329)}}.num{font-variant-numeric:tabular-nums}.empty{text-align:center;color:var(--muted);padding:2.5rem 1rem;font-size:.875rem}.empty svg{color:var(--light-blue);margin-bottom:.5rem}.empty .btn{margin-top:.75rem}.empty-state{text-align:center;min-height:190px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.empty-state>svg{color:var(--light-blue)}.empty-state h3{margin-bottom:.25rem}.empty-state p{max-width:52ch;font-size:.84rem}.alert{border-radius:var(--radius-control);align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.7rem .9rem;font-size:.84rem;display:flex}.alert-error{color:var(--expense-red);background:#b4231817}.alert-success{color:var(--dark-green);background:#00c8531f}.alert-with-action{justify-content:space-between;align-items:center}.alert-copy{align-items:center;gap:.5rem;display:inline-flex}.sidebar{width:18rem;-webkit-backdrop-filter:blur(var(--glass-blur));border-right:1px solid var(--ink-border);background:#fff9;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid #1543991a;align-items:center;padding:1rem 1.3rem;display:flex}.sidebar-nav{flex:1;padding:.9rem .8rem;overflow-y:auto}.nav-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:.9rem .6rem .35rem;font-size:.66rem;font-weight:700}.nav-link{border-radius:var(--radius-control);color:var(--brand-muted);align-items:center;gap:.6rem;margin-bottom:2px;padding:.55rem .7rem;font-size:.85rem;font-weight:500;transition:background-color .15s,color .15s;display:flex}.nav-link svg{flex-shrink:0}.nav-link:hover{color:var(--text);background:#0066cc12}.nav-link.active{color:var(--brand-blue);background:#0066cc1f;font-weight:700}.sidebar-user{border-top:1px solid #1543991a;align-items:center;gap:.6rem;padding:.85rem 1.3rem;display:flex}.avatar{background:linear-gradient(135deg, var(--brand-blue), var(--brand-green-deep));color:#fff;border-radius:.85rem;flex-shrink:0;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;font-size:.8rem;font-weight:700;display:flex}.sidebar-user .meta{flex:1;min-width:0}.sidebar-user .name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.sidebar-user .role{color:var(--muted);font-size:.7rem}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);z-index:10;background:#fff6;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.6rem;display:flex;position:sticky;top:0}.topbar-title{color:var(--text);letter-spacing:-.02em;font-size:1.02rem;font-weight:720}.topbar-sub{color:var(--muted);font-size:.74rem}.page{width:100%;padding:1.5rem 1.75rem 2.5rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.1rem;display:flex}.toolbar .spacer{flex:1}.toolbar-status{color:var(--muted);white-space:nowrap;align-items:center;gap:.35rem;font-size:.76rem;display:inline-flex}.muted{color:var(--muted)}.divider{border:none;border-top:1px solid #1543991f;margin:1rem 0}.link-btn{font-family:var(--font);font-size:inherit;color:var(--primary-blue);cursor:pointer;touch-action:manipulation;background:0 0;border:none;min-height:2.25rem;padding:0;font-weight:600}.link-btn:hover{color:var(--secondary-blue)}.kiosk{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.25rem;display:flex;position:relative;overflow:hidden}.kiosk:before,.kiosk:after,.login-wrap:before,.login-wrap:after{content:"";filter:blur(60px);opacity:.5;pointer-events:none;border-radius:50%;position:absolute}.kiosk:before{background:#007bff59;width:420px;height:420px;animation:10s ease-in-out infinite alternate orb-drift;position:fixed;top:-120px;right:-100px}.kiosk:after{background:#00c85347;width:380px;height:380px;animation:12s ease-in-out infinite alternate-reverse orb-drift;position:fixed;bottom:-110px;left:-90px}@keyframes orb-drift{0%{transform:translate(0)scale(1)}to{transform:translate(-40px,30px)scale(1.08)}}.kiosk-brand{z-index:1;flex-direction:column;align-items:center;gap:.4rem;margin-bottom:1.6rem;display:flex;position:relative}.kiosk-brand img{width:min(84%,400px);height:auto}.kiosk-brand .tagline{color:var(--brand-muted);font-size:.82rem;font-weight:600}.kiosk-card{background:var(--glass);width:100%;max-width:420px;-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-login);box-shadow:var(--shadow-panel);z-index:1;padding:1.7rem 1.6rem;position:relative}.kiosk-clock{text-align:center;color:var(--text);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:720;line-height:1.1}.kiosk-date{text-align:center;color:var(--muted);margin-bottom:1.2rem;font-size:.8rem}.kiosk-btn{border-radius:var(--radius);letter-spacing:.01em;width:100%;padding:.95rem;font-size:1.02rem;font-weight:700}.kiosk-btn svg{width:1.25rem;height:1.25rem}.kiosk-employee{background:var(--glass-strong);border:1px solid var(--glass-border);border-radius:var(--radius-panel);align-items:center;gap:.8rem;margin-bottom:1rem;padding:.8rem;display:flex}.kiosk-employee .avatar-lg{background:linear-gradient(135deg, var(--brand-blue), var(--brand-green-deep));color:#fff;border-radius:.85rem;flex-shrink:0;justify-content:center;align-items:center;width:2.8rem;height:2.8rem;font-size:1rem;font-weight:700;display:flex}.kiosk-employee .name{color:var(--text);font-size:.95rem;font-weight:700;line-height:1.25}.kiosk-employee .role{color:var(--muted);font-size:.78rem}.kiosk-video{aspect-ratio:4/3;object-fit:cover;background:#111;border-radius:12px;width:100%;margin-bottom:.8rem}.kiosk-countdown{text-align:center;color:var(--text);margin:0 0 .6rem;font-size:1rem;font-weight:700}.kiosk-countdown span{font-variant-numeric:tabular-nums;font-size:1.5rem}.kiosk-done{text-align:center;padding:.5rem 0}.kiosk-confirmed-employee{color:var(--brand-ink);margin:0 0 .45rem;font-size:1.1rem;font-weight:720}.kiosk-done .big-icon{border-radius:.85rem;justify-content:center;align-items:center;width:3.4rem;height:3.4rem;margin:0 auto .8rem;display:flex}.kiosk-done .big-icon.ok{color:var(--dark-green);background:#00c85324}.kiosk-done .big-icon.blue{color:var(--brand-blue);background:#0066cc1f}.kiosk-done h2{margin-bottom:.2rem}.kiosk-done .detail{color:var(--muted);margin-bottom:1.2rem;font-size:.88rem}.login-wrap{justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.25rem;animation:.52s cubic-bezier(.2,.7,.2,1) both login-up;display:flex;position:relative;overflow:hidden}@keyframes login-up{0%{opacity:0;filter:blur(4px);transform:translateY(8px)}to{opacity:1;filter:blur();transform:translateY(0)}}.login-hero{display:none}.login-card{background:var(--glass);-webkit-backdrop-filter:blur(28px)saturate(140%);border:1px solid var(--glass-border);border-radius:var(--radius-login);width:100%;max-width:400px;box-shadow:var(--shadow-panel);z-index:1;padding:2rem 1.8rem;position:relative}.login-card .brand{flex-direction:column;align-items:center;gap:.3rem;margin-bottom:1.5rem;display:flex}.login-card .brand img{width:min(82%,340px);height:auto}.login-card .brand .sub{color:var(--brand-muted);font-size:.78rem;font-weight:600}@media (width>=900px){.login-wrap{gap:3.5rem}.login-hero{z-index:1;flex-direction:column;align-items:flex-start;gap:1rem;max-width:380px;display:flex;position:relative}.login-hero img{width:min(100%,400px);height:auto}.login-hero h1{letter-spacing:-.03em;font-size:clamp(1.65rem,3vw,2.2rem)}.login-hero p{color:var(--brand-muted);font-size:.95rem;line-height:1.5}.login-hero .watermark{filter:blur(8px);z-index:-1;background:radial-gradient(circle at 35% 30%,#ffffff8c,#0000 55%),radial-gradient(circle at 65% 70%,#007bff59,#0000 60%),radial-gradient(circle at 40% 60%,#00c85340,#0000 55%);border-radius:50%;width:260px;height:260px;animation:11s ease-in-out infinite alternate orb-drift;position:absolute;top:-60px;left:-70px}.login-card .brand{display:none}}@media (width<=1100px),(pointer:coarse){body{background-attachment:scroll}body:before,body:after{display:none}.card,.table-wrap,.sidebar,.topbar,.kiosk-card,.login-card,.glass-select-content{-webkit-backdrop-filter:none}}@media (width<=900px){.sidebar{width:64px}.sidebar-brand{justify-content:center;padding:.9rem .4rem}.sidebar-brand img{width:46px;height:auto}.nav-label,.nav-link span,.sidebar-user .meta{display:none}.nav-link{justify-content:center;padding:.6rem 0}.sidebar-user{justify-content:center;padding:.7rem .4rem}.page{padding:1rem}.topbar{padding:.75rem 1rem}.topbar .btn{padding-inline:.7rem;font-size:0}.topbar .btn svg{margin:0}.alert-with-action{flex-direction:column;align-items:stretch}}.drop-loader{color:var(--brand-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1rem;font-size:.85rem;font-weight:600;display:flex}.drop-loader .drop{filter:drop-shadow(0 6px 14px #0066cc59);width:34px;height:auto;animation:3s ease-in-out both drop-bob}@keyframes drop-bob{0%{opacity:.4;transform:translateY(6px)}35%{opacity:1;transform:translateY(-2px)}65%{opacity:1;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-rotate{to{transform:rotate(360deg)}}@keyframes fade-pulse{0%,to{opacity:.45}50%{opacity:1}}.spin{transform-origin:50%;will-change:transform;flex:none;justify-content:center;align-items:center;line-height:0;animation:.8s linear infinite spin-rotate;display:inline-flex}.spin>svg{display:block}.skeleton{border-radius:var(--radius-control);background:#15439917;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);animation:2.4s ease-in-out both shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{0%{transform:translate(-100%)}60%{transform:translate(100%)}to{transform:translate(100%)}}@keyframes reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.kiosk:before,.kiosk:after,.login-wrap:before,.login-wrap:after,.login-hero .watermark,.skeleton:after,.admin-route-guard-logo:after,.admin-route-guard-line:after,.admin-route-guard-title:after,.admin-route-guard-cards i:after,.drop-loader .drop,.water-orb,.kiosk-countdown,.btn-primary:after,.btn-green:after{animation:none!important}.spin{animation:1.6s ease-in-out infinite fade-pulse!important}.route-loading:not(.is-active) .spin,.datefield-panel,.monthfield-panel{animation:none!important}.kiosk-phase-body,.notification{transition:opacity .12s!important;transform:none!important}.notification[data-state=enter],.notification[data-state=exit]{opacity:0}.btn,.nav-link,.input,.select-trigger,.datefield-trigger,.datefield-day,.kiosk-key,.kiosk-cta,.login-password-toggle,.operation-row,.activity-row,.table tbody tr{transform:none!important}.sidebar{transition:none!important}.sidebar-scrim{transition:opacity .12s!important}}.datefield{display:inline-block;position:relative}.datefield-trigger{border-radius:var(--radius-control);background:var(--field-fill);height:2.75rem;color:var(--text);font-family:var(--font);cursor:pointer;white-space:nowrap;border:1px solid #d6e7f7;align-items:center;gap:.5rem;padding:0 .75rem;font-size:.9rem;transition:border-color .16s,background .16s;display:inline-flex}.datefield-trigger:hover:not(:disabled){background:#fff;border-color:#b8d4f1}.datefield-trigger:disabled{cursor:not-allowed;color:var(--muted);background:var(--gray-100);opacity:.72}.datefield-trigger:focus-visible{outline:2px solid var(--brand-blue-bright);outline-offset:1px}.datefield-placeholder{color:var(--muted)}.monthfield{min-width:0;display:inline-block;position:relative}.monthfield-trigger{border-radius:var(--radius-control);background:var(--field-fill);min-width:15rem;min-height:2.75rem;color:var(--text);font:inherit;text-align:left;cursor:pointer;border:1px solid #d6e7f7;justify-content:flex-start;align-items:center;gap:.5rem;padding:.55rem .75rem;transition:border-color .16s,background .16s;display:inline-flex}.monthfield-trigger:hover:not(:disabled){background:#fff;border-color:#b8d4f1}.monthfield-trigger:focus-visible{outline:2px solid var(--brand-blue-bright);outline-offset:1px}.monthfield-trigger:disabled{cursor:not-allowed;opacity:.72}.monthfield-panel{z-index:60;border-radius:var(--radius-panel);transform-origin:0 0;width:min(18.25rem,100vw - 1rem);animation:datefield-open .18s var(--ease-out) both;transition:opacity .15s var(--ease-out), transform .15s var(--ease-out);background:#fffffff5;border:1px solid #dbeaf8;padding:.8rem;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 18px 36px -24px #0066cc80}.monthfield-head{color:var(--brand-ink);justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.7rem;display:flex}.monthfield-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;display:grid}.monthfield-month{border-radius:var(--radius-control);min-height:2.45rem;color:var(--brand-ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;padding:.35rem;font-size:.82rem}.monthfield-month:hover,.monthfield-month:focus-visible{background:#ddf1ffe6;border-color:#0066cc4d;outline:none}.monthfield-month.is-selected{background:var(--brand-blue);color:#fff;font-weight:720}.datefield-panel{z-index:40;-webkit-backdrop-filter:blur(28px);border-radius:var(--radius-panel);transform-origin:0 0;width:min(18.25rem,100vw - 1rem);animation:datefield-open .18s var(--ease-out) both;transition:opacity .15s var(--ease-out), transform .15s var(--ease-out);background:#ffffffdb;border:1px solid #dbeaf8;padding:.8rem;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 18px 36px -24px #0066cc80}.monthfield-panel[data-side=top],.datefield-panel[data-side=top]{transform-origin:0 100%;animation-name:datefield-open-top}.datefield-panel[data-side=top].is-end-aligned,.monthfield-panel[data-side=top].is-end-aligned{transform-origin:100% 100%}.datefield-panel.is-end-aligned,.monthfield-panel.is-end-aligned{transform-origin:100% 0}.datefield-panel.is-end-aligned{left:auto;right:0}.datefield-panel[data-state=closing],.monthfield-panel[data-state=closing]{opacity:0;pointer-events:none;animation:none;transform:translateY(-5px)scale(.97)}.datefield-panel[data-side=top][data-state=closing],.monthfield-panel[data-side=top][data-state=closing]{transform:translateY(5px)scale(.97)}.datefield-panel.is-portaled{z-index:140;max-height:calc(100dvh - 1rem);position:fixed;right:auto;overflow-y:auto}.dialog-backdrop{z-index:80;opacity:1;transition:opacity .22s var(--ease-water);background:#15439947;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.app-dialog{border:1px solid var(--glass-border);border-radius:var(--radius-panel);width:min(100%,31rem);box-shadow:var(--shadow-panel);opacity:1;transform-origin:50%;transition:opacity .22s var(--ease-water), transform .22s var(--ease-water);will-change:opacity, transform;background:#fff;gap:.8rem;padding:1.25rem;display:grid;transform:translateY(0)scale(1)}.dialog-backdrop[data-motion-state=entering],.dialog-backdrop[data-motion-state=exiting]{opacity:0}.dialog-backdrop[data-motion-state=entering] .app-dialog,.dialog-backdrop[data-motion-state=exiting] .app-dialog{opacity:0;transform:translateY(.35rem)scale(.965)}.dialog-backdrop[data-motion-state=exiting]{pointer-events:none;transition-duration:.17s}.dialog-backdrop[data-motion-state=exiting] .app-dialog{transition-duration:.17s}.app-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;display:flex}.app-dialog-actions .btn{min-height:2.75rem}.attendance-location-dialog{width:min(100%,33rem)}.attendance-location-dialog-copy{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.8rem;display:grid}.attendance-location-dialog-icon{width:2.5rem;height:2.5rem;color:var(--brand-blue);background:var(--blue-soft);border-radius:50%;place-items:center;display:grid}.attendance-location-dialog h2{color:var(--brand-ink);letter-spacing:-.025em;margin:0;font-size:1.18rem;line-height:1.25}.attendance-location-dialog p{color:var(--brand-muted);margin:.45rem 0 0;font-size:.9rem;line-height:1.55}.attendance-location-dialog .attendance-location-dialog-help{border-top:1px solid var(--border);padding-top:.55rem;font-size:.82rem}.attendance-location-dialog-actions{margin-top:.35rem}.attendance-location-dialog-actions .btn{min-width:9rem;min-height:2.75rem}@media (width<=480px){.attendance-location-dialog{padding:1rem}.attendance-location-dialog-actions{flex-direction:column-reverse}.attendance-location-dialog-actions .btn{width:100%}}.correction-dialog{width:min(100%,42rem)}.correction-form{gap:.8rem;display:grid}.correction-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.correction-timestamp,.correction-field,.correction-datefield{gap:.45rem;min-width:0;display:grid}.correction-date-time{grid-template-columns:minmax(0,1fr) minmax(7rem,.58fr);gap:.65rem;display:grid}.correction-date-time>div{gap:.45rem;min-width:0;display:grid}.correction-datefield .datefield,.correction-datefield .datefield-trigger{width:100%}.correction-field--full{grid-column:1/-1}.button-row,.period-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.employee-create-form{gap:1rem;margin-bottom:1.1rem;display:grid}.employee-create-identity-row,.employee-create-names-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.employee-create-names-row{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-dni-field,.employee-dni-field .field-help{min-width:0}.employee-dni-controls{align-items:stretch;gap:.5rem;display:flex}.employee-dni-controls .input{min-width:0}.employee-dni-lookup{white-space:nowrap;flex:none;min-height:2.75rem}.employee-create-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}@media (width<=1180px){.employee-create-identity-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.employee-create-identity-row,.employee-create-names-row{grid-template-columns:1fr}.employee-dni-controls{flex-direction:column}.employee-dni-lookup,.employee-create-actions .btn{width:100%}}.period-actions{margin-top:.7rem}.dialog-portal{z-index:100;background:#0c2a5857;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.dialog-portal .app-dialog{width:min(100%,42rem);max-height:min(44rem,100dvh - 2rem);overflow:auto;box-shadow:0 24px 56px -28px #003e8894,inset 0 1px #ffffffe6}.dialog-portal .app-dialog>form{gap:.8rem;display:grid}.app-dialog-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.dialog-portal .app-dialog.evidence-dialog{flex-direction:column;gap:0;width:min(100%,62rem);max-height:min(46rem,100dvh - 2rem);padding:0;display:flex;overflow:hidden}.evidence-dialog__header{border-bottom:1px solid var(--border);background:#fff;flex:none;justify-content:space-between;align-items:flex-start;gap:.85rem;padding:.95rem 1.15rem;display:flex}.evidence-dialog__heading{min-width:0}.evidence-dialog h2{color:var(--brand-ink);letter-spacing:-.025em;margin:0;font-size:1.08rem;line-height:1.25}.evidence-dialog__subject{color:var(--brand-ink);overflow-wrap:anywhere;margin:.18rem 0 0;font-size:.88rem;line-height:1.4}.evidence-dialog__subject strong{font-weight:700}.evidence-dialog__separator{color:var(--muted)}.evidence-dialog__subject time{color:var(--brand-muted);font-variant-numeric:tabular-nums}.evidence-dialog__close{flex:none;min-width:2.75rem;min-height:2.75rem;padding:0}.evidence-dialog__body{gap:.85rem;min-height:0;padding:.95rem 1.15rem 1.15rem;display:grid;overflow:hidden auto}.evidence-dialog__intro{color:var(--brand-muted);margin:0;font-size:.82rem;line-height:1.5}.evidence-dialog__intro strong{color:var(--brand-ink);font-weight:650}.evidence-dialog__empty{border:1px solid var(--border);border-radius:var(--radius-control);color:var(--brand-muted);background:#f7fbff;margin:0;padding:.9rem 1rem;font-size:.86rem;line-height:1.5}.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.15rem;display:grid}.evidence-figure{flex-direction:column;gap:.6rem;min-width:0;margin:0;display:flex}.evidence-figure__caption{flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;display:flex}.evidence-figure__title{color:var(--brand-ink);letter-spacing:-.015em;margin:0;font-size:.96rem;font-weight:720}.evidence-version{margin-left:auto}.evidence-stage{border:1px solid var(--border);border-radius:var(--radius);background:#f7fbff;place-items:center;width:100%;min-width:0;height:clamp(13rem,40vh,21rem);display:grid;position:relative;overflow:hidden}.evidence-stage img{object-fit:contain;width:100%;min-width:0;height:100%;min-height:0;display:block;position:absolute;inset:0}.evidence-stage__skeleton{border-radius:0;width:auto;height:auto;position:absolute;inset:0}.evidence-stage__empty{text-align:center;color:var(--muted);margin:0;padding:1rem;font-size:.85rem}.evidence-notice{border-radius:var(--radius-control);background:var(--amber-soft);color:#7a5200;align-items:flex-start;gap:.4rem;margin:0;padding:.55rem .65rem;font-size:.78rem;line-height:1.45;display:flex}.evidence-view-row{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;padding-top:.65rem;display:flex}.evidence-view-row__label{color:var(--muted);letter-spacing:.055em;text-transform:uppercase;align-items:center;gap:.3rem;font-size:.68rem;font-weight:750;display:inline-flex}.evidence-view{border:1px solid var(--border);border-radius:var(--radius-control);background:#f4f9ff;flex-wrap:wrap;gap:.15rem;max-width:100%;padding:.15rem;display:inline-flex}.evidence-view__option{border-radius:calc(var(--radius-control) - 1px);min-width:0;min-height:2.75rem;color:var(--brand-muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 .8rem;font-size:.8rem;font-weight:650;line-height:1}.evidence-view__option:hover{color:var(--brand-ink);background:#0066cc0f}.evidence-view__option[aria-pressed=true]{color:var(--brand-ink);background:#fff;box-shadow:0 1px 2px #15439929}.evidence-view__option:focus-visible{outline:2px solid var(--brand-blue-bright);outline-offset:1px}.evidence-downloads{flex-wrap:wrap;gap:.5rem;display:flex}.evidence-action{white-space:normal;text-align:center;min-width:0;max-width:100%;min-height:2.75rem;line-height:1.15}.evidence-meta{gap:.6rem;margin:0;font-size:.8rem;display:grid}.evidence-meta__row{gap:.15rem;min-width:0;display:grid}.evidence-meta dt{color:var(--muted);letter-spacing:.055em;text-transform:uppercase;font-size:.66rem;font-weight:750;line-height:1.2}.evidence-meta dd{min-width:0;color:var(--brand-ink);overflow-wrap:anywhere;margin:0;line-height:1.45}.evidence-meta dd>span{display:block}.evidence-meta time{font-variant-numeric:tabular-nums;font-weight:700}.evidence-meta__muted{color:var(--muted)}.evidence-meta__coords{color:var(--brand-muted);font-variant-numeric:tabular-nums}.evidence-meta__accuracy{color:var(--brand-muted)}.evidence-meta__maps{min-height:2.75rem;color:var(--brand-blue);text-underline-offset:2px;align-items:center;margin-top:.15rem;font-weight:650;text-decoration:underline;display:inline-flex}.evidence-meta__maps:hover{color:var(--brand-blue-bright)}.evidence-meta__maps:focus-visible{outline:2px solid var(--brand-blue-bright);outline-offset:2px;border-radius:2px}@media (width<=760px){.dialog-portal .app-dialog.evidence-dialog{width:100%;max-height:calc(100dvh - 1rem)}.evidence-dialog__header{padding:.8rem .9rem}.evidence-dialog__body{padding:.8rem .9rem 1rem}.evidence-grid{grid-template-columns:1fr}.evidence-stage{height:clamp(12rem,36vh,18rem)}}.notification-host{z-index:110;pointer-events:none;gap:.55rem;width:min(24rem,100vw - 2rem);display:grid;position:fixed;bottom:1rem;right:1rem}.notification{color:var(--text);border:1px solid var(--border);border-radius:var(--radius-panel);pointer-events:auto;opacity:1;transition:opacity .2s var(--ease-out), transform .2s var(--ease-out);will-change:opacity, transform;background:#fffffff7;align-items:flex-start;gap:.5rem;padding:.8rem 1rem;font-size:.875rem;font-weight:650;display:flex;transform:translateY(0);box-shadow:0 16px 35px -22px #00428a94}.notification[data-state=enter]{opacity:0;transform:translateY(10px)}.notification[data-state=exit]{opacity:0;transform:translateY(8px)}.notification-message{flex:auto;min-width:0}.notification-close{color:currentColor;opacity:.72;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;width:1.5rem;height:1.5rem;margin:-.15rem -.25rem 0 0;padding:0;display:grid}.notification-close:hover{opacity:1;background:#15439914}.notification--success{border-color:#00a04766}.notification--error{color:var(--expense-red);border-color:#b423186b}@media (width<=620px){.dialog-portal{padding:.5rem}.dialog-portal .app-dialog{max-height:calc(100dvh - 1rem)}.button-row .btn:first-child{flex:10rem}.period-actions .btn{flex:auto}.correction-fields{grid-template-columns:1fr}.correction-field--full{grid-column:auto}}.credential-dialog{max-width:34rem}.credential-dialog h2{color:var(--brand-ink);font-size:1.2rem}.credential-dialog>p{color:var(--muted);line-height:1.5}.credential-dialog-icon,.password-change-icon{width:2.8rem;height:2.8rem;color:var(--brand-blue);background:var(--blue-soft);border-radius:50%;place-items:center;display:grid}.credential-dialog-value{border:1px solid color-mix(in srgb, var(--brand-blue) 18%, white);border-radius:var(--radius-control);background:#f7fbff;gap:.25rem;padding:.9rem;display:grid}.credential-dialog-value span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.credential-dialog-value strong,.credential-dialog-value code{overflow-wrap:anywhere;color:var(--brand-ink);font-size:.95rem}.credential-dialog-value code{background:#e7f1ff;border-radius:.3rem;margin-bottom:.35rem;padding:.45rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.credential-dialog-notice{min-height:1.25rem;color:var(--brand-ink);font-size:.78rem;line-height:1.4}.users-commandbar{border-radius:var(--radius-panel);background:var(--chrome);border:1px solid #ffffffc7;justify-content:space-between;align-items:center;gap:1rem;min-height:4.75rem;margin-bottom:1rem;padding:.8rem 1rem;display:flex;box-shadow:0 16px 32px -30px #004a9680,inset 0 1px #ffffffb8}.users-commandbar-copy{gap:.18rem;min-width:0;display:grid}.users-commandbar-summary{color:var(--brand-ink);font-variant-numeric:tabular-nums;margin:0;font-size:.9rem;font-weight:720}.users-commandbar-note{color:var(--muted);margin:0;font-size:.76rem}.users-commandbar .btn{flex:none;min-height:2.75rem}.users-create-form{border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-float), inset 0 1px 0 #ffffffe6;border:1px solid #ffffffd6;gap:1rem;margin-bottom:1.1rem;padding:1.15rem;display:grid}.users-create-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.users-create-heading h2{color:var(--brand-ink);margin:0;font-size:1.1rem}.users-create-heading p{color:var(--muted);margin:.28rem 0 0;font-size:.82rem;line-height:1.45}.users-create-fields{grid-template-columns:minmax(10rem,.82fr) minmax(10rem,.82fr) minmax(14rem,1.3fr) auto;align-items:end;gap:.8rem;display:grid}.users-field{gap:.38rem;min-width:0;display:grid}.users-field .label{margin:0}.users-field .label em{color:var(--muted);letter-spacing:0;text-transform:none;font-size:.68rem;font-style:normal;font-weight:620}.users-create-actions{align-items:end;display:flex}.users-create-actions .btn{white-space:nowrap;min-height:2.85rem}.users-table-wrap{overflow:hidden}.users-table{table-layout:fixed}.users-table th:first-child{width:17%}.users-table th:nth-child(2){width:14%}.users-table th:nth-child(3){width:23%}.users-table th:nth-child(4){width:17%}.users-table th:nth-child(5){width:15%}.users-table th:nth-child(6){width:14%}.users-table td{vertical-align:middle}.users-actions-head,.users-actions-cell{text-align:right}.users-row-inactive{opacity:.66}.users-identity,.users-statuses,.users-row-actions,.users-reset-inline{align-items:center;gap:.45rem;min-width:0;display:flex}.users-identity{flex-wrap:wrap}.users-identity strong{color:var(--brand-ink);text-overflow:ellipsis;white-space:nowrap;font-weight:720;overflow:hidden}.users-statuses{flex-wrap:wrap}.users-row-select{width:100%;min-height:2.35rem;padding:.3rem .55rem}.users-last-login{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem;line-height:1.35}.users-row-actions{flex-wrap:wrap;justify-content:flex-end}.users-reset-inline{justify-content:flex-end;width:100%}.users-reset-input{width:min(11rem,100%);min-height:2.35rem;padding:.35rem .55rem}.credential-backdrop{background:#0c2a5861}.credential-dialog{gap:1rem;width:min(100%,35rem);max-width:35rem;padding:clamp(1.25rem,3vw,1.65rem);box-shadow:0 28px 58px -32px #003e889e,inset 0 1px #fffffff0}.credential-dialog-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.credential-dialog-once{border-radius:var(--radius-badge);color:#75520c;letter-spacing:.02em;background:#fff5dd;padding:.34rem .58rem;font-size:.71rem;font-weight:720}.credential-dialog-copy{gap:.38rem;display:grid}.credential-dialog h2{color:var(--brand-ink);letter-spacing:-.035em;margin:0;font-size:clamp(1.28rem,3vw,1.55rem)}.credential-dialog-copy p{color:var(--muted);margin:0;line-height:1.5}.credential-dialog-value{background:#f7fbff;gap:.72rem;padding:.85rem}.credential-value-row{gap:.25rem;min-width:0;display:grid}.credential-dialog-value code{color:#113d89;font-variant-numeric:tabular-nums;margin:0;display:block}.credential-dialog-reminder{color:var(--muted);align-items:flex-start;gap:.45rem;margin:0;font-size:.78rem;line-height:1.42;display:flex}.credential-dialog-reminder svg{color:var(--brand-blue);flex:none;margin-top:.05rem}.credential-dialog-actions{justify-content:space-between}.credential-dialog-actions .btn{min-width:9.5rem}@media (width<=1180px){.users-create-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.users-field-wide{grid-column:auto}.users-create-actions{justify-content:flex-start}}@media (width<=860px){.users-table-wrap{box-shadow:none;background:0 0;border:0;overflow:visible}.users-table,.users-table tbody,.users-table tr,.users-table td{width:100%;display:block}.users-table thead{display:none}.users-table tbody{gap:.75rem;display:grid}.users-table tbody tr{border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-float), inset 0 1px 0 #ffffffeb;border:1px solid #ffffffd6;padding:.3rem 0}.users-table tbody tr:hover{box-shadow:var(--shadow-float), inset 0 1px 0 #ffffffeb}.users-table tbody tr:has(.empty){padding:0}.users-table td{border:0;border-bottom:1px solid var(--line-subtle);text-align:right;grid-template-columns:minmax(7.4rem,38%) minmax(0,1fr);align-items:center;gap:.8rem;padding:.68rem .85rem;display:grid}.users-table td:before{content:attr(data-label);color:var(--muted);letter-spacing:.055em;text-align:left;text-transform:uppercase;font-size:.68rem;font-weight:750;line-height:1.2}.users-table td:last-child{border-bottom:0}.users-table td.empty{text-align:center;padding:2rem 1rem;display:grid}.users-table td.empty:before{content:none}.users-identity,.users-statuses,.users-row-actions,.users-reset-inline{justify-content:flex-end}.users-identity strong{max-width:100%}.users-row-actions{min-width:0}.users-reset-inline{flex-wrap:wrap}.users-reset-input{flex:10rem}}@media (width<=620px){.users-commandbar{flex-direction:column;align-items:stretch}.users-commandbar .btn{width:100%}.users-create-form{padding:1rem}.users-create-fields{grid-template-columns:1fr}.users-create-actions .btn{width:100%}.users-table td{text-align:left;grid-template-columns:1fr;gap:.3rem}.users-table td:before{text-align:left}.users-identity,.users-statuses,.users-row-actions,.users-reset-inline{justify-content:flex-start}.users-row-select{width:100%}.credential-dialog{padding:1.15rem}.credential-dialog-actions{flex-direction:column}.credential-dialog-actions .btn{width:100%}}.admin-route-guard{min-height:100dvh;color:var(--brand-ink);background:var(--page-bg);grid-template-columns:clamp(13.5rem,18vw,16rem) minmax(0,1fr);display:grid;overflow:hidden}.admin-route-guard-shell,.admin-route-guard-content{padding:clamp(1rem,2.5vw,2rem)}.admin-route-guard-shell{background:#eff9ffe0;border-right:1px solid #1543991a;flex-direction:column;gap:1rem;display:flex}.admin-route-guard-logo,.admin-route-guard-line,.admin-route-guard-title,.admin-route-guard-cards i{background:#d7ebf894;border-radius:999px;display:block;position:relative;overflow:hidden}.admin-route-guard-logo:after,.admin-route-guard-line:after,.admin-route-guard-title:after,.admin-route-guard-cards i:after{content:"";background:linear-gradient(90deg,#0000,#ffffffe0,#0000);animation:1.6s linear infinite session-shimmer;position:absolute;inset:0;transform:translate(-100%)}.admin-route-guard-logo{width:7.5rem;height:2rem;margin-bottom:1.75rem}.admin-route-guard-line{width:100%;height:2.7rem}.admin-route-guard-line--short{width:45%;height:.7rem;margin-bottom:-.4rem}.admin-route-guard-content{padding-top:clamp(1.5rem,4vw,3rem)}.admin-route-guard-title{width:min(18rem,62%);height:2.3rem;margin-bottom:1.4rem}.admin-route-guard-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;max-width:62rem;display:grid}.admin-route-guard-cards i{border-radius:1rem;min-height:8rem}@keyframes session-shimmer{to{transform:translate(100%)}}@media (width<=700px){.admin-route-guard{grid-template-columns:1fr}.admin-route-guard-shell{display:none}.admin-route-guard-content{padding:5rem 1rem 1rem}.admin-route-guard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.admin-route-guard-logo:after,.admin-route-guard-line:after,.admin-route-guard-title:after,.admin-route-guard-cards i:after{animation:none}}.password-change-wrap{background:radial-gradient(circle at 20% 90%, color-mix(in srgb, var(--brand-green) 18%, transparent), transparent 35%), var(--page-bg);place-items:center;min-height:100dvh;padding:1rem;display:grid}.password-change-card{border:1px solid var(--glass-border);border-radius:var(--radius-panel);width:min(100%,31rem);box-shadow:var(--shadow-panel);background:#fffffff0;gap:.9rem;padding:clamp(1.25rem,4vw,2rem);display:grid}.password-change-brand{width:min(14rem,76%);height:auto}.password-change-card h1{color:var(--brand-ink);letter-spacing:-.035em;font-size:clamp(1.5rem,5vw,2rem)}.password-change-copy{color:var(--muted);line-height:1.5}.password-change-form{gap:.85rem;margin-top:.25rem;display:grid}.password-change-submit{justify-content:center;min-height:2.75rem}.password-change-note{color:var(--muted);align-items:center;gap:.4rem;font-size:.78rem;display:flex}.schedule-form{gap:1rem;display:grid}.schedule-form-section{gap:.65rem;display:grid}.schedule-hours-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.65rem;display:grid}.schedule-hours-grid .input{min-width:0;min-height:2.75rem}.schedule-break-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}@media (width<=900px){.schedule-hours-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=700px){.schedule-hours-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-break-grid{grid-template-columns:1fr}}@keyframes datefield-open{0%{opacity:0;transform:translateY(-5px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes datefield-open-top{0%{opacity:0;transform:translateY(5px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.datefield-head{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.datefield-month{color:var(--brand-ink);font-size:.85rem;font-weight:700}.datefield-nav{width:1.75rem;height:1.75rem;color:var(--brand-blue);cursor:pointer;background:0 0;border:none;border-radius:.35rem;font-size:1.1rem;line-height:1}.datefield-nav:hover{background:#0066cc1a}.datefield-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.datefield-weekdays{margin-bottom:4px}.datefield-weekday{text-align:center;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.2rem 0;font-size:.68rem;font-weight:700}.datefield-day{aspect-ratio:1;border-radius:var(--radius-control);color:var(--brand-ink);font-family:var(--font);cursor:pointer;background:0 0;border:none;font-size:.8rem;transition:background .16s}.datefield-day:hover:not(:disabled){background:#0066cc1f}.datefield-day.is-selected{background:var(--brand-blue);color:#fff;font-weight:700}.datefield-day.is-today{box-shadow:inset 0 0 0 2px var(--brand-blue-bright)}.datefield-day.is-outside{opacity:.55;cursor:default}.datefield-foot{border-top:1px solid #1543991f;justify-content:space-between;margin-top:.6rem;padding-top:.5rem;display:flex}.datefield-clear{color:var(--brand-blue);cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:.78rem;font-weight:600}.datefield-clear:hover{text-decoration:underline}.app-shell{min-height:100vh;display:block}.mobile-header,.sidebar-scrim{display:none}.sidebar{z-index:40;width:var(--sidebar-width);-webkit-backdrop-filter:blur(30px)saturate(165%);background:linear-gradient(#f0faffc7,#d7effe8a);border:0;height:100dvh;position:fixed;inset:0 auto 0 0;box-shadow:inset -1px 0 #ffffffb8,18px 0 42px -38px #0053a885}.sidebar:after{content:"";pointer-events:none;background:radial-gradient(circle at 62% 20%,#67c3f338,#0000 18%),radial-gradient(circle at 25% 55%,#ffffff9e,#0000 7%),linear-gradient(170deg,#0000 18%,#67c3f329 64%,#00c85312);height:45%;position:absolute;inset:auto 0 0;-webkit-mask-image:linear-gradient(#0000,#000 35%);mask-image:linear-gradient(#0000,#000 35%)}.sidebar-brand{z-index:1;border-bottom-color:#15439914;min-height:5.4rem;padding:1rem 1.05rem;position:relative}.sidebar-brand a{display:block}.sidebar-product{color:var(--brand-muted);letter-spacing:.12em;margin-top:.45rem;font-size:.55rem;font-weight:760;display:block}.sidebar-brand img{width:9.6rem;height:auto;display:block}.sidebar-nav,.sidebar-user{z-index:1;position:relative}.nav-link{min-height:2.75rem;transition:background-color .18s var(--ease-water), color .18s var(--ease-water), box-shadow .18s var(--ease-water);padding:.65rem .75rem}.nav-link.active{color:#fff;background:linear-gradient(105deg,#078fc9,#426bd8);box-shadow:0 15px 28px -20px #0066ccbd,inset 0 1px #ffffff94}.sidebar-user{border-radius:var(--radius-panel);background:#ffffff6b;border:1px solid #ffffff8c;margin:.75rem;padding:.75rem;box-shadow:0 18px 30px -28px #0066cca6,inset 0 1px #ffffffb8}.main{min-height:100vh;margin-left:var(--sidebar-width)}.topbar{z-index:10;-webkit-backdrop-filter:none;background:0 0;border:0;padding:1.75rem 2.25rem 1rem;position:relative;top:auto}.topbar:before{content:"";background:linear-gradient(90deg,#15439938,#67c3f359,#0000 82%);height:1px;position:absolute;bottom:0;left:2.25rem;right:2.25rem}.topbar-copy{align-items:center;gap:.8rem;min-width:0;display:flex}.topbar-drop{background:#ffffffdb;border-radius:.9rem;flex:none;place-items:center;width:3rem;height:3rem;display:grid;box-shadow:0 12px 24px -18px #06cc,inset 0 1px #fff}.topbar-drop img{width:1.45rem;height:auto}.topbar-title{letter-spacing:-.035em;text-wrap:balance;max-width:18ch;font-size:clamp(2rem,3vw,2.4rem);font-weight:760;line-height:1.04}.topbar-sub{margin-top:.45rem;font-size:.82rem;font-weight:540}.page{max-width:94rem;margin:0 auto;padding:.4rem 2.25rem 3rem}.route-loading{width:1.5rem;height:1.5rem;color:var(--brand-blue);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s var(--ease-out), transform .15s var(--ease-out), visibility 0s linear .15s;flex:none;place-items:center;display:inline-grid;transform:scale(.9)}.route-loading.is-active{opacity:1;visibility:visible;transition:opacity .12s var(--ease-out), transform .12s var(--ease-out), visibility 0s;transform:scale(1)}.route-loading:not(.is-active) .spin{animation-play-state:paused}.route-fallback{min-height:100dvh;color:var(--brand-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:2rem 1.25rem;display:flex}.route-fallback-badge{background:linear-gradient(145deg,#fffffff2,#67c3f34d);border-radius:50%;place-items:center;width:3.25rem;height:3.25rem;display:grid;box-shadow:0 16px 30px -22px #06cc,inset 0 1px #fff}.route-fallback-badge img{width:1.55rem;height:auto}.route-fallback .spin{color:var(--brand-blue)}.route-fallback-label{font-size:.85rem;font-weight:600}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes page-enter-reduced{0%{opacity:0}to{opacity:1}}.page{animation:page-enter .18s var(--ease-out) both}@media (prefers-reduced-motion:reduce){.page{animation:.12s both page-enter-reduced}.route-loading,.route-loading.is-active{transition:opacity .12s!important;transform:none!important}}.dashboard-section-head{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.75rem;display:flex}.dashboard-section-head h2{font-size:1.12rem;font-weight:740}.dashboard-section-head p{color:var(--muted);margin-top:.18rem;font-size:.78rem}.login-wrap{min-height:100dvh;animation:login-rise .18s var(--ease-water) both;background:radial-gradient(circle at 12% 12%,#ffffffb8,#0000 30%),linear-gradient(160deg,#edf7ff6b,#d1e9fb14);grid-template-columns:minmax(25rem,1.05fr) minmax(23rem,.82fr);gap:clamp(2rem,5vw,4.5rem);padding:clamp(2rem,5vw,4.5rem);display:grid;overflow:hidden}.login-wrap:before,.login-wrap:after{filter:blur(78px);opacity:.42}.login-hero{-webkit-backdrop-filter:blur(22px)saturate(145%);background:linear-gradient(115deg,#ffffff94,#e2f4fe38),radial-gradient(at 58% 105%,#67c3f394,#0000 42%);border-radius:1rem;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.15rem;max-width:43rem;min-height:min(42rem,100dvh - 5rem);padding:clamp(2rem,4vw,3.2rem);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 50px -32px #0066ccb8,inset 0 1px #ffffffe6}.login-hero:after{content:"";background:radial-gradient(circle at 42% 18%,#ffffffc7,#0000 11%),linear-gradient(160deg,#ffffff40,#67c3f38c);border-radius:48% 52% 0 0/38% 45% 0 0;height:52%;animation:18s ease-in-out infinite alternate login-water;position:absolute;inset:auto -18% -28% -14%}.login-caustic{aspect-ratio:1;opacity:.7;filter:blur(10px);background:radial-gradient(circle at 35% 30%,#ffffffeb,#0000 13%),radial-gradient(circle at 58% 62%,#007bff40,#0000 42%),radial-gradient(circle at 38% 70%,#00c85329,#0000 46%);border-radius:50%;width:22rem;animation:18s ease-in-out infinite alternate login-caustic;position:absolute;inset:-16% -18% auto auto}.login-hero>:not(.login-caustic){z-index:1;position:relative}.login-hero>img{width:clamp(12rem,24vw,18rem);height:auto}.login-hero h1{letter-spacing:-.04em;text-wrap:balance;max-width:15ch;font-size:clamp(2.45rem,4.4vw,4.5rem);font-weight:760;line-height:.98}.login-hero>p:not(.login-motto){max-width:55ch;color:var(--brand-muted);font-size:.98rem;line-height:1.55}.login-features{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.login-features li{color:var(--brand-ink);align-items:center;gap:.7rem;font-size:.86rem;font-weight:620;display:flex}.login-motto{color:var(--muted);align-items:center;gap:.45rem;margin-top:auto;font-size:.74rem;font-weight:650;display:flex}.login-motto img{width:.7rem;height:auto}.login-card{-webkit-backdrop-filter:blur(32px)saturate(160%);background:#ffffffc2;border:0;border-radius:1rem;align-self:center;max-width:27rem;padding:2.2rem;box-shadow:0 24px 50px -28px #0066ccb3,inset 0 1px #fffffff5}.login-card-heading{align-items:flex-start;gap:.85rem;margin-bottom:1.5rem;display:flex}.login-card-heading h2{font-size:1.6rem;font-weight:750}.login-card-heading p{max-width:35ch;color:var(--muted);margin-top:.3rem;font-size:.8rem;line-height:1.45}.login-drop{width:2.55rem;height:2.55rem;animation:login-drop-in .68s var(--ease-water) .14s both;background:linear-gradient(145deg,#fffffff2,#67c3f340);border-radius:.8rem;flex:none;place-items:center;display:grid;box-shadow:0 12px 22px -16px #0066ccc7,inset 0 1px #fff}.login-drop img{width:1.2rem;height:auto}.login-form{gap:1rem;display:grid}.login-input-wrap{background:#ffffffdb;border:1px solid #15439929;border-radius:.72rem;align-items:center;min-height:3.65rem;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.login-input-wrap:focus-within{background:#fff;border-color:#007bffc7;box-shadow:0 0 0 3px #007bff1a}.login-input-wrap>svg{color:var(--brand-blue);flex:none;margin-left:.9rem}.login-input-wrap .input{height:3.55rem;box-shadow:none;background:0 0;border:0;padding-inline:.75rem}.login-input-wrap .input:focus-visible{outline:0}.login-password-toggle{width:2.75rem;height:2.75rem;color:var(--brand-muted);cursor:pointer;background:0 0;border:0;border-radius:.55rem;place-items:center;margin-right:.4rem;display:grid}.login-password-toggle:hover{color:var(--brand-blue);background:#0066cc12}.login-submit{border-radius:.65rem;width:100%;min-height:3.1rem;margin-top:.15rem}.login-security{color:var(--muted);justify-content:center;align-items:center;gap:.35rem;margin-top:1.35rem;font-size:.7rem;display:flex}.login-security img{width:.58rem;height:auto}@keyframes login-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes login-drop-in{0%{opacity:0;transform:translateY(-10px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes login-water{0%{transform:translate(-1.5%,1%)rotate(-1deg)scale(1)}to{transform:translate(1.5%,-1%)rotate(1deg)scale(1.03)}}@keyframes login-caustic{0%{transform:translate(0,0)rotate(0)scale(1)}to{transform:translate(-2%,2%)rotate(2deg)scale(1.02)}}@media (width<=919px){.mobile-header{z-index:35;-webkit-backdrop-filter:blur(22px)saturate(150%);background:#eff9ffd1;border-bottom:1px solid #fff9;align-items:center;gap:.75rem;min-height:3.75rem;padding:.55rem .8rem;display:flex;position:sticky;top:0;box-shadow:0 12px 26px -24px #0066ccb8}.mobile-menu-button{width:2.75rem;height:2.75rem;color:var(--brand-blue);cursor:pointer;background:#ffffffb3;border:1px solid #0066cc24;border-radius:.6rem;place-items:center;display:grid}.mobile-brand{width:6.75rem;display:block}.mobile-brand img{width:100%;height:auto;display:block}.mobile-product{color:var(--muted);margin-left:auto;font-size:.72rem;font-weight:700}.sidebar{width:min(18rem,86vw);transition:transform .28s var(--ease-drawer);display:flex;transform:translate(-105%);box-shadow:22px 0 46px -28px #0034709e}.sidebar.is-open{transform:translate(0)}.sidebar-brand{padding-inline:1rem}.sidebar-brand img{width:9.6rem}.sidebar-scrim{z-index:39;opacity:0;visibility:hidden;pointer-events:none;background:#15439961;border:0;transition:opacity .18s,visibility .18s;display:block;position:fixed;inset:0}.sidebar-scrim.is-open{opacity:1;visibility:visible;pointer-events:auto}.nav-label,.nav-link span,.sidebar-user .meta{display:initial}.nav-link{justify-content:flex-start;padding:.65rem .75rem}.sidebar-user{justify-content:flex-start;padding:.75rem}.main{margin-left:0}.topbar{flex-direction:row;align-items:stretch;padding:1.4rem 1rem .75rem}.topbar-title{font-size:clamp(1.8rem,8vw,2.15rem)}.topbar .btn{width:auto;font-size:.82rem}.page{padding:.35rem 1rem calc(2.5rem + env(safe-area-inset-bottom))}.login-wrap{min-height:100dvh;padding:1rem;display:flex}.login-hero{display:none}.login-card{width:100%;max-width:27rem;margin:auto;padding:1.6rem 1.25rem}.login-card .brand{margin-bottom:1.45rem;display:flex}.login-card .brand img{width:min(76%,16rem);height:auto}}.detail-skeleton{gap:1rem;display:grid}.detail-skeleton__identity{border-radius:var(--radius-panel);background:#ffffff94;align-items:center;gap:.85rem;min-height:5rem;padding:1rem;display:flex}.detail-skeleton__identity>div{gap:.55rem;display:grid}.detail-skeleton__section{border-radius:var(--radius-panel);background:#ffffff94;gap:.85rem;min-height:7rem;padding:1rem;display:grid}.detail-skeleton__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.employee-attendance-workspace{border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);min-width:0;box-shadow:var(--st-shadow-sm);gap:1rem;margin-bottom:1.1rem;padding:clamp(1rem,2vw,1.35rem);display:grid}.employee-workspace-head,.employee-accrual-panel,.employee-period-controls,.employee-agenda-layout,.employee-calendar-panel,.employee-day-detail,.employee-batch-panel{min-width:0}.employee-workspace-head,.employee-batch-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.employee-workspace-head h2{letter-spacing:-.03em;color:var(--brand-ink);font-size:clamp(1.2rem,2vw,1.55rem)}.employee-workspace-head p,.employee-batch-head p{max-width:72ch;color:var(--brand-muted);margin-top:.3rem;font-size:.82rem}.employee-accrual-panel{gap:.9rem;padding:1rem;display:grid}.employee-period-controls{flex-wrap:wrap;align-items:end;gap:.7rem;display:flex}.employee-period-controls label{gap:.35rem;min-width:min(11rem,100%);max-width:100%;display:grid}.employee-accrual-loading .detail-skeleton__identity{display:none}.employee-accrual-loading .detail-skeleton__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.employee-agenda-layout{grid-template-columns:minmax(0,1.6fr) minmax(17rem,.75fr);align-items:start;gap:1rem;display:grid}.employee-calendar-panel,.employee-day-detail,.employee-batch-panel,.employee-inline-editor{background:#f6fbffc7;border-radius:.85rem}.employee-calendar-panel{padding:1rem}.employee-calendar-toolbar{justify-content:space-between;align-items:end;gap:.8rem;display:flex}.employee-calendar-toolbar label{gap:.35rem;display:grid}.employee-calendar-toolbar>span{color:var(--brand-muted);font-size:.75rem;font-weight:690}.employee-calendar-help{color:var(--brand-muted);margin:.55rem 0 .85rem;font-size:.72rem}.employee-calendar-weekdays,.employee-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.employee-calendar-weekdays{margin-bottom:.35rem}.employee-calendar-weekdays span{color:var(--brand-muted);text-align:center;text-transform:uppercase;padding:.35rem;font-size:.65rem;font-weight:760}.employee-calendar-day{min-height:6.4rem;color:var(--brand-ink);text-align:left;cursor:pointer;transition:border-color .16s var(--ease-water), background-color .16s var(--ease-water), box-shadow .16s var(--ease-water);background:#ffffffc2;border:1px solid #1543991a;border-radius:.62rem;align-content:start;gap:.3rem;padding:.65rem;display:grid;position:relative;overflow:hidden}.employee-calendar-day:hover{background:#fff;border-color:#0066cc57}.employee-calendar-day:focus-visible{outline-offset:2px;outline:3px solid #0066cc40}.employee-calendar-day.is-selected{border-color:var(--brand-blue);background:#ddf1fff0;box-shadow:0 10px 22px -18px #004893e6}.employee-calendar-day.is-focused:after{content:"";pointer-events:none;border:1px solid #00c85380;border-radius:.45rem;position:absolute;inset:.25rem}.employee-calendar-day.is-empty{visibility:hidden}.employee-calendar-day strong{font-variant-numeric:tabular-nums;font-size:.86rem}.employee-calendar-day>span{max-width:12ch;color:var(--brand-muted);font-size:.66rem;line-height:1.2}.employee-calendar-day small{color:var(--brand-muted);font-size:.62rem;position:absolute;top:.55rem;right:.55rem}.calendar-state{background:#8aa0bb;border-radius:50%;width:.5rem;height:.5rem;margin-top:auto}.calendar-state--complete,.calendar-state--manual,.calendar-state--overtime_approved{background:var(--present)}.calendar-state--open,.calendar-state--overtime_pending{background:#d38a00}.calendar-state--permission,.calendar-state--recovery{background:var(--brand-blue)}.calendar-state--no_record{background:var(--incident)}.calendar-state--rest{background:#8aa0bb}.employee-day-detail{gap:.8rem;padding:1rem;display:grid;position:sticky;top:1rem}.employee-day-detail h3,.employee-batch-panel h3,.employee-inline-editor h3{color:var(--brand-ink);letter-spacing:-.02em;font-size:1rem}.employee-day-statuses,.button-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.employee-day-facts{gap:.45rem;display:grid}.employee-day-facts>div{border-bottom:1px solid #15439914;justify-content:space-between;gap:1rem;padding-bottom:.4rem;display:flex}.employee-day-facts dt{color:var(--brand-muted);font-size:.72rem}.employee-day-facts dd{color:var(--brand-ink);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:720}.employee-day-entry,.employee-day-record{color:var(--brand-muted);background:#ffffffc7;border-radius:.55rem;padding:.65rem;font-size:.74rem}.employee-day-record{gap:.45rem;display:grid}.employee-day-record strong{color:var(--brand-ink)}.employee-batch-panel{gap:1rem;padding:1rem;display:grid}.employee-disclosure-card{background:linear-gradient(135deg,#f6fbffeb,#ffffffd1);border:1px solid #1543991a;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.employee-disclosure-card h3{color:var(--brand-ink);letter-spacing:-.02em;font-size:1rem}.employee-disclosure-card p{max-width:68ch;color:var(--brand-muted);margin-top:.3rem;font-size:.78rem;line-height:1.45}.employee-workspace-dialog{width:min(100%,46rem)!important}.employee-workspace-dialog--wide,.employee-profile-dialog--wide{width:min(100%,62rem)!important}.employee-profile-dialog{width:min(100%,46rem)!important}.employee-dialog-content{gap:.85rem;display:grid}.employee-dialog-content h2{color:var(--brand-ink);letter-spacing:-.025em;font-size:1.15rem}.employee-dialog-content>p{color:var(--brand-muted);font-size:.82rem;line-height:1.45}.employee-dialog-content>label{gap:.35rem;display:grid}.employee-dialog-content.is-danger{background:#fff4f2e0;border:1px solid #b4231838;border-radius:.72rem;padding:.95rem}.employee-batch-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.employee-batch-grid>label{align-content:start;gap:.35rem;display:grid}.employee-batch-wide{grid-column:span 2}.employee-duration-input{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.employee-duration-setting{border:1px solid #1543991a;border-radius:.65rem;grid-column:span 2;gap:.45rem;min-width:0;padding:.75rem;display:grid}.employee-duration-setting legend{color:var(--brand-ink);padding-inline:.3rem;font-size:.72rem;font-weight:720}.employee-duration-setting>div{grid-template-columns:repeat(2,minmax(0,8rem));gap:.5rem;display:grid}.employee-duration-setting label{color:var(--brand-muted);gap:.3rem;font-size:.7rem;font-weight:680;display:grid}.employee-duration-setting small{color:var(--brand-muted);font-size:.7rem;line-height:1.4}.employee-calendar-note{color:var(--brand-muted);background:#ffffff94;border-radius:.65rem;padding:.7rem .8rem;font-size:.74rem}.employee-calendar-note summary{cursor:pointer;min-height:2.75rem;color:var(--brand-blue);align-items:center;font-weight:700;display:flex}.employee-calendar-note label{gap:.35rem;padding-top:.55rem;display:grid}.employee-substitution-form{border-top:1px solid #15439914;gap:.7rem;padding-top:.7rem;display:grid}.employee-payment-breakdown{gap:.35rem;display:grid}.employee-payment-breakdown>div{color:var(--brand-muted);justify-content:space-between;gap:1rem;display:flex}.employee-payment-breakdown dd{color:var(--brand-ink);font-variant-numeric:tabular-nums;font-weight:720}.employee-known-times,.employee-mixed-fields{border:1px solid #1543991a;border-radius:.65rem;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;padding:.8rem;display:grid}.employee-known-times{grid-template-columns:repeat(2,minmax(0,1fr))}.employee-known-times legend,.employee-mixed-fields legend{color:var(--brand-muted);padding:0 .35rem;font-size:.7rem;font-weight:720}.employee-known-times label,.employee-mixed-fields label{color:var(--brand-muted);gap:.35rem;font-size:.7rem;font-weight:680;display:grid}.employee-batch-dates{gap:.3rem;max-height:24rem;padding-right:.25rem;display:grid;overflow:auto}.employee-batch-date{background:#ffffffb8;border-radius:.5rem;grid-template-columns:8rem 5.3rem 5.3rem minmax(12rem,1fr);align-items:center;gap:.45rem;padding:.45rem;display:grid}.employee-batch-date strong{color:var(--brand-ink);font-variant-numeric:tabular-nums;font-size:.75rem}.employee-batch-date--head{color:var(--brand-muted);text-transform:uppercase;background:0 0;font-size:.65rem;font-weight:760}.employee-batch-actions{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.employee-batch-preview{border-top:1px solid #1543991a;gap:.35rem;padding-top:.9rem;display:grid}.employee-batch-preview h4{color:var(--brand-ink);margin-bottom:.3rem;font-size:.82rem}.employee-preview-row{min-height:2.8rem;color:var(--brand-muted);background:#ffffffbf;border-radius:.5rem;grid-template-columns:8rem minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.5rem .65rem;font-size:.75rem;display:grid}.employee-preview-row strong{color:var(--brand-ink);font-variant-numeric:tabular-nums}.employee-preview-row.is-conflict{color:var(--incident);background:#ffebe8db}.employee-inline-editor{border:1px solid #06c3;gap:.8rem;padding:1rem;display:grid}.employee-inline-editor.is-danger{background:#fff4f2e0;border-color:#b4231838}.employee-inline-editor>p{color:var(--brand-muted);font-size:.78rem}.employee-inline-editor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.employee-inline-editor-grid label,.employee-inline-editor>label{gap:.35rem;display:grid}.employee-inline-editor textarea.input{resize:vertical;min-height:5.5rem}@media (width<=1120px){.employee-agenda-layout{grid-template-columns:1fr}.employee-day-detail{position:static}}@media (width<=760px){.detail-skeleton__grid,.employee-accrual-loading .detail-skeleton__grid,.employee-batch-grid,.employee-inline-editor-grid{grid-template-columns:1fr}.employee-batch-wide,.employee-duration-setting{grid-column:auto}.employee-calendar-day{min-height:4.7rem;padding:.45rem}.employee-calendar-day>span{font-size:.58rem}.employee-calendar-day small{display:none}.employee-batch-date,.employee-batch-date--head{grid-template-columns:6.3rem 4.5rem 4.5rem minmax(10rem,1fr);min-width:31rem}.employee-batch-dates{overflow-x:auto}}@media (width<=480px){.employee-attendance-workspace{overflow-wrap:anywhere;width:100%;max-width:100%;padding:min(1rem,4vw);overflow-x:clip}.employee-workspace-head,.employee-batch-head,.employee-calendar-toolbar{flex-direction:column;align-items:stretch}.employee-period-controls,.employee-period-controls label,.employee-period-controls .select{width:100%}.employee-calendar-toolbar label,.employee-calendar-toolbar .input,.employee-calendar-toolbar .monthfield,.employee-calendar-toolbar .monthfield-trigger{width:100%;min-width:0;max-width:100%}.employee-accrual-panel,.employee-calendar-panel,.employee-day-detail,.employee-batch-panel,.employee-batch-grid,.employee-batch-head{width:100%;max-width:100%}.employee-accrual-panel,.employee-calendar-panel,.employee-day-detail,.employee-batch-panel{padding:min(1rem,4vw)}.employee-attendance-workspace :where(.input,.select,button){min-width:0;max-width:100%}.employee-calendar-panel{padding:.7rem}.employee-calendar-weekdays,.employee-calendar{gap:.2rem}.employee-calendar-day{min-height:3.6rem;padding:.35rem}.employee-calendar-day>span,.calendar-state{display:none}.employee-known-times,.employee-mixed-fields{grid-template-columns:1fr}.employee-batch-actions .btn{width:100%}.employee-disclosure-card{flex-direction:column;align-items:stretch}.employee-disclosure-card .btn{width:100%}}@media (width<=919px){.topbar-drop{display:none}.topbar-copy,.topbar-copy>div,.employee-profile-identity,.employee-profile-identity-copy{min-width:0}.topbar-title,.topbar-sub,.employee-profile-identity-copy h1,.employee-profile-identity-copy p{overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){.employee-calendar-day{transition:none}}.historical-page{gap:1.1rem;padding-bottom:1.5rem;display:grid}.historical-page .panel{border:1px solid var(--ink-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);background:#ffffffd1;padding:clamp(1rem,2vw,1.35rem)}.historical-page h2{color:var(--text);letter-spacing:-.025em;margin:0;font-size:1.08rem}.historical-page .page-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.historical-back-row{margin-bottom:-.35rem}.historical-back-row .btn{min-height:2.45rem;padding-inline:.55rem .8rem}.historical-page .form-row{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));align-items:end;gap:.85rem;display:grid}.historical-page .form-row>label,.historical-edit-panel>label{min-width:0;color:var(--brand-muted);letter-spacing:.045em;text-transform:uppercase;gap:.38rem;font-size:.72rem;font-weight:730;display:grid}.historical-page input:not([type=checkbox]),.historical-page select{border:1px solid var(--ink-border);border-radius:var(--radius-control);width:100%;min-width:0;min-height:2.75rem;color:var(--text);font:inherit;letter-spacing:0;text-transform:none;background:#fffffff0;padding:.58rem .72rem;font-size:.86rem;transition:border-color .16s,background-color .16s,box-shadow .16s}.historical-page select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23154399' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;padding-right:2rem}.historical-page input:not([type=checkbox]):hover,.historical-page select:hover{border-color:#0066cc6b}.historical-page input:not([type=checkbox]):focus-visible,.historical-page select:focus-visible{outline:2px solid var(--brand-blue-bright);outline-offset:1px;border-color:var(--brand-blue)}.historical-page input[readonly]{color:var(--brand-muted);background:#e5f1f9b8}.historical-page input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--brand-blue)}.historical-compose{gap:1rem;display:grid}.historical-compose-head{border-bottom:1px solid #1543991c;grid-template-columns:minmax(12rem,.62fr) minmax(22rem,1.65fr) auto;align-items:end;gap:1rem;padding-bottom:1rem;display:grid}.historical-date-field{gap:.38rem;display:grid}.historical-date-field .label{margin:0}.historical-guidance{border-radius:var(--radius-control);min-height:2.75rem;color:var(--brand-muted);background:#e5f5ffad;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.6rem;padding:.6rem .75rem;display:grid}.historical-guidance svg{color:var(--brand-blue)}.historical-guidance p{margin:0;font-size:.78rem;line-height:1.42}.historical-toggle{border-radius:var(--radius-control);min-height:2.75rem;color:var(--brand-ink);cursor:pointer;white-space:nowrap;background:#ffffff9e;border:1px solid #0066cc29;align-items:center;gap:.5rem;padding:.55rem .7rem;font-size:.78rem;font-weight:680;display:inline-flex}.historical-toggle:has(input:focus-visible){outline:2px solid var(--brand-blue-bright);outline-offset:1px}.historical-toggle svg{color:var(--brand-blue)}.historical-roster-head,.historical-section-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.historical-roster-head p,.historical-section-head p{color:var(--brand-muted);margin:.28rem 0 0;font-size:.78rem;line-height:1.45}.historical-roster-head>span{color:var(--brand-blue);background:#0066cc17;border-radius:999px;flex:none;padding:.32rem .62rem;font-size:.7rem;font-weight:740}.historical-page .form-message{border-radius:var(--radius-control);color:var(--brand-ink);background:#e9f7ffcc;border:1px solid #0066cc26;justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem .85rem;display:flex}.historical-page .form-message p{margin:0}.historical-entry-wrap{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;overflow:visible}.historical-entry-table{border-collapse:separate;width:100%;font-size:.86rem;display:block}.historical-entry-table thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.historical-entry-table tbody{gap:.7rem;display:grid}.historical-entry-table tr{background:#ffffffa8;border:1px solid #1543991c;border-radius:.78rem;grid-template-columns:2.6rem minmax(13rem,1.35fr) minmax(9rem,.72fr) minmax(12rem,.9fr);grid-template-areas:"include employee duration treatment"".distribution payment reason"".times times times";align-items:start;gap:.65rem .8rem;padding:.85rem;transition:border-color .16s,background-color .16s,box-shadow .16s;display:grid;box-shadow:inset 0 1px #ffffffd1}.historical-entry-table tr:hover{background:#ffffffe0;border-color:#0066cc3d}.historical-entry-table tr.is-selected{background:#f4fbfff2;border-color:#0066cc75;box-shadow:0 13px 30px -28px #004faab8,inset 0 0 0 1px #0066cc14}.historical-entry-table td{min-width:0;color:var(--text);vertical-align:top;border:0;gap:.35rem;padding:0;display:grid}.historical-entry-table td:before{content:attr(data-label);color:var(--brand-muted);letter-spacing:.07em;text-transform:uppercase;font-size:.64rem;font-weight:760}.historical-entry-table td:first-child{grid-area:include;align-self:stretch;place-items:center}.historical-entry-table td:first-child:before{content:none}.historical-checkbox-hit{border-radius:var(--radius-control);cursor:pointer;place-items:center;width:2.75rem;height:2.75rem;margin-top:1.1rem;display:grid}.historical-checkbox-hit:hover{background:#0066cc12}.historical-checkbox-hit:has(input:focus-visible){outline:2px solid var(--brand-blue-bright);outline-offset:1px}.historical-entry-table td:first-child input{width:1.15rem;height:1.15rem}.historical-entry-table td:nth-child(2){grid-area:employee;align-content:center;min-height:3.9rem}.historical-entry-table td:nth-child(3){grid-area:duration}.historical-entry-table td:nth-child(4){grid-area:treatment}.historical-entry-table td:nth-child(5){grid-area:distribution}.historical-entry-table td:nth-child(6){grid-area:payment}.historical-entry-table td:nth-child(7){grid-area:reason}.historical-entry-table td:nth-child(8){grid-area:times}.historical-entry-table td:nth-child(n+5){border-top:1px solid #15439914;padding-top:.65rem}.historical-employee-name strong{color:var(--brand-ink);font-size:.9rem;line-height:1.28}.historical-employee-name small{color:var(--brand-muted);letter-spacing:.05em;font-size:.68rem;font-weight:690}.historical-duration-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.historical-detail-fields,.historical-entry-table td:nth-child(6)>div,.historical-time-fields{gap:.45rem;display:grid}.historical-time-fields{grid-template-columns:repeat(2,minmax(12rem,1fr))}.historical-entry-table tr:not(.is-selected) td:nth-child(n+5){opacity:.55}.historical-submit-row{justify-content:flex-end;padding-top:.2rem}.historical-submit-row .btn-primary{min-width:13rem}.historical-preview{gap:.8rem;display:grid}.historical-recovery-panel,.historical-history-panel{gap:1rem;display:grid}.historical-recovery-panel .form-row{grid-template-columns:minmax(13rem,1.5fr) repeat(2,minmax(9rem,.65fr)) minmax(12rem,1fr)}.historical-recovery-panel .form-row>label:last-child{text-transform:none;letter-spacing:0;grid-column:1/-1;align-items:center;min-height:2.75rem;display:flex}.historical-history-panel .historical-section-head{align-items:center}.historical-history-panel .historical-section-head label{align-items:center;gap:.5rem;min-height:2.75rem;font-size:.76rem;font-weight:680;display:inline-flex}.historical-history-table td:last-child{min-width:10rem}.historical-history-table td:last-child .btn{margin:0 .25rem .25rem 0}.historical-edit-panel{gap:1rem;display:grid}.historical-edit-panel>.page-actions{justify-content:flex-end}@media (width<=1180px){.historical-compose-head{grid-template-columns:minmax(12rem,.8fr) minmax(18rem,1.4fr)}.historical-toggle{grid-column:1/-1;justify-self:start}.historical-entry-table tr{grid-template-columns:2.6rem minmax(13rem,1fr) minmax(10rem,.8fr);grid-template-areas:"include employee duration"".treatment reason"".distribution payment"".times times"}.historical-entry-table td:nth-child(4){border-top:1px solid #15439914;padding-top:.65rem}.historical-recovery-panel .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.historical-page{gap:.85rem}.historical-page .panel{padding:.85rem}.historical-compose-head{grid-template-columns:1fr;gap:.75rem}.historical-toggle{white-space:normal;grid-column:auto;justify-self:stretch}.historical-roster-head,.historical-section-head{display:grid}.historical-roster-head>span,.historical-section-head>.badge{justify-self:start}.historical-entry-table tr{grid-template-columns:2.35rem minmax(0,1fr);grid-template-areas:"include employee"".duration"".treatment"".reason"".distribution"".payment"".times";padding:.75rem}.historical-checkbox-hit{margin-top:.9rem}.historical-entry-table td:nth-child(n+3){border-top:1px solid #15439914;padding-top:.65rem}.historical-time-fields{grid-template-columns:1fr}.historical-submit-row{align-items:stretch!important}.historical-submit-row .btn{flex:100%;min-width:0}.historical-recovery-panel .form-row{grid-template-columns:1fr}.historical-history-panel .historical-section-head{align-items:start}.historical-history-panel .historical-section-head .page-actions{justify-content:flex-start}}body:before,body:after{display:none}.app-shell{isolation:isolate}.water-orbs{z-index:-1;contain:strict;pointer-events:none;position:fixed;inset:0;overflow:hidden}.water-orb{filter:blur(90px);will-change:transform;border-radius:50%;display:block;position:absolute}.water-orb--blue{width:min(28rem,96vw);height:min(28rem,96vw);animation:water-orb-blue 8s var(--ease-water) infinite alternate;background:#007bff2e;top:-8rem;right:4%}.water-orb--green{width:min(25rem,70vw);height:min(25rem,70vw);animation:water-orb-green 12s var(--ease-water) infinite alternate;background:#00c8531f;bottom:-9rem;left:8%}.water-orb--cyan{width:min(22rem,52vw);height:min(22rem,52vw);animation:water-orb-cyan 10s var(--ease-water) infinite alternate;background:#67c3f347;top:42%;left:48%}@keyframes water-orb-blue{to{transform:translate(-5rem,3rem)scale(1.08)}}@keyframes water-orb-green{to{transform:translate(4rem,-3rem)scale(1.1)}}@keyframes water-orb-cyan{to{transform:translate(-3rem,-2rem)scale(.94)}}.sidebar-account{min-width:0;min-height:2.75rem;color:var(--text);border-radius:var(--radius-control);flex:1;align-items:center;gap:.65rem;display:flex}.avatar,.account-avatar{border-radius:50%}.sidebar-logout{flex:none;min-width:4.2rem;min-height:2.75rem;padding:.5rem .65rem}.sidebar-user{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem;padding:.55rem .6rem;display:grid}.sidebar-user .sidebar-account{gap:.4rem;width:100%;min-width:0}.sidebar-user .meta{min-width:0;overflow:hidden}.sidebar-user .name{text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;overflow:hidden}.sidebar-user .sidebar-logout{justify-self:end;gap:.3rem;min-width:4.2rem;min-height:2.75rem;padding:.5rem}.glass-select-content{transform-origin:var(--radix-select-content-transform-origin);animation:select-content-in .18s var(--ease-out)}.glass-select-content[data-side=top]{animation-name:select-content-in-top}.glass-select-content[data-side=left]{animation-name:select-content-in-left}.glass-select-content[data-side=right]{animation-name:select-content-in-right}.glass-select-content[data-state=closed]{opacity:0;pointer-events:none;animation:select-content-out .16s var(--ease-out) both}.glass-select-content[data-state=closed][data-side=top]{animation-name:select-content-out-top}.glass-select-content[data-state=closed][data-side=left]{animation-name:select-content-out-left}.glass-select-content[data-state=closed][data-side=right]{animation-name:select-content-out-right}.select-trigger[data-state=open] .select-chevron{transform:rotate(180deg)}.select-chevron{transition:transform .2s var(--ease-water)}@keyframes select-content-in{0%{opacity:0;transform:scale(.97)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes select-content-in-top{0%{opacity:0;transform:scale(.97)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes select-content-in-left{0%{opacity:0;transform:scale(.97)translate(-4px)}to{opacity:1;transform:scale(1)translate(0)}}@keyframes select-content-in-right{0%{opacity:0;transform:scale(.97)translate(4px)}to{opacity:1;transform:scale(1)translate(0)}}@keyframes select-content-out{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.97)translateY(-4px)}}@keyframes select-content-out-top{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.97)translateY(4px)}}@keyframes select-content-out-left{0%{opacity:1;transform:scale(1)translate(0)}to{opacity:0;transform:scale(.97)translate(-4px)}}@keyframes select-content-out-right{0%{opacity:1;transform:scale(1)translate(0)}to{opacity:0;transform:scale(.97)translate(4px)}}.table-pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 0 0;font-size:.85rem;display:flex}.table-pagination-actions{gap:.5rem;display:flex}.table-pagination .btn{min-height:2.75rem}.admin-loading{width:100%;max-width:105rem;min-height:100vh;margin:0 auto;padding:1.25rem 1.75rem 2.5rem}.salaries-summary .metric-card-value strong{white-space:nowrap;font-variant-numeric:tabular-nums}@media (width<=700px){.table-pagination{flex-direction:column;align-items:flex-start}.admin-loading{padding:1rem}}@media (prefers-reduced-motion:reduce){.glass-select-content,.select-chevron{transition:none!important;animation:none!important}}.topbar-action{min-height:2.75rem}.dashboard-statusbar{border-bottom:1px solid #1543991f;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.35rem;padding-bottom:.85rem;display:flex}.dashboard-statusbar>div{gap:.12rem;display:grid}.dashboard-statusbar strong{font-size:.85rem}.dashboard-statusbar span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.dashboard-refresh{min-height:2.75rem}.dashboard-error{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;margin-bottom:1.2rem;display:grid}.dashboard-error>div{gap:.12rem;display:grid}.dashboard-error span{font-size:.78rem}.dashboard-help{color:var(--brand-muted);cursor:help;align-items:center;gap:.35rem;font-size:.75rem;display:inline-flex}.dashboard-workspace{grid-template-columns:minmax(0,1.12fr) minmax(19rem,.88fr);gap:1rem;margin-top:1.5rem;display:grid}.operations-panel{border:1px solid var(--glass-border);border-radius:var(--radius-panel);background:var(--glass-strong);min-width:0;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(165%);overflow:hidden}.operations-panel-head{border-bottom:1px solid #1543991a;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.2rem .9rem;display:flex}.operations-panel-head p{max-width:65ch;color:var(--muted);margin-top:.2rem;font-size:.76rem}.count-badge{background:var(--red-soft);min-width:1.8rem;min-height:1.8rem;color:var(--expense-red);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;padding:.2rem .45rem;font-size:.75rem;font-weight:750;display:grid}.operations-list{display:grid}.operation-row,.activity-row{min-height:4.25rem;color:var(--text);transition:background-color .18s var(--ease-water);border-bottom:1px solid #15439914;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.7rem;padding:.72rem 1.2rem;display:grid}.activity-row{grid-template-columns:auto minmax(0,1fr) auto}.operation-row:hover,.activity-row:hover{color:var(--text);background:#ffffff6b}.operation-alert{width:2rem;height:2rem;color:var(--expense-red);background:var(--red-soft);border-radius:50%;place-items:center;display:grid}.operation-copy,.activity-time{gap:.12rem;min-width:0;display:grid}.operation-copy strong,.activity-time strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.operation-copy small,.activity-time small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.71rem;overflow:hidden}.operation-status{color:var(--expense-red);white-space:nowrap;font-size:.69rem;font-weight:700}.activity-mark{background:var(--brand-green);border-radius:50%;width:.6rem;height:.6rem;box-shadow:0 4px 12px -5px #00a047b3}.activity-time{text-align:right;font-variant-numeric:tabular-nums}.panel-link{min-height:3.25rem;color:var(--brand-blue);justify-content:center;align-items:center;gap:.25rem;padding:.7rem 1rem;font-size:.76rem;font-weight:700;display:flex}.operational-empty{align-items:center;gap:.8rem;min-height:10.5rem;padding:1.5rem;display:flex}.operational-empty>span,.account-heading>span{width:2.5rem;height:2.5rem;color:var(--brand-green-deep);background:var(--green-soft);border-radius:50%;flex:none;place-items:center;display:grid}.operational-empty--neutral>span,.account-heading>span{color:var(--brand-blue);background:var(--blue-soft)}.operational-empty strong{font-size:.86rem}.operational-empty p{color:var(--muted);margin-top:.18rem;font-size:.76rem}.account-layout{grid-template-columns:minmax(13rem,.35fr) minmax(0,1fr);align-items:start;gap:1rem;max-width:62rem;display:grid}.account-profile{align-items:center;gap:.8rem;padding:1.2rem;display:flex}.account-avatar{color:#fff;background:linear-gradient(135deg, var(--brand-blue), #426bd8);flex:none;place-items:center;width:3rem;height:3rem;font-size:1.05rem;font-weight:750;display:grid;box-shadow:0 10px 22px -14px #06cc}.account-profile h2{font-size:1rem}.account-profile p,.field-help{color:var(--muted);font-size:.75rem}.account-heading{align-items:center;gap:.75rem;display:flex}.account-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.2rem;display:grid}.field-group{align-content:start;gap:.35rem;display:grid}.account-form .field-group:first-child{grid-column:1/-1;max-width:calc(50% - .5rem)}.account-submit{grid-column:1/-1;justify-self:start;min-height:2.75rem}.account-feedback{grid-column:1/-1}.account-feedback:empty{display:none}@media (width<=1040px){.dashboard-workspace,.account-layout{grid-template-columns:1fr}}@media (width<=640px){.dashboard-statusbar,.dashboard-section-head{flex-direction:column;align-items:stretch}.dashboard-refresh{width:auto}.dashboard-error{grid-template-columns:auto minmax(0,1fr)}.dashboard-error .btn{grid-column:1/-1;width:100%}.operation-row{grid-template-columns:auto minmax(0,1fr) auto}.operation-status{grid-column:2}.operation-row>svg{grid-area:1/3/span 2}.account-form{grid-template-columns:1fr}.account-form .field-group:first-child{grid-column:auto;max-width:none}}@media (width<=400px){.activity-row{grid-template-columns:auto minmax(0,1fr)}.activity-time{text-align:left;grid-column:2}.sidebar-logout{min-width:3.5rem}}@media (width<=919px){.mobile-brand,.sidebar-brand a{align-items:center;min-height:2.75rem;display:flex}}@media (prefers-reduced-motion:reduce){.water-orb{animation:none}}:root{--canvas:#eaf6fc;--surface:#ffffffeb;--surface-raised:#fffffff7;--chrome:#ecf8ffd1;--line-subtle:#1543991f;--line-strong:#15439933;--shadow-float:0 22px 48px -34px #00479775, 0 2px 8px -6px #0047972e;--shadow-lift:0 28px 54px -34px #004ea370, 0 10px 20px -16px #004ea33d;--spring-out:cubic-bezier(.22, 1, .36, 1);--spring-in:cubic-bezier(.4, 0, 1, 1)}body{background:radial-gradient(70rem 38rem at 100% -10%, #5bb9f430, transparent 56%), radial-gradient(54rem 34rem at -12% 108%, #00c8531a, transparent 58%), linear-gradient(145deg, #f7fcff 0%, var(--canvas) 54%, #e3f1fb 100%)}.water-orb{opacity:.72;animation:none}.water-orb--blue{transform:translate(-1.25rem,1.25rem)}.water-orb--green{transform:translate(1.5rem,-1rem)}.water-orb--cyan{transform:translate(-.75rem,.5rem)}h1,h2,h3,h4{font-optical-sizing:auto}h1{letter-spacing:-.045em;line-height:1.06}h2{letter-spacing:-.032em;line-height:1.15}.muted{line-height:1.5}.btn,.nav-link,.operation-row,.activity-row,.table tbody tr,.card,.operations-panel,.input,.select-trigger,.datefield-trigger,.login-password-toggle{-webkit-tap-highlight-color:transparent}.btn{transition:transform .12s var(--ease-out), box-shadow .18s var(--spring-out), background-color .16s ease, border-color .16s ease, color .16s ease, filter .16s ease;transform:translateZ(0)}.btn:active:not(:disabled){transform:scale(.975)translateY(0)}.btn-primary:active:not(:disabled),.btn-green:active:not(:disabled){filter:saturate(1.12)brightness(.97)}.btn-outline:active:not(:disabled),.btn-ghost:active:not(:disabled){background:#0066cc1f}.btn:focus-visible{outline-offset:3px;outline-width:3px}.async-button__crossfade{place-items:center;display:inline-grid}.async-button__layer{opacity:1;transition:opacity .16s var(--ease-out);grid-area:1/1;justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.async-button__layer[aria-hidden=true]{opacity:0;pointer-events:none}.async-button__layer[aria-hidden=true] .spin{animation-play-state:paused}.input,.select-trigger,.datefield-trigger{border-color:var(--line-strong);background:var(--surface-raised);min-height:2.85rem;transition:border-color .16s,box-shadow .16s,background-color .16s;box-shadow:inset 0 1px #ffffffe6}.input:focus,.select-trigger:focus,.datefield-trigger:focus{border-color:#0066ccb8;box-shadow:0 0 0 4px #007bff1a,inset 0 1px #fffffff5}.sidebar{background:linear-gradient(#f0fbffe6,#daf1fdcc);border-right:1px solid #ffffffc2;box-shadow:inset -1px 0 #0066cc0d,18px 0 46px -40px #00469099}.topbar{-webkit-backdrop-filter:blur(20px)saturate(145%);background:linear-gradient(#eaf6fce0,#eaf6fc9e);border-bottom:1px solid #ffffff8a;padding:1.25rem 2.25rem .9rem;position:sticky;top:0}.topbar:after{content:"";pointer-events:none;background:linear-gradient(#eaf6fc47,#0000);height:18px;position:absolute;inset:auto 0 -18px}.topbar-title{font-size:clamp(1.6rem,2.2vw,2.15rem)}.topbar-sub{margin-top:.2rem;font-size:.78rem}.page{max-width:105rem;padding-top:1.25rem}.nav-link{min-height:2.9rem;transition:background-color .16s ease, color .16s ease, box-shadow .18s var(--spring-out);border-radius:.62rem;position:relative}.nav-link.active{box-shadow:0 14px 26px -19px #0066ccbd,inset 0 1px #ffffff80}.sidebar-user{background:#ffffff8c}.toolbar{z-index:2;background:var(--chrome);-webkit-backdrop-filter:blur(18px)saturate(140%);border:1px solid #ffffffb8;border-radius:.9rem;margin-bottom:1.35rem;padding:.7rem;position:relative;box-shadow:0 16px 32px -30px #004a9680,inset 0 1px #ffffffb8}.card,.operations-panel{background:var(--surface);box-shadow:var(--shadow-float), inset 0 1px 0 #ffffffe6;-webkit-backdrop-filter:none;border-color:#fffc}.card{transition:border-color .18s}.table-wrap{background:var(--surface);box-shadow:var(--shadow-float), inset 0 1px 0 #ffffffeb;-webkit-backdrop-filter:none;border-color:#ffffffd6}.table th{z-index:1;color:#41678e;background:#edf8fe;padding-top:.8rem;padding-bottom:.8rem;position:sticky;top:0}.table td{border-bottom-color:var(--line-subtle);padding-top:.95rem;padding-bottom:.95rem}.table tbody tr{transition:background-color .16s var(--ease-out)}@media (hover:hover) and (pointer:fine){.table tbody tr:hover{box-shadow:inset 3px 0 0 var(--brand-blue);background:#f0f9fe}}.badge{min-height:1.55rem;padding-inline:.7rem}.dashboard-statusbar{background:#ffffff8a;border:1px solid #ffffffbd;border-radius:.85rem;margin-bottom:1.15rem;padding:.8rem 1rem;box-shadow:0 14px 28px -28px #004a9673}.dashboard-section-head{margin-bottom:.9rem}.operation-row,.activity-row{min-height:4.7rem;transition:transform .18s var(--spring-out), background-color .16s ease}@media (hover:hover) and (pointer:fine){.operation-row:hover,.activity-row:hover{transform:translate(3px)}}.panel-link{min-height:3.55rem;transition:background-color .16s,letter-spacing .16s}.panel-link:hover{letter-spacing:.01em;background:#0066cc0d}.recovery-panel{background:#ffffff9e;border:1px solid #15439921;border-radius:.9rem;margin:-.35rem 0 1.1rem;overflow:clip;box-shadow:0 14px 28px -30px #004a9680}.recovery-panel summary{cursor:pointer;min-height:4.4rem;color:var(--text);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;list-style:none;display:flex}.recovery-panel summary::-webkit-details-marker{display:none}.recovery-panel summary>span:first-child{gap:.15rem;display:grid}.recovery-panel summary small{color:var(--muted);font-size:.76rem}.recovery-panel-action{color:var(--brand-blue);font-size:.77rem;font-weight:720}.recovery-panel[open] .recovery-panel-action{font-size:0}.recovery-panel[open] .recovery-panel-action:after{content:"Cerrar revisión";font-size:.77rem}.recovery-panel-form{border:0;border-radius:0;box-shadow:inset 0 1px #15439914}.recovery-panel-copy{margin:0 0 .9rem;font-size:.8rem}.kiosk{background:0 0;padding:clamp(1rem,3vw,2.5rem)}.kiosk-brand{margin-bottom:clamp(1rem,3vh,2rem)}.kiosk-brand img{width:min(16rem,74vw)}.kiosk-card{background:#fffffff0;border:1px solid #ffffffdb;border-radius:1.25rem;width:min(100%,34rem);padding:clamp(1.35rem,3vw,2.25rem);box-shadow:0 30px 66px -40px #004d9d85,inset 0 1px #fffffff5;container-type:inline-size}.kiosk-home-card{padding-block:1.35rem}.kiosk-card[data-phase]{min-height:25rem}.kiosk-phase-body{opacity:1;transition:opacity .2s var(--ease-out), transform .2s var(--ease-out);transform:translateY(0)}@starting-style{.kiosk-phase-body{opacity:0;transform:translateY(6px)}}.kiosk-clock{letter-spacing:-.06em;white-space:nowrap;max-inline-size:100%;font-size:clamp(2.75rem,19cqw,5.25rem);line-height:.98}.kiosk-date{margin-block:.9rem 1.65rem;font-size:clamp(.9rem,2.5vw,1.05rem)}.kiosk-btn{border-radius:.75rem;min-height:3.45rem;font-size:1rem}.kiosk-employee{background:#f0f9fe;border-radius:.9rem;margin-bottom:1.1rem;padding:.85rem}.kiosk-video{border-radius:1rem;box-shadow:0 18px 38px -27px #0047978c}.kiosk-countdown{animation:countdown-pulse .9s var(--ease-water) infinite alternate}.kiosk-done .big-icon{width:4.2rem;height:4.2rem}.kiosk-done h2{font-size:clamp(1.8rem,5vw,2.5rem)}@keyframes countdown-pulse{0%{opacity:.72;transform:scale(.98)}to{opacity:1;transform:scale(1.03)}}.login-hero:after,.login-caustic{animation:none}.login-card{background:#fffffff0;border:1px solid #ffffffe0}.login-submit:active:not(:disabled){transform:scale(.985)}@media (width<=919px){.topbar{-webkit-backdrop-filter:none;background:0 0;padding:1.15rem 1rem .8rem}.page{padding-top:.7rem}.toolbar{gap:.5rem;padding:.6rem}.toolbar>.spacer{display:none}.toolbar .btn-primary,.toolbar .btn-outline:last-child{margin-left:auto}.kiosk-home-card{padding-block:1.15rem}}@media (width<=400px){.kiosk-card{padding-inline:1.1rem}.kiosk-clock{font-size:clamp(2.6rem,19cqw,4.15rem)}}@media (pointer:coarse){.btn,.nav-link,.datefield-nav,.login-password-toggle{min-height:2.9rem}.table td{padding-top:1rem;padding-bottom:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}.btn,.nav-link,.card,.operation-row,.activity-row,.table tbody tr,.kiosk-card{transition-duration:.12s!important;animation:none!important;transform:none!important}.table tbody tr{transition:none!important}.kiosk-countdown{animation:none!important}.dialog-backdrop{transition:opacity .12s!important}.dialog-backdrop .app-dialog{transition:opacity .12s!important;transform:none!important}.async-button__layer{transition-duration:.12s!important}.datefield-panel[data-state=closing],.monthfield-panel[data-state=closing]{transition:opacity .12s!important;transform:none!important}}@media (prefers-reduced-transparency:reduce){.sidebar,.topbar,.toolbar,.dashboard-statusbar,.mobile-header{-webkit-backdrop-filter:none;background:#f3faff}.card,.operations-panel,.table-wrap,.kiosk-card,.login-card{background:#fff}}@media (prefers-contrast:more){.card,.operations-panel,.table-wrap,.toolbar,.recovery-panel{border-color:#1543997a}.muted,.topbar-sub,.dashboard-statusbar span{color:#254f7d}.table th{color:#214e7e}}@property --login-halo-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.login-wrap{isolation:isolate;background:radial-gradient(34rem 22rem at 0 100%,#2ad3b233,#0000 64%),radial-gradient(32rem 24rem at 100% 0,#2ab4ee3d,#0000 64%),linear-gradient(145deg,#f4fcff,#e5f6fe 58%,#effbf8);grid-template-columns:repeat(2,minmax(0,30.75rem));place-content:center;align-items:stretch;gap:clamp(1rem,2.5vw,1.5rem);width:100%;min-height:100dvh;margin:0;padding:clamp(1rem,3vw,1.75rem);animation:none;display:grid;position:relative;overflow:clip visible}.login-wrap:before,.login-wrap:after{content:"";z-index:-1;pointer-events:none;opacity:.75;filter:blur(36px);border-radius:50%;position:absolute}.login-wrap:before{background:#24d5a047;width:13rem;height:13rem;inset:auto auto 0 -4rem}.login-wrap:after{background:#2ab7ee42;width:16rem;height:16rem;inset:0 -5rem auto auto}.login-hero,.login-card{border-radius:1.25rem;min-height:clamp(35rem,66vh,39rem)}.login-hero{background:linear-gradient(145deg,#ffffffb0,#eefaff75),radial-gradient(at 18% 100%,#2ad5a03d,#0000 48%);border:1px solid #fffc;justify-content:flex-start;gap:1.05rem;max-width:none;padding:clamp(1.65rem,3.4vw,2.5rem);box-shadow:0 26px 58px -40px #0057a96b,inset 0 1px #ffffffe6}.login-hero:after{opacity:.7;height:36%;animation:none;inset:auto -10% -12% -12%}.login-caustic{opacity:.44;width:16rem;animation:none;inset:-4rem -5rem auto auto}.login-brand-plaque{background:#ffffffe6;border:1px solid #fffffff2;border-radius:.9rem;place-items:center;width:fit-content;min-height:5rem;padding:.95rem 1.15rem;display:grid;box-shadow:0 16px 28px -22px #005bb173,inset 0 1px #fff}.login-hero>.login-brand-plaque{z-index:2}.login-brand-plaque img{width:min(12rem,42vw);height:auto;display:block}.login-hero h1{letter-spacing:-.035em;white-space:nowrap;max-width:18rem;margin-top:clamp(1.5rem,3vh,2.25rem);font-size:2.3rem;font-weight:720;line-height:1.05}.login-hero h1 span{color:var(--brand-blue);text-decoration-line:underline;-webkit-text-decoration-color:var(--brand-green);text-decoration-color:var(--brand-green);text-underline-offset:.16em;text-decoration-thickness:.12em;display:inline-block}.login-hero>p:not(.login-motto){max-width:34ch;font-size:.92rem}.login-features{gap:.65rem;margin-top:.25rem}.login-features li{gap:.65rem;font-size:.8rem}.login-features li svg{box-sizing:content-box;width:1rem;height:1rem;color:var(--brand-green-deep);background:#ffffffc4;border-radius:.65rem;padding:.48rem;display:grid;box-shadow:0 9px 16px -14px #005caa8c}.login-motto{padding-top:1rem}.login-card{background:#ffffffe6;border:1px solid #ffffffe6;flex-direction:column;justify-content:flex-start;align-self:stretch;max-width:none;padding:4.3rem clamp(1.65rem,3.4vw,2.5rem) clamp(1.65rem,3.4vw,2.5rem);display:flex;position:relative;overflow:visible;box-shadow:0 26px 58px -38px #0058ab75,inset 0 1px #fffffffa}.login-card:before{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:conic-gradient(from var(--login-halo-angle), transparent 0deg 252deg, #29ddd438 264deg, #21d7d1 276deg, #3bdc8d 292deg, #3bdc8d29 306deg, transparent 320deg 360deg);-webkit-mask-composite:xor;filter:drop-shadow(0 0 7px #1cd6bf7a);--login-halo-angle:282deg;padding:2px;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.login-card .brand{display:none}.login-card-heading{gap:.38rem;margin-bottom:1.55rem;display:grid}.login-card-heading h2{font-size:1.7rem;font-weight:720;line-height:1.12}.login-card-heading p{max-width:31ch;margin:0;font-size:.92rem;line-height:1.45}.login-drop{border-radius:1rem;width:3.3rem;height:3.3rem;margin:0 0 1.35rem;animation:none;box-shadow:0 18px 29px -20px #0064c2c2,inset 0 1px #fff}.login-drop img{width:1.4rem}.login-form{gap:1rem}.login-input-wrap{background:#f9fdfff5;border-radius:.85rem;min-height:4rem}.login-input-wrap .input{height:3.9rem;min-height:3.9rem;font-size:.97rem}.login-password-toggle{flex:none;width:3rem;min-width:2.75rem;height:3rem;min-height:2.75rem}.login-submit{justify-content:center;gap:.55rem;min-height:3.125rem;margin:0;position:relative;background:linear-gradient(90deg,#1a8cff 0%,#06c 100%)!important;border-radius:.7rem!important;box-shadow:0 12px 24px -14px #0066ccb3!important}.login-submit-arrow{width:1.25rem;height:1.25rem;position:absolute;right:1.1rem}.login-security-divider{color:#15439924;align-items:center;gap:.65rem;margin:1.35rem 0 .7rem;display:flex}.login-security-divider:before,.login-security-divider:after{content:"";background:currentColor;flex:1;height:1px}.login-security-divider span{background:#00c8531a;border-radius:50%;place-items:center;width:1.55rem;height:1.55rem;display:grid}.login-security-divider img{width:.6rem;height:auto}.login-security{margin-top:0;font-size:.74rem}@media (width<=919px){.login-wrap{width:100%;height:auto;min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));display:flex;overflow:clip visible}.login-hero{display:none}.login-card{width:min(100%,28rem);min-height:0;margin:auto;padding:clamp(1.25rem,4vw,1.75rem)}.login-card .brand{display:none}}@media (width<=400px){.login-wrap{padding-inline:.7rem}.login-card{border-radius:1rem;padding:1.25rem 1.05rem}.login-card-heading{gap:.35rem;margin-bottom:1.2rem}.login-drop{width:3rem;height:3rem}.login-card-heading p{font-size:.78rem}}@media (width<=919px) and (height<=500px){.login-wrap{padding-block:.7rem}.login-card{padding:1rem 1.2rem}.login-drop,.login-security-divider,.login-security{display:none}.login-card-heading{gap:.2rem;margin-bottom:.75rem}.login-card-heading p{font-size:.82rem}.login-form{gap:.6rem}.login-input-wrap{min-height:3rem}.login-input-wrap .input{height:3rem;min-height:3rem}.login-password-toggle{width:2.75rem;height:2.75rem}.login-submit{min-height:3rem}}@media (prefers-reduced-transparency:reduce){.login-hero,.login-card,.login-input-wrap,.login-brand-plaque{-webkit-backdrop-filter:none;background:#fff}}@media (pointer:coarse),(prefers-reduced-transparency:reduce){.sidebar-material{-webkit-backdrop-filter:none;background-color:#fffffff5}}.dashboard-overview{grid-template-columns:minmax(0,1fr) minmax(17rem,.34fr);gap:1rem;margin-bottom:1rem;display:grid}.dashboard-command{isolation:isolate;background:radial-gradient(circle at 86% 16%,#67c3f37a,#0000 20%),radial-gradient(circle at 76% 118%,#00c85338,#0000 34%),linear-gradient(120deg,#fffffffa,#e6f6ffd6);border:1px solid #1543991c;border-radius:1.15rem;grid-template-columns:minmax(0,1fr) auto;gap:1rem 2rem;min-height:13.4rem;padding:clamp(1.25rem,2.4vw,2rem);display:grid;position:relative;overflow:hidden;box-shadow:0 25px 52px -35px #00489fa8,inset 0 1px #fff}.dashboard-command:after{content:"";z-index:-1;background:#007bff1a;border:1px solid #ffffffb8;border-radius:50%;width:21rem;height:7rem;position:absolute;bottom:-4.4rem;right:-2.8rem;transform:rotate(-9deg)}.dashboard-command-copy{align-self:start}.dashboard-command h2{letter-spacing:-.045em;max-width:15ch;font-size:clamp(1.55rem,2.9vw,2.35rem);font-weight:760;line-height:1}.dashboard-command p{max-width:48ch;color:var(--brand-muted);margin-top:.65rem;font-size:.84rem;line-height:1.5}.dashboard-presence{border-left:1px solid #15439924;align-self:start;min-width:8.25rem;padding:.8rem 0 0 1.1rem}.dashboard-presence-status{color:var(--brand-muted);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.38rem;margin-bottom:.72rem;font-size:.62rem!important;font-weight:760!important;display:inline-flex!important}.dashboard-presence-status i{background:var(--brand-green);border:1px solid var(--brand-green-deep,#00a047);border-radius:50%;width:.46rem;height:.46rem;box-shadow:0 0 0 3px #00c85326}.dashboard-presence strong{color:var(--brand-green-deep);letter-spacing:-.07em;font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,4vw,3.6rem);font-weight:760;line-height:.88;display:block}.dashboard-presence strong small{color:var(--brand-muted);letter-spacing:-.04em;font-size:.48em;font-weight:650}.dashboard-presence>span{color:var(--brand-muted);margin-top:.5rem;font-size:.72rem;font-weight:650;display:block}.dashboard-progress{grid-column:1/-1;align-self:end;align-items:center;gap:1rem;display:flex}.dashboard-progress-track{background:#1543991a;border-radius:2px;flex:1;height:.5rem;overflow:hidden}.dashboard-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#00a047,#20c98a);min-width:.55rem;height:100%;display:block;box-shadow:0 2px 9px -4px #00a047c7}.dashboard-command-link{color:var(--brand-blue);white-space:nowrap;align-items:center;gap:.3rem;font-size:.76rem;font-weight:740;display:inline-flex}.dashboard-command-link:hover{color:var(--brand-ink)}.dashboard-attention{background:#fffaf9d1;border:1px solid #b4231829;border-radius:1.15rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:13.4rem;padding:1.25rem;display:grid;box-shadow:0 20px 42px -35px #b4231885,inset 0 1px #ffffffe6}.dashboard-attention-icon{width:2.7rem;height:2.7rem;color:var(--expense-red);background:var(--red-soft);border-radius:.82rem;align-self:start;place-items:center;display:grid}.dashboard-attention span{color:var(--expense-red);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:760;display:block}.dashboard-attention strong{color:var(--text);font-variant-numeric:tabular-nums;margin-top:.32rem;font-size:2.4rem;line-height:.94;display:block}.dashboard-attention p{color:var(--brand-muted);margin-top:.5rem;font-size:.73rem;line-height:1.4}.dashboard-attention-link{width:2.5rem;height:2.5rem;color:var(--expense-red);border-radius:var(--radius-control);border:1px solid #b4231829;place-items:center;display:grid}.dashboard-attention-link:hover{color:#fff;background:var(--expense-red)}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.dashboard-workspace{gap:1rem;margin-top:1rem}.operations-panel{border-radius:1rem}.operations-panel-head{padding:1.1rem 1.2rem .85rem}.operations-panel-head h2{font-size:1.05rem}.operation-row,.activity-row{min-height:4.55rem}.operation-row:first-child,.activity-row:first-child{background:#ffffff3d}.operation-row:hover,.activity-row:hover{background:#e0f4ff9e}.activity-mark{position:relative}.activity-mark:after{content:"";border:1px solid #00c85347;border-radius:50%;position:absolute;inset:-.3rem}@media (width<=1040px){.dashboard-overview{grid-template-columns:1fr}.dashboard-attention{min-height:auto}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.topbar:before{left:1rem;right:1rem}.dashboard-command{grid-template-columns:1fr;gap:1rem;min-height:0;padding:1.25rem}.dashboard-presence{border-top:1px solid #1543991f;border-left:0;padding:.8rem 0 0}.dashboard-progress{grid-column:auto;display:grid}.dashboard-command-link{border-radius:var(--radius-control);background:#ffffff94;border:1px solid #0066cc29;justify-content:space-between;min-height:2.75rem;padding:.65rem .75rem}.dashboard-attention{min-height:0}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=340px){.dashboard-metrics{grid-template-columns:1fr}}.sidebar{background:#eff9ffe0;box-shadow:inset -1px 0 #1543991a,20px 0 42px -38px #0053a89e}.sidebar-brand{min-height:6.45rem;padding-top:1.35rem}.sidebar-brand img{width:10.3rem}.sidebar-nav{padding:1.1rem .68rem;-webkit-mask-image:linear-gradient(#000 calc(100% - 2.5rem),#00000059 calc(100% - .75rem),#0000 100%);mask-image:linear-gradient(#000 calc(100% - 2.5rem),#00000059 calc(100% - .75rem),#0000 100%)}.nav-label{color:var(--brand-muted);letter-spacing:.12em;margin:.45rem .42rem .5rem;font-size:.59rem;font-weight:760}.nav-link{color:#315a8b;border-radius:.58rem;margin-bottom:.18rem;padding-inline:.78rem;font-weight:650;position:relative}.nav-link:before{content:"";width:.2rem;transition:background-color .18s var(--ease-water);background:0 0;border-radius:0 2px 2px 0;position:absolute;top:.62rem;bottom:.62rem;left:0}.nav-link.active{background:#086fcf;box-shadow:0 15px 25px -20px #0049aaf0,inset 0 1px #ffffff57}.nav-link.active:before{background:var(--brand-green);box-shadow:0 0 0 1px #00a04799}.sidebar-user{background:#ffffffb3;border-color:#1543991a;margin:.7rem}@media (height<=600px){.sidebar-brand{min-height:4.2rem;padding-top:.75rem;padding-bottom:.35rem}.sidebar-brand img{width:8.2rem}.sidebar-product{font-size:.64rem}.sidebar-nav{padding:.5rem .6rem}.nav-group+.nav-group{margin-top:.2rem;padding-top:.2rem}.nav-label{margin:.25rem .35rem;font-size:.56rem}.nav-link{min-height:2.3rem;margin-bottom:.1rem;padding-inline:.6rem;font-size:.82rem}.sidebar-user{margin:.4rem;padding:.4rem}}@media (width<=919px){.sidebar-brand{min-height:5.8rem;padding-top:1.1rem}.sidebar-nav{padding-top:.85rem}.sidebar-brand a{flex-direction:column;align-items:flex-start;gap:.32rem;min-height:0;display:flex}.sidebar-product{white-space:nowrap;margin-top:0}.topbar{position:static}}.nav-hint{color:var(--muted);letter-spacing:.02em;margin:-.2rem .42rem .5rem;font-size:.63rem;font-weight:640;line-height:1.35}.topbar-action--secondary{color:var(--brand-muted);font-weight:620}.flow-steps{flex-wrap:wrap;gap:.5rem;margin:0 0 1.1rem;padding:0;list-style:none;display:flex}.flow-step{border-radius:var(--radius-panel);background:#fff9;border:1px solid #1543991f;flex:11rem;align-items:center;gap:.55rem;min-width:0;padding:.6rem .75rem;display:flex}.flow-step.is-active{background:#f4fbffe6;border-color:#0066cc52;box-shadow:0 14px 26px -26px #004faacc}.flow-step-index{width:1.7rem;height:1.7rem;color:var(--brand-blue);background:#0066cc1f;border-radius:999px;flex:none;place-items:center;font-size:.8rem;font-weight:760;display:grid}.flow-step.is-active .flow-step-index{background:var(--brand-blue);color:#fff}.flow-step.is-done{background:#f0fdf6b3;border-color:#00a04747}.flow-step.is-done .flow-step-index{color:var(--dark-green);background:#00c85329}.flow-step-copy{min-width:0;display:grid}.flow-step-copy strong{color:var(--text);font-size:.82rem;font-weight:700}.flow-step-copy small{color:var(--muted);font-size:.71rem;line-height:1.3}.flow-step-copy a{color:var(--brand-blue);text-underline-offset:2px;text-decoration:underline}.term-help{border-radius:var(--radius-panel);background:#fff9;border:1px solid #15439924;margin-bottom:1rem}.term-help>summary{cursor:pointer;align-items:center;gap:.5rem;min-height:2.75rem;padding:.6rem .9rem;list-style:none;display:flex}.term-help>summary::-webkit-details-marker{display:none}.term-help>summary:after{content:"+";color:var(--brand-blue);margin-left:auto;font-weight:760}.term-help[open]>summary:after{content:"−"}.term-help>summary span{display:grid}.term-help>summary strong{color:var(--text);font-size:.82rem;font-weight:700}.term-help>summary small{color:var(--muted);font-size:.72rem}.term-help-grid{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.5rem 1.1rem;margin:0;padding:0 .9rem .9rem;display:grid}.term-help-grid dt{color:var(--brand-blue);font-size:.76rem;font-weight:720}.term-help-grid dd{color:var(--brand-muted);margin:.1rem 0 0;font-size:.78rem;line-height:1.4}.section-heading{margin:.9rem 0 .55rem}.section-heading .card-title{margin:0}.section-heading .card-sub{margin:.15rem 0 0}.period-card{align-content:start;gap:.35rem;display:grid}.period-card.is-selected{border-color:var(--secondary-blue);box-shadow:0 0 0 3px #007bff1f}.period-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.period-card-name{color:var(--text);font-weight:700}.period-card-range{color:var(--muted);margin:0;font-size:.76rem}.period-card-hint{color:var(--brand-muted);margin:.15rem 0 0;font-size:.76rem;line-height:1.4}.period-card-actions{margin-top:.55rem}.period-card-actions .btn{width:100%}.period-more{margin-top:.35rem}.period-more>summary{min-height:2.75rem;color:var(--brand-blue);cursor:pointer;align-items:center;gap:.35rem;padding:.35rem .2rem;font-size:.78rem;font-weight:680;list-style:none;display:inline-flex}.period-more>summary::-webkit-details-marker{display:none}.period-more>summary:before{content:"⋯";font-size:1rem;line-height:1}.period-more[open]>summary:before{content:"▾"}.period-more-list{flex-wrap:wrap;gap:.4rem;padding-top:.35rem;display:flex}.period-more-list .btn{flex:auto}.audit-intro{color:var(--brand-muted);margin:0 0 1rem;font-size:.84rem;line-height:1.45}.audit-list{gap:.6rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.audit-event{border:1px solid var(--ink-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);background:#ffffffb8;padding:.85rem 1rem}.audit-event-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.3rem 1rem;display:flex}.audit-event-sentence{color:var(--text);margin:0;font-size:.88rem}.audit-event-sentence strong{font-weight:720}.audit-event-entity{color:var(--muted);font-size:.82rem}.audit-event-time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.74rem}.audit-event-reason{color:var(--brand-muted);margin:.4rem 0 0;font-size:.8rem}.audit-event-reason span{color:var(--text);font-weight:700}.audit-changes{gap:.25rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.audit-changes li{flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:.8rem;display:flex}.audit-change-label{color:var(--text);font-weight:700}.audit-change-from{color:#9a5b00;-webkit-text-decoration:line-through #e8c27a;text-decoration:line-through #e8c27a}.audit-change-arrow{color:var(--muted)}.audit-change-to{color:var(--dark-green);font-weight:650}.audit-tech{border-top:1px solid #15439914;margin-top:.55rem;padding-top:.4rem}.audit-tech>summary{min-height:2.75rem;color:var(--brand-blue);cursor:pointer;align-items:center;font-size:.76rem;font-weight:680;display:inline-flex}.audit-tech-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.35rem 1rem;margin:.4rem 0 0;display:grid}.audit-tech-grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700}.audit-tech-grid dd{word-break:break-word;margin:.05rem 0 0;font-size:.78rem}.audit-json{border-radius:var(--radius-control);max-height:16rem;color:var(--brand-muted);white-space:pre-wrap;word-break:break-word;background:#1543990f;margin:.6rem 0 0;padding:.6rem .7rem;font-size:.72rem;line-height:1.45;overflow:auto}.salary-search{align-items:center;width:100%;max-width:260px;display:inline-flex;position:relative}.salary-search>svg{color:var(--muted);pointer-events:none;position:absolute;left:.6rem}.salary-search .input{padding-left:2rem;padding-right:2.9rem}.salary-search-clear{width:2.75rem;height:2.75rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;right:.2rem}.salary-search-clear:hover{color:var(--text);background:#0066cc14}@media (width<=700px){.flow-step{flex:100%}.period-card-actions .btn,.period-more-list .btn{min-height:2.75rem}}.payroll-close-summary{border-radius:var(--radius-panel);background:#f4fbffb3;border:1px solid #1543991f;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem 1rem;margin:.4rem 0 .8rem;padding:.75rem .85rem;display:grid}.payroll-close-summary dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:700}.payroll-close-summary dd{color:var(--text);margin:.1rem 0 0;font-size:.86rem;font-weight:650}.payroll-close-lock{border-left:3px solid var(--brand-blue);border-radius:var(--radius-control);color:var(--brand-muted);background:#0066cc0f;margin:.6rem 0 0;padding:.6rem .75rem;font-size:.8rem;line-height:1.45}.payroll-close-dialog{max-width:34rem}@media (width<=1439px){.salaries-responsive-table>tbody>tr:not(.salary-detail-row):not(.salary-history-separator)>td[data-label=Detalle] .btn,.salaries-responsive-table>tbody>tr:not(.salary-detail-row):not(.salary-history-separator)>td[data-label="Ajuste del periodo"] .btn{min-height:2.75rem}.salaries-responsive-table>tbody>tr:not(.salary-detail-row):not(.salary-history-separator)>td[data-label="Ajuste del periodo"]>span{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex!important}.salaries-responsive-table>tbody>tr:not(.salary-detail-row):not(.salary-history-separator)>td[data-label="Ajuste del periodo"]>span>.input{flex:7rem;min-width:0;min-height:2.75rem;width:auto!important}}.employee-stack-wrap{overflow:visible}@media (width<=640px){.employee-stack-wrap{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0}.employee-stack-table,.employee-stack-table>tbody,.employee-stack-table>tbody>tr,.employee-stack-table>tbody>tr>td{width:100%;display:block}.employee-stack-table>thead{display:none}.employee-stack-table>tbody{gap:.7rem;display:grid}.employee-stack-table>tbody>tr{border:1px solid var(--line-subtle);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-float), inset 0 1px 0 #ffffffeb;padding:.75rem .9rem;overflow:hidden}.employee-stack-table>tbody>tr>td{border:0;grid-template-columns:minmax(6.5rem,38%) minmax(0,1fr);align-items:center;gap:.65rem;padding:.45rem 0;display:grid;text-align:right!important}.employee-stack-table>tbody>tr>td:before{content:attr(data-label);color:var(--muted);letter-spacing:.055em;text-align:left;text-transform:uppercase;font-size:.68rem;font-weight:750;line-height:1.2}.employee-stack-table>tbody>tr>td[data-label=Empleado]{text-align:left!important}.employee-stack-table>tbody>tr>td[data-label=Empleado] a{overflow-wrap:anywhere}.employee-stack-table>tbody>tr>td[data-label=Acciones]>div{flex-wrap:wrap;justify-content:flex-end}.employee-stack-table>tbody>tr>td[data-label=Acciones] .btn{min-height:2.75rem}.employee-stack-table>tbody>tr>td:not([data-label]){display:block;text-align:center!important}.employee-stack-table>tbody>tr>td:not([data-label]):before{content:none}}.salary-calc{border-radius:var(--radius-panel);background:#fff9;border:1px solid #1543991f;margin-top:1rem}.salary-calc>summary{min-height:2.75rem;color:var(--brand-blue);cursor:pointer;align-items:center;gap:.5rem;padding:.6rem .9rem;font-size:.85rem;font-weight:700;list-style:none;display:flex}.salary-calc>summary::-webkit-details-marker{display:none}.salary-calc>summary:after{content:"+";margin-left:auto;font-weight:760}.salary-calc[open]>summary:after{content:"−"}.salary-calc-body{padding:0 .9rem .9rem}.salary-daily{margin-top:1rem}html{-webkit-tap-highlight-color:transparent}@media (pointer:coarse){input,select,textarea,.input,.select{font-size:16px}}.app-dialog{overscroll-behavior:contain}.app-dialog-actions{padding-bottom:max(1.25rem, calc(.5rem + env(safe-area-inset-bottom)))}html{overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}.login-wrap--adaptive{min-height:100dvh;padding:clamp(1rem,2.5vh,2rem) 1.25rem;overflow-y:auto}.login-hero--adaptive,.login-card--adaptive{max-height:none}.login-mobile-context{color:var(--brand-muted,#5b7294);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.76rem;font-weight:600;display:block}.password-change-wrap--adaptive{min-height:100dvh;padding:clamp(1rem,3vh,2rem) 1rem;overflow-y:auto}.password-change-card--adaptive{max-height:min(100%,100dvh - 2rem);overflow-y:auto}.account-form--stacked{flex-direction:column;gap:1.1rem;max-width:28rem;display:flex}.account-field-group{width:100%;max-width:100%}.password-input-wrap{align-items:center;width:100%;display:flex;position:relative}.password-input-wrap .input{width:100%;padding-right:2.75rem}.password-toggle-btn{border-radius:var(--radius-control);width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--text);background:#0066cc14}.password-strength-container{margin-top:.4rem}.password-strength-meter{background:#00000014;border-radius:9999px;grid-template-columns:repeat(3,1fr);gap:.25rem;height:.3rem;display:grid;overflow:hidden}.password-strength-segment{border-radius:9999px;transition:background-color .2s}.password-strength-labels{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.password-strength-badge{white-space:nowrap;font-size:.74rem;font-weight:600}.field-help--success{color:#10b981;align-items:center;gap:.25rem;margin-top:.25rem;font-weight:500;display:inline-flex}.field-help--warning{color:#ef4444;margin-top:.25rem}.account-submit{margin-top:.25rem}@media (height<=620px){.login-wrap{padding:.6rem 1rem}.login-card{gap:.45rem;padding:.85rem 1.15rem}.login-card-heading{gap:.2rem;margin-bottom:.45rem}.login-card-heading h2{font-size:1.3rem}.login-card-heading p{font-size:.78rem}.login-form{gap:.45rem}.login-input-wrap .input{min-height:2.35rem}.login-submit{min-height:2.45rem;margin-top:.2rem}.login-security-divider,.login-security{margin-top:.35rem}.password-change-card{gap:.5rem;padding:.9rem 1.15rem}.password-change-card h1{font-size:1.3rem}.password-change-icon{width:2.2rem;height:2.2rem}.password-change-form{gap:.45rem}}#incidents-title:focus-visible,#incidencias:focus-visible,.operations-panel:focus-visible{outline:2px solid var(--brand-blue-bright,#06c);outline-offset:3px;border-radius:var(--radius-panel)}.app-dialog-actions,.employee-dialog-sticky-actions,.payroll-dialog-sticky-actions{z-index:10;background:var(--surface-raised,#fff);padding-top:.65rem;padding-bottom:max(.5rem, calc(.35rem + env(safe-area-inset-bottom,0px)));border-top:1px solid var(--line-subtle,var(--border,#e2e8f0));margin-top:.75rem;position:sticky;bottom:0}@media (height<=600px){.dialog-portal{align-items:flex-start;padding:.5rem}.app-dialog{max-height:calc(100dvh - 1rem);padding:.95rem 1.2rem;overflow-y:auto}.app-dialog-heading{margin-bottom:.45rem}.app-dialog-heading h2{font-size:1.15rem}.employee-profile-dialog,.employee-profile-dialog--wide{max-height:calc(100dvh - 1rem)}.credential-dialog{max-height:calc(100dvh - 1rem);padding:1rem;overflow-y:auto}}.historical-recovery-empty-hint{color:var(--muted);margin-top:.25rem;font-size:.78rem;line-height:1.35}.historical-recovery-link{color:var(--brand-blue,#06c);font-weight:600;text-decoration:underline}.historical-card-meta-muted{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.responsive-table-card__item--full{grid-column:1/-1}.historical-date-field{width:100%}@media (width<=1024px){.attendance-responsive-wrap{display:none}}.employee-edit-input{width:100%;min-height:2.75rem;padding:.45rem .65rem}.employee-edit-dni{width:100%;max-width:100%;min-height:2.75rem;padding:.45rem .65rem}.employee-edit-trigger{width:100%;padding:.45rem .65rem;height:auto!important;min-height:2.75rem!important}@media (width>=641px){.employee-edit-input{min-height:2rem;padding:.3rem .5rem}.employee-edit-dni{width:90px;max-width:90px;min-height:2rem;padding:.3rem .5rem}.employee-edit-trigger{padding:.3rem .5rem;height:2rem!important;min-height:2rem!important}}@media (width<=480px){.employee-calendar-day .calendar-state{border-radius:50%!important;width:6px!important;height:6px!important;margin:3px auto 0!important;display:block!important}}.period-card-buttons{flex-direction:column;gap:.45rem;width:100%;display:flex}.period-card-buttons .btn{width:100%}.payroll-readiness-issues{gap:.35rem;margin:.4rem 0 0;padding-left:1.2rem;display:grid}.payroll-issue-actions{flex-wrap:wrap;gap:.45rem;margin-left:.5rem;font-size:.82rem;display:inline-flex}.payroll-issue-link{color:inherit;font-weight:600;text-decoration:underline}.payroll-issue-link:hover{text-decoration-thickness:2px}.payroll-adjust-form{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:inline-flex}.payroll-adjust-inputs{align-items:center;gap:.35rem;display:inline-flex}.payroll-adjust-amount{width:90px;padding:.35rem .5rem}.payroll-adjust-notes{width:140px;padding:.35rem .5rem}.payroll-adjust-actions{align-items:center;gap:.3rem;display:inline-flex}.payroll-adjust-hint{width:100%;color:var(--incident,#dc2626);text-align:right;margin:.25rem 0 0;font-size:.74rem}.payroll-adjust-cancel-text{display:none}@media (width<=1439px){.salaries-responsive-table>tbody>tr>td.payroll-adjust-cell.is-editing{background:var(--surface,#f8fafc)!important;border:1px solid var(--border,#e2e8f0)!important;border-radius:var(--radius-sm,6px)!important;text-align:left!important;flex-direction:column!important;align-items:stretch!important;margin:.45rem 0!important;padding:.75rem .85rem!important;display:flex!important}.salaries-responsive-table>tbody>tr>td.payroll-adjust-cell.is-editing:before{margin-bottom:.4rem;text-align:left!important}.payroll-adjust-form{flex-direction:column!important;align-items:stretch!important;gap:.55rem!important;width:100%!important;display:flex!important}.payroll-adjust-inputs{flex-flow:wrap!important;gap:.5rem!important;width:100%!important;display:flex!important}.payroll-adjust-input-field{flex:130px}.payroll-adjust-amount,.payroll-adjust-notes{width:100%!important;min-height:2.75rem!important;padding:.45rem .65rem!important}.payroll-adjust-actions{gap:.5rem!important;width:100%!important;display:flex!important}.payroll-adjust-save{flex:auto!important;min-height:2.75rem!important}.payroll-adjust-cancel{align-items:center!important;gap:.35rem!important;min-height:2.75rem!important;padding:0 .85rem!important;display:inline-flex!important}.payroll-adjust-cancel-text{display:inline!important}.payroll-adjust-hint{text-align:left!important}}@media (height<=540px){.payroll-close-dialog .payroll-close-summary{grid-template-columns:repeat(2,1fr)!important;gap:.35rem .65rem!important}}.salaries-toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.salaries-toolbar-filters{flex-wrap:wrap;flex:auto;align-items:center;gap:.5rem;display:flex}.salaries-period-select{width:auto;min-width:200px;max-width:280px}.salaries-search-control{flex:auto;min-width:200px;max-width:260px}.salaries-search-control input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}.salaries-search-control input[type=search]::-webkit-search-decoration{-webkit-appearance:none;display:none}.salaries-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.salary-detail-cell{padding:.9rem 1.2rem}.salary-calc-summary:focus-visible{outline:2px solid var(--primary-blue,#06c);outline-offset:2px;border-radius:4px}@media (width<=640px){.salaries-toolbar{flex-direction:column;align-items:stretch;gap:.5rem;padding:.6rem}.salaries-toolbar-filters{grid-template-columns:1fr;gap:.5rem;width:100%;display:grid}.salaries-period-select,.salaries-search-control{width:100%!important;max-width:100%!important}.salaries-toolbar-spacer{display:none}.salaries-toolbar-actions{justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.salaries-toolbar-status{font-size:.78rem}.salaries-export-btn{margin-left:auto}.salary-detail-cell{padding:.4rem .25rem!important}}.overtime-alert-error{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.1rem;display:flex}.overtime-alert-body{flex:1;align-items:center;gap:.5rem;min-width:220px;display:flex}.overtime-alert-icon{flex-shrink:0;margin-top:2px}.overtime-general-policy-card{margin-bottom:1.1rem}.overtime-policy-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.9rem;display:flex}.overtime-policy-form{background:var(--surface-raised,#f9fafb);border-radius:var(--radius-panel,.85rem);border:1px solid var(--line-subtle,#00000014);margin-bottom:1.1rem;padding:1rem}.overtime-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.85rem;display:grid}.overtime-field-group{flex-direction:column;gap:.3rem;display:flex}.overtime-required-mark{color:var(--incident)}.overtime-field-hint{color:var(--muted);margin:.2rem 0 0;font-size:.68rem}.overtime-form-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem;display:flex}.overtime-empty-state,.overtime-history-empty{text-align:center;background:var(--surface-raised,#001e5005);border-radius:var(--radius-panel,.85rem);border:1px dashed var(--line-subtle,#0000001f);padding:1.25rem}.overtime-history-empty{color:var(--muted);padding:2rem 1rem}.overtime-empty-title{color:var(--text);margin:0 0 .35rem;font-weight:650}.overtime-empty-desc{margin:0;font-size:.85rem}.overtime-history-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.9rem;display:flex}.overtime-table-wrap{margin-top:.5rem}.overtime-cell-reason{word-break:break-word}.users-filters-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1.1rem;display:flex}.users-search-field{flex:14rem;min-width:12rem;max-width:24rem;position:relative}.users-field-help{color:var(--muted);margin:.28rem 0 0;font-size:.74rem;line-height:1.35}@media (width<=640px){.users-filters-toolbar{flex-direction:column;align-items:stretch}.users-search-field{max-width:100%}}.roles-filters-toolbar{flex-wrap:wrap;align-items:center;gap:.65rem;margin-bottom:1.1rem;display:flex}.roles-search-field{flex:14rem;min-width:12rem;max-width:24rem;position:relative}.roles-row-inactive{opacity:.62}.roles-edit-cell{flex-direction:column;gap:.25rem;display:flex}.roles-edit-input{width:100%;min-height:2.35rem;padding:.35rem .55rem}.roles-inline-error{color:var(--incident,#b42318);margin:0;font-size:.72rem;font-weight:600}.roles-actions-group{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}@media (width<=768px){.roles-table-wrap{box-shadow:none;background:0 0;border:0;overflow:visible}.roles-table,.roles-table tbody,.roles-table tr,.roles-table td{width:100%;display:block}.roles-table thead{display:none}.roles-table tbody{gap:.75rem;display:grid}.roles-table tbody tr{border-radius:var(--radius-panel,.85rem);background:var(--surface-raised,#fff);box-shadow:var(--shadow-float), inset 0 1px 0 #ffffffeb;border:1px solid #ffffffd6;padding:.4rem 0}.roles-table td{border:0;border-bottom:1px solid var(--line-subtle,#e2e8f0);text-align:right;grid-template-columns:minmax(6.5rem,34%) minmax(0,1fr);align-items:center;gap:.65rem;padding:.65rem .85rem;display:grid}.roles-table td:before{content:attr(data-label);color:var(--muted,#64748b);letter-spacing:.055em;text-align:left;text-transform:uppercase;font-size:.68rem;font-weight:750;line-height:1.2}.roles-table td:last-child{border-bottom:0}.roles-table td.empty{text-align:center;padding:2rem 1rem;display:grid}.roles-table td.empty:before{content:none}.roles-actions-group{justify-content:flex-end;width:100%}.roles-actions-group .btn{min-height:2.75rem}.roles-filters-toolbar{flex-direction:column;align-items:stretch}.roles-search-field{flex-basis:auto;min-width:0;max-width:100%}}@media (width<=480px){.roles-table td{text-align:left;grid-template-columns:1fr;gap:.25rem}.roles-actions-group{justify-content:stretch}.roles-actions-group .btn{text-align:center;flex:auto}}.devices-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;display:flex}.devices-search{flex:14rem;align-items:center;max-width:24rem;display:inline-flex;position:relative}.devices-search>svg{color:var(--muted);pointer-events:none;position:absolute;left:.7rem}.devices-search .input{width:100%;min-height:2.5rem;padding-left:2.1rem;padding-right:2rem}.devices-search-clear{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;right:.25rem}.devices-search-clear:hover{color:var(--text);background:#0066cc14}.devices-filter-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.devices-count-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:0 0 .5rem;font-size:.78rem}.device-code-badge{color:var(--brand-ink);background:#15439914;border-radius:.25rem;padding:.2rem .45rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.84rem}.device-sync-online{color:var(--dark-green);font-variant-numeric:tabular-nums;font-size:.82rem;font-weight:600}.device-sync-offline{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}.device-row-actions{justify-content:flex-end;gap:.35rem;display:inline-flex}.btn-danger-ghost:hover:not(:disabled){color:var(--expense-red)!important;background:#b4231814!important}.issued-code-card{background:linear-gradient(#f7fbff 0%,#edf6ff 100%);border:1px solid #0066cc47;gap:.8rem;margin-bottom:1.25rem;display:grid}.issued-code-display{border-radius:var(--radius-control);background:#fff;border:1px dashed #0066cc59;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem;padding:.85rem 1rem;display:flex}.issued-code-box{gap:.2rem;display:grid}.issued-code-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.72rem;font-weight:700}.issued-code-value{letter-spacing:.18em;color:var(--brand-blue);font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.6rem}.issued-code-expiry{color:var(--muted);font-size:.78rem}.issued-code-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.issued-copy-notice{color:var(--dark-green);font-size:.8rem;font-weight:600}.issued-code-instruction{color:var(--brand-muted);margin:0;font-size:.82rem}@media (width<=768px){.devices-table-wrap{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;overflow:visible}.devices-stack-table,.devices-stack-table>tbody,.devices-stack-table>tbody>tr,.devices-stack-table>tbody>tr>td{width:100%;display:block}.devices-stack-table>thead{display:none}.devices-stack-table>tbody{gap:.75rem;display:grid}.devices-stack-table>tbody>tr{border:1px solid var(--line-subtle);border-radius:var(--radius-panel);background:var(--surface-raised,#fff);box-shadow:var(--shadow-float), inset 0 1px 0 #ffffffeb;padding:.85rem 1rem;overflow:hidden}.devices-stack-table>tbody>tr>td{border:0;grid-template-columns:minmax(7.5rem,40%) minmax(0,1fr);align-items:center;gap:.5rem;padding:.45rem 0;display:grid;text-align:right!important}.devices-stack-table>tbody>tr>td:before{content:attr(data-label);color:var(--muted);letter-spacing:.05em;text-align:left;text-transform:uppercase;font-size:.7rem;font-weight:750}.devices-stack-table>tbody>tr>td[data-label=Nombre]{font-size:1rem;text-align:left!important}.devices-stack-table>tbody>tr>td[data-label=Acciones]{border-top:1px solid #0000000f;grid-template-columns:1fr;margin-top:.35rem;padding-top:.65rem}.devices-stack-table>tbody>tr>td[data-label=Acciones]:before{display:none}.devices-stack-table>tbody>tr>td[data-label=Acciones] .device-row-actions{justify-content:stretch;gap:.5rem;width:100%;display:flex}.devices-stack-table>tbody>tr>td[data-label=Acciones] .btn{flex:50%;min-height:2.75rem}.devices-stack-table>tbody>tr>td:not([data-label]){display:block;text-align:center!important}.devices-stack-table>tbody>tr>td:not([data-label]):before{content:none}}.audit-toolbar{flex-direction:column;gap:.75rem;margin-bottom:.85rem;display:flex}.audit-search{align-items:center;width:100%;display:inline-flex;position:relative}.audit-search>svg{color:var(--muted);pointer-events:none;position:absolute;left:.75rem}.audit-search .input{width:100%;min-height:2.5rem;padding-left:2.2rem;padding-right:2rem}.audit-search-clear{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;right:.25rem}.audit-search-clear:hover{color:var(--text);background:#0066cc14}.audit-filters-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.audit-filter-item{flex:12rem}.audit-filter-item .select{width:100%;min-height:2.5rem}.audit-date-range{flex-wrap:wrap;align-items:center;gap:.35rem;display:inline-flex}.audit-date-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-left:.2rem;font-size:.76rem;font-weight:700}.audit-date-input{width:auto;min-height:2.5rem}.audit-count-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin:0 0 .65rem;font-size:.78rem}.audit-skeleton-card{pointer-events:none;min-height:5.5rem;animation:1.5s ease-in-out infinite pulse-skeleton}.audit-skeleton-head{justify-content:space-between;align-items:center;display:flex}.audit-skeleton-bar{background:#15439917;border-radius:.3rem}@keyframes pulse-skeleton{0%,to{opacity:.65}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.audit-skeleton-card{opacity:.5;animation:none}}@media (width<=640px){.audit-filters-group{flex-direction:column;align-items:stretch}.audit-filter-item{flex:100%;width:100%}.audit-date-range{grid-template-columns:auto 1fr;gap:.4rem;width:100%;display:grid}.audit-date-input{width:100%}}.kiosk-btn{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.kiosk-btn:active{transition:transform .12s var(--ease-out);transform:scale(.98)}.kiosk-date{color:var(--brand-muted,#3f5f86)}@media (height<=540px) and (orientation:landscape){.kiosk{justify-content:flex-start;min-height:100dvh;padding:.5rem 1rem}.kiosk-brand{margin-bottom:.35rem}.kiosk-brand img{width:170px;height:auto}.kiosk-card{max-width:520px;padding:.75rem 1.1rem}.kiosk-clock{font-size:1.75rem;line-height:1}.kiosk-date{margin-bottom:.45rem;font-size:.75rem}.kiosk-video{width:auto;max-height:170px;margin:0 auto .45rem}.kiosk-employee{margin-bottom:.35rem;padding:.35rem .65rem}.kiosk-countdown{margin-bottom:.35rem}.kiosk-btn{min-height:2.6rem;padding:.65rem}}:root{--st-surface:#f8f9ff;--st-surface-lowest:#fff;--st-surface-low:#eff4ff;--st-surface-container:#e5eeff;--st-surface-high:#dce9ff;--st-surface-highest:#d3e4fe;--st-on-surface:#0b1c30;--st-on-surface-variant:#424753;--st-outline:#737784;--st-outline-variant:#c2c6d5;--st-primary:#165cc6;--st-primary-hover:#124ca8;--st-primary-deep:#00459e;--st-brand-deep:#0f3a8a;--st-on-primary:#fff;--st-primary-fixed:#d9e2ff;--st-primary-fixed-dim:#afc6ff;--st-periwinkle:#8baee3;--st-green:#00c953;--st-green-deep:#047857;--st-green-container:#5bfd7f;--st-on-green-container:#00732c;--st-teal:#0b938d;--st-teal-deep:#00534f;--st-neutral:#64748b;--st-amber:#b4781f;--st-amber-deep:#8a5a00;--st-amber-soft:#b478141a;--st-canvas-start:#f8fafc;--st-canvas-end:#f0f9ff;--st-card:#fff;--st-border:#e2e8f0;--st-border-strong:#cbd5e1;--st-border-highlight:#bae6fd;--st-error-fill:#fef2f2;--st-error-border:#fecaca;--st-error-text:#dc2626;--st-error-icon:#ef4444;--st-success-soft:#00c95314;--st-success-text:#059669;--st-radius-sm:.5rem;--st-radius-md:1rem;--st-radius-lg:1.5rem;--st-radius-pill:9999px;--st-shadow-sm:0 1px 3px 0 #0f172a08, 0 4px 12px -2px #165cc60a;--st-shadow-md:0 4px 20px -4px #165cc614;--st-shadow-float:0 20px 25px -5px #0f172a14, 0 8px 10px -6px #0f172a0a;--brand-blue:var(--st-primary);--brand-blue-bright:var(--st-primary);--brand-blue-soft:var(--st-periwinkle);--brand-green:var(--st-green);--brand-green-deep:var(--st-green-deep);--brand-ink:var(--st-on-surface);--brand-muted:var(--st-neutral);--expense-red:var(--st-error-text);--primary-blue:var(--st-primary);--secondary-blue:var(--st-primary);--light-blue:var(--st-periwinkle);--green:var(--st-green);--dark-green:var(--st-green-deep);--text:var(--st-on-surface);--muted:var(--st-neutral);--border:var(--st-border);--red:var(--st-error-text);--glass:var(--st-card);--glass-strong:var(--st-card);--glass-border:var(--st-border);--field-fill:var(--st-card);--field-bg:var(--st-card);--ink-border:var(--st-border);--wash:linear-gradient(180deg, var(--st-canvas-start) 0%, var(--st-canvas-end) 100%);--page-bg:var(--st-canvas-start);--blue-soft:#165cc617;--green-soft:#00c9531a;--amber-soft:#b478141a;--red-soft:#dc262614;--radius-control:var(--st-radius-sm);--radius:var(--st-radius-sm);--radius-panel:var(--st-radius-md);--radius-login:var(--st-radius-lg);--shadow-panel:var(--st-shadow-sm);--shadow-btn:0 4px 12px -2px #165cc640;--shadow-btn-green:0 4px 12px -2px #00c95347;--sidebar-width:16.25rem;--font:var(--font-body);--canvas:var(--st-canvas-end);--surface:var(--st-card);--surface-raised:var(--st-card);--chrome:var(--st-surface-low);--line-subtle:var(--st-border);--line-strong:var(--st-border-strong);--shadow-float:var(--st-shadow-float);--shadow-lift:var(--st-shadow-md);--gray-100:#f1f5f9;--incident:var(--st-error-text)}html,body{background:var(--wash)}body{font-family:var(--font-body);color:var(--st-on-surface);background-attachment:fixed}body:before,body:after,.water-orbs{display:none!important}h1,h2,h3,h4,.card-title{font-family:var(--font-display)}::selection{background:var(--st-primary);color:var(--st-on-primary)}:focus-visible{outline:2px solid var(--st-primary);outline-offset:2px;border-radius:4px}.btn{font-family:var(--font-display);border-radius:var(--st-radius-sm);transition:background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .12s var(--ease-out);font-weight:600}.btn-primary:after,.btn-green:after{content:none}.btn-primary{background:var(--st-primary);color:var(--st-on-primary);box-shadow:var(--shadow-btn)}.btn-primary:hover:not(:disabled){background:var(--st-primary-hover);color:var(--st-on-primary)}.btn-primary:focus-visible{outline:2px solid var(--st-primary);outline-offset:2px}.btn-green{background:var(--st-green);color:#fff;box-shadow:var(--shadow-btn-green)}.btn-green:hover:not(:disabled){background:var(--st-green-deep)}.btn-outline{background:var(--st-card);border:1px solid var(--st-border);color:var(--st-primary);font-weight:600}.btn-outline:hover:not(:disabled){background:var(--st-canvas-end);border-color:var(--st-border-highlight);color:var(--st-primary-deep)}.btn-ghost{color:var(--st-on-surface-variant)}.btn-ghost:hover:not(:disabled){color:var(--st-on-surface);background:#f1f5f9}.btn-danger{color:#e11d48;background:#fff1f2;border:1px solid #fecdd3}.btn-danger:hover:not(:disabled){color:#fff;background:#e11d48}.label{font-family:var(--font-display);color:var(--st-on-surface-variant);letter-spacing:.06em}.input,.select{font-family:var(--font-body);background:var(--st-card);border:1px solid var(--st-border-strong);border-radius:var(--st-radius-sm);color:var(--st-on-surface)}.input:hover,.select:hover{border-color:var(--st-primary)}.input:focus,.select:focus,.select-trigger:focus,.input:focus-visible,.select:focus-visible{border-color:var(--st-primary);outline:none;box-shadow:0 0 0 3px #165cc626}.select-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px #165cc626}.glass-select-content{background:var(--st-card);border:1px solid var(--st-border);border-radius:var(--st-radius-md);box-shadow:var(--st-shadow-float)}.glass-select-item[data-highlighted]{background:var(--st-surface-low);color:var(--st-primary)}.glass-select-item[data-state=checked],.select-item-indicator{color:var(--st-primary)}.card{background:var(--st-card);border:1px solid var(--st-border);border-radius:var(--st-radius-md);box-shadow:var(--st-shadow-sm);-webkit-backdrop-filter:none}.card-title{color:var(--st-on-surface);font-weight:700}.card-sub{color:var(--st-neutral)}.table-wrap{background:var(--st-card);border:1px solid var(--st-border);border-radius:var(--st-radius-md);box-shadow:var(--st-shadow-sm);-webkit-backdrop-filter:none}.table{font-family:var(--font-body)}.table th{background:var(--st-surface-low);color:var(--st-on-surface-variant);font-family:var(--font-display);border-bottom:1px solid var(--st-border)}.table td{border-bottom:1px solid var(--st-border);color:var(--st-on-surface)}.table tbody tr:hover{background:var(--st-canvas-start)}.badge{font-family:var(--font-display);border-radius:var(--st-radius-pill)}.badge-blue{color:var(--st-primary);background:#165cc61a}.badge-green{background:var(--st-success-soft);color:var(--st-success-text)}.badge-amber{background:var(--amber-soft);color:#8a5a00}.badge-red{background:var(--st-error-fill);color:var(--st-error-text)}.badge-neutral{background:var(--st-surface-low);color:var(--st-neutral)}.alert{border-radius:var(--st-radius-sm);font-family:var(--font-body)}.alert-error{background:var(--st-error-fill);border:1px solid var(--st-error-border);color:var(--st-error-text)}.alert-success{background:var(--st-success-soft);color:var(--st-success-text);border:1px solid #00c95347}.empty,.empty-state{color:var(--st-neutral)}.empty svg,.empty-state>svg{color:var(--st-primary-fixed-dim)}.admin-route-guard-logo,.admin-route-guard-line,.admin-route-guard-title,.admin-route-guard-cards i{background:var(--st-surface-container)}.sidebar{background:var(--st-surface-low);border-right:1px solid var(--st-border);box-shadow:none;-webkit-backdrop-filter:none}.sidebar:after{display:none}.sidebar-material{-webkit-backdrop-filter:none}.sidebar-brand{border-bottom:1px solid var(--st-border);justify-content:center;min-height:5.5rem;padding:1.15rem 1.1rem}.sidebar-brand a{text-align:center;flex-direction:column;align-items:center;gap:.45rem;display:flex}.sidebar-product{color:var(--st-primary);background:var(--st-surface-highest);letter-spacing:.1em;border-radius:.25rem;align-self:center;margin-top:0;padding:.15rem .4rem}.sidebar-nav{--sidebar-scroll-thumb:color-mix(in srgb, var(--st-primary) 30%, var(--st-surface-low));--scrollbar-thumb:var(--sidebar-scroll-thumb);scrollbar-gutter:stable;padding:1rem .7rem;-webkit-mask-image:none;mask-image:none}.sidebar-nav[data-scrollbar-active]{--scrollbar-thumb:var(--st-primary)}@media (hover:hover) and (pointer:fine){.sidebar-nav:hover{--scrollbar-thumb:var(--st-primary)}}@media (forced-colors:active){.sidebar-nav{scrollbar-color:auto}}.nav-group+.nav-group{border-top:1px solid var(--st-border);margin-top:.5rem;padding-top:.5rem}.nav-label{color:var(--st-outline);font-family:var(--font-display);letter-spacing:.12em}.nav-hint{color:var(--st-neutral)}.nav-link{color:#475569;font-family:var(--font-display);border-radius:var(--st-radius-sm);font-weight:600}.nav-link:hover{background:var(--st-surface-container);color:var(--st-on-surface)}.nav-link.active{background:var(--st-primary);color:var(--st-on-primary);box-shadow:0 4px 12px -4px #165cc680}.nav-badge{border-radius:var(--st-radius-pill);background:var(--st-green-container);color:var(--st-on-green-container);letter-spacing:.04em;margin-left:auto;padding:.05rem .4rem;font-size:.62rem;font-weight:700}.nav-link.active .nav-badge{background:var(--st-on-primary);color:var(--st-primary)}.sidebar-user{border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);box-shadow:var(--st-shadow-sm);margin:.75rem;padding:.6rem .65rem}.sidebar-account{color:var(--st-on-surface)}.sidebar-account:hover{color:var(--st-primary)}.sidebar-user .role{color:var(--st-outline)}.avatar{background:var(--st-primary);color:var(--st-on-primary);border-radius:var(--st-radius-pill)}.topbar{border:0;border-bottom:1px solid var(--st-border);-webkit-backdrop-filter:blur(12px);background:#f8f9ffd9;padding:.9rem 2rem}.topbar:before{display:none}.topbar-drop{border-radius:var(--st-radius-sm);background:var(--st-surface-high);width:2.5rem;height:2.5rem;box-shadow:none;flex:none;place-items:center;display:grid}.topbar-drop img{width:1.35rem}.topbar-title{max-width:none;font-family:var(--font-display);letter-spacing:-.02em;text-wrap:initial;font-size:1.3rem;font-weight:700;line-height:1.2}.topbar-sub{color:var(--st-neutral);margin-top:.15rem;font-size:.8rem;font-weight:400}.topbar-actions{align-items:center;gap:.5rem;display:flex}.topbar-date{border:1px solid var(--st-border);border-radius:var(--st-radius-sm);background:var(--st-card);color:var(--st-on-surface-variant);font-family:var(--font-body);white-space:nowrap;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.78rem;display:inline-flex}.topbar-date svg{color:var(--st-outline)}.topbar-avatar{border-radius:var(--st-radius-pill);background:var(--st-primary);width:2rem;height:2rem;color:var(--st-on-primary);font-family:var(--font-display);flex:none;place-items:center;font-size:.78rem;font-weight:700;display:grid}.page{width:100%;max-width:90rem;margin-inline:auto;padding:1.75rem 2rem 3rem}.dash-context{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.dash-eyebrow{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--st-primary);align-items:center;gap:.5rem;font-size:.68rem;font-weight:700;display:flex}.dash-eyebrow .dash-eyebrow-sep{color:var(--st-outline-variant)}.dash-eyebrow .dash-eyebrow-muted{color:var(--st-outline)}.dash-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--st-on-surface);margin-top:.15rem;font-size:1.5rem;font-weight:700}.dash-context-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dash-updated{font-family:var(--font-body);color:var(--st-neutral);font-variant-numeric:tabular-nums;font-size:.76rem}.dash-hero-row{grid-template-columns:minmax(0,2fr) minmax(17rem,1fr);gap:1.25rem;margin-bottom:1.25rem;display:grid}@media (width<=1040px){.dash-hero-row{grid-template-columns:minmax(0,1fr)}}.dash-hero{border:1px solid var(--st-border);border-radius:var(--st-radius-md);box-shadow:var(--st-shadow-sm);background:linear-gradient(135deg,#fff 0%,#eff4ff 55%,#dce9ff 100%);flex-direction:column;justify-content:space-between;gap:1.25rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.dash-hero-badge{border-radius:var(--st-radius-pill);background:var(--st-surface-highest);color:var(--st-primary);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.66rem;font-weight:700;display:inline-flex}.dash-hero-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;display:flex}.dash-hero-title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--st-on-surface);font-size:clamp(1.5rem,2.4vw,2.1rem);font-weight:800;line-height:1.12}.dash-hero-title span{color:var(--st-primary)}.dash-hero-copy{max-width:40rem;color:var(--st-on-surface-variant);margin-top:.4rem;font-size:.92rem;line-height:1.5}.dash-telemetry{border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);box-shadow:var(--st-shadow-sm);flex:none;align-items:center;gap:1rem;padding:1rem;display:flex}.dash-ring{place-items:center;width:4rem;height:4rem;display:grid;position:relative}.dash-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.dash-ring-track{color:var(--st-surface-highest)}.dash-ring-fill{color:var(--st-green)}.dash-ring-value{font-family:var(--font-display);color:var(--st-on-surface);font-size:.95rem;font-weight:700;position:absolute}.dash-presence-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--st-success-text);align-items:center;gap:.4rem;font-size:.66rem;font-weight:700;display:flex}.dash-presence-dot{border-radius:var(--st-radius-pill);background:var(--st-green);width:.5rem;height:.5rem}.dash-presence-value{font-family:var(--font-display);color:var(--st-on-surface);align-items:baseline;gap:.35rem;margin-top:.15rem;font-size:2rem;font-weight:800;line-height:1;display:flex}.dash-presence-value small{color:var(--st-neutral);font-size:.9rem;font-weight:600}.dash-hero-link{font-family:var(--font-display);color:var(--st-primary);align-items:center;gap:.3rem;margin-top:.35rem;font-size:.8rem;font-weight:600;display:inline-flex}.dash-hero-link:hover{color:var(--st-primary-deep)}.dash-coverage{border-top:1px solid var(--st-border);padding-top:.9rem}.dash-coverage-head{color:var(--st-on-surface-variant);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.45rem;font-size:.76rem;display:flex}.dash-coverage-head strong{color:var(--st-on-surface);font-weight:600}.dash-coverage-track{border-radius:var(--st-radius-pill);background:var(--st-surface-highest);height:.6rem;padding:.125rem;overflow:hidden}.dash-coverage-fill{border-radius:var(--st-radius-pill);background:linear-gradient(90deg, var(--st-green-container), var(--st-green));transform-origin:0;width:100%;height:100%;transition:transform .2s var(--ease-out);display:block}.dash-alert{border:1px solid var(--st-error-border);border-radius:var(--st-radius-md);background:var(--st-error-fill);box-shadow:var(--st-shadow-sm);flex-direction:column;justify-content:space-between;gap:1rem;padding:1.5rem;display:flex}.dash-alert-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.dash-alert-chip{border-radius:var(--st-radius-sm);color:var(--st-error-text);font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:#fecaca99;align-items:center;gap:.4rem;padding:.25rem .6rem;font-size:.66rem;font-weight:700;display:inline-flex}.dash-alert-level{border-radius:var(--st-radius-pill);color:#93000a;font-family:var(--font-display);background:#ffdad6;padding:.1rem .5rem;font-size:.62rem;font-weight:700}.dash-alert-metric{color:var(--st-error-text);align-items:baseline;gap:.5rem;display:flex}.dash-alert-metric strong{font-family:var(--font-display);font-size:2.75rem;font-weight:800;line-height:1}.dash-alert-metric span{font-family:var(--font-display);font-size:.9rem;font-weight:700}.dash-alert-copy{color:var(--st-on-surface-variant);margin-top:.4rem;font-size:.88rem;line-height:1.5}.dash-alert-copy strong{color:var(--st-on-surface)}.dash-alert-breakdown{border-radius:var(--st-radius-sm);background:#ffffffd1;gap:.4rem;margin-top:.75rem;padding:.7rem .8rem;display:grid}.dash-alert-row{color:var(--st-on-surface-variant);justify-content:space-between;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.dash-alert-row span{align-items:center;gap:.4rem;display:inline-flex}.dash-alert-row i{border-radius:var(--st-radius-pill);background:var(--st-error-icon);width:.4rem;height:.4rem}.dash-alert-row[data-kind=open] i{background:var(--st-green)}.dash-alert-row strong{color:var(--st-on-surface);font-variant-numeric:tabular-nums}.dash-alert-row[data-kind=missing] strong{color:var(--st-error-text)}.dash-alert-cta{background:var(--st-error-text);width:100%;box-shadow:none;justify-content:center}.dash-alert-cta:hover:not(:disabled){background:#b91c1c}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.metric-grid--auto{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.salaries-summary{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}@media (width<=1040px){.metric-grid,.metric-grid--auto{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=460px){.metric-grid,.metric-grid--auto{grid-template-columns:1fr}}.metric-card{color:var(--st-on-surface);text-align:left;font:inherit;border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);box-shadow:var(--st-shadow-sm);flex-direction:column;justify-content:space-between;gap:.9rem;padding:1.25rem;transition:box-shadow .18s,border-color .18s,transform .18s;display:flex;position:relative;overflow:hidden}.metric-card.is-interactive{cursor:pointer}@media (hover:hover) and (pointer:fine){.metric-card.is-interactive:hover{box-shadow:var(--st-shadow-md);transform:translateY(-1px)}}.metric-card.is-interactive:focus-visible{outline:2px solid var(--st-primary);outline-offset:2px}.metric-card-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.metric-card-label{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--st-outline);font-size:.68rem;font-weight:700}.metric-card-icon{border-radius:var(--st-radius-sm);flex:none;place-items:center;width:2.25rem;height:2.25rem;display:grid}.metric-card-icon--blue{background:var(--st-surface-high);color:var(--st-primary)}.metric-card-icon--red{background:var(--st-error-fill);color:var(--st-error-icon)}.metric-card-icon--neutral{background:var(--st-surface-container);color:var(--st-on-surface-variant)}.metric-card-icon--green{color:var(--st-on-green-container);background:#5bfd7f66}.metric-card-icon--amber{background:var(--st-amber-soft);color:var(--st-amber-deep)}.metric-card-value{flex-wrap:wrap;align-items:baseline;gap:.4rem;min-width:0;display:flex}.metric-card-value strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:800;line-height:1}.metric-card--lg .metric-card-value strong{font-size:clamp(2rem,5vw,2.5rem)}.metric-card--md .metric-card-value strong{font-size:clamp(1.3rem,3.2vw,1.7rem)}.metric-card--sm .metric-card-value strong{font-size:clamp(1.05rem,2.6vw,1.3rem)}.metric-card--blue .metric-card-value strong{color:var(--st-primary)}.metric-card--red .metric-card-value strong{color:var(--st-error-text)}.metric-card--green .metric-card-value strong{color:var(--st-green-deep)}.metric-card--amber .metric-card-value strong{color:var(--st-amber-deep)}.metric-card--neutral .metric-card-value strong{color:var(--st-on-surface)}.metric-card-value small{color:var(--st-outline);font-size:.72rem;font-weight:600}.metric-card-foot{border-top:1px solid var(--st-border);justify-content:space-between;align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.metric-card-chip{border-radius:var(--st-radius-pill);font-family:var(--font-display);align-items:center;gap:.35rem;padding:.15rem .5rem;font-size:.64rem;font-weight:600;display:inline-flex}.metric-card-chip i{border-radius:var(--st-radius-pill);width:.375rem;height:.375rem}.metric-card-support{color:var(--st-outline);font-size:.72rem;font-weight:600}.metric-card--blue .metric-card-chip{background:var(--st-surface-high);color:var(--st-primary)}.metric-card--blue .metric-card-chip i{background:var(--st-primary)}.metric-card--red .metric-card-chip{color:#93000a;background:#ffdad6}.metric-card--red .metric-card-chip i{background:var(--st-error-icon)}.metric-card--neutral .metric-card-chip{background:var(--st-surface-container);color:var(--st-on-surface-variant)}.metric-card--neutral .metric-card-chip i{background:var(--st-outline)}.metric-card--green .metric-card-chip{color:var(--st-on-green-container);background:#5bfd7f66}.metric-card--green .metric-card-chip i{background:var(--st-green)}.metric-card--amber .metric-card-chip{background:var(--st-amber-soft);color:var(--st-amber-deep)}.metric-card--amber .metric-card-chip i{background:var(--st-amber)}.metric-card-arrow{color:var(--st-outline);transition:transform .18s}@media (hover:hover) and (pointer:fine){.metric-card.is-interactive:hover .metric-card-arrow{transform:translate(3px)}}.metric-card-accent{height:2px;position:absolute;inset:auto 0 0}.metric-card--blue .metric-card-accent{background:var(--st-primary)}.metric-card--red .metric-card-accent{background:var(--st-error-icon)}.metric-card--neutral .metric-card-accent{background:var(--st-surface-highest)}.metric-card--green .metric-card-accent{background:var(--st-green)}.metric-card--amber .metric-card-accent{background:var(--st-amber)}.metric-skeleton .metric-card{box-shadow:none}.metric-skeleton .metric-card-value{margin-top:.6rem}.dash-workspace{grid-template-columns:minmax(0,2fr) minmax(18rem,1fr);gap:1.25rem;display:grid}@media (width<=1040px){.dash-workspace{grid-template-columns:1fr}}.dash-panel{border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);box-shadow:var(--st-shadow-sm);padding:1.25rem}.dash-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;padding-bottom:1rem;display:flex}.dash-panel-title{font-family:var(--font-display);color:var(--st-on-surface);align-items:center;gap:.5rem;font-size:1.05rem;font-weight:700;display:flex}.dash-panel-sub{color:var(--st-on-surface-variant);margin-top:.15rem;font-size:.78rem}.dash-count{border-radius:var(--st-radius-pill);color:#93000a;font-family:var(--font-display);background:#ffdad6;padding:.1rem .55rem;font-size:.66rem;font-weight:700}.dash-list{gap:.35rem;display:grid}.dash-row{border-radius:var(--st-radius-sm);background:var(--st-card);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;transition:background-color .16s;display:flex}.dash-row:hover{background:var(--st-canvas-start)}.dash-row-main{align-items:center;gap:.75rem;min-width:0;display:flex}.dash-avatar{border-radius:var(--st-radius-sm);background:var(--st-brand-deep);width:2.75rem;height:2.75rem;color:var(--st-on-primary);font-family:var(--font-display);flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}.dash-avatar--teal{background:var(--st-teal)}.dash-avatar--green{background:var(--st-green-deep)}.dash-avatar--blue{background:var(--st-primary)}.dash-row-copy{min-width:0}.dash-row-name{overflow-wrap:anywhere;font-family:var(--font-display);color:var(--st-on-surface);font-size:.82rem;font-weight:700;display:block}.dash-row-role{background:var(--st-surface-container);color:var(--st-primary);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;border-radius:.25rem;padding:.05rem .4rem;font-size:.6rem;font-weight:700}.dash-row-detail{color:var(--st-on-surface-variant);align-items:center;gap:.35rem;margin-top:.2rem;font-size:.74rem;display:flex}.dash-row-meta{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.3rem;display:flex}.dash-row-meta .dash-row-role{overflow-wrap:anywhere;max-width:100%}.dash-row-side{flex:none;align-items:center;gap:.5rem;display:flex}.dash-status-chip{border-radius:var(--st-radius-pill);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.35rem;padding:.2rem .6rem;font-size:.62rem;font-weight:700;display:inline-flex}.dash-status-chip i{border-radius:var(--st-radius-pill);width:.375rem;height:.375rem}.dash-status-chip--missing{background:var(--st-error-fill);color:var(--st-error-text)}.dash-status-chip--missing i{background:var(--st-error-icon)}.dash-status-chip--open{background:var(--st-surface-container);color:var(--st-on-surface-variant)}.dash-status-chip--open i{background:var(--st-green)}.dash-row-cta{border-radius:var(--st-radius-sm);background:var(--st-surface-highest);min-height:2.25rem;color:var(--st-primary);font-family:var(--font-display);align-items:center;gap:.25rem;padding:.4rem .75rem;font-size:.76rem;font-weight:600;display:inline-flex}.dash-row-cta:hover{background:var(--st-primary);color:var(--st-on-primary)}.dash-activity-time{text-align:right;font-variant-numeric:tabular-nums}.dash-activity-time strong{font-family:var(--font-display);color:var(--st-on-surface);font-size:.86rem;display:block}.dash-activity-time small{color:var(--st-neutral);font-size:.68rem}.dash-empty{text-align:center;flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1rem;display:flex}.dash-empty-icon{border-radius:var(--st-radius-md);background:var(--st-surface-low);width:3.5rem;height:3.5rem;color:var(--st-primary);place-items:center;display:grid}.dash-empty strong{font-family:var(--font-display);color:var(--st-on-surface);font-size:.95rem}.dash-empty p{max-width:30ch;color:var(--st-neutral);font-size:.8rem;line-height:1.45}.dash-panel-link{min-height:2.75rem;color:var(--st-primary);font-family:var(--font-display);align-items:center;gap:.3rem;margin-top:.4rem;padding:.5rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.dash-panel-link:hover{color:var(--st-primary-deep)}.dashboard-statusbar{border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);box-shadow:var(--st-shadow-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding:.85rem 1rem;display:flex}.dashboard-statusbar strong{font-family:var(--font-display);color:var(--st-on-surface);font-size:.9rem;display:block}.dashboard-statusbar span{color:var(--st-neutral);font-size:.76rem}.login-wrap{background:linear-gradient(160deg, var(--st-canvas-start) 0%, #eff6ff 55%, var(--st-canvas-end) 100%)}.login-wrap:before,.login-wrap:after{display:none}.login-hero{background:linear-gradient(150deg,#fff 0%,#eff6ff 60%,#dce9ff 100%)}.login-hero:after,.login-hero .login-caustic{display:none}.login-hero h1{font-family:var(--font-display);color:var(--st-on-surface)}.login-hero h1 span{color:var(--st-primary)}.login-hero>p:not(.login-motto),.login-features li{color:var(--st-on-surface-variant)}.login-features svg{color:var(--st-primary)}.login-card{background:var(--st-card);border:1px solid var(--st-border);border-radius:var(--st-radius-lg);box-shadow:var(--st-shadow-float);-webkit-backdrop-filter:none}.login-card:before{display:none}.login-brand-plaque{box-shadow:none;background:0 0}.login-card-heading h2{font-family:var(--font-display);color:var(--st-on-surface)}.login-card-heading p{color:var(--st-neutral)}.login-mobile-context{color:var(--st-primary)}.login-input-wrap{background:var(--st-card);border:1px solid var(--st-border-strong);border-radius:var(--st-radius-sm)}.login-input-wrap:focus-within{border-color:var(--st-primary);box-shadow:0 0 0 3px #165cc626}.login-input-wrap>svg{color:var(--st-outline)}.login-input-wrap .input,.login-input-wrap .input:focus,.login-input-wrap .input:focus-visible{box-shadow:none;background:0 0;border:0}.login-security-divider span{background:var(--st-success-soft)}.login-motto{color:var(--st-neutral)}.password-change-wrap,.account-page{color:var(--st-on-surface)}.password-change-wrap{background:var(--wash)}.password-change-card{background:var(--st-card);border:1px solid var(--st-border);border-radius:var(--st-radius-lg);box-shadow:var(--st-shadow-float)}.password-change-card h1{font-family:var(--font-display);color:var(--st-on-surface)}.password-change-icon,.credential-dialog-icon{background:var(--st-surface-high);color:var(--st-primary)}.kiosk{background:radial-gradient(760px 520px at 50% -10%,#165cc614,#0000 62%),radial-gradient(620px 480px at 50% 108%,#00c95314,#0000 60%),#faf8ff;min-height:100dvh;overflow:clip}.kiosk-card{background:var(--st-card);border:1px solid var(--st-border);border-radius:var(--st-radius-lg);box-shadow:var(--st-shadow-md);-webkit-backdrop-filter:none}.kiosk-clock{font-family:var(--font-display);color:var(--st-on-surface)}.kiosk-employee{background:var(--st-surface-low);border:1px solid var(--st-border)}.kiosk-employee .avatar-lg{background:var(--st-primary);color:var(--st-on-primary);border-radius:var(--st-radius-sm)}.kiosk-employee .name{font-family:var(--font-display)}.kiosk-brand .tagline,.kiosk-done .detail{color:var(--st-neutral)}.kiosk-done h2,.kiosk-confirmed-employee{font-family:var(--font-display)}.kiosk-done .big-icon{border-radius:var(--st-radius-sm)}.notfound{text-align:center;background:var(--wash);flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100dvh;padding:2rem 1.25rem;display:flex}.notfound-brand{border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);box-shadow:var(--st-shadow-sm);justify-content:center;align-items:center;padding:.6rem 1rem;display:inline-flex}.notfound-brand img{width:min(11rem,60vw);height:auto;display:block}.notfound-code{border-radius:var(--st-radius-md);background:var(--st-surface-high);width:4.5rem;height:4.5rem;color:var(--st-primary);font-family:var(--font-display);place-items:center;font-size:1.5rem;font-weight:800;display:grid}.notfound h1{font-family:var(--font-display);color:var(--st-on-surface);font-size:1.6rem;font-weight:700}.notfound p{max-width:44ch;color:var(--st-neutral);line-height:1.5}.notfound-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.notfound-actions .btn{min-height:2.75rem}@media (prefers-reduced-motion:reduce){.metric-card,.dash-coverage-fill,.dash-ring-fill,.metric-card-arrow{transition:none!important}.metric-card,.metric-card-arrow{transform:none!important}}@media (width<=919px){.topbar{background:var(--st-surface);-webkit-backdrop-filter:none;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding:.75rem 1rem}.topbar-copy{flex:10rem;min-width:0}.topbar-actions{flex:0 auto;margin-left:auto}.topbar .route-loading:not(.is-active){display:none}.topbar .topbar-action--secondary{white-space:normal;min-height:2.75rem;padding-inline:.65rem;font-size:.75rem}.page{padding:1rem 1rem 2.5rem}.topbar-date{display:none}}@media (width<=640px){.topbar-avatar{display:none}.topbar-title{font-size:1.1rem}.topbar-sub{overflow-wrap:anywhere;font-size:.75rem}.dash-context{flex-wrap:nowrap;align-items:center;gap:.75rem;margin-bottom:1rem}.dash-context>:first-child{flex:1;min-width:0}.dash-title{margin:0;font-size:1.25rem}.dash-updated{margin-top:.35rem;display:block}.dash-context-actions{flex:none}.dash-context .dashboard-refresh{min-height:2.75rem}.dash-row{grid-template-columns:minmax(0,1fr);gap:.5rem;display:grid}.dash-row-main{align-items:flex-start}.dash-row-side{padding-left:3.5rem}.dash-alert-row{flex-wrap:wrap}.dash-alert-cta{white-space:normal}}.employees-toolbar{flex-wrap:wrap;gap:.65rem}.employees-search-field{flex:18rem;min-width:0;max-width:30rem;position:relative}.employees-search-icon,.roles-search-icon{color:var(--st-on-surface-variant);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.employees-search-input,.roles-search-input{padding-left:2.2rem}.employees-toolbar .employees-filter,.roles-filters-toolbar .roles-filter{flex:0 12rem;width:12rem;min-width:0;min-height:2.75rem}.employees-toolbar .input,.roles-filters-toolbar .input{min-height:2.75rem}.roles-count{color:var(--st-on-surface-variant);font-size:.78rem}.employee-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.employee-person-name,.role-name{font-weight:600}.employee-action,.role-action{min-height:2.75rem}.employee-action--danger,.role-action--danger{color:var(--st-error-text);border-color:var(--st-error-border);background:var(--st-card)}.employee-action--danger:hover:not(:disabled),.role-action--danger:hover:not(:disabled){color:var(--st-error-text);border-color:var(--st-error-text);background:var(--st-error-fill)}.roles-col-name{width:26%}.roles-col-description{width:34%}.roles-col-status{width:16%}.roles-col-actions{text-align:right;width:24%}.role-name{overflow-wrap:anywhere}@media (width<=919px){.employees-toolbar .spacer,.roles-filters-toolbar .spacer{display:none}}@media (width>=641px) and (width<=919px){.employees-table-wrap{box-shadow:none;background:0 0;border:0}.employees-table,.employees-table>tbody,.employees-table>tbody>tr{width:100%;display:block}.employees-table>thead{display:none}.employees-table>tbody{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.employees-table>tbody>tr{border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);padding:.85rem}.employees-table>tbody>tr>td{text-align:right;border:0;grid-template-columns:minmax(5rem,35%) minmax(0,1fr);gap:.65rem;width:100%;padding:.5rem 0;display:grid}.employees-table>tbody>tr>td:before{content:attr(data-label);color:var(--st-on-surface-variant);text-align:left;text-transform:uppercase;font-size:.68rem;font-weight:700}.employees-table>tbody>tr>td.employee-person{text-align:left;padding-bottom:.75rem;display:block}.employees-table>tbody>tr>td.employee-person:before,.employees-table>tbody>tr>td.employee-actions-cell:before,.employees-table>tbody>tr>td:not([data-label]):before{content:none}.employees-table>tbody>tr>td[data-label=Estado] .badge{justify-self:end;width:fit-content}.employees-table>tbody>tr>td.employee-actions-cell{border-top:1px solid var(--st-border);margin-top:.5rem;padding-top:.75rem;display:block}.employees-table>tbody>tr>td.employee-actions-cell>.employee-actions{justify-content:flex-start}.employees-table>tbody>tr>td:not([data-label]){text-align:center;display:block}.employees-table>tbody>tr:has(>td[colspan]){grid-column:1/-1}}@media (width<=768px){.roles-filters-toolbar{grid-template-columns:minmax(0,1fr);display:grid}.roles-search-field{flex:none;width:100%;min-width:0;max-width:none}.roles-filters-toolbar .roles-filter{width:100%}.roles-table.employee-stack-table>tbody>tr{box-shadow:none;border-color:var(--st-border);padding:.85rem}.roles-table.employee-stack-table>tbody>tr>td{border:0;grid-template-columns:minmax(5rem,30%) minmax(0,1fr);padding:.5rem 0}.roles-table.employee-stack-table>tbody>tr>td.roles-name-cell{padding:0 0 .75rem;font-size:.95rem;display:block;text-align:left!important}.roles-table.employee-stack-table>tbody>tr>td.roles-name-cell:before{content:none}.roles-table.employee-stack-table>tbody>tr>td[data-label=Estado] .badge{justify-self:end;width:fit-content}.roles-table.employee-stack-table>tbody>tr>td[data-label=Acciones]{border-top:1px solid var(--st-border);margin-top:.35rem;padding-top:.75rem;display:block}.roles-table.employee-stack-table>tbody>tr>td[data-label=Acciones]:before{content:none}.roles-actions-group{justify-content:flex-start;gap:.5rem}.roles-actions-group .btn{flex:0 auto}}@media (width<=640px){.employees-toolbar{grid-template-columns:minmax(0,1fr);padding:.75rem;display:grid}.employees-search-field{width:100%;max-width:none}.employees-toolbar .employees-filter,.employees-toolbar .employees-create{width:100%}.employees-toolbar .btn{min-height:2.75rem}.employees-table.employee-stack-table>tbody>tr{box-shadow:none;border-color:var(--st-border)}.employees-table.employee-stack-table>tbody>tr>td.employee-person{padding-bottom:.85rem;font-size:.95rem;display:block}.employees-table.employee-stack-table>tbody>tr>td.employee-person:before{content:none}.employees-table.employee-stack-table>tbody>tr>td[data-label=Estado] .badge{justify-self:end;width:fit-content}.employees-table.employee-stack-table>tbody>tr>td.employee-actions-cell{border-top:1px solid var(--st-border);margin-top:.5rem;padding-top:.85rem;display:block}.employees-table.employee-stack-table>tbody>tr>td.employee-actions-cell:before{content:none}.employees-table.employee-stack-table>tbody>tr>td.employee-actions-cell>.employee-actions{justify-content:flex-start}.employee-actions .btn{flex:0 auto}}.kiosk-card{position:relative;overflow:hidden}.kiosk-card-accent{background:linear-gradient(90deg, var(--st-primary) 0%, var(--st-teal) 55%, var(--st-green) 100%);height:4px;position:absolute;inset:0 0 auto}.kiosk-form{gap:.7rem;display:grid}.attendance-collapse{min-width:0;overflow:hidden}.attendance-collapse__inner{min-height:0;display:flow-root}.kiosk-id-cluster{gap:0;min-width:0;display:grid}.kiosk-keypad-slot{min-width:0}.kiosk-keypad{padding-top:.7rem}.kiosk-id-field{min-height:2.75rem}.kiosk-dni-display{transition:opacity .16s var(--ease-out), visibility 0s linear 0s}.kiosk-id-field:not(.is-dni) .kiosk-dni-display{opacity:0;visibility:hidden;transition:opacity .16s var(--ease-out), visibility 0s linear .16s}.kiosk-id-input{transition:opacity .16s var(--ease-out)}.kiosk-id-input:not(.is-dni){z-index:1;width:100%;min-height:2.75rem;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.attendance-collapse,.attendance-collapse__inner,.kiosk-dni-display,.kiosk-id-input{transition:none!important}}.kiosk-id-mode-group{border:1px solid var(--st-border);border-radius:var(--st-radius-sm);background:var(--st-surface-low);grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;padding:.25rem;display:grid}.kiosk-mode-tab{min-height:2.75rem;color:var(--st-on-surface-variant);font-family:var(--font-display);cursor:pointer;touch-action:manipulation;transition:background-color .16s var(--ease-out), color .16s var(--ease-out);background:0 0;border:0;border-radius:.375rem;padding:.4rem .5rem;font-size:.76rem;font-weight:600}@media (hover:hover) and (pointer:fine){.kiosk-mode-tab:hover{color:var(--st-on-surface)}}.kiosk-mode-tab.is-active{background:var(--st-card);color:var(--st-primary);box-shadow:var(--st-shadow-sm)}.kiosk-mode-tab:focus-visible{outline:2px solid var(--st-primary);outline-offset:2px}.kiosk-id-label{margin-bottom:0}.kiosk-id-field{min-width:0;position:relative}.kiosk-dni-display{grid-template-columns:repeat(8,minmax(0,1fr));gap:.3rem;display:grid}.kiosk-dni-cell{border:1px solid var(--st-border-strong);border-radius:var(--st-radius-sm);background:var(--st-card);min-height:2.75rem;color:var(--st-on-surface);font-family:var(--font-display);font-variant-numeric:tabular-nums;place-items:center;font-size:1.05rem;font-weight:700;display:grid}.kiosk-dni-cell.is-filled{border-color:var(--st-primary);background:var(--st-surface-low)}.kiosk-dni-cell.is-active{border-color:var(--st-primary);box-shadow:0 0 0 3px #165cc626}.kiosk-id-input.is-dni{opacity:0;cursor:text;width:100%;min-height:2.75rem;position:absolute;inset:0}.kiosk-keypad{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.kiosk-key{border:1px solid var(--st-border);border-radius:var(--st-radius-sm);background:var(--st-card);min-height:2.75rem;color:var(--st-on-surface);font-family:var(--font-display);cursor:pointer;touch-action:manipulation;transition:background-color .14s ease, border-color .14s ease, transform .12s var(--ease-out);place-items:center;padding:.4rem;font-size:1.1rem;font-weight:700;display:grid}@media (hover:hover) and (pointer:fine){.kiosk-key:hover{background:var(--st-surface-low);border-color:var(--st-border-highlight)}}.kiosk-key:active{transform:scale(.97)}.kiosk-key:focus-visible{outline:2px solid var(--st-primary);outline-offset:2px}.kiosk-key--muted{color:var(--st-neutral);font-size:.95rem}.kiosk-cta{background:linear-gradient(100deg, var(--st-primary) 0%, #00964b 100%);color:var(--st-on-primary);box-shadow:0 4px 12px -2px #165cc640}.kiosk-cta:hover:not(:disabled){background:linear-gradient(100deg, var(--st-primary-hover) 0%, #007d3e 100%);color:var(--st-on-primary)}.kiosk-cta:focus-visible{outline:2px solid var(--st-primary);outline-offset:2px}.kiosk-qr-btn{gap:.5rem}@media (height<=800px){.kiosk{min-height:100dvh;padding:.75rem 1rem}.kiosk-brand{margin-bottom:.5rem}.kiosk-brand img{width:10rem}.kiosk-card{padding:1rem}.kiosk-clock{font-size:clamp(2.25rem,14cqw,3rem)}.kiosk-date{margin-block:.5rem .75rem;font-size:.875rem}.kiosk-form{gap:.5rem}.kiosk-keypad{gap:.375rem}.kiosk-btn{min-height:2.75rem;padding:.6rem}.kiosk-video{width:auto;max-width:100%;max-height:30dvh;margin-inline:auto;display:block}}@media (height<=760px) and (orientation:landscape){.kiosk{padding-block:.5rem}.kiosk-brand img{width:8rem}.kiosk-card{max-width:520px;padding:.75rem 1.1rem}.kiosk-clock{font-size:1.75rem}.kiosk-date{margin-block:.25rem .45rem}.kiosk-form{gap:.375rem}}.surface-material,.employee-attendance-workspace,.employee-accrual-panel,.employee-calendar-panel,.employee-day-detail,.employee-disclosure-card,.period-card,.recovery-panel,.historical-page .panel,.audit-event,.account-profile,.account-security,.issued-code-card,.responsive-table-card{background:var(--st-card);border:1px solid var(--st-border);border-radius:var(--st-radius-md);box-shadow:var(--st-shadow-sm);-webkit-backdrop-filter:none}.surface-material--inset,.employee-day-entry,.employee-day-record,.employee-batch-date:not(.employee-batch-date--head),.employee-preview-row,.device-code-badge,.responsive-table-card__item{background:var(--st-surface-low);border:1px solid var(--st-border);border-radius:var(--st-radius-sm);box-shadow:none}.historical-edit-panel{border-color:var(--st-border-highlight)}.attendance-toolbar{background:var(--st-card);border:1px solid var(--st-border);border-radius:var(--st-radius-md);box-shadow:var(--st-shadow-sm);gap:.85rem;margin-bottom:1.1rem;padding:.85rem 1rem 1rem;display:grid}.attendance-toolbar-head{border-bottom:1px solid var(--st-border);flex-wrap:wrap;align-items:center;gap:.5rem .85rem;padding-bottom:.7rem;display:flex}.attendance-toolbar-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--st-on-surface);margin:0;font-size:1rem;font-weight:700}.attendance-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:auto;display:flex}.attendance-action{white-space:nowrap;min-height:2.75rem}.attendance-action:focus-visible{outline:2px solid var(--st-primary);outline-offset:2px}.attendance-toolbar-status{color:var(--st-neutral);white-space:nowrap;align-items:center;gap:.35rem;font-size:.76rem;display:inline-flex}.attendance-filter-row{grid-template-columns:minmax(11rem,1.4fr) minmax(11rem,auto) minmax(9rem,1fr) auto;align-items:end;gap:.55rem .7rem;display:grid}.attendance-filter{gap:.25rem;min-width:0;display:grid}.attendance-filter-label{letter-spacing:.04em;text-transform:uppercase;color:var(--st-neutral);font-size:.72rem;font-weight:700}.attendance-filter--clear{justify-self:end}.attendance-clear{height:2.75rem;min-height:2.75rem;padding-inline:.65rem}.attendance-clear:focus-visible{outline:2px solid var(--st-primary);outline-offset:2px}.attendance-filter .select-trigger{height:2.75rem;min-height:2.75rem}.attendance-filter .select-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attendance-period-trigger{border:1px solid var(--st-border-strong);border-radius:var(--radius-control);background:var(--st-card);max-width:100%;height:2.75rem;min-height:2.75rem;color:var(--st-on-surface);font-family:var(--font);white-space:nowrap;cursor:pointer;align-items:center;gap:.45rem;padding:0 .7rem;font-size:.86rem;font-weight:600;transition:border-color .16s,background-color .16s;display:inline-flex}.attendance-period-trigger>svg{color:var(--st-primary);flex-shrink:0}.attendance-period-trigger:hover{border-color:var(--st-primary-fixed-dim)}.attendance-period-trigger[aria-expanded=true]{border-color:var(--st-primary);background:var(--st-surface-low)}.attendance-period-trigger:focus-visible{outline:2px solid var(--st-primary);outline-offset:2px}.attendance-period-text{text-overflow:ellipsis;overflow:hidden}.attendance-period-editor{background:var(--st-surface-low);border:1px solid var(--st-border);border-radius:var(--st-radius-sm);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:.45rem;padding:.6rem .7rem;display:flex}.attendance-period-separator{color:var(--st-neutral);font-size:.8rem}.attendance-help{background:var(--st-surface-low);border:1px solid var(--st-border);border-radius:var(--st-radius-sm);padding:.7rem .85rem .5rem}.attendance-help-intro{color:var(--st-neutral);margin:0 0 .45rem;font-size:.78rem}.attendance-help-grid{padding:0 0 .35rem}.attendance-more-wrap{position:relative}.attendance-more{z-index:60;background:var(--st-card);border:1px solid var(--st-border);border-radius:var(--st-radius-md);width:min(21rem,100vw - 2.5rem);box-shadow:var(--st-shadow-md);gap:.1rem;padding:.3rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0}.attendance-more-item{border-radius:var(--st-radius-sm);width:100%;color:var(--st-on-surface);font-family:var(--font);text-align:left;cursor:pointer;background:0 0;border:0;align-items:flex-start;gap:.55rem;padding:.55rem .6rem;text-decoration:none;display:flex}.attendance-more-item:hover{background:var(--st-surface-low)}.attendance-more-item:focus-visible{outline:2px solid var(--st-primary);outline-offset:-2px}.attendance-more-item>svg{color:var(--st-primary);flex-shrink:0;margin-top:.1rem}.attendance-more-title{font-size:.83rem;font-weight:650;line-height:1.25;display:block}.attendance-more-hint{color:var(--st-neutral);margin-top:.1rem;font-size:.74rem;display:block}.attendance-recovery{background:var(--st-surface-low);border:1px solid var(--st-border);border-radius:var(--st-radius-sm);gap:.6rem;padding:.8rem .9rem .9rem;display:grid}.attendance-recovery-head{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.attendance-recovery-title{color:var(--st-on-surface);margin:0;font-size:.92rem;font-weight:700}.attendance-recovery-hint{color:var(--st-neutral);margin:.15rem 0 0;font-size:.75rem}.attendance-recovery-close{flex-shrink:0;min-height:2.25rem}.attendance-recovery-close:focus-visible{outline:2px solid var(--st-primary);outline-offset:2px}.attendance-recovery-copy{max-width:68ch;color:var(--st-on-surface-variant);margin:0;font-size:.8rem}.attendance-recovery-fields{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.7rem;display:grid}.attendance-recovery-lookup{color:var(--st-on-surface-variant);margin:0;font-size:.8rem}.attendance-recovery-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=1100px) and (width>=781px){.attendance-filter-row{grid-template-columns:minmax(9rem,1.2fr) auto minmax(8rem,1fr) auto}}@media (width<=780px){.attendance-toolbar{padding:.8rem .85rem .9rem}.attendance-toolbar-actions{width:100%;margin-left:0}.attendance-filter-row{grid-template-columns:minmax(0,1fr)}.attendance-filter--clear{grid-column:1/-1;place-self:end}.attendance-period-editor{grid-column:1/-1}.attendance-more{width:min(20rem,100vw - 2.7rem);left:0;right:auto}}.attendance-tables.attendance-responsive-wrap{border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);box-shadow:none;margin-bottom:1rem;display:block;overflow-x:auto}.attendance-tables .table{table-layout:fixed;width:100%;min-width:54rem}.attendance-tables .table th,.attendance-tables .table td{overflow-wrap:normal;vertical-align:middle;padding-inline:.65rem;overflow:visible}.attendance-tables .table th{letter-spacing:.01em;text-transform:none;white-space:normal;padding-block:.8rem;font-size:.73rem;font-weight:700}.attendance-tables .table td{padding-block:.55rem;font-size:.875rem;line-height:1.4}.attendance-tables .attendance-daily-table .attendance-col-name{width:28%}.attendance-tables .attendance-daily-table .attendance-col-date{width:12%}.attendance-tables .attendance-daily-table .attendance-col-number,.attendance-tables .attendance-daily-table .attendance-col-balance{width:10%}.attendance-tables .attendance-daily-table .attendance-col-incidents{width:16%}.attendance-tables .attendance-daily-table .attendance-col-action{width:14%}.attendance-tables .attendance-records-table .attendance-col-name{width:27%}.attendance-tables .attendance-records-table .attendance-col-date{width:10%}.attendance-tables .attendance-records-table .attendance-col-time{width:11%}.attendance-tables .attendance-records-table .attendance-col-number,.attendance-tables .attendance-records-table .attendance-col-status{width:10%}.attendance-tables .attendance-records-table .attendance-col-action{width:21%}.attendance-tables .attendance-cell-name{white-space:normal}.attendance-tables .attendance-identity{align-items:center;gap:.35rem;display:flex}.attendance-tables .attendance-identity>.attendance-name,.attendance-tables .attendance-identity__text{flex:1;min-width:0}.attendance-tables .attendance-name{-webkit-line-clamp:2;overflow-wrap:anywhere;white-space:normal;-webkit-box-orient:vertical;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.attendance-tables .attendance-name--link{color:var(--st-primary);text-underline-offset:.18em}.attendance-tables .attendance-name--link:hover{text-decoration:underline}.attendance-tables .attendance-role{color:var(--st-on-surface-variant);margin-top:.15rem;font-size:.72rem;display:block}.attendance-tables .attendance-num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.attendance-tables .attendance-date{text-align:left}.attendance-tables .attendance-balance{font-weight:650;display:block}.attendance-tables .attendance-balance--positive{color:var(--st-primary)}.attendance-tables .attendance-balance--negative{color:#875000}.attendance-tables .attendance-balance--zero{color:var(--st-on-surface-variant)}.attendance-tables .attendance-exit-date{color:var(--st-on-surface-variant);margin-top:.2rem;font-size:.72rem;display:block}.attendance-tables .attendance-incidents{flex-wrap:wrap;gap:.3rem;display:flex}.attendance-tables .attendance-incident,.attendance-tables .attendance-no-incident,.attendance-tables .attendance-status{white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:.72rem;line-height:1.3}.attendance-tables .attendance-actions{align-items:center;gap:.35rem;display:flex}.attendance-tables .attendance-action{border:1px solid var(--st-border-strong);border-radius:var(--st-radius-sm);background:var(--st-card);width:auto;height:2.75rem;min-height:2.75rem;color:var(--st-on-surface);white-space:nowrap;box-shadow:none;flex:none;gap:.35rem;padding:.55rem .6rem;font-size:.78rem}.attendance-tables .attendance-action>svg{flex-shrink:0}.attendance-tables .attendance-action--soft{border-color:color-mix(in srgb, var(--st-primary) 28%, var(--st-card));background:color-mix(in srgb, var(--st-primary) 7%, var(--st-card));color:var(--st-primary)}.attendance-tables .attendance-action:hover:not(:disabled){border-color:var(--st-primary);background:var(--st-surface-low)}.attendance-tables .attendance-action--secondary{color:var(--st-on-surface-variant)}.attendance-tables .attendance-action:disabled{opacity:.5;cursor:not-allowed}.attendance-tables .attendance-row-toggle{border-radius:var(--st-radius-sm);min-height:2.75rem;color:var(--st-on-surface-variant);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;gap:.2rem;padding:.25rem .35rem;font-size:.72rem;display:inline-flex}.attendance-tables .attendance-row-toggle:hover,.attendance-tables .attendance-row-toggle[aria-expanded=true]{background:var(--st-surface-low);color:var(--st-primary)}.attendance-tables .attendance-row-toggle[aria-expanded=true]>svg{transform:rotate(90deg)}.attendance-tables .attendance-action:focus-visible,.attendance-tables .attendance-row-toggle:focus-visible{outline:2px solid var(--st-primary);outline-offset:2px}.attendance-tables .attendance-detail-row>td{background:var(--st-surface-low);border-bottom:0;padding:0}.attendance-tables .attendance-detail-row .attendance-collapse__inner{padding:.55rem .65rem}.attendance-tables .attendance-detail{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem 1.1rem;margin:0;padding:.5rem .25rem;display:grid}.attendance-tables .attendance-detail dt,.attendance-tables .attendance-card__primary dt{color:var(--st-on-surface-variant);margin:0 0 .25rem;font-size:.72rem}.attendance-tables .attendance-detail dd{white-space:normal;margin:0}.attendance-tables .attendance-detail .attendance-num,.attendance-tables .attendance-detail .attendance-balance{text-align:left}.attendance-tables .attendance-detail__person{grid-column:1/-1}.attendance-tables .attendance-detail__person dd{overflow-wrap:anywhere;font-weight:600}.attendance-tables .attendance-detail__flag{margin-left:.4rem;display:inline-block}.attendance-tables.attendance-cards{gap:.75rem;margin-bottom:1rem;display:none}.attendance-tables .attendance-card{border:1px solid var(--st-border);border-radius:var(--st-radius-md);background:var(--st-card);box-shadow:none;padding:1rem}.attendance-tables .attendance-card__head{align-items:flex-start;gap:.8rem;display:flex}.attendance-tables .attendance-card__name{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600}.attendance-tables .attendance-card .attendance-name{-webkit-line-clamp:unset;display:block;overflow:visible}.attendance-tables .attendance-card__date{color:var(--st-on-surface-variant);flex-shrink:0;font-size:.78rem}.attendance-tables .attendance-card__role{color:var(--st-on-surface-variant);margin-top:.2rem;font-size:.75rem;display:block}.attendance-tables .attendance-card__primary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0;display:grid}.attendance-tables .attendance-card__primary dd{margin:0;font-size:.9rem;font-weight:600}.attendance-tables .attendance-card__primary .attendance-num,.attendance-tables .attendance-card__primary .attendance-balance{text-align:left}.attendance-tables .attendance-card__footer-stack{min-width:0;display:block}.attendance-tables .attendance-card__footer-stack .attendance-card__detail{border-top:1px solid var(--st-border);margin-top:1.35rem;padding-top:.75rem}.attendance-tables .attendance-card__detail-slot{min-width:0}.attendance-tables .attendance-card__actions{flex-wrap:wrap;gap:.4rem;margin:0;display:flex}.attendance-tables .attendance-card__status{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.attendance-tables .attendance-card__status .badge{white-space:normal;width:fit-content;max-width:100%}.attendance-tables .attendance-card__footer{border-top:1px solid var(--st-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.attendance-tables .attendance-card__footer .attendance-row-toggle{border-color:var(--st-border-strong);color:var(--st-on-surface);padding-inline:.6rem;font-size:.78rem}.attendance-tables .attendance-card__footer .attendance-card__actions{margin-left:auto}@media (width<=1099px){.attendance-tables.attendance-responsive-wrap{display:none}.attendance-tables.attendance-cards{display:grid}.attendance-tables .attendance-card{gap:.85rem}.attendance-tables .attendance-card__head{flex-wrap:wrap;gap:.25rem .75rem}.attendance-tables .attendance-card__name{flex-basis:12rem}.attendance-tables .attendance-card__date{padding-top:.15rem}}@media (prefers-reduced-motion:no-preference){.attendance-toolbar:not(:has(:focus-visible)) :is(.attendance-help,.attendance-period-editor,.attendance-more){opacity:1;transition:opacity .15s var(--ease-out)}@starting-style{.attendance-toolbar:not(:has(:focus-visible)) :is(.attendance-help,.attendance-period-editor,.attendance-more){opacity:0}}.attendance-tables:not(:has(:focus-visible)) .attendance-row-toggle>svg{transition:transform .12s var(--ease-out)}}@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){.attendance-tables:not(:has(:focus-visible)) .attendance-row-toggle{transition:background-color .12s,color .12s}}.dialog-portal .app-dialog.admin-form-dialog{background:var(--st-card);border:1px solid var(--st-border);gap:1.25rem;width:min(100%,42rem);padding:1.5rem}.admin-form-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-form-heading h2{letter-spacing:-.025em;margin:0;font-size:1.3rem;line-height:1.25}.admin-form-heading p{color:var(--st-on-surface-variant);margin:.45rem 0 0;font-size:.85rem;line-height:1.5}.admin-form-heading>button{border:1px solid var(--st-border);border-radius:var(--st-radius-sm);background:var(--st-card);min-width:2.75rem;min-height:2.75rem;color:var(--st-on-surface-variant);cursor:pointer;flex:none;place-items:center;padding:.5rem;display:grid}.admin-form-heading>button:disabled{opacity:.5;cursor:not-allowed}.admin-form-dialog>form{gap:1rem}.admin-form-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-width:0;margin:0;padding:0;display:grid}.admin-field{min-width:0}.admin-field--full{grid-column:1/-1}.admin-form-dialog .input,.admin-form-dialog .datefield,.admin-form-dialog .monthfield,.admin-form-dialog .datefield-trigger,.admin-form-dialog .monthfield-trigger{width:100%;min-width:0}.admin-form-dialog .input,.admin-form-dialog .datefield-trigger,.admin-form-dialog .monthfield-trigger{min-height:2.75rem}.admin-form-dialog .select-trigger{white-space:normal;text-align:left;height:auto}.admin-form-dialog textarea.input{resize:vertical;min-height:5rem}.admin-form-actions{border-top:1px solid var(--st-border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;margin-top:.25rem;padding-top:1rem;display:flex}.admin-form-actions .btn{min-height:2.75rem}.admin-form-dialog .overtime-policy-form,.admin-form-dialog .users-create-form{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0;padding:0}.admin-form-dialog .overtime-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-dialog .users-create-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-form-dialog .users-field-wide{grid-column:1/-1}.admin-form-dialog .alert{margin:0}.payroll-commandbar.toolbar{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:0}.payroll-commandbar .btn{min-height:2.75rem}.period-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,28rem),1fr));align-items:start;gap:1rem;margin-bottom:1.25rem;display:grid}.period-grid .period-card{min-width:0;box-shadow:none;align-content:start;gap:.65rem;padding:1.1rem;display:grid}.period-card .period-card-head{align-items:flex-start;gap:.75rem}.period-card .period-card-name{overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.3}.period-card-identity{flex:1;min-width:0}.period-card.is-selected{border-color:var(--st-primary)}.period-card-head .badge{flex:none}.period-card .period-card-range{flex-wrap:wrap;gap:.25rem .6rem;margin-top:.35rem;font-size:.78rem;line-height:1.45;display:flex}.period-card-version{color:var(--st-on-surface-variant);font-size:.72rem}.period-card-status,.period-card .period-card-hint{color:var(--st-on-surface-variant);margin:0;font-size:.8rem;line-height:1.45}.period-card-footer{border-top:1px solid var(--st-border);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding-top:.75rem;display:flex}.period-card-footer .period-card-actions,.period-card-footer .period-more{margin:0}.period-card-footer .period-card-actions{flex:9rem}.period-card-footer .period-card-actions .btn{width:auto;min-height:2.75rem}.period-card-footer .period-card-buttons{flex-flow:wrap}.period-card-footer .period-card-buttons .btn,.period-card-footer .period-more{flex:0 auto}.period-card-footer .period-more>summary{border:1px solid var(--st-border);border-radius:var(--st-radius-sm);color:var(--st-on-surface-variant);padding:.4rem .65rem;font-weight:600}.period-card-footer:has(.period-more[open]) .period-more{flex-basis:100%}.period-card-footer .period-more-list{padding-top:.5rem}.devices-toolbar .input,.audit-toolbar .input,.audit-toolbar .datefield-trigger,.devices-toolbar .btn,.audit-toolbar .btn{min-height:2.75rem}.devices-filter-group .select-trigger{width:100%}.devices-search-clear,.audit-search-clear{width:2.75rem;height:2.75rem;right:0}.devices-search .input,.audit-search .input{padding-right:3rem}.audit-filters-group{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:.75rem;display:grid}.audit-filter-item{min-width:0}.audit-filter-item .select-trigger{width:100%}.audit-date-range{grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.audit-date-field{gap:.4rem;min-width:0;display:grid}.audit-date-label{margin:0}.audit-date-field .datefield,.audit-date-field .datefield-trigger{width:100%;min-width:0}.audit-filter-item .label{margin-bottom:.4rem}.device-revoke-button{color:var(--st-error-text);border-color:var(--st-error-border)}@media (width<=919px){.audit-filters-group{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.dialog-portal .app-dialog.admin-form-dialog{padding:1rem}.admin-form-grid,.admin-form-dialog .overtime-form-grid,.admin-form-dialog .users-create-fields{grid-template-columns:minmax(0,1fr)}.admin-form-actions .btn{flex:8rem}.period-grid{grid-template-columns:minmax(0,1fr)}.devices-search{flex:auto;width:100%;min-width:0;max-width:none}.devices-filter-group{width:100%}.devices-filter-group .select-trigger{flex:auto}.audit-filters-group{grid-template-columns:minmax(0,1fr)}.audit-date-range{grid-column:auto;grid-template-columns:minmax(0,1fr)}}
