#ec-root{min-width:0;max-width:100%;padding:8px;color:var(--text-1)}#ec-root h1{font-size:26px;margin:6px 0}#ec-root h2{font-size:18px;margin:18px 0 10px}.ec-heading{margin-bottom:20px}.ec-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0}.ec-filter,.ec-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.ec-filter{padding:16px;background:var(--bg-elev1);border:1px solid var(--border);border-radius:12px}.ec-filter label,.ec-form label,#ec-commit label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-2)}#ec-root input,#ec-root select,#ec-root textarea{box-sizing:border-box;width:100%;min-width:0;padding:9px;border:1px solid var(--border);border-radius:6px;color:var(--text-1);background:var(--bg-elev2);font:inherit}#ec-root select option{background:var(--bg-elev1)}.ec-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:18px 0}.ec-cards article{padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev1)}.ec-cards span{display:block;color:var(--text-2);font-size:12px}.ec-cards strong,.ec-cards strong span{display:block;font-size:24px;color:var(--text-1);margin-top:8px;font-variant-numeric:tabular-nums}.ec-scroll{max-width:100%;overflow:auto;margin:12px 0;border:1px solid var(--border);border-radius:8px}.ec-scroll table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.ec-scroll th,.ec-scroll td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border)}.ec-scroll th{color:var(--text-2);background:var(--bg-elev1)}.ec-scroll small{display:block;font-size:12px;color:var(--text-3);max-width:230px;overflow:hidden;text-overflow:ellipsis}.ec-scroll .btn{padding:5px 8px}.ec-empty{padding:40px;text-align:center;color:var(--text-2)}#ec-dialog{box-sizing:border-box;width:min(850px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid var(--border);border-radius:14px;background:var(--bg-base,#131620);color:var(--text-1);padding:20px}#ec-dialog::backdrop{background:#0009}.ec-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.ec-dialog-head h2{margin:0!important}.ec-wide{grid-column:1/-1}.ec-form [hidden]{display:none}.ec-form button{justify-self:start}#ec-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-width:100%}#ec-dialog-status,#ec-status{color:var(--text-2);overflow-wrap:anywhere}#ec-bulk textarea{width:100%;margin-bottom:12px}#ec-root details>summary{cursor:pointer}#ec-root button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){#ec-root{padding:0}.ec-filter,.ec-form{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-cards article{padding:12px}.ec-cards strong,.ec-cards strong span{font-size:20px}#ec-dialog{padding:14px}.ec-toolbar .btn{font-size:12px}.ec-form .ec-wide{grid-column:1/-1}}

.ec-shop-tabs,.ec-date-shortcuts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ec-shop-tabs{margin:0 0 16px}.ec-shop-tabs .btn,.ec-date-shortcuts .btn{min-height:40px;white-space:normal;overflow-wrap:anywhere}.ec-shop-tabs [aria-pressed="true"],.ec-date-shortcuts [aria-pressed="true"]{background:var(--bg-elev2);color:var(--text-1)!important;border:2px solid var(--text-1);font-weight:700}.ec-date-shortcuts span{font-size:12px}.ec-shop-tabs button:focus-visible,.ec-date-shortcuts button:focus-visible{outline:2px solid var(--text-1);outline-offset:3px}


