/* ROUND 36.1 — product geo visual polish (toolbar groups, summary hierarchy, label denoise support). */
.customer-geo-page{min-width:0;color:#263241}
.market-geo-analysis-modes{margin-bottom:10px}
.market-geo-analysis-modes .el-radio-button__inner{font-weight:500}
.market-geo-product-filters{display:flex;align-items:flex-end;gap:26px;flex-wrap:wrap;padding:10px 14px;background:white;border:1px solid #e5e8ed;border-radius:8px;margin-top:10px}
.market-geo-filter-group{display:flex;align-items:center;gap:8px;min-width:0}
.market-geo-filter-group>label{font-size:12px;color:#8592a3;white-space:nowrap;font-weight:500}
.market-geo-filter-product{flex:1;min-width:340px}
.market-geo-filter-metrics{gap:10px}
.market-geo-product-select{width:100%;max-width:460px;min-width:340px}
.market-geo-unit-select{width:135px}
.market-geo-filter-metrics .el-radio-group{flex-wrap:nowrap}
.market-geo-metric-group .el-radio-button__inner{padding:7px 14px;font-size:12.5px}
.market-geo-metric-group .el-radio-button.is-active .el-radio-button__inner,.market-geo-metric-group .el-radio-button__orig-radio:checked+.el-radio-button__inner{font-weight:600;box-shadow:-1px 0 0 0 #3370ff inset}
.market-geo-unit-info{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid #cdd6e0;color:#8a97a8;font-size:10.5px;font-style:normal;cursor:help;flex:none}
.market-geo-product-option{padding:6px 0;line-height:1.5;display:flex;flex-direction:column;max-width:560px}
.market-geo-product-option strong{font-size:13px;font-weight:500}
.market-geo-product-option small{font-size:11px;color:#8794a5}
.el-select-dropdown__item:has(.market-geo-product-option){height:auto;min-height:52px}
.market-geo-product-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:11px 16px;border:1px solid #e5e8ed;border-radius:8px;margin-top:10px;background:#fff}
.market-geo-product-summary>div{min-width:0}
.market-geo-product-summary small{display:block;color:#8794a5;font-size:11px;margin-bottom:3px;white-space:nowrap}
.market-geo-product-summary strong{display:block;color:#1f2b39;font-size:16px;font-weight:600;white-space:nowrap}
.market-geo-product-name{flex:0 1 34%;min-width:250px}
.market-geo-product-name strong{font-size:17px;white-space:normal;line-height:1.35}
.market-geo-product-name>span{font-size:11.5px;color:#8794a5;overflow-wrap:anywhere}
.market-geo-product-name i{font-style:normal;color:#a3aebc}
.market-geo-summary-divider{width:1px;align-self:stretch;background:#e8ecf1;flex:none}
.market-geo-unit-tags{display:flex;gap:6px;flex-wrap:wrap}
.market-geo-unit-tag{display:inline-flex;align-items:baseline;gap:3px;padding:2px 8px;background:#f7f9fc;border:1px solid #eef1f5;border-radius:5px}
.market-geo-unit-tag b{font-size:14.5px;font-weight:600;color:#1f2b39}
.market-geo-unit-tag em,.market-geo-product-quantity strong em{font-style:normal;font-size:10.5px;color:#9aa5b3;font-weight:400}
.market-geo-product-quantity strong em{margin-left:3px}
.is-product .customer-geo-map-stage{height:clamp(440px,calc(100vh - 470px),680px)}
.is-product .customer-geo-rank-list{max-height:clamp(393px,calc(100vh - 517px),633px)}
.is-product .geo-rank-line2{flex-wrap:wrap}
.customer-geo-map-subtitle{font-size:11.5px;color:#8fa6c0;padding-left:10px;border-left:1px solid #223a57;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.customer-geo-legend span.is-dim{opacity:.45}
.customer-geo-empty.is-product-empty{position:absolute;inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);flex-direction:column;gap:5px;padding:16px 26px;background:rgba(6,14,26,.97);border:1px solid #2b4a6d;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,.45);z-index:3;min-width:0;width:max-content;max-width:min(400px,80%)}
.customer-geo-empty.is-product-empty strong{font-size:15px;color:#e7eff8;font-weight:600}
.customer-geo-empty.is-product-empty span{font-size:12.5px;color:#a9bcd2}
.customer-geo-empty.is-product-empty small{font-size:11px;color:#7c92ab}
.customer-geo-rank-empty{padding:20px 16px;font-size:12.5px;color:#7a8493;text-align:center}
.geo-rank-emptyicon{display:block;font-size:20px;margin-top:6px;opacity:.55}
@media(max-width:1499px){.market-geo-product-summary{gap:12px}.market-geo-product-filters{gap:16px}}
@media(max-width:800px){.market-geo-product-name{flex-basis:100%}.market-geo-summary-divider{display:none}.market-geo-filter-product{min-width:100%}.market-geo-product-select{min-width:0}}
.customer-geo-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.customer-geo-header h2{margin:0;font-size:21px;font-weight:600;color:#1c2733;letter-spacing:.5px}
.customer-geo-header p{margin:4px 0 0;font-size:12.5px;color:#8592a3}
.customer-geo-header-stats{display:flex;align-items:center;gap:12px;font-size:12.5px;color:#67748a;white-space:nowrap}
.customer-geo-header-stats b{font-size:16px;font-weight:600;color:#1c2733;margin-right:2px}
.customer-geo-header-stats i{width:1px;height:14px;background:#dfe4ea}
.customer-geo-filters{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 12px;background:white;border:1px solid #e5e8ed;border-radius:8px}
.customer-geo-filters>.el-button+.el-button{margin-left:0}
.customer-geo-filters>span{font-size:12.5px;color:#8592a3;margin-right:6px}
.customer-geo-modes{margin-left:auto}
.customer-geo-scope{font-size:11.5px;color:#93a0b0;line-height:1.6;margin:8px 2px}
.customer-geo-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 12px}
.customer-geo-kpis>div,.customer-geo-kpis>button{display:block;background:#fff;border:1px solid #e5e8ed;border-radius:8px;padding:9px 14px 8px;text-align:left;font:inherit}
.customer-geo-kpis span{font-size:11.5px;color:#8a95a4;display:block}
.customer-geo-kpis strong{font-size:21px;font-weight:600;display:block;margin-top:2px;color:#1f2b39}
.customer-geo-kpis>button{cursor:pointer;transition:border-color .15s}
.customer-geo-kpis>button:hover{border-color:#3370ff}
.customer-geo-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.customer-geo-map-card{min-width:0;border-radius:10px;overflow:hidden;background:#071120;border:1px solid #0c1d33;display:flex;flex-direction:column}
.customer-geo-map-toolbar{height:46px;flex:none;display:flex;align-items:center;gap:12px;padding:0 12px 0 16px;color:#dce8f5;border-bottom:1px solid #1a2f4a;font-size:13px;background:rgba(10,22,38,.6)}
.customer-geo-map-context{font-weight:600;letter-spacing:.3px}
.customer-geo-map-context-stats{font-size:12px;color:#8fa6c0}
.customer-geo-map-controls{margin-left:auto;display:flex;align-items:center;gap:6px}
.geo-ctrl{width:28px;height:28px;border:1px solid #2b4a6d;border-radius:6px;background:rgba(16,34,56,.9);color:#cfe2f5;font-size:15px;line-height:1;cursor:pointer;font-family:inherit}
.geo-ctrl:hover{background:#1d3d61;border-color:#4a77a5}
.geo-ctrl-reset{margin-left:4px!important;background:rgba(16,34,56,.9)!important;border-color:#2b4a6d!important;color:#cfe2f5!important}
.geo-ctrl-reset:hover{background:#1d3d61!important;border-color:#4a77a5!important}
.customer-geo-map-stage{position:relative;height:clamp(520px,calc(100vh - 402px),720px)}
.customer-geo-canvas{width:100%;height:100%}
.customer-geo-legend{position:absolute;left:14px;bottom:12px;display:flex;flex-direction:column;gap:7px;color:#a9bcd2;font-size:12px;padding:10px 13px;background:rgba(7,17,32,.55);border:1px solid rgba(43,74,109,.55);border-radius:8px;backdrop-filter:blur(2px);pointer-events:none;z-index:2}
.customer-geo-legend span{display:flex;align-items:center;gap:8px}
.customer-geo-legend i{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;font-style:normal;font-size:11px;line-height:1}
.geo-gps{color:#59dcff;text-shadow:0 0 6px rgba(56,198,255,.9)}
.geo-region{background:radial-gradient(circle,#ffd289 0%,rgba(255,182,64,.55) 45%,rgba(255,178,56,0) 75%);border-radius:50%;box-shadow:0 0 8px rgba(255,178,59,.75)}
.geo-unknown{border:1.5px solid #8b96a5;border-radius:50%;background:transparent}
.customer-geo-attribution{position:absolute;right:14px;bottom:12px;font-size:10.5px;color:rgba(139,159,184,.62);margin:0;pointer-events:none;z-index:2}
.customer-geo-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9db2c9;font-size:14px;pointer-events:none}
.customer-geo-empty::after{content:''}
.customer-geo-ranking{background:white;border:1px solid #e5e8ed;border-radius:10px;min-width:0;overflow:hidden;display:flex;flex-direction:column}
.customer-geo-ranking-title{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #e9ecf0;font-size:13.5px;flex:none}
.customer-geo-ranking-title strong{font-weight:600;color:#1f2b39}
.customer-geo-ranking-title .el-select{width:112px}
.customer-geo-rank-list{max-height:clamp(473px,calc(100vh - 449px),673px);overflow:auto;scrollbar-width:thin;scrollbar-color:#cfd6de transparent}
.customer-geo-rank-list::-webkit-scrollbar{width:5px}
.customer-geo-rank-list::-webkit-scrollbar-thumb{background:#cfd6de;border-radius:3px}
.customer-geo-rank-list::-webkit-scrollbar-track{background:transparent}
.customer-geo-rank-list>button{display:flex;gap:10px;padding:11px 14px 12px;width:100%;border:0;border-bottom:1px solid #eef1f4;background:white;text-align:left;cursor:pointer;font:inherit;transition:background .12s}
.customer-geo-rank-list>button:hover,.customer-geo-rank-list>button.is-hover{background:#f4f8fd}
.customer-geo-rank-list>button.is-selected{background:#eef4ff}
.geo-rank-number{font-size:12px;font-weight:600;color:#9aa4b1;min-width:18px;padding-top:2px}
.customer-geo-rank-list>button:nth-child(-n+3) .geo-rank-number{color:#b98a2f}
.geo-rank-body{flex:1;min-width:0}
.geo-rank-line1{display:flex;align-items:baseline;gap:8px}
.geo-rank-line1 strong{font-size:13.5px;font-weight:600;color:#1f2b39;letter-spacing:.2px}
.geo-rank-zh{font-size:13px;color:#3c4a5c;font-weight:500}
.geo-rank-primary{margin-left:auto;font-size:12.5px;font-weight:600;color:#24486f;white-space:nowrap}
.geo-rank-primary.is-money{font-size:13px;color:#8a5a06}
.geo-rank-line2{display:flex;align-items:baseline;gap:8px;margin-top:2px}
.geo-rank-en{font-size:11px;color:#97a2b1}
.geo-rank-secondary{font-size:11.5px;color:#6d7a8b}
.geo-rank-bar{height:4px;border-radius:2px;background:#edf1f5;margin-top:7px;overflow:hidden}
.geo-rank-bar i{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,#ffc45e,#f59e0b);min-width:2px}
.customer-geo-rank-list>p{padding:16px;font-size:12.5px;color:#7a8493}
.customer-geo-footnote{font-size:12px;color:#778291;line-height:1.7;margin:10px 2px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.customer-geo-unmatched{border:0;background:#fff7ed;color:#b45309;border:1px solid #fed7aa;border-radius:6px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer}
.customer-geo-unmatched:hover{background:#ffedd5}
.customer-editor-dialog .customer-geo-form{border-top:1px solid #e5e8ed;margin-top:10px;padding-top:14px}
.customer-geo-form h3{font-size:14px;margin:0 0 16px}
.customer-geo-form .geo-status{font-size:12px;color:#768394}
.customer-editor-dialog .el-dialog__body{max-height:70vh;overflow-y:auto}
/* ROUND 36.1: product ranking primary metric stands out; time filter stays quieter than the product toolbar. */
.is-product .geo-rank-primary{font-size:14px;font-weight:700;letter-spacing:.2px}
.is-product .geo-rank-primary.is-money{font-size:14px;color:#8a5a06}
.is-product .geo-rank-secondary{font-size:11px;color:#8b98a9}
.customer-geo-filters{padding:7px 10px}
.customer-geo-filters>span{font-size:12px}
/* ROUND 36.2 — region order drilldown dialog + ranking affordance */
.geo-rank-chevron{align-self:center;color:#c2cbd7;font-size:17px;line-height:1;flex:none;font-weight:400}
.customer-geo-rank-list>button:hover .geo-rank-chevron,.customer-geo-rank-list>button.is-selected .geo-rank-chevron{color:#3370ff}
.is-product .customer-geo-rank-list>button{cursor:pointer}
.geo-ctrl-orders{background:rgba(24,52,84,.95)!important}
.geo-ctrl-orders:hover{background:#1d4d7c!important}
.market-geo-orders-dialog{display:flex;flex-direction:column;max-height:86vh}
.market-geo-orders-dialog .el-dialog__body{padding:12px 20px 16px;overflow:auto;display:flex;flex-direction:column;gap:12px}
.market-geo-orders-head{display:flex;flex-direction:column;gap:2px;padding-right:32px}
.market-geo-orders-head strong{font-size:15.5px;color:#1c2733}
.market-geo-orders-head span{font-size:12px;color:#8794a5}
.market-geo-orders-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 14px;background:#f7f9fc;border:1px solid #e8ecf1;border-radius:8px}
.market-geo-orders-scope{font-size:12px;color:#67748a}
.market-geo-orders-stats{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.market-geo-orders-stats>span{display:flex;align-items:baseline;gap:7px}
.market-geo-orders-stats small{font-size:11px;color:#8794a5}
.market-geo-orders-stats b{font-size:15px;font-weight:600;color:#1f2b39}
.market-geo-orders-qty{gap:6px!important}
.market-geo-orders-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.market-geo-orders-field{display:flex;align-items:center;gap:7px}
.market-geo-orders-field>label{font-size:12px;color:#8592a3}
.market-geo-orders-unit{width:112px}
.market-geo-orders-sort{width:150px}
.market-geo-orders-search{flex:1;min-width:240px;max-width:360px}
.market-geo-orders-error{margin:0}
.market-geo-orders-table{width:100%}
.market-geo-orders-table .el-table__row{cursor:default}
.market-geo-salesno{font-weight:500}
.market-geo-order-customer{display:flex;flex-direction:column;line-height:1.4;min-width:0}
.market-geo-order-customer strong{font-size:12.5px;font-weight:500;color:#263241;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.market-geo-order-customer small{font-size:11px;color:#97a2b1}
.market-geo-orders-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.market-geo-orders-note{font-size:11px;color:#98a3b2}
.market-geo-orders-total{font-size:12px;color:#67748a}
@media(max-width:1500px){.market-geo-orders-dialog.el-dialog{width:94vw!important}}
/* ECharts dark tooltip content blocks */
.dp-geo-tip{min-width:172px}
.dp-geo-tip-head{display:flex;align-items:center;gap:8px;font-size:13px;padding-bottom:6px;margin-bottom:6px;border-bottom:1px solid rgba(70,105,140,.45)}
.dp-geo-tip-head b{letter-spacing:.3px}
.dp-geo-tip-tag{font-size:10.5px;line-height:1;padding:3px 6px;border-radius:4px}
.dp-geo-tip-gps{color:#7ce4ff;background:rgba(56,198,255,.14);border:1px solid rgba(56,198,255,.45)}
.dp-geo-tip-rows{line-height:1.85}
.dp-geo-tip-note{margin-top:7px;padding-top:6px;border-top:1px solid rgba(70,105,140,.35);font-size:11px;color:#93a9c2}
@media(min-width:1500px){.customer-geo-layout{grid-template-columns:minmax(0,1fr) clamp(360px,23.5vw,452px)}}
@media(max-width:1499px){.customer-geo-rank-list{max-height:520px}}
@media(max-width:1200px){.customer-geo-layout{grid-template-columns:minmax(0,1fr)}.customer-geo-rank-list{max-height:460px}}
@media(max-width:800px){.customer-geo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-geo-modes{margin-left:0}.customer-geo-map-stage{height:460px}.customer-geo-header-stats{display:none}}
