.theme-toggle{align-items:center;color:#333;cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;position:relative;width:40px}.theme-toggle,.theme-toggle:active,.theme-toggle:focus,.theme-toggle:hover{background:none;border:none;box-shadow:none;outline:none}.theme-toggle svg{opacity:0;position:absolute;transform:rotate(-90deg) scale(.5);transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1)}.theme-toggle svg.active{opacity:1;transform:rotate(0deg) scale(1)}.dark-mode .theme-toggle{color:#fbbf24}.theme-transition-wave{height:100vh;pointer-events:none;position:fixed;right:-100%;top:0;transition:right .7s cubic-bezier(.65,0,.35,1);width:100%;z-index:9999}.theme-transition-wave.active{right:100%}.theme-transition-wave.to-dark{background:linear-gradient(270deg,#0000 0,#0f14194d 30%,#1a1f2eb3 45%,#1a1f2e 50%,#0f1419 55%,#0f1419)}.theme-transition-wave.to-light{background:linear-gradient(270deg,#0000 0,#f5f7fa4d 30%,#ffffffb3 45%,#fff 50%,#f5f7fa 55%,#f5f7fa)}.home-page{align-items:center;animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#b95799,#475fad);background-size:200% 200%;display:flex;justify-content:center;min-height:100vh;padding:20px}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.home-container{animation:fadeInScale .8s ease-out;max-width:1000px;width:100%}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.home-header{animation:slideDown .6s ease-out;margin-bottom:60px;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.home-title{color:#fff;font-size:48px;font-weight:700;letter-spacing:-.5px;margin-bottom:15px;text-shadow:0 4px 6px #0003}.home-subtitle{color:#ffffffe6;font-size:20px;font-weight:300}.role-cards-container{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));padding:0 20px}.role-card{animation:fadeInUp .8s ease-out;animation-fill-mode:both;background:#fff;border-radius:20px;box-shadow:0 10px 30px #0003;cursor:pointer;overflow:hidden;padding:40px 30px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.employee-card{animation-delay:.2s}.manager-card{animation-delay:.4s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.role-card:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s;width:100%}.role-card:hover:before{left:100%}.role-card:after{background:linear-gradient(135deg,#667eea1a,#764ba21a);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .4s;width:100%}.role-card:hover:after{opacity:1}.role-card:hover{box-shadow:0 20px 50px #0000004d;transform:translateY(-10px) scale(1.02)}.role-card:active{transform:translateY(-5px) scale(1.01)}.role-card-icon{align-items:center;border-radius:50%;color:#000;display:flex;height:80px;justify-content:center;margin:0 auto 25px;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);width:80px;z-index:1}.role-card-title{color:#333;font-size:28px;font-weight:700;margin-bottom:15px;position:relative;text-align:center;transition:color .3s;z-index:1}.role-card:hover .role-card-title{color:#667eea}.role-card-description{color:#666;font-size:16px;line-height:1.6;margin-bottom:20px;position:relative;text-align:center;z-index:1}.role-card-arrow{align-items:center;background:#f5f5f5;border-radius:50%;display:flex;height:40px;justify-content:center;margin:0 auto;position:relative;transition:all .3s;width:40px;z-index:1}.role-card-arrow svg{color:#667eea;height:24px;transition:transform .3s;width:24px}.role-card:hover .role-card-arrow{background:#667eea}.role-card:hover .role-card-arrow svg{color:#fff;transform:translateX(5px)}@media (max-width:768px){.home-title{font-size:36px}.home-subtitle{font-size:18px}.role-cards-container{gap:30px;grid-template-columns:1fr}.role-card{padding:35px 25px}.role-card-title{font-size:24px}.role-card-description{font-size:15px}}@media (max-width:480px){.home-title{font-size:28px}.home-subtitle{font-size:16px}.home-header{margin-bottom:40px}.role-card-icon{height:70px;width:70px}.role-card-icon svg{height:40px;width:40px}}.react-calendar{background:#fff;border:1px solid #a0a096;font-family:Arial,Helvetica,sans-serif;line-height:1.125em;max-width:100%;width:350px}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{display:flex;margin:-.5em}.react-calendar--doubleView .react-calendar__viewContainer>*{margin:.5em;width:50%}.react-calendar,.react-calendar *,.react-calendar :after,.react-calendar :before{box-sizing:border-box}.react-calendar button{border:0;margin:0;outline:none}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{display:flex;height:44px;margin-bottom:1em}.react-calendar__navigation button{background:none;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:focus,.react-calendar__navigation button:enabled:hover{background-color:#e6e6e6}.react-calendar__month-view__weekdays{font:inherit;font-size:.75em;font-weight:700;text-align:center;text-transform:uppercase}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{align-items:center;display:flex;font:inherit;font-size:.75em;font-weight:700;justify-content:center}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__century-view__decades__decade--neighboringCentury,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__month-view__days__day--neighboringMonth{color:#757575}.react-calendar__century-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__year-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{background:none;line-height:16px;font:inherit;font-size:.833em;max-width:100%;padding:10px 6.6667px;text-align:center}.react-calendar__tile:disabled{background-color:#f0f0f0;color:#ababab}.react-calendar__century-view__decades__decade--neighboringCentury:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__month-view__days__day--neighboringMonth:disabled{color:#cdcdcd}.react-calendar__tile:enabled:focus,.react-calendar__tile:enabled:hover{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:focus,.react-calendar__tile--now:enabled:hover{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:focus,.react-calendar__tile--hasActive:enabled:hover{background:#a9d4ff}.react-calendar__tile--active{background:#006edc;color:#fff}.react-calendar__tile--active:enabled:focus,.react-calendar__tile--active:enabled:hover{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.pagination-container{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-top:20px;padding:15px 0}.pagination-info{color:var(--text-secondary);font-size:14px}.pagination{gap:5px}.pagination,.pagination-btn{align-items:center;display:flex}.pagination-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;height:36px;justify-content:center;min-width:36px;padding:8px 12px;transition:all .25s ease}.pagination-btn:hover:not(:disabled){background:#007bff;border-color:#007bff;box-shadow:0 4px 8px #007bff4d;color:#fff;transform:translateY(-2px)}.pagination-btn.active{background:#007bff;border-color:#007bff;box-shadow:0 2px 6px #007bff4d;color:#fff}.pagination-btn:disabled{background:var(--bg-tertiary);cursor:not-allowed;opacity:.4}.pagination-ellipsis{color:var(--text-tertiary);font-weight:600;padding:0 8px}@media (max-width:968px){.pagination-container{align-items:center;flex-direction:column;max-width:100%;overflow-x:auto;width:100%}.pagination-info{font-size:13px;order:2}.pagination{flex-wrap:wrap;justify-content:center;order:1}.pagination-btn{font-size:13px;height:32px;min-width:32px;padding:6px 10px}}@media (max-width:480px){.pagination-btn{font-size:12px;height:28px;min-width:28px;padding:4px 8px}.pagination-info{font-size:12px}}.attendance-calendar{border:none;font-family:inherit;width:100%}.calendar-day-present{background-color:#d4edda!important;color:#155724!important}.calendar-day-absent{background-color:#f8d7da!important;color:#721c24!important}.calendar-day-late{background-color:#fff3cd!important;color:#856404!important}.calendar-day-half-day{background-color:#ffeaa7!important;color:#6c5ce7!important}.legend{border-radius:3px;display:inline-block;height:20px;margin-right:5px;vertical-align:middle;width:20px}.legend.present{background-color:#d4edda}.legend.absent{background-color:#f8d7da}.legend.late{background-color:#fff3cd}.legend.half-day{background-color:#ffeaa7}.toast{animation:slideInRight .3s ease-out,fadeOut .3s ease-out 2.7s;animation-fill-mode:both;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:500px;min-width:300px;padding:16px 20px;position:fixed;right:20px;top:20px;z-index:10000}@keyframes slideInRight{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.toast-content{gap:12px}.toast-content,.toast-icon{align-items:center;display:flex}.toast-icon{flex-shrink:0;justify-content:center}.toast-info .toast-icon{color:#007bff}.toast-success .toast-icon{color:#28a745}.toast-error .toast-icon{color:#dc3545}.toast-warning .toast-icon{color:#ffc107}.toast-message{color:#333;flex:1 1;font-size:14px;line-height:1.5}.toast-close{background:none;border:none;color:#999;cursor:pointer;font-size:24px;line-height:1;margin-left:15px;padding:0;transition:color .2s}.toast-close:hover{color:#333}.toast-info{border-left:4px solid #007bff}.toast-success{border-left:4px solid #28a745}.toast-error{border-left:4px solid #dc3545}.toast-warning{border-left:4px solid #ffc107}.apply-leave-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:20px}.leave-form{display:flex;flex-direction:column;gap:20px}.leave-form .form-group{display:flex;flex-direction:column;gap:8px}.leave-form label{color:var(--text-primary);font-weight:600}.leave-form input,.leave-form select,.leave-form textarea{background-color:var(--bg-secondary);border:2px solid var(--border-light);border-radius:8px;color:var(--text-primary);font-size:14px;padding:12px;transition:all .3s ease}.leave-form input:focus,.leave-form select:focus,.leave-form textarea:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.leave-form input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:brightness(0) saturate(100%);opacity:.7}.leave-form input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.dark-mode .leave-form input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:brightness(0) saturate(100%) invert(1);opacity:.8}.dark-mode .leave-form input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.leave-form textarea{font-family:inherit;resize:vertical}.leaves-table-container{overflow-x:auto}@media (max-width:968px){.apply-leave-container{grid-template-columns:1fr}}.report-problem-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:20px}.problem-form{display:flex;flex-direction:column;gap:20px}.form-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.problem-form .form-group{display:flex;flex-direction:column;gap:8px}.problem-form label{color:var(--text-primary);font-weight:600}.problem-form input,.problem-form select,.problem-form textarea{background-color:var(--bg-secondary);border:2px solid var(--border-light);border-radius:8px;color:var(--text-primary);font-size:14px;padding:12px;transition:all .3s ease}.problem-form input:focus,.problem-form select:focus,.problem-form textarea:focus{border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.problem-form textarea{font-family:inherit;resize:vertical}.report-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:20px;transition:box-shadow .3s ease}.report-item:hover{box-shadow:var(--shadow-md)}.report-header{align-items:center;margin-bottom:10px}.report-header h3{color:var(--text-primary);margin:0}.report-meta{gap:20px}.report-description,.report-meta{color:var(--text-secondary);margin-bottom:10px}.report-resolution{background:var(--bg-tertiary);border-left:4px solid #4caf50;border-radius:6px;margin-top:15px;padding:15px}.report-resolution strong{color:#4caf50}.report-resolution p{color:var(--text-primary);margin:8px 0}.resolved-date{color:var(--text-tertiary);font-size:12px;font-style:italic}.dark-mode .report-resolution{background:#4caf501a}.badge-urgent{background-color:#d32f2f;color:#fff}@media (max-width:968px){.form-row,.report-problem-container{grid-template-columns:1fr}}.custom-tooltip{background-color:#fffffff2!important;border:1px solid #e0e0e0!important;border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;padding:12px!important}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#e0e0e0;stroke-dasharray:3 3}.recharts-legend-wrapper{padding-top:20px!important}.recharts-legend-item{margin-right:20px!important}.recharts-tooltip-wrapper{z-index:1000}.recharts-bar{transition:opacity .3s ease}.recharts-bar:hover{opacity:.8}.recharts-area{transition:opacity .3s ease}.recharts-tooltip-wrapper{pointer-events:none;z-index:9999!important}.recharts-default-tooltip{background-color:initial!important;border:none!important}.recharts-tooltip-wrapper *{color:inherit!important}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.dark-mode .recharts-cartesian-axis-tick-value,.dark-mode .recharts-label,.dark-mode .recharts-legend-item-text,.dark-mode .recharts-text{fill:#cbd5e0!important}.dark-mode .recharts-tooltip-wrapper{filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}@media (max-width:968px){.charts-grid{grid-template-columns:1fr!important}.recharts-responsive-container{height:300px!important}.recharts-legend-wrapper{font-size:12px!important}.recharts-cartesian-axis-tick text{font-size:11px!important}.recharts-legend-item-text{font-size:12px!important}}@media (max-width:480px){.recharts-responsive-container{height:280px!important}.recharts-cartesian-axis-tick text{font-size:10px!important}.recharts-legend-wrapper{font-size:11px!important}.recharts-legend-item{margin-right:10px!important}.recharts-legend-item-text{font-size:11px!important}.custom-tooltip{font-size:12px!important;padding:8px!important}}.attendance-view-container{margin-top:20px}.attendance-section,.attendance-view-container,.best-employees-section{display:flex;flex-direction:column;gap:20px}.best-employees-section{animation:fadeIn .3s ease}.card-header-with-toggle{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.card-header-with-toggle h2{margin:0}.toggle-label{align-items:center;color:var(--text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;-webkit-user-select:none;user-select:none}.toggle-switch{height:26px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#ccc;border-radius:26px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:3px;content:"";height:20px;left:3px;position:absolute;transition:.3s;width:20px}.toggle-switch input:checked+.toggle-slider{background-color:#4caf50}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 1px #4caf50}.best-employees-container{display:flex;flex-direction:column;gap:20px;margin-top:20px}.filters-section{margin-bottom:20px}.filters-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{color:var(--text-primary);font-weight:600}.filter-group select{background-color:var(--bg-secondary);border:2px solid var(--border-light);border-radius:8px;color:var(--text-primary);font-size:14px;padding:10px}.top-performers-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(5,1fr);margin-top:20px}.performer-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 15px #0003;color:#fff;padding:15px;position:relative;transition:transform .3s ease,box-shadow .3s ease}.performer-card:hover{box-shadow:0 6px 20px #0000004d;transform:translateY(-3px)}.performer-card:first-child{background:linear-gradient(135deg,#f093fb,#f5576c)}.performer-card:nth-child(2){background:linear-gradient(135deg,#4facfe,#00f2fe)}.performer-card:nth-child(3){background:linear-gradient(135deg,#43e97b,#38f9d7)}.performer-card:nth-child(4){background:linear-gradient(135deg,#fa709a,#fee140)}.performer-card:nth-child(5){background:linear-gradient(135deg,#30cfd0,#330867)}.performer-rank{background:#ffffff4d;border-radius:15px;font-size:14px;font-weight:700;padding:5px 10px;position:absolute;right:10px;top:10px}.performer-info{margin-bottom:15px}.performer-info h3{font-size:16px;margin:0 0 5px}.performer-id{font-size:11px;margin:3px 0;opacity:.9}.performer-dept{font-size:10px;margin:3px 0;opacity:.8}.performer-stats{gap:10px}.performer-stats,.stat-item{display:flex;flex-direction:column}.stat-item{gap:5px}.stat-label{font-size:10px;opacity:.8}.stat-value{font-size:18px}.stat-badge{border-radius:10px;display:inline-block;font-size:9px;font-weight:700;margin-top:3px;padding:3px 8px;width:-webkit-fit-content;width:fit-content}.stat-row{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr)}.stat-mini{background:#fff3;border-radius:6px;padding:6px;text-align:center}.stat-mini-label{display:block;font-size:9px;margin-bottom:3px;opacity:.8}.stat-mini-value{display:block;font-size:14px;font-weight:700}.all-employees-table-container{overflow-x:auto}.rank-badge{border-radius:15px;color:#fff;display:inline-block;font-size:12px;font-weight:700;padding:5px 10px}@media (max-width:1200px){.top-performers-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:968px){.filters-row,.top-performers-grid{grid-template-columns:1fr}.all-employees-table-container+.pagination-container,.card .table-container+.pagination-container{max-width:100%;overflow-x:auto}}.form-group input:disabled,.form-group select:disabled{background-color:var(--bg-hover);cursor:not-allowed;opacity:.5}.form-group label{transition:opacity .3s ease}.form-group:has(input:disabled) label,.form-group:has(select:disabled) label{opacity:.5}.team-calendar{border:none;font-family:inherit;width:100%}.react-calendar__tile{border-radius:4px;transition:background-color .2s ease,transform .2s ease,box-shadow .2s ease}.react-calendar__tile:hover{box-shadow:0 2px 8px #0003;z-index:1}@media (max-width:968px){.page>div[style*=grid]{grid-template-columns:1fr!important}.card>div[style*=flex]{align-items:flex-start!important;flex-direction:column!important}.card h2{margin-bottom:10px!important}.page>div[style*=grid]>.card{display:flex;flex-direction:column;max-height:600px;overflow-y:auto}.card .table-container{flex-shrink:0;max-height:400px;overflow-x:auto;overflow-y:auto}.card .table-container+.pagination-container{flex-shrink:0;max-width:100%;overflow-x:auto}}@media (max-width:768px){.page>div[style*=grid]{grid-template-columns:1fr!important}}@media (max-width:480px){table{font-size:13px}table td,table th{padding:8px 6px}.page>div[style*=grid]>.card{max-height:500px}.card .table-container{max-height:300px}}.profile-container{display:flex;flex-direction:column;gap:20px;margin-top:20px}.profile-stats-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.profile-info{display:flex;flex-direction:column;gap:15px}.info-item{border-bottom:1px solid var(--border-color);padding:10px 0}.info-item:last-child{border-bottom:none}.score-header{justify-content:space-between;margin-bottom:20px}.score-header,.year-selector{align-items:center;display:flex}.year-selector{gap:10px}.year-selector label{color:var(--text-primary);font-weight:600}.year-selector select{background-color:var(--bg-secondary);border:2px solid var(--border-light);border-radius:8px;color:var(--text-primary);font-size:14px;padding:8px 12px}.score-container{display:flex;flex-direction:column;gap:20px;padding:10px 0}.score-circle-wrapper{gap:20px}.score-circle,.score-circle-wrapper{align-items:center;display:flex;justify-content:center}.score-circle{background:var(--bg-tertiary);border:5px solid;border-radius:50%;box-shadow:var(--shadow-md);flex-shrink:0;height:100px;width:100px}.score-value{font-size:28px;font-weight:700}.score-badge{border-radius:20px;box-shadow:var(--shadow-sm);color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px;padding:8px 18px;text-transform:uppercase;white-space:nowrap}.score-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);width:100%}.stat-box{background:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:10px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center;padding:18px 10px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.stat-box:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-value{color:var(--text-primary);font-size:32px;font-weight:700;line-height:1;margin-bottom:6px}.stat-label{color:var(--text-secondary);font-size:12px;font-weight:500;line-height:1.2}.heatmap-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.timeframe-selector select{background:var(--bg-secondary);border:2px solid var(--border-light);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 12px}.minimal-heatmap-container{background:var(--bg-tertiary);border-radius:12px;box-shadow:var(--shadow-md);overflow-x:auto;padding:20px}.minimal-heatmap-wrapper{display:flex;justify-content:center;margin-bottom:20px}.heatmap-grid-wrapper{align-items:center;display:flex;flex:1 1;flex-direction:column;min-width:0}.minimal-heatmap-grid{background:var(--bg-secondary);border-radius:8px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:3px;padding:10px}.heatmap-row{align-items:flex-start;display:flex;gap:3px}.minimal-heatmap-cell{border:1px solid #0000001a;border-radius:3px;cursor:pointer;flex-shrink:0;height:16px;transition:all .2s ease;width:16px}.minimal-heatmap-cell:hover{border:1px solid #0000004d;box-shadow:0 2px 8px #0006;transform:scale(1.4);z-index:10}.dark-mode .minimal-heatmap-cell{border:1px solid #ffffff1a}.dark-mode .minimal-heatmap-cell:hover{border:1px solid #ffffff4d;box-shadow:0 2px 8px #ffffff4d}.heatmap-month-labels{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:flex-start;margin-top:12px;max-width:-webkit-fit-content;max-width:fit-content;padding-left:10px;padding-right:10px}.month-label{box-sizing:border-box;color:var(--text-secondary);flex-shrink:0;font-size:12px;font-weight:600;min-width:0;padding:2px 0;text-align:center}.minimal-heatmap-legend{align-items:center;background:var(--bg-secondary);border-radius:8px;box-shadow:var(--shadow-sm);color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:13px;gap:25px;justify-content:center;margin-top:20px;padding:15px}.legend-item{align-items:center;display:flex;font-weight:500;gap:8px}.legend-square{border:1px solid #0003;border-radius:3px;box-shadow:0 1px 2px #0000001a;height:14px;width:14px}.dark-mode .legend-square{border:1px solid #fff3}@media (max-width:968px){.profile-stats-container{grid-template-columns:1fr}.profile-stats-container>.card{max-height:550px;overflow-x:hidden;overflow-y:auto}.score-stats{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr)}.score-circle-wrapper{flex-direction:column;gap:12px}.heatmap-header,.score-header{align-items:flex-start;flex-direction:column;gap:15px}.minimal-heatmap-container{max-width:100%;overflow-x:auto;padding:15px 10px}.minimal-heatmap-wrapper{max-width:100%}.minimal-heatmap-cell{height:14px;width:14px}.month-label{font-size:11px}.minimal-heatmap-legend{font-size:12px;gap:15px}.legend-square{height:12px;width:12px}}@media (max-width:480px){.profile-stats-container>.card{max-height:480px;overflow-x:hidden;overflow-y:auto}.score-stats{gap:8px;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr)}.stat-box{padding:10px 6px}.stat-value{font-size:22px}.stat-label{font-size:10px}.score-circle{border-width:4px;height:75px;width:75px}.score-value{font-size:20px}.score-badge{font-size:10px;padding:5px 14px}.score-container{gap:15px;padding:10px 0}.minimal-heatmap-container{max-width:100%;padding:10px 6px}.minimal-heatmap-cell{height:11px;width:11px}.minimal-heatmap-grid{gap:2px;padding:6px}.heatmap-row{gap:2px}.month-label{font-size:9px}.minimal-heatmap-legend{font-size:10px;gap:8px;padding:8px 10px}.legend-item{gap:5px}.legend-square{height:9px;width:9px}}.approvals-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:10px;margin-bottom:20px;padding-bottom:0}.tab-button{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#666;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;padding:12px 24px;position:relative;transition:all .25s ease}.tab-button:hover{background:#007bff0d;color:#007bff}.tab-button.active{border-bottom-color:#007bff;color:#007bff;font-weight:600}.tab-badge{background:#dc3545;border-radius:12px;color:#fff;font-size:12px;font-weight:600;min-width:20px;padding:2px 8px;text-align:center}.tab-button.active .tab-badge{background:#007bff}.tab-content{animation:fadeIn .3s ease-out}.tab-panel{min-height:300px}.no-data{color:#666;font-size:16px;padding:40px 20px;text-align:center}.reports-list{display:flex;flex-direction:column;gap:15px}.report-card{border:1px solid #e0e0e0;border-radius:8px;padding:20px;transition:box-shadow .25s ease,transform .25s ease}.report-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.report-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:15px}.report-header h3{color:#333;font-size:18px;margin:0 0 10px}.report-meta{color:#666;display:flex;flex-direction:column;font-size:14px;gap:5px}.report-badges{display:flex;flex-shrink:0;gap:8px}.report-description{color:#555;line-height:1.6;margin-bottom:15px}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:scaleIn .2s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:500px;overflow-y:auto;padding:30px;width:90%}.modal-content.modal-large{max-width:600px}.modal-content h3{color:#333;font-size:22px;margin:0 0 20px}.modal-body{margin-bottom:20px}.modal-body p{color:#555;margin:10px 0}.modal-body p strong{color:#333;margin-right:8px}.modal-actions{display:flex;gap:10px;margin-top:20px}.modal-actions button{flex:1 1}@media (max-width:968px){.approvals-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto;scrollbar-width:thin}.tab-button{min-width:-webkit-fit-content;min-width:fit-content;white-space:nowrap}.report-card{padding:15px}.report-header{flex-direction:column;gap:15px}.report-badges{align-self:flex-start}.report-meta{font-size:13px}}@media (max-width:768px){.approvals-tabs{border-bottom:none;flex-direction:column;gap:0}.tab-button{border-bottom:1px solid #e0e0e0;border-left:3px solid #0000;justify-content:space-between;padding:15px 20px}.tab-button.active{border-bottom-color:#e0e0e0;border-left-color:#007bff}.modal-content{max-height:85vh;padding:20px;width:95%}.modal-actions{flex-direction:column;gap:10px}.modal-actions button{width:100%}.table-container{font-size:14px}table td,table th{padding:10px 8px}}@media (max-width:480px){.tab-button{font-size:14px;padding:12px 15px}.report-card{padding:12px}.report-header h3{font-size:16px}.report-meta{font-size:12px}.modal-content{padding:15px}}.App{background-color:var(--bg-primary);min-height:100vh;transition:background-color .3s ease}.navbar{background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:var(--shadow-md);color:#fff;padding:15px 0;transition:background .3s ease}.dark-mode .navbar{background:linear-gradient(135deg,#1a1f2e,#252d3d);border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px #000c}.navbar-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px;position:relative}.navbar-brand{font-size:24px;font-weight:700}.navbar-right{gap:15px}.navbar-links,.navbar-right{align-items:center;display:flex}.navbar-links{gap:20px}.navbar-links a{border-radius:8px;color:#fff;display:inline-block;overflow:hidden;padding:8px 15px;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.navbar-links a:before{background:#ffffff26;content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .4s ease;width:100%;z-index:0}.navbar-links a:hover:before{left:0}.navbar-links a:after{background:#fff;border-radius:2px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s cubic-bezier(.34,1.56,.64,1);width:0}.navbar-links a:hover:after{width:80%}.navbar-links a:hover{background-color:#ffffff1a;transform:translateY(-2px)}.navbar-links a.active:after{background:#fff;box-shadow:0 0 10px #fffc;width:80%}.navbar-links a.active{background-color:#fff3;box-shadow:0 2px 8px #0003;font-weight:600}.navbar-badge{animation:pulse 2s infinite;background-color:#f44;border-radius:10px;color:#fff;display:inline-block;font-size:11px;font-weight:700;line-height:14px;margin-left:6px;min-width:18px;padding:2px 6px;text-align:center}.navbar-links button{background-color:initial;border:2px solid #fff;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;overflow:hidden;padding:8px 15px;position:relative;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.navbar-links button:before{background:#fff3;content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .4s ease;width:100%;z-index:0}.navbar-links button:hover:before{left:0}.navbar-links button:hover{background-color:#ffffff26;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.navbar-links button:active{box-shadow:0 2px 6px #0003;transform:translateY(0)}.navbar-links .theme-toggle{border:none!important;padding:0!important;transition:none!important}.navbar-links .theme-toggle:before{display:none!important}.navbar-links .theme-toggle:hover{background-color:initial!important}.navbar-links .theme-toggle:active,.navbar-links .theme-toggle:hover{box-shadow:none!important;transform:none!important}.page{animation:fadeIn .3s ease-out;margin:0 auto;max-width:1200px;padding:20px;will-change:opacity}.page-header{margin-bottom:30px}.page-header h1{color:var(--text-primary);font-size:32px;margin-bottom:10px}.page-header p{color:var(--text-secondary);font-size:16px}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{background:var(--bg-secondary);border-left:1px solid var(--border-color);border:1px solid var(--border-light);border-left-width:4px;border-radius:8px;box-shadow:var(--shadow-sm);overflow:hidden;padding:20px;position:relative;transition:box-shadow .25s ease,transform .25s ease,background-color .3s ease}.stat-card:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.stat-card:hover:before{left:100%}.stat-card:hover{box-shadow:0 6px 16px #00000026;transform:translateY(-4px)}.stat-card h3{color:var(--text-secondary);font-size:14px;margin-bottom:10px;text-transform:uppercase;transition:color .3s}.stat-card .value,.stat-card:hover h3{color:var(--text-primary)}.stat-card .value{display:inline-block;font-size:32px;font-weight:700;transition:transform .3s}.stat-card:hover .value{transform:scale(1.1)}.stat-card.primary{background:var(--bg-secondary);border-left-color:#007bff}.stat-card.primary .value{color:#007bff}.dark-mode .stat-card.primary{background:linear-gradient(135deg,#3b82f61a 0,var(--bg-secondary) 100%);border-left-color:#3b82f6}.dark-mode .stat-card.primary .value{color:#60a5fa}.stat-card.success{background:var(--bg-secondary);border-left-color:#28a745}.stat-card.success .value{color:#28a745}.dark-mode .stat-card.success{background:linear-gradient(135deg,#10b9811a 0,var(--bg-secondary) 100%);border-left-color:#10b981}.dark-mode .stat-card.success .value{color:#34d399}.stat-card.danger{background:var(--bg-secondary);border-left-color:#dc3545}.stat-card.danger .value{color:#dc3545}.dark-mode .stat-card.danger{background:linear-gradient(135deg,#ef44441a 0,var(--bg-secondary) 100%);border-left-color:#ef4444}.dark-mode .stat-card.danger .value{color:#f87171}.stat-card.warning{background:var(--bg-secondary);border-left-color:#ffc107}.stat-card.warning .value{color:#ffc107}.dark-mode .stat-card.warning{background:linear-gradient(135deg,#f59e0b1a 0,var(--bg-secondary) 100%);border-left-color:#f59e0b}.dark-mode .stat-card.warning .value{color:#fbbf24}.table-container{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;box-shadow:var(--shadow-sm);overflow-x:auto}table{border-collapse:collapse;width:100%}table td,table th{border-bottom:1px solid var(--border-light);color:var(--text-primary);padding:12px;text-align:left}table th{background-color:var(--bg-tertiary);color:var(--text-primary);font-weight:600}table tbody tr{transition:box-shadow .3s ease}table tbody tr:hover{box-shadow:0 2px 8px #0000001a}.badge{animation:scaleIn .3s ease-out;background:#0000;border:2px solid;border-radius:20px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:5px 14px;text-transform:uppercase;transition:all .3s ease}.dark-mode .badge{border-width:2px}.badge-present{border-color:#28a745;color:#28a745}.dark-mode .badge-present{border-color:#10b981;color:#34d399}.badge-absent{border-color:#dc3545;color:#dc3545}.dark-mode .badge-absent{border-color:#ef4444;color:#f87171}.badge-late{border-color:#ffc107;color:#f59e0b}.dark-mode .badge-late{border-color:#f59e0b;color:#fbbf24}.badge-half-day{border-color:#6c5ce7;color:#6c5ce7}.dark-mode .badge-half-day{border-color:#8b5cf6;color:#a78bfa}.badge-primary{border-color:#007bff;color:#007bff}.dark-mode .badge-primary{border-color:#3b82f6;color:#60a5fa}.badge-success{border-color:#28a745;color:#28a745}.dark-mode .badge-success{border-color:#10b981;color:#34d399}.badge-danger{border-color:#dc3545;color:#dc3545}.dark-mode .badge-danger{border-color:#ef4444;color:#f87171}.badge-warning{border-color:#ffc107;color:#f59e0b}.dark-mode .badge-warning{border-color:#f59e0b;color:#fbbf24}.badge-pending{border-color:#ffc107;color:#f59e0b}.dark-mode .badge-pending{border-color:#f59e0b;color:#fbbf24}.badge-approved{border-color:#28a745;color:#28a745}.dark-mode .badge-approved{border-color:#10b981;color:#34d399}.badge-rejected{border-color:#dc3545;color:#dc3545}.dark-mode .badge-rejected{border-color:#ef4444;color:#f87171}.badge-open{border-color:#007bff;color:#007bff}.dark-mode .badge-open{border-color:#3b82f6;color:#60a5fa}.badge-in-progress{border-color:#ffc107;color:#f59e0b}.dark-mode .badge-in-progress{border-color:#f59e0b;color:#fbbf24}.badge-resolved{border-color:#28a745;color:#28a745}.dark-mode .badge-resolved{border-color:#10b981;color:#34d399}.badge-closed{border-color:#6c757d;color:#6c757d}.dark-mode .badge-closed{border-color:#6b7280;color:#9ca3af}.calendar-container{animation:fadeIn .5s ease-out;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px}.react-calendar{transition:opacity .2s ease}.react-calendar__tile{transition:background-color .2s ease,transform .2s ease}.react-calendar__tile:hover{background-color:#e3f2fd!important;transform:scale(1.05)}.react-calendar__tile--active{background:#3b82f6!important;color:#fff!important}.react-calendar__tile--active:enabled:hover{background:#2563eb!important;color:#fff!important}.react-calendar__tile--active:enabled:focus{background:#3b82f6!important;color:#fff!important}.form-container{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;box-shadow:var(--shadow-sm);margin:0 auto;max-width:500px;padding:30px;transition:box-shadow .3s,background-color .3s ease}.form-container:hover{box-shadow:var(--shadow-md)}.form-container h2{color:var(--text-primary);margin-bottom:20px;text-align:center}.form-group input,.form-group select{transition:border-color .2s ease,box-shadow .2s ease}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 4px 8px #007bff33}.password-input-custom::-ms-clear,.password-input-custom::-ms-reveal{display:none}.password-input-custom::-webkit-contacts-auto-fill-button,.password-input-custom::-webkit-credentials-auto-fill-button{pointer-events:none;position:absolute;right:0;visibility:hidden}a,button,input,select,textarea{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.ripple{overflow:hidden;position:relative}.ripple:after{background:#ffffff80;border-radius:50%;content:"";height:0;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease,opacity .6s ease;width:0}.ripple:active:after{height:200px;opacity:1;transition:0s;width:200px}.glow-on-hover{transition:all .3s ease}.glow-on-hover:hover{filter:drop-shadow(0 0 10px rgba(102,126,234,.5))}.theme-toggle-mobile{display:none}.theme-toggle-desktop{display:block}@media (max-width:968px){.theme-toggle-mobile{display:block}.theme-toggle-desktop{display:none}.navbar-right .theme-toggle{background:#ffffff1a;border-radius:8px;padding:8px}.navbar-right .theme-toggle:hover{background:#fff3}}.mobile-menu-toggle{align-items:center;background:#0000;border:none;border-radius:4px;color:#fff;cursor:pointer;display:none;flex-direction:column;gap:5px;height:40px;justify-content:center;padding:8px;position:relative;transition:background-color .3s ease;width:40px;z-index:1001}.mobile-menu-toggle:hover{background-color:#ffffff1a}.hamburger-line{background-color:#fff;border-radius:2px;display:block;height:3px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s cubic-bezier(.68,-.55,.265,1.55);width:24px}.hamburger-line:first-child{top:10px}.hamburger-line:nth-child(2){top:18px}.hamburger-line:nth-child(3){top:26px}.mobile-menu-toggle.open .hamburger-line:first-child{top:18px;transform:translateX(-50%) rotate(45deg)}.mobile-menu-toggle.open .hamburger-line:nth-child(2){opacity:0;transform:translateX(-50%) scaleX(0)}.mobile-menu-toggle.open .hamburger-line:nth-child(3){top:18px;transform:translateX(-50%) rotate(-45deg)}@media (max-width:968px){.navbar-content{position:relative}.mobile-menu-toggle{display:block}.navbar-links{background:#007bff;box-shadow:0 4px 12px #0003;flex-direction:column;gap:10px;left:0;max-height:0;opacity:0;overflow:hidden;padding:0;position:absolute;right:0;top:calc(100% + 15px);transition:max-height .3s ease,opacity .3s ease,padding .3s ease;z-index:999}.dark-mode .navbar-links{background:#1a1f2e}.navbar-links.mobile-open{max-height:600px;opacity:1;padding:20px}.navbar-links a,.navbar-links button{padding:12px 15px;text-align:left;width:100%}.stats-grid{gap:15px;grid-template-columns:repeat(2,1fr)}.page{padding:15px 10px}.charts-grid{grid-template-columns:1fr!important}.toast{left:10px;max-width:none;min-width:auto;right:10px}.table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}table{min-width:600px}}@media (max-width:480px){.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.page-header h1{font-size:22px}.page-header p{font-size:13px}.card{padding:15px}.card h2{font-size:18px}.btn{font-size:14px;padding:10px 16px}.navbar-brand{font-size:18px}.form-container{padding:20px}.modal-content{padding:20px;width:95%}.charts-grid{grid-template-columns:1fr!important}.charts-grid .card{padding:12px}.charts-grid .card h2{font-size:16px;margin-bottom:15px!important}.stat-card{padding:15px 10px}.stat-card h3{font-size:12px}.stat-card .value{font-size:28px}.card>div[style*=flex][style*="gap: 20px"]{flex-direction:row!important;gap:10px!important}.card>div[style*=flex]>.form-group{flex:1 1!important;min-width:0!important}.card>div[style*=flex]>.form-group select{font-size:14px!important;padding:8px!important}}.dark-mode .react-calendar{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.dark-mode .react-calendar__navigation button{background:#0000;color:var(--text-primary)}.dark-mode .react-calendar__navigation button:hover{background:var(--bg-hover)}.dark-mode .react-calendar__navigation button:disabled{background:#0000;color:var(--text-tertiary)}.dark-mode .react-calendar__month-view__weekdays{border-bottom:1px solid var(--border-color);color:var(--text-secondary)}.dark-mode .react-calendar__month-view__weekdays__weekday abbr{color:var(--text-secondary);font-weight:600;text-decoration:none}.dark-mode .react-calendar__tile{background:#0000;color:var(--text-primary)}.dark-mode .react-calendar__tile:enabled:hover{background:var(--bg-hover)}.dark-mode .react-calendar__tile:enabled:focus{background:var(--bg-tertiary)}.dark-mode .react-calendar__tile--now{background:#3b82f633;color:#60a5fa}.dark-mode .react-calendar__tile--now:enabled:hover{background:#3b82f64d}.dark-mode .react-calendar__tile--active{background:#3b82f6!important;color:#fff!important}.dark-mode .react-calendar__tile--active:enabled:hover{background:#2563eb!important;color:#fff!important}.dark-mode .react-calendar__tile--active:enabled:focus{background:#3b82f6!important;color:#fff!important}.dark-mode .react-calendar__month-view__days__day--neighboringMonth{color:var(--text-tertiary)}.dark-mode .react-calendar__century-view .react-calendar__tile,.dark-mode .react-calendar__decade-view .react-calendar__tile,.dark-mode .react-calendar__year-view .react-calendar__tile{color:var(--text-primary)}.dark-mode .calendar-day-present{background:#10b9814d!important;color:#34d399!important;font-weight:600}.dark-mode .calendar-day-absent{background:#ef44444d!important;color:#f87171!important;font-weight:600}.dark-mode .calendar-day-late{background:#f59e0b4d!important;color:#fbbf24!important;font-weight:600}.dark-mode .calendar-day-half-day{background:#8b5cf64d!important;color:#a78bfa!important;font-weight:600}.dark-mode .calendar-container{background:var(--bg-secondary);border:1px solid var(--border-color)}.dark-mode .legend{border:2px solid}.dark-mode .legend.present{background:#10b9814d;border-color:#10b981}.dark-mode .legend.absent{background:#ef44444d;border-color:#ef4444}.dark-mode .legend.late{background:#f59e0b4d;border-color:#f59e0b}.dark-mode .legend.half-day{background:#8b5cf64d;border-color:#8b5cf6}:root{--bg-primary:#f5f7fa;--bg-secondary:#fff;--bg-tertiary:#f8f9fa;--bg-hover:#f0f2f5;--text-primary:#1a1a1a;--text-secondary:#4a5568;--text-tertiary:#718096;--border-color:#e2e8f0;--border-light:#edf2f7;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026;--btn-primary:#007bff;--btn-primary-hover:#0056b3;--btn-success:#28a745;--btn-success-hover:#218838;--btn-danger:#dc3545;--btn-danger-hover:#c82333;--btn-secondary:#6c757d;--btn-secondary-hover:#5a6268;color-scheme:light}.dark-mode{--bg-primary:#0f1419;--bg-secondary:#1a1f2e;--bg-tertiary:#252d3d;--bg-hover:#2d3748;--text-primary:#f7fafc;--text-secondary:#cbd5e0;--text-tertiary:#a0aec0;--border-color:#2d3748;--border-light:#252d3d;--shadow-sm:0 1px 3px #00000080;--shadow-md:0 4px 6px #0009;--shadow-lg:0 10px 15px #000000b3;--shadow-xl:0 20px 25px #000c;--btn-primary:#3b82f6;--btn-primary-hover:#2563eb;--btn-success:#10b981;--btn-success-hover:#059669;--btn-danger:#ef4444;--btn-danger-hover:#dc2626;--btn-secondary:#6b7280;--btn-secondary-hover:#4b5563;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;background-color:var(--bg-primary);color:#1a1a1a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:0 20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.fade-in{animation:fadeIn .2s ease-out}.slide-in{animation:slideIn .2s ease-out}.scale-in{animation:scaleIn .2s ease-out}.btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;letter-spacing:.3px;overflow:hidden;padding:10px 20px;position:relative;transform:translateY(0);transition:all .25s ease}.btn:before{background:#fff6;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .5s ease-out,height .5s ease-out;width:0;z-index:0}.btn:hover:before{height:400px;width:400px}.btn:after{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%;z-index:1}.btn:hover:after{left:100%}.btn>*{position:relative;z-index:2}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0);transition:all .1s ease}.btn-primary{background:#007bff;background:var(--btn-primary);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);color:#fff}.btn-primary:hover{background:#0056b3;background:var(--btn-primary-hover);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg)}.btn-primary:active{box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm)}.btn-success{background:#28a745;background:var(--btn-success);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);color:#fff}.btn-success:hover{background:#218838;background:var(--btn-success-hover);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg)}.btn-success:active{box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm)}.btn-danger{background:#dc3545;background:var(--btn-danger);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);color:#fff}.btn-danger:hover{background:#c82333;background:var(--btn-danger-hover);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg)}.btn-danger:active{box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm)}.btn-secondary{background:#6c757d;background:var(--btn-secondary);box-shadow:0 4px 6px #0000001a;box-shadow:var(--shadow-md);color:#fff}.btn-secondary:hover{background:#5a6268;background:var(--btn-secondary-hover);box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg)}.btn-secondary:active{box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm)}.btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.6;pointer-events:none;transform:none!important}.btn:disabled:after,.btn:disabled:before{display:none}.btn-sm{border-radius:6px;font-size:14px;padding:6px 14px}.btn-lg{border-radius:10px;font-size:18px;padding:14px 28px}.btn svg{display:inline-block;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.btn:hover svg{transform:scale(1.1) rotate(5deg)}@keyframes btnPulse{0%,to{box-shadow:0 4px 15px #007bff4d}50%{box-shadow:0 4px 25px #007bff99}}.btn-pulse{animation:btnPulse 2s ease-in-out infinite}.btn-loading{color:#0000!important;pointer-events:none;position:relative}.btn-loading:after{animation:btnSpin .6s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;content:"";height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px;z-index:3}@keyframes btnSpin{to{transform:rotate(1turn)}}.btn-group{display:flex;flex-wrap:wrap;gap:10px}.btn-group .btn{flex:1 1;min-width:-webkit-fit-content;min-width:fit-content}.btn-outline-primary{background:#0000;border:2px solid #007bff;box-shadow:none;color:#007bff}.btn-outline-primary:hover{background:linear-gradient(135deg,#007bff,#0056b3);border-color:#0000;box-shadow:0 6px 25px #007bff66;color:#fff}.btn-outline-success{background:#0000;border:2px solid #28a745;box-shadow:none;color:#28a745}.btn-outline-success:hover{background:linear-gradient(135deg,#28a745,#218838);border-color:#0000;box-shadow:0 6px 25px #28a74566;color:#fff}.btn-outline-danger{background:#0000;border:2px solid #dc3545;box-shadow:none;color:#dc3545}.btn-outline-danger:hover{background:linear-gradient(135deg,#dc3545,#c82333);border-color:#0000;box-shadow:0 6px 25px #dc354566;color:#fff}.card{background:#fff;background:var(--bg-secondary);border:1px solid #edf2f7;border:1px solid var(--border-light);border-radius:12px;box-shadow:0 1px 3px #0000001a;box-shadow:var(--shadow-sm);margin-bottom:20px;padding:20px;position:relative;transition:box-shadow .25s ease,transform .25s ease,background-color .3s ease}.card:hover{box-shadow:0 10px 15px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-4px)}.form-group{margin-bottom:15px}.form-group label{display:block;font-weight:500;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{background:#fff;background:var(--bg-secondary);border:2px solid #edf2f7;border:2px solid var(--border-light);border-radius:8px;color:#1a1a1a;color:var(--text-primary);font-size:16px;padding:12px;transition:all .3s cubic-bezier(.34,1.56,.64,1);width:100%}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#e2e8f0;border-color:var(--border-color)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 4px #007bff1a,0 4px 12px #007bff26;outline:none;transform:translateY(-2px)}.form-group textarea{min-height:100px;resize:vertical}.error{background:#dc35451a;border-left:3px solid #dc3545;border-radius:6px;color:#dc3545;font-size:14px;margin-top:5px;padding:10px}.dark-mode .error{background:#dc354526;border-left-color:#ef4444;color:#fca5a5}.success{background:#28a7451a;border-left:3px solid #28a745;border-radius:6px;color:#28a745;font-size:14px;margin-top:5px;padding:10px}.dark-mode .success{background:#10b98126;border-left-color:#10b981;color:#86efac}.loading{animation:pulse 1.5s ease-in-out infinite;padding:20px;text-align:center}.loading:after{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;content:"";display:inline-block;height:20px;margin-left:10px;width:20px}.loading-spinner-container{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px}.spinner{display:inline-block;position:relative}.spinner-small{height:30px;width:30px}.spinner-medium{height:50px;width:50px}.spinner-large{height:70px;width:70px}.spinner-ring{animation:spin 1s linear infinite;border:3px solid #0000;border-radius:50%;border-top-color:#007bff;height:100%;position:absolute;width:100%}.spinner-ring:first-child{animation-duration:1s}.spinner-ring:nth-child(2){animation-direction:reverse;animation-duration:1.2s;border-top-color:#28a745;height:80%;left:10%;top:10%;width:80%}.spinner-ring:nth-child(3){animation-duration:1.4s;border-top-color:#ffc107;height:60%;left:20%;top:20%;width:60%}.spinner-ring:nth-child(4){animation-direction:reverse;animation-duration:1.6s;border-top-color:#dc3545;height:40%;left:30%;top:30%;width:40%}.loading-text{animation:pulse 1.5s ease-in-out infinite;color:#666;font-size:14px;margin-top:20px}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:4px}@media (max-width:768px){.btn{font-size:15px;padding:10px 16px}.btn-sm{font-size:13px;padding:6px 12px}.form-group label{font-size:14px}.form-group input,.form-group select,.form-group textarea{font-size:15px;padding:10px}.card{margin-bottom:15px;padding:15px}}@media (max-width:480px){.btn{font-size:14px;min-height:44px;padding:12px 16px}.btn-group{flex-direction:column}.btn-group .btn{width:100%}.form-group input,.form-group select,.form-group textarea{font-size:16px;padding:12px}.badge{font-size:11px;padding:4px 8px}}.btn-animated{align-items:center;display:inline-flex;justify-content:center;overflow:hidden;position:relative}.btn-animated span,.btn-animated svg{position:relative;transition:transform .3s cubic-bezier(.34,1.56,.64,1);z-index:2}.btn-animated:hover{transform:translateY(-3px)}.btn-animated:hover span{transform:translateX(-4px)}.btn-animated:hover svg{transform:translateX(8px) scale(1.1)}.btn-animated:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0;z-index:1}.btn-animated:hover:before{height:400px;width:400px}.btn-animated:active{box-shadow:0 3px 12px #007bff80;transform:translateY(-1px) scale(.98)}
/*# sourceMappingURL=main.26bb2562.css.map*/