.login-container{align-items:center;background:var(--gradient-dark);display:flex;justify-content:center;min-height:100vh;padding:var(--space-6)}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:var(--space-4);max-width:400px;padding:var(--space-8);width:100%}.login-header{margin-bottom:var(--space-6);text-align:center}.login-title{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.login-subtitle{color:var(--color-text-muted);font-size:var(--text-sm)}.login-card form{display:flex;flex-direction:column;gap:var(--space-4)}.login-input{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);height:var(--input-height);padding:0 var(--space-4);width:100%}.login-input::placeholder{color:var(--color-text-muted)}.login-button{align-items:center;background:var(--color-primary);border:none;border-radius:var(--radius-lg);color:var(--white);cursor:pointer;display:flex;font-weight:var(--font-medium);height:var(--button-height);justify-content:center;transition:background var(--transition-fast);width:100%}.login-button:hover{background:var(--color-primary-hover)}.oauth-divider{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4);margin-top:var(--space-6);position:relative;text-align:center}.oauth-divider:after,.oauth-divider:before{border-top:1px solid var(--color-border);content:"";position:absolute;top:50%;width:40%}.oauth-divider:before{left:0}.oauth-divider:after{right:0}.oauth-button{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);display:flex;gap:var(--space-2);justify-content:center}.oauth-button:hover{background:var(--color-surface-hover)}.oauth-logo{flex-shrink:0;height:var(--space-5);width:var(--space-5)}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--text-sm);padding:0;transition:color var(--transition-fast)}.link-button:hover{color:var(--color-primary-hover)}.login-footer{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:var(--space-6);text-align:center}.login-footer a{color:var(--color-primary)}.sidebar{background:var(--color-surface);box-shadow:var(--shadow-xl);height:100%;width:100%}.sidebar,.sidebar-container{display:flex;flex-direction:column;overflow:hidden}.sidebar-container{height:100vh;height:100dvh;left:0;position:fixed;top:0;transition:width var(--transition-normal);width:var(--sidebar-width);z-index:var(--z-fixed)}.sidebar-collapsed{width:var(--sidebar-collapsed-width)!important}.sidebar-resizing{transition:none;-webkit-user-select:none;user-select:none}.sidebar-logo-header{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;flex-shrink:0;height:var(--topnav-height);justify-content:space-between;padding:var(--space-4);position:relative}.sidebar-toggle{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;height:24px;justify-content:center;margin-left:var(--space-2);padding:0;transition:color var(--transition-fast);width:24px}.sidebar-toggle:hover{background:none;color:var(--color-text)}.sidebar.sidebar-collapsed .sidebar-logo-header{padding:var(--space-1)}.sidebar.sidebar-collapsed .sidebar-toggle{margin-left:0}.sidebar-search-section{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;padding:var(--space-4)}.sidebar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.sidebar-title{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;margin:0;text-transform:uppercase}.search-container{position:relative}.search-input{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);font-size:var(--text-sm);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-10);transition:all var(--transition-fast);width:100%}.search-input:hover{background:var(--color-surface-active);border-color:var(--color-border-hover)}.search-input:focus{background:var(--color-surface-active);border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.search-icon,.search-input::placeholder{color:var(--color-text-subtle)}.search-icon{left:var(--space-3);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.sidebar-content{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:var(--space-2)}.sidebar-content.collapsed{padding:var(--space-1)}.department-list{display:flex;flex-direction:column;gap:var(--space-1);list-style:none;margin:0;padding:0}.department-item{align-items:center;animation:slideInLeft var(--duration-normal) var(--ease-out) both;animation-delay:0ms;animation-delay:calc(var(--index, 0)*30ms);background:var(--color-surface);border:1px solid #0000;border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;display:flex;position:relative;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.department-item.sidebar-open{min-height:40px;padding:clamp(var(--space-1),1vw,var(--space-2-5)) clamp(var(--space-2),2vw,var(--space-3))}.department-item.sidebar-collapsed{justify-content:center;min-height:36px;padding:clamp(var(--space-1),1vw,var(--space-2))}.department-item:hover{background:var(--color-surface-hover);color:var(--color-text);transform:translateX(var(--nav-hover-translate-x)) scale(var(--nav-hover-scale))}.department-item.selected{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-text-inverse)}.department-item.selected:before{background:var(--color-primary);border-radius:0 2px 2px 0;content:"";height:24px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.department-item.drag-over{background:var(--color-primary-light);border-color:var(--color-primary)}.drag-handle{color:var(--color-text-subtle);cursor:grab;flex-shrink:0;margin-right:var(--space-2);opacity:0;transition:opacity var(--transition-fast)}.department-item:hover .drag-handle{opacity:.5}.drag-handle:active{cursor:grabbing}.department-content{align-items:center;display:flex;flex:1 1;gap:var(--space-2);min-width:0}.sidebar-collapsed .department-content{gap:0;justify-content:center}.department-icon{color:var(--color-text-muted);flex-shrink:0;height:16px;transition:transform var(--transition-fast),color var(--transition-fast);width:16px}.department-item:hover .department-icon{color:var(--color-text);transform:scale(var(--nav-icon-hover-scale))}.department-item.selected .department-icon{color:var(--color-text-inverse);transform:none}.department-acronym{font-size:var(--text-base);font-weight:var(--font-semibold);letter-spacing:.025em;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-fast);white-space:nowrap}.department-acronym,.department-item:hover .department-acronym{color:var(--color-text)}.department-item.selected .department-acronym{color:var(--color-text-inverse)}.sidebar-collapsed .department-acronym{font-size:var(--text-sm)}.department-number{color:var(--color-text-subtle);font-size:var(--text-xs);margin-left:auto}.pin-button{background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-subtle);cursor:pointer;flex-shrink:0;opacity:0;padding:clamp(var(--space-px),.5vw,var(--space-1));transition:all var(--transition-fast)}.department-item:hover .pin-button{opacity:.6}.pin-button:hover{background:var(--color-surface-active);color:var(--color-text);opacity:1!important}.pin-button.pinned{color:var(--color-accent);opacity:1}.pin-actions{display:flex;gap:var(--space-2);justify-content:flex-end;margin-top:var(--space-2)}.empty-state{color:var(--color-text-subtle);padding:var(--space-8) var(--space-4);text-align:center}.empty-state-text{display:block;font-size:var(--text-sm);margin-bottom:var(--space-3)}.sidebar-collapsed .empty-state{padding:var(--space-4) var(--space-2)}.sidebar-collapsed .empty-state-text{font-size:var(--text-xs)}.sidebar-bottom{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--color-surface-hover);border-top:1px solid var(--color-border);display:flex;flex-direction:column;margin-top:auto;padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom))}.user-section{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-3);padding:clamp(var(--space-3),2vw,var(--space-4));transition:all var(--transition-normal)}.user-section.collapsed{align-items:center;flex-direction:column;gap:var(--space-2);justify-content:center;padding:clamp(var(--space-2),1vw,var(--space-3)) var(--space-2)}.user-info{flex:0 0 auto;gap:var(--space-3);min-width:0}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);flex-shrink:0;font-weight:var(--font-semibold);height:36px;justify-content:center;overflow:hidden;width:36px}.user-avatar img{height:100%;object-fit:cover;width:100%}.user-actions{display:flex;flex-shrink:0;gap:var(--space-2);justify-content:flex-end}.user-actions.collapsed{align-items:center;flex-direction:column}.user-actions .btn-icon-action{flex:0 0 auto}.settings-icon{align-self:center;cursor:pointer;margin:var(--space-3) 0}.settings-icon.collapsed{margin:var(--space-2) 0}.settings-icon svg{transition:transform var(--transition-normal)}.settings-icon:hover svg{transform:rotate(90deg)}.sidebar-resize-handle{align-items:center;background:var(--color-border);bottom:0;cursor:col-resize;display:flex;justify-content:center;opacity:.7;position:absolute;right:0;top:0;transition:background var(--transition-fast),opacity var(--transition-fast);width:8px;z-index:1}.sidebar-resize-handle:hover{background:var(--color-primary);opacity:1}.sidebar-resize-handle:before{background:var(--color-surface);border-radius:var(--radius-full);content:"";height:24px;width:2px}.sidebar-section-title-collapsed{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.1em;margin-bottom:var(--space-2);text-align:center;text-transform:uppercase}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:#0000}.sidebar-content::-webkit-scrollbar-thumb{background:var(--gray-700);border-radius:var(--radius-full)}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--gray-600)}@media (max-width:var(--breakpoint-md )){.sidebar-toggle{display:flex}.sidebar.sidebar-open{box-shadow:var(--shadow-2xl)}.sidebar-container{max-width:320px;width:80vw}}.sidebar-loading{align-items:center;color:var(--color-text-subtle);display:flex;flex-direction:column;height:100%;justify-content:center;padding:var(--space-4)}.sidebar-loading .spinner{animation:spin .8s linear infinite;border:3px solid var(--color-surface-hover);border-radius:50%;border-top-color:var(--color-primary);height:32px;margin-bottom:var(--space-3);width:32px}.sidebar-loading span{font-size:var(--text-sm);text-align:center}[data-theme=dark] .sidebar-loading .spinner{border-color:var(--dark-surface);border-top-color:var(--color-primary)}.logo-container{align-items:center;display:inline-flex;justify-content:center;transition:transform var(--transition-base)}.logo-loading{min-height:40px;min-width:120px}.logo-skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,rgba(var(--color-text-rgb),.05) 0,rgba(var(--color-text-rgb),.1) 50%,rgba(var(--color-text-rgb),.05) 100%);background-size:200% 100%;border-radius:var(--radius-lg);height:100%;width:100%}.logo-image{filter:drop-shadow(var(--shadow-sm)) var(--logo-invert);height:auto;max-width:100%;object-fit:contain;transition:all var(--transition-base);width:auto}.logo-container:hover .logo-image{filter:drop-shadow(var(--shadow-md)) var(--logo-invert);transform:scale(1.05)}.logo-fallback{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:flex;gap:var(--space-2);overflow:hidden;padding:var(--space-2) var(--space-4);position:relative;transition:all var(--transition-base)}.logo-fallback:before{background:linear-gradient(90deg,#0000,rgba(var(--color-text-rgb),.08),#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left var(--transition-slow);width:100%}.logo-container:hover .logo-fallback{background:var(--color-surface-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.logo-container:hover .logo-fallback:before{left:100%}.logo-icon{flex-shrink:0}.logo-icon,.logo-text{color:var(--color-text)}.logo-text{font-size:var(--text-xl);font-weight:var(--font-bold);letter-spacing:-.025em;white-space:nowrap}.logo-header .logo-image{max-height:40px}.logo-header .logo-fallback{padding:var(--space-2) var(--space-3)}.logo-header .logo-text{font-size:var(--text-lg)}.logo-sidebar .logo-image{max-height:32px;max-width:160px}.logo-sidebar .logo-fallback{padding:var(--space-1-5) var(--space-3)}.logo-sidebar .logo-text{font-size:var(--text-base)}.logo-sidebar.sidebar-collapsed .logo-image{max-width:24px}.logo-sidebar.sidebar-collapsed .logo-fallback{aspect-ratio:1;padding:var(--space-1)}.logo-sidebar.sidebar-collapsed .logo-text{display:none}.logo-large .logo-image{max-height:80px}.logo-large .logo-fallback{background:linear-gradient(135deg,var(--color-background) 0,var(--color-surface) 100%);border:none;box-shadow:var(--shadow-xl);gap:var(--space-3);padding:var(--space-3) var(--space-6)}.logo-large .logo-text{font-size:var(--text-2xl);font-weight:var(--font-extrabold)}.logo-large .logo-fallback:after{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));border-radius:inherit;content:"";filter:blur(8px);inset:-2px;opacity:0;position:absolute;transition:opacity var(--transition-base);z-index:-1}.logo-large:hover .logo-fallback:after{opacity:.3}@media (max-width:768px){.logo-header .logo-image{max-height:32px}.logo-header .logo-fallback{padding:var(--space-1) var(--space-2)}.logo-header .logo-text,.logo-large .logo-text{font-size:var(--text-base)}}.topnav{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);height:var(--topnav-height);position:relative;width:100%;z-index:var(--z-sticky)}.topnav-container{height:100%;justify-content:space-between;max-width:100%;padding:0 var(--space-6)}.topnav-container,.topnav-left{align-items:center;display:flex}.topnav-left{gap:var(--space-4)}.sidebar-toggle-btn{background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;display:none;padding:var(--space-2);transition:all var(--transition-fast)}.sidebar-toggle-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text)}@media (min-width:var(--breakpoint-md )){.sidebar-collapsed~.main-wrapper .sidebar-toggle-btn{align-items:center;display:flex;justify-content:center}}@media (max-width:var(--breakpoint-md )){.sidebar-toggle-btn{align-items:center;display:flex;justify-content:center}}.topnav-brand{gap:var(--space-3)}.topnav-brand,.topnav-logo{align-items:center;display:flex}.topnav-logo{background:var(--color-text);border-radius:var(--radius-lg);color:var(--color-text-inverse);height:36px;justify-content:center;overflow:hidden;position:relative;width:36px}.topnav-logo:before{background:linear-gradient(135deg,#ffffff1a,#0000 50%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.topnav-logo svg{position:relative;z-index:1}.topnav-title{color:var(--color-text);display:none;font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}@media (min-width:640px){.topnav-title{display:block}}.department-context{align-items:center;animation:fadeInScale var(--duration-normal) var(--ease-out);background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-4);transition:all var(--transition-fast)}.department-context:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.department-badge{align-items:center;background:var(--department-badge-bg);border-radius:var(--radius-lg);display:flex;flex-shrink:0;justify-content:center;overflow:hidden;padding:10px;position:relative}.department-badge:before{background:linear-gradient(135deg,#ffffff1a,#0000 50%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.topnav .department-acronym{color:var(--department-badge-text);font-size:var(--text-sm);font-weight:var(--font-bold);letter-spacing:.025em;position:relative;text-transform:uppercase;white-space:nowrap;z-index:1}.department-info{display:flex;flex-direction:column;flex-shrink:0}.department-name{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-semibold);line-height:1.3;margin:0;white-space:nowrap}.department-code{color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.3}.topnav-nav{align-items:center;display:flex;gap:var(--space-2)}@media (max-width:var(--breakpoint-md )){.topnav-nav{display:none}}.topnav-tab{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);padding:var(--space-2) var(--space-4);position:relative;transition:all var(--transition-fast)}.topnav-tab:hover{background-color:var(--color-surface-hover);color:var(--color-text);transform:translateY(var(--nav-hover-translate-y)) scale(var(--nav-hover-scale))}.topnav-tab.active{background-color:#3b82f614;color:var(--color-primary)}.topnav-tab.active:before{background:var(--color-primary);border-radius:var(--radius-full);bottom:0;content:"";height:2px;left:var(--space-4);position:absolute;right:var(--space-4)}.topnav-tab:disabled{cursor:not-allowed;opacity:.4}.mobile-menu-toggle,.topnav-tab:disabled:hover{background:#0000;color:var(--color-text-muted)}.mobile-menu-toggle{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:center;padding:var(--space-2);transition:all var(--transition-fast)}.mobile-menu-toggle:hover{background-color:var(--color-surface-hover);color:var(--color-text)}@media (min-width:780px){.mobile-menu-toggle{display:none}}.mobile-menu{animation:slideDown var(--transition-fast);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);display:block;left:0;padding:var(--space-2) var(--space-4);position:absolute;right:0;top:var(--topnav-height);z-index:var(--z-dropdown)}@media (min-width:780px){.mobile-menu{display:none}}.mobile-menu-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-3);margin-bottom:var(--space-1);padding:var(--space-3) var(--space-4);text-align:left;transition:all var(--transition-fast);width:100%}.mobile-menu-item:hover{background-color:var(--color-surface-hover);transform:translateY(var(--nav-hover-translate-y)) scale(var(--nav-hover-scale))}.mobile-menu-item.active{background-color:var(--color-text);color:var(--color-text-inverse)}.mobile-menu-item:disabled{cursor:not-allowed;opacity:.4}@media (max-width:var(--breakpoint-md )){.department-context{gap:var(--space-2);padding:var(--space-1-5) var(--space-3)}.department-badge{padding:10px}.department-name,.topnav .department-acronym{font-size:var(--text-xs)}.department-code{display:none}}.assessment-container{animation:slideIn .3s ease-out;background-color:#f9fafb;bottom:0;left:var(--sidebar-width);overflow-y:auto;position:fixed;right:0;top:0;z-index:1000}.assessment-header{background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;padding:1.5rem;position:sticky;top:0;z-index:100}.assessment-title-section{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.assessment-title{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.assessment-close-button{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.5rem;padding:.5rem;transition:color .2s}.assessment-close-button:hover{color:#111827}.assessment-metrics{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metric-card{background-color:#f3f4f6;border-radius:.5rem;padding:1rem;text-align:center}.metric-value{color:#111827;font-size:2rem;font-weight:700;margin-bottom:.25rem}.metric-label{color:#6b7280;font-size:.875rem;margin-bottom:.25rem}.metric-percent{color:#3b82f6;font-size:.75rem;font-weight:600}.assessment-controls{align-items:center;background-color:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.5rem}.assessment-filters{display:flex;flex:1 1;flex-wrap:wrap;gap:.75rem}.assessment-search{flex:1 1;min-width:250px}.assessment-filter,.assessment-search{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem 1rem}.assessment-filter{background-color:#fff;cursor:pointer}.assessment-actions{align-items:center;display:flex;gap:.75rem}.selected-count{color:#3b82f6;font-size:.875rem;font-weight:500}.assessment-button{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.assessment-button:hover{background-color:#f3f4f6;border-color:#9ca3af}.assessment-button:disabled{cursor:not-allowed;opacity:.5}.bulk-actions-bar{align-items:center;background-color:#eff6ff;border-bottom:1px solid #3b82f6;display:flex;flex-wrap:wrap;gap:1rem;padding:1rem 1.5rem}.bulk-actions-label{color:#1e40af;font-size:.875rem;font-weight:500}.bulk-action-button{background-color:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.375rem .75rem;transition:background-color .2s}.bulk-action-button:hover{background-color:#2563eb}.bulk-action-button.secondary{background-color:#6b7280}.bulk-action-button.secondary:hover{background-color:#4b5563}.bulk-action-select{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;font-size:.875rem;padding:.375rem .75rem}.assessment-table-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin:1.5rem;overflow-x:auto}.assessment-table{border-collapse:collapse;width:100%}.assessment-table thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.assessment-table th{color:#374151;font-size:.875rem;font-weight:600;padding:1rem;text-align:left;white-space:nowrap}.assessment-table td.checkbox-column,.assessment-table th.checkbox-column{text-align:center;width:40px}.assessment-table td.center-column,.assessment-table th.center-column{text-align:center}.assessment-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.assessment-table tbody tr:hover{background-color:#f9fafb}.assessment-table tbody tr.has-capability{background-color:#f0fdf4}.assessment-table tbody tr.has-capability:hover{background-color:#dcfce7}.assessment-table td{color:#111827;font-size:.875rem;padding:.75rem 1rem}.capability-cell{min-width:250px}.capability-info{display:flex;flex-direction:column;gap:.25rem}.capability-info strong{color:#111827;font-weight:600}.capability-category{background-color:#f3f4f6;border-radius:.25rem;color:#6b7280;display:inline-block;font-size:.75rem;padding:.125rem .5rem;width:fit-content}.capability-description{color:#6b7280;font-size:.75rem;margin-top:.25rem}.phase-badge{margin-left:.5rem;padding:.125rem .5rem}.capability-checkbox{accent-color:#3b82f6;cursor:pointer;height:18px;width:18px}.assessment-input{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.375rem .5rem;transition:border-color .2s;width:100%}.assessment-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.assessment-input:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.assessment-select{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;cursor:pointer;font-size:.875rem;padding:.375rem .5rem;transition:all .2s;width:100%}.assessment-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.assessment-select:disabled{background-color:#f3f4f6;color:#9ca3af;cursor:not-allowed}.notes-cell{min-width:200px}.notes-container{align-items:flex-start;display:flex;gap:.5rem;position:relative}.assessment-notes{border:1px solid #d1d5db;border-radius:.375rem;font-family:inherit;font-size:.875rem;min-height:32px;padding:.375rem .5rem;resize:vertical;transition:all .2s;width:100%}.assessment-notes:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.assessment-notes.expanded{min-height:80px}.expand-notes-button{background:none;border:none;color:#6b7280;cursor:pointer;font-size:.75rem;padding:.25rem}.assessment-empty-state{font-size:.875rem}.assessment-empty-state,.assessment-loading{color:#6b7280;padding:3rem;text-align:center}.assessment-loading{font-size:1rem}.assessment-loading:before{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;content:"";display:inline-block;height:2rem;margin-bottom:1rem;width:2rem}.saving-indicator{align-items:center;animation:fadeIn .2s ease-out;background-color:#111827;border-radius:.5rem;bottom:2rem;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;gap:.75rem;padding:.75rem 1.5rem;position:fixed;right:2rem}.saving-spinner{animation:spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:1rem;width:1rem}@media (max-width:1024px){.assessment-container{left:0}.assessment-metrics{grid-template-columns:repeat(2,1fr)}.assessment-filters{flex-direction:column;width:100%}.assessment-search{width:100%}}@media (max-width:768px){.assessment-table{font-size:.75rem}.assessment-table td,.assessment-table th{padding:.5rem}.capability-cell{min-width:200px}}.component-link-cell{align-items:center;display:flex;gap:.5rem}.link-component-button{background-color:#e0e7ff;border:1px solid #818cf8;border-radius:.375rem;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .2s}.link-component-button:hover{background-color:#c7d2fe;border-color:#6366f1}.linked-components-badge{background-color:#ede9fe;border-radius:.25rem;color:#4c1d95;font-size:.75rem;max-width:150px;overflow:hidden;padding:.125rem .5rem;text-overflow:ellipsis;white-space:nowrap}.component-list{max-height:400px;overflow-y:auto;padding:1rem 0}.component-item{border-bottom:1px solid #e5e7eb;padding:.5rem}.component-item:last-child{border-bottom:none}.component-label{align-items:center;border-radius:.375rem;cursor:pointer;display:flex;gap:.75rem;padding:.5rem;transition:background-color .2s}.component-label:hover{background-color:#f9fafb}.component-label input[type=checkbox]{accent-color:#8b5cf6;cursor:pointer;height:18px;width:18px}.component-icon{font-size:1.5rem}.component-name{flex:1 1;font-weight:500}.component-type{color:#6b7280;font-size:.875rem}.no-components-message{color:#6b7280;font-style:italic;padding:2rem;text-align:center}.deployment-coverage-summary{background-color:#f3f4f6;border-radius:.5rem;margin:1.5rem 1.5rem 0;padding:1.5rem}.deployment-coverage-summary h3{color:#374151;font-size:1.125rem;margin:0 0 1rem}.coverage-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.coverage-stat{background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem}.stat-label{font-size:.875rem;margin-bottom:.25rem}.stat-label,.stat-value{display:block}.assessment-table tr.has-linked-components{background-color:#f0f9ff;border-left:3px solid #3b82f6}.assessment-table tr.has-capability.deployed-and-linked{background-color:#ecfdf5;border-left:3px solid #10b981}.content-area{box-sizing:border-box;display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:var(--space-6)}.dashboard-header{align-items:center;background-color:#f9fafb;border-radius:.5rem;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1rem}.dashboard-customer-title{color:#374151;font-size:1.125rem;font-weight:600;margin:0}.customer-meta{color:#6b7280;font-size:.875rem;margin-left:1rem}.dashboard-controls{display:flex;gap:.75rem}.connection-instructions{background-color:#fef3c7;border:1px solid #fbbf24;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.connection-instructions-content{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.connection-instructions-icon{font-size:1.25rem}.connection-instructions-text{color:#92400e;flex:1 1;font-weight:500}.connection-start-badge{background-color:#f59e0b;border-radius:9999px;color:#fff;font-size:.75rem;padding:.25rem .75rem}.dashboard-container{display:flex;flex:1 1;gap:var(--space-6);min-height:0}.tech-palette{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;overflow-y:auto;padding:1.5rem;width:250px}.tech-palette-title{color:#374151;font-size:1rem;font-weight:600;margin-bottom:1rem}.tech-items{flex-direction:column;margin-bottom:1rem}.tech-item,.tech-items{display:flex;gap:.75rem}.tech-item{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:.75rem;transition:all .15s}.tech-item:hover{background-color:#f3f4f6;box-shadow:0 2px 4px #0000001a;transform:translateY(-2px)}.tech-item.disabled{opacity:.5}.tech-item.disabled:hover{box-shadow:none;transform:none}.tech-item-firewall{border-left:4px solid #ef4444}.tech-item-switch{border-left:4px solid #3b82f6}.tech-item-wireless{border-left:4px solid #10b981}.tech-item-software{border-left:4px solid #8b5cf6}.tech-item-cloud{border-left:4px solid #f59e0b}.tech-item-server{border-left:4px solid #6b7280}.tech-item-icon{font-size:1.25rem;min-width:24px}.tech-item-name{color:#374151;font-size:.875rem;font-weight:500}.tech-palette-hint{color:#6b7280;font-size:.75rem;font-style:italic;line-height:1.5;margin-top:1rem}.connection-types-reference{background-color:#f8fafc;border-radius:.5rem;border-top:1px solid #e5e7eb;margin-top:1.5rem;padding:1rem}.connection-types-title{color:#374151;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.connection-types-list{display:flex;flex-direction:column;gap:.5rem}.connection-type-item{align-items:center;color:#6b7280;display:flex;font-size:.75rem;gap:.5rem}.connection-type-item-icon{align-items:center;display:inline-flex;font-size:.875rem;height:20px;justify-content:center;width:20px}.connection-type-item-name{font-size:.75rem;font-weight:500}.canvas-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex:1 1}.canvas,.canvas-container{overflow:hidden;position:relative}.canvas{height:100%;width:100%}.canvas-placeholder{color:var(--color-text-muted);left:50%;max-width:400px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.canvas-placeholder-title{color:var(--color-text);font-size:1.125rem;font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.canvas-placeholder-text{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}.selected-element-capabilities{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);bottom:20px;box-shadow:var(--shadow-md);max-width:300px;padding:var(--space-4);position:absolute;right:20px;z-index:100}.selected-element-capabilities h4{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.selected-element-capabilities ul{font-size:var(--text-sm);list-style-type:disc;margin:0;padding-left:1.5rem}.selected-element-capabilities li{color:var(--color-text-muted);margin-bottom:var(--space-1)}.selected-element-capabilities strong{color:var(--color-text);font-weight:var(--font-semibold)}.modal-overlay{background-color:#00000080;z-index:50}.modal-content{background-color:#fff;border-radius:.5rem;box-shadow:0 20px 25px -5px #0000001a;max-width:28rem;padding:1.5rem;width:100%}.modal-title{color:#1f2937;font-size:1.125rem;margin-bottom:1rem}.modal-description{color:#4b5563;margin-bottom:1rem}.modal-form{display:flex;flex-direction:column;gap:1rem}.form-label{color:#374151;display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.form-select{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#1f2937;font-size:.875rem;padding:.5rem .75rem;width:100%}.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.form-textarea{border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem;resize:none;width:100%}.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.connection-type-preview{background-color:#f9fafb;border-radius:.375rem;margin:.5rem 0;padding:1rem}.connection-type-icon{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;width:40px}.connection-type-description{color:#6b7280;flex:1 1;font-size:.875rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.insights-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-top:1.5rem;padding:1.5rem}.insights-title{color:#4b5563;font-size:1rem;font-weight:600;margin-bottom:1rem}.insights-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.insight-card{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;padding:1rem;text-align:center}.insight-value{color:#3b82f6;font-size:2rem;font-weight:600;margin-bottom:.25rem}.insight-label{color:#6b7280;font-size:.875rem;letter-spacing:.05em;margin-top:.25rem;text-transform:uppercase}.insight-card:last-child{background-color:#f0fdf4;border:1px solid #86efac}.insight-card:last-child .insight-value{color:#059669}.empty-state-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:2rem;text-align:center}.empty-state-title{color:#374151;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.empty-state-text{color:#6b7280}@media (max-width:768px){.dashboard-container{flex-direction:column}.tech-palette{max-height:40vh;width:100%}.canvas-container{height:60vh}.selected-element-capabilities{bottom:10px;left:10px;max-width:none;position:fixed;right:10px}}.canvas-element{align-items:center;background-color:var(--color-surface);border-radius:var(--radius-md);border-style:solid;border-width:2px;box-shadow:var(--shadow-sm);cursor:move;display:flex;flex-direction:column;gap:var(--space-1);justify-content:center;padding:var(--space-3);position:absolute;transition:box-shadow var(--transition-fast),transform var(--transition-fast);-webkit-user-select:none;user-select:none}.canvas-element-firewall{border-color:#ef4444}.canvas-element-firewall .element-icon{color:#ef4444}.canvas-element-switch{border-color:#3b82f6}.canvas-element-switch .element-icon{color:#3b82f6}.canvas-element-wireless{border-color:#10b981}.canvas-element-wireless .element-icon{color:#10b981}.canvas-element-software{border-color:#8b5cf6}.canvas-element-software .element-icon{color:#8b5cf6}.canvas-element-cloud{border-color:#f59e0b}.canvas-element-cloud .element-icon{color:#f59e0b}.canvas-element-server{border-color:#6b7280}.canvas-element-server .element-icon{color:#6b7280}.canvas-element:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-2px)}.canvas-element.selected{border-color:#6366f1!important;box-shadow:0 0 0 3px #6366f14d}.canvas-element.connection-start{animation:pulse 1.5s infinite;border-color:#f59e0b!important;box-shadow:0 0 0 3px #f59e0b4d}.canvas-element.connecting{cursor:pointer}.canvas-element.connecting:not(.selected):hover{transform:translateY(-2px) scale(1.02)}.canvas-element.dragging{box-shadow:0 8px 16px #0003;cursor:grabbing;opacity:.8;transform:scale(1.05);z-index:1000}.element-icon{font-size:1.5rem}.element-name{color:var(--color-text);font-size:var(--text-xs);font-weight:var(--font-medium);line-height:1.2;text-align:center;white-space:nowrap}.element-delete-button{align-items:center;background-color:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:.75rem;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}.element-delete-button:hover{background-color:#dc2626}.canvas-element.has-capabilities{border:2px solid #10b981;box-shadow:0 0 0 2px #10b9811a}.canvas-element.has-capabilities:hover{border-color:#059669;box-shadow:0 0 0 3px #10b98133}.element-capabilities-badge{align-items:center;animation:pulseOnce .6s ease-out;background-color:#10b981;border-radius:50%;box-shadow:0 2px 4px #0003;color:#fff;cursor:help;display:flex;font-size:.75rem;font-weight:600;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;width:24px;z-index:10}.capabilities-count{font-size:.875rem}.capabilities-icon{bottom:2px;font-size:.625rem;position:absolute;right:2px}.canvas{background-color:var(--color-surface);background-image:radial-gradient(circle,var(--canvas-grid-color) 1px,#0000 1px);background-position:0 0,10px 10px;background-size:20px 20px;cursor:grab}.canvas.connecting{cursor:crosshair}.tech-item{cursor:move;-webkit-user-select:none;user-select:none}.tech-item:active{cursor:grabbing}.tech-item.disabled{cursor:not-allowed}.canvas-svg{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.canvas-svg circle,.canvas-svg path,.canvas-svg text{pointer-events:all}.connection-line{cursor:pointer;transition:all .3s ease}.connection-line:hover{stroke-width:3;opacity:.6!important}.connection-icon-circle{cursor:pointer;transition:all .2s ease}.connection-icon-circle:hover{r:12;opacity:.5!important}.connection-icon-text{font-size:10px;pointer-events:none}.connection-delete-circle{cursor:pointer}@keyframes dash{to{stroke-dashoffset:-10}}.connection-preview{animation:dash 2s linear infinite;opacity:.7;pointer-events:none}@keyframes pulseOnce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.connection-instructions{animation:slideDown .3s ease-out}.selected-element-capabilities{animation:slideIn .2s ease-out}Modal backdrop filter
.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.canvas-placeholder{pointer-events:none}@media (max-width:768px){.selected-element-capabilities{bottom:10px;left:10px;max-width:none;position:fixed;right:10px}}@media print{.connection-instructions,.dashboard-controls,.tech-palette{display:none}.dashboard-container{height:auto}.canvas{height:100vh}}.connection-types-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.page-description{color:#6b7280;font-size:.875rem;max-width:600px}.add-button{background-color:#3b82f6;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:background-color .15s}.add-button:hover{background-color:#2563eb}.connection-types-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.connection-type-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1.5rem;transition:all .15s}.connection-type-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.connection-type-card-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1rem}.connection-type-icon-large{align-items:center;border-radius:.5rem;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.connection-type-card-info{flex:1 1}.connection-type-card-name{color:#111827;font-size:1rem;font-weight:600;margin:0 0 .25rem}.connection-type-card-id{color:#6b7280;font-family:monospace;font-size:.75rem;margin:0}.connection-type-card-actions{display:flex;gap:.5rem}.delete-button,.edit-button{align-items:center;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;display:flex;font-size:.875rem;height:32px;justify-content:center;transition:all .15s;width:32px}.edit-button:hover{background-color:#e5e7eb}.delete-button:hover{background-color:#fee2e2;border-color:#fecaca}.connection-type-card-description{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:1rem}.connection-type-card-footer{align-items:center;border-top:1px solid #f3f4f6;display:flex;justify-content:space-between;padding-top:1rem}.connection-type-color-badge{align-items:center;border-radius:9999px;color:#fff;display:inline-flex;font-family:monospace;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.connection-type-order{color:#9ca3af;font-size:.75rem}.connection-type-preview-box{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;margin-top:1rem;padding:1rem}.connection-type-preview-box h4{color:#6b7280;font-size:.875rem;font-weight:600;margin:0 0 .75rem}.connection-type-preview{align-items:center;display:flex;gap:1rem;padding:.5rem}.connection-type-preview .connection-type-icon{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;width:40px}.connection-type-preview strong{color:#111827;font-size:.875rem}.connection-type-preview .connection-type-description{color:#6b7280;font-size:.75rem;line-height:1.4;margin-top:.25rem}.editable-data-table{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%}.edt-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--space-4)}.edt-title{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-semibold);margin:0}.edt-controls{align-items:center;display:flex;gap:var(--space-2)}.edt-search{width:200px}.btn-danger{background-color:color-mix(in srgb,var(--color-error) 20%,#0000);border-color:color-mix(in srgb,var(--color-error) 40%,#0000);color:var(--color-error)}.btn-danger:hover{background-color:color-mix(in srgb,var(--color-error) 30%,#0000)}.icon-only{padding:var(--space-2)}.icon-only svg{margin:0}.edt-column-selector{background:var(--color-surface-hover);border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4)}.edt-column-selector h4{color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-medium);margin:0 0 var(--space-2) 0}.edt-column-list{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.edt-column-item{align-items:center;color:var(--color-text);display:flex;font-size:var(--text-sm);gap:var(--space-2)}.edt-table-container{flex:1 1;overflow:auto}.edt-table{border-collapse:collapse;width:100%}.edt-th{background:var(--color-surface-hover);border-bottom:2px solid var(--color-border);border-right:1px solid var(--color-border);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--font-medium);padding:0;position:relative;text-align:left}.edt-th:last-child{border-right:none}.edt-th-content{justify-content:space-between;padding:var(--space-3);position:relative}.edt-th-content,.edt-th-label{align-items:center;display:flex}.edt-th-label{flex:1 1;gap:var(--space-1);-webkit-user-select:none;user-select:none}.edt-th-label.sortable{cursor:pointer;transition:color var(--transition-fast)}.edt-th-label.sortable:hover{color:var(--color-primary)}.edt-sort-indicator{opacity:.5;transition:opacity var(--transition-fast)}.edt-th-label:hover .edt-sort-indicator{opacity:1}.edt-filter-button{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:var(--text-xs);gap:var(--space-1);padding:var(--space-1) var(--space-2);transition:all var(--transition-fast)}.edt-filter-button:hover{background:var(--color-surface-hover);color:var(--color-text)}.edt-filter-button.active{background:var(--color-primary);color:var(--color-text-inverse)}.edt-filter-count{font-weight:var(--font-medium)}.edt-resize-handle{align-items:center;bottom:0;color:var(--color-text-subtle);cursor:col-resize;display:flex;justify-content:center;opacity:0;position:absolute;right:-3px;top:0;transition:opacity var(--transition-fast);width:6px}.edt-th:hover .edt-resize-handle{opacity:1}.edt-resize-handle:hover{color:var(--color-primary)}.edt-filter-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;margin-top:var(--space-1);max-height:400px;max-width:300px;min-width:200px;position:absolute;right:var(--space-2);top:100%;z-index:var(--z-dropdown)}.edt-filter-header{align-items:center;border-bottom:1px solid var(--color-border);color:var(--color-text);display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);justify-content:space-between;padding:var(--space-2) var(--space-3)}.edt-filter-actions{display:flex;gap:var(--space-2)}.edt-filter-actions button{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-xs);padding:var(--space-1) var(--space-2);transition:background var(--transition-fast)}.edt-filter-options{overflow-y:auto;padding:var(--space-2)}.edt-filter-option{align-items:center;border-radius:var(--radius-sm);cursor:pointer;display:flex;font-size:var(--text-sm);gap:var(--space-2);padding:var(--space-2);transition:background var(--transition-fast)}.edt-filter-option:hover{background:var(--color-surface-hover)}.edt-table td{border-bottom:1px solid var(--color-border);padding:0}.edt-cell{align-items:center;color:var(--color-text);display:flex;font-size:var(--text-sm);min-height:2.5rem;padding:var(--space-3)}.edt-cell.editable{cursor:pointer;position:relative;transition:background var(--transition-fast)}.edt-cell.editable:hover{background:var(--color-surface-hover)}.edt-cell.editable:hover:after{animation:slideIn .2s forwards;background:var(--color-primary);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;width:3px}.edt-cell.non-editable{background:var(--color-surface-hover);color:var(--color-text-muted);cursor:not-allowed}.edt-empty{color:var(--color-text-subtle);font-size:var(--text-sm);font-style:italic}.edt-cell-input{background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius-sm);box-shadow:0 0 0 3px #0000000d;font-family:inherit;font-size:var(--text-sm);outline:none;padding:var(--space-2);width:100%}.edt-cell-saving{align-items:center;color:var(--color-text-muted);display:flex;font-style:italic;gap:var(--space-2);padding:var(--space-3)}.edt-saving-indicator{color:var(--color-primary)}.edt-cell-saved{align-items:center;animation:flash .3s ease;background:#d1fae5;display:flex;gap:var(--space-2);padding:var(--space-3)}@keyframes flash{0%{background:#a7f3d0}to{background:#d1fae5}}.edt-saved-indicator{color:var(--color-success)}.edt-new-row{background:var(--color-surface-hover)}.edt-new-input{width:100%}.edt-actions{padding:var(--space-2);text-align:center;width:80px}.edt-actions .btn{margin:0 var(--space-1)}.edt-empty-state{color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-10);text-align:center}.edt-footer{border-top:1px solid var(--color-border);display:flex;font-size:var(--text-sm);gap:var(--space-4);padding:var(--space-3) var(--space-4)}.edt-fullscreen-overlay{align-items:center;animation:fadeIn var(--transition-base);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-modal)}.edt-fullscreen-container{animation:slideUp var(--transition-slow);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;height:95%;position:relative;width:95%}.edt-fullscreen-close{align-items:center;background:var(--color-surface-hover);border:none;border-radius:var(--radius-full);color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:var(--space-4);top:var(--space-4);transition:all var(--transition-fast);width:40px;z-index:10}.edt-fullscreen-close:hover{background:var(--color-surface-active);transform:rotate(90deg)}.fullscreen-mode{border-radius:var(--radius-xl);height:100%}.fullscreen-mode .edt-table-container{max-height:calc(100% - 120px)}.editable-data-table.compact .edt-cell{font-size:var(--text-xs);min-height:2rem;padding:var(--space-2)}.editable-data-table.compact .edt-th-content{padding:var(--space-2)}.editable-data-table.compact .edt-new-input{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}body.col-resizing,body.col-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}@media (max-width:768px){.edt-header{align-items:stretch;flex-direction:column;gap:var(--space-3)}.edt-controls{flex-wrap:wrap}.edt-search{width:100%}.edt-column-list{grid-template-columns:1fr}}.capabilities-header{margin-bottom:1.5rem}.capabilities-controls{gap:1rem;margin-bottom:1.5rem}.capabilities-search{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;flex:1 1;font-size:.875rem;min-width:250px;padding:.5rem}.capabilities-search:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.capabilities-button{border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s;white-space:nowrap}.capabilities-button-add{background-color:#3b82f6;color:#fff}.capabilities-button-add:hover{background-color:#2563eb}.capabilities-button-import{background-color:#10b981;color:#fff}.capabilities-button-import:hover{background-color:#059669}.capabilities-table-container{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:auto}.capabilities-table-container::-webkit-scrollbar{height:8px}.capabilities-table-container::-webkit-scrollbar-track{background:#f3f4f6;border-radius:0 0 .5rem .5rem}.capabilities-table-container::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.capabilities-table-container::-webkit-scrollbar-thumb:hover{background:#9ca3af}.capabilities-table{border-collapse:collapse;font-size:.875rem;width:100%}.capabilities-table thead tr{background-color:#f9fafb;border-bottom:1px solid #e5e7eb}.capabilities-table th{color:#374151;padding:.75rem 1rem}.capabilities-table th.sortable-header{color:#374151;cursor:pointer;font-weight:600;padding:.75rem 1rem;text-align:left;transition:background-color .15s;-webkit-user-select:none;user-select:none}.capabilities-table th.actions-column{text-align:center;width:100px}.sortable-header{transition:background-color .15s}.sortable-header:hover{background-color:#f3f4f6}.sort-indicator{color:#6b7280;font-size:.75rem;margin-left:.25rem}.capabilities-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background-color .15s}.capabilities-table tbody tr:hover{background-color:#f9fafb}.capabilities-table tbody tr:last-child{border-bottom:none}.capabilities-table td{color:#111827;max-width:300px;overflow:hidden;padding:.75rem 1rem;text-overflow:ellipsis;white-space:nowrap}.capabilities-table td.actions-cell{max-width:none;overflow:visible;padding:.75rem 1rem;text-align:center;white-space:nowrap}.capabilities-table td:not(.actions-cell):not(.phase-cell):hover{background-color:#fff;box-shadow:0 2px 8px #0000001a;overflow:visible;position:relative;white-space:normal;word-break:break-word;z-index:1}.capabilities-new-row{background-color:#f0f9ff}.capabilities-new-row td{padding:.5rem}.capabilities-new-input{background-color:#fff;border:1px solid #d1d5db;border-radius:.25rem;font-size:.875rem;padding:.5rem;width:100%}.capabilities-new-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.capabilities-edit-input{background-color:#fff;border:1px solid #3b82f6;border-radius:.25rem;font-size:.875rem;padding:.25rem;width:100%}.capabilities-edit-input:focus{box-shadow:0 0 0 2px #3b82f633;outline:none}.capabilities-action-button{background:none;border:none;border-radius:.25rem;cursor:pointer;font-size:1rem;margin:0 .125rem;padding:.25rem;transition:background-color .15s}.capabilities-action-button:hover{background-color:#e5e7eb}.capabilities-empty-state{color:#6b7280;font-size:.875rem;padding:3rem;text-align:center}.phase-cell{text-align:center}.phase-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.phase-badge.phase-1{background-color:#dbeafe;color:#1e40af}.phase-badge.phase-2{background-color:#e0e7ff;color:#3730a3}.phase-badge.phase-3{background-color:#fef3c7;color:#92400e}.phase-badge.phase-4{background-color:#fed7aa;color:#9a3412}.phase-badge.phase-5{background-color:#d1fae5;color:#064e3b}.capabilities-footer{color:#6b7280;font-size:.875rem;margin-top:1rem;text-align:right}.capabilities-button-columns{background-color:#6b7280;color:#fff}.capabilities-button-columns:hover{background-color:#4b5563}.column-selector{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1rem;padding:1rem}.column-selector h4{color:#374151;font-size:.875rem;font-weight:600;margin:0 0 .75rem}.column-selector-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.column-selector-item{align-items:center;color:#374151;cursor:pointer;display:flex;font-size:.75rem;gap:.5rem}.column-selector-item input[type=checkbox]{cursor:pointer}.column-selector-item .required-label{color:#9ca3af;font-size:.625rem;font-style:italic}.import-capabilities-title{color:#111827;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.import-file-section{margin-bottom:1.5rem}.import-file-input{display:none}.import-file-label{background-color:#3b82f6;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-block;font-size:.875rem;padding:.5rem 1rem;transition:background-color .2s}.import-file-label:hover{background-color:#2563eb}.import-file-hint{color:#6b7280;font-size:.75rem;font-style:italic;margin-top:.5rem}.import-column-debug{margin-bottom:1rem}.import-column-debug summary{background-color:#e0e7ff;border-radius:.25rem;color:#3730a3;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem}.import-column-debug details[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}.capabilities-loading{color:#6b7280;font-size:1rem;padding:3rem;text-align:center}.import-status{border-radius:.375rem;font-size:.875rem;margin-bottom:1rem;padding:1rem}.import-status.error{background-color:#fee2e2;color:#991b1b}.import-status.warning{background-color:#fef3c7;color:#92400e}.import-status.success{background-color:#d1fae5;color:#064e3b}.import-status.info{background-color:#dbeafe;color:#1e40af}.import-status ul{margin-top:.5rem;padding-left:1.5rem}.import-preview-section{margin-bottom:1.5rem}.import-preview-title{color:#374151;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.import-preview-container{border:1px solid #e5e7eb;border-radius:.375rem;overflow-x:auto}.import-preview-table{border-collapse:collapse;font-size:.75rem;width:100%}.import-preview-table thead tr{background-color:#f9fafb}.import-preview-table th{border-bottom:1px solid #e5e7eb;color:#374151;font-weight:600;padding:.5rem;text-align:left}.import-preview-table td{border-bottom:1px solid #e5e7eb;color:#111827;padding:.5rem}.import-preview-note{color:#6b7280;font-size:.75rem;font-style:italic;margin-top:.25rem}.import-actions{display:flex;gap:.75rem}.import-button{border:none;border-radius:.375rem;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .15s}.import-button-confirm{background-color:#10b981;color:#fff}.import-button-confirm:hover{background-color:#059669}.import-button-confirm:disabled{background-color:#9ca3af;cursor:not-allowed}.import-button-cancel{background-color:#e5e7eb;color:#374151}.import-button-cancel:hover{background-color:#d1d5db}.import-button-cancel:disabled{cursor:not-allowed;opacity:.5}.capabilities-table td,.capabilities-table th{transition:width .3s ease,opacity .3s ease}.capabilities-table td:last-of-type:not(.actions-cell),.capabilities-table th:last-of-type:not(.actions-column){animation:fadeIn .3s ease}.capabilities-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.5rem}.stat-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;padding:1rem}.stat-value{color:#111827;font-size:1.5rem;margin-bottom:.25rem}@media (max-width:1200px){.capabilities-table td{max-width:200px}}@media (max-width:1024px){.capabilities-table-container{border-left:none;border-radius:0;border-right:none;margin-left:-1.5rem;margin-right:-1.5rem}.capabilities-table{min-width:1000px}.column-selector-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width:640px){.capabilities-controls{flex-direction:column}.capabilities-search{width:100%}.capabilities-button{justify-content:center;width:100%}.column-selector{padding:1rem}.column-selector-grid{grid-template-columns:1fr}.column-selector-actions{flex-wrap:wrap}.column-selector-action{flex:1 1;min-width:80px}}.capabilities-loading:before{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;content:"";display:inline-block;height:2rem;margin-bottom:1rem;width:2rem}.table-header{position:relative}.header-content{align-items:center;display:flex;gap:8px;justify-content:space-between}.filter-button{background:none;border:none;border-radius:4px;color:#666;font-size:12px;padding:4px 8px;transition:all .2s}.filter-button:hover{background-color:#f0f0f0;color:#333}.filter-button.has-filter{background-color:#e3f2fd;color:#1976d2;font-weight:700}.filter-dropdown{background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-width:300px;min-width:200px;position:absolute;top:100%;z-index:1000}.filter-dropdown-header{align-items:center;border-bottom:1px solid #eee;color:#333;display:flex;font-size:14px;font-weight:500;justify-content:space-between;padding:12px}.clear-filter-button{background:none;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;font-size:12px;padding:4px 12px;transition:all .2s}.clear-filter-button:hover{background-color:#f5f5f5;border-color:#999;color:#333}.filter-options{max-height:300px;overflow-y:auto;padding:8px 0}.filter-option{align-items:center;color:#555;cursor:pointer;display:flex;font-size:14px;padding:8px 12px;transition:background-color .2s}.filter-option:hover{background-color:#f8f8f8}.filter-option input[type=checkbox]{accent-color:#1976d2;cursor:pointer;height:16px;margin-right:8px;width:16px}.filter-option span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capabilities-button-clear-filters{background-color:#ff9800;color:#fff}.capabilities-button-clear-filters:hover{background-color:#f57c00}.capabilities-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.capabilities-table th{background-color:#f5f5f5;border-bottom:2px solid #ddd;color:#333;font-size:14px;font-weight:600;padding:12px;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:10}.sortable-header{align-items:center;cursor:pointer;display:inline-flex;gap:4px;-webkit-user-select:none;user-select:none}.sortable-header:hover{color:#1976d2}.capabilities-footer{color:#666;font-size:14px;margin-top:20px;text-align:center}.filter-options::-webkit-scrollbar{width:8px}.filter-options::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.filter-options::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.filter-options::-webkit-scrollbar-thumb:hover{background:#555}.filter-options:empty:after{color:#999;content:"No values to filter";display:block;font-style:italic;padding:16px;text-align:center}@media (max-width:768px){.filter-dropdown{left:50%;max-width:400px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%}.filter-button{padding:8px}.header-content{align-items:flex-start;flex-direction:column}}.btn-success{background:#10b981;border:1px solid #10b981}.btn-success:before{background-color:#ffffff1a}.btn-success:hover{background:#059669;border-color:#059669;box-shadow:0 4px 12px #10b98126}.btn-success:disabled{background-color:var(--gray-300);border-color:var(--gray-300)}.btn-warning{background:#f59e0b;border:1px solid #f59e0b;color:#fff}.btn-warning:before{background-color:#ffffff1a}.btn-warning:hover{background:#d97706;border-color:#d97706;box-shadow:0 4px 12px #f59e0b26}.btn-warning:disabled{background-color:var(--gray-300);border-color:var(--gray-300)}.btn-error{background:var(--color-error);border:1px solid var(--color-error);color:#fff}.btn-error:before{background-color:#ffffff1a}.btn-error:hover{background:#dc2626;border-color:#dc2626;box-shadow:0 4px 12px #ef444426}.card-header,.card-title{color:var(--gray-900);font-size:var(--text-lg);font-weight:var(--font-semibold)}.badge-success{background-color:#10b981;color:#fff}.badge-warning{background-color:#f59e0b;color:#fff}.badge-error{background-color:var(--color-error);color:#fff}.badge-info{background-color:#3b82f6;color:#fff}.badge-sm{font-size:.625rem;padding:.125rem .5rem}.badge-lg{font-size:var(--text-sm);padding:.375rem .875rem}.alert{padding:1rem;position:relative}.alert-info{color:#1e40af}.alert-warning{background-color:#f59e0b0d;border-color:#f59e0b33;color:#92400e}.alert-error{color:#991b1b}.loading{color:#0000;pointer-events:none;position:relative}.loading:after{animation:spin .8s linear infinite;border:2px solid #0000001a;border-radius:50%;border-top-color:initial;content:"";height:1rem;left:50%;margin-left:-.5rem;margin-top:-.5rem;position:absolute;top:50%;width:1rem}.text-success{color:#10b981}.text-warning{color:#f59e0b}.text-info{color:#3b82f6}.bg-success{background-color:#10b981}.bg-warning{background-color:#f59e0b}.bg-error{background-color:var(--color-error)}.bg-info{background-color:#3b82f6}.border-success{border-color:#10b981}.border-warning{border-color:#f59e0b}.border-error{border-color:var(--color-error)}.border-info{border-color:#3b82f6}.component-views-section{margin-top:2rem}.view-mode-tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border-radius:12px;display:flex;gap:.5rem;margin-bottom:2rem;padding:.25rem;width:fit-content}.tab-button{align-items:center;background:#0000;border:none;border-radius:8px;color:#9ca3af;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.tab-button:hover{background:#ffffff1a;color:#fff}.tab-button.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea66;color:#fff}.overview-content{animation:fadeIn .3s ease}.action-cards-grid{display:flex;flex-wrap:wrap;gap:var(--space-4)}.action-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex:1 1;flex-direction:column;min-width:150px;padding:var(--space-4);text-align:left;transition:all var(--transition-base)}.action-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-2);width:100%}.action-card-icon{align-items:center;background-color:var(--color-surface-hover);border-radius:var(--radius-md);display:flex;justify-content:center;padding:var(--space-2)}.action-card-value{font-size:var(--text-xl)}.action-card-title,.action-card-value{color:var(--color-text);font-weight:var(--font-semibold)}.action-card-title{font-size:var(--text-base);margin-bottom:var(--space-1)}.action-card-description{color:var(--color-text-muted);font-size:var(--text-sm)}.action-card-blue .action-card-icon{color:var(--color-info)}.action-card-yellow .action-card-icon{color:var(--color-warning)}.action-card-green .action-card-icon{color:var(--color-success)}.procurement-component-visualizer{background:linear-gradient(135deg,#0f0f0f,#1a1a1a);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;padding:2rem}.visualizer-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:3rem}.visualizer-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:2rem;font-weight:700}.view-mode-selector{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border-radius:12px;display:flex;gap:.5rem;padding:.25rem}.view-mode-btn{background:#0000;border:none;border-radius:8px;color:#9ca3af;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.view-mode-btn:hover:not(:disabled){background:#ffffff1a;color:#fff}.view-mode-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea66;color:#fff}.view-mode-btn:disabled{cursor:not-allowed;opacity:.5}.components-list-view{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:1200px}.component-list-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(20px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.component-list-item:hover{border-color:#667eea4d;box-shadow:0 10px 40px #667eea33;transform:translateY(-2px)}.component-header{align-items:center;border-left:4px solid #0000;cursor:pointer;display:flex;justify-content:space-between;padding:1.5rem;transition:all .3s ease}.component-header:hover{background:#ffffff08}.component-header-left{align-items:center;display:flex;gap:1.5rem}.component-icon{align-items:center;border-radius:12px;display:flex;height:56px;justify-content:center;transition:all .3s ease;width:56px}.component-info{display:flex;flex-direction:column;gap:.5rem}.component-name{color:#fff;font-size:1.25rem;font-weight:600;margin:0}.component-meta{display:flex;flex-wrap:wrap;gap:1.5rem}.meta-item{align-items:center;color:#9ca3af;display:flex;font-size:.875rem;gap:.375rem}.meta-item svg{opacity:.6}.component-header-right{align-items:center;display:flex;gap:1.5rem}.confidence-badge{border-radius:8px;font-size:.875rem;font-weight:500;padding:.5rem 1rem}.component-items{animation:slideDown .3s ease-out;padding:0 1.5rem 1.5rem}.items-header{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.items-header h4{color:#e5e7eb;font-size:1rem;font-weight:500;margin:0}.btn-add-item{align-items:center;background:#667eea33;border:1px solid #667eea4d;border-radius:8px;color:#a5b4fc;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.btn-add-item:hover{background:#667eea4d;border-color:#667eea80;color:#c7d2fe}.items-list{display:flex;flex-direction:column;gap:.75rem}.procurement-item{align-items:center;background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem 1rem;transition:all .2s ease}.procurement-item:hover{background:#ffffff0d;border-color:#ffffff1a}.item-info{display:flex;flex-direction:column;gap:.25rem}.item-vendor{color:#6b7280;font-size:.8125rem}.item-amount{color:#10b981;font-size:.9375rem;font-weight:600}.components-grid-view{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0 auto;max-width:1400px}.component-grid-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(20px);background:#ffffff0d;border:2px solid #ffffff1a;border-radius:16px;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.component-grid-card:before{background:currentColor;content:"";height:4px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.component-grid-card:hover{border-color:currentColor;box-shadow:0 20px 40px #0000004d;transform:translateY(-4px)}.component-grid-card:hover:before{opacity:1}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.confidence-indicator{border-radius:50%;box-shadow:0 0 10px currentColor;height:12px;width:12px}.component-grid-card .component-name{font-size:1.125rem;margin-bottom:1rem}.component-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.stat{display:flex;flex-direction:column;gap:.25rem}.stat-value{color:#fff;font-size:1.25rem}.stat-label{color:#6b7280;font-size:.75rem;letter-spacing:.05em}.component-vendors{display:flex;flex-wrap:wrap;gap:.5rem}.vendor-tag{background:#ffffff1a;border:1px solid #ffffff1a;border-radius:6px;color:#d1d5db;font-size:.75rem;padding:.25rem .75rem}.components-canvas-view{background:radial-gradient(circle at 50% 50%,#667eea1a 0,#0000 70%);border:1px solid #ffffff1a;border-radius:16px;height:800px;overflow:auto;position:relative;width:100%}.component-canvas-element{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:2px solid;border-radius:12px;cursor:move;min-width:200px;padding:1rem;position:absolute;transition:all .2s ease}.component-canvas-element:hover{box-shadow:0 10px 30px #0000004d;transform:scale(1.02)}.canvas-element-header{align-items:center;color:#fff;display:flex;font-weight:500;gap:.5rem;margin-bottom:.75rem}.canvas-element-body{display:flex;gap:1rem}.mini-stat{color:#9ca3af;font-size:.8125rem}.component-visualizer-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #ffffff1a;border-top-color:#667eea;height:48px;width:48px}.component-visualizer-loading p{color:#9ca3af;font-size:.9375rem}@media (max-width:768px){.procurement-component-visualizer{padding:1rem}.visualizer-header{align-items:flex-start;flex-direction:column;gap:1rem}.component-meta{flex-direction:column;gap:.5rem}.component-stats,.components-grid-view{grid-template-columns:1fr}}.procurement-component-builder{background:#0f0f0f;color:#fff;min-height:100vh;padding:2rem}.builder-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.builder-header h3{font-size:1.75rem;font-weight:600;margin:0 0 .5rem}.builder-header p{color:#9ca3af;margin:0}.header-actions{display:flex;gap:1rem}.btn{border:none;border-radius:8px;font-size:.9375rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.btn-primary:hover:not(:disabled){box-shadow:0 8px 20px #667eea66}.btn-outline{background:#0000;border:1px solid #fff3;color:#e5e7eb}.btn-outline:hover:not(:disabled){background:#ffffff0d;border-color:#ffffff4d}.btn-ghost{color:#9ca3af}.btn-ghost:hover:not(:disabled){background:#ffffff0d;color:#e5e7eb}.suggestions-section{background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:2rem;padding:1.5rem}.suggestions-section h4{font-size:1.125rem;font-weight:500;margin:0 0 1rem}.suggestions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.suggestion-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1.25rem;transition:all .2s ease}.suggestion-card:hover{background:#ffffff14;border-color:#667eea4d;transform:translateY(-2px)}.suggestion-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.suggestion-category{color:#9ca3af;font-size:.8125rem;letter-spacing:.05em;text-transform:uppercase}.suggestion-card h5{color:#fff;font-size:1rem;font-weight:500;margin:0 0 .75rem}.suggestion-stats{color:#9ca3af;display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:1rem}.search-bar{display:flex;gap:1rem;margin-bottom:1.5rem}.search-input-wrapper{align-items:center;display:flex;flex:1 1;position:relative}.search-input-wrapper svg{color:#6b7280;left:1rem;position:absolute}.search-input-wrapper input{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-size:.9375rem;padding:.75rem 1rem .75rem 3rem;transition:all .2s ease;width:100%}.search-input-wrapper input:focus{background:#ffffff14;border-color:#667eea80;outline:none}.search-input-wrapper input::placeholder{color:#6b7280}.unmapped-items-section{background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;overflow:hidden}.table-header{align-items:center;background:#ffffff05;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:1rem 1.5rem}.checkbox-wrapper{align-items:center;cursor:pointer;display:flex;gap:.75rem}.checkbox-wrapper input[type=checkbox]{cursor:pointer;height:18px;width:18px}.items-count{color:#9ca3af;font-size:.875rem}.items-table{max-height:500px;overflow-y:auto}.item-row{align-items:center;border-bottom:1px solid #ffffff0d;display:flex;gap:1rem;padding:1rem 1.5rem;transition:all .2s ease}.item-row:hover{background:#ffffff05}.item-row.selected{background:#667eea1a;border-left:3px solid #667eea}.item-details{flex:1 1}.item-description{color:#e5e7eb;font-size:.9375rem;margin-bottom:.25rem}.item-meta{align-items:center;color:#6b7280;display:flex;font-size:.8125rem;gap:1rem}.suggested-tag{background:#10b98133;border-radius:4px;color:#10b981;font-size:.75rem;padding:.25rem .5rem}.priority-badge{border-radius:6px;font-size:.75rem;font-weight:500;padding:.25rem .75rem;text-transform:uppercase}.priority-badge.high{background:#ef444433;color:#ef4444}.priority-badge.medium{background:#f59e0b33;color:#f59e0b}.priority-badge.low{background:#6b728033;color:#9ca3af}.loading-state{color:#9ca3af;flex-direction:column;padding:4rem}.loading-state,.modal-overlay{align-items:center;display:flex;justify-content:center}.modal-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .3s ease;background:#1a1a1a;border:1px solid #ffffff1a;border-radius:16px;max-height:90vh;max-width:600px;overflow:auto;width:90%}.modal-header{border-bottom:1px solid #ffffff1a;padding:1.5rem}.modal-header h3{font-size:1.25rem;font-weight:600;margin:0}.btn-close{background:#0000;border:none;border-radius:8px;color:#9ca3af;cursor:pointer;padding:.5rem;transition:all .2s ease}.btn-close:hover{background:#ffffff0d;color:#fff}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group label{color:#e5e7eb;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#fff;font-size:.9375rem;padding:.75rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#ffffff14;border-color:#667eea80;outline:none}.form-group textarea{min-height:80px;resize:vertical}.selected-items-summary{align-items:center;background:#667eea1a;border-radius:8px;color:#a5b4fc;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem}.modal-footer{border-top:1px solid #ffffff1a;gap:1rem;justify-content:flex-end;padding:1.5rem}.items-table::-webkit-scrollbar{width:8px}.items-table::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.items-table::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.items-table::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.dashboard-nav{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.tab-percent{color:var(--color-text-muted);font-size:var(--text-xs);margin-left:var(--space-2)}.dashboard-card{padding:0}.department-manager{display:flex;flex-direction:column;gap:var(--space-6)}.department-header{background:var(--gradient-primary);border-radius:var(--radius-lg);color:var(--white);padding:var(--space-6)}.department-header-inner{justify-content:space-between}.department-header-info,.department-header-inner{align-items:center;display:flex}.department-header-icon{margin-right:var(--space-3)}.department-title{font-size:var(--text-2xl);font-weight:var(--font-bold)}.department-subtitle{color:var(--gray-100)}.department-actions{display:flex;gap:var(--space-3)}.department-action-btn{align-items:center;background:#fff3;border-radius:var(--radius-lg);color:var(--white);display:flex;gap:var(--space-2);padding:var(--space-2) var(--space-4);transition:background var(--duration-normal) var(--ease-in-out)}.department-action-btn:hover{background:#ffffff4d}.department-action-btn.primary{background:var(--white);color:var(--color-primary)}.department-action-btn.primary:hover{background:var(--gray-100)}.department-action-btn:disabled{cursor:not-allowed;opacity:.5}.notification{align-items:center;border-radius:var(--radius-lg);display:flex;justify-content:space-between;padding:var(--space-4)}.notification-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.notification-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.notification-warning{background:#fefce8;border:1px solid #fde68a;color:#854d0e}.notification-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.notification-content{align-items:center;display:flex}.icon-margin{margin-right:var(--space-2)}.loading-container{height:16rem}.error-box{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-lg);padding:var(--space-4)}.error-box-content{align-items:center;color:#b91c1c;display:flex}.error-retry{margin-top:var(--space-2)}.classification-page{animation:fadeIn var(--duration-normal) var(--ease-out)}.toggle-switch{align-items:center;background-color:var(--gray-300);border:none;border-radius:var(--radius-full);cursor:pointer;display:inline-flex;height:2rem;padding:0;position:relative;transition:var(--transition-base);width:3.5rem}.toggle-switch-active{background:var(--gradient-primary)}.toggle-switch-handle{align-items:center;background-color:var(--color-surface);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);display:inline-block;display:flex;height:1.5rem;justify-content:center;transform:translateX(.25rem);transition:var(--transition-base);width:1.5rem}.toggle-switch-handle-active{transform:translateX(1.75rem)}.metrics-container{align-items:center;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4)}.metric-item{text-align:center}.metric-label{color:var(--color-text-muted);font-size:var(--text-xs);margin-bottom:var(--space-1)}.metric-value{color:var(--gray-900);font-size:var(--text-lg);font-weight:var(--font-bold)}.metric-value-gradient{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text}.metric-divider{background-color:var(--color-border);height:2rem;width:1px}.customer-info{align-items:center;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;margin-top:var(--space-4);padding-top:var(--space-4)}.tabs-fill{background:var(--color-surface-hover);border-radius:var(--radius-lg);display:flex;gap:var(--space-1);padding:var(--space-1)}.tab-item{color:var(--color-text-muted);transition:var(--transition-base)}.tab-item:hover:not(.tab-item-active){background-color:var(--color-surface)}.tab-item-active{background:var(--gradient-primary);box-shadow:var(--shadow-md);color:#fff}.stat-card-success{background:linear-gradient(135deg,#10b9810d,#10b9811a);border-color:#10b98133}.stat-card-success .icon-lg,.stat-card-success .stat-footer{color:#10b981}.stat-card-primary{background:linear-gradient(135deg,#3b82f60d,#3b82f61a);border-color:#3b82f633}.stat-card-primary .icon-lg,.stat-card-primary .stat-footer{color:var(--color-primary)}.stat-card-warning{background:linear-gradient(135deg,#f59e0b0d,#f59e0b1a);border-color:#f59e0b33}.stat-card-warning .icon-lg,.stat-card-warning .stat-footer{color:#f59e0b}.stat-card-accent{background:linear-gradient(135deg,#06b6d40d,#06b6d41a);border-color:#06b6d433}.stat-card-accent .icon-lg,.stat-card-accent .stat-footer{color:var(--color-accent)}.stat-card-header{align-items:center;display:flex;justify-content:space-between;width:100%}.stat-footer{font-size:var(--text-xs);font-weight:var(--font-medium);margin-top:var(--space-1)}.upload-zone-active{animation:pulse 2s infinite}.loading-content{padding:var(--space-8) var(--space-4);text-align:center}.space-y-3>*+*{margin-top:var(--space-3)}.space-y-4>*+*{margin-top:var(--space-4)}.space-y-6>*+*{margin-top:var(--space-6)}.text-danger{color:var(--color-error)}@media (max-width:768px){.metrics-container{flex-wrap:wrap}.metric-divider{display:none}.tabs-fill{flex-direction:column}.tab-item{width:100%}.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.settings-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0006;bottom:0;display:flex;flex-direction:column;left:0;opacity:0;position:fixed;right:0;top:0;transition:opacity .3s ease;transition:opacity var(--transition-slow,.3s ease);z-index:1050;z-index:var(--z-modal,1050)}.settings-overlay.loaded{opacity:1}.settings-overlay.exiting{opacity:0}.settings-header{align-items:center;animation:slideDown .4s ease;background-color:#fff;background-color:var(--color-surface,#fff);border-bottom:1px solid var(--color-border);box-shadow:0 1px 3px #0000000d;display:flex;justify-content:space-between;padding:1rem 1.5rem;position:relative;z-index:1}.btn-secondary{align-items:center;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:.375rem;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.btn-secondary:hover{background:var(--color-surface-active);color:var(--color-text)}.btn-secondary.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-secondary.active:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary svg{transition:transform .2s}.btn-secondary:hover svg{transform:translateX(-2px)}.breadcrumb-link{align-items:center;background:var(--color-surface);border:none;border-radius:.375rem;color:var(--color-text-muted);cursor:pointer;display:inline-flex;font-size:.875rem;gap:.5rem;padding:.375rem .75rem;text-decoration:none;transition:all .2s}.breadcrumb-link:hover{background:var(--color-surface-hover);color:var(--color-text)}button[title="Close Settings"]{background:#0000;border:none;border-radius:.5rem;cursor:pointer;padding:.5rem;transition:all .2s}button[title="Close Settings"]:hover{background:var(--color-surface-hover)}.settings-container{animation:fadeInScale .4s ease .1s both;background:var(--color-background);display:flex;flex:1 1;overflow:hidden}@keyframes fadeInScale{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.settings-navigation{animation:slideInLeft .4s ease;background-color:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:relative;transition:width .3s ease}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.settings-navigation.resizing{transition:none;-webkit-user-select:none;user-select:none}.settings-navigation>div:first-child{border-bottom:1px solid var(--color-border);padding:1.5rem}.settings-navigation h2{align-items:center;color:var(--color-text);display:flex;font-size:1.25rem;font-weight:700;gap:.5rem;margin:0 0 .25rem}.settings-navigation>div:first-child>div:last-child{color:var(--color-text-muted);font-size:.875rem}.nav-list{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:1rem}.nav-list::-webkit-scrollbar{width:6px}.nav-list::-webkit-scrollbar-track{background:#0000;margin:.5rem 0}.nav-list::-webkit-scrollbar-thumb{background:#d4d4d4;background:var(--gray-300,#d4d4d4);border-radius:9999px;-webkit-transition:background .2s;transition:background .2s}.nav-list::-webkit-scrollbar-thumb:hover{background:#a3a3a3;background:var(--gray-400,#a3a3a3)}.nav-item{align-items:center;animation:slideInItem .4s ease 0s both;animation:slideInItem .4s ease var(--animation-delay,0s) both;background:#0000;border:none;border-radius:.5rem;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;margin-bottom:.5rem;padding:.75rem 1rem;position:relative;text-align:left;transition:all .2s;width:100%}@keyframes slideInItem{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.nav-item:hover:not(.nav-item[style*=background]){background:var(--color-surface-hover);color:var(--color-text);transform:translateX(4px)}.nav-item[style*=background]{box-shadow:0 4px 12px #00000026;color:#fff!important;transform:scale(1.02)}.nav-item[style*=background] svg{color:#fff}.nav-item>div:last-child{background:#fff9;border-radius:9999px;height:2rem;margin-left:auto;width:3px}.settings-resize-handle{align-items:center;bottom:0;cursor:col-resize;display:flex;justify-content:center;position:absolute;right:-4px;top:0;transition:background .2s;width:8px;z-index:10}.settings-resize-handle:hover{background:#3b82f614}.resize-indicator{opacity:0;transition:opacity .2s}.settings-resize-handle:hover .resize-indicator{opacity:.4}.settings-resize-handle:active .resize-indicator{opacity:.6}.content-panel{flex:1 1;overflow-y:auto;padding:var(--space-8);transition:all var(--duration-normal)}.content-panel>*{animation:contentFadeIn .3s ease}@keyframes contentFadeIn{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.settings-section{animation:slideUp .4s ease;margin:0 auto;max-width:1200px}.settings-header>div:last-child>div:first-child{align-items:center;background:#3b82f614;border:1px solid #3b82f633;border-radius:.5rem;color:#2563eb;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.375rem .75rem}.settings-header kbd{background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text);font-family:monospace;font-size:.75rem;font-weight:600;padding:.125rem .5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-8{margin-bottom:2rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.text-xl{font-size:1.25rem}.text-3xl{font-size:1.875rem}.text-base{font-size:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-gray-400{color:#a3a3a3;color:var(--gray-400,#a3a3a3)}.text-gray-500{color:#737373;color:var(--gray-500,#737373)}.text-gray-600{color:#525252;color:var(--gray-600,#525252)}.text-gray-700{color:#404040;color:var(--gray-700,#404040)}.text-gray-900{color:#171717;color:var(--gray-900,#171717)}.text-blue-700{color:#2563eb}.bg-gray-50{background-color:#fafafa;background-color:var(--gray-50,#fafafa)}.bg-gray-100{background-color:#f5f5f5;background-color:var(--gray-100,#f5f5f5)}.bg-blue-50{background-color:#3b82f614}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-gray-100{border-color:#f5f5f5;border-color:var(--gray-100,#f5f5f5)}.border-gray-200{border-color:#e5e5e5;border-color:var(--gray-200,#e5e5e5)}.border-blue-200{border-color:#3b82f633}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform}.hover\:bg-gray-50:hover{background-color:#fafafa;background-color:var(--gray-50,#fafafa)}.hover\:bg-gray-100:hover{background-color:#f5f5f5;background-color:var(--gray-100,#f5f5f5)}.hover\:text-gray-900:hover{color:#171717;color:var(--gray-900,#171717)}.hover\:-translate-x-1:hover{transform:translateX(-.25rem)}.w-1{width:.25rem}.h-8{height:2rem}.opacity-60{opacity:.6}@media (max-width:768px){.settings-container{flex-direction:column}.settings-navigation{border-bottom:1px solid var(--color-border);border-right:none;width:100%!important}.content-panel{padding:var(--space-4)}.settings-resize-handle{display:none}.settings-header{align-items:flex-start;flex-direction:column;gap:1rem}.settings-header>div:last-child{justify-content:space-between;width:100%}}.settings-section .classification-page{animation:fadeInUp .3s ease-out}.nav-item .badge{animation:pulse 2s infinite}.classification-hub-header{animation:gradientShift 10s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2)}.classification-tab{overflow:hidden;position:relative}.classification-tab:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.classification-tab:hover:before{left:100%}.auto-classification-indicator{position:relative}.auto-classification-indicator.active:after{animation:ripple 2s infinite;background:radial-gradient(circle,#7c3aed4d 0,#0000 70%);content:"";height:120%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:120%}@keyframes ripple{0%{opacity:1;transform:translate(-50%,-50%) scale(.8)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.classification-metric-card{cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.classification-metric-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transform:translateY(-4px) scale(1.02)}.classification-progress{overflow:hidden;position:relative}.classification-progress:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.nav-item[data-section=classification-hub]{position:relative}.nav-item[data-section=classification-hub]:after{background:#3b82f61a;border-radius:10px;color:#3b82f6;content:"98.58%";font-size:10px;font-weight:700;opacity:0;padding:2px 6px;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:opacity .3s}.nav-item[data-section=classification-hub]:hover:after{opacity:1}.classification-content-enter{opacity:0;transform:translateX(20px)}.classification-content-enter-active{opacity:1;transform:translateX(0);transition:all .3s ease-out}.classification-content-exit{opacity:1;transform:translateX(0)}.classification-content-exit-active{opacity:0;transform:translateX(-20px);transition:all .3s ease-in}.classification-active-import{animation:highlightPulse 2s ease-in-out infinite;background:linear-gradient(90deg,#3b82f60d,#0000);border-left:4px solid #3b82f6}@keyframes highlightPulse{0%,to{border-left-color:#3b82f6}50%{border-left-color:#8b5cf6}}@media (max-width:1280px){.classification-page .grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.classification-page .grid{grid-template-columns:1fr}.classification-page nav{flex-direction:column}.classification-page nav button{width:100%}}.genai-dashboard *{box-sizing:border-box;margin:0;padding:0}.genai-dashboard{background:linear-gradient(135deg,#0a0a0f,#12121a);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:relative}.genai-dashboard,.genai-sidebar{display:flex;height:100vh;overflow:hidden}.genai-sidebar{background:#12121a;border-right:1px solid #ffffff0f;flex-direction:column;min-width:260px;transition:transform .3s ease;width:260px;z-index:10}.genai-sidebar.collapsed{min-width:0;transform:translateX(-260px);width:0}.genai-sidebar-header{border-bottom:1px solid #ffffff0f;flex-shrink:0;padding:24px 20px}.genai-sidebar-logo{align-items:center;display:flex;gap:12px}.genai-logo-icon{align-items:center;border-radius:8px;box-shadow:0 4px 12px #3b82f64d;color:#fff;display:flex;font-size:14px;height:32px;justify-content:center;width:32px}.genai-logo-icon,.genai-logo-text{background:linear-gradient(135deg,#3b82f6,#06b6d4);font-weight:600}.genai-logo-text{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;font-size:18px}.genai-new-chat-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 12px #3b82f633;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:500;gap:8px;justify-content:center;margin:16px;padding:12px;transition:all .2s ease}.genai-new-chat-btn:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.genai-chat-history{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px}.genai-history-section{margin-bottom:24px}.genai-history-label{color:#6b6b7c;font-size:11px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;padding-left:8px;text-transform:uppercase}.genai-history-item{align-items:center;border-radius:8px;color:#a0a0b0;cursor:pointer;display:flex;font-size:14px;gap:10px;margin-bottom:4px;padding:10px 12px;position:relative;transition:all .2s ease}.genai-history-item:hover{background:#ffffff0d;color:#fff;transform:translateX(4px)}.genai-history-item.active{background:#3b82f61a;color:#fff;padding-left:10px}.genai-history-item.active:before{background:#3b82f6;border-radius:2px;bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.genai-history-icon{flex-shrink:0;height:16px;opacity:.6;width:16px}.genai-history-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.genai-main{background:#15151f;display:flex;flex:1 1;flex-direction:column;height:100vh;min-width:0;overflow:hidden;position:relative}.genai-header{-webkit-backdrop-filter:blur(var(--sidebar-blur));backdrop-filter:blur(10px);background:#12121acc;border-bottom:1px solid #ffffff0f;flex-shrink:0;padding:20px 24px}.genai-header-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.genai-header-left{display:flex;flex-direction:column;gap:4px}.genai-header-title{color:#fff;font-size:24px;font-weight:600}.genai-header-subtitle{color:#a0a0b0;font-size:14px}.genai-header-right{align-items:center;display:flex;gap:16px}.genai-mode-toggle{background:#ffffff0d;border-radius:12px;display:flex;padding:4px}.genai-mode-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#a0a0b0;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.genai-mode-btn:hover{color:#fff}.genai-mode-btn.active{background:#3b82f633;color:#3b82f6}.genai-header-actions{display:flex;gap:8px}.genai-header-btn{align-items:center;background:#0000;border:1px solid #ffffff0f;border-radius:8px;color:#a0a0b0;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s ease;width:36px}.genai-header-btn:hover{background:#ffffff0d;border-color:#ffffff1f;color:#fff}.genai-stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.genai-stat-card{align-items:center;background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;display:flex;justify-content:space-between;padding:16px;transition:all .2s ease}.genai-stat-card:hover{background:#ffffff0d;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.genai-stat-content{display:flex;flex-direction:column;gap:4px}.genai-stat-value{color:#fff;font-size:24px;font-weight:600}.genai-stat-label{color:#a0a0b0;font-size:12px}.genai-stat-icon{color:#3b82f6;height:20px;width:20px}.genai-content-area{gap:24px;padding:24px}.genai-chat-container,.genai-content-area{display:flex;flex:1 1;min-height:0;overflow:hidden}.genai-chat-container{flex-direction:column;gap:16px;min-width:0}.genai-smart-queries{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;flex-shrink:0;overflow:hidden}.genai-smart-queries-header{align-items:center;border-bottom:1px solid #ffffff0f;display:flex;justify-content:space-between;padding:16px}.genai-smart-queries-header h3{color:#fff;font-size:14px;font-weight:600}.genai-close-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#a0a0b0;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s ease;width:28px}.genai-close-btn:hover{background:#ffffff0d;color:#fff}.genai-smart-queries-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:16px}.genai-smart-query-btn{background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px;text-align:left;transition:all .2s ease}.genai-smart-query-btn:hover:not(:disabled){background:#ffffff0d;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.genai-smart-query-btn:disabled{cursor:not-allowed;opacity:.5}.genai-smart-query-btn.blue{border-color:#3b82f64d}.genai-smart-query-btn.green{border-color:#10b9814d}.genai-smart-query-btn.purple{border-color:#8b5cf64d}.genai-smart-query-btn.orange{border-color:#f59e0b4d}.genai-smart-query-icon{color:#3b82f6;height:16px;width:16px}.genai-smart-query-text{color:#fff;font-size:14px;font-weight:500}.genai-smart-query-desc{color:#a0a0b0;font-size:12px}.genai-messages-container{background:#ffffff05;border:1px solid #ffffff0f;border-radius:12px;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;position:relative}.genai-messages-inner{display:flex;flex-direction:column;gap:16px;padding:24px}.genai-empty-state{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:300px;padding:60px 24px;text-align:center}.genai-empty-icon{color:#fff3;height:48px;margin-bottom:16px;width:48px}.genai-empty-title{color:#fff;font-size:18px;font-weight:600;margin-bottom:8px}.genai-empty-text{color:#a0a0b0;font-size:14px}.genai-message{animation:messageSlideUp .3s ease;display:flex;gap:12px}@keyframes messageSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.genai-message-avatar{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:14px;font-weight:600;height:36px;justify-content:center;width:36px}.genai-message.user .genai-message-avatar{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 8px #3b82f64d;color:#fff}.genai-message.assistant .genai-message-avatar{background:#1e1e2a;border:1px solid #ffffff0f;color:#3b82f6}.genai-message-content{background:#1e1e2a;border:1px solid #ffffff0f;border-radius:12px;color:#ffffffe6;flex:1 1;font-size:15px;line-height:1.6;padding:12px 16px}.genai-message.user .genai-message-content{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;box-shadow:0 2px 8px #3b82f633;color:#fff}.genai-message-text{margin-bottom:12px}.genai-response-time{background:#10b98133;border-radius:4px;color:#10b981;display:inline-block;font-size:11px;margin-bottom:8px;padding:2px 6px}.genai-error-message{background:#ef44441a;border:1px solid #ef444433;border-radius:8px;color:#ef4444;padding:12px}.genai-sql-container{background:#0000004d;border:1px solid #ffffff0f;border-radius:8px;margin-top:12px;padding:12px}.genai-sql-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.genai-sql-header span{color:#a0a0b0;font-size:12px;font-weight:500}.genai-sql-actions{display:flex;gap:8px}.genai-sql-action{align-items:center;background:#0000;border:1px solid #ffffff1a;border-radius:4px;color:#3b82f6;cursor:pointer;display:flex;font-size:11px;gap:4px;padding:4px 8px;transition:all .2s ease}.genai-sql-action:hover{background:#3b82f61a;border-color:#3b82f64d}.genai-sql-code{background:#0a0a0f;border:1px solid #ffffff0f;border-radius:6px;color:#06b6d4;font-family:Monaco,Courier New,monospace;font-size:12px;overflow-x:auto;padding:12px}.genai-viz-container{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;margin-top:12px;padding:16px}.genai-viz-title{color:#fff;font-size:14px;font-weight:600;margin-bottom:16px}.genai-table-container{background:#ffffff05;border:1px solid #ffffff0f;border-radius:8px;margin-top:12px;overflow-x:auto}.genai-data-table{border-collapse:collapse;width:100%}.genai-data-table th{background:#ffffff08;border-bottom:1px solid #ffffff0f;color:#a0a0b0;font-size:11px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.genai-data-table td{border-bottom:1px solid #ffffff08;color:#fffc;font-size:13px;padding:12px}.genai-data-table tr:hover td{background:#ffffff05}.genai-table-footer{background:#ffffff08;color:#a0a0b0;font-size:12px;padding:12px;text-align:center}.genai-suggestions{border-top:1px solid #ffffff0f;margin-top:16px;padding-top:16px}.genai-suggestions-label{color:#a0a0b0;font-size:12px;font-weight:500;margin-bottom:8px}.genai-suggestions-list{display:flex;flex-wrap:wrap;gap:8px}.genai-suggestion-btn{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#fffc;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s ease}.genai-suggestion-btn:hover:not(:disabled){background:#ffffff14;color:#fff;transform:translateY(-1px)}.genai-suggestion-btn:disabled{cursor:not-allowed;opacity:.5}.genai-input-section{-webkit-backdrop-filter:blur(var(--sidebar-blur));backdrop-filter:blur(10px);background:#12121acc;border-top:1px solid #ffffff0f;flex-shrink:0;padding:20px}.genai-input-wrapper{align-items:flex-end;display:flex;gap:12px;position:relative}.genai-chat-input{background:#18181f;border:1px solid #ffffff0f;border-radius:16px;color:#fff;flex:1 1;font-family:inherit;font-size:15px;line-height:1.5;max-height:200px;min-height:52px;outline:none;overflow-y:auto;padding:14px 50px 14px 16px;resize:vertical;transition:all .2s ease}.genai-chat-input:focus{background:#1a1a22;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.genai-chat-input::placeholder{color:#6b6b7c}.genai-chat-input:disabled{background:#141418;cursor:not-allowed;opacity:.5}.genai-send-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;bottom:8px;box-shadow:0 2px 8px #3b82f633;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;position:absolute;right:8px;transition:all .2s ease;width:36px;z-index:1}.genai-send-btn:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666;transform:scale(1.05)}.genai-send-btn:active:not(:disabled){transform:scale(.95)}.genai-send-btn:disabled{background:linear-gradient(135deg,#6b7280,#4b5563);cursor:not-allowed;opacity:.5;transform:none}.genai-analysis-sidebar{display:flex;flex-direction:column;min-height:0;width:400px}.genai-analysis-panel{background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;height:100%;overflow-x:hidden;overflow-y:auto;padding:20px}.genai-analysis-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.genai-analysis-title-group{align-items:center;display:flex;gap:12px}.genai-analysis-icon{color:#8b5cf6;height:24px;width:24px}.genai-analysis-title{color:#fff;font-size:18px;font-weight:600}.genai-analysis-loading{align-items:center;color:#a0a0b0;display:flex;font-size:12px;gap:8px}.genai-analysis-loading-icon{animation:pulse 2s infinite;height:14px;width:14px}.genai-analysis-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.genai-analysis-empty-icon{color:#fff3;height:36px;margin-bottom:12px;width:36px}.genai-analysis-empty-text{color:#a0a0b0;font-size:14px;margin-bottom:4px}.genai-analysis-empty-subtext{color:#6b6b7c;font-size:12px}.genai-analysis-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.genai-analysis-tab{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#a0a0b0;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.genai-analysis-tab:hover{background:#ffffff14;color:#fff}.genai-analysis-tab.active{color:#fff}.genai-analysis-tab.active.purple{background:#8b5cf633;border-color:#8b5cf666}.genai-analysis-tab.active.orange{background:#f59e0b33;border-color:#f59e0b66}.genai-analysis-tab.active.blue{background:#3b82f633;border-color:#3b82f666}.genai-analysis-tab.active.green{background:#10b98133;border-color:#10b98166}.genai-tab-icon{height:14px;width:14px}.genai-tab-badge{background:#0000004d;border-radius:10px;font-size:10px;font-weight:600;padding:2px 6px}.genai-analysis-content{display:flex;flex-direction:column;gap:12px}.genai-dashboard ::-webkit-scrollbar{height:8px;width:8px}.genai-dashboard ::-webkit-scrollbar-track{background:#0000}.genai-dashboard ::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.genai-dashboard ::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.genai-dashboard button{position:relative;z-index:1}@media (max-width:1024px){.genai-analysis-sidebar{display:none}}@media (max-width:768px){.genai-sidebar{box-shadow:2px 0 20px #00000080;height:100vh;left:0;position:fixed;top:0;transform:translateX(-260px);z-index:100}.genai-sidebar.open{transform:translateX(0)}.genai-content-area{padding:16px}.genai-stats-grid{grid-template-columns:1fr 1fr}.genai-smart-queries-grid{grid-template-columns:1fr}.genai-mode-toggle{display:none}}.w-3{width:.75rem}.h-3{height:.75rem}.w-4{width:1rem}.h-4{height:1rem}.transaction-modal-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0fd9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.transaction-modal-content{animation:slideUp .3s ease;background:linear-gradient(135deg,#1a1a2efa,#0a0a0ffa);border:1px solid #667eea33;border-radius:20px;box-shadow:0 25px 60px #0009,0 0 120px #667eea26,inset 0 1px 0 #ffffff0d;display:flex;flex-direction:column;height:90vh;max-height:900px;max-width:1600px;overflow:hidden;width:90%}.modal-header{align-items:center;background:#ffffff05;border-bottom:1px solid #ffffff14;display:flex;flex-shrink:0;justify-content:space-between;padding:24px 32px}.modal-header-left{display:flex;flex:1 1;flex-direction:column;gap:12px}.modal-title{color:#e5e7eb!important;font-size:24px;font-weight:600;letter-spacing:-.5px;margin:0}.node-info{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.node-info-badge{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;color:#9ca3af!important;display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:6px 14px;transition:all .2s ease}.node-info-badge.highlight{background:#667eea26;border-color:#667eea4d;color:#a5b4fc!important}.node-info-badge svg{color:currentColor!important;opacity:.7}.column-info-banner{align-items:center;animation:slideDown .3s ease-out;background:linear-gradient(135deg,#6464ff26,#6464ff14);border-bottom:1px solid #6464ff33;display:flex;gap:12px;padding:12px 20px}.source-indicator{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 4px;padding:2px 8px;text-transform:uppercase}.raw-data-indicator{background:#ef444426;border:1px solid #ef44444d;color:#f87171!important}.classification-indicator{background:#fbbf2426;border:1px solid #fbbf244d;color:#fbbf24!important}.stats-bar{background:#ffffff08;border-bottom:1px solid #ffffff14;flex-shrink:0;flex-wrap:wrap;gap:32px;overflow-x:auto;padding:20px 32px}.stat-item,.stats-bar{align-items:center;display:flex}.stat-item{gap:8px;white-space:nowrap}.stat-item svg{color:#a5b4fc!important;height:16px;opacity:1;width:16px}.stat-label{color:#9ca3af!important;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.stat-value{color:#fff!important;font-size:18px;font-weight:600;margin-left:4px}.stat-item.verified .stat-value,.stat-item.verified svg{color:#10b981!important}.stat-item.pending .stat-value,.stat-item.pending svg{color:#f59e0b!important}.modal-body{background:#0000;display:flex;flex:1 1;flex-direction:column;overflow:auto;padding:24px;position:relative}.transaction-table{background:#ffffff05;border:1px solid #ffffff0d;border-radius:12px;flex:1 1;height:100%;overflow:auto;width:100%}.edt-th[data-column*=procurement_data_raw],th[class*=procurement_data_raw],th[data-column*=procurement_data_raw],thead th:nth-child(3),thead th:nth-child(4),thead th:nth-child(5),thead th:nth-child(6){background:linear-gradient(180deg,#ef444426 0,#ef444414)!important;border-left:3px solid #ef4444!important;color:#fca5a5!important;position:relative}.edt-cell[data-column*=procurement_data_raw],tbody td:nth-child(3),tbody td:nth-child(4),tbody td:nth-child(5),tbody td:nth-child(6),td[class*=procurement_data_raw],td[data-column*=procurement_data_raw]{background:#ef44440f!important;color:#e5e7eb!important;position:relative}.edt-th[data-column*=classification],th[class*=classification],th[data-column*=classification],thead th:nth-child(10),thead th:nth-child(7),thead th:nth-child(8),thead th:nth-child(9){background:linear-gradient(180deg,#fbbf2426 0,#fbbf2414)!important;border-left:3px solid #f59e0b!important;color:#fde68a!important;position:relative}.edt-cell[data-column*=classification],tbody td:nth-child(10),tbody td:nth-child(7),tbody td:nth-child(8),tbody td:nth-child(9),td[class*=classification],td[data-column*=classification]{background:#fbbf240f!important;color:#e5e7eb!important;position:relative}tbody td:nth-child(3):after,tbody td:nth-child(4):after,tbody td:nth-child(5):after,tbody td:nth-child(6):after,td[data-column*=procurement_data_raw]:after{content:"🔒";font-size:10px;opacity:.3;position:absolute;right:4px;top:2px}tbody td:nth-child(10):not([readonly]):after,tbody td:nth-child(7):not([readonly]):after,tbody td:nth-child(8):not([readonly]):after,tbody td:nth-child(9):not([readonly]):after,td[data-column*=classification]:not([readonly]):after{content:"✏️";font-size:10px;opacity:.3;position:absolute;right:4px;top:2px}.edt-table,table{background:#0000;border-collapse:initial;border-spacing:0;width:100%}.edt-header,thead{background:#ffffff08}.edt-th,th{border-bottom:2px solid #667eea33;color:#a5b4fc!important;font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.edt-cell,td{border-bottom:1px solid #ffffff0d;color:#e5e7eb!important;font-size:14px;padding:12px}tbody tr:hover{background:#667eea0d}.status-badge,.verification-status-badge,[class*=status]{align-items:center;border-radius:6px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px;text-transform:capitalize}.status-badge.verified,.verification-status-badge.verified,[class*=verified]{background:#10b98126;border:1px solid #10b9814d;color:#10b981!important}.status-badge.pending,.verification-status-badge.pending,[class*=pending]{background:#f59e0b26;border:1px solid #f59e0b4d;color:#f59e0b!important}.status-badge.rejected,.verification-status-badge.rejected,[class*=rejected]{background:#ef444426;border:1px solid #ef44444d;color:#ef4444!important}input[type=number],input[type=text],select,textarea{background:#141428f2!important;border:1px solid #6464ff4d!important;border-radius:6px;color:#ffffffe6!important;font-size:13px;padding:6px 10px;transition:all .2s}input:focus,select:focus,textarea:focus{background:#1e1e32f2!important;border-color:#6466f1!important;box-shadow:0 0 0 3px #6464ff26!important;outline:none!important}select option{background:#1a1a2e;color:#ffffffe6}.modal-close-btn,button[aria-label*=Close],button[aria-label*=close]{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;color:#9ca3af!important;cursor:pointer;display:flex;height:40px;justify-content:center;outline:none;transition:all .2s ease;width:40px}.modal-close-btn:hover,button[aria-label*=Close]:hover,button[aria-label*=close]:hover{background:#ef44441a;border-color:#ef44444d;color:#ef4444!important;transform:scale(1.05)}.info-button,button.info{align-items:center;background:#6464ff1a;border:1px solid #6464ff33;border-radius:8px;color:#ffffffb3!important;cursor:pointer;display:flex;height:36px;justify-content:center;padding:8px;transition:all .2s;width:36px}.info-button:hover,button.info:hover{background:#6464ff33;color:#6466f1!important;transform:scale(1.05)}button:contains("Reset Columns"),button[class*=reset]{background:#667eea1a;border:1px solid #667eea4d;border-radius:8px;color:#a5b4fc!important;cursor:pointer;font-weight:500;padding:8px 16px;transition:all .2s ease}button:contains("Reset Columns"):hover,button[class*=reset]:hover{background:#667eea33;transform:translateY(-1px)}.empty-state,.error-state,.loading-state{align-items:center;color:#9ca3af!important;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;text-align:center}.error-state{color:#ef4444!important}.empty-state{color:#6b7280!important}.empty-state h3,.error-state h3{color:#e5e7eb!important;font-size:20px;margin:0}.empty-state p,.error-state p{color:#9ca3af!important;margin:0}.modal-footer{align-items:center;background:#ffffff05;border-top:1px solid #ffffff14;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 32px}.pagination-info{color:#9ca3af!important;font-size:14px}.pagination-controls{display:flex;gap:12px}.btn-pagination{background:#667eea1a;border:1px solid #667eea4d;border-radius:8px;color:#a5b4fc!important;cursor:pointer;font-size:14px;font-weight:500;outline:none;padding:8px 20px;transition:all .2s ease}.btn-pagination:hover:not(:disabled){background:#667eea33;transform:translateY(-1px)}.btn-pagination:disabled{cursor:not-allowed;opacity:.5}::-webkit-scrollbar-track{border-radius:4px}::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#667eea80}.transaction-modal-content *{color:inherit}.transaction-modal-content div,.transaction-modal-content h1,.transaction-modal-content h2,.transaction-modal-content h3,.transaction-modal-content h4,.transaction-modal-content label,.transaction-modal-content p,.transaction-modal-content span{color:#e5e7eb}input[placeholder*=Search],input[type=search]{background:#ffffff0d!important;border:1px solid #ffffff1a!important;color:#fff!important}input[placeholder*=Search]::placeholder,input[type=search]::placeholder{color:#ffffff80!important}@media (max-width:1400px){.transaction-modal-content{max-width:95%}}@media (max-width:768px){.transaction-modal-content{border-radius:0;height:100vh;max-height:100vh;max-width:100%}.transaction-modal-overlay{padding:0}.stats-bar{flex-wrap:wrap;gap:20px}.modal-header,.stats-bar{padding:16px}.modal-footer{flex-direction:column;gap:12px;padding:16px}}:root{--sankey-bg-primary:#0a0a0f;--sankey-bg-secondary:#141420;--sankey-bg-tertiary:#1a1a2e;--sankey-bg-glass:#14142380;--sankey-accent-primary:#667eea;--sankey-accent-secondary:#48bb78;--sankey-accent-tertiary:#ed8936;--sankey-accent-danger:#e53e3e;--sankey-accent-info:#4299e1;--sankey-glow-primary:0 0 30px #667eea66;--sankey-glow-secondary:0 0 20px #48bb784d;--sankey-glow-danger:0 0 20px #ef44444d;--sankey-text-primary:#f7fafc;--sankey-text-secondary:#e0e0e0;--sankey-text-muted:#a0aec0;--sankey-border-subtle:#ffffff0d;--sankey-border-light:#ffffff1a;--sankey-shadow-xl:0 20px 40px #00000080;--sankey-shadow-glow:0 0 60px #667eea26;--sankey-transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);--sankey-transition-smooth:0.3s cubic-bezier(0.4,0,0.2,1);--sankey-transition-bounce:0.5s cubic-bezier(0.68,-0.55,0.265,1.55)}.sankey-container{animation:gradientShift 10s ease infinite;background:linear-gradient(135deg,#0a0a0f,#1a1a2e 50%,#0a0a0f);background:linear-gradient(135deg,var(--sankey-bg-primary) 0,var(--sankey-bg-tertiary) 50%,var(--sankey-bg-primary) 100%);box-sizing:border-box;max-width:100vw;min-height:600px;overflow-x:auto;overflow-y:visible;padding:10px;position:relative}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.sankey-container.expanded{max-width:100%;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-smooth)}.sankey-container svg{display:block!important;height:auto!important;margin:0!important;min-height:600px;padding:0!important;width:100%!important}.sankey-container *{position:relative!important}.sankey-chart-wrapper{margin-top:0!important;padding-top:0!important}.glass-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px) saturate(180%);background:#14142380;background:var(--sankey-bg-glass);border:1px solid #ffffff0d;border:1px solid var(--sankey-border-subtle);border-radius:16px;box-shadow:0 20px 40px #00000080,inset 0 1px 0 #ffffff0d;box-shadow:var(--sankey-shadow-xl),inset 0 1px 0 #ffffff0d;padding:24px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-smooth)}.glass-panel:hover{border-color:#667eea33;box-shadow:0 20px 40px #00000080,0 0 60px #667eea26,inset 0 1px 0 #ffffff14;box-shadow:var(--sankey-shadow-xl),var(--sankey-shadow-glow),inset 0 1px 0 #ffffff14;transform:translateY(-2px)}.expand-button{cursor:pointer;opacity:.9;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-smooth)}.expand-button:hover{opacity:1;transform:scale(1.15)}.expand-button circle{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast)}.expand-button:hover circle{stroke-width:2;filter:drop-shadow(0 3px 6px rgba(102,126,234,.4))}.expand-button line{pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast)}@keyframes expandPulse{0%{box-shadow:0 0 0 0 #667eea66;transform:scale(1)}50%{box-shadow:0 0 20px 10px #667eea00;transform:scale(1.2)}to{box-shadow:0 0 0 0 #667eea00;transform:scale(1)}}.expand-button:active{animation:expandPulse .3s ease}.expand-button:after{color:#667eea;color:var(--sankey-accent-primary);content:"→";font-size:12px;opacity:0;position:absolute;right:-20px;top:-2px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-smooth)}.expand-button:hover:after{opacity:.6;right:-25px}.node.supplier-node rect{stroke-dasharray:2 2;stroke-opacity:.6;animation:slideInFromLeft .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:.85;transform:translateX(0)}}.node.others-group rect{fill-opacity:.7;stroke-dasharray:4 2;stroke-opacity:.5}.others-group-label{align-items:center;display:flex;gap:4px}.others-group-label:before{color:#6b7280;content:"∑";font-size:14px}.link.component-to-supplier path{stroke-dasharray:5,3;animation:flowAnimation 2s linear infinite}@keyframes flowAnimation{to{stroke-dashoffset:-8}}.link path[data-custom=true]{stroke-dasharray:1000;stroke-dashoffset:1000;animation:drawPath 1s ease forwards}@keyframes drawPath{to{stroke-dashoffset:0}}.supplier-count-badge{align-items:center;background:linear-gradient(135deg,#667eea33,#667eea1a);border:1px solid #667eea66;border-radius:10px;box-shadow:0 0 10px #667eea33;color:#667eea;color:var(--sankey-accent-primary);display:inline-flex;font-size:11px;font-weight:600;height:20px;justify-content:center;min-width:20px;padding:0 6px}.drill-down-controls{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#14142380;background:var(--sankey-bg-glass);border:1px solid #ffffff0d;border:1px solid var(--sankey-border-subtle);border-radius:8px;display:flex;gap:16px;margin-bottom:16px;padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-smooth)}.drill-down-controls button{transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast)}.drill-down-controls button:hover{box-shadow:0 4px 12px #667eea33;transform:translateY(-1px)}.drill-down-controls button:active{transform:translateY(0)}.info-panel{animation:slideDown .3s cubic-bezier(.4,0,.2,1) forwards;overflow:hidden}.view-mode-toggle{background:#14142380;background:var(--sankey-bg-glass);border:1px solid #ffffff1a;border:1px solid var(--sankey-border-light);border-radius:6px;display:inline-flex;overflow:hidden}.view-mode-toggle button{background:#0000;border:none;color:#a0aec0;color:var(--sankey-text-muted);cursor:pointer;font-size:.85rem;padding:6px 12px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast)}.view-mode-toggle button.active{background:linear-gradient(135deg,#667eea33,#667eea1a);box-shadow:inset 0 0 10px #667eea1a;color:#667eea;color:var(--sankey-accent-primary)}.view-mode-toggle button:hover:not(.active){background:#ffffff0d}input[type=date]{background:linear-gradient(135deg,#141423e6,#1e1e2de6);border:1px solid #ffffff1a;border:1px solid var(--sankey-border-light);border-radius:8px;color:#e0e0e0;color:var(--sankey-text-secondary);font-size:.875rem;padding:10px 14px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast)}input[type=date]:hover{background:linear-gradient(135deg,#1e1e2de6,#282837e6);border-color:#667eea4d}input[type=date]:focus{border-color:#667eea;border-color:var(--sankey-accent-primary);box-shadow:0 0 0 3px #667eea1a,0 0 30px #667eea66;box-shadow:0 0 0 3px #667eea1a,var(--sankey-glow-primary);outline:none}input[type=checkbox]{appearance:none;background:#14142399;border:2px solid #fff3;border-radius:6px;cursor:pointer;height:20px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast);width:20px}input[type=checkbox]:hover{border-color:#667eea;border-color:var(--sankey-accent-primary);box-shadow:0 0 10px #667eea33}input[type=checkbox]:checked{animation:checkPulse .3s ease;background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000}@keyframes checkPulse{0%{transform:scale(.95)}50%{transform:scale(1.1)}to{transform:scale(1)}}input[type=checkbox]:checked:after{animation:checkFadeIn .2s ease;color:#fff;content:"✓";font-size:14px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}@keyframes checkFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.filter-button{background:linear-gradient(135deg,#ffffff08,#ffffff03);border:1px solid #ffffff1a;border:1px solid var(--sankey-border-light);border-radius:8px;color:#a0aec0;color:var(--sankey-text-muted);cursor:pointer;font-size:.875rem;overflow:hidden;padding:8px 16px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast)}.filter-button:before{background:radial-gradient(circle,#667eea4d,#0000);content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s;width:0}.filter-button:hover{background:linear-gradient(135deg,#667eea1a,#667eea0d);border-color:#667eea66;box-shadow:0 4px 12px #667eea33;color:#667eea;color:var(--sankey-accent-primary);transform:translateY(-1px)}.filter-button:hover:before{height:100%;width:100%}.filter-button.active{background:linear-gradient(135deg,#667eea40,#667eea26);border-color:#667eea;border-color:var(--sankey-accent-primary);box-shadow:0 0 20px #667eea4d,inset 0 0 10px #667eea1a;color:#667eea;color:var(--sankey-accent-primary)}.quick-date-tab{background:#ffffff05;border:1px solid #ffffff0d;border:1px solid var(--sankey-border-subtle);border-radius:8px;color:#a0aec0;color:var(--sankey-text-muted);cursor:pointer;font-size:.875rem;padding:8px 14px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast);white-space:nowrap}.quick-date-tab:hover{background:#667eea14;border-color:#667eea33;color:#e0e0e0;color:var(--sankey-text-secondary);transform:translateY(-1px)}.quick-date-tab.active{background:linear-gradient(135deg,#667eea33,#667eea1a);border-color:#667eea;border-color:var(--sankey-accent-primary);box-shadow:0 0 15px #667eea33;color:#667eea;color:var(--sankey-accent-primary);font-weight:500}.quick-date-tab.active:after{animation:slideIn .3s ease;background:linear-gradient(90deg,#0000,#667eea,#0000);background:linear-gradient(90deg,#0000,var(--sankey-accent-primary),#0000);bottom:-1px;content:"";height:2px;left:10%;position:absolute;right:10%}@keyframes slideIn{0%{left:50%;right:50%}to{left:10%;right:10%}}.stat-card{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px) saturate(180%);background:#14142380;background:var(--sankey-bg-glass);border:1px solid #ffffff0d;border:1px solid var(--sankey-border-subtle);border-radius:12px;display:flex;gap:16px;overflow:hidden;padding:20px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-smooth)}.stat-card:before{background:linear-gradient(45deg,#0000,#667eea0d,#0000);content:"";height:200%;left:-50%;opacity:0;position:absolute;top:-50%;transform:rotate(45deg);transition:all .5s;width:200%}.stat-card:hover{border-color:#667eea4d;box-shadow:0 12px 30px #0006,0 0 30px #667eea1a;transform:translateY(-3px)}.stat-card:hover:before{animation:shimmer .5s ease;opacity:1}.sankey-chart-container{height:100%;overflow:auto;position:relative;scroll-behavior:smooth;width:100%}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#ffffff05;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea4d,#667eea33);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#667eea80,#667eea4d)}.sankey-container::-webkit-scrollbar{height:8px}.sankey-container::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.sankey-container::-webkit-scrollbar-thumb{background:#667eea4d;border-radius:4px}.sankey-container::-webkit-scrollbar-thumb:hover{background:#667eea80}svg text{fill:#e0e0e0;fill:var(--sankey-text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}svg .layer-label{fill:#a0aec0;fill:var(--sankey-text-muted);font-size:10px;font-weight:600;letter-spacing:1px;opacity:.8;text-transform:uppercase;transition:opacity .3s cubic-bezier(.4,0,.2,1);transition:opacity var(--sankey-transition-smooth)}svg .layer-label:hover{opacity:1}svg .node text{fill:#e0e0e0;fill:var(--sankey-text-secondary);font-size:9px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast)}svg .node:hover text{fill:#f7fafc;fill:var(--sankey-text-primary);font-weight:500}svg .node.component_type text{font-size:11px;font-weight:600}svg .node rect{cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast)}svg .node:hover rect{filter:brightness(1.2) drop-shadow(0 0 10px currentColor)}.node-entering{animation:nodeEnter .5s cubic-bezier(.4,0,.2,1) forwards}@keyframes nodeEnter{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.node-exiting{animation:nodeExit .3s cubic-bezier(.4,0,.2,1) forwards}@keyframes nodeExit{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}svg .link{transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast)}svg .link path{mix-blend-mode:multiply;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-smooth)}svg .link:hover{filter:drop-shadow(0 0 5px rgba(102,126,234,.5));opacity:.8!important}svg .link path:hover{stroke-opacity:.8!important;filter:brightness(1.2)}.link-highlighted{animation:pathHighlight 2s ease-in-out infinite}@keyframes pathHighlight{0%{stroke-width:1;opacity:.5}50%{stroke-width:2;opacity:.8}to{stroke-width:1;opacity:.5}}.zoom-controls{pointer-events:all;-webkit-user-select:none;user-select:none}.zoom-controls text{cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast)}.zoom-controls text:hover{filter:brightness(1.3);transform:scale(1.1)}.zoom-control{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(10px);background:#14142380;background:var(--sankey-bg-glass);border:1px solid #ffffff1a;border:1px solid var(--sankey-border-light);border-radius:8px;color:#e0e0e0;color:var(--sankey-text-secondary);cursor:pointer;padding:8px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast)}.zoom-control:hover{background:#667eea26;border-color:#667eea66;box-shadow:0 0 15px #667eea4d;transform:scale(1.05)}.zoom-control:active{transform:scale(.98)}.animate-spin,.loading-spinner{animation:spin 1s linear infinite}.loading-pulse{animation:pulse 2s ease infinite}.sankey-tooltip{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#14142380;background:var(--sankey-bg-glass);border:1px solid #667eea4d;border-radius:12px;box-shadow:0 20px 40px #00000080,0 0 40px #667eea1a;max-height:500px;max-width:450px;overflow-y:auto;padding:12px;pointer-events:none;position:absolute;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-fast);z-index:1000}.sankey-tooltip.visible{opacity:1;transform:translateY(0)}.sankey-tooltip.hidden{opacity:0;transform:translateY(-5px)}.category-filter-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));max-height:400px;overflow-y:auto;padding-right:8px}.filter-panel{transform-origin:top;transition:all .3s cubic-bezier(.4,0,.2,1);transition:all var(--sankey-transition-smooth)}.filter-panel-expanded{max-height:500px;opacity:1;transform:scaleY(1)}.filter-panel-collapsed{max-height:0;opacity:0;overflow:hidden;transform:scaleY(0)}.sankey-flow-chart{background:#1a1a2e;min-height:600px;position:relative}.sankey-flow-chart svg{display:block;height:100%;width:100%}.diagram-group.has-expanded-nodes{transition:all .5s cubic-bezier(.4,0,.2,1)}@media (max-width:1600px){.sankey-container{overflow-x:scroll}}@media (min-width:1600px){.sankey-container.expanded{max-width:100%}.expand-button{transform:scale(1.1)}}@media (max-width:1400px){.sankey-chart-container{max-height:800px}.glass-panel{padding:20px}}@media (max-width:1200px){.sankey-chart-container{max-height:700px}.stat-card{padding:16px}}@media (max-width:768px){.sankey-chart-container{max-height:600px}.category-filter-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-height:300px}.glass-panel{border-radius:12px;padding:16px}.drill-down-controls{align-items:stretch;flex-direction:column}.zoom-controls{transform:translate(-120px,20px) scale(.9)}.layer-label{font-size:9px!important}.expand-button{transform:scale(.85)}}@media (prefers-color-scheme:dark){.sankey-container{background:linear-gradient(135deg,#050508,#15152a)}.sankey-tooltip{background:#0a0a14fa}}@media print{.sankey-container{background:#fff}svg text{fill:#333}.glass-panel{background:#fff;border:1px solid #ccc}}.expand-button{filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));transition:all .2s cubic-bezier(.4,0,.2,1)}.expand-button:hover{filter:drop-shadow(0 4px 8px rgba(102,126,234,.4));transform:scale(1.1)}.expand-buttons g:hover .expand-button{animation:pulse 1s cubic-bezier(.4,0,.6,1) infinite}.sankey-tooltip{pointer-events:none!important;z-index:10000!important}*,:after,:before{box-sizing:border-box}blockquote,body,dd,dl,figure,h1,h2,h3,h4,h5,h6,p{margin:0}html:focus-within{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;text-rendering:optimizeSpeed}ol[role=list],ul[role=list]{list-style:none}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}canvas,img,picture,svg,video{display:block;height:auto;max-width:100%}button,input,select,textarea{font:inherit}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}h1,h2,h3,h4,h5,h6{color:var(--color-text-dark);font-weight:var(--font-semibold);line-height:var(--leading-tight)}h1{font-size:var(--text-4xl);font-weight:var(--font-bold)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{line-height:var(--leading-relaxed)}@media (max-width:var(--breakpoint-md )){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}}@media (max-width:var(--breakpoint-sm )){body{font-size:.875rem}}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}::selection{background-color:var(--color-primary)}::-webkit-scrollbar{height:.75rem;width:.75rem}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border:2px solid var(--gray-100);border-radius:var(--radius-md)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}*{scrollbar-color:var(--gray-400) var(--gray-100);scrollbar-width:thin}input[type=checkbox],input[type=radio]{cursor:pointer;height:1rem;margin:0;width:1rem}.btn{appearance:none;background-color:#fff;border:1px solid var(--gray-300);color:var(--gray-700);font-family:inherit;font-size:var(--text-sm);gap:var(--space-2);line-height:1.4;overflow:hidden;padding:.5rem 1rem;position:relative;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:hover{background-color:var(--gray-50);border-color:var(--gray-400);box-shadow:var(--shadow-sm);color:var(--gray-900);transform:translateY(-1px)}.btn:active{box-shadow:none;transform:translateY(0)}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{box-shadow:none;transform:none}.btn-primary{background:var(--gray-900);border-color:var(--gray-900)}.btn-primary:hover{background:var(--gray-800);border-color:var(--gray-800);box-shadow:0 4px 12px #00000026}.btn-primary:active{background:var(--gray-950);border-color:var(--gray-950)}.btn-secondary{background-color:var(--gray-100);border-color:var(--gray-300);color:var(--gray-700)}.btn-secondary:hover{background-color:var(--gray-200);border-color:var(--gray-400);color:var(--gray-900)}.btn-ghost{background-color:initial;border-color:#0000;color:var(--gray-600)}.btn-ghost:hover{background-color:var(--gray-100);border-color:#0000;color:var(--gray-900)}.btn-accent{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-accent:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:0 4px 12px #3b82f640}.tabs{width:100%}.tab-item,.tabs{display:flex;gap:var(--space-2)}.tab-item{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--gray-600);cursor:pointer;flex:1 1;font-size:var(--text-sm);font-weight:var(--font-medium);justify-content:center;padding:var(--space-3) var(--space-4);transition:background var(--transition-fast),color var(--transition-fast)}.tab-item:hover:not(.tab-item-active){background-color:var(--gray-100);color:var(--gray-900)}.tab-item-active{background-color:var(--gray-100);box-shadow:inset 0 -2px 0 var(--color-primary);color:var(--color-primary)}.input,.select,.textarea{appearance:none;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:block;font-family:inherit;font-size:var(--text-sm);line-height:1.5;padding:.5rem .75rem;transition:all var(--transition-fast);width:100%}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-border-hover)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-text);box-shadow:0 0 0 3px rgba(var(--color-text-rgb),.05);outline:none}.input::placeholder,.textarea::placeholder{color:var(--color-text-subtle)}.input[type=file]::file-selector-button{background-color:var(--color-surface-active);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;margin-right:.75rem;padding:.5rem .75rem}.input[type=file]::file-selector-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-border-hover)}.select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1.5 5 5 5-5' stroke='%2352525b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2.5rem}.card{background-color:#fff;border:1px solid var(--gray-200);display:flex;flex-direction:column;padding:var(--space-6);position:relative;transition:all var(--transition-normal)}.card-hover:hover{border-color:var(--gray-300);box-shadow:0 10px 25px -5px #0000000d;transform:translateY(-2px)}.stat-card{flex:1 1;min-width:150px;padding:var(--space-4);text-align:center}.stat-value{color:var(--gray-900);font-size:var(--text-2xl);font-weight:var(--font-bold)}.stat-label{color:var(--color-text-muted);font-size:var(--text-sm)}.progress-section{display:flex;flex-direction:column;gap:var(--space-6)}.progress-stats{display:flex;flex-wrap:wrap;gap:var(--space-4)}.progress-stats .stat-card{flex:0 0 auto}.table{background:#fff}.table-responsive{overflow-x:auto;width:100%}.table td,.table th{border-bottom:1px solid var(--gray-100);padding:var(--space-3) var(--space-4);text-align:left}.table th{background-color:var(--gray-50);color:var(--gray-700);font-size:var(--text-xs);font-weight:var(--font-medium);letter-spacing:.05em;text-transform:uppercase}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:var(--gray-50)}@media (max-width:var(--breakpoint-md )){.card{padding:var(--space-4)}.table td,.table th{padding:var(--space-2)}}.badge{background-color:var(--gray-100);border:1px solid var(--gray-200);color:var(--gray-700);font-weight:var(--font-medium);gap:var(--space-1);line-height:1;padding:.25rem .625rem;white-space:nowrap}.badge-primary{background-color:var(--gray-900);border-color:var(--gray-900);color:#fff}.badge-accent{background-color:#3b82f614;border-color:#3b82f633;color:var(--color-primary)}.badge-success{background-color:#10b98114;border-color:#10b98133;color:var(--color-success)}.badge-error{background-color:#ef444414;border-color:#ef444433;color:var(--color-error)}.modal-backdrop{align-items:center;animation:fadeIn var(--transition-fast);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0000004d;display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-modal-backdrop)}.modal{animation:slideUp var(--transition-normal);background-color:#fff;border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000026;max-height:90vh;max-width:90vw;overflow-y:auto;padding:var(--space-6);z-index:var(--z-modal)}.progress{background-color:var(--gray-200);border-radius:var(--radius-full);height:.375rem;overflow:hidden;width:100%}.progress-bar{background:var(--gray-900);height:100%;transition:width var(--transition-slow) ease}.progress-bar-accent{background:var(--color-primary)}.tooltip-content{background-color:var(--gray-900);border-radius:var(--radius-md);bottom:100%;box-shadow:0 4px 12px #00000026;color:#fff;font-size:var(--text-xs);left:50%;margin-bottom:var(--space-2);opacity:0;padding:.375rem .75rem;position:absolute;transform:translateX(-50%);transition:all var(--transition-fast);visibility:hidden;white-space:nowrap;z-index:var(--z-tooltip)}.tooltip:hover .tooltip-content{opacity:1;visibility:visible}.loading-spinner{animation:spin .8s linear infinite;border:2px solid var(--gray-200);border-radius:50%;border-top-color:var(--gray-900);height:2rem;width:2rem}.btn-icon-action{align-items:center;background-color:initial;border:none;border-radius:var(--radius-md);color:var(--gray-600);cursor:pointer;display:flex;height:2rem;justify-content:center;padding:0;transition:all var(--transition-fast);width:2rem}.btn-icon-action:hover{background-color:var(--gray-100);color:var(--gray-900)}.btn-icon-action:active,.divider{background-color:var(--gray-200)}.divider{height:1px;margin:var(--space-6) 0}.alert{background-color:var(--gray-50);border:1px solid var(--gray-200);font-size:var(--text-sm);gap:var(--space-3);padding:var(--space-4)}.alert-info{background-color:#3b82f60d;border-color:#3b82f633;color:var(--color-primary-dark)}.alert-success{background-color:#10b9810d;border-color:#10b98133;color:#047857}.alert-error{background-color:#ef44440d;border-color:#ef444433;color:#dc2626}.loading-container{align-items:center;display:flex;justify-content:center;min-height:24rem}.loading-spinner{text-align:center}.spinner{border:3px solid var(--color-border);border-radius:var(--radius-full);height:3rem;margin:0 auto;width:3rem}.loading-text{color:var(--color-text-secondary);margin-top:var(--spacing-4)}.card{background:var(--color-surface);border:1px solid var(--color-border)}.card-body,.card-header{padding:var(--spacing-6)}.card-gradient-primary{background:linear-gradient(135deg,var(--color-primary-50),var(--color-primary-100));border-color:var(--color-primary-200)}.card-gradient-accent{background:linear-gradient(135deg,var(--color-accent-50),var(--color-accent-100));border-color:var(--color-accent-200)}.btn{font-weight:var(--font-medium);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4)}.btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background:var(--color-primary-600)}.btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}.btn-secondary:hover{background:var(--color-background-hover)}.btn-sm{font-size:var(--text-sm);padding:var(--spacing-1) var(--spacing-3)}.btn-icon{background:#0000;border:none;border-radius:var(--radius-md);cursor:pointer;padding:var(--spacing-2);transition:var(--transition-base)}.btn-icon:hover{background:var(--color-background-hover)}.badge{font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--spacing-1) var(--spacing-2)}.badge-default{background:var(--color-background-subtle);color:var(--color-text-secondary)}.badge-success{background:var(--color-success-100);color:var(--color-success-600)}.badge-warning{background:var(--color-warning-100);color:var(--color-warning-600)}.badge-sm{font-size:var(--text-2xs);padding:.125rem var(--spacing-2)}.alert{border-radius:var(--radius-lg);padding:var(--spacing-4)}.alert-info{background:linear-gradient(to right,var(--color-primary-50),var(--color-accent-50));border-color:var(--color-primary-200);color:var(--color-primary-600)}.icon-xs{height:1rem;width:1rem}.icon-sm{height:1.25rem;width:1.25rem}.icon-md{height:1.5rem;width:1.5rem}.icon-lg{height:2rem;width:2rem}.icon-container{align-items:center;border-radius:var(--radius-xl);display:inline-flex;justify-content:center;padding:var(--spacing-3)}.icon-container-gradient{background:var(--gradient-primary);color:var(--color-text-inverse)}.heading-primary{font-size:var(--text-2xl)}.heading-primary,.heading-secondary{color:var(--color-text-primary);font-weight:var(--font-bold)}.heading-secondary{font-size:var(--text-xl)}.heading-tertiary{color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--font-semibold)}.text-success{color:var(--color-success-600)}.text-warning{color:var(--color-warning-600)}.text-danger{color:var(--color-danger-500)}.text-strong{font-weight:var(--font-semibold)}.flex-col,.flex-row{display:flex}.flex-row-between{display:flex;justify-content:space-between}.align-center,.flex-row-between{align-items:center}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-6{margin-bottom:var(--spacing-6)}.grid{grid-gap:var(--spacing-4);gap:var(--spacing-4)}.animate-pulse{animation:pulse 2s infinite}.image-upload-manager{background-color:var(--color-background);min-height:100vh}.image-upload-manager .container{margin:0 auto;max-width:72rem;padding:3rem 1rem}.section-title{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-semibold)}.category-selector-wrapper{display:flex;justify-content:center;margin-bottom:3rem}.category-selector{background-color:var(--color-surface);border-radius:var(--radius-full);box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:inline-flex;padding:.25rem}.btn-category{background-color:initial;border:none;border-radius:var(--radius-full);color:var(--color-text-muted);font-weight:var(--font-medium);padding:.75rem 1.5rem;transition:all var(--transition-base)}.btn-category:hover{background-color:var(--color-surface-hover);color:var(--color-text)}.btn-category.active{background-color:var(--color-text);box-shadow:0 4px 12px #00000026;color:var(--color-text-inverse)}.btn-category.active:hover{background-color:var(--color-text-muted);color:var(--color-text-inverse)}.upload-zone{background-color:var(--color-surface);border:2px dashed var(--color-border);border-radius:1.5rem;cursor:pointer;overflow:hidden;position:relative;transition:all var(--transition-base)}.upload-zone:hover{border-color:var(--color-border-hover);box-shadow:0 10px 25px -5px #0000000d}.upload-zone.dragging{background-color:var(--color-background);border-color:var(--color-primary);box-shadow:0 20px 50px -10px #0000001a;transform:scale(1.02)}.upload-input{cursor:pointer;height:100%;inset:0;opacity:0;position:absolute;width:100%;z-index:20}.upload-content{padding:4rem;pointer-events:none;text-align:center}.upload-icon-wrapper{background-color:var(--color-surface-hover);border-radius:var(--radius-full);display:inline-flex;margin-bottom:1.5rem;padding:1.5rem;transition:all var(--transition-base)}.upload-icon-wrapper.dragging{background-color:var(--color-primary)}.upload-icon{color:var(--color-text-muted);transition:all var(--transition-base)}.upload-icon-wrapper.dragging .upload-icon{color:var(--color-text-inverse)}.upload-title{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:.5rem}.upload-description{color:var(--color-text-subtle)}.upload-list{display:flex;flex-direction:column;gap:.75rem}.upload-item{background-color:var(--color-surface);border-radius:1rem;box-shadow:0 4px 6px -1px #0000000d;padding:1rem}.upload-item-content{align-items:center;display:flex;gap:1rem}.upload-preview-wrapper{flex-shrink:0;position:relative}.upload-preview{border-radius:.75rem;height:4rem;object-fit:cover;width:4rem}.upload-preview-overlay{align-items:center;background-color:#00000080;border-radius:.75rem;display:flex;inset:0;justify-content:center;position:absolute}.upload-spinner{animation:spin .8s linear infinite;color:var(--color-text-inverse);height:1.5rem;width:1.5rem}.upload-info{flex:1 1;min-width:0}.upload-filename{color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-filesize{margin-top:.25rem}.upload-progress-wrapper{flex-shrink:0;width:8rem}.status-badge{align-items:center;border-radius:var(--radius-full);display:flex;flex-shrink:0;justify-content:center;padding:.5rem}.status-success{background-color:#10b9811a;color:var(--color-success)}.status-error{background-color:#ef44441a;color:var(--color-error)}.image-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}@media (min-width:640px){.image-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}}@media (min-width:768px){.image-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}}.image-card{background-color:var(--color-surface);border-radius:1rem;box-shadow:0 4px 6px -1px #0000000d;cursor:pointer;overflow:hidden;position:relative;transition:all var(--transition-base)}.image-card:hover{box-shadow:0 20px 25px -5px #00000014;transform:translateY(-.125rem)}.image-container{aspect-ratio:1;overflow:hidden}.image-preview{height:100%;object-fit:cover;width:100%}.image-overlay{align-items:flex-end;background-color:#0000;display:flex;inset:0;position:absolute;transition:all var(--transition-base)}.image-card:hover .image-overlay{background-color:#000000b3}.image-overlay-content{padding:1rem;transform:translateY(100%);transition:transform var(--transition-base);width:100%}.image-card:hover .image-overlay-content{transform:translateY(0)}.image-name{color:#fff;font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-action-btn{background-color:var(--color-surface);border:none;color:var(--color-text);font-size:var(--text-xs);padding:.5rem .75rem;width:100%}.image-action-btn:hover{background-color:var(--color-surface-hover)}.active-indicator{background-color:var(--color-primary);border-radius:var(--radius-full);box-shadow:0 10px 15px -3px #0000001a;color:var(--color-text-inverse);padding:.5rem;position:absolute;right:.75rem;top:.75rem}@media (max-width:640px){.image-upload-manager .container{padding:2rem 1rem}.category-selector{flex-wrap:wrap;gap:.5rem;padding:.5rem}.btn-category{font-size:var(--text-sm);padding:.5rem 1rem}.upload-content{padding:2rem}.upload-icon-wrapper{padding:1rem}.upload-icon{height:1.5rem;width:1.5rem}.upload-title{font-size:var(--text-lg)}.upload-description{font-size:var(--text-sm)}}.card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:var(--spacing-md) var(--spacing-lg)}.card-title{color:var(--text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.card-body{padding:var(--spacing-lg)}.btn{align-items:center;border:1px solid #0000;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);justify-content:center;line-height:1;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;transition:var(--transition-base)}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--gradient-primary);border:none;color:#fff}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-secondary)}.btn-success{background:var(--gradient-success);color:#fff}.btn-danger{background:var(--color-danger);color:#fff}.btn-ghost{background:#0000;border:none;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.input,.input-label{color:var(--text-primary)}.input{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);transition:var(--transition-base)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.input:disabled{background:var(--bg-tertiary);cursor:not-allowed}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm)}.badge-primary{background:var(--color-primary-light);color:var(--color-primary-dark)}.badge-success{background:var(--color-success-light);color:var(--color-success-dark)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning-dark)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger-dark)}.alert{align-items:flex-start;border:1px solid;border-radius:var(--radius-md);display:flex;gap:var(--spacing-md);padding:var(--spacing-md)}.alert-info{background:var(--color-info-light);border-color:var(--color-info);color:var(--color-info-dark)}.alert-success{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-success-dark)}.alert-warning{background:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning-dark)}.alert-danger{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger-dark)}.table{border-collapse:collapse;width:100%}.table th{background:var(--bg-tertiary);border-bottom:2px solid var(--border-color);color:var(--text-primary);font-weight:var(--font-weight-semibold);text-align:left}.table td,.table th{padding:var(--spacing-sm) var(--spacing-md)}.table td{border-bottom:1px solid var(--border-color-light)}.table tr:hover{background:var(--bg-hover)}.skeleton{animation:loading 1.5s infinite;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;border-radius:var(--radius-sm)}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.spinner{animation:spin 1s linear infinite;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--color-primary);height:20px;width:20px}.text-sm{font-size:var(--font-size-sm)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.font-bold{font-weight:var(--font-weight-bold)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-medium{font-weight:var(--font-weight-medium)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-danger{color:var(--color-danger)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.bg-tertiary{background:var(--bg-tertiary)}.border{border:1px solid var(--border-color)}.border-top{border-top:1px solid var(--border-color)}.border-bottom{border-bottom:1px solid var(--border-color)}.border-left{border-left:1px solid var(--border-color)}.border-right{border-right:1px solid var(--border-color)}.p-1{padding:var(--spacing-xs)}.p-2{padding:var(--spacing-sm)}.p-3{padding:var(--spacing-md)}.p-4{padding:var(--spacing-lg)}.p-5{padding:var(--spacing-xl)}.m-1{margin:var(--spacing-xs)}.m-2{margin:var(--spacing-sm)}.m-3{margin:var(--spacing-md)}.m-4{margin:var(--spacing-lg)}.m-5{margin:var(--spacing-xl)}.mt-1{margin-top:var(--spacing-xs)}.mt-2{margin-top:var(--spacing-sm)}.mt-3{margin-top:var(--spacing-md)}.mt-4{margin-top:var(--spacing-lg)}.mt-5{margin-top:var(--spacing-xl)}.mb-1{margin-bottom:var(--spacing-xs)}.mb-2{margin-bottom:var(--spacing-sm)}.mb-3{margin-bottom:var(--spacing-md)}.mb-4{margin-bottom:var(--spacing-lg)}.mb-5{margin-bottom:var(--spacing-xl)}.gap-1{gap:var(--spacing-xs)}.gap-2{gap:var(--spacing-sm)}.gap-3{gap:var(--spacing-md)}.gap-4{gap:var(--spacing-lg)}.gap-5{gap:var(--spacing-xl)}.flex-column{flex-direction:column}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.inline{display:inline}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-panel{-webkit-backdrop-filter:blur(var(--sidebar-blur));backdrop-filter:blur(var(--sidebar-blur));background-color:var(--glass-white);border:1px solid var(--glass-white-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6)}.sankey-container{min-height:100vh;width:100%}.chat-container,.sankey-container{display:flex;flex-direction:column}.chat-container{-webkit-backdrop-filter:blur(var(--sidebar-blur));backdrop-filter:blur(20px);background:#14142380;border:1px solid #ffffff0d;border-radius:12px;padding:20px}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto}.chat-message{border-radius:8px;font-size:.9rem;line-height:1.4;max-width:80%;padding:12px}.chat-message.user{background:#3b82f6cc;color:#fff;margin-left:auto}.chat-message.assistant{background:#ffffff14;color:#e0e0e0}.chat-input{display:flex;gap:8px;margin-top:16px}.chat-input input{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;color:#fff;flex:1 1;font-size:.9rem;padding:8px 12px}.chat-input button{align-items:center;background:#3b82f6cc;border:1px solid #3b82f64d;border-radius:6px;color:#fff;display:flex;font-size:.85rem;gap:4px;padding:8px 16px}.chat-input button:disabled{opacity:.5}.app-container{flex-direction:column;min-height:100vh}.main-content{display:flex;flex-direction:column;min-height:0}.content-area{flex:1 1;margin:0 auto;max-width:var(--content-max-width);overflow-y:auto;padding:var(--space-4);width:100%}.page-header{margin-bottom:var(--space-8)}.page-title{color:var(--gray-900)}.page-subtitle{color:var(--color-text-muted);font-size:var(--text-lg)}@media (min-width:var(--breakpoint-md )){.content-area{padding:var(--space-6)}}@media (min-width:var(--breakpoint-lg )){.app-container{flex-direction:row}.content-area{padding:var(--space-8)}}@media (max-width:var(--breakpoint-md )){.page-title{font-size:var(--text-2xl)}}:root{--white:#fff;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-primary-light:#60a5fa;--color-primary-dark:#1d4ed8;--color-accent:#06b6d4;--color-accent-light:#22d3ee;--color-accent-dark:#0891b2;--gray-50:#fafafa;--gray-100:#f4f4f5;--gray-200:#e4e4e7;--gray-300:#d4d4d8;--gray-400:#a1a1aa;--gray-500:#71717a;--gray-600:#52525b;--gray-700:#3f3f46;--gray-800:#27272a;--gray-900:#18181b;--gray-950:#09090b;--gradient-primary:linear-gradient(135deg,#3b82f6,#2563eb);--gradient-accent:linear-gradient(135deg,#06b6d4,#0891b2);--gradient-success:linear-gradient(135deg,var(--color-success-light,#34d399) 0%,var(--color-success) 100%);--gradient-dark:linear-gradient(180deg,#18181b,#09090b);--gradient-subtle:linear-gradient(180deg,#ffffff05,#fff0);--glass-white:#ffffff14;--glass-white-border:#ffffff1f;--glass-dark:#0000004d;--glass-dark-border:#00000080;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000000a,0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000000a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000000a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #00000014,0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000026;--glow-primary:0 0 20px #6366f166;--glow-accent:0 0 20px #f59e0b66;--glow-subtle:0 0 15px #ffffff1a;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono","SF Mono",Monaco,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--space-0:0;--space-px:1px;--space-0-5:0.125rem;--space-1:0.25rem;--space-1-5:0.375rem;--space-2:0.5rem;--space-2-5:0.625rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--duration-instant:0ms;--duration-fast:150ms;--duration-normal:300ms;--duration-slow:500ms;--duration-slower:700ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-out-expo:cubic-bezier(0.19,1,0.22,1);--ease-out-back:cubic-bezier(0.34,1.56,0.64,1);--ease-spring:cubic-bezier(0.43,0.195,0.02,1.37);--nav-hover-scale:1.05;--nav-hover-translate-x:2px;--nav-hover-translate-y:-2px;--nav-icon-hover-scale:1.1;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:1024px;--sidebar-width:175px;--sidebar-collapsed-width:64px;--sidebar-min-width:60px;--sidebar-max-width:400px;--topnav-height:64px;--settings-panel-width:800px;--content-max-width:1400px;--z-base:0;--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-modal-backdrop:40;--z-modal:50;--z-popover:60;--z-tooltip:70;--button-height:40px;--input-height:40px;--navbar-blur:10px;--sidebar-blur:16px;--modal-blur:20px;--department-badge-bg:var(--color-surface-active);--department-badge-text:var(--color-text);--transition-base:var(--duration-normal) var(--ease-out);--transition-fast:var(--duration-fast) var(--ease-out);--transition-normal:var(--duration-normal) var(--ease-out);--transition-slow:var(--duration-slow) var(--ease-out);--transition-spring:var(--duration-normal) var(--ease-spring);--color-background:#fff;--color-surface:#fff;--color-surface-hover:var(--gray-50);--color-surface-active:var(--gray-100);--color-border:var(--gray-200);--color-border-hover:var(--gray-300);--color-text:var(--gray-900);--color-text-muted:var(--gray-600);--color-text-subtle:var(--gray-500);--color-text-inverse:#fff;--color-text-rgb:24,24,27;--logo-invert:invert(0);--color-success:#10b981;--color-success-light:#34d399;--color-success-dark:#059669;--color-warning:#f59e0b;--color-warning-light:#fcd34d;--color-warning-dark:#d97706;--color-error:#ef4444;--color-info:#3b82f6;--canvas-grid-color:var(--gray-200);--bg-primary:var(--color-surface);--bg-secondary:var(--color-background);--bg-tertiary:var(--color-surface-hover);--bg-hover:var(--color-surface-hover);--text-primary:var(--color-text);--text-secondary:var(--color-text-muted);--text-tertiary:var(--color-text-subtle);--border-color:var(--color-border);--border-color-light:var(--color-border-hover);--bg-code:var(--gray-800);--text-code:var(--gray-100);--color-danger:var(--color-error);--color-danger-light:#fee2e2;--color-danger-dark:#b91c1c}[data-theme=dark]{--color-background:var(--gray-950);--color-surface:var(--gray-900);--color-surface-hover:var(--gray-800);--color-surface-active:var(--gray-700);--color-border:#ffffff1a;--color-border-hover:#fff3;--color-text:#fffffff2;--color-text-muted:#ffffffb3;--color-text-subtle:#fff9;--color-text-inverse:var(--gray-900);--color-text-rgb:255,255,255;--logo-invert:invert(1);--department-badge-bg:var(--color-surface-hover);--canvas-grid-color:var(--gray-800);--bg-code:var(--gray-700);--text-code:var(--gray-200)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;text-rendering:optimizeLegibility}body{background-color:#fff;background-color:var(--color-background);color:#18181b;color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:1rem;font-size:var(--text-base);line-height:1.5;margin:0;padding:0}.glass{background:#ffffff14;background:var(--glass-white);border:1px solid #ffffff1f;border:1px solid var(--glass-white-border)}.glass,.glass-dark{backdrop-filter:blur(10px);backdrop-filter:blur(var(--navbar-blur));-webkit-backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(var(--navbar-blur))}.glass-dark{background:#0000004d;background:var(--glass-dark);border:1px solid #00000080;border:1px solid var(--glass-dark-border)}.glow{box-shadow:0 0 15px #ffffff1a;box-shadow:var(--glow-subtle);transition:box-shadow .3s cubic-bezier(0,0,.2,1);transition:box-shadow var(--transition-normal)}.glow:hover{box-shadow:0 0 20px #6366f166;box-shadow:var(--glow-primary)}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#2563eb);background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text}.btn-modern{align-items:center;border:none;border-radius:.5rem;border-radius:var(--radius-lg);cursor:pointer;display:inline-flex;font-size:.875rem;font-size:var(--text-sm);font-weight:500;font-weight:var(--font-medium);gap:.5rem;gap:var(--space-2);height:40px;height:var(--button-height);justify-content:center;overflow:hidden;padding:0 1rem;padding:0 var(--space-4);position:relative;transition:all .3s cubic-bezier(0,0,.2,1);transition:all var(--transition-normal)}.btn-modern:before{background:linear-gradient(180deg,#ffffff1a,#fff0);bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .15s cubic-bezier(0,0,.2,1);transition:opacity var(--transition-fast)}.btn-modern:hover:before{opacity:1}.btn-modern:active{transform:scale(.98)}.card-modern{background:#fff;background:var(--color-surface);border:1px solid #e4e4e7;border:1px solid var(--color-border);border-radius:.75rem;border-radius:var(--radius-xl);box-shadow:0 1px 3px #0000000a,0 1px 2px #0000000f;box-shadow:var(--shadow-sm);overflow:hidden;position:relative;transition:all .3s cubic-bezier(0,0,.2,1);transition:all var(--transition-normal)}.card-modern:before{background:linear-gradient(180deg,#ffffff05,#fff0);background:var(--gradient-subtle);content:"";height:1px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s cubic-bezier(0,0,.2,1);transition:opacity var(--transition-normal)}.card-modern:hover{box-shadow:0 10px 15px -3px #0000000a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-modern:hover:before{opacity:1}.input-modern{background:#fff;background:var(--color-surface);border:1px solid #e4e4e7;border:1px solid var(--color-border);border-radius:.5rem;border-radius:var(--radius-lg);color:#18181b;color:var(--color-text);font-size:.875rem;font-size:var(--text-sm);height:40px;height:var(--input-height);outline:none;padding:0 .75rem;padding:0 var(--space-3);transition:all .15s cubic-bezier(0,0,.2,1);transition:all var(--transition-fast)}.input-modern:hover{border-color:#d4d4d8;border-color:var(--color-border-hover)}.input-modern:focus{border-color:#3b82f6;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.input-modern:disabled{background:#f4f4f5;background:var(--gray-100);cursor:not-allowed}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d4d4d8;background:var(--gray-300);background-clip:padding-box;border:2px solid #0000;border-radius:9999px;border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#a1a1aa;background:var(--gray-400)}::selection{background:#3b82f6;background:var(--color-primary);color:#fff;color:var(--color-text-inverse)}:focus-visible{outline:2px solid #3b82f6;outline:2px solid var(--color-primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#e4e4e7 25%,#f4f4f5 50%,#e4e4e7 75%);background:linear-gradient(90deg,var(--gray-200) 25%,var(--gray-100) 50%,var(--gray-200) 75%);background-size:200% 100%}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.flex-1{flex:1 1}.flex-auto{flex:auto}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.mx-6{margin-left:var(--space-6);margin-right:var(--space-6)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.ml-2{margin-left:var(--space-2)}.ml-4{margin-left:var(--space-4)}.mr-2{margin-right:var(--space-2)}.mr-4{margin-right:var(--space-4)}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-bottom:var(--space-2);padding-top:var(--space-2)}.py-4{padding-bottom:var(--space-4);padding-top:var(--space-4)}.w-full{width:100%}.w-auto{width:auto}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-full{max-width:100%}.w-1\/2{width:50%}.w-1\/3{width:33.333%}.w-1\/4{width:25%}@media (min-width:var(--breakpoint-sm )){.sm\:w-1\/2{width:50%}}@media (min-width:var(--breakpoint-lg )){.lg\:w-1\/3{width:33.333%}.lg\:w-1\/4{width:25%}}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.h-8{height:var(--space-8)}.h-4{height:var(--space-4)}.w-3\/4{width:75%}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.text-gray-500{color:var(--gray-500)}.text-gray-600{color:var(--gray-600)}.text-gray-700{color:var(--gray-700)}.text-gray-900{color:var(--gray-900)}.text-white{color:var(--color-text-inverse)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-info{color:var(--color-info)}.text-blue-300{color:#93c5fd}.text-blue-400{color:var(--color-primary-light)}.text-blue-600{color:var(--color-primary)}.text-blue-700{color:var(--color-primary-dark)}.text-gray-200{color:var(--gray-200)}.text-gray-300{color:var(--gray-300)}.text-gray-400{color:var(--gray-400)}.text-green-300{color:#86efac}.text-green-400{color:var(--color-success-light)}.text-green-500{color:var(--color-success)}.text-green-600{color:var(--color-success-dark)}.text-green-700{color:#047857}.text-orange-300{color:#fdba74}.text-orange-400{color:var(--color-warning-light)}.text-orange-500{color:var(--color-warning)}.text-orange-600{color:var(--color-warning-dark)}.text-purple-400{color:#a78bfa}.text-red-500{color:var(--color-error)}.text-red-600{color:#dc2626}.text-red-700{color:#b91c1c}.text-red-800{color:#991b1b}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.bg-white{background-color:var(--color-surface)}.bg-gray-50{background-color:var(--gray-50)}.bg-gray-100{background-color:var(--gray-100)}.bg-gray-900{background-color:var(--gray-900)}.bg-transparent{background-color:initial}.bg-blue-500{background-color:var(--color-info)}.bg-blue-600,.bg-primary{background-color:var(--color-primary)}.bg-red-50{background-color:#fef2f2}.bg-red-600{background-color:var(--color-error)}.bg-green-100{background-color:#d1fae5}.bg-gray-200{background-color:var(--gray-200)}.bg-gray-300{background-color:var(--gray-300)}.bg-gray-600{background-color:var(--gray-600)}.bg-gray-700{background-color:var(--gray-700)}.bg-black\/20{background-color:#0003}.bg-blue-900\/20{background-color:#1e3a8a33}.bg-green-900\/20{background-color:#065f4633}.bg-orange-900\/20{background-color:#7c2d1233}.bg-gray-800\/50{background-color:#27272a80}.bg-yellow-600{background-color:#ca8a04}.hover\:bg-blue-600:hover{background-color:var(--color-primary)}.hover\:bg-blue-700:hover{background-color:var(--color-primary-dark)}.hover\:bg-gray-50:hover{background-color:var(--gray-50)}.hover\:bg-gray-200:hover{background-color:var(--gray-200)}.hover\:bg-gray-600:hover{background-color:var(--gray-600)}.hover\:bg-red-700:hover{background-color:#b91c1c}.bg-gradient-primary{background-image:var(--gradient-primary)}.border{border:1px solid var(--color-border)}.border-0{border:0}.border-t{border-top:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-gray-200{border-color:var(--gray-200)}.border-gray-300{border-color:var(--gray-300)}.border-blue-600\/30{border-color:#2563eb4d}.border-green-500{border-color:var(--color-success)}.border-green-600\/30{border-color:#0596694d}.border-orange-600\/30{border-color:#ea580c4d}.border-red-200{border-color:#fecaca}.border-red-500{border-color:var(--color-error)}.border-yellow-500{border-color:#eab308}.border-l-4{border-left-width:4px}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.static{position:static}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{bottom:0;left:0;right:0;top:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.disabled\:bg-gray-300:disabled{background-color:var(--gray-300)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.transition-none{transition:none}.transition-all{transition:all var(--transition-base)}.transition-colors{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.translate-y-0{transform:translateY(0)}.translate-y-1{transform:translateY(.25rem)}.-translate-y-1{transform:translateY(-.25rem)}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.focus-visible:focus{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width:var(--breakpoint-md )){.sm\:hidden{display:none!important}.sm\:block{display:block!important}.sm\:flex{display:flex!important}}@media (min-width:var(--breakpoint-md )){.md\:hidden{display:none!important}.md\:block{display:block!important}.md\:flex{display:flex!important}}@media (min-width:var(--breakpoint-lg )){.lg\:hidden{display:none!important}.lg\:block{display:block!important}.lg\:flex{display:flex!important}}@media (max-width:var(--breakpoint-md )){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-1{grid-template-columns:1fr}.md\:flex-column{flex-direction:column}}@media (max-width:var(--breakpoint-sm )){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid-cols-1{grid-template-columns:1fr}.sm\:flex-column{flex-direction:column}}.app-container{background-color:var(--color-background);flex-direction:row;width:100vw}.app-container,.main-wrapper{display:flex;height:100vh;overflow:hidden;position:relative}.main-wrapper{flex:1 1;flex-direction:column;min-width:0;transition:margin-left var(--transition-normal) var(--ease-out)}.main-wrapper.sidebar-open{margin-left:var(--sidebar-width)}.main-wrapper.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.sidebar-container.sidebar-resizing~.main-wrapper{transition:none}.main-wrapper>nav{flex-shrink:0;height:var(--topnav-height);position:relative;width:100%;z-index:30}.main-content{background-color:var(--color-background);flex:1 1;height:calc(100vh - var(--topnav-height));overflow-x:hidden;overflow-y:auto;position:relative}.content-wrapper{display:flex;flex:1 1;flex-direction:column;height:100%;min-height:0;transition:opacity var(--transition-normal) ease;width:100%}.content-wrapper.transitioning{opacity:0}.content-wrapper>div{flex:1 1;min-height:0}.app-loading,.content-wrapper>div{display:flex;flex-direction:column}.app-loading{align-items:center;background-color:var(--color-background);gap:var(--space-4);justify-content:center;min-height:100vh}.app-loading p{color:var(--color-text-muted);font-size:var(--text-base);margin:0}.app-error{align-items:center;background-color:var(--color-background);display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;min-height:100vh;padding:var(--space-8);text-align:center}.app-error h2{color:var(--color-error);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin:0}.app-error p{color:var(--color-text-muted);font-size:var(--text-base);margin:0}.app-container.settings-mode{background-color:var(--color-background)}@media (max-width:var(--breakpoint-lg )){.dashboard-container{flex-direction:column}.tech-palette{flex-shrink:0;height:250px;width:100%}}@media (max-width:var(--breakpoint-md )){.main-wrapper.sidebar-collapsed,.main-wrapper.sidebar-open{margin-left:0;width:100vw}.app-container .sidebar-container{max-width:320px;position:fixed;transform:translateX(-100%);transition:transform var(--transition-normal);width:80vw;z-index:var(--z-fixed)}.app-container .sidebar-container.sidebar-open{transform:translateX(0)}.sidebar-overlay{background-color:#0000004d;inset:0;opacity:0;position:fixed;transition:all var(--transition-fast);visibility:hidden;z-index:calc(var(--z-fixed) - 1)}.sidebar-container.sidebar-open~.sidebar-overlay{opacity:1;visibility:visible}}.page-title{color:var(--color-text);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-2)}.debug-border{border:2px solid red!important}
/*# sourceMappingURL=main.9de7201d.css.map*/