*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Inter',sans-serif;background:#F5F7FA;color:#1a2332;min-height:100vh;display:flex;flex-direction:column;}
:root{--primary:#0059A5;--primary-dark:#004080;--secondary:#6ACCEB;--secondary-light:#e8f6fd;--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--shadow:0 1px 3px rgba(0,0,0,.08);--shadow-md:0 4px 6px -1px rgba(0,0,0,.08);--shadow-lg:0 10px 25px -3px rgba(0,0,0,.08);--radius:12px;--radius-sm:8px;--radius-xs:6px;--green:#10b981;--amber:#f59e0b;--red:#ef4444;}

/* Navbar */
.navbar{background:var(--white);border-bottom:1px solid var(--gray-200);padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;}
.nav-left{display:flex;align-items:center;gap:16px;}
.nav-logo{height:32px;}
.nav-sep{width:1px;height:24px;background:var(--gray-200);}
.nav-title{font-size:14px;font-weight:600;color:var(--primary);}
.nav-right{display:flex;align-items:center;gap:12px;}
.nav-badge{background:var(--primary);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;}
.nav-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:700;cursor:pointer;}

/* Layout */
.layout{display:flex;flex:1;overflow:hidden;}

/* Sidebar */
.sidebar{width:280px;background:var(--white);border-right:1px solid var(--gray-200);overflow-y:auto;display:flex;flex-direction:column;}
.sidebar-header{padding:20px 16px;border-bottom:1px solid var(--gray-200);}
.sidebar-title{font-size:12px;font-weight:700;color:var(--gray-600);text-transform:uppercase;letter-spacing:0.5px;}
.sidebar-content{flex:1;overflow-y:auto;}
.sidebar-section{padding:16px 0;}
.sidebar-section-title{font-size:11px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:0.5px;padding:0 16px 8px 16px;}
.sidebar-item{padding:10px 16px;font-size:13px;color:var(--gray-700);cursor:pointer;transition:all 0.2s;border-left:3px solid transparent;display:flex;align-items:center;justify-content:space-between;}
.sidebar-item:hover{background:var(--gray-50);color:var(--primary);}
.sidebar-item.active{background:var(--secondary-light);color:var(--primary);border-left-color:var(--primary);font-weight:500;}
.sidebar-item-count{font-size:11px;color:var(--gray-400);font-weight:500;}
.sidebar-item.active .sidebar-item-count{color:var(--primary);}

/* Main Content Area */
.main{flex:1;display:flex;flex-direction:column;overflow:hidden;}
.top-bar{background:var(--white);border-bottom:1px solid var(--gray-200);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;}
.top-bar-left{font-size:16px;font-weight:600;color:var(--gray-800);}
.toggle-btn{background:none;border:none;cursor:pointer;font-size:18px;color:var(--gray-600);transition:color 0.2s;}
.toggle-btn:hover{color:var(--primary);}

/* Content Area */
.content{flex:1;overflow-y:auto;padding:24px;}

/* AI Banner */
.ai-banner{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;padding:20px 24px;border-radius:var(--radius);margin-bottom:24px;display:flex;align-items:center;gap:16px;}
.ai-banner-icon{font-size:28px;}
.ai-banner-content{flex:1;}
.ai-banner-title{font-size:15px;font-weight:600;margin-bottom:4px;}
.ai-banner-desc{font-size:13px;opacity:0.95;line-height:1.5;}