/* T47 compact filters and configurable metric cards */
#ec-root .ec-heading{margin-bottom:12px}#ec-root .ec-shop-tabs{margin-bottom:10px}
#ec-filter{display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:10px 12px}#ec-filter>.ec-date-shortcuts{align-self:center;gap:6px}#ec-filter>label{flex:0 1 160px}#ec-filter>.btn{align-self:center}#ec-filter input,#ec-filter select{padding:7px 9px}#ec-more{align-self:center}#ec-more>summary{padding:9px 4px;font-size:13px;white-space:nowrap}#ec-more[open]{flex-basis:100%;order:10}#ec-more .ec-advanced{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;padding-top:8px;border-top:1px solid var(--border)}
.ec-metric-head{display:flex;justify-content:flex-end;margin-bottom:6px}.ec-metric-head .btn{padding:6px 12px;font-size:12px}#ec-root .ec-cards{margin:0 0 12px;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}#ec-root .ec-cards article{padding:14px 16px}#ec-root .ec-cards strong{overflow-wrap:anywhere}#ec-root .ec-metric-section{margin-top:8px}
.ec-display-row{display:grid;grid-template-columns:minmax(130px,1fr) auto auto auto;align-items:end;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.ec-display-row>label{display:flex;flex-direction:column;gap:5px;font-size:13px}.ec-display-row .ec-hide-card{flex-direction:row;align-items:center;align-self:center;white-space:nowrap}.ec-display-row input[type=checkbox]{width:18px!important;height:18px}.ec-display-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
@media(max-width:600px){#ec-filter>label{flex:1 1 calc(50% - 10px);min-width:0}#ec-filter>.ec-date-shortcuts{flex-basis:100%}#ec-more .ec-advanced{grid-template-columns:repeat(2,minmax(0,1fr))}#ec-root .ec-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-display-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.ec-display-row button{min-height:40px}.ec-display-row .ec-hide-card{justify-self:end}}
/* T86 test-data source bar: public variables only */.ec-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}.ec-heading-actions{display:flex;flex-wrap:wrap;gap:8px}.ec-heading-actions [aria-pressed=true]{border-color:var(--warning);color:var(--warning)}.ec-test{display:grid;gap:10px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--warning);border-left-width:4px;border-radius:var(--radius);background:var(--bg-elev1)}.ec-test[hidden]{display:none}.ec-test-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12px;color:var(--text-2)}.ec-test-badge{padding:2px 10px;border:1px solid var(--warning);border-radius:999px;color:var(--warning);font-size:13px}.ec-test-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.ec-test-row label{display:flex;flex:1 1 320px;flex-direction:column;gap:6px;min-width:0;font-size:12px;color:var(--text-2)}.ec-test-meta{margin:0;font-size:12px;color:var(--text-2);overflow-wrap:anywhere}
/* C2 operating expenses and net profit: public variables only */
#ec-more:not([open])>.ec-advanced{display:none}#ec-filter .ec-week-pick{display:flex;flex-direction:row;align-items:center;gap:6px;font-size:12px;color:var(--text-2);white-space:nowrap}#ec-filter .ec-week-pick select{width:auto;max-width:230px;padding:7px 9px}
.ec-net{margin:4px 0 14px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev1)}.ec-net[hidden]{display:none}
.ec-net-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}#ec-root .ec-net-head h2{margin:0;font-size:16px}
.ec-net-status,.ec-net-note{margin:8px 0;font-size:12px;color:var(--text-2);overflow-wrap:anywhere}
#ec-root .ec-net .ec-cards{margin:8px 0}#ec-root .ec-net .ec-cards article{background:var(--bg-elev2)}#ec-root .ec-cards strong small{display:block;margin-top:4px;font-size:12px;font-weight:400;color:var(--text-3)}
#ec-root .ec-net-warn{border-color:var(--warning)}#ec-root .ec-net-warn strong{color:var(--warning)}
.ec-net-issues{margin:8px 0;font-size:12px;color:var(--warning)}.ec-net-issues ul{margin:6px 0 0;padding-left:18px;color:var(--text-2)}
.ec-net .ec-scroll td:nth-child(2),.ec-net .ec-scroll th:nth-child(2){text-align:right;font-variant-numeric:tabular-nums}
#ec-dialog h3{margin:18px 0 6px;font-size:15px}#ec-dialog .ec-form small{color:var(--text-3);font-size:11px;overflow-wrap:anywhere}#ec-dialog .ec-heading-actions{align-items:center}
#ec-confirm{box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid var(--warning);border-radius:14px;background:var(--bg-base,#131620);color:var(--text-1);padding:20px}#ec-confirm::backdrop{background:#0009}#ec-confirm h2{margin:0 0 10px;font-size:18px;color:var(--warning)}
#ec-root button:focus-visible,#ec-confirm button:focus-visible{outline:2px solid var(--text-1);outline-offset:2px}
@media(max-width:600px){#ec-filter>.ec-date-shortcuts{min-width:0}#ec-filter .ec-week-pick{flex-basis:100%;min-width:0}#ec-filter .ec-week-pick select{flex:1 1 0;width:0;min-width:0;max-width:none}.ec-net{padding:10px}}
/* C3 embedded C4 sections: inline expense editor mirrors the dialog styles; public variables only */
#ec-exp-inline h2{margin:0 0 6px;font-size:16px}#ec-exp-inline h3{margin:18px 0 6px;font-size:15px}#ec-exp-inline .ec-form small{color:var(--text-3);font-size:11px;overflow-wrap:anywhere}#ec-exp-inline .ec-heading-actions{align-items:center}
/* C7 metric dashboard: selectable metric cards and a 12-column panel grid (16px gaps); public variables only */
.ec-cards .ec-card-pick{cursor:pointer;position:relative}.ec-cards .ec-card-pick:hover{background:var(--bg-hover,var(--bg-elev2))}.ec-cards .ec-card-pick.is-on{border-color:var(--accent,var(--text-1));box-shadow:inset 0 0 0 1px var(--accent,var(--text-1))}.ec-cards .ec-card-pick.is-on>span::after{content:" · 仪表盘";color:var(--accent,var(--text-2))}.ec-cards .ec-card-pick:focus-visible{outline:2px solid var(--focus,var(--text-1));outline-offset:2px}
.ec-dash{margin:18px 0}.ec-dash-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}#ec-root .ec-dash-head h2{margin:0;min-width:0;overflow-wrap:anywhere}.ec-dash-actions{display:flex;flex-wrap:wrap;gap:8px}.ec-dash-status{margin:8px 0 12px;font-size:12px;color:var(--text-2);overflow-wrap:anywhere}
.ec-dash-grid{position:relative;min-height:120px}.ec-dash-grid.is-flow{display:flex;flex-direction:column;gap:16px;height:auto!important}
.ec-panel{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;min-width:0;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev1);overflow:hidden}.is-flow .ec-panel{position:relative;left:auto!important;top:auto!important;width:auto!important}
.ec-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:8px 12px;border-bottom:1px solid var(--border-soft,var(--border))}#ec-root .ec-panel-head h3{margin:0;font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-panel-tools{display:flex;gap:6px;flex:none}#ec-root .ec-panel-tools .btn{padding:4px 8px;font-size:12px}
.is-editing .ec-panel{border-style:dashed}.is-editing [data-panel-handle]{cursor:move;touch-action:none}.is-editing [data-panel-handle]:focus-visible{outline:2px solid var(--focus,var(--text-1));outline-offset:-2px}.ec-panel.is-dragging{z-index:2;box-shadow:var(--shadow,0 6px 24px #0006);opacity:.92}
.ec-panel-body{flex:1;min-height:0;overflow:auto;padding:10px 12px}.ec-panel-resize{position:absolute;right:0;bottom:0;width:18px;height:18px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 50%,var(--text-3) 50%,var(--text-3) 58%,transparent 58%,transparent 70%,var(--text-3) 70%,var(--text-3) 78%,transparent 78%)}
.ec-dash-svg{display:block;max-width:100%}.ec-dash-gridline{stroke:var(--border);stroke-width:1}.ec-dash-zero{stroke:var(--text-3);stroke-width:1}.ec-dash-line{fill:none;stroke:var(--chart-1,var(--accent));stroke-width:2;stroke-linejoin:round}.ec-dash-dot{fill:var(--chart-1,var(--accent))}.ec-dash-gap{fill:var(--bg-elev1);stroke:var(--warning);stroke-width:1.5}.ec-dash-axis{fill:var(--text-2);font-size:11px;font-variant-numeric:tabular-nums}
.ec-dash-cap{margin:6px 0 0;font-size:12px;color:var(--text-3);overflow-wrap:anywhere}.ec-dash-empty{margin:0;padding:24px 8px;text-align:center;color:var(--text-2);overflow-wrap:anywhere}.ec-dash-warn{margin:0 0 8px;font-size:12px;color:var(--warning);overflow-wrap:anywhere}.ec-dash-missing{color:var(--warning)}
.ec-bars{display:grid;gap:8px}.ec-bar-row{display:grid;grid-template-columns:minmax(64px,32%) minmax(40px,1fr) auto;align-items:center;gap:8px;font-size:12px}.ec-bar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.ec-bar-val{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-1);white-space:nowrap}
.ec-bar-track{position:relative;height:14px;border-radius:3px;background:var(--bg-elev2)}.ec-bar-track i{position:absolute;top:0;bottom:0;border-radius:3px;background:var(--chart-1,var(--accent))}.ec-bar-track i.is-neg{background:var(--danger)}.ec-bar-track b{position:absolute;top:-2px;bottom:-2px;width:1px;background:var(--text-3)}
.ec-dash-table{max-width:100%;overflow:auto}.ec-dash-table table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.ec-dash-table th,.ec-dash-table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--border)}.ec-dash-table th{position:sticky;top:0;color:var(--text-2);background:var(--bg-elev1)}.ec-dash-table .num{text-align:right;font-variant-numeric:tabular-nums}.ec-dash-table td:first-child{max-width:220px;overflow:hidden;text-overflow:ellipsis}#ec-root .ec-dash-table .btn{padding:4px 8px;font-size:12px}.ec-dash-total td{font-weight:600}
.ec-dash-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.ec-dash-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-2)}.ec-dash-form label[hidden]{display:none}.ec-dash-form .ec-dash-cap{grid-column:1/-1}.ec-dash-form-actions{grid-column:1/-1;display:flex;gap:8px}
.ec-dash-blank{padding:32px 16px;text-align:center;border:1px dashed var(--border);border-radius:12px;color:var(--text-2)}
/* C6 分类与标准克重筛选：提示行占满筛选栅格，长路径选项不撑破列宽 */
#ec-more .ec-c6-note{margin:0;font-size:12px;line-height:1.6;color:var(--text-2)}#ec-more .ec-c6-note:empty{display:none}#ec-more .ec-c6-note .btn{margin-left:6px;padding:4px 10px;font-size:12px}#ec-more .ec-advanced select{min-width:0;max-width:100%;text-overflow:ellipsis}
/* T73 order import and store maintenance */
#orderLibrary input:not(:disabled),#orderLibrary select:not(:disabled){opacity:1;cursor:auto}
#orderLibrary .ol-filter button:not(:disabled),#orderLibrary .ol-settings-panel button:not(:disabled){opacity:1;cursor:pointer}
#orderLibrary button:disabled{opacity:.5;cursor:not-allowed}
#orderLibrary .ol-table-scroll td{padding:12px 16px;border-bottom:1px solid var(--border);white-space:nowrap}
#orderLibrary #ol-rows th,#orderLibrary #ol-rows td{text-align:left}
#orderLibrary #ol-rows :is(th,td):is(:nth-child(7),:nth-child(8),:nth-child(10)){text-align:right;font-variant-numeric:tabular-nums}
#orderLibrary #ol-preview summary{display:block;width:auto;height:auto;list-style:disclosure-closed;border-radius:4px;padding:8px;cursor:pointer}
#orderLibrary dialog{width:min(1100px,calc(100vw - 40px));max-height:85vh;overflow:auto;border:1px solid var(--border);border-radius:14px;padding:24px;background:var(--bg-elev);color:var(--text)}
#orderLibrary dialog::backdrop{background:#0006}
#orderLibrary .ol-import-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;flex-wrap:wrap}
#orderLibrary #ol-clear{width:min(600px,calc(100vw - 40px))}
#t73-shops form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}
#t73-shops input:not([type=checkbox]){min-width:210px;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}

