.sidebar-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;opacity:0;pointer-events:none;transition:opacity var(--transition-normal, .2s ease);z-index:var(--z-modal-backdrop, 400)}.sidebar-overlay.open{opacity:1;pointer-events:auto}.sidebar{position:fixed;left:0;top:0;width:234px;height:100vh;height:100dvh;background:var(--white, #ffffff);border-right:1px solid var(--border-color, var(--border-color));display:flex;flex-direction:column;overflow:hidden;transform:translate(-100%);transition:transform var(--transition-normal, .2s ease);z-index:var(--z-modal, 500);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}@media (min-width: 1024px) and (max-width: 1280px){.sidebar{width:216px}}.sidebar-header{padding:18px 16px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:11px;background:var(--white);border-bottom:none;position:relative;overflow:visible;flex-shrink:0}.sidebar-header .notification-dropdown{left:0;right:auto}@media (min-width: 1024px){.sidebar-header .notification-dropdown{left:100%;right:auto;top:0;margin-left:4px}}.sidebar-header-actions{display:flex;align-items:center;gap:4px;position:relative;z-index:1}.sidebar-header-actions .notification-bell-container{display:none}@media (min-width: 1024px){.sidebar-header-actions .notification-bell-container{display:flex}}.sidebar-header:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:2px;border-radius:1px;background:linear-gradient(90deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.sidebar-header:before{display:none}.sidebar-header-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.sidebar-logo{display:flex;align-items:center;gap:11px;position:relative;z-index:1}.logo-icon{font-size:25px;display:flex;align-items:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.logo-icon-modern{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--background-gray);border-radius:var(--radius-lg);border:1px solid var(--border-color);color:var(--text-primary)}.logo-icon-modern svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.logo-image{width:43px;height:43px;object-fit:contain;border-radius:var(--radius-lg, 8px);background:#fffffff2;padding:var(--spacing-2, 8px);box-shadow:var(--shadow-md)}.logo-text-container{display:flex;flex-direction:column;gap:2px}.logo-title{font-size:.62rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;line-height:1}.logo-text{font-size:.9rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;line-height:1.2}.logo-text-sub{font-weight:400;color:var(--text-muted, #64748b)}.sidebar-close{display:none;background:var(--background-gray);border:none;color:var(--text-secondary);font-size:16px;cursor:pointer;padding:var(--spacing-2, 8px);border-radius:var(--radius-md, 6px);transition:background var(--transition-fast);line-height:1}.sidebar-close:hover{background:var(--border-color)}.sidebar-nav{flex:1 1 0px;min-height:0;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:4px 0}.sidebar-request-card{display:flex;align-items:center;gap:8px;margin:8px 12px;padding:10px 14px;border-radius:var(--radius-md, 8px);background:var(--surface-secondary, rgba(13, 71, 161, .06));border:1px solid var(--border-color, rgba(0, 0, 0, .08));color:var(--text-secondary);font-size:.8rem;font-weight:600;text-decoration:none;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.sidebar-request-card:hover{background:var(--brand-primary-light, rgba(13, 71, 161, .12));border-color:var(--brand-primary, #0D47A1);color:var(--brand-primary, #0D47A1)}.sidebar-request-card svg{flex-shrink:0;opacity:.7}.sidebar-request-card:hover svg{opacity:1;color:var(--brand-primary, #0D47A1)}.nav-section{margin-bottom:2px}.nav-section-label{font-family:var(--font-sans);font-size:.7rem;font-weight:600;letter-spacing:.01em;color:var(--text-muted);padding:10px 16px 4px}.nav-section-label.collapsible{display:flex;align-items:center;justify-content:space-between;width:100%;border:none;background:none;cursor:pointer;padding:10px 16px 4px;transition:color var(--transition-fast);position:relative}.nav-section-label.collapsible:hover{color:var(--text-secondary)}.nav-section-label.collapsible.has-active{color:var(--primary-color, #2563eb)}.nav-section-label.collapsible.has-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--primary-color, #2563eb);border-radius:0 2px 2px 0}.nav-section-label.collapsible.expanded{color:var(--text-primary)}.section-chevron{display:inline-flex;align-items:center;transition:transform var(--transition-fast);opacity:.5}.section-chevron.expanded{transform:rotate(180deg)}.nav-section-label.collapsible:hover .section-chevron{opacity:1}.nav-list.collapsible-list{animation:sectionSlideDown .15s ease-out;overflow:hidden}@keyframes sectionSlideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:600px}}.nav-group-header{padding:16px 12px 4px}.nav-group-header.first{padding-top:4px}.nav-group-divider{height:1px;background:linear-gradient(to right,color-mix(in srgb,var(--primary-color, #1B3A5C) 15%,transparent),color-mix(in srgb,var(--primary-color, #1B3A5C) 6%,transparent));margin-bottom:10px}.nav-group-label{--group-color: var(--primary-color, #1B3A5C);display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 8px;border-radius:6px;font-family:var(--font-display);font-size:.65rem;font-weight:600;letter-spacing:.01em;background:color-mix(in srgb,var(--group-color) 10%,transparent);color:var(--group-color)}.nav-group-label:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--group-color);opacity:.6}.nav-section-divider{height:1px;background:var(--background-gray);margin:4px 16px 2px}.nav-list{list-style:none;margin:0;padding:0}.nav-list>li{margin-bottom:1px}.nav-link{display:flex;align-items:center;gap:9px;padding:8px 10px;margin:0 8px;color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);font-family:var(--font-sans);font-size:.73rem;font-weight:500;line-height:1.4;border:none;background:none;cursor:pointer;width:calc(100% - 16px);text-align:left;border-radius:var(--radius-lg);position:relative}.nav-link:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-link.active{background:var(--background-gray);color:var(--text-primary);font-weight:600}.nav-link.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:linear-gradient(180deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.nav-link.menu-toggle{justify-content:space-between;padding-right:10px;font-family:var(--font-sans);font-size:.73rem;font-weight:500;line-height:1.4}.nav-link.menu-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-link.menu-toggle.expanded{background:var(--background-gray);color:var(--text-primary);font-weight:600}.nav-link-with-toggle{display:flex;align-items:center;margin:0 8px;border-radius:var(--radius-lg);position:relative;width:calc(100% - 16px)}.nav-link-with-toggle .nav-link-main{display:flex;align-items:center;gap:9px;flex:1;padding:8px 4px 8px 10px;color:var(--text-secondary);text-decoration:none;font-family:var(--font-sans);font-size:.73rem;font-weight:500;line-height:1.4;border-radius:var(--radius-lg) 0 0 var(--radius-lg);transition:all var(--transition-fast)}.nav-link-with-toggle .nav-link-main:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-link-with-toggle.active .nav-link-main{background:var(--background-gray);color:var(--text-primary);font-weight:600}.nav-link-with-toggle.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 2px 2px 0;background:linear-gradient(180deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.nav-link-with-toggle.child-active .nav-link-main{color:var(--text-primary)}.nav-toggle-btn{display:flex;align-items:center;justify-content:center;padding:8px 10px 8px 6px;background:none;border:none;cursor:pointer;color:var(--text-muted);border-radius:0 var(--radius-lg) var(--radius-lg) 0;transition:all var(--transition-fast)}.nav-toggle-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.nav-toggle-btn svg{transition:transform var(--transition-fast)}.nav-toggle-btn.expanded svg{transform:rotate(180deg)}.toggle-icon{display:inline-flex;align-items:center;justify-content:center;transition:transform var(--transition-fast);min-width:11px;color:var(--text-muted, var(--text-muted))}.toggle-icon.expanded{transform:rotate(180deg)}.nav-icon{display:inline-flex;align-items:center;justify-content:center;min-width:18px;color:inherit}.nav-label{flex:1}.nav-link--coming-soon{opacity:.45;cursor:default;pointer-events:none}.sidebar-search-trigger{display:flex;align-items:center;gap:8px;width:calc(100% - 20px);margin:8px 10px;padding:8px 10px;background:var(--bg-secondary, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;color:var(--text-muted, #94a3b8);font-size:.8125rem;cursor:pointer;transition:border-color .15s,color .15s;font-family:inherit}.sidebar-search-trigger:hover{border-color:var(--primary-color, #1B3A5C);color:var(--text-secondary, #64748b)}.sidebar-search-trigger--collapsed{width:36px;height:36px;margin:8px auto;padding:0;justify-content:center}.sidebar-search-trigger__text{flex:1}.sidebar-search-trigger__kbd{background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:1px 5px;font-size:.625rem;color:#94a3b8;font-family:inherit;line-height:1.4}.nav-link--action,.sidebar-popover-link--action{background:none;border:none;width:100%;text-align:left;font:inherit;cursor:pointer}.coming-soon-badge{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--border-color, #dee2e6);color:var(--text-muted, #6c757d);padding:1px 6px;border-radius:4px;margin-left:auto;flex-shrink:0}.setup-progress-badge{font-size:.6rem;font-weight:700;background:linear-gradient(135deg,var(--primary-color, #0ea5e9),#6366f1);color:#fff;padding:1px 7px;border-radius:10px;margin-left:auto;flex-shrink:0;letter-spacing:.03em;line-height:1.6}.submenu{list-style:none;padding:2px 0;background:transparent;border-left:none;margin:2px 0 4px;animation:slideDown var(--transition-fast)}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.submenu li{display:list-item}.submenu-link{display:flex;align-items:center;gap:7px;padding:6px 10px 6px 28px;margin:1px 8px 1px 20px;color:var(--text-secondary);text-decoration:none;font-size:.68rem;font-weight:500;transition:all var(--transition-fast);border-radius:var(--radius-md);position:relative}.submenu-icon{display:inline-flex;align-items:center;justify-content:center;min-width:14px;opacity:.6}.submenu-label{flex:1}.submenu-link:hover{color:var(--text-primary);background:var(--bg-secondary)}.submenu-link.active{color:var(--text-primary);background:var(--background-gray);font-weight:600}.submenu-link.active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;border-radius:0 2px 2px 0;background:linear-gradient(180deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626))}.sidebar-footer{padding:14px 16px;border-top:1px solid var(--border-color);background:var(--bg-secondary);display:flex;flex-direction:column;gap:10px;flex-shrink:0;position:relative;z-index:2}.sidebar-upsell{margin:4px 12px 8px;padding:12px;background:linear-gradient(135deg,var(--info-light) 0%,var(--info-light) 100%);border:1px solid var(--info-light);border-radius:var(--radius-xl);display:flex;align-items:center;gap:10px;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden}.sidebar-upsell:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--primary-color);border-radius:10px 10px 0 0}.sidebar-upsell:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.sidebar-upsell-icon{width:36px;height:36px;border-radius:var(--radius-lg);background:var(--primary-color);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--white)}.sidebar-upsell-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-upsell-badge{display:inline-block;width:fit-content;font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--white);background:var(--primary-color);padding:1px 6px;border-radius:var(--radius-sm);line-height:1.5}.sidebar-upsell-title{font-size:.72rem;font-weight:700;color:var(--text-primary);line-height:1.2}.sidebar-upsell-desc{font-size:.6rem;color:var(--text-secondary);line-height:1.3}.sidebar-upsell-arrow{flex-shrink:0;color:var(--text-muted);transition:transform .2s ease}.sidebar-upsell:hover .sidebar-upsell-arrow{transform:translate(2px);color:var(--primary-color)}.footer-tenant-name{display:flex;align-items:center;gap:8px;padding:6px 10px;font-size:.72rem;font-weight:600;color:var(--text-secondary);letter-spacing:.01em}.footer-tenant-name svg{flex-shrink:0;color:var(--text-muted)}.footer-profile-wrapper{position:relative}.footer-user-info{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border-color);transition:all var(--transition-fast)}.footer-user-info:hover{background:var(--background-gray);border-color:var(--text-light)}.footer-user-avatar{font-size:18px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--background-gray);border-radius:50%}.footer-user-email{font-size:.72rem;color:var(--text-primary);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.footer-profile-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .2s ease}.footer-profile-chevron.open{transform:rotate(180deg)}.footer-profile-menu{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;z-index:50;animation:profileMenuIn .12s ease-out}@keyframes profileMenuIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.footer-profile-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 14px;border:none;background:transparent;font-family:var(--font-sans);font-size:.76rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:background .12s ease}.footer-profile-menu-item:hover{background:var(--background-gray)}.footer-profile-menu-item svg{flex-shrink:0;color:var(--text-secondary)}.footer-profile-menu-item--danger{color:var(--error-color)}.footer-profile-menu-item--danger svg{color:var(--error-color)}.footer-profile-menu-item--danger:hover{background:#dc26260f}.tenant-switcher{position:relative}.tenant-switcher-trigger{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;font-size:.72rem;font-weight:600;color:var(--text-primary);transition:all var(--transition-fast)}.tenant-switcher-trigger:hover{background:var(--background-gray);border-color:var(--primary-color, var(--primary-color))}.tenant-switcher-trigger svg:first-child{flex-shrink:0;color:var(--primary-color, var(--primary-color))}.tenant-switcher-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-switcher-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .2s ease}.tenant-switcher-chevron.open{transform:rotate(180deg)}.tenant-switcher-dropdown{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden;animation:tenantDropdownIn .15s ease}@keyframes tenantDropdownIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tenant-switcher-label{padding:8px 12px 4px;font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.tenant-switcher-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:none;cursor:pointer;font-size:.73rem;font-weight:500;color:var(--text-secondary);transition:background .1s}.tenant-switcher-option:hover:not(:disabled){background:var(--background-gray)}.tenant-switcher-option.current{background:var(--info-light);color:var(--primary-color, var(--primary-color));font-weight:600}.tenant-switcher-option:disabled{cursor:default}.tenant-switcher-option-logo{width:28px;height:28px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626));display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.tenant-switcher-option-logo img{width:100%;height:100%;object-fit:cover}.tenant-switcher-option-logo span{color:var(--white);font-size:.72rem;font-weight:700}.tenant-switcher-option-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-switcher-option svg:last-child{color:var(--primary-color, var(--primary-color));flex-shrink:0}@media (max-width: 768px){.sidebar-close{display:flex!important;align-items:center;justify-content:center}}@media (min-width: 1024px){.sidebar{transform:translate(0);box-shadow:var(--shadow-sm);overflow:visible}.sidebar:not(.collapsed) .sidebar-nav{overflow-y:auto}.nav-link.menu-toggle{display:flex!important}.sidebar-overlay{display:none!important;opacity:0!important;pointer-events:none!important;visibility:hidden!important}.sidebar-close{display:none!important}}.sidebar-nav::-webkit-scrollbar{width:5px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border-color, var(--border-color));border-radius:var(--radius-sm)}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sidebar-collapse-btn{display:none;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border-color);border-radius:var(--radius-md, 6px);background:var(--white);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);padding:0}.sidebar-collapse-btn:hover{background:var(--background-gray);color:var(--text-primary);border-color:var(--text-muted)}@media (min-width: 1024px){.sidebar-collapse-btn{display:flex}}@media (min-width: 1024px){.sidebar.collapsed{width:64px;overflow:visible}.sidebar.collapsed .logo-text-container,.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section-label,.sidebar.collapsed .nav-group-header,.sidebar.collapsed .nav-section-divider,.sidebar.collapsed .submenu,.sidebar.collapsed .toggle-icon,.sidebar.collapsed .coming-soon-badge,.sidebar.collapsed .setup-progress-badge,.sidebar.collapsed .sidebar-footer,.sidebar.collapsed .sidebar-upsell,.sidebar.collapsed .sidebar-header:after,.sidebar.collapsed .notification-bell-container{display:none!important}.sidebar.collapsed .sidebar-header{padding:14px 12px;justify-content:center}.sidebar.collapsed .sidebar-logo{justify-content:center}.sidebar.collapsed .sidebar-header-actions{position:absolute;bottom:8px;right:6px}.sidebar.collapsed .sidebar-collapse-btn{width:24px;height:24px;border:none;background:transparent}.sidebar.collapsed .sidebar-nav{overflow:visible!important}.sidebar.collapsed .nav-link{justify-content:center;padding:10px;margin:1px 8px;width:calc(100% - 16px);position:relative}.sidebar.collapsed .nav-link.menu-toggle{justify-content:center;padding:10px}.sidebar.collapsed .nav-link-with-toggle{justify-content:center;position:relative}.sidebar.collapsed .nav-link-with-toggle .nav-link-main{justify-content:center;padding:10px;position:relative}.sidebar.collapsed .nav-toggle-btn{display:none}.sidebar.collapsed .nav-link.active:before{top:8px;bottom:8px}.sidebar.collapsed .nav-link[data-tooltip],.sidebar.collapsed .nav-link-main[data-tooltip]{position:relative}.sidebar.collapsed .nav-link[data-tooltip]:after,.sidebar.collapsed .nav-link-main[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#1b3a54;color:#fff;font-size:.75rem;font-weight:500;padding:5px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .1s ease;z-index:var(--z-tooltip, 9999);box-shadow:0 2px 8px #00000026}.sidebar.collapsed .nav-link[data-tooltip]:hover:after,.sidebar.collapsed .nav-link-main[data-tooltip]:hover:after{opacity:1}.sidebar.collapsed .nav-section--collapsed{position:relative}.sidebar.collapsed .nav-link--section-icon{justify-content:center;padding:10px;margin:1px 8px;width:calc(100% - 16px);border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md, 8px);color:var(--text-secondary, #4a5568);transition:background .15s ease,color .15s ease;display:flex;align-items:center;position:relative}.sidebar.collapsed .nav-link--section-icon:hover{background:var(--bg-secondary, #f7fafc);color:var(--text-primary, #1a202c)}.sidebar.collapsed .nav-link--section-icon.active{background:var(--background-gray, #f0f4f8);color:var(--text-primary, #1a202c)}.sidebar.collapsed .nav-link--section-icon.active:before{content:"";position:absolute;left:-8px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--primary-color, #1B3A5C),var(--secondary-color, #ED2626))}.sidebar.collapsed .nav-link--section-icon.popover-open{background:var(--primary-light, #e8eef6);color:var(--primary-color, #1B3A5C)}.sidebar.collapsed .nav-group-divider--collapsed{height:1px;background:var(--border-color, #e2e8f0);margin:6px 14px}.sidebar-popover{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e2e8f0);border-radius:10px;box-shadow:0 8px 30px #0000001f,0 2px 8px #0000000f;min-width:220px;max-width:280px;z-index:10000;overflow:hidden;animation:popoverIn .15s ease}@keyframes popoverIn{0%{opacity:0;transform:translateY(-50%) translate(-6px)}to{opacity:1;transform:translateY(-50%) translate(0)}}.sidebar-popover-header{padding:10px 14px 8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #718096);border-bottom:1px solid var(--border-light, #edf2f7)}.sidebar-popover-list{list-style:none;margin:0;padding:4px 0}.sidebar-popover-link{display:flex;align-items:center;gap:10px;padding:8px 14px;font-size:.8rem;font-weight:500;color:var(--text-secondary, #4a5568);text-decoration:none;transition:background .12s ease,color .12s ease;cursor:pointer;white-space:nowrap}.sidebar-popover-link:hover{background:var(--background-gray, #f0f4f8);color:var(--text-primary, #1a202c)}.sidebar-popover-link.active{color:var(--primary-color, #1B3A5C);background:var(--primary-light, #e8eef6);font-weight:600}.sidebar-popover-link--sub{padding-left:28px;font-size:.75rem}.sidebar-popover-link--disabled{opacity:.5;cursor:default;pointer-events:none}.sidebar-popover-link .nav-icon{flex-shrink:0;width:18px;height:18px;color:var(--text-muted, #718096)}.sidebar-popover-link .nav-icon svg{width:16px;height:16px}.sidebar-popover-link.active .nav-icon{color:var(--primary-color, #1B3A5C)}.sidebar-popover-link .coming-soon-badge{margin-left:auto;font-size:.6rem;padding:1px 5px}.sidebar.collapsed .nav-link--section-icon[data-tooltip]{position:relative}.sidebar.collapsed .nav-link--section-icon[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#1b3a54;color:#fff;font-size:.75rem;font-weight:500;padding:5px 10px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .1s ease;z-index:var(--z-tooltip, 9999);box-shadow:0 2px 8px #00000026}.sidebar.collapsed .nav-link--section-icon[data-tooltip]:hover:after{opacity:1}}.notification-bell-container{position:relative}.notification-bell-btn{position:relative;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:6px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.notification-bell-btn:hover{background:var(--background-gray);color:var(--text-primary)}.notification-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--error-color);color:var(--white);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;transform:translate(4px,-4px)}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:440px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);z-index:999;display:flex;flex-direction:column;overflow:hidden}.notification-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid var(--background-gray)}.notification-dropdown-header h4{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.mark-all-read-btn{background:none;border:none;color:var(--primary-color);font-size:12px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm)}.mark-all-read-btn:hover{background:var(--info-light)}.notification-dropdown-list{flex:1;overflow-y:auto}.notification-empty{padding:32px 16px;text-align:center;color:var(--text-muted);font-size:13px}.notification-item{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border:none;background:none;width:100%;text-align:left;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--bg-secondary)}.notification-enable-push{display:flex;align-items:center;gap:10px;padding:12px 16px;border:none;width:100%;text-align:left;cursor:pointer;transition:background .12s;background:var(--info-light, #e0f2fe);border-bottom:2px solid var(--primary, #2563eb)}.notification-enable-push:hover{background:var(--info-light-hover, #bae6fd)}.notification-enable-push:disabled{opacity:.6;cursor:wait}.notification-enable-push .notification-title{color:var(--primary, #2563eb);font-weight:600}.notification-item:hover{background:var(--bg-secondary)}.notification-item.unread,.notification-item.unread:hover{background:var(--info-light)}.notification-icon{font-size:18px;flex-shrink:0;margin-top:2px}.notification-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notification-title{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3}.notification-body{font-size:12px;color:var(--text-secondary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-time{font-size:11px;color:var(--text-muted);margin-top:2px}.notification-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--primary-color);flex-shrink:0;margin-top:6px}@media (max-width: 480px){.notification-dropdown{width:calc(100vw - 24px);right:-60px}}.onboarding-topbar{position:relative;z-index:10}.onboarding-topbar__bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(135deg,#f0f7ff,#e8f4f8);border-bottom:1px solid rgba(26,58,92,.08)}.onboarding-topbar__progress-ring{position:relative;width:32px;height:32px;flex-shrink:0}.onboarding-topbar__ring-svg{width:32px;height:32px;transform:rotate(-90deg)}.onboarding-topbar__ring-bg{fill:none;stroke:#1a3a5c1a;stroke-width:2.5}.onboarding-topbar__ring-fill{fill:none;stroke:var(--primary-color, #1B3A5C);stroke-width:2.5;stroke-linecap:round;transition:stroke-dasharray .4s ease}.onboarding-topbar__ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;color:var(--primary-color, #1B3A5C);line-height:1}.onboarding-topbar__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.onboarding-topbar__label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted, #64748b);line-height:1}.onboarding-topbar__next{display:flex;align-items:center;gap:4px;text-decoration:none;color:var(--primary-color, #1B3A5C);font-size:.72rem;font-weight:600;line-height:1.2;transition:color .15s;overflow:hidden}.onboarding-topbar__next:hover{color:var(--primary-hover, #0d2640)}.onboarding-topbar__next-icon{font-size:.7rem;flex-shrink:0}.onboarding-topbar__next-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onboarding-topbar__next-arrow{flex-shrink:0;opacity:.6;font-size:.7rem}.onboarding-topbar__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.onboarding-topbar__expand-btn,.onboarding-topbar__close-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--text-muted, #64748b);border-radius:var(--radius-sm, 4px);cursor:pointer;transition:all .15s;padding:0}.onboarding-topbar__expand-btn:hover,.onboarding-topbar__close-btn:hover{background:#1a3a5c14;color:var(--text-primary, #1a202c)}.onboarding-topbar__track{height:2px;background:#1a3a5c14;margin:0}.onboarding-topbar__track-fill{height:100%;background:linear-gradient(90deg,var(--primary-color, #1B3A5C),var(--secondary-color, #e5a200));border-radius:0;transition:width .4s ease}.onboarding-topbar__panel{background:var(--white, #fff);border-bottom:1px solid var(--border-color, #e2e8f0);box-shadow:0 4px 12px #0000000f;animation:onboarding-topbar-slide .2s ease}@keyframes onboarding-topbar-slide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.onboarding-topbar__steps{padding:8px 10px;display:flex;flex-direction:column;gap:2px}.onboarding-topbar__step{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-md, 6px);text-decoration:none;color:var(--text-primary, #1a202c);font-size:.75rem;font-weight:500;transition:background .15s}.onboarding-topbar__step:hover{background:var(--background-gray, #f8fafc)}.onboarding-topbar__step--done{color:var(--text-muted, #64748b)}.onboarding-topbar__step--done .onboarding-topbar__step-title{text-decoration:line-through;opacity:.6}.onboarding-topbar__step-indicator{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.6rem;font-weight:700}.onboarding-topbar__step--done .onboarding-topbar__step-indicator{background:#22c55e;color:#fff}.onboarding-topbar__step:not(.onboarding-topbar__step--done) .onboarding-topbar__step-indicator{background:var(--background-gray, #f1f5f9);color:var(--text-muted, #64748b);border:1.5px solid var(--border-color, #e2e8f0)}.onboarding-topbar__step-num{line-height:1}.onboarding-topbar__step-icon{font-size:.8rem;flex-shrink:0}.onboarding-topbar__step-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.onboarding-topbar__panel-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-top:1px solid var(--border-color, #e2e8f0);background:var(--background-gray, #f8fafc)}.onboarding-topbar__guide-link{font-size:.7rem;font-weight:600;color:var(--primary-color, #1B3A5C);text-decoration:none;transition:color .15s}.onboarding-topbar__guide-link:hover{color:var(--primary-hover, #0d2640);text-decoration:underline}.onboarding-topbar__dismiss-btn{font-size:.65rem;color:var(--text-muted, #64748b);background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:var(--radius-sm, 4px);transition:all .15s}.onboarding-topbar__dismiss-btn:hover{background:#0000000a;color:var(--text-secondary, #475569)}.onboarding-topbar--mobile{display:none}@media (max-width: 1023px){.sidebar .onboarding-topbar{display:none}.onboarding-topbar--mobile{display:block;position:relative;z-index:var(--z-sticky, 200)}.onboarding-topbar--mobile .onboarding-topbar__panel{position:absolute;left:0;right:0;z-index:10}}@media (min-width: 1024px){.sidebar .onboarding-topbar{display:block}.onboarding-topbar--mobile{display:none}}.sidebar.collapsed .onboarding-topbar__info,.sidebar.collapsed .onboarding-topbar__close-btn,.sidebar.collapsed .onboarding-topbar__expand-btn{display:none}.sidebar.collapsed .onboarding-topbar__bar{justify-content:center;padding:10px 6px}.sidebar.collapsed .onboarding-topbar__track{margin:0 8px}.sidebar.collapsed .onboarding-topbar__panel{position:absolute;left:100%;top:0;width:260px;margin-left:4px;border-radius:var(--radius-lg, 8px);border:1px solid var(--border-color, #e2e8f0);box-shadow:var(--shadow-lg, 0 10px 25px rgba(0,0,0,.1));z-index:1000}.password-requirements{list-style:none;padding:0;margin:4px 0 8px;display:flex;flex-wrap:wrap;gap:2px 16px;font-size:.8rem}.password-requirements li{display:flex;align-items:center;gap:4px;transition:color .2s ease}.password-requirements li.met{color:#22c55e}.password-requirements li.unmet{color:#94a3b8}.pw-req-icon{font-size:.75rem;width:14px;text-align:center}.mfa-setup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mfa-setup-modal{background:var(--card-bg, #fff);border-radius:var(--radius-xl, 16px);padding:32px;max-width:440px;width:90%;box-shadow:0 20px 60px #00000026;text-align:center}.mfa-setup-modal h2{margin:0 0 8px;font-size:1.25rem;color:var(--text-primary, #111827)}.mfa-setup-desc{color:var(--text-secondary, #6b7280);font-size:.9rem;line-height:1.5;margin-bottom:24px}.mfa-setup-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--primary-light, #e8f0fe);color:var(--primary-color, #1a73e8);margin-bottom:16px}.mfa-setup-icon.success{background:#d1fae5;color:#059669}.mfa-setup-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:var(--radius-md, 8px);padding:10px 14px;font-size:.85rem;margin-bottom:16px}.mfa-qr-container{display:flex;justify-content:center;margin-bottom:20px}.mfa-qr-image{width:200px;height:200px;border-radius:var(--radius-md, 8px);border:2px solid var(--border-color, #e5e7eb)}.mfa-setup-modal .mfa-code-inputs{display:flex;justify-content:center;gap:10px;margin-bottom:24px}.mfa-setup-modal .mfa-digit-input{width:48px;height:56px;text-align:center;font-size:1.5rem;font-weight:600;border:2px solid var(--border-color, #d1d5db);border-radius:var(--radius-md, 8px);background:var(--input-bg, #fff);color:var(--text-primary, #111827);transition:border-color .2s,box-shadow .2s;outline:none}.mfa-setup-modal .mfa-digit-input:focus{border-color:var(--primary-color, #1a73e8);box-shadow:0 0 0 3px #1a73e81f}.mfa-backup-codes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.mfa-backup-code{background:var(--background-gray, #f3f4f6);padding:8px 12px;border-radius:var(--radius-sm, 6px);font-family:SF Mono,Fira Code,monospace;font-size:.9rem;color:var(--text-primary, #111827);letter-spacing:.05em}.mfa-copy-btn{background:none;border:1px solid var(--border-color, #d1d5db);border-radius:var(--radius-md, 8px);padding:8px 16px;color:var(--text-secondary, #6b7280);font-size:.85rem;cursor:pointer;transition:all .2s;margin-bottom:24px}.mfa-copy-btn:hover{border-color:var(--primary-color, #1a73e8);color:var(--primary-color, #1a73e8)}.mfa-setup-actions{display:flex;gap:12px;justify-content:center}.mfa-btn-primary{background:var(--primary-color, #1a73e8);color:#fff;border:none;border-radius:var(--radius-md, 8px);padding:10px 24px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.mfa-btn-primary:hover:not(:disabled){background:var(--primary-hover, #1557b0)}.mfa-btn-primary:disabled{opacity:.6;cursor:not-allowed}.mfa-btn-secondary{background:var(--background-gray, #f3f4f6);color:var(--text-secondary, #6b7280);border:1px solid var(--border-color, #d1d5db);border-radius:var(--radius-md, 8px);padding:10px 24px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.mfa-btn-secondary:hover{background:var(--border-color, #e5e7eb)}.profile-panel-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a4d;z-index:1100;display:flex;justify-content:flex-end;animation:profileFadeIn .15s ease;overscroll-behavior:contain}@keyframes profileFadeIn{0%{opacity:0}to{opacity:1}}@keyframes profileSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.profile-panel{width:380px;max-width:90vw;height:100vh;height:100dvh;background:var(--white);box-shadow:-4px 0 24px #0f172a1f;display:flex;flex-direction:column;animation:profileSlideIn .2s ease;overflow:hidden}.profile-panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color);flex-shrink:0}.profile-panel-header h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.profile-close-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:var(--radius-lg);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.profile-close-btn:hover{background:var(--background-gray);color:var(--text-primary)}.profile-loading{padding:40px 24px;text-align:center;color:var(--text-secondary);font-size:.8rem}.profile-panel-body{padding:24px;display:flex;flex-direction:column;gap:24px;flex:1 1 0;overflow-y:auto;-webkit-overflow-scrolling:touch}.profile-avatar-section{display:flex;align-items:center;gap:16px}.profile-avatar-large{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color, var(--primary-color)),var(--secondary-color, #ED2626));color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.2rem;font-weight:700;flex-shrink:0}.profile-name-block h4{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--text-primary);margin:0 0 4px}.profile-role-badge{display:inline-block;font-family:var(--font-sans);font-size:.65rem;font-weight:600;color:var(--primary-color, var(--primary-color));background:#0a345614;padding:2px 10px;border-radius:var(--radius-2xl);text-transform:uppercase;letter-spacing:.03em}.profile-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:16px}.profile-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.profile-section-label{font-family:var(--font-sans);font-size:.68rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.profile-edit-btn{font-family:var(--font-sans);font-size:.7rem;font-weight:600;color:var(--primary-color, var(--primary-color));background:none;border:none;cursor:pointer;padding:2px 8px;border-radius:var(--radius-md);transition:all var(--transition-fast)}.profile-edit-btn:hover{background:#0a34560f}.profile-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-info-item{display:flex;flex-direction:column;gap:2px}.profile-info-item.full-width{grid-column:1 / -1}.profile-info-label{font-family:var(--font-sans);font-size:.65rem;color:var(--text-muted);font-weight:500}.profile-info-value{font-family:var(--font-sans);font-size:.8rem;color:var(--text-primary);font-weight:500}.profile-edit-form,.profile-password-form{display:flex;flex-direction:column;gap:12px}.profile-field{display:flex;flex-direction:column;gap:4px}.profile-field label{font-family:var(--font-sans);font-size:.68rem;font-weight:500;color:var(--text-secondary)}.profile-field input{font-family:var(--font-sans);font-size:.8rem;padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);background:var(--white);transition:border-color .15s}.profile-field input:focus{outline:none;border-color:var(--primary-color, var(--primary-color));box-shadow:0 0 0 3px #0a345614}.profile-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.profile-btn-cancel{font-family:var(--font-sans);font-size:.73rem;font-weight:600;padding:7px 16px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--white);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.profile-btn-cancel:hover{background:var(--background-gray)}.profile-btn-save{font-family:var(--font-sans);font-size:.73rem;font-weight:600;padding:7px 16px;border:none;border-radius:var(--radius-lg);background:var(--primary-color, var(--primary-color));color:var(--white);cursor:pointer;transition:all var(--transition-fast)}.profile-btn-save:hover{opacity:.9}.profile-btn-save:disabled{opacity:.5;cursor:not-allowed}.profile-change-pw-btn{font-family:var(--font-sans);font-size:.73rem;font-weight:600;display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);width:100%}.profile-change-pw-btn:hover{background:var(--background-gray);border-color:var(--text-light)}.profile-error-msg{font-family:var(--font-sans);font-size:.73rem;color:var(--error-color);background:var(--error-light);border:1px solid var(--error-light);padding:8px 12px;border-radius:var(--radius-lg)}.profile-success-msg{font-family:var(--font-sans);font-size:.73rem;color:var(--success-color);background:var(--success-light);border:1px solid var(--success-light);padding:8px 12px;border-radius:var(--radius-lg)}@media (max-width: 480px){.profile-panel{width:100vw;max-width:100vw}.profile-info-grid{grid-template-columns:1fr}}.profile-install-btn{font-family:var(--font-sans);font-size:.73rem;font-weight:600;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--primary-color, #0F172A);color:var(--white);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);width:100%}.profile-install-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px #0f172a33}.profile-install-btn:active{transform:translateY(0)}.profile-install-status{display:flex;align-items:center;gap:8px;font-family:var(--font-sans);font-size:.73rem;font-weight:500;color:var(--success-color, #16a34a);padding:10px 14px;background:#22c55e14;border-radius:var(--radius-lg)}.profile-install-hint{display:flex;align-items:flex-start;gap:10px;font-family:var(--font-sans);font-size:.7rem;color:var(--text-secondary);padding:10px 14px;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);line-height:1.5}.profile-install-hint svg{flex-shrink:0;margin-top:1px;color:var(--text-muted)}.profile-install-hint strong{display:block;font-size:.73rem;font-weight:600;color:var(--text-primary);margin-bottom:2px}.profile-install-hint p{margin:0}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px}.toast{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-lg);background:var(--white);box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;animation:slideIn .3s ease-out;min-width:280px}.toast-exit{animation:slideOut .3s ease-in forwards}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.toast-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0}.toast-success .toast-icon{background:var(--success-light);color:var(--success-color)}.toast-error .toast-icon{background:var(--error-light);color:var(--error-color)}.toast-info .toast-icon{background:var(--info-light);color:var(--primary-hover)}.toast-warning .toast-icon{background:var(--warning-light);color:var(--warning-dark)}.toast-message{flex:1;font-size:14px;color:var(--text-primary);line-height:1.4}.toast-close{background:none;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast);flex-shrink:0}.toast-close:hover{background:var(--background-gray);color:var(--text-secondary)}.toast-success{border-left:4px solid var(--success-color)}.toast-error{border-left:4px solid var(--error-color)}.toast-info{border-left:4px solid var(--primary-hover)}.toast-warning{border-left:4px solid var(--warning-dark)}@media (max-width: 480px){.toast-container{left:10px;right:10px;max-width:none}.toast{min-width:auto}}.ai-fab{position:fixed;bottom:24px;right:24px;z-index:9999;height:52px;padding:0 20px 0 16px;border-radius:26px;border:none;background:linear-gradient(135deg,#6366f1,#8b5cf6,#a855f7);color:#fff;cursor:grab;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 20px #6366f166,0 2px 8px #0000001f;transition:transform .2s,box-shadow .2s,background .2s,border-radius .2s,padding .2s,width .2s;overflow:hidden;font-family:inherit;touch-action:none;-webkit-user-select:none;user-select:none}.ai-fab:hover{transform:scale(1.06) translateY(-2px);box-shadow:0 8px 32px #6366f180,0 4px 12px #00000026}.ai-fab--open{background:var(--gray-500, #6b7280);border-radius:50%;width:52px;padding:0;box-shadow:0 4px 16px #0000002e}.ai-fab--dragging{cursor:grabbing;transform:scale(1.1);box-shadow:0 12px 40px #6366f180,0 4px 12px #0003;transition:none}.ai-fab--open .ai-fab__label,.ai-fab--open .ai-fab__sparkle,.ai-fab--open .ai-fab__glow{display:none}.ai-fab__icon{flex-shrink:0}.ai-fab__label{font-size:.9375rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;line-height:1}.ai-fab__glow{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:inherit;background:linear-gradient(135deg,#6366f1,#a855f7,#6366f1);opacity:0;z-index:-1;filter:blur(10px);animation:aiFabGlow 2.5s ease-in-out infinite}.ai-fab--pulse .ai-fab__glow{opacity:1}@keyframes aiFabGlow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.65;transform:scale(1.1)}}.ai-fab__sparkle{position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:aiFabShimmer 3s ease-in-out infinite;pointer-events:none}@keyframes aiFabShimmer{0%{left:-50%}40%,to{left:150%}}.ai-nudge{position:fixed;bottom:84px;right:24px;z-index:10000;animation:aiNudgeIn .4s cubic-bezier(.34,1.56,.64,1) both;animation-delay:.2s;filter:drop-shadow(0 4px 16px rgba(0,0,0,.15))}.ai-nudge__content{display:flex;align-items:center;gap:8px;background:#1e293b;color:#fff;padding:10px 14px;border-radius:12px;font-size:.8125rem;font-weight:500;white-space:nowrap}.ai-nudge__badge{background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;font-size:.625rem;font-weight:800;letter-spacing:.05em;padding:2px 7px;border-radius:4px;text-transform:uppercase;line-height:1.4}.ai-nudge__text{line-height:1.3}.ai-nudge__close{background:none;border:none;color:#ffffff80;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:color .15s}.ai-nudge__close:hover{color:#fff}.ai-nudge__arrow{width:12px;height:12px;background:#1e293b;transform:rotate(45deg);position:absolute;bottom:-5px;right:36px;border-radius:2px}@keyframes aiNudgeIn{0%{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-panel{position:fixed;bottom:88px;right:24px;z-index:9998;width:400px;max-width:calc(100vw - 48px);height:560px;max-height:calc(100vh - 120px);background:#fff;border-radius:16px;box-shadow:0 8px 40px #00000026,0 0 0 1px #0000000d;display:flex;flex-direction:column;overflow:hidden;animation:aiPanelIn .25s ease-out}@keyframes aiPanelIn{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,var(--primary, #1B3A5C),var(--primary-dark, #072440));color:#fff;flex-shrink:0}.ai-panel__header-left{display:flex;align-items:center;gap:10px}.ai-panel__avatar{width:32px;height:32px;border-radius:50%;background:#ffffff26;display:flex;align-items:center;justify-content:center}.ai-panel__title{font-weight:600;font-size:.9375rem;line-height:1.2}.ai-panel__subtitle{font-size:.75rem;opacity:.75}.ai-panel__header-actions{display:flex;gap:4px}.ai-panel__clear,.ai-panel__close,.ai-panel__print{border:none;background:#ffffff1a;color:#fff;width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.ai-panel__clear:hover,.ai-panel__print:hover{background:#fff3}.ai-panel__close:hover{background:#ef4444cc}.ai-panel__messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-panel__messages::-webkit-scrollbar{width:5px}.ai-panel__messages::-webkit-scrollbar-thumb{background:#0000001f;border-radius:4px}.ai-panel__welcome{display:flex;flex-direction:column;gap:12px;padding:8px 0}.ai-panel__welcome-text{font-size:.8125rem;color:var(--text-secondary, #64748b);line-height:1.5;margin:0}.ai-panel__suggestions{display:flex;flex-direction:column;gap:6px}.ai-panel__suggestion{padding:8px 12px;border:1px solid var(--border-light, #e2e8f0);border-radius:8px;background:var(--gray-50, #f8fafc);color:var(--text-primary, #1e293b);font-size:.8125rem;cursor:pointer;text-align:left;transition:border-color .15s,background .15s;line-height:1.4}.ai-panel__suggestion:hover{border-color:var(--primary, #1B3A5C);background:var(--primary-light, #ebf5ff)}.ai-msg{display:flex;gap:8px;max-width:100%}.ai-msg--user{flex-direction:row-reverse}.ai-msg__avatar{width:26px;height:26px;border-radius:50%;background:var(--primary-light, #ebf5ff);color:var(--primary, #1B3A5C);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.ai-msg__bubble{max-width:85%;padding:10px 14px;border-radius:12px;font-size:.8125rem;line-height:1.55}.ai-msg--user .ai-msg__bubble{background:var(--primary, #1B3A5C);color:#fff;border-bottom-right-radius:4px}.ai-msg--assistant .ai-msg__bubble{background:var(--gray-50, #f1f5f9);color:var(--text-primary, #1e293b);border-bottom-left-radius:4px}.ai-msg__content h3{font-size:.875rem;font-weight:600;margin:8px 0 4px}.ai-msg__content h4{font-size:.8125rem;font-weight:600;margin:6px 0 2px}.ai-msg__content strong{font-weight:600}.ai-msg__content ul{margin:4px 0;padding-left:18px}.ai-msg__content li{margin-bottom:2px}.ai-msg__content hr{border:none;border-top:1px solid var(--border-light, #e2e8f0);margin:8px 0}.ai-msg__loading{display:flex;gap:4px;padding:4px 0}.ai-dot{width:6px;height:6px;border-radius:50%;background:var(--primary, #1B3A5C);opacity:.4;animation:aiDotBounce 1.2s infinite ease-in-out}.ai-dot:nth-child(2){animation-delay:.15s}.ai-dot:nth-child(3){animation-delay:.3s}@keyframes aiDotBounce{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1.2);opacity:1}}.ai-panel__input-area{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border-light, #e2e8f0);background:#fff;flex-shrink:0}.ai-panel__input{flex:1;border:1px solid var(--border-light, #e2e8f0);border-radius:10px;padding:9px 12px;font-size:.8125rem;font-family:inherit;resize:none;outline:none;max-height:100px;line-height:1.4;transition:border-color .15s}.ai-panel__input:focus{border-color:var(--primary, #1B3A5C)}.ai-panel__input::placeholder{color:var(--text-muted, #94a3b8)}.ai-panel__send{width:36px;height:36px;border-radius:10px;border:none;background:var(--primary, #1B3A5C);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s,transform .15s}.ai-panel__send:hover:not(:disabled){transform:scale(1.05)}.ai-panel__send:disabled{opacity:.4;cursor:not-allowed}.ai-panel__upsell{flex:1;padding:28px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;overflow-y:auto}.ai-panel__upsell-icon{margin-bottom:12px}.ai-panel__upsell-title{font-size:1.125rem;font-weight:700;color:var(--text-primary, #1e293b);margin:0 0 8px}.ai-panel__upsell-desc{font-size:.8125rem;color:var(--text-secondary, #64748b);margin:0 0 16px;line-height:1.5}.ai-panel__upsell-features{text-align:left;padding-left:20px;margin:0 0 20px;display:flex;flex-direction:column;gap:6px}.ai-panel__upsell-features li{font-size:.8125rem;color:var(--text-secondary, #64748b);line-height:1.4}.ai-panel__upsell-features li::marker{color:var(--primary, #1B3A5C)}.ai-panel__upsell-pricing{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:20px}.ai-panel__price-pill{padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--gray-100, #f1f5f9);color:var(--text-secondary, #64748b)}.ai-panel__activate-btn{padding:10px 28px;border-radius:10px;border:none;background:var(--primary, #1B3A5C);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:opacity .15s}.ai-panel__activate-btn:hover:not(:disabled){opacity:.9}.ai-panel__activate-btn:disabled{opacity:.6;cursor:not-allowed}.ai-panel__back-link{margin-top:12px;background:none;border:none;color:var(--text-muted, #94a3b8);font-size:.8125rem;cursor:pointer;text-decoration:underline;padding:4px 8px}.ai-panel__back-link:hover{color:var(--text-secondary, #64748b)}.ai-panel__quota-bar{display:flex;align-items:center;gap:8px;padding:6px 16px;background:var(--gray-50, #f8fafc);border-bottom:1px solid var(--gray-200, #e2e8f0)}.ai-panel__quota-track{flex:1;height:4px;border-radius:2px;background:var(--gray-200, #e2e8f0);overflow:hidden}.ai-panel__quota-fill{height:100%;border-radius:2px;background:var(--primary, #1B3A5C);transition:width .3s ease}.ai-panel__quota-bar--low .ai-panel__quota-fill{background:var(--danger, #ef4444)}.ai-panel__upgrade-link{background:none;border:none;color:var(--primary, #1B3A5C);font-size:.6875rem;font-weight:600;cursor:pointer;text-decoration:underline;padding:0;white-space:nowrap}.ai-panel__upgrade-link:hover{opacity:.8}@media (max-width: 480px){.ai-panel{bottom:0;right:0;left:0;height:100vh;max-height:100vh;width:100vw;max-width:100vw;border-radius:0}.ai-fab{bottom:16px;right:16px;height:48px;padding:0 16px 0 12px}.ai-fab--open{display:none}.ai-nudge{bottom:72px;right:16px}}.impersonation-banner{background:linear-gradient(90deg,#f59e0b,#d97706);color:#fff;padding:0;z-index:100;box-shadow:0 2px 4px #0000001a}.impersonation-banner-content{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:500}.impersonation-banner-content strong{font-weight:700}.impersonation-exit-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.4);padding:4px 14px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;margin-left:8px;transition:background .15s ease}.impersonation-exit-btn:hover{background:#ffffff59}.tour-tooltip{background:#fff;border-radius:12px;padding:24px;max-width:360px;box-shadow:0 8px 32px #0000002e;font-family:var(--font-family, "Inter", sans-serif)}.tour-tooltip__header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.tour-tooltip__icon{font-size:1.4rem;line-height:1}.tour-tooltip__title{font-size:1rem;font-weight:600;color:var(--primary-color, #1B3A5C);margin:0}.tour-tooltip__body{font-size:.875rem;color:var(--text-secondary, #64748b);line-height:1.5;margin-bottom:16px}.tour-tooltip__footer{display:flex;align-items:center;justify-content:space-between}.tour-tooltip__counter{font-size:.75rem;color:var(--text-muted, #94a3b8);font-weight:500}.tour-tooltip__actions{display:flex;gap:8px;align-items:center}.tour-tooltip__skip{background:none;border:none;color:var(--text-muted, #94a3b8);font-size:.8125rem;cursor:pointer;padding:6px 10px;border-radius:6px;transition:color .15s}.tour-tooltip__skip:hover{color:var(--text-secondary, #64748b)}.tour-tooltip__back{background:none;border:1px solid var(--border-color, #e2e8f0);color:var(--text-secondary, #64748b);font-size:.8125rem;font-weight:500;cursor:pointer;padding:6px 14px;border-radius:6px;transition:background .15s,color .15s}.tour-tooltip__back:hover{background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #1a202c)}.tour-tooltip__next{background:var(--primary-color, #1B3A5C);border:none;color:#fff;font-size:.8125rem;font-weight:500;cursor:pointer;padding:6px 16px;border-radius:6px;transition:background .15s}.tour-tooltip__next:hover{background:var(--primary-hover, #152E4A)}.search-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;animation:search-fade-in .12s ease-out}@keyframes search-fade-in{0%{opacity:0}to{opacity:1}}.search-palette{background:#fff;border-radius:12px;width:520px;max-width:90vw;box-shadow:0 16px 48px #0003;overflow:hidden;display:flex;flex-direction:column;max-height:60vh;animation:search-slide-in .12s ease-out}@keyframes search-slide-in{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.search-palette__input-wrap{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #e2e8f0}.search-palette__search-icon{flex-shrink:0;color:#94a3b8}.search-palette__input{flex:1;border:none;outline:none;font-size:.9375rem;color:var(--text-primary, #1a202c);background:transparent;font-family:inherit}.search-palette__input::placeholder{color:#94a3b8}.search-palette__kbd{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-size:.6875rem;color:#64748b;font-family:inherit}.search-palette__results{overflow-y:auto;padding:6px 0}.search-palette__empty{padding:24px 16px;text-align:center;color:#94a3b8;font-size:.875rem}.search-palette__section{padding:4px 0}.search-palette__section-label{padding:6px 16px 4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.search-palette__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 16px;border:none;background:transparent;cursor:pointer;text-align:left;font-family:inherit;transition:background .1s}.search-palette__item:hover,.search-palette__item--selected{background:var(--primary-light, #e8eef6)}.search-palette__item-info{display:flex;flex-direction:column;gap:1px;min-width:0}.search-palette__item-label{font-size:.875rem;font-weight:500;color:var(--text-primary, #1a202c)}.search-palette__item-desc{font-size:.75rem;color:var(--text-secondary, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-palette__item-arrow{flex-shrink:0;color:#94a3b8;font-size:.875rem;opacity:0;transition:opacity .1s}.search-palette__item:hover .search-palette__item-arrow,.search-palette__item--selected .search-palette__item-arrow{opacity:1}.layout{display:flex;min-height:100vh;background:var(--background-gray, var(--bg-secondary))}.layout-content{flex:1;display:flex;flex-direction:column;margin-left:0;transition:margin-left var(--transition-normal, .2s ease);min-width:0;max-width:none;width:100%}@media (min-width: 1024px){.layout-content{margin-left:234px}.sidebar-is-collapsed .layout-content{margin-left:64px}}@media (min-width: 1024px) and (max-width: 1280px){.layout-content{margin-left:216px}.sidebar-is-collapsed .layout-content{margin-left:64px}}.top-nav{background:var(--white, #ffffff);border-bottom:1px solid var(--border-color, var(--border-color));padding:0 var(--spacing-8, 32px);display:flex;justify-content:space-between;align-items:center;height:64px;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:var(--z-sticky, 200);gap:var(--spacing-4, 16px)}@media (min-width: 1024px){.top-nav{display:none}}.nav-left{display:flex;align-items:center;gap:var(--spacing-4, 16px);flex:1;min-width:0}.menu-toggle{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary, var(--text-secondary));padding:var(--spacing-2, 8px);display:none;transition:color var(--transition-fast);border-radius:var(--radius-md, 6px)}.menu-toggle:hover{color:var(--primary-color);background:var(--primary-light)}@media (max-width: 1023px){.menu-toggle{display:flex;align-items:center;justify-content:center}}.nav-title{margin:0;font-size:var(--text-lg, 1.125rem);color:var(--text-primary, #1a202c);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-school-name{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:.79rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%;text-align:center;pointer-events:none}.nav-right{display:flex;align-items:center;gap:var(--spacing-4, 16px)}.nav-profile-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--background-gray);border:1px solid var(--border-color);border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:all var(--transition-fast);padding:0}.nav-profile-btn:hover{background:var(--border-color);color:var(--text-primary)}.user-info{display:flex;align-items:center;gap:var(--spacing-3, 12px);color:var(--text-secondary, var(--text-secondary));font-size:var(--text-sm, .875rem);padding:var(--spacing-2, 8px) var(--spacing-3, 12px);background:var(--background-gray, var(--bg-secondary));border-radius:var(--radius-lg, 8px)}.user-avatar{font-size:20px;display:flex;align-items:center}.user-email{max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;color:var(--text-primary, #1a202c)}.logout-btn{background:var(--text-secondary, var(--text-secondary));color:var(--white, #ffffff);border:none;padding:var(--spacing-2, 8px) var(--spacing-4, 16px);border-radius:var(--radius-md, 6px);cursor:pointer;font-weight:600;font-size:var(--text-sm, .875rem);transition:all var(--transition-fast);white-space:nowrap}.logout-btn:hover{background:var(--text-primary, #1a202c);transform:translateY(-1px);box-shadow:var(--shadow-md)}.logout-btn:active{transform:translateY(0)}.main-content{flex:1;overflow-y:auto;overflow-x:hidden;max-width:100%}@media (max-width: 768px){.top-nav{padding:0 var(--spacing-4, 16px);height:56px;gap:var(--spacing-3, 12px)}.nav-left{gap:var(--spacing-3, 12px)}.user-info{padding:var(--spacing-1, 4px) var(--spacing-2, 8px)}.user-email{display:none}.nav-title{font-size:var(--text-base, 1rem)}.nav-right{gap:var(--spacing-2, 8px)}.logout-btn{padding:var(--spacing-2, 8px) var(--spacing-3, 12px);font-size:var(--text-xs, .75rem)}}@media (min-width: 769px) and (max-width: 1023px){.top-nav{padding:0 var(--spacing-6, 24px)}.nav-title{font-size:var(--text-lg, 1.125rem)}.main-content{padding:var(--spacing-5, 20px) var(--spacing-6, 24px)}}.client-portal-layout{min-height:100vh;background:var(--bg-secondary, #f8f9fa)}.client-portal-nav{background:var(--bg-primary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);padding:var(--spacing-3, 12px) var(--spacing-6, 24px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm, 0 1px 3px rgba(0,0,0,.08))}.client-portal-nav-brand{display:flex;align-items:center;gap:var(--spacing-3, 12px);text-decoration:none;color:var(--text-primary, #1a1a2e)}.client-portal-nav-brand img{height:36px;width:auto;object-fit:contain}.client-portal-nav-brand h1{font-size:var(--text-lg, 1.125rem);font-weight:600;margin:0;color:var(--primary-color, #1B3A5C)}.client-portal-nav-links{display:flex;align-items:center;gap:var(--spacing-1, 4px)}.client-portal-nav-link{padding:var(--spacing-2, 8px) var(--spacing-3, 12px);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, .875rem);font-weight:500;color:var(--text-secondary, #64748b);text-decoration:none;transition:all .15s ease;border:none;background:none;cursor:pointer}.client-portal-nav-link:hover{color:var(--primary-color, #1B3A5C);background:var(--primary-light, rgba(10, 52, 86, .06))}.client-portal-nav-link.active{color:var(--primary-color, #1B3A5C);background:var(--primary-light, rgba(10, 52, 86, .08));font-weight:600}.client-portal-nav-user{display:flex;align-items:center;gap:var(--spacing-3, 12px)}.client-portal-user-name{font-size:var(--text-sm, .875rem);font-weight:500;color:var(--text-primary, #1a1a2e)}.client-portal-logout-btn{padding:var(--spacing-2, 8px) var(--spacing-3, 12px);border-radius:var(--radius-md, 8px);font-size:var(--text-sm, .875rem);font-weight:500;color:var(--text-secondary, #64748b);background:none;border:1px solid var(--border-color, #e2e8f0);cursor:pointer;transition:all .15s ease}.client-portal-logout-btn:hover{color:var(--error-color, #dc2626);border-color:var(--error-color, #dc2626);background:var(--error-light, #fef2f2)}.client-portal-content{max-width:1200px;margin:0 auto;padding:var(--spacing-6, 24px)}.client-portal-mobile-toggle{display:none;border:none;background:none;font-size:1.5rem;cursor:pointer;padding:var(--spacing-2, 8px);color:var(--text-primary, #1a1a2e)}@media (max-width: 768px){.client-portal-mobile-toggle{display:block}.client-portal-nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg-primary, #ffffff);border-bottom:1px solid var(--border-color, #e2e8f0);padding:var(--spacing-3, 12px);flex-direction:column;box-shadow:var(--shadow-md, 0 4px 6px rgba(0,0,0,.1))}.client-portal-nav-links.open{display:flex}.client-portal-nav-link{width:100%;text-align:left}.client-portal-content{padding:var(--spacing-4, 16px)}}.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1.25rem;background:linear-gradient(135deg,#0c4a6e,#0369a1);color:#fff;font-size:.85rem;z-index:9999;flex-shrink:0}.demo-banner__content{display:flex;align-items:center;gap:.625rem;min-width:0}.demo-banner__badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:4px;background:#fff3;font-weight:700;font-size:.7rem;letter-spacing:.08em;white-space:nowrap}.demo-banner__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo-banner__actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.demo-banner__btn{border:none;cursor:pointer;font-size:.8rem;font-weight:600;padding:.35rem .85rem;border-radius:6px;transition:background .15s,opacity .15s;white-space:nowrap}.demo-banner__btn--primary{background:#fff;color:#0c4a6e}.demo-banner__btn--primary:hover{background:#e0f2fe}.demo-banner__btn--ghost{background:#ffffff26;color:#fff}.demo-banner__btn--ghost:hover{background:#ffffff40}@media (max-width: 640px){.demo-banner{flex-direction:column;text-align:center;padding:.5rem .75rem;gap:.4rem}.demo-banner__text{font-size:.78rem;white-space:normal}}.demo-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:#1e293b;color:#f1f5f9;padding:.65rem 1.25rem;border-radius:10px;font-size:.85rem;font-weight:500;box-shadow:0 8px 24px #00000040;display:flex;align-items:center;gap:.5rem;z-index:99999;animation:demo-toast-in .25s ease-out;max-width:90vw}.demo-toast__icon{font-size:1rem}@keyframes demo-toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.confirm-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10000;animation:confirmFadeIn .15s ease}.confirm-dialog{background:#fff;border-radius:12px;padding:24px 28px;max-width:420px;width:90vw;box-shadow:0 20px 60px #00000040;animation:confirmSlideUp .2s ease}.confirm-dialog-title{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#1e293b}.confirm-dialog-message{margin:0 0 20px;font-size:.9rem;color:#475569;line-height:1.5}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:10px}.confirm-dialog-btn{padding:8px 18px;border-radius:8px;font-size:.85rem;font-weight:500;border:none;cursor:pointer;transition:all .15s ease}.confirm-dialog-btn-cancel{background:#f1f5f9;color:#475569}.confirm-dialog-btn-cancel:hover{background:#e2e8f0}.confirm-dialog-btn-primary{background:var(--primary-color, #2563eb);color:#fff}.confirm-dialog-btn-primary:hover{filter:brightness(.9)}.confirm-dialog-btn-danger{background:#ef4444;color:#fff}.confirm-dialog-btn-danger:hover{background:#dc2626}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}:root{--primary-color: #1B3A5C;--secondary-color: #ED2626;--primary-button-color: #1B3A5C;--full-course-button-color: #ED2626;--card-price-green: rgb(0, 128, 0);--card-full-red: rgb(238, 36, 38);--primary-hover: #152E4A;--primary-light: #e8eef6;--primary-dark: #0F2238;--secondary-hover: #d41f1f;--secondary-light: #fde8e8;--button-hover: #152E4A;--text-on-primary: #ffffff;--text-on-secondary: #ffffff;--heading-size: 30px;--heading-weight: 700;--heading-align: left;--text-primary: #1a202c;--text-secondary: #4a5568;--text-muted: #718096;--text-light: #a0aec0;--border-color: #e2e8f0;--border-light: #edf2f7;--background-gray: #f0f4f8;--background-dark: #e5e9ed;--white: #ffffff;--bg-primary: #ffffff;--bg-secondary: #f7fafc;--success-color: #48bb78;--success-light: #c6f6d5;--success-dark: #22543d;--warning-color: #ed8936;--warning-light: #feebc8;--warning-dark: #7c2d12;--error-color: #e53e3e;--error-light: #fed7d7;--error-dark: #742a2a;--info-color: #4299e1;--info-light: #bee3f8;--info-dark: #2a4365;--spacing-0: 0;--spacing-1: 4px;--spacing-2: 8px;--spacing-3: 12px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-8: 32px;--spacing-10: 40px;--spacing-12: 48px;--spacing-16: 64px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .12), 0 4px 6px rgba(0, 0, 0, .08);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15), 0 10px 10px rgba(0, 0, 0, .08);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .08);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Instrument Sans", "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:var(--background-gray);line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.75rem}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1rem}p{color:var(--text-secondary);line-height:1.6}a{color:var(--primary-color);text-decoration:none;transition:color .2s ease}a:hover{color:var(--primary-hover)}button,.btn{font-family:var(--font-sans);font-weight:600;border-radius:var(--radius-md);transition:all .2s ease;cursor:pointer;border:none;outline:none}input,select,textarea{font-family:var(--font-sans);border:1.5px solid var(--border-color);border-radius:var(--radius-lg);padding:9px 12px;font-size:.79rem;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.card{background:var(--white);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:all .3s ease}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary-color);transform:translateY(-2px)}.gradient-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%)}.gradient-header{background:var(--primary-color);border-bottom:3px solid var(--secondary-color)}.badge{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:.875rem;font-weight:600}.badge-success{background:#c6f6d5;color:#22543d}.badge-warning{background:#feebc8;color:#7c2d12}.badge-error{background:#fed7d7;color:#742a2a}.loading{color:var(--text-muted);text-align:center;padding:var(--spacing-xl)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-8);gap:var(--spacing-4);flex-wrap:wrap}.page-header h1{color:var(--text-primary);font-size:var(--text-2xl);margin:0;font-weight:700;text-align:var(--heading-align)}.form-container{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);margin-bottom:var(--spacing-8)}.form-container h2{color:var(--text-primary);margin:0 0 var(--spacing-5) 0;font-size:var(--text-lg);font-weight:600;padding-bottom:var(--spacing-3);border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:var(--spacing-2)}.form-container h2:before{content:"";display:block;width:4px;height:20px;background:var(--primary-color);border-radius:2px;flex-shrink:0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:14px}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:6px;color:var(--text-secondary);font-weight:600;font-size:.62rem;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:9px 12px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-size:.79rem;font-family:var(--font-sans);transition:all var(--transition-fast);background:var(--white);color:var(--text-primary);box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:var(--background-gray);color:var(--text-muted);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}.field-hint{color:var(--text-muted);font-size:var(--text-xs);margin-top:var(--spacing-1);font-style:italic}.form-actions{display:flex;gap:var(--spacing-3);margin-top:var(--spacing-5);padding-top:var(--spacing-4);border-top:1px solid var(--border-light)}.checkbox-group{display:flex;align-items:center;gap:var(--spacing-2)}.checkbox-group label{display:flex;align-items:center;margin-bottom:0;cursor:pointer}.checkbox-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary-color)}.toggle-section{background:var(--background-gray);padding:var(--spacing-4);border-radius:var(--radius-md);border-left:4px solid var(--primary-color)}.toggle-label{display:flex;align-items:center;gap:var(--spacing-2);color:var(--text-primary);font-weight:600;cursor:pointer;margin:0}.toggle-description{color:var(--text-secondary);font-size:var(--text-sm);margin:var(--spacing-2) 0 0 var(--spacing-6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);border:none;border-radius:var(--radius-md);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;line-height:1.2}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--primary-button-color);color:var(--text-on-button, #ffffff)}.btn-primary:hover:not(:disabled){background:var(--button-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--background-gray);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--background-dark);border-color:var(--text-muted)}.btn-danger{background:var(--error-color);color:var(--white)}.btn-danger:hover:not(:disabled){background:#c53030;transform:translateY(-2px)}.btn-success{background:var(--full-course-button-color);color:var(--white)}.btn-success:hover:not(:disabled){background:#38a169;transform:translateY(-2px)}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover:not(:disabled){background:var(--primary-color);color:var(--white)}.btn-outline-muted{background:transparent;border:1.5px solid var(--border-color);color:var(--text-secondary)}.btn-outline-muted:hover:not(:disabled){background:var(--background-gray);color:var(--text-primary);border-color:var(--text-muted)}.btn-small{padding:var(--spacing-2) var(--spacing-3);font-size:var(--text-xs);min-width:70px}.btn-icon{padding:var(--spacing-2);min-width:36px;min-height:36px}.grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--spacing-5)}.card{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-5);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-color);transform:translateY(-2px)}.card-header{display:flex;align-items:center;gap:var(--spacing-4);padding-bottom:var(--spacing-4);margin-bottom:var(--spacing-4);border-bottom:1px solid var(--border-light)}.card-header h3{color:var(--text-primary);margin:0;font-size:var(--text-base);font-weight:600}.card-body{color:var(--text-secondary);font-size:var(--text-sm)}.card-body p{margin:var(--spacing-2) 0}.card-body strong{color:var(--text-primary)}.card-actions{display:flex;gap:var(--spacing-2);padding-top:var(--spacing-4);margin-top:var(--spacing-4);border-top:1px solid var(--border-light)}.card-actions .btn{flex:1}.image-upload-container{width:80px;height:80px;border:2px dashed var(--primary-color);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--white);transition:all var(--transition-fast);position:relative;overflow:hidden;flex-shrink:0}.image-upload-container:hover{border-style:solid;border-color:var(--primary-hover);background:var(--primary-light)}.image-upload-container img{width:100%;height:100%;object-fit:cover}.image-placeholder{text-align:center;color:var(--primary-color)}.image-placeholder .image-icon{font-size:var(--text-2xl);margin-bottom:var(--spacing-1)}.image-placeholder p{margin:0;font-size:9px;color:var(--text-muted);font-weight:500}.card-image{width:70px;height:70px;border-radius:var(--radius-full);object-fit:cover;border:3px solid var(--primary-color);flex-shrink:0}.badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600}.badge-primary{background:var(--primary-light);color:var(--primary-dark)}.badge-success{background:var(--success-light);color:var(--success-dark)}.badge-warning{background:var(--warning-light);color:var(--warning-dark)}.badge-error{background:var(--error-light);color:var(--error-dark)}.badge-info{background:var(--info-light);color:var(--info-dark)}.alert{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--spacing-2);border-left:4px solid}.alert-error{background:var(--error-light);color:var(--error-dark);border-color:var(--error-color)}.alert-success{background:var(--success-light);color:var(--success-dark);border-color:var(--success-color)}.alert-warning{background:var(--warning-light);color:var(--warning-dark);border-color:var(--warning-color)}.alert-info{background:var(--info-light);color:var(--info-dark);border-color:var(--info-color)}.empty-state{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-12) var(--spacing-8);text-align:center;color:var(--text-muted);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.empty-state p{margin:0;font-size:var(--text-base)}.loading{text-align:center;padding:var(--spacing-10);color:var(--text-muted);font-size:var(--text-base)}.spinner{display:inline-block;margin-right:var(--spacing-2);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.list-container{background:var(--white);border-radius:var(--radius-xl);padding:var(--spacing-6);box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.list-container h2{color:var(--text-primary);margin:0 0 var(--spacing-5) 0;font-size:var(--text-lg);font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172ab3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:18px;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay,.drawer-overlay,.sidebar-overlay.open,.cv-popover-backdrop,.cdm-overlay,.client-view-modal-overlay,.maint-modal-overlay,.merch-modal-overlay,.yd-modal-overlay,.ch-modal-overlay,.gc-modal-overlay,.billing-preview-overlay,.video-modal-overlay,.editor-modal-overlay,.document-modal-overlay,.pathway-canvas-overlay,.booking-form-overlay,.success-overlay,.new-schedule-backdrop,.bv-modal-backdrop,.bp-modal-overlay{overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.side-drawer,.drawer-content,.cv-popover,.pathway-canvas-drawer,.footer-profile-menu,.sidebar-nav{overscroll-behavior:contain}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background-gray)}::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}.page-controls{display:flex;justify-content:flex-start;gap:10px;align-items:center;margin-bottom:18px;flex-wrap:wrap;position:relative;z-index:20}.page-controls .btn-create{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 14px;border-radius:var(--radius-lg);border:none;font-family:var(--font-sans);font-size:.73rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);background-color:var(--primary-button-color);color:var(--text-on-button, #fff);box-shadow:var(--shadow-sm);white-space:nowrap}.page-controls .btn-create:hover{background-color:var(--button-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.page-controls .btn-create:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.entity-add-wrapper{position:relative}.entity-add-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.entity-add-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:100;background:var(--white);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:260px;padding:6px;animation:entityMenuFadeIn .15s ease-out}@keyframes entityMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.entity-add-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:none;background:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);text-align:left}.entity-add-option:hover{background:var(--background-gray)}.entity-add-option .option-icon{font-size:1.15rem;flex-shrink:0}.entity-add-option .option-text{display:flex;flex-direction:column;gap:1px}.entity-add-option .option-label{font-size:.82rem;font-weight:600;color:var(--text-primary);font-family:var(--font-sans)}.entity-add-option .option-desc{font-size:.7rem;color:var(--text-muted);font-family:var(--font-sans)}.page-controls .search-box{flex:1;min-width:200px;max-width:300px;position:relative}.page-controls .search-box:before{content:"🔍";position:absolute;left:11px;top:50%;transform:translateY(-50%);pointer-events:none;font-size:.73rem;color:var(--text-secondary)}.page-controls .search-box input{width:100%;padding:7px 11px 7px 30px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;color:var(--text-primary);background:var(--white);transition:border-color var(--transition-fast)}.page-controls .search-box input:hover{border-color:var(--text-light)}.page-controls .search-box input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.page-controls .filter-group{display:flex;align-items:center;gap:8px}.page-controls .filter-select{padding:7px 11px;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);font-family:var(--font-sans);font-size:.73rem;color:var(--text-primary);background:var(--white);cursor:pointer;transition:border-color var(--transition-fast)}.page-controls .filter-select:focus{outline:none;border-color:var(--primary-color)}@media (max-width: 768px){.page-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-3)}.page-header h1{font-size:var(--text-xl)}.form-container{padding:var(--spacing-4)}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.grid-container{grid-template-columns:1fr;gap:var(--spacing-4)}.card{padding:var(--spacing-4)}.card-actions{flex-direction:column}.page-controls{flex-direction:column;align-items:stretch}.page-controls .search-box{min-width:0;max-width:none;width:100%}}
