*,:before,:after{box-sizing:border-box}:root{--indigo:#4f46e5;--indigo-dark:#4338ca;--indigo-pale:#eef2ff;--indigo-mid:#c7d2fe;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-700:#374151;--gray-900:#111827;--green:#16a34a;--amber:#d97706;--red:#dc2626;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}.app-root{background:var(--gray-50);min-height:100vh;color:var(--gray-900);font-family:DM Sans,system-ui,sans-serif}nav{border-bottom:1px solid var(--gray-200);z-index:50;background:#fff;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:12px;max-width:1280px;height:52px;margin:0 auto;padding:0 24px;display:flex}.nav-links{gap:2px;display:flex}@media (width<=600px){.nav-inner{flex-wrap:wrap;height:auto;padding:10px 16px}.nav-links{flex-wrap:wrap;width:100%}.nav-links a{padding:5px 8px!important;font-size:11px!important}}.dashboard-layout{grid-template-columns:260px 1fr;min-height:calc(100vh - 52px);display:grid}.sidebar{border-right:1px solid var(--gray-200);background:#fff;padding:16px;overflow-y:auto}.main-content{min-width:0;padding:16px;overflow:visible}@media (width<=768px){.dashboard-layout{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--gray-200)}}.panel-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:#fff;padding:16px}.panel-title{color:var(--gray-900);margin:0 0 16px;font-size:15px;font-weight:700}.chart-card{border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:#fff;min-width:0;padding:16px}.chart-title{color:var(--gray-700);margin:0 0 12px;font-size:13px;font-weight:600}.chart-container{width:100%;height:220px}@media (width<=480px){.chart-card{padding:12px}.chart-container{height:180px}}.chart-panel{flex-direction:column;gap:16px;display:flex}.chart-row-two{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=860px){.chart-row-two{grid-template-columns:1fr}}.stats-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stats-grid .span-full{grid-column:1/-1}@media (width<=640px){.stats-grid{grid-template-columns:1fr}}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.metric-tile{border-radius:var(--radius-md);border:1px solid var(--gray-200);background:var(--gray-50);padding:10px 12px}.metric-tile.highlight{background:var(--indigo-pale);border-color:var(--indigo-mid)}.metric-label{color:var(--gray-500);margin-bottom:4px;font-size:11px;font-weight:500}.metric-value{color:var(--gray-900);font-size:15px;font-weight:600}.metric-value.highlight{color:var(--indigo-dark)}.metric-value.positive{color:var(--green)}.metric-value.negative{color:var(--red)}.stat-tabs{flex-wrap:wrap;gap:4px;display:flex}.stat-tab{text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-sm);color:var(--gray-400);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:5px 12px;font-size:11px;font-weight:600;transition:all .15s}.stat-tab.active{background:var(--indigo-pale);color:var(--indigo-dark);border-bottom-color:var(--indigo)}.section-header{text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;padding-bottom:4px;font-size:11px;font-weight:600}.company-list{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.company-row{background:var(--gray-50);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:7px 10px;display:flex}.company-name{color:var(--gray-700);text-overflow:ellipsis;white-space:nowrap;max-width:75%;font-size:13px;overflow:visible}.company-count{color:var(--indigo);font-size:12px;font-weight:600}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.results-table{border-collapse:collapse;width:100%;min-width:480px;font-size:13px}.results-table th{text-align:left;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--gray-200);white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:600}.results-table td{border-bottom:1px solid var(--gray-100);vertical-align:middle;padding:8px 10px}.results-table td.company,.results-table td.title a{text-overflow:ellipsis;white-space:nowrap;max-width:200px;display:inline-block;overflow:visible}.match-high{color:var(--green);font-weight:600}.match-mid{color:var(--amber);font-weight:600}.match-low{color:var(--red);font-weight:600}.pagination{justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.pagination button{border-radius:var(--radius-sm);border:1px solid var(--gray-200);cursor:pointer;background:#fff;padding:5px 14px;font-size:12px;transition:background .1s}.pagination button:hover:not(:disabled){background:var(--gray-100)}.pagination button:disabled{opacity:.4;cursor:default}.page-indicator{color:var(--gray-500);font-size:12px}.chart-tooltip{background:var(--gray-900);color:#fff;border-radius:var(--radius-md);pointer-events:none;padding:7px 11px;font-size:12px;box-shadow:0 4px 12px #0003}.tooltip-label{color:var(--gray-400);margin-bottom:2px;font-size:11px}.tooltip-value{font-weight:700}.global-loading{color:var(--gray-500);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 0;font-size:13px;display:flex}.spinner-large{border:3px solid var(--gray-200);border-top-color:var(--indigo);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.alert-error{color:var(--red);border-radius:var(--radius-md);background:#fef2f2;border:1px solid #fecaca;margin-bottom:12px;padding:10px 14px}.empty-state{min-height:120px;color:var(--gray-400);justify-content:center;align-items:center;font-size:13px;display:flex}.page-section{max-width:800px;margin:0 auto;padding:32px 24px}@media (width<=640px){.page-section{padding:20px 16px}}.field-label{color:var(--gray-500);margin-bottom:4px;font-size:11px;font-weight:500;display:block}.field-input{border-radius:var(--radius-md);border:1px solid var(--gray-200);background:var(--gray-50);width:100%;color:var(--gray-900);outline:none;padding:7px 10px;font-size:13px;transition:border-color .15s}.field-input:focus{border-color:var(--indigo)}.field-select{border-radius:var(--radius-md);border:1px solid var(--gray-200);background:var(--gray-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C%2Fsvg%3E") no-repeat right 10px center;width:100%;color:var(--gray-900);appearance:none;cursor:pointer;outline:none;padding:7px 28px 7px 10px;font-size:13px}.collapse-toggle{border:none;border-bottom:2px solid var(--gray-200);cursor:pointer;text-transform:uppercase;letter-spacing:.06em;width:100%;color:var(--gray-500);background:0 0;align-items:center;gap:6px;padding:0 0 4px;font-size:11px;font-weight:600;transition:color .15s,border-color .15s;display:flex}.collapse-toggle.open{color:var(--indigo-dark);border-bottom-color:var(--indigo)}.collapse-arrow{font-size:10px;transition:transform .15s;display:inline-block}.collapse-toggle.open .collapse-arrow{transform:rotate(90deg)}.cta-button{border-radius:var(--radius-md);letter-spacing:.02em;cursor:pointer;border:none;width:100%;padding:10px 0;font-size:14px;font-weight:600;transition:background .15s}.cta-button:not(:disabled){background:var(--indigo);color:#fff}.cta-button:disabled{background:var(--gray-200);color:var(--gray-400);cursor:not-allowed}
