@import url("https://fonts.googleapis.com/css2?family=Funnel+Sans:ital,wght@0,300..800;1,300..800&display=swap");:root{--primary:#272727;--primary-hover:#000000;--secondary:#64748b;--background:#ffffff;--surface:#f8fafc;--surface-hover:#f1f5f9;--text-primary:#0f172a;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-light:#f1f5f9;--success:#10b981;--error:#ef4444;--warning:#f59e0b;--accent:#3b82f6;--shadow:rgba(0,0,0,0.1);--shadow-lg:rgba(0,0,0,0.15);--font-primary:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-size-xs:7px;--font-size-sm:10px;--font-size-base:12px;--font-size-md:11px;--font-size-lg:12px;--font-size-xl:13px;--font-size-2xl:14px;--font-size-3xl:16px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:Funnel Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:var(--text-primary);background:var(--background)}a{color:inherit;text-decoration:none}button{border:none;background:none;cursor:pointer}button,input,select,textarea{font-family:inherit}.sidebar{height:100vh;background:linear-gradient(180deg,var(--primary) 0,var(--primary-hover) 100%);border-right:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:100;box-shadow:0 8px 32px rgba(0,0,0,.3);font-family:var(--font-primary);transition:width .3s ease}.sidebar.open{width:280px}.sidebar.closed{width:70px}.sidebar-header{padding:20px;border-bottom:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);gap:12px;min-height:80px}.sidebar-header,.toggle-btn{color:white;display:flex;align-items:center}.toggle-btn{width:32px;height:32px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;justify-content:center;transition:all .2s ease;flex-shrink:0}.toggle-btn:hover{background:rgba(255,255,255,.3);transform:scale(1.05)}.brand{gap:12px;min-width:0}.brand,.brand-icon{display:flex;align-items:center}.brand-icon{width:36px;height:36px;background:rgba(255,255,255,.2);border-radius:8px;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);flex-shrink:0}.brand-text{min-width:0}.brand-text h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0;color:white;letter-spacing:-.5px;white-space:nowrap}.brand-subtitle{font-size:var(--font-size-md);color:rgba(255,255,255,.8);font-weight:var(--font-weight-normal);margin-top:2px;display:block;white-space:nowrap}.sidebar-search{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05)}.search-wrapper{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:12px;color:rgba(255,255,255,.6);z-index:1}.search-input{width:100%;padding:10px 12px 10px 36px;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.1);color:white;font-size:var(--font-size-xl);font-family:var(--font-primary);transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.search-input:focus{outline:none;border-color:rgba(255,255,255,.4);box-shadow:0 0 0 3px rgba(255,255,255,.1);background:rgba(255,255,255,.15)}.search-input::placeholder{color:rgba(255,255,255,.6)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:8px 0;background:rgba(255,255,255,.02)}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.2);border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.3)}.nav-section{margin-bottom:16px}.nav-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.8px;color:rgba(255,255,255,.7);padding:8px 20px 6px;margin-bottom:4px}.menu-item{margin-bottom:2px}.menu-link{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;cursor:pointer;transition:all .2s ease;color:rgba(255,255,255,.9);border-radius:0 20px 20px 0;margin-right:8px;overflow:hidden}.sidebar.closed .menu-link{padding:12px;border-radius:8px;margin:2px 8px;justify-content:center}.menu-link:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:white;transform:scaleY(0);transition:transform .2s ease;display:none}.menu-link:hover{background:rgba(255,255,255,.15);color:white;transform:translateX(3px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar.closed .menu-link:hover{transform:scale(1.05)}.menu-link:hover:before{transform:scaleY(1)}.menu-link.active{background:rgba(255,255,255,.2);color:white;font-weight:var(--font-weight-semibold);box-shadow:0 4px 16px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-link.active:before{transform:scaleY(1)}.menu-content{display:flex;align-items:center;gap:12px;flex:1 1;min-width:0}.sidebar.closed .menu-content{gap:0;justify-content:center}.menu-icon-wrapper{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.menu-icon-lucide{transition:all .2s ease;color:rgba(255,255,255,.8)}.menu-link:hover .menu-icon-lucide{transform:scale(1.1);color:white}.menu-link.active .menu-icon-lucide{color:white}.menu-icon-img{width:20px;height:20px;object-fit:contain;transition:all .2s ease;filter:brightness(0) invert(1) opacity(.8)}.menu-link:hover .menu-icon-img{transform:scale(1.1);filter:brightness(0) invert(1)}.menu-link.active .menu-icon-img{filter:brightness(0) invert(1)}.menu-text{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .2s ease;letter-spacing:-.2px}.menu-count{background:white;color:var(--primary);padding:2px 7px;border-radius:10px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);margin-left:auto;margin-right:6px;min-width:18px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.2)}.menu-arrow{color:rgba(255,255,255,.6);transition:all .2s ease;transform-origin:center}.menu-arrow.expanded{transform:rotate(90deg);color:white}.menu-link:hover .menu-arrow{color:white}.submenu{border-left:3px solid white;margin-left:20px;border-radius:0 0 12px 0;max-height:0;overflow:hidden;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.submenu.expanded{max-height:400px;padding:6px 0}.submenu-tooltip{position:fixed;left:70px;background:rgba(0,0,0,.95);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:12px 0;margin-left:12px;min-width:220px;max-width:280px;opacity:0;visibility:hidden;transform:translateX(-10px);transition:all .3s ease;z-index:9999;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 12px 32px rgba(0,0,0,.4);pointer-events:none}.submenu-tooltip.show{opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto}.menu-item{position:relative}.menu-item .submenu-tooltip{top:0}.menu-item:first-child .submenu-tooltip{top:140px}.menu-item:nth-child(2) .submenu-tooltip{top:188px}.menu-item:nth-child(3) .submenu-tooltip{top:236px}.menu-item:nth-child(4) .submenu-tooltip{top:284px}.menu-item:nth-child(5) .submenu-tooltip{top:332px}.menu-item:nth-child(6) .submenu-tooltip{top:380px}.menu-item:nth-child(7) .submenu-tooltip{top:428px}.menu-item:nth-child(8) .submenu-tooltip{top:476px}.menu-item:nth-child(9) .submenu-tooltip{top:524px}.menu-item:nth-child(10) .submenu-tooltip{top:572px}.tooltip-header{padding:8px 16px 12px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px}.tooltip-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:white;letter-spacing:-.2px}.tooltip-items{padding:0 4px;max-height:300px;overflow-y:auto}.tooltip-items::-webkit-scrollbar{width:4px}.tooltip-items::-webkit-scrollbar-track{background:transparent}.tooltip-items::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:2px}.tooltip-item{display:flex;align-items:center;gap:10px;padding:8px 12px;margin:2px 0;border-radius:8px;cursor:pointer;transition:all .2s ease;color:rgba(255,255,255,.8)}.tooltip-item:hover{background:rgba(255,255,255,.1);color:white;transform:translateX(2px)}.tooltip-item.active{background:rgba(255,255,255,.15);color:white;font-weight:var(--font-weight-medium)}.tooltip-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tooltip-icon .menu-icon-lucide{width:14px;height:14px;color:rgba(255,255,255,.7)}.tooltip-item:hover .tooltip-icon .menu-icon-lucide{color:white}.tooltip-icon .menu-icon-img{width:14px;height:14px;filter:brightness(0) invert(1) opacity(.7)}.tooltip-item:hover .tooltip-icon .menu-icon-img{filter:brightness(0) invert(1)}.tooltip-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);white-space:nowrap}.tooltip-item:hover .tooltip-text{font-weight:var(--font-weight-medium)}.closed-indicator{position:absolute;top:8px;right:8px;width:6px;height:6px}.closed-indicator .dot{width:4px;height:4px;background:rgba(255,255,255,.6);border-radius:50%;position:relative}.closed-indicator .dot:after{content:"";position:absolute;top:-1px;left:-1px;width:6px;height:6px;border:1px solid rgba(255,255,255,.4);border-radius:50%;animation:pulse-ring 2s ease-out infinite}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(1.4);opacity:0}}.submenu-item .menu-link{padding:8px 16px 8px 14px;margin-right:4px;border-radius:0 12px 12px 0;background:transparent;color:rgba(255,255,255,.8)}.submenu-item .menu-link:before{width:2px;background:rgba(255,255,255,.8)}.submenu-item .menu-link:hover{background:rgba(255,255,255,.1);transform:translateX(2px);color:white}.submenu-item .menu-link:hover:before{transform:scaleY(1);background:white}.submenu-item .menu-link.active{background:rgba(255,255,255,.15);color:white;font-weight:var(--font-weight-medium)}.submenu-item .menu-content{gap:8px}.submenu-item .menu-icon-wrapper{width:14px;height:14px}.submenu-item .menu-icon-lucide{width:14px;height:14px;color:rgba(255,255,255,.7)}.submenu-item .menu-link:hover .menu-icon-lucide{color:white}.submenu-item .menu-icon-img{width:14px;height:14px;filter:brightness(0) invert(1) opacity(.7)}.submenu-item .menu-link:hover .menu-icon-img{filter:brightness(0) invert(1)}.submenu-item .menu-text{font-weight:var(--font-weight-normal);font-size:var(--font-size-lg);color:rgba(255,255,255,.8);letter-spacing:0}.submenu-item .menu-link.active .menu-text,.submenu-item .menu-link:hover .menu-text{color:white;font-weight:var(--font-weight-medium)}.submenu-item .menu-link:after{content:"";position:absolute;left:6px;top:50%;transform:translateY(-50%);width:4px;height:4px;background:rgba(255,255,255,.6);border-radius:50%;transition:all .2s ease}.submenu-item .menu-link.active:after,.submenu-item .menu-link:hover:after{background:white;transform:translateY(-50%) scale(1.2)}.sidebar-loading{padding:40px 20px;text-align:center;color:rgba(255,255,255,.8);display:flex;flex-direction:column;align-items:center;gap:12px;font-size:var(--font-size-xl)}.sidebar.closed .sidebar-loading{padding:40px 10px}.loading-spinner{width:24px;height:24px;border:2px solid rgba(255,255,255,.2);border-left-color:white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.sidebar-footer{border-top:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);padding:16px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar.closed .sidebar-footer{padding:16px 10px}.user-profile{display:flex;align-items:center;gap:12px;padding:12px;background:rgba(255,255,255,.1);border-radius:12px;border:1px solid rgba(255,255,255,.2);margin-bottom:12px;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar.closed .user-profile{flex-direction:column;padding:12px 8px;gap:8px;align-items:center}.user-profile:hover{box-shadow:0 4px 16px rgba(0,0,0,.2);background:rgba(255,255,255,.15)}.user-avatar{position:relative;flex-shrink:0}.avatar-circle{width:32px;height:32px;background:rgba(255,255,255,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;color:white;border:1px solid rgba(255,255,255,.3)}.status-indicator{position:absolute;bottom:-2px;right:-2px;width:10px;height:10px;background:var(--success);border:2px solid white;border-radius:50%}.user-info{flex:1 1;min-width:0}.user-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:white;margin-bottom:1px}.user-name,.user-role{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:var(--font-size-md);color:rgba(255,255,255,.7);text-transform:capitalize}.user-actions{display:flex;gap:4px;flex-shrink:0}.user-actions-vertical{display:flex;flex-direction:column;gap:6px;align-items:center}.logout-btn,.logout-btn-vertical,.notification-btn{width:28px;height:28px;border:none;border-radius:6px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notification-btn:hover{background:var(--warning);color:white}.logout-btn-vertical:hover,.logout-btn:hover{background:var(--error);color:white;transform:scale(1.05)}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--error);color:white;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:1px 4px;border-radius:6px;min-width:14px;text-align:center}.sidebar-version{text-align:center}.version-info{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:rgba(255,255,255,.1);border-radius:8px;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.version-label{font-size:var(--font-size-sm);color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.5px}.version-number{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:white}.dashboard-layout{display:flex;min-height:100vh}.dashboard-layout.sidebar-open .dashboard-main{margin-left:280px}.dashboard-layout.sidebar-closed .dashboard-main{margin-left:70px}.dashboard-main{flex:1 1;transition:margin-left .3s ease;min-height:100vh;background:var(--background)}.dashboard-content{width:100%;min-height:100vh;padding:0;margin:0}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--background);gap:16px}.dashboard-loading .loading-spinner{width:32px;height:32px;border-left:3px solid var(--border);border:3px solid var(--border);border-left-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.dashboard-loading p{color:var(--text-secondary);font-size:var(--font-size-lg)}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:transform .3s ease,width .3s ease;width:280px!important}.sidebar.open{transform:translateX(0)}.dashboard-layout.sidebar-closed .dashboard-main,.dashboard-layout.sidebar-open .dashboard-main{margin-left:0}.brand-text h2{font-size:var(--font-size-2xl)}.menu-text{font-size:var(--font-size-lg)}}.menu-item:first-child{animation-delay:.05s}.menu-item:nth-child(2){animation-delay:.1s}.menu-item:nth-child(3){animation-delay:.15s}.menu-item:nth-child(4){animation-delay:.2s}.menu-item:nth-child(5){animation-delay:.25s}.menu-item:nth-child(6){animation-delay:.3s}.menu-item:nth-child(7){animation-delay:.35s}.menu-item:nth-child(8){animation-delay:.4s}.menu-item{opacity:0;animation:slideInLeft .4s ease forwards}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.menu-link:focus-visible{outline:2px solid white;outline-offset:2px}.search-input:focus-visible{outline:none}.menu-link{position:relative}.menu-link:after{content:"";position:absolute;right:8px;top:50%;transform:translateY(-50%) translateX(10px);width:4px;height:4px;background:white;border-radius:50%;opacity:0;transition:all .2s ease}.sidebar.open .menu-link.active:after,.sidebar.open .menu-link:hover:after{opacity:1;transform:translateY(-50%) translateX(0)}.user-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:rgba(255,255,255,.1);border-radius:12px;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.user-card:hover{background:rgba(255,255,255,.15);transform:translateY(-1px)}.user-details{flex:1 1;min-width:0}.user-status{position:relative}.status-dot{width:8px;height:8px;background:var(--success);border-radius:50%;border:2px solid white;box-shadow:0 0 0 2px rgba(16,185,129,.3);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 2px rgba(16,185,129,.3)}70%{box-shadow:0 0 0 6px rgba(16,185,129,0)}to{box-shadow:0 0 0 2px rgba(16,185,129,0)}}.sidebar.closed .menu-link{position:relative}.sidebar.closed .menu-link:hover:before{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.9);color:white;padding:6px 12px;border-radius:6px;font-size:var(--font-size-sm);white-space:nowrap;z-index:1000;margin-left:10px;opacity:0;animation:fadeIn .2s ease forwards}@keyframes fadeIn{to{opacity:1}}