:root{--purple-50:#f5f3ff;--purple-100:#ebe8ff;--purple-600:#7c3aed;--brand-purple:var(--purple-600);--color-primary:var(--brand-purple);--color-primary-hover:#692fcb;--color-primary-light:var(--purple-50);--color-primary-bg:var(--purple-100);--font-montserrat:var(--font-montserrat), sans-serif;--font-source-sans-3:var(--font-source-sans-3), sans-serif;--color-bg-app:#fff;--color-bg-card:#fff;--color-bg-sidebar:#fff;--color-bg-secondary:#fff;--color-bg-hover:#f9fafb;--color-border:#e3e5ea;--color-text-primary:#121824;--color-text-secondary:#3b414d;--color-text-muted:#6d727b;--color-success:#00bb7f;--color-success-bg:#bbf9d9;--color-success-text:#00593b;--color-warning:#ff8a1c;--color-warning-bg:#ffedc8;--color-warning-text:#833311;--color-danger:#fb2c36;--color-danger-bg:#ffddd9;--color-danger-text:#9a171e;--color-info:#655eff;--color-info-bg:#e1e6ff;--color-info-text:#2d2881;--color-vacation:var(--color-info);--color-vacation-bg:#655eff26;--color-trip:var(--color-warning);--color-trip-bg:#ff8a1c26;--color-out-of-office:#687487;--color-out-of-office-bg:#68748726;--color-holiday:var(--color-danger);--color-holiday-bg:#fb2c3626;--color-tentative:#8459f7;--color-tentative-bg:#8459f726;--color-pending:var(--color-warning);--color-approved:#40c23b;--color-rejected:var(--color-danger);--color-tentative-status:var(--color-tentative);--color-birthday:#e93baa;--color-birthday-bg:#e93baa26;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius:12px;--radius-sm:8px;--radius-lg:16px;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006}@supports (color:lab(0% 0 0)){:root{--purple-50:lab(96.3698% 2.08306 -5.20346);--purple-100:lab(92.6781% 5.0101 -12.0478);--purple-600:lab(42.2284% 56.9823 -80.61);--color-primary-hover:lab(35.5945% 50.9718 -71.9168);--color-bg-app:lab(100% 0 0);--color-bg-card:lab(100% 0 0);--color-bg-sidebar:lab(100% 0 0);--color-bg-secondary:lab(100% 0 0);--color-bg-hover:lab(98.2518% -.0554919 -.757563);--color-border:lab(91.0429% -.158638 -2.26792);--color-text-primary:lab(7.96342% .279307 -9.44322);--color-text-secondary:lab(27.1557% -.2307 -8.14343);--color-text-muted:lab(47.8479% -.304073 -5.61886);--color-success:lab(66.9756% -58.27 19.5419);--color-success-bg:lab(93.0169% -25.0202 8.54634);--color-success-text:lab(32.7092% -36.1291 12.0949);--color-warning:lab(70.0315% 42.7672 75.3264);--color-warning-bg:lab(94.4923% 2.94882 23.5871);--color-warning-text:lab(32.7035% 33.9886 37.3896);--color-danger:lab(55.4814% 75.0734 48.8504);--color-danger-bg:lab(90.8845% 13.7936 7.57304);--color-danger-text:lab(33.8259% 52.2647 33.9916);--color-info:lab(48.2387% 39.6081 -81.7032);--color-info-bg:lab(91.4422% 3.75998 -19.8425);--color-info-text:lab(21.5867% 25.389 -50.4887);--color-vacation-bg:lab(48.2387% 39.6081 -81.7032/.15);--color-trip-bg:lab(70.0315% 42.7672 75.3264/.15);--color-out-of-office:lab(48.3757% -1.53515 -12.0261);--color-out-of-office-bg:lab(48.3757% -1.53515 -12.0261/.15);--color-holiday-bg:lab(55.4814% 75.0734 48.8504/.15);--color-tentative:lab(49.4553% 46.0896 -74.5402);--color-tentative-bg:lab(49.4553% 46.0896 -74.5402/.15);--color-approved:lab(69.4349% -55.6182 54.0312);--color-birthday:lab(55.7191% 72.5115 -19.2249);--color-birthday-bg:lab(55.7191% 72.5115 -19.2249/.15)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-source-sans-3);background:var(--color-bg-app);color:var(--color-text-primary);min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-montserrat);font-weight:700}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}.app-container{min-height:100vh;display:flex}.sidebar{background:var(--color-bg-secondary);border-right:1px solid var(--color-border);z-index:100;flex-direction:column;width:260px;height:100vh;padding:24px 0;transition:width .3s;display:flex;position:sticky;top:0;overflow-x:hidden}.sidebar.collapse{width:80px}.sidebar.collapse .sidebar-logo,.sidebar.collapse .sidebar-user,.sidebar.collapse .sidebar-nav a{justify-content:center;padding-left:0;padding-right:0}.sidebar-logo{border-bottom:1px solid var(--color-border);align-items:center;gap:12px;margin-bottom:16px;padding:0 24px 24px;display:flex}.sidebar-logo h1{background:linear-gradient(135deg, var(--color-primary), #a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.sidebar-logo p{color:var(--color-text-muted);margin-top:2px;font-size:12px}.sidebar-nav{flex:1;padding:0 12px}.sidebar-nav a,.sidebar-nav button{border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;text-align:left;width:100%;font-size:14px;font-weight:500;font-family:var(--font-family);white-space:nowrap;background:0 0;border:none;align-items:center;gap:12px;padding:10px 16px;transition:all .2s;display:flex}.sidebar-nav a:hover,.sidebar-nav button:hover{background:var(--color-bg-hover);color:var(--color-text)}.sidebar-nav a.active{background:var(--color-primary-bg);color:var(--color-primary)}.sidebar-nav .nav-icon{text-align:center;flex-shrink:0;width:24px;font-size:18px}.sidebar-section-title{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);padding:16px 16px 8px;font-size:11px;font-weight:600}.sidebar-user{border-top:1px solid var(--color-border);align-items:center;gap:12px;padding:16px;display:flex}.sidebar-logo h1{background:linear-gradient(135deg, var(--brand-purple), #a78bfa);-webkit-background-clip:text;background-clip:text}.sidebar-user-avatar{background:linear-gradient(135deg, var(--brand-purple), #a78bfa);color:#fff;-webkit-text-fill-color:white;-webkit-background-clip:border-box;background-clip:border-box;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:600;display:flex}img.sidebar-user-avatar{background:0 0}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--color-text-muted);font-size:11px}.main-content{flex:1;min-width:0;min-height:100vh;margin-left:0;padding:32px}.admin-tabs-wrapper{scrollbar-width:none;gap:1rem;padding-bottom:8px;display:flex;overflow-x:auto}.admin-tabs-wrapper::-webkit-scrollbar{display:none}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.page-header h2{margin-bottom:4px;font-size:28px;font-weight:700}.page-header p{color:var(--color-text-secondary);font-size:15px}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:24px}.card-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.card-title{font-size:16px;font-weight:600}.stats-row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);align-items:center;gap:16px;padding:20px 24px;display:flex}.stat-icon{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.stat-icon.primary{background:var(--color-primary-bg)}.stat-icon.success{background:var(--color-success-bg)}.stat-icon.warning{background:var(--color-warning-bg)}.stat-icon.danger{background:var(--color-danger-bg)}.stat-value{font-size:28px;font-weight:700;line-height:1}.stat-label{color:var(--color-text-secondary);margin-top:2px;font-size:13px}.btn{border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:var(--font-family);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;transition:all .2s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{opacity:.9;transform:translateY(-1px)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{opacity:.9;transform:translateY(-1px)}.btn-outline{color:var(--color-text-secondary);border-color:var(--color-border);background:0 0}.btn-outline:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-bg)}.btn-ghost{color:var(--color-text-secondary);background:0 0;padding:8px 12px}.btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text)}.btn-sm{padding:6px 12px;font-size:13px}.btn-icon{width:36px;height:36px;padding:8px}.form-group{margin-bottom:20px}.form-label{color:var(--color-text-secondary);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-input,.form-select,.form-textarea{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);font-size:14px;font-family:var(--font-family);padding:10px 14px;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-bg);outline:none}.form-textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.table-container{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:650px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);padding:12px 16px;font-size:12px;font-weight:600}tbody td{border-bottom:1px solid var(--color-border);white-space:nowrap;padding:12px 16px;font-size:14px}tbody tr{transition:background .15s}tbody tr:hover{background:var(--color-bg-hover)}.badge{white-space:nowrap;border-radius:20px;align-items:center;width:fit-content;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-pending{background:var(--color-warning-bg);color:var(--color-warning)}.badge-approved{background:var(--color-success-bg);color:var(--color-success)}.badge-rejected{background:var(--color-danger-bg);color:var(--color-danger)}.badge-tentative{background:var(--color-tentative-bg);color:var(--color-tentative-status)}.badge-vacation{background:var(--color-vacation-bg);color:var(--color-vacation)}.badge-trip{background:var(--color-trip-bg);color:var(--color-trip)}.badge-out-of-office{background:var(--color-out-of-office-bg);color:var(--color-out-of-office)}.badge-admin{background:var(--color-warning-bg);color:var(--color-danger)}.badge-manager{background:var(--color-info-bg);color:var(--color-info)}.badge-current-year{background:var(--color-primary-bg);color:var(--color-primary)}.badge-previous-year{background:var(--color-warning-bg);color:var(--color-warning)}.calendar-container{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.calendar-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.calendar-header h3{text-transform:capitalize;font-size:18px;font-weight:600}.calendar-nav{gap:8px;display:flex}.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-day-header{text-align:center;color:var(--color-text-muted);text-transform:uppercase;border-bottom:1px solid var(--color-border);padding:12px 8px;font-size:12px;font-weight:600}.calendar-day{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);cursor:pointer;min-height:100px;padding:8px;transition:background .15s}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover{background:var(--color-bg-hover)}.calendar-day.other-month{opacity:.3}.calendar-day.today{background:var(--purple-50);border:2px solid var(--brand-purple)}.calendar-day.weekend{background:#64748b0d}.calendar-day-number{color:var(--color-text-secondary);margin-bottom:4px;font-size:13px;font-weight:500}.calendar-day.today .calendar-day-number{color:var(--brand-purple);font-weight:700}.calendar-event{cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:4px;min-width:0;margin-bottom:2px;padding:2px 6px;font-size:11px;font-weight:500;display:flex;overflow:hidden}.calendar-event span{text-overflow:ellipsis;white-space:nowrap;flex:1;display:block;overflow:hidden}.calendar-event.vacation{background:var(--color-vacation-bg);color:var(--color-vacation);border-left:2px solid var(--color-vacation)}.calendar-event.trip{background:var(--color-trip-bg);color:var(--color-trip);border-left:2px solid var(--color-trip)}.calendar-event.out-of-office{background:var(--color-out-of-office-bg);color:var(--color-out-of-office);border-left:2px solid var(--color-out-of-office)}.calendar-event.holiday{background:var(--color-holiday-bg);color:var(--color-holiday);border-left:2px solid var(--color-holiday)}.calendar-event.tentative{background:var(--color-tentative-bg);color:var(--color-tentative-status);border-left:2px solid var(--color-tentative-status);opacity:.7;border-style:dashed}.calendar-event.birthday{background:var(--color-birthday-bg);color:var(--color-birthday);border-left:2px solid var(--color-birthday)}.legend-dot.birthday,.badge-dot.birthday{background:var(--color-birthday)}.grid-event-block.birthday{background-color:var(--color-birthday)}.calendar-legend{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:20px;padding:16px 24px;display:flex}.legend-item{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.legend-dot{border-radius:3px;width:10px;height:10px}.legend-dot.vacation{background:var(--color-vacation)}.legend-dot.trip{background:var(--color-trip)}.legend-dot.out-of-office{background:var(--color-out-of-office)}.legend-dot.holiday{background:var(--color-holiday)}.legend-dot.tentative{border:2px dashed var(--color-tentative);background-color:#0000}.calendar-day.today{background:var(--color-primary-light);border:2px solid var(--color-primary);position:relative}.calendar-day.today .calendar-day-number{color:var(--color-primary);font-size:15px;font-weight:800}.calendar-events-container{flex-direction:column;gap:2px;display:flex}.calendar-more-events{color:var(--color-text-muted);cursor:help;padding:2px 4px;font-size:11px;font-weight:600}.calendar-more-events:hover .more-popup{display:block}.more-popup-title{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);margin-bottom:6px;padding-bottom:4px;font-size:11px;font-weight:700}.more-popup-item{border-radius:4px;align-items:center;gap:8px;padding:6px 8px;transition:background .2s;display:flex}.badge-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;animation:.15s fadeIn;display:flex;position:fixed;top:0;left:0}.modal{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:85vh;box-shadow:var(--shadow-lg);padding:32px;animation:.2s slideUp;overflow-y:auto}.modal-title{margin-bottom:24px;font-size:20px;font-weight:700}.more-trigger-container{color:var(--color-text-muted);cursor:help;padding:2px 4px;font-size:11px;font-weight:600;position:relative}.more-trigger-container:hover .more-popup{display:block}.more-popup{border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:9999;background:#fff;min-width:200px;margin-bottom:8px;padding:10px;display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.more-popup-title{color:var(--color-text-primary);border-bottom:1px solid var(--color-border);margin-bottom:8px;padding-bottom:6px;font-size:11px;font-weight:700}.more-popup-item{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.more-popup-item:hover{background:var(--color-bg-hover)}.more-popup-name{color:var(--color-text-secondary);font-size:12px}.badge-dot{border-radius:50%;width:8px;height:8px}.badge-dot.vacation{background:var(--color-vacation)}.badge-dot.trip{background:var(--color-trip)}.badge-dot.out_of_office{background:var(--color-out-of-office)}.badge-dot.holiday{background:var(--color-holiday)}.badge-dot.pending,.badge-dot.tentative{border:1px solid var(--color-warning);background:#fff}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-container{background:linear-gradient(135deg,#0f1117 0%,#1a1d27 50%,#1e1b4b 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:48px}.login-card h1{background:linear-gradient(135deg, var(--color-primary), #a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:28px;font-weight:700}.login-card p{color:var(--color-text-secondary);margin-bottom:32px}.login-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);font-size:15px;font-weight:600;font-family:var(--font-family);justify-content:center;align-items:center;gap:12px;margin-bottom:12px;padding:14px;transition:all .2s;display:flex}.login-btn:hover{border-color:var(--color-primary);background:var(--color-primary-bg);box-shadow:var(--shadow-md);transform:translateY(-1px)}.login-btn svg{width:20px;height:20px}.empty-state{text-align:center;color:var(--color-text-muted);padding:48px 24px}.empty-state-icon{margin-bottom:16px;font-size:48px}.empty-state h3{color:var(--color-text-secondary);margin-bottom:8px;font-size:16px;font-weight:600}.empty-state p{max-width:400px;margin:0 auto;font-size:14px}.loading-spinner{justify-content:center;align-items:center;padding:48px;display:flex}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-sonner-toast]{align-items:center!important;gap:14px!important;padding:18px 24px!important;display:flex!important}[data-sonner-toast] [data-icon]{flex-shrink:0!important;margin:0!important}[data-sonner-toast] [data-content]{margin:0!important}[data-sonner-toast] [data-title]{margin:0!important;line-height:1!important}.react-datepicker-wrapper{width:100%}.datepicker-custom-input{width:100%!important;padding-left:36px!important;padding-right:36px!important}.react-datepicker{overflow:hidden;font-family:var(--font-source-sans-3), sans-serif!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-lg)!important;background-color:var(--color-bg-card)!important;z-index:3000!important;border-radius:1.5rem!important;width:auto!important}.react-datepicker__header{background-color:var(--color-bg-card)!important;border-bottom:1px solid var(--color-border)!important;padding-top:1rem!important;padding-bottom:.25rem!important}.react-datepicker__current-month{font-family:var(--font-montserrat), sans-serif!important;text-transform:uppercase!important;letter-spacing:.05em!important;color:var(--color-text-primary)!important;margin-bottom:.5rem!important;font-size:.75rem!important;font-weight:900!important}.react-datepicker__day-name{color:var(--color-text-muted)!important;text-transform:uppercase!important;width:2rem!important;margin:.1rem!important;font-size:.65rem!important;font-weight:800!important;line-height:2rem!important}.react-datepicker__day{width:2rem!important;color:var(--color-text-primary)!important;border-radius:.75rem!important;margin:.1rem!important;font-size:.8rem!important;font-weight:600!important;line-height:2rem!important;transition:all .2s!important}.react-datepicker__day:hover{background-color:var(--color-primary-light)!important;color:var(--color-primary)!important}.react-datepicker__day--selected,.react-datepicker__day--keyboard-selected,.react-datepicker__day--range-start,.react-datepicker__day--range-end{background-color:var(--color-primary)!important;color:#fff!important;border-radius:.75rem!important;font-weight:900!important}.react-datepicker__day--in-range{background-color:var(--color-primary-light)!important;color:var(--color-primary)!important;border-radius:0!important}.react-datepicker__day--in-selecting-range{background-color:var(--purple-100)!important;color:var(--color-primary)!important}.react-datepicker__day--range-start{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.react-datepicker__day--range-end{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.react-datepicker__navigation{width:1.5rem!important;height:1.5rem!important;top:1rem!important}.react-datepicker__navigation-icon:before{border-color:var(--color-text-muted)!important}.react-datepicker__navigation:hover .react-datepicker__navigation-icon:before{border-color:var(--color-primary)!important}.react-datepicker__triangle{display:none!important}.react-datepicker__day--disabled{color:var(--color-text-muted)!important;opacity:.4!important;cursor:not-allowed!important;background-color:#0000!important;font-weight:400!important}.react-datepicker__day--disabled:hover{color:var(--color-text-muted)!important;opacity:.4!important;background-color:#0000!important}.mobile-navbar,.mobile-navbar-overlay{display:none}.collapse-btn{background:var(--color-bg-hover);border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.collapse-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}@media (max-width:768px){.app-container{flex-direction:column}.main-content{margin-left:0;padding:16px}.page-header{flex-direction:column!important}.page-header>div:last-child{flex-wrap:wrap;justify-content:space-between;gap:12px;width:100%;display:flex}.modal{width:95%!important;padding:24px 16px!important}.form-row,.stats-row,.stats-grid{grid-template-columns:1fr!important}.calendar-header{flex-direction:column;align-items:center;gap:16px;padding:16px!important}.calendar-header>div:first-child{flex-direction:column;gap:12px;width:100%}.calendar-header>div:first-child>div{justify-content:center;width:100%;flex-wrap:nowrap!important;gap:2px!important;margin-left:0!important}.calendar-header select{text-align:center;padding-left:4px!important;padding-right:18px!important;font-size:16px!important}.calendar-header>div:last-child{justify-content:center;width:100%;margin-left:0!important}.calendar-day-header{padding:8px 4px;font-size:10px}.calendar-day{min-height:80px;padding:4px}.calendar-event{padding:2px 4px;font-size:10px}.calendar-legend{justify-content:flex-start}.sticky-col{min-width:110px!important;padding:0 8px!important;font-size:12px!important}.sidebar{z-index:1000;width:280px;height:100vh;box-shadow:var(--shadow-lg);transition:left .3s;position:fixed;top:0;left:-100%}.sidebar.mobile-open{left:0}.sidebar-logo .hamburger-btn{display:none}.mobile-navbar{background:var(--color-bg-app);border-bottom:1px solid var(--color-border);z-index:900;justify-content:space-between;align-items:center;padding:16px 24px;display:flex;position:sticky;top:0}.mobile-navbar .logo-text{font-size:20px;font-weight:700;font-family:var(--font-montserrat);background:linear-gradient(135deg, var(--color-primary), #a78bfa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.mobile-navbar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:999;background:#00000080;animation:.2s fadeIn;display:block;position:fixed;inset:0}.section-actions{flex-wrap:wrap;justify-content:center;width:100%;gap:10px!important}.section-actions>*{margin-left:0!important}.section-actions .btn-primary,.section-actions .btn-outline{justify-content:center;width:100%}}.hamburger-btn{cursor:pointer;color:var(--color-text-primary);border-radius:6px;justify-content:center;align-items:center;padding:8px;display:flex;appearance:none!important;box-shadow:none!important;background:0 0!important;border:none!important}.hamburger-btn:active{background:var(--color-bg-hover)!important}.tabs{border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;margin-bottom:24px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:var(--color-text-muted);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font-family);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:10px 20px;transition:all .2s}.tab:hover{color:var(--color-text)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.balance-bar-container{margin-bottom:24px}.balance-bar{background:var(--color-bg);border-radius:6px;height:12px;margin-top:8px;display:flex;overflow:hidden}.balance-bar-used{background:linear-gradient(90deg, var(--brand-purple), #a78bfa);border-radius:6px 0 0 6px;transition:width .3s}.balance-bar-carried{background:linear-gradient(90deg, var(--color-warning), #fbbf24);transition:width .3s}.balance-info{color:var(--color-text-secondary);justify-content:space-between;margin-top:8px;font-size:13px;display:flex}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-4{margin-bottom:16px}.text-sm{font-size:13px}.text-muted{color:var(--color-text-secondary)}.calendar-event.pending{border:1px dashed var(--color-warning);color:var(--color-text);box-shadow:none;background-color:#0000}.legend-dot.pending{border:1px dashed var(--color-warning);background-color:#0000}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.stats-grid .card{align-items:center;gap:16px;padding:24px;display:flex}.text-4xl{font-size:2.5rem}.text-2xl{color:var(--color-text);font-size:1.5rem;font-weight:700}.text-xs{font-size:.75rem}.font-bold{font-weight:700}.balance-edit-form{grid-template-columns:auto auto auto auto;align-items:flex-end;gap:12px;display:grid}.balance-edit-field{flex-direction:column;gap:4px;display:flex}.balance-edit-field input{width:80px}.balance-edit-actions{gap:6px;display:flex}.team-grid-table{border-collapse:separate;border-spacing:0;width:100%}.team-grid-table th,.team-grid-table td{border:.5px solid var(--color-border);text-align:center;min-width:40px;height:45px;padding:0}.team-grid-table thead th{z-index:15;box-shadow:0 1px 0 var(--color-border);position:sticky;top:0}.sticky-col{background:var(--color-bg-card);z-index:10;min-width:180px;font-weight:600;position:sticky;left:0;text-align:left!important;border-right:2px solid var(--color-border)!important;padding:0 15px!important}.team-grid-table thead th.sticky-col{z-index:25}.animate-spin{animation:1s linear infinite spin}.input-error{background-color:var(--color-danger-bg);color:var(--color-danger-text);border-radius:var(--radius-sm);border:1px solid #ef44444d;align-items:center;gap:8px;margin-top:8px;padding:8px 12px;font-size:13px;font-weight:500;animation:.2s ease-out slideInError;display:flex}@keyframes slideInError{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.toggle-switch-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.toggle-switch{width:36px;height:20px;position:relative}.toggle-switch-checkbox{display:none}.toggle-switch-background{background-color:var(--color-border);border-radius:20px;width:100%;height:100%;transition:background-color .2s;position:absolute;top:0;left:0}.toggle-switch-handle{background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.toggle-switch-checkbox:checked+.toggle-switch-background{background-color:var(--brand-purple)}.toggle-switch-checkbox:checked+.toggle-switch-background .toggle-switch-handle{transform:translate(16px)}
@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8298327da6d5bcce-s.132ro2ak-rvxq.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/44fac91e6f2d2b1b-s.0f~sf101j6mzi.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2b402d8aebffd579-s.0dskwooysu3cf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a88409fdd7dc121c-s.0ir_pxtv760h..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/e8f2fbee2754df70-s.p.0fzkl03jw-sdz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Fallback;src:local(Arial);ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.0%;size-adjust:112.83%}.montserrat_c5a0b145-module__19wr9q__className{font-family:Montserrat,Montserrat Fallback;font-style:normal}.montserrat_c5a0b145-module__19wr9q__variable{--font-montserrat:"Montserrat", "Montserrat Fallback"}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/da8a9dd0d68e512b-s.075ksw~sx6hmf.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/94b4a5dc1fe84361-s.152ftqe40mrji.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/ff5be760267bb4bc-s.0.82snbe0x2a8.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/99596c30eb072d3c-s.0s6~0_kovb3c2.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e5864b32625b6bc3-s.06wztka3punf6.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e285ad1a914469f0-s.0d9dgiv-6zu4j.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/47df9ba1c7236d3b-s.p.0cqfp9mgbqxvb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Fallback";src:local(Arial);ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.0%;size-adjust:93.76%}.source_sans_3_29e6c96d-module__Ory-uW__className{font-family:"Source Sans 3","Source Sans 3 Fallback";font-style:normal}.source_sans_3_29e6c96d-module__Ory-uW__variable{--font-source-sans-3:"Source Sans 3", "Source Sans 3 Fallback"}
