:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#233348;background:#f5f7fa;font-size:14px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{border:1px solid #d6dfe9;border-radius:7px;padding:9px 15px;background:white;color:#35475d;min-height:40px}button:hover{background:#f2f6fc}button:disabled{opacity:.45;cursor:default}.primary{background:#255fc7;color:white;border-color:#255fc7}.primary:hover{background:#194fae}a{color:#285fba;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #91b7f0;outline-offset:3px}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:#fff;border-right:1px solid #e2e8ef;padding:30px 16px;display:flex;flex-direction:column;overflow:auto}.brand{display:flex;align-items:center;gap:11px;margin:0 14px 24px;color:#193653;font-size:20px;font-weight:650}.brand img{width:34px}.brand small{display:block;font-size:11px;font-weight:400;color:#718197;letter-spacing:2px;margin-top:3px}.nav-title{font-size:11px;color:#8591a1;margin:22px 14px 8px;letter-spacing:1px}.sidebar>a:not(.brand){padding:11px 14px;border-radius:6px;color:#526175;font-size:13px}.sidebar>a small{float:right;color:#8a98aa;font-size:10px;padding-top:3px}.sidebar>a.active{background:#eaf1fc;color:#245cba;font-weight:600}.sidebar-bottom{margin-top:auto;padding:34px 14px 0;color:#7e8c9f;font-size:12px}.sidebar-bottom a{display:block;margin-top:10px}main{margin-left:230px;padding:38px 44px 22px;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;gap:16px}.eyebrow{font-size:10px;color:#6584a8;letter-spacing:2px;font-weight:650}h1{margin:5px 0 6px;font-size:29px;letter-spacing:-.5px}p{margin:0;color:#7a8798}h2{font-size:18px;margin:0 0 5px}.badge{padding:7px 11px;background:#e9edf3;border-radius:20px;font-size:12px;color:#67778c;white-space:nowrap}.badge.connected{background:#e7f3ee;color:#277357}.connection{border:1px solid #dfe6ef;border-radius:10px;background:white;padding:23px 26px}.connection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.connection-heading strong{font-size:16px}.connection-heading p{margin-top:5px;font-size:12px}.collect-row{display:flex;align-items:end;gap:16px;margin-top:22px}.collect-row>label:first-child{font-size:12px;color:#6f7d90;display:grid;gap:5px;min-width:190px}select,input[type=search]{min-height:40px;border:1px solid #d6dfe9;border-radius:6px;background:white;color:#33465c;padding:7px 10px;max-width:100%}.confirm{display:flex;align-items:center;align-self:center;padding-top:20px;gap:8px;font-size:12px;flex:1;color:#6b798b}.confirm input{accent-color:#255fc7;width:16px;height:16px}.help-links{display:flex;gap:18px;font-size:11px;margin-top:18px}.message{font-size:12px;padding:12px 1px;color:#597799;min-height:44px}.message.error{color:#b34f3e}.cache-bar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:20px}.cache-bar label{display:flex;align-items:center;gap:12px;font-size:12px;color:#6c7c91}.cache-bar select{max-width:480px;min-width:260px;font-size:12px}.text-button{border:0;background:transparent;padding:5px;color:#7b8797;font-size:12px}.empty{background:white;border:1px dashed #d8e2ed;border-radius:10px;text-align:center;padding:64px 24px}.empty-icon{display:inline-grid;place-items:center;width:58px;height:58px;background:#edf3fc;border-radius:12px;color:#5d85ba;font-size:29px;margin-bottom:16px}.empty p{font-size:13px;margin:8px 0 12px}.empty small{color:#9aa5b4}.result-heading{display:flex;align-items:center;justify-content:space-between;padding:8px 0 20px;gap:12px}.result-heading p{font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);background:white;border:1px solid #dfe6ef;border-radius:9px;padding:20px 0}.stat{padding:0 24px;border-right:1px solid #e9eef4}.stat:last-child{border:0}.stat small{color:#78879b;font-size:12px}.stat strong{display:block;font-size:29px;font-weight:620;margin-top:8px;font-variant-numeric:tabular-nums}.stat:nth-child(2) strong{color:#255fc7}.coverage{font-size:11px;padding:11px 2px 17px;color:#75859a}.toolbar{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #dfe6ef;border-bottom:0;padding:14px 18px;border-radius:9px 9px 0 0}.search{flex:1}.search input{width:280px}.toolbar select,.toolbar button{font-size:12px}.table-wrap{overflow:auto;max-height:min(60vh,660px);background:white;border:1px solid #dfe6ef}table{width:100%;border-collapse:collapse;text-align:right;font-size:12px;table-layout:auto}th{position:sticky;top:0;z-index:1;background:#f9fafc;font-weight:500;color:#7e8a9c;padding:12px 16px;border-bottom:1px solid #e5ebf2;width:auto}:where(#corePanel) table{table-layout:fixed}:where(#corePanel) th{width:85px}:where(#corePanel) th:first-child{text-align:left;width:29%}:where(#corePanel) th:last-child{text-align:left;width:32%}td{padding:18px 16px;border-bottom:1px solid #edf1f5;vertical-align:top;font-variant-numeric:tabular-nums}:where(#corePanel) td:first-child,:where(#corePanel) td:last-child{text-align:left}tbody tr:last-child td{border:0}tbody tr:hover{background:#fbfcfe}.product{display:flex;gap:12px;align-items:start}.product img,.product-placeholder{width:48px;height:48px;object-fit:contain;border-radius:5px;background:#f6f8fb;border:1px solid #edf1f6;flex:0 0 48px}.product a{color:#334a66;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.product small{display:block;color:#9aa6b5;font-size:10px;margin-top:6px}.tag{display:inline-block;background:#eff3f9;color:#6882a6;padding:3px 7px;border-radius:4px;font-size:11px}.tag.core{color:#245ea9;background:#eaf1fc}.reason{font-size:11px;color:#8795a7;margin-top:6px;line-height:1.7}.warning{color:#a27635}.pagination{display:flex;align-items:center;gap:12px;border:1px solid #dfe6ef;border-top:0;background:#fff;padding:12px 18px;border-radius:0 0 9px 9px;font-size:11px;color:#7b899c}.pagination>span:first-child{flex:1}.pagination button{font-size:11px;min-height:30px;padding:4px 10px}.reading{font-size:12px;margin-top:18px;color:#7d8da2}.reading summary{cursor:pointer}.reading p{margin-top:8px;max-width:900px;line-height:1.9}footer{font-size:11px;color:#8c99aa;line-height:1.8;margin-top:28px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1100px){main{padding:28px 22px}.sidebar{width:200px}main{margin-left:200px}.toolbar{flex-wrap:wrap}.search input{width:100%}.collect-row{flex-wrap:wrap}.confirm{flex-basis:55%}.table-wrap table{min-width:850px}}@media(max-width:720px){.sidebar{position:static;width:auto;padding:15px;display:flex;flex-direction:row;flex-wrap:wrap;gap:5px}.brand{width:100%;margin:0 0 10px}.sidebar .nav-title,.sidebar-bottom{display:none}.sidebar>a:not(.brand){padding:8px;font-size:12px}.sidebar>a small{display:none}main{margin:0;padding:24px 16px}.connection{padding:18px}.connection-heading{align-items:start;flex-direction:column}.cache-bar{align-items:start;flex-direction:column;gap:5px}.cache-bar label{width:100%}.cache-bar select{min-width:0;flex:1}.stats{grid-template-columns:repeat(2,1fr);gap:20px}.stat:nth-child(2){border:0}.stat strong{font-size:26px}.confirm{flex-basis:100%;padding-top:0}.help-links{flex-wrap:wrap;gap:8px 15px}.empty{padding:40px 16px}h1{font-size:26px}.toolbar{padding:12px}.search{flex-basis:100%}}
/* Workspace hierarchy: broad sections on the left, tools across the top. */
#groupNav{display:flex;flex-direction:column;gap:6px;margin-top:18px}#groupNav a{display:flex;align-items:center;gap:12px;padding:12px 14px;color:#617084;border-radius:8px;font-size:14px}#groupNav a:hover{background:#f3f6fa;text-decoration:none}#groupNav a.active{background:#eaf1fc;color:#255fc7;font-weight:600}.group-icon{display:inline-grid;place-items:center;width:22px;font-size:20px;color:#859ab5}#groupNav .active .group-icon{color:#255fc7}.heading-divider{color:#b3bfd0;margin:0 14px;font-weight:400}h1{font-size:24px}#featureTitle{font-size:21px;color:#4e6a8c}header{margin-bottom:20px;align-items:center}.plugin-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end;font-size:11px}.plugin-tools button{font-size:11px;padding:5px;min-height:30px}.feature-tabs{display:flex;overflow-x:auto;gap:5px;background:white;border:1px solid #dfe6ef;border-radius:10px;padding:8px;margin-bottom:16px;scrollbar-width:thin}.feature-tabs a{padding:10px 16px;white-space:nowrap;border-radius:6px;color:#6b7b8e;font-size:13px}.feature-tabs a:hover{background:#f3f6fa;text-decoration:none}.feature-tabs .active{color:#255fc7;background:#edf3fd;font-weight:600}.collection-toolbar{background:#fff;border:1px solid #dfe6ef;border-radius:10px;padding:18px 22px}.collect-row{margin-top:0}.collection-note{font-size:12px;color:#8a98aa;align-self:center;padding-top:20px}.feature-panel{text-align:center;background:white;border:1px solid #dfe6ef;border-radius:10px;padding:64px 24px;min-height:400px}.feature-panel p{margin:12px 0 22px}.feature-link{display:inline-flex;padding:10px 20px;border-radius:7px;color:#fff}.feature-note{font-size:12px}.feature-panel .feature-note{margin-top:22px;color:#8a98aa}.empty{border-style:solid;min-height:330px}
@media(max-width:1100px){header{flex-wrap:wrap;gap:12px}.plugin-tools{justify-content:flex-start}h1{font-size:22px}#featureTitle{font-size:19px}}
@media(max-width:720px){#groupNav{flex-direction:row;overflow-x:auto;width:100%;margin:0;gap:3px}#groupNav a{flex-shrink:0;padding:8px 10px;font-size:12px}.group-icon{display:none}.sidebar{flex-wrap:nowrap;display:block}.sidebar .brand{margin-bottom:14px}.feature-tabs a{padding:9px 12px}.collection-toolbar{padding:16px}.collection-note{padding-top:0;flex-basis:100%}.heading-divider{margin:0 8px}#featureTitle{font-size:18px}.feature-panel{padding:45px 16px}header h1{line-height:1.8}.plugin-tools{gap:6px}}

.group-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
/* Inline product history uses the same workspace navigation and connection. */
.history-form>label{font-size:12px;color:#6f7d90}.history-form .collect-row{margin-top:8px;align-items:center}.history-form input{width:400px;min-width:180px;flex:1}.history-month-row{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:8px}.history-months{display:flex;gap:8px;flex-wrap:wrap}.history-months button[aria-pressed=true]{color:#255fc7;background:#eaf1fc;border-color:#8badde}.history-trends{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.history-trend,.history-section{background:#fff;border:1px solid #dfe6ef;border-radius:9px;padding:20px;min-width:0}.history-trend h2,.history-section h2{font-size:15px}.history-metric-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:16px 0}.history-metric-switch button{padding:10px 6px;text-align:left;border:0;min-width:0}.history-metric-switch button[aria-pressed=true]{background:#edf3fc;box-shadow:inset 0 -2px #255fc7}.history-metric-switch span{display:block;font-size:10px;color:#738397;min-height:30px}.history-metric-switch strong{font-size:19px;overflow-wrap:anywhere}.history-trend svg{width:100%;overflow:visible}.history-trend svg line{stroke:#5283c8;stroke-width:2}.history-trend svg circle{fill:#255fc7}.history-trend svg text{font-size:10px;fill:#75859a}.history-grid{stroke:#e7edf5;fill:none}.history-section{margin-top:18px}.history-section .result-heading{padding:0 0 10px}.history-insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}.history-insight h3{font-size:13px;margin:0 0 6px}.history-insight p{font-size:12px;line-height:1.8}.history-insight p+p{margin-top:7px;color:#5d718b}.history-insight.warn h3{color:#a47431}.history-insight.good h3{color:#327963}.history-footnote{font-size:11px;line-height:1.8;color:#7b899d;margin-top:14px}.history-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}.history-section .table-wrap{margin-top:12px;border:0}.history-section table{table-layout:auto;min-width:360px}.history-section th,.history-section td{width:auto!important;padding:10px 8px}.history-section th:last-child,.history-section td:last-child{text-align:right}#historyTitle{overflow-wrap:anywhere}#historyPanel .result-heading{align-items:start}#historyExport{flex-shrink:0}@media(max-width:1100px){.history-trends{grid-template-columns:1fr}.history-trend svg{max-height:200px}.history-split{grid-template-columns:1fr}.history-section table{min-width:480px}.history-metric-switch span{min-height:0}}@media(max-width:720px){.history-insights{grid-template-columns:1fr}.history-trend,.history-section{padding:16px}.history-month-row{align-items:start;flex-direction:column}.history-form input{width:100%;flex-basis:100%}#historyPanel .result-heading{flex-direction:column}.history-section table{min-width:380px}}

.history-product{display:flex;gap:14px;align-items:center;min-width:0}.history-product img{width:60px;height:60px;object-fit:contain;border-radius:6px;background:#fff;border:1px solid #e2e8ef}.history-product a{color:inherit}

/* Opportunity analysis shares the workspace components. */
.growth-toolbar{flex-wrap:wrap}.growth-toolbar .search{min-width:180px}.growth-toolbar .search input{width:100%}.growth-table table{min-width:850px}.growth-table th:first-child{width:28%}.growth-table th:nth-child(2){width:17%;text-align:left}.growth-table th:nth-child(3){width:27%;text-align:left}.growth-table th:last-child{width:28%}.growth-table td{text-align:left}.growth-metric{margin:0 0 7px;line-height:1.7}.growth-table details{margin-top:10px}.growth-table summary{cursor:pointer;color:#285fba;font-size:12px}.growth-table .reason{line-height:1.7}#growthNotice{white-space:pre-line}#growthCount{margin-right:auto}#growthPanel .pagination{display:flex;gap:12px;align-items:center;padding:12px 18px;border:1px solid #dfe6ef;border-top:0;background:#fff;font-size:12px}#growthPanel .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#growthAnalyze{flex-shrink:0;white-space:nowrap}
@media(max-width:720px){.growth-toolbar .search{flex-basis:100%}#growthPanel .cache-bar{flex-wrap:wrap}#growthPanel .cache-bar label{min-width:0;width:100%}#growthPanel .cache-bar select{min-width:0;flex:1;width:100%}#growthPanel .result-heading{flex-wrap:wrap}}
