@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Exo+2:wght@300;400;500;600;700;800&family=Open+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";#app-sidebar{background:#232323;color:#d1d5db;display:flex;flex-direction:column;flex-shrink:0;height:100%;transition:width .2s ease}#app-sidebar::-webkit-scrollbar{width:4px}#app-sidebar::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#app-sidebar::-webkit-scrollbar-track{background:transparent}#app-sidebar.collapsed{width:56px}#app-sidebar.expanded{width:240px}#app-sidebar .sidebar-logo-bar{padding:12px 12px 10px;border-bottom:1px solid #374151;display:flex;align-items:center;gap:8px;cursor:pointer;width:100%;background:none;border-left:none;border-right:none;border-top:none;color:inherit;transition:background-color .15s}#app-sidebar .sidebar-logo-bar:hover{background:#3741514d}#app-sidebar .sidebar-logo-bar .logo-img{height:36px;width:100%;object-fit:contain;object-position:left;filter:brightness(0) invert(1);opacity:.9}#app-sidebar .sidebar-logo-bar .collapse-icon{color:#6b7280}#app-sidebar .sidebar-logo-bar .expand-icon{color:#9ca3af;margin:0 auto}#app-sidebar .sidebar-breadcrumb{padding:12px 12px 4px}#app-sidebar .sidebar-breadcrumb .breadcrumb-link{display:flex;align-items:center;gap:6px;font-size:10px;color:#6b7280;text-decoration:none;text-transform:uppercase;letter-spacing:.05em;transition:color .15s}#app-sidebar .sidebar-breadcrumb .breadcrumb-link:hover{color:#d1d5db}#app-sidebar .sidebar-breadcrumb .breadcrumb-link .back-icon{transform:rotate(180deg)}#app-sidebar .sidebar-breadcrumb .breadcrumb-link span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-sidebar .sidebar-nav{flex:1;overflow-y:auto;padding:8px 0}#app-sidebar .sidebar-nav::-webkit-scrollbar{width:4px}#app-sidebar .sidebar-nav::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#app-sidebar .sidebar-nav::-webkit-scrollbar-track{background:transparent}#app-sidebar .sidebar-nav .empty-hint{padding:16px;font-size:12px;color:#6b7280}#app-sidebar .module-group{margin-bottom:2px}#app-sidebar .module-group .module-header{width:100%;display:flex;align-items:center;gap:10px;padding:8px 12px;font-size:14px;background:none;border:none;color:inherit;cursor:pointer;transition:all .15s}#app-sidebar .module-group .module-header.collapsed-header{justify-content:center}#app-sidebar .module-group .module-header.active{color:#fff}#app-sidebar .module-group .module-header:not(.active){color:#9ca3af}#app-sidebar .module-group .module-header:not(.active):hover{color:#e5e7eb;background:#3741514d}#app-sidebar .module-group .module-header .module-label{flex:1;text-align:left;font-size:12px;font-weight:500}#app-sidebar .cockpit-section{padding:8px 10px 4px;border-bottom:1px solid #374151}#app-sidebar .cockpit-section .cockpit-link{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:6px;font-size:12px;color:#d1d5db;text-decoration:none;background:#37415159;transition:all .15s}#app-sidebar .cockpit-section .cockpit-link:hover{color:#fff;background:#37415199}#app-sidebar .cockpit-section .cockpit-link .cockpit-label{font-weight:600}#app-sidebar .sub-module-list{margin-left:16px;border-left:1px solid #374151;padding-left:8px;padding-top:2px;padding-bottom:2px}#app-sidebar .sub-module-list .sub-module-link{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:12px;text-decoration:none;transition:all .15s}#app-sidebar .sub-module-list .sub-module-link.locked{color:#4b5563;cursor:not-allowed;opacity:.5}#app-sidebar .sub-module-list .sub-module-link.active{background:#37415199;color:#fff;font-weight:600}#app-sidebar .sub-module-list .sub-module-link:not(.active):not(.locked){color:#9ca3af}#app-sidebar .sub-module-list .sub-module-link:not(.active):not(.locked):hover{color:#e5e7eb;background:#3741514d}#app-sidebar .sub-module-list .sub-module-link .sub-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-sidebar .sub-module-list .sub-module-link .soon-badge{font-size:8px;background:#374151;color:#9ca3af;padding:1px 4px;border-radius:3px}#app-sidebar .sub-module-list .sub-module-link .access-badge{flex-shrink:0}#app-sidebar .sidebar-bottom{border-top:1px solid #374151}#app-sidebar .lineage-section{padding:4px 8px}#app-sidebar .lineage-section .lineage-btn{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;color:#9ca3af;border-radius:4px;background:none;border:none;cursor:pointer;text-decoration:none;transition:all .15s}#app-sidebar .lineage-section .lineage-btn:hover{color:#e5e7eb;background:#3741514d}#app-sidebar .lineage-section .lineage-btn.active{background:#37415199;color:#fff;font-weight:600}#app-sidebar .admin-section .admin-header{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;background:none;border:none;color:inherit;cursor:pointer;transition:all .15s}#app-sidebar .admin-section .admin-header.collapsed-header{justify-content:center}#app-sidebar .admin-section .admin-header.active{color:#fff}#app-sidebar .admin-section .admin-header:not(.active){color:#6b7280}#app-sidebar .admin-section .admin-header:not(.active):hover{color:#d1d5db;background:#3741514d}#app-sidebar .admin-section .admin-header .admin-label{flex:1;text-align:left;font-weight:500}#app-sidebar .admin-section .admin-header .admin-chevron{transition:transform .15s}#app-sidebar .admin-section .admin-header .admin-chevron.collapsed-chevron{transform:rotate(-90deg)}#app-sidebar .admin-section .admin-links{margin-left:16px;border-left:1px solid #374151;padding-left:8px;padding-top:2px;padding-bottom:4px}#app-sidebar .admin-section .admin-links .admin-link{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:12px;text-decoration:none;transition:all .15s}#app-sidebar .admin-section .admin-links .admin-link.active{background:#37415199;color:#fff;font-weight:600}#app-sidebar .admin-section .admin-links .admin-link:not(.active){color:#9ca3af}#app-sidebar .admin-section .admin-links .admin-link:not(.active):hover{color:#e5e7eb;background:#3741514d}#app-sidebar .user-info{padding:8px 12px;font-size:10px;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-sidebar .user-info .user-role{color:#4b5563}#app-sidebar .logout-btn{width:100%;display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:12px;color:#6b7280;background:none;border:none;cursor:pointer;transition:all .15s}#app-sidebar .logout-btn.collapsed-logout{justify-content:center;padding-left:0;padding-right:0}#app-sidebar .logout-btn:hover{color:#fff;background:#37415180}#root-layout{height:100vh;display:flex;overflow:hidden}#root-layout .root-main{flex:1;min-width:0;overflow-y:auto;background:#fafafa}#root-layout .root-main::-webkit-scrollbar{width:4px}#root-layout .root-main::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#root-layout .root-main::-webkit-scrollbar-track{background:transparent}#login-page{display:flex;height:100vh}#login-page .login-branding{display:none;width:480px;background:#232323;flex-direction:column;justify-content:space-between;padding:40px;color:#fff;flex-shrink:0}@media(min-width:1024px){#login-page .login-branding{display:flex}}@media(min-width:1280px){#login-page .login-branding{width:540px}}#login-page .login-branding .brand-logo{height:40px;filter:brightness(0) invert(1);opacity:.9}#login-page .login-branding .brand-subtitle{margin-top:8px;font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:#9ca3af}#login-page .login-branding .features-list{margin-top:64px;display:flex;flex-direction:column;gap:32px}#login-page .login-branding .feature-item{display:flex;align-items:flex-start;gap:16px}#login-page .login-branding .feature-item .feature-icon{margin-top:2px;border-radius:8px;background:#ffffff1a;padding:10px;color:#d4343b;flex-shrink:0;display:flex;align-items:center;justify-content:center}#login-page .login-branding .feature-item .feature-title{font-size:14px;font-weight:600;color:#f3f4f6}#login-page .login-branding .feature-item .feature-desc{margin-top:2px;font-size:12px;color:#9ca3af;line-height:1.6}#login-page .login-branding .brand-copyright{font-size:10px;color:#4b5563}#login-page .login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;padding:0 24px}#login-page .login-form-panel .login-form-container{width:100%;max-width:380px}#login-page .login-form-panel .mobile-logo{display:none;margin-bottom:40px;text-align:center}@media(max-width:1023px){#login-page .login-form-panel .mobile-logo{display:block}}#login-page .login-form-panel .mobile-logo img{height:32px;margin:0 auto}#login-page .login-form-panel .login-form{margin-top:32px;display:flex;flex-direction:column;gap:20px}#login-page .login-form-panel .password-field{position:relative}#login-page .login-form-panel .password-field .password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#9ca3af;cursor:pointer;background:none;border:none;padding:4px;display:flex;align-items:center}#login-page .login-form-panel .password-field .password-toggle:hover{color:#6b7280}#loading-state{display:flex;justify-content:center;align-items:center;height:100%}#loading-state .molecule-loader{animation:rotate 6s linear infinite}#loading-state .bond{stroke:#b82228;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:60;stroke-dashoffset:60;filter:drop-shadow(0 0 3px rgba(184,34,40,.5))}#loading-state .bond-1{animation:draw 1.8s ease-in-out infinite}#loading-state .bond-2{animation:draw 1.8s ease-in-out .3s infinite}#loading-state .bond-3{animation:draw 1.8s ease-in-out .6s infinite}#loading-state .node{fill:#b82228;filter:drop-shadow(0 0 6px rgba(184,34,40,.7));transform-origin:center;transform-box:fill-box}#loading-state .node-1{animation:pulse 1.8s ease-in-out infinite}#loading-state .node-2{animation:pulse 1.8s ease-in-out .3s infinite}#loading-state .node-3{animation:pulse 1.8s ease-in-out .6s infinite}@keyframes draw{0%,to{stroke-dashoffset:60;opacity:.3}50%{stroke-dashoffset:0;opacity:1}}@keyframes pulse{0%,to{transform:scale(.75);opacity:.4}50%{transform:scale(1.125);opacity:1}}@keyframes rotate{to{transform:rotate(360deg)}}#admin-front-page{padding:24px;max-width:960px;margin:0 auto}#admin-front-page .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;margin-bottom:24px}@media(max-width:768px){#admin-front-page .stats-grid{grid-template-columns:repeat(2,1fr)}}#admin-front-page .stat-card{text-align:center;padding:16px}#admin-front-page .stat-card .stat-value{font-family:"Exo 2",system-ui,sans-serif;font-weight:800}#admin-front-page .stat-card .stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:4px}#admin-front-page .industry-card{overflow:hidden;margin-bottom:16px}#admin-front-page .industry-card .industry-header{display:flex;align-items:center;gap:12px;padding:16px 20px;text-decoration:none;color:inherit;transition:background-color .15s}#admin-front-page .industry-card .industry-header:hover{background:#00000005}#admin-front-page .industry-card .industry-header:hover .industry-name,#admin-front-page .industry-card .industry-header:hover .header-arrow{color:#b82228}#admin-front-page .industry-card .industry-header .industry-icon-box{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff;border:1px solid #e5e7eb}#admin-front-page .industry-card .industry-header .industry-icon-box img{width:24px;height:24px}#admin-front-page .industry-card .industry-header .industry-icon-box .fallback-icon{font-size:18px;color:#9ca3af}#admin-front-page .industry-card .industry-header .industry-info{flex:1;min-width:0}#admin-front-page .industry-card .industry-header .industry-name{font-weight:700;transition:color .15s}#admin-front-page .industry-card .industry-header .industry-meta{font-size:10px;color:#9ca3af}#admin-front-page .industry-card .industry-header .client-count-chip{font-size:10px;font-weight:600}#admin-front-page .industry-card .industry-header .header-arrow{color:#d1d5db;transition:color .15s}#admin-front-page .industry-card .client-row{display:flex;align-items:center;gap:16px;padding:12px 20px 12px 56px;text-decoration:none;color:inherit;transition:background-color .15s;border-top:1px solid rgba(0,0,0,.03)}#admin-front-page .industry-card .client-row:hover{background:#00000004}#admin-front-page .industry-card .client-row:hover .client-name,#admin-front-page .industry-card .client-row:hover .client-icon{color:#b82228}#admin-front-page .industry-card .client-row .client-icon{color:#9ca3af;flex-shrink:0;transition:color .15s}#admin-front-page .industry-card .client-row .client-info{flex:1;min-width:0}#admin-front-page .industry-card .client-row .client-name{font-weight:500;transition:color .15s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}#admin-front-page .industry-card .client-row .client-vc-count{font-size:10px;color:#9ca3af}#admin-front-page .industry-card .client-row .progress-bar-container{width:112px;flex-shrink:0}#admin-front-page .industry-card .client-row .progress-bar-container .progress-track{height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden}#admin-front-page .industry-card .client-row .progress-bar-container .progress-track .progress-fill{height:100%;border-radius:3px}#admin-front-page .industry-card .client-row .progress-value{font-size:10px;font-weight:600;width:48px;text-align:right}#admin-front-page .industry-card .client-row .status-chip{font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:capitalize}#admin-front-page .add-industry-btn{width:100%;border:2px dashed #e5e7eb;border-radius:14px;padding:16px;display:flex;align-items:center;justify-content:center;gap:8px;color:#9ca3af;background:none;cursor:pointer;transition:all .2s}#admin-front-page .add-industry-btn:hover{color:#b82228;border-color:#b822284d;background:#b8222805}#client-dashboard{padding:24px;max-width:960px;margin:0 auto}#client-dashboard .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0 24px}@media(max-width:768px){#client-dashboard .stats-grid{grid-template-columns:repeat(2,1fr)}}#client-dashboard .stat-card{text-align:center;padding:16px}#client-dashboard .stat-card .stat-value{font-family:"Exo 2",system-ui,sans-serif;font-weight:800}#client-dashboard .stat-card .stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:4px}#client-dashboard .stat-card .stat-sub{font-size:9px;color:#9ca3af;margin-top:2px}#client-dashboard .shortcuts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}@media(max-width:768px){#client-dashboard .shortcuts-grid{grid-template-columns:1fr}}#client-dashboard .shortcut-card{padding:16px;text-decoration:none;color:inherit;transition:all .2s;border-left-width:3px;border-left-style:solid}#client-dashboard .shortcut-card:hover .shortcut-icon,#client-dashboard .shortcut-card:hover .shortcut-label{color:#b82228}#client-dashboard .shortcut-card .shortcut-icon{color:#9ca3af;margin-bottom:8px;transition:color .15s}#client-dashboard .shortcut-card .shortcut-label{font-weight:700;transition:color .15s}#client-dashboard .shortcut-card .shortcut-sub{font-size:10px;color:#9ca3af;margin-top:4px}.add-to-project-popover{position:relative}.add-to-project-popover .trigger-btn{color:#9ca3af;padding:6px}.add-to-project-popover .trigger-btn:hover{background:#f3f4f6;color:#b82228}.add-to-project-popover .popover-dropdown{position:absolute;right:0;top:100%;margin-top:4px;z-index:50;width:256px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;overflow:hidden}.add-to-project-popover .popover-header{padding:8px 12px;border-bottom:1px solid #f3f4f6;background:#f9fafb}.add-to-project-popover .popover-header-text{font-weight:600;color:#4b5563}.add-to-project-popover .popover-list{max-height:208px;overflow-y:auto}.add-to-project-popover .popover-loading{display:flex;align-items:center;justify-content:center;padding:24px 0}.add-to-project-popover .popover-empty{padding:16px 12px;text-align:center;color:#6b7280}.add-to-project-popover .project-option{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;text-align:left;transition:background-color .15s;border:none;border-bottom:1px solid #f9fafb;background:none;cursor:pointer}.add-to-project-popover .project-option:last-child{border-bottom:none}.add-to-project-popover .project-option:hover:not(.already-added){background:#b822280d}.add-to-project-popover .project-option.already-added{background:#f9fafb;cursor:default}.add-to-project-popover .project-info{flex:1;min-width:0}.add-to-project-popover .project-name{font-size:12px;font-weight:500;color:#2d2d2d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-to-project-popover .project-vc-count{font-size:10px;color:#9ca3af}.add-to-project-popover .project-status{flex-shrink:0;margin-left:8px}.add-to-project-popover .added-badge{font-size:10px;font-weight:600;color:#16a34a;background:#f0fdf4;padding:2px 6px;border-radius:4px}.add-to-project-popover .check-icon{font-size:18px;color:#22c55e}.add-to-project-popover .adding-spinner{color:#b82228}.add-to-project-popover .add-icon{font-size:18px;color:#d1d5db}#catalog-page{height:100%;overflow-y:auto}#catalog-page::-webkit-scrollbar{width:4px}#catalog-page::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#catalog-page::-webkit-scrollbar-track{background:transparent}#catalog-page .catalog-content{max-width:960px;margin:0 auto;padding:16px 24px}#catalog-page .breadcrumb{font-size:14px;color:#6b7280;margin-bottom:16px}#catalog-page .breadcrumb a{color:inherit;text-decoration:none;transition:color .15s}#catalog-page .breadcrumb a:hover{color:#b82228}#catalog-page .breadcrumb .separator{margin:0 6px}#catalog-page .breadcrumb .current{font-weight:500;color:#2d2d2d}#catalog-page .filter-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px}#catalog-page .priority-toggle{display:flex;border-radius:6px;overflow:hidden;border:1px solid #e5e7eb}#catalog-page .priority-toggle .priority-btn{padding:5px 10px;font-size:.75rem;font-weight:500;border:none;cursor:pointer;transition:all .15s;background:#fff;color:#4b5563;border-right:1px solid #e5e7eb}#catalog-page .priority-toggle .priority-btn:last-child{border-right:none}#catalog-page .priority-toggle .priority-btn:hover:not([class*=active]){background:#f9fafb}#catalog-page .priority-toggle .priority-btn.active-all{background:#b82228;color:#fff}#catalog-page .priority-toggle .priority-btn.active-high{background:#dc2626;color:#fff}#catalog-page .priority-toggle .priority-btn.active-medium{background:#d97706;color:#fff}#catalog-page .priority-toggle .priority-btn.active-low{background:#6b7280;color:#fff}#catalog-page .priority-toggle .priority-btn .count{margin-left:3px;font-size:.625rem;opacity:.8}#catalog-page .result-summary{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}#catalog-page .filter-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:16px;background:#b822281a;color:#b82228;font-size:12px;font-weight:500;border:none;cursor:pointer;transition:background-color .15s}#catalog-page .filter-chip:hover{background:#b8222833}#catalog-page .domain-group{margin-bottom:12px}#catalog-page .domain-group .domain-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border:none;background:none;cursor:pointer;transition:background-color .15s}#catalog-page .domain-group .domain-header:hover{background:#f9fafb}#catalog-page .domain-group .domain-header .domain-left{display:flex;align-items:center;gap:10px}#catalog-page .domain-group .domain-header .domain-color-dot{width:12px;height:12px;border-radius:2px;flex-shrink:0}#catalog-page .domain-group .domain-header .domain-count{font-family:"Exo 2",system-ui,sans-serif;font-size:12px;color:#6b7280}#catalog-page .domain-group .domain-header .expand-hint{font-size:12px;color:#6b7280}#catalog-page .vc-table{width:100%;font-size:14px;border-collapse:collapse}#catalog-page .vc-table thead tr{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;background:#f9fafbb3}#catalog-page .vc-table thead th{padding:8px}#catalog-page .vc-table thead th:first-child{padding-left:20px}#catalog-page .vc-table thead th:last-child{padding-right:20px}#catalog-page .vc-table tbody tr{border-top:1px solid #f9fafb;transition:background-color .15s}#catalog-page .vc-table tbody tr:hover{background:#f9fafb99}#catalog-page .vc-table tbody tr:hover .vc-name{color:#b82228}#catalog-page .vc-table tbody td{padding:10px 8px}#catalog-page .vc-table tbody td:first-child{padding-left:20px}#catalog-page .vc-table tbody td:last-child{padding-right:20px}#catalog-page .vc-table .vc-id{font-family:"Exo 2",system-ui,sans-serif;font-size:12px;color:#b82228;font-weight:600}#catalog-page .vc-table .vc-name{font-size:14px;font-weight:500;color:#2d2d2d;text-decoration:none;transition:color .15s}#catalog-page .vc-table .verified-icon{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;margin-right:6px}#catalog-page .vc-table .verified-icon.verified{background:#dcfce7;color:#15803d}#catalog-page .vc-table .verified-icon.unverified{background:#f3f4f6;color:#9ca3af}#catalog-page .vc-table .badge-high{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px;background:#fef2f2;color:#dc2626}#catalog-page .vc-table .badge-medium{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px;background:#fffbeb;color:#d97706}#catalog-page .vc-table .badge-detailed{font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px;background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}#vc-detail-page{height:100%;overflow-y:auto}#vc-detail-page::-webkit-scrollbar{width:4px}#vc-detail-page::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#vc-detail-page::-webkit-scrollbar-track{background:transparent}#vc-detail-page .breadcrumb-bar{background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 32px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between}#vc-detail-page .breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:#9ca3af}#vc-detail-page .breadcrumb a{display:flex;align-items:center;gap:4px;text-decoration:none;color:inherit;transition:color .15s}#vc-detail-page .breadcrumb a:hover{color:#b82228}#vc-detail-page .edit-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;border:none;cursor:pointer;transition:all .15s}#vc-detail-page .edit-toggle-btn.active{background:#b82228;color:#fff}#vc-detail-page .edit-toggle-btn.inactive{background:#f3f4f6;color:#4b5563}#vc-detail-page .edit-toggle-btn.inactive:hover{background:#e5e7eb}#vc-detail-page .vc-header{max-width:960px;margin:0 auto;padding:16px 32px 8px}#vc-detail-page .vc-header .header-row{display:flex;align-items:flex-start;justify-content:space-between}#vc-detail-page .vc-header .vc-id-code{font-family:JetBrains Mono,monospace;color:#b82228;font-weight:700;font-size:14px}#vc-detail-page .vc-header .vc-title{font-size:18px;font-weight:800;color:#2d2d2d;margin-top:2px}#vc-detail-page .vc-header .badges{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap;justify-content:flex-end}#vc-detail-page .badge{font-size:10px;font-weight:600;padding:4px 10px;border-radius:4px;border:1px solid}#vc-detail-page .badge.verified{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}#vc-detail-page .badge.draft{background:#f9fafb;color:#6b7280;border-color:#e5e7eb}#vc-detail-page .badge.priority-high{background:#fef2f2;color:#b91c1c;border-color:#fecaca}#vc-detail-page .badge.priority-medium{background:#fffbeb;color:#b45309;border-color:#fde68a}#vc-detail-page .badge.priority-low{background:#f9fafb;color:#6b7280;border-color:#e5e7eb}#vc-detail-page .vc-content{max-width:960px;margin:0 auto;padding:24px 32px;display:flex;flex-direction:column;gap:32px}#vc-detail-page .section-heading{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-bottom:8px}#vc-detail-page .edit-section{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:20px}#vc-detail-page .edit-section .edit-title{font-size:14px;font-weight:700;color:#b45309;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px}#vc-detail-page .edit-section .edit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}#vc-detail-page .edit-section .edit-grid .col-span-2{grid-column:span 2}#vc-detail-page .field-label{font-size:12px;font-weight:600;color:#4b5563;display:block;margin-bottom:4px}#vc-detail-page .field-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit}#vc-detail-page .field-input:focus{outline:none;border-color:#b82228}#vc-detail-page .field-select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff;font-family:inherit}#vc-detail-page .field-textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;resize:vertical;font-family:inherit}#vc-detail-page .field-textarea:focus{outline:none;border-color:#b82228}#vc-detail-page .save-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#b82228;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s}#vc-detail-page .save-btn:hover{background:#8b1a1f}#vc-detail-page .save-btn:disabled{opacity:.5}#vc-detail-page .complexity-box{margin-top:12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:10px 16px;font-size:12px;color:#4b5563}#vc-detail-page .rules-section{background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;padding:20px;overflow:visible}#vc-detail-page .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}#vc-detail-page .add-btn{display:flex;align-items:center;gap:4px;font-size:12px;color:#16a34a;font-weight:500;border:none;background:none;cursor:pointer}#vc-detail-page .add-btn:hover{color:#15803d}#vc-detail-page .save-all-btn{display:flex;align-items:center;gap:4px;font-size:12px;background:#b82228;color:#fff;padding:4px 12px;border-radius:4px;border:none;cursor:pointer}#vc-detail-page .save-all-btn:disabled{opacity:.5}#vc-detail-page .rule-item{padding:12px 0;border-top:1px solid #e5e7eb;overflow-wrap:anywhere;word-break:break-word}#vc-detail-page .rule-item:first-of-type{border-top:none;padding-top:0}#vc-detail-page .rule-item:last-of-type{padding-bottom:0}#vc-detail-page .rule-value-badge{font-size:12px;color:#1d4ed8;background:#fff;padding:6px 12px;border-radius:4px;border:1px solid #dbeafe;font-family:JetBrains Mono,monospace;white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;display:block;max-width:100%;line-height:1.6}#vc-detail-page .badge-configurable{font-size:9px;font-weight:700;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}#vc-detail-page .config-path{font-size:10px;color:#9ca3af;font-family:JetBrains Mono,monospace;background:#f3f4f6;padding:2px 8px;border-radius:4px;margin-top:6px;display:inline-block;word-break:break-word;overflow-wrap:anywhere;max-width:100%}#vc-detail-page .metric-item{display:flex;align-items:center;gap:8px;border-left:3px solid #22c55e;padding:4px 0 4px 12px}#vc-detail-page .measure-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px}#vc-detail-page .measure-name{font-family:"Exo 2",system-ui,sans-serif;font-size:15px;color:#0f766e;font-weight:600;letter-spacing:-.01em}#vc-detail-page .measure-type{font-family:"Exo 2",system-ui,sans-serif;font-size:11px;color:#6b7280;font-weight:500;letter-spacing:.01em;background:#f3f4f6;padding:2px 10px;border-radius:10px;white-space:nowrap}#vc-detail-page .measure-dax{font-family:JetBrains Mono,monospace;font-size:12px;color:#1f2937;background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:8px 10px;margin:0;white-space:pre-wrap;line-height:1.6;overflow-wrap:break-word}#vc-detail-page .schema-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:768px){#vc-detail-page .schema-grid{grid-template-columns:1fr}}#vc-detail-page .fact-dot{width:10px;height:10px;border-radius:2px;background:#2563eb}#vc-detail-page .dim-dot{width:10px;height:10px;border-radius:2px;background:#16a34a}#vc-detail-page .schema-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0 6px 12px}#vc-detail-page .schema-item.fact{border-left:3px solid #2563eb}#vc-detail-page .schema-item.dim{border-left:3px solid #16a34a}#vc-detail-page .schema-item .table-code{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;color:#2d2d2d}#vc-detail-page .questions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(max-width:768px){#vc-detail-page .questions-grid{grid-template-columns:1fr}}#vc-detail-page .question-category{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#b82228;margin-bottom:12px}#vc-detail-page .question-item{display:flex;gap:8px;margin-bottom:12px}#vc-detail-page .question-item .q-num{color:#b82228;font-size:12px;font-weight:700;flex-shrink:0;margin-top:2px}#vc-detail-page .question-item .q-text{font-size:12px;color:#374151;line-height:1.6}#vc-detail-page .guide-toggle{font-size:10px;color:#7c3aed;font-weight:500;display:flex;align-items:center;gap:4px;border:none;background:none;cursor:pointer;margin-left:20px;margin-top:4px}#vc-detail-page .guide-toggle:hover{color:#6d28d9}#vc-detail-page .guide-content{margin-top:6px;padding-left:12px;border-left:2px solid #e9d5ff;padding-top:4px;padding-bottom:4px;display:flex;flex-direction:column;gap:8px;margin-left:20px}#vc-detail-page .guide-label{font-size:10px;font-weight:600;text-transform:uppercase;display:block;margin-bottom:2px}#vc-detail-page .guide-label.instruction{color:#7c3aed}#vc-detail-page .guide-label.expected{color:#16a34a}#vc-detail-page .guide-label.if-missing{color:#d97706}#vc-detail-page .guide-text{font-size:11px;color:#4b5563;line-height:1.6}#vc-detail-page .edit-input-sm,#vc-detail-page .edit-input-mono{width:100%;padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px;font-family:inherit}#vc-detail-page .edit-input-sm:focus,#vc-detail-page .edit-input-mono:focus{outline:none;border-color:#b82228}#vc-detail-page .edit-input-mono{font-family:JetBrains Mono,monospace}#vc-detail-page .edit-input-dark{padding:6px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#0f766e;font-family:"Exo 2",system-ui,sans-serif;font-size:15px;font-weight:600;width:100%;line-height:1.4}#vc-detail-page .edit-input-dark:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}#vc-detail-page .format-select{padding:6px 28px 6px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#1f2937;font-family:"Exo 2",system-ui,sans-serif;font-size:12px;font-weight:500;line-height:1.4;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='%236b7280' d='M3 4.5l3 3 3-3'/></svg>");background-repeat:no-repeat;background-position:right 8px center;background-size:12px}#vc-detail-page .format-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}#vc-detail-page .edit-textarea-dark{width:100%;padding:8px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;color:#1f2937;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6;min-height:48px;field-sizing:content;resize:vertical;overflow-wrap:break-word}#vc-detail-page .edit-textarea-dark:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}#vc-detail-page .activation-section{border-radius:8px;border-width:2px;border-style:solid;padding:20px}#vc-detail-page .activation-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:768px){#vc-detail-page .activation-actions-grid{grid-template-columns:1fr}}#vc-detail-page .dep-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:6px;font-size:12px;text-decoration:none;border:1px solid;transition:border-color .15s}#vc-detail-page .dep-chip.requires{background:#fef2f2;border-color:#fecaca}#vc-detail-page .dep-chip.requires:hover{border-color:#f87171}#vc-detail-page .dep-chip.enhances{background:#eff6ff;border-color:#bfdbfe}#vc-detail-page .dep-chip.enhances:hover{border-color:#60a5fa}#vc-detail-page .dep-chip.shares{background:#f9fafb;border-color:#e5e7eb}#vc-detail-page .dep-chip.shares:hover{border-color:#9ca3af}#vc-detail-page .dep-chip .dep-type{font-size:9px;text-transform:uppercase;font-weight:600}#vc-detail-page .dep-chip .dep-id{font-family:JetBrains Mono,monospace;color:#b82228;font-weight:600}#vc-detail-page .client-data-section{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:20px}#vc-detail-page .data-table-chip{background:#fff;border:1px solid #bfdbfe;border-radius:6px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:12px;color:#1e40af}#vc-detail-page .stats-footer{display:grid;gap:12px;padding-top:16px;border-top:1px solid #e5e7eb}#vc-detail-page .stats-footer.admin{grid-template-columns:repeat(6,1fr)}@media(max-width:768px){#vc-detail-page .stats-footer.admin{grid-template-columns:repeat(3,1fr)}}#vc-detail-page .stats-footer.client{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){#vc-detail-page .stats-footer.client{grid-template-columns:repeat(2,1fr)}}#vc-detail-page .footer-stat{text-align:center;padding:10px;border-radius:8px}#vc-detail-page .footer-stat .footer-stat-value{font-family:"Exo 2",system-ui,sans-serif;font-size:20px;font-weight:800;color:#2d2d2d}#vc-detail-page .footer-stat .footer-stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}#vc-detail-page .entity-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:6px 12px;border-radius:6px;background:#f3f4f6;border:1px solid #e5e7eb;color:#374151}#vc-detail-page .add-form{margin-top:12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px}#vc-detail-page .add-form-title{font-size:12px;font-weight:600;color:#15803d;margin-bottom:4px}#vc-detail-page .add-form-actions{display:flex;gap:8px;justify-content:flex-end}#vc-detail-page .cancel-btn{font-size:12px;color:#6b7280;border:none;background:none;cursor:pointer;padding:4px 12px}#vc-detail-page .cancel-btn:hover{color:#374151}#vc-detail-page .green-submit-btn{display:flex;align-items:center;gap:4px;font-size:12px;background:#16a34a;color:#fff;padding:4px 12px;border-radius:4px;border:none;cursor:pointer}#vc-detail-page .green-submit-btn:hover{background:#15803d}#vc-detail-page .green-submit-btn:disabled{opacity:.5}#vc-detail-page .delete-btn{color:#f87171;border:none;background:none;cursor:pointer;padding:4px}#vc-detail-page .delete-btn:hover{color:#dc2626}#vc-detail-page .collapse-toggle{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;display:flex;align-items:center;gap:4px;border:none;background:none;cursor:pointer;transition:color .15s}#vc-detail-page .collapse-toggle:hover{color:#b82228}#vc-detail-page .edit-guide-area{margin-left:20px;background:#f9fafb;border-radius:6px;padding:8px;display:flex;flex-direction:column;gap:4px}#vc-detail-page .empty-section{padding:16px 0;text-align:center;color:#9ca3af;font-size:14px}#data-model-diagram{display:flex;flex-direction:column;gap:16px}#data-model-diagram .zoom-controls{display:flex;align-items:center;gap:8px}#data-model-diagram .zoom-controls .zoom-btn{border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#4b5563}#data-model-diagram .zoom-controls .zoom-btn:hover{background:#f9fafb}#data-model-diagram .zoom-controls .zoom-label{font-family:JetBrains Mono,monospace;width:48px;text-align:center;color:#6b7280}#data-model-diagram .diagram-container{border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:auto;max-height:600px}#data-model-diagram .export-btn{align-self:flex-start;text-transform:none;font-size:12px;color:#374151;border-color:#d1d5db;background:#f3f4f6}#data-model-diagram .export-btn:hover{background:#e5e7eb}#schema-page{padding:24px;max-width:1152px;margin:0 auto}#schema-page .schema-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}#schema-page .schema-header .header-right{display:flex;align-items:center;gap:12px}#schema-page .view-toggle{display:flex;background:#f3f4f6;border-radius:6px;padding:2px}#schema-page .view-toggle .toggle-btn{padding:6px 12px;border-radius:4px;font-size:.75rem;font-weight:500;border:none;cursor:pointer;transition:all .15s;background:transparent;color:#8a8f96}#schema-page .view-toggle .toggle-btn.active{background:#fff;color:#2d2d2d;box-shadow:0 1px 2px #0000000d}#schema-page .search-wrapper{position:relative;max-width:400px;margin-bottom:20px}#schema-page .search-wrapper .search-icon{position:absolute;left:12px;top:10px;color:#8a8f96}#schema-page .type-section{margin-bottom:24px}#schema-page .type-section .type-heading{font-size:.875rem;font-weight:700;color:#2d2d2d;margin-bottom:12px;display:flex;align-items:center;gap:8px}#schema-page .type-section .type-heading .type-dot{width:12px;height:12px;border-radius:4px}#schema-page .table-list{display:flex;flex-direction:column;gap:8px}#schema-page .table-card{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;border-left:4px solid}#schema-page .table-card .table-header{display:flex;align-items:center}#schema-page .table-card .table-header .table-toggle{flex:1;text-align:left;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border:none;background:none;cursor:pointer;transition:background .15s}#schema-page .table-card .table-header .table-toggle:hover{background:#f9fafb}#schema-page .table-card .table-header .table-toggle .table-left{display:flex;align-items:center;gap:12px}#schema-page .table-card .table-header .table-toggle .table-left code{font-size:.75rem;font-family:JetBrains Mono,monospace;font-weight:600;color:#2d2d2d}#schema-page .table-card .table-header .table-toggle .table-left span{font-size:.75rem;color:#8a8f96}#schema-page .table-card .table-header .table-toggle .table-meta{display:flex;align-items:center;gap:12px;font-size:10px;color:#8a8f96}#schema-page .table-card .table-header .table-toggle .table-meta .type-badge{font-weight:600}#schema-page .table-card .table-header .edit-btn{padding:12px;border:none;background:none;cursor:pointer;color:#9ca3af;transition:color .15s}#schema-page .table-card .table-header .edit-btn:hover{color:#b82228}#schema-page .table-card .edit-panel{border-top:1px solid #fde68a;background:#fef3c74d;padding:12px 16px}#schema-page .table-card .edit-panel .edit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}#schema-page .table-card .edit-panel .edit-actions{display:flex;justify-content:space-between;gap:8px}#schema-page .table-card .desc-bar{padding:8px 16px;background:#f9fafb;font-size:.75rem;color:#8a8f96}#schema-page .table-card .attr-table{width:100%;font-size:.75rem;border-collapse:collapse}#schema-page .table-card .attr-table thead tr{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#fff}#schema-page .table-card .attr-table thead tr th{padding:8px 16px}#schema-page .table-card .attr-table tbody tr{border-top:1px solid #f9fafb}#schema-page .table-card .attr-table tbody tr:hover{background:#f9fafb80}#schema-page .table-card .attr-table tbody tr.match-row{background:#fefce8}#schema-page .table-card .attr-table tbody tr.edit-row{background:#eff6ff80}#schema-page .table-card .attr-table tbody td{padding:8px 16px}#schema-page .table-card .add-attr-section{padding:8px 16px;border-top:1px solid #f3f4f6}#schema-page .table-card .add-attr-form{padding:12px 16px;border-top:1px solid #f3f4f6;background:#f0fdf44d}#schema-page .table-card .add-attr-form .form-label{font-size:10px;color:#8a8f96;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}#schema-page .table-card .add-attr-form .form-grid{display:grid;grid-template-columns:1fr 120px 1fr 1fr 60px;gap:8px;margin-bottom:8px}#schema-page .create-form{margin-bottom:20px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}#schema-page .create-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px}#schema-page .column-grid-header{display:grid;grid-template-columns:1fr 120px 1fr 1fr 60px 32px;gap:8px;font-size:10px;color:#8a8f96;text-transform:uppercase;letter-spacing:.05em;font-weight:600;padding:0 4px}#schema-page .column-grid-row{display:grid;grid-template-columns:1fr 120px 1fr 1fr 60px 32px;gap:8px}#schema-page .entity-section{margin-top:40px}#schema-page .entity-section .entity-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}#schema-page .entity-section .entity-table{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}#schema-page .entity-section .entity-table table{width:100%;font-size:.75rem;border-collapse:collapse}#schema-page .entity-section .entity-table table thead tr{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#8a8f96;background:#f9fafb;border-bottom:1px solid #e5e7eb}#schema-page .entity-section .entity-table table thead tr th{padding:10px 16px}#schema-page .entity-section .entity-table table tbody tr{border-top:1px solid #f3f4f6}#schema-page .entity-section .entity-table table tbody tr:hover{background:#f9fafb80}#schema-page .entity-section .entity-table table tbody tr.edit-row{background:#eff6ff80}#schema-page .entity-section .entity-table table tbody td{padding:8px 16px}#schema-page .entity-form{margin-bottom:16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}#schema-page .entity-form .form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}#schema-page .field-label{font-size:10px;color:#8a8f96;display:block;margin-bottom:4px}#schema-page .derived-badge{margin-left:4px;font-size:9px;color:#f59e0b;font-weight:600}#projects-page{padding:24px;max-width:900px;margin:0 auto}#projects-page .projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(max-width:768px){#projects-page .projects-grid{grid-template-columns:1fr}}#projects-page .project-card{padding:20px;text-decoration:none;color:inherit;transition:all .2s;border-left-width:3px;border-left-style:solid}#projects-page .project-card:hover .project-name{color:#b82228}#projects-page .project-card .project-name{font-weight:700;transition:color .15s}#projects-page .project-card .project-date{font-size:10px;color:#9ca3af;margin-top:2px}#projects-page .project-card .status-chip{font-size:9px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:capitalize}#projects-page .project-card .metrics-row{display:flex;gap:16px;margin:12px 0}#projects-page .project-card .metric .metric-label{font-size:9px;color:#9ca3af;text-transform:uppercase;font-weight:600}#projects-page .project-card .metric .metric-value{font-family:"Exo 2",system-ui,sans-serif;font-weight:800}#projects-page .project-card .progress-bar{height:4px;background:#f3f4f6;border-radius:2px;overflow:hidden}#projects-page .project-card .progress-bar .progress-fill{height:100%;border-radius:2px;transition:width .3s ease}#projects-page .empty-state{text-align:center;padding:80px 0}#projects-page .create-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:12px}#projects-page .create-preview .preview-label{font-size:10px;color:#9ca3af;text-transform:uppercase;font-weight:600;margin-bottom:4px}#projects-page .create-preview .new-client-hint{font-size:10px;color:#2563eb;margin-top:4px}#project-detail-page{padding:24px;max-width:960px;margin:0 auto}#project-detail-page .back-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#6b7280;text-decoration:none;margin-bottom:16px;transition:color .15s}#project-detail-page .back-link:hover{color:#b82228}#project-detail-page .back-link .back-icon{font-size:14px}#project-detail-page .not-found{text-align:center;padding:80px 0;color:#6b7280}#project-detail-page .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}#project-detail-page .stat-card{text-align:center;padding:16px;border-radius:12px}#project-detail-page .stat-card .stat-value{font-family:"Exo 2",system-ui,sans-serif;font-size:24px;font-weight:800;color:#2d2d2d}#project-detail-page .stat-card .stat-value.status-discovery{color:#d97706}#project-detail-page .stat-card .stat-value.status-active{color:#2563eb}#project-detail-page .stat-card .stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-top:2px}#project-detail-page .section-spacing{display:flex;flex-direction:column;gap:24px}#project-detail-page .phase-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}#project-detail-page .phase-title-row{display:flex;align-items:center;gap:8px}#project-detail-page .phase-marker{width:4px;height:20px;border-radius:4px;background:#b82228}#project-detail-page .phase-name{font-size:12px;font-weight:700;color:#2d2d2d}#project-detail-page .phase-current-chip{font-size:9px;background:#b822281a;color:#b82228;padding:2px 6px;border-radius:12px;font-weight:500}#project-detail-page .phase-progress{display:flex;align-items:center;gap:8px;width:96px}#project-detail-page .progress-track{flex:1;background:#e5e7eb;border-radius:8px;height:6px;overflow:hidden}#project-detail-page .progress-fill{border-radius:8px;height:6px;background:#b82228}#project-detail-page .progress-fill.complete{background:#22c55e}#project-detail-page .progress-label{font-size:10px;font-weight:600;color:#2d2d2d}#project-detail-page .vc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}@media(max-width:1024px){#project-detail-page .vc-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){#project-detail-page .vc-grid{grid-template-columns:1fr}}#project-detail-page .vc-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;overflow:hidden;transition:all .2s;border-radius:8px}#project-detail-page .vc-card:hover{box-shadow:0 4px 6px #00000012;border-color:#d1d5db}#project-detail-page .vc-card:hover .vc-name{color:#b82228}#project-detail-page .vc-color-bar{height:4px;width:100%}#project-detail-page .vc-card-body{padding:12px;display:flex;flex-direction:column;flex:1}#project-detail-page .vc-id{font-family:JetBrains Mono,monospace;font-size:10px;color:#b82228;font-weight:600;display:block}#project-detail-page .vc-name{font-size:12px;font-weight:500;color:#2d2d2d;line-height:1.4;transition:color .15s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#project-detail-page .vc-domain{font-size:10px;color:#9ca3af;margin-bottom:4px}#project-detail-page .vc-progress-row{display:flex;align-items:center;gap:8px;margin-top:8px;margin-bottom:4px}#project-detail-page .vc-progress-track{flex:1;background:#f3f4f6;border-radius:8px;height:6px;overflow:hidden}#project-detail-page .vc-progress-fill{height:6px;border-radius:8px;background:#b82228}#project-detail-page .vc-progress-fill.complete{background:#22c55e}#project-detail-page .vc-progress-count{font-family:JetBrains Mono,monospace;font-size:10px;color:#6b7280}#project-detail-page .move-section{margin-top:8px}#project-detail-page .move-targets{display:flex;flex-wrap:wrap;gap:4px}#project-detail-page .move-label{font-size:9px;color:#6b7280;width:100%;margin-bottom:4px}#project-detail-page .move-btn{font-size:9px;padding:4px 8px;border-radius:4px;border:1px solid #bfdbfe;background:#eff6ff;color:#2563eb;cursor:pointer}#project-detail-page .move-btn:hover{background:#dbeafe}#project-detail-page .move-cancel{font-size:9px;padding:4px 8px;border-radius:4px;border:none;background:none;color:#6b7280;cursor:pointer}#project-detail-page .move-cancel:hover{color:#374151}#project-detail-page .move-trigger{font-size:9px;color:#9ca3af;border:none;background:none;cursor:pointer;padding:0;transition:color .15s}#project-detail-page .move-trigger:hover{color:#b82228}#project-detail-page .empty-phase{padding:16px;text-align:center;font-size:12px;color:#9ca3af}#project-detail-page .action-review{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;text-decoration:none;background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0;transition:background-color .15s}#project-detail-page .action-review:hover{background:#dcfce7}#project-detail-page .action-continue{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;text-decoration:none;background:#fffbeb;color:#b45309;border:1px solid #fde68a;transition:background-color .15s}#project-detail-page .action-continue:hover{background:#fef3c7}#project-detail-page .action-start{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;background:#b82228;color:#fff;transition:background-color .15s}#project-detail-page .action-start:hover{background:#b82228e6}#project-detail-page .discovery-header{display:flex;align-items:center;justify-content:space-between}#project-detail-page .discovery-progress{margin-bottom:24px}#project-detail-page .progress-bar-full{width:100%;height:8px;background:#f3f4f6;border-radius:8px;overflow:hidden}#project-detail-page .progress-bar-full .progress-fill-full{height:8px;border-radius:8px;background:#b82228;transition:width .3s}#project-detail-page .answer-card{padding:16px;border-radius:8px}#project-detail-page .answer-card .answer-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}#project-detail-page .answer-card .category-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#b82228;margin-right:8px}#project-detail-page .status-btn-group{display:flex;gap:8px;margin-top:8px}#project-detail-page .status-btn{font-size:10px;padding:2px 8px;border-radius:4px;border:none;cursor:pointer;text-transform:capitalize;transition:all .15s;background:#f9fafb;color:#6b7280}#project-detail-page .status-btn:hover{background:#f3f4f6}#project-detail-page .status-btn.active-answered{background:#dcfce7;color:#15803d;font-weight:600}#project-detail-page .status-btn.active-confirmed{background:#dbeafe;color:#2563eb;font-weight:600}#project-detail-page .status-btn.active-needs_clarification{background:#fef3c7;color:#b45309;font-weight:600}#project-detail-page .status-btn.active-unanswered{background:#e5e7eb;color:#4b5563;font-weight:600}#project-detail-page .client-answer-box{margin-bottom:8px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:8px 12px}#project-detail-page .feedback-box{margin-top:8px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:8px 12px}#project-detail-page .data-model-header{margin-bottom:24px}#project-detail-page .coverage-card{padding:16px;border-radius:8px}#project-detail-page .gap-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}#project-detail-page .gap-card{text-align:center;padding:16px;border-radius:8px}#project-detail-page .gap-card.matched{background:#f0fdf4;border:1px solid #bbf7d0}#project-detail-page .gap-card.missing{background:#fef2f2;border:1px solid #fecaca}#project-detail-page .gap-card.extra{background:#eff6ff;border:1px solid #bfdbfe}#project-detail-page .gap-card .gap-value{font-family:"Exo 2",system-ui,sans-serif;font-size:24px;font-weight:800}#project-detail-page .gap-card .gap-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}#project-detail-page .table-list-heading{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}#project-detail-page .table-list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}#project-detail-page .table-chip{padding:8px 12px;border-radius:6px;font-size:12px;font-family:JetBrains Mono,monospace;border:1px solid}#project-detail-page .table-chip.matched{background:#f0fdf4;border-color:#bbf7d0;color:#166534}#project-detail-page .table-chip.missing{background:#fef2f2;border-color:#fecaca;color:#991b1b}#project-detail-page .table-chip.extra{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}#project-detail-page .expandable-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;border-left-width:4px}#project-detail-page .expandable-table.fact{border-left-color:#2563eb}#project-detail-page .expandable-table.dimension{border-left-color:#16a34a}#project-detail-page .expandable-header{width:100%;text-align:left;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border:none;background:none;cursor:pointer;transition:background-color .15s}#project-detail-page .expandable-header:hover{background:#f9fafb}#project-detail-page .expandable-header .table-code{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;color:#2d2d2d}#project-detail-page .expandable-header .table-name{font-size:12px;color:#6b7280;margin-left:8px}#project-detail-page .expandable-header .column-count{font-size:10px;color:#9ca3af}#project-detail-page .attributes-table{width:100%;font-size:12px;border-collapse:collapse;border-top:1px solid #f3f4f6}#project-detail-page .attributes-table thead tr{text-transform:uppercase;letter-spacing:.05em;font-size:10px;color:#fff}#project-detail-page .attributes-table thead tr.fact-header{background:#2563eb}#project-detail-page .attributes-table thead tr.dim-header{background:#16a34a}#project-detail-page .attributes-table thead tr th{padding:6px 16px;text-align:left}#project-detail-page .attributes-table tbody tr{border-bottom:1px solid #f9fafb}#project-detail-page .attributes-table tbody tr td{padding:6px 16px;font-family:JetBrains Mono,monospace}#project-detail-page .attributes-table tbody tr td:nth-child(2),#project-detail-page .attributes-table tbody tr td:nth-child(3){font-family:inherit;color:#6b7280}#project-detail-page .parser-open-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#b82228;color:#fff;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;transition:background-color .15s}#project-detail-page .parser-open-btn:hover{background:#b82228e6}#ai-assistant-panel{display:flex;flex-direction:column;height:100%;background:#fff}#ai-assistant-panel .assistant-header{padding:12px 16px;border-bottom:1px solid #e5e7eb;background:linear-gradient(to right,#eff6ff,#eef2ff);flex-shrink:0}#ai-assistant-panel .assistant-header .header-title{display:flex;align-items:center;gap:8px}#ai-assistant-panel .assistant-header .bot-icon{font-size:16px;color:#b82228}#ai-assistant-panel .assistant-header .header-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#b82228}#ai-assistant-panel .assistant-header .header-context{font-size:10px;color:#6b7280;margin-top:2px}#ai-assistant-panel .messages-area{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:12px;min-height:0}#ai-assistant-panel .messages-area::-webkit-scrollbar{width:4px}#ai-assistant-panel .messages-area::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#ai-assistant-panel .messages-area::-webkit-scrollbar-track{background:transparent}#ai-assistant-panel .empty-chat{text-align:center;padding:32px 0}#ai-assistant-panel .empty-chat .empty-icon{font-size:24px;color:#d1d5db;margin-bottom:8px}#ai-assistant-panel .empty-chat .empty-text{color:#9ca3af;display:block}#ai-assistant-panel .suggestion-starters{margin-top:16px;display:flex;flex-direction:column;gap:8px}#ai-assistant-panel .starter-btn{display:block;width:100%;text-align:left;font-size:11px;color:#6b7280;padding:6px 12px;border-radius:6px;border:none;background:none;cursor:pointer;transition:all .15s}#ai-assistant-panel .starter-btn:hover{color:#b82228;background:#b822280d}#ai-assistant-panel .starter-btn .starter-icon{font-size:10px;display:inline;margin-right:6px;vertical-align:middle;opacity:.5}#ai-assistant-panel .user-message-row{display:flex;justify-content:flex-end}#ai-assistant-panel .user-bubble{background:#b82228;color:#fff;font-size:12px;padding:8px 12px;border-radius:8px 8px 2px;max-width:90%}#ai-assistant-panel .assistant-bubble{background:#f9fafb;border:1px solid #f3f4f6;font-size:12px;padding:10px 12px;border-radius:8px 8px 8px 2px;max-width:100%}#ai-assistant-panel .markdown-content{font-size:12px;color:#374151;line-height:1.6}#ai-assistant-panel .markdown-content h1,#ai-assistant-panel .markdown-content h2,#ai-assistant-panel .markdown-content h3,#ai-assistant-panel .markdown-content h4,#ai-assistant-panel .markdown-content h5,#ai-assistant-panel .markdown-content h6{font-size:12px;font-weight:700;margin-top:12px;margin-bottom:4px}#ai-assistant-panel .markdown-content p{font-size:12px;line-height:1.6;margin:4px 0}#ai-assistant-panel .markdown-content li{font-size:12px;margin:2px 0}#ai-assistant-panel .markdown-content ul,#ai-assistant-panel .markdown-content ol{margin:4px 0;padding-left:16px}#ai-assistant-panel .markdown-content strong{color:#1f2937}#ai-assistant-panel .markdown-content em{color:#4b5563}#ai-assistant-panel .markdown-content code{font-size:10px;background:#f3f4f6;padding:2px 4px;border-radius:4px;font-family:JetBrains Mono,monospace}#ai-assistant-panel .markdown-content blockquote{border-left:3px solid #B82228;color:#4b5563;font-size:12px;margin:4px 0;padding-left:8px}#ai-assistant-panel .markdown-content hr{margin:8px 0;border-color:#e5e7eb}#ai-assistant-panel .suggestion-chips{margin-top:8px;display:flex;flex-direction:column;gap:4px}#ai-assistant-panel .suggestion-chips .suggestions-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}#ai-assistant-panel .suggestion-btn{display:flex;align-items:flex-start;gap:6px;width:100%;text-align:left;font-size:11px;color:#b82228;padding:6px 8px;border-radius:6px;border:none;background:none;cursor:pointer;transition:background-color .15s}#ai-assistant-panel .suggestion-btn:hover{background:#b822280d}#ai-assistant-panel .suggestion-btn .suggestion-icon{font-size:12px;flex-shrink:0;margin-top:2px}#ai-assistant-panel .loading-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px}#ai-assistant-panel .loading-indicator .loading-text{color:#9ca3af}#ai-assistant-panel .input-area{padding:10px 12px;border-top:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}#ai-assistant-panel .input-row{display:flex;align-items:flex-end;gap:8px}#ai-assistant-panel .chat-input{flex:1;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;font-size:13px;line-height:1.5;background:#fff;resize:none;font-family:inherit;outline:none;min-height:38px;max-height:120px;overflow-y:auto;transition:border-color .15s}#ai-assistant-panel .chat-input:focus{border-color:#b82228;box-shadow:0 0 0 2px #b822281a}#ai-assistant-panel .send-btn{background:#b82228;color:#fff;border-radius:8px;padding:8px;flex-shrink:0}#ai-assistant-panel .send-btn:hover{background:#b82228e6}#ai-assistant-panel .send-btn:disabled{opacity:.4;cursor:not-allowed}#ai-assistant-panel .input-hint{font-size:9px;color:#9ca3af;margin-top:4px}#discovery-interview-page{height:100%;display:flex;flex-direction:column}#discovery-interview-page .top-bar{background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}#discovery-interview-page .top-bar .back-link{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#8a8f96;text-decoration:none;transition:color .15s}#discovery-interview-page .top-bar .back-link:hover{color:#b82228}#discovery-interview-page .top-bar .top-bar-right{display:flex;align-items:center;gap:12px}#discovery-interview-page .top-bar .vc-label{font-size:.875rem;font-weight:600;color:#2d2d2d}#discovery-interview-page .top-bar .vc-label code{color:#b82228;font-family:JetBrains Mono,monospace;margin-right:6px}#discovery-interview-page .top-bar .vc-label .vc-name{color:#4b5563}#discovery-interview-page .top-bar .ai-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;font-size:.75rem;font-weight:500;border:1px solid;cursor:pointer;transition:all .15s;background:none}#discovery-interview-page .top-bar .ai-toggle-btn.active{background:#b822281a;color:#b82228;border-color:#b822284d}#discovery-interview-page .top-bar .ai-toggle-btn.inactive{background:#f9fafb;color:#8a8f96;border-color:#e5e7eb}#discovery-interview-page .top-bar .ai-toggle-btn.inactive:hover{background:#f3f4f6}#discovery-interview-page .main-layout{display:flex;flex:1;min-height:0}#discovery-interview-page .sidebar-nav{width:224px;background:#f9fafb;border-right:1px solid #e5e7eb;overflow-y:auto;flex-shrink:0}#discovery-interview-page .sidebar-nav::-webkit-scrollbar{width:4px}#discovery-interview-page .sidebar-nav::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#discovery-interview-page .sidebar-nav::-webkit-scrollbar-track{background:transparent}#discovery-interview-page .sidebar-nav .sidebar-title{padding:10px 12px;border-bottom:1px solid #e5e7eb}#discovery-interview-page .sidebar-nav .sidebar-title span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#8a8f96}#discovery-interview-page .sidebar-nav .sidebar-categories{padding:4px 0}#discovery-interview-page .sidebar-nav .cat-toggle{width:100%;display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;background:none;cursor:pointer;text-align:left;transition:background .15s}#discovery-interview-page .sidebar-nav .cat-toggle:hover{background:#f3f4f6}#discovery-interview-page .sidebar-nav .cat-toggle .cat-label{font-size:10px;font-weight:700;color:#b82228;text-transform:uppercase;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#discovery-interview-page .sidebar-nav .q-list{padding-bottom:4px}#discovery-interview-page .sidebar-nav .q-item{width:100%;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 28px;border:none;background:none;cursor:pointer;text-align:left;font-size:.75rem;color:#4b5563;transition:all .15s}#discovery-interview-page .sidebar-nav .q-item:hover{background:#f3f4f6}#discovery-interview-page .sidebar-nav .q-item.current{background:#b822281a;color:#b82228;font-weight:600;border-right:2px solid #B82228}#discovery-interview-page .sidebar-nav .q-item .q-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}#discovery-interview-page .main-content{flex:1;overflow-y:auto}#discovery-interview-page .main-content::-webkit-scrollbar{width:4px}#discovery-interview-page .main-content::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#discovery-interview-page .main-content::-webkit-scrollbar-track{background:transparent}#discovery-interview-page .main-content.with-ai{max-width:calc(100% - 320px)}#discovery-interview-page .question-area{max-width:768px;margin:0 auto;padding:24px 32px}#discovery-interview-page .question-area .cat-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#b82228}#discovery-interview-page .question-area .q-counter{font-size:.75rem;color:#8a8f96;margin-bottom:16px}#discovery-interview-page .question-area .question-text{font-size:1.125rem;font-weight:700;color:#2d2d2d;line-height:1.6;margin-bottom:24px}#discovery-interview-page .answer-section{margin-top:24px}#discovery-interview-page .answer-section .answer-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#8a8f96;margin-bottom:8px}#discovery-interview-page .status-section{margin-top:16px}#discovery-interview-page .status-section .status-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#8a8f96;margin-bottom:8px}#discovery-interview-page .status-section .status-buttons{display:flex;gap:8px;flex-wrap:wrap}#discovery-interview-page .status-section .status-btn{font-size:.75rem;padding:6px 12px;border-radius:999px;font-weight:500;border:1px solid;cursor:pointer;transition:all .15s;background:none}#discovery-interview-page .status-section .status-btn.inactive{background:#fff;color:#8a8f96;border-color:#e5e7eb}#discovery-interview-page .status-section .status-btn.inactive:hover{background:#f9fafb}#discovery-interview-page .status-section .status-btn.active{font-weight:600}#discovery-interview-page .status-section .status-btn.unanswered.active{background:#f3f4f6;color:#4b5563;border-color:currentColor}#discovery-interview-page .status-section .status-btn.answered.active{background:#dcfce7;color:#15803d;border-color:currentColor}#discovery-interview-page .status-section .status-btn.needs_clarification.active{background:#fef3c7;color:#b45309;border-color:currentColor}#discovery-interview-page .status-section .status-btn.confirmed.active{background:#dbeafe;color:#1d4ed8;border-color:currentColor}#discovery-interview-page .nav-buttons{display:flex;align-items:center;justify-content:space-between;margin-top:32px;padding-top:24px;border-top:1px solid #e5e7eb}#discovery-interview-page .nav-buttons .nav-buttons-right{display:flex;gap:8px}#discovery-interview-page .ai-panel{width:320px;border-left:1px solid #e5e7eb;flex-shrink:0}#discovery-interview-page .bottom-progress{background:#fff;border-top:1px solid #e5e7eb;padding:12px 20px;flex-shrink:0;display:flex;align-items:center;gap:16px}#discovery-interview-page .bottom-progress .progress-text{font-size:.75rem;color:#8a8f96;flex-shrink:0}#discovery-interview-page .bottom-progress .progress-track{flex:1;background:#f3f4f6;border-radius:999px;height:10px}#discovery-interview-page .bottom-progress .progress-fill{background:#b82228;border-radius:999px;height:10px;transition:width .3s}#discovery-interview-page .bottom-progress .progress-pct{font-size:.75rem;font-weight:600;color:#2d2d2d;flex-shrink:0}#discovery-interview-page .interviewer-guide{background:#faf5ff;border:1px solid #e9d5ff;border-radius:8px;overflow:hidden}#discovery-interview-page .interviewer-guide .guide-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border:none;background:none;cursor:pointer;transition:background .15s}#discovery-interview-page .interviewer-guide .guide-toggle:hover{background:#a855f70d}#discovery-interview-page .interviewer-guide .guide-toggle span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#9333ea}#discovery-interview-page .interviewer-guide .guide-content{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}#discovery-interview-page .interviewer-guide .guide-content .guide-label{font-size:10px;font-weight:600;text-transform:uppercase;display:block;margin-bottom:4px}#discovery-interview-page .interviewer-guide .guide-content .guide-label.instruction{color:#9333ea}#discovery-interview-page .interviewer-guide .guide-content .guide-label.expected{color:#16a34a}#discovery-interview-page .interviewer-guide .guide-content .guide-label.if-missing{color:#d97706}#discovery-interview-page .interviewer-guide .guide-content p{font-size:.75rem;color:#374151;line-height:1.6;white-space:pre-wrap}#parse-metadata{padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f9fafb;display:flex;flex-wrap:wrap;align-items:center;gap:8px}#parse-metadata .query-name{font-size:13px;font-weight:600;color:#1f2937;margin-right:8px}#parse-metadata .meta-chip{height:22px;font-size:12px;font-weight:500}#parse-metadata .meta-chip .MuiChip-label{padding:0 8px}#parse-metadata .dialect-tsql{background:#dbeafe;color:#1d4ed8}#parse-metadata .dialect-oracle{background:#ffedd5;color:#c2410c}#parse-metadata .dialect-postgresql{background:#d1fae5;color:#047857}#parse-metadata .dialect-default{background:#f3f4f6;color:#374151}#parse-metadata .type-chip{background:#f3f4f6;color:#4b5563}#parse-metadata .status-success{background:#dcfce7;color:#15803d}#parse-metadata .status-partial{background:#fef3c7;color:#a16207}#parse-metadata .status-failed{background:#fee2e2;color:#b91c1c}#parse-metadata .status-fallback{background:#f3e8ff;color:#7c3aed}#parse-metadata .status-default{background:#f3f4f6;color:#374151}#parse-metadata .duration{font-size:12px;color:#6b7280;display:flex;align-items:center;gap:4px}#parse-metadata .duration-icon{font-size:14px}#parse-metadata .features-wrap{display:flex;align-items:center;gap:4px;margin-left:8px}#parse-metadata .features-icon{font-size:14px;color:#9ca3af}#parse-metadata .feature-chip{height:20px;font-size:12px;background:#eef2ff;color:#4f46e5}#parse-metadata .feature-chip .MuiChip-label{padding:0 6px}#parse-metadata .more-count{font-size:12px;color:#9ca3af}#parse-metadata .error-hint{font-size:12px;color:#ef4444;margin-left:auto}#parse-errors-banner{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:12px 16px 4px}#parse-errors-banner .banner-toggle{width:100%;display:flex;align-items:center;gap:8px;padding:8px 12px;text-align:left;background:none;border:none;cursor:pointer}#parse-errors-banner .warn-icon{font-size:16px;color:#ef4444;flex-shrink:0}#parse-errors-banner .banner-title{font-size:12px;font-weight:600;color:#b91c1c}#parse-errors-banner .chevron-icon{font-size:14px;color:#f87171;margin-left:auto}#parse-errors-banner .error-pre{padding:0 12px 12px;font-size:11px;color:#dc2626;white-space:pre-wrap;overflow:auto;max-height:128px;font-family:JetBrains Mono,monospace;margin:0}#color-legend{position:relative;display:inline-block}#color-legend .legend-toggle{padding:4px;border-radius:4px;border:none;background:transparent;cursor:pointer;color:#9ca3af;display:flex;align-items:center}#color-legend .legend-toggle:hover{background:#f3f4f6;color:#4b5563}#color-legend .legend-toggle .legend-icon{font-size:14px}#color-legend .legend-popover{position:absolute;right:0;top:32px;z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001a;padding:12px;min-width:200px}#color-legend .legend-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}#color-legend .legend-title{font-size:12px;font-weight:600;color:#4b5563}#color-legend .legend-close{padding:2px;border:none;background:transparent;cursor:pointer;color:#9ca3af;display:flex;align-items:center}#color-legend .legend-close:hover{color:#4b5563}#color-legend .legend-close .close-icon{font-size:12px}#color-legend .legend-category{margin-bottom:8px}#color-legend .legend-category:last-child{margin-bottom:0}#color-legend .category-label{font-size:10px;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}#color-legend .category-items{display:flex;flex-direction:column;gap:4px}#color-legend .legend-item{display:flex;align-items:center;gap:8px}#color-legend .color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}#color-legend .item-label{font-size:12px;color:#4b5563}#tables-tab .add-bar{margin-bottom:12px}#tables-tab .add-btn{font-size:12px;text-transform:none;color:#b82228;border:1px solid rgba(184,34,40,.3);padding:2px 8px}#tables-tab .add-btn:hover{background:#b822280a}#tables-tab .add-form{margin-bottom:12px;display:flex;align-items:center;gap:8px;background:#f9fafb;padding:8px;border-radius:4px;border:1px solid #e5e7eb}#tables-tab .form-input{border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:12px;outline:none;font-family:"Exo 2",system-ui,sans-serif}#tables-tab .form-input:focus{border-color:#b82228}#tables-tab .name-input{width:160px}#tables-tab .schema-input{width:128px}#tables-tab .submit-btn{font-size:12px;text-transform:none;background:#b82228;padding:2px 12px;min-width:unset}#tables-tab .submit-btn:hover{background:#8b1a1f}#tables-tab .cancel-btn{font-size:12px;text-transform:none;color:#6b7280;padding:2px 8px;min-width:unset}#tables-tab .table-wrap{overflow-x:auto}#tables-tab .data-table .MuiTableCell-head{font-weight:500;color:#4b5563;background:#f9fafb;font-size:13px;padding:8px 12px}#tables-tab .data-table .MuiTableCell-body{padding:8px 12px;font-size:13px}#tables-tab .data-row:hover{background:#f9fafb}#tables-tab .data-row .actions-wrap{display:flex;align-items:center;gap:4px}#tables-tab .data-row .edit-action,#tables-tab .data-row .delete-action{opacity:0;transition:opacity .15s}#tables-tab .data-row:hover .edit-action,#tables-tab .data-row:hover .delete-action{opacity:1}#tables-tab .data-row .edit-action{color:#9ca3af}#tables-tab .data-row .edit-action:hover{color:#3b82f6}#tables-tab .data-row .delete-action{color:#d1d5db}#tables-tab .data-row .delete-action:hover{color:#ef4444}#tables-tab .data-row .save-action{color:#059669}#tables-tab .data-row .save-action:hover{color:#047857}#tables-tab .actions-col{width:64px}#tables-tab .table-name-cell{display:flex;align-items:center;gap:6px}#tables-tab .table-name{font-family:JetBrains Mono,monospace;color:#1d4ed8}#tables-tab .manual-chip{height:16px;font-size:9px;font-weight:500;background:#ede9fe;color:#7c3aed}#tables-tab .manual-chip .MuiChip-label{padding:0 4px}#tables-tab .schema-cell{color:#4b5563}#tables-tab .alias-code{color:#4b5563;background:#f3f4f6;padding:1px 4px;border-radius:4px;font-family:JetBrains Mono,monospace;font-size:12px}#tables-tab .empty-val{color:#d1d5db}#tables-tab .type-cell{color:#6b7280}#tables-tab .edit-input{border:1px solid #d1d5db;border-radius:4px;padding:2px 8px;font-size:12px;font-family:JetBrains Mono,monospace;width:176px;outline:none}#tables-tab .edit-input:focus{border-color:#b82228}#tables-tab .schema-edit{width:112px;font-family:"Exo 2",system-ui,sans-serif}#tables-tab .empty-cell{text-align:center;padding:24px 12px}#tables-tab .empty-text{color:#9ca3af;font-size:13px}#data-table .empty-message{color:#9ca3af;font-size:13px;padding:16px;text-align:center}#data-table .search-wrapper{margin-bottom:8px;position:relative}#data-table .search-wrapper .search-icon{font-size:14px;color:#9ca3af;position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none}#data-table .search-wrapper .search-input{width:100%;padding:6px 12px 6px 32px;font-size:12px;font-family:"Exo 2",system-ui,sans-serif;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;outline:none;box-sizing:border-box}#data-table .search-wrapper .search-input:focus{border-color:#b82228;box-shadow:0 0 0 2px #b822281a}#data-table .table-scroll{overflow-x:auto}#data-table .data-table{width:100%;font-size:13px;border-collapse:collapse}#data-table .table-head-row{background:#f9fafb;border-bottom:1px solid #e5e7eb}#data-table .table-head-cell{padding:8px 12px;text-align:left;font-weight:500;color:#4b5563;font-size:13px;font-family:"Exo 2",system-ui,sans-serif}#data-table .table-head-cell.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}#data-table .table-head-cell.sortable:hover{color:#111827}#data-table .head-cell-content{display:flex;align-items:center;gap:4px}#data-table .head-cell-content .sort-icon{font-size:12px}#data-table .table-body .table-row{border-bottom:1px solid #f3f4f6}#data-table .table-body .table-row:hover{background:#f9fafb}#data-table .table-cell{padding:8px 12px;color:#374151;font-size:13px}#data-table .empty-row-cell{padding:24px 12px;text-align:center;color:#9ca3af;font-size:13px}#data-table .info-bar{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:0 4px}#data-table .info-left{display:flex;align-items:center;gap:8px}#data-table .items-count{font-size:10px;color:#9ca3af}#data-table .export-btn{padding:4px;border-radius:4px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center}#data-table .export-btn:hover{background:#f3f4f6}#data-table .export-btn .export-icon{font-size:12px;color:#9ca3af}#data-table .export-btn .export-icon:hover{color:#4b5563}#data-table .pagination{display:flex;align-items:center;gap:4px}#data-table .page-nav-btn{padding:4px;border-radius:4px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center}#data-table .page-nav-btn:hover{background:#f3f4f6}#data-table .page-nav-btn:disabled{opacity:.3;cursor:default}#data-table .page-nav-btn .nav-icon{font-size:14px;color:#6b7280}#data-table .page-btn{padding:2px 8px;border-radius:4px;border:none;font-size:10px;cursor:pointer;background:transparent;color:#6b7280}#data-table .page-btn:hover{background:#f3f4f6}#data-table .page-btn.active{background:#b82228;color:#fff}#relationships-tab .add-bar{margin-bottom:12px}#relationships-tab .add-btn{font-size:12px;text-transform:none;color:#b82228;border:1px solid rgba(184,34,40,.3);padding:2px 8px}#relationships-tab .add-btn:hover{background:#b822280a}#relationships-tab .add-form{margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#f9fafb;padding:8px;border-radius:4px;border:1px solid #e5e7eb}#relationships-tab .form-input{border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:12px;outline:none;font-family:"Exo 2",system-ui,sans-serif}#relationships-tab .form-input:focus{border-color:#b82228}#relationships-tab .table-input{width:144px}#relationships-tab .type-select{cursor:pointer}#relationships-tab .keys-input{width:240px}#relationships-tab .submit-btn{font-size:12px;text-transform:none;background:#b82228;padding:2px 12px;min-width:unset}#relationships-tab .submit-btn:hover{background:#8b1a1f}#relationships-tab .cancel-btn{font-size:12px;text-transform:none;color:#6b7280;padding:2px 8px;min-width:unset}#relationships-tab .table-name-cell{display:flex;align-items:center;gap:6px}#relationships-tab .table-name{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;color:#1d4ed8}#relationships-tab .manual-chip{height:16px;font-size:9px;font-weight:500;background:#ede9fe;color:#7c3aed}#relationships-tab .manual-chip .MuiChip-label{padding:0 4px}#relationships-tab .join-chip{font-size:12px;padding:2px 8px;border-radius:4px;font-weight:500;display:inline-block}#relationships-tab .join-inner{background:#dbeafe;color:#1d4ed8}#relationships-tab .join-left{background:#fef3c7;color:#a16207}#relationships-tab .join-right{background:#fee2e2;color:#b91c1c}#relationships-tab .join-full{background:#f3e8ff;color:#7c3aed}#relationships-tab .join-comma{background:#ffedd5;color:#c2410c}#relationships-tab .join-default{background:#f3f4f6;color:#4b5563}#relationships-tab .keys-code{font-size:12px;color:#4b5563;background:#f9fafb;padding:2px 6px;border-radius:4px;display:block;max-width:512px;white-space:pre-wrap;font-family:JetBrains Mono,monospace}#relationships-tab .delete-btn{color:#d1d5db;background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center}#relationships-tab .delete-btn:hover{color:#ef4444}#columns-tab .add-bar{margin-bottom:12px}#columns-tab .add-btn{font-size:12px;text-transform:none;color:#b82228;border:1px solid rgba(184,34,40,.3);padding:2px 8px}#columns-tab .add-btn:hover{background:#b822280a}#columns-tab .add-form{margin-bottom:12px;display:flex;align-items:center;gap:8px;background:#f9fafb;padding:8px;border-radius:4px;border:1px solid #e5e7eb}#columns-tab .form-input{border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:12px;outline:none;font-family:"Exo 2",system-ui,sans-serif}#columns-tab .form-input:focus{border-color:#b82228}#columns-tab .col-input,#columns-tab .table-input{width:144px}#columns-tab .submit-btn{font-size:12px;text-transform:none;background:#b82228;padding:2px 12px;min-width:unset}#columns-tab .submit-btn:hover{background:#8b1a1f}#columns-tab .cancel-btn{font-size:12px;text-transform:none;color:#6b7280;padding:2px 8px;min-width:unset}#columns-tab .col-name-cell{display:flex;align-items:center;gap:6px}#columns-tab .col-name{font-family:JetBrains Mono,monospace;font-weight:500}#columns-tab .manual-chip{height:16px;font-size:9px;font-weight:500;background:#ede9fe;color:#7c3aed}#columns-tab .manual-chip .MuiChip-label{padding:0 4px}#columns-tab .qualified-name{font-family:JetBrains Mono,monospace;color:#1d4ed8;font-size:12px}#columns-tab .empty-val{color:#d1d5db}#columns-tab .source-table{font-family:JetBrains Mono,monospace;font-size:12px;color:#4b5563}#columns-tab .expression-code{font-size:12px;color:#4b5563;background:#f9fafb;padding:2px 6px;border-radius:4px;display:block;max-width:384px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:JetBrains Mono,monospace}#columns-tab .delete-btn{color:#d1d5db;background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center}#columns-tab .delete-btn:hover{color:#ef4444}#spark-cell.view-mode{display:flex;align-items:flex-start;gap:4px}#spark-cell.view-mode .spark-code{font-size:12px;color:#c2410c;background:#fff7ed;padding:2px 6px;border-radius:4px;display:block;max-width:448px;white-space:pre-wrap;flex:1;font-family:JetBrains Mono,monospace}#spark-cell.view-mode .empty-val{color:#d1d5db;flex:1}#spark-cell.view-mode .edit-btn{flex-shrink:0;padding:2px;opacity:0;transition:opacity .15s;color:#9ca3af}#spark-cell.view-mode .edit-btn:hover{color:#4b5563}#spark-cell.view-mode .edit-btn.saved{opacity:1;color:#10b981}#spark-cell.view-mode:hover .edit-btn{opacity:1}#spark-cell.edit-mode{display:flex;align-items:flex-start;gap:4px}#spark-cell.edit-mode .spark-textarea{font-size:12px;font-family:JetBrains Mono,monospace;color:#c2410c;background:#fff7ed;border:1px solid #fdba74;border-radius:4px;padding:4px 6px;width:100%;max-width:448px;resize:vertical;outline:none}#spark-cell.edit-mode .spark-textarea:focus{border-color:#f97316}#spark-cell.edit-mode .edit-actions{display:flex;flex-direction:column;gap:2px;flex-shrink:0}#spark-cell.edit-mode .save-btn{color:#059669}#spark-cell.edit-mode .save-btn:hover{color:#047857}#spark-cell.edit-mode .cancel-btn{color:#9ca3af;background:none;border:none;cursor:pointer;padding:2px;font-size:10px}#spark-cell.edit-mode .cancel-btn:hover{color:#4b5563}#calculations-tab .add-bar{margin-bottom:12px}#calculations-tab .add-btn{font-size:12px;text-transform:none;color:#b82228;border:1px solid rgba(184,34,40,.3);padding:2px 8px}#calculations-tab .add-btn:hover{background:#b822280a}#calculations-tab .add-form{margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#f9fafb;padding:8px;border-radius:4px;border:1px solid #e5e7eb}#calculations-tab .form-input{border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:12px;outline:none;font-family:"Exo 2",system-ui,sans-serif}#calculations-tab .form-input:focus{border-color:#b82228}#calculations-tab .alias-input{width:128px}#calculations-tab .expr-input{width:256px}#calculations-tab .table-input{width:144px}#calculations-tab .submit-btn{font-size:12px;text-transform:none;background:#b82228;padding:2px 12px;min-width:unset}#calculations-tab .submit-btn:hover{background:#8b1a1f}#calculations-tab .cancel-btn{font-size:12px;text-transform:none;color:#6b7280;padding:2px 8px;min-width:unset}#calculations-tab .section-spacer{margin-top:20px}#calculations-tab .alias-cell{display:flex;align-items:center;gap:6px}#calculations-tab .alias-name{font-weight:600;color:#b45309}#calculations-tab .manual-chip{height:16px;font-size:9px;font-weight:500;background:#ede9fe;color:#7c3aed}#calculations-tab .manual-chip .MuiChip-label{padding:0 4px}#calculations-tab .expression-code{font-size:12px;color:#374151;background:#f9fafb;padding:2px 6px;border-radius:4px;display:block;max-width:512px;white-space:pre-wrap;font-family:JetBrains Mono,monospace}#calculations-tab .chip-wrap{display:flex;flex-wrap:wrap;gap:4px}#calculations-tab .source-col-chip{height:20px;font-size:12px;font-family:JetBrains Mono,monospace;background:#eff6ff;color:#1d4ed8}#calculations-tab .source-col-chip .MuiChip-label{padding:0 6px}#calculations-tab .source-table-chip{height:20px;font-size:12px;font-family:JetBrains Mono,monospace;background:#f0fdf4;color:#15803d}#calculations-tab .source-table-chip .MuiChip-label{padding:0 6px}#calculations-tab .empty-val{color:#d1d5db}#calculations-tab .delete-btn{color:#d1d5db;background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center}#calculations-tab .delete-btn:hover{color:#ef4444}#where-tab .table-ref{font-family:JetBrains Mono,monospace;font-size:13px}#where-tab .condition-code{font-size:12px;color:#374151;background:#f9fafb;padding:2px 6px;border-radius:4px;display:block;max-width:512px;font-family:JetBrains Mono,monospace}#where-tab .location-chip{font-size:12px;background:#f3f4f6;color:#4b5563;padding:2px 6px;border-radius:4px}#where-tab .param-indicator{font-size:12px;color:#7c3aed}#where-tab .empty-val{color:#d1d5db}#window-functions-tab .fn-name{font-family:JetBrains Mono,monospace;font-weight:600;color:#4338ca}#window-functions-tab .clause-code{font-size:12px;color:#4b5563;background:#f9fafb;padding:2px 6px;border-radius:4px;font-family:JetBrains Mono,monospace}#window-functions-tab .frame-chip{font-size:12px;background:#faf5ff;color:#7c3aed;padding:2px 6px;border-radius:4px}#window-functions-tab .alias-code{background:#f3f4f6;padding:1px 4px;border-radius:4px;font-size:12px;font-family:JetBrains Mono,monospace}#window-functions-tab .empty-val{color:#d1d5db}#lineage-tab .lineage-name{font-family:JetBrains Mono,monospace;font-weight:600;color:#a16207}#lineage-tab .type-chip{font-size:12px;padding:2px 6px;border-radius:4px;display:inline-block}#lineage-tab .type-cte{background:#dbeafe;color:#1d4ed8}#lineage-tab .type-recursive{background:#f3e8ff;color:#7c3aed}#lineage-tab .type-temp{background:#ffedd5;color:#c2410c}#lineage-tab .type-default{background:#f3f4f6;color:#4b5563}#lineage-tab .chip-wrap{display:flex;flex-wrap:wrap;gap:4px}#lineage-tab .source-chip{height:20px;font-size:12px;font-family:JetBrains Mono,monospace;background:#eff6ff;color:#1d4ed8}#lineage-tab .source-chip .MuiChip-label{padding:0 6px}#lineage-tab .empty-val{color:#d1d5db}#raw-json-tab{position:relative}#raw-json-tab .copy-btn{position:absolute;top:8px;right:8px;z-index:10;font-size:12px;text-transform:none;background:#fff;border:1px solid #d1d5db;color:#374151;padding:2px 8px;min-width:unset}#raw-json-tab .copy-btn:hover{background:#f9fafb}#raw-json-tab .copy-btn .check-icon{color:#22c55e}#raw-json-tab .json-pre{background:#111827;color:#f3f4f6;border-radius:8px;padding:16px;font-size:12px;overflow:auto;max-height:500px;font-family:JetBrains Mono,monospace;margin:0}#diagram-tab .empty-text{color:#9ca3af;text-align:center;padding:32px 0}#diagram-tab .toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}#diagram-tab .zoom-btn{padding:6px;border:1px solid #d1d5db;border-radius:4px;color:#4b5563}#diagram-tab .zoom-btn:hover{background:#f9fafb}#diagram-tab .zoom-label{font-size:12px;color:#6b7280;width:48px;text-align:center}#diagram-tab .download-btn{margin-left:auto;font-size:12px;text-transform:none;background:#b822280f;color:#b82228;padding:4px 12px}#diagram-tab .download-btn:hover{background:#b822281f}#diagram-tab .svg-container{border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:auto}#aggregations-tab .add-bar{margin-bottom:12px}#aggregations-tab .add-btn{font-size:12px;text-transform:none;color:#b82228;border:1px solid rgba(184,34,40,.3);padding:2px 8px}#aggregations-tab .add-btn:hover{background:#b822280a}#aggregations-tab .add-form{margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#f9fafb;padding:8px;border-radius:4px;border:1px solid #e5e7eb}#aggregations-tab .form-input{border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:12px;outline:none;font-family:"Exo 2",system-ui,sans-serif}#aggregations-tab .form-input:focus{border-color:#b82228}#aggregations-tab .alias-input{width:128px}#aggregations-tab .expr-input{width:256px}#aggregations-tab .table-input{width:144px}#aggregations-tab .submit-btn{font-size:12px;text-transform:none;background:#b82228;padding:2px 12px;min-width:unset}#aggregations-tab .submit-btn:hover{background:#8b1a1f}#aggregations-tab .cancel-btn{font-size:12px;text-transform:none;color:#6b7280;padding:2px 8px;min-width:unset}#aggregations-tab .section-spacer{margin-top:20px}#aggregations-tab .alias-cell{display:flex;align-items:center;gap:6px}#aggregations-tab .alias-name{font-weight:600;color:#7c3aed}#aggregations-tab .manual-chip{height:16px;font-size:9px;font-weight:500;background:#ede9fe;color:#7c3aed}#aggregations-tab .manual-chip .MuiChip-label{padding:0 4px}#aggregations-tab .expression-code{font-size:12px;color:#374151;background:#f9fafb;padding:2px 6px;border-radius:4px;display:block;max-width:512px;white-space:pre-wrap;font-family:JetBrains Mono,monospace}#aggregations-tab .inner-expression-code{font-size:12px;color:#4338ca;background:#eef2ff;padding:2px 6px;border-radius:4px;display:block;max-width:448px;white-space:pre-wrap;font-family:JetBrains Mono,monospace}#aggregations-tab .chip-wrap{display:flex;flex-wrap:wrap;gap:4px}#aggregations-tab .source-table-chip{height:20px;font-size:12px;font-family:JetBrains Mono,monospace;background:#f0fdf4;color:#15803d}#aggregations-tab .source-table-chip .MuiChip-label{padding:0 6px}#aggregations-tab .empty-val{color:#d1d5db}#aggregations-tab .delete-btn{color:#d1d5db;background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center}#aggregations-tab .delete-btn:hover{color:#ef4444}#results-panel{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000f;border:1px solid #e5e7eb;display:flex;flex-direction:column;max-height:70vh}#results-panel .main-area{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}#results-panel .main-area.with-notes{border-right:1px solid #e5e7eb}#results-panel .tab-bar{display:flex;border-bottom:1px solid #e5e7eb;align-items:stretch}#results-panel .result-tabs{flex:1;min-height:unset}#results-panel .result-tabs .MuiTabs-indicator{background-color:#b82228;height:2px}#results-panel .result-tabs .MuiTab-root{min-height:40px;padding:6px 12px;font-size:13px;font-weight:500;text-transform:none;color:#6b7280;white-space:nowrap}#results-panel .result-tabs .MuiTab-root.Mui-selected{color:#b82228}#results-panel .result-tabs .MuiTab-root:hover{color:#374151}#results-panel .result-tabs .tab-icon{font-size:14px}#results-panel .tab-label-wrap{display:flex;align-items:center;gap:6px}#results-panel .tab-count{font-size:11px;padding:0 6px;border-radius:9999px;background:#f3f4f6;color:#6b7280}#results-panel .tab-count.active{background:#b8222814;color:#b82228}#results-panel .legend-area{display:flex;align-items:center;flex-shrink:0}#results-panel .notes-toggle{border-radius:0;flex-shrink:0;color:#9ca3af}#results-panel .notes-toggle:hover{color:#4b5563}#results-panel .notes-toggle.active{color:#b82228;border-bottom:2px solid #B82228}#results-panel .tab-content{padding:16px;flex:1;overflow:auto}#results-panel .tab-content::-webkit-scrollbar{width:4px}#results-panel .tab-content::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#results-panel .tab-content::-webkit-scrollbar-track{background:transparent}#results-panel .notes-panel{width:20%;min-width:200px;display:flex;flex-direction:column;background:#f9fafb}#results-panel .notes-header{padding:12px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between}#results-panel .notes-title{font-size:11px;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.05em}#results-panel .save-btn{color:#9ca3af}#results-panel .save-btn:hover{color:#b82228;background:#f3f4f6}#results-panel .save-btn.saved{color:#10b981}#results-panel .notes-textarea{flex:1;padding:12px;font-size:12px;color:#374151;background:transparent;resize:none;border:none;outline:none;font-family:"Exo 2",system-ui,sans-serif}#results-panel .notes-textarea::placeholder{color:#9ca3af}#dialect-selector .dialect-select{font-size:12px;color:#54595f;background:#fff}#dialect-selector .dialect-select .MuiSelect-select{padding:4px 28px 4px 8px;font-size:12px}#dialect-selector .dialect-select .MuiOutlinedInput-notchedOutline{border-color:#d1d5db}#dialect-selector .dialect-select:hover .MuiOutlinedInput-notchedOutline{border-color:#9ca3af}#dialect-selector .dialect-select.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#b82228;border-width:1px}#sql-editor{width:100%;height:100%}#sql-editor .cm-editor{height:100%}#main-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#f9fafb}#main-panel.empty-state{align-items:center;justify-content:center;background:#fff}#main-panel .empty-icon-box{width:64px;height:64px;background:#f3f4f6;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}#main-panel .empty-title{font-size:20px;font-weight:600;color:#9ca3af;margin-bottom:8px}#main-panel .empty-subtitle{font-size:14px;color:#9ca3af}#main-panel .top-bar{min-height:44px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:4px 16px;flex-shrink:0;flex-wrap:wrap;gap:4px 0}#main-panel .top-bar-left{display:flex;align-items:center;gap:12px}#main-panel .quick-parse-label{font-size:14px;font-weight:600;color:#b82228;display:flex;align-items:center;gap:8px}#main-panel .project-label{font-size:14px;font-weight:600;color:#1f2937}#main-panel .top-bar-right{display:flex;align-items:center;gap:8px}#main-panel .top-divider{width:1px;height:20px;background:#e5e7eb;margin:0 4px}#main-panel .upload-btn{font-size:12px;padding:4px 10px;color:#6b7280;text-transform:none;min-width:unset}#main-panel .upload-btn:hover{color:#1f2937;background:#f3f4f6}#main-panel .reprocess-all-btn{font-size:12px;padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;text-transform:none;min-width:unset;transition:all .15s}#main-panel .reprocess-all-btn:hover{color:#374151;background:#f3f4f6}#main-panel .reprocess-all-btn:disabled{opacity:.4}#main-panel .reprocess-all-btn.done{background:#ecfdf5;color:#047857;border-color:#a7f3d0}#main-panel .sync-btn{font-size:12px;padding:4px 10px;border-radius:4px;text-transform:none;min-width:unset;transition:all .15s}#main-panel .sync-btn.default{background:#b82228;color:#fff}#main-panel .sync-btn.default:hover{background:#8b1a1f}#main-panel .sync-btn.done{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}#main-panel .sync-btn:disabled{opacity:.5}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}#main-panel .icon-spin{animation:spin 1s linear infinite}#main-panel .icon-pulse{animation:pulse 1.5s ease-in-out infinite}#main-panel .upload-bar{background:#fff;border-bottom:1px solid #e5e7eb;padding:10px 16px;display:flex;align-items:center;gap:12px;flex-shrink:0}#main-panel .upload-file-input{font-size:12px;color:#4b5563}#main-panel .delimiter-select{font-size:12px}#main-panel .delimiter-select .MuiSelect-select{padding:4px 28px 4px 8px;font-size:12px}#main-panel .delimiter-select .MuiOutlinedInput-notchedOutline{border-color:#d1d5db}#main-panel .upload-submit-btn{font-size:12px;padding:4px 12px;background:#b82228;color:#fff;text-transform:none;min-width:unset;border-radius:4px}#main-panel .upload-submit-btn:hover{background:#8b1a1f}#main-panel .upload-submit-btn:disabled{opacity:.5}#main-panel .editor-container{flex:1;display:flex;flex-direction:column;overflow:hidden}#main-panel .editor-section{flex-shrink:0;border-bottom:1px solid #e5e7eb;display:flex;flex-direction:column;background:#fff}#main-panel .label-bar{background:#f9fafb;padding:6px 12px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;gap:8px;flex-shrink:0}#main-panel .label-display{display:flex;align-items:center;gap:8px;flex:1}#main-panel .label-text{font-size:12px;color:#374151;font-weight:500}#main-panel .edit-label-btn{color:#9ca3af;padding:2px;min-width:unset}#main-panel .edit-label-btn:hover{color:#374151;background:transparent}#main-panel .label-edit-row{display:flex;align-items:center;gap:8px;flex:1}#main-panel .label-input{width:192px}#main-panel .label-input .MuiInputBase-root{font-size:12px;background:#fff}#main-panel .label-input .MuiInputBase-root input{padding:2px 8px;color:#1f2937}#main-panel .label-input .MuiOutlinedInput-notchedOutline{border-color:#d1d5db}#main-panel .label-input .Mui-focused .MuiOutlinedInput-notchedOutline{border-color:#b82228;border-width:1px}#main-panel .confirm-label-btn{color:#059669;padding:2px;min-width:unset}#main-panel .confirm-label-btn:hover{color:#047857;background:transparent}#main-panel .label-new-row{flex:1}#main-panel .analyzed-btn{padding:4px;border-radius:4px;transition:all .15s}#main-panel .analyzed-btn:hover{background:#f3f4f6}#main-panel .editor-body{flex:1;overflow:auto;display:flex}#main-panel .editor-pane{overflow:auto}#main-panel .editor-pane.full{width:100%}#main-panel .editor-pane.split{width:65%}#main-panel .explanation-pane{width:35%;border-left:1px solid #e5e7eb;background:#f9fafb;display:flex;flex-direction:column}#main-panel .explanation-header{padding:6px 12px;border-bottom:1px solid #e5e7eb;flex-shrink:0}#main-panel .explanation-label{font-size:12px;font-weight:600;color:#4b5563;display:flex;align-items:center;gap:4px}#main-panel .explanation-body{flex:1;overflow:auto;padding:12px;font-size:12px;color:#374151;line-height:1.625;white-space:pre-wrap}#main-panel .status-bar{background:#f9fafb;padding:6px 12px;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}#main-panel .status-info{font-size:10px;color:#9ca3af;font-family:JetBrains Mono,monospace}#main-panel .status-actions{display:flex;align-items:center;gap:8px}#main-panel .action-btn{font-size:12px;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;text-transform:none;min-width:unset;transition:all .15s}#main-panel .action-btn:hover{color:#374151;background:#f3f4f6}#main-panel .action-btn:disabled{opacity:.4}#main-panel .ai-btn{font-size:12px;padding:6px 8px;border:1px solid #c084fc;border-radius:4px;color:#9333ea;text-transform:none;min-width:unset;transition:all .15s}#main-panel .ai-btn:hover{color:#6b21a8;background:#faf5ff}#main-panel .ai-btn:disabled{opacity:.4}#main-panel .parse-btn{font-size:12px;font-weight:500;padding:6px 16px;background:#b82228;color:#fff;border-radius:4px;text-transform:none;min-width:unset;transition:all .15s}#main-panel .parse-btn:hover{background:#8b1a1f}#main-panel .parse-btn:disabled{opacity:.4}#main-panel .drag-handle{height:6px;cursor:row-resize;background:#f3f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background-color .15s}#main-panel .drag-handle:hover{background:#b8222833}#main-panel .drag-handle .drag-indicator{width:32px;height:2px;background:#d1d5db;border-radius:9999px}#main-panel .results-area{flex:1;min-height:0;overflow:auto;background:#f9fafb}#main-panel .results-content{padding:12px}#main-panel .results-empty{display:flex;align-items:center;justify-content:center;height:100%}#main-panel .results-empty-inner{text-align:center;color:#9ca3af}#main-panel .results-empty-hint{font-size:14px}#parser-workspace{height:100%;display:flex;overflow:hidden}#parser-workspace .query-list-panel{width:280px;flex-shrink:0;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;background:#fff}#parser-workspace .query-list-panel .panel-header{padding:10px 12px;border-bottom:1px solid #f3f4f6}#parser-workspace .query-list-panel .panel-header .header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}#parser-workspace .query-list-panel .panel-header .header-row .header-label{font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}#parser-workspace .query-list-panel .panel-header .header-row .header-count{font-size:10px;color:#9ca3af}#parser-workspace .query-list-panel .panel-header .status-filters{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}#parser-workspace .query-list-panel .panel-header .status-btn{font-size:9px;padding:2px 8px;border-radius:4px;font-weight:500;border:none;cursor:pointer;transition:all .15s}#parser-workspace .query-list-panel .panel-header .status-btn.active{background:#b82228;color:#fff}#parser-workspace .query-list-panel .panel-header .status-btn:not(.active){background:#f3f4f6;color:#6b7280}#parser-workspace .query-list-panel .panel-header .status-btn:not(.active):hover{background:#e5e7eb}#parser-workspace .query-list-panel .panel-actions{padding:8px;border-bottom:1px solid #f3f4f6;display:flex;gap:4px}#parser-workspace .query-list-panel .query-scroll{flex:1;overflow-y:auto}#parser-workspace .query-list-panel .query-scroll::-webkit-scrollbar{width:4px}#parser-workspace .query-list-panel .query-scroll::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#parser-workspace .query-list-panel .query-scroll::-webkit-scrollbar-track{background:transparent}#parser-workspace .query-list-panel .new-query-indicator{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#b822280d;border-left:3px solid #B82228}#parser-workspace .query-list-panel .new-query-indicator .indicator-label{font-size:12px;font-weight:600;color:#b82228}#parser-workspace .query-list-panel .quick-parse-indicator{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fffbeb;border-left:3px solid #f59e0b}#parser-workspace .query-list-panel .quick-parse-indicator .indicator-label{font-size:12px;font-weight:600;color:#b45309}#parser-workspace .query-list-panel .query-item{width:100%;text-align:left;padding:10px 12px;border-left:3px solid;border-bottom:1px solid #f9fafb;background:none;border-right:none;border-top:none;cursor:pointer;transition:background-color .15s}#parser-workspace .query-list-panel .query-item.selected{background:#f9fafb}#parser-workspace .query-list-panel .query-item:not(.selected):hover{background:#f9fafb80}#parser-workspace .query-list-panel .query-item.status-analyzed{border-left-color:#22c55e}#parser-workspace .query-list-panel .query-item.status-failed{border-left-color:#ef4444}#parser-workspace .query-list-panel .query-item.status-pending{border-left-color:#fbbf24}#parser-workspace .query-list-panel .query-item .query-row{display:flex;align-items:center;gap:8px}#parser-workspace .query-list-panel .query-item .query-label{font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#parser-workspace .query-list-panel .query-item .query-label.selected-label{font-weight:600}#parser-workspace .query-list-panel .query-item .delete-btn{opacity:0;color:#d1d5db;padding:2px;flex-shrink:0;background:none;border:none;cursor:pointer}#parser-workspace .query-list-panel .query-item .delete-btn:hover{color:#ef4444}#parser-workspace .query-list-panel .query-item:hover .delete-btn,#parser-workspace .query-list-panel .query-item.selected .delete-btn{opacity:1}#parser-workspace .query-list-panel .query-item .query-status-row{display:flex;align-items:center;gap:8px;margin-top:4px;margin-left:20px}#parser-workspace .query-list-panel .query-item .status-text{font-size:9px;font-weight:500}#parser-workspace .query-list-panel .query-item .status-text.analyzed{color:#059669}#parser-workspace .query-list-panel .query-item .status-text.failed{color:#ef4444}#parser-workspace .query-list-panel .query-item .status-text.pending{color:#9ca3af}#parser-workspace .query-list-panel .empty-msg{padding:16px;font-size:12px;color:#9ca3af;text-align:center}#parser-workspace .main-panel-area{flex:1;min-height:0;overflow:hidden}#mapping-tables-page{display:flex;height:100%}#mapping-tables-page .toast{position:fixed;bottom:16px;right:16px;z-index:50;padding:12px 16px;border-radius:8px;border:1px solid;font-size:.875rem;font-weight:500;box-shadow:0 10px 15px #0000001a;display:flex;align-items:center;gap:8px;animation:slideIn .2s ease-out}#mapping-tables-page .toast.success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}#mapping-tables-page .toast.error{background:#fef2f2;border-color:#fecaca;color:#991b1b}@keyframes slideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}#mapping-tables-page .table-list-panel{width:240px;border-right:1px solid #e5e7eb;background:#fff;display:flex;flex-direction:column;flex-shrink:0}#mapping-tables-page .table-list-panel .panel-header{padding:12px;border-bottom:1px solid #f3f4f6}#mapping-tables-page .table-list-panel .panel-header .panel-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}#mapping-tables-page .table-list-panel .panel-header .panel-title{font-size:.75rem;font-weight:600;color:#8a8f96;text-transform:uppercase;letter-spacing:.05em}#mapping-tables-page .table-list-panel .search-wrapper{position:relative}#mapping-tables-page .table-list-panel .search-wrapper .search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:#9ca3af}#mapping-tables-page .table-list-panel .table-items{flex:1;overflow-y:auto;padding:4px}#mapping-tables-page .table-list-panel .table-items::-webkit-scrollbar{width:4px}#mapping-tables-page .table-list-panel .table-items::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#mapping-tables-page .table-list-panel .table-items::-webkit-scrollbar-track{background:transparent}#mapping-tables-page .table-list-panel .table-item{width:100%;text-align:left;padding:8px 12px;border-radius:6px;font-size:.875rem;border:none;background:none;cursor:pointer;transition:all .15s;color:#374151}#mapping-tables-page .table-list-panel .table-item:hover{background:#f9fafb}#mapping-tables-page .table-list-panel .table-item.selected{background:#b822281a;color:#b82228;font-weight:500;border-left:2px solid #B82228}#mapping-tables-page .table-list-panel .table-item .table-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#mapping-tables-page .table-list-panel .table-item .table-meta{font-size:10px;color:#9ca3af;margin-top:2px}#mapping-tables-page .table-list-panel .table-item .table-meta .type-chip{margin-left:4px;padding:1px 4px;border-radius:4px;font-size:9px;font-weight:500}#mapping-tables-page .table-list-panel .table-item .table-meta .type-chip.exact{background:#eff6ff;color:#2563eb}#mapping-tables-page .table-list-panel .table-item .table-meta .type-chip.range{background:#fffbeb;color:#d97706}#mapping-tables-page .main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}#mapping-tables-page .empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;text-align:center}#mapping-tables-page .toolbar{padding:12px 20px;border-bottom:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;flex-shrink:0}#mapping-tables-page .toolbar .toolbar-left .table-title-row{display:flex;align-items:center;gap:8px}#mapping-tables-page .toolbar .toolbar-left .type-badge{font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase}#mapping-tables-page .toolbar .toolbar-left .type-badge.exact{background:#eff6ff;color:#2563eb;border:1px solid #bfdbfe}#mapping-tables-page .toolbar .toolbar-left .type-badge.range{background:#fffbeb;color:#d97706;border:1px solid #fde68a}#mapping-tables-page .toolbar .toolbar-left .dirty-badge{font-size:9px;font-weight:600;color:#d97706;background:#fffbeb;border:1px solid #fde68a;padding:2px 8px;border-radius:999px}#mapping-tables-page .toolbar .toolbar-right{display:flex;align-items:center;gap:6px;flex-wrap:wrap}#mapping-tables-page .toolbar .toolbar-right .divider{width:1px;height:20px;background:#e5e7eb;margin:0 4px}#mapping-tables-page .filter-bar{padding:8px 20px;background:#f9fafb;border-bottom:1px solid #f3f4f6;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}#mapping-tables-page .filter-bar .filter-left{display:flex;align-items:center;gap:12px}#mapping-tables-page .filter-bar .filter-left .search-wrapper{position:relative}#mapping-tables-page .filter-bar .filter-left .search-wrapper .search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:#9ca3af}#mapping-tables-page .filter-bar .filter-left .legend{display:flex;gap:8px;font-size:9px;color:#9ca3af;font-weight:500}#mapping-tables-page .filter-bar .filter-left .legend .legend-item{display:flex;align-items:center;gap:4px}#mapping-tables-page .filter-bar .filter-left .legend .legend-item .dot{width:6px;height:6px;border-radius:2px}#mapping-tables-page .filter-bar .filter-left .legend .legend-item .dot.pk{background:#b82228}#mapping-tables-page .filter-bar .filter-left .legend .legend-item .dot.req{background:#3b82f6}#mapping-tables-page .filter-bar .filter-right{display:flex;align-items:center;gap:12px}#mapping-tables-page .filter-bar .active-toggle{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px}#mapping-tables-page .filter-bar .active-toggle.on{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}#mapping-tables-page .filter-bar .active-toggle.off{color:#9ca3af;background:#f3f4f6;border:1px solid #e5e7eb}#mapping-tables-page .validation-banner{padding:8px 20px;background:#fef2f2;border-bottom:1px solid #fecaca;display:flex;align-items:center;gap:8px;font-size:.75rem;color:#b91c1c;font-weight:500;flex-shrink:0}#mapping-tables-page .data-grid{flex:1;overflow:auto}#mapping-tables-page .data-grid::-webkit-scrollbar{width:4px}#mapping-tables-page .data-grid::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#mapping-tables-page .data-grid::-webkit-scrollbar-track{background:transparent}#mapping-tables-page .data-grid table{width:100%;font-size:.875rem;border-collapse:collapse}#mapping-tables-page .data-grid table thead{position:sticky;top:0;z-index:10}#mapping-tables-page .data-grid table thead tr{background:#f9fafb;border-bottom:1px solid #e5e7eb}#mapping-tables-page .data-grid table thead th{padding:8px;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;border-left:1px solid #f3f4f6;color:#8a8f96}#mapping-tables-page .data-grid table thead th.sorted{color:#374151;text-decoration:underline}#mapping-tables-page .data-grid table thead th.num-col{text-align:center;width:32px}#mapping-tables-page .data-grid table thead th.temporal{background:#6366f108;border-left:1px solid #e5e7eb}#mapping-tables-page .data-grid table thead th.range-col{background:#f59e0b0d}#mapping-tables-page .data-grid table thead th .th-content{display:flex;align-items:center;gap:4px}#mapping-tables-page .data-grid table thead th .th-content .pk-dot{width:6px;height:6px;border-radius:2px;background:#b82228}#mapping-tables-page .data-grid table thead th .th-content .req-dot{width:6px;height:6px;border-radius:2px;background:#3b82f6}#mapping-tables-page .data-grid table thead th .th-content .rr-chip{font-size:8px;font-weight:700;color:#d97706;background:#fef3c7;padding:1px 4px;border-radius:4px;text-transform:uppercase}#mapping-tables-page .data-grid table tbody tr{border-top:1px solid #f3f4f6;transition:background .15s}#mapping-tables-page .data-grid table tbody tr:hover{background:#f9fafb}#mapping-tables-page .data-grid table tbody tr.new-row{background:#3b82f60a}#mapping-tables-page .data-grid table tbody tr.new-row:hover{background:#3b82f614}#mapping-tables-page .data-grid table tbody tr.overlap-row{background:#fef2f2}#mapping-tables-page .data-grid table tbody tr.overlap-row:hover{background:#fee2e2}#mapping-tables-page .data-grid table tbody td{padding:6px;border-left:1px solid #f3f4f6}#mapping-tables-page .data-grid table tbody td.num-cell{text-align:center;font-size:9px;color:#9ca3af}#mapping-tables-page .data-grid table tbody td.num-cell.new-cell{color:#3b82f6;border-left:2px solid #3b82f6}#mapping-tables-page .data-grid table tbody td.num-cell.overlap-cell{color:#ef4444}#mapping-tables-page .data-grid table tbody td.data-cell{cursor:text;font-size:.75rem;padding:6px 12px;transition:box-shadow .15s}#mapping-tables-page .data-grid table tbody td.data-cell:hover{box-shadow:inset 0 0 0 1px #d4d4d8}#mapping-tables-page .data-grid table tbody td.data-cell.range-cell{background:#f59e0b08}#mapping-tables-page .data-grid table tbody td.temporal-cell{border-left:1px solid #e5e7eb;font-size:10px;cursor:text;background:#6366f105;padding:6px 8px}#mapping-tables-page .data-grid table tbody td.temporal-cell:hover{box-shadow:inset 0 0 0 1px #d4d4d8}#mapping-tables-page .data-grid table tbody td.actions-cell{padding:6px 4px}#mapping-tables-page .data-grid table tbody td.actions-cell .row-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}#mapping-tables-page .data-grid table tbody tr:hover td.actions-cell .row-actions{opacity:1}#mapping-tables-page .data-grid .bool-toggle{display:flex;align-items:center;gap:6px}#mapping-tables-page .data-grid .bool-toggle .toggle-track{width:28px;height:16px;border-radius:999px;position:relative;transition:background .15s}#mapping-tables-page .data-grid .bool-toggle .toggle-track.on{background:#10b981}#mapping-tables-page .data-grid .bool-toggle .toggle-track.off{background:#d1d5db}#mapping-tables-page .data-grid .bool-toggle .toggle-track .toggle-thumb{width:12px;height:12px;border-radius:50%;background:#fff;position:absolute;top:2px;box-shadow:0 1px 2px #0000001a;transition:left .15s}#mapping-tables-page .data-grid .bool-toggle .toggle-track .toggle-thumb.on{left:14px}#mapping-tables-page .data-grid .bool-toggle .toggle-track .toggle-thumb.off{left:2px}#mapping-tables-page .data-grid .bool-toggle .toggle-label{font-size:10px;font-weight:500}#mapping-tables-page .data-grid .bool-toggle .toggle-label.on{color:#059669}#mapping-tables-page .data-grid .bool-toggle .toggle-label.off{color:#9ca3af}#mapping-tables-page .pagination{padding:8px 20px;border-top:1px solid #e5e7eb;background:#fff;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8a8f96;flex-shrink:0}#discovery-status-page{padding:24px;max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:24px}#discovery-status-page .page-header h1{font-size:1.125rem;font-weight:700;color:#2d2d2d}#discovery-status-page .page-header p{font-size:.75rem;color:#8a8f96;margin-top:2px}#discovery-status-page .metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media(min-width:768px){#discovery-status-page .metrics-grid{grid-template-columns:repeat(4,1fr)}}#discovery-status-page .stat-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;display:flex;align-items:center;gap:12px}#discovery-status-page .stat-card .stat-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}#discovery-status-page .stat-card .stat-value{font-size:1.25rem;font-weight:800;color:#2d2d2d}#discovery-status-page .stat-card .stat-label{font-size:10px;color:#9ca3af;text-transform:uppercase;font-weight:600}#discovery-status-page .section-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}#discovery-status-page .section-card h2{font-size:.875rem;font-weight:700;color:#2d2d2d;margin-bottom:16px}#discovery-status-page .mapping-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}#discovery-status-page .mapping-stat{display:flex;align-items:center;gap:12px}#discovery-status-page .mapping-stat .mapping-stat-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center}#discovery-status-page .mapping-stat .mapping-stat-value{font-size:1.25rem;font-weight:800;color:#2d2d2d}#discovery-status-page .mapping-stat .mapping-stat-label{font-size:10px;color:#9ca3af;text-transform:uppercase}#discovery-status-page .progress-bar-track{height:12px;background:#f3f4f6;border-radius:999px;overflow:hidden}#discovery-status-page .progress-bar-fill{height:100%;border-radius:999px;transition:width .3s}#discovery-status-page .progress-bar-fill.green{background:#22c55e}#discovery-status-page .progress-bar-fill.amber{background:#f59e0b}#discovery-status-page .progress-bar-fill.red{background:#ef4444}#discovery-status-page .progress-labels{display:flex;justify-content:space-between;font-size:10px;color:#9ca3af;margin-top:4px}#discovery-status-page .entity-chip{display:inline-flex;border-radius:4px;padding:4px 10px;font-size:.75rem;font-family:JetBrains Mono,monospace}#discovery-status-page .entity-chip.unmapped{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}#discovery-status-page .entity-chip.mapped{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}#discovery-status-page .chip-list{display:flex;flex-wrap:wrap;gap:8px}#discovery-status-page .chip-label{font-size:10px;color:#8a8f96;text-transform:uppercase;font-weight:600;margin-bottom:8px}#discovery-status-page .type-breakdown-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}@media(min-width:768px){#discovery-status-page .type-breakdown-grid{grid-template-columns:repeat(4,1fr)}}#discovery-status-page .type-card{border-radius:8px;border:1px solid;padding:12px;text-align:center}#discovery-status-page .type-card .type-count{font-size:1.125rem;font-weight:800}#discovery-status-page .type-card .type-label{font-size:9px;text-transform:uppercase;font-weight:600;letter-spacing:.05em}#discovery-status-page .type-card.transaction{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}#discovery-status-page .type-card.dimension{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}#discovery-status-page .type-card.ref{background:#faf5ff;color:#7e22ce;border-color:#e9d5ff}#discovery-status-page .type-card.other{background:#f9fafb;color:#4b5563;border-color:#e5e7eb}#discovery-status-page .confirmed-stats{display:flex;align-items:center;gap:12px}#discovery-status-page .confirmed-stat{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#4b5563}#discovery-status-page .gap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}#discovery-status-page .gap-card{border-radius:8px;border:1px solid;padding:12px;text-align:center}#discovery-status-page .gap-card .gap-count{font-size:1.125rem;font-weight:800}#discovery-status-page .gap-card .gap-label{font-size:9px;text-transform:uppercase;font-weight:600}#discovery-status-page .gap-card.matched{background:#f0fdf4;border-color:#bbf7d0}#discovery-status-page .gap-card.matched .gap-count{color:#15803d}#discovery-status-page .gap-card.matched .gap-label{color:#16a34a}#discovery-status-page .gap-card.missing{background:#fef2f2;border-color:#fecaca}#discovery-status-page .gap-card.missing .gap-count{color:#b91c1c}#discovery-status-page .gap-card.missing .gap-label{color:#dc2626}#discovery-status-page .gap-card.extra{background:#eff6ff;border-color:#bfdbfe}#discovery-status-page .gap-card.extra .gap-count{color:#1d4ed8}#discovery-status-page .gap-card.extra .gap-label{color:#2563eb}#discovery-status-page .unmapped-chip{display:inline-flex;background:#fffbeb;border:1px solid #fde68a;border-radius:4px;padding:4px 10px;font-size:.75rem;font-family:JetBrains Mono,monospace;color:#92400e}#discovery-status-page .reports-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:768px){#discovery-status-page .reports-grid{grid-template-columns:repeat(3,1fr)}}#discovery-status-page .export-card{border:1px solid #e5e7eb;border-radius:8px;padding:16px;cursor:pointer;transition:all .15s}#discovery-status-page .export-card:hover{border-color:#d1d5db;box-shadow:0 1px 2px #0000000d}#discovery-status-page .export-card:hover .export-title{color:#b82228}#discovery-status-page .export-card .export-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}#discovery-status-page .export-card .export-title{font-size:.75rem;font-weight:600;color:#2d2d2d;transition:color .15s}#discovery-status-page .export-card .export-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px}#discovery-status-page .export-card .export-desc{font-size:10px;color:#9ca3af}#discovery-status-page .reports-footer{font-size:10px;color:#9ca3af;margin-top:12px}#schema-panel{background:#fff;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d}#schema-panel .panel-header{padding:12px;border-bottom:1px solid #e5e7eb;background:#f9fafb;display:flex;align-items:center;justify-content:space-between}#schema-panel .header-left{display:flex;align-items:center;gap:8px}#schema-panel .header-left .header-icon{font-size:16px;color:#6b7280}#schema-panel .header-title{font-size:13px;font-weight:600;color:#1f2937}#schema-panel .header-subtitle{font-size:12px;color:#9ca3af;margin-left:8px}#schema-panel .upload-toggle-btn{display:flex;align-items:center;gap:4px;font-size:12px;font-family:"Exo 2",system-ui,sans-serif;padding:4px 10px;border-radius:4px;background:#f3f4f6;color:#4b5563;border:none;cursor:pointer}#schema-panel .upload-toggle-btn:hover{background:#e5e7eb}#schema-panel .upload-toggle-btn .upload-icon{font-size:12px}#schema-panel .upload-bar{padding:12px;border-bottom:1px solid #e5e7eb;background:#f9fafb;display:flex;align-items:center;gap:12px}#schema-panel .upload-bar .file-input{font-size:12px;color:#4b5563}#schema-panel .upload-bar .import-btn{background:#b82228;color:#fff;padding:4px 12px;border-radius:4px;font-size:12px;font-family:"Exo 2",system-ui,sans-serif;border:none;cursor:pointer}#schema-panel .upload-bar .import-btn:hover{background:#8b1a1f}#schema-panel .upload-bar .import-btn:disabled{opacity:.5;cursor:default}#schema-panel .loading-state{padding:32px;text-align:center;color:#9ca3af}#schema-panel .loading-state .loading-spinner{font-size:20px;margin:0 auto;animation:spin 1s linear infinite}#schema-panel .empty-state{padding:32px;text-align:center;color:#9ca3af}#schema-panel .empty-state .empty-icon{font-size:40px;margin:0 auto 8px;opacity:.2}#schema-panel .empty-state .empty-text{font-size:13px}#schema-panel .empty-state .empty-hint{font-size:12px;color:#d1d5db;margin-top:4px}#schema-panel .tab-bar{display:flex;border-bottom:1px solid #e5e7eb;overflow-x:auto}#schema-panel .tab-btn{display:flex;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:500;font-family:"Exo 2",system-ui,sans-serif;white-space:nowrap;border:none;border-bottom:2px solid transparent;background:transparent;cursor:pointer;transition:color .2s,border-color .2s;color:#6b7280}#schema-panel .tab-btn:hover{color:#1f2937}#schema-panel .tab-btn.active{border-bottom-color:#b82228;color:#b82228}#schema-panel .tab-btn .tab-icon{font-size:14px}#schema-panel .tab-count{font-size:12px;padding:0 6px;border-radius:9999px;background:#f3f4f6;color:#6b7280}#schema-panel .tab-count.active{background:#fef2f2;color:#b82228}#schema-panel .tab-content{padding:16px}#schema-panel .tables-list{display:flex;flex-direction:column;gap:4px}#schema-panel .table-accordion-header{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer}#schema-panel .table-accordion-header:hover{background:#f9fafb}#schema-panel .table-accordion-header .chevron-icon{font-size:14px;color:#9ca3af}#schema-panel .table-accordion-header .table-icon{font-size:14px;color:#3b82f6}#schema-panel .table-name{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500;color:#1f2937}#schema-panel .col-count{font-size:12px;color:#9ca3af}#schema-panel .columns-detail{margin-left:32px;margin-bottom:8px}#schema-panel .columns-table{width:100%;font-size:12px;border-collapse:collapse}#schema-panel .columns-table th{text-align:left;padding:4px 8px;color:#6b7280;border-bottom:1px solid #e5e7eb;font-weight:500}#schema-panel .columns-table td{padding:4px 8px}#schema-panel .columns-table .col-row{border-bottom:1px solid #f9fafb}#schema-panel .columns-table .col-row:hover{background:#f9fafb}#schema-panel .columns-table .ordinal-cell{color:#9ca3af}#schema-panel .columns-table .col-name-cell{font-family:JetBrains Mono,monospace;color:#1f2937}#schema-panel .columns-table .col-name-cell .pk-icon{font-size:10px;display:inline;margin-right:4px;color:#d97706;vertical-align:middle}#schema-panel .columns-table .type-cell{color:#6b7280}#schema-panel .columns-table .nullable-cell{color:#9ca3af}#schema-panel .columns-table .pk-cell{color:#d97706}#schema-panel .col-table-name{font-family:JetBrains Mono,monospace;font-size:12px;color:#1d4ed8}#schema-panel .col-column-name{font-family:JetBrains Mono,monospace;font-size:12px}#schema-panel .col-data-type{font-size:12px;color:#6b7280}#schema-panel .col-pk-yes{color:#d97706;font-size:12px}#schema-panel .col-pk-no{color:#d1d5db}#schema-panel .col-nullable{font-size:12px;color:#9ca3af}#schema-diagram .controls{display:flex;align-items:center;gap:8px;margin-bottom:12px}#schema-diagram .zoom-btn{padding:4px;border-radius:4px;border:1px solid #d1d5db;background:transparent;cursor:pointer;color:#6b7280;display:flex;align-items:center}#schema-diagram .zoom-btn:hover{background:#f9fafb}#schema-diagram .zoom-label{font-size:12px;color:#6b7280;width:40px;text-align:center}#schema-diagram .diagram-container{border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:auto;max-height:600px}#source-connections-page{padding:16px;height:100%;overflow:auto;display:flex;flex-direction:column;gap:24px}#source-connections-page::-webkit-scrollbar{width:4px}#source-connections-page::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#source-connections-page::-webkit-scrollbar-track{background:transparent}#source-connections-page .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}#source-connections-page .connections-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:768px){#source-connections-page .connections-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1200px){#source-connections-page .connections-grid{grid-template-columns:repeat(3,1fr)}}#source-connections-page .connection-card{display:flex;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:box-shadow .2s,border-color .2s}#source-connections-page .connection-card:hover{border-color:var(--db-color, #d1d5db);box-shadow:0 2px 12px #0000000f}#source-connections-page .connection-card:hover .conn-actions{opacity:1}#source-connections-page .connection-card .card-accent{width:4px;flex-shrink:0;background:var(--db-color, #9ca3af)}#source-connections-page .connection-card .card-body{flex:1;padding:14px 16px;display:flex;flex-direction:column;gap:12px;min-width:0}#source-connections-page .connection-card .conn-header{display:flex;align-items:center;gap:12px}#source-connections-page .connection-card .db-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex-shrink:0;letter-spacing:-.5px}#source-connections-page .connection-card .conn-info{flex:1;min-width:0}#source-connections-page .connection-card .conn-info .conn-name{font-size:.8125rem;font-weight:600;color:#2d2d2d;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#source-connections-page .connection-card .conn-info .conn-type{font-size:.6875rem;color:#8a8f96;line-height:1.3}#source-connections-page .connection-card .conn-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}#source-connections-page .connection-card .conn-actions .action-btn{width:28px;height:28px;color:#8a8f96;transition:color .15s,background .15s}#source-connections-page .connection-card .conn-actions .action-btn:hover{color:#2d2d2d;background:#f3f4f6}#source-connections-page .connection-card .conn-actions .action-btn.delete:hover{color:#dc2626;background:#fef2f2}#source-connections-page .connection-card .conn-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}#source-connections-page .connection-card .conn-status{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:500;padding:2px 8px 2px 5px;border-radius:6px;line-height:1}#source-connections-page .connection-card .conn-status.connected{background:#ecfdf5;color:#059669}#source-connections-page .connection-card .conn-status.error{background:#fef2f2;color:#dc2626}#source-connections-page .connection-card .conn-status.untested{background:#f3f4f6;color:#6b7280}#source-connections-page .connection-card .conn-tested{font-size:.625rem;color:#8a8f96}#source-connections-page .empty-state{background:#fff;border:2px dashed #e5e7eb;border-radius:12px;padding:40px 32px;text-align:center}#source-connections-page .empty-state p.empty-title{font-size:.875rem;color:#8a8f96;font-weight:500}#source-connections-page .empty-state p.empty-desc{font-size:.75rem;color:#9ca3af;margin-top:4px}#source-connections-page .empty-state .empty-link{margin-top:16px;font-size:.75rem;color:#b82228;font-weight:500;background:none;border:none;cursor:pointer}#source-connections-page .empty-state .empty-link:hover{text-decoration:underline}#summary-diagram .empty-state{color:#9ca3af;text-align:center;padding:32px 0}#summary-diagram .sub-tabs{display:flex;border-bottom:1px solid #e5e7eb;margin-bottom:12px;overflow-x:auto}#summary-diagram .sub-tab{padding:6px 12px;font-size:12px;font-weight:500;font-family:"Exo 2",system-ui,sans-serif;white-space:nowrap;border:none;border-bottom:2px solid transparent;background:transparent;cursor:pointer;transition:color .2s,border-color .2s;color:#6b7280}#summary-diagram .sub-tab:hover{color:#374151}#summary-diagram .sub-tab.active{border-bottom-color:#b82228;color:#b82228}#summary-diagram .controls{display:flex;align-items:center;gap:8px;margin-bottom:12px}#summary-diagram .zoom-btn{padding:6px;border-radius:4px;border:1px solid #d1d5db;background:transparent;cursor:pointer;display:flex;align-items:center}#summary-diagram .zoom-btn:hover{background:#f9fafb}#summary-diagram .zoom-btn .zoom-icon{font-size:16px;color:#4b5563}#summary-diagram .zoom-label{font-size:12px;color:#6b7280;width:48px;text-align:center}#summary-diagram .stats-label{font-size:12px;color:#9ca3af;margin-left:8px}#summary-diagram .drawio-btn{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12px;font-family:"Exo 2",system-ui,sans-serif;background:#fef2f2;color:#b82228;padding:6px 12px;border-radius:4px;border:none;cursor:pointer}#summary-diagram .drawio-btn:hover{background:#fecaca}#summary-diagram .drawio-btn .drawio-icon{font-size:14px}#summary-diagram .diagram-container{border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:auto;max-height:600px}#project-summary-panel{background:#fff;border-radius:8px;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000d}#project-summary-panel .loading-state{padding:32px;text-align:center;color:#9ca3af}#project-summary-panel .loading-state .loading-spinner{font-size:24px;margin:0 auto 8px;animation:spin 1s linear infinite}#project-summary-panel .loading-state .loading-text{font-size:13px;color:#9ca3af}#project-summary-panel .tab-bar{padding:12px;border-bottom:1px solid #f3f4f6;display:flex;align-items:center;gap:8px}#project-summary-panel .tab-pills{display:flex;gap:4px;background:#f3f4f6;border-radius:8px;padding:4px;overflow-x:auto}#project-summary-panel .tab-pill{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;font-family:"Exo 2",system-ui,sans-serif;white-space:nowrap;border-radius:6px;border:none;cursor:pointer;transition:all .2s;background:transparent;color:#6b7280}#project-summary-panel .tab-pill:hover{color:#374151}#project-summary-panel .tab-pill.active{background:#fff;color:#b82228;box-shadow:0 1px 2px #0000000d}#project-summary-panel .tab-pill .tab-icon{font-size:12px}#project-summary-panel .tab-count{font-size:10px;padding:0 6px;border-radius:9999px;background:#e5e7eb;color:#9ca3af}#project-summary-panel .tab-count.active{background:#b822281a;color:#b82228}#project-summary-panel .tab-content{padding:16px}#summary-tables-view .table-row-item{border-bottom:1px solid #f3f4f6}#summary-tables-view .table-row-item:hover{background:#f9fafb80}#summary-tables-view .table-row-main{display:flex;align-items:center;gap:12px;padding:10px 16px}#summary-tables-view .table-name-col{flex:1;min-width:0}#summary-tables-view .table-name{font-family:"Exo 2",system-ui,sans-serif;color:#b82228;font-weight:600;font-size:12px}#summary-tables-view .confirmed-mark{font-size:9px;color:#10b981;margin-left:4px}#summary-tables-view .table-desc-preview{font-size:10px;color:#9ca3af;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#summary-tables-view .type-select{font-size:12px;padding:4px 8px;border-radius:4px;border:1px solid;font-weight:500;font-family:"Exo 2",system-ui,sans-serif;outline:none;width:112px;flex-shrink:0}#summary-tables-view .type-select:focus{box-shadow:0 0 0 2px #b8222833}#summary-tables-view .type-select.type-transaction{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}#summary-tables-view .type-select.type-dimension{background:#f0fdf4;border-color:#bbf7d0;color:#15803d}#summary-tables-view .type-select.type-ref{background:#faf5ff;border-color:#e9d5ff;color:#7c3aed}#summary-tables-view .type-select.type-other{background:#f9fafb;border-color:#e5e7eb;color:#4b5563}#summary-tables-view .entity-select-wrapper{width:144px;flex-shrink:0}#summary-tables-view .entity-select-wrapper .entity-select{font-size:12px;border:1px solid #e5e7eb;border-radius:4px;padding:4px 8px;width:100%;font-family:"Exo 2",system-ui,sans-serif;outline:none;background:#fff}#summary-tables-view .entity-select-wrapper .entity-select:focus{border-color:#b82228}#summary-tables-view .query-count-badge{font-size:12px;background:#f3f4f6;color:#4b5563;padding:2px 8px;border-radius:9999px;flex-shrink:0;white-space:nowrap}#summary-tables-view .expand-btn{padding:4px;border-radius:4px;flex-shrink:0;border:none;background:transparent;cursor:pointer;transition:color .2s,background .2s;color:#9ca3af;display:flex;align-items:center}#summary-tables-view .expand-btn:hover{color:#4b5563}#summary-tables-view .expand-btn.expanded{color:#b82228;background:#fef2f2}#summary-tables-view .expand-btn .expand-icon{font-size:14px}#summary-tables-view .expanded-section{padding:4px 16px 12px}#summary-tables-view .expanded-card{background:#f9fafb;border-radius:8px;padding:12px;border:1px solid #e5e7eb}#summary-tables-view .expanded-label{font-size:10px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:block;margin-bottom:6px}#summary-tables-view .desc-textarea{width:100%;font-size:12px;font-family:"Exo 2",system-ui,sans-serif;border:1px solid #e5e7eb;border-radius:8px;padding:8px 12px;outline:none;background:#fff;resize:vertical;box-sizing:border-box}#summary-tables-view .desc-textarea:focus{border-color:#b82228;box-shadow:0 0 0 2px #b822281a}#summary-tables-view .expanded-entity-row{display:flex;align-items:center;gap:12px;margin-top:8px}#summary-tables-view .entity-input{font-size:12px;font-family:"Exo 2",system-ui,sans-serif;border:1px solid #e5e7eb;border-radius:4px;padding:4px 8px;width:192px;outline:none;background:#fff}#summary-tables-view .entity-input:focus{border-color:#b82228}#summary-tables-view .empty-tables{padding:32px 16px;text-align:center;color:#9ca3af;font-size:13px}.col-mono{font-family:JetBrains Mono,monospace;font-weight:500}.col-mono-primary{font-family:JetBrains Mono,monospace;color:#b82228;font-size:12px}.col-mono-muted{font-family:JetBrains Mono,monospace;font-size:12px;color:#4b5563}.usage-badge{font-size:12px;background:#f3f4f6;color:#374151;padding:2px 8px;border-radius:9999px;font-weight:500;white-space:nowrap}.calc-yes{font-size:12px;background:#fef3c7;color:#b45309;padding:2px 6px;border-radius:4px}.calc-no{color:#d1d5db}.rel-mono{font-family:JetBrains Mono,monospace;font-size:13px}.join-type-chip{font-size:12px;background:#f3f4f6;color:#374151;padding:2px 6px;border-radius:4px}.join-types-wrap{display:flex;flex-wrap:wrap;gap:4px}.join-key-code{font-size:12px;font-family:JetBrains Mono,monospace;color:#4b5563;background:#f9fafb;padding:2px 6px;border-radius:4px;display:block}.join-keys-stack{display:flex;flex-direction:column;gap:4px}#summary-calculations-view .section{margin-bottom:24px}#summary-calculations-view .section:last-child{margin-bottom:0}#summary-calculations-view .section-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #f3f4f6}#summary-calculations-view .section-dot{width:8px;height:8px;border-radius:50%}#summary-calculations-view .section-title{font-size:13px;font-weight:600;color:#374151}#summary-calculations-view .section-count{font-size:12px;background:#f3f4f6;color:#4b5563;padding:2px 8px;border-radius:9999px;font-weight:500}#summary-calculations-view .calc-name{font-weight:600;color:#b45309}#summary-calculations-view .source-table-chip{font-size:12px;font-family:JetBrains Mono,monospace;background:#eff6ff;color:#1d4ed8;padding:2px 6px;border-radius:4px}#summary-calculations-view .source-tables-wrap{display:flex;flex-wrap:wrap;gap:4px}#summary-calculations-view .expression-code{font-size:12px;font-family:JetBrains Mono,monospace;color:#4b5563;background:#f9fafb;padding:2px 6px;border-radius:4px;display:block;max-width:28rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#entity-mapping-page{padding:16px;height:100%;overflow:auto;display:flex;flex-direction:column;gap:16px}#entity-mapping-page::-webkit-scrollbar{width:4px}#entity-mapping-page::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#entity-mapping-page::-webkit-scrollbar-track{background:transparent}#entity-mapping-page .gap-section .gap-grid{display:flex;gap:10px;margin-bottom:10px}#entity-mapping-page .gap-section .gap-card{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:8px;flex:1}#entity-mapping-page .gap-section .gap-card .gap-label{font-size:.6875rem;color:#54595f}#entity-mapping-page .gap-section .gap-card .gap-count{font-size:.875rem;font-weight:700;color:#2d2d2d}#entity-mapping-page .gap-section .missing-list{padding:10px 12px;background:#fef2f2;border-radius:8px}#discovery-questions-page{padding:24px;max-width:960px;margin:0 auto}#discovery-questions-page .vc-selector-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}#discovery-questions-page .vc-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#8a8f96;margin-bottom:8px}#discovery-questions-page .progress-row{display:flex;justify-content:space-between;font-size:.75rem;color:#8a8f96;margin-bottom:4px}#discovery-questions-page .progress-track{width:100%;background:#f3f4f6;border-radius:999px;height:8px}#discovery-questions-page .progress-fill{background:#b82228;border-radius:999px;height:8px;transition:width .3s}#discovery-questions-page .answers-list{display:flex;flex-direction:column;gap:12px}#discovery-questions-page .answer-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}#discovery-questions-page .answer-card .answer-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}#discovery-questions-page .answer-card .answer-header-content{flex:1}#discovery-questions-page .answer-card .cat-badge{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#b82228;margin-right:8px}#discovery-questions-page .answer-card .question-text{font-size:.875rem;color:#2d2d2d;font-weight:500}#discovery-questions-page .client-answer-box{margin-bottom:8px;background:#fffbeb;border:1px solid #fde68a;border-radius:4px;padding:8px 12px}#discovery-questions-page .client-answer-box .client-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#d97706}#discovery-questions-page .client-answer-box p{font-size:.75rem;color:#92400e;margin-top:4px;white-space:pre-wrap}#discovery-questions-page .feedback-box{margin-top:8px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;padding:8px 12px}#discovery-questions-page .feedback-box .feedback-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#2563eb}#discovery-questions-page .feedback-box p{font-size:.75rem;color:#1e40af}#discovery-questions-page .status-buttons{display:flex;gap:8px;margin-top:8px}#discovery-questions-page .status-chip{font-size:10px;padding:2px 8px;border-radius:4px;cursor:pointer;border:none;transition:all .15s;text-transform:capitalize;background:none}#discovery-questions-page .status-chip.inactive{background:#f9fafb;color:#8a8f96}#discovery-questions-page .status-chip.inactive:hover{background:#f3f4f6}#discovery-questions-page .status-chip.active{font-weight:600}#discovery-questions-page .status-chip.unanswered.active{background:#e5e7eb;color:#4b5563}#discovery-questions-page .status-chip.answered.active{background:#dcfce7;color:#15803d}#discovery-questions-page .status-chip.needs_clarification.active{background:#fef3c7;color:#b45309}#discovery-questions-page .status-chip.confirmed.active{background:#dbeafe;color:#1d4ed8}#discovery-questions-page .status-badge{font-size:10px;padding:2px 8px;border-radius:4px;font-weight:600;display:inline-block;margin-top:8px}#discovery-questions-page .status-badge.unanswered{background:#e5e7eb;color:#4b5563}#discovery-questions-page .status-badge.answered{background:#dcfce7;color:#15803d}#discovery-questions-page .status-badge.needs_clarification{background:#fef3c7;color:#b45309}#discovery-questions-page .status-badge.confirmed{background:#dbeafe;color:#1d4ed8}#discovery-questions-page .feedback-label-small{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#8a8f96;margin-bottom:4px}#client-discovery-page{height:100%;display:flex;flex-direction:column}.page-loading{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px}#user-management-page{padding:24px;max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:24px}#user-management-page .page-header{display:flex;align-items:center;justify-content:space-between}#user-management-page .page-header .page-title{font-weight:700;color:#2d2d2d}#user-management-page .page-header .page-subtitle{color:#6b7280;display:block;margin-top:2px}#user-management-page .create-btn{background:#b82228;text-transform:none;font-weight:600;font-size:14px;border-radius:6px}#user-management-page .create-btn:hover{background:#8b1a1f}#user-management-page .info-banner{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#1e3a5f33;border:1px solid rgba(30,58,95,.3);border-radius:8px}#user-management-page .info-banner .banner-icon{font-size:14px;color:#60a5fa;flex-shrink:0}#user-management-page .info-banner .banner-text{font-size:11px;color:#93c5fd}#user-management-page .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}#user-management-page .stat-card{text-align:center;padding:16px;border-radius:12px}#user-management-page .stat-card .stat-value{font-family:"Exo 2",system-ui,sans-serif;font-size:24px;font-weight:800;color:#2d2d2d}#user-management-page .stat-card .stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-top:2px}#user-management-page .filters-row{display:flex;align-items:center;gap:12px}#user-management-page .filters-row .search-field{flex:1;max-width:320px}#user-management-page .filters-row .search-field .MuiInputBase-root{font-size:12px;border-radius:8px}#user-management-page .role-filters{display:flex;gap:4px}#user-management-page .filter-btn{font-size:12px;padding:6px 12px;border-radius:6px;font-weight:500;border:none;cursor:pointer;transition:all .15s;background:#f3f4f6;color:#6b7280}#user-management-page .filter-btn:hover{background:#e5e7eb}#user-management-page .filter-btn.active{background:#b82228;color:#fff}#user-management-page .table-card{border-radius:12px;overflow:hidden}#user-management-page .users-table{width:100%;border-collapse:collapse}#user-management-page .users-table thead tr{background:#f9fafb;border-bottom:1px solid #f3f4f6}#user-management-page .users-table thead tr th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:600;padding:12px 16px}#user-management-page .users-table thead tr th.actions-col{text-align:right}#user-management-page .users-table tbody tr{border-bottom:1px solid #f9fafb;transition:background-color .15s}#user-management-page .users-table tbody tr:hover{background:#f9fafb80}#user-management-page .users-table tbody tr td{padding:12px 16px}#user-management-page .users-table tbody tr td.actions-col{text-align:right}#user-management-page .user-cell{display:flex;align-items:center;gap:12px}#user-management-page .user-avatar{width:32px;height:32px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center}#user-management-page .user-avatar .avatar-icon{font-size:18px;color:#9ca3af}#user-management-page .username{font-weight:600;color:#2d2d2d}#user-management-page .user-email{font-size:10px;color:#9ca3af}#user-management-page .role-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid}#user-management-page .role-badge.role-architect{background:#b822281a;color:#b82228;border-color:#b8222833}#user-management-page .role-badge.role-consultant{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}#user-management-page .role-badge.role-client{background:#fffbeb;color:#b45309;border-color:#fde68a}#user-management-page .role-badge.role-default{background:#f3f4f6;color:#4b5563}#user-management-page .client-cell{display:flex;align-items:center;gap:6px}#user-management-page .client-cell .client-icon,#user-management-page .no-client{font-size:12px;color:#9ca3af}#user-management-page .status-active,#user-management-page .status-inactive,#user-management-page .verified,#user-management-page .pending{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600}#user-management-page .status-active .status-icon,#user-management-page .status-inactive .status-icon,#user-management-page .verified .status-icon,#user-management-page .pending .status-icon{font-size:12px}#user-management-page .status-active{color:#15803d}#user-management-page .status-inactive{color:#9ca3af}#user-management-page .verified{color:#22c55e}#user-management-page .pending{color:#f59e0b}#user-management-page .pending-verification{display:flex;align-items:center;gap:8px}#user-management-page .resend-btn{font-size:10px;color:#3b82f6;display:flex;align-items:center;gap:2px;border:none;background:none;cursor:pointer;transition:color .15s}#user-management-page .resend-btn:hover{color:#1d4ed8}#user-management-page .resend-btn .resend-icon{font-size:10px}#user-management-page .date-cell{font-size:12px;color:#9ca3af}#user-management-page .action-buttons{display:flex;align-items:center;gap:8px;justify-content:flex-end}#user-management-page .action-btn{font-size:10px;display:flex;align-items:center;gap:4px;border:none;background:none;cursor:pointer;transition:color .15s;padding:0}#user-management-page .action-btn .action-icon{font-size:12px}#user-management-page .action-btn.edit{color:#9ca3af}#user-management-page .action-btn.edit:hover{color:#2563eb}#user-management-page .action-btn.deactivate{color:#9ca3af}#user-management-page .action-btn.deactivate:hover{color:#dc2626}#user-management-page .action-btn.reactivate{color:#9ca3af}#user-management-page .action-btn.reactivate:hover{color:#16a34a}#user-management-page .action-btn.disabled{color:#d1d5db;cursor:not-allowed}#user-management-page .table-empty{padding:32px;text-align:center;color:#9ca3af}.dialog-title{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:14px}.dialog-content{display:flex;flex-direction:column;gap:16px;padding-top:8px!important}.dialog-error{font-size:12px}.dialog-actions{padding:12px 24px}.submit-btn{background:#b82228!important;text-transform:none!important;font-weight:600!important;font-size:12px!important;border-radius:6px!important}.submit-btn:hover{background:#8b1a1f!important}.submit-btn:disabled{opacity:.5}.field-hint{font-size:10px;color:#9ca3af;margin-top:4px;display:block}.verification-note{font-size:10px}#client-management-page{padding:24px;max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:24px}#client-management-page .page-header{display:flex;align-items:center;justify-content:space-between}#client-management-page .page-header .page-title{font-weight:700;color:#2d2d2d}#client-management-page .page-header .page-subtitle{color:#6b7280;display:block;margin-top:2px}#client-management-page .create-btn{background:#b82228;text-transform:none;font-weight:600;font-size:14px;border-radius:6px}#client-management-page .create-btn:hover{background:#8b1a1f}#client-management-page .stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}#client-management-page .stat-card{text-align:center;padding:16px;border-radius:12px}#client-management-page .stat-card .stat-value{font-family:"Exo 2",system-ui,sans-serif;font-size:24px;font-weight:800;color:#2d2d2d}#client-management-page .stat-card .stat-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-top:2px}#client-management-page .filters-row{display:flex;align-items:center;gap:12px}#client-management-page .filters-row .search-field{flex:1;max-width:320px}#client-management-page .filters-row .search-field .MuiInputBase-root{font-size:12px;border-radius:8px}#client-management-page .table-card{border-radius:12px;overflow:hidden}#client-management-page .clients-table{width:100%;border-collapse:collapse}#client-management-page .clients-table thead tr{background:#f9fafb;border-bottom:1px solid #f3f4f6}#client-management-page .clients-table thead tr th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:600;padding:12px 16px}#client-management-page .clients-table thead tr th.actions-col{text-align:right}#client-management-page .clients-table tbody tr{border-bottom:1px solid #f9fafb;transition:background-color .15s}#client-management-page .clients-table tbody tr:hover{background:#f9fafb80}#client-management-page .clients-table tbody tr td{padding:12px 16px}#client-management-page .clients-table tbody tr td.actions-col{text-align:right}#client-management-page .client-cell{display:flex;align-items:center;gap:12px}#client-management-page .client-avatar{width:32px;height:32px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center}#client-management-page .client-avatar .avatar-icon{font-size:16px;color:#9ca3af}#client-management-page .client-name{font-weight:600;color:#2d2d2d}#client-management-page .industry-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;border:1px solid #e5e7eb;background:#f9fafb;color:#4b5563}#client-management-page .count-cell{font-weight:500;color:#2d2d2d}#client-management-page .status-active,#client-management-page .status-inactive{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600}#client-management-page .status-active .status-icon,#client-management-page .status-inactive .status-icon{font-size:12px}#client-management-page .status-active{color:#15803d}#client-management-page .status-inactive{color:#9ca3af}#client-management-page .date-cell{font-size:12px;color:#9ca3af}#client-management-page .action-buttons{display:flex;align-items:center;gap:8px;justify-content:flex-end}#client-management-page .action-btn{font-size:10px;display:flex;align-items:center;gap:4px;border:none;background:none;cursor:pointer;transition:color .15s;padding:0;color:#9ca3af}#client-management-page .action-btn .action-icon{font-size:12px}#client-management-page .action-btn.edit:hover{color:#2563eb}#client-management-page .action-btn.roadmap:hover{color:#b82228}#client-management-page .action-btn.users:hover{color:#d97706}#client-management-page .table-empty{padding:32px;text-align:center;color:#9ca3af}#required-model-page{padding:24px;max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:24px}#required-model-page .page-header h1{font-size:1.125rem;font-weight:700;color:#2d2d2d}#required-model-page .page-header p{font-size:.75rem;color:#8a8f96;margin-top:2px}#required-model-page .tables-list{display:flex;flex-direction:column;gap:8px}#required-model-page .expandable-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;border-left:4px solid}#required-model-page .expandable-table.fact{border-left-color:#2563eb}#required-model-page .expandable-table.dimension{border-left-color:#16a34a}#required-model-page .expandable-table .table-toggle{width:100%;text-align:left;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;border:none;background:none;cursor:pointer;transition:background .15s}#required-model-page .expandable-table .table-toggle:hover{background:#f9fafb}#required-model-page .expandable-table .table-toggle code{font-size:.75rem;font-family:JetBrains Mono,monospace;font-weight:600;color:#2d2d2d}#required-model-page .expandable-table .table-toggle .table-name{font-size:.75rem;color:#8a8f96;margin-left:8px}#required-model-page .expandable-table .table-toggle .col-count{font-size:10px;color:#9ca3af}#required-model-page .expandable-table .attr-table{width:100%;font-size:.75rem;border-collapse:collapse;border-top:1px solid #f3f4f6}#required-model-page .expandable-table .attr-table thead tr{text-align:left;color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:.05em}#required-model-page .expandable-table .attr-table thead tr.fact-header{background:#2563eb}#required-model-page .expandable-table .attr-table thead tr.dimension-header{background:#16a34a}#required-model-page .expandable-table .attr-table thead tr th{padding:6px 16px}#required-model-page .expandable-table .attr-table tbody tr{border-top:1px solid #f9fafb}#required-model-page .expandable-table .attr-table tbody td{padding:6px 16px}#required-model-page .expandable-table .attr-table tbody td.col-name{font-family:JetBrains Mono,monospace}#required-model-page .expandable-table .attr-table tbody td.col-type,#required-model-page .expandable-table .attr-table tbody td.col-desc{color:#6b7280}#allocation-layout{display:flex;flex-direction:column;height:100%}#allocation-layout .tab-nav{border-bottom:1px solid #e5e7eb;background:#fff;padding:16px 24px 0}#allocation-layout .tab-groups{display:flex;align-items:center;gap:32px}#allocation-layout .tab-group{display:flex;align-items:center;gap:4px}#allocation-layout .tab-group-label{font-size:10px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-right:8px}#allocation-layout .tab-item{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:500;border-bottom:2px solid transparent;text-decoration:none;color:#8a8f96;transition:color .2s,border-color .2s}#allocation-layout .tab-item:hover{color:#374151;border-bottom-color:#d1d5db}#allocation-layout .tab-item.active{border-bottom-color:#b82228;color:#b82228}#allocation-layout .tab-content{flex:1;overflow-y:auto}#allocation-overview-page{padding:24px;max-width:960px;margin:0 auto}#allocation-overview-page .page-header{margin-bottom:20px}#allocation-overview-page .page-title{font-weight:700;color:#2d2d2d;display:flex;align-items:center;gap:8px}#allocation-overview-page .title-icon{color:#b82228}#allocation-overview-page .page-subtitle{color:#8a8f96;margin-top:2px}#allocation-overview-page .getting-started-card{padding:20px;margin-bottom:16px}#allocation-overview-page .getting-started-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}#allocation-overview-page .getting-started-title{font-weight:600;color:#2d2d2d}#allocation-overview-page .getting-started-count{color:#9ca3af}#allocation-overview-page .progress-bar-bg{height:4px;border-radius:4px;background:#f3f4f6;margin-bottom:12px}#allocation-overview-page .progress-bar-fill{height:4px;border-radius:4px;background:#b82228;transition:width .3s}#allocation-overview-page .steps-list{display:flex;flex-direction:column;gap:8px}#allocation-overview-page .step-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;border:1px solid;text-decoration:none;text-align:left;transition:all .2s}#allocation-overview-page .step-item.step-done{border-color:#d1fae5;background:#ecfdf580;opacity:.7;cursor:default}#allocation-overview-page .step-item.step-pending{border-color:#e5e7eb;background:#fff}#allocation-overview-page .step-item.step-pending:hover{border-color:#b822284d;box-shadow:0 1px 2px #0000000d}#allocation-overview-page .step-icon-done{color:#059669;flex-shrink:0}#allocation-overview-page .step-icon-pending{color:#d1d5db;flex-shrink:0}#allocation-overview-page .step-content{flex:1;min-width:0}#allocation-overview-page .step-label{font-size:13px;font-weight:500;color:#2d2d2d}#allocation-overview-page .step-label.done{color:#059669;text-decoration:line-through}#allocation-overview-page .step-desc{font-size:11px;color:#9ca3af}#allocation-overview-page .step-arrow{color:#d1d5db;flex-shrink:0}#allocation-overview-page .flow-card{padding:20px;margin-bottom:16px}#allocation-overview-page .flow-card-title{font-weight:600;color:#2d2d2d;margin-bottom:16px}#allocation-overview-page .flow-diagram-v2{display:flex;align-items:stretch;gap:4px}@media(max-width:720px){#allocation-overview-page .flow-diagram-v2{flex-direction:column;gap:10px}#allocation-overview-page .flow-diagram-v2 .flow-connector{display:none}}#allocation-overview-page .flow-col{display:flex;flex-direction:column;gap:10px;justify-content:center;min-width:0;flex:1 1 0}#allocation-overview-page .flow-col-single{flex:1 1 0}#allocation-overview-page .flow-col-stack{flex:1.2 1 0}#allocation-overview-page .flow-connector{display:flex;align-items:center;justify-content:center;flex:0 0 18px}#allocation-overview-page .flow-arrow{font-size:20px!important;opacity:.6}#allocation-overview-page .flow-col-single .flow-node{padding:8px 10px;gap:8px}#allocation-overview-page .flow-col-single .flow-node-icon{width:28px;height:28px}#allocation-overview-page .flow-node{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1.5px solid;background:#fff}#allocation-overview-page .flow-node-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}#allocation-overview-page .flow-node-text{min-width:0}#allocation-overview-page .flow-node-label{font-size:12px;font-weight:600}#allocation-overview-page .flow-node-sub{font-size:10px;color:#8a8f96}#allocation-overview-page .flow-output{padding:14px 16px;border-radius:12px;text-align:center;border:2px solid}#allocation-overview-page .flow-output-label{font-size:13px;font-weight:700}#allocation-overview-page .flow-output-sub{font-size:10px;color:#8a8f96;margin-top:2px}#allocation-overview-page .quick-actions-title{font-weight:600;color:#2d2d2d;margin-bottom:10px}#allocation-overview-page .quick-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}#allocation-overview-page .quick-action-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:14px;display:flex;align-items:center;gap:12px;text-decoration:none;transition:all .2s}#allocation-overview-page .quick-action-card:hover{border-color:#b822284d;box-shadow:0 1px 2px #0000000d}#allocation-overview-page .quick-action-icon-wrapper{width:36px;height:36px;border-radius:8px;background:#b822281a;display:flex;align-items:center;justify-content:center;flex-shrink:0}#allocation-overview-page .quick-action-icon{color:#b82228}#allocation-overview-page .quick-action-label{font-size:13px;font-weight:600;color:#2d2d2d}#allocation-overview-page .quick-action-sub{font-size:11px;color:#8a8f96}.loading-center{display:flex;align-items:center;justify-content:center;padding:96px 0}.loading-text{margin-left:8px;color:#6b7280}#connection-card{border-bottom:1px solid #f3f4f6;padding:10px 0}#connection-card .conn-card-header{display:flex;align-items:center;gap:8px}#connection-card .conn-icon{color:#b82228;flex-shrink:0}#connection-card .conn-info{flex:1;min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}#connection-card .conn-name{font-size:13px;font-weight:500;color:#2d2d2d}#connection-card .conn-type-chip{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;height:20px}#connection-card .conn-host{font-size:11px;color:#9ca3af}#connection-card .edit-btn{color:#9ca3af}#connection-card .edit-btn:hover{color:#b82228;background:#b822280d}#connection-card .delete-btn{color:#9ca3af}#connection-card .delete-btn:hover{color:#dc2626;background:#fef2f2}#connection-card .confirm-row{display:flex;align-items:center;gap:4px}#connection-card .confirm-label{font-size:11px;color:#dc2626}#connection-card .conn-edit-form{margin-top:8px;border-radius:8px;border:2px solid rgba(184,34,40,.25);border-left:4px solid #B82228;background:#f9fafb;padding:12px}#connection-card .form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}#connection-card .form-grid-fabric{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:8px}#connection-card .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}#connection-card .result-alert{margin-top:6px}#schema-editor{margin-top:12px}#schema-editor .schema-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}#schema-editor .schema-count{font-size:12px;font-weight:600;color:#6b7280}#schema-editor .schema-grid{overflow:hidden;border-radius:6px;border:1px solid #e5e7eb}#schema-editor .schema-grid-header{display:grid;grid-template-columns:2fr 1fr;border-bottom:1px solid #e5e7eb;background:#f9fafb}#schema-editor .schema-grid-header.with-actions{grid-template-columns:2fr 1fr 80px}#schema-editor .col-header{padding:6px 12px;font-size:11px;font-weight:600;color:#6b7280}#schema-editor .schema-row{display:grid;grid-template-columns:2fr 1fr;border-bottom:1px solid #f3f4f6}#schema-editor .schema-row:last-child{border-bottom:none}#schema-editor .schema-row.with-actions{grid-template-columns:2fr 1fr 80px}#schema-editor .schema-row.editing{background:#fffbeb}#schema-editor .schema-row.add-row{background:#f0fdf4;border-top:1px solid #e5e7eb}#schema-editor .cell-mono{padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:12px;color:#2d2d2d}#schema-editor .cell-type{padding:6px 12px;font-size:12px;color:#6b7280}#schema-editor .cell-pad{padding:4px 8px}#schema-editor .cell-actions{display:flex;align-items:center;gap:2px;padding:4px 8px}#schema-editor .edit-btn{color:#b82228}#schema-editor .edit-btn:hover{color:#8b1a1f}#schema-editor .delete-btn{color:#9ca3af}#schema-editor .delete-btn:hover{color:#dc2626}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#allocation-tables-page{padding:24px;max-width:960px;margin:0 auto}#allocation-tables-page .page-header{margin-bottom:20px}#allocation-tables-page .page-header-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}#allocation-tables-page .page-title{font-weight:700;color:#2d2d2d;display:flex;align-items:center;gap:8px}#allocation-tables-page .title-icon{color:#b82228}#allocation-tables-page .page-subtitle{color:#8a8f96;margin-top:2px}#allocation-tables-page .header-actions{display:flex;align-items:center;gap:8px}#allocation-tables-page .loading-center{display:flex;align-items:center;justify-content:center;padding:64px 0}#allocation-tables-page .loading-text{margin-left:8px;color:#8a8f96}#allocation-tables-page .connections-card{padding:16px 20px;margin-bottom:16px}#allocation-tables-page .section-title{font-size:13px;font-weight:600;color:#2d2d2d;margin-bottom:10px}#allocation-tables-page .empty-state{padding:48px;text-align:center}#allocation-tables-page .empty-icon{color:#d1d5db;margin-bottom:8px}#allocation-tables-page .tables-list{display:flex;flex-direction:column;gap:8px}#allocation-tables-page .table-row-card.gl-table{border-left:3px solid #B82228}#allocation-tables-page .table-row-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;cursor:pointer}#allocation-tables-page .table-row-left{display:flex;align-items:center;gap:10px}#allocation-tables-page .icon-active{color:#b82228}#allocation-tables-page .icon-muted{color:#9ca3af}#allocation-tables-page .table-name-row{display:flex;align-items:center;gap:8px}#allocation-tables-page .table-name-mono{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600;color:#2d2d2d}#allocation-tables-page .table-meta{font-size:11px;color:#9ca3af}#allocation-tables-page .gl-chip{background:#fee2e2;color:#b82228;font-size:10px;font-weight:700;height:20px}#allocation-tables-page .table-row-actions{display:flex;align-items:center;gap:6px}#allocation-tables-page .set-gl-btn{font-size:11px;text-transform:none;color:#8a8f96}#allocation-tables-page .set-gl-btn:hover{color:#b82228}#allocation-tables-page .delete-btn{color:#9ca3af}#allocation-tables-page .delete-btn:hover{color:#dc2626;background:#fef2f2}#allocation-tables-page .table-schema-area{border-top:1px solid #f3f4f6;padding:0 18px 14px}.wizard-header{display:flex;align-items:center;justify-content:space-between;width:100%}.wizard-stepper{display:flex;gap:4px;margin-bottom:20px}.stepper-step{flex:1;border-radius:6px;padding:6px;text-align:center;font-size:11px;font-weight:500;border:1px solid transparent;background:#f3f4f6;color:#9ca3af}.stepper-step.active{background:#b822281a;color:#b82228;border-color:#b822284d;font-weight:600}.stepper-step.done{background:#f0fdf4;color:#16a34a}.wizard-form{display:flex;flex-direction:column;gap:12px}.form-row{display:flex;gap:10px}.wizard-success{display:flex;flex-direction:column;align-items:center;gap:16px;padding:16px 0}.success-icon-wrapper{width:56px;height:56px;border-radius:50%;background:#f0fdf4;display:flex;align-items:center;justify-content:center}.success-title{font-weight:600;color:#16a34a}.success-desc{text-align:center;color:#8a8f96}.success-desc code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:12px}.discovered-tables-list{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.discovered-table-item{display:flex;align-items:center;gap:10px;border-radius:8px;padding:10px 14px;text-align:left;font-size:13px;cursor:pointer;border:1px solid #e5e7eb;background:#fff;transition:all .2s}.discovered-table-item:hover{border-color:#d1d5db}.discovered-table-item.selected{border:2px solid #B82228;background:#b822280d}.discovered-table-item .table-name{flex:1;font-weight:500}.discovered-table-item .table-meta{font-size:11px;color:#9ca3af}#filter-row.filter-row-wrapper{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}#filter-row .col-select{flex:none;width:150px}#filter-row .op-select{flex:none;width:105px}#filter-row .value-group{display:flex;align-items:center;gap:6px;flex:1;min-width:70px}#filter-row .range-label{font-size:10px;color:#9ca3af;font-weight:600;flex-shrink:0}#filter-row .value-input{flex:1;min-width:60px}#filter-row .remove-btn{color:#9ca3af}#filter-row .remove-btn:hover{color:#ef4444}#allocation-gl-buckets-page{padding:24px;max-width:960px;margin:0 auto}#allocation-gl-buckets-page .page-header{margin-bottom:20px}#allocation-gl-buckets-page .page-header-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}#allocation-gl-buckets-page .page-title{font-weight:700;color:#2d2d2d;display:flex;align-items:center;gap:8px}#allocation-gl-buckets-page .title-icon{color:#b82228}#allocation-gl-buckets-page .page-subtitle{color:#8a8f96;margin-top:2px}#allocation-gl-buckets-page .header-actions{display:flex;align-items:center;gap:8px}#allocation-gl-buckets-page .loading-center{display:flex;align-items:center;justify-content:center;padding:64px 0}#allocation-gl-buckets-page .tab-pills{display:flex;align-items:center;gap:4px;margin-bottom:16px;background:#f3f4f6;border-radius:8px;padding:4px;width:fit-content}#allocation-gl-buckets-page .tab-pill{padding:6px 16px;border-radius:6px;font-size:14px;font-weight:500;text-transform:none;color:#8a8f96}#allocation-gl-buckets-page .tab-pill.active{background:#fff;color:#2d2d2d;box-shadow:0 1px 2px #0000000d}#allocation-gl-buckets-page .tab-pill:hover:not(.active){color:#374151}#allocation-gl-buckets-page .overlap-banner{margin-bottom:12px}#allocation-gl-buckets-page .overlap-detail{margin-top:4px;padding:6px;background:#f59e0b1a;border-radius:6px}#allocation-gl-buckets-page .empty-state{padding:48px;text-align:center}#allocation-gl-buckets-page .empty-icon{color:#d1d5db;margin-bottom:8px}#allocation-gl-buckets-page .buckets-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(max-width:1024px){#allocation-gl-buckets-page .buckets-grid{grid-template-columns:1fr}}#allocation-gl-buckets-page .bucket-card{transition:opacity .2s}#allocation-gl-buckets-page .bucket-card.inactive{opacity:.6}#allocation-gl-buckets-page .bucket-card.has-overlap{border-left:3px solid #fbbf24}#allocation-gl-buckets-page .bucket-header{padding:14px 16px}#allocation-gl-buckets-page .bucket-header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:6px}#allocation-gl-buckets-page .bucket-title-btn{display:flex;align-items:center;gap:8px;cursor:pointer;min-width:0;flex:1 1 auto}#allocation-gl-buckets-page .bucket-title-btn:hover .bucket-name{color:#b82228}#allocation-gl-buckets-page .bucket-name{font-size:14px;font-weight:600;color:#2d2d2d;transition:color .2s;margin:0;line-height:1.35;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#allocation-gl-buckets-page .icon-active{color:#b82228}#allocation-gl-buckets-page .icon-warning{color:#f59e0b}#allocation-gl-buckets-page .icon-muted{color:#9ca3af}#allocation-gl-buckets-page .overlap-chip{background:#fef3c7;color:#b45309;font-size:10px;font-weight:600;height:20px}#allocation-gl-buckets-page .bucket-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}#allocation-gl-buckets-page .edit-btn{color:#b82228}#allocation-gl-buckets-page .edit-btn:hover{background:#b822281a}#allocation-gl-buckets-page .delete-btn{color:#9ca3af}#allocation-gl-buckets-page .delete-btn:hover{color:#dc2626;background:#fef2f2}#allocation-gl-buckets-page .bucket-desc{font-size:12px;color:#8a8f96;line-height:1.5;margin:0 0 8px 30px}#allocation-gl-buckets-page .bucket-meta{display:flex;align-items:center;gap:6px;margin-left:30px}#allocation-gl-buckets-page .meta-text{font-size:11px;color:#9ca3af}#allocation-gl-buckets-page .filter-count-chip{font-size:10px;font-weight:500;background:#f3f4f6;color:#4b5563;height:20px}#allocation-gl-buckets-page .bucket-filters-expanded{padding:4px 16px 12px;border-top:1px solid #f3f4f6}#allocation-gl-buckets-page .filters-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;font-weight:600;margin-bottom:8px;margin-top:4px}#allocation-gl-buckets-page .filters-list{display:flex;flex-direction:column;gap:4px}#allocation-gl-buckets-page .and-label{font-size:10px;font-weight:600;color:#b82228;padding:2px 0 2px 4px;letter-spacing:.05em}#allocation-gl-buckets-page .filter-display{display:flex;align-items:center;gap:8px;font-size:12px;background:#f9fafb;border-radius:4px;padding:6px 10px}#allocation-gl-buckets-page .filter-col{font-family:JetBrains Mono,monospace;font-weight:500;color:#1f2937}#allocation-gl-buckets-page .filter-op{color:#8a8f96}#allocation-gl-buckets-page .filter-val{color:#374151}#allocation-gl-buckets-page .bucket-modal-form{display:flex;flex-direction:column;gap:14px;padding-top:8px}#allocation-gl-buckets-page .bucket-modal-form .field-group{display:flex;flex-direction:column;gap:6px}#allocation-gl-buckets-page .bucket-modal-form .field-label{font-size:12px;font-weight:600;color:#54595f;margin:0;line-height:1.2}#allocation-drivers-page{padding:24px;max-width:960px;margin:0 auto}#allocation-drivers-page .page-header{margin-bottom:20px}#allocation-drivers-page .page-title{font-weight:700;color:#2d2d2d;display:flex;align-items:center;gap:8px}#allocation-drivers-page .title-icon{color:#b82228}#allocation-drivers-page .page-subtitle{color:#8a8f96;margin-top:2px}#allocation-drivers-page .tab-pills{display:flex;align-items:center;gap:4px;margin-bottom:20px;background:#f3f4f6;border-radius:8px;padding:4px;width:fit-content}#allocation-drivers-page .tab-pill{padding:6px 16px;border-radius:6px;font-size:14px;font-weight:500;text-transform:none;color:#8a8f96}#allocation-drivers-page .tab-pill.active{background:#fff;color:#2d2d2d;box-shadow:0 1px 2px #0000000d}#allocation-drivers-page .tab-pill:hover:not(.active){color:#374151}#allocation-drivers-page .loading-center{display:flex;align-items:center;justify-content:center;padding:64px 0}#allocation-drivers-page .loading-text{margin-left:8px;color:#8a8f96}#allocation-drivers-page .tab-actions{display:flex;justify-content:flex-end;margin-bottom:12px}#allocation-drivers-page .inline-form{background:#f9fafb;padding:16px;margin-bottom:16px}#allocation-drivers-page .form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}#allocation-drivers-page .form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}#allocation-drivers-page .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}#allocation-drivers-page .empty-state{padding:48px;text-align:center}#allocation-drivers-page .empty-icon{color:#d1d5db;margin-bottom:8px}#allocation-drivers-page .data-table-card{overflow:hidden}#allocation-drivers-page .table-header .MuiTableCell-root{background:#f9fafb;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#8a8f96;font-weight:600}#allocation-drivers-page .table-row:hover{background:#f9fafb99}#allocation-drivers-page .cell-bold{font-weight:500;color:#2d2d2d}#allocation-drivers-page .cell-mono{font-family:JetBrains Mono,monospace;font-size:12px;color:#4b5563}#allocation-drivers-page .cell-muted{font-size:12px;color:#4b5563}#allocation-drivers-page .delete-btn{color:#9ca3af}#allocation-drivers-page .delete-btn:hover{color:#dc2626;background:#fef2f2}#period-navigator{margin-bottom:16px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;padding:14px 20px}#period-navigator .nav-row{display:flex;align-items:center;justify-content:space-between}#period-navigator .nav-left{display:flex;align-items:center;gap:12px}#period-navigator .nav-right{display:flex;align-items:center;gap:8px}#period-navigator .period-label{font-size:16px;font-weight:700}#period-navigator .status-chip{font-size:11px;font-weight:600}#period-navigator .locked-info{margin-top:10px;display:flex;align-items:center;gap:8px;border-radius:4px;background:#f3f4f6;padding:8px 14px;color:#6b7280}#rule-summary-stats{margin-bottom:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}#rule-summary-stats .stat-card{padding:14px 16px}#rule-summary-stats .stat-row{display:flex;align-items:center;gap:10px}#rule-summary-stats .stat-icon-wrapper{width:32px;height:32px;border-radius:4px;background:#f3f4f6;display:flex;align-items:center;justify-content:center}#rule-summary-stats .stat-value{font-size:15px;font-weight:700;color:#2d2d2d}#rule-summary-stats .stat-label{font-size:11px;color:#9ca3af}#run-history{margin-bottom:16px}#run-history .run-history-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f3f4f6;padding:12px 16px}#run-history .run-history-title{font-size:13px;font-weight:600}#run-history .run-count-chip{background:#f3f4f6;font-size:11px;font-weight:600;color:#6b7280}#run-history .run-history-body{padding:8px 16px}#run-history .run-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #f3f4f6;padding:6px 0;cursor:pointer}#run-history .run-row.expanded{background:#f9fafb}#run-history .run-date{font-size:12px;color:#6b7280}#run-history .run-meta{font-size:12px;font-weight:500}#run-history .run-error{margin-left:auto;font-size:11px;color:#dc2626}#run-history .recon-area{border-bottom:1px solid #f3f4f6;background:#f9fafb;padding:8px 16px}#run-history .recon-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:4px}#run-history .recon-table{font-size:11px}#run-history .recon-bucket{font-weight:500}#run-history .recon-chip{font-size:10px;font-weight:600}.driver-type-badge{display:inline-block;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:600;line-height:1.2}.driver-type-badge.badge-auto{background:#dbeafe;color:#1d4ed8}.driver-type-badge.badge-manual{background:#fef3c7;color:#b45309}.driver-type-badge.badge-precalc{background:#ede9fe;color:#6d28d9}.driver-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.driver-dot.dot-auto{background:#3b82f6}.driver-dot.dot-manual{background:#f59e0b}.driver-dot.dot-precalc{background:#8b5cf6}.driver-display{display:flex;align-items:center;gap:6px}.driver-name{font-weight:500;font-size:12px}.driver-name.small{font-size:11px}.driver-native-select{width:100%;border-radius:4px;border:1px solid #3b82f6;background:#fff;outline:none;font-family:inherit;padding:4px 8px;font-size:12px}.driver-native-select.small{padding:2px 6px;font-size:11px}.driver-select-btn{display:flex;width:100%;align-items:center;gap:6px;border-radius:4px;border:1px solid #e5e7eb;background:#fff;text-align:left;font-family:inherit;padding:4px 10px;font-size:12px;cursor:pointer}.driver-select-btn.small{padding:2px 8px;font-size:11px}.driver-select-name{flex:1;font-weight:500}#manual-editor{margin-top:6px;border-radius:4px;border:1px solid rgba(245,158,11,.15);background:#fffbeb;padding:10px}#manual-editor .grid-area{overflow-x:auto}#manual-editor .manual-table{width:100%;border-collapse:collapse;font-size:11px}#manual-editor .manual-cell{padding:2px}#manual-editor .manual-input{box-sizing:border-box;width:100%;border-radius:4px;border:1px solid #e5e7eb;padding:2px 6px;font-family:inherit;font-size:11px}#manual-editor .manual-footer{margin-top:8px;display:flex;align-items:center;justify-content:space-between}#manual-editor .manual-footer-left{display:flex;align-items:center;gap:8px}#manual-editor .manual-loading{display:flex;align-items:center;gap:6px;padding:8px 0}#manual-editor .total-label{display:flex;align-items:center;gap:2px;font-size:10px;font-weight:600}#manual-editor .total-label.valid{color:#16a34a}#manual-editor .total-label.invalid{color:#dc2626}.conn-block{overflow:hidden;border-radius:8px;border:none}.conn-header{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);padding:8px 12px}.conn-index{flex:1;font-size:11px;font-weight:600;color:#6b7280}.conn-pct{font-size:13px;font-weight:700}.conn-pct-input{width:56px;border-radius:4px;border:1px solid #e5e7eb;padding:2px 6px;text-align:right;font-family:inherit;font-size:12px}.pct-sign{font-size:11px;color:#6b7280}.pct-sign-sm{font-size:10px;color:#6b7280}.delete-btn-sm{color:#9ca3af}.delete-btn-sm:hover{color:#ef4444}.confirm-delete{display:flex;align-items:center;gap:4px}.conn-body{padding:10px 12px}.step-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;margin-bottom:6px}.granularity-hint{margin-top:2px;font-size:10px;color:#9ca3af}.granularity-hint code{font-weight:600;color:#6b7280;background:#f3f4f6;padding:1px 4px;border-radius:2px}.step2-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.step2-total{font-size:10px;font-weight:600}.step2-total.valid{color:#16a34a}.step2-total.invalid{color:#dc2626}.step2-total.muted{color:#9ca3af}.step2-row{margin-bottom:4px;display:flex;align-items:center;gap:8px;padding-left:8px}.step2-pct{font-size:12px;font-weight:500}.step2-edit-row{margin-bottom:6px;display:flex;align-items:center;gap:6px}.step2-pct-input{width:48px;border-radius:4px;border:1px solid #e5e7eb;padding:2px 6px;text-align:right;font-family:inherit;font-size:11px}.add-step2-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:4px;border-radius:4px;border:1px dashed #e5e7eb;background:transparent;padding:6px;font-size:11px;color:#9ca3af;cursor:pointer}.add-step2-btn:hover{border-color:#9ca3af;color:#4b5563}.pool-flow-card{overflow:hidden;border-left:none}.pool-flow-card.border-gray,.pool-flow-card.border-green,.pool-flow-card.border-red,.pool-flow-card.border-amber{border-left-color:transparent}.pool-flow-card .pfc-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.pool-flow-card .pfc-header-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.pool-flow-card .pfc-name{font-size:14px;font-weight:600}.pool-flow-card .pfc-summary{font-size:11px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pool-flow-card .pfc-header-right{display:flex;align-items:center;gap:8px}.pool-flow-card .pct-chip{font-size:11px;font-weight:600}.pool-flow-card .unconfigured-chip{background:#f3f4f6;color:#6b7280;font-size:11px;font-weight:600}.pool-flow-card .confirm-row{display:flex;align-items:center;gap:4px}.pool-flow-card .confirm-label{font-size:11px;color:#dc2626}.pool-flow-card .pfc-body{border-top:none;padding:14px 16px}.pool-flow-card .conns-grid{display:grid;gap:10px}.pool-flow-card .conns-grid.two-col{grid-template-columns:repeat(2,1fr)}.pool-flow-card .conns-grid.one-col{grid-template-columns:1fr}.pool-flow-card .add-edit-btn{margin-top:10px;display:flex;width:100%;align-items:center;justify-content:center;gap:6px;border-radius:4px;border:2px dashed #e5e7eb;background:transparent;padding:10px;font-size:12px;color:#6b7280;cursor:pointer}.pool-flow-card .add-edit-btn:hover{border-color:#60a5fa;color:#2563eb}.pool-flow-card .edit-footer{margin-top:12px;display:flex;align-items:center;justify-content:space-between}.pool-flow-card .edit-total{font-size:12px;font-weight:600}.pool-flow-card .edit-total.valid{color:#16a34a}.pool-flow-card .edit-total.invalid{color:#dc2626}.pool-flow-card .edit-actions{display:flex;gap:8px}#scenario-panel{margin-bottom:16px;padding:14px 16px}#scenario-panel .scenario-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}#scenario-panel .scenario-title{font-size:13px;font-weight:600}#scenario-panel .scenario-create-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}#scenario-panel .scenario-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid #f3f4f6;padding:4px 0}#scenario-panel .scenario-name{flex:1;font-size:12px;font-weight:500}#scenario-panel .live-chip{font-size:10px;font-weight:600}#allocation-rules-page{max-width:960px;margin:0 auto;padding:24px}#allocation-rules-page .revert-toast{position:fixed;right:20px;top:20px;z-index:2000;box-shadow:0 4px 12px #00000026}#allocation-rules-page .expand-collapse-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px}#allocation-rules-page .rules-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}#allocation-rules-page .add-rule-btn{border:2px dashed #e5e7eb;text-transform:none;color:#8a8f96;padding:16px}#allocation-rules-page .add-rule-btn:hover{border-color:#3b82f6;color:#2563eb}#allocation-rules-page .all-configured-msg{width:100%;border:2px dashed #f3f4f6;background:#f9fafb;padding:14px;text-align:center;font-size:13px;color:#9ca3af;border-radius:8px}#allocation-rules-page .empty-state{padding:40px;text-align:center}#allocation-rules-page .empty-icon{color:#d1d5db;margin-bottom:16px}#allocation-rules-page .dialog-header-row{display:flex;align-items:center;justify-content:space-between;width:100%}#allocation-rules-page .picker-list{display:flex;flex-direction:column;gap:6px}#allocation-rules-page .picker-item{display:flex;align-items:center;gap:10px;border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px;cursor:pointer;font-size:13px;transition:background .2s}#allocation-rules-page .picker-item:hover{background:#f9fafb}#allocation-rules-page .picker-name{flex:1;font-weight:500}#allocation-rules-page .picker-meta{font-size:11px;color:#9ca3af}#allocation-schedules-page{padding:24px;max-width:960px;margin:0 auto}#allocation-schedules-page .page-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}#allocation-schedules-page .page-title{font-weight:700;color:#2d2d2d;display:flex;align-items:center;gap:8px}#allocation-schedules-page .title-icon{color:#b82228}#allocation-schedules-page .page-subtitle{color:#8a8f96;margin-top:2px}#allocation-schedules-page .loading-center{display:flex;align-items:center;justify-content:center;padding:80px 0}#allocation-schedules-page .loading-text{margin-left:8px;color:#8a8f96}#allocation-schedules-page .inline-form{padding:16px;margin-bottom:16px}#allocation-schedules-page .form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}#allocation-schedules-page .form-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}#allocation-schedules-page .form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}#allocation-schedules-page .empty-state{padding:64px;text-align:center}#allocation-schedules-page .empty-icon{color:#d1d5db;margin-bottom:12px}#allocation-schedules-page .data-table-card{overflow:hidden}#allocation-schedules-page .table-header .MuiTableCell-root{background:#f9fafb;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#8a8f96;font-weight:600}#allocation-schedules-page .table-row:hover{background:#f9fafb99}#allocation-schedules-page .cell-bold{font-weight:500;color:#2d2d2d}#allocation-schedules-page .cell-mono{font-family:JetBrains Mono,monospace;font-size:12px;color:#4b5563}#allocation-schedules-page .cell-muted{font-size:12px;color:#8a8f96}#allocation-schedules-page .row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}#allocation-schedules-page .run-btn{color:#9ca3af}#allocation-schedules-page .run-btn:hover{color:#16a34a;background:#f0fdf4}#allocation-schedules-page .delete-btn{color:#9ca3af}#allocation-schedules-page .delete-btn:hover{color:#dc2626;background:#fef2f2}#allocation-dashboard-page{padding:16px;height:100%;overflow:auto;display:flex;flex-direction:column;gap:20px}#allocation-dashboard-page::-webkit-scrollbar{width:4px}#allocation-dashboard-page::-webkit-scrollbar-thumb{background:#b822281f;border-radius:4px}#allocation-dashboard-page::-webkit-scrollbar-track{background:transparent}#allocation-dashboard-page .page-header .page-title{font-weight:700;color:#2d2d2d;display:flex;align-items:center;gap:8px;font-size:1rem}#allocation-dashboard-page .page-header .title-icon{color:#b82228}#allocation-dashboard-page .page-header .page-subtitle{color:#8a8f96;margin-top:2px;font-size:.75rem}#allocation-dashboard-page .stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}#allocation-dashboard-page .stats-row .stat-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px}#allocation-dashboard-page .stats-row .stat-value{font-size:1.5rem;font-weight:700;color:#2d2d2d;line-height:1.2}#allocation-dashboard-page .stats-row .stat-label{font-size:.6875rem;color:#8a8f96}#allocation-dashboard-page .runs-card{border-radius:10px;overflow:hidden}#allocation-dashboard-page .runs-card .runs-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #f3f4f6}#allocation-dashboard-page .runs-card .runs-list .run-row{display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid #f9fafb}#allocation-dashboard-page .runs-card .runs-list .run-row:last-child{border-bottom:none}#allocation-dashboard-page .runs-card .runs-list .run-row .run-status{display:flex;align-items:center;gap:6px;min-width:110px}#allocation-dashboard-page .runs-card .runs-summary{padding:8px 16px;border-top:1px solid #f3f4f6;background:#f9fafb}#allocation-audit-page{padding:24px;max-width:960px;margin:0 auto}#allocation-audit-page .page-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}#allocation-audit-page .page-title{font-weight:700;color:#2d2d2d;display:flex;align-items:center;gap:8px}#allocation-audit-page .title-icon{color:#b82228}#allocation-audit-page .page-subtitle{color:#8a8f96;margin-top:2px}#allocation-audit-page .loading-center{display:flex;align-items:center;justify-content:center;padding:80px 0}#allocation-audit-page .loading-text{margin-left:8px;color:#8a8f96}#allocation-audit-page .filter-bar{padding:12px;margin-bottom:16px}#allocation-audit-page .filter-row{display:flex;align-items:center;gap:12px}#allocation-audit-page .filter-label{font-weight:600;color:#8a8f96;text-transform:uppercase;letter-spacing:.05em}#allocation-audit-page .empty-state{padding:64px;text-align:center}#allocation-audit-page .empty-icon{color:#d1d5db;margin-bottom:12px}#allocation-audit-page .data-table-card{overflow:hidden}#allocation-audit-page .table-header .MuiTableCell-root{background:#f9fafb;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#8a8f96;font-weight:600}#allocation-audit-page .table-row:hover{background:#f9fafb99}#allocation-audit-page .cell-muted{font-size:12px;color:#8a8f96}#allocation-audit-page .cell-mono{font-family:JetBrains Mono,monospace;font-size:12px;color:#4b5563}#allocation-audit-page .json-cell{text-align:left;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1.3;color:#4b5563;cursor:pointer;max-width:260px;word-break:break-all}#allocation-audit-page .json-cell:hover{color:#2d2d2d}:root{--color-primary: #B82228;--color-primary-dark: #8B1A1F;--color-dark: #2D2D2D;--color-sidebar: #232323;--color-surface: #FAFAFA;--color-fact: #2563EB;--color-dimension: #16A34A;--sidebar-width: 280px;--font-heading: "Exo 2", sans-serif;--font-body: "Exo 2", sans-serif;--font-mono: "JetBrains Mono", monospace;--dm-red: #B82228;--dm-red-dark: #991b20;--dm-red-light: #dc3545;--dm-gray: #434343;--dm-gray-light: #5a5a5a}html,body,#root{height:100%;margin:0;padding:0}*,*:before,*:after{box-sizing:border-box}body{font-family:"Exo 2",system-ui,sans-serif;font-size:14px;background:#fafafa;color:#2d2d2d;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,textarea,select,button,table,td,th,tr{font-family:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}.cm-editor{height:100%;min-height:100px;font-size:13px;font-family:var(--font-mono);background:#fff}.cm-editor .cm-scroller{overflow:auto!important}.cm-editor .cm-content{min-height:100px}.font-mono{font-family:JetBrains Mono,IBM Plex Mono,monospace}@keyframes slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.animate-slide-in{animation:slide-in .2s ease-out}