/* T76: constrained preview body, independently scrolling tables and reachable actions. */
#orderLibrary #ol-dialog[open]{display:flex;flex-direction:column;width:min(1320px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(900px,90dvh);max-height:90dvh;overflow:hidden;box-sizing:border-box;padding:20px;gap:10px}
#orderLibrary #ol-dialog>h2,#orderLibrary #ol-dialog>p{margin:0;flex:none}
#orderLibrary #ol-dialog .ec-form{flex:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#orderLibrary #ol-dialog label{display:flex;flex-direction:column;gap:6px;min-width:0}
#orderLibrary #ol-dialog input,#orderLibrary #ol-dialog select{width:100%;min-width:0;box-sizing:border-box}
#orderLibrary #ol-import-status{overflow-wrap:anywhere}
#orderLibrary .ol-preview-body{flex:1;min-height:0;min-width:0;overflow:auto;padding-right:4px;overscroll-behavior:contain}
#orderLibrary .ol-preview-body h3{font-size:14px;margin:16px 0 8px}
#orderLibrary .ol-preview-table{max-width:100%;overflow:auto;border:1px solid var(--border);border-radius:6px;margin:8px 0}
#orderLibrary .ol-preview-table table{width:100%;border-collapse:collapse;font-size:12px}
#orderLibrary .ol-preview-table th,#orderLibrary .ol-preview-table td{padding:9px 12px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;vertical-align:top}
#orderLibrary .ol-preview-table th{background:var(--bg);font-weight:600}
#orderLibrary .ol-preview-table .ol-number{text-align:right;font-variant-numeric:tabular-nums}
#orderLibrary .ol-preview-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:12px 0}
#orderLibrary .ol-preview-stats>div{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg-elev)}
#orderLibrary .ol-preview-stats span{font-size:12px;color:var(--muted)}
#orderLibrary .ol-preview-stats strong{font-size:20px;font-variant-numeric:tabular-nums}
#orderLibrary .ol-file-info{overflow-wrap:anywhere;font-size:12px;line-height:1.7}
#orderLibrary .ol-preview-pages{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0;font-size:12px}
#orderLibrary .ol-candidate{margin:12px 0;padding:10px;border:1px solid var(--border);border-radius:6px}
#orderLibrary .ol-source{max-width:480px;min-width:100px;white-space:normal}
#orderLibrary .ol-source table{table-layout:fixed;min-width:340px}
#orderLibrary .ol-source td{white-space:normal;overflow-wrap:anywhere}
#orderLibrary .ol-source p{white-space:normal;font-size:12px}
#orderLibrary #ol-dialog .ol-import-actions{flex:none;border-top:1px solid var(--border);padding-top:12px;margin:0}
@media(max-width:700px){
 #orderLibrary #ol-dialog[open]{padding:12px;gap:8px;width:calc(100vw - 20px);max-width:calc(100vw - 20px);height:94dvh;max-height:94dvh}
 #orderLibrary #ol-dialog .ec-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #orderLibrary #ol-dialog .ec-form label:last-child{grid-column:1/-1}
 #orderLibrary .ol-preview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 #orderLibrary .ol-preview-pages{gap:6px}
}

