.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--bg-card);border-right:1px solid var(--border-color);display:flex;flex-direction:column;z-index:100}.sidebar-header{padding:20px;border-bottom:1px solid var(--border-color)}.logo{display:flex;align-items:center;gap:12px}.logo-icon{width:140px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;padding:6px;overflow:hidden}.sidebar-logo-image{width:100%;height:100%;object-fit:contain}[data-theme=dark] .sidebar-logo-image{filter:brightness(0) invert(1)}[data-theme=light] .sidebar-logo-image{filter:none}.logo-text{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--primary-light) 0%,var(--secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.nav-section{margin-bottom:4px}.nav-section-header{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--text-secondary);background:transparent;border:none;width:100%;cursor:pointer;transition:all var(--transition-fast);font-weight:500;font-size:1rem;text-align:left;letter-spacing:.2px;text-transform:none;line-height:1.4;font-family:inherit;margin:0;text-decoration:none;position:relative}.nav-section-header *{font-size:1rem!important;font-weight:500!important;line-height:1.4!important}.nav-section-header:hover{background:var(--bg-hover);color:var(--text-primary);transform:translate(2px)}.nav-section-header.active-section{color:var(--primary);background:var(--bg-hover);box-shadow:0 2px 4px #0000000d}.section-icon{font-size:1.1rem;transition:transform var(--transition-fast);flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:inherit}.section-title{font-weight:500!important;font-size:1rem!important;line-height:1.4!important;letter-spacing:.2px!important;color:inherit!important;margin:0!important;padding:0!important;display:inline-block}.nav-section-items{margin-top:2px;margin-left:10px;padding-left:4px;border-left:1px solid var(--border-color)}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--text-secondary);transition:all var(--transition-fast);margin-bottom:4px;font-size:1rem;font-weight:500;text-decoration:none;position:relative}.nav-item *{font-size:1rem}.nav-item:hover{background:var(--bg-hover);color:var(--text-primary);transform:translate(2px)}.nav-item.active{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 2px 8px #3b82f64d}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:#fff;border-radius:0 2px 2px 0}.nav-icon{font-size:1.1rem;flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.nav-label{font-weight:500;font-size:1rem;line-height:1.4;letter-spacing:.2px}.sidebar-footer{padding:16px;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.user-info{display:flex;align-items:center;gap:12px}.user-info .avatar{width:40px;height:40px;border-radius:10px;overflow:hidden}.user-info .avatar img{width:100%;height:100%;object-fit:cover}.user-details{flex:1}.user-name{font-weight:600;font-size:.75rem;color:var(--text-primary)}.user-role{font-size:.75rem;color:var(--text-secondary)}.logout-btn{width:36px;height:36px;border-radius:8px;background:var(--bg-hover);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.logout-btn:hover{background:var(--danger);color:#fff}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform var(--transition-base);width:280px;box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.sidebar-header{padding:16px}.logo-text{font-size:1.25rem}.nav-item{padding:6px 12px}.nav-label,.section-title,.nav-section-header{font-size:.75rem}.sidebar-footer{padding:12px}.user-name,.user-role{font-size:.75rem}}@media(max-width:480px){.sidebar{width:260px}.logo-text{font-size:1.125rem}.nav-item{padding:6px 10px}}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}body.sidebar-open{overflow:hidden}body.sidebar-open:before{content:"";position:fixed;inset:0;background:#00000080;z-index:99}}.header{position:fixed;top:0;left:var(--sidebar-width);right:0;height:81px;background:var(--bg-card);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-left{display:flex;align-items:center;gap:16px}.menu-toggle{display:none;width:40px;height:40px;border-radius:10px;background:var(--bg-card);color:var(--text-primary);align-items:center;justify-content:center;font-size:1.25rem}.header-title h1{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.header-date{font-size:1rem;color:var(--text-primary);font-weight:600}.header-right{display:flex;align-items:center;gap:16px}.refresh-btn{cursor:pointer}.refresh-btn:hover:not(.refreshing){color:var(--primary);border-color:var(--primary);background:#6366f11a}.refresh-btn.refreshing{color:var(--primary);border-color:var(--primary);background:#6366f11a;cursor:wait}.refresh-btn.refreshing svg{animation:spin 1s linear infinite}.refresh-btn:disabled{opacity:.7;cursor:wait}.notification-wrapper{position:relative}.notification-btn{width:44px;height:44px;border-radius:12px;background:var(--bg-card);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:1.25rem;position:relative;transition:all var(--transition-fast);border:1px solid var(--border-color)}.notification-btn:hover{color:var(--primary);border-color:var(--primary)}.theme-toggle-btn{width:44px;height:44px;border-radius:12px;background:var(--bg-card);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:all var(--transition-fast);border:1px solid var(--border-color)}.theme-toggle-btn:hover{color:var(--warning);border-color:var(--warning);background:#f59e0b1a}.notification-badge{position:absolute;top:6px;right:6px;width:18px;height:18px;background:var(--danger);color:#fff;font-size:.625rem;font-weight:600;border-radius:50%;display:flex;align-items:center;justify-content:center}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 10px 40px #00000026;overflow:hidden;z-index:1000;display:flex;flex-direction:column;max-height:600px}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-card);position:sticky;top:0;z-index:10}.notification-header h4{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.notification-summary{padding:12px 20px;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#6366f10d,#6366f105);display:flex;flex-direction:row;gap:16px;justify-content:space-around;flex-wrap:wrap}.notification-summary .summary-row{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;background:var(--bg-card);border-radius:8px;border:1px solid var(--border-color);min-width:80px;flex:1}.notification-summary .summary-row span{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.notification-summary .summary-row strong{font-size:1.25rem;font-weight:700;color:var(--primary)}.mark-all-read{background:none;border:none;color:var(--primary);font-size:.875rem;font-weight:600;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all var(--transition-fast)}.mark-all-read:hover{background:#6366f11a}.notification-list{max-height:400px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.notification-item{padding:16px 20px;border-bottom:1px solid var(--border-color);transition:all var(--transition-fast);cursor:pointer;position:relative;background:var(--bg-card)}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--bg-hover)}.notification-item.unread{background:#6366f114;border-left:4px solid var(--primary);padding-left:16px}.notification-item.unread:before{display:none}.notification-content{display:flex;flex-direction:column;gap:6px}.notification-content h5{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.4}.notification-content p{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-time{font-size:.75rem;color:var(--text-muted);display:flex;align-items:center;gap:4px;margin-top:4px}.empty-notifications{padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-notifications p{font-size:.9rem;margin:0;opacity:.7}.header-user .avatar{width:44px;height:44px;border-radius:12px;cursor:pointer;border:2px solid var(--border-color);transition:border-color var(--transition-fast);overflow:hidden}.header-user .avatar:hover{border-color:var(--primary)}.header-user .avatar img{width:100%;height:100%;object-fit:cover}@media(max-width:768px){.header{left:0;padding:0 16px;height:70px;position:fixed;top:0;right:0;z-index:100}.menu-toggle{display:flex;cursor:pointer;border:none;outline:none}.menu-toggle:hover{background:var(--bg-hover)}.header-search{display:none!important;visibility:hidden!important;width:0!important;height:0!important;opacity:0!important;pointer-events:none!important}.header-title h1{font-size:1.25rem}.header-date{font-size:.875rem}.notification-dropdown{width:calc(100vw - 24px);max-width:400px;right:12px;left:auto;max-height:calc(100vh - 90px);top:calc(100% + 12px);border-radius:12px;box-shadow:0 8px 32px #0003}.notification-header{padding:14px 16px}.notification-header h4{font-size:1rem}.notification-summary{padding:10px 16px;gap:8px}.notification-summary .summary-row{min-width:70px;padding:6px 10px}.notification-summary .summary-row span{font-size:.7rem}.notification-summary .summary-row strong{font-size:1.1rem}.notification-list{max-height:calc(100vh - 280px)}.notification-item{padding:14px 16px}.notification-item.unread{padding-left:12px;border-left-width:3px}.notification-content h5{font-size:.85rem}.notification-content p{font-size:.8rem}.mark-all-read{font-size:.8rem;padding:4px 10px}.refresh-btn{width:40px;height:40px;font-size:1.1rem;flex-shrink:0}.header-right{gap:8px;display:flex;align-items:center;flex-shrink:0}.theme-toggle-btn,.notification-btn,.header-user{display:flex!important;visibility:visible!important}.notification-btn,.theme-toggle-btn{width:40px;height:40px;font-size:1.1rem;flex-shrink:0}.header-user .avatar{width:40px;height:40px;flex-shrink:0}}@media(max-width:480px){.header{padding:0 12px;height:65px}.header-title h1{font-size:1.125rem}.header-date{display:none}.notification-btn,.theme-toggle-btn{width:36px;height:36px;font-size:1rem}.header-user .avatar{width:36px;height:36px}.notification-dropdown{width:calc(100vw - 16px);right:8px;max-height:calc(100vh - 80px);border-radius:10px}.notification-header{padding:12px 14px}.notification-header h4{font-size:.95rem}.notification-summary{padding:8px 12px;gap:6px}.notification-summary .summary-row{min-width:60px;padding:6px 8px}.notification-summary .summary-row span{font-size:.65rem}.notification-summary .summary-row strong{font-size:1rem}.notification-list{max-height:calc(100vh - 260px)}.notification-item{padding:12px 14px}.notification-content h5{font-size:.8rem}.notification-content p{font-size:.75rem}}.policy-popup-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .3s ease}.policy-popup{background:var(--bg-card, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.policy-popup.policy-viewer{max-width:1200px}.policy-popup-header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid var(--border-color, #e5e7eb);background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:16px 16px 0 0}.policy-popup-header h2{margin:0;font-size:1.5rem;font-weight:700}.viewer-controls{display:flex;align-items:center;gap:12px}.viewer-controls .page-indicator{padding:8px 16px;background:#fff3;border-radius:8px;font-weight:600;color:#fff}.close-btn{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.close-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.policy-popup-body{padding:24px;overflow-y:auto;flex:1}.policies-list{display:flex;flex-direction:column;gap:16px}.policy-item{background:var(--bg-hover, #f9fafb);border:2px solid var(--border-color, #e5e7eb);border-radius:12px;padding:20px;transition:all .2s}.policy-item:hover{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f61a}.policy-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.policy-info{display:flex;align-items:center;gap:16px;flex:1}.policy-icon{width:48px;height:48px;color:#3b82f6;flex-shrink:0}.policy-info h3{margin:0 0 4px;font-size:1.1rem;font-weight:600;color:var(--text-primary, #111827)}.policy-meta{margin:0;font-size:.875rem;color:var(--text-secondary, #6b7280)}.btn-view{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem}.acknowledge-checkbox{display:flex;align-items:center;gap:12px;cursor:pointer;padding:12px;background:var(--bg-card, transparent);border-radius:8px;border:2px solid var(--border-color, #e5e7eb);transition:all .2s}.acknowledge-checkbox:hover{border-color:#3b82f6;background:#3b82f60d}.acknowledge-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#3b82f6}.acknowledge-checkbox input[type=checkbox]:checked+span{color:#3b82f6;font-weight:600}.acknowledge-checkbox span{font-size:.95rem;color:var(--text-primary, #111827);-webkit-user-select:none;user-select:none}.acknowledge-checkbox.disabled{opacity:.6;cursor:not-allowed;background:#f3f4f6}.acknowledge-checkbox.disabled:hover{border-color:var(--border-color, #e5e7eb);background:#f3f4f6}.acknowledge-checkbox.disabled input[type=checkbox]{cursor:not-allowed}.acknowledge-checkbox.enabled{cursor:pointer}.policy-progress{margin:4px 0 0;font-size:.8rem;color:#3b82f6;font-weight:500}.policy-pages-preview{margin:12px 0;padding:12px;background:var(--bg-card, transparent);border-radius:8px}.pages-indicator{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.page-indicator-dot{width:12px;height:12px;border-radius:50%;display:inline-block;transition:all .2s;cursor:pointer}.page-indicator-dot.viewed{background:#10b981;box-shadow:0 0 0 2px #10b98133}.page-indicator-dot.not-viewed{background:#e5e7eb;border:2px solid #d1d5db}.pdf-viewer-container{position:relative;margin-bottom:20px}.pdf-iframe{width:100%;height:70vh;border:none;border-radius:8px;box-shadow:0 4px 12px #0000001a}.page-view-indicator{display:flex;justify-content:center;gap:8px;margin-top:16px;padding:12px;background:#3b82f60d;border-radius:8px}.page-dot{width:10px;height:10px;border-radius:50%;display:inline-block;transition:all .2s;cursor:pointer}.page-dot.viewed{background:#10b981;box-shadow:0 0 0 2px #10b98133}.page-dot:not(.viewed){background:#e5e7eb;border:2px solid #d1d5db}.page-dot.active{width:14px;height:14px;background:#3b82f6;box-shadow:0 0 0 3px #3b82f64d;border:2px solid white}.viewer-footer{margin-top:20px;display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border-color, #e5e7eb)}.viewer-progress{display:flex;align-items:center;gap:12px;font-size:.9rem;color:var(--text-secondary, #6b7280)}.all-viewed-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#10b9811a;color:#10b981;border-radius:20px;font-size:.85rem;font-weight:600}.policy-popup-footer{padding:20px 24px;border-top:1px solid var(--border-color, #e5e7eb);display:flex;justify-content:flex-end;background:var(--bg-hover, #f9fafb);border-radius:0 0 16px 16px}.btn-submit{padding:12px 32px;font-size:1rem;font-weight:600;min-width:120px}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.viewer-footer{margin-top:20px;display:flex;justify-content:center}.empty-state svg{color:#10b981;margin-bottom:16px}.empty-state p{font-size:1.1rem;color:var(--text-secondary, #6b7280);margin-bottom:24px}.spinner{width:40px;height:40px;border:4px solid var(--border-color, #e5e7eb);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.policy-popup{max-width:100%;margin:10px;max-height:95vh}.policy-popup-header{padding:16px}.policy-popup-header h2{font-size:1.2rem}.policy-item-header{flex-direction:column;align-items:flex-start;gap:12px}.viewer-controls{flex-wrap:wrap;gap:8px}.viewer-controls .page-indicator{font-size:.85rem;padding:6px 12px}}.success-popup-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .3s ease}.success-popup{background:var(--bg-card, #ffffff);border-radius:16px;padding:40px 60px;text-align:center;box-shadow:0 20px 60px #0000004d;animation:slideUpScale .5s ease;max-width:400px;width:90%}@keyframes slideUpScale{0%{transform:translateY(20px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.success-icon{font-size:64px;color:#10b981;margin-bottom:20px;animation:scaleIn .5s ease .2s both}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-popup h3{margin:0;font-size:1.5rem;color:var(--text-primary, #111827);font-weight:600;animation:fadeInUp .5s ease .3s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chatbot-toggle-btn{position:fixed;bottom:24px;right:24px;width:auto;height:auto;border-radius:0;background:transparent;border:none;color:inherit;cursor:pointer;box-shadow:none;display:flex;align-items:center;justify-content:center;z-index:9999;transition:transform .3s ease;padding:0}.chatbot-toggle-btn:hover{transform:scale(1.05);box-shadow:none;background:transparent}.chatbot-toggle-btn:hover img{transform:scale(1.05);filter:brightness(1.1)}.chatbot-container{position:fixed;bottom:24px;right:24px;width:380px;height:600px;max-height:calc(100vh - 48px);background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;z-index:9999;overflow:hidden;transition:all .3s ease;animation:slideUp .3s ease}.chatbot-container.minimized{height:60px}.chatbot-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.chatbot-header-content{display:flex;align-items:center;gap:12px}.chatbot-avatar{width:40px;height:40px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:20px}.chatbot-header-text h3{margin:0;font-size:16px;font-weight:600}.chatbot-status{font-size:12px;opacity:.9}.chatbot-header-actions{display:flex;gap:8px}.chatbot-icon-btn{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.chatbot-icon-btn:hover{background:#ffffff4d}.chatbot-messages{flex:1;overflow-y:auto;padding:16px;background:#f8f9fa;display:flex;flex-direction:column;gap:12px}.chatbot-message{display:flex;max-width:80%;animation:fadeIn .3s ease}.user-message{align-self:flex-end;margin-left:auto}.bot-message{align-self:flex-start}.chatbot-message-content{padding:12px 16px;border-radius:18px;position:relative}.user-message .chatbot-message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-bottom-right-radius:4px}.bot-message .chatbot-message-content{background:#fff;color:#333;border:1px solid #e0e0e0;border-bottom-left-radius:4px}.chatbot-message-image{margin-bottom:8px;display:flex;justify-content:center;align-items:center}.chatbot-user-image{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px solid #e0e0e0;box-shadow:0 2px 8px #0000001a}.bot-message .chatbot-user-image{border-color:#667eea}.chatbot-message-content p{margin:0;font-size:14px;line-height:1.5;word-wrap:break-word}.chatbot-message-time{font-size:10px;opacity:.7;margin-top:4px;display:block}.chatbot-typing-indicator{display:flex;gap:4px;padding:8px 0}.chatbot-typing-indicator span{width:8px;height:8px;border-radius:50%;background:#999;animation:typing 1.4s infinite}.chatbot-typing-indicator span:nth-child(2){animation-delay:.2s}.chatbot-typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}.chatbot-input-form{display:flex;padding:16px;background:#fff;border-top:1px solid #e0e0e0;gap:8px}.chatbot-input{flex:1;padding:12px 16px;border:1px solid #e0e0e0;border-radius:24px;font-size:14px;outline:none;transition:border-color .2s}.chatbot-input:focus{border-color:#667eea}.chatbot-input:disabled{background:#f5f5f5;cursor:not-allowed}.chatbot-send-btn{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.chatbot-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #667eea66}.chatbot-send-btn:disabled{opacity:.5;cursor:not-allowed}.chatbot-messages::-webkit-scrollbar{width:6px}.chatbot-messages::-webkit-scrollbar-track{background:#f1f1f1}.chatbot-messages::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.chatbot-messages::-webkit-scrollbar-thumb:hover{background:#999}.chatbot-selection-buttons::-webkit-scrollbar{width:6px}.chatbot-selection-buttons::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.chatbot-selection-buttons::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.chatbot-selection-buttons::-webkit-scrollbar-thumb:hover{background:#999}@media(max-width:768px){.chatbot-container{width:calc(100% - 32px);height:calc(100vh - 100px);bottom:16px;right:16px;left:16px}.chatbot-toggle-btn{bottom:16px;right:16px}}.main-content{margin-left:var(--sidebar-width);min-height:100vh;padding:105px 24px 24px;overflow-x:hidden}.page-content{width:100%;height:calc(100vh - 105px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:24px}.page-content .page-container{max-width:100%;margin:0;padding:0}@media(max-width:768px){.main-content{margin-left:0;padding:70px 0 0}.page-content{height:calc(100vh - 70px);padding:16px;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.page-content .page-container{padding:0}}@media(max-width:480px){.main-content{padding-top:65px}.page-content{height:calc(100vh - 65px);padding:16px}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.login-bg{position:absolute;inset:0;z-index:0}.login-bg-gradient{position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(99,102,241,.15) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(14,165,233,.15) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(245,158,11,.05) 0%,transparent 50%)}.login-bg-pattern{position:absolute;inset:0;background-image:linear-gradient(rgba(99,102,241,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(99,102,241,.03) 1px,transparent 1px);background-size:50px 50px}.login-card{width:100%;max-width:440px;background:var(--bg-card);border-radius:24px;border:1px solid var(--border-color);padding:40px;position:relative;z-index:1;box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:36px}.login-logo{width:100%;max-width:360px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;padding:12px;overflow:hidden}.login-logo .logo-image{width:100%;height:100%;object-fit:contain;object-position:center;filter:brightness(0) invert(1)}.login-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.login-header p{color:var(--text-secondary);font-size:.9rem}.login-form{margin-bottom:0}.input-with-icon{position:relative}.input-with-icon .input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1.1rem}.input-with-icon .form-input{padding-left:48px;padding-right:48px}.input-with-prefix{display:flex;align-items:center;position:relative}.input-with-prefix .input-prefix{position:absolute;left:48px;top:50%;transform:translateY(-50%);color:var(--text-primary);font-weight:600;font-size:.95rem;pointer-events:none;z-index:2;background:transparent;padding:0 6px 0 0;letter-spacing:.3px;-webkit-user-select:none;user-select:none;transition:color .2s ease;white-space:nowrap;line-height:1;display:inline-block}.input-with-prefix .form-input:focus~.input-prefix,.input-with-prefix .form-input:focus+.input-prefix{color:var(--primary)}.input-with-prefix .form-input{padding-left:80px;padding-right:48px}.input-with-prefix .form-input::placeholder{color:var(--text-muted);opacity:.6;margin-left:0}.password-toggle{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;color:var(--text-muted);font-size:1.1rem;transition:color var(--transition-fast);border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.password-toggle:hover{color:var(--text-primary)}.login-btn{width:100%;padding:14px;font-size:1rem;margin-top:8px}@media(max-width:768px){.login-container{padding:15px;align-items:center;justify-content:center}.login-card{padding:30px 20px;max-width:100%;width:100%}.login-logo{width:100%;max-width:300px;height:70px;margin:0 auto 20px}.login-logo .logo-image{width:100%;height:100%;object-fit:contain;object-position:center}.login-header h1{font-size:1.5rem}.login-header p{font-size:.85rem}}@media(max-width:480px){.login-container{padding:10px;align-items:center;justify-content:center}.login-card{padding:25px 15px;border-radius:16px}.login-logo{width:100%;max-width:280px;height:60px;margin:0 auto 15px;padding:8px}.login-logo .logo-image{width:100%;height:100%;object-fit:contain;object-position:center}.login-header{margin-bottom:28px}.login-header h1{font-size:1.35rem;margin-bottom:6px}.login-header p{font-size:.8rem}}.modal-large{max-width:700px}.modal-xl{max-width:900px}.modal-full{max-width:98%;width:98%;max-height:98vh;height:98vh;display:flex;flex-direction:column}.modal-full .modal-body{flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;padding:0;min-height:0}.dashboard{animation:fadeIn .3s ease}.dashboard-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:16px;flex-wrap:wrap}.topline-title h2{margin:6px 0 0;color:var(--text-primary)}.pill{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);font-weight:600;font-size:.8rem}.user-meta-strip{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 20px}.user-chip{display:inline-flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:999px;padding:8px 14px;box-shadow:var(--shadow-sm)}.chip-label{font-size:.8rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.6px}.chip-value{font-weight:700;color:var(--text-primary)}.welcome-banner{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 50%,#4338ca 100%);border-radius:20px;padding:32px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;position:relative;overflow:hidden}.welcome-banner:before{content:"";position:absolute;top:-50%;right:-10%;width:300px;height:300px;background:#ffffff1a;border-radius:50%}.welcome-content h2{font-size:1.75rem;font-weight:700;color:#fff;margin-bottom:8px}.welcome-content p{color:#fffc;font-size:1rem}.welcome-icon{font-size:4rem;color:#fff3}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.stat-card{display:flex;flex-direction:column;gap:16px}.stat-card-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.stat-left{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.stat-right{display:flex;align-items:flex-end;justify-content:flex-end}.stat-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.stat-icon.info{background:#0ea5e91a;color:var(--info)}.stat-label{font-size:.875rem;color:var(--text-secondary);margin:0 0 8px;font-weight:500}.stat-count{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.stat-progress{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-color)}.stat-progress span{display:block;margin-top:8px;font-size:.75rem;color:var(--text-secondary)}.stat-meta{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.875rem;margin-top:auto;padding-top:16px;border-top:1px solid var(--border-color)}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.quick-stat{background:var(--bg-card);border-radius:12px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--border-color);transition:all var(--transition-fast)}.quick-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.quick-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.quick-stat-label{font-size:.8rem;color:var(--text-secondary)}.quick-stat.pending .quick-stat-value{color:var(--warning)}.quick-stat.progress .quick-stat-value{color:var(--info)}.quick-stat.tasks .quick-stat-value{color:var(--primary)}.quick-stat.issues .quick-stat-value{color:var(--danger)}.dashboard-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:24px}.marquee-grid{grid-template-columns:repeat(2,1fr)}.marquee-card-wrap{min-height:150px;max-height:450px;display:flex;flex-direction:column;max-width:100%;width:100%;overflow:hidden;padding-bottom:0!important;position:relative;background:transparent;border-radius:12px;transition:all .3s ease}.marquee-card-wrap:hover{box-shadow:0 8px 24px #0000001f}.marquee-card-wrap.card{padding:16px 20px 12px!important;background:transparent!important}.chart-card.marquee-card-wrap{min-height:150px;background:transparent!important}.marquee-card-wrap .card-header{margin-bottom:12px!important;padding-bottom:0;background:transparent!important;border-radius:12px 12px 0 0;padding:18px 20px 14px!important;border-bottom:none!important}.marquee-card-wrap .card-title{font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#2563eb,#1e40af);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:title-glow 2s ease-in-out infinite}@keyframes title-glow{0%,to{opacity:1}50%{opacity:.8}}.chart-card{min-height:380px}.chart-container{display:flex;flex-direction:column}.chart-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.legend-item{display:flex;align-items:center;gap:8px}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-label{font-size:.875rem;color:var(--text-secondary)}.legend-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}.empty-chart{height:250px;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.activities-card{overflow:visible}.activities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:8px 0}.activity-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px;transition:all var(--transition-fast);animation:slideIn .3s ease forwards;opacity:0;display:flex;flex-direction:column;gap:12px}.activity-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary)}.activity-card-header{display:flex;align-items:center;gap:12px}.activity-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;font-weight:600;font-size:1.2rem;flex-shrink:0;overflow:hidden}.activity-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.activity-card-info{flex:1;min-width:0}.activity-user-name{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-time{font-size:.7rem;color:var(--text-muted);display:block}.activity-card-body{flex:1;display:flex;flex-direction:column;gap:8px}.activity-action{font-size:.85rem;color:var(--text-secondary);margin:0;line-height:1.4}.activity-action-text{font-weight:600;color:var(--text-primary);text-transform:capitalize}.activity-entity{color:var(--primary);font-weight:500}.activity-details{font-size:.8rem;color:var(--text-muted);margin:0;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.card-title-with-avatar{display:flex;align-items:center;gap:12px}.btn-sm{padding:8px 14px;font-size:.8rem}@media(max-width:1400px){.activities-grid{grid-template-columns:repeat(3,1fr)}}.monthly-attendance-card{margin-bottom:24px}.attendance-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:16px}.attendance-header-left{display:flex;flex-direction:column;gap:4px}.attendance-header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.attendance-month-navigation{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:4px}.month-nav-btn{display:flex;align-items:center;justify-content:center;padding:8px 12px;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-width:40px}.month-nav-btn:hover{background:#6366f11a;color:var(--primary)}.month-nav-btn:active{transform:scale(.95)}.attendance-subtitle{font-size:.875rem;color:var(--text-secondary);font-weight:500}.attendance-view-toggle{display:flex;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:4px}.attendance-view-toggle .toggle-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.attendance-view-toggle .toggle-btn:hover{background:#6366f11a;color:var(--primary)}.attendance-view-toggle .toggle-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 4px #6366f14d}.attendance-view-toggle .toggle-btn svg{flex-shrink:0}.attendance-calendar{display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:20px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.attendance-calendar::-webkit-scrollbar{height:6px}.attendance-calendar::-webkit-scrollbar-track{background:transparent;border-radius:3px}.attendance-calendar::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.attendance-calendar::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.attendance-day{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-color);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;min-width:65px;flex-shrink:0}.attendance-day:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026;border-color:var(--primary);z-index:10}.attendance-day.present:hover{border-color:#10b98199;box-shadow:0 4px 12px #10b98133}.attendance-day.absent:hover{border-color:#ef444499;box-shadow:0 4px 12px #ef444433}.attendance-day.today{border:2px solid var(--primary);background:#6366f10d;box-shadow:0 2px 8px #6366f133}.attendance-day.today:hover{box-shadow:0 4px 16px #6366f14d}.attendance-day-header{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%}.attendance-day-name{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;font-weight:600;letter-spacing:.5px}.attendance-day-number{font-size:1rem;font-weight:700;color:var(--text-primary)}.attendance-bar-container{width:100%;height:80px;display:flex;align-items:flex-end;justify-content:center;background:linear-gradient(to top,#00000008,#00000003);border-radius:8px;padding:8px;min-height:80px;position:relative;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.attendance-bar-container.stacked{flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;padding:8px 12px}.attendance-bar{width:70%;border-radius:0;transition:all .4s cubic-bezier(.4,0,.2,1);min-height:5px;position:relative;overflow:hidden;flex-shrink:0;box-shadow:0 1px 3px #0000001a}.attendance-bar:after{content:"";position:absolute;top:0;left:0;right:0;height:40%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%);pointer-events:none}.attendance-bar.bar-present{background:linear-gradient(180deg,#34d399,#10b981,#059669);box-shadow:0 2px 6px #10b9814d,inset 0 1px #ffffff59,inset 0 -1px #0000001a;border:1px solid rgba(16,185,129,.4)}.attendance-bar.bar-absent{background:linear-gradient(180deg,#f87171,#ef4444,#dc2626);box-shadow:0 2px 6px #ef44444d,inset 0 1px #ffffff59,inset 0 -1px #0000001a;border:1px solid rgba(239,68,68,.4);min-height:5px}.attendance-day.present .attendance-bar-container{background:#10b9810a}.attendance-day.absent .attendance-bar-container{background:#ef44440a}.attendance-day .attendance-bar-container.stacked{background:#00000005}.attendance-day:hover .attendance-bar-container{background:linear-gradient(to top,#0000000d,#00000005);border-color:#6366f133}.attendance-day:hover .attendance-bar{transform:scaleY(1.1);width:85%;opacity:1}.attendance-day:hover .attendance-bar.bar-present{background:linear-gradient(180deg,#4ade80,#22c55e,#10b981);box-shadow:0 4px 16px #10b98180,0 0 0 2px #10b98133,inset 0 1px #ffffff73,inset 0 -1px #00000026;border-color:#10b98199;transform:scaleY(1.1) translateY(-2px)}.attendance-day:hover .attendance-bar.bar-absent{background:linear-gradient(180deg,#fb7185,#f87171,#ef4444);box-shadow:0 4px 16px #ef444480,0 0 0 2px #ef444433,inset 0 1px #ffffff73,inset 0 -1px #00000026;border-color:#ef444499;transform:scaleY(1.1) translateY(-2px)}.attendance-day:hover .attendance-bar:after{background:linear-gradient(180deg,rgba(255,255,255,.4) 0%,transparent 100%);height:50%}.attendance-count{font-size:.75rem;font-weight:700;color:var(--text-primary);margin-top:4px;display:flex;align-items:center;justify-content:center;gap:2px}.count-present{color:#10b981e6}.count-absent{color:#ef4444e6;font-weight:500}.attendance-calendar.circle-view .attendance-day{min-width:70px}.attendance-circle-container{width:100%;display:flex;align-items:center;justify-content:center;padding:8px 0;min-height:70px}.attendance-circle{width:65px;height:65px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000026;border:2px solid rgba(255,255,255,.25)}.attendance-circle.circle-present{background:linear-gradient(135deg,#34d399,#10b981,#059669);box-shadow:0 3px 10px #10b9814d,inset 0 1px #ffffff4d,inset 0 -1px #0000001a}.attendance-circle.circle-absent{background:linear-gradient(135deg,#f87171,#ef4444,#dc2626);box-shadow:0 3px 10px #ef44444d,inset 0 1px #ffffff4d,inset 0 -1px #0000001a}.circle-count{font-size:.8rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3);line-height:1}.circle-present-count{font-size:.95rem;margin-bottom:2px}.circle-absent-count{font-size:.75rem;opacity:.9;font-weight:600}.attendance-day:hover .attendance-circle{transform:scale(1.15);box-shadow:0 4px 16px #0003}.attendance-day.present:hover .attendance-circle.circle-present{box-shadow:0 4px 16px #10b98166,inset 0 1px #ffffff4d}.attendance-day.absent:hover .attendance-circle.circle-absent{box-shadow:0 4px 16px #ef444466,inset 0 1px #ffffff4d}.attendance-legend{display:flex;justify-content:center;gap:24px;padding-top:16px;border-top:1px solid var(--border-color)}.legend-item{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-secondary)}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.legend-dot.present{background:linear-gradient(135deg,#10b981cc,#059669e6);box-shadow:0 2px 4px #10b98133}.legend-dot.absent{background:linear-gradient(135deg,#ef4444cc,#dc2626e6);box-shadow:0 2px 4px #ef444433}@media(max-width:768px){.attendance-card-header{flex-direction:column;align-items:flex-start}.attendance-header-actions{width:100%;flex-direction:column;align-items:stretch}.attendance-month-navigation,.attendance-view-toggle{width:100%;justify-content:stretch}.attendance-month-navigation .month-nav-btn,.attendance-view-toggle .toggle-btn{flex:1;justify-content:center}.attendance-day{min-width:60px;padding:10px 6px}.attendance-day-name{font-size:.65rem}.attendance-day-number{font-size:.9rem}.attendance-bar-container{height:60px;min-height:60px}.attendance-circle{width:50px;height:50px}.circle-count{font-size:.8rem}}@media(max-width:1200px){.stats-grid,.quick-stats{grid-template-columns:repeat(2,1fr)}.activities-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.activities-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.page-container{padding:16px}.stats-grid,.quick-stats,.dashboard-row{grid-template-columns:1fr;gap:16px}.activities-grid{grid-template-columns:1fr}.welcome-banner{flex-direction:column;text-align:center;padding:20px}.welcome-icon{margin-top:16px}.dashboard-topline,.user-meta-strip{flex-direction:column;align-items:flex-start}.chart-container,.progress-card,.activity-card,.birthday-card,.anniversary-card{padding:16px}.card-title{font-size:1.1rem}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:600px;font-size:.85rem}.data-table th,.data-table td{padding:10px 8px}}.marquee-container{overflow-x:hidden;overflow-y:auto;position:relative;flex:1;display:block;max-width:100%;padding:20px 0;margin-bottom:0;max-height:400px;-webkit-overflow-scrolling:touch}.marquee-container::-webkit-scrollbar{width:8px}.marquee-container::-webkit-scrollbar-track{background:var(--bg-hover);border-radius:4px}.marquee-container::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}.marquee-container::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.marquee-track{display:flex;gap:16px;width:100%;flex-direction:row;flex-wrap:wrap;align-content:flex-start;justify-content:flex-start}.marquee-container:not(.has-many-items) .marquee-track{width:max-content;animation:marquee 28s linear infinite;flex-wrap:nowrap;justify-content:flex-start}.marquee-container.has-many-items .marquee-track{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;width:100%;animation:none}.marquee-container:hover .marquee-track{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-card{background:transparent;border:2px solid var(--primary);border-radius:16px;padding:12px 10px 10px;min-width:180px;max-width:200px;flex:0 0 200px;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 8px 16px #0000001f,0 2px 4px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible}.birthday-card-animated,.anniversary-card-animated{animation:celebrate 2s ease-in-out infinite;border-width:3px;overflow:visible}.birthday-card-animated{border-color:#4ecdc4;box-shadow:0 0 20px #4ecdc499,0 8px 16px #0000001f}.anniversary-card-animated{border-color:#ff6b6b;box-shadow:0 0 20px #ff6b6b99,0 8px 16px #0000001f}@keyframes celebrate{0%,to{transform:scale(1)}25%{transform:scale(1.05)}50%{transform:scale(1.08)}75%{transform:scale(1.05)}}.celebration-bg{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:.5;border-radius:16px;overflow:hidden}.celebration-bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.floating-emoji{position:absolute;top:-15px;right:-15px;font-size:2rem;z-index:15;animation:float 2s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(255,255,255,.9));pointer-events:none}.birthday-emoji,.anniversary-emoji{animation:float 2s ease-in-out infinite,rotate-float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(-8deg)}50%{transform:translateY(-15px) rotate(0)}75%{transform:translateY(-10px) rotate(8deg)}}@keyframes rotate-float{0%,to{transform:rotate(0)}50%{transform:rotate(360deg)}}.sparkle-dot{position:absolute;width:10px;height:10px;border-radius:50%;z-index:12;pointer-events:none;animation:sparkle 1.8s ease-in-out infinite}.birthday-sparkle{background:#4ecdc4;box-shadow:0 0 12px #4ecdc4,0 0 20px #4ecdc499}.anniversary-sparkle{background:#ff6b6b;box-shadow:0 0 12px #ff6b6b,0 0 20px #ff6b6b99}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.8) rotate(180deg)}}.marquee-card .marquee-avatar,.marquee-card .marquee-info{position:relative;z-index:10}.marquee-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s}.marquee-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 12px 24px #0000002e,0 4px 8px #0000001f;border-color:#3b82f6}.birthday-card-animated:hover{box-shadow:0 0 30px #4ecdc4cc,0 12px 24px #0000002e;border-color:#4ecdc4}.anniversary-card-animated:hover{box-shadow:0 0 30px #ff6b6bcc,0 12px 24px #0000002e;border-color:#ff6b6b}.marquee-card:hover:before{left:100%}.marquee-avatar{width:95px;height:95px;border-radius:50%;overflow:hidden;border:3px solid var(--primary);box-shadow:0 6px 12px #0003,inset 0 2px 4px #ffffff4d;transition:all .3s ease;position:relative;z-index:10;animation:pulse-border 2s ease-in-out infinite}.birthday-card-animated .marquee-avatar{border-color:#4ecdc4;animation:pulse-border-birthday 2s ease-in-out infinite}.anniversary-card-animated .marquee-avatar{border-color:#ff6b6b;animation:pulse-border-anniversary 2s ease-in-out infinite}@keyframes pulse-border{0%,to{box-shadow:0 6px 12px #0003,inset 0 2px 4px #ffffff4d}50%{box-shadow:0 6px 16px #3b82f666,inset 0 2px 4px #ffffff4d}}@keyframes pulse-border-birthday{0%,to{box-shadow:0 0 15px #4ecdc499,0 6px 12px #0003}50%{box-shadow:0 0 25px #4ecdc4e6,0 6px 16px #0000004d}}@keyframes pulse-border-anniversary{0%,to{box-shadow:0 0 15px #ff6b6b99,0 6px 12px #0003}50%{box-shadow:0 0 25px #ff6b6be6,0 6px 16px #0000004d}}.marquee-card:hover .marquee-avatar{transform:scale(1.05) rotate(5deg);border-color:#3b82f6}.birthday-card-animated:hover .marquee-avatar{transform:scale(1.08) rotate(8deg);border-color:#4ecdc4}.anniversary-card-animated:hover .marquee-avatar{transform:scale(1.08) rotate(8deg);border-color:#ff6b6b}.marquee-avatar img{width:100%;height:100%;object-fit:cover;object-position:center}.marquee-avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#2563eb,#1e40af);color:#fff;font-size:2.4rem;font-weight:800;text-shadow:0 2px 4px rgba(0,0,0,.2);animation:gradient-shift 3s ease infinite;background-size:200% 200%}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.marquee-info{text-align:center}.marquee-name{font-size:.85rem;font-weight:700;color:var(--text-primary);margin-bottom:2px;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease;position:relative;z-index:10;text-shadow:0 1px 2px rgba(255,255,255,.8)}.marquee-card:hover .marquee-name{color:#2563eb}.birthday-card-animated .marquee-name{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 8px rgba(78,205,196,.6)}.anniversary-card-animated .marquee-name{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 8px rgba(255,107,107,.6)}.marquee-id,.marquee-years{font-size:.72rem;color:var(--text-secondary);font-weight:600;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease;position:relative;z-index:10;text-shadow:0 1px 2px rgba(255,255,255,.8)}.birthday-card-animated .marquee-id{color:#fff;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 8px rgba(78,205,196,.6)}.anniversary-card-animated .marquee-id{color:#fff;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.5),0 0 8px rgba(255,107,107,.6)}.marquee-years{color:#3b82f6;font-weight:700;margin-top:2px;font-size:.75rem}.anniversary-card-animated .marquee-years{color:#ff6b6b;text-shadow:0 1px 3px rgba(255,107,107,.5)}.marquee-card:hover .marquee-id{color:#6b7280}.birthday-card-animated:hover .marquee-id{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6),0 0 12px rgba(78,205,196,.8)}.anniversary-card-animated:hover .marquee-id{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6),0 0 12px rgba(255,107,107,.8)}.birthday-card-animated:hover .marquee-name{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6),0 0 12px rgba(78,205,196,.8)}.anniversary-card-animated:hover .marquee-name{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.6),0 0 12px rgba(255,107,107,.8)}.full-height-center{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.modal-overlay.policy-modal{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;-webkit-filter:none!important;background:#000000bf!important}.modal.policy-modal{filter:none!important;-webkit-filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:translateZ(0)!important;-webkit-transform:translateZ(0)!important;will-change:auto!important;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;opacity:1!important}.modal.policy-modal .modal-body{filter:none!important;-webkit-filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:translateZ(0);-webkit-transform:translateZ(0);opacity:1!important;visibility:visible!important}.policy-viewer-container{display:flex;flex-direction:column;height:100%;min-height:600px;position:relative;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;opacity:1!important;visibility:visible!important;filter:none!important;-webkit-filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:auto}.policy-viewer-container>*{flex-shrink:0}.policy-pdf-viewer{flex:1 1 0;overflow:auto;min-height:0}.policy-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:var(--bg-card);border-bottom:2px solid var(--border-color);margin-bottom:0;flex-shrink:0;z-index:100;position:relative}.policy-header-info{display:flex;align-items:center;gap:16px;flex:1}.policy-header-content{display:flex;flex-direction:column;gap:4px}.policy-header-actions{display:flex;align-items:center;gap:12px}.policy-close-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--text-primary);cursor:pointer;border-radius:6px;transition:all .2s ease;font-size:20px}.policy-close-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--primary)}.policy-close-btn:disabled{opacity:.5;cursor:not-allowed}.policy-header-icon{font-size:32px;color:var(--primary);flex-shrink:0}.policy-viewer-title{margin:0 0 6px;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.policy-viewer-meta{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary)}.policy-counter{padding:8px 16px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:20px;font-size:.85rem;font-weight:500;color:var(--text-secondary)}.policy-pdf-viewer{flex:1 1 0;display:flex;align-items:center;justify-content:center;background:#e5e7eb;padding:20px;min-height:400px;max-height:calc(90vh - 500px);position:relative;overflow:hidden;filter:none!important;-webkit-filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:translateZ(0);-webkit-transform:translateZ(0)}.pdf-loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffffff2;z-index:10;gap:16px}.pdf-loading-overlay .spinner{width:48px;height:48px;border:4px solid rgba(99,102,241,.2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.pdf-loading-overlay p{color:var(--text-primary);font-size:1rem;font-weight:500;margin:0}.policy-pdf-viewer iframe{pointer-events:auto;-webkit-overflow-scrolling:touch}.policy-iframe{width:100%;height:100%;min-height:400px;max-height:calc(90vh - 500px);border:none;border-radius:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;background:#fff;overflow:hidden;display:block;object-fit:contain;position:relative;z-index:1;filter:none!important;-webkit-filter:none!important;transform:translateZ(0);-webkit-transform:translateZ(0);image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.policy-iframe::-webkit-scrollbar{display:none}.policy-pdf-viewer{position:relative}.policy-navigation{display:flex!important;align-items:center;justify-content:center;gap:16px;padding:20px;background:var(--bg-card);border-top:2px solid var(--border-color);flex-shrink:0;z-index:10;position:relative;visibility:visible!important;opacity:1!important}.nav-arrow-btn{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid var(--border-color);background:var(--bg-hover);border-radius:50%;cursor:pointer;transition:all .2s ease;color:var(--text-primary);font-size:24px;visibility:visible!important;opacity:1!important}.nav-arrow-btn:hover:not(:disabled){background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.1)}.nav-arrow-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-card);border-color:var(--border-color)}.nav-arrow-btn:disabled:hover{transform:none;background:var(--bg-card);border-color:var(--border-color);color:var(--text-primary)}.page-indicators{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;visibility:visible!important;opacity:1!important}.page-indicator{min-width:40px;height:40px;padding:0 12px;border:2px solid var(--border-color);background:var(--bg-hover);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:500;color:var(--text-primary);display:flex!important;align-items:center;justify-content:center;visibility:visible!important;opacity:1!important}.page-indicator:hover{border-color:var(--primary);background:var(--primary);color:#fff;transform:translateY(-2px)}.page-indicator.active{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #6366f14d}.page-indicator.last-page.active{background:linear-gradient(135deg,var(--primary),#10b981);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 4px 12px #6366f14d}50%{box-shadow:0 4px 20px #6366f199}}.last-page-indicator{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 20px;background:linear-gradient(135deg,#6366f11a,#10b9811a);border-top:2px solid var(--primary);border-bottom:2px solid var(--primary);color:var(--text-primary);font-weight:600;font-size:.95rem;margin:0;flex-shrink:0;z-index:10;position:relative}.last-page-indicator .indicator-icon{color:var(--primary);font-size:20px;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.policy-acknowledge-section{padding:30px!important;background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-hover) 100%)!important;border-top:3px solid var(--primary)!important;display:flex!important;align-items:center;justify-content:center;box-shadow:0 -4px 20px #0000001a;margin-top:auto;flex-shrink:0;z-index:100;position:relative;visibility:visible!important;opacity:1!important;min-height:200px;width:100%;scroll-margin-top:20px}.acknowledge-content{display:flex!important;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:600px;visibility:visible!important;opacity:1!important}.acknowledge-checkbox-label{display:flex!important;align-items:center;gap:14px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:16px 24px;background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;transition:all .3s ease;width:100%;justify-content:center;visibility:visible!important;opacity:1!important}.acknowledge-checkbox-label:hover{border-color:var(--primary);background:var(--bg-hover);transform:translateY(-2px);box-shadow:0 4px 12px #6366f133}.acknowledge-checkbox-input{width:24px!important;height:24px!important;cursor:pointer;accent-color:var(--primary);flex-shrink:0;margin:0;visibility:visible!important;opacity:1!important;display:block!important}.acknowledge-checkbox-input:checked{transform:scale(1.1)}.acknowledge-text{font-size:1.1rem;color:var(--text-primary);font-weight:600;letter-spacing:.3px}.acknowledge-checkbox-label.checked{border-color:var(--primary);background:#6366f11a;box-shadow:0 4px 16px #6366f14d}.btn-submit-policy{padding:16px 48px;font-size:1.1rem;font-weight:700;min-width:200px;border-radius:12px;box-shadow:0 4px 16px #6366f14d;text-transform:uppercase;letter-spacing:.5px;transition:all .3s ease;display:flex!important;align-items:center;justify-content:center;gap:8px;visibility:visible!important;opacity:1!important}.btn-submit-policy:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.btn-submit-policy:active:not(:disabled){transform:translateY(0)}.btn-submit-policy:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.policy-success-animation{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;min-height:400px;animation:fadeInScale .5s ease}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-checkmark{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);display:flex;align-items:center;justify-content:center;margin-bottom:24px;animation:checkmarkPop .6s ease .2s both;box-shadow:0 10px 30px #10b9814d}@keyframes checkmarkPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.success-checkmark svg{font-size:64px;color:#fff;stroke-width:3}.success-title{margin:0 0 12px;font-size:2rem;font-weight:700;color:var(--text-primary);animation:fadeInUp .6s ease .4s both}.success-message{margin:0;font-size:1.1rem;color:var(--text-secondary);animation:fadeInUp .6s ease .5s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.policy-error{padding:40px;text-align:center;color:var(--text-secondary)}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-secondary:hover:not(:disabled){background:var(--bg-card);border-color:var(--primary)}.btn-sm{padding:8px 14px;font-size:.85rem}.date-picker-wrapper{position:relative;width:100%}.date-picker-input{position:relative;display:flex;align-items:center;cursor:pointer;width:100%}.date-picker-input.active{border-color:var(--primary)}.date-picker-input.disabled{opacity:.6;cursor:not-allowed}.date-picker-input-field{width:100%;padding:10px 40px 10px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:all .2s}.date-picker-input-field:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.date-picker-input-field::placeholder{color:var(--text-secondary)}.date-picker-icon{position:absolute;right:12px;color:var(--text-secondary);pointer-events:none;transition:color .2s}.date-picker-input:hover .date-picker-icon{color:var(--primary)}.date-picker-dropdown{position:fixed;z-index:10001;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 10px 40px #00000026;padding:20px;min-width:320px;animation:slideDown .2s ease-out;max-height:90vh;overflow-y:auto}.modal .date-picker-wrapper{z-index:auto}.modal .date-picker-dropdown{z-index:10001}.date-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.date-picker-nav-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-hover);color:var(--text-primary);cursor:pointer;transition:all .2s}.date-picker-nav-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.date-picker-month-year{display:flex;flex-direction:row;align-items:center;gap:8px}.date-picker-month{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.date-picker-year{font-size:.9rem;color:var(--text-secondary)}.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px}.date-picker-weekday{text-align:center;font-size:.85rem;font-weight:600;color:var(--text-secondary);padding:8px 4px}.date-picker-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}.date-picker-day{aspect-ratio:1;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;min-height:40px}.date-picker-day:hover:not(.disabled):not(.selected){background:var(--bg-hover);border-color:var(--border-color)}.date-picker-day.today{background:#6366f11a;border-color:var(--primary);color:var(--primary);font-weight:600}.date-picker-day.selected{background:linear-gradient(135deg,var(--primary) 0%,#6366f1 100%);color:#fff;border-color:var(--primary);font-weight:600;box-shadow:0 2px 8px #6366f14d}.date-picker-day.disabled{opacity:.3;cursor:not-allowed;color:var(--text-muted)}.date-picker-day.empty{cursor:default;pointer-events:none}.date-picker-footer{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid var(--border-color);gap:12px}.date-picker-today-btn,.date-picker-clear-btn{padding:8px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.date-picker-today-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.date-picker-clear-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444}.date-picker-select{background:var(--bg-hover)!important;color:var(--text-primary)!important;border:1px solid var(--border-color)!important}.date-picker-select option{background:var(--bg-card)!important;color:var(--text-primary)!important;padding:8px}.date-picker-select:focus{background:var(--bg-hover)!important;border-color:var(--primary)!important;outline:none}.date-picker-select:hover{background:var(--bg-hover)!important;border-color:var(--primary)!important}[data-theme=light] .date-picker-select{background:#1e293b!important;color:#f8fafc!important;border-color:#334155!important}[data-theme=light] .date-picker-select option{background:#1e293b!important;color:#f8fafc!important}[data-theme=light] .date-picker-select:hover{background:#334155!important;border-color:#475569!important}[data-theme=light] .date-picker-select:focus{background:#334155!important;border-color:#6366f1!important}@media(max-width:768px){.date-picker-dropdown{min-width:280px;padding:16px}.date-picker-day{min-height:36px;font-size:.85rem}}.projects-page{animation:fadeIn .3s ease}.projects-filters{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.projects-filters .search-box{flex:1;min-width:250px}.filter-tabs{display:flex;gap:4px;background:var(--bg-card);padding:4px;border-radius:10px;border:1px solid var(--border-color)}.filter-tab{padding:8px 16px;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:all var(--transition-fast)}.filter-tab:hover{color:var(--text-primary)}.filter-tab.active{background:var(--primary);color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.project-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;transition:all var(--transition-base)}.project-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.project-card-header{display:flex;align-items:center;gap:8px;padding:16px 20px;border-bottom:1px solid var(--border-color)}.project-card-header .project-actions{margin-left:auto;display:flex;gap:4px}.project-card-body{padding:20px;display:block}.project-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.project-desc{font-size:.875rem;color:var(--text-secondary);margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px}.meta-item{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--text-muted)}.project-progress{margin-top:16px}.progress-header{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.8rem;color:var(--text-secondary)}.project-card-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid var(--border-color);background:#0000001a}.project-head{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-secondary)}.project-team{display:flex;align-items:center;gap:10px}.team-avatars{display:flex;align-items:center}.team-avatars .avatar{margin-left:-8px;border:2px solid var(--bg-card);transition:transform var(--transition-fast)}.team-avatars .avatar:first-child{margin-left:0}.team-avatars .avatar:hover{transform:scale(1.1);z-index:1}.team-avatars .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.team-avatars .avatar.more{background:var(--primary);color:#fff;font-size:.7rem;font-weight:600}.team-count{font-size:.8rem;color:var(--primary);transition:color var(--transition-fast)}.team-count:hover{color:var(--primary-light)}.team-link{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--primary);transition:color var(--transition-fast)}.team-link:hover{color:var(--primary-light)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:768px){.projects-grid{grid-template-columns:1fr;gap:16px}.projects-filters{flex-direction:column;gap:12px}.projects-filters .search-box{min-width:100%}.filter-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}.filter-tab{padding:6px 12px;font-size:.8rem;white-space:nowrap}.form-row{grid-template-columns:1fr}.project-card{border-radius:12px}.project-card-header,.project-card-body,.project-card-footer{padding:12px 16px}.project-meta{flex-direction:column;gap:8px}.project-card-footer{flex-direction:column;gap:12px;align-items:flex-start}}.project-employees-section{margin-top:12px;padding:16px 20px;border-top:1px solid var(--border-color);background:#0000000d}.employees-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:.875rem;color:var(--text-secondary);font-weight:600}.employees-list{display:flex;flex-wrap:wrap;gap:8px}.employee-badge{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;font-size:.8rem;transition:all var(--transition-fast)}.employee-badge:hover{border-color:var(--primary);background:rgba(var(--primary-rgb, 59, 130, 246),.1)}.employee-badge .avatar-xs{width:24px;height:24px;font-size:.7rem;flex-shrink:0}.employee-name{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:500}.employee-badge.more{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600;padding:6px 12px}.employee-badge.more:hover{background:var(--primary-light);border-color:var(--primary-light)}@media(max-width:480px){.projects-grid{gap:12px}.project-card-header,.project-card-body,.project-card-footer{padding:10px 12px}.project-title{font-size:1rem}.project-employees-section{padding-left:12px;padding-right:12px}.employee-name{max-width:80px}}.project-details-page{animation:fadeIn .3s ease}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.9rem;margin-bottom:24px;transition:color var(--transition-fast)}.back-link:hover{color:var(--primary)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.project-info h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.project-info p{color:var(--text-secondary)}.project-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.project-stats .stat-card{display:flex;flex-direction:column;gap:16px}.project-stats .stat-card-inner{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.project-stats .stat-left{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.project-stats .stat-right{display:flex;align-items:flex-end;justify-content:flex-end}.project-stats .stat-label{font-size:.875rem;color:var(--text-secondary);margin:0;font-weight:500}.project-stats .stat-count{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.project-stats .stat-progress{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-color)}.project-stats .stat-progress span{display:block;margin-top:8px;font-size:.75rem;color:var(--text-secondary)}.project-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.details-list{display:flex;flex-direction:column;gap:16px}.detail-item{display:flex;align-items:center;gap:12px;color:var(--text-secondary);font-size:.9rem}.detail-item svg{color:var(--primary)}.project-progress-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.team-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto}.team-member{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-hover);border-radius:10px}.team-member .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.member-info{flex:1}.member-info h4{font-size:.9rem;font-weight:600;color:var(--text-primary)}.member-info p{font-size:.8rem;color:var(--text-secondary)}.empty-team{text-align:center;padding:40px 20px;color:var(--text-muted)}.tasks-section{margin-top:24px}.task-link{color:var(--primary);font-weight:500}.task-link:hover{text-decoration:underline}@media(max-width:992px){.project-stats{grid-template-columns:repeat(2,1fr)}.project-details-grid{grid-template-columns:1fr}}@media(max-width:768px){.project-stats{grid-template-columns:1fr}}.tasks-page{animation:fadeIn .3s ease}.tasks-controls{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.view-toggle{display:flex;gap:4px;background:var(--bg-card);padding:4px;border-radius:10px;border:1px solid var(--border-color)}.toggle-btn{padding:8px 16px;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:all var(--transition-fast)}.toggle-btn:hover{color:var(--text-primary)}.toggle-btn.active{background:var(--primary);color:#fff}.filter-tab{padding:8px 16px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:all var(--transition-fast);display:flex;align-items:center;gap:8px;cursor:pointer}.filter-count{background:#fff3;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;min-width:24px;text-align:center}.filter-tab.active .filter-count{background:#ffffff4d}.filter-tab:not(.active) .filter-count{background:var(--bg-hover);color:var(--text-primary)}.tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.task-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;transition:all var(--transition-base)}.task-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow)}.task-card.overdue{border-color:#ef4444;background:linear-gradient(to bottom,rgba(239,68,68,.05),var(--bg-card))}.task-card.overdue:hover{border-color:#dc2626;box-shadow:0 4px 12px #ef444433}.task-durations{padding:10px;background:var(--bg-hover);border-radius:8px;margin-bottom:12px}.duration-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.task-card-header{display:flex;align-items:center;gap:8px;padding:14px 18px;border-bottom:1px solid var(--border-color)}.task-card-header .task-actions{margin-left:auto;display:flex;gap:4px}.task-card-body{padding:18px;display:block}.task-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.task-desc{font-size:.8rem;color:var(--text-secondary);margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-meta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:14px}.task-progress{margin-top:14px}.task-card-footer{padding:12px 18px;border-top:1px solid var(--border-color);background:#0000001a}.task-card-footer .form-select{padding:8px 12px;font-size:.8rem}.employees-tasks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.employee-task-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);padding:20px;transition:all var(--transition-base)}.employee-task-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow)}.employee-info{display:flex;align-items:center;gap:14px;margin-bottom:20px}.employee-info h3{font-size:1rem;font-weight:600;color:var(--text-primary)}.employee-info p{font-size:.8rem;color:var(--text-secondary)}.employee-info .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.employee-stats{display:flex;justify-content:space-between;margin-bottom:20px;padding:14px;background:var(--bg-hover);border-radius:10px}.stat-item{text-align:center}.stat-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.stat-value{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.stat-value.success{color:var(--success)}.stat-value.danger{color:var(--danger)}.employee-progress{margin-top:16px}.managers-hierarchy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.manager-hierarchy-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);padding:20px;transition:all var(--transition-base)}.manager-hierarchy-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow)}.manager-info{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.manager-info h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.manager-info p{font-size:.85rem;color:var(--text-secondary);margin:4px 0 0}.manager-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px;padding:14px;background:var(--bg-hover);border-radius:10px}.manager-progress{margin-bottom:20px}.manager-employees-section{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.section-header{display:flex;align-items:center;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:12px}.employees-list{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}.employee-under-manager{display:flex;align-items:center;gap:12px;padding:10px;background:var(--bg-hover);border-radius:8px;transition:all var(--transition-fast)}.employee-under-manager:hover{background:#6366f11a;transform:translate(4px)}.employee-avatar-small{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.employee-avatar-small img{width:100%;height:100%;object-fit:cover;border-radius:50%}.employee-details{flex:1;min-width:0}.employee-name{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.employee-empid{font-size:.75rem;color:var(--text-secondary)}.employee-task-counts{display:flex;gap:6px;flex-wrap:wrap}.task-count-badge{padding:4px 8px;border-radius:6px;font-size:.7rem;font-weight:600;background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.task-count-badge.success{background:#10b9811a;color:#10b981;border-color:#10b9814d}.task-count-badge.warning{background:#f59e0b1a;color:#f59e0b;border-color:#f59e0b4d}.form-hint{display:block;margin-top:6px;font-size:.8rem;color:var(--text-muted)}@media(max-width:768px){.tasks-controls{flex-direction:column;align-items:stretch;gap:12px}.view-toggle{width:100%}.toggle-btn{flex:1;text-align:center;padding:6px 12px;font-size:.8rem}.filter-tabs{width:100%;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch}.filter-tab{padding:6px 12px;font-size:.8rem;white-space:nowrap}.filter-count{padding:2px 6px;font-size:.7rem;min-width:20px}.tasks-grid,.employees-tasks-grid{grid-template-columns:1fr;gap:16px}.task-card{border-radius:12px}.task-card-header,.task-card-body,.task-card-footer{padding:12px 16px}.task-meta{flex-direction:column;gap:8px}.task-card-footer{flex-direction:column;gap:12px;align-items:flex-start}}@media(max-width:480px){.tasks-grid{gap:12px}.task-card-header,.task-card-body,.task-card-footer{padding:10px 12px}.task-title{font-size:.9rem}}.task-details-page{animation:fadeIn .3s ease}.task-header{display:flex;justify-content:space-between;gap:24px;margin-bottom:24px;flex-wrap:wrap}.task-badges{display:flex;gap:8px;margin-bottom:12px}.task-info h1{font-size:1.5rem;font-weight:700;margin-bottom:8px}.task-info p{color:var(--text-secondary)}.task-actions-panel{display:flex;gap:12px;align-items:flex-start}.timer-section button{min-width:140px}.task-details-grid{display:grid;grid-template-columns:1fr 360px;gap:24px}.task-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.task-meta-grid .meta-item{display:flex;gap:12px;padding:12px;background:var(--bg-hover);border-radius:10px}.task-meta-grid .meta-item svg{color:var(--primary);font-size:1.25rem;margin-top:2px}.meta-label{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.meta-value{font-weight:500;color:var(--text-primary)}.progress-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.progress-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.progress-slider{width:100%;height:8px;-webkit-appearance:none;appearance:none;background:var(--bg-hover);border-radius:4px;margin:16px 0;cursor:pointer}.progress-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--primary);border-radius:50%;cursor:pointer}.ratings-list{display:flex;flex-direction:column;gap:12px;padding:16px 20px}.rating-row{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-hover)}.rating-meta{display:flex;flex-direction:column;gap:4px;color:var(--text-primary)}.ratings-section,.comments-section{margin-top:24px}.comments-list{max-height:400px;overflow-y:auto;margin-bottom:16px}.no-comments{text-align:center;color:var(--text-muted);padding:40px 20px}.comment{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--border-color)}.comment:last-child{border-bottom:none}.comment-content{flex:1}.comment-header{display:flex;justify-content:space-between;margin-bottom:6px}.comment-author{font-weight:600;font-size:.9rem}.comment-time{font-size:.75rem;color:var(--text-muted)}.comment-content p{font-size:.875rem;color:var(--text-secondary)}.comment-form{display:flex;gap:12px}.comment-form .form-input{flex:1}.comment-form .btn{padding:12px}.time-logs{display:flex;flex-direction:column;gap:12px}.no-logs{text-align:center;color:var(--text-muted);padding:40px 20px}.time-log{padding:14px;background:var(--bg-hover);border-radius:10px}.time-log.active{border:1px solid var(--success);background:#10b9810d}.log-header{display:flex;justify-content:space-between;margin-bottom:8px}.log-date{font-weight:500;font-size:.875rem}.log-times{display:flex;gap:8px;font-size:.8rem;color:var(--text-secondary)}.log-duration{margin-top:8px;font-size:.8rem;color:var(--primary);font-weight:500}@media(max-width:992px){.task-details-grid,.task-meta-grid{grid-template-columns:1fr}}.meetings-page{animation:fadeIn .3s ease}.meetings-filters{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.meetings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.meeting-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;transition:all var(--transition-base)}.meeting-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow)}.meeting-card-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-color)}.meeting-actions{display:flex;gap:4px}.meeting-card-body{padding:18px}.meeting-title{font-size:1.1rem;font-weight:600;margin-bottom:8px}.meeting-desc{font-size:.85rem;color:var(--text-secondary);margin-bottom:16px}.meeting-datetime{display:flex;gap:16px;margin-bottom:16px}.datetime-item{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--text-secondary)}.datetime-item svg{color:var(--primary)}.meeting-participants{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--text-secondary)}.meeting-participants svg{color:var(--primary)}.meeting-participants .avatar-group .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.meeting-participants .avatar.more{background:var(--bg-hover);font-size:.7rem;color:var(--text-secondary)}.meeting-link.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.meeting-link{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff;font-weight:500;font-size:.9rem;transition:opacity var(--transition-fast)}.meeting-link:hover{opacity:.9}.participants-selector{display:flex;flex-wrap:wrap;gap:10px;max-height:200px;overflow-y:auto;padding:10px;background:var(--bg-hover);border-radius:10px}.participant-chip:hover{border-color:var(--primary)}.participant-chip span{font-size:.85rem}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite}.btn:disabled{opacity:.7;cursor:not-allowed}.meeting-notes-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.meeting-notes-popup{background:var(--bg-card);border-radius:16px;box-shadow:var(--shadow-lg);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease}.meeting-notes-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--border-color)}.meeting-notes-header h3{margin:0 0 4px;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.meeting-notes-title{margin:0;font-size:.875rem;color:var(--text-secondary)}.meeting-notes-body{padding:20px 24px;flex:1;overflow-y:auto}.meeting-notes-textarea{width:100%;min-height:300px;padding:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:.95rem;font-family:inherit;line-height:1.6;resize:vertical;transition:border-color var(--transition-fast)}.meeting-notes-textarea:focus{outline:none;border-color:var(--primary)}.meeting-notes-textarea::placeholder{color:var(--text-muted)}.meeting-notes-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}@media(max-width:768px){.meetings-grid{grid-template-columns:1fr}.meeting-notes-popup{width:95%;max-height:85vh}.meeting-notes-header,.meeting-notes-body,.meeting-notes-footer{padding:16px}}.calendar-page{animation:fadeIn .3s ease}.week-timeline-section{margin-bottom:24px}.week-timeline-section .card-title{display:flex;align-items:center;gap:8px}.week-timeline{overflow-x:auto}.week-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:12px}.week-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:18px 20px;transition:all var(--transition-fast);cursor:pointer;min-height:120px}.week-card:hover{border-color:var(--primary);box-shadow:0 8px 24px #00000014;transform:translateY(-2px)}.week-card.selected{border-color:var(--primary);box-shadow:0 8px 28px #6366f126;background:linear-gradient(135deg,#6366f10d,#4f46e505)}.week-card.today{background:linear-gradient(135deg,#6366f11a,#4f46e50d);border-color:var(--primary)}.week-card-content{display:flex;flex-direction:column;height:100%}.week-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.week-date-info{display:flex;align-items:baseline;gap:10px;flex:1}.week-day-num{font-size:2.2rem;font-weight:800;line-height:1;color:var(--primary)}.week-card.today .week-day-num{color:var(--primary)}.week-day-month{display:flex;flex-direction:column;gap:2px}.week-day{font-weight:600;font-size:.95rem;color:var(--text-primary);text-transform:capitalize;line-height:1.2}.week-month{font-size:.8rem;color:var(--text-secondary);font-weight:500;text-transform:capitalize}.week-meeting-count{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f11a,#4f46e50d);border:1px solid rgba(99,102,241,.2);border-radius:12px;padding:10px 14px;min-width:70px}.week-meeting-count .count{font-size:1.5rem;font-weight:800;color:var(--primary);line-height:1;margin-bottom:2px}.week-meeting-count .label{font-size:.65rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.week-card-body,.week-mini-item,.week-more{display:none}.timeline-header{display:grid;grid-template-columns:80px repeat(7,1fr);gap:2px;position:sticky;top:0;background:var(--bg-card);z-index:10}.time-column{min-width:80px}.day-column-header{display:flex;flex-direction:column;align-items:center;padding:12px 8px;background:var(--bg-hover);border-radius:10px;min-width:120px}.day-column-header.today{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff}.day-column-header .day-name{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.day-column-header .day-date{font-size:1.5rem;font-weight:700;line-height:1.2}.day-column-header .month-name{font-size:.7rem;opacity:.8}.timeline-body{margin-top:8px}.no-schedule{padding:16px;text-align:center;color:var(--text-secondary);font-weight:600}.time-row{display:grid;grid-template-columns:80px repeat(7,1fr);gap:2px;min-height:50px}.time-row:nth-child(2n){background:#ffffff05}.time-label{padding:8px;font-size:.75rem;color:var(--text-muted);font-weight:500;display:flex;align-items:flex-start}.time-slot{min-width:120px;padding:4px;border-left:1px solid var(--border-color);min-height:50px}.time-slot.today{background:#6366f10d}.timeline-event{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;padding:6px 10px;border-radius:6px;font-size:.75rem;margin-bottom:4px}.timeline-event .event-time{font-weight:600;display:block;margin-bottom:2px}.timeline-event .event-title{opacity:.9;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.join-link{margin-top:4px;padding:4px 8px;background:#fff3;border-radius:4px;font-size:.75rem;text-decoration:none;color:#fff;display:inline-block}.join-link.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.day-cards-section{margin-bottom:24px}.day-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;width:100%}.day-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;transition:all var(--transition-fast)}.day-card:hover{border-color:var(--primary);box-shadow:0 0 20px #6366f11a}.day-card.current{border-color:var(--primary);background:linear-gradient(135deg,#6366f11a,#4f46e50d)}.day-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-hover)}.day-card.current .day-card-header{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff}.day-info .day-name{font-size:1rem;font-weight:700;display:block}.day-info .day-full-date{font-size:.8rem;color:var(--text-secondary)}.day-card.current .day-info .day-full-date{color:#fffc}.meeting-count{display:flex;flex-direction:column;align-items:center;padding:8px 12px;background:#ffffff1a;border-radius:10px}.meeting-count .count{font-size:1.5rem;font-weight:700;line-height:1}.meeting-count .label{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.day-card-body{padding:16px 20px;min-height:120px}.day-card-body .no-events{text-align:center;color:var(--text-muted);padding:20px 0;font-size:.875rem}.day-meetings-list{display:flex;flex-direction:column;gap:10px}.day-meeting-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:var(--bg-hover);border-radius:10px}.meeting-time-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#6366f11a;color:var(--primary);border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.meeting-details{flex:1;min-width:0}.meeting-details h5{font-size:.875rem;font-weight:600;margin-bottom:2px}.meeting-details p{font-size:.75rem;color:var(--text-secondary)}.join-btn{display:flex;align-items:center;gap:4px;padding:6px 12px;background:var(--success);color:#fff;border-radius:6px;font-size:.75rem;font-weight:600;transition:all var(--transition-fast);white-space:nowrap;text-decoration:none}.join-btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none;background:var(--text-muted)}.join-btn:hover{background:#059669;transform:translateY(-1px)}.offline-badge{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#10b981;color:#fff;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:default}.calendar-section{margin-bottom:24px}.calendar-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px}.calendar-header-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.nav-btn{width:40px;height:40px;border-radius:10px;background:var(--bg-hover);border:1px solid var(--border-color);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.nav-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}.calendar-month-year{display:flex;align-items:center;gap:16px;flex:1;justify-content:center}.calendar-month-year h2{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.today-btn{padding:8px 16px;border-radius:8px;background:var(--primary);color:#fff;border:none;font-weight:600;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.today-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}.calendar-grid-container{overflow-x:auto}.calendar-grid{display:grid;grid-template-columns:repeat(8,minmax(70px,1fr));gap:8px;min-width:640px}.calendar-day-card{min-height:72px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;padding:8px;border-radius:10px;cursor:pointer;transition:all var(--transition-fast);position:relative;border:1px solid var(--border-color);background:linear-gradient(135deg,rgba(255,255,255,.02) 0%,var(--bg-hover) 100%);box-shadow:0 1px 3px #0000000d}.calendar-day-card:hover{background:linear-gradient(135deg,#6366f11f,#4f46e514);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #6366f133}.calendar-day-card.today{background:linear-gradient(135deg,#6366f133,#4f46e526);border:2px solid var(--primary);box-shadow:0 3px 12px #6366f14d}.calendar-day-card.today .day-number-large{color:var(--primary);font-weight:800;text-shadow:0 1px 2px rgba(99,102,241,.2)}.calendar-day-card.selected{background:linear-gradient(135deg,#6366f140,#4f46e533);border:2px solid var(--primary);box-shadow:0 4px 16px #6366f159}.calendar-day-card.selected .day-number-large{color:var(--primary);font-weight:800}.calendar-day-card.has-events{background:linear-gradient(135deg,#10b98114,#0596690d);border-color:#10b9814d}.calendar-day-card.has-events:hover{background:linear-gradient(135deg,#10b98126,#0596691a);border-color:#10b98180}.calendar-day-card.has-events.today{background:linear-gradient(135deg,#6366f140,#10b98126);border-color:var(--primary)}.calendar-day-card.has-events.selected{background:linear-gradient(135deg,#6366f14d,#10b98133);border-color:var(--primary)}.calendar-day.has-events{font-weight:600}.calendar-day.selected.has-events{background:#6366f133}.weekday-label{font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.3px}.calendar-day-card.has-events .weekday-label{color:#10b981;font-weight:700}.day-number-large{font-size:1.3rem;font-weight:700;color:var(--text-primary);line-height:1;transition:all var(--transition-fast)}.calendar-day-card.has-events .day-number-large{color:#059669;font-weight:800}.event-counts{position:absolute;top:6px;right:6px;display:flex;gap:4px;align-items:center}.event-count-badge{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12px;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;gap:3px;font-size:.65rem;font-weight:700;padding:0 5px;box-shadow:0 2px 6px #10b98166;border:1px solid rgba(255,255,255,.2)}.event-count-badge.tasks-badge{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 6px #3b82f666}.event-count-badge.meetings-badge{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 6px #10b98166}.add-event-btn{position:absolute;bottom:6px;right:6px;width:24px;height:24px;border-radius:50%;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:all .2s ease;box-shadow:0 2px 6px #6366f14d}.calendar-day-card:hover .add-event-btn{opacity:1}.add-event-btn:hover{transform:scale(1.1);box-shadow:0 4px 12px #6366f180}.selected-date-meetings{min-height:150px}.no-meetings{text-align:center;color:var(--text-muted);padding:30px}.meetings-list{display:flex;flex-direction:column;gap:12px}.meeting-item{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg-hover);border-radius:10px}.meeting-time{display:flex;align-items:center;gap:6px;color:var(--primary);font-weight:500;font-size:.875rem;min-width:100px}.meeting-info{flex:1}.meeting-info h4{font-size:.9rem;font-weight:600;margin-bottom:2px}.meeting-info p{font-size:.8rem;color:var(--text-secondary)}.calendar-sidebar{position:sticky;top:calc(var(--header-height) + 24px);height:fit-content}.upcoming-list{display:flex;flex-direction:column;gap:12px}.upcoming-item{display:flex;gap:14px;padding:14px;background:var(--bg-hover);border-radius:10px}.upcoming-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:50px;padding:8px;background:#6366f11a;border-radius:8px}.upcoming-date .day{font-size:1.25rem;font-weight:700;color:var(--primary)}.upcoming-date .month{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase}.upcoming-info{flex:1}.upcoming-info h4{font-size:.875rem;font-weight:600;margin-bottom:4px}.upcoming-info p{font-size:.8rem;color:var(--text-secondary);display:flex}.day-tasks-list{display:flex;flex-direction:column;gap:12px}.day-task-item{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--bg-hover);border-radius:10px;border-left:3px solid var(--border-color);transition:all .2s ease}.day-task-item:hover{background:var(--bg-card);border-left-color:#3b82f6;box-shadow:0 2px 8px #0000000d}.task-priority-badge{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.75rem;flex-shrink:0}.task-details{flex:1}.task-details h5{font-size:.9rem;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.task-details p{font-size:.8rem;color:var(--text-secondary);margin:0 0 8px}.task-meta{display:flex;gap:8px;align-items:center}.status-badge{padding:4px 8px;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-todo{background:#f59e0b1a;color:#f59e0b}.status-in-progress{background:#3b82f61a;color:#3b82f6}.status-done{background:#10b9811a;color:#10b981}.status-blocked{background:#ef44441a;color:#ef4444}.add-type-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px 0}.add-type-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;border:2px dashed var(--border-color);border-radius:12px;background:var(--bg-hover);cursor:pointer;transition:all .2s ease;color:var(--text-primary)}.add-type-btn:hover{border-color:#6366f1;background:#6366f10d;transform:translateY(-2px);box-shadow:0 4px 12px #6366f126}.add-type-btn span{font-size:1rem;font-weight:600}.add-type-btn svg{color:#6366f1}@media(max-width:1200px){.day-cards-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:992px){.calendar-layout{grid-template-columns:1fr}.calendar-sidebar{position:static}}.participants-search-container{display:flex;flex-direction:column;gap:12px}.participants-search{position:relative;display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px}.participants-search svg{color:var(--text-secondary);flex-shrink:0}.participants-search-input{flex:1;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:.9rem}.participants-search-input::placeholder{color:var(--text-secondary)}.participants-search-clear{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.participants-search-clear:hover{background:var(--bg-card);color:var(--text-primary)}.selected-participants{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:var(--bg-hover);border-radius:8px;min-height:40px}.selected-participant-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--primary);color:#fff;border-radius:6px;font-size:.85rem}.selected-participant-chip .avatar{width:20px;height:20px;font-size:.7rem}.remove-participant-btn{background:#fff3;border:none;color:#fff;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;margin-left:4px}.remove-participant-btn:hover{background:#ffffff4d}.participants-selector{display:flex;flex-wrap:wrap;gap:10px;max-height:200px;overflow-y:auto;padding:10px;background:var(--bg-hover);border-radius:10px;border:1px solid var(--border-color)}.participant-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all var(--transition-fast)}.participant-chip:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 2px 6px #6366f133}.participant-chip.selected{background:#6366f11a;border-color:var(--primary)}.participant-chip .avatar{width:28px;height:28px;font-size:.75rem}.participant-chip .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.participant-chip span{font-size:.85rem;font-weight:500}.avatar-xs{width:18px;height:18px;font-size:.65rem}.calendar-page .searchable-select,.calendar-page .searchable-select-trigger{position:relative;width:100%}.calendar-page .searchable-select-input{width:100%;padding:10px 36px 10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.9rem;cursor:pointer;outline:none}.calendar-page .searchable-select-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.calendar-page .searchable-select-input:disabled{opacity:.6;cursor:not-allowed}.calendar-page .searchable-select-trigger.disabled{opacity:.6;cursor:not-allowed}.calendar-page .searchable-select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);transition:transform .2s ease;pointer-events:none}.calendar-page .searchable-select-arrow.open{transform:translateY(-50%) rotate(180deg)}.calendar-page .searchable-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:300px;display:flex;flex-direction:column;overflow:hidden}.calendar-page .searchable-select-search{padding:12px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:8px;position:relative}.calendar-page .searchable-select-search svg{color:var(--text-secondary);flex-shrink:0}.calendar-page .searchable-select-search-input{flex:1;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:.9rem}.calendar-page .searchable-select-search-input::placeholder{color:var(--text-secondary)}.calendar-page .searchable-select-clear{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.calendar-page .searchable-select-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.calendar-page .searchable-select-options{overflow-y:auto;max-height:240px}.calendar-page .searchable-select-option{padding:12px 16px;cursor:pointer;transition:all .2s ease;color:var(--text-primary);font-size:.9rem;border-bottom:1px solid var(--bg-hover)}.calendar-page .searchable-select-option:last-child{border-bottom:none}.calendar-page .searchable-select-option:hover{background:var(--bg-hover)}.calendar-page .searchable-select-option.selected{background:#6366f11a;color:var(--primary);font-weight:600}.calendar-page .searchable-select-no-results{padding:20px;text-align:center;color:var(--text-secondary);font-size:.9rem}@media(max-width:768px){.page-container{padding:16px}.calendar-page{padding:0}.calendar-section{margin-bottom:16px}.calendar-card{padding:16px}.calendar-header-nav{flex-wrap:wrap;gap:12px}.calendar-month-year h2{font-size:1.2rem}.calendar-grid{gap:4px}.calendar-day{min-height:60px;padding:6px;font-size:.85rem}.day-cards-grid{grid-template-columns:repeat(3,1fr);gap:16px}.day-cards-grid{grid-template-columns:1fr}.day-card{padding:16px}.day-meetings-list,.day-tasks-list{max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch}.day-meeting-item,.day-task-item{padding:12px;margin-bottom:8px}.timeline-header,.time-row{grid-template-columns:60px repeat(7,minmax(100px,1fr))}.upcoming-meetings-list,.meetings-list,ul.meetings-list,.day-meetings-list ul,.calendar-sidebar ul{max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:8px}.upcoming-meetings-list li,.meetings-list li,.day-meetings-list ul li{padding:10px;margin-bottom:8px}.modal-content{margin:10px;max-width:calc(100% - 20px)}.form-row{grid-template-columns:1fr}}.reports-page{animation:fadeIn .3s ease;overflow:visible;position:relative}.filters-card{margin-bottom:24px;overflow:visible;position:relative}.filters-container{padding:16px;overflow:visible;position:relative}.filters-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;overflow:visible;position:relative}.filters-grid .form-group{min-width:160px;flex:0 0 auto}.filters-grid .form-group:nth-child(2){min-width:200px;flex:1 1 auto;max-width:300px}.filters-actions{margin-top:16px;display:flex;justify-content:flex-end}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.summary-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);padding:20px;display:flex;align-items:center;gap:16px}.summary-card.full-width{grid-column:1 / -1;justify-content:center}.summary-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.summary-icon.primary{background:#6366f11a;color:var(--primary)}.summary-icon.success{background:#10b9811a;color:var(--success)}.summary-icon.warning{background:#f59e0b1a;color:var(--warning)}.summary-icon.danger{background:#ef44441a;color:var(--danger)}.summary-content h4{font-size:1.5rem;font-weight:700}.summary-content p{color:var(--text-secondary);font-size:.875rem}.download-section{display:flex;gap:16px;margin-bottom:24px}.report-actions{display:flex;gap:16px;margin-bottom:32px}@media(max-width:992px){.filters-grid,.summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.filters-grid,.summary-grid{grid-template-columns:1fr}}.users-page{animation:fadeIn .3s ease}.view-toggle-btn{width:36px;height:36px;border-radius:8px;background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all var(--transition-fast)}.user-designation{color:var(--text-secondary);font-size:.9rem;margin-bottom:6px}.user-status{display:flex;align-items:center;gap:8px;font-size:.85rem}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.active{background:var(--success)}.status-dot.inactive{background:var(--danger)}.user-card-footer{display:flex;justify-content:center;gap:8px;padding:16px;border-top:1px solid var(--border-color)}.users-table-container{overflow-x:auto}.user-cell{display:flex;align-items:center;gap:12px}.user-cell .avatar{width:36px;height:36px;border-radius:10px;overflow:hidden}.user-cell .avatar img{width:100%;height:100%;object-fit:cover}.user-cell .user-name{font-weight:600}.empid-badge{padding:4px 10px;background:var(--bg-hover);border-radius:6px;font-size:.85rem;font-family:monospace}.table-actions{display:flex;gap:6px}.table-actions .btn-icon{width:32px;height:32px}.empty-table{text-align:center;padding:60px 20px!important;color:var(--text-muted)}.empty-table .empty-state-icon{font-size:3rem;margin-bottom:16px;display:block}.consent-group{display:flex;gap:20px}.consent-item{display:flex;align-items:center;gap:8px;cursor:pointer}.consent-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary)}.user-view-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.user-view-header .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-view-header h3{font-size:1.25rem;margin-bottom:8px}.user-view-details{display:flex;flex-direction:column;gap:16px}.detail-row{display:flex;justify-content:space-between;align-items:center}.detail-row .label{color:var(--text-secondary);font-size:.9rem}.detail-row .value{font-weight:500;display:flex;gap:8px}.pagination-btn{min-width:36px;height:36px;padding:0 12px;border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:.9rem;font-weight:500;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);border:1px solid transparent}.toggle-status{font-size:.85rem;font-weight:600;min-width:30px}.searchable-select,.searchable-select-trigger{position:relative;width:100%}.searchable-select-input{width:100%;padding:10px 36px 10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.9rem;cursor:pointer;outline:none}.searchable-select-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.searchable-select-input:disabled{opacity:.6;cursor:not-allowed}.searchable-select-trigger.disabled{opacity:.6;cursor:not-allowed}.searchable-select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);transition:transform .2s ease;pointer-events:none}.searchable-select-arrow.open{transform:translateY(-50%) rotate(180deg)}.searchable-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:300px;display:flex;flex-direction:column;overflow:hidden}.searchable-select-search{padding:12px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:8px;position:relative}.searchable-select-search svg{color:var(--text-secondary);flex-shrink:0}.searchable-select-search-input{flex:1;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:.9rem}.searchable-select-search-input::placeholder{color:var(--text-secondary)}.searchable-select-clear{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.searchable-select-clear:hover{background:var(--bg-hover);color:var(--text-primary)}.searchable-select-options{overflow-y:auto;max-height:240px}.searchable-select-option{padding:12px 16px;cursor:pointer;transition:all .2s ease;color:var(--text-primary);font-size:.9rem;border-bottom:1px solid var(--bg-hover)}.searchable-select-option:last-child{border-bottom:none}.searchable-select-option:hover{background:var(--bg-hover)}.searchable-select-option.selected{background:#6366f11a;color:var(--primary);font-weight:600}.searchable-select-no-results{padding:20px;text-align:center;color:var(--text-secondary);font-size:.9rem}[data-theme=light] .searchable-select-input{background-color:var(--bg-input)!important;background:var(--bg-input)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}[data-theme=light] .searchable-select-dropdown{background-color:var(--bg-card)!important;background:var(--bg-card)!important;border-color:var(--border-color)!important}[data-theme=light] .searchable-select-search{background-color:var(--bg-card)!important;background:var(--bg-card)!important;border-bottom-color:var(--border-color)!important}[data-theme=light] .searchable-select-search-input{background-color:transparent!important;background:transparent!important;color:var(--text-primary)!important}[data-theme=light] .searchable-select-search-input::placeholder{color:var(--text-secondary)!important}[data-theme=light] .searchable-select-option{background-color:var(--bg-card)!important;background:var(--bg-card)!important;color:var(--text-primary)!important;border-bottom-color:var(--bg-hover)!important}[data-theme=light] .searchable-select-option:hover{background-color:var(--bg-hover)!important;background:var(--bg-hover)!important}[data-theme=light] .searchable-select-option.selected{background-color:#6366f11a!important;background:#6366f11a!important;color:var(--primary)!important}[data-theme=light] .searchable-select-no-results,[data-theme=light] .searchable-select-arrow{color:var(--text-secondary)!important}[data-theme=light] .searchable-select-search svg{color:var(--text-secondary)!important}@media(max-width:768px){.page-container{padding:16px}.users-grid{grid-template-columns:1fr;gap:16px}.view-toggle{display:none}.users-filters{flex-direction:column;align-items:stretch}.users-filters>*{width:100%}.search-input{width:100%}.pagination{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;flex-wrap:wrap}.pagination-info{font-size:.85rem;word-break:break-word;flex:1 1 100%;text-align:center;order:2}.pagination-controls{flex-wrap:wrap;justify-content:center;gap:4px;flex:1 1 100%;order:1}.pagination-btn{min-width:32px;height:32px;padding:0 8px;font-size:.85rem}.user-card{width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:600px;font-size:.85rem}.data-table th,.data-table td{padding:10px 8px}.page-header{flex-direction:column;align-items:flex-start}.modal-content{margin:10px;max-width:calc(100% - 20px)}}.profile-page{animation:fadeIn .3s ease}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.profile-card{grid-column:1 / 2;grid-row:1 / 3}.profile-header{display:flex;flex-direction:row;align-items:center;gap:24px;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--border-color)}.profile-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;position:relative;overflow:hidden;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.avatar-upload{position:absolute;bottom:0;left:0;right:0;background:#0009;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center}.avatar-upload input{display:none}.avatar-upload svg{color:#fff}.profile-info{display:flex;flex-direction:column;gap:8px}.profile-info h2{font-size:1.5rem;margin:0}.profile-info .badge{align-self:flex-start}.profile-empid{color:var(--text-secondary);margin:0;font-size:.9rem}.profile-details{display:flex;flex-direction:column;gap:16px}.profile-actions{display:flex;gap:12px;margin-top:24px;justify-content:flex-end}.security-info{text-align:center;padding:20px}.security-info p{color:var(--text-secondary);margin-bottom:16px}.account-card,.account-card .card-header{background:transparent}.account-info-table{margin-top:8px}.info-table{width:100%;border-collapse:collapse;background:transparent}.info-table tbody tr{border-bottom:1px solid var(--bg-hover);transition:background .2s;background:transparent}.info-table tbody tr:hover{background:var(--bg-hover)}.info-table tbody tr:last-child{border-bottom:none}.info-table td{background:transparent!important}.info-label{padding:12px 16px;font-weight:600;color:var(--text-secondary);font-size:.875rem;width:40%;vertical-align:middle;background:transparent!important}.info-value{padding:12px 16px;color:var(--text-primary);font-size:.9rem;font-weight:500;vertical-align:middle;background:transparent!important}.account-info{display:flex;flex-direction:column;gap:16px}.info-item{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-color)}.info-item:last-child{border-bottom:none}.info-item .label{color:var(--text-secondary)}.info-item .value{font-weight:500}.consent-toggles-horizontal{display:flex;gap:24px;justify-content:flex-start;flex-wrap:wrap}.toggle-column{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 24px;background:var(--bg-hover);border-radius:12px;min-width:100px}.toggle-title{font-weight:600;font-size:.9rem;color:var(--text-primary)}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;cursor:pointer}.toggle-switch.disabled{cursor:not-allowed;opacity:.6}.toggle-slider{position:absolute;inset:0;background:var(--text-muted);border-radius:26px;transition:all var(--transition-fast)}.toggle-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all var(--transition-fast);box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background:var(--success)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px #22c55e33}.toggle-status{font-size:.85rem;font-weight:600}.toggle-status.yes{color:var(--success)}.toggle-status.no{color:var(--text-muted)}[data-theme=light] .form-input,[data-theme=light] .form-select{color:var(--text-primary)!important;background-color:var(--bg-input)!important}[data-theme=light] .form-select option{background-color:var(--bg-card)!important;color:var(--text-primary)!important}[data-theme=light] .form-select:disabled{background-color:var(--bg-hover)!important;color:var(--text-secondary)!important;opacity:.6}[data-theme=light] .form-input::placeholder{color:var(--text-muted)!important}[data-theme=light] .profile-info h2,[data-theme=light] .info-label,[data-theme=light] .info-value,[data-theme=light] .detail-card-title,[data-theme=light] .card-title{color:var(--text-primary)!important}.profile-details-section{margin-top:32px}.section-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:24px}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.details-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}@media(max-width:992px){.details-row{grid-template-columns:1fr}}.documents-section{margin-top:20px}.documents-card{width:100%}.detail-card{background:transparent;border:1px solid var(--border-color);border-radius:14px;padding:22px;box-shadow:0 2px 8px #0000000f;transition:all .3s ease;position:relative;overflow:hidden}.detail-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%);opacity:0;transition:opacity .3s ease}.detail-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001f;border-color:var(--primary-light)}.detail-card:hover:before{opacity:1}.detail-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.detail-card-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.detail-status{padding:4px 12px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.detail-status.completed{background:#22c55e1a;color:#22c55e}.detail-status.pending{background:#f59e0b1a;color:#f59e0b}.detail-card-body{min-height:100px;overflow-x:auto;overflow-y:visible}.detail-items{display:flex;flex-direction:column;gap:0}.detail-table{width:100%;border-collapse:collapse;margin-top:8px}.detail-table thead{background:var(--bg-hover)}.detail-table th{padding:12px 16px;text-align:left;font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.detail-table td{padding:14px 16px;font-size:.9rem;color:var(--text-primary);border-bottom:1px solid var(--bg-hover);font-weight:500}.detail-table tbody tr:hover{background:var(--bg-hover)}.detail-table tbody tr:last-child td{border-bottom:none}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--bg-hover)}.detail-item:last-child{border-bottom:none}.detail-label{font-size:.85rem;color:var(--text-secondary);font-weight:500}.detail-value{font-size:.9rem;color:var(--text-primary);font-weight:600;text-align:right}.detail-member{padding:16px;background:var(--bg-hover);border-radius:10px;margin-bottom:12px;border:1px solid var(--border-color);transition:all .2s}.detail-member:hover{border-color:var(--primary-light);box-shadow:0 2px 8px #0000000d}.detail-member:last-child{margin-bottom:0}.detail-members-table{width:100%;border-collapse:collapse;margin-top:8px}.detail-members-table thead{background:var(--bg-hover)}.detail-members-table th{padding:12px 16px;text-align:left;font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}.detail-members-table td{padding:14px 16px;font-size:.9rem;color:var(--text-primary);border-bottom:1px solid var(--bg-hover);font-weight:500}.detail-members-table tbody tr:hover{background:var(--bg-hover)}.detail-members-table tbody tr:last-child td{border-bottom:none}.detail-members-table .action-cell{width:120px;text-align:center}.detail-members-table .action-cell .detail-edit-btn,.detail-members-table .action-cell .detail-delete-btn{width:32px;height:32px;font-size:.875rem}.detail-pending{text-align:center;padding:40px 20px;color:var(--text-secondary);font-size:.95rem;font-weight:500}.documents-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media(max-width:1600px){.documents-grid{grid-template-columns:repeat(5,1fr)}}@media(max-width:1400px){.documents-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1100px){.documents-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.documents-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.page-container{padding:16px}.profile-layout{grid-template-columns:1fr;gap:16px}.profile-card{grid-column:1;grid-row:auto}.profile-header{flex-direction:column;text-align:center;gap:16px}.profile-avatar{width:100px;height:100px;font-size:2.5rem}.profile-info h2{font-size:1.5rem}.profile-actions{flex-direction:column;width:100%}.profile-actions .btn{width:100%}.detail-section{padding:16px}.detail-grid{grid-template-columns:1fr;gap:12px}.documents-grid{grid-template-columns:repeat(2,1fr);gap:12px}.modal-content{margin:10px;max-width:calc(100% - 20px)}.form-row{grid-template-columns:1fr}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:600px;font-size:.85rem}}@media(max-width:480px){.documents-grid{grid-template-columns:1fr}.profile-avatar{width:80px;height:80px;font-size:2rem}}.document-item{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--bg-hover);border-radius:12px;align-items:center;border:1px solid var(--border-color);transition:all .2s;position:relative;overflow:hidden}.document-item:hover{border-color:var(--primary-light);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.document-image{width:100%;max-width:140px;height:140px;object-fit:cover;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card)}.document-name{font-size:.875rem;color:var(--text-primary);font-weight:600;text-align:center;word-break:break-word;margin-bottom:4px}.detail-action-btn{background:var(--primary);color:#fff;border:none;border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.detail-action-btn:hover{background:var(--primary-dark);transform:scale(1.05)}.detail-member-actions{display:flex;gap:6px;position:absolute;top:8px;right:8px}.detail-member{position:relative}.detail-edit-btn,.detail-delete-btn{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--text-primary);font-size:.875rem}.detail-edit-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.05)}.detail-delete-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444;transform:scale(1.05)}.document-actions{display:flex;gap:8px;justify-content:center;align-items:center;width:100%;margin-top:4px}.detail-download-btn{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--text-primary);font-size:.875rem}.detail-download-btn:hover{background:var(--success);color:#fff;border-color:var(--success);transform:scale(1.05)}.detail-modal{max-width:520px;width:90%;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.modal-content.detail-modal{background:var(--bg-card);border-radius:20px;border:1px solid var(--border-color);width:100%;max-width:550px;box-shadow:0 25px 70px #0006,0 0 0 1px #ffffff0d inset;animation:slideUp .3s cubic-bezier(.16,1,.3,1);max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.employee-requests-page .modal-content.detail-modal,.employee-holidays-page .modal-content.detail-modal,.employee-permission-page .modal-content.detail-modal{max-width:650px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-card);border-radius:20px;border:none;width:100%;max-width:500px;box-shadow:0 25px 70px #0006,0 0 0 1px #ffffff0d inset;animation:slideUp .3s cubic-bezier(.16,1,.3,1);max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.modal-content.detail-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;position:relative;overflow:hidden;border-radius:16px 16px 0 0}.modal-content.detail-modal .modal-header:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);pointer-events:none}.modal-content.detail-modal .modal-header h3{margin:0;font-size:1.1rem;font-weight:600;color:#fff;position:relative;z-index:1;letter-spacing:.2px}.modal-content.detail-modal .modal-close{width:30px;height:30px;border-radius:8px;background:#ffffff26;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-size:1.1rem;position:relative;z-index:1}.modal-content.detail-modal .modal-close:hover{background:#ffffff4d;transform:rotate(90deg) scale(1.05)}.modal-content.detail-modal .modal-body{padding:28px;background:var(--bg-primary);overflow-y:auto;flex:1}.modal-content.detail-modal .modal-body .form-group{margin-bottom:20px}.modal-content.detail-modal .modal-body .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.modal-content.detail-modal .modal-body .form-row .form-group{margin-bottom:0}@media(max-width:768px){.modal-content.detail-modal .modal-body .form-row{grid-template-columns:1fr;gap:0}.modal-content.detail-modal .modal-body .form-row .form-group{margin-bottom:20px}}.modal-content.detail-modal .modal-body .form-group:last-of-type{margin-bottom:0}.modal-content.detail-modal .modal-body .form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-primary);font-size:.9rem;letter-spacing:.2px}.modal-content.detail-modal .modal-body .form-input{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:10px;background:var(--bg-card);color:var(--text-primary);font-size:.9rem;transition:all .2s;box-sizing:border-box}.modal-content.detail-modal .modal-body .form-input:hover{border-color:var(--primary-light);background:var(--bg-primary)}.modal-content.detail-modal .modal-body .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #3b82f626;background:var(--bg-primary)}.modal-content.detail-modal .modal-body .form-select{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:10px;background:var(--bg-card);color:var(--text-primary);font-size:.9rem;transition:all .2s;box-sizing:border-box;cursor:pointer}.modal-content.detail-modal .modal-body .form-select:hover{border-color:var(--primary-light);background:var(--bg-primary)}.modal-content.detail-modal .modal-body .form-select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #3b82f626;background:var(--bg-primary)}.modal-content.detail-modal .modal-body textarea.form-input{resize:vertical;min-height:100px}.modal-content.detail-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.modal-content.detail-modal .modal-actions .btn{padding:12px 24px;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s;border:none;min-width:100px;display:flex;align-items:center;justify-content:center;gap:6px}.modal-content.detail-modal .modal-actions .btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 2px 6px #3b82f640}.modal-content.detail-modal .modal-actions .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.modal-content.detail-modal .modal-actions .btn-primary:active:not(:disabled){transform:translateY(0)}.modal-content.detail-modal .modal-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-content.detail-modal .modal-actions .btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1.5px solid var(--border-color)}.modal-content.detail-modal .modal-actions .btn-secondary:hover{background:var(--bg-card);border-color:var(--text-secondary);transform:translateY(-1px)}@media(max-width:992px){.profile-layout{grid-template-columns:1fr}.profile-card{grid-column:1;grid-row:auto}.details-grid{grid-template-columns:1fr}}.issues-page{animation:fadeIn .3s ease}.issues-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.issues-filters{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.issues-list{display:flex;flex-direction:column;gap:16px}.issue-item{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);padding:20px;transition:all var(--transition-base)}.issue-item:hover{border-color:var(--primary)}.issue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.issue-badges{display:flex;gap:8px}.issue-actions{display:flex;gap:8px;align-items:center}.issue-actions .form-select-sm{padding:6px 12px;font-size:.8rem;min-width:120px}.issue-content h3{font-size:1.1rem;font-weight:600;margin-bottom:8px}.issue-content p{color:var(--text-secondary);font-size:.9rem;margin-bottom:16px}.issue-meta{display:flex;gap:8px;font-size:.8rem;color:var(--text-muted)}.resolution-notes{margin-top:16px;padding:12px;background:#10b9810d;border:1px solid var(--success);border-radius:8px;font-size:.875rem;color:var(--text-secondary)}.resolution-notes strong{color:var(--success)}@media(max-width:1400px){.issues-stats{grid-template-columns:repeat(3,1fr)}}@media(max-width:992px){.issues-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.issues-stats{grid-template-columns:1fr;gap:12px}.issues-filters{flex-direction:column;gap:12px}.issue-header{flex-direction:column;align-items:flex-start;gap:12px}.issue-actions{width:100%;flex-direction:column;gap:8px}.issue-actions .form-select-sm{width:100%;min-width:auto}.issue-item{padding:16px;border-radius:12px}.issue-meta{flex-direction:column;gap:6px}}@media(max-width:480px){.issues-stats{gap:10px}.issue-item{padding:12px}.issue-content h3{font-size:1rem}}.ratings-page{animation:fadeIn .3s ease}.ratings-stats-grid{display:grid;grid-template-columns:280px 1fr 1fr;gap:20px;margin-bottom:24px}.stat-card-main{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border-radius:20px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;position:relative;overflow:hidden}.stat-card-main:before{content:"";position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 60%)}.stat-card-icon{width:50px;height:50px;background:#fff3;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:16px}.stat-card-content{position:relative;z-index:1}.big-score-display{display:flex;align-items:baseline;justify-content:center;margin-bottom:10px}.big-score-display .score-value{font-size:3.5rem;font-weight:700;line-height:1}.big-score-display .score-max{font-size:1.5rem;opacity:.7;margin-left:4px}.stat-card-main .stat-label{margin-top:10px;opacity:.9;font-size:.9rem}.stat-card-main .stars svg{color:#ffffff80}.stat-card-main .stars svg.filled{color:#fbbf24;fill:#fbbf24}.stat-card-info{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:24px;display:flex;flex-direction:column;justify-content:center;gap:24px}.stat-info-item{display:flex;align-items:center;gap:16px}.stat-info-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem}.stat-info-icon.success{background:#10b9811a;color:var(--success)}.stat-info-icon.primary{background:#6366f11a;color:var(--primary)}.stat-info-value{font-size:1.75rem;font-weight:700;display:block}.stat-info-label{font-size:.875rem;color:var(--text-secondary)}.stat-card-distribution{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;padding:24px}.stat-card-distribution h4{font-size:1rem;margin-bottom:20px;color:var(--text-primary)}.score-distribution{display:flex;flex-direction:column;gap:10px}.distribution-row{display:flex;align-items:center;gap:12px}.score-label{min-width:40px;font-size:.875rem;color:var(--text-secondary)}.distribution-bar{flex:1;height:10px;background:var(--bg-hover);border-radius:5px;overflow:hidden}.distribution-fill{height:100%;border-radius:5px;transition:width var(--transition-slow)}.distribution-fill.score-5{background:linear-gradient(90deg,#10b981,#059669)}.distribution-fill.score-4{background:linear-gradient(90deg,#22c55e,#16a34a)}.distribution-fill.score-3{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.distribution-fill.score-2{background:linear-gradient(90deg,#f97316,#ea580c)}.distribution-fill.score-1{background:linear-gradient(90deg,#ef4444,#dc2626)}.score-count{min-width:30px;text-align:right;font-size:.875rem;color:var(--text-muted)}.ratings-view-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.ratings-view-toggle{display:flex;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:4px;width:fit-content}.ratings-view-toggle .toggle-btn{padding:10px 24px;border-radius:8px;background:transparent;color:var(--text-secondary);font-weight:500;transition:all var(--transition-fast)}.ratings-view-toggle .toggle-btn:hover{color:var(--text-primary)}.ratings-view-toggle .toggle-btn.active{background:var(--primary);color:#fff}.ratings-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.rating-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;overflow:hidden;transition:all var(--transition-base)}.rating-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 10px 30px #0003}.rating-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--bg-hover)}.rating-score-badge{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;font-weight:700}.rating-score-badge.success{background:#10b98126;color:var(--success)}.rating-score-badge.warning{background:#f59e0b26;color:var(--warning)}.rating-score-badge.danger{background:#ef444426;color:var(--danger)}.rating-score-badge .score-num{font-size:1.25rem}.rating-score-badge svg.filled{color:#fbbf24;fill:#fbbf24}.rating-date{font-size:.8rem;color:var(--text-muted)}.rating-card-body{padding:20px}.rating-card .rating-parties{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.party-info{display:flex;align-items:center;gap:10px}.party-info .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;position:relative;overflow:hidden;flex-shrink:0}.party-info .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;position:absolute;top:0;left:0}.party-info .avatar .avatar-fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0;z-index:1}.party-info .avatar.small{width:32px;height:32px;font-size:.8rem;background:var(--bg-hover);color:var(--text-secondary)}.party-name{font-weight:600;font-size:.9rem;display:block}.party-label{font-size:.75rem;color:var(--text-muted);display:block}.rating-arrow{color:var(--text-muted);font-size:1.25rem}.rating-task{background:var(--bg-hover);padding:10px 14px;border-radius:8px;margin-bottom:12px;font-size:.85rem}.task-label{color:var(--text-muted);margin-right:6px}.task-title{color:var(--text-primary);font-weight:500}.rating-comments{padding:12px;background:#6366f10d;border-radius:10px;border-left:3px solid var(--primary)}.rating-comments p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;font-style:italic}.rating-card-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid var(--border-color)}.performance-label{font-size:.8rem;font-weight:600;padding:4px 12px;border-radius:6px}.performance-label.success{background:#10b9811a;color:var(--success)}.performance-label.warning{background:#f59e0b1a;color:var(--warning)}.performance-label.danger{background:#ef44441a;color:var(--danger)}.stars{display:flex;gap:4px}.stars svg{color:var(--text-muted)}.stars svg.filled{color:#fbbf24;fill:#fbbf24}.stars-lg svg{font-size:1.5rem}.employees-ratings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.employee-rating-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;overflow:hidden;position:relative;transition:all var(--transition-base)}.employee-rating-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 10px 30px #0003}.employee-card-bg{position:absolute;top:0;left:0;right:0;height:80px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%)}.employee-card-content{position:relative;padding:40px 20px 20px;text-align:center}.employee-card-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.employee-avatar-section{position:relative;display:inline-block;flex-shrink:0}.employee-avatar-section .avatar{width:80px;height:80px;border-radius:50%;border:4px solid var(--bg-card);box-shadow:0 4px 12px #0003;font-size:1.75rem}.employee-avatar-section .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.score-ring{position:absolute;bottom:-5px;right:-5px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;border:3px solid var(--bg-card)}.score-ring.success{background:var(--success);color:#fff}.score-ring.warning{background:var(--warning);color:#fff}.score-ring.danger{background:var(--danger);color:#fff}.employee-info{flex:1}.employee-info h3{font-size:1.1rem;margin-bottom:4px}.employee-info .empid{font-size:.85rem;color:var(--text-secondary);margin-bottom:0}.employee-stats{display:flex;justify-content:center;gap:30px;margin-bottom:16px}.employee-stat{display:flex;flex-direction:column;align-items:center}.employee-stat .stat-value{font-size:1.25rem;font-weight:700}.employee-stat .stat-value.success{color:var(--success)}.employee-stat .stat-value.warning{color:var(--warning)}.employee-stat .stat-value.danger{color:var(--danger)}.employee-stat .stat-label{font-size:.75rem;color:var(--text-muted)}.employee-stars{margin-bottom:16px;display:flex;justify-content:center}.employee-task-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;margin-top:12px}.employee-project-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.employee-project-counts .employee-task-count-card{background:#6366f10d;border-color:#6366f133}.employee-project-counts .employee-task-count-card:hover{background:#6366f11a;border-color:var(--primary)}.manager-card{border-left:4px solid var(--primary)}.employee-task-count-card{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all var(--transition-fast)}.employee-task-count-card:hover{background:var(--bg-card);border-color:var(--primary);transform:translateY(-1px)}.employee-task-count-value{font-size:1.25rem;font-weight:700;color:var(--text-primary);line-height:1.2}.employee-task-count-label{font-size:.7rem;color:var(--text-secondary);text-align:center;line-height:1}.rating-progress{height:6px;background:var(--bg-hover);border-radius:3px;overflow:hidden}.rating-progress .progress-fill{height:100%;border-radius:3px;transition:width var(--transition-slow)}.rating-progress .progress-fill.success{background:linear-gradient(90deg,var(--success) 0%,#059669 100%)}.rating-progress .progress-fill.warning{background:linear-gradient(90deg,var(--warning) 0%,#d97706 100%)}.rating-progress .progress-fill.danger{background:linear-gradient(90deg,var(--danger) 0%,#dc2626 100%)}.task-stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.task-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;transition:all var(--transition-base)}.task-stat-card:hover{border-color:var(--primary);box-shadow:0 4px 12px #6366f11a;transform:translateY(-2px)}.task-stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.task-stat-icon.total{background:#6366f11a;color:var(--primary)}.task-stat-icon.done{background:#10b9811a;color:var(--success)}.task-stat-icon.pending{background:#f59e0b1a;color:var(--warning)}.task-stat-icon.delayed{background:#ef44441a;color:var(--danger)}.task-stat-content{display:flex;flex-direction:column;flex:1}.task-stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1.2}.task-stat-label{font-size:.875rem;color:var(--text-secondary);margin-top:4px}.score-selector{display:flex;gap:8px}.score-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;background:var(--bg-hover);border-radius:10px;transition:all var(--transition-fast)}.score-btn:hover{background:var(--border-color)}.score-btn.selected{background:#fbbf241a;border:1px solid #fbbf24}.score-btn svg{font-size:1.25rem;color:var(--text-muted)}.score-btn svg.filled{color:#fbbf24;fill:#fbbf24}.score-btn span{font-size:.75rem;color:var(--text-secondary)}@media(max-width:992px){.ratings-stats-grid{grid-template-columns:1fr 1fr}.stat-card-main{grid-column:span 2}.task-stats-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.ratings-stats-grid{grid-template-columns:1fr;gap:12px}.stat-card-main{grid-column:span 1}.task-stats-cards{grid-template-columns:1fr;gap:12px}.task-stat-card{padding:16px}.task-stat-icon{width:40px;height:40px;font-size:1.25rem}.task-stat-value{font-size:1.5rem}.employee-task-counts,.employee-project-counts{grid-template-columns:repeat(2,1fr);gap:6px}.employee-task-count-card{padding:8px 6px}.employee-task-count-value{font-size:1.1rem}.employee-task-count-label{font-size:.65rem}.manager-card{border-left-width:3px}.ratings-cards-grid{grid-template-columns:1fr;gap:16px}.ratings-controls{flex-direction:column;gap:12px}.view-toggle{width:100%}.search-box{width:100%;max-width:100%}.rating-card{border-radius:12px;padding:16px}.rating-card-header{flex-direction:column;align-items:flex-start;gap:12px}.party-info{flex-direction:column;align-items:flex-start;gap:8px}.score-selector{flex-wrap:wrap;justify-content:center}.score-btn{padding:8px 12px}}@media(max-width:480px){.ratings-cards-grid{gap:12px}.rating-card{padding:12px}.score-btn{padding:6px 10px;font-size:.7rem}}.policies-container{padding:24px;max-width:1400px;margin:0 auto}.policies-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.header-content h1{font-size:28px;font-weight:600;color:#f8fafc;margin:0 0 4px}.header-content p{color:#94a3b8;margin:0;font-size:14px}.header-actions{display:flex;gap:12px}.policies-filters{margin-bottom:24px}.search-box{position:relative;max-width:400px}.search-box .search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#64748b}.search-box input{width:100%;padding:10px 12px 10px 40px;background:#1e293b;border:1px solid #334155;border-radius:8px;color:#f8fafc;font-size:14px}.search-box input:focus{outline:none;border-color:#3b82f6}.policy-section{margin-bottom:40px;background:#1e293b;border:1px solid #334155;border-radius:12px;padding:24px}.policy-section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #334155}.policy-header-info h2{font-size:20px;font-weight:600;color:#f8fafc;margin:0 0 8px}.policy-meta-info{display:flex;align-items:center;gap:8px;font-size:13px;color:#94a3b8}.viewed-indicator{display:flex;align-items:center;gap:4px;color:#3b82f6;font-weight:500}.policy-header-actions{display:flex;gap:8px}.pages-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}@media(max-width:1400px){.pages-grid{grid-template-columns:repeat(4,1fr)}}.page-thumbnail{background:#0f172a;border:1px solid #334155;border-radius:8px;padding:24px;cursor:pointer;transition:all .2s;position:relative;display:flex;align-items:center;justify-content:center;min-height:120px}.page-thumbnail:hover{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d;background:#1e293b}.page-card-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;position:relative}.page-card-content svg:first-child{color:#64748b}.page-thumbnail:hover .page-card-content svg:first-child{color:#3b82f6}.page-number{font-size:14px;font-weight:500;color:#f8fafc;text-align:center}.page-view{display:flex;flex-direction:column;width:100%;height:100%}.page-viewer{width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:0}.page-viewer iframe{width:100%;height:100%;border:none}.policy-card{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:20px;transition:all .2s}.policy-card:hover{border-color:#475569;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.policy-card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;position:relative}.policy-icon{width:48px;height:48px;background:#3b82f6;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;flex-shrink:0}.policy-info{flex:1;min-width:0}.policy-info h3{font-size:16px;font-weight:600;color:#f8fafc;margin:0 0 4px;word-break:break-word}.policy-meta{font-size:13px;color:#94a3b8;margin:0}.read-badge{position:absolute;top:0;right:0;color:#10b981;font-size:20px;cursor:pointer}.policy-card-body{margin-bottom:16px}.policy-stats{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#64748b}.policy-stats span{display:flex;align-items:center;gap:4px}.policy-card-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#475569;color:#fff}.btn-secondary:hover{background:#64748b}.btn-icon{background:transparent;color:#94a3b8;border:1px solid #334155;padding:6px 12px;font-size:13px}.btn-icon:hover{background:#334155;color:#f8fafc;border-color:#475569}.btn-danger{color:#ef4444}.btn-danger:hover{background:#7f1d1d;border-color:#991b1b;color:#fff}.empty-state{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#64748b}.empty-state svg{margin-bottom:16px;opacity:.5}.policy-form{display:flex;flex-direction:column;gap:20px}.form-group label{font-size:14px;font-weight:500;color:#f8fafc}.form-group input,.form-group select{padding:10px 12px;background:#1e293b;border:1px solid #334155;border-radius:6px;color:#f8fafc;font-size:14px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#3b82f6}.form-group small{font-size:12px;color:#64748b}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.policy-view{display:flex;flex-direction:column;gap:24px}.policy-view-info{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:16px;background:#1e293b;border-radius:8px}.info-item{display:flex;flex-direction:column;gap:4px}.info-item strong{color:#94a3b8;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.info-item span{color:#f8fafc;font-size:14px}.policy-view-actions{display:flex;flex-direction:column}.policy-view-no-file{text-align:center;padding:40px;color:#64748b}.policy-read-by{margin-top:24px;padding-top:24px;border-top:1px solid #334155}.policy-read-by h4{font-size:16px;font-weight:600;color:#f8fafc;margin:0 0 16px}.read-by-list{display:flex;flex-direction:column;gap:12px}.read-by-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#1e293b;border-radius:6px;font-size:14px;color:#f8fafc}.viewed-date{font-size:12px;color:#64748b}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#64748b}.spinner{width:40px;height:40px;border:3px solid #334155;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@media(max-width:1200px){.pages-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:900px){.pages-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.policies-container{padding:16px}.policies-header{flex-direction:column;align-items:flex-start}.header-content h1{font-size:1.5rem}.header-actions{width:100%;flex-direction:column}.header-actions>*{width:100%}.search-box{max-width:100%;width:100%}.policies-list,ul.policies-list,.policy-list-container{max-height:500px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:8px}.policy-item{padding:12px;margin-bottom:8px}.policy-section{padding:16px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:600px;font-size:.85rem}.pages-grid{grid-template-columns:repeat(2,1fr)}.policies-header{flex-direction:column}.header-actions{width:100%}.header-actions .btn{flex:1}.policy-section-header{flex-direction:column;gap:16px}.policy-header-actions{width:100%}.page-view-header{flex-direction:column;gap:16px;align-items:stretch}.page-navigation{justify-content:space-between}}@media(max-width:480px){.pages-grid{grid-template-columns:1fr}}.page-header.stacked{flex-direction:column;align-items:flex-start;gap:12px}.page-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:.95rem}.header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.filters-row{background:var(--bg-card);border:1px solid var(--border-color);padding:10px 12px;border-radius:10px;box-shadow:var(--shadow-sm)}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end}.filter-field{display:flex;flex-direction:column;gap:6px}.filter-label{font-size:.8rem;color:var(--text-secondary);font-weight:600}.filter-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}.form-container.full-width-card{max-width:100%}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.form-input,.form-select{padding:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;transition:border-color var(--transition-fast);width:100%;box-sizing:border-box}.form-select option{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}.form-row .form-group{width:100%}.form-row .form-group .form-input,.form-row .form-group .form-select{width:100%;box-sizing:border-box}.btn-secondary{padding:12px 18px;background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover:not(:disabled){background:var(--bg-primary);transform:translateY(-1px)}.btn-secondary.active{border-color:var(--primary);color:var(--primary);background:#6366f11f}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal-content{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);width:100%;max-width:560px;box-shadow:var(--shadow-lg);animation:fadeIn .2s ease}.modal-content .form-row{grid-template-columns:1fr;gap:0}.modal-content .form-row .form-group{margin-bottom:20px}.modal-sheet{max-width:640px;border:1px solid var(--primary);box-shadow:0 20px 60px #00000059}.modal-header.strong{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff}.modal-header.strong .modal-subtitle{color:#ffffffd9}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.modal-body{padding:16px 20px 20px}.modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:1.2rem;cursor:pointer}.modal-subtitle{margin:4px 0 0;color:var(--text-secondary);font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:10px;grid-column:1 / -1;margin-top:4px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 18px}.hint-text{font-size:.8rem;color:var(--text-secondary)}.search-input{min-width:240px}.avatar{width:36px;height:36px;border-radius:50%;background:var(--bg-hover);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;border:1px solid var(--border-color)}.toolbar{display:flex;justify-content:space-between;align-items:stretch;gap:12px}.toolbar-left,.toolbar-right{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:1200px){.contact-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.contact-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.contact-grid{grid-template-columns:1fr}}.contact-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}.contact-card-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}.contact-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem;overflow:hidden;border:2px solid var(--border-color)}.contact-avatar.contact-avatar-small{width:40px;height:40px;border-radius:12px;border-width:1px;font-size:.95rem}.contact-avatar img{width:100%;height:100%;object-fit:cover}.contact-name{font-weight:700;color:var(--text-primary);margin-bottom:2px}.contact-meta{color:var(--text-secondary);font-size:.85rem}.contact-info{display:flex;flex-direction:column;gap:8px}.contact-row{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.9rem}.view-toggle{display:inline-flex;gap:8px}.view-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.view-toggle-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.view-toggle-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:var(--shadow-sm)}.leave-balance-container{margin-bottom:24px}.leave-balance-table-wrapper{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;overflow-x:auto;position:relative;overflow-y:visible}.leave-balance-table{width:100%;border-collapse:collapse;min-width:500px}.leave-balance-table thead{background:transparent;position:relative}.leave-balance-table .leave-type-header{text-align:center;font-weight:800;font-size:1.15rem;color:#fff;padding:18px 16px;border-bottom:3px solid var(--border-color);border-right:2px solid rgba(255,255,255,.2);text-transform:uppercase;letter-spacing:1.2px;position:relative;text-shadow:0 2px 4px rgba(0,0,0,.2);transition:all .3s ease}.leave-balance-table .leave-type-header:first-child{background:linear-gradient(135deg,#3b82f6,#2563eb);border-top-left-radius:12px;box-shadow:inset 0 2px 4px #0000001a}.leave-balance-table .leave-type-header:nth-child(2){background:linear-gradient(135deg,#10b981,#059669);box-shadow:inset 0 2px 4px #0000001a}.leave-balance-table .leave-type-header:nth-child(3){background:linear-gradient(135deg,#f59e0b,#d97706);border-top-right-radius:12px;border-right:none;box-shadow:inset 0 2px 4px #0000001a}.leave-balance-table .leave-type-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff4d;border-radius:0 0 8px 8px}.leave-balance-table .leave-type-header:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026,inset 0 2px 4px #0000001a}.leave-balance-table .leave-type-header:nth-child(3),.leave-balance-table .leave-type-header:nth-child(6),.leave-balance-table .leave-type-header:last-child{border-right:none}.leave-balance-table .balance-cell:nth-child(3),.leave-balance-table .balance-cell:nth-child(6),.leave-balance-table .balance-cell:last-child{border-right:none}.leave-balance-table th:not(.leave-type-header){text-align:center;font-weight:600;font-size:.9rem;color:var(--text-secondary);padding:10px 12px;border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.3px}.leave-balance-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.leave-balance-table tbody tr:hover{background:#3b82f605}.leave-balance-table tbody tr:last-child{border-bottom:none}.leave-balance-table .balance-cell{text-align:center;padding:18px 14px;font-size:1.15rem;font-weight:600;color:var(--text-primary);border-right:1px solid var(--border-color);transition:all .2s ease}.leave-balance-table tbody tr .balance-cell:nth-child(1),.leave-balance-table tbody tr .balance-cell:nth-child(2){background:linear-gradient(to right,rgba(59,130,246,.03),transparent)}.leave-balance-table tbody tr .balance-cell:nth-child(4),.leave-balance-table tbody tr .balance-cell:nth-child(5){background:linear-gradient(to right,rgba(16,185,129,.03),transparent)}.leave-balance-table tbody tr .balance-cell:nth-child(7),.leave-balance-table tbody tr .balance-cell:nth-child(8){background:linear-gradient(to right,rgba(245,158,11,.03),transparent)}.leave-balance-table .balance-cell:last-child,.leave-balance-table .balance-cell:nth-child(3){border-right:none}.leave-balance-table .balance-cell.balance-value{font-size:1.5rem;font-weight:800;position:relative;padding:20px 16px;border-radius:8px;margin:4px}.leave-balance-table tbody tr .balance-cell.balance-value:nth-child(3){background:linear-gradient(135deg,#3b82f626,#3b82f614);color:#1e40af;border:2px solid rgba(59,130,246,.3);box-shadow:0 2px 8px #3b82f633,inset 0 1px 2px #ffffff80}.leave-balance-table tbody tr .balance-cell.balance-value:nth-child(6){background:linear-gradient(135deg,#10b98126,#10b98114);color:#047857;border:2px solid rgba(16,185,129,.3);box-shadow:0 2px 8px #10b98133,inset 0 1px 2px #ffffff80}.leave-balance-table tbody tr .balance-cell.balance-value:nth-child(9){background:linear-gradient(135deg,#f59e0b26,#f59e0b14);color:#b45309;border:2px solid rgba(245,158,11,.3);box-shadow:0 2px 8px #f59e0b33,inset 0 1px 2px #ffffff80}.leave-balance-table .balance-cell.balance-value:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:8px 0 0 8px}.leave-balance-table tbody tr .balance-cell.balance-value:nth-child(3):before{background:linear-gradient(180deg,#3b82f6,#1e40af);box-shadow:2px 0 4px #3b82f64d}.leave-balance-table tbody tr .balance-cell.balance-value:nth-child(6):before{background:linear-gradient(180deg,#10b981,#047857);box-shadow:2px 0 4px #10b9814d}.leave-balance-table tbody tr .balance-cell.balance-value:nth-child(9):before{background:linear-gradient(180deg,#f59e0b,#b45309);box-shadow:2px 0 4px #f59e0b4d}.leave-balance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.balance-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;text-align:center;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.balance-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.balance-label{font-size:.9rem;color:var(--text-secondary);font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.this-month-container{margin-bottom:32px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;box-shadow:var(--shadow-sm)}.this-month-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:20px;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:10px}.this-month-title:before{content:"";width:4px;height:24px;background:linear-gradient(180deg,var(--primary-color, #3b82f6),#60a5fa);border-radius:2px}.this-month-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.this-month-card{background:linear-gradient(145deg,var(--bg-card) 0%,rgba(59,130,246,.05) 100%);border:2px solid var(--border-color);border-radius:20px;padding:28px 24px;text-align:center;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.this-month-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--primary-color, #3b82f6) 0%,#60a5fa 50%,var(--primary-color, #3b82f6) 100%);opacity:.9;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.this-month-card:hover:before{transform:scaleX(1)}.this-month-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-color:var(--primary-color, #3b82f6);background:linear-gradient(145deg,var(--bg-card) 0%,rgba(59,130,246,.1) 100%)}.this-month-label{font-size:.9rem;color:var(--text-secondary);font-weight:600;margin-bottom:16px;text-transform:uppercase;letter-spacing:1.2px;position:relative;display:inline-block;padding-bottom:8px}.this-month-label:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:40px;height:2px;background:linear-gradient(90deg,transparent,var(--primary-color, #3b82f6),transparent);border-radius:1px}.this-month-value{font-size:3.5rem;font-weight:800;background:linear-gradient(135deg,var(--primary-color, #3b82f6) 0%,#60a5fa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:12px;text-shadow:none;position:relative;display:inline-block}.this-month-card:nth-child(1) .this-month-value{background:linear-gradient(135deg,#3b82f6,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.this-month-card:nth-child(2) .this-month-value{background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.this-month-card:nth-child(3) .this-month-value{background:linear-gradient(135deg,#f59e0b,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.this-month-subtitle{font-size:.75rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.8px;padding:8px 16px;background:#3b82f61a;border-radius:20px;display:inline-block;margin-top:8px;border:1px solid transparent;transition:all .3s ease}.this-month-card:nth-child(1) .this-month-subtitle{background:#3b82f61a;color:#3b82f6}.this-month-card:nth-child(2) .this-month-subtitle{background:#10b9811a;color:#10b981}.this-month-card:nth-child(3) .this-month-subtitle{background:#f59e0b1a;color:#f59e0b}.this-month-card:hover .this-month-subtitle{transform:scale(1.05);border-color:currentColor}.this-month-card:after{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.this-month-card:hover:after{opacity:1}.this-month-card:nth-child(1):after{background:radial-gradient(circle,rgba(59,130,246,.15) 0%,transparent 70%)}.this-month-card:nth-child(2):after{background:radial-gradient(circle,rgba(16,185,129,.15) 0%,transparent 70%)}.this-month-card:nth-child(3):after{background:radial-gradient(circle,rgba(245,158,11,.15) 0%,transparent 70%)}.this-month-card:nth-child(1):hover{border-color:#3b82f6;box-shadow:0 20px 25px -5px #3b82f61a,0 10px 10px -5px #3b82f60a,0 0 0 1px #3b82f61a}.this-month-card:nth-child(2):hover{border-color:#10b981;box-shadow:0 20px 25px -5px #10b9811a,0 10px 10px -5px #10b9810a,0 0 0 1px #10b9811a}.this-month-card:nth-child(3):hover{border-color:#f59e0b;box-shadow:0 20px 25px -5px #f59e0b1a,0 10px 10px -5px #f59e0b0a,0 0 0 1px #f59e0b1a}.this-month-card:nth-child(1){border-top:4px solid #3b82f6}.this-month-card:nth-child(2){border-top:4px solid #10b981}.this-month-card:nth-child(3){border-top:4px solid #f59e0b}.this-month-card:nth-child(1){background:linear-gradient(145deg,var(--bg-card) 0%,rgba(59,130,246,.08) 100%)}.this-month-card:nth-child(2){background:linear-gradient(145deg,var(--bg-card) 0%,rgba(16,185,129,.08) 100%)}.this-month-card:nth-child(3){background:linear-gradient(145deg,var(--bg-card) 0%,rgba(245,158,11,.08) 100%)}.this-month-card:nth-child(1):hover{background:linear-gradient(145deg,var(--bg-card) 0%,rgba(59,130,246,.12) 100%)}.this-month-card:nth-child(2):hover{background:linear-gradient(145deg,var(--bg-card) 0%,rgba(16,185,129,.12) 100%)}.this-month-card:nth-child(3):hover{background:linear-gradient(145deg,var(--bg-card) 0%,rgba(245,158,11,.12) 100%)}.this-month-card:has(.this-month-value:contains("0")){opacity:.85}.pagination{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:16px}.page-indicator{font-weight:600;color:var(--text-primary)}@media(max-width:768px){.page-container{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.page-header h1{font-size:1.5rem}.form-row{grid-template-columns:1fr;gap:16px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}.data-table{font-size:.8rem;min-width:600px}.data-table th,.data-table td{padding:12px 8px}.this-month-cards{grid-template-columns:1fr;gap:16px}.this-month-card{padding:24px 20px}.this-month-value{font-size:2.5rem}.this-month-container{padding:20px}.leaves-list,.permissions-list,.requests-list,.weekoffs-list,.holidays-list,.policies-list,ul.leaves-list,ul.permissions-list,ul.requests-list,ul.weekoffs-list,ul.holidays-list,ul.policies-list,.list-container ul,.card ul{max-height:500px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:8px}.list-item,.card-item,.leave-item,.permission-item,.request-item,.weekoff-item,.holiday-item,.policy-item{padding:12px;margin-bottom:8px}.card{padding:16px}.modal-content{margin:10px;max-width:calc(100% - 20px)}.filters-row{flex-direction:column;gap:12px}.filters-row>*{width:100%}}.available-balance-info{margin-top:8px;font-size:.85rem;color:var(--text-secondary);padding:8px 12px;background:var(--bg-hover);border-radius:6px;border-left:3px solid var(--primary-color, #3b82f6)}.available-balance-info strong{color:var(--primary-color, #3b82f6);font-size:1rem;font-weight:700}.balance-warning{color:#ef4444;font-weight:600;margin-left:8px}.error-input{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a}.error-message{margin-top:8px;padding:8px 12px;background:#ef44441a;border:1px solid #ef4444;border-radius:6px;color:#ef4444;font-size:.85rem;font-weight:600}.validation-message{margin-top:8px;font-size:.85rem;color:var(--text-secondary);font-style:italic}.holiday-permissions-matrix{overflow-x:auto;-webkit-overflow-scrolling:touch}.holiday-permissions-matrix .data-table{border-collapse:separate;border-spacing:0}.holiday-permissions-matrix .data-table th:first-child,.holiday-permissions-matrix .data-table td:first-child{position:sticky;left:0;z-index:10;background:var(--bg-card);box-shadow:2px 0 4px #0000001a}.holiday-permissions-matrix .data-table thead th:first-child{z-index:11}.holiday-permissions-matrix .data-table tbody td:first-child{z-index:9}.holiday-permissions-matrix .data-table th{text-align:center;vertical-align:middle;padding:12px 8px;white-space:nowrap}.holiday-permissions-matrix .data-table td{text-align:center;vertical-align:middle;padding:12px 8px}.holiday-toggle-switch{position:relative;display:inline-block;width:50px;height:28px;cursor:pointer}.holiday-toggle-switch input{opacity:0;width:0;height:0}.holiday-toggle-slider{position:absolute;inset:0;background-color:#ccc;border-radius:28px;transition:all .3s ease;box-shadow:inset 0 2px 4px #0000001a}.holiday-toggle-slider:before{content:"";position:absolute;width:22px;height:22px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0003}.holiday-toggle-switch input:checked+.holiday-toggle-slider{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 0 0 3px #22c55e33}.holiday-toggle-switch input:checked+.holiday-toggle-slider:before{transform:translate(22px);box-shadow:0 2px 6px #0000004d}.holiday-toggle-switch input:focus+.holiday-toggle-slider{box-shadow:0 0 0 3px #22c55e33}.holiday-toggle-switch input:disabled+.holiday-toggle-slider{opacity:.6;cursor:not-allowed}.holiday-toggle-status{font-size:.75rem;font-weight:600;transition:color .3s ease}.holiday-toggle-status.yes{color:#22c55e}.holiday-toggle-status.no{color:#9ca3af}.action-buttons{display:flex;gap:8px;align-items:center;justify-content:center}.btn-action-edit{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-hover);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-weight:500;font-size:.85rem;min-width:80px}.btn-action-edit:hover{background:#3b82f61a;border-color:#3b82f6;color:#3b82f6;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f633}.btn-action-delete{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:8px;border:1px solid transparent;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;cursor:pointer;transition:all .2s ease;font-weight:500;font-size:.85rem;min-width:80px}.btn-action-delete:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444466;background:linear-gradient(135deg,#dc2626,#b91c1c)}.btn-action-edit svg,.btn-action-delete svg{flex-shrink:0}@media(max-width:768px){.holiday-permissions-matrix{margin:0 -24px;padding:0 24px}.holiday-permissions-matrix .data-table th,.holiday-permissions-matrix .data-table td{padding:8px 4px;font-size:.85rem}.holiday-permissions-matrix .data-table th:first-child,.holiday-permissions-matrix .data-table td:first-child{min-width:120px;max-width:120px}.holiday-toggle-switch{width:44px;height:24px}.holiday-toggle-slider:before{width:18px;height:18px}.holiday-toggle-switch input:checked+.holiday-toggle-slider:before{transform:translate(20px)}.holiday-toggle-status{font-size:.7rem}.btn-action-edit,.btn-action-delete{min-width:70px;padding:6px 10px;font-size:.8rem}.btn-action-edit span,.btn-action-delete span{display:none}.btn-action-edit,.btn-action-delete{min-width:auto;width:36px;padding:8px}}.date-input,.filter-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.9rem}.search-box{position:relative;display:flex;align-items:center;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card)}.search-box-icon{position:absolute;left:12px;color:var(--text-secondary);font-size:1rem;pointer-events:none}.search-box input{flex:1;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:.9rem;padding-left:28px}.date-picker-wrapper{position:relative;display:flex;align-items:center}.date-icon{position:absolute;left:12px;color:var(--text-secondary);font-size:1rem;pointer-events:none;z-index:1}.stat-card{padding:24px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border-color);text-align:center;transition:transform var(--transition-fast)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:8px}.stat-label{font-size:.9rem;color:var(--text-secondary);font-weight:500}.table-container{background:transparent;border-radius:12px;border:1px solid var(--border-color);overflow:hidden}.data-table{width:100%;border-collapse:collapse;background:transparent}.data-table th{padding:16px;text-align:left;font-weight:600;color:var(--text-primary);font-size:.9rem;vertical-align:top;border-bottom:2px solid var(--border-color);background:var(--bg-hover)}.data-table td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;background:transparent}.data-table tbody tr{background:transparent}.data-table th .date-picker-wrapper{width:100%}.data-table th .date-picker-wrapper .date-picker-input{font-size:.8rem;padding:6px 8px;min-height:32px;height:32px}.attendance-form{display:flex;flex-direction:column;gap:20px}.btn-success{padding:6px 12px;background:#10b981;color:#fff;border:none;border-radius:6px;font-weight:500;font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.btn-success:hover{background:#059669;transform:translateY(-1px)}.btn-danger{padding:6px 12px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-weight:500;font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.month-navigator{display:flex;align-items:center;gap:12px}.nav-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.nav-btn:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.month-year{font-weight:600;color:var(--text-primary);min-width:150px;text-align:center}.history-table-wrapper,.history-table-scroll{overflow-x:auto;max-width:100%}.history-table{min-width:max-content;font-size:.85rem}.history-table th.sticky-col,.history-table td.sticky-col{position:sticky;left:0;background:var(--bg-card);z-index:2;border-right:2px solid var(--border-color);min-width:120px}.history-table th.sticky-col:first-child,.history-table td.sticky-col:first-child{left:0;min-width:150px}.history-table th.sticky-col:nth-child(2),.history-table td.sticky-col:nth-child(2){left:150px;min-width:120px}.date-header{min-width:120px;padding:8px!important;text-align:center;vertical-align:middle}.date-header-content{display:flex;flex-direction:column;gap:4px}.date-header-content>div:first-child{font-weight:600;font-size:.9rem}.date-subheader{font-size:.75rem;color:var(--text-secondary)}.sub-header{background:var(--bg-hover)!important}.sub-header-cell{padding:8px!important;text-align:center;font-size:.75rem;font-weight:600}.sub-header-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.attendance-cell{padding:8px!important;text-align:center}.attendance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;align-items:center}.attendance-grid span{font-size:.8rem;padding:2px 4px}.status-text{color:var(--text-secondary)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-card);border-radius:12px;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-close-btn{width:32px;height:32px;border-radius:8px;border:none;background:var(--bg-hover);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close-btn:hover{background:var(--danger);color:#fff}.btn-secondary:hover{background:var(--bg-primary);border-color:var(--primary)}@media(max-width:768px){.page-container{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.stats-grid,.form-row{grid-template-columns:1fr}.data-table{font-size:.8rem}.data-table th,.data-table td{padding:12px 8px}}.apply-loan-page{animation:fadeIn .3s ease;padding:24px;min-height:100vh;background:var(--bg-primary)}.apply-loan-container-full{width:100%;max-width:100%;margin:0}.apply-loan-header{margin-bottom:32px}.back-button{display:flex;align-items:center;gap:8px;padding:10px 16px;margin-bottom:20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease}.back-button:hover{border-color:var(--primary);background:var(--bg-hover);color:var(--primary)}.apply-loan-header-content{display:flex;align-items:center;gap:20px;padding:24px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000d}.apply-loan-header-icon{width:64px;height:64px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #3b82f64d}.apply-loan-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.apply-loan-subtitle{font-size:.95rem;color:var(--text-secondary);margin:0}.loan-eligibility-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.eligibility-title{display:flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--primary)}.eligibility-title svg{color:var(--primary)}.eligibility-points{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.eligibility-point{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;background:var(--bg-hover);border-radius:8px;border-left:4px solid var(--primary);transition:all .3s ease}.eligibility-point.eligible{background:#10b9810d;border-left-color:#10b981}.eligibility-point.not-eligible{background:#ef44440d;border-left-color:#ef4444}.eligibility-icon{flex-shrink:0;margin-top:2px;font-size:1.5rem;width:28px;height:28px}.eligibility-icon-success{color:#10b981}.eligibility-icon-error{color:#ef4444}.eligibility-point-content{flex:1;display:flex;flex-direction:column;gap:6px}.eligibility-point-content span{font-size:.95rem;color:var(--text-primary);line-height:1.6;font-weight:500}.eligibility-message{font-size:.85rem;color:var(--text-secondary);font-style:italic;padding-left:8px;border-left:2px solid var(--border-color);margin-top:4px}.eligibility-point.eligible .eligibility-message{color:#10b981;border-left-color:#10b981}.eligibility-point.not-eligible .eligibility-message{color:#ef4444;border-left-color:#ef4444}.eligibility-max-amount{padding:16px;background:linear-gradient(135deg,#10b9811a,#3b82f61a);border:1px solid var(--border-color);border-radius:8px;border-left:4px solid #10b981;margin-bottom:16px}.eligibility-max-amount strong{display:block;font-size:1.1rem;color:var(--text-primary);margin-bottom:4px}.eligibility-max-amount small{font-size:.85rem;color:var(--text-secondary)}.eligibility-warning{display:flex;align-items:center;gap:12px;padding:16px;background:#ef44441a;border:1px solid #ef4444;border-radius:8px;border-left:4px solid #ef4444}.eligibility-warning svg{color:#ef4444;flex-shrink:0}.eligibility-warning span{font-size:.95rem;color:var(--text-primary);font-weight:500}.manager-info-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 2px 8px #0000000d}.manager-info-header{display:flex;align-items:center;gap:10px;font-size:.95rem;font-weight:600;color:var(--text-secondary);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.manager-info-header svg{color:var(--primary)}.manager-info-content{display:flex;flex-direction:column;gap:4px}.manager-name{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.manager-info-content small{font-size:.85rem;color:var(--text-secondary);font-style:italic}.apply-loan-form-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000000d}.apply-loan-form{display:flex;flex-direction:column;gap:32px}.form-section{display:flex;flex-direction:column;gap:20px;padding-bottom:24px;border-bottom:1px solid var(--border-color)}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 8px;padding-bottom:12px;border-bottom:2px solid var(--primary)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.form-label{font-size:.95rem;font-weight:600;color:var(--text-primary)}.form-label .required{color:#ef4444;margin-left:4px}.form-input,.form-textarea{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:.95rem;transition:all .2s ease;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-primary)}.form-textarea{resize:vertical;min-height:100px}.form-hint{font-size:.85rem;color:var(--text-secondary);margin-top:4px}.emi-calculator{padding:16px;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:1px solid var(--border-color);border-radius:8px;border-left:4px solid var(--primary)}.emi-info{display:flex;align-items:center;gap:12px;margin-bottom:8px}.emi-info svg{color:var(--primary);flex-shrink:0}.emi-info div{display:flex;align-items:center;gap:12px}.emi-label{font-size:.95rem;color:var(--text-secondary);font-weight:500}.emi-value{font-size:1.25rem;font-weight:700;color:var(--primary)}.emi-note{display:block;font-size:.85rem;color:var(--text-secondary);font-style:italic}.interest-toggle-container{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-hover);border-radius:8px;border:1px solid var(--border-color)}.toggle-switch{position:relative;display:inline-block;width:50px;height:26px}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:26px}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(24px)}.toggle-label{font-size:.95rem;font-weight:500;color:var(--text-primary)}.approval-flow{display:flex;flex-direction:column;gap:16px}.approval-step{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--bg-hover);border-radius:8px;border-left:4px solid var(--primary)}.approval-step-number{width:32px;height:32px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 2px 8px #3b82f64d}.approval-step-content{flex:1}.approval-step-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.approval-step-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.month-picker-option{padding:12px 8px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:500;color:var(--text-primary);text-align:center}.month-picker-clear{padding:8px 16px;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:500}.month-display{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem}.month-display svg{color:var(--text-secondary)}.month-display span{flex:1;color:var(--text-primary)}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid var(--border-color)}.btn-primary,.btn-secondary{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:140px}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 6px #3b82f64d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){border-color:var(--primary);background:var(--bg-hover)}.loan-tabs-container{margin-bottom:24px}.loan-tabs{display:flex;gap:8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:8px;box-shadow:0 2px 8px #0000000d}.loan-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;background:transparent;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;border-radius:8px;transition:all .2s ease}.loan-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.loan-tab.active{background:var(--primary);color:#fff;box-shadow:0 2px 6px #3b82f64d}.loan-tab svg{font-size:1.1rem}.loans-data-container,.loans-installments-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.loans-data-header,.loans-installments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.loans-data-header h3,.loans-installments-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.selected-loan-info{display:flex;align-items:center;gap:12px}.selected-loan-info span{font-size:.9rem;color:var(--text-secondary)}.btn-clear-filter{padding:6px 12px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-clear-filter:hover{border-color:var(--primary);background:var(--primary);color:#fff}.loans-table-wrapper,.installments-table-wrapper{overflow-x:auto}.loans-data-table,.installments-table{width:100%;border-collapse:collapse;background:transparent}.loans-data-table thead,.installments-table thead{background:var(--bg-hover)}.loans-data-table th,.installments-table th{padding:16px;text-align:left;font-weight:600;color:var(--text-primary);font-size:.9rem;border-bottom:2px solid var(--border-color);white-space:nowrap}.loans-data-table td,.installments-table td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.loans-data-table tbody tr:hover,.installments-table tbody tr:hover{background:var(--bg-hover)}.badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;white-space:nowrap}.badge-success{background:#10b9811a;color:#10b981}.badge-warning{background:#f59e0b1a;color:#f59e0b}.badge-danger{background:#ef44441a;color:#ef4444}.badge-info{background:#3b82f61a;color:#3b82f6}.btn-view-installments{padding:6px 12px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-view-installments:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 2px 6px #3b82f64d}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.loading-container p{color:var(--text-secondary);font-size:.95rem;margin:0}.loans-empty-state{padding:60px 20px!important;text-align:center}.loans-empty-content p{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}@media(max-width:768px){.apply-loan-page{padding:16px}.apply-loan-form-container{padding:20px}.apply-loan-header-content{flex-direction:column;text-align:center}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}.loan-tabs{flex-direction:column;padding:4px}.loan-tab{width:100%;justify-content:center}.loans-data-container,.loans-installments-container{padding:16px}.loans-table-wrapper,.installments-table-wrapper{overflow-x:scroll}.loans-data-table,.installments-table{min-width:800px}}.calendar-container{background:var(--bg-card);border-radius:12px;padding:20px;border:1px solid var(--border-color);width:100%}.full-width-card{max-width:none}.calendar-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:12px}.calendar-header-day{text-align:center;font-weight:600;color:var(--text-secondary);font-size:.85rem;padding:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%}.calendar-day{aspect-ratio:1;border:2px solid var(--border-color);border-radius:12px;padding:6px;background:var(--bg-hover);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;min-height:80px;box-shadow:0 2px 4px #0000000d;transition:all .2s ease;overflow:hidden}.calendar-day.empty{background:transparent;border:none;box-shadow:none}.calendar-day-number{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:4px;line-height:1.2}.calendar-day-info{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.78rem;width:100%;flex:1;justify-content:center}.calendar-status{font-weight:700;font-size:.85rem}.calendar-hours-top{font-size:.72rem;font-weight:700;color:var(--text-secondary)}.calendar-hours-bottom{font-size:.7rem;color:var(--text-secondary)}.cal-present{background:transparent;border-color:#10b981cc}.cal-half{background:transparent;border-color:#f59e0bcc}.cal-abs{background:transparent;border-color:#ef4444cc}.cal-weekoff{background:transparent;border-color:#8b5cf6cc}.cal-leave{background:transparent;border-color:#3b82f6cc}.calendar-time-range{font-size:.65rem;color:var(--text-secondary);margin-top:2px}.punches-scroll-container{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:8px}.punches-scroll-container::-webkit-scrollbar{width:6px}.punches-scroll-container::-webkit-scrollbar-track{background:var(--bg-hover);border-radius:3px}.punches-scroll-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.punches-scroll-container::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.punch-attendance-card{background:linear-gradient(135deg,#0ea5e91a,#6366f11a);border:2px solid rgba(14,165,233,.3);box-shadow:0 6px 20px #0ea5e91f;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.punch-attendance-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#0ea5e9,#6366f1)}.punch-attendance-card:hover{box-shadow:0 10px 30px #0ea5e933;transform:translateY(-3px);border-color:#0ea5e980}.attendance-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.attendance-icon-wrapper{background:linear-gradient(135deg,#0ea5e9,#6366f1);border-radius:18px;width:70px;height:70px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #0ea5e966;flex-shrink:0;transition:all .3s ease}.punch-attendance-card:hover .attendance-icon-wrapper{transform:scale(1.05);box-shadow:0 8px 24px #0ea5e980}.attendance-icon{color:#fff;font-size:30px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.attendance-info{flex:1;text-align:left}.attendance-title{margin:0 0 6px;font-size:1.25rem;font-weight:700;color:var(--text-primary);background:linear-gradient(135deg,#0ea5e9,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.attendance-date{color:var(--text-secondary);font-size:.9rem;margin-bottom:6px}.attendance-entry-time{color:var(--text-primary);font-weight:600;font-size:.95rem}.punch-calendar-full{max-width:100%!important;width:100%!important}.calendar-day:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.05));pointer-events:none}.calendar-day:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.camera-modal{background:var(--bg-card);border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;border:1px solid var(--border-color)}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:20px;display:flex;flex-direction:column;align-items:center}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color);padding:10px 20px;border-radius:8px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:8px;transition:all .2s}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#6366f1 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#818cf8,#a78bfa);transform:translateY(-2px);box-shadow:0 4px 12px #6366f166;filter:brightness(1.1)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@keyframes celebrate{0%,to{transform:scale(1);box-shadow:0 0 15px #ff6b6bb3}25%{transform:scale(1.05);box-shadow:0 0 20px #ff6b6be6}50%{transform:scale(1.08);box-shadow:0 0 25px #ff6b6b}75%{transform:scale(1.05);box-shadow:0 0 20px #ff6b6be6}}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.1)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-8px) rotate(-5deg)}50%{transform:translateY(-12px) rotate(0)}75%{transform:translateY(-8px) rotate(5deg)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.5) rotate(180deg)}}@media(max-width:768px){.page-container{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.page-header h1{font-size:1.5rem}.punch-calendar-full{padding:16px!important}.punch-calendar-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.punch-calendar-title{font-size:1.2rem!important;width:100%}.punch-calendar-selectors{width:100%!important;flex-direction:column!important;gap:8px!important}.punch-month-select,.punch-year-select{width:100%!important}.calendar-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:12px 16px}.calendar-header{gap:4px;min-width:320px}.calendar-header-day{font-size:.7rem;padding:6px 2px;font-weight:600}.calendar-grid{gap:4px;min-width:320px}.calendar-day{min-height:50px;padding:4px 2px;font-size:.7rem;border-radius:8px}.calendar-day-number{font-size:.85rem;margin-bottom:2px}.calendar-day-info{font-size:.65rem;gap:1px}.calendar-status{font-size:.7rem}.calendar-hours-top,.calendar-hours-bottom{font-size:.6rem}.calendar-time-range{font-size:.55rem}.punch-calendar-legend{flex-direction:column!important;gap:10px!important;font-size:.8rem!important}.punch-calendar-legend>div{width:100%;justify-content:flex-start}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}.data-table{min-width:600px;font-size:.85rem}.data-table th,.data-table td{padding:10px 8px}.card{padding:16px}.form-row{grid-template-columns:1fr}.punch-cards-grid{grid-template-columns:1fr!important;gap:16px!important}.location-card{margin-bottom:16px}.location-coordinates-mobile{display:block!important}.calendar-time-info,.calendar-status-mobile,.calendar-status-text,.calendar-labels-mobile{display:none!important}.calendar-date-number{width:100%;text-align:center;font-size:1rem!important}.calendar-day,.calendar-day-number{justify-content:center!important}}@media(min-width:769px){.calendar-time-info{display:block!important}}ul,.list-container,.punch-list,.history-list{max-height:500px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:8px}} .month-picker-wrapper{position:relative;width:100%}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.quick-action-menu{animation:slideDownFade .3s ease}.hierarchy-controls{padding:16px 24px;background:var(--bg-card);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.download-btn{background:var(--primary);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.download-btn:hover:not(:disabled){background:var(--primary-hover, #4f46e5);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.zoom-controls{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--bg-hover);border-radius:8px;border:1px solid var(--border-color)}.zoom-btn{background:transparent;border:none;color:var(--text-primary);cursor:pointer;padding:6px 8px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;font-size:16px}.zoom-btn:hover:not(:disabled){background:var(--bg-card);color:var(--primary)}.zoom-btn:disabled{opacity:.4;cursor:not-allowed}.zoom-value{font-size:.9rem;font-weight:600;color:var(--text-primary);min-width:45px;text-align:center}.reset-btn{margin-left:8px;padding-left:12px;border-left:1px solid var(--border-color)}.hierarchy-container{width:100%;padding:24px;background:var(--bg-primary);min-height:calc(100vh - 180px);overflow:auto;-webkit-overflow-scrolling:touch;position:relative}.hierarchy-tree-wrapper{width:100%;padding:40px 0;transition:transform .3s ease}.hierarchy-tree{display:flex;justify-content:center;padding:40px 60px;width:max-content;margin:0 auto}.hierarchy-node{display:flex;flex-direction:column;align-items:center;position:relative}.employee-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;padding:12px 16px;min-width:140px;max-width:140px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 2px 8px #0000001a;transition:all .2s ease;position:relative;z-index:1}.employee-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--primary)}.employee-card.level-0{background:linear-gradient(135deg,#6366f126,#8b5cf626);border-color:var(--primary);border-width:2px;min-width:160px;max-width:160px;padding:16px 20px}.employee-card.level-1,.employee-card.level-2,.employee-card.level-3,.employee-card.level-4,.employee-card.level-5,.employee-card.level-6{background:var(--bg-card);border-color:var(--border-color)}.employee-image-wrapper{width:60px;height:60px;border-radius:50%;overflow:hidden;border:2px solid var(--border-color);background:var(--bg-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0}.employee-card.level-0 .employee-image-wrapper{width:70px;height:70px;border-width:3px;border-color:var(--primary)}.employee-image{width:100%;height:100%;object-fit:cover}.employee-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--primary) 0%,rgba(99,102,241,.8) 100%)}.employee-card.level-0 .employee-image-placeholder{font-size:1.4rem}.employee-name{font-size:.9rem;font-weight:600;color:var(--text-primary);text-align:center;word-wrap:break-word;line-height:1.3;width:100%}.employee-card.level-0 .employee-name{font-size:1rem;font-weight:700;color:var(--text-primary)}.connector-line{height:25px;display:flex;align-items:center;justify-content:center;position:relative;margin:4px 0;width:100%}.connector-line:before{content:"";position:absolute;left:50%;top:0;transform:translate(-50%);width:1.5px;height:100%;background:linear-gradient(to bottom,var(--primary),var(--primary));opacity:.5;z-index:0}.arrow-icon{font-size:14px;color:var(--primary);position:relative;z-index:1;opacity:.7}.children-container{display:flex;gap:24px;position:relative;padding-top:20px;flex-wrap:nowrap;justify-content:center;align-items:flex-start}.children-container:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:1.5px;height:20px;background:var(--primary);opacity:.5;z-index:0}.children-container.is-last:before{display:none}.children-container .hierarchy-node{position:relative;flex-shrink:0}.children-container .hierarchy-node:not(:first-child):not(:last-child):before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:1.5px;height:20px;background:var(--primary);opacity:.5;z-index:0}.children-container .hierarchy-node:not(:last-child):after{content:"";position:absolute;top:-20px;right:-12px;width:calc(12px + 50%);height:1.5px;background:var(--primary);opacity:.5;z-index:0}.children-container .hierarchy-node:first-child:after{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:calc(50% + 12px);height:1.5px;background:var(--primary);opacity:.5;z-index:0}.children-container .hierarchy-node:last-child:before{content:"";position:absolute;top:-20px;right:50%;transform:translate(50%);width:calc(50% + 12px);height:1.5px;background:var(--primary);opacity:.5;z-index:0}.children-container .hierarchy-node:last-child:after{display:none}.children-container .hierarchy-node:only-child:before,.children-container .hierarchy-node:only-child:after{display:none}.children-container .hierarchy-node:only-child .connector-line:before{content:"";position:absolute;top:-20px;left:50%;transform:translate(-50%);width:1.5px;height:20px;background:var(--primary);opacity:.5;z-index:0}.hierarchy-container::-webkit-scrollbar{height:10px}.hierarchy-container::-webkit-scrollbar-track{background:var(--bg-hover);border-radius:10px}.hierarchy-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}.hierarchy-container::-webkit-scrollbar-thumb:hover{background:var(--primary)}@media(max-width:768px){.page-container{padding:16px}.hierarchy-container{padding:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.hierarchy-controls{flex-direction:column;gap:12px;align-items:stretch}.hierarchy-controls>*{width:100%}.hierarchy-tree{padding:30px 40px;overflow-x:auto;-webkit-overflow-scrolling:touch}.employee-card{min-width:120px;max-width:120px;padding:10px 12px}.employee-card.level-0{min-width:140px;max-width:140px}.employee-image-wrapper{width:50px;height:50px}.employee-card.level-0 .employee-image-wrapper{width:60px;height:60px}.employee-name{font-size:.85rem}.employee-card.level-0 .employee-name{font-size:.95rem}.children-container{gap:16px}ul,.hierarchy-list,.list-container{max-height:500px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:8px}}@media(max-width:480px){.hierarchy-tree{padding:20px 30px}.children-container{gap:12px}.employee-card{min-width:110px;max-width:110px}}.instructions-card{margin-bottom:24px;background:linear-gradient(135deg,#3b82f60d,#6366f10d);border:2px solid rgba(59,130,246,.2)}.instructions-card .card-header{border-bottom:2px solid rgba(59,130,246,.2);margin-bottom:20px}.instructions-card .card-header h2{color:var(--text-primary);font-size:1.25rem;margin:0}.instructions-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}.instruction-section{padding:16px;background:var(--bg-card);border-radius:8px;border-left:4px solid var(--primary)}.instruction-section h3{color:var(--primary);font-size:1rem;margin-bottom:12px;font-weight:600}.instruction-section ul{margin:0;padding-left:20px;list-style-type:disc}.instruction-section li{margin-bottom:8px;color:var(--text-secondary);font-size:.9rem;line-height:1.6}.instruction-section li strong{color:var(--text-primary);font-weight:600}.resignation-form{display:flex;flex-direction:column;gap:20px}.resignation-form textarea,.resignation-textarea{width:100%;padding:12px 16px;background:var(--bg-input)!important;border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:.875rem;resize:vertical;min-height:100px;font-family:inherit;transition:all .2s ease}.resignation-form textarea:focus,.resignation-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.resignation-form textarea::placeholder,.resignation-textarea::placeholder{color:var(--text-muted)}.resignation-form select{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:all .2s ease}.resignation-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.notice-alert{display:flex;gap:12px;padding:16px;border-radius:12px;margin-bottom:24px;background:#3b82f61a;border:2px solid rgba(59,130,246,.3)}.notice-alert.probation{background:#f59e0b1a;border-color:#f59e0b4d}.notice-alert svg{flex-shrink:0;margin-top:2px;color:#3b82f6}.notice-alert.probation svg{color:#f59e0b}.notice-alert strong{display:block;margin-bottom:4px;color:var(--text-primary)}.notice-alert p{margin:4px 0;color:var(--text-secondary);font-size:.9rem}.notice-alert .info-text{font-size:.85rem;color:var(--text-muted);margin-top:8px}.existing-resignation{margin-bottom:24px}.resignation-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:24px}.detail-row{display:flex;flex-direction:column;gap:4px}.detail-row.full-width{grid-column:1 / -1}.detail-row .label{font-weight:600;color:var(--text-secondary);font-size:.875rem}.detail-row span:not(.label){color:var(--text-primary);font-size:.95rem}.approval-status{margin-top:24px;padding-top:24px;border-top:2px solid var(--border-color)}.approval-status h3{margin-bottom:24px;color:var(--text-primary);font-size:1.1rem}.approval-progress-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding:20px;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);position:relative}.progress-step{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative;z-index:2}.step-number{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;background:var(--bg-hover);border:3px solid var(--border-color);color:var(--text-secondary);transition:all .3s ease}.progress-step.completed .step-number{background:#10b981;border-color:#10b981;color:#fff;box-shadow:0 0 0 4px #10b98133}.progress-step.active .step-number{background:#f59e0b;border-color:#f59e0b;color:#fff;box-shadow:0 0 0 4px #f59e0b33;animation:pulse 2s ease-in-out infinite}.progress-step.rejected .step-number{background:#ef4444;border-color:#ef4444;color:#fff;box-shadow:0 0 0 4px #ef444433}@keyframes pulse{0%,to{box-shadow:0 0 0 4px #f59e0b33}50%{box-shadow:0 0 0 8px #f59e0b1a}}.step-label-progress{font-weight:600;color:var(--text-primary);font-size:.9rem;text-align:center}.step-date-small{font-size:.75rem;color:var(--text-muted);margin-top:2px}.progress-connector{flex:1;height:3px;background:var(--border-color);margin:0 8px;position:relative;top:-20px;z-index:1;transition:all .3s ease}.progress-connector.completed{background:#10b981;box-shadow:0 0 8px #10b9814d}.approval-flow{display:flex;flex-direction:column;gap:20px}.approval-step{padding:20px;background:var(--bg-hover);border-radius:12px;border-left:5px solid var(--border-color);transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.approval-step.pending{border-left-color:#f59e0b;background:#f59e0b0d}.approval-step.approved{border-left-color:#10b981;background:#10b9810d}.approval-step.rejected{border-left-color:#ef4444;background:#ef44440d}.step-header{margin-bottom:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.step-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex:1}.approver-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:6px;font-size:.85rem}.approver-name-inline{color:var(--text-primary);font-weight:600}.approver-id-inline{color:var(--text-muted);font-size:.8rem}.step-label{font-weight:700;color:var(--text-primary);font-size:1.1rem}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;font-size:.85rem;font-weight:600;border:2px solid;background:#ffffff1a;box-shadow:0 2px 4px #0000001a}.step-details{display:flex;flex-direction:column;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.approver-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.approver-label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.approver-name{color:var(--text-primary);font-weight:600;font-size:.95rem}.approver-id{color:var(--text-muted);font-size:.85rem;font-weight:500}.approval-date-info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.date-label{font-weight:600;color:var(--text-secondary);font-size:.9rem}.date-value{color:var(--text-primary);font-weight:500;font-size:.95rem}.comments-box{margin-top:4px}.comments-label{display:block;font-weight:600;color:var(--text-secondary);font-size:.9rem;margin-bottom:6px}.comments-text{margin:0;padding:12px;background:var(--bg-card);border-radius:8px;color:var(--text-primary);font-size:.9rem;line-height:1.6;border:1px solid var(--border-color);white-space:pre-wrap;word-wrap:break-word}.next-approver{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;color:var(--text-primary);font-size:.9rem}.next-approver svg{color:#f59e0b}.helper-text{margin-top:6px;font-size:.85rem;color:var(--text-secondary)}.readonly-field{padding:.75rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:1rem;font-weight:500;min-height:2.5rem;display:flex;align-items:center;font-style:italic}@media(max-width:768px){.resignation-details{grid-template-columns:1fr}.approval-flow{gap:12px}.instructions-content{grid-template-columns:1fr;gap:16px}.instruction-section{padding:12px}.approval-progress-bar{flex-direction:column;gap:16px;padding:16px}.progress-connector{width:3px;height:40px;margin:4px 0;top:0;left:50%;transform:translate(-50%)}.step-label-progress{font-size:.8rem}.step-number{width:36px;height:36px;font-size:1rem}}.wo-calendar-modal{max-width:700px;width:90%}.wo-calendar-container{background:var(--bg-card);border-radius:12px;padding:20px;border:1px solid var(--border-color);width:100%}.wo-calendar-header{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-bottom:12px}.wo-calendar-header-day{text-align:center;font-weight:600;color:var(--text-secondary);font-size:.85rem;padding:8px}.wo-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;width:100%}.wo-calendar-day{aspect-ratio:1;border:2px solid var(--border-color);border-radius:10px;padding:8px;background:var(--bg-hover);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:60px;cursor:pointer;transition:all .2s}.wo-calendar-day.empty{background:transparent;border:none;cursor:default}.wo-calendar-day:hover:not(.empty){transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary)}.wo-calendar-day.selected{background:#8b5cf640;border-color:#8b5cf6;border-width:2px}.wo-calendar-day.today{border-color:var(--primary);border-width:2px}.wo-calendar-day.selected.today{border-color:#8b5cf6}.wo-day-number{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.wo-indicator{font-size:.7rem;font-weight:700;color:#8b5cf6;background:#8b5cf633;padding:2px 6px;border-radius:4px}.filters-row{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.filter-btn{padding:8px 16px;border:2px solid var(--border-color);background:var(--bg-card);color:var(--text-primary);border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.filter-btn:hover{border-color:var(--primary);background:var(--bg-hover)}.filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:600;border:2px solid;background:#ffffff0d}.resignation-modal-content{display:flex;flex-direction:column;gap:24px}.detail-section{padding-bottom:20px;border-bottom:1px solid var(--border-color)}.detail-section:last-child{border-bottom:none}.detail-section h3{margin-bottom:16px;color:var(--text-primary);font-size:1.1rem}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.detail-grid .full-width{grid-column:1 / -1}.detail-grid .label{display:block;font-weight:600;color:var(--text-secondary);font-size:.875rem;margin-bottom:4px}.detail-grid span:not(.label){color:var(--text-primary);font-size:.95rem}.approval-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.approval-item{padding:12px;background:var(--bg-hover);border-radius:8px;border-left:4px solid var(--border-color)}.approval-label{display:block;font-weight:600;color:var(--text-secondary);margin-bottom:8px;font-size:.875rem}.approval-comments{margin:8px 0 4px;color:var(--text-secondary);font-size:.85rem;font-style:italic}.approval-date{margin:4px 0 0;color:var(--text-muted);font-size:.8rem}.approval-section{padding-top:20px;border-top:2px solid var(--border-color)}.approval-section h3{margin-bottom:16px;color:var(--text-primary)}.modal-actions{display:flex;gap:12px;margin-top:16px}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.action-required-badge{display:inline-block;margin-left:8px;font-size:14px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.btn-sm{padding:.4rem .8rem;font-size:.875rem}@media(max-width:768px){.detail-grid,.approval-status-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column}}.checkbox-wrapper-31:hover .check{stroke-dashoffset:0}.checkbox-wrapper-31{position:relative;display:inline-block;width:40px;height:40px}.checkbox-wrapper-31 .background{fill:#ccc;transition:ease all .6s;-webkit-transition:ease all .6s}.checkbox-wrapper-31 .stroke{fill:none;stroke:#fff;stroke-miterlimit:10;stroke-width:2px;stroke-dashoffset:100;stroke-dasharray:100;transition:ease all .6s;-webkit-transition:ease all .6s}.checkbox-wrapper-31 .check{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;stroke-dashoffset:22;stroke-dasharray:22;transition:ease all .6s;-webkit-transition:ease all .6s}.checkbox-wrapper-31 input[type=checkbox]{position:absolute;width:100%;height:100%;left:0;top:0;margin:0;opacity:0;-appearance:none;-webkit-appearance:none;z-index:1;cursor:pointer}.checkbox-wrapper-31 input[type=checkbox]:hover{cursor:pointer}.checkbox-wrapper-31 input[type=checkbox]:checked+svg .background{fill:var(--primary)}.checkbox-wrapper-31 input[type=checkbox]:checked+svg .stroke{stroke-dashoffset:0}.checkbox-wrapper-31 input[type=checkbox]:checked+svg .check{stroke-dashoffset:0}.search-input{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.9rem;min-width:200px}.filter-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.9rem}.view-toggle{display:flex;gap:4px;background:var(--bg-hover);padding:4px;border-radius:8px}.view-toggle button{padding:6px 12px;border:none;background:transparent;color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:.9rem;transition:all var(--transition-fast)}.view-toggle button.active{background:var(--primary);color:#fff}.form-container{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);padding:24px;max-width:800px}.item-form{display:flex;flex-direction:column;gap:20px}.item-name{font-weight:600;color:var(--text-primary)}.item-desc{font-size:.8rem;color:var(--text-secondary);margin-top:4px}.badge-secondary{background:#6b728020;color:#6b7280}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.item-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;cursor:pointer;transition:all var(--transition-fast)}.item-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.item-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.item-icon{font-size:2rem}.item-card-body{display:flex;flex-direction:column;gap:12px}.item-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.item-category{font-size:.85rem;color:var(--text-secondary);text-transform:capitalize;margin:0}.item-details{display:flex;flex-direction:column;gap:8px}.item-detail{display:flex;justify-content:space-between;font-size:.85rem}.detail-label{color:var(--text-secondary)}.detail-value{color:var(--text-primary);font-weight:500}.modal-content{background:var(--bg-card);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-secondary);cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all var(--transition-fast)}.detail-section{margin-bottom:24px}.detail-section h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item .detail-label{font-size:.85rem;color:var(--text-secondary)}.detail-item .detail-value{font-size:.95rem;color:var(--text-primary);font-weight:500}@media(max-width:768px){.modal-footer{flex-direction:column;gap:12px}.modal-footer .btn{width:100%;padding:12px;font-size:.95rem}.modal-footer .btn-secondary,.modal-footer .btn-primary{margin:0}.page-container{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.items-grid,.form-row,.detail-grid{grid-template-columns:1fr}.data-table{font-size:.8rem}.data-table th,.data-table td{padding:12px 8px}}.vms-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid var(--border-color)}.vms-tab{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-weight:600;font-size:.95rem;cursor:pointer;transition:all .3s ease;margin-bottom:-2px}.vms-tab:hover{color:var(--primary);background:#6366f10d}.vms-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:#6366f10d}.vms-container{display:grid;grid-template-columns:1fr 1fr;gap:24px}.vms-form-section,.vms-table-section{min-width:0}.vms-table-section h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:16px}.visitors-list-section{margin-top:24px}.visitors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.visitor-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000000d}.visitor-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:var(--primary)}.visitor-card-header{position:relative;padding:20px;background:linear-gradient(135deg,#6366f11a,#6366f10d);display:flex;justify-content:center;align-items:center}.visitor-image{width:120px;height:120px;border-radius:50%;object-fit:cover;border:4px solid white;box-shadow:0 4px 12px #0000001a}.visitor-image-placeholder{width:120px;height:120px;border-radius:50%;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;border:4px solid white;box-shadow:0 4px 12px #0000001a;color:var(--text-secondary)}.visitor-status-badge{position:absolute;top:16px;right:16px}.visitor-card-body{padding:20px}.visitor-name{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 16px;text-align:center}.visitor-details{display:flex;flex-direction:column;gap:12px}.visitor-detail-item{display:flex;align-items:flex-start;gap:12px;font-size:.9rem;color:var(--text-secondary)}.visitor-icon{color:var(--primary);margin-top:2px;flex-shrink:0}.visitor-time-info{display:flex;flex-direction:column;gap:4px;flex:1}.visitor-time-info strong{color:var(--text-primary);margin-right:8px}.visitor-label{font-weight:600;color:var(--text-primary);margin-right:8px}.visitor-card-footer{padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-hover)}.camera-modal{max-width:600px;width:90%}.camera-modal .modal-body{display:flex;flex-direction:column;align-items:center;padding:24px}.camera-modal video{width:100%;max-width:500px;border-radius:12px;border:2px solid var(--border-color);box-shadow:0 4px 12px #0000001a}.camera-modal img{width:100%;max-width:500px;border-radius:12px;border:2px solid var(--border-color);box-shadow:0 4px 12px #0000001a}.visitor-form{display:flex;flex-direction:column;gap:20px}.image-upload-container{width:100%}.image-upload-label{cursor:pointer;display:block}.image-upload-box{border:2px dashed var(--border-color);border-radius:8px;padding:32px;text-align:center;transition:all var(--transition-fast);background:var(--bg-primary)}.image-upload-box:hover{border-color:var(--primary);background:var(--bg-hover)}.camera-icon{font-size:2rem;color:var(--text-secondary);margin-bottom:8px}.image-upload-box span{display:block;color:var(--text-secondary);font-size:.9rem}.image-preview-wrapper{position:relative;width:100%;max-width:300px;margin:0 auto}.image-preview{width:100%;height:auto;border-radius:8px;border:1px solid var(--border-color)}.remove-image-btn{position:absolute;top:-10px;right:-10px;width:32px;height:32px;border-radius:50%;background:var(--danger);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.remove-image-btn:hover{transform:scale(1.1)}@media(max-width:1200px){.vms-container{grid-template-columns:1fr}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.header-actions{display:flex;gap:12px;align-items:center}.year-input,.month-input{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.9rem}.form-container{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);padding:24px;margin-bottom:24px;max-width:800px}.payroll-form{display:flex;flex-direction:column;gap:20px}.form-input{padding:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;transition:border-color var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--primary)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform var(--transition-fast)}.btn-secondary.active{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-sm{padding:6px 12px;font-size:.8rem}.structures-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.structure-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;transition:all var(--transition-fast)}.structure-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.structure-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.structure-header h3{margin:0;font-size:1.2rem;color:var(--text-primary)}.structure-total{font-size:1.5rem;font-weight:700;color:var(--primary)}.structure-details{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;justify-content:space-between;font-size:.9rem}.detail-row span:first-child{color:var(--text-secondary)}.detail-row span:last-child{color:var(--text-primary);font-weight:500}.detail-row.deduction span:last-child{color:#ef4444}.structure-description{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.structure-description p{font-size:.85rem;color:var(--text-secondary);margin:0}.table-container{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);overflow-x:auto;overflow-y:auto!important;height:calc(100vh - 220px);position:relative;display:block}@media(max-width:1024px){.table-container{height:calc(100vh - 240px)}.data-table th,.data-table td{padding:12px;font-size:.85rem}}@media(max-width:768px){.table-container{height:auto;max-height:70vh}.data-table{min-width:900px}.data-table th,.data-table td{padding:10px;font-size:.8rem}.pagination-controls{flex-direction:column;gap:10px}}.generate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;width:100%}.form-group--full{grid-column:1 / -1}.form-group--submit{grid-column:1 / -1;display:flex;justify-content:center}.btn-submit{width:auto;min-width:200px;max-width:300px}.employee-name{font-weight:600;color:var(--text-primary)}.employee-id{font-size:.8rem;color:var(--text-secondary);margin-top:4px}.data-table th:first-child,.data-table td:first-child{padding-left:20px}.data-table th:last-child,.data-table td:last-child{padding-right:20px}.data-table{font-size:.875rem}.data-table th{white-space:nowrap}.salary-structure-table thead.sticky-header{position:sticky;top:0;z-index:100;background:var(--bg-hover)}.salary-structure-table thead.sticky-header th{position:sticky;top:0;background:var(--bg-hover);box-shadow:0 2px 4px #0000001a}.avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.toggle-switch{position:relative;display:inline-block;width:50px;height:24px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ef4444;transition:.3s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#10b981}.toggle-switch input:checked+.toggle-slider:before{transform:translate(26px)}.toggle-switch:hover .toggle-slider{box-shadow:0 0 4px #0000004d}.text-center{text-align:center}.badge{padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;display:inline-block}.badge-success{background:#10b98120;color:#10b981}.badge-danger{background:#ef444420;color:#ef4444}.badge-warning{background:#f59e0b20;color:#f59e0b}.badge-info{background:#3b82f620;color:#3b82f6}.payslips-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.payslip-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:20px;cursor:pointer;transition:all var(--transition-fast)}.payslip-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.payslip-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.payslip-header h3{margin:0 0 4px;font-size:1.1rem;color:var(--text-primary)}.payslip-amount{text-align:right}.amount-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.amount-value{display:block;font-size:1.5rem;font-weight:700;color:var(--primary)}.payslip-details{display:flex;flex-direction:column;gap:8px;padding-top:16px;border-top:1px solid var(--border-color)}.payslip-details .detail-item{display:flex;justify-content:space-between;font-size:.85rem}.payslip-details .detail-item span:first-child{color:var(--text-secondary)}.payslip-details .detail-item span:last-child{color:var(--text-primary);font-weight:500}.status-pending{color:#f59e0b}.status-approved{color:#10b981}.status-paid{color:#3b82f6}.status-rejected{color:#ef4444}.payslip-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.payslip-modal{background:#fff;border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.payslip-print-header{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-bottom:1px solid var(--border-color)}.payslip-document{padding:40px;background:#fff}.payslip-doc-header{text-align:center;margin-bottom:32px;border-bottom:2px solid #000;padding-bottom:16px}.payslip-doc-header h2{margin:0 0 16px;font-size:2rem;color:#000}.company-info{font-size:.9rem;color:#666}.company-info p{margin:4px 0}.payslip-doc-body{color:#000}.employee-info{display:flex;justify-content:space-between;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid #ddd}.employee-info p{margin:8px 0;font-size:.95rem}.salary-breakdown{margin-bottom:24px}.salary-breakdown h3{font-size:1.2rem;margin-bottom:16px;color:#000;border-bottom:1px solid #ddd;padding-bottom:8px}.breakdown-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.95rem}.breakdown-total{display:flex;justify-content:space-between;padding:12px 0;margin-top:8px;border-top:2px solid #000;font-size:1rem}.net-salary{display:flex;justify-content:space-between;padding:20px;margin-top:24px;background:#f3f4f6;border-radius:8px;font-size:1.2rem;border:2px solid #000}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}@media(max-width:768px){.page-container{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.structures-grid,.payslips-list,.form-row{grid-template-columns:1fr}.employee-info{flex-direction:column}.payslip-document{padding:20px}}.month-cards-section{margin-bottom:32px}.section-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:16px}.month-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:20px;margin-bottom:24px}.month-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:16px;padding:20px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000d;animation:cardFadeIn .4s ease-out}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.month-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary) 0%,var(--primary-dark) 100%);opacity:0;transition:opacity .3s ease}.month-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f;border-color:var(--primary)}.month-card:hover:before{opacity:1}.month-card.frozen{border-color:#10b981;background:linear-gradient(135deg,#10b98114,#10b98108);box-shadow:0 4px 12px #10b98126}.month-card.frozen:before{opacity:1;background:linear-gradient(90deg,#10b981,#059669)}.month-card.unfrozen{border-color:#ef4444;opacity:.85;background:linear-gradient(135deg,#ef44440d,#ef444405)}.month-card.unfrozen:hover{opacity:1;background:var(--bg-card);border-color:#ef4444}.month-card.toggling{animation:togglePulse .6s ease-in-out;transform:scale(1.05);z-index:10;box-shadow:0 12px 32px #6366f14d!important;border-color:var(--primary)!important}.month-card.toggling.frozen{background:linear-gradient(135deg,#10b98133,#10b9811a);box-shadow:0 12px 32px #10b98166!important;border-color:#10b981!important}.month-card.toggling.unfrozen{background:linear-gradient(135deg,#ef444426,#ef444414);box-shadow:0 12px 32px #ef44444d!important;border-color:#ef4444!important}@keyframes togglePulse{0%{transform:scale(1);box-shadow:0 2px 8px #0000000d}50%{transform:scale(1.08);box-shadow:0 16px 40px #6366f180}to{transform:scale(1.05);box-shadow:0 12px 32px #6366f14d}}.month-card.toggling .freeze-icon{animation:iconSpin .6s ease-in-out}@keyframes iconSpin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}.month-card-header{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600}.freeze-icon{font-size:1.1rem}.month-card.frozen .freeze-icon{color:#10b981}.month-card.unfrozen .freeze-icon{color:#ef4444}.freeze-status{text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.month-card.frozen .freeze-status{color:#10b981}.month-card.unfrozen .freeze-status{color:#ef4444}.month-card-body{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;padding-top:8px}.month-name{font-size:1.25rem;font-weight:700;color:var(--text-primary);letter-spacing:-.5px;text-transform:capitalize}.month-card.frozen .month-name{color:#10b981}.month-year{font-size:.95rem;color:var(--text-secondary);font-weight:500;margin-top:4px}.month-card.frozen .month-year{color:var(--primary);opacity:.8}@media(max-width:768px){.month-cards-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.month-card{padding:12px}.month-name{font-size:1rem}.btn-submit{width:100%;max-width:100%}}@media print{.payslip-print-header{display:none}.payslip-modal-overlay{position:static;background:#fff}.payslip-modal{box-shadow:none;max-height:none}}.month-picker-nav{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-primary);font-size:1.2rem;font-weight:600}.month-picker-footer{display:flex;justify-content:flex-end;padding-top:12px;border-top:1px solid var(--border-color)}.month-picker-clear{padding:8px 16px;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:500;border:none}.month-picker-clear:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.page-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.page-subtitle{color:var(--text-secondary);margin-top:4px;font-size:.9rem}.users-filters{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.view-toggle{display:flex;background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:4px;gap:4px}.view-toggle-btn{width:36px;height:36px;border-radius:8px;background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all var(--transition-fast);border:none;cursor:pointer}.view-toggle-btn:hover{color:var(--text-primary)}.view-toggle-btn.active{background:var(--primary);color:#fff}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.user-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);overflow:hidden;transition:all var(--transition-base)}.user-card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow)}.user-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;background:linear-gradient(135deg,#6366f11a,#0ea5e90d)}.user-card-header .avatar{border:3px solid var(--bg-card)}.user-card-header .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-card-body{padding:0 20px 20px;margin-top:-20px}.user-card-body h3{font-size:1.1rem;font-weight:600;margin-bottom:4px;margin-top:30px}.user-empid{color:var(--text-secondary);font-size:.85rem;margin-bottom:16px}.user-contact{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.contact-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary)}.contact-item svg{color:var(--primary)}.users-table-container{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 300px)}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.users-table th{font-weight:600;font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--bg-hover)}.users-table thead.sticky-header{position:sticky;top:0;z-index:100;background:var(--bg-hover)}.users-table thead.sticky-header th{position:sticky;top:0;background:var(--bg-hover);box-shadow:0 2px 4px #0000001a;z-index:101}.users-table tr:hover{background:var(--bg-hover)}.users-table tr:last-child td{border-bottom:none}.btn{padding:10px 20px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:8px;border:none}.btn-secondary:hover{background:var(--bg-card);border-color:var(--primary);color:var(--primary)}.card{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);overflow:hidden}.payslip-wrapper{display:flex;flex-direction:column;gap:24px;width:100%;margin:0}.payslip-container{background:#fafafa;border-radius:0;padding:25px;box-shadow:0 2px 8px #0000001a;color:#000;border:none;width:100%;max-width:100%;font-family:DM Sans,sans-serif}.payslip-header-table{width:100%;border-collapse:collapse;margin-bottom:20px}.payslip-header-table td{border:0;padding:0;vertical-align:middle}.payslip-logo-cell{width:25%}.payslip-title-cell{width:75%;text-align:right;font-size:16px;font-weight:700;color:#007bff;padding-left:20px;font-family:Outfit,sans-serif}.payslip-logo{height:120px;width:auto;max-width:200px;object-fit:contain;display:block}.payslip-spacer{margin-bottom:20px;height:10px}.payslip-emp-table{width:100%;border-collapse:collapse;margin-bottom:20px;border:1px solid #dee2e6;background:#fafafa;table-layout:fixed}.payslip-emp-table td{padding:8px;border:1px solid #dee2e6;vertical-align:middle}.payslip-emp-label{font-weight:700;background-color:#f1f3f5;color:#495057;font-size:10px;text-align:left;width:20%}.payslip-emp-value{color:#000;font-size:10px;font-weight:400;background:#fafafa;text-align:left;width:15%}.payslip-emp-value[colspan="5"]{width:80%}.payslip-section{margin-bottom:20px}.payslip-section-header{background-color:#6b7785;color:#fff;padding:10px;font-weight:700;font-size:12px;text-align:center;margin-bottom:0;width:100%;border:0}.payslip-data-table{width:100%;border-collapse:collapse;border:1px solid #dee2e6;margin-top:0;background:#fafafa;table-layout:fixed}.payslip-data-table th{background-color:#f1f3f5;font-weight:700;padding:8px;border:1px solid #dee2e6;text-align:center;font-size:8px;color:#495057;vertical-align:middle}.payslip-data-table td{padding:8px;border:1px solid #dee2e6;text-align:center;font-size:8px;color:#000;background-color:#fafafa;font-weight:400;vertical-align:middle}.payslip-total-table{width:100%;border-collapse:collapse;margin-bottom:20px;border:1px solid #dee2e6;background:#fafafa;table-layout:fixed}.payslip-total-table td{padding:8px;border:1px solid #dee2e6;vertical-align:middle}.payslip-total-label{font-weight:700;background-color:#f1f3f5;color:#495057;font-size:10px;text-align:center;width:20%}.payslip-total-value{text-align:center;color:#000;font-size:10px;font-weight:400;background-color:#fafafa;width:15%}.payslip-words-table{width:100%;border-collapse:collapse;border:1px solid #dee2e6;background:#fafafa;table-layout:fixed;margin-bottom:20px}.payslip-words-table td{padding:8px;border:1px solid #dee2e6;vertical-align:middle}.payslip-words-label{font-weight:700;background-color:#f1f3f5;color:#495057;font-size:10px;width:15%;text-align:left}.payslip-words-value{color:#000;font-size:9px;text-transform:uppercase;line-height:1.4;background-color:#fafafa;font-weight:400;width:85%}.payslip-footer{margin-top:20px;padding-top:20px;text-align:center;border-top:none}.payslip-footer p{font-size:10px;color:#6c757d;font-style:italic;margin:0}.payslip-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;padding:20px;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color)}.action-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 20px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .3s ease;min-width:100px;color:var(--text-primary)}.action-card:hover{background:var(--bg-hover);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.action-icon{font-size:24px;color:var(--primary)}.action-card span{font-size:.85rem;font-weight:500}.email-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.email-modal{background:#fafafa;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column}.email-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.email-modal-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.email-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.email-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.email-modal-body{padding:20px;flex:1;overflow-y:auto}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary);font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:.9rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary)}.form-group textarea{resize:vertical;min-height:100px}.email-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid var(--border-color)}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.payslip-container{padding:12px;font-size:12px}.payslip-wrapper{gap:16px}.payslip-header-table{display:block;margin-bottom:15px}.payslip-header-table tbody,.payslip-header-table tr{display:block}.payslip-logo-cell,.payslip-title-cell{display:block;width:100%;text-align:center;padding:0}.payslip-title-cell{padding-left:0;margin-top:12px;font-size:12px;line-height:1.4}.payslip-logo{height:80px;max-width:120px;margin:0 auto}.payslip-spacer{margin-bottom:12px;height:8px}.payslip-emp-table{display:block;border:1px solid #dee2e6;border-radius:8px;overflow:hidden}.payslip-emp-table tbody{display:block}.payslip-emp-table tr{display:block;border-bottom:1px solid #dee2e6}.payslip-emp-table tr:last-child{border-bottom:none}.payslip-emp-table td{display:block;width:100%!important;padding:10px 12px;border:none;border-bottom:1px solid #e9ecef}.payslip-emp-table td:last-child{border-bottom:none}.payslip-emp-label{font-size:9px;padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid #e9ecef}.payslip-emp-value{font-size:11px;padding-top:4px}.payslip-emp-value[colspan="5"]{width:100%!important}.payslip-section-header{font-size:11px;padding:8px}.payslip-section{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -12px;padding:0 12px}.payslip-data-table{display:table;min-width:800px;width:100%;border-radius:8px}.payslip-data-table th,.payslip-data-table td{font-size:8px;padding:8px 4px;white-space:nowrap}.payslip-data-table th{font-size:7px;padding:6px 3px}.payslip-total-table{display:block;border-radius:8px;overflow:hidden}.payslip-total-table tbody{display:block}.payslip-total-table tr{display:flex;flex-direction:column;border-bottom:1px solid #dee2e6}.payslip-total-table tr:last-child{border-bottom:none}.payslip-total-table td{display:block;width:100%!important;padding:10px 12px;border:none;border-bottom:1px solid #e9ecef;text-align:left!important}.payslip-total-table td:last-child{border-bottom:none}.payslip-total-label{font-size:10px;padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid #e9ecef}.payslip-total-value{font-size:12px;font-weight:600;padding-top:4px;text-align:left!important}.payslip-words-table{display:block;border-radius:8px;overflow:hidden}.payslip-words-table tbody,.payslip-words-table tr{display:block}.payslip-words-table td{display:block;width:100%!important;padding:10px 12px;border:none;border-bottom:1px solid #e9ecef}.payslip-words-table td:last-child{border-bottom:none}.payslip-words-label{font-size:10px;padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid #e9ecef}.payslip-words-value{font-size:10px;padding-top:4px;line-height:1.5}.payslip-footer{margin-top:15px;padding-top:15px}.payslip-footer p{font-size:9px}.payslip-actions{gap:10px;padding:16px;flex-wrap:wrap}.action-card{min-width:70px;padding:12px 14px;flex:1 1 calc(50% - 5px);max-width:calc(50% - 5px)}.action-icon{font-size:20px}.action-card span{font-size:.7rem}.email-modal{max-width:100%;margin:10px;max-height:95vh}.email-modal-header{padding:16px}.email-modal-header h2{font-size:1.2rem}.email-modal-body{padding:16px}.email-modal-footer{padding:16px;flex-direction:column}.email-modal-footer .btn-primary,.email-modal-footer .btn-secondary{width:100%}}@media print{.page-header,.payslip-actions,.email-modal-overlay{display:none!important}.payslip-wrapper{max-width:100%;margin:0;padding:0}.payslip-container{box-shadow:none;padding:25px;margin:0;border:none;border-radius:0;page-break-after:auto;width:100%}body{background:#fafafa;margin:0;padding:0}@page{size:A4;margin:25mm}.payslip-section{page-break-inside:avoid}.payslip-logo{height:120px;max-width:200px}.payslip-emp-table,.payslip-data-table,.payslip-total-table,.payslip-words-table,.payslip-emp-table td,.payslip-data-table th,.payslip-data-table td,.payslip-total-table td,.payslip-words-table td{border:1px solid #dee2e6!important}}.tax-page{padding:24px}.tax-tabs{display:flex;gap:12px;margin-bottom:24px;border-bottom:2px solid var(--border-color)}.tax-tab{background:transparent;border:none;padding:12px 24px;font-size:1rem;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;display:flex;align-items:center;gap:8px;transition:all .2s ease;margin-bottom:-2px}.tax-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.tax-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tax-tab-content{animation:fadeIn .3s ease}.tax-results{margin-top:24px}.tax-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.tax-regime-card{background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.tax-regime-card.old-regime{border-color:#3b82f64d;background:linear-gradient(135deg,#3b82f60d,#6366f10d)}.tax-regime-card.new-regime{border-color:#10b9814d;background:linear-gradient(135deg,#10b9810d,#0596690d)}.tax-regime-card h4{margin:0 0 20px;font-size:1.25rem;font-weight:700;color:var(--text-primary);text-align:center;padding-bottom:12px;border-bottom:2px solid var(--border-color)}.tax-details{display:flex;flex-direction:column;gap:12px}.tax-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.tax-row:last-child{border-bottom:none}.tax-row span{color:var(--text-secondary);font-size:.95rem}.tax-row strong{color:var(--text-primary);font-size:1rem;font-weight:600}.tax-row.total{margin-top:8px;padding-top:16px;border-top:2px solid var(--border-color)}.tax-row.total span,.tax-row.total strong{font-size:1.1rem;font-weight:700;color:var(--primary)}.tax-savings{background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;padding:24px;text-align:center}.tax-savings h4{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.savings-amount{display:flex;align-items:center;justify-content:center;gap:12px;font-size:1.25rem;font-weight:600}.savings-amount strong{font-size:1.5rem;color:var(--primary)}.salary-breakdown{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.breakdown-section{background:var(--bg-card);border:2px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.breakdown-section h4{margin:0 0 20px;font-size:1.25rem;font-weight:700;color:var(--text-primary);text-align:center;padding-bottom:12px;border-bottom:2px solid var(--border-color)}.breakdown-details{display:flex;flex-direction:column;gap:12px}.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border-color)}.breakdown-row:last-child{border-bottom:none}.breakdown-row span{color:var(--text-secondary);font-size:.95rem}.breakdown-row strong{color:var(--text-primary);font-size:1rem;font-weight:600}.breakdown-row.total{margin-top:8px;padding-top:16px;border-top:2px solid var(--border-color)}.breakdown-row.total span,.breakdown-row.total strong{font-size:1.1rem;font-weight:700;color:var(--primary)}.breakdown-section.net-salary{grid-column:1 / -1;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border-color:var(--primary)}.net-amount{text-align:center;padding:20px 0}.net-amount strong{font-size:2rem;font-weight:700;color:var(--primary);display:block}@media(max-width:768px){.tax-page{padding:16px}.tax-tabs{flex-direction:column;gap:0}.tax-tab{width:100%;justify-content:center;border-bottom:1px solid var(--border-color);border-radius:0}.tax-tab.active{border-bottom-color:var(--primary);background:var(--bg-hover)}.tax-comparison{grid-template-columns:1fr;gap:16px}.tax-regime-card{padding:16px}.tax-row{font-size:.9rem}.tax-row strong{font-size:.95rem}.tax-row.total span,.tax-row.total strong{font-size:1rem}.salary-breakdown{grid-template-columns:1fr;gap:16px}.breakdown-section{padding:16px}.breakdown-section.net-salary{grid-column:1}.net-amount strong{font-size:1.5rem}.savings-amount{flex-direction:column;gap:8px;font-size:1rem}.savings-amount strong{font-size:1.25rem}}@media(max-width:480px){.tax-page{padding:12px}.tax-regime-card h4,.breakdown-section h4{font-size:1.1rem}.tax-row span,.breakdown-row span{font-size:.85rem}.tax-row strong,.breakdown-row strong{font-size:.9rem}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-card);border-radius:12px;width:90%;max-width:500px;border:1px solid var(--border-color)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:4px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-body{padding:20px}.date-input{padding:10px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:.9rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:24px}.month-card{display:flex;gap:16px;align-items:center;background:var(--bg-card);border:1px solid var(--border-color);padding:12px 16px;border-radius:12px;flex-wrap:wrap}.month-year{display:flex;gap:8px}.header-buttons{display:flex;gap:8px;flex-wrap:wrap}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;text-align:center}.stat-value{font-size:2rem;font-weight:700;margin-bottom:8px}.stat-label{font-size:.9rem;color:var(--text-secondary)}.stat-blue .stat-value{color:#3b82f6}.stat-green .stat-value{color:#10b981}.stat-red .stat-value{color:#ef4444}.stat-orange .stat-value{color:#f59e0b}.stat-yellow .stat-value{color:#eab308}.attendance-history-table{font-size:.85rem}.attendance-history-table thead th{background:linear-gradient(135deg,#6366f11a,#6366f10d);font-weight:700;border-bottom:2px solid var(--border-color);padding:12px 8px}.attendance-history-table tbody td{padding:10px 8px;border-bottom:1px solid rgba(0,0,0,.05)}.attendance-history-table tbody tr:hover{background:#6366f108}.attendance-history-table tbody tr:nth-child(2n){background:#00000003}.attendance-history-table tbody tr:nth-child(2n):hover{background:#6366f10d}.table-container{position:relative;max-height:calc(100vh - 300px);overflow-y:auto;overflow-x:auto}.table-container .data-table thead{position:sticky;top:0;z-index:10;background:var(--bg-card)}.table-container .data-table thead th{background:var(--bg-card);border-bottom:2px solid var(--border-color);box-shadow:0 2px 4px #0000001a}.pagination{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding:16px 20px;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);flex-wrap:wrap;gap:16px}.pagination-info{color:var(--text-secondary);font-size:.9rem}.pagination-controls{display:flex;gap:6px;align-items:center}.pagination-btn{min-width:36px;height:36px;padding:0 12px;border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:.9rem;font-weight:500;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);border:1px solid transparent;cursor:pointer}.pagination-btn:hover:not(:disabled){background:var(--primary);color:#fff}.pagination-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.month-picker-wrapper{position:relative;width:100%}.month-picker-input{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;color:var(--text-primary);font-size:.95rem}.month-picker-input:hover{border-color:var(--primary);background:var(--bg-hover)}.month-picker-input svg:last-child{margin-left:auto;transition:transform .2s ease}.month-picker-input svg:last-child.rotate{transform:rotate(180deg)}.month-picker-input span{flex:1;color:var(--text-primary)}.month-picker-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 20px #00000026;z-index:1000;padding:16px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.month-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.month-picker-year{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.month-picker-nav{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:6px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:var(--text-primary);font-size:1.2rem;font-weight:600;border:none}.month-picker-nav:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.month-picker-nav:disabled{opacity:.4;cursor:not-allowed}.month-picker-nav-disabled,.month-picker-nav-disabled:disabled{opacity:.3!important;cursor:not-allowed!important;pointer-events:none!important;background:transparent!important;border-color:var(--border-color)!important}.month-picker-nav-disabled:hover{background:transparent!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}.month-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.month-picker-option{padding:12px 8px;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:500;color:var(--text-primary);text-align:center;border:none}.month-picker-option:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 2px 8px #3b82f64d}.month-picker-option.selected{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.month-picker-option.current{border-color:var(--primary);border-width:2px}.month-picker-option.disabled{opacity:.4;cursor:not-allowed;background:var(--bg-primary)}.month-picker-option.past{opacity:.6}.attendance-cycle-page{padding:24px;min-height:100vh;width:100%;max-width:100%}.cycle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px 24px;background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);box-shadow:0 2px 8px #0000000a}.cycle-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:12px}.cycle-header h1 svg{color:var(--primary)}.cycle-form-container{width:100%;max-width:100%;background:transparent;border:none;padding:0;box-shadow:none}.cycle-shift-timings-card{width:100%;padding:28px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;margin-bottom:24px;box-shadow:0 2px 8px #0000000a}.cycle-shift-timings-card .cycle-section-title{margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.cycle-shift-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.cycle-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:32px}.cycle-section-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid var(--border-color);display:flex;align-items:center;gap:10px;text-transform:none;letter-spacing:0}.cycle-section-title svg{color:var(--primary);font-size:1.2rem}.cycle-form-group{display:flex;flex-direction:column;gap:8px;padding:0;background:transparent;border:none;border-radius:0;transition:none}.cycle-form-group:hover{background:transparent;border:none;transform:none;box-shadow:none}.cycle-form-group label{font-weight:500;color:var(--text-primary);font-size:.9rem;margin-bottom:6px;text-transform:none;letter-spacing:0}.cycle-form-group label:after{content:"*";color:#ef4444;margin-left:4px;font-weight:600}.cycle-form-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-input);color:var(--text-primary);font-size:.95rem;transition:all .2s ease;font-weight:400}.cycle-form-input:hover:not(:disabled){border-color:var(--primary);background:var(--bg-hover)}.cycle-form-input:focus{outline:none;border-color:var(--primary);background:var(--bg-hover);box-shadow:0 0 0 3px #6366f11a}.cycle-form-input:disabled{background:var(--bg-hover);cursor:not-allowed;opacity:.7;border-color:var(--border-color)}.cycle-form-input-small{font-size:.8rem;color:var(--text-secondary);margin-top:4px;line-height:1.4;font-style:normal;padding-left:0;opacity:.8}.cycle-section-divider{margin:32px 0;border:none;height:1px;background:var(--border-color);border-radius:0;box-shadow:none}.cycle-info-card{margin-top:32px;padding:24px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000a}.cycle-info-card h3{font-size:1.1rem;font-weight:600;margin-bottom:16px;color:var(--text-primary);display:flex;align-items:center;gap:8px}.cycle-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;font-size:.9rem}.cycle-info-item{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--bg-hover);border-radius:8px;border:1px solid var(--border-color);transition:all .2s ease}.cycle-info-item:hover{background:var(--bg-hover);border-color:var(--primary);transform:none}.cycle-info-item strong{color:var(--text-secondary);font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.cycle-info-item span{color:var(--text-primary);font-weight:500;font-size:.95rem;margin-top:2px}.time-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.time-input-wrapper .cycle-form-input{padding-right:44px}.time-icon{position:absolute;right:14px;color:var(--text-secondary);font-size:1rem;pointer-events:none;opacity:.6}@media(max-width:1200px){.cycle-shift-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.attendance-cycle-page{padding:16px}.cycle-header{padding:16px;flex-direction:column;align-items:flex-start;gap:12px}.cycle-header h1{font-size:1.5rem}.cycle-shift-timings-card{padding:20px}.cycle-shift-grid{grid-template-columns:1fr}.cycle-form-grid{grid-template-columns:1fr;gap:16px}.cycle-form-group{padding:0}.cycle-info-grid{grid-template-columns:1fr;gap:12px}.cycle-section-title{font-size:1rem}.cycle-info-card{padding:20px}}.page-container{padding:24px;max-width:1400px;margin:0 auto}.page-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0}.company-tabs-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.filter-tab{padding:10px 20px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center}.search-container{position:relative;max-width:400px;flex:1;min-width:200px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-secondary);font-size:1.1rem}.search-input{width:100%;padding:12px 12px 12px 40px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.9rem;transition:border-color var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--primary)}.company-content{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);padding:24px;min-height:400px}.table-container{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:var(--bg-hover)}.data-table th{padding:16px;text-align:left;font-weight:600;color:var(--text-primary);font-size:.9rem;border-bottom:2px solid var(--border-color)}.data-table td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.text-primary{color:var(--text-primary);font-weight:600}.action-buttons{display:flex;gap:8px;align-items:center}.btn-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-card);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary)}.btn-icon.btn-danger:hover{background:#ef4444;color:#fff;border-color:#ef4444}.empty-state-cell{text-align:center;padding:60px 20px!important}.empty-state{text-align:center;padding:0;color:var(--text-secondary)}.empty-state p{font-size:1rem;margin:0}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content.detail-modal{background:var(--bg-card);border-radius:12px;border:1px solid var(--border-color);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-header h3{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;border-radius:6px;transition:all var(--transition-fast)}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:24px;display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:var(--text-primary);font-size:.9rem}.form-input,.form-select{padding:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-card);color:var(--text-primary);font-size:.9rem;transition:border-color var(--transition-fast)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary)}.form-select:disabled{opacity:.6;cursor:not-allowed}.form-select{background-color:var(--bg-card)!important;background:var(--bg-card)!important;color:var(--text-primary)!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-select::-ms-expand{display:none}.form-select option{background-color:var(--bg-card)!important;background:var(--bg-card)!important;color:var(--text-primary)!important;padding:8px 12px!important}.form-select option:hover,.form-select option:focus,.form-select option:active,.form-select option:checked,.form-select option[selected],.form-select option[selected=selected],.form-select option:checked:hover,.form-select option:checked:focus{background-color:var(--bg-hover)!important;background:var(--bg-hover)!important;color:var(--text-primary)!important}select.form-select option:checked,select.form-select option[selected],select.form-select option[selected=selected],select.form-select option:checked:hover,select.form-select option:checked:focus,select.form-select:focus option:checked,select.form-select:focus option:checked:hover{background:var(--bg-hover)!important;background-color:var(--bg-hover)!important;color:var(--text-primary)!important}select.form-select{background-color:var(--bg-card)!important;background:var(--bg-card)!important;color:var(--text-primary)!important;-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-select::-webkit-list-button,select.form-select::-webkit-list-box{background-color:var(--bg-card)!important;background:var(--bg-card)!important}select.form-select:focus{background-color:var(--bg-card)!important;background:var(--bg-card)!important}select.form-select option{background-color:var(--bg-card)!important;background:var(--bg-card)!important}select.form-select option:hover,select.form-select option:focus{background-color:var(--bg-hover)!important;background:var(--bg-hover)!important}select.form-select:focus option{background-color:var(--bg-card)!important;background:var(--bg-card)!important}select.form-select:focus option:hover,select.form-select:focus option:checked{background-color:var(--bg-hover)!important;background:var(--bg-hover)!important}[data-theme=dark] .form-select,[data-theme=dark] select.form-select,[data-theme=dark] .form-select option,[data-theme=dark] select.form-select option{background-color:var(--bg-card)!important;background:var(--bg-card)!important;color:var(--text-primary)!important}[data-theme=dark] .form-select option:hover,[data-theme=dark] .form-select option:focus,[data-theme=dark] .form-select option:checked,[data-theme=dark] select.form-select option:hover,[data-theme=dark] select.form-select option:focus,[data-theme=dark] select.form-select option:checked{background-color:var(--bg-hover)!important;background:var(--bg-hover)!important;color:var(--text-primary)!important}[data-theme=dark] select.form-select:focus option{background-color:var(--bg-card)!important;background:var(--bg-card)!important}[data-theme=dark] select.form-select:focus option:hover,[data-theme=dark] select.form-select:focus option:checked{background-color:var(--bg-hover)!important;background:var(--bg-hover)!important}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform var(--transition-fast);display:flex;align-items:center}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{padding:12px 24px;background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.btn-secondary:hover{background:var(--bg-primary)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.pagination-container{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding:16px 0;flex-wrap:wrap;gap:16px}.pagination-info{font-size:.9rem;color:var(--text-secondary)}.pagination-controls{display:flex;gap:8px;align-items:center}.pagination-btn{min-width:36px;height:36px;padding:0 12px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-card);border-radius:8px;color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.pagination-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary);color:var(--primary)}.pagination-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-ellipsis{padding:0 8px;color:var(--text-secondary);font-size:.9rem}@media(max-width:768px){.page-container{padding:16px}.company-tabs-container{flex-direction:column;align-items:stretch;gap:12px}.filter-tabs{width:100%;justify-content:center;flex-wrap:wrap}.filter-tab{flex:1;min-width:100px;text-align:center;padding:10px 12px;font-size:.85rem}.search-container{max-width:100%;width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}.data-table{min-width:600px;font-size:.85rem}.data-table th,.data-table td{padding:10px 8px}.page-header{flex-direction:column;align-items:flex-start;gap:12px}.page-header h1{font-size:1.5rem}.modal-content.detail-modal{max-width:calc(100% - 20px);margin:10px}.pagination-container{flex-direction:column;align-items:stretch;gap:12px}.pagination-controls{justify-content:center;flex-wrap:wrap}.card{padding:16px}.form-row{grid-template-columns:1fr;gap:16px}}.data-page{animation:fadeIn .3s ease;padding:24px}.data-filters{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap;align-items:center}.filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.filter-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.filter-tab:hover{border-color:var(--primary);color:var(--text-primary)}.filter-tab.active{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-tab svg{font-size:1.1rem}.excel-section{margin-top:24px}.excel-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px}.excel-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px #0000000d}.excel-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a;border-color:var(--primary)}.excel-card-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-top:4px solid;background:var(--bg-hover)}.excel-card-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center}.download-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #3b82f64d}.download-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.download-btn:disabled{opacity:.6;cursor:not-allowed}.excel-card-body{padding:20px}.excel-card-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 12px}.excel-card-description{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:0}.upload-section{margin-top:24px}.upload-card{max-width:800px;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000000d}.upload-header{padding:32px;text-align:center;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border-bottom:1px solid var(--border-color)}.upload-icon{width:80px;height:80px;margin:0 auto 20px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #3b82f64d}.upload-header h2{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 8px}.upload-header p{font-size:1rem;color:var(--text-secondary);margin:0}.upload-form{padding:32px}.upload-form-grid{display:grid;grid-template-columns:1fr;gap:24px}.upload-form-item{display:flex;flex-direction:column;gap:10px}.upload-form-item-full{width:100%}.upload-form-label-wrapper{margin-bottom:4px}.upload-form-label-wrapper .form-label{font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.upload-instructions-box{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border:1px solid var(--border-color);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:16px}.instruction-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--bg-card);border-radius:10px;border-left:4px solid var(--primary);transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.instruction-item:hover{transform:translate(6px);box-shadow:0 4px 12px #3b82f626;border-left-width:5px}.instruction-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:50%;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 2px 8px #3b82f666}.instruction-text{flex:1;color:var(--text-primary);font-size:.95rem;line-height:1.7;padding-top:4px;font-weight:500}.form-group{margin-bottom:24px}.form-label{display:block;font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.form-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:.95rem;transition:all .2s ease}.form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-hint{display:block;font-size:.85rem;color:var(--text-secondary);margin-top:6px}.file-upload-area{position:relative}.file-input{position:absolute;opacity:0;width:0;height:0}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;border:2px dashed var(--border-color);border-radius:12px;background:var(--bg-hover);cursor:pointer;transition:all .3s ease;text-align:center}.file-upload-label:hover{border-color:var(--primary);background:#3b82f60d}.file-upload-label svg{color:var(--primary)}.file-upload-label span{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.file-upload-label small{font-size:.85rem;color:var(--text-secondary)}.upload-instructions{margin-top:32px;padding:24px;background:var(--bg-hover);border-radius:12px;border-left:4px solid var(--primary)}.upload-instructions h4{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0 0 16px}.upload-instructions ul{margin:0;padding-left:20px;list-style-type:disc}.upload-instructions li{font-size:.9rem;color:var(--text-secondary);line-height:1.8;margin-bottom:8px}.upload-instructions li:last-child{margin-bottom:0}@media(max-width:768px){.excel-cards-grid{grid-template-columns:1fr}.data-filters,.filter-tabs{flex-wrap:wrap}.upload-card{margin:0}.upload-header,.upload-form{padding:24px}.upload-instructions-box{padding:20px}.instruction-item{padding:12px}.overtime-filters-row{flex-wrap:wrap!important}.overtime-filters-row>div:first-child{min-width:100%!important;margin-bottom:8px}}.alerts-section,.overtime-section{margin-top:24px}.alerts-section .table-container,.overtime-section .table-container{background:transparent;border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.alerts-section .data-table,.overtime-section .data-table{width:100%;border-collapse:collapse;background:transparent}.alerts-section .data-table thead,.overtime-section .data-table thead{background:var(--bg-hover)}.alerts-section .data-table th,.overtime-section .data-table th{padding:16px;text-align:left;font-weight:600;color:var(--text-primary);font-size:.9rem;border-bottom:2px solid var(--border-color);background:var(--bg-hover)}.alerts-section .data-table td,.overtime-section .data-table td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem;background:transparent}.alerts-section .data-table tbody tr:hover,.overtime-section .data-table tbody tr:hover{background:var(--bg-hover)}.alerts-section .data-table tbody tr,.overtime-section .data-table tbody tr{background:transparent}.upload-table-container{margin-top:24px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.upload-table{width:100%;border-collapse:collapse}.upload-table thead{background:var(--bg-hover)}.upload-table th{padding:20px;text-align:left;font-weight:600;color:var(--text-primary);font-size:.95rem;border-bottom:2px solid var(--border-color);vertical-align:top}.upload-name-cell{display:flex;flex-direction:column;gap:12px}.upload-table td{padding:20px;border-bottom:1px solid var(--border-color);vertical-align:top}.upload-table tbody tr:last-child td{border-bottom:none}.upload-folder-cell{display:flex;align-items:flex-start;gap:12px}.upload-icon-small{width:48px;height:48px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.upload-folder-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:4px}.upload-folder-subtitle{font-size:.85rem;color:var(--text-secondary)}.form-input-table{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:.95rem;transition:all .2s ease}.form-input-table:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.form-input-table:disabled{opacity:.6;cursor:not-allowed}.upload-instructions-box-table{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border:1px solid var(--border-color);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto}.instruction-item-table{display:flex;align-items:flex-start;gap:12px;padding:10px;background:var(--bg-card);border-radius:8px;border-left:3px solid var(--primary)}.instruction-number-table{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:50%;font-weight:700;font-size:.8rem;flex-shrink:0}.instruction-text-table{flex:1;color:var(--text-primary);font-size:.85rem;line-height:1.6;padding-top:2px}.file-upload-area-table{position:relative}.file-upload-label-table{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;border:2px dashed var(--border-color);border-radius:8px;background:var(--bg-hover);cursor:pointer;transition:all .3s ease;text-align:center}.file-upload-label-table:hover{border-color:var(--primary);background:#3b82f60d}.file-upload-label-table svg{color:var(--primary)}.file-upload-label-table span{font-size:.95rem;font-weight:600;color:var(--text-primary)}.loans-section{margin-top:24px}.loans-container{display:flex;flex-direction:column;gap:24px}.loans-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000d}.loans-header-icon{width:64px;height:64px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px #3b82f64d}.loans-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.loans-subtitle{font-size:.95rem;color:var(--text-secondary);margin:0}.loans-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}.loan-stat-card{display:flex;align-items:center;gap:16px;padding:20px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.loan-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--primary)}.loan-stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.loan-stat-content{flex:1}.loan-stat-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:4px}.loan-stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.loan-action-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.loan-action-btn-primary{background:var(--primary);color:#fff;box-shadow:0 2px 6px #3b82f64d}.loan-action-btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.loan-action-btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color)}.loan-action-btn-secondary:hover{border-color:var(--primary);background:var(--bg-hover)}.loans-table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.loans-table-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color);background:var(--bg-hover)}.loans-table-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0}.loans-table-search{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary)}.loans-search-input{border:none;background:transparent;color:var(--text-primary);font-size:.9rem;outline:none;width:200px}.loans-search-input::placeholder{color:var(--text-secondary)}.loans-table-wrapper{overflow-x:auto}.loans-table{width:100%;border-collapse:collapse}.loans-table thead{background:var(--bg-hover)}.loans-table th{padding:16px;text-align:left;font-weight:600;color:var(--text-primary);font-size:.9rem;border-bottom:2px solid var(--border-color)}.loans-table td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.loans-table tbody tr:hover{background:var(--bg-hover)}.loans-empty-state{text-align:center;padding:60px 20px!important}.loans-empty-content{display:flex;flex-direction:column;align-items:center;gap:12px}.loans-empty-content p{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.loans-empty-content small{font-size:.85rem;color:var(--text-secondary)}@media(max-width:768px){.upload-table{font-size:.85rem}.upload-table th,.upload-table td{padding:12px}.upload-folder-cell{flex-direction:column}.upload-name-cell{gap:8px}.upload-instructions-box-table{max-height:300px}.loans-header{flex-direction:column;align-items:flex-start}.loans-stats-grid{grid-template-columns:1fr}.loans-table-header{flex-direction:column;gap:12px;align-items:stretch}.loans-search-input{width:100%}}.loans-installments-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.loans-installments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid var(--border-color)}.loans-installments-header h3{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.selected-loan-info{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--bg-hover);border-radius:8px;font-size:.9rem;color:var(--text-secondary)}.btn-clear-filter{padding:4px 12px;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-clear-filter:hover{background:var(--primary-dark)}.installments-table-wrapper{overflow-x:auto}.installments-table{width:100%;border-collapse:collapse;background:transparent}.installments-table thead{background:var(--bg-hover)}.installments-table th{padding:16px;text-align:left;font-weight:600;color:var(--text-primary);font-size:.9rem;border-bottom:2px solid var(--border-color);white-space:nowrap}.installments-table td{padding:16px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.installments-table tbody tr:hover{background:var(--bg-hover)}.installment-details-cell{vertical-align:middle;width:200px;padding:16px!important}.installment-details-vertical{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.installment-avatar-small{width:200px;height:200px;overflow:hidden;border:2px solid var(--border-color);background:var(--bg-hover);display:flex;align-items:center;justify-content:center;flex-shrink:0}.installment-avatar-small img{width:100%;height:100%;object-fit:cover}.avatar-fallback-small{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;font-size:2rem;font-weight:700}.installment-name{font-weight:600;color:var(--text-primary);font-size:.95rem;word-wrap:break-word;width:100%}.loan-approval-modal{padding:0}.loan-details-card{background:var(--bg-hover);border-radius:12px;padding:20px;margin-bottom:24px;border:1px solid var(--border-color)}.loan-details-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0 0 16px;display:flex;align-items:center;gap:8px}.loan-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.loan-detail-item{display:flex;flex-direction:column;gap:4px}.loan-detail-label{font-size:.85rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.loan-detail-value{font-size:1rem;color:var(--text-primary);font-weight:600}.loan-detail-value.amount{color:var(--primary);font-size:1.1rem}.loan-remarks-section{margin-bottom:24px}.loan-remarks-label{display:block;font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:8px}.loan-remarks-textarea{width:100%;min-height:100px;padding:12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem;font-family:inherit;resize:vertical;transition:border-color var(--transition-fast)}.loan-remarks-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.loan-remarks-textarea::placeholder{color:var(--text-secondary)}.loan-remarks-hint{display:flex;align-items:center;margin-top:8px;font-size:.85rem;color:var(--text-secondary);font-style:italic}.loan-approval-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--border-color)}.loan-action-btn{padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:8px;border:none;min-width:120px;justify-content:center}.loan-action-cancel{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.loan-action-cancel:hover{background:var(--bg-primary);border-color:var(--text-secondary)}.loan-action-approve{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 2px 8px #10b9814d}.loan-action-approve:hover{transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.loan-action-reject{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 8px #ef44444d}.loan-action-reject:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ef444466}.loan-action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.loan-details-grid{grid-template-columns:1fr;gap:12px}.loan-approval-actions{flex-direction:column}.loan-action-btn{width:100%}}.installment-loan-amount{font-weight:600;color:var(--primary);font-size:.95rem}.installment-amount{font-weight:600;color:var(--text-primary);font-size:.95rem}.installment-paid-date{color:var(--text-secondary);font-style:italic}.no-installments{text-align:center;padding:40px!important;color:var(--text-secondary);font-style:italic}.upload-documents-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #0000000d;margin-top:24px}.upload-card-header{padding:24px;background:var(--bg-hover);border-bottom:1px solid var(--border-color)}.upload-card-header h3{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.upload-card-body{display:grid;grid-template-columns:300px 1fr;gap:24px;padding:24px;min-height:600px}.upload-card-left{border-right:1px solid var(--border-color);padding-right:24px}.upload-card-right{padding-left:24px}.upload-documents-card .employee-form-container{display:flex;flex-direction:column;gap:20px}.upload-documents-card .form-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.upload-documents-card .form-group{display:flex;flex-direction:column;gap:8px}.upload-documents-card .form-group label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.upload-documents-card .form-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--primary)}.upload-documents-card .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color)}.upload-documents-card .no-employee-selected{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px;color:var(--text-secondary);font-size:1rem}.upload-documents-card .toggle-switch{display:flex;align-items:center;gap:12px}.upload-documents-card .toggle-input{display:none}.upload-documents-card .toggle-label{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.upload-documents-card .toggle-slider{position:relative;width:50px;height:26px;background:var(--border-color);border-radius:13px;transition:all .3s ease}.upload-documents-card .toggle-slider:before{content:"";position:absolute;width:20px;height:20px;border-radius:50%;background:#fff;top:3px;left:3px;transition:all .3s ease;box-shadow:0 2px 4px #0003}.upload-documents-card .toggle-input:checked+.toggle-label .toggle-slider{background:var(--primary)}.upload-documents-card .toggle-input:checked+.toggle-label .toggle-slider:before{transform:translate(24px)}.upload-documents-card .toggle-text{font-size:.9rem;font-weight:600;color:var(--text-primary);min-width:30px}.upload-documents-card .form-group select.form-input{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.upload-documents-card .form-group select.form-input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-hover)}.upload-documents-card .form-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:.95rem;transition:all .2s ease}.upload-documents-card .form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.upload-documents-card .form-input:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1200px){.upload-card-body{grid-template-columns:250px 1fr}.upload-documents-card .form-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.data-page{padding:16px}.table-container{overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px;max-height:calc(100vh - 300px)}.loans-table-wrapper,.installments-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -16px;padding:0 16px}.data-table,.loans-table,.installments-table{min-width:600px}.pagination{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;margin-top:16px;flex-wrap:wrap}.pagination-info{font-size:.85rem;text-align:center;word-break:break-word;flex:1 1 100%;order:2}.pagination-controls{flex-wrap:wrap;justify-content:center;gap:4px;flex:1 1 100%;order:1}.pagination-controls button{min-width:32px;height:32px;padding:0 8px;font-size:.85rem}.excel-cards-grid{grid-template-columns:1fr;gap:16px}.upload-section{padding:16px}.alerts-section{padding:16px;max-height:calc(100vh - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch}.alerts-search{width:100%;margin-bottom:16px}.upload-card-body{grid-template-columns:1fr;max-height:calc(100vh - 200px);overflow-y:auto;-webkit-overflow-scrolling:touch}.upload-card-left{border-right:none;border-bottom:1px solid var(--border-color);padding-right:0;padding-bottom:24px;margin-bottom:24px}.upload-card-right{padding-left:0;max-height:calc(100vh - 400px);overflow-y:auto;-webkit-overflow-scrolling:touch}.employee-form-container{max-height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:8px}.form-row{grid-template-columns:1fr;gap:16px}.form-group{width:100%}}.letters-page{animation:fadeIn .3s ease;padding:24px}.letters-tabs{display:flex;gap:12px;margin-bottom:24px;border-bottom:2px solid var(--border-color)}.letters-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;top:2px}.letters-tab:hover{color:var(--primary);background:var(--bg-hover)}.letters-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:transparent}.letters-tab svg{font-size:1.1rem}.letter-section{margin-top:24px}.letter-container{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.letter-form-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000d}.letter-form-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--border-color)}.letter-form-grid{display:grid;grid-template-columns:1fr;gap:16px}.letter-form-group{display:flex;flex-direction:column;gap:8px}.letter-form-group label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.letter-form-group input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:.9rem;transition:all .2s ease;box-sizing:border-box}.letter-form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.letter-display-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000d;position:sticky;top:24px}.letter-display-title{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid var(--border-color)}.letter-display-content{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:24px;max-height:calc(100vh - 200px);overflow-y:auto}.letter-display-content pre{margin:0;font-family:Georgia,Times New Roman,serif;font-size:.95rem;line-height:1.8;color:#1f2937;white-space:pre-wrap;word-wrap:break-word}@media(max-width:1200px){.letter-container{grid-template-columns:1fr}.letter-display-section{position:static}.letter-display-content{max-height:600px}}.email-section{margin-top:8px;padding-top:16px;border-top:2px solid var(--border-color)}.email-label{display:flex;align-items:center;gap:8px;font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:12px}.email-label svg{color:var(--primary);font-size:1.2rem}.email-input-wrapper{position:relative}.email-input{width:100%;padding:14px 16px;border:2px solid var(--border-color);border-radius:10px;background:var(--bg-hover);color:var(--text-primary);font-size:1rem;transition:all .3s ease;box-sizing:border-box}.email-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px #3b82f61a;background:var(--bg-card)}.letter-submit-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border:none;border-radius:10px;font-size:1.05rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 16px #3b82f666;margin-top:12px;text-transform:uppercase;letter-spacing:.5px}.letter-submit-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 24px #3b82f680}.letter-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.image-upload-section{display:flex;flex-direction:column;gap:12px}.image-input-hidden{display:none}.image-upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--bg-hover);border:2px dashed var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.image-upload-btn:hover{border-color:var(--primary);background:#3b82f60d;color:var(--primary)}.image-upload-btn svg{font-size:1.2rem}.selected-images-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;margin-top:8px}.selected-image-item{position:relative;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-card)}.selected-image-item img{width:100%;height:120px;object-fit:cover;display:block}.remove-image-btn{position:absolute;top:4px;right:4px;width:28px;height:28px;background:#ef4444e6;color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0003}.remove-image-btn:hover{background:#ef4444;transform:scale(1.1)}.image-name{display:block;padding:6px 8px;font-size:.75rem;color:var(--text-secondary);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.employee-search-wrapper{position:relative;width:100%}.employee-search-input-wrapper{position:relative;display:flex;align-items:center}.employee-search-icon{position:absolute;left:12px;color:var(--text-secondary);font-size:1.1rem;z-index:1}.employee-search-input{width:100%;padding:12px 16px 12px 40px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-hover);color:var(--text-primary);font-size:.9rem;transition:all .2s ease;box-sizing:border-box}.employee-search-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f61a}.employee-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;margin-top:4px;max-height:300px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px #00000026}.employee-dropdown-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:all .2s ease}.employee-dropdown-item:hover{background:var(--bg-hover)}.employee-dropdown-item:last-child{border-bottom:none}.employee-dropdown-name{font-weight:600;color:var(--text-primary);font-size:.95rem;margin-bottom:4px}.employee-dropdown-email{font-size:.85rem;color:var(--text-secondary)}@media(max-width:768px){.letters-page{padding:16px}.letters-tabs{flex-wrap:wrap}.letter-form-section,.letter-display-section{padding:20px}}:root{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary: #0ea5e9;--accent: #f59e0b;--accent-teal: #14b8a6;--bg-dark: #0f172a;--bg-card: #1e293b;--bg-hover: #334155;--bg-input: #1e293b;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--info: #3b82f6;--border-color: #334155;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-glow: 0 0 40px rgba(99, 102, 241, .15);--sidebar-width: 260px;--header-height: 70px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}[data-theme=light]{--bg-dark: #f8fafc;--bg-card: #ffffff;--bg-hover: #f1f5f9;--bg-input: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border-color: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .05)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,sans-serif;background:var(--bg-dark);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:600;line-height:1.3}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea,select{font-family:inherit;outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);padding:var(--header-height) 0 0 0;min-height:100vh}.page-content{padding:24px;max-width:1600px;margin:0 auto}.card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);padding:24px;transition:all var(--transition-base)}.card:hover{border-color:var(--primary);box-shadow:var(--shadow-glow)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.card-title{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:10px;font-weight:500;font-size:.875rem;transition:all var(--transition-fast)}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px #6366f166}.btn-secondary{background:var(--bg-hover);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--border-color)}.btn-success{background:linear-gradient(135deg,var(--success) 0%,#059669 100%);color:#fff}.btn-danger{background:linear-gradient(135deg,var(--danger) 0%,#dc2626 100%);color:#fff}.btn-icon{padding:8px;border-radius:8px;background:var(--bg-hover);color:var(--text-secondary);transition:all var(--transition-fast)}.btn-icon:hover{color:var(--primary);background:#6366f11a}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-input{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:.875rem;transition:all var(--transition-fast)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.form-input::placeholder{color:var(--text-muted)}.form-select{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:.875rem;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:20px}.form-textarea{width:100%;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:10px;color:var(--text-primary);font-size:.875rem;resize:vertical;min-height:100px}.grid{display:grid;gap:20px}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1200px){.grid-cols-4{grid-template-columns:repeat(3,1fr)}}@media(max-width:992px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr}.main-content{margin-left:0;padding:90px 16px 16px}.page-content{padding:16px}:root{--sidebar-width: 0}.card{padding:16px}.card-header{flex-direction:column;align-items:flex-start;gap:12px}.btn{padding:8px 16px;font-size:.8rem}.stat-card{padding:16px;flex-direction:column;text-align:center}.stat-icon{width:48px;height:48px;font-size:1.25rem}.stat-content h4{font-size:1.25rem}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}}@media(max-width:480px){.main-content{padding:85px 12px 12px}.page-content{padding:12px}.card{padding:12px;border-radius:12px}.btn{padding:8px 12px;font-size:.75rem}.stat-card{padding:12px}h1{font-size:1.25rem}h2{font-size:1.125rem}}.stat-card{background:var(--bg-card);border-radius:16px;border:1px solid var(--border-color);padding:20px;display:flex;align-items:center;gap:16px;transition:all var(--transition-base)}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-glow)}.stat-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.stat-icon.primary{background:#6366f11a;color:var(--primary)}.stat-icon.success{background:#10b9811a;color:var(--success)}.stat-icon.warning{background:#f59e0b1a;color:var(--warning)}.stat-icon.danger{background:#ef44441a;color:var(--danger)}.stat-icon.info{background:#3b82f61a;color:var(--info)}.stat-content h4{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.stat-content p{font-size:.875rem;color:var(--text-secondary)}.progress-bar{height:8px;background:var(--bg-hover);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:4px;transition:width var(--transition-slow)}.progress-bar-fill.primary{background:linear-gradient(90deg,var(--primary) 0%,var(--primary-light) 100%)}.progress-bar-fill.success{background:linear-gradient(90deg,var(--success) 0%,#34d399 100%)}.progress-bar-fill.warning{background:linear-gradient(90deg,var(--warning) 0%,#fbbf24 100%)}.progress-bar-fill.danger{background:linear-gradient(90deg,var(--danger) 0%,#f87171 100%)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:6px;font-size:.75rem;font-weight:500}.badge-primary{background:#6366f11a;color:var(--primary)}.badge-success{background:#10b9811a;color:var(--success)}.badge-warning{background:#f59e0b1a;color:var(--warning)}.badge-danger{background:#ef44441a;color:var(--danger)}.badge-info{background:#3b82f61a;color:var(--info)}.avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1rem}.avatar-sm{width:32px;height:32px;font-size:.875rem}.avatar-lg{width:56px;height:56px;font-size:1.25rem}.avatar-group{display:flex}.avatar-group .avatar{margin-left:-10px;border:2px solid var(--bg-card)}.avatar-group .avatar:first-child{margin-left:0}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.table th{font-weight:500;color:var(--text-secondary);font-size:.875rem;background:var(--bg-hover)}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--bg-hover)}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-card);border-radius:20px;border:1px solid var(--border-color);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;overflow-x:visible;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-title{font-size:1.25rem;font-weight:600}.modal-close{width:32px;height:32px;border-radius:8px;background:var(--bg-hover);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{background:var(--danger);color:#fff}.modal-body{padding:24px;overflow:visible;position:relative}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.empty-state{text-align:center;padding:60px 20px}.empty-state-icon{font-size:4rem;color:var(--text-muted);margin-bottom:20px}.empty-state h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:8px}.empty-state p{color:var(--text-secondary);max-width:400px;margin:0 auto}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px;gap:16px}.tabs{display:flex;gap:4px;background:var(--bg-hover);padding:4px;border-radius:12px;margin-bottom:24px}.tab{padding:10px 20px;border-radius:8px;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast);background:transparent}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--primary);color:#fff}.search-box{position:relative}.search-box input{padding-left:44px}.search-box-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.page-title{font-size:1.75rem;font-weight:700}.page-subtitle{color:var(--text-secondary);margin-top:4px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .3s ease forwards}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-slideIn{animation:slideIn .3s ease forwards}.toast-container{position:fixed;bottom:24px;right:24px;z-index:2000}
