@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&family=Inter:wght@400;500;600&display=swap";.flatpickr-calendar{background:transparent;opacity:0;display:none;text-align:center;visibility:hidden;padding:0;-webkit-animation:none;animation:none;direction:ltr;border:0;font-size:14px;line-height:24px;border-radius:5px;position:absolute;width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;background:#fff;-webkit-box-shadow:1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);box-shadow:1px 0 #e6e6e6,-1px 0 #e6e6e6,0 1px #e6e6e6,0 -1px #e6e6e6,0 3px 13px #00000014}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;max-height:640px;visibility:visible}.flatpickr-calendar.open{display:inline-block;z-index:99999}.flatpickr-calendar.animate.open{-webkit-animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1);animation:fpFadeInDown .3s cubic-bezier(.23,1,.32,1)}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){-webkit-box-shadow:-2px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{height:40px;border-top:1px solid #e6e6e6}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{position:absolute;display:block;pointer-events:none;border:solid transparent;content:"";height:0;width:0;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{position:relative;display:inline-block}.flatpickr-months{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-months .flatpickr-month{background:transparent;color:#000000e6;fill:#000000e6;height:34px;line-height:1;text-align:center;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-decoration:none;cursor:pointer;position:absolute;top:0;height:34px;padding:10px;z-index:3;color:#000000e6;fill:#000000e6}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{-webkit-transition:fill .1s;transition:fill .1s;fill:inherit}.numInputWrapper{position:relative;height:auto}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button,.numInputWrapper input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.numInputWrapper span{position:absolute;right:0;width:14px;padding:0 4px 0 2px;height:50%;line-height:50%;opacity:0;cursor:pointer;border:1px solid rgba(57,57,57,.15);-webkit-box-sizing:border-box;box-sizing:border-box}.numInputWrapper span:hover{background:#0000001a}.numInputWrapper span:active{background:#0003}.numInputWrapper span:after{display:block;content:"";position:absolute}.numInputWrapper span.arrowUp{top:0;border-bottom:0}.numInputWrapper span.arrowUp:after{border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:4px solid rgba(57,57,57,.6);top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid rgba(57,57,57,.6);top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover{background:#0000000d}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;font-weight:300;color:inherit;position:absolute;width:75%;left:12.5%;padding:7.48px 0 0;line-height:1;height:34px;display:inline-block;text-align:center;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}.flatpickr-current-month span.cur-month{font-family:inherit;font-weight:700;color:inherit;display:inline-block;margin-left:.5ch;padding:0}.flatpickr-current-month span.cur-month:hover{background:#0000000d}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch�;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#000000e6}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#000000e6}.flatpickr-current-month input.cur-year{background:transparent;-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;cursor:text;padding:0 0 0 .5ch;margin:0;display:inline-block;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;border:0;border-radius:0;vertical-align:initial;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{font-size:100%;color:#00000080;background:transparent;pointer-events:none}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;background:transparent;border:none;border-radius:0;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;font-family:inherit;font-weight:300;height:auto;line-height:inherit;margin:-1px 0 0;outline:none;padding:0 0 0 .5ch;position:relative;vertical-align:initial;-webkit-box-sizing:border-box;-webkit-appearance:menulist;-moz-appearance:menulist;width:auto}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:#0000000d}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:transparent;outline:none;padding:0}.flatpickr-weekdays{background:transparent;text-align:center;overflow:hidden;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:28px}.flatpickr-weekdays .flatpickr-weekdaycontainer{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}span.flatpickr-weekday{cursor:default;font-size:90%;background:transparent;color:#0000008a;line-height:1;margin:0;text-align:center;display:block;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;font-weight:bolder}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{position:relative;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;width:307.875px}.flatpickr-days:focus{outline:0}.dayContainer{padding:0;outline:0;text-align:left;width:307.875px;min-width:307.875px;max-width:307.875px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;display:-ms-flexbox;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-wrap:wrap;-ms-flex-pack:justify;-webkit-justify-content:space-around;justify-content:space-around;-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}.dayContainer+.dayContainer{-webkit-box-shadow:-1px 0 0 #e6e6e6;box-shadow:-1px 0 #e6e6e6}.flatpickr-day{background:none;border:1px solid transparent;border-radius:150px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#393939;cursor:pointer;font-weight:400;width:14.2857143%;-webkit-flex-basis:14.2857143%;-ms-flex-preferred-size:14.2857143%;flex-basis:14.2857143%;max-width:39px;height:39px;line-height:39px;margin:0;display:inline-block;position:relative;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;text-align:center}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;outline:0;background:#e6e6e6;border-color:#e6e6e6}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{border-color:#959ea9;background:#959ea9;color:#fff}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{background:#569ff7;-webkit-box-shadow:none;box-shadow:none;color:#fff;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){-webkit-box-shadow:-10px 0 0 #569ff7;box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;-webkit-box-shadow:-5px 0 0 #e6e6e6,5px 0 0 #e6e6e6;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#3939394d;background:transparent;border-color:transparent;cursor:default}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:#3939391a}.flatpickr-day.week.selected{border-radius:0;-webkit-box-shadow:-5px 0 0 #569ff7,5px 0 0 #569ff7;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;-webkit-box-shadow:1px 0 0 #e6e6e6;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{display:block;width:100%;max-width:none;color:#3939394d;background:transparent;cursor:default;border:none}.flatpickr-innerContainer{display:block;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.flatpickr-rContainer{display:inline-block;padding:0;-webkit-box-sizing:border-box;box-sizing:border-box}.flatpickr-time{text-align:center;outline:0;display:block;height:0;line-height:40px;max-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.flatpickr-time:after{content:"";display:table;clear:both}.flatpickr-time .numInputWrapper{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:40%;height:40px;float:left}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{background:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;border-radius:0;text-align:center;margin:0;padding:0;height:inherit;line-height:inherit;color:#393939;font-size:14px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{outline:0;border:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;font-weight:700;width:2%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.flatpickr-time .flatpickr-am-pm{outline:0;width:18%;cursor:pointer;text-align:center;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@-webkit-keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}@keyframes fpFadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:1;-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}}:root{--bg: #F0F2F6;--surface: #FFFFFF;--surface-2: #F8F9FB;--border: #E2E5EC;--border-light: #EDF0F5;--text: #0F1724;--text-secondary: #4B5563;--text-muted: #9CA3AF;--accent: #2660D6;--accent-light: rgba(38,96,214,.1);--accent-fg: #FFFFFF;--green: #16A34A;--green-light: rgba(22,163,74,.1);--yellow: #D97706;--yellow-light: rgba(217,119,6,.1);--red: #DC2626;--red-light: rgba(220,38,38,.1);--radius: 12px;--radius-sm: 8px;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow: 0 1px 4px rgba(0,0,0,.08), 0 2px 12px rgba(0,0,0,.05);--shadow-md: 0 4px 16px rgba(0,0,0,.1), 0 1px 4px rgba(0,0,0,.06);--font-ui: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--surface-hover: rgba(0,0,0,.04);--card-bg: #FFFFFF;--fg: #0F1724;--cal-scheduled-bg: #EFF6FF;--cal-scheduled-fg: #1D4ED8;--cal-started-bg: #FFFBEB;--cal-started-fg: #92400E;--cal-completed-bg: #F0FDF4;--cal-completed-fg: #15803D;--cal-noclock-bg: #FEF2F2;--cal-noclock-fg: #B91C1C;--cal-vacation-bg: #FAF5FF;--cal-vacation-fg: #6D28D9;--cal-rest-bg: #F8FAFC;--cal-rest-fg: #64748B;--cal-no-schedule-bg: #FFFFFF;--cal-no-schedule-fg: #94A3B8;--cal-holiday-bg: #FFFBEB;--cal-holiday-fg: #B45309}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #0D0D0D;--surface: #1F1F1F;--surface-2: #171717;--surface-hover: rgba(255,255,255,.06);--card-bg: #1F1F1F;--fg: #ECECEC;--border: #333333;--border-light: #2A2A2A;--text: #ECECEC;--text-secondary: #A0A0A0;--text-muted: #6B6B6B;--accent: #5B8DEE;--accent-light: rgba(91,141,238,.18);--accent-fg: #FFFFFF;--green: #34D399;--green-light: rgba(52,211,153,.15);--yellow: #FBBF24;--yellow-light: rgba(251,191,36,.15);--red: #F87171;--red-light: rgba(248,113,113,.15);--shadow-sm: 0 1px 3px rgba(0,0,0,.5);--shadow: 0 2px 8px rgba(0,0,0,.6), 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 6px 20px rgba(0,0,0,.7), 0 2px 6px rgba(0,0,0,.5);--cal-scheduled-bg: #172554;--cal-scheduled-fg: #93C5FD;--cal-started-bg: #431407;--cal-started-fg: #FCD34D;--cal-completed-bg: #052E16;--cal-completed-fg: #86EFAC;--cal-noclock-bg: #450A0A;--cal-noclock-fg: #FCA5A5;--cal-vacation-bg: #2E1065;--cal-vacation-fg: #C4B5FD;--cal-rest-bg: #1C1C1E;--cal-rest-fg: #9CA3AF;--cal-no-schedule-bg: #0D0D0D;--cal-no-schedule-fg: #6B6B6B;--cal-holiday-bg: #422006;--cal-holiday-fg: #FDE68A;color-scheme:dark}}:root[data-theme=dark]{--bg: #0D0D0D;--surface: #1F1F1F;--surface-2: #171717;--surface-hover: rgba(255,255,255,.06);--card-bg: #1F1F1F;--fg: #ECECEC;--border: #333333;--border-light: #2A2A2A;--text: #ECECEC;--text-secondary: #A0A0A0;--text-muted: #6B6B6B;--accent: #5B8DEE;--accent-light: rgba(91,141,238,.18);--accent-fg: #FFFFFF;--green: #34D399;--green-light: rgba(52,211,153,.15);--yellow: #FBBF24;--yellow-light: rgba(251,191,36,.15);--red: #F87171;--red-light: rgba(248,113,113,.15);--shadow-sm: 0 1px 3px rgba(0,0,0,.5);--shadow: 0 2px 8px rgba(0,0,0,.6), 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 6px 20px rgba(0,0,0,.7), 0 2px 6px rgba(0,0,0,.5);--cal-scheduled-bg: #172554;--cal-scheduled-fg: #93C5FD;--cal-started-bg: #431407;--cal-started-fg: #FCD34D;--cal-completed-bg: #052E16;--cal-completed-fg: #86EFAC;--cal-noclock-bg: #450A0A;--cal-noclock-fg: #FCA5A5;--cal-vacation-bg: #2E1065;--cal-vacation-fg: #C4B5FD;--cal-rest-bg: #1C1C1E;--cal-rest-fg: #9CA3AF;--cal-no-schedule-bg: #0D0D0D;--cal-no-schedule-fg: #6B6B6B;--cal-holiday-bg: #422006;--cal-holiday-fg: #FDE68A;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}button{cursor:pointer;font:inherit;border:none;background:none}input,select,textarea{font:inherit}h1,h2,h3,h4{font-family:var(--font-ui)}.login-wrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem 1rem;background:var(--bg)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2.25rem 2rem;width:100%;max-width:380px;box-shadow:var(--shadow)}.login-logo-img{display:block;margin:0 auto 1rem;max-width:220px;width:100%;height:auto;object-fit:contain}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .login-logo-img{filter:invert(1)}}:root[data-theme=dark] .login-logo-img{filter:invert(1)}@media (max-width: 480px){.login-logo-img{max-width:160px}}.login-logo{font-size:2rem;text-align:center;display:block;margin-bottom:.5rem}.login-card h1{text-align:center;font-size:1.35rem;font-weight:700;color:var(--text);margin-bottom:1.75rem;letter-spacing:-.01em}.field-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}.field-group label{font-size:.72rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-ui)}.field-group input{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.65rem .85rem;background:var(--bg);color:var(--text);transition:border-color .15s,box-shadow .15s;font-size:.9rem}.field-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.company-toggle{display:flex;gap:.5rem}.company-toggle button{flex:1;padding:.55rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);transition:all .15s;font-size:.875rem;font-weight:500}.company-toggle button.active{border-color:var(--accent);background:var(--accent);color:var(--accent-fg);font-weight:600}.btn-primary{width:100%;padding:.75rem;background:var(--accent);color:var(--accent-fg);border-radius:var(--radius-sm);font-weight:700;font-size:.95rem;font-family:var(--font-ui);transition:opacity .15s,transform .1s;margin-top:.5rem;letter-spacing:.01em}.btn-primary:hover{opacity:.92}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.55;cursor:default}.error-msg{color:var(--red);font-size:.8rem;margin:.4rem 0}.flash-ok{color:var(--green);font-size:.8rem;margin:.4rem 0;font-weight:500}.app{min-height:100dvh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 1.25rem;padding-top:env(safe-area-inset-top,0px);height:calc(52px + env(safe-area-inset-top,0px));display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:20;box-shadow:var(--shadow-sm)}.header-left{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem}.header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.header-user{font-size:.9rem;font-weight:700;font-family:var(--font-ui);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media (max-width: 640px){.header-user{font-size:17px}.header-right{gap:.35rem}}.btn-ghost{font-size:.8rem;color:var(--text-secondary);padding:.3rem .7rem;border:1px solid var(--border);border-radius:6px;font-weight:500;transition:all .15s}.btn-ghost:hover{background:var(--bg);border-color:var(--text-muted)}.btn-theme{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--text-secondary);flex-shrink:0;transition:background .15s,border-color .15s;line-height:1}.btn-theme:hover{background:var(--surface-hover);border-color:var(--text-muted)}.app-nav{background:var(--surface);border-bottom:1px solid var(--border);display:flex;padding:0 .75rem;gap:.15rem;overflow-x:auto;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.app-nav button{padding:.75rem .9rem;font-size:.85rem;font-family:var(--font-ui);font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;letter-spacing:.01em}.app-nav button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.app-nav button:hover:not(.active){color:var(--text-secondary)}.app-main{flex:1;padding:1.5rem 1rem;max-width:680px;width:100%;margin:0 auto}.app-main--wide{max-width:none;padding:1.5rem 1.25rem}.section-title{font-size:1.05rem;font-weight:700;color:var(--text);margin-bottom:1.25rem;font-family:var(--font-ui);letter-spacing:-.01em}h2{font-size:1rem;font-weight:700;margin-bottom:1rem;font-family:var(--font-ui)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.5rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.25rem;box-shadow:var(--shadow-sm)}.stat-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-family:var(--font-ui);margin-bottom:.35rem}.stat-value{font-size:2rem;font-weight:700;color:var(--text);font-family:var(--font-ui);line-height:1;font-variant-numeric:tabular-nums}.stat-card.accent .stat-value{color:var(--accent)}.stat-card.green .stat-value{color:var(--green)}.stat-card.yellow .stat-value{color:var(--yellow)}.shift-type-badge{display:inline-flex;align-items:center;font-size:.7rem;font-weight:700;padding:.22rem .65rem;border-radius:99px;background:var(--accent-light);color:var(--accent);margin-bottom:1.1rem;text-transform:uppercase;letter-spacing:.06em;font-family:var(--font-ui)}.events-sequence{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.event-chip{font-size:.75rem;font-weight:500;padding:.3rem .65rem;border-radius:99px;font-family:var(--font-ui)}.event-chip.done{background:var(--green-light);color:var(--green)}.event-chip.done--break-start,.event-chip.done--break-end{background:var(--accent-light);color:var(--accent)}.event-chip.next{background:var(--accent-light);color:var(--accent);font-weight:600;border:1px dashed var(--accent)}.event-chip.next--out{background:var(--red-light);color:var(--red);border-color:var(--red)}.event-chip em{font-style:normal;opacity:.7;margin-left:.25rem}.btn-fichar{width:100%;padding:1rem;border-radius:10px;font-size:1rem;font-weight:700;font-family:var(--font-ui);color:#fff;transition:opacity .15s,transform .1s;letter-spacing:.01em;min-height:56px}.btn-fichar:disabled{opacity:.55;cursor:default}.btn-fichar:active:not(:disabled){transform:scale(.98)}.btn-green{background:var(--green)}.btn-yellow{background:var(--yellow)}.btn-blue{background:var(--accent)}.btn-red{background:var(--red)}.status-complete{text-align:center}.complete-icon{font-size:2.25rem;line-height:1;margin-bottom:.3rem}.status-complete>p:nth-child(2){font-weight:700;font-size:1.05rem;margin-bottom:.75rem;font-family:var(--font-ui)}.worked-summary{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem;font-size:.85rem;color:var(--text-secondary)}.status-idle p{color:var(--text-muted);font-size:.9rem}.skeleton-card{color:var(--text-muted)}.break-timer{margin:.75rem 0;padding:.75rem 1rem;background:var(--accent-light);border-left:3px solid var(--yellow);border-radius:0 8px 8px 0;text-align:center}.break-timer-count{font-size:2rem;font-weight:700;font-family:var(--font-mono, monospace);font-variant-numeric:tabular-nums;color:var(--accent);line-height:1.1}.break-timer-info{font-size:.78rem;color:var(--text-secondary);margin-top:.3rem}.records-table{width:100%;border-collapse:collapse;font-size:.825rem}.records-table th{text-align:left;padding:.5rem .75rem;font-size:.68rem;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);border-bottom:1px solid var(--border);font-weight:600;background:var(--surface-2)}.records-table td{padding:.6rem .75rem;border-bottom:1px solid var(--border-light)}.records-table tbody tr:last-child td{border-bottom:none}.records-table tr.corrected td{color:var(--text-muted);text-decoration:line-through}.empty-row{color:var(--text-muted);text-align:center;padding:2rem!important;font-size:.85rem}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem;font-size:.825rem;color:var(--text-secondary)}.pagination button{padding:.35rem .85rem;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.825rem;transition:all .15s}.pagination button:hover:not(:disabled){background:var(--bg)}.pagination button:disabled{opacity:.35;cursor:default}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.table-wrap .records-table{margin:0}.correction-detail-row td{padding:0!important;border-bottom:1px solid var(--border-light)}.correction-detail{display:flex;flex-wrap:wrap;gap:.25rem .75rem;padding:.3rem .75rem .5rem 1.25rem;background:color-mix(in srgb,var(--accent) 6%,var(--surface));font-size:.75rem;color:var(--text-muted)}.cd-label{font-weight:600;color:var(--accent)}.cd-item{display:inline-flex;flex-wrap:wrap;gap:.2rem}.time-picker-24h{display:flex;align-items:center;gap:.35rem}.time-picker-24h select{padding:.45rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:.9rem;font-family:var(--font-ui);cursor:pointer;min-width:3.5rem;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.time-sep{font-size:1.1rem;font-weight:700;color:var(--text-muted)}.time-preview{margin-left:.25rem;font-size:.9rem;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.admin-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;align-items:center}.admin-filters select,.admin-filters input{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;background:var(--surface);color:var(--text);flex:1;min-width:130px;font-size:.875rem;transition:border-color .15s}.admin-filters select:focus,.admin-filters input:focus{outline:none;border-color:var(--accent)}.admin-filters .btn-primary{width:auto;flex:none;margin-top:0;padding:.5rem 1.25rem}.admin-subnav{display:flex;gap:0;margin-bottom:1.5rem;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.admin-subnav::-webkit-scrollbar{display:none}.admin-subnav button{padding:.65rem 1.1rem;font-size:.85rem;font-family:var(--font-ui);font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap}.admin-subnav button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.week-nav{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.week-nav .week-label{flex:1;text-align:center;font-weight:700;font-size:.875rem;min-width:0;font-family:var(--font-ui)}.week-nav>button{padding:.45rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.825rem;white-space:nowrap;flex-shrink:0;transition:all .15s}.week-nav>button:hover{background:var(--bg)}.week-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.btn-pub{padding:.5rem 1rem;background:var(--accent);color:var(--accent-fg);border-radius:var(--radius-sm);font-weight:600;font-family:var(--font-ui);font-size:.825rem}.btn-pub:disabled{opacity:.4;cursor:default}.btn-copy{padding:.5rem 1rem;background:var(--accent-light);color:var(--accent);border:1.5px solid rgba(38,96,214,.3);border-radius:var(--radius-sm);font-weight:600;font-family:var(--font-ui);font-size:.825rem;transition:background .15s}.btn-copy:hover{background:#2660d629}.cuadrante-outer{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1.25rem;padding:0 1.25rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.cuadrante{border-collapse:collapse;min-width:560px;width:100%;font-size:.78rem}.cuadrante th{padding:.6rem .5rem;text-align:center;font-weight:700;font-size:.68rem;font-family:var(--font-ui);color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em}.cuadrante th.col-name{text-align:left;min-width:110px;position:sticky;left:0;z-index:2;background:var(--surface-2)}.cuadrante td{border-bottom:1px solid var(--border-light)}.cuadrante td.col-name{font-size:.82rem;font-weight:600;font-family:var(--font-ui);padding:.5rem .6rem;color:var(--text);min-width:110px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:sticky;left:0;z-index:1;background:var(--surface);border-right:1px solid var(--border-light)}.cuadrante tbody tr:hover td.col-name{background:var(--bg)}.sched-cell{padding:.4rem .5rem;min-width:80px;max-width:100px;vertical-align:top;cursor:pointer;transition:background .12s;border-left:3px solid transparent}.sched-cell.empty{background:var(--surface-2);text-align:center;vertical-align:middle;height:52px}.sched-cell.empty:hover{background:var(--accent-light)}.sched-cell.draft{background:var(--yellow-light);border-left-color:var(--yellow)}.sched-cell.draft:hover{background:#d9770629}.sched-cell.published{background:var(--green-light);border-left-color:var(--green)}.sched-cell.published:hover{background:#16a34a29}.sched-cell.rest-day{background:var(--cal-rest-bg);border-left-color:var(--cal-rest-fg)}.sched-cell.rest-day:hover{background:#c9d5e0}.cell-rest-label{font-size:.72rem;font-weight:700;color:var(--cal-rest-fg);text-transform:uppercase;letter-spacing:.04em}.cell-add{font-size:1.2rem;color:var(--border);line-height:1;display:block}.cell-times{font-weight:600;color:var(--text);font-size:.75rem;line-height:1.35}.cell-badge{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-top:.2rem}.cell-badge.pub{color:var(--green)}.cell-badge.bor{color:var(--yellow)}.cell-night{font-size:.68rem;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172480;z-index:100;display:flex;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (min-width: 520px){.modal-overlay{align-items:center;padding:1rem}}.modal-card{background:var(--surface);border-radius:var(--radius) var(--radius) 0 0;padding:1.5rem;width:100%;max-width:480px;max-height:92dvh;overflow-y:auto;box-shadow:0 -4px 32px #00000026}@media (min-width: 520px){.modal-card{border-radius:var(--radius);box-shadow:var(--shadow-md)}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem;gap:.5rem}.modal-header h3{font-size:.975rem;font-weight:700;line-height:1.3;font-family:var(--font-ui)}.modal-date{font-size:.78rem;color:var(--text-muted);margin-top:.15rem}.modal-close{font-size:1rem;color:var(--text-muted);padding:.2rem .45rem;border-radius:5px;flex-shrink:0;line-height:1;transition:background .1s}.modal-close:hover{background:var(--bg);color:var(--text)}.shift-type-toggle{display:flex;gap:.4rem;margin-bottom:1rem}.shift-type-toggle button{flex:1;padding:.5rem .3rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem;font-family:var(--font-ui);color:var(--text-secondary);font-weight:500;transition:all .15s}.shift-type-toggle button.active{border-color:var(--accent);background:var(--accent);color:var(--accent-fg);font-weight:700}.time-row{display:flex;gap:.75rem;margin-bottom:.75rem}.time-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3rem}.time-field label{font-size:.7rem;font-weight:700;font-family:var(--font-ui);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.time-field input[type=time]{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .65rem;background:var(--bg);color:var(--text);font-size:.9rem;width:100%;transition:border-color .15s}.time-field input[type=time]:focus{outline:none;border-color:var(--accent)}.modal-section-label{font-size:.68rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.4rem;margin-top:.75rem}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-row input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.notes-field{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .75rem;background:var(--bg);color:var(--text);font:inherit;font-size:.875rem;resize:vertical;min-height:52px;transition:border-color .15s}.notes-field:focus{outline:none;border-color:var(--accent)}.location-select{width:100%;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;background:var(--bg);color:var(--text);font:inherit;font-size:.875rem;cursor:pointer}.location-select:focus{outline:none;border-color:var(--accent)}.modal-note{font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem;padding:.4rem .65rem;background:var(--yellow-light);border-radius:6px;border-left:2px solid var(--yellow)}.modal-actions{display:flex;gap:.5rem;margin-top:1.25rem;flex-wrap:wrap}.btn-save{flex:1;padding:.7rem;background:var(--accent);color:var(--accent-fg);border-radius:var(--radius-sm);font-weight:700;font-family:var(--font-ui);font-size:.9rem;min-width:80px;transition:opacity .15s}.btn-save:disabled{opacity:.5;cursor:default}.btn-delete{padding:.7rem 1rem;background:var(--red-light);color:var(--red);border:1px solid rgba(220,38,38,.3);border-radius:var(--radius-sm);font-weight:600;font-size:.85rem}.btn-cancel{padding:.7rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-secondary);transition:background .15s}.btn-cancel:hover{background:var(--bg)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.section-header h2{margin:0}.btn-new{padding:.5rem 1.1rem;background:var(--accent);color:var(--accent-fg);border-radius:var(--radius-sm);font-weight:600;font-family:var(--font-ui);font-size:.825rem;transition:opacity .15s}.btn-new:hover{opacity:.88}.filter-toggle{font-size:.78rem;color:var(--text-muted);border:1px solid var(--border);padding:.35rem .85rem;border-radius:6px;margin-bottom:.75rem;transition:all .15s}.filter-toggle:hover{background:var(--bg)}.emp-list{display:flex;flex-direction:column;gap:.5rem}.emp-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;transition:box-shadow .15s,border-color .15s;cursor:pointer}.emp-row:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.emp-info{flex:1;min-width:0}.emp-name{font-weight:600;font-size:.875rem;font-family:var(--font-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emp-email{font-size:.775rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.emp-phone-sep{opacity:.45;flex-shrink:0}.emp-phone-pending{font-style:italic;opacity:.6}.emp-status{font-size:.68rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;padding:.2rem .6rem;border-radius:99px;white-space:nowrap;flex-shrink:0}.emp-status.active{background:var(--green-light);color:var(--green)}.emp-status.inactive{background:#9ca3af1f;color:var(--text-muted)}.emp-actions{display:flex;gap:.4rem;flex-shrink:0}.emp-actions button{font-size:.75rem;padding:.35rem .7rem;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-weight:500;transition:all .15s}.btn-deactivate{color:var(--red)!important;border-color:#dc26264d!important}.btn-activate{color:var(--green)!important;border-color:#16a34a4d!important}.btn-edit{color:var(--accent)!important;border-color:#2660d64d!important}.emp-form{display:flex;flex-direction:column;gap:.9rem;margin-top:.25rem}.emp-form>div{display:flex;flex-direction:column;gap:.3rem}.emp-form label{font-size:.7rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.emp-form input{border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .8rem;background:var(--bg);color:var(--text);font:inherit;font-size:.875rem;width:100%;transition:border-color .15s}.emp-form input:focus{outline:none;border-color:var(--accent)}.confirm-box{background:var(--yellow-light);border:1px solid rgba(217,119,6,.35);border-radius:10px;padding:1rem 1.1rem;margin-bottom:1rem}.confirm-box p{font-size:.85rem;margin-bottom:.75rem;line-height:1.55}.confirm-box-actions{display:flex;gap:.5rem;flex-wrap:wrap}.confirm-box--copy-next{background:var(--blue-light, #EFF6FF);border-color:#2563eb4d}.confirm-box--warn{background:#fff7ed;border-color:#ea580c66}.confirm-box--done{background:var(--green-light, #F0FDF4);border-color:#16a34a4d}.week-picker-cal{font-size:.82rem;-webkit-user-select:none;user-select:none;margin-bottom:.25rem}.wpc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem;gap:.4rem}.wpc-month-label{font-weight:600;font-size:.88rem;text-transform:capitalize;flex:1;text-align:center}.wpc-nav{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;line-height:1;padding:.15rem .55rem;color:var(--text);transition:background .1s}.wpc-nav:hover:not(:disabled){background:var(--hover-bg, rgba(0,0,0,.06))}.wpc-nav:disabled{opacity:.3;cursor:default}.wpc-grid{display:grid;grid-template-columns:2.4rem repeat(7,1fr);gap:1px}.wpc-hdr{text-align:center;font-weight:600;font-size:.73rem;color:var(--text-muted);padding:.2rem 0}.wpc-hdr-wk{font-size:.68rem}.wpc-wnum,.wpc-day{text-align:center;padding:.32rem .1rem;cursor:pointer;border-radius:3px;transition:background .1s,color .1s}.wpc-wnum{font-size:.71rem;font-weight:700;color:var(--text-muted);letter-spacing:-.01em}.wpc-day{font-variant-numeric:tabular-nums}.wpc-day.out{color:var(--text-muted);opacity:.5}.wpc-wnum:not(.dis):hover,.wpc-day:not(.dis):hover{background:var(--hover-bg, rgba(37,99,235,.08))}.wpc-wnum.sel,.wpc-day.sel{background:var(--accent, #2563EB);color:#fff}.wpc-wnum.sel{background:#2563eb2e;color:var(--accent, #2563EB)}.wpc-wnum.dis,.wpc-day.dis{cursor:default;opacity:.3}.wpc-selection{margin:.5rem 0 0;font-size:.81rem;font-weight:600;color:var(--accent, #2563EB)}.nom-panel{padding:.25rem 0}.nom-list-header,.nom-phase-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.nom-list-header h3,.nom-phase-header h3{margin:0;font-size:1rem}.nom-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.nom-filters select{padding:.3rem .5rem;font-size:.82rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text)}.nom-upload-form{max-width:420px}.nom-field-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem}.nom-field-row label{width:3rem;font-size:.82rem;color:var(--text-muted);flex-shrink:0}.nom-field-row select,.nom-field-row input[type=number]{flex:1;padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:.85rem}.nom-hint{font-size:.82rem;color:var(--text-muted);margin:.4rem 0}.nom-hint a{color:var(--accent)}.nom-warn{font-size:.82rem;color:#d97706;margin:.4rem 0}.nom-period-badge{display:inline-block;background:var(--accent);color:#fff;font-size:.82rem;font-weight:600;padding:.2rem .7rem;border-radius:999px;margin-bottom:.75rem}.nom-pub-bar{background:var(--bg-muted, rgba(0,0,0,.03));border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .8rem;margin-bottom:.75rem;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.nom-pub-bar label{display:flex;align-items:center;gap:.4rem;font-size:.82rem;cursor:pointer}.nom-group{margin-bottom:1.25rem}.nom-group-title{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.35rem 0;background:none;border:none;cursor:pointer;font-size:.88rem;font-weight:700;color:var(--text-muted);text-transform:capitalize;margin:0 0 .4rem}.nom-group-title:hover{color:var(--fg)}.nom-group-meta{font-weight:400;font-size:.8rem;color:var(--text-muted)}.nom-table{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;font-size:.83rem}.nom-table-hdr,.nom-table-row{display:grid;grid-template-columns:1fr 5.5rem 6.5rem 6rem 6rem;gap:.5rem;padding:.4rem .7rem;align-items:center}.nom-table-hdr{background:var(--bg-muted, rgba(0,0,0,.04));font-weight:600;font-size:.76rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.nom-table-row{border-top:1px solid var(--border)}.nom-table-row.draft{background:#eab3080a}.nom-badge{display:inline-block;padding:.15rem .55rem;border-radius:99px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.nom-badge--draft{background:#fef9c3;color:#92400e}.nom-badge--published{background:#dcfce7;color:#166534}.nom-viewed{color:#16a34a;font-size:.8rem}.nom-actions{display:flex;align-items:center;gap:.35rem}.nom-del{color:var(--error, #DC2626)}.nom-del:hover{background:#dc262614}.nom-empty{color:var(--text-muted);font-size:.88rem;margin:1rem 0}.nom-assign-table{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin:.75rem 0}.nom-assign-header,.nom-assign-row{display:grid;grid-template-columns:5rem 1fr;padding:.4rem .7rem;gap:.75rem;align-items:center;font-size:.83rem}.nom-assign-header{background:var(--bg-muted, rgba(0,0,0,.04));font-weight:600;font-size:.76rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.nom-assign-row{border-top:1px solid var(--border)}.nom-assign-row.unassigned{background:#eab3080d}.nom-assign-row select{padding:.25rem .4rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-size:.83rem;width:100%}.nom-page-num{font-variant-numeric:tabular-nums;color:var(--text-muted)}.nom-emp-year{margin-bottom:1.25rem}.nom-emp-year-title{font-size:.88rem;font-weight:700;color:var(--text-muted);margin:0 0 .4rem}.nom-emp-list{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.nom-emp-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem .8rem;font-size:.84rem;gap:.75rem;border-bottom:1px solid var(--border)}.nom-emp-row:last-child{border-bottom:none}.nom-emp-row.unread{background:#2563eb0a}.nom-emp-info{display:flex;align-items:center;gap:.5rem}.nom-emp-name{font-weight:500}.nom-emp-new{display:inline-block;background:#ef4444;color:#fff;font-size:.68rem;font-weight:700;padding:.1rem .45rem;border-radius:99px;text-transform:uppercase;letter-spacing:.04em}.file-picker-wrap{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.file-picker-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-picker-btn{display:inline-block;cursor:pointer;padding:.38rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;color:var(--text);transition:background .15s,border-color .15s}.file-picker-btn:hover{background:var(--bg);border-color:var(--accent)}.file-picker-name{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.docs-section-tabs{display:flex;gap:.4rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:.4rem}.docs-section-tabs button{padding:.3rem .8rem;border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;border:1px solid transparent;background:none;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.docs-section-tabs button:hover{background:var(--surface-2);color:var(--text)}.docs-section-tabs button.active{background:var(--surface);border-color:var(--border);color:var(--accent);font-weight:600}.docs-section-body{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem;gap:.75rem;text-align:center}.docs-placeholder-icon{font-size:2.5rem;margin:0}.docs-placeholder-text{color:var(--text-muted);font-size:.9rem;max-width:320px;line-height:1.5;margin:0}.docs-upload-form{padding-top:.25rem}.field-optional{color:var(--text-muted);font-size:.78rem;font-weight:400}.docs-history-title{font-size:.88rem;font-weight:700;color:var(--text-muted);margin:0 0 .5rem}.docs-history-list{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.docs-history-row{display:flex;align-items:center;justify-content:space-between;padding:.55rem .8rem;font-size:.84rem;gap:.75rem;border-bottom:1px solid var(--border)}.docs-history-row:last-child{border-bottom:none}.docs-history-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.docs-history-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docs-history-meta{font-size:.75rem;color:var(--text-muted)}.adoc-table{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin-top:.75rem}.adoc-table-hdr,.adoc-table-row{display:grid;grid-template-columns:1.4fr 1.6fr .9fr .9fr .9fr .7fr;gap:.5rem;padding:.55rem .8rem;font-size:.83rem;align-items:center}.adoc-table-hdr{font-weight:600;font-size:.78rem;color:var(--text-muted);background:var(--surface-2);border-bottom:1px solid var(--border)}.adoc-table-row{border-bottom:1px solid var(--border-light)}.adoc-table-row:last-child{border-bottom:none}.adoc-table-row.pending{background:#eab3080a}.adoc-type-label{display:block;font-size:.82rem;font-weight:500}.adoc-desc{display:block;font-size:.74rem;color:var(--text-muted);margin-top:.1rem}.adoc-revisar{color:#16a34a!important;font-weight:700}@media (max-width: 700px){.adoc-table-hdr,.adoc-table-row{grid-template-columns:1fr 1fr;font-size:.79rem}.adoc-table-hdr span:nth-child(n+3),.adoc-table-row span:nth-child(n+3){display:none}}.btn-confirm{padding:.45rem 1.1rem;background:var(--accent);color:var(--accent-fg);border-radius:var(--radius-sm);font-weight:600;font-family:var(--font-ui);font-size:.825rem;transition:opacity .15s}.btn-confirm:disabled{opacity:.5;cursor:default}.btn-cancel-sm{padding:.45rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.825rem;color:var(--text-secondary);transition:background .15s}.btn-cancel-sm:hover{background:var(--bg)}.mi-horario-days{display:flex;flex-direction:column;gap:.6rem}.horario-day-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.9rem 1rem;box-shadow:var(--shadow-sm)}.horario-day-name{font-size:.68rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);margin-bottom:.35rem}.horario-day-empty{font-size:.85rem;color:var(--text-muted);font-style:italic}.horario-day-card--holiday{background:var(--cal-holiday-bg);border-color:var(--cal-holiday-fg)}.horario-festivo-label{font-size:.82rem;font-weight:700;color:var(--cal-holiday-fg);margin-bottom:.25rem}.horario-state-label{font-size:.68rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.07em;opacity:.9;margin-bottom:.15rem}.horario-fichajes-row{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.78rem;font-weight:600;margin-top:.35rem;opacity:.85}.horario-shift-type{font-size:.68rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:.2rem}.horario-times{font-size:1.1rem;font-weight:700;color:var(--text);font-family:var(--font-ui)}.horario-times-part2{font-size:.875rem;color:var(--text-secondary);margin-top:.15rem}.horario-notes{font-size:.8rem;color:var(--text-muted);margin-top:.3rem;font-style:italic}.horario-night{font-size:.78rem;color:var(--text-muted);margin-top:.2rem}@media (max-width: 640px){.mi-horario-days--emp{gap:.35rem}.mi-horario-days--emp .horario-day-card{background:var(--surface)!important;color:var(--text)!important;padding:.5rem .75rem;display:grid;grid-template-columns:1fr auto;grid-auto-flow:row dense;align-items:center;gap:.2rem .5rem}.mi-horario-days--emp .horario-day-name{grid-column:1;margin-bottom:0}.mi-horario-days--emp .horario-state-label{grid-column:2;justify-self:end;align-self:center;margin-bottom:0;font-size:.6rem;letter-spacing:.04em;padding:.1rem .4rem;border-radius:4px}.mi-horario-days--emp .horario-festivo-label{grid-column:1 / -1;margin-bottom:0;font-size:.75rem}.mi-horario-days--emp .horario-shift-type{grid-column:1;align-self:center;margin-bottom:0;font-size:.63rem}.mi-horario-days--emp .horario-times{grid-column:2;justify-self:end;text-align:right;font-size:.92rem}.mi-horario-days--emp .horario-times-split{grid-column:2;justify-self:end;flex-direction:column;gap:.1rem;align-items:flex-end;margin-top:0}.mi-horario-days--emp .horario-tramo-label{display:none}.mi-horario-days--emp .horario-tramo-time{font-size:.88rem}.mi-horario-days--emp .horario-night,.mi-horario-days--emp .horario-notes{grid-column:1 / -1;font-size:.72rem;margin-top:.05rem}.mi-horario-days--emp .horario-day-empty{grid-column:1 / -1;font-size:.78rem}.mi-horario-days--emp .horario-day-card[data-state=scheduled] .horario-state-label{background:var(--cal-scheduled-bg);color:var(--cal-scheduled-fg)}.mi-horario-days--emp .horario-day-card[data-state=started] .horario-state-label{background:var(--cal-started-bg);color:var(--cal-started-fg)}.mi-horario-days--emp .horario-day-card[data-state=vacation] .horario-state-label{background:var(--cal-vacation-bg);color:var(--cal-vacation-fg)}.mi-horario-days--emp .horario-day-card[data-state=holiday] .horario-state-label{background:var(--cal-holiday-bg);color:var(--cal-holiday-fg)}.mi-horario-days--emp .horario-day-card[data-state=no_schedule] .horario-state-label,.mi-horario-days--emp .horario-day-card[data-state=rest] .horario-state-label{background:color-mix(in srgb,var(--border) 60%,var(--surface));color:var(--text-muted)}}.perfil-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.perfil-avatar{width:56px;height:56px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;font-family:var(--font-ui);color:var(--accent);margin-bottom:1rem;flex-shrink:0}.perfil-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.perfil-name{font-size:1.1rem;font-weight:700;font-family:var(--font-ui)}.perfil-role{font-size:.68rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--accent);margin-top:.15rem}.perfil-fields{display:flex;flex-direction:column;gap:.75rem}.perfil-field{display:flex;flex-direction:column;gap:.2rem}.perfil-field-label{font-size:.7rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.perfil-field-value{font-size:.9rem;color:var(--text)}.profile-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.back-btn{display:flex;align-items:center;gap:.35rem;font-size:.825rem;font-family:var(--font-ui);font-weight:600;color:var(--accent);padding:.4rem .75rem;border:1.5px solid rgba(38,96,214,.3);border-radius:var(--radius-sm);transition:all .15s}.back-btn:hover{background:var(--accent-light)}.profile-name{font-size:1.05rem;font-weight:700;font-family:var(--font-ui)}.profile-email{font-size:.8rem;color:var(--text-muted)}.profile-badge{font-size:.68rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;padding:.2rem .6rem;border-radius:99px}.profile-badge.active{background:var(--green-light);color:var(--green)}.profile-badge.inactive{background:#9ca3af1f;color:var(--text-muted)}.profile-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:1.25rem;overflow-x:auto;scrollbar-width:none}.profile-tabs::-webkit-scrollbar{display:none}.profile-tabs button{padding:.6rem 1rem;font-size:.825rem;font-family:var(--font-ui);font-weight:500;color:var(--text-muted);border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap}.profile-tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.info-grid{display:flex;flex-direction:column;gap:.65rem}.info-row{display:flex;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border-light)}.info-row:last-child{border-bottom:none}.info-label{font-size:.72rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);min-width:110px;flex-shrink:0;padding-top:.1rem}.info-value{font-size:.875rem;color:var(--text)}@media (max-width: 480px){.app-main,.app-main--wide{padding:1rem .75rem}.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}.stat-value{font-size:1.75rem}.emp-row{gap:.5rem}.emp-actions{width:100%;justify-content:flex-end}.cuadrante-outer{margin:0 -.75rem;padding:0 .75rem 1rem}.admin-filters{flex-direction:column}.admin-filters select,.admin-filters input{min-width:0}}.emp-avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;font-family:var(--font-ui);color:var(--accent);flex-shrink:0;letter-spacing:.02em}.clock-display{text-align:center;padding:1.25rem 0 .75rem}.clock-time{font-size:3.25rem;font-weight:700;font-family:var(--font-ui);color:var(--text);letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.clock-date{font-size:.825rem;color:var(--text-muted);margin-top:.4rem;font-family:var(--font-ui)}.clock-divider{border:none;border-top:1px solid var(--border-light);margin:1rem 0}.app-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:20;box-shadow:0 -1px 8px #00000012}.app-bottom-nav>div{display:flex}.app-bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.18rem;padding:.55rem .2rem .5rem;font-size:.6rem;font-family:var(--font-ui);font-weight:600;color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;transition:color .15s;line-height:1}.app-bottom-nav button.active{color:var(--accent)}.app-bottom-nav .nav-icon{font-size:1.25rem;line-height:1}@media (max-width: 640px){.app-nav,.app-bottom-nav,.admin-subnav{display:none}.btn-logout-desktop{display:none!important}.btn-menu-mobile{display:inline-flex!important}.app-main,.app-main--wide{padding-bottom:1.5rem}}.btn-menu-mobile{display:none}.mobile-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:50}.mobile-menu{position:absolute;top:0;right:0;bottom:0;width:min(300px,82vw);background:var(--surface);border-left:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:-4px 0 24px #0003;animation:mmSlideIn .18s ease-out}@keyframes mmSlideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.mobile-menu-items{display:flex;flex-direction:column;flex:1;padding-top:.5rem}.mobile-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.9rem 1.25rem;font-size:.95rem;font-weight:500;color:var(--text-secondary);border:none;border-left:3px solid transparent;background:none;cursor:pointer;text-align:left;transition:background .12s,color .12s,border-color .12s}.mobile-menu-item:hover{background:var(--bg);color:var(--text)}.mobile-menu-item.active{color:var(--accent);border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);font-weight:600}.mobile-menu-badge{position:static!important;transform:none!important;margin-left:auto}.mobile-menu-separator{height:1px;background:var(--border);margin:.5rem 0}.mobile-menu-logout{display:flex;align-items:center;width:100%;padding:.9rem 1.25rem;font-size:.95rem;font-weight:500;color:var(--red, #dc2626);border:none;background:none;cursor:pointer;text-align:left;transition:background .12s}.mobile-menu-logout:hover{background:var(--bg)}.jornada-list{display:flex;flex-direction:column;gap:.5rem}.jornada-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm)}.jornada-header{display:flex;align-items:center;gap:.65rem;padding:.8rem 1rem;cursor:pointer;transition:background .12s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.jornada-header:hover{background:var(--bg)}.jornada-date{font-size:.82rem;font-weight:700;font-family:var(--font-ui);color:var(--text);flex:1;min-width:0}.jornada-date-sub{font-size:.7rem;font-weight:400;color:var(--text-muted);margin-top:.05rem}.jornada-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.jornada-hours{font-size:.8rem;font-weight:600;font-family:var(--font-ui);color:var(--text-secondary);font-variant-numeric:tabular-nums}.jornada-badge{font-size:.62rem;font-weight:700;padding:.18rem .55rem;border-radius:99px;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.jornada-badge.ok{background:var(--green-light);color:var(--green)}.jornada-badge.open{background:var(--accent-light);color:var(--accent)}.jornada-badge.warn{background:var(--yellow-light);color:var(--yellow)}.jornada-chevron{font-size:.7rem;color:var(--text-muted);transition:transform .2s;flex-shrink:0}.jornada-chevron.up{transform:rotate(180deg)}.jornada-body{border-top:1px solid var(--border-light)}.jornada-events{padding:.65rem 1rem;display:flex;flex-direction:column;gap:.45rem}.jornada-event-row{display:flex;align-items:center;gap:.65rem;font-size:.8rem}.jornada-event-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.jornada-event-dot.in{background:var(--green)}.jornada-event-dot.out{background:var(--red)}.jornada-event-dot.pause{background:var(--yellow)}.jornada-event-dot.correction{background:var(--accent)}.jornada-event-time{font-weight:600;color:var(--text);font-family:var(--font-ui);font-variant-numeric:tabular-nums;min-width:38px}.jornada-event-label{color:var(--text-secondary);flex:1}.jornada-event-src{font-size:.68rem;color:var(--accent);font-weight:600;font-family:var(--font-ui)}.jornada-stats{padding:.5rem 1rem .7rem;display:flex;gap:1.25rem;flex-wrap:wrap;font-size:.75rem;color:var(--text-muted);border-top:1px solid var(--border-light)}.jornada-stats span strong{color:var(--text-secondary);font-weight:600}.jornada-correction-note{margin:0 1rem .6rem;font-size:.72rem;color:var(--accent);font-weight:500;display:flex;align-items:center;gap:.35rem}.resumen-hero{display:flex;align-items:center;gap:1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.resumen-avatar{width:52px;height:52px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700;font-family:var(--font-ui);color:var(--accent);flex-shrink:0}.resumen-name{font-size:1rem;font-weight:700;font-family:var(--font-ui)}.resumen-email{font-size:.78rem;color:var(--text-muted);margin-top:.1rem}.resumen-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;margin-bottom:1rem}.resumen-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.85rem 1rem;box-shadow:var(--shadow-sm)}.resumen-card-label{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-family:var(--font-ui);margin-bottom:.3rem}.resumen-card-value{font-size:1.3rem;font-weight:700;font-family:var(--font-ui);color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1}.resumen-card-sub{font-size:.72rem;color:var(--text-muted);margin-top:.2rem}.resumen-card.green .resumen-card-value{color:var(--green)}.resumen-card.accent .resumen-card-value{color:var(--accent)}.resumen-last-events{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm)}.resumen-last-title{font-size:.68rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:.65rem 1rem .5rem;border-bottom:1px solid var(--border-light)}.profile-header-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.profile-header-top{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.profile-header-avatar{width:48px;height:48px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:700;font-family:var(--font-ui);color:var(--accent);flex-shrink:0}.load-more-btn{width:100%;padding:.65rem;border:1.5px dashed var(--border);border-radius:8px;color:var(--text-muted);font-size:.825rem;font-family:var(--font-ui);transition:all .15s;margin-top:.5rem}.load-more-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.btn-incidencia{width:100%;margin-top:1rem;padding:.6rem 1rem;background:var(--surface, #fff);border:1.5px solid #FCA5A5;border-radius:8px;color:#dc2626;font-size:.8rem;font-family:var(--font-ui);font-weight:500;letter-spacing:.01em;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn-incidencia:hover{background:#fef2f2;border-color:#f87171;color:#b91c1c}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .btn-incidencia{background:transparent;border-color:#7f1d1d66;color:#fca5a5}:root:not([data-theme=light]) .btn-incidencia:hover{background:#7f1d1d22;border-color:#fca5a5;color:#fca5a5}}:root[data-theme=dark] .btn-incidencia{background:transparent;border-color:#7f1d1d66;color:#fca5a5}:root[data-theme=dark] .btn-incidencia:hover{background:#7f1d1d22;border-color:#fca5a5;color:#fca5a5}.mis-incidencias{margin-top:2rem;border-top:1px solid var(--border);padding-top:1.5rem}.mis-incidencias-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.inc-readonly-field{padding:.55rem .75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;font-size:.925rem;font-family:var(--font-ui);font-weight:700;color:var(--text);-webkit-user-select:none;user-select:none;letter-spacing:.01em}.inc-event-options{display:flex;flex-direction:column;gap:.5rem}.inc-event-option{display:flex;align-items:center;gap:.6rem;padding:.55rem .75rem;border:1.5px solid var(--border);border-radius:8px;font-size:.875rem;cursor:pointer;transition:border-color .12s,background .12s}.inc-event-option input[type=radio]{accent-color:var(--accent);flex-shrink:0}.inc-event-option.selected{border-color:var(--accent);background:var(--accent-light);font-weight:500}.inc-event-option:hover:not(.selected){border-color:var(--accent)}.inc-form-note{font-size:.78rem;color:var(--text-muted);border-left:3px solid var(--border);padding-left:.65rem;margin:0;line-height:1.4}.inc-communicated{font-size:.75rem;color:var(--text-secondary);margin:.2rem 0 0}.inc-list{display:flex;flex-direction:column;gap:.625rem}.inc-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.875rem 1rem}.inc-item.admin.pending{border-left:3px solid var(--yellow, #F59E0B)}.inc-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem}.inc-emp-name{font-weight:600;font-size:.875rem;margin-right:.5rem;font-family:var(--font-ui)}.inc-date{font-size:.8rem;color:var(--text-secondary);margin-right:.35rem}.inc-time{font-weight:600;font-size:.8rem;margin-right:.35rem;font-family:var(--font-ui)}.inc-event{font-size:.73rem;font-family:var(--font-ui);font-weight:600;background:var(--surface-2);color:var(--text-secondary);border-radius:4px;padding:.1rem .45rem;text-transform:uppercase;letter-spacing:.04em}.inc-explanation{font-size:.825rem;color:var(--text);margin:.25rem 0 0;line-height:1.45}.inc-resolution{font-size:.775rem;color:var(--text-secondary);margin:.35rem 0 0;line-height:1.4}.inc-badge{display:inline-block;font-size:.7rem;font-family:var(--font-ui);font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:.15rem .5rem;white-space:nowrap}.inc-badge.pending{background:#b45309;color:#fff}.inc-badge.approved{background:#15803d;color:#fff}.inc-badge.rejected{background:#b91c1c;color:#fff}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .inc-badge.pending{background:#d97706;color:#fff}:root:not([data-theme=light]) .inc-badge.approved{background:#16a34a;color:#fff}:root:not([data-theme=light]) .inc-badge.rejected{background:#dc2626;color:#fff}}:root[data-theme=dark] .inc-badge.pending{background:#d97706;color:#fff}:root[data-theme=dark] .inc-badge.approved{background:#16a34a;color:#fff}:root[data-theme=dark] .inc-badge.rejected{background:#dc2626;color:#fff}.inc-nav-badge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;background:#ef4444;color:#fff;border-radius:8px;font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;pointer-events:none}.inc-pending-badge{display:inline-block;background:#ef4444;color:#fff;border-radius:10px;font-size:.72rem;font-weight:700;padding:.15rem .55rem;font-family:var(--font-ui)}.inc-subtabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:0}.inc-subtabs button{background:none;border:none;cursor:pointer;padding:.45rem .9rem;font-size:.85rem;color:var(--text-muted);border-bottom:2px solid transparent;margin-bottom:-1px}.inc-subtabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.fich-table{width:100%;font-size:.82rem}.fich-table-hdr,.fich-table-row{display:grid;grid-template-columns:1.6fr 1.2fr .8fr .8fr .7fr .7fr .9fr 36px;gap:0 .5rem;align-items:center;padding:.45rem .5rem}.fich-table-hdr{font-size:.75rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border)}.fich-table-row{border-bottom:1px solid var(--border-light, rgba(0,0,0,.06))}.fich-table-row.corrected{background:color-mix(in srgb,var(--accent) 4%,transparent)}.fich-emp{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fich-date{color:var(--text-muted);white-space:nowrap}.fich-time{font-variant-numeric:tabular-nums;white-space:nowrap}.fich-total{font-weight:700;font-variant-numeric:tabular-nums}.fich-edit-btn{background:none;border:none;cursor:pointer;font-size:.95rem;padding:.1rem .25rem;color:var(--text-muted);border-radius:4px;line-height:1}.fich-edit-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}@media (max-width: 640px){.fich-table-hdr{display:none}.fich-table-row{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;padding:.6rem .5rem}.fich-emp{grid-column:1 / 2}.fich-date{grid-column:2 / 3;font-size:.78rem}}.jornada-edit-modal{max-width:560px;width:100%}.jornada-edit-meta{display:flex;align-items:center;gap:.75rem;padding:.5rem 1.25rem .75rem;font-size:.875rem;color:var(--text-muted)}.jornada-edit-meta strong{color:var(--text)}.jornada-edit-rows{display:flex;flex-direction:column;gap:.4rem;padding:0 1.25rem}.jornada-edit-row{display:grid;grid-template-columns:1fr 1fr auto 32px;gap:.4rem;align-items:center}.jornada-edit-row.annulled{opacity:.4}.jornada-edit-row select,.jornada-edit-row input[type=date]{font-size:.82rem;padding:.3rem .4rem;border:1px solid var(--border);border-radius:5px;background:var(--input-bg, var(--bg));color:var(--text)}.jer-annul-btn{background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:.8rem;padding:.2rem .4rem;color:var(--text-muted);line-height:1}.jer-annul-btn:hover{border-color:var(--error, #e53e3e);color:var(--error, #e53e3e)}.jer-annul-btn.undo:hover{border-color:var(--accent);color:var(--accent)}.jer-add-btn{display:block;margin:.5rem 1.25rem 0;background:none;border:1px dashed var(--border);border-radius:5px;cursor:pointer;font-size:.8rem;padding:.3rem .6rem;color:var(--text-muted)}.jer-add-btn:hover{border-color:var(--accent);color:var(--accent)}.btn-export-csv{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:.82rem;padding:.35rem .7rem;white-space:nowrap}.btn-export-csv:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-export-csv:disabled{opacity:.5;cursor:not-allowed}.fich-actions-cell{display:flex;align-items:center;gap:2px}.fich-hist-btn{background:none;border:none;cursor:pointer;font-size:.9rem;padding:.1rem .2rem;color:var(--accent);border-radius:4px;line-height:1}.fich-hist-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.jornada-hist-modal{max-width:760px;width:100%}.hist-table-wrap{overflow-x:auto;padding:0 1.25rem}.hist-table{width:100%;border-collapse:collapse;font-size:.8rem;min-width:560px}.hist-table th{text-align:left;padding:.35rem .5rem;border-bottom:2px solid var(--border);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);white-space:nowrap}.hist-table td{padding:.35rem .5rem;border-bottom:1px solid var(--border-light, rgba(0,0,0,.05));vertical-align:top}.hist-table .hist-row-muted td{opacity:.5}.hist-time{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.hist-date{white-space:nowrap}.hist-reason{max-width:200px;word-break:break-word}.hist-status{display:inline-block;font-size:.7rem;font-weight:700;padding:.1rem .4rem;border-radius:4px;white-space:nowrap}.hist-status.effective{background:color-mix(in srgb,var(--green, #38a169) 15%,transparent);color:var(--green, #38a169)}.hist-status.superseded{background:color-mix(in srgb,#888 15%,transparent);color:#888}.hist-status.annulment{background:color-mix(in srgb,var(--error, #e53e3e) 12%,transparent);color:var(--error, #e53e3e)}.incident-form{display:flex;flex-direction:column;gap:.875rem;padding:1rem}.incident-form textarea{width:100%;resize:vertical}.inc-review-info{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;padding:.875rem 1rem;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:.875rem}.inc-review-row{display:contents}.inc-review-row span:first-child{color:var(--text-muted);font-size:.775rem;white-space:nowrap}.inc-review-actions{display:flex;gap:.75rem;padding:0 0 .5rem;justify-content:center}.inc-status-badge{font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:10px;white-space:nowrap;flex-shrink:0}.inc-status-badge.approved{background:color-mix(in srgb,var(--success, #27ae60) 15%,var(--surface));color:var(--success, #27ae60)}.inc-status-badge.pending{background:color-mix(in srgb,var(--warning, #e67e22) 15%,var(--surface));color:var(--warning, #e67e22)}.inc-status-badge.rejected{background:color-mix(in srgb,var(--error, #c0392b) 15%,var(--surface));color:var(--error, #c0392b)}.jornada-date-divider{height:2px;background:var(--border);margin:.5rem 0;border-radius:1px}.inc-review-summary{margin:.5rem 0 0;padding:.6rem .75rem;background:color-mix(in srgb,var(--success, #27ae60) 10%,var(--surface));border-left:3px solid var(--success, #27ae60);border-radius:.35rem;font-size:.875rem;color:var(--text)}.btn-green-outline{flex:1;padding:.6rem 1rem;border:1.5px solid var(--green, #10B981);color:var(--green, #10B981);border-radius:8px;font-size:.875rem;font-family:var(--font-ui);font-weight:600;background:transparent;cursor:pointer;transition:all .15s}.btn-green-outline:hover{background:var(--green, #10B981);color:#fff}.btn-red-outline{flex:1;padding:.6rem 1rem;border:1.5px solid #EF4444;color:#ef4444;border-radius:8px;font-size:.875rem;font-family:var(--font-ui);font-weight:600;background:transparent;cursor:pointer;transition:all .15s}.btn-red-outline:hover{background:#ef4444;color:#fff}.btn-danger{padding:.6rem 1.25rem;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-family:var(--font-ui);font-weight:600;cursor:pointer;transition:background .15s}.btn-danger:hover{background:#dc2626}.btn-danger:disabled{opacity:.55;cursor:not-allowed}.inc-approve-context{margin:0 0 .75rem;padding:.6rem .75rem;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-left:3px solid var(--accent);border-radius:0 6px 6px 0;font-size:.825rem;color:var(--text);line-height:1.45}.inc-checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer;padding:0 1rem;color:var(--text)}.fichar-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.75rem 0 .5rem}.btn-fichar-4{padding:.65rem .5rem;border-radius:var(--radius-sm);font-size:.8rem;font-family:var(--font-ui);font-weight:600;border:2px solid transparent;transition:opacity .15s,background .15s,border-color .15s;cursor:pointer;text-align:center}.btn-fichar-4:disabled{opacity:.38;cursor:not-allowed}.btn-fichar-4.btn-green{background:var(--green);color:#fff;border-color:var(--green)}.btn-fichar-4.btn-yellow{background:var(--yellow);color:#fff;border-color:var(--yellow)}.btn-fichar-4.btn-blue{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-fichar-4.btn-red{background:var(--red);color:#fff;border-color:var(--red)}.btn-fichar-4.btn-green:disabled{background:var(--green-light);color:var(--green);border-color:var(--green)}.btn-fichar-4.btn-yellow:disabled{background:var(--yellow-light);color:var(--yellow);border-color:var(--yellow)}.btn-fichar-4.btn-blue:disabled{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.btn-fichar-4.btn-red:disabled{background:var(--red-light);color:var(--red);border-color:var(--red)}.late-report-info{padding:.75rem 1rem;background:color-mix(in srgb,var(--yellow) 10%,var(--surface));border-left:3px solid var(--yellow);border-radius:0 6px 6px 0;margin-bottom:.75rem;font-size:.875rem;line-height:1.5}.late-report-note{color:var(--text-muted);font-size:.8rem;margin-top:.25rem}.late-minutes-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;background:var(--yellow-light);color:var(--yellow);border-radius:99px;font-size:.72rem;font-family:var(--font-ui);font-weight:700;white-space:nowrap;flex-shrink:0}.horario-times-split{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:.15rem}.horario-tramo{display:flex;flex-direction:column;gap:.1rem}.horario-tramo-label{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-family:var(--font-ui)}.horario-tramo-time{font-size:1.1rem;font-weight:700;color:var(--text);font-family:var(--font-ui)}.emp-estado-section{margin-top:1.5rem}.section-subtitle{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-family:var(--font-ui);margin:0 0 .75rem}.emp-estado-list{display:flex;flex-direction:column;gap:.5rem}.emp-estado-row{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;box-shadow:var(--shadow-sm)}.emp-estado-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-light);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--accent);font-family:var(--font-ui);flex-shrink:0}.emp-estado-info{display:flex;flex-direction:column;flex:1;min-width:0}.emp-estado-name{font-size:.875rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emp-estado-schedule{font-size:.75rem;color:var(--text-muted);font-family:var(--font-ui);font-variant-numeric:tabular-nums}.emp-estado-right{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;flex-shrink:0}.emp-estado-last{font-size:.7rem;color:var(--text-muted);font-family:var(--font-ui);font-variant-numeric:tabular-nums}.emp-estado-live{font-size:.7rem;color:var(--green, #16a34a);font-family:var(--font-ui);font-variant-numeric:tabular-nums;font-weight:600}.day-status-badge{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:99px;font-size:.68rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.day-status-badge.ds-working{background:var(--green-light);color:var(--green)}.day-status-badge.ds-break{background:var(--yellow-light);color:var(--yellow)}.day-status-badge.ds-between{background:var(--accent-light);color:var(--accent)}.day-status-badge.ds-pending{background:var(--yellow-light);color:var(--yellow)}.day-status-badge.ds-done{background:var(--green-light);color:var(--green)}.day-status-badge.ds-off,.day-status-badge.ds-rest{background:#9ca3af1a;color:var(--text-muted)}.day-status-badge.ds-vacation{background:var(--green-light);color:var(--green)}.day-status-badge.ds-holiday{background:var(--accent-light);color:var(--accent)}.records-table tr.annulment-row td{color:var(--text-muted);font-style:italic}.annulment-tag{display:inline-block;margin-left:.4rem;font-size:.65rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border:1px solid var(--border);padding:.1rem .35rem;border-radius:4px}.filter-date-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;font-family:var(--font-ui);color:var(--text-muted);white-space:nowrap}.filter-date-label input[type=date]{margin:0}.filter-date-label .flatpickr-date-input{margin:0;width:9rem}.flatpickr-calendar{font-family:var(--font-ui, system-ui, sans-serif);font-size:.8rem;border-radius:8px;box-shadow:0 4px 20px #0000001f}.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--accent, #4f7cff);border-color:var(--accent, #4f7cff)}.btn-ghost-small{background:none;border:1px solid var(--border);border-radius:var(--radius);padding:.3rem .75rem;font-size:.75rem;font-family:var(--font-ui);font-weight:500;color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s}.btn-ghost-small:hover{border-color:var(--accent);color:var(--accent)}.late-report-row td{padding:0 .75rem .5rem;background:color-mix(in srgb,var(--yellow) 6%,var(--surface))}.late-report-detail,.jornada-late-report{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;font-size:.75rem;color:var(--text-muted);padding:.3rem .5rem;border-left:2px solid var(--yellow);margin:.1rem 0 .35rem 1.25rem;border-radius:0 4px 4px 0}.lrd-badge{display:inline-flex;align-items:center;padding:.1rem .5rem;background:var(--yellow-light);color:var(--yellow);border-radius:99px;font-size:.7rem;font-weight:700;white-space:nowrap}.lrd-label{font-weight:600;color:var(--text-secondary)}.lrd-date{margin-left:auto;font-size:.7rem}.sched-cell.vacation-cell{background:var(--cal-vacation-bg);cursor:default;pointer-events:none}.cell-vac-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--cal-vacation-fg);text-align:center;padding:.25rem 0}.cuadrante th.holiday-col{background:var(--red-light, #fef2f2);color:var(--red, #dc2626)}.col-holiday-name{font-size:.65rem;font-weight:600;color:var(--red, #dc2626);letter-spacing:.03em;margin-top:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.sched-cell.holiday-cell.empty{background:#fff5f5}.sched-cell.holiday-cell.empty:hover{background:#ffe4e4}.filter-row{display:flex;flex-wrap:wrap;gap:.4rem}.filter-btn{padding:.3rem .8rem;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--text-secondary);font-size:.78rem;font-family:var(--font-ui);font-weight:500;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.filter-btn:hover{border-color:var(--accent);color:var(--accent)}.filter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.vac-tab{max-width:640px}.vac-form-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.vac-form-title{font-family:var(--font-ui);font-size:.9rem;font-weight:700;color:var(--text-secondary);margin-bottom:.75rem}.vac-form{display:flex;flex-direction:column;gap:.75rem}.vac-form-row{display:flex;flex-wrap:wrap;gap:.75rem}.vac-form-row label,.vac-obs-label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600;color:var(--text-secondary)}.vac-obs{width:100%;padding:.45rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-family:var(--font-body);font-size:.85rem;resize:vertical;line-height:1.4}.vac-obs:focus{outline:none;border-color:var(--accent)}.vac-list{display:flex;flex-direction:column;gap:.75rem}.vac-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.85rem 1rem;box-shadow:var(--shadow-sm)}.vac-item-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem}.vac-dates{font-family:var(--font-ui);font-weight:600;font-size:.9rem}.vac-badge{display:inline-block;padding:.15rem .6rem;border-radius:99px;font-size:.72rem;font-weight:700;font-family:var(--font-ui);white-space:nowrap}.vac-badge--pending{background:var(--yellow-light);color:var(--yellow)}.vac-badge--approved{background:var(--green-light);color:var(--green)}.vac-badge--rejected{background:var(--red-light);color:var(--red)}.vac-badge--cancelled{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.vac-obs-text,.vac-resolution{font-size:.82rem;color:var(--text-secondary);margin:.2rem 0}.vac-resolved-by{font-size:.75rem;color:var(--text-muted)}.vac-created-at{font-size:.75rem;color:var(--text-muted);margin-top:.3rem}.vac-cancel-btn{margin-top:.6rem}.vac-admin-actions{margin-top:.6rem;display:flex;flex-direction:column;gap:.5rem}.vac-admin-btns{display:flex;gap:.5rem;flex-wrap:wrap}.vac-btn-aprobar,.vac-btn-rechazar{padding:.45rem 1rem;font-size:.82rem}@media (max-width: 600px){.vac-form-row{flex-direction:column}.vac-tab{max-width:100%}}.cal-section{margin-top:2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.cal-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.cal-nav{display:flex;align-items:center;gap:.5rem}.cal-nav-btn{width:2rem;height:2rem;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-size:1.1rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .15s}.cal-nav-btn:hover{background:var(--border)}.cal-month-label{font-family:var(--font-ui);font-weight:600;font-size:.95rem;min-width:11rem;text-align:center}.cal-scroll-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm)}.cal-table{border-collapse:collapse;min-width:max-content;width:100%;font-size:.78rem}.cal-emp-th{position:sticky;left:0;z-index:2;background:var(--surface-2);border-right:2px solid var(--border);padding:.4rem .75rem;text-align:left;font-family:var(--font-ui);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;min-width:140px}.cal-day-th{padding:.3rem .2rem;text-align:center;font-family:var(--font-ui);background:var(--surface-2);border-bottom:1px solid var(--border);min-width:54px;width:54px;vertical-align:bottom}.cal-day-th.cal-weekend{background:var(--bg)}.cal-day-th.cal-today-th{background:var(--accent-light)}.cal-day-num{display:block;font-weight:700;font-size:.85rem;line-height:1.2;color:var(--text)}.cal-day-wd{display:block;font-size:.65rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.cal-emp-cell{position:sticky;left:0;z-index:1;background:var(--surface);border-right:2px solid var(--border);padding:.35rem .75rem;white-space:nowrap;min-width:140px}.cal-emp-name{display:block;font-weight:600;font-family:var(--font-ui);font-size:.8rem;color:var(--text)}.cal-emp-loc{display:block;font-size:.68rem;color:var(--text-muted);text-transform:capitalize}.cal-cell{padding:.25rem .2rem;text-align:center;border:1px solid var(--border-light);cursor:pointer;vertical-align:middle;height:44px;position:relative;transition:filter .12s}.cal-cell:hover{filter:brightness(.94)}.cal-cell.cal-weekend{opacity:.75}.cal-cell.cal-today-col{outline:2px solid var(--accent);outline-offset:-2px}.cal-cell-time{display:flex;flex-direction:column;align-items:center;gap:1px;font-family:var(--font-ui);line-height:1.1}.cal-time-start{font-size:.67rem;font-weight:700}.cal-time-end{font-size:.6rem;font-weight:500;opacity:.75}.cal-split-tag{font-size:.58rem;font-weight:800;background:#00000026;border-radius:2px;padding:0 3px;line-height:1.4;letter-spacing:.04em}.cal-cell--holiday{background:var(--cal-holiday-bg)!important;color:var(--cal-holiday-fg)!important}.cal-cell--rest{background:var(--cal-rest-bg);color:var(--cal-rest-fg)}.cal-cell--no-schedule{background:var(--cal-no-schedule-bg);color:var(--cal-no-schedule-fg)}.cal-hol-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--cal-holiday-fg);position:absolute;top:3px;right:3px}.cal-hol-dot--legend{position:static;width:10px;height:10px}.cal-vac-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--cal-vacation-fg);position:absolute;top:3px;left:3px}.cal-table--employee .cal-cell{height:52px}.cal-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border-light)}.cal-legend-item{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--text-secondary)}.cal-legend-dot{display:inline-block;width:12px;height:12px;border-radius:3px;flex-shrink:0}.cal-month-grid{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.cal-month-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface-2);border-bottom:1px solid var(--border)}.cal-month-hd{padding:.45rem 0;text-align:center;font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.cal-month-hd--we{color:var(--accent)}.cal-month-week{display:grid;grid-template-columns:repeat(7,1fr)}.cal-month-week+.cal-month-week{border-top:1px solid var(--border-light)}.cal-month-cell{min-height:64px;padding:.35rem .4rem;border-right:1px solid var(--border-light);display:flex;flex-direction:column;gap:.15rem;position:relative;transition:filter .12s}.cal-month-cell:last-child{border-right:none}.cal-month-cell--empty{background:var(--surface);opacity:.45;pointer-events:none}.cal-month-cell--clickable{cursor:pointer}.cal-month-cell--clickable:hover{filter:brightness(.94)}.cal-month-cell--holiday{background:var(--cal-holiday-bg)!important;color:var(--cal-holiday-fg)!important}.cal-month-cell--today{outline:2px solid var(--accent);outline-offset:-2px}.cal-month-day-num{font-size:.82rem;font-weight:700;line-height:1;color:inherit}.cal-month-time{font-size:.68rem;font-family:var(--font-ui);line-height:1.2;color:inherit;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 480px){.cal-month-cell{min-height:44px;padding:.22rem .18rem}.cal-month-time{font-size:.56rem}.cal-month-day-num{font-size:.72rem}}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .cal-month-header{background:var(--bg)}:root:not([data-theme=light]) .cal-month-cell--empty{background:var(--bg)}:root:not([data-theme=light]) .cal-month-grid{--cal-no-schedule-bg: var(--bg)}}:root[data-theme=dark] .cal-month-header{background:var(--bg)}:root[data-theme=dark] .cal-month-cell--empty{background:var(--bg)}:root[data-theme=dark] .cal-month-grid{--cal-no-schedule-bg: var(--bg)}.cal-modal{max-width:400px;width:94%}.cal-modal-name{font-family:var(--font-ui);font-weight:700;font-size:1rem;color:var(--text)}.cal-modal-date{font-size:.8rem;color:var(--text-muted);text-transform:capitalize;margin-top:.1rem}.cal-modal-body{display:flex;flex-direction:column;gap:.6rem;padding-top:.5rem}.cal-modal-row{display:flex;align-items:center;gap:.75rem;font-size:.88rem}.cal-modal-label{font-weight:600;font-family:var(--font-ui);color:var(--text-muted);min-width:120px;font-size:.78rem}.cal-state-badge{display:inline-block;padding:.2rem .65rem;border-radius:99px;font-size:.75rem;font-weight:700;font-family:var(--font-ui)}.festivos-year-nav{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.festivos-form{margin-bottom:1.25rem}.festivos-form-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.festivos-list{display:flex;flex-direction:column;gap:.4rem}.festivos-item{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem;background:var(--surface-2);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:.82rem}.festivos-date{font-weight:600;font-family:var(--font-ui);color:var(--text);min-width:70px}.festivos-name{flex:1;min-width:120px;color:var(--text)}.festivos-scope{padding:.1rem .5rem;border-radius:99px;font-size:.7rem;font-weight:700;font-family:var(--font-ui);white-space:nowrap}.festivos-scope--national{background:#eff6ff;color:#1d4ed8}.festivos-scope--regional{background:#f0fdf4;color:#166534}.festivos-scope--local{background:#fff7ed;color:#c2410c}.festivos-scope--company{background:var(--accent-light);color:var(--accent)}.festivos-muni{font-size:.72rem;color:var(--text-muted);font-style:italic;text-transform:capitalize}.festivos-actions{margin-left:auto;display:flex;gap:.35rem}.btn-sm{padding:.2rem .55rem;font-size:.75rem}.festivos-actions .btn-danger{background:transparent;color:var(--red)!important;border:1px solid var(--red)}.festivos-actions .btn-danger:hover{background:var(--red-light)!important}.jornada-compact-list{display:flex;flex-direction:column;gap:.25rem}.jornada-compact-item{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--card-bg)}.jornada-compact-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem}.jornada-compact-date{font-size:.8rem;font-weight:600;color:var(--text);white-space:nowrap;min-width:135px}.jornada-compact-events{display:flex;flex-wrap:wrap;gap:.3rem;flex:1;min-width:0}.jornada-compact-empty{font-size:.75rem;color:var(--text-muted);font-style:italic}.jornada-compact-meta{display:flex;align-items:center;gap:.4rem;margin-left:auto;white-space:nowrap}.fichaje-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.2rem .45rem;border-radius:5px;font-size:.72rem;font-weight:600;font-family:var(--font-ui);line-height:1.2;white-space:nowrap}.fichaje-chip--in{background:#dcfce7;color:#166534}.fichaje-chip--pause{background:#dbeafe;color:#1e40af}.fichaje-chip--out{background:#fee2e2;color:#991b1b}.fichaje-chip--correction{background:var(--accent-light);color:var(--accent);opacity:.65}.fichaje-chip--superseded{background:var(--bg-subtle, #F3F4F6);color:var(--text-muted);opacity:.55;text-decoration:line-through}.fichaje-chip-label{font-weight:500}.fichaje-chip-time{font-weight:700;letter-spacing:.01em}.fichaje-chip-icon{font-size:.65rem;opacity:.8}.fichaje-chip-late{font-size:.65rem;font-weight:700;background:#0000001a;border-radius:3px;padding:0 .2rem}.jornada-break-time{font-size:.72rem;color:var(--text-muted)}.jornada-detail-toggle{background:none;border:1px solid var(--border);border-radius:4px;padding:.1rem .35rem;font-size:.65rem;color:var(--text-muted);cursor:pointer;line-height:1}.jornada-detail-toggle:hover{background:var(--bg-subtle, #F3F4F6);color:var(--text)}.jornada-detail-panel{border-top:1px solid var(--border);padding:.5rem .75rem;display:flex;flex-direction:column;gap:.4rem;background:var(--bg-subtle, #F9FAFB)}.jornada-detail-block{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.78rem}.jornada-detail-type{font-size:.68rem;font-weight:700;font-family:var(--font-ui);border-radius:4px;padding:.1rem .35rem;white-space:nowrap}.jornada-detail-type.correction{background:var(--accent-light);color:var(--accent)}.jornada-detail-type.annulment{background:#f3f4f6;color:var(--text-muted)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .fichaje-chip--in{background:#14532d;color:#86efac}:root:not([data-theme=light]) .fichaje-chip--pause{background:#1e3a8a;color:#93c5fd}:root:not([data-theme=light]) .fichaje-chip--out{background:#7f1d1d;color:#fca5a5}:root:not([data-theme=light]) .jornada-detail-type.annulment{background:#374151;color:#9ca3af}:root:not([data-theme=light]) .jornada-detail-panel{background:#ffffff0a}:root:not([data-theme=light]) .jornada-detail-toggle:hover{background:#ffffff14}}:root[data-theme=dark] .fichaje-chip--in{background:#14532d;color:#86efac}:root[data-theme=dark] .fichaje-chip--pause{background:#1e3a8a;color:#93c5fd}:root[data-theme=dark] .fichaje-chip--out{background:#7f1d1d;color:#fca5a5}:root[data-theme=dark] .jornada-detail-type.annulment{background:#374151;color:#9ca3af}:root[data-theme=dark] .jornada-detail-panel{background:#ffffff0a}:root[data-theme=dark] .jornada-detail-toggle:hover{background:#ffffff14}.emp-datos-tab{padding:1.25rem;display:flex;flex-direction:column;gap:0}.datos-section{padding:1.25rem 0;border-bottom:1px solid var(--border-light)}.datos-section:last-child{border-bottom:none}.datos-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.datos-section-title{font-size:.7rem;font-weight:800;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 .75rem}.datos-section-header .datos-section-title{margin-bottom:0}.datos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.1rem}.datos-cell{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .75rem;border-radius:6px}.datos-cell:hover{background:var(--surface-hover)}.datos-cell-label{font-size:.67rem;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.datos-cell-value{font-size:.875rem;color:var(--text);font-family:var(--font-body);min-height:1.2em}@media (max-width: 859px){.datos-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.datos-grid{grid-template-columns:1fr}.emp-datos-tab{padding:1rem .75rem}}.perfil-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;margin-top:.25rem}.btn-outline{padding:.25rem .65rem;font-size:.78rem;font-family:var(--font-ui);font-weight:600;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;transition:background .12s,border-color .12s}.btn-outline:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--accent)}.btn-outline:disabled{opacity:.5;cursor:default}.perfil-edit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem 1rem;margin-bottom:1rem}.perfil-edit-field{display:flex;flex-direction:column;gap:.25rem}.perfil-edit-field label{font-size:.875rem;font-weight:700;color:var(--text)}.perfil-edit-field input,.perfil-edit-field select{padding:.4rem .6rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font-family:var(--font-body)}.perfil-edit-field input::placeholder,.perfil-edit-field select::placeholder{color:var(--text-muted);opacity:.55}.perfil-edit-field input:focus,.perfil-edit-field select:focus{outline:2px solid var(--accent);outline-offset:-1px}.perfil-edit-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}@media (max-width: 859px){.perfil-edit-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.perfil-edit-grid{grid-template-columns:1fr}}.notif-wrap{position:relative;display:flex;align-items:center}.notif-bell-btn{position:relative}.notif-badge{position:absolute;top:-2px;right:-4px;min-width:16px;height:16px;padding:0 3px;border-radius:9999px;background:var(--red);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;pointer-events:none}.notif-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:199}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-height:420px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);z-index:200;display:flex;flex-direction:column}@media (max-width: 640px){.notif-backdrop{display:block}.notif-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);right:auto;width:calc(100vw - 2rem);max-width:380px;max-height:70dvh}}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border-light);flex-shrink:0}.notif-panel-actions{display:flex;align-items:center;gap:.25rem}.notif-close-btn{background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--text-muted);padding:.2rem .4rem;border-radius:4px;line-height:1;transition:color .12s,background .12s}.notif-close-btn:hover{color:var(--text);background:var(--bg)}.notif-panel-title{font-weight:600;font-size:.9rem;color:var(--text)}.notif-read-all{font-size:.78rem;padding:.25rem .5rem;color:var(--accent)}.notif-empty{padding:1.25rem 1rem;color:var(--text-muted);font-size:.875rem;text-align:center;margin:0}.notif-list{list-style:none;margin:0;padding:0}.notif-item{padding:.7rem 1rem;border-bottom:1px solid var(--border-light);background:var(--surface);transition:background .15s}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-hover)}.notif-item--read .notif-msg{color:var(--text-muted)}.notif-msg{font-size:.865rem;color:var(--text);line-height:1.45;margin:0 0 .35rem}.notif-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notif-time{font-size:.75rem;color:var(--text-muted)}.notif-mark{background:none;border:none;cursor:pointer;font-size:.8rem;color:var(--accent);padding:0 .25rem;line-height:1;flex-shrink:0}.notif-mark:hover{opacity:.75}.push-status-box{border-radius:var(--radius);padding:.75rem 1rem;font-size:.9rem;line-height:1.55}.push-status-box--warn{background:color-mix(in srgb,var(--yellow, #f59e0b) 12%,transparent);border:1px solid color-mix(in srgb,var(--yellow, #f59e0b) 40%,transparent)}.push-status-box--info{background:color-mix(in srgb,var(--accent, #3b82f6) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent, #3b82f6) 30%,transparent)}.perfil-subtabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.perfil-subtabs .btn-sm{flex:0 0 auto}.btn-sugerencias-desktop{font-size:.875rem}@media (max-width: 640px){.btn-sugerencias-desktop{display:none}}.sugerencias-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:900;display:flex;align-items:flex-start;justify-content:center;padding:2.5rem 1rem 1rem}.sugerencias-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);width:100%;max-width:520px;max-height:calc(100vh - 3.5rem);display:flex;flex-direction:column;overflow:hidden}.sugerencias-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);font-weight:600;font-size:.9375rem}.sugerencias-modal-body{overflow-y:auto;padding:1rem;flex:1}.sugerencias-modal-body .perfil-card{margin-top:0;box-shadow:none;border:none;padding:0}.sugerencias-modal-body .section-title{display:none}.company-profile-banner{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;background:color-mix(in srgb,var(--yellow, #f59e0b) 12%,transparent);border:1px solid color-mix(in srgb,var(--yellow, #f59e0b) 40%,transparent);border-radius:var(--radius);padding:.6rem 1rem;margin-bottom:1rem;font-size:.875rem;color:var(--fg, var(--text))}.form-error{background:color-mix(in srgb,var(--red, #e53e3e) 10%,transparent);border:1px solid color-mix(in srgb,var(--red, #e53e3e) 30%,transparent);border-radius:var(--radius);padding:.5rem .75rem;font-size:.875rem;color:var(--red, #e53e3e)}.field-error{color:var(--red, #e53e3e);font-size:.78rem;margin:.2rem 0 0}