#orderLibrary .ol-source[open]{max-height:260px;overflow:auto}

/* T83: template controls share the existing dialog/table rhythm. */
#orderLibrary #ol-template[open]{display:flex;flex-direction:column;width:min(1000px,calc(100vw - 32px));max-width:calc(100vw - 32px);height:min(850px,90dvh);max-height:90dvh;overflow:hidden;box-sizing:border-box;gap:10px}
#orderLibrary #ol-template>h2,#orderLibrary #ol-template>p{margin:0;flex:none;overflow-wrap:anywhere}
#orderLibrary .ol-template-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;flex:none}
#orderLibrary #ol-template label{display:flex;flex-direction:column;gap:6px;min-width:0}
#orderLibrary #ol-template :is(input,select){box-sizing:border-box;min-width:0;max-width:100%;width:100%;padding:8px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px}
#orderLibrary #ol-template .ol-preview-table table{min-width:0;table-layout:fixed}
#orderLibrary #ol-template .ol-preview-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:middle}
#orderLibrary #ol-template .ol-import-actions{flex:none;border-top:1px solid var(--border);padding-top:12px;margin:0}
#orderLibrary #ol-rows td:nth-child(12){white-space:normal;min-width:180px;max-width:360px;overflow-wrap:anywhere}
@media(max-width:700px){
 #orderLibrary #ol-template[open]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);height:94dvh;max-height:94dvh;padding:12px}
 #orderLibrary .ol-template-controls{grid-template-columns:minmax(0,1fr);gap:8px}
}