/* Data Sources Flow Diagram */
.data-sources-section{margin-bottom:32px;}
.data-sources-title{font-size:14px;font-weight:600;color:var(--gray-800);margin-bottom:20px;}
.flow-diagram{display:flex;flex-direction:column;gap:32px;}
.flow-cards-container{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.flow-card{background:var(--white);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-md);border-left:4px solid;display:flex;flex-direction:column;gap:12px;}
.flow-card.questionnaire{border-left-color:var(--primary);}
.flow-card.assessment{border-left-color:var(--amber);}
.flow-card-icon{font-size:32px;color:var(--primary);}
.flow-card.assessment .flow-card-icon{color:var(--amber);}
.flow-card-title{font-size:14px;font-weight:600;color:var(--gray-800);}
.flow-card-desc{font-size:12px;color:var(--gray-600);line-height:1.5;}
.flow-card-badges{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap;}
.flow-card-badge{background:var(--secondary-light);color:var(--primary);padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;}
.flow-card-badge.external{background:#fff3cd;color:#856404;border:1px solid #ffeaa7;}

/* Stats Row */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.stat-card{background:var(--white);padding:20px;border-radius:var(--radius);box-shadow:var(--shadow);}
.stat-card-value{font-size:32px;font-weight:700;color:var(--primary);margin-bottom:4px;}
.stat-card-label{font-size:13px;color:var(--gray-600);}

/* Tab Bar */
.tab-bar{display:flex;gap:24px;border-bottom:1px solid var(--gray-200);padding:0 0 12px 0;margin-bottom:24px;}
.tab{padding:8px 0;font-size:14px;color:var(--gray-600);cursor:pointer;border-bottom:2px solid transparent;transition:all 0.2s;font-weight:500;}
.tab:hover{color:var(--primary);}
.tab.active{color:var(--primary);border-bottom-color:var(--primary);}

/* Match Tables */
.matches-container{width:100%;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden;}
.match-table-content{display:none;}
.match-table-content.active{display:table-row-group;}
.match-table{width:100%;border-collapse:collapse;background:var(--white);}
.match-table thead{background:var(--gray-100);border-bottom:1px solid var(--gray-300);}
.match-table th{padding:14px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:0.5px;}
.match-table tbody tr{border-bottom:1px solid var(--gray-200);transition:background 0.2s;}
.match-table tbody tr:hover{background:var(--gray-50);}
.match-table td{padding:14px 16px;font-size:13px;color:var(--gray-700);}
.match-score{font-weight:600;}
.match-score.high{color:#10b981;}
.match-score.medium{color:#f59e0b;}
.match-score.low{color:#ef4444;}
.match-status-badge,.match-outcome-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:capitalize;}
.match-status-active{background:#dcfce7;color:#166534;}
.match-status-pending{background:#fef3c7;color:#92400e;}
.match-status-completed{background:#dbeafe;color:#1e40af;}
.match-status-ended{background:#e5e7eb;color:#374151;}
.match-outcome-promoted{background:#dcfce7;color:#166534;}
.match-outcome-certified{background:#dbeafe;color:#1e40af;}
.match-outcome-advanced{background:#e9d5ff;color:#6b21a8;}
.match-outcome-transferred{background:#e5e7eb;color:#374151;}
.match-actions{font-size:13px;}
.match-action-link{color:var(--primary);text-decoration:none;font-weight:500;cursor:pointer;transition:color 0.2s;margin-right:16px;}
.match-action-link:hover{color:var(--primary-dark);text-decoration:underline;}

/* Filter Panel */
.filter-panel{position:fixed;top:60px;right:0;width:400px;height:calc(100vh - 60px);background:var(--white);box-shadow:-4px 0 12px rgba(0,0,0,0.1);z-index:200;transform:translateX(100%);transition:transform 0.3s;overflow-y:auto;}
.filter-panel.open{transform:translateX(0);}
.filter-panel-header{padding:20px;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:var(--white);}
.filter-panel-title{font-size:16px;font-weight:600;color:var(--gray-800);}
.filter-panel-close{background:none;border:none;cursor:pointer;font-size:20px;color:var(--gray-600);}
.filter-panel-content{padding:20px;}
.filter-section{margin-bottom:24px;}
.filter-section-title{font-size:12px;font-weight:700;color:var(--gray-600);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:12px;}
.filter-group{margin-bottom:16px;}
.filter-label{font-size:13px;color:var(--gray-700);margin-bottom:4px;display:block;font-weight:500;}
.filter-input{width:100%;padding:8px 12px;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:13px;font-family:inherit;}
.filter-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,89,165,0.1);}

/* Configuration Table */
.config-table{width:100%;border-collapse:collapse;background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);}
.config-table-category-header{background:#f0f4f8;border-bottom:2px solid var(--gray-200);font-weight:600;font-size:13px;padding:12px 16px;}
.config-table-category-header.work-skills{border-left:4px solid #0059A5;color:#0059A5;}
.config-table-category-header.life-skills{border-left:4px solid #10b981;color:#10b981;}
.config-table-category-header.career-pathway{border-left:4px solid #7c3aed;color:#7c3aed;}
.config-table thead tr{background:var(--gray-100);border-bottom:1px solid var(--gray-300);}
.config-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:var(--gray-700);text-transform:uppercase;letter-spacing:0.5px;}
.config-table td{padding:12px 16px;border-bottom:1px solid var(--gray-200);font-size:13px;color:var(--gray-700);}
.config-table tr:hover{background:var(--gray-50);}
.config-type-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;}
.config-type-soft{background:#d1fae5;color:#065f46;}
.config-type-hard{background:#fef3c7;color:#92400e;}
.config-weight{font-weight:600;color:var(--primary);}

/* Scrollbar */
::-webkit-scrollbar{width:8px;}
::-webkit-scrollbar-track{background:var(--gray-100);}
::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:4px;}
::-webkit-scrollbar-thumb:hover{background:var(--gray-500);}

/* Responsive */
@media(max-width:1200px){.match-table{font-size:12px;}.match-table th,.match-table td{padding:10px 12px;}}
@media(max-width:768px){.layout{flex-direction:column;}.sidebar{width:100%;height:auto;border-right:none;border-bottom:1px solid var(--gray-200);}.filter-panel{width:100%;}.stats-row{grid-template-columns:repeat(2,1fr);}.flow-cards-container{grid-template-columns:1fr;}.match-table{font-size:11px;}.match-table th,.match-table td{padding:8px 10px;}.match-action-link{margin-right:8px;}}
