@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&display=swap";@import "https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css";@import "https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css";:root{--bg-page:#f1f5f9;--bg-card:#fff;--bg-surface:#f8f9fa;--bg-surface-2:#fafafa;--bg-hover:#f8f9ff;--text-primary:#0f172a;--text-secondary:#495057;--text-muted:#64748b;--text-faint:#9ca3af;--text-light:#6b7280;--border-color:#e2e8f0;--border-light:#f0f0f0;--border-medium:#e9ecef;--border-soft:#dee2e6;--sidebar-bg:#0f172a;--bg-table-header:#f1f5f9;--note-bg:#f5f3ff;--note-border:#ddd6fe}[data-theme=dark]{--bg-page:#0b1120;--bg-card:#111827;--bg-surface:#192234;--bg-surface-2:#0f1623;--bg-hover:#1c2b3e;--text-primary:#e2e8f0;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-faint:#6b7280;--text-light:#94a3b8;--border-color:#1e2d40;--border-light:#192234;--border-medium:#1e2d40;--border-soft:#1e2d40;--sidebar-bg:#111827;--bg-table-header:#243040;--note-bg:#6d28d914;--note-border:#6d28d938;--bs-body-color:#e2e8f0;--bs-body-bg:#0b1120;--bs-secondary-color:#94a3b8;--bs-tertiary-color:#6b7280;--bs-heading-color:#e2e8f0;--bs-border-color:#2d3748;--bs-border-color-translucent:#ffffff14;--bs-table-color:#e2e8f0;--bs-table-bg:#1f2937;--bs-table-border-color:#2d3748;--bs-table-striped-bg:#1a2231;--bs-table-striped-color:#e2e8f0;--bs-table-hover-bg:#2d3a4e;--bs-table-hover-color:#e2e8f0;--bs-card-bg:#1f2937;--bs-card-cap-bg:#283040;--bs-card-border-color:#2d3748;--bs-modal-bg:#1f2937;--bs-modal-header-border-color:#2d3748;--bs-modal-footer-border-color:#2d3748;--bs-modal-color:#e2e8f0;--bs-nav-tabs-border-color:#2d3748;--bs-nav-tabs-link-hover-border-color:#2d3748;--bs-nav-tabs-link-active-color:#e2e8f0;--bs-nav-tabs-link-active-bg:#1f2937;--bs-nav-tabs-link-active-border-color:#2d3748 #2d3748 #1f2937;--bs-input-bg:#283040;--bs-input-color:#e2e8f0;--bs-input-border-color:#2d3748;--bs-input-placeholder-color:#6b7280;--bs-input-focus-border-color:#2563eb;--bs-form-select-bg:#283040;--bs-form-select-color:#e2e8f0;--bs-dropdown-bg:#1f2937;--bs-dropdown-border-color:#2d3748;--bs-dropdown-link-color:#e2e8f0;--bs-dropdown-link-hover-bg:#283040;--bs-dropdown-link-hover-color:#e2e8f0;--bs-list-group-bg:#1f2937;--bs-list-group-border-color:#2d3748;--bs-list-group-color:#e2e8f0;--bs-badge-color:#e2e8f0;--bs-white-rgb:31, 41, 55;--bs-light-rgb:40, 48, 64}input:-webkit-autofill{caret-color:#fff;-webkit-text-fill-color:#ffffffe6!important;transition:background-color 99999s ease-in-out!important;box-shadow:inset 0 0 0 1000px #0000!important}input:-webkit-autofill:hover{caret-color:#fff;-webkit-text-fill-color:#ffffffe6!important;transition:background-color 99999s ease-in-out!important;box-shadow:inset 0 0 0 1000px #0000!important}input:-webkit-autofill:focus{caret-color:#fff;-webkit-text-fill-color:#ffffffe6!important;transition:background-color 99999s ease-in-out!important;box-shadow:inset 0 0 0 1000px #0000!important}input:-webkit-autofill:active{caret-color:#fff;-webkit-text-fill-color:#ffffffe6!important;transition:background-color 99999s ease-in-out!important;box-shadow:inset 0 0 0 1000px #0000!important}html,body{background-color:var(--bg-page);color:var(--text-primary);margin:0;font-family:Poppins,sans-serif;transition:background-color .2s,color .2s;font-size:12px!important}h1,h2,h3,h4,h5,h6{font-size:14px!important}.form-control{font-size:12px!important}input.form-control,select.form-select{height:30px;font-size:12px}textarea.form-control{height:auto;min-height:40px}input[type=file].form-control{cursor:pointer;height:auto;padding:5px 10px}input[type=file].form-control::file-selector-button{border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;border-radius:5px;margin-right:10px;padding:2px 12px;font-size:11px;font-weight:500;transition:background .15s,color .15s}input[type=file].form-control::file-selector-button:hover{background:var(--bg-hover);color:var(--text-primary)}.file-upload-input{border:1.5px dashed var(--border-color);background:var(--bg-surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:10px;min-height:44px;padding:9px 14px;transition:border-color .15s,background .15s;display:flex}.file-upload-input:hover{background:var(--bg-hover);border-color:#3b82f6}.file-upload-icon{color:var(--text-muted);flex-shrink:0;font-size:17px;line-height:1;transition:color .15s}.file-upload-input:hover .file-upload-icon{color:#3b82f6}.file-upload-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-upload-label{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;transition:color .15s;overflow:hidden}.file-upload-label.has-file{color:var(--text-primary);font-weight:500}.file-upload-hint{color:var(--text-faint);font-size:11px}.file-upload-cta{color:#3b82f6;background:#3b82f612;border:1px solid #93c5fd;border-radius:5px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:600;transition:background .15s,border-color .15s}.file-upload-input:hover .file-upload-cta{background:#3b82f624;border-color:#60a5fa}[data-theme=dark] .file-upload-cta{color:#60a5fa;background:#3b82f614;border-color:#60a5fa4d}[data-theme=dark] .file-upload-input:hover{background:var(--bg-hover);border-color:#3b82f6}[data-theme=dark] .file-upload-input:hover .file-upload-cta{background:#3b82f62e;border-color:#60a5fa80}.btn{cursor:pointer;border:1px solid #0000;border-radius:.25rem;padding:.25rem .5rem;font-size:11px!important}.btn:disabled{opacity:.65;cursor:not-allowed}.card{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;margin-bottom:1rem;transition:transform .2s;box-shadow:0 2px 4px #0000000d}.card:hover{transform:translateY(-2px)}table{border-collapse:separate;border-spacing:0;background-color:var(--bg-card);border-radius:10px;width:100%;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--border-light);vertical-align:middle;padding:11px 16px}th{background:var(--bg-table-header);color:var(--text-secondary);text-transform:capitalize;letter-spacing:.06em;border-bottom:2px solid var(--border-medium);white-space:nowrap;font-size:10.5px;font-weight:600;transition:background .2s,color .2s}th:first-child{border-left:3px solid #c80000}tbody tr{transition:background .15s,box-shadow .15s}tbody tr:hover{background-color:var(--bg-hover);box-shadow:inset 3px 0 #c80000}tbody tr:last-child td{border-bottom:none}tbody tr:nth-child(2n){background-color:var(--bg-surface-2)}tbody tr:nth-child(2n):hover{background-color:var(--bg-hover)}.mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.active-row{background-color:#e8f0fe}.truncate-text{text-overflow:ellipsis;white-space:nowrap;max-width:200px;display:inline-block;overflow:hidden}.emp-avatar{color:#fff;letter-spacing:.03em;background:linear-gradient(135deg,#c80000,#ff4d4d);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:inline-flex}.emp-name-cell{align-items:center;gap:9px;display:flex}.emp-name-text{flex-direction:column;line-height:1.3;display:flex}.emp-name-text .sub-text{color:#9ca3af;font-size:10px;font-weight:400}.action-icons{align-items:center;gap:2px;display:flex}.action-icons i{cursor:pointer;border-radius:6px;padding:5px 6px;font-size:13px;transition:background .15s,color .15s}.action-icons i.bi-eye{color:#2563eb}.action-icons i.bi-eye:hover{background:#dbeafe}.action-icons i.bi-pencil{color:#6b7280}.action-icons i.bi-pencil:hover{color:#374151;background:#f3f4f6}.action-icons i.bi-trash{color:#dc2626}.action-icons i.bi-trash:hover{background:#fee2e2}.action-icons i.bi-check-circle{color:#16a34a}.action-icons i.bi-check-circle:hover{background:#dcfce7}.action-icons i.bi-x-circle{color:#dc2626}.action-icons i.bi-x-circle:hover{background:#fee2e2}.empty-state-row td{padding:40px 16px}.empty-state-inner{color:#9ca3af;flex-direction:column;align-items:center;gap:8px;display:flex}.empty-state-inner i{opacity:.4;font-size:32px}.empty-state-inner span{font-size:13px}.type-badge{border-radius:12px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.type-badge-earning{color:#065f46;background:#d1fae5}.type-badge-deduction{color:#991b1b;background:#fee2e2}[data-theme=dark] .type-badge-earning{color:#6ee7b7;background:#10b9811f}[data-theme=dark] .type-badge-deduction{color:#fca5a5;background:#ef44441f}.status-badge{color:#fff;text-transform:capitalize;background-color:#6c757d;border-radius:16px;padding:4px 12px;display:inline-block;font-size:10px!important}.status-pending,.status-open,.status-on-hold{background-color:#ffe386;color:#343a40!important}.status-approved,.status-active,.status-completed,.status-done,.status-resolved,.status-qualified{background-color:#28a745}.status-rejected,.status-cancelled,.status-cancelled,.status-blocked,.status-lost,.status-high,.status-absconding{background-color:#dc3545}.status-in-progress,.status-intro,.status-new,.status-contacted{background-color:#007bff}.status-not-started,.status-closed,.status-to-do{background-color:#6c757d}.status-medium{background-color:#de8b32}.status-low{background-color:#6ca5fa}.status-submitted{background-color:#17a2b8}.status-draft{background-color:#adb5bd}.status-presentation{background-color:#6610f2}.status-technical-demo{background-color:#d347bc}.status-poc{background-color:#52ffb4}.status-requirement-gathering{background-color:#20c997}.status-proposal{background-color:#198754}.status-negotiation{background-color:#fd7e14}.status-finalization{background-color:#dc3545}.status-re-open{background-color:#6c757d}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-stack{z-index:10000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.toast-card{pointer-events:all;background:var(--bg-card);border-left:4px solid #0000;border-radius:12px;align-items:flex-start;gap:12px;min-width:320px;max-width:480px;padding:14px 16px;animation:.25s toast-slide-in;display:flex;box-shadow:0 8px 24px #0000001f,0 2px 6px #0000000f}.toast-success{border-left-color:#22c55e}.toast-error{border-left-color:#ef4444}.toast-icon{flex-shrink:0;margin-top:1px;font-size:18px;line-height:1}.toast-success .toast-icon{color:#22c55e}.toast-error .toast-icon{color:#ef4444}.toast-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.toast-title{color:var(--text-primary);font-size:13px;font-weight:600;line-height:1.3}.toast-message{color:var(--text-muted);word-break:break-word;font-size:12px;line-height:1.4}.toast-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;flex-shrink:0;margin-top:-1px;padding:0;font-size:18px;line-height:1;transition:color .15s}.toast-close:hover{color:#374151}.loading-shade{z-index:1;background:#00000026;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.leave-carousel-wrapper{align-items:center;gap:10px;display:flex}.leave-cards{scroll-behavior:smooth;flex:1;gap:16px;padding:4px 2px;display:flex;overflow-x:hidden}.leave-card{background:var(--bg-card);border-top:1px solid #3f51b5;border-radius:14px;flex-shrink:0;min-width:250px;max-width:250px;padding:22px 22px 20px;transition:box-shadow .2s,transform .2s;box-shadow:0 2px 12px #3f51b514}.leave-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3f51b526}.leave-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:10px;display:flex}.leave-card .card-title{color:var(--text-primary);flex:1;margin-bottom:0;font-weight:700;line-height:1.3;font-size:13px!important}.leave-avail-badge{color:#1d4ed8;white-space:nowrap;background:#e8eaf6;border-radius:20px;margin-left:6px;padding:2px 8px;font-size:10px;font-weight:600}.leave-avail-badge.exhausted{color:#c62828;background:#fdecea}.leave-card-big{color:#1d4ed8;margin-bottom:8px;font-size:30px;font-weight:800;line-height:1}.leave-card-big span{color:#a0aec0;margin-left:2px;font-size:14px;font-weight:500}.leave-progress-bar{background:#e8eaf6;border-radius:10px;height:4px;margin-bottom:12px;overflow:hidden}.leave-progress-fill{background:linear-gradient(90deg,#1d4ed8,#3e69df);border-radius:10px;height:100%;transition:width .5s}.leave-card .card-row{justify-content:space-between;margin-bottom:4px;font-size:11.5px;display:flex}.leave-card .card-row .label{color:#718096}.leave-card .card-row .value{color:var(--text-primary);font-weight:600}.leave-card .card-action{margin-top:14px}.leave-card .apply-btn{color:#2563eb;cursor:pointer;white-space:nowrap;background:#eff6ff;border:1.5px solid #93c5fd;border-radius:999px;justify-content:center;align-items:center;gap:5px;width:100%;padding:6px 16px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.leave-card .apply-btn:not(.disabled-btn):hover{color:#1d4ed8;background:#dbeafe;border-color:#60a5fa;box-shadow:0 1px 4px #2563eb26}.leave-card .apply-btn.disabled-btn{color:#a0aec0;cursor:not-allowed;background:#f1f5f9;border-color:#e2e8f0}[data-theme=dark] .leave-avail-badge{color:#7ab8f5;background:#60a5fa1f}[data-theme=dark] .leave-avail-badge.exhausted{color:#f87171;background:#dc26261f}[data-theme=dark] .leave-progress-bar{background:#ffffff12}[data-theme=dark] .leave-progress-fill{background:#60a5fa66}[data-theme=dark] .leave-card .apply-btn{color:#94a3b8;background:0 0;border-color:#60a5fa40}[data-theme=dark] .leave-card .apply-btn:not(.disabled-btn):hover{color:#93c5fd;box-shadow:none;background:#3b82f614;border-color:#60a5fa73}[data-theme=dark] .leave-card .apply-btn.disabled-btn{color:#4b5563;background:0 0;border-color:#ffffff14}.carousel-btn{background:var(--bg-card);border:1px solid var(--border-color);cursor:pointer;color:#4a5568;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,box-shadow .15s;display:flex}.carousel-btn:hover{background:#f0f2ff;box-shadow:0 2px 8px #3f51b51a}.custom-tabs{border-bottom:2px solid var(--border-color);background:0 0;align-items:center;gap:0;display:flex}.custom-tab-btn{cursor:pointer;color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;margin-bottom:-2px;padding:12px 20px;font-size:12px;font-weight:700;transition:color .15s;display:inline-flex;position:relative}.custom-tab-btn i{font-size:13px}.custom-tab-btn:after{content:"";background:0 0;border-radius:2px 2px 0 0;height:2.5px;transition:background .2s;position:absolute;bottom:0;left:0;right:0}.custom-tab-btn:hover:not(.active){color:#6b7280}.custom-tab-btn.active{color:var(--text-primary)}.custom-tab-btn.active:after{background:#c80000}.pagination-wrapper{justify-content:center;align-items:center;gap:4px;display:flex}.rows-per-page{color:#6b7280;align-items:center;gap:8px;font-size:13px;display:flex}.rows-per-page select{border:1px solid var(--border-color);cursor:pointer;background:var(--bg-card);color:var(--text-primary);border-radius:6px;outline:none;padding:3px 8px;font-size:13px}.total-text{color:#6b7280;font-size:13px}.pagination-controls{align-items:center;gap:2px;display:flex}.page-btn{border:1.5px solid var(--border-color);background:var(--bg-page);cursor:pointer;min-width:32px;height:28px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.page-btn:hover:not(:disabled):not(.active){color:#475569;background:#f1f5f9;border-color:#94a3b8;box-shadow:0 1px 4px #64748b26}.page-btn.active{color:#2563eb;background:#eff6ff;border-color:#93c5fd;font-weight:600;box-shadow:0 1px 4px #2563eb26}.page-btn:disabled{opacity:.35;cursor:not-allowed}.page-info{color:#9ca3af;white-space:nowrap;margin-left:10px;font-size:13px}.timesheet-title{font-weight:600;font-size:18px!important}.stat-card{border-radius:12px!important}.stat-icon{border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:20px;display:flex}.bg-purple-light{color:#7b1fa2;background-color:#ede7f6}.bg-green-light{color:#388e3c;background-color:#e8f5e9}.bg-orange-light{color:#f57c00;background-color:#fff3e0}.bg-blue-light{color:#1976d2;background-color:#e3f2fd}.comment-section{margin-top:2rem}.comment{background-color:var(--bg-surface);border:1px solid var(--border-soft);border-radius:.25rem;margin-bottom:1.5rem;padding:1rem}.comment-author{font-weight:700}.upload-box{border:2px solid var(--border-color);background:var(--bg-surface);text-align:center;cursor:pointer;border-radius:6px;padding:15px 15px 20px}.upload-icon{width:120px}.file-input{display:none}.remove-btn{color:#fff;cursor:pointer;background:#1c04b5;border:none;border-radius:50%;width:22px;height:22px;font-size:14px;line-height:20px;position:absolute;top:8px;right:10px}.about-me{max-height:200px}.announcement-card{background-color:#3f51b5;min-height:130px}.performer-card{background:linear-gradient(135deg,#5c78d3,#4a62b8)}.avatar-sm{color:#001a4d;background-color:#eee;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:.8rem;font-weight:700;display:flex}.badge.bg-info-light{color:#2196f3;background-color:#e3f2fd;border-radius:20px;padding:6px 12px;font-weight:400}.holiday-item{font-size:.85rem;line-height:1.2}.btn-clear{width:60px;height:30px;padding:0;font-size:12px;line-height:1}.btn-add-pill{color:#2563eb;cursor:pointer;white-space:nowrap;background:#eff6ff;border:1.5px solid #93c5fd;border-radius:999px;align-items:center;gap:5px;padding:5px 16px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn-add-pill:hover{color:#1d4ed8;background:#dbeafe;border-color:#60a5fa;box-shadow:0 1px 4px #2563eb26}.btn-add-pill i{font-size:13px}.btn-clear-pill{border:1.5px solid var(--border-color);background:var(--bg-page);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 16px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn-clear-pill:hover{color:#475569;background:#f1f5f9;border-color:#94a3b8;box-shadow:0 1px 4px #64748b26}.btn-refresh-pill{color:#16a34a;cursor:pointer;white-space:nowrap;background:#f0fdf4;border:1.5px solid #86efac;border-radius:999px;align-items:center;gap:5px;padding:5px 16px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn-refresh-pill:hover{color:#15803d;background:#dcfce7;border-color:#4ade80;box-shadow:0 1px 4px #16a34a26}.btn-refresh-pill i{font-size:13px}.btn-success-pill{color:#16a34a;cursor:pointer;white-space:nowrap;background:#f0fdf4;border:1.5px solid #86efac;border-radius:999px;align-items:center;gap:5px;padding:5px 16px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn-success-pill:hover{color:#15803d;background:#dcfce7;border-color:#4ade80;box-shadow:0 1px 4px #16a34a26}.btn-success-pill i{font-size:13px}.btn-danger-pill{color:#dc2626;cursor:pointer;white-space:nowrap;background:#fef2f2;border:1.5px solid #fca5a5;border-radius:999px;align-items:center;gap:5px;padding:5px 16px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn-danger-pill:hover{color:#b91c1c;background:#fee2e2;border-color:#f87171;box-shadow:0 1px 4px #dc262626}.btn-danger-pill i{font-size:13px}.settings-container{padding:20px}.settings-header h1{margin-bottom:20px;font-size:24px!important}.settings-content{flex-direction:column;gap:16px;display:flex}.settings-main{padding:16px 0}.tc-nav-btn{border:1px solid var(--border-color);background:var(--bg-card);width:28px;height:28px;color:var(--text-primary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;transition:background .15s,border-color .15s;display:inline-flex}.tc-nav-btn:hover{background:#f1f5f9;border-color:#94a3b8}.tc-view-switcher{border:1px solid var(--border-color);border-radius:6px;display:inline-flex;overflow:hidden}.tc-view-btn{background:var(--bg-card);color:var(--text-muted);cursor:pointer;border:none;border-right:1px solid var(--border-color);padding:5px 14px;font-size:12px;font-weight:500;transition:background .15s,color .15s}.tc-view-btn:last-child{border-right:none}.tc-view-btn:hover{color:#374151;background:#f1f5f9}.tc-view-btn.active{color:#fff;background:#2563eb}.tc-month{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:6px;overflow:hidden}.tc-weekdays,.tc-month-grid{grid-template-columns:repeat(7,1fr);display:grid}.tc-weekday{text-align:center;color:var(--text-muted);background:var(--bg-surface);border-bottom:1px solid var(--border-soft);padding:8px 6px;font-weight:600}.tc-day-cell{border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);cursor:pointer;flex-direction:column;gap:3px;min-height:96px;padding:4px;transition:background .15s;display:flex}.tc-day-cell:hover{background:#f8fbff}.tc-day-cell.other-month{background:var(--bg-surface-2)}.tc-day-cell.other-month .tc-day-num{color:#bbb}.tc-day-num{border-radius:50%;justify-content:center;align-self:flex-end;align-items:center;width:22px;height:22px;font-weight:600;display:flex}.tc-day-cell.today .tc-day-num{color:#fff;background:#2563eb}.tc-event-chip{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-left:3px solid;border-radius:4px;padding:2px 6px;font-size:10px;overflow:hidden}.tc-more{color:#6c757d;padding-left:4px;font-size:10px}.tc-online{color:#0b5ed7;background:#d1e8ff;border-color:#1e90ff}.tc-offline{color:#555;background:#f5f5f5;border-color:#d3d3d3}.tc-timegrid{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:6px;overflow:hidden}.tc-tg-head{background:var(--bg-surface);border-bottom:1px solid var(--border-soft);display:flex}.tc-tg-gutter{flex:0 0 60px;width:60px}.tc-tg-headcol{text-align:center;border-left:1px solid var(--border-light);flex:1;padding:6px 4px;font-weight:600}.tc-tg-headcol.today{color:#2563eb}.tc-tg-body{max-height:600px;display:flex;position:relative;overflow-y:auto}.tc-tg-times{flex:0 0 60px;width:60px}.tc-tg-hour{box-sizing:border-box;border-bottom:1px solid var(--border-light);height:48px;color:var(--text-muted);text-align:right;padding-right:6px;font-size:10px}.tc-tg-cols{flex:1;display:flex}.tc-tg-col{border-left:1px solid var(--border-light);flex:1;position:relative}.tc-event-block{cursor:pointer;box-sizing:border-box;border-left:3px solid;border-radius:4px;padding:2px 4px;font-size:10px;line-height:1.2;position:absolute;overflow:hidden}.tc-modal-backdrop{z-index:1050;background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tc-modal{background:var(--bg-card);border-radius:8px;width:420px;max-width:92vw;max-height:88vh;overflow:auto;box-shadow:0 10px 40px #00000040}.tc-modal-head{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.tc-modal-body{padding:16px 18px}.tc-modal-row{margin-bottom:10px}.tc-modal-row .label{color:#6c757d;font-size:11px;display:block}.tc-empty{text-align:center;color:#6c757d;padding:40px 0}.policy-card{cursor:pointer;transition:box-shadow .2s}.policy-card:hover{box-shadow:0 4px 12px #00000026}.btn-dialog-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#3b82f6);border:none;border-radius:6px;align-items:center;gap:6px;height:32px;padding:0 22px;font-size:12px;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex;box-shadow:0 2px 6px #2563eb4d}.btn-dialog-primary:hover{background:linear-gradient(135deg,#1d4ed8,#2563eb);box-shadow:0 4px 10px #2563eb66}.btn-dialog-primary:active{transform:scale(.97);box-shadow:0 1px 4px #2563eb4d}.btn-dialog-secondary{background:var(--bg-card);border:1px solid var(--border-color);height:32px;color:var(--text-primary);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:0 16px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn-dialog-secondary:hover{background:#f3f4f6;border-color:#9ca3af}.btn-dialog-secondary:active{background:#e5e7eb;transform:scale(.97)}.btn-dialog-cancel{background:var(--bg-card);border:1px solid var(--border-color);height:32px;color:var(--text-muted);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:0 20px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.btn-dialog-cancel:hover{color:#dc2626;background:#fef2f2;border-color:#fca5a5}.btn-dialog-cancel:active{transform:scale(.97)}.btn-dialog-icon{background:var(--bg-surface);cursor:pointer;width:28px;height:28px;color:var(--text-muted);border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;transition:background .15s,color .15s,transform .1s;display:flex}.btn-dialog-icon:hover{color:#111827;background:#e5e7eb}.btn-dialog-icon:active{transform:scale(.93)}.btn-dialog-add{color:#fff;cursor:pointer;white-space:nowrap;background:#2563eb;border:none;border-radius:6px;align-items:center;gap:5px;height:30px;padding:0 18px;font-size:12px;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn-dialog-add:hover{background:#1d4ed8;box-shadow:0 2px 8px #2563eb59}.btn-dialog-add:active{transform:scale(.96)}.btn-dialog-remove{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #fca5a5;border-radius:5px;align-items:center;gap:4px;padding:2px 10px;font-size:11px;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn-dialog-remove:hover{background:#fee2e2;border-color:#f87171}.btn-dialog-remove:active{transform:scale(.96)}.btn-skill-remove{cursor:pointer;color:#2563eb;opacity:.5;background:0 0;border:none;align-items:center;padding:0;font-size:12px;line-height:1;transition:opacity .15s;display:flex}.btn-skill-remove:hover{opacity:1}.btn-toggle-pill{border:1.5px solid var(--border-color);background:var(--bg-page);color:var(--text-muted);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 16px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn-toggle-pill:hover{color:#475569;background:#f1f5f9;border-color:#94a3b8;box-shadow:0 1px 4px #64748b26}.btn-toggle-pill.active{color:#2563eb;background:#eff6ff;border-color:#93c5fd;font-weight:600;box-shadow:0 1px 4px #2563eb26}[data-theme=dark] .form-control,[data-theme=dark] .form-select,[data-theme=dark] input.form-control,[data-theme=dark] select.form-select,[data-theme=dark] textarea.form-control{background-color:var(--bg-surface);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .form-select,[data-theme=dark] select.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}[data-theme=dark] .form-control:focus,[data-theme=dark] .form-select:focus{background-color:var(--bg-surface);color:var(--text-primary);border-color:#2563eb;box-shadow:0 0 0 .2rem #2563eb40}[data-theme=dark] .modal-content{background-color:var(--bg-card);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .modal-header,[data-theme=dark] .modal-footer{border-color:var(--border-color)}[data-theme=dark] .dropdown-menu{background-color:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .dropdown-item{color:var(--text-primary)}[data-theme=dark] .dropdown-item:hover{background-color:var(--bg-surface)}[data-theme=dark] .btn-outline-secondary{color:var(--text-muted);border-color:var(--border-color)}[data-theme=dark] .btn-outline-secondary:hover{background-color:var(--bg-surface);color:var(--text-primary)}[data-theme=dark] .active-row{background-color:#2563eb26}[data-theme=dark] .tc-day-cell:hover{background:var(--bg-hover)}[data-theme=dark] .tc-nav-btn:hover{background:var(--bg-surface)}[data-theme=dark] .tc-view-btn:hover{background:var(--bg-surface);color:var(--text-primary)}[data-theme=dark] .carousel-btn:hover{background:var(--bg-surface)}[data-theme=dark] .btn-dialog-secondary:hover{background:var(--bg-surface);border-color:var(--border-medium)}[data-theme=dark] .btn-dialog-icon:hover{background:var(--border-color);color:var(--text-primary)}[data-theme=dark] .page-btn:hover:not(:disabled):not(.active){background:var(--bg-surface);border-color:var(--text-muted);color:var(--text-secondary)}[data-theme=dark] .page-btn.active{color:#93c5fd;box-shadow:none;background:#3b82f61f;border-color:#60a5fa59}[data-theme=dark] .btn-clear-pill:hover,[data-theme=dark] .btn-toggle-pill:hover{background:var(--bg-surface);border-color:var(--text-muted);color:var(--text-secondary)}[data-theme=dark] .btn-toggle-pill.active{color:#93c5fd;box-shadow:none;background:#3b82f61f;border-color:#60a5fa59}[data-theme=dark] .btn-refresh-pill,[data-theme=dark] .btn-success-pill{color:#4ade80;background:#22c55e14;border-color:#4ade8040}[data-theme=dark] .btn-refresh-pill:hover,[data-theme=dark] .btn-success-pill:hover{color:#86efac;background:#22c55e26;border-color:#4ade8073;box-shadow:0 1px 6px #22c55e26}[data-theme=dark] .btn-add-pill{color:#60a5fa;background:#2563eb1a;border-color:#60a5fa4d}[data-theme=dark] .btn-add-pill:hover{color:#93c5fd;background:#2563eb2e;border-color:#60a5fa80;box-shadow:0 1px 6px #2563eb33}[data-theme=dark] .btn-danger-pill{color:#f87171;background:#dc262614;border-color:#fca5a540}[data-theme=dark] .btn-danger-pill:hover{color:#fca5a5;background:#dc262626;border-color:#fca5a573;box-shadow:0 1px 6px #dc262626}[data-theme=dark] .custom-tab-btn:hover:not(.active){color:var(--text-secondary)}[data-theme=dark] .emp-name-text .sub-text,[data-theme=dark] .empty-state-inner{color:var(--text-faint)}[data-theme=dark] .tc-offline{color:var(--text-muted);background:#2a3040;border-color:#475569}[data-theme=dark] input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--bg-surface) inset!important;-webkit-text-fill-color:var(--text-primary)!important}[data-theme=dark] input:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--bg-surface) inset!important;-webkit-text-fill-color:var(--text-primary)!important}[data-theme=dark] input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--bg-surface) inset!important;-webkit-text-fill-color:var(--text-primary)!important}[data-theme=dark] body,[data-theme=dark] .card,[data-theme=dark] .modal-content,[data-theme=dark] .dropdown-menu,[data-theme=dark] .list-group-item{color:var(--text-primary)}[data-theme=dark] .bg-white{background-color:var(--bg-card)!important}[data-theme=dark] .bg-light{background-color:var(--bg-surface)!important;color:var(--text-primary)!important}[data-theme=dark] .text-dark{color:var(--text-primary)!important}[data-theme=dark] .text-muted{color:var(--text-muted)!important}[data-theme=dark] .text-secondary{color:var(--text-secondary)!important}[data-theme=dark] .border,[data-theme=dark] .border-top,[data-theme=dark] .border-bottom,[data-theme=dark] .border-start,[data-theme=dark] .border-end{border-color:var(--border-color)!important}[data-theme=dark] .card{border:1px solid var(--border-color)!important;box-shadow:0 1px 4px #0000004d!important}[data-theme=dark] .card-body,[data-theme=dark] .card-header,[data-theme=dark] .card-footer{background-color:var(--bg-card)!important;border-color:var(--border-color)!important}[data-theme=dark] .badge.bg-light{background-color:var(--bg-surface)!important;color:var(--text-primary)!important}[data-theme=dark] .table{color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .table>:not(caption)>*>*{background-color:var(--bg-card);color:var(--text-primary);border-color:var(--border-light)}[data-theme=dark] th,[data-theme=dark] thead th,[data-theme=dark] .table thead th,[data-theme=dark] .table>thead>tr>th,[data-theme=dark] .table-light,[data-theme=dark] .table-light>tr>th,[data-theme=dark] .table-light>*>tr>th{--bs-table-bg:var(--bg-table-header);background-color:var(--bg-table-header)!important;color:var(--text-muted)!important;border-bottom:2px solid var(--border-color)!important;border-color:var(--border-color)!important}[data-theme=dark] .input-group-text{background-color:var(--bg-surface)!important;color:var(--text-primary)!important;border-color:var(--border-color)!important}[data-theme=dark] .nav-tabs{border-color:var(--border-color)}[data-theme=dark] .nav-tabs .nav-link{color:var(--text-muted)}[data-theme=dark] .nav-tabs .nav-link.active{background-color:var(--bg-card);border-color:var(--border-color) var(--border-color) var(--bg-card);color:var(--text-primary)}[data-theme=dark] .list-group-item{background-color:var(--bg-card);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .accordion-item{background-color:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .accordion-button{background-color:var(--bg-surface);color:var(--text-primary)}[data-theme=dark] .accordion-button:not(.collapsed){background-color:var(--bg-hover);color:var(--text-primary)}[data-theme=dark] .accordion-body{background-color:var(--bg-card)}[data-theme=dark] body{color:var(--text-primary)!important}[data-theme=dark] .form-label,[data-theme=dark] label,[data-theme=dark] h1,[data-theme=dark] h2,[data-theme=dark] h3,[data-theme=dark] h4,[data-theme=dark] h5,[data-theme=dark] h6,[data-theme=dark] p{color:var(--text-primary)}[data-theme=dark] .shadow-sm{box-shadow:0 1px 4px #00000059!important}[data-theme=dark] .form-control[readonly],[data-theme=dark] .form-control:disabled,[data-theme=dark] .form-select:disabled{background-color:var(--bg-page)!important;color:var(--text-muted)!important}[data-theme=dark] .settings-sidebar,[data-theme=dark] .settings-tab{background-color:var(--bg-card);border-color:var(--border-color)}[data-theme=dark] .btn-close{filter:invert()}[data-theme=dark] td,[data-theme=dark] tbody th,[data-theme=dark] .form-control,[data-theme=dark] .form-select,[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{color:var(--text-primary)!important}[data-theme=dark] .form-control::placeholder,[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--text-faint)!important}[data-theme=dark] .form-check-input[type=checkbox]{background-color:#374151;border-color:#4b5563}[data-theme=dark] .form-check-input[type=checkbox]:checked{background-color:#2563eb;border-color:#2563eb}[data-theme=dark] .form-switch .form-check-input{background-color:#374151;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23cbd5e1'/%3e%3c/svg%3e");border-color:#4b5563}[data-theme=dark] .form-switch .form-check-input:checked{background-color:#2563eb;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e");border-color:#2563eb}[data-theme=dark] .form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2360a5fa'/%3e%3c/svg%3e");border-color:#2563eb;box-shadow:0 0 0 .2rem #2563eb40}[data-theme=dark] .form-check-label{color:var(--text-secondary)}[data-theme=dark] .card span,[data-theme=dark] .card div,[data-theme=dark] .card p,[data-theme=dark] .card label{color:inherit}[data-theme=dark] .progress{background-color:var(--bg-surface)}[data-theme=dark] .border-bottom{border-color:var(--border-color)!important}[data-theme=dark] hr{border-color:var(--border-color);opacity:.5}[data-theme=dark] .breadcrumb-item,[data-theme=dark] .breadcrumb-item a{color:var(--text-muted)}[data-theme=dark] .breadcrumb-item.active{color:var(--text-primary)}[data-theme=dark] .alert{border-color:var(--border-color)}[data-theme=dark] .alert-info{color:#93c5fd;background-color:#2563eb26;border-color:#2563eb4d}[data-theme=dark] .alert-warning{color:#fcd34d;background-color:#f59e0b26;border-color:#f59e0b4d}[data-theme=dark] .alert-danger{color:#fca5a5;background-color:#dc262626;border-color:#dc26264d}[data-theme=dark] .alert-success{color:#86efac;background-color:#16a34a26;border-color:#16a34a4d}[data-theme=dark] .spinner-border,[data-theme=dark] .spinner-grow{color:var(--text-muted)}[data-theme=dark] .pagination .page-link{background-color:var(--bg-card);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .pagination .page-item.active .page-link{color:#fff;background-color:#2563eb;border-color:#2563eb}[data-theme=dark] .pagination .page-item.disabled .page-link{background-color:var(--bg-surface);border-color:var(--border-color);color:var(--text-faint)}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert()brightness(.8);cursor:pointer}[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator{filter:invert()brightness(.8);cursor:pointer}[data-theme=dark] input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert()brightness(.8);cursor:pointer}[data-theme=dark] input[type=month]::-webkit-calendar-picker-indicator{filter:invert()brightness(.8);cursor:pointer}[data-theme=dark] input[type=week]::-webkit-calendar-picker-indicator{filter:invert()brightness(.8);cursor:pointer}[data-theme=dark] ::-webkit-scrollbar{width:6px;height:6px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--bg-card)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#374151;border-radius:999px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#4b5563}[data-theme=dark] *{scrollbar-width:thin;scrollbar-color:#374151 var(--bg-card)}input[type=date]::-webkit-datetime-edit{text-transform:uppercase}.vd-close-btn{cursor:pointer;color:#2563eb;background-color:#0000;border:1px solid #2563eb;border-radius:30px;width:70px;height:25px;font-size:8px;transition:all .5s ease-in-out;position:relative;overflow:hidden}.vd-close-btn .btn-txt{z-index:1;letter-spacing:4px;font-weight:800;position:relative}.vd-close-btn:after{content:"";visibility:hidden;z-index:0;background-color:#2563eb;border-radius:30px;width:10px;height:10px;transition:all .6s ease-in-out;position:absolute;top:0;left:0}.vd-close-btn:hover{color:#fff;border:none}.vd-close-btn:hover:after{visibility:visible;transform:scale(100)translate(2px)}[data-theme=dark] .vd-close-btn{color:#60a5fa;border-color:#60a5fa}[data-theme=dark] .vd-close-btn:after{background-color:#3b82f6}[data-theme=dark] .vd-close-btn:hover{color:#fff}.fd-cancel-btn{cursor:pointer;color:#2563eb;letter-spacing:4px;text-transform:uppercase;background-color:#0000;border:1px solid #2563eb;border-radius:30px;height:30px;padding:0 16px;font-size:8px;font-weight:800;transition:all .5s ease-in-out;position:relative;overflow:hidden}.fd-cancel-btn:after{content:"";visibility:hidden;z-index:0;background-color:#2563eb;border-radius:30px;width:10px;height:10px;transition:all .6s ease-in-out;position:absolute;top:0;left:0}.fd-cancel-btn span{z-index:1;position:relative}.fd-cancel-btn:hover{color:#fff;border:none}.fd-cancel-btn:hover:after{visibility:visible;transform:scale(100)translate(2px)}[data-theme=dark] .fd-cancel-btn{color:#60a5fa;border-color:#60a5fa}[data-theme=dark] .fd-cancel-btn:after{background-color:#3b82f6}[data-theme=dark] .fd-cancel-btn:hover{color:#fff}.fd-save-btn{cursor:pointer;color:#fff;letter-spacing:4px;text-transform:uppercase;background-color:#2563eb;border:1px solid #2563eb;border-radius:30px;height:30px;padding:0 16px;font-size:8px;font-weight:800;transition:all .5s ease-in-out;position:relative;overflow:hidden}.fd-save-btn:after{content:"";visibility:hidden;z-index:0;background-color:#1d4ed8;border-radius:30px;width:10px;height:10px;transition:all .6s ease-in-out;position:absolute;top:0;left:0}.fd-save-btn span{z-index:1;position:relative}.fd-save-btn:hover{border-color:#1d4ed8}.fd-save-btn:hover:after{visibility:visible;transform:scale(100)translate(2px)}[data-theme=dark] .fd-save-btn{background-color:#2563eb;border-color:#3b82f6}[data-theme=dark] .fd-save-btn:after{background-color:#1d4ed8}[data-theme=dark] .fd-save-btn:hover{border-color:#1d4ed8}