#orderLibrary #ol-template th:first-child{width:40%}

/* M4: independent page sections reuse the test batch and table components. */
#orderLibrary [hidden]{display:none!important}
#orderLibrary .ol-heading-main{min-width:0}
#orderLibrary .ol-title-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#orderLibrary .ol-title-row h1{margin:0}
#orderLibrary .ol-mode-switch{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#orderLibrary .ol-mode-switch .btn{min-height:36px;white-space:nowrap;cursor:pointer}
#orderLibrary .ol-mode-switch [aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}
#orderLibrary :is(#ol-normal,#ol-tests){min-width:0;max-width:100%}
#orderLibrary #ol-tests:not([hidden]){display:flex;flex-direction:column;gap:12px}
#orderLibrary #ol-tests .ol-preview-body{flex:none;overflow:visible;padding:0}
#orderLibrary #ol-tests .ol-preview-table{max-height:60vh}
#orderLibrary #ol-tests .ol-test-filters{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev)}
#orderLibrary #ol-tests>h2,#orderLibrary #ol-tests>p{margin:0;flex:none;overflow-wrap:anywhere}
#orderLibrary .ol-test-notice{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:12px;line-height:1.6}
#orderLibrary .ol-test-filters{display:grid;grid-template-columns:minmax(0,3fr) minmax(120px,1fr);gap:12px}
#orderLibrary #ol-tests label{display:flex;flex-direction:column;gap:6px;min-width:0}
#orderLibrary #ol-tests :is(input,select){box-sizing:border-box;min-width:0;width:100%;padding:8px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px}
#orderLibrary #ol-tests .ol-import-actions{flex:none;align-items:center;border-top:1px solid var(--border);padding-top:12px;margin:0}
#orderLibrary .ol-test-clear:not([hidden]){display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
/* M4 follow-up: batch context belongs beside the page title, above the list. */
#orderLibrary .ol-heading{flex-wrap:wrap}
#orderLibrary .ol-heading>.ol-settings{margin-left:auto;flex:none}
#orderLibrary #ol-test-context{flex:0 1 600px;min-width:min(100%,320px);max-width:100%}
#orderLibrary .ol-test-context-caption{display:flex;align-items:center;gap:12px;margin-bottom:4px}
#orderLibrary .ol-test-context-caption h2{font-size:12px;font-weight:600;margin:0;line-height:18px}
#orderLibrary .ol-test-context-help{position:relative;font-size:12px;color:var(--muted)}
#orderLibrary .ol-test-context-help summary{cursor:pointer;padding:2px 4px;border-radius:4px}
#orderLibrary .ol-test-context-help .ol-test-notice{position:absolute;z-index:20;top:100%;left:0;width:min(380px,calc(100vw - 80px));max-width:calc(100vw - 80px);box-sizing:border-box;margin:8px 0 0;background:var(--bg-elev);box-shadow:0 6px 18px #0002}
#orderLibrary #ol-test-context .ol-test-filters{grid-template-columns:minmax(0,1fr) 140px;gap:10px}
#orderLibrary #ol-test-context label{display:grid;gap:4px;min-width:0;font-size:11px;color:var(--text-2)}
#orderLibrary #ol-test-context select{width:100%;min-width:0;box-sizing:border-box;height:36px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font:inherit;font-size:12px}
@media(max-width:700px){
 #orderLibrary .ol-title-row{gap:8px}
 #orderLibrary .ol-mode-switch .btn{min-height:44px;padding-inline:12px}
 #orderLibrary .ol-test-filters{grid-template-columns:minmax(0,1fr)}
 #orderLibrary #ol-tests .ol-import-actions{gap:6px}
 #orderLibrary #ol-test-context{order:3;flex-basis:100%;min-width:0;position:relative}
 #orderLibrary #ol-test-context .ol-test-filters{grid-template-columns:minmax(0,1fr) 112px;gap:8px}
 #orderLibrary #ol-test-context select{height:44px}
 #orderLibrary .ol-test-context-help{position:static}
 #orderLibrary .ol-test-context-help .ol-test-notice{left:0;right:0;width:100%;max-width:100%}
}
