@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--sidebar-width:16.6rem;--sidebar-collapsed-width:5.5rem;--navbar-height:4.5rem;--transition:all .3s ease-in-out;--sidebar-border-width:1px;--layout-gap:0px;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}:root,[data-theme=light]{--primary:#2563eb;--primary-light:#3b82f6;--primary-dark:#1d4ed8;--primary-hover:#1d4ed8;--secondary:#475569;--accent-blue:#60a5fa;--accent-green:#10b981;--accent-red:#ef4444;--accent-yellow:#f59e0b;--accent-pink:#ec4899;--accent-purple:#8b5cf6;--accent-violet:#7c3aed;--background:#f8fafc;--background-secondary:#f1f5f9;--background-tertiary:#e2e8f0;--background-gradient:linear-gradient(135deg,var(--background)0%,var(--background-secondary)100%);--card-bg:#fffffff2;--card-bg-solid:#fff;--overlay-bg:#00000080;--text-primary:#1e293b;--text-secondary:#475569;--text-muted:#64748b;--text-inverse:#fff;--border:#e2e8f0;--border-light:#f1f5f9;--border-dark:#cbd5e1;--divider:#e2e8f0;--hover-bg:#2563eb1a;--active-bg:#2563eb26;--focus-ring:#2563eb4d;--selected-bg:#2563eb1a;--primary-rgb:37,99,235;--bg-primary:var(--background);--bg-secondary:var(--card-bg-solid);--bg-tertiary:var(--background-secondary);--border-color:var(--border);--accent:var(--primary);--accent-hover:var(--primary-hover);--input-bg:#fff;--input-border:#e2e8f0;--input-focus-border:#2563eb;--input-focus-shadow:0 0 0 3px #2563eb1a;--success:#22c55e;--success-hover:#16a34a;--warning:#f59e0b;--warning-hover:#d97706;--error:#ef4444;--error-hover:var(--error-border);--danger:#ef4444;--danger-hover:var(--error-border);--info:#3b82f6;--info-hover:#2563eb;--warning-bg:var(--warning-bg);--warning-border:var(--warning-border);--warning-text:#856404;--error-bg:var(--error-bg);--error-border:var(--error-border);--error-text:#721c24;--success-bg:var(--success-bg);--success-border:var(--success-border);--success-text:#155724;--info-bg:var(--info-bg);--info-border:var(--info-border);--info-text:#004085;--shadow-sm:0 1px 2px 0 #1e293b0d;--shadow:0 4px 6px -1px #1e293b14,0 2px 4px -1px #1e293b0a;--shadow-lg:0 10px 15px -3px #1e293b1a,0 4px 6px -2px #1e293b0d;--shadow-xl:0 20px 25px -5px #1e293b1a,0 10px 10px -5px #1e293b0a;--sidebar-bg:#fff;--sidebar-border:#e2e8f0;--nav-item-hover:#2563eb1a;--nav-item-active:#2563eb;--nav-item-active-bg:#2563eb1a;--toggle-track-bg:#e5e7eb;--toggle-track-border:#d1d5db;--toggle-thumb-bg:#fff;--toggle-thumb-border:#d1d5db;color-scheme:light}[data-theme=dark]{--primary:#3b82f6;--primary-light:#60a5fa;--primary-dark:#2563eb;--secondary:#94a3b8;--accent-blue:#60a5fa;--accent-green:#10b981;--accent-red:#f87171;--accent-yellow:#fbbf24;--accent-pink:#f472b6;--accent-purple:#a855f7;--accent-violet:#8b5cf6;--background:#0f172a;--background-secondary:#1e293b;--background-tertiary:#334155;--background-gradient:linear-gradient(135deg,var(--background)0%,var(--background-secondary)100%);--card-bg:#1e293bf2;--card-bg-solid:#1e293b;--overlay-bg:#000000b3;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--text-inverse:#0f172a;--border:#334155;--border-light:#475569;--border-dark:#1e293b;--divider:#334155;--hover-bg:#3b82f626;--active-bg:#3b82f633;--focus-ring:#3b82f666;--selected-bg:#3b82f626;--primary-hover:#60a5fa;--primary-rgb:59,130,246;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--border-color:#334155;--accent:#3b82f6;--accent-hover:#60a5fa;--input-bg:#334155;--input-border:#475569;--input-focus-border:#3b82f6;--input-focus-shadow:0 0 0 3px #3b82f633;--success:#10b981;--success-hover:#059669;--warning:#f59e0b;--warning-hover:#d97706;--error:#f87171;--error-hover:#ef4444;--danger:#f87171;--danger-hover:#ef4444;--info:#60a5fa;--info-hover:#3b82f6;--warning-bg:var(--warning-bg);--warning-border:var(--warning-border);--warning-text:#f59e0b;--error-bg:var(--error-bg);--error-border:var(--error-border);--error-text:#ef4444;--success-bg:var(--success-bg);--success-border:var(--success-border);--success-text:#22c55e;--info-bg:var(--info-bg);--info-border:var(--info-border);--info-text:#60a5fa;--shadow-sm:0 1px 2px 0 #0000004d;--shadow:0 4px 6px -1px #0006,0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -2px #0006;--shadow-xl:0 20px 25px -5px #0009,0 10px 10px -5px #00000080;--sidebar-bg:#1e293b;--sidebar-border:#334155;--nav-item-hover:#3b82f626;--nav-item-active:#3b82f6;--nav-item-active-bg:#3b82f626;--toggle-track-bg:#374151;--toggle-track-border:#4b5563;--toggle-thumb-bg:#1f2937;--toggle-thumb-border:#374151;color-scheme:dark}@media(max-width:768px){:root{--sidebar-width:280px;--sidebar-collapsed-width:64px;--navbar-height:4rem;--mobile-padding:1rem;--mobile-gap:.75rem}}@media(max-width:480px){:root{--sidebar-width:100vw;--sidebar-collapsed-width:60px;--navbar-height:3.75rem;--mobile-padding:.75rem;--mobile-gap:.5rem}}*{box-sizing:border-box}html{height:100%}body{background:var(--background);min-height:100vh;color:var(--text-primary);margin:0;padding:0;transition:background-color .3s,color .3s}#root{min-height:100vh}a{color:var(--primary);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500;transition:color .3s}a:hover{color:var(--primary-light)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin:0}h1{font-size:3.2em;line-height:1.1}button{border:1px solid var(--border);background-color:var(--card-bg-solid);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:all .3s}button:hover{border-color:var(--primary);background-color:var(--hover-bg)}button:focus,button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input,select,textarea{background-color:var(--input-bg);border:1px solid var(--input-border);color:var(--text-primary);border-radius:6px;padding:.5rem;transition:all .3s}input:focus,select:focus,textarea:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow);outline:none}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--text-muted)}input::placeholder,textarea::placeholder{color:var(--text-muted)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-secondary)}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.loading{color:var(--text-secondary);justify-content:center;align-items:center;padding:2rem;font-size:1.1rem;display:flex}.loader-container{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;background-color:var(--overlay-bg);align-items:center;justify-content:center;z-index:9999}.dot-spinner__dot:before{content:"";height:20%;width:20%;border-radius:50%;background-color:var(--uib-color);transform:scale(0);opacity:.5;animation:pulse0112 calc(var(--uib-speed) * 1.111) ease-in-out infinite;box-shadow:0 0 20px rgba(var(--primary-rgb),.3)}.global-loader-content{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;background:var(--card-bg-solid);border-radius:12px;box-shadow:var(--shadow-xl);min-width:200px;text-align:center}.global-loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--overlay-bg);display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.global-loader-message{margin:0;font-size:1rem;color:var(--text-primary);font-weight:500}.dot-spinner{--uib-size: 2.8rem;--uib-speed: .9s;--uib-color: var(--primary);position:relative;display:flex;align-items:center;justify-content:flex-start;height:var(--uib-size);width:var(--uib-size)}.dot-spinner__dot{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:flex-start;height:100%;width:100%}.dot-spinner__dot:before{content:"";height:20%;width:20%;border-radius:50%;background-color:var(--uib-color);transform:scale(0);opacity:.5;animation:pulse0112 calc(var(--uib-speed) * 1.111) ease-in-out infinite;box-shadow:0 0 20px rgba(var(--primary-rgb, 37, 99, 235),.3)}.dot-spinner__dot:nth-child(2){transform:rotate(45deg)}.dot-spinner__dot:nth-child(2):before{animation-delay:calc(var(--uib-speed) * -.875)}.dot-spinner__dot:nth-child(3){transform:rotate(90deg)}.dot-spinner__dot:nth-child(3):before{animation-delay:calc(var(--uib-speed) * -.75)}.dot-spinner__dot:nth-child(4){transform:rotate(135deg)}.dot-spinner__dot:nth-child(4):before{animation-delay:calc(var(--uib-speed) * -.625)}.dot-spinner__dot:nth-child(5){transform:rotate(180deg)}.dot-spinner__dot:nth-child(5):before{animation-delay:calc(var(--uib-speed) * -.5)}.dot-spinner__dot:nth-child(6){transform:rotate(225deg)}.dot-spinner__dot:nth-child(6):before{animation-delay:calc(var(--uib-speed) * -.375)}.dot-spinner__dot:nth-child(7){transform:rotate(270deg)}.dot-spinner__dot:nth-child(7):before{animation-delay:calc(var(--uib-speed) * -.25)}.dot-spinner__dot:nth-child(8){transform:rotate(315deg)}.dot-spinner__dot:nth-child(8):before{animation-delay:calc(var(--uib-speed) * -.125)}@keyframes pulse0112{0%,to{transform:scale(0);opacity:.5}50%{transform:scale(1);opacity:1}}.global-toast-container{z-index:9998}.toast-success{background:linear-gradient(135deg,var(--success) 0%,var(--success-hover) 100%);color:#fff;border-left:4px solid var(--success-border)}.toast-error{background:linear-gradient(135deg,var(--error) 0%,var(--error-hover) 100%);color:#fff;border-left:4px solid var(--error-border)}.toast-warning{background:linear-gradient(135deg,var(--warning) 0%,var(--warning-hover) 100%);color:#fff;border-left:4px solid var(--warning-border)}.toast-info{background:linear-gradient(135deg,var(--info) 0%,var(--info-hover) 100%);color:#fff;border-left:4px solid var(--info-border)}.toast-loading{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:#fff;border-left:4px solid var(--primary-dark)}@media(max-width:479px){.global-loader-content{padding:1rem;min-width:150px;margin:1rem}.global-loader-message{font-size:.875rem}.dot-spinner{--uib-size: 2rem}.global-toast-container{padding:.5rem;left:4px;right:4px;top:4px;width:auto}.toast-success,.toast-error,.toast-warning,.toast-info,.toast-loading{font-size:.875rem;padding:.75rem;border-radius:.5rem;margin-bottom:.5rem;box-shadow:var(--shadow)}}@media(min-width:480px)and (max-width:767px){.global-loader-content{padding:1.5rem;min-width:180px}.dot-spinner{--uib-size: 2.4rem}.global-toast-container{padding:.75rem;left:12px;right:12px;top:12px}.toast-success,.toast-error,.toast-warning,.toast-info,.toast-loading{font-size:.9rem;padding:.875rem;border-radius:.75rem}}@media(min-width:768px)and (max-width:1023px){.global-loader-content{padding:1.75rem;min-width:200px}.dot-spinner{--uib-size: 2.6rem}}@media(max-width:480px){.global-toast-container{padding:.5rem;left:8px;right:8px;top:8px;width:auto}.toast-success,.toast-error,.toast-warning,.toast-info,.toast-loading{font-size:.875rem;padding:.75rem;border-radius:.5rem;margin-bottom:.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}}@media(min-width:481px)and (max-width:767px){.global-toast-container{padding:.75rem;left:12px;right:12px;top:12px}.toast-success,.toast-error,.toast-warning,.toast-info,.toast-loading{font-size:.9rem;padding:.875rem;border-radius:.75rem}}@media(max-height:500px)and (orientation:landscape){.global-loader-content{padding:1rem;max-height:80vh;overflow-y:auto}.dot-spinner{--uib-size: 2rem}.global-loader-message{font-size:.8rem;margin:.5rem 0 0}.global-toast-container{top:4px;left:4px;right:4px;padding:.25rem}.toast-success,.toast-error,.toast-warning,.toast-info,.toast-loading{font-size:.75rem;padding:.5rem;margin-bottom:.25rem}}@media(prefers-contrast:more){.global-loader-content,.toast-success,.toast-error,.toast-warning,.toast-info,.toast-loading{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){.dot-spinner__dot:before{animation:none}.global-loader-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}.toast-success,.toast-error,.toast-warning,.toast-info,.toast-loading{transition:none}}[data-theme=dark] .global-loader-content{background:var(--card-bg-solid);color:var(--text-primary)}[data-theme=dark] .global-loader-message{color:var(--text-primary)}[data-theme=dark] .dot-spinner{--uib-color: var(--primary)}@media(prefers-color-scheme:dark){.global-loader-content{background:var(--card-bg-solid);color:var(--text-primary)}.global-loader-message{color:var(--text-primary)}.dot-spinner{--uib-color: var(--primary)}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.error-container{max-width:600px;width:100%;background:var(--card-bg-solid);border-radius:12px;padding:3rem;box-shadow:var(--shadow-xl);text-align:center;border:1px solid var(--border)}.error-icon{margin-bottom:1.5rem;display:flex;justify-content:center;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.error-content{display:flex;flex-direction:column;gap:1rem}.error-title{font-size:1.75rem;font-weight:600;color:var(--text-primary);margin:0}.error-message{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0}.error-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}.error-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;text-decoration:none;transition:all .2s ease;border:none;cursor:pointer;font-size:.875rem}.error-btn-primary{background:var(--primary);color:var(--text-inverse)}.error-btn-primary:hover{background:var(--primary-hover);transform:translateY(-1px)}.error-btn-secondary{background:var(--background-secondary);color:var(--text-primary);border:1px solid var(--border)}.error-btn-secondary:hover{background:var(--hover-bg);transform:translateY(-1px)}.error-details{margin-top:2rem;text-align:left;background:var(--background-secondary);border-radius:8px;padding:1rem;border:1px solid var(--border)}.error-details summary{cursor:pointer;font-weight:500;color:var(--text-primary);padding:.5rem 0}.error-details summary:hover{color:var(--primary)}.error-stack,.error-info{background:var(--background-tertiary);color:var(--text-primary);padding:1rem;border-radius:6px;margin-top:1rem;font-size:.75rem;line-height:1.4;overflow-x:auto;white-space:pre-wrap}[data-theme=dark] .error-container{background:var(--card-bg-solid);border-color:var(--border)}[data-theme=dark] .error-title{color:var(--text-primary)}[data-theme=dark] .error-message{color:var(--text-secondary)}[data-theme=dark] .error-btn-secondary{background:var(--background-secondary);color:var(--text-primary);border-color:var(--border)}[data-theme=dark] .error-btn-secondary:hover{background:var(--hover-bg)}[data-theme=dark] .error-details{background:var(--background-secondary);border-color:var(--border)}[data-theme=dark] .error-details summary{color:var(--text-primary)}@media(max-width:768px){.error-boundary{padding:1rem}.error-container{padding:2rem}.error-title{font-size:1.5rem}.error-actions{flex-direction:column;align-items:stretch}.error-btn{justify-content:center}}.lazy-error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;background:var(--background-secondary)}.lazy-error-content{max-width:500px;text-align:center;padding:2rem;background:var(--card-bg-solid);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow)}.lazy-error-icon{color:var(--error);margin-bottom:1rem;display:flex;justify-content:center}.lazy-error-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.lazy-error-message{color:var(--text-secondary);margin-bottom:2rem;line-height:1.5}.lazy-error-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.lazy-error-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.retry-button{background:var(--primary);color:var(--text-inverse)}.retry-button:hover:not(:disabled){background:var(--primary-hover)}.retry-button:disabled{background:var(--text-muted);cursor:not-allowed}.reload-button{background:var(--secondary);color:var(--text-inverse)}.reload-button:hover{background:var(--text-secondary)}.lazy-error-details{margin-top:1rem;text-align:left}.lazy-error-details summary{cursor:pointer;font-weight:500;color:var(--text-muted);margin-bottom:.5rem}.lazy-error-stack{background:var(--background-tertiary);padding:1rem;border-radius:4px;font-size:.75rem;overflow-x:auto;white-space:pre-wrap;color:var(--text-secondary)}.lazy-error-retry-count{font-size:.75rem;color:var(--text-muted);margin-top:1rem}[data-theme=dark] .lazy-error-boundary{background:var(--background-secondary)}[data-theme=dark] .lazy-error-content{background:var(--card-bg-solid);border-color:var(--border)}[data-theme=dark] .lazy-error-title{color:var(--text-primary)}[data-theme=dark] .lazy-error-message{color:var(--text-secondary)}[data-theme=dark] .lazy-error-stack{background:var(--background-tertiary);color:var(--text-secondary)}[data-theme=dark] .lazy-error-details summary{color:var(--text-muted)}.suspense-fallback{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem}.suspense-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.suspense-spinner{position:relative;width:60px;height:60px}.spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top:3px solid var(--primary);border-radius:50%;animation:spin 1.2s linear infinite}.spinner-ring:nth-child(1){animation-delay:-.45s}.spinner-ring:nth-child(2){animation-delay:-.3s}.spinner-ring:nth-child(3){animation-delay:-.15s}.suspense-message{font-size:1rem;color:var(--text-secondary);margin:0;font-weight:500;text-align:center;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@media(max-width:768px){.suspense-fallback{min-height:300px;padding:1rem}.suspense-spinner{width:48px;height:48px}.suspense-message{font-size:.875rem}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:200px;border-radius:var(--radius, 8px);color:var(--text-secondary);animation:fadeIn .2s ease-in}.loading-fullpage-container{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0000000d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999;color:var(--text-secondary);animation:fadeIn .2s ease-in}.loading-fullpage-container.dark{background:#0000004d}.spinner-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center}.loading-spinner{width:40px;height:40px;border:4px solid var(--border);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem;filter:drop-shadow(0 0 2px var(--primary))}.loading-spinner-small{width:20px;height:20px;border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:0;filter:drop-shadow(0 0 1px var(--primary))}.loading-spinner-medium{width:32px;height:32px;border:3px solid var(--border);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem;filter:drop-shadow(0 0 2px var(--primary))}.loading-spinner-large{width:48px;height:48px;border:4px solid var(--border);border-top:4px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1.5rem;filter:drop-shadow(0 0 3px var(--primary))}.loading-message{font-size:.9rem;color:var(--text-secondary);margin:0;font-weight:500;text-align:center;max-width:300px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-spin{animation:spin 1s linear infinite}.loading-container p{color:var(--text-secondary);font-size:.9rem;margin:0;text-align:center}.loading-container.inline{padding:1rem;min-height:100px}.loading-container.inline-small{padding:0;min-height:auto;display:inline-flex;align-items:center;justify-content:center}.loading-container.full-page{min-height:400px;padding:3rem}.loading-container.card{background:var(--card-bg-solid);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.loading-container.dark .loading-spinner,.loading-fullpage-container.dark .loading-spinner,.loading-container.dark .loading-spinner-small,.loading-fullpage-container.dark .loading-spinner-small,.loading-container.dark .loading-spinner-medium,.loading-fullpage-container.dark .loading-spinner-medium,.loading-container.dark .loading-spinner-large,.loading-fullpage-container.dark .loading-spinner-large{border-color:var(--border);border-top-color:var(--primary)}.loading-container.dark .loading-message,.loading-fullpage-container.dark .loading-message{color:var(--text-secondary)}@media(max-width:768px){.loading-container,.loading-fullpage-container{padding:var(--mobile-padding, 2rem) var(--mobile-padding, 1rem)}.loading-spinner-large{width:40px;height:40px;border-width:3px}.loading-message{font-size:.8rem}}.dept-mgmt-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-secondary)}.dept-mgmt-loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.attendance-loading,.holiday-mgmt-loading,.zasset-loading,.zexp-loading-cell,.zapproval-loading,.zcomp-loading-cell,.zcat-loading-cell,.zpolicy-loading-cell,.clockinout-loading-state,.grid-loading,.table-loading,.sidebar-loading,.loadings-spinner,.loading-spinners{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-secondary)}.staff-list-container .animate-spin{animation:spin 1s linear infinite;color:var(--primary)}.attendance-loading .loading-spinner,.holiday-mgmt-loading .loading-spinner,.zasset-loading .loading-spinner,.zexp-loading-cell .loading-spinner,.zapproval-loading .loading-spinner,.zcomp-loading-cell .loading-spinner,.zcat-loading-cell .loading-spinner,.zpolicy-loading-cell .loading-spinner,.clockinout-loading-state .loading-spinner,.grid-loading .loading-spinner,.table-loading .loading-spinner,.sidebar-loading .loading-spinner,.loadings-spinner .loading-spinner,.loading-spinners .loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.sidebar{position:fixed;top:0;left:0;height:100vh;width:var(--sidebar-width);background:linear-gradient(var(--bg-secondary),var(--bg-tertiary));color:var(--text-primary);transition:var(--transition),background-color .3s ease,color .3s ease,border-color .3s ease;z-index:1100;display:flex;flex-direction:column;box-shadow:2px 0 8px var(--shadow);border-right:var(--sidebar-border-width, 1px) solid var(--border-color)}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--border-color);min-height:var(--navbar-height);background:var(--bg-secondary)}.sidebar-brand{display:flex;align-items:center;gap:12px;transition:all .3s ease;height:40px}.brand-logo{width:36px;height:36px;background:var(--primary);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;flex-shrink:0}.brand-text{font-size:20px;font-weight:700;color:var(--primary);margin:0;white-space:nowrap;letter-spacing:-.5px}.brand-icon{width:36px;height:36px;background:var(--primary);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;flex-shrink:0}.sidebar-toggle{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:14px;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.sidebar-user{padding:16px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:36px;height:36px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:600;flex-shrink:0}.user-details{flex:1;min-width:0}.user-role{font-size:14px;color:var(--text-secondary);font-weight:500;display:flex;align-items:center;gap:4px}.sidebar.collapsed .user-details{display:none}.sidebar.collapsed .sidebar-user{padding:16px}.sidebar.collapsed .user-info{justify-content:center}.sidebar-nav{flex:1;padding:16px 0;overflow-y:auto;overflow-x:hidden}.sidebar-nav:not(:has(.dashboard-role-btn)){padding-top:16px}.sidebar-nav:not(:has(.dashboard-role-btn)) .nav-menu{margin-top:0;padding-top:0}.nav-menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text-primary);text-decoration:none;transition:all .2s ease;position:relative;font-size:14px;font-weight:400;border-radius:8px;white-space:nowrap}.nav-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-link.active{background:var(--nav-item-active-bg);color:var(--nav-item-active);font-weight:600;border-left:4px solid var(--nav-item-active)}.nav-icon{font-size:18px;width:20px;text-align:center;flex-shrink:0;color:var(--text-secondary)}.nav-link.active .nav-icon{color:var(--nav-item-active)}.nav-label{overflow:hidden;text-overflow:ellipsis}.nav-arrow{font-size:12px;color:var(--text-secondary);transition:transform .2s ease;margin-left:auto}.nav-link.expanded .nav-arrow{transform:rotate(90deg)}.nav-dropdown-toggle{display:flex;align-items:center;gap:12px;padding:10px 12px;color:var(--text-primary);background:transparent;border:none;text-decoration:none;transition:all .2s ease;position:relative;font-size:14px;font-weight:400;border-radius:8px;white-space:nowrap;width:100%;cursor:pointer}.nav-dropdown-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.nav-dropdown-toggle.has-active-child{color:var(--primary);background:var(--nav-item-active-bg)}.nav-submenu{list-style:none;padding:0;margin:4px 0 0;max-height:0;overflow:hidden;transition:max-height .3s ease}.nav-submenu.open{max-height:500px}.nav-subitem{padding:0;margin:0}.nav-sublink{display:flex;align-items:center;gap:8px;padding:8px 12px 8px 48px;font-size:14px;color:var(--text-secondary);text-decoration:none;transition:all .2s ease;border-radius:8px;margin:0 8px}.nav-sublink:hover{color:var(--text-primary);background:var(--bg-tertiary)}.nav-sublink.active{color:var(--primary);background:var(--nav-item-active-bg);font-weight:500}.sidebar.collapsed .brand-text,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-arrow{display:none}.sidebar.collapsed .nav-link{justify-content:center;padding:12px;position:relative}.sidebar.collapsed .nav-submenu{display:none}.sidebar.collapsed .sidebar-header{justify-content:center}.sidebar.collapsed .sidebar-toggle{position:absolute;right:8px}.sidebar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--text-secondary);font-size:14px;gap:12px;flex:1;min-height:200px}.sidebar-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top:3px solid var(--primary);border-radius:50%;animation:sidebar-spin 1s linear infinite}.sidebar-loading span{color:var(--text-secondary);font-weight:500;text-align:center;opacity:.8}.sidebar.collapsed .sidebar-loading{padding:40px 16px}.sidebar.collapsed .sidebar-loading span{display:none}.sidebar.collapsed .sidebar-loading .loading-spinner{width:24px;height:24px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes sidebar-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sidebar-error{padding:16px 24px;background:var(--error-bg);border-left:4px solid var(--error);margin:16px;border-radius:4px}.error-message{color:var(--error);font-size:13px}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:992px){.sidebar{transform:translate(-100%);width:var(--sidebar-width);z-index:1300;box-shadow:none;transition:transform .3s ease,box-shadow .3s ease}.sidebar.mobile-open{transform:translate(0);box-shadow:2px 0 20px var(--overlay-bg);width:var(--sidebar-width);z-index:1300}.sidebar.collapsed{width:var(--sidebar-collapsed-width)!important;transform:translate(-100%)}.sidebar.collapsed.mobile-open{transform:translate(0);width:var(--sidebar-collapsed-width)!important}.sidebar.mobile-open:not(.collapsed) .nav-label,.sidebar.mobile-open:not(.collapsed) .brand-text,.sidebar.mobile-open:not(.collapsed) .user-details,.sidebar.mobile-open:not(.collapsed) .nav-arrow{display:block!important;opacity:1!important;width:auto!important}.sidebar.mobile-open:not(.collapsed) .nav-link{justify-content:flex-start!important;padding:12px 16px!important}.sidebar.mobile-open:not(.collapsed) .user-info{justify-content:flex-start!important;padding:12px 16px!important}.sidebar.mobile-open:not(.collapsed) .sidebar-header{padding:20px 24px!important;justify-content:space-between!important}.sidebar.mobile-open:not(.collapsed) .sidebar-user{padding:16px 24px!important;justify-content:flex-start!important}.sidebar.mobile-open:not(.collapsed) .nav-submenu{display:block!important}.sidebar.collapsed.mobile-open .nav-label,.sidebar.collapsed.mobile-open .brand-text,.sidebar.collapsed.mobile-open .user-details,.sidebar.collapsed.mobile-open .nav-arrow{display:none!important;opacity:0!important;width:0!important}.sidebar.collapsed.mobile-open .nav-link{justify-content:center!important;padding:12px!important}.sidebar.collapsed.mobile-open .nav-submenu{display:none!important}.sidebar.collapsed.mobile-open .sidebar-header{justify-content:center!important;padding:20px 12px!important}.sidebar.mobile-open .nav-link:after{display:none!important}}@media(max-width:480px){.sidebar{width:100%!important;max-width:280px}.sidebar.collapsed{width:var(--sidebar-collapsed-width)!important;transform:translate(-100%)}.sidebar.mobile-open{width:100%!important;max-width:280px}}.sidebar.collapsed .nav-label,.sidebar.collapsed .brand-text,.sidebar.collapsed .user-details,.sidebar.collapsed .nav-arrow{opacity:0;overflow:hidden;width:0;transition:opacity .3s ease,width .3s ease}.sidebar:not(.collapsed) .nav-label,.sidebar:not(.collapsed) .brand-text,.sidebar:not(.collapsed) .user-details,.sidebar:not(.collapsed) .nav-arrow{opacity:1;width:auto;transition:opacity .3s ease,width .3s ease}.sidebar.collapsed .nav-link:hover:after{opacity:1}.sidebar.collapsed .nav-link:after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);background:var(--card-bg-solid);color:var(--text-primary);border:1px solid var(--border);padding:6px 12px;margin-left:8px;border-radius:4px;font-size:13px;white-space:nowrap;pointer-events:none;transition:opacity .2s ease;z-index:1000;box-shadow:var(--shadow-lg);opacity:1}.nav-link:focus-visible,.nav-dropdown-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sidebar-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.dashboard-role-btn{display:flex;align-items:center;width:100%;padding:12px 16px;margin:8px 0;min-height:40px;background:transparent;border:none;border-radius:6px;color:var(--text-primary);text-decoration:none;transition:all .2s ease;cursor:pointer;gap:12px}.dashboard-role-btn.collapsed{justify-content:center;padding:12px 8px;gap:0}.dashboard-role-btn.expanded{justify-content:flex-start}.dashboard-role-btn:hover{background:var(--hover-bg);color:var(--primary);transform:translateY(-1px)}.dashboard-role-btn:focus{outline:2px solid var(--primary);outline-offset:2px}.dashboard-role-btn:active{transform:translateY(0)}.dashboard-role-btn .role-text{font-weight:600;font-size:14px;white-space:nowrap}.sidebar .nav-menu .nav-link.active{background:var(--nav-item-active-bg)!important;color:var(--text-primary)!important;font-weight:600;border-left:4px solid var(--nav-item-active)!important}.sidebar .nav-menu .nav-link.active .nav-icon{color:var(--nav-item-active)!important}.search-bar-container{position:relative;width:100%;max-width:28rem}.search-bar{position:relative;width:100%}.search-input-wrapper{position:relative;display:flex;align-items:center;background:var(--input-bg);border:1px solid var(--input-border);border-radius:.5rem;transition:all .3s ease-in-out;box-shadow:var(--shadow-sm)}.search-input-wrapper:focus-within{border-color:var(--input-focus-border);background:var(--card-bg-solid);box-shadow:var(--input-focus-shadow)}.search-icon{position:absolute;left:.75rem;color:var(--text-secondary);z-index:1;pointer-events:none}.search-input{width:100%;padding:.75rem 1rem .75rem 2.5rem;border:none!important;background:transparent!important;font-size:.875rem;color:var(--text-primary);outline:none!important;border-radius:0;box-shadow:none!important}.search-input::-moz-placeholder{color:var(--text-secondary)}.search-input::placeholder{color:var(--text-secondary)}.search-clear{position:absolute;right:.75rem;background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary);border-radius:.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.search-clear:hover{color:var(--text-primary);background:var(--hover-bg)}.search-loading{position:absolute;right:.75rem;display:flex;align-items:center;justify-content:center}.loading-spinner{width:.875rem;height:.875rem;border:2px solid var(--border);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}.search-bar-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--card-bg);border:1px solid var(--border);border-radius:.5rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:9999;margin-top:.25rem;max-height:20rem;overflow-y:auto;animation:fadeIn .2s ease-out;opacity:1;visibility:visible}@keyframes fadeIn{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.search-bar-error{padding:1rem;display:flex;align-items:center;gap:.5rem;color:var(--error);font-size:.875rem}.search-bar-error-icon{font-size:1rem}.search-bar-results{padding:.5rem 0}.search-bar-results-header{padding:.5rem 1rem;border-bottom:1px solid var(--border);background:var(--card-bg)}.search-bar-results-count{font-size:.75rem;color:var(--text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:1px}.search-bar-results-list{list-style:none;padding:0;margin:0}.search-bar-result-item{margin:0}.search-bar-result-button{width:100%;padding:.75rem 1rem;border:none;cursor:pointer;display:flex;align-items:center;gap:.75rem;text-align:left;transition:all .2s ease;border-radius:0;background:transparent none;color:var(--text-primary)}.search-bar-result-button:hover{background-color:var(--hover-bg);transform:translate(.25rem)}.search-bar-result-button:focus{outline:none;background-color:var(--hover-bg);box-shadow:inset 3px 0 0 var(--primary)}.search-bar-user-avatar-small{width:2rem;height:2rem;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-inverse);font-weight:500;flex-shrink:0}.search-bar-user-avatar-image-small{width:2rem;height:2rem;border-radius:50%;-o-object-fit:cover;object-fit:cover}.search-bar-user-info{flex:1;min-width:0}.search-bar-user-name{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-bar-user-details{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.search-bar-user-username{font-weight:500;color:var(--text-secondary)}.search-bar-user-role{padding:.25rem .5rem;background:var(--primary);color:var(--text-inverse);border-radius:.375rem;font-size:.75rem;text-transform:capitalize;font-weight:600;border:1px solid transparent}.search-bar-no-results{padding:1.5rem 1rem;text-align:center;color:var(--text-secondary);font-size:.875rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.search-bar-no-results-icon{font-size:1.5rem;opacity:.7}@media(max-width:768px){.search-bar-container{max-width:100%}.search-bar-dropdown{left:-1rem;right:-1rem;margin-left:1rem;margin-right:1rem}.search-bar-result-button{padding:1rem}.search-bar-user-details{flex-direction:column;align-items:flex-start;gap:.25rem}}.theme-toggle{background:none;border:none;padding:.5rem;cursor:pointer;border-radius:12px;transition:all .3s ease;position:relative;min-height:2.5rem;min-width:2.5rem;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background-color:var(--hover-bg);transform:scale(1.05)}.theme-toggle:focus{outline:2px solid var(--primary);outline-offset:2px}.theme-toggle-track{width:3rem;height:1.5rem;background:var(--background-tertiary);border-radius:1rem;position:relative;transition:all .3s ease;border:1px solid var(--border)}.theme-toggle-thumb{width:1.25rem;height:1.25rem;background:var(--card-bg-solid);border-radius:50%;position:absolute;top:.125rem;left:.125rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);border:1px solid var(--border)}.theme-icon{font-size:.75rem;line-height:1;background:var(--card-bg-solid);border-radius:50%}[data-theme=dark] .theme-toggle-track{background:var(--background-tertiary);border-color:var(--border)}[data-theme=dark] .theme-toggle-thumb{background:var(--card-bg-solid);border-color:var(--border);transform:translate(1.5rem)}[data-theme=dark] .theme-toggle:hover{background-color:var(--hover-bg)}@keyframes slideRight{0%{transform:translate(0)}to{transform:translate(1.5rem)}}@keyframes slideLeft{0%{transform:translate(1.5rem)}to{transform:translate(0)}}.theme-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.theme-toggle,.theme-toggle-track,.theme-toggle-thumb{transition:none}}@media(max-width:768px){.theme-toggle{min-height:2.25rem;min-width:2.25rem;padding:.375rem}.theme-toggle-track{width:2.75rem;height:1.4rem}.theme-toggle-thumb{width:1.15rem;height:1.15rem}[data-theme=dark] .theme-toggle-thumb{transform:translate(1.35rem)}}.header-left{display:flex;flex-direction:row;align-items:center;gap:16px}.notification-container{position:relative}.notifications-dropdown{width:350px;max-height:400px;overflow-y:auto;position:fixed;top:var(--navbar-height, 60px);right:20px;z-index:9999;background:var(--card-bg-solid);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-xl);margin-top:8px}@media(max-width:1024px){.notifications-dropdown{position:fixed;top:var(--navbar-height, 60px);right:10px;left:auto;width:300px;max-width:calc(100vw - 20px);margin-top:8px}}@media(max-width:768px){.notifications-dropdown{position:fixed;top:var(--navbar-height, 60px);left:10px;right:10px;width:auto;margin-top:8px}}[data-theme=dark] .notifications-dropdown{box-shadow:var(--shadow-xl)}.notification-list{list-style:none;padding:0;margin:0}.notification-item{border-bottom:1px solid var(--border);transition:background-color .2s ease;cursor:pointer}.notification-item:hover{background-color:var(--hover-bg)}.notification-item.unread{background-color:var(--primary-bg);border-left:3px solid var(--primary)}.notification-link{display:flex;align-items:flex-start;padding:12px 16px;text-decoration:none;color:var(--text-primary);gap:12px;position:relative;cursor:pointer}.notification-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-title{font-weight:600;font-size:14px;margin-bottom:4px;color:var(--text-primary)}.notification-message{font-size:13px;color:var(--text-secondary);line-height:1.4;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.notification-time{font-size:12px;color:var(--text-muted)}.unread-indicator{width:8px;height:8px;background-color:var(--primary);border-radius:50%;position:absolute;right:12px;top:16px}.empty-notifications{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:14px;display:flex;flex-direction:column;align-items:center;gap:12px}.empty-notifications svg{color:var(--text-muted)}.dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;background-color:var(--background-secondary);color:var(--text-primary)}.dropdown-header button{background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:var(--text-secondary);transition:all .2s ease}.dropdown-header button:hover{background-color:var(--hover-bg);color:var(--text-primary)}.view-all-link{color:var(--primary);text-decoration:none;font-size:14px;font-weight:500;background:none;border:none;cursor:pointer;padding:8px 0;width:100%;transition:color .2s ease}.view-all-link:hover{text-decoration:underline;color:var(--primary-hover)}.dropdown-footer{padding:12px 16px;border-top:1px solid var(--border);background-color:var(--background-secondary)}.mark-as-read-btn{width:100%;padding:8px 12px;background-color:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:14px;cursor:pointer;transition:all .2s ease}.mark-as-read-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary);border-color:var(--primary)}.mark-as-read-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .notification-item{border-bottom-color:var(--border)}[data-theme=dark] .notification-item:hover{background-color:var(--hover-bg)}[data-theme=dark] .notification-item.unread{background-color:var(--primary-bg)}[data-theme=dark] .notification-link,[data-theme=dark] .notification-title{color:var(--text-primary)}[data-theme=dark] .notification-message{color:var(--text-secondary)}[data-theme=dark] .notification-time{color:var(--text-muted)}[data-theme=dark] .dropdown-header{background-color:var(--background-secondary);color:var(--text-primary);border-bottom-color:var(--border)}[data-theme=dark] .dropdown-header button{color:var(--text-secondary)}[data-theme=dark] .dropdown-header button:hover{background-color:var(--hover-bg);color:var(--text-primary)}[data-theme=dark] .dropdown-footer{background-color:var(--background-secondary);border-top-color:var(--border)}[data-theme=dark] .mark-as-read-btn{border-color:var(--border);color:var(--text-secondary)}[data-theme=dark] .mark-as-read-btn:hover:not(:disabled){background-color:var(--hover-bg);color:var(--text-primary)}[data-theme=dark] .empty-notifications{color:var(--text-muted)}[data-theme=dark] .notifications-dropdown::-webkit-scrollbar{width:6px}[data-theme=dark] .notifications-dropdown::-webkit-scrollbar-track{background:var(--background-secondary)}[data-theme=dark] .notifications-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}[data-theme=dark] .notifications-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.notifications-dropdown::-webkit-scrollbar{width:6px}.notifications-dropdown::-webkit-scrollbar-track{background:var(--background-secondary)}.notifications-dropdown::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.notifications-dropdown::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.top-navbar{position:fixed;top:0;right:0;left:var(--sidebar-width);height:var(--navbar-height);background:var(--card-bg);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:1050;box-shadow:var(--shadow);transition:left var(--transition);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.top-navbar.sidebar-collapsed{left:var(--sidebar-collapsed-width)}.navbar-left{display:flex;align-items:center;gap:1.5rem;flex:1;height:100%}.mobile-menu-btn{display:none;background:none;border:none;padding:.625rem;border-radius:.5rem;cursor:pointer;color:var(--text-secondary);transition:var(--transition);min-width:2.5rem;min-height:2.5rem;align-items:center;justify-content:center}.mobile-menu-btn:hover{background:var(--hover-bg);color:var(--text-primary)}.mobile-menu-btn:focus{outline:none;box-shadow:0 0 0 2px var(--focus-ring)}.search-containers{max-width:28rem;width:100%}.navbar-center{flex-grow:1;display:flex;justify-content:center}.logo-container{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-primary);height:36px}.logo-container img{height:56px!important;width:auto!important;max-height:50px!important;max-width:220px!important;-o-object-fit:contain!important;object-fit:contain!important;display:block!important}.logo-placeholder{width:32px;height:32px;background-color:var(--primary);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;border-radius:.25rem;font-weight:700}.hrms-name{font-size:1.25rem;font-weight:600}.navbar-right{display:flex;align-items:center;gap:1rem;height:100%}.navbar-actions{display:flex;align-items:center;gap:.5rem}.navbar-icon-btn{background:transparent;border:none;color:var(--text-secondary);padding:.5rem;border-radius:50%;position:relative;cursor:pointer;transition:var(--transition)}.navbar-icon-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.notification-badge{position:absolute;top:2px;right:2px;background-color:var(--error);color:var(--text-inverse);border-radius:50%;width:16px;height:16px;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700}.user-profile-section{position:relative;height:100%;display:flex;align-items:center}.user-profile-trigger{background:transparent;border:none;display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.25rem .5rem;border-radius:.5rem;transition:var(--transition);height:100%}.user-profile-trigger:hover{background-color:var(--hover-bg)}.user-avatar{width:24px;height:24px;border-radius:50%;background-color:var(--accent-blue);color:var(--text-inverse);display:flex;align-items:center;justify-content:center;font-weight:500;text-transform:uppercase}.user-details{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem}.user-name{font-weight:600;font-size:.875rem;color:var(--text-primary);line-height:1}.user-roles{font-size:.75rem;color:var(--text-secondary);text-transform:capitalize;line-height:1}.dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;background-color:var(--card-bg-solid);border:1px solid var(--border);border-radius:.5rem;box-shadow:var(--shadow-lg);width:250px;z-index:1100;overflow:hidden;animation:fadeIn .2s ease-out}@media(max-width:1024px){.dropdown-menu{right:0;left:auto;width:200px;max-width:90vw}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:.75rem 1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-weight:600}.view-all-link{font-size:.8rem;color:var(--primary);text-decoration:none}.notification-list{list-style:none;padding:0;margin:0;max-height:300px;overflow-y:auto}.notification-item{padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.875rem}.notification-item:last-child{border-bottom:none}.dropdown-footer{padding:.5rem;text-align:center;border-top:1px solid var(--border)}.mark-as-read-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:.8rem}.profile-dropdown .dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;color:var(--text-primary);background:none;border:none;width:100%;text-align:left;cursor:pointer}.profile-dropdown .dropdown-item:hover{background-color:var(--hover-bg)}.dropdown-divider{height:1px;background-color:var(--border);margin:.5rem 0}.notification-container{position:relative;display:inline-block}@media(max-width:1024px){.search-containers{max-width:16rem}.user-details{display:none!important}.user-avatar,.navbar-right,.navbar-actions,.user-profile-section,.user-profile-trigger{display:flex!important}.notification-container{display:inline-block!important}}@media(max-width:767px){.search-containers,.navbar-center{display:none!important}}@media(max-width:992px){.top-navbar{position:fixed!important;top:0;left:0!important;right:0!important;width:100vw!important;padding:0 1rem;margin:0!important;z-index:1200;box-sizing:border-box}.top-navbar.sidebar-collapsed{left:0!important;width:100vw!important;margin-left:0!important}.mobile-menu-btn{display:flex!important;align-items:center;justify-content:center;border-radius:8px;background:rgba(var(--primary-rgb),.1);border:1px solid rgba(var(--primary-rgb),.2);color:var(--primary);font-size:1.2rem;font-weight:600;transition:all .2s ease;cursor:pointer}.mobile-menu-btn:hover,.mobile-menu-btn:focus{background:rgba(var(--primary-rgb),.15);border-color:rgba(var(--primary-rgb),.3);transform:scale(1.05);outline:none}.mobile-menu-btn:active{transform:scale(.98)}.navbar-left{display:flex;align-items:center;gap:var(--mobile-gap, .75rem);flex:1;min-width:0}.navbar-right{display:flex;align-items:center;gap:var(--mobile-gap, .75rem);flex-shrink:0;margin-left:auto}.navbar-actions{gap:.75rem;flex-shrink:0}.user-profile-section{display:flex!important}.user-details,.logout-text{display:none}.logo-container{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 200px)}.hrms-name{font-size:1.1rem;font-weight:700}}@media(max-width:480px){.top-navbar{padding:0 .75rem;height:var(--navbar-height)}.navbar-left{gap:.75rem}.mobile-menu-btn{padding:.5rem;min-width:2.25rem;min-height:2.25rem;font-size:1rem}.navbar-actions{gap:.5rem}.navbar-icon-btn{padding:.5rem;min-width:2rem;min-height:2rem}.logo-placeholder{width:28px;height:28px;font-size:.9rem}.hrms-name{font-size:1rem}.logo-container{max-width:calc(100vw - 150px)}}*:focus{outline:none;box-shadow:0 0 0 2px var(--focus-ring)}.layout{display:flex;min-height:100vh;background:var(--background);position:relative;transition:background-color .3s ease}.sidebar-container{position:fixed;top:0;left:0;height:100vh;z-index:1000;transition:all .3s ease}.main-layout{flex:1;display:flex;flex-direction:column;margin-left:var(--sidebar-width);transition:margin-left var(--transition);min-height:100vh;width:calc(100vw - var(--sidebar-width))}.main-layout.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width);width:calc(100vw - var(--sidebar-collapsed-width))}.main-layout.no-sidebar{margin-left:0;width:100%}.main-layout.auth-layout{margin-left:0!important;width:100vw!important;max-width:100vw!important}.page-content{flex:1;min-height:100vh;width:100%;transition:background-color .3s ease}.page-content.with-navbar{padding-top:4rem}.page-content.auth-content{padding:0;display:flex;align-items:center;justify-content:center;min-height:100vh;width:100vw;max-width:100vw;background:var(--background-gradient);overflow-x:hidden;box-sizing:border-box}.mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg);z-index:1350;border:none;cursor:pointer;display:none;transition:opacity .3s ease}.mobile-overlay.show{display:block}@media(max-width:992px){.main-layout{margin-left:0!important;width:100vw!important;max-width:100vw!important;overflow-x:hidden}.main-layout.sidebar-collapsed,.main-layout.no-sidebar{margin-left:0!important;width:100vw!important;max-width:100vw!important}.page-content{padding:calc(var(--navbar-height) + 1rem) 1rem 1rem;width:100%;max-width:100vw;overflow-x:hidden;box-sizing:border-box}.page-content.with-navbar{padding-top:calc(var(--navbar-height) + 1rem)}.mobile-overlay{display:none;z-index:1250}.mobile-overlay.show{display:block}.sidebar-container{position:fixed!important;z-index:1300!important}.sidebar-container.mobile-open{z-index:1300!important}.layout{overflow-x:hidden;max-width:100vw}}@media(max-width:768px){.layout{overflow-x:hidden;max-width:100vw}.main-layout{max-width:100vw;overflow-x:hidden}.page-content{max-width:100vw;overflow-x:hidden;box-sizing:border-box}.page-content.auth-content{padding:0;width:100vw;max-width:100vw;overflow-x:hidden;align-items:stretch}}@media(max-width:480px){.page-content{padding:calc(var(--navbar-height) + .75rem) .75rem .75rem;max-width:100vw;overflow-x:hidden}.page-content.with-navbar{padding-top:calc(var(--navbar-height) + .75rem)}.layout,.main-layout{max-width:100vw;overflow-x:hidden}.page-content.auth-content{padding:0;width:100vw;max-width:100vw;overflow-x:hidden;min-height:100vh}}.main-layout,.sidebar-container{transition:margin-left var(--transition),width var(--transition),transform var(--transition)}body{background:var(--background)!important;color:var(--text-primary)!important;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background-color .3s ease,color .3s ease}/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.z-50{z-index:50}.container{width:100%}.mx-auto{margin-inline:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.w-full{width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.object-cover{-o-object-fit:cover;object-fit:cover}.text-center{text-align:center}.text-right{text-align:right}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@layer base{:root{--background:220 15% 96%;--foreground:220 25% 15%;--card:0 0% 100%;--card-foreground:220 25% 15%;--popover:0 0% 100%;--popover-foreground:220 25% 15%;--primary:220 85% 45%;--primary-foreground:210 40% 98%;--secondary:220 30% 55%;--secondary-foreground:220 25% 15%;--muted:220 12% 92%;--muted-foreground:220 20% 45%;--accent:220 12% 92%;--accent-foreground:220 25% 15%;--destructive:0 84% 60%;--destructive-foreground:210 40% 98%;--border:220 15% 85%;--input:220 15% 85%;--ring:220 85% 45%;--radius:.5rem;--hr-primary-light:var(--primary-light);--hr-primary-medium:var(--primary);--hr-primary-dark:var(--primary-dark);--hr-accent-light:var(--accent-blue);--hr-accent-dark:var(--primary-dark);--hr-neutral-light:var(--background-secondary);--hr-neutral-dark:var(--background-tertiary);--hr-white:var(--text-inverse);--hr-glass:var(--primary-bg)}}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-primary);background:var(--background);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app{background:var(--background);flex-direction:column;min-height:100vh;display:flex}.main-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:0 0;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:20px}.loading{height:50vh;color:var(--text-muted);justify-content:center;align-items:center;font-size:1.2rem;display:flex}.navigation{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);z-index:1000;position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;height:70px;margin:0 auto;padding:0 20px;display:flex}.brand-link{color:var(--text-primary);text-decoration:none}.brand-link h2{color:var(--primary);letter-spacing:-.5px;font-weight:600}.nav-user{align-items:center;gap:20px;display:flex}.user-info{align-items:center;gap:12px;display:flex}.user-avatar-small{border-radius:50%;width:40px;height:40px;overflow:hidden}.user-avatar-small img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.avatar-placeholder-small{background:linear-gradient(135deg,var(--primary),var(--primary-dark));width:100%;height:100%;color:var(--text-inverse);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;line-height:1;display:flex}.user-details-small{flex-direction:column;display:flex}.user-name{color:var(--text-primary);font-size:14px;font-weight:600}.user-role{color:var(--text-secondary);text-transform:capitalize;font-size:12px}.nav-actions{align-items:center;gap:15px;display:flex}.nav-link{color:var(--text-primary);border-radius:8px;padding:8px 16px;font-weight:500;text-decoration:none;transition:all .3s}.nav-link:hover{background:var(--hover-bg);color:var(--text-primary);transform:translateY(-1px)}.nav-link.active,.nav-link.btn-primary{background:var(--primary);color:var(--text-inverse)}.nav-link.btn-primary:hover{background:var(--primary-dark)}.nav-guest{gap:15px;display:flex}.logout-button{background:var(--accent-red);color:var(--text-inverse);cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-weight:500;transition:all .3s}.logout-button:hover{background:var(--accent-red);opacity:.9;transform:translateY(-1px)}.auth-container{justify-content:center;align-items:center;min-height:calc(100vh - 70px);padding:20px;display:flex}.auth-card{background:var(--card-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:400px;box-shadow:var(--shadow-xl);border-radius:20px;padding:40px}.auth-header{text-align:center;margin-bottom:30px}.auth-header h2{color:var(--text-primary);margin-bottom:8px;font-size:28px}.auth-header p{color:var(--text-secondary);font-size:16px}.auth-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-primary);font-size:14px;font-weight:600}.form-input{border:2px solid var(--border);background:var(--input-bg);color:var(--text-primary);border-radius:10px;padding:12px 16px;font-size:16px;transition:all .2s}.form-input:focus{border-color:var(--primary);box-shadow:var(--input-focus-shadow);outline:none}.form-input.error{border-color:var(--error)}.form-select{border:2px solid var(--border);background:var(--input-bg);color:var(--text-primary);cursor:pointer;border-radius:10px;padding:12px 16px;font-size:16px;transition:all .2s}.form-select:focus{border-color:var(--primary);box-shadow:var(--input-focus-shadow);outline:none}.auth-button{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:var(--text-inverse);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:14px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.auth-button:hover:not(:disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.spinner{border:2px solid var(--text-inverse);border-top:2px solid var(--text-inverse);opacity:.3;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.spinner:before{border-top-color:var(--text-inverse)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border);border-radius:8px;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex;position:relative}.error-icon{font-size:16px}.error-close{color:var(--error);cursor:pointer;background:0 0;border:none;font-size:18px;font-weight:700;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-footer{text-align:center;margin-top:20px}.auth-footer p{color:var(--text-secondary);font-size:14px}.auth-link{color:var(--primary);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.dashboard-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px}.dashboard-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.dashboard-header h1{color:var(--text-primary);font-size:32px;font-weight:700}.logout-btn{background:var(--error);color:var(--text-inverse);cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-weight:600;transition:all .2s}.logout-btn:hover{opacity:.9}.user-info-card{background:var(--background-secondary);border-radius:12px;align-items:center;gap:20px;margin-bottom:30px;padding:20px;display:flex}.user-avatar{border-radius:50%;width:40px;height:40px;overflow:hidden}.user-avatar img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.avatar-placeholder{background:linear-gradient(135deg,var(--primary),var(--primary-dark));width:100%;height:100%;color:var(--text-inverse);border-radius:50%;justify-content:center;align-items:center;font-size:32px;font-weight:700;line-height:1;display:flex}.user-details{flex:1}.user-details h3{color:var(--text-primary);margin-bottom:8px;font-size:24px}.user-details p{color:var(--text-secondary);margin-bottom:4px;font-size:16px}.status-active{color:var(--success-border)!important}.role-content{margin-top:30px}.admin-panel,.hr-panel,.manager-panel,.employee-panel{background:var(--card-bg-solid);box-shadow:var(--shadow-sm);border-radius:12px;padding:25px}.admin-panel h3,.hr-panel h3,.manager-panel h3,.employee-panel h3{color:var(--text-primary);margin-bottom:10px;font-size:20px}.admin-panel p,.hr-panel p,.manager-panel p,.employee-panel p{color:var(--text-secondary);margin-bottom:20px}.admin-actions,.hr-actions,.manager-actions,.employee-actions{flex-wrap:wrap;gap:15px;display:flex}.dashboard-wrapper{background:var(--background);padding:24px}.dashboard-hero{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:var(--text-inverse);box-shadow:var(--shadow-lg);border-radius:16px;margin-bottom:32px;padding:32px}.hero-title{color:var(--text-inverse);margin-bottom:8px;font-size:2.5rem;font-weight:700}.hero-subtitle{opacity:.9;margin:5px;font-size:1.1rem}.stats-container{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px;display:grid}.stat-card{background:var(--card-bg-solid);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:12px;padding:24px;transition:all .3s;position:relative;overflow:hidden}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card:before{content:"";background:linear-gradient(90deg,var(--primary),var(--primary-dark));height:4px;position:absolute;top:0;left:0;right:0}.stat-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.stat-icon{background:linear-gradient(135deg,var(--primary-bg),var(--primary-bg));width:48px;height:48px;color:var(--primary-dark);border-radius:12px;justify-content:center;align-items:center;font-size:20px;display:flex}.stat-icon svg{width:24px;height:24px}.stat-number{color:var(--text-primary);margin:0 0 8px;font-size:2.5rem;font-weight:800;line-height:1}.stat-label{color:var(--text-secondary);margin:0 0 4px;font-size:.875rem;font-weight:500}.stat-detail{color:var(--text-muted);margin:0 0 12px;font-size:.75rem}.stat-change{border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:600;display:inline-block}.stat-change.positive{background:var(--success-bg);color:var(--success)}.stat-change.negative{background:var(--error-bg);color:var(--error)}[data-theme=dark] .stat-card{background:var(--card-bg-solid);border-color:var(--border)}[data-theme=dark] .stat-number{color:var(--text-primary)}[data-theme=dark] .stat-label{color:var(--text-secondary)}[data-theme=dark] .stat-detail{color:var(--text-muted)}[data-theme=dark] .stat-icon{color:var(--primary);background:linear-gradient(135deg,#3b82f633,#1d4ed84d)}.progress-bar{background:var(--background-secondary);border-radius:3px;width:100%;height:6px;margin-top:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--primary),var(--primary-dark));border-radius:3px;height:100%;transition:width .6s}.total-employees .stat-icon{background:linear-gradient(135deg,var(--primary-bg),rgba(var(--primary-rgb),.2));color:var(--primary-dark)}.present-today .stat-icon{background:linear-gradient(135deg,var(--success-bg),#07f75fef);color:var(--success-border)}.monthly-payroll .stat-icon{background:linear-gradient(135deg,var(--warning-bg),#f59e0b33);color:var(--warning-border)}.pending-approvals .stat-icon{color:var(--accent-pink);background:linear-gradient(135deg,#ec48991a,#ec489933)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:24px;margin-bottom:32px;display:grid}.dashboard-card{background:var(--card-bg-solid);box-shadow:var(--shadow);border:1px solid var(--border);border-radius:12px;padding:24px;transition:all .3s}.dashboard-card:hover{box-shadow:var(--shadow-lg)}.card-header{border-bottom:1px solid var(--border-light);margin-bottom:20px;padding-bottom:12px}.card-header h3{color:var(--text-primary);margin:0 0 4px;font-size:1.25rem;font-weight:700}.card-header p{color:var(--text-secondary);margin:0;font-size:.875rem}.activities-list{flex-direction:column;gap:16px;display:flex}.activity-item{border-radius:8px;align-items:center;gap:12px;padding:12px;transition:background-color .2s;display:flex}.activity-item:hover{background:var(--hover-bg)}.activity-indicator{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.activity-indicator.pending{background:var(--warning-bg);color:var(--warning)}.activity-indicator.success{background:var(--success-bg);color:var(--success)}.activity-content{flex:1}.activity-main{color:var(--text-primary);margin-bottom:2px;font-size:.875rem;font-weight:500}.activity-time{color:var(--text-secondary);font-size:.75rem}.activity-status{text-transform:uppercase;letter-spacing:.05em;border-radius:12px;padding:4px 8px;font-size:.75rem;font-weight:600}.activity-status.pending{background:var(--warning-bg);color:var(--warning)}.activity-status.success{background:var(--success-bg);color:var(--success)}.events-list{flex-direction:column;gap:16px;display:flex}.event-item{border-radius:8px;align-items:center;gap:12px;padding:12px;transition:background-color .2s;display:flex}.event-item:hover{background:var(--hover-bg)}.event-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.event-icon.meeting{background:var(--info-bg);color:var(--info-border)}.event-icon.birthday{background:var(--error-bg);color:var(--error-border)}.event-icon.payroll{background:var(--warning-bg);color:var(--warning-border)}.event-content{flex:1}.event-title{color:var(--text-primary);margin-bottom:2px;font-size:.875rem;font-weight:500}.event-time{color:var(--text-secondary);font-size:.75rem}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.action-btn{cursor:pointer;text-align:left;border:none;border-radius:8px;align-items:center;gap:12px;padding:16px 20px;font-size:.875rem;font-weight:500;transition:all .2s;display:flex}.action-btn.primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--text-inverse)}.action-btn.primary:hover{background:linear-gradient(135deg,var(--primary-dark),var(--primary-hover));box-shadow:0 4px 12px rgba(var(--primary-rgb),.4);transform:translateY(-1px)}.action-btn.secondary{background:var(--background-tertiary);color:var(--text-secondary);border:1px solid var(--border)}.action-btn.secondary:hover{background:var(--background-secondary);color:var(--text-primary);box-shadow:var(--shadow);transform:translateY(-1px)}.action-icon{font-size:18px}@media(max-width:1024px){.dashboard-grid{grid-template-columns:1fr}.stats-container{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media(max-width:768px){.dashboard-wrapper{padding:16px}.hero-title{font-size:2rem}.stats-container,.dashboard-grid{grid-template-columns:1fr;gap:16px}.actions-grid{grid-template-columns:1fr}}@media(max-width:480px){.hero-title{font-size:1.8rem}.stat-number{font-size:2rem}.stat-icon{width:40px;height:40px;font-size:16px}.stat-icon svg{width:20px;height:20px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.Toastify__toast-container{z-index:9999999;font-family:inherit}.Toastify__toast{border-radius:12px;box-shadow:var(--shadow-lg);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-weight:500;min-height:64px}[data-theme=light] .Toastify__toast,[data-theme=dark] .Toastify__toast{background:var(--card-bg-solid);color:var(--text-primary)}.Toastify__toast-body{padding:12px 16px;font-size:14px;line-height:1.5;color:inherit}[data-theme=light] .Toastify__toast-body,[data-theme=dark] .Toastify__toast-body{color:var(--text-primary)}[data-theme=light] .toast-success.Toastify__toast--success .Toastify__toast-body{color:#065f46}[data-theme=dark] .toast-success.Toastify__toast--success .Toastify__toast-body,[data-theme=dark] .toast-error.Toastify__toast--error .Toastify__toast-body,[data-theme=dark] .toast-warning.Toastify__toast--warning .Toastify__toast-body,[data-theme=dark] .toast-info.Toastify__toast--info .Toastify__toast-body{color:#fff!important}[data-theme=light] .toast-error.Toastify__toast--error .Toastify__toast-body{color:#991b1b}[data-theme=light] .toast-warning.Toastify__toast--warning .Toastify__toast-body{color:#92400e}[data-theme=light] .toast-info.Toastify__toast--info .Toastify__toast-body{color:#1e40af}.toast-success.Toastify__toast--success{border-left:4px solid var(--success)}[data-theme=light] .toast-success.Toastify__toast--success{background:#d1fae5!important;color:#065f46!important}[data-theme=dark] .toast-success.Toastify__toast--success{background:#10b981!important;color:#fff!important}.Toastify__toast--success .Toastify__toast-icon{color:var(--success)}.toast-error.Toastify__toast--error{border-left:4px solid var(--error)}[data-theme=light] .toast-error.Toastify__toast--error{background:#fee2e2!important;color:#991b1b!important}[data-theme=dark] .toast-error.Toastify__toast--error{background:#dc2626!important;color:#fff!important}.Toastify__toast--error .Toastify__toast-icon{color:var(--error)}.toast-warning.Toastify__toast--warning{border-left:4px solid var(--warning)}[data-theme=light] .toast-warning.Toastify__toast--warning{background:#fef3c7!important;color:#92400e!important}[data-theme=dark] .toast-warning.Toastify__toast--warning{background:#f59e0b!important;color:#fff!important}.Toastify__toast--warning .Toastify__toast-icon{color:var(--warning)}.toast-info.Toastify__toast--info{border-left:4px solid var(--info)}[data-theme=light] .toast-info.Toastify__toast--info{background:#dbeafe!important;color:#1e40af!important}[data-theme=dark] .toast-info.Toastify__toast--info{background:#3b82f6!important;color:#fff!important}.Toastify__toast--info .Toastify__toast-icon{color:var(--info)}.toast-loading.Toastify__toast--loading{border-left:4px solid var(--primary)}.Toastify__progress-bar{height:3px}.Toastify__progress-bar--success{background:linear-gradient(90deg,var(--success),var(--success-border))}.Toastify__progress-bar--error{background:linear-gradient(90deg,var(--error),var(--error-border))}.Toastify__progress-bar--warning{background:linear-gradient(90deg,var(--warning),var(--warning-border))}.Toastify__progress-bar--info{background:linear-gradient(90deg,var(--info),var(--primary))}.Toastify__progress-bar--loading{background:linear-gradient(90deg,var(--primary),var(--primary-light))}.Toastify__close-button{color:var(--text-secondary);opacity:.9;transition:opacity .2s ease}[data-theme=light] .toast-success.Toastify__toast--success .Toastify__close-button,[data-theme=light] .toast-info.Toastify__toast--info .Toastify__close-button{color:var(--text-primary);opacity:.7}[data-theme=dark] .toast-success.Toastify__toast--success .Toastify__close-button,[data-theme=dark] .toast-error.Toastify__toast--error .Toastify__close-button,[data-theme=dark] .toast-warning.Toastify__toast--warning .Toastify__close-button,[data-theme=dark] .toast-info.Toastify__toast--info .Toastify__close-button{color:#ffffffe6}.Toastify__close-button:hover{opacity:1}@media screen and (max-width:768px){.Toastify__toast-container{width:100%;padding:0 16px;left:0;right:0;margin-left:0;margin-right:0}.Toastify__toast{margin-bottom:8px;border-radius:8px}}.Toastify__toast--loading .Toastify__toast-icon{animation:toast-loading-spin 1s linear infinite}@keyframes toast-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast-attendance .Toastify__toast-body{display:flex;align-items:center;gap:8px}.toast-attendance .toast-emoji{font-size:18px}.Toastify__toast:hover{transform:translateY(-1px);box-shadow:var(--shadow-xl)}.Toastify__toast:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.Toastify__toast--success .Toastify__toast-icon:before{content:"✅";font-size:16px}.Toastify__toast--error .Toastify__toast-icon:before{content:"❌";font-size:16px}.Toastify__toast--warning .Toastify__toast-icon:before{content:"⚠️";font-size:16px}.Toastify__toast--info .Toastify__toast-icon:before{content:"ℹ️";font-size:16px}.Toastify__toast--loading .Toastify__toast-icon svg{animation:toast-loading-spin 1s linear infinite}.Toastify__toast-container--top-right{top:calc(var(--navbar-height) + 16px);right:24px}.Toastify__toast-container--top-left{top:calc(var(--navbar-height) + 16px);left:24px}.Toastify__toast-container--bottom-right{bottom:24px;right:24px}.Toastify__toast-container--bottom-left{bottom:24px;left:24px}.toast-validation-error.Toastify__toast--error{border-left:4px solid var(--error)!important;background:var(--error-bg)!important;color:var(--error-text)!important;max-width:500px;white-space:pre-line}.toast-validation-detailed.Toastify__toast--error{border-left:4px solid var(--error)!important;background:var(--error-bg)!important;color:var(--error-text)!important;max-width:600px;white-space:pre-line;font-size:13px;line-height:1.5}.toast-form-validation.Toastify__toast--error{border-left:4px solid var(--error)!important;background:var(--error-bg)!important;color:var(--error-text)!important;max-width:550px;white-space:pre-line;font-size:14px;line-height:1.4}.toast-validation-error .Toastify__toast-body,.toast-validation-detailed .Toastify__toast-body,.toast-form-validation .Toastify__toast-body{white-space:pre-line;word-wrap:break-word;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}[data-theme=dark] .toast-validation-error.Toastify__toast--error,[data-theme=dark] .toast-validation-detailed.Toastify__toast--error,[data-theme=dark] .toast-form-validation.Toastify__toast--error,[data-theme=light] .toast-validation-error.Toastify__toast--error,[data-theme=light] .toast-validation-detailed.Toastify__toast--error,[data-theme=light] .toast-form-validation.Toastify__toast--error{background:#dc2626!important;color:#fff!important;border-left-color:#fca5a5!important}.toast-validation-error .Toastify__toast-icon:before,.toast-validation-detailed .Toastify__toast-icon:before,.toast-form-validation .Toastify__toast-icon:before{content:"🚫";font-size:16px}
