:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--bg-accent:linear-gradient(135deg,#667eea,#764ba2);--bg-overlay:#0f172a99;--text-primary:#1e293b;--text-secondary:#64748b;--text-tertiary:#94a3b8;--border-color:#e2e8f0;--border-light:#f1f5f9;--primary-color:#6366f1;--primary-hover:#4f46e5;--primary-light:#6366f11a;--accent-color:#8b5cf6;--accent-hover:#7c3aed;--success-bg:#22c55e1a;--success-text:#16a34a;--success-border:#22c55e33;--warning-bg:#f59e0b1a;--warning-text:#d97706;--warning-border:#f59e0b33;--error-bg:#ef44441a;--error-text:#dc2626;--error-border:#ef444433;--info-bg:#3b82f61a;--info-text:#2563eb;--info-border:#3b82f633;--shadow-sm:0 1px 2px #0000000d;--shadow:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d;--shadow-md:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000d;--shadow-lg:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000d;--radius-sm:6px;--radius:10px;--radius-lg:16px;--radius-xl:24px}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-accent:linear-gradient(135deg,#667eea,#764ba2);--bg-overlay:#000000bf;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--border-color:#334155;--border-light:#1e293b;--primary-color:#818cf8;--primary-hover:#6366f1;--primary-light:#818cf826;--accent-color:#a78bfa;--accent-hover:#8b5cf6;--success-bg:#22c55e26;--success-text:#4ade80;--success-border:#22c55e40;--warning-bg:#f59e0b26;--warning-text:#fbbf24;--warning-border:#f59e0b40;--error-bg:#ef444426;--error-text:#f87171;--error-border:#ef444440;--info-bg:#3b82f626;--info-text:#60a5fa;--info-border:#3b82f640;--shadow-sm:0 1px 2px #0000004d;--shadow:0 4px 6px -1px #0006,0 2px 4px -2px #0000004d;--shadow-md:0 10px 15px -3px #00000080,0 4px 6px -4px #0006;--shadow-lg:0 20px 25px -5px #0009,0 8px 10px -6px #00000080}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--bg-primary);color:#1e293b;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;transition:background-color .3s ease,color .3s ease}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1280px;padding:24px}@media (max-width:768px){.container{padding:16px}}@media (max-width:480px){.container{padding:12px}}h1,h2,h3,h4,h5,h6{color:#1e293b;color:var(--text-primary);font-weight:600;line-height:1.3}h1{font-size:28px;font-weight:700;letter-spacing:-.5px}h2{font-size:22px;letter-spacing:-.3px}@media (max-width:480px){h1{font-size:22px}h2{font-size:18px}}.btn{align-items:center;border:none;border-radius:10px;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;justify-content:center;overflow:hidden;padding:10px 18px;position:relative;text-decoration:none;transition:all .2s ease}.btn:before{background:linear-gradient(180deg,#ffffff1a,#fff0);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-color) 100%);box-shadow:0 2px 8px #6366f159;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #6366f173;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background-color:#f1f5f9;background-color:var(--bg-tertiary);border:1px solid #e2e8f0;border:1px solid var(--border-color);color:#1e293b;color:var(--text-primary)}.btn-secondary:before{display:none}.btn-secondary:hover:not(:disabled){background-color:#e2e8f0;background-color:var(--border-color);border-color:#94a3b8;border-color:var(--text-tertiary)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 8px #ef444459;color:#fff}.btn-danger:hover:not(:disabled){box-shadow:0 4px 12px #ef444473;transform:translateY(-1px)}.btn-success{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 8px #22c55e59;color:#fff}.btn-success:hover:not(:disabled){box-shadow:0 4px 12px #22c55e73;transform:translateY(-1px)}.input,.select{background-color:#fff;background-color:var(--bg-secondary);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:10px;border-radius:var(--radius);color:#1e293b;color:var(--text-primary);font-size:14px;padding:12px 14px;transition:all .2s ease;width:100%}.input:hover,.select:hover{border-color:#94a3b8;border-color:var(--text-tertiary)}.input:focus,.select:focus{border-color:#6366f1;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a;box-shadow:0 0 0 3px var(--primary-light);outline:none}.input.error{border-color:#dc2626;border-color:var(--error-text);box-shadow:0 0 0 3px #ef44441a;box-shadow:0 0 0 3px var(--error-bg)}.input::placeholder{color:#94a3b8;color:var(--text-tertiary)}.form-group{margin-bottom:20px}.form-label{color:#1e293b;color:var(--text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-error{color:#dc2626;color:var(--error-text);font-size:12px;margin-top:6px}.card{background:#fff;background:var(--bg-secondary);border:1px solid #f1f5f9;border:1px solid var(--border-light);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d;box-shadow:var(--shadow);margin-bottom:24px;padding:24px;transition:all .3s ease}.card:hover{box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000d;box-shadow:var(--shadow-md)}.card-header{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);color:#1e293b;color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:20px;padding-bottom:16px}.table{background:#fff;background:var(--bg-secondary);border-collapse:initial;border-spacing:0;transition:background-color .3s ease;width:100%}.table td,.table th{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);color:#1e293b;color:var(--text-primary);padding:14px 16px;text-align:left}.table th{background-color:#f1f5f9;background-color:var(--bg-tertiary);color:#64748b;color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.table th:first-child{border-radius:10px 0 0 0;border-radius:var(--radius) 0 0 0}.table th:last-child{border-radius:0 10px 0 0;border-radius:0 var(--radius) 0 0}.table tbody tr{transition:all .15s ease}.table tbody tr:hover{background-color:#6366f11a;background-color:var(--primary-light)}.table tbody tr:last-child td{border-bottom:none}.table .actions-cell{min-width:180px;white-space:nowrap!important;width:1%}.btn-group{align-items:center;display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:8px}.btn-group .btn{flex-shrink:0;white-space:nowrap}.card:has(.table){-webkit-overflow-scrolling:touch;overflow-x:auto}@media (max-width:768px){.input,.select,input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],input[type=time],select,textarea{font-size:16px}.table td,.table th{font-size:13px;padding:10px 12px}.table .actions-cell{min-width:auto}.btn-group{gap:6px}.btn-group .btn{font-size:13px;padding:8px 12px}}@media (max-width:480px){.table td,.table th{font-size:12px;padding:8px 10px}.btn-group{flex-wrap:wrap;gap:4px}.btn-group .btn{font-size:12px;padding:6px 10px}.card{border-radius:10px;border-radius:var(--radius);padding:16px}.card-header{font-size:16px;margin-bottom:16px;padding-bottom:12px}}@media (max-width:600px){.modal-overlay{align-items:flex-end;padding:0}.modal{animation:slideUpMobile .3s ease;border-radius:16px 16px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:92vh;max-width:100%;width:100%}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.modal-header{font-size:18px;padding:20px 20px 0}.modal form{padding:20px}.modal-footer{gap:8px;padding:12px 20px 20px}.modal-footer .btn{flex:1 1}}.modal-overlay{background-color:#0f172a99;background-color:var(--bg-overlay)}.modal{animation:slideUp .3s ease;background:#fff;background:var(--bg-secondary);border-radius:24px;border-radius:var(--radius-xl);box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000000d;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;padding:0;transition:background-color .3s ease;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{color:#1e293b;color:var(--text-primary);flex-shrink:0;font-size:20px;font-weight:600;padding:24px 24px 0}.modal form{flex:1 1;min-height:0;overflow-y:auto;padding:24px}.modal-footer{background:#f1f5f9;background:var(--bg-tertiary);border-top:1px solid #f1f5f9;border-top:1px solid var(--border-light);flex-shrink:0;justify-content:flex-end;padding:16px 24px 24px}.alert,.modal-footer{display:flex;gap:12px}.alert{align-items:center;border-radius:10px;border-radius:var(--radius);font-size:14px;margin-bottom:16px;padding:14px 18px;transition:background-color .3s ease,color .3s ease}.alert-success{background-color:#22c55e1a;background-color:var(--success-bg);border:1px solid #22c55e33;border:1px solid var(--success-border);color:#16a34a;color:var(--success-text)}.alert-error{background-color:#ef44441a;background-color:var(--error-bg);border:1px solid #ef444433;border:1px solid var(--error-border);color:#dc2626;color:var(--error-text)}.alert-info{background-color:#3b82f61a;background-color:var(--info-bg);border:1px solid #3b82f633;border:1px solid var(--info-border);color:#2563eb;color:var(--info-text)}.alert-warning{background-color:#f59e0b1a;background-color:var(--warning-bg);border:1px solid #f59e0b33;border:1px solid var(--warning-border);color:#d97706;color:var(--warning-text)}.spinner{animation:spin .8s linear infinite;border:3px solid #f1f5f9;border-top-color:#6366f1;border:3px solid var(--border-light);border-radius:50%;border-top-color:var(--primary-color);height:40px;margin:40px auto;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.badge{align-items:center;border-radius:20px;display:inline-flex;font-size:12px;font-weight:500;padding:4px 10px}.badge-success{background:#22c55e1a;background:var(--success-bg);color:#16a34a;color:var(--success-text)}.badge-error{background:#ef44441a;background:var(--error-bg);color:#dc2626;color:var(--error-text)}.badge-info{background:#3b82f61a;background:var(--info-bg);color:#2563eb;color:var(--info-text)}.badge-warning{background:#f59e0b1a;background:var(--warning-bg);color:#d97706;color:var(--warning-text)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f5f9;background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb{background:#94a3b8;background:var(--text-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#64748b;background:var(--text-secondary)}::selection{background:#6366f11a;background:var(--primary-light);color:#6366f1;color:var(--primary-color)}html{overscroll-behavior-x:none}.layout{overflow-x:hidden}@media (max-width:768px){::-webkit-scrollbar{height:4px;width:4px}}.auth-container{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;justify-content:center;min-height:100vh;padding:20px;transition:background .3s ease}[data-theme=dark] .auth-container{background:linear-gradient(135deg,#1e293b,#0f172a)}.auth-card{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:420px;padding:40px;transition:background-color .3s ease,box-shadow .3s ease;width:100%}[data-theme=dark] .auth-card{border-color:var(--border-color);box-shadow:0 8px 32px #0006}.auth-title{color:var(--text-primary);font-size:28px;font-weight:700;letter-spacing:-.5px;margin-bottom:32px}.auth-subtitle,.auth-title{text-align:center;transition:color .3s ease}.auth-subtitle{color:var(--text-secondary);font-size:20px;font-weight:600}.auth-card .form-group:last-of-type,.auth-subtitle{margin-bottom:24px}.auth-divider{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;margin:20px 0}.auth-divider:after,.auth-divider:before{background:var(--border-color);content:"";flex:1 1;height:1px}.auth-divider span{font-weight:500;letter-spacing:.5px;padding:0 16px;text-transform:uppercase}.btn-sso{align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.btn-sso:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--primary);color:var(--primary)}.btn-sso:disabled{cursor:not-allowed;opacity:.6}[data-theme=dark] .btn-sso{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .btn-sso:hover:not(:disabled){background:#6366f11a;border-color:var(--primary)}.auth-loading{padding:40px 20px;text-align:center}.auth-loading .spinner{margin:0 auto 20px}.auth-loading p{color:var(--text-secondary);font-size:16px}@media (max-width:480px){.auth-card{padding:28px 24px}.auth-title{font-size:24px;margin-bottom:24px}.auth-subtitle{font-size:18px}}.time-picker{display:inline-block;position:relative}.time-picker-trigger{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:8px;min-width:100px;padding:10px 14px;transition:all .2s ease}.time-picker-trigger:focus,.time-picker-trigger:hover{border-color:var(--primary-color)}.time-picker-trigger:focus{box-shadow:0 0 0 3px var(--primary-light);outline:none}.time-picker-trigger svg{color:var(--text-secondary)}.time-value{font-family:SF Mono,Monaco,Consolas,monospace;font-weight:500;letter-spacing:1px}.time-picker-dropdown{animation:timePickerFadeIn .15s ease;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000004d;padding:12px;z-index:10000}@keyframes timePickerFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.time-columns{display:flex;gap:8px}.time-column{display:flex;flex-direction:column}.time-column-header{color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 0 8px;text-align:center;text-transform:uppercase}.time-column-scroll{height:200px;overflow-x:hidden;overflow-y:auto;scrollbar-color:var(--border-color) #0000;scrollbar-width:thin;width:60px}.time-column-scroll::-webkit-scrollbar{width:4px}.time-column-scroll::-webkit-scrollbar-track{background:#0000}.time-column-scroll::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.time-column-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.time-option{background:#0000;border:none;border-radius:var(--radius);color:var(--text-primary);cursor:pointer;display:block;font-family:SF Mono,Monaco,Consolas,monospace;font-size:14px;padding:8px 12px;text-align:center;transition:all .15s ease;width:100%}.time-option:hover{background:var(--bg-tertiary)}.time-option.selected,.time-picker-done{background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-color) 100%);color:#fff;font-weight:600}.time-picker-done{border:none;border-radius:var(--radius);cursor:pointer;display:block;font-size:14px;margin-top:12px;padding:10px;transition:all .2s ease;width:100%}.time-picker-done:hover{opacity:.9;transform:translateY(-1px)}[data-theme=dark] .time-picker-dropdown{background:var(--bg-primary);border-color:var(--border-color)}@media (max-width:600px){.time-picker{display:block;width:100%}.time-picker-trigger{font-size:16px;min-height:44px;width:100%}.time-column-scroll{height:180px;width:64px}.time-option{align-items:center;display:flex;font-size:16px;justify-content:center;min-height:44px;padding:10px 12px}.time-column-header{font-size:12px}.time-picker-done{font-size:16px;min-height:44px}}.date-range-picker{position:relative}.date-range-input{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;display:flex;justify-content:space-between;min-width:240px;padding:12px 16px;transition:all .2s ease}.date-range-input:hover{border-color:var(--primary-color)}.date-range-display{align-items:center;display:flex;gap:12px}.date-value{color:var(--text-primary);font-size:14px;font-weight:500}.date-range-display .date-separator{color:var(--text-tertiary)}.calendar-icon{color:var(--text-secondary);height:20px;width:20px}.date-range-dropdown{animation:dropdownFadeIn .2s ease;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);left:0;padding:16px;position:absolute;top:calc(100% + 8px);z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.calendar-navigation{display:flex;justify-content:space-between;margin-bottom:12px}.calendar-navigation .nav-btn{align-items:center;background:var(--bg-tertiary);border:none;border-radius:var(--radius);color:var(--text-primary);cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.calendar-navigation .nav-btn:hover{background:var(--primary-color);color:#fff}.calendar-navigation .nav-btn svg{height:18px;width:18px}.calendars-container{display:flex;gap:24px}.calendar-month{width:280px}.calendar-month-header{color:var(--text-primary);font-size:15px;font-weight:600;margin-bottom:12px;padding:8px;text-align:center}.calendar-weekdays{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.calendar-weekday{color:var(--text-tertiary);font-size:12px;font-weight:600;padding:8px 0;text-align:center;text-transform:uppercase}.calendar-days{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;justify-content:center;position:relative;transition:all .15s ease}.calendar-day:hover:not(.other-month){background:var(--primary-light);color:var(--primary-color)}.calendar-day.other-month{color:var(--text-tertiary);cursor:default}.calendar-day.weekend:not(.other-month){color:var(--error-text)}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--primary-color);font-weight:700}.calendar-day.in-range{background:var(--primary-light);border-radius:0}.calendar-day.range-start{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.calendar-day.range-end,.calendar-day.range-start{background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-color) 100%);color:#fff!important}.calendar-day.range-end{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.calendar-day.range-start.range-end,.calendar-day.single-day{border-radius:var(--radius-sm)}.calendar-day.in-range:nth-child(7n+1){border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.calendar-day.in-range:nth-child(7n){border-radius:0 var(--radius-sm) var(--radius-sm) 0}.calendar-footer{border-top:1px solid var(--border-color);margin-top:16px;padding-top:16px;text-align:center}.selection-hint{color:var(--text-secondary);font-size:13px}@media (max-width:700px){.date-range-dropdown{left:50%;max-height:calc(100vh - 32px);max-width:calc(100vw - 32px);overflow-y:auto;position:fixed;top:50%;transform:translate(-50%,-50%)}.calendars-container{flex-direction:column;gap:16px}.calendar-month{max-width:320px;width:100%}@keyframes dropdownFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}}[data-theme=dark] .calendar-day.in-range{background:#6366f133}[data-theme=dark] .calendar-day.weekend:not(.other-month):not(.range-start):not(.range-end){color:#f87171}.payroll-page{max-width:1400px}.payroll-filters{margin-bottom:24px}.date-presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.preset-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:8px 16px;transition:all .2s ease}.preset-btn:hover{background:var(--primary-light);border-color:var(--primary-color);color:var(--primary-color)}.filters-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.filters-row .form-group{margin-bottom:0}.date-input{min-width:160px}.date-separator{color:var(--text-secondary);font-size:18px;padding-bottom:12px}.actions-row{border-top:1px solid var(--border-light);display:flex;gap:12px;padding-top:16px}.payroll-self-detail,.stats-card{margin-bottom:24px}.payroll-self-detail .employee-summary{margin-bottom:20px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{background:var(--bg-tertiary);border-radius:var(--radius);padding:16px;text-align:center}.stat-item.highlight{background:linear-gradient(135deg,var(--primary-light) 0,#8b5cf61a 100%);border:1px solid var(--primary-color)}.stat-label{color:var(--text-secondary);font-size:13px;margin-bottom:8px}.stat-value{color:var(--text-primary);font-size:24px;font-weight:700}.stat-value.overtime{color:var(--warning-text)}.stat-item.highlight .stat-value{color:var(--primary-color)}.table-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.table-header h3{font-size:16px;margin:0}.period-info{background:var(--bg-tertiary);border-radius:20px;color:var(--text-secondary);font-size:13px;padding:6px 12px}.overtime-cell{color:var(--warning-text);font-weight:500}.amount-cell{color:var(--success-text);font-weight:600}.effective-rate-inline{color:var(--text-secondary);display:block;font-size:12px;margin-top:2px}.effective-rate{color:var(--text-secondary);font-size:13px}.missing-shift-row{background:#ef444414;color:#ef4444;color:var(--warning-text,#ef4444)}.missing-shift-row td{color:inherit}.missing-amount-cell{color:#ef4444;color:var(--warning-text,#ef4444);font-weight:500}.missing-label{font-size:12px;opacity:.9}.extra-shift-row{background:#3b82f614;color:#6366f1;color:var(--primary-color,#6366f1)}.extra-shift-row td{color:inherit}.extra-amount-cell{color:#6366f1;color:var(--primary-color,#6366f1);font-weight:500}.extra-label{font-size:12px;opacity:.9}.compensatory-not-in-payroll-row{background:#6f42c114;color:#6f42c1}.compensatory-not-in-payroll-row td{color:inherit}.compensatory-not-in-payroll-label{font-size:12px;opacity:.9}.extra-shifts-badge{color:#6366f1;color:var(--primary-color,#6366f1);font-size:12px;margin-left:4px}.empty-state{padding:48px 24px;text-align:center}.empty-state p{color:var(--text-secondary);margin:0}.empty-state .hint{color:var(--text-tertiary);font-size:14px;margin-top:8px}@media (max-width:768px){.period-mode-toggle{width:100%}.mode-btn{flex:1 1;text-align:center}.filters-row{align-items:stretch;flex-direction:column}.date-separator{display:none}.date-input{width:100%}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-value{font-size:20px}.actions-row{flex-direction:column}.actions-row .btn{width:100%}}@media (max-width:480px){.date-presets{justify-content:center}.preset-btn{font-size:12px;padding:6px 12px}.stats-grid{grid-template-columns:1fr}}.clickable-row{cursor:pointer;transition:background-color .2s ease}.clickable-row:hover{background:var(--primary-light)!important}.modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideIn .2s ease;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-height:90vh;max-width:800px;overflow:hidden;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.employee-detail-modal .modal-header{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-color) 100%);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.employee-detail-modal .modal-header h2{color:#fff;font-size:20px;font-weight:600;margin:0}.employee-detail-modal .modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;transition:background .2s ease;width:36px}.employee-detail-modal .modal-close:hover{background:#ffffff4d}.employee-detail-modal .modal-body{overflow-y:auto;padding:24px}.employee-detail-modal .modal-body h3{color:var(--text-primary);font-size:16px;margin:24px 0 16px}.employee-summary{grid-gap:16px;background:var(--bg-tertiary);border-radius:var(--radius);display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:16px}.summary-item{display:flex;flex-direction:column;gap:4px}.summary-item .label{color:var(--text-secondary);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.summary-item .value{color:var(--text-primary);font-size:18px;font-weight:600}.summary-item.highlight{background:linear-gradient(135deg,var(--primary-light) 0,#8b5cf61a 100%);border:1px solid var(--primary-color);border-radius:var(--radius);padding:12px}.summary-item.highlight .value{color:var(--primary-color);font-size:24px}.shifts-table-wrapper{overflow-x:auto}.shifts-table{margin:0;width:100%}.shifts-table td,.shifts-table th{font-size:14px;padding:12px 16px}.overtime-row{background:var(--warning-light)!important}.no-shifts{color:var(--text-secondary);padding:32px;text-align:center}@media (max-width:600px){.employee-detail-modal{max-height:95vh}.employee-detail-modal .modal-header{padding:16px 20px}.employee-detail-modal .modal-header h2{font-size:18px}.employee-detail-modal .modal-body{padding:16px}.employee-summary{grid-template-columns:repeat(2,1fr)}.summary-item.highlight .value{font-size:20px}.shifts-table td,.shifts-table th{font-size:13px;padding:10px 12px}}@media (max-width:480px){.modal-content{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:95vh;max-width:100%}.modal-overlay{align-items:flex-end;padding:0}.employee-detail-modal .modal-header{padding:14px 16px}.employee-detail-modal .modal-header h2{font-size:16px}.employee-detail-modal .modal-body{padding:14px}.employee-summary{gap:10px;grid-template-columns:1fr;padding:12px}.summary-item .value{font-size:16px}.stat-value,.summary-item.highlight .value{font-size:18px}.shifts-table td,.shifts-table th{font-size:12px;padding:8px}}.container:has(.calendar-page-fullscreen){height:100%;margin:0;max-width:none;padding:0}.main-content:has(.calendar-page-fullscreen){display:flex;flex-direction:column;overflow:hidden;padding:0}.calendar-loading{align-items:center;background:var(--bg-primary);display:flex;height:100vh;justify-content:center}.calendar-page-fullscreen{background:var(--bg-primary);display:flex;flex-direction:column;height:calc(100vh - 60px);overflow:hidden}@media (max-width:480px){.calendar-page-fullscreen{height:calc(100vh - 56px)}}.calendar-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px #0000000f;justify-content:space-between;padding:16px 24px;z-index:20}.calendar-header,.calendar-nav{align-items:center;display:flex}.calendar-nav{gap:16px}.nav-btn{align-items:center;background:var(--bg-tertiary);border:none;border-radius:10px;color:var(--text-primary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s ease;width:40px}.nav-btn:hover{background:var(--primary-color);color:#fff;transform:scale(1.05)}.calendar-title{color:var(--text-primary);font-size:24px;font-weight:700;margin:0;min-width:220px;text-align:center}.today-btn{background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-color) 100%);border:none;border-radius:10px;box-shadow:0 4px 12px #6366f14d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s ease}.today-btn:hover{box-shadow:0 6px 16px #6366f166;transform:translateY(-2px)}.calendar-body{display:flex;flex:1 1;overflow:hidden}.calendar-grid-unified{background:var(--bg-secondary);display:grid;grid-auto-rows:56px;grid-template-rows:60px;min-height:100%;min-width:100%;width:max-content}.calendar-corner-header{align-items:center;background:var(--bg-tertiary);color:var(--text-secondary);font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;z-index:6}.calendar-corner-header,.calendar-employee-cell{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);display:flex;left:0;padding:0 20px;position:sticky}.calendar-employee-cell{background:var(--bg-secondary);box-sizing:border-box;flex-direction:column;height:56px;justify-content:center;transition:background .15s ease;z-index:2}.calendar-employee-cell:hover{background:var(--bg-tertiary)}.calendar-employee-cell.clickable{cursor:pointer}.calendar-employee-cell .employee-name{color:var(--text-primary);font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-employee-cell .employee-position{color:var(--text-secondary);font-size:12px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-scroll{-ms-overflow-style:none;background:var(--bg-primary);flex:1 1;overflow-x:auto;overflow-y:auto;scrollbar-width:none}.calendar-scroll::-webkit-scrollbar{display:none}.calendar-scroll.grab{cursor:grab}.calendar-scroll.grabbing{cursor:grabbing}.calendar-scroll.grab .grid-cell,.calendar-scroll.grabbing .grid-cell{pointer-events:none}.calendar-grid{background:var(--bg-secondary);min-height:100%;width:max(100%,calc(var(--days-count)*70px))}.calendar-day-header{align-items:center;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:60px;justify-content:center;position:sticky;top:0;transition:background .2s ease;z-index:5}.calendar-day-header:last-child{border-right:none}.calendar-day-header.clickable{cursor:pointer}.calendar-day-header.clickable:hover{background:#6366f126}.calendar-day-header .day-name{color:var(--text-secondary);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.calendar-day-header .day-number{color:var(--text-primary);font-size:18px;font-weight:700;margin-top:2px}.calendar-day-header.weekend{background:#dc35450f}.calendar-day-header.weekend .day-name,.calendar-day-header.weekend .day-number{color:#dc3545}.calendar-day-header.today{background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-color) 100%)}.calendar-day-header.today .day-name,.calendar-day-header.today .day-number{color:#fff}.grid-cell{align-items:center;border-right:1px solid var(--border-color);box-sizing:border-box;cursor:pointer;display:flex;height:56px;justify-content:center;position:relative;transition:all .15s ease}.grid-cell-last-col{border-right:none}.calendar-employee-cell.last-row,.grid-cell.last-row{border-bottom:none}.grid-cell:hover{border-radius:8px;box-shadow:0 4px 16px #0000001f;transform:scale(1.02);z-index:2}.grid-cell.working{background:linear-gradient(135deg,#d4edda,#c3e6cb)}[data-theme=dark] .grid-cell.working{background:linear-gradient(135deg,#1e4620,#2d5a30)}.grid-cell.overtime{background:linear-gradient(135deg,#fff3cd,#ffeaa7)}[data-theme=dark] .grid-cell.overtime{background:linear-gradient(135deg,#5a4a1a,#6b5a2a)}.grid-cell.combined{background:linear-gradient(135deg,#d4edda,#c3e6cb 50%,#fff3cd 0,#ffeaa7)}[data-theme=dark] .grid-cell.combined{background:linear-gradient(135deg,#1e4620,#2d5a30 50%,#5a4a1a 0,#6b5a2a)}.grid-cell.extra{background:linear-gradient(135deg,#cce5ff,#a8d8ff)}[data-theme=dark] .grid-cell.extra{background:linear-gradient(135deg,#1a3a5c,#264d73)}.grid-cell.extra .shift-time span{color:#004085}[data-theme=dark] .grid-cell.extra .shift-time span{color:#a8d8ff}.grid-cell.day-off{background:#0000}.grid-cell.weekend.day-off{background:#dc35450a}.grid-cell.not-started{background:repeating-linear-gradient(45deg,#0000,#0000 4px,#8080801a 0,#8080801a 8px);cursor:not-allowed}.grid-cell.not-started:hover{box-shadow:none;transform:none}[data-theme=dark] .grid-cell.not-started{background:repeating-linear-gradient(45deg,#0000,#0000 4px,#ffffff0d 0,#ffffff0d 8px)}.grid-cell.today{border-radius:8px;box-shadow:inset 0 0 0 3px var(--primary-color)}.grid-cell.today:hover{box-shadow:inset 0 0 0 3px var(--primary-color),0 4px 16px #0000001f}.shift-time,.shift-time-wrap{align-items:center;display:flex;flex-direction:column;gap:2px}.shift-count-badge{color:var(--text-secondary);font-size:10px;font-weight:600;margin-top:2px}.shift-time span{color:#155724;font-size:12px;font-weight:600;line-height:1.2}[data-theme=dark] .shift-time span{color:#a3d9a5}.grid-cell.overtime .shift-time span{color:#5a4200;text-shadow:0 0 2px #ffffff80}[data-theme=dark] .grid-cell.overtime .shift-time span{color:#fff;text-shadow:0 0 2px #00000080}.grid-cell.combined .shift-time span{color:#155724;text-shadow:0 0 2px #ffffff80}[data-theme=dark] .grid-cell.combined .shift-time span{color:#a3d9a5;text-shadow:0 0 2px #00000080}.combined-indicator{align-items:center;background:linear-gradient(135deg,#ffc107,#ff9800);border-radius:50%;box-shadow:0 1px 3px #0003;color:#fff;display:flex;font-size:10px;font-weight:700;height:14px;justify-content:center;position:absolute;right:4px;top:4px;width:14px}.grid-cell.compensatory{border-left:3px solid #6f42c1}[data-theme=dark] .grid-cell.compensatory{border-left-color:#9d7bd6}.compensatory-badge{bottom:2px;color:#6f42c1;font-size:9px;left:50%;position:absolute;transform:translateX(-50%);white-space:nowrap}[data-theme=dark] .compensatory-badge{color:#b8a0e0}.extra-badge{bottom:2px;color:#004085;font-size:9px;font-weight:700;opacity:.8;position:absolute;right:4px}[data-theme=dark] .extra-badge{color:#a8d8ff}.calendar-legend{background:var(--bg-secondary);border-radius:16px 16px 0 0;bottom:0;box-shadow:0 -4px 24px #0000001f;left:50%;overflow:hidden;position:fixed;transform:translateX(-50%);transition:all .3s ease;z-index:100}.legend-toggle{align-items:center;background:#0000;border:none;color:var(--text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;width:100%}.legend-toggle:hover{color:var(--text-primary)}.legend-items{display:flex;gap:28px;padding:0 28px 16px}.legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:10px}.legend-dot{border:1px solid var(--border-color);border-radius:6px;height:18px;width:18px}.legend-dot.working{background:linear-gradient(135deg,#d4edda,#c3e6cb)}[data-theme=dark] .legend-dot.working{background:linear-gradient(135deg,#1e4620,#2d5a30)}.legend-dot.overtime{background:linear-gradient(135deg,#fff3cd,#ffeaa7)}[data-theme=dark] .legend-dot.overtime{background:linear-gradient(135deg,#5a4a1a,#6b5a2a)}.legend-dot.combined{background:linear-gradient(135deg,#d4edda,#c3e6cb 50%,#fff3cd 0,#ffeaa7)}[data-theme=dark] .legend-dot.combined{background:linear-gradient(135deg,#1e4620,#2d5a30 50%,#5a4a1a 0,#6b5a2a)}.legend-dot.extra{background:linear-gradient(135deg,#cce5ff,#a8d8ff)}.legend-dot.day-off{background:var(--bg-primary)}.legend-dot.not-started{background:repeating-linear-gradient(45deg,var(--bg-primary),var(--bg-primary) 2px,#80808033 2px,#80808033 4px)}[data-theme=dark] .legend-dot.not-started{background:repeating-linear-gradient(45deg,var(--bg-primary),var(--bg-primary) 2px,#ffffff1a 2px,#ffffff1a 4px)}.legend-dot.today{background:var(--bg-primary);box-shadow:inset 0 0 0 3px var(--primary-color)}.shift-modal{max-width:90vw;width:400px}.shift-modal .modal-header{align-items:center;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);color:var(--text-primary);display:flex;justify-content:space-between;padding:20px 24px}.shift-modal .modal-header h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0}.modal-close{align-items:center;background:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;transition:all .15s ease;width:32px}.modal-close:hover{background:var(--danger-color);color:#fff}.shift-modal .modal-body{padding:24px}.radio-custom-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.radio-custom-label{align-items:center;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:14px;gap:12px;-webkit-user-select:none;user-select:none}.radio-custom-circle{align-items:center;border:2px solid var(--text-secondary);border-radius:50%;display:inline-flex;height:20px;justify-content:center;min-height:20px;min-width:20px;position:relative;transition:border-color .15s ease,background .15s ease;width:20px}.radio-custom-label:hover .radio-custom-circle{border-color:var(--text-primary)}.radio-custom-input:checked+.radio-custom-circle{background:#0000;border-color:var(--primary-color)}.radio-custom-input:checked+.radio-custom-circle:after{background:var(--primary-color);border-radius:50%;content:"";height:10px;position:absolute;width:10px}.radio-custom-group{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:12px}.radio-custom-group-vertical{flex-direction:column;gap:12px}.option-btn-sub{display:flex;flex-direction:column;gap:6px;margin-left:20px}.option-btn-sub-scroll{max-height:160px;overflow-y:auto}.option-checkbox-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;gap:10px}.option-checkbox-label input{accent-color:var(--primary-color);height:18px;width:18px}.shift-info-block{background:var(--bg-tertiary);border-radius:12px;margin-bottom:24px;padding:16px}.shift-modal-multi .shift-multi-hint{color:var(--text-secondary);font-size:13px;line-height:1.4;margin:-8px 0 16px}.shift-row-block{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:20px;padding:14px}.shift-row-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.shift-row-label{color:var(--text-primary);font-size:14px;font-weight:600}.shift-type-inline{align-items:center;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:13px;gap:8px}.shift-type-inline input{accent-color:var(--primary-color)}.btn-icon-remove{background:#dc354526;border:none;border-radius:8px;color:var(--danger-color);cursor:pointer;font-size:18px;height:28px;line-height:1;margin-left:auto;padding:0;transition:background .2s,color .2s;width:28px}.btn-icon-remove:hover{background:var(--danger-color);color:#fff}.shift-row-block .time-inputs{margin-bottom:12px}.shift-row-compensatory{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px}.shift-row-compensatory .form-group-inline{margin-bottom:0}.shift-row-compensatory .form-group-inline label{display:block;font-size:12px;margin-bottom:4px}.btn-add-shift{background:#0000;border:2px dashed var(--border-color);border-radius:12px;color:var(--text-secondary);cursor:pointer;font-size:14px;padding:12px;transition:border-color .2s,color .2s,background .2s;width:100%}.btn-add-shift:hover{background:rgba(var(--primary-rgb),.06);border-color:var(--primary-color);color:var(--primary-color)}.shift-section{margin-bottom:16px}.shift-section .section-label{color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.overtime-section{background:linear-gradient(135deg,#fff3cd4d,#ffeaa74d);border:1px solid #ffc1074d;border-radius:12px;margin-top:16px;padding:16px}[data-theme=dark] .overtime-section{background:linear-gradient(135deg,#5a4a1a4d,#6b5a2a4d);border-color:#ffc10733}.overtime-section .section-label{color:#856404}[data-theme=dark] .overtime-section .section-label{color:#f0d58c}.info-employee{color:var(--text-primary);font-size:16px;font-weight:700}.info-date{color:var(--text-secondary);font-size:14px;margin-top:4px}.time-inputs{align-items:flex-end;display:flex;gap:16px}.time-field{flex:1 1}.time-field label{color:var(--text-secondary);display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.time-field input{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:16px;font-weight:600;padding:12px 16px;transition:border-color .2s ease;width:100%}.time-field input:focus{border-color:var(--primary-color);outline:none}.time-separator{color:var(--text-secondary);font-size:20px;padding-bottom:12px}.shift-toggle{align-items:center;border-radius:10px;cursor:pointer;display:flex;gap:12px;margin-bottom:12px;padding:14px 16px;transition:all .2s ease}.shift-toggle:hover{transform:scale(1.01)}.shift-toggle input[type=checkbox]{cursor:pointer;height:20px;width:20px}.shift-toggle .toggle-label{font-size:14px;font-weight:600}.regular-toggle{background:linear-gradient(135deg,#d4edda,#c3e6cb)}[data-theme=dark] .regular-toggle{background:linear-gradient(135deg,#1e4620,#2d5a30)}.regular-toggle:hover{box-shadow:0 4px 12px #28a7454d}.regular-toggle input[type=checkbox]{accent-color:#28a745}.regular-toggle .toggle-label{color:#155724}[data-theme=dark] .regular-toggle .toggle-label{color:#a3d9a5}.regular-section{background:linear-gradient(135deg,#d4edda4d,#c3e6cb4d);border:1px solid #28a7454d;border-radius:12px;margin-bottom:16px;padding:16px}[data-theme=dark] .regular-section{background:linear-gradient(135deg,#1e46204d,#2d5a304d);border-color:#28a74533}.overtime-toggle{background:linear-gradient(135deg,#fff3cd,#ffeaa7)}[data-theme=dark] .overtime-toggle{background:linear-gradient(135deg,#5a4a1a,#6b5a2a)}.overtime-toggle:hover{box-shadow:0 4px 12px #ffc1074d}.overtime-toggle input[type=checkbox]{accent-color:#ff9800}.overtime-toggle .toggle-label{color:#856404}[data-theme=dark] .overtime-toggle .toggle-label{color:#f0d58c}.compensatory-toggle{margin-top:16px}.compensatory-section{background:linear-gradient(135deg,#6f42c11f,#9d7bd61f);border:1px solid #6f42c140;border-radius:12px;margin-top:12px;padding:12px 16px}[data-theme=dark] .compensatory-section{background:linear-gradient(135deg,#6f42c133,#9d7bd626);border-color:#9d7bd64d}.compensatory-section .form-group{margin-bottom:12px}.compensatory-section .form-group:last-of-type{margin-bottom:0}.compensatory-section .form-control.date-input{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:14px;padding:10px 14px;width:100%}.compensatory-section .checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:10px;margin-top:8px}.compensatory-section .checkbox-label input{accent-color:#6f42c1}.shift-modal .modal-footer{align-items:center;background:var(--bg-tertiary);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 24px}.footer-right{display:flex;gap:12px}@media (max-width:1024px){.calendar-grid-unified{--emp-col-width:160px!important;--day-col-min:56px!important;grid-auto-rows:50px}.calendar-grid{width:max(100%,calc(var(--days-count)*56px))}.calendar-corner-header{font-size:12px;padding:0 12px}.calendar-employee-cell{height:50px;padding:0 12px}.calendar-employee-cell .employee-name{font-size:13px}.calendar-day-header{height:50px}.calendar-day-header .day-number{font-size:15px}.grid-cell{height:50px}.shift-time span{font-size:11px}}@media (max-width:768px){.calendar-grid-unified{--emp-col-width:120px!important;--day-col-min:48px!important;grid-auto-rows:46px}.calendar-grid{width:max(100%,calc(var(--days-count)*48px))}.calendar-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.calendar-nav{gap:10px;justify-content:center;width:100%}.calendar-title{font-size:18px;min-width:auto}.today-btn{font-size:13px;order:1;padding:8px 16px;width:100%}.calendar-corner-header{font-size:10px;height:44px;padding:0 8px}.calendar-employee-cell{height:46px;padding:0 8px}.calendar-employee-cell .employee-name{font-size:12px}.calendar-employee-cell .employee-position{display:none}.calendar-position-header{font-size:11px!important;padding:4px 8px!important}.calendar-day-header{height:44px}.calendar-day-header .day-name{font-size:9px}.calendar-day-header .day-number{font-size:13px}.grid-cell{height:46px}.grid-cell:hover{border-radius:0;box-shadow:none;transform:none}.shift-time span{font-size:10px;line-height:1.1}.shift-count-badge{font-size:9px}.compensatory-badge,.extra-badge{font-size:8px}.combined-indicator{font-size:8px;height:12px;right:2px;top:2px;width:12px}.legend-items{flex-wrap:wrap;gap:10px;padding:0 12px 10px}.legend-item{font-size:11px;gap:5px}.legend-dot{border-radius:4px;height:12px;width:12px}.calendar-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.nav-btn{height:40px;min-width:40px;width:40px}}@media (max-width:480px){.calendar-grid-unified{--emp-col-width:90px!important;--day-col-min:42px!important;grid-auto-rows:42px}.calendar-grid{width:max(100%,calc(var(--days-count)*42px))}.calendar-page-fullscreen{height:calc(100vh - 50px)}.calendar-header{gap:6px;padding:8px 10px}.nav-btn{height:38px;min-width:38px;width:38px}.calendar-title{font-size:16px}.calendar-corner-header{font-size:9px;height:40px;padding:0 6px}.calendar-employee-cell{height:42px;padding:0 6px}.calendar-employee-cell .employee-name{font-size:11px}.calendar-day-header{height:40px}.calendar-day-header .day-name{display:none}.calendar-day-header .day-number{font-size:12px}.grid-cell{height:42px}.shift-time span{font-size:9px}.time-inputs{flex-direction:column;gap:12px}.time-separator{display:none}.calendar-position-header{font-size:10px!important;padding:3px 6px!important}}@media (max-width:600px){.shift-modal{animation:shiftModalUp .3s ease;border-radius:16px 16px 0 0;margin:0;max-height:92vh;max-width:100%;width:100%}@keyframes shiftModalUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.shift-modal .modal-header{padding:16px 20px}.shift-modal .modal-header h3{font-size:16px}.shift-modal .modal-body{-webkit-overflow-scrolling:touch;overflow-y:auto;padding:16px}.shift-modal .modal-footer{flex-direction:column;gap:8px;padding:12px 16px}.shift-modal .modal-footer .btn{justify-content:center;width:100%}.shift-modal .footer-right{flex-direction:column;gap:8px;width:100%}.shift-modal .footer-right .btn{width:100%}.shift-info-block{margin-bottom:16px;padding:12px}.shift-row-block{margin-bottom:14px;padding:12px}.shift-toggle{padding:12px 14px}.overtime-section{padding:12px}.compensatory-section{padding:10px 12px}.radio-custom-group{gap:14px}.option-btn-sub{margin-left:12px}.calendar-header{gap:8px;padding:10px 12px}.calendar-nav{gap:8px}.calendar-title{font-size:16px;min-width:auto}.nav-btn{border-radius:8px;height:36px;width:36px}.today-btn{font-size:13px;padding:8px 16px}.legend-items{flex-wrap:wrap;gap:10px;padding:0 12px 10px}.legend-item{font-size:11px}.legend-dot{border-radius:4px;height:12px;width:12px}}.requests-page{display:flex;flex-direction:column;gap:24px}.requests-loading{align-items:center;display:flex;justify-content:center;min-height:320px}.requests-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.requests-header h1{margin:0 0 8px}.requests-subtitle{color:var(--text-secondary);margin:0}.requests-actions,.requests-filters,.requests-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.requests-filter{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);cursor:pointer;padding:10px 14px}.requests-filter.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.requests-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.requests-grid--stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.requests-grid--details{align-items:start}.requests-grid--form{grid-template-columns:repeat(2,minmax(0,1fr))}.requests-stat-card{display:flex;flex-direction:column;gap:8px}.requests-stat-card strong{font-size:28px;line-height:1.1}.requests-stat-label{color:var(--text-secondary);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.requests-toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:16px}.requests-toolbar h3{margin:0 0 6px}.requests-toolbar-note{max-width:560px}.requests-calendar-scroll{overflow-x:auto;padding-bottom:4px}.requests-calendar{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:860px}.requests-weekday{color:var(--text-secondary);font-size:12px;text-align:center;text-transform:uppercase}.requests-day{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;display:flex;flex-direction:column;gap:8px;min-height:132px;padding:14px;text-align:left}.requests-day.empty{background:#0000;border-style:dashed}.requests-day.working{background:linear-gradient(180deg,#10b98129,#10b9810a)}.requests-day.today{border-color:var(--primary-color);box-shadow:0 0 0 1px #3b82f638}.requests-day-button{appearance:none;color:inherit;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;width:100%}.requests-day-button:hover:not(:disabled){border-color:var(--primary-color);box-shadow:0 18px 32px #0f172a14;transform:translateY(-2px)}.requests-day-button:disabled{cursor:not-allowed;opacity:.82}.requests-day-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.requests-day-badge{align-items:center;background:#f59e0b2e;border-radius:999px;color:#b45309;display:inline-flex;font-size:11px;font-weight:600;justify-content:center;padding:4px 8px}.requests-day-action,.requests-day-more,.requests-day-off{color:var(--text-secondary)}.requests-day-action{font-size:12px;margin-top:auto}.requests-list{display:flex;flex-direction:column;gap:12px}.requests-box,.requests-request{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;padding:14px}.requests-request{display:flex;flex-direction:column;gap:10px}.requests-request-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.requests-status{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;padding:6px 10px;white-space:nowrap}.requests-status.pending{background:#f59e0b29;color:#b45309}.requests-status.approved{background:#10b98129;color:#047857}.requests-status.rejected{background:#ef444429;color:#b91c1c}.requests-note{color:var(--text-secondary);margin:0}.requests-help-card{position:sticky;top:16px}.requests-table-wrap{overflow-x:auto}.requests-table{min-width:900px}.requests-modal{display:flex;flex-direction:column;width:min(560px,calc(100vw - 32px))}.requests-modal .modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px}.requests-modal .modal-header h3{font-size:18px;font-weight:600;margin:0}.requests-modal .modal-footer{flex-shrink:0}.requests-form{display:flex;flex:1 1;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;padding:24px}.requests-textarea{min-height:110px;resize:vertical}@media (max-width:1100px){.requests-grid--details{grid-template-columns:1fr}.requests-help-card{position:static}}@media (max-width:720px){.requests-calendar{gap:6px;grid-template-columns:repeat(7,minmax(0,1fr));min-width:0}.requests-day{border-radius:12px;min-height:100px;padding:10px 8px}.requests-day-action{font-size:11px}.requests-grid--form{grid-template-columns:1fr}.requests-request-header{align-items:stretch;flex-direction:column}.requests-modal{border-radius:16px 16px 0 0;max-height:92vh;width:100%}.requests-modal .modal-header{padding:16px 20px}.requests-form{padding:16px}}@media (max-width:480px){.requests-header{flex-direction:column;gap:12px}.requests-header h1{font-size:20px;margin-bottom:4px}.requests-filters{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;width:100%}.requests-filter{flex-shrink:0;font-size:13px;padding:8px 12px}.requests-calendar{gap:4px;grid-template-columns:repeat(7,1fr);min-width:0}.requests-day{border-radius:10px;font-size:12px;gap:4px;min-height:auto;padding:8px 6px}.requests-day-header strong{font-size:14px}.requests-day-badge{font-size:9px;padding:2px 5px}.requests-day-off{font-size:11px}.requests-day-action{display:none;font-size:10px}.requests-day-more{font-size:11px}.requests-weekday{font-size:10px}.requests-calendar-scroll{overflow-x:visible}.requests-table{min-width:700px}.requests-toolbar{flex-direction:column;gap:12px}.requests-grid--stats{grid-template-columns:repeat(2,1fr)}.requests-stat-card strong{font-size:22px}.requests-request{padding:12px}.requests-actions{width:100%}.requests-actions .btn{flex:1 1}}.profile-page{display:flex;flex-direction:column;gap:24px}.profile-loading{align-items:center;display:flex;justify-content:center;min-height:320px}.profile-header-card{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.profile-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;box-shadow:0 4px 16px #6366f14d;color:#fff;display:flex;font-size:30px;font-weight:700;height:72px;justify-content:center;min-width:72px;width:72px}.profile-header-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.profile-header-name{font-size:22px;font-weight:700;line-height:1.2;margin:0}.profile-header-position{color:var(--text-secondary);font-size:15px;margin:0}.profile-header-meta{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:2px}.profile-role-badge{align-items:center;background:#6366f124;border-radius:999px;color:#6366f1;display:inline-flex;font-size:12px;font-weight:600;padding:4px 12px;text-transform:capitalize}.profile-login{color:var(--text-secondary);font-size:13px}.profile-section-title{font-size:18px;font-weight:600;margin:0 0 4px}.profile-placeholder-card{align-items:center;background:#0000;border:2px dashed var(--border-color);display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:120px;padding:32px 24px;text-align:center}.profile-placeholder-card .profile-placeholder-icon{font-size:32px;opacity:.4}.profile-placeholder-card p{color:var(--text-secondary);margin:0;max-width:400px}.profile-password-toggle{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between;-webkit-user-select:none;user-select:none}.profile-password-toggle h3{margin:0}.profile-password-chevron{color:var(--text-secondary);font-size:18px;transition:transform .2s ease}.profile-password-chevron.open{transform:rotate(180deg)}.profile-password-body{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.profile-password-body.expanded{max-height:600px;opacity:1}.profile-password-form{padding-top:20px}.profile-stats-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}.profile-stat{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;display:flex;flex-direction:column;gap:4px;padding:14px}.profile-stat-label{color:var(--text-secondary);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.profile-stat-value{font-size:24px;font-weight:700;line-height:1.1}@media (max-width:600px){.profile-page{gap:16px}.profile-header-card{align-items:flex-start;flex-direction:column}.profile-header-name{font-size:18px}.profile-avatar{font-size:24px;height:56px;min-width:56px;width:56px}.profile-stats-row{gap:8px;grid-template-columns:repeat(2,1fr)}.profile-stat{border-radius:10px;padding:12px}.profile-stat-value{font-size:20px}.profile-stat-label{font-size:11px}.profile-section-title{font-size:16px}.profile-placeholder-card{min-height:100px;padding:24px 16px}.profile-placeholder-card .profile-placeholder-icon{font-size:28px}}@media (max-width:380px){.profile-stats-row{grid-template-columns:1fr}}.analytics-page{font-feature-settings:"tnum";margin:0 auto;max-width:1440px}.analytics-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.analytics-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0}.analytics-period{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;gap:8px;padding:4px}.analytics-period input[type=date]{background:#0000;border:none;border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:.85rem;padding:6px 10px}.analytics-period input[type=date]:focus{background:var(--bg-primary);outline:none}.analytics-period .btn{border-radius:8px;white-space:nowrap}.kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(6,1fr);margin-bottom:20px}.kpi-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:6px;overflow:visible;padding:16px;position:relative;transition:all .2s ease}.kpi-card:before{background:var(--primary-color);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s}.kpi-card--clickable{cursor:pointer}.kpi-card--clickable:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #6366f114;transform:translateY(-1px)}.kpi-card--clickable:hover:before{opacity:1}.kpi-card--active{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.kpi-card--active:before{opacity:1}.kpi-card__info{align-items:center;background:var(--bg-primary);border-radius:50%;color:var(--text-secondary);cursor:help;display:flex;font-size:.6rem;font-weight:700;height:18px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transition:opacity .15s;width:18px;z-index:2}.kpi-card:hover .kpi-card__info{opacity:1}.kpi-card__info[data-tooltip]:after{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;bottom:calc(100% + 8px);box-shadow:0 8px 24px #00000026;color:var(--text-primary);content:attr(data-tooltip);font-size:.78rem;font-weight:400;letter-spacing:0;line-height:1.45;max-width:300px;min-width:220px;opacity:0;padding:10px 14px;pointer-events:none;position:absolute;right:-4px;text-transform:none;transform:translateY(4px);transition:opacity .15s,transform .15s;white-space:normal;z-index:100}.kpi-card__info[data-tooltip]:hover:after{opacity:1;transform:translateY(0)}.kpi-card__label{color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.kpi-card__value{color:var(--text-primary);font-size:1.6rem;font-weight:800;letter-spacing:-.03em;line-height:1}.kpi-card__trend{align-items:center;border-radius:6px;display:inline-flex;font-size:.75rem;font-weight:600;gap:3px;padding:2px 6px;width:fit-content}.kpi-card__trend--up{background:#16a34a14;color:#16a34a}.kpi-card__trend--down{background:#dc262614;color:#dc2626}.kpi-card__trend--neutral{background:#0000;color:var(--text-secondary)}.analytics-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-bottom:16px;padding:20px}.analytics-section__title{align-items:center;color:var(--text-primary);display:flex;font-size:.85rem;font-weight:700;gap:8px;letter-spacing:-.01em;margin:0 0 16px}.analytics-grid-2{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.analytics-grid-3{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.analytics-tabs{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;display:flex;gap:2px;margin-bottom:20px;padding:3px}.analytics-tab{background:#0000;border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:500;padding:8px 16px;transition:all .15s ease}.analytics-tab:hover{background:var(--bg-primary);color:var(--text-primary)}.analytics-tab--active{background:var(--primary-color);box-shadow:0 1px 3px #6366f14d;color:#fff}.channel-bar{align-items:center;display:flex;gap:10px;margin-bottom:8px}.channel-bar__label{color:var(--text-secondary);flex-shrink:0;font-size:.8rem;font-weight:500;text-align:right;width:100px}.channel-bar__track{background:#6366f10f;border-radius:6px;flex:1 1;height:20px;overflow:hidden}.channel-bar__fill{background:var(--primary-color);border-radius:6px;height:100%;min-width:2px;transition:width .5s cubic-bezier(.4,0,.2,1)}.channel-bar__value{font-feature-settings:"tnum";color:var(--text-primary);font-size:.8rem;font-weight:700;text-align:right;width:50px}.heatmap-container{overflow-x:auto;padding:4px}.heatmap-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:36px repeat(24,1fr);min-width:580px}.heatmap-label{align-items:center;color:var(--text-secondary);display:flex;font-size:.65rem;font-weight:500;justify-content:center;padding:1px}.heatmap-cell{aspect-ratio:1;border-radius:4px;cursor:default;min-height:18px;transition:all .15s}.heatmap-cell:hover{outline:2px solid var(--primary-color);outline-offset:0;transform:scale(1.15);z-index:1}.agent-table{border-collapse:initial;border-spacing:0;width:100%}.agent-table td,.agent-table th{font-size:.85rem;padding:10px 14px;text-align:left}.agent-table th{background:var(--bg-secondary);border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.5px;position:sticky;text-transform:uppercase;top:0}.agent-table td{border-bottom:1px solid var(--border-color)}.agent-table tbody tr{transition:background .1s}.agent-table tbody tr:hover td{background:#6366f108}.agent-table tbody tr:last-child td{border-bottom:none}.agent-rank{align-items:center;background:var(--bg-primary);border-radius:8px;color:var(--text-secondary);display:flex;font-size:.75rem;font-weight:800;height:28px;justify-content:center;width:28px}.agent-rank--1{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.agent-rank--2{background:linear-gradient(135deg,#e5e7eb,#d1d5db);color:#374151}.agent-rank--3{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#9a3412}.backlog-stats{display:flex;gap:24px;margin-bottom:16px}.backlog-stat{display:flex;flex-direction:column;gap:2px}.backlog-stat__label{color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.backlog-stat__value{color:var(--text-primary);font-size:1.2rem;font-weight:800;letter-spacing:-.02em}.analytics-empty{color:var(--text-secondary);padding:48px 20px;text-align:center}.analytics-empty__icon{font-size:2.5rem;margin-bottom:8px;opacity:.4}.analytics-empty__text{font-size:.9rem;font-weight:500}.analytics-loading{align-items:center;color:var(--text-secondary);display:flex;font-weight:500;justify-content:center;padding:64px 20px}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border-color);stroke-opacity:.5}.recharts-tooltip-wrapper{filter:drop-shadow(0 4px 12px rgba(0,0,0,.1))}@media (max-width:1200px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.analytics-header{align-items:flex-start;flex-direction:column}.analytics-period{flex-wrap:wrap;width:100%}.analytics-period input[type=date]{flex:1 1;min-width:120px}.kpi-grid{gap:8px;grid-template-columns:repeat(2,1fr)}.kpi-card{padding:12px}.kpi-card__value{font-size:1.3rem}.analytics-grid-2,.analytics-grid-3{grid-template-columns:1fr}.analytics-tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.analytics-tab{font-size:.78rem;padding:7px 12px;white-space:nowrap}.channel-bar__label{font-size:.72rem;width:70px}}@media (max-width:480px){.kpi-grid{grid-template-columns:1fr 1fr}.kpi-card__value{font-size:1.1rem}.kpi-card__label{font-size:.65rem}}.qa-page{margin:0 auto;max-width:1000px}.qa-page__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.qa-page__header h1{font-size:1.6rem;margin:0}.qa-page__gen-result{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);color:var(--text-secondary);font-size:.85rem;margin-bottom:16px;padding:10px}.qa-page__stats{display:flex;gap:12px;margin-bottom:20px}.qa-page__stat{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);flex:1 1;padding:16px 20px}.qa-page__stat-label{color:var(--text-secondary);display:block;font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.qa-page__stat-value{color:var(--primary-color);font-size:1.6rem;font-weight:700}.qa-page__tabs{border-bottom:2px solid var(--border-color);display:flex;gap:4px;margin-bottom:16px}.qa-page__tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:.9rem;font-weight:500;margin-bottom:-2px;padding:10px 20px}.qa-page__tab:hover{color:var(--text-primary)}.qa-page__tab--active{border-bottom-color:var(--primary-color);color:var(--primary-color)}.qa-page__loading{padding:40px}.qa-page__empty,.qa-page__loading{color:var(--text-secondary);text-align:center}.qa-page__empty{padding:60px 20px}.qa-page__table{background:var(--bg-secondary);border:1px solid var(--border-color);border-collapse:collapse;border-radius:var(--radius);overflow:hidden;width:100%}.qa-page__table td,.qa-page__table th{border-bottom:1px solid var(--border-color);font-size:.9rem;padding:12px 16px;text-align:left}.qa-page__table th{color:var(--text-secondary);font-size:.8rem;font-weight:600;text-transform:uppercase}.qa-page__table th,.qa-page__table tr:hover td{background:var(--bg-primary)}.qa-page__ticket-link{color:var(--primary-color);font-weight:600;text-decoration:none}.qa-page__ticket-link:hover{text-decoration:underline}.qa-page__unique-id{color:var(--text-secondary);font-size:.8rem;margin-left:6px}.qa-page__reason{border-radius:10px;font-size:.75rem;font-weight:600;padding:2px 8px}.qa-page__reason--csat_negative{background:#fee2e2;color:#dc2626}.qa-page__reason--random{background:#eef2ff;color:#6366f1}.qa-page__reason--manual{background:#f1f5f9;color:#475569}@media (max-width:768px){.qa-page__header{align-items:flex-start;gap:12px}.qa-page__header,.qa-page__stats{flex-direction:column}}.notification-bell-btn,.notification-bell-wrap{position:relative}.notification-badge{align-items:center;background:#ef4444;border-radius:999px;color:#fff;display:flex;font-size:11px;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px;pointer-events:none;position:absolute;right:-4px;top:-4px}.notification-dropdown{animation:slideDown .15s ease;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 16px 48px #00000029;display:flex;flex-direction:column;max-height:480px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:360px;z-index:1100}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notification-dropdown-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.notification-dropdown-title{font-size:15px;font-weight:600}.notification-mark-all{background:none;border:none;border-radius:8px;color:var(--primary-color);cursor:pointer;font-size:13px;padding:4px 8px}.notification-mark-all:hover{background:#6366f114}.notification-dropdown-body{flex:1 1;max-height:400px;overflow-y:auto}.notification-item{background:none;border:none;border-bottom:1px solid var(--border-light);color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:14px 20px 14px 28px;position:relative;text-align:left;transition:background .12s;width:100%}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--bg-tertiary)}.notification-item.unread{background:#6366f10f}.notification-item.unread:before{background:var(--primary-color);border-radius:50%;content:"";height:8px;left:8px;position:absolute;top:50%;transform:translateY(-50%);width:8px}.notification-item-title{font-size:14px;font-weight:600;line-height:1.3}.notification-item-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:13px;line-height:1.3;overflow:hidden}.notification-item-time{color:var(--text-secondary);color:var(--text-tertiary,var(--text-secondary));font-size:12px;opacity:.7}.notification-empty{color:var(--text-secondary);font-size:14px;padding:32px 20px;text-align:center}@media (max-width:768px){.notification-dropdown{left:12px;max-height:calc(100vh - 80px);position:fixed;right:12px;top:64px;width:auto}}@media (max-width:480px){.notification-dropdown{border-radius:12px;left:8px;max-height:calc(100vh - 72px);right:8px;top:56px}.notification-dropdown-header{padding:12px 16px}.notification-item{padding:12px 16px 12px 24px}}.layout{display:flex;flex-direction:column;min-height:100vh}.impersonation-banner{align-items:center;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 12px #f59e0b66;color:#fff;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;padding:10px 24px;position:sticky;top:0;z-index:101}.impersonation-banner-text{font-size:15px;font-weight:700;letter-spacing:.3px}.impersonation-banner-exit{background:#00000040;border:2px solid #fff9;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:700;padding:6px 18px;transition:background .15s,border-color .15s;white-space:nowrap}.impersonation-banner-exit:hover{background:#00000073;border-color:#fff}@media (max-width:768px){.impersonation-banner{gap:10px;padding:8px 12px}.impersonation-banner-text{font-size:13px}}.navbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #00000026;color:#fff;display:flex;height:64px;padding:0 24px;position:sticky;top:0;z-index:100}.navbar,[data-theme=dark] .navbar{background:linear-gradient(135deg,#1e293b,#0f172a)}[data-theme=dark] .navbar{border-bottom:1px solid #ffffff0d}.navbar-brand{font-size:20px;font-weight:700;margin-right:40px}.navbar-brand,.navbar-brand a{align-items:center;display:flex;gap:10px}.navbar-brand a{color:#fff;text-decoration:none}.navbar-logo{border-radius:6px;height:32px;object-fit:cover;width:32px}.navbar-menu{display:flex;flex:1 1;gap:6px}.navbar-item{border-radius:10px;color:#ffffffb3;font-size:14px;font-weight:500;padding:10px 16px;position:relative;text-decoration:none;transition:all .2s ease}.navbar-item:hover{background-color:#ffffff14;color:#fff}.navbar-item.active{background:linear-gradient(135deg,#6366f14d,#8b5cf64d);color:#fff}.navbar-item.active:after{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:2px;bottom:-2px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:20px}.navbar-actions{gap:10px}.navbar-actions,.navbar-user{align-items:center;display:flex}.navbar-user{border-left:1px solid #ffffff1a;gap:14px;margin-left:10px;padding-left:16px}.navbar-username{color:#ffffffe6;font-size:14px;font-weight:500}.btn-icon{align-items:center;background:#ffffff14;border:1px solid #ffffff0d;border-radius:10px;color:#ffffffe6;cursor:pointer;display:flex;font-size:15px;height:38px;justify-content:center;padding:0;transition:all .2s ease;width:38px}.btn-icon:hover{background:#ffffff26;transform:translateY(-1px)}.btn-sm{font-size:13px;padding:6px 12px}.hamburger{align-items:center;background:#ffffff14;border:1px solid #ffffff0d;border-radius:10px;cursor:pointer;display:none;flex-direction:column;gap:5px;height:42px;justify-content:center;padding:8px;transition:all .2s ease;width:42px}.hamburger:hover{background:#ffffff1f}.hamburger-line{background:#fff;border-radius:2px;height:2px;transition:all .3s ease;width:20px}.hamburger-line.open:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-sidebar{background:var(--bg-secondary);box-shadow:8px 0 30px #0003;display:flex;flex-direction:column;height:calc(100vh - 64px);left:-300px;overflow-y:auto;position:fixed;top:64px;transition:left .3s cubic-bezier(.4,0,.2,1);width:300px;z-index:200}.mobile-sidebar.open{left:0}.sidebar-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:24px}.sidebar-user{gap:14px}.sidebar-user,.user-avatar{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:14px;box-shadow:0 4px 12px #6366f14d;color:#fff;font-size:20px;font-weight:700;height:52px;justify-content:center;width:52px}.user-info{display:flex;flex-direction:column;gap:2px}.user-name{color:var(--text-primary);font-size:16px;font-weight:600}.user-role{color:var(--text-secondary);font-size:13px;text-transform:capitalize}.sidebar-nav{flex:1 1;padding:16px 0}.sidebar-link{align-items:center;border-left:3px solid #0000;border-radius:10px;color:var(--text-primary);display:flex;font-size:15px;font-weight:500;margin:2px 12px;padding:14px 24px;text-decoration:none;transition:all .2s ease}.sidebar-link.active,.sidebar-link:hover{background:var(--primary-light);color:var(--primary-color)}.sidebar-link.active{font-weight:600}.sidebar-footer{background:var(--bg-tertiary);border-top:1px solid var(--border-color);padding:20px 24px}.btn-block{width:100%}.mobile-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:64px;z-index:150}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.main-content{background:var(--bg-primary);flex:1 1;padding:32px 0}.desktop-only{display:flex}.mobile-only{display:none}@media (max-width:900px){.navbar-menu{gap:4px}.navbar-item{font-size:13px;padding:8px 12px}}@media (max-width:768px){.desktop-only{display:none!important}.mobile-only{display:flex!important}.navbar{height:60px;padding:0 16px}.navbar-brand{font-size:18px;margin-right:auto}.navbar-brand:before{border-radius:6px;height:28px;width:28px}.navbar-actions{gap:8px}.btn-icon{height:36px;width:36px}.hamburger{display:flex;margin-right:12px}.main-content{padding:20px 0}.mobile-sidebar{height:calc(100vh - 60px);top:60px}.mobile-overlay{top:60px}}@media (max-width:480px){.navbar{height:56px;padding:0 12px}.mobile-sidebar{height:calc(100vh - 56px);left:-280px;top:56px;width:280px}.mobile-overlay{top:56px}.navbar-brand{font-size:14px;margin-right:auto;min-width:0}.navbar-brand span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navbar-brand:before{height:26px;width:26px}.btn-icon{font-size:13px;height:34px;width:34px}.user-avatar{font-size:18px;height:46px;width:46px}.impersonation-banner{flex-direction:column;gap:8px;padding:6px 10px}.impersonation-banner-text{font-size:12px;text-align:center}.impersonation-banner-exit{font-size:13px;padding:6px 14px}}
/*# sourceMappingURL=main.1acd400b.css.map*/