@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.notification-center{position:relative;display:flex;align-items:center}.notification-bell{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative}.notification-bell:hover{background:var(--bg);color:var(--primary)}.notification-badge{position:absolute;top:4px;right:4px;background:var(--danger);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-card)}.notification-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:360px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 10px 25px -5px #0000004d,0 8px 10px -6px #0000004d;z-index:1000;overflow:hidden;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-header{padding:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.notification-header h3{font-size:16px;font-weight:600}.mark-all-read{font-size:12px;color:var(--primary);background:none;border:none;cursor:pointer;font-weight:500}.mark-all-read:hover{text-decoration:underline}.notification-list{max-height:400px;overflow-y:auto}.notification-item{padding:16px;display:flex;gap:12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s;position:relative}.notification-item:hover{background:var(--bg)}.notification-item.unread{background:rgba(99,102,241,.03)}.notification-item.unread:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary)}.notification-icon-wrapper{flex-shrink:0;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.notification-content{flex-grow:1}.notification-title{font-size:14px;font-weight:600;margin-bottom:2px}.notification-message{font-size:13px;color:var(--text-muted);line-height:1.4;margin-bottom:4px}.notification-time{font-size:11px;color:var(--text-muted)}.notification-empty{padding:32px 16px;text-align:center;color:var(--text-muted)}.notification-footer{padding:12px;text-align:center;border-top:1px solid var(--border);background:var(--bg)}.view-all{font-size:13px;font-weight:500;color:var(--text)}:root,:root[data-theme=light]{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary: #0ea5e9;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--bg: #f8fafc;--bg-card: #ffffff;--bg-input: #ffffff;--border: #e2e8f0;--text: #0f172a;--text-muted: #475569;--sidebar-width: 260px;--invert-icon: invert(0);--alert-error-text: #b91c1c;--alert-success-text: #047857;--table-hover-bg: rgba(0,0,0,.03)}:root[data-theme=dark]{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--secondary: #0ea5e9;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--bg: #0f172a;--bg-card: #1e293b;--bg-input: #0f172a;--border: #334155;--text: #f1f5f9;--text-muted: #94a3b8;--sidebar-width: 260px;--invert-icon: invert(1);--alert-error-text: #fca5a5;--alert-success-text: #6ee7b7;--table-hover-bg: rgba(255,255,255,.02)}:root[data-theme=ocean]{--primary: #0ea5e9;--primary-dark: #0284c7;--primary-light: #7dd3fc;--secondary: #0d9488;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--bg: #f0f9ff;--bg-card: #ffffff;--bg-input: #ffffff;--border: #bae6fd;--text: #082f49;--text-muted: #0369a1;--sidebar-width: 260px;--invert-icon: invert(0);--alert-error-text: #b91c1c;--alert-success-text: #047857;--table-hover-bg: rgba(14,165,233,.05)}:root[data-theme=emerald]{--primary: #10b981;--primary-dark: #059669;--primary-light: #6ee7b7;--secondary: #14b8a6;--success: #34d399;--warning: #fbbf24;--danger: #f87171;--bg: #ecfdf5;--bg-card: #ffffff;--bg-input: #ffffff;--border: #d1fae5;--text: #064e3b;--text-muted: #047857;--sidebar-width: 260px;--invert-icon: invert(0);--alert-error-text: #991b1b;--alert-success-text: #065f46;--table-hover-bg: rgba(16,185,129,.05)}:root[data-theme=sunset]{--primary: #f97316;--primary-dark: #ea580c;--primary-light: #fdba74;--secondary: #f43f5e;--success: #10b981;--warning: #facc15;--danger: #ef4444;--bg: #fffbeb;--bg-card: #ffffff;--bg-input: #ffffff;--border: #fef3c7;--text: #431407;--text-muted: #9a3412;--sidebar-width: 260px;--invert-icon: invert(0);--alert-error-text: #b91c1c;--alert-success-text: #047857;--table-hover-bg: rgba(249,115,22,.05)}:root[data-theme=midnight]{--primary: #a855f7;--primary-dark: #9333ea;--primary-light: #d8b4fe;--secondary: #3b82f6;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--bg: #09090b;--bg-card: #18181b;--bg-input: #09090b;--border: #27272a;--text: #ffffff;--text-muted: #a1a1aa;--sidebar-width: 260px;--invert-icon: invert(1);--alert-error-text: #fca5a5;--alert-success-text: #6ee7b7;--table-hover-bg: rgba(255,255,255,.03)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;transition:all .4s cubic-bezier(.4,0,.2,1)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:500;font-family:Inter,sans-serif;transition:all .2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card);color:var(--text)}.btn-danger{background:transparent;color:var(--danger);border:1px solid var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:6px 12px;font-size:13px}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:500;color:var(--text-muted)}.form-input,.form-select,.form-textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;padding:10px 14px;color:var(--text);font-size:14px;font-family:Inter,sans-serif;transition:border-color .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.form-textarea{resize:vertical;min-height:80px}.form-select option{background:var(--bg-card)}input[type=date]::-webkit-calendar-picker-indicator{filter:var(--invert-icon);cursor:pointer}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:500}.badge-active{background:rgba(16,185,129,.15);color:var(--success)}.badge-completed{background:rgba(99,102,241,.15);color:var(--primary-light)}.badge-on_hold{background:rgba(245,158,11,.15);color:var(--warning)}.badge-admin{background:rgba(239,68,68,.15);color:var(--danger)}.badge-manager{background:rgba(14,165,233,.15);color:var(--secondary)}.badge-employee{background:rgba(148,163,184,.15);color:var(--text-muted)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}td{padding:14px 16px;font-size:14px;border-bottom:1px solid rgba(51,65,85,.5)}tr:hover td{background:var(--table-hover-bg)}tr:last-child td{border-bottom:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:28px;width:100%;max-width:480px;animation:slideUp .2s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-title{font-size:18px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.modal-close:hover{color:var(--text);background:var(--bg)}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.page-title{font-size:22px;font-weight:700}.page-subtitle{font-size:14px;color:var(--text-muted);margin-top:2px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center}.stat-value{font-size:24px;font-weight:700}.stat-label{font-size:13px;color:var(--text-muted);margin-top:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.alert{padding:12px 16px;border-radius:8px;font-size:14px;margin-bottom:16px}.alert-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);color:var(--alert-error-text)}.alert-success{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:var(--alert-success-text)}.loading-spinner{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted)}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-transition-container{animation:page-enter .4s cubic-bezier(.4,0,.2,1) forwards;width:100%}.loading-spinner .spinner{width:64px;height:64px;border:none;animation:none;display:flex;align-items:center;justify-content:center;position:relative;background:var(--bg-card);border-radius:50%;box-shadow:0 4px 15px #0000000d}.loading-spinner .spinner:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.loading-spinner .spinner:after{content:"";width:36px;height:36px;background:url(/favicon.svg) no-repeat center;background-size:contain;animation:pulse-soft 2s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:48px 24px;color:var(--text-muted)}.empty-state svg{margin-bottom:12px;opacity:.4}.empty-state p{font-size:15px}.leave-card{height:100%;display:flex;flex-direction:column;word-wrap:break-word;overflow:hidden}.leave-content{display:flex;flex-direction:column;gap:10px;flex-grow:1}.leave-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.leave-dates{display:flex;align-items:center;gap:6px;font-size:13px}.leave-reason{flex-grow:1;font-size:14px;line-height:1.5;word-break:break-word;white-space:normal}.leave-actions,.card-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@keyframes mesh-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-soft{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}.bg-mesh{background:linear-gradient(-45deg,#0f172a,#1e293b,#064e3b,#0f172a);background-size:400% 400%;animation:mesh-gradient 15s ease infinite}.glass{background:rgba(255,255,255,.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08)}.glass-card{background:rgba(15,23,42,.6);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000005e}.text-gradient{background:linear-gradient(135deg,#fff 0%,#10b981 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hover-glow:hover{box-shadow:0 0 20px #10b9814d;border-color:#10b98180}@keyframes typing-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}}.app-layout{display:flex;min-height:100vh}.main-content-wrapper{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh}.main-content{flex:1;padding:32px;overflow-y:auto}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40}@media (max-width: 1024px){.main-content{padding:24px}}@media (max-width: 768px){.app-sidebar{position:fixed!important;left:-280px;z-index:50;transition:left .3s cubic-bezier(.4,0,.2,1)!important;height:100vh!important;width:260px!important;box-shadow:20px 0 50px #0003}.app-sidebar.mobile-open{left:0}.sidebar-overlay.mobile-open{display:block}.main-content{padding:16px}.page-header{flex-direction:column;align-items:flex-start!important;gap:12px}.page-header>div:last-child{margin-left:0}.stats-grid{grid-template-columns:1fr!important;gap:12px}.top-header{padding:0 16px!important;justify-content:space-between!important}.mobile-menu-toggle{display:flex!important}.table-wrapper{margin:0 -16px;padding:0 16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.card{padding:16px!important}.modal{width:95%!important;margin:10px!important;padding:20px!important}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.reports-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.report-chart-card{display:flex;flex-direction:column}.report-chart-title{font-size:16px;font-weight:600;margin-bottom:24px;color:var(--text)}.full-width-report{grid-column:1 / -1}@media (max-width: 1024px){.reports-grid{grid-template-columns:1fr}}.reports-container{max-width:1400px;margin:0 auto}.hover-scale:hover{transform:scale(1.1)}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.task-modal{display:flex;flex-direction:row;width:95%;max-width:760px;max-height:85vh;background:var(--bg-card);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 25px 50px -12px #00000080;margin:0 auto;animation:modalEnter .3s cubic-bezier(.16,1,.3,1)}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.task-modal-left{flex:1.8;padding:24px;display:flex;flex-direction:column;overflow-y:auto;background:var(--bg-card);border-right:1px solid var(--border)}.task-modal-right{flex:1;background:var(--bg-main);padding:24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;position:relative}@media (max-width: 768px){.task-modal{flex-direction:column;max-width:100%;width:100%;height:100vh;max-height:100vh;border-radius:0;margin:0}.task-modal-left{flex:1;border-right:none;border-bottom:1px solid var(--border);padding:20px}.task-modal-right{flex:none;padding:20px;height:auto;overflow-y:visible}.modal-overlay{padding:0!important;align-items:flex-start!important}}
