/* TV presentation: a fixed 16:9 composition, scaled without changing information density. */
#display-stage{width:100%;min-height:100dvh;display:flex;flex-direction:column}.display-mode-label{margin-left:auto}#display-status{font-size:12px;color:#a8c9dc}
@media(min-width:1700px) and (min-height:980px){#display-stage{height:100dvh;min-height:0;flex:1;min-width:0}}
body.television{display:block!important;width:100vw;height:100vh;overflow:hidden;background:#030914}
.television #display-stage{position:absolute;left:var(--tv-left);top:var(--tv-top);width:1920px;height:1080px;min-height:0;transform:scale(var(--tv-scale));transform-origin:top left;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(ellipse at 40% 0,#0e2540 0,transparent 65%),#060d1b;--tv-text:19px;--tv-number:40px}
.television[data-tv-size="75"] #display-stage{--tv-text:21px;--tv-number:44px}
.television .masthead{height:100px;min-height:100px;padding:18px 42px;gap:25px;flex-shrink:0;background:#091729;border-bottom:2px solid #17627a}
.television .brand{gap:13px;flex-shrink:0}.television .brand-mark{width:42px;height:46px}.television h1{font-size:28px;letter-spacing:.02em}.television .version,.television .brand .eyebrow,.television .primary-nav small,.television #refresh-label{display:none}
.television .primary-nav{display:flex;gap:8px;order:0;width:auto;flex:1;justify-content:center;border:0;padding:0}.television .primary-nav a{padding:15px 17px;max-width:none;white-space:nowrap}.television .primary-nav a>span{font-size:19px}.television .header-meta{margin:0;gap:20px;flex-shrink:0;width:auto}.television .period{padding-right:20px;gap:9px}.television .meta-label{font-size:17px;gap:9px}.television #period-kind{font-size:17px;padding:5px 8px}.television .period strong{font-size:16px}.television .sync>span:last-child{font-size:16px}.television .status-dot{width:9px;height:9px}
.television .dashboard{max-width:none;margin:0;padding:0 42px;display:flex;flex-direction:column;flex:1;min-height:0;width:100%}
.television .overview-strip{min-height:49px;height:49px;flex-shrink:0}.television .section-identity{font-size:21px;gap:12px}.television .section-number{font-size:17px}.television .section-identity>.eyebrow{display:none}.television .scope-meta{font-size:16px;gap:12px}.television .tag{font-size:14px;padding:4px 9px}.television #timezone-label,.television .scope-meta .divider:last-of-type{display:none}
.television .dashboard-filters{height:51px;min-height:51px;margin-bottom:12px;padding:6px 14px;gap:15px;flex-wrap:nowrap;font-size:17px;background:#0d2031;border-color:#28516a}.television .dashboard-filters label{gap:12px}.television .dashboard-filters select{font-size:17px;padding:6px 26px 6px 10px;min-width:160px;max-width:240px}.television #salesperson-hint{font-size:15px;white-space:nowrap}.television #display-status{font-size:14px;white-space:nowrap}
.television .notice{font-size:17px;line-height:1.35;padding:8px 14px;margin-bottom:12px;flex-shrink:0;max-height:63px;overflow-y:auto;border-color:#a06b2c;color:#ffcf86;background:#2a221a}
.television .overview-page{display:flex;flex-direction:column;flex:1;min-height:0;gap:0}.television .order-stream{min-height:52px;height:52px;flex-shrink:0;margin-bottom:12px;padding:8px 14px;gap:18px}.television .stream-label strong{font-size:18px}.television .stream-label .mono{display:none}.television .stream-item{font-size:17px;gap:14px}.television .stream-item b{font-size:19px}.television .stream-item small,.television .stream-item time{font-size:15px}
.television .metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:16px;flex-shrink:0}.television .metric-card{height:148px;min-height:148px;padding:16px 17px}.television .metric-name{font-size:var(--tv-text);color:#c4d7e8}.television .metric-icon{width:23px;height:23px}.television .metric-en,.television .metric-corner{display:none}.television .metric-value{font-size:var(--tv-number);margin-top:6px;line-height:1.45;letter-spacing:-.065em}.television .metric-unit{font-size:18px}.television .metric-footer{font-size:15px;margin-top:2px;white-space:normal;line-height:1.3;min-height:20px;gap:5px}.television .metric-footer .mono,.television .metric-footer strong{font-size:15px}.television .sparkline{height:34px;opacity:.35}
.television .data-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);grid-template-rows:minmax(0,1.13fr) minmax(0,1fr);gap:16px}.television .panel{padding:14px 18px 0;min-height:0;background:#0a192b;border:1px solid #24435b;overflow:hidden}.television .panel-heading{min-height:33px;padding-bottom:10px;flex-shrink:0}.television h2{font-size:22px;color:#eaf5ff;letter-spacing:.015em}.television .panel-en,.television .panel-index{display:none}.television .chart-meta{font-size:15px;padding-top:10px;min-height:31px;flex-shrink:0;flex-wrap:nowrap}.television .chart-legend{font-size:16px;gap:17px}.television .legend-line{width:21px;height:3px}.television .trend-panel{display:flex;flex-direction:column}.television .trend-chart{flex:1;height:auto;min-height:140px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.television .trend-chart::-webkit-scrollbar{display:none}.television .axis-label{font-size:15px}.television .trend-point-value{font-size:15px;stroke-width:4px}.television .trend-svg polyline{stroke-width:3px}.television .trend-summary{font-size:15px;min-height:36px;gap:20px;flex-shrink:0}.television .trend-summary strong{font-size:16px}.television .trend-peak{display:none}
.television .country-list{min-height:0;max-height:none;gap:16px;justify-content:flex-start;scrollbar-width:none;padding:8px 0 12px}.television .panel-subtitle{font-size:15px;padding:10px 0 6px}.television .country-row{padding-top:3px}.television .country-name strong,.television .country-amount strong{font-size:19px}.television .country-rank,.television .country-code{font-size:15px}.television .country-share{font-size:16px;min-width:61px}.television .country-track{height:7px;margin-top:8px}.television .panel-footnote{font-size:14px;min-height:30px;margin-top:7px;flex-shrink:0}.television .country-panel .panel-footnote{margin-top:auto;padding-top:5px}
.television .stores-panel{display:flex;flex-direction:column}.television .table-container{flex:1;min-height:0;max-height:none;scrollbar-width:none}.television .table-container table{min-width:0}.television thead th{font-size:16px;padding:10px 7px;color:#adc8df}.television tbody td,.television tbody th{font-size:18px;padding:10px 7px;line-height:1.2}.television .store-name,.television .store-sales{font-size:18px}.television .store-platform,.television .sales-track{display:none}.television .rank{font-size:16px;width:27px;height:27px}.television .table-summary{font-size:15px;min-height:32px;flex-shrink:0}.television .table-summary strong{font-size:16px}
.television .order-distribution{display:flex;flex:1;min-height:0;gap:16px;padding:8px 0;flex-direction:row}.television .orders-panel{display:flex;flex-direction:column}.television .overview-page .donut-wrap{width:176px;height:176px;flex-shrink:0}.television .donut-center strong{font-size:34px}.television .donut-center>span{font-size:15px}.television .donut-caption{display:none}.television .order-legend{min-height:0;max-height:100%;overflow-y:auto;scrollbar-width:none;gap:17px}.television .order-legend-row{font-size:17px;gap:10px}.television .order-legend-row strong{font-size:19px}.television .order-legend-row small{font-size:14px}.television .order-service-stats{font-size:14px}.television .order-service-stats strong{font-size:15px}.television .data-definition{display:none}
.television .footer{font-size:13px;min-height:31px;height:31px;padding:6px 42px;flex-shrink:0}.television .footer>span:last-child{font-size:14px}.television .footer>span:first-child{font-size:12px;color:#7da1bb}
/* The same canvas and larger type apply to all three report pages. */
.television .detail-page{flex:1;min-height:0;padding:0 0 12px;overflow:hidden}.television .report-layout{height:100%;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);grid-template-rows:148px minmax(0,1fr);gap:16px}.television .report-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.television .detail-kpi{padding:16px;min-height:0;height:148px}.television .detail-kpi-label{min-height:24px;flex-direction:row}.television .detail-kpi-label>span{font-size:19px}.television .detail-kpi-label .detail-tag{display:none}.television .report-metrics .detail-kpi-value{font-size:36px;margin:7px 0;white-space:nowrap;overflow-wrap:normal;line-height:1.2}.television .detail-kpi-detail{font-size:15px;line-height:1.4}.television .detail-kpi-footer{display:none}.television .report-panel{display:flex;flex-direction:column;padding:18px;min-height:0;overflow:hidden}.television .detail-panel-head{min-height:36px;margin-bottom:12px;flex-shrink:0}.television .detail-panel-head h2{font-size:22px}.television .report-panel .detail-table-scroll{flex:1;min-height:0;max-height:none;scrollbar-width:none;overflow:auto}.television .detail-table{min-width:0;width:100%;font-size:18px}.television .detail-table th,.television .detail-table td{padding:14px 10px;font-size:18px;white-space:normal;overflow-wrap:anywhere}.television .detail-table th{font-size:17px}.television .report-panel .detail-description{font-size:21px;padding:18px;line-height:1.6}.television .report-carriers{padding:15px 0;gap:14px;overflow-y:auto}.television .report-carriers .detail-tag{font-size:19px;padding:10px 16px}.television .report-layout>.detail-footnote{display:none}.television .report-panel .detail-footnote{font-size:16px;padding-top:12px;line-height:1.5;flex-shrink:0}.television .report-metrics:has(>.detail-kpi:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}.television .report-metrics .detail-kpi-value:has(.mono){font-size:34px}
.television[data-view="monitoring"] .report-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-template-rows:148px minmax(0,1fr)}.television[data-view="monitoring"] .report-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.television[data-view="monitoring"] .report-metrics .detail-kpi:last-child .detail-kpi-value{font-size:23px;line-height:1.4;white-space:normal}.television .collector-toolbar{font-size:17px;padding:10px 15px;gap:12px;flex-shrink:0}.television .authorization-row{font-size:17px;padding-bottom:8px;gap:20px}.television .collector-toolbar button{font-size:18px;padding:9px 18px}.television .collector-control-message{font-size:16px}.television .empty-state{font-size:22px;min-height:90px}
body.television[data-view] .dashboard{flex:1 1 0%;height:0;min-height:0}body.television[data-view] .footer{margin-top:0}.television .data-grid{grid-template-rows:minmax(0,1.35fr) minmax(0,1fr)}.television[data-tv-size="75"] #display-stage{--tv-number:42px}
.television .detail-kpi-label{font-size:var(--tv-text);color:#c4d7e8}.television .detail-table{table-layout:fixed}.television .detail-table th:nth-child(n),.television .detail-table td:nth-child(n){padding:13px 10px;font-size:18px;line-height:1.45;min-width:0;max-width:none;overflow-wrap:normal}.television .detail-table thead th:nth-child(n){font-size:17px}.television .detail-table th:first-child,.television .detail-table td:first-child{width:22%;text-align:left}.television .detail-table th:nth-child(2){min-width:0;max-width:none;text-align:right}.television .detail-table tbody th{font-size:18px;font-weight:500}.television .detail-table[aria-label="收入成本核对"] th:first-child{width:45%}.television .detail-table[aria-label="店铺损益明细"] td{white-space:nowrap;font-size:17px}.television .detail-table[aria-label="订单履约状态"] th:first-child{width:50%}.television .detail-table[aria-label="采集待核实事项"] th:first-child{width:20%}.television .detail-table[aria-label="采集待核实事项"] td:last-child{width:15%}.television .detail-table[aria-label="数据同步记录"] td:first-child{width:27%;font-size:16px;white-space:nowrap}.television .detail-table[aria-label="数据同步记录"] td:nth-child(2){width:12%;font-size:16px}.television .detail-table[aria-label="数据同步记录"] th:first-child{width:27%}.television .detail-table[aria-label="数据同步记录"] th:nth-child(2){width:12%}.television .detail-table[aria-label="采集待核实事项"] th:nth-child(2){width:65%}
#display-stage>.dashboard{width:100%;min-width:0}#display-stage>.masthead,#display-stage>.footer{min-width:0}
@media(max-width:600px){.display-mode-label{margin-left:0}#display-status{width:100%;font-size:11px}}
.television .detail-table tbody td.mono{overflow-wrap:anywhere;white-space:normal}.television .country-amount strong{max-width:250px;min-width:0;display:block}

/* Browser-independent controls, rendered outside the scaled TV canvas. */
.picker-button{font:inherit;color:#c5e9f6;background:#0b2030;border:1px solid #295569;border-radius:4px;padding:9px 38px 9px 14px;min-height:42px;min-width:150px;text-align:left;cursor:pointer;position:relative;white-space:nowrap}
.picker-button::after{content:"";position:absolute;right:15px;top:40%;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.picker-button:disabled{opacity:.55;cursor:default}.picker-button:focus-visible,.television a:focus-visible,.television button:focus-visible{outline:3px solid #00e5ff;outline-offset:3px;box-shadow:0 0 0 6px #00dfff22}
.picker-menu{position:fixed;z-index:10000;overflow-y:auto;overscroll-behavior:contain;background:#0d2236;border:2px solid #00c8df;border-radius:7px;box-shadow:0 14px 45px #000b;padding:6px;scrollbar-color:#2d708c #0d2236}
.picker-menu[hidden]{display:none!important}.picker-menu button{display:block;width:100%;font:inherit;line-height:1.4;text-align:left;color:#d9eaf5;background:transparent;border:0;border-radius:3px;min-height:2.8em;padding:.6em .8em;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.picker-menu button[aria-selected="true"]{color:#00e3d4;background:#113546}.picker-menu button:hover,.picker-menu button:focus{color:#031421;background:#00cddd;outline:2px solid #d7fcff;outline-offset:-2px}
.period .picker-button{min-width:126px;font-size:14px;padding:6px 30px 6px 10px;min-height:36px}.dashboard-filters .picker-button{max-width:300px;min-width:200px}
.television .picker-button{font-size:18px;min-width:170px;padding:7px 34px 7px 12px;min-height:38px}.television .period .picker-button{font-size:17px;min-width:126px;padding:5px 28px 5px 9px;min-height:34px}
.television .display-mode-label .picker-button{min-width:180px}.television #display-status{max-width:275px;overflow:hidden;text-overflow:ellipsis}
/* 55-inch: larger, wider KPI tiles in two rows. 75-inch: six compact tiles in one row. */
.television[data-tv-size="55"] #display-stage{--tv-text:20px;--tv-number:42px}
.television[data-tv-size="55"] .masthead{height:84px;min-height:84px;padding:12px 36px}
.television[data-tv-size="55"] .dashboard{padding:0 36px}.television[data-tv-size="55"] .overview-strip{height:40px;min-height:40px}
.television[data-tv-size="55"] .dashboard-filters{height:44px;min-height:44px;margin-bottom:8px;padding:3px 12px}
.television[data-tv-size="55"] .notice{padding:6px 12px;font-size:16px;max-height:52px;margin-bottom:8px}
.television[data-tv-size="55"] .order-stream{height:44px;min-height:44px;padding:5px 12px;margin-bottom:8px}
.television[data-tv-size="55"] .metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px}
.television[data-tv-size="55"] .metric-card{height:108px;min-height:108px;padding:9px 16px}
.television[data-tv-size="55"] .metric-value{margin-top:1px;font-size:42px;line-height:1.1}
.television[data-tv-size="55"] .metric-footer{font-size:14px;line-height:1.15;min-height:16px;margin-top:1px}.television[data-tv-size="55"] .metric-footer .mono,.television[data-tv-size="55"] .metric-footer strong{font-size:14px}
.television[data-tv-size="55"] .data-grid{gap:12px;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);grid-template-rows:minmax(0,1.2fr) minmax(0,1fr)}
.television[data-tv-size="55"] .panel{padding:10px 15px 0}.television[data-tv-size="55"] .panel-heading{min-height:28px;padding-bottom:6px}.television[data-tv-size="55"] h2{font-size:21px}
.television[data-tv-size="55"] .chart-meta{font-size:14px;padding-top:6px;min-height:27px}.television[data-tv-size="55"] .chart-legend{font-size:15px}
.television[data-tv-size="55"] .trend-chart{min-height:110px}.television[data-tv-size="55"] .trend-summary{font-size:14px;min-height:30px;gap:14px}
.television[data-tv-size="55"] .panel-footnote{font-size:13px;min-height:25px;margin-top:4px}.television[data-tv-size="55"] .overview-page .donut-wrap{width:128px;height:128px}
.television[data-tv-size="55"] .order-distribution{padding:4px 0;gap:14px}.television[data-tv-size="55"] .order-legend{gap:10px}.television[data-tv-size="55"] .order-legend-row{font-size:16px}
.television[data-tv-size="55"] .footer{height:27px;min-height:27px;padding:4px 36px}
@media(max-width:600px){.dashboard-filters .picker-button{min-width:160px;max-width:100%}.period .picker-button{min-width:110px}.picker-menu{max-width:calc(100vw - 24px)}}

.picker-button{overflow:hidden;text-overflow:ellipsis}

/* A TV may expose a 960px browser viewport even on a 4K panel.
   Keep phone/tablet row placements out of the scaled 1920px canvas. */
.television .data-grid>.trend-panel{grid-row:1;grid-column:1}
.television .data-grid>.country-panel{grid-row:1;grid-column:2}
.television .data-grid>.stores-panel{grid-row:2;grid-column:1}
.television .data-grid>.orders-panel{grid-row:2;grid-column:2}
.television .data-grid.no-country>.trend-panel{grid-column:1 / -1}

/* The order ticker stays on one line throughout the scaled TV canvas. */
.television .order-stream{flex-direction:row;align-items:center}

/* Keep both lines within the ring's inner circle, including on older TVs. */
.television .donut-center{inset:auto;left:27%;top:27%;width:46%;height:46%;gap:3px;text-align:center}
.television .donut-center>span:first-child{font-size:14px;line-height:1.2;white-space:nowrap}
.television .donut-center strong{display:block;width:100%;font-size:30px;line-height:1.1;white-space:nowrap;text-align:center}
.television[data-tv-size="55"] .donut-center>span:first-child{font-size:11px}
.television[data-tv-size="55"] .donut-center strong{font-size:26px}

/* Share the available panel space between a readable ring and full status values. */
.television .order-distribution{justify-content:space-between;align-items:center;gap:22px}
.television .overview-page .donut-wrap{width:192px;height:192px}
.television[data-tv-size="55"] .overview-page .donut-wrap{width:160px;height:160px}
.television .donut-center{left:25%;top:25%;width:50%;height:50%;gap:3px}
.television .donut-center>span:first-child{font-size:calc(14px * var(--donut-font-scale,1))}
.television .donut-center strong{font-size:calc(34px * var(--donut-font-scale,1))}
.television[data-tv-size="55"] .donut-center>span:first-child{font-size:calc(12px * var(--donut-font-scale,1))}
.television[data-tv-size="55"] .donut-center strong{font-size:calc(28px * var(--donut-font-scale,1))}
.television .order-legend{flex:1;min-width:0;width:auto;max-width:none;padding:3px 0}
.television .order-legend-row{grid-template-columns:minmax(0,1fr) max-content 56px;line-height:1.35}
.television .status-name{min-width:0;overflow-wrap:anywhere}
.television .order-legend-row strong{white-space:nowrap}
.television .orders-panel .panel-footnote{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;min-height:34px;line-height:1.3}
.television[data-tv-size] .data-grid{grid-template-rows:minmax(0,1.1fr) minmax(0,1fr)}
.period-range-button{display:block;border:0;background:transparent;color:inherit;font:inherit;font-family:var(--mono);font-size:12px;font-weight:700;white-space:nowrap;padding:0;cursor:pointer;text-align:left}
.period-range-button:hover,.period-range-button:focus-visible{color:var(--cyan);outline:2px solid var(--cyan);outline-offset:4px}
.television .period-range-button{font-size:16px}
@media(max-width:1550px){body:not(.television) .period-range-button{font-size:10px}}
@media(min-width:1700px){body:not(.television) .period-range-button{font-size:13px}}
.date-range-dialog{box-sizing:border-box;width:560px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;margin:auto;background:#0b1c2e;color:#e4f1ff;border:2px solid #00cfe5;border-radius:8px;padding:20px;font:16px/1.4 system-ui,sans-serif;box-shadow:0 16px 80px #000a}
.date-range-dialog::backdrop{background:#020713c9}
.date-range-dialog h2{font-size:24px;margin:0 0 6px}.date-range-dialog p{margin:6px 0 12px;font-size:14px}
.range-inputs,.range-tabs,.calendar-heading,.range-actions{display:flex;gap:12px;align-items:center;margin:10px 0}
.range-inputs label{flex:1;min-width:0}.range-inputs input{box-sizing:border-box;display:block;width:100%;min-width:0;background:#102b42;color:#fff;border:1px solid #3b687e;padding:8px;font:inherit;color-scheme:dark}
.date-range-dialog button{background:#14324b;color:#eaf7ff;border:1px solid #3a6179;border-radius:3px;font:inherit;min-height:38px;padding:6px 12px;cursor:pointer}
.date-range-dialog button:focus-visible,.range-inputs input:focus-visible{outline:3px solid #00e5fa;outline-offset:1px}
.date-range-dialog button[aria-pressed=true],.date-range-dialog #range-apply{background:#00bcd1;color:#031822;border-color:#00e5fa}
.date-range-dialog button:disabled{opacity:.3;cursor:default}.range-tabs button{flex:1}.calendar-heading{justify-content:space-between}
.calendar-week,.range-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.calendar-week{margin-bottom:5px;color:#a0b9ce}.range-calendar button{padding:5px;min-height:36px}.range-calendar .in-range{background:#1b5770}
.range-actions{justify-content:flex-end;margin-bottom:0}.date-range-dialog .range-error{color:#ffba78;min-height:20px;margin:7px 0}
@media(max-height:650px){.date-range-dialog{padding:10px 16px;font-size:14px}.date-range-dialog h2{font-size:20px}.date-range-dialog p{margin:3px 0;font-size:12px}.range-inputs,.range-tabs,.calendar-heading,.range-actions{margin:6px 0;gap:8px}.date-range-dialog button{min-height:30px}.range-calendar{gap:3px}.range-calendar button{min-height:28px;padding:3px}.range-inputs input{padding:5px}}
