/* Element Plus owns tab navigation, keyboard focus and active state. */
.control-tabs.el-tabs{display:block;width:100%;min-width:0;max-width:100%;margin:0;padding:0;border:0;background:transparent}
.control-tabs.el-tabs>.el-tabs__header{width:fit-content;max-width:100%;margin:0 0 16px;padding:4px;border:1px solid #d8e2ec;border-radius:8px;background:#eaf0f6}
.control-tabs .el-tabs__nav-wrap{margin-bottom:0}
.control-tabs .el-tabs__nav-wrap::after{height:1px;background:#d8e2ec}
.control-tabs .el-tabs__active-bar{height:2px;background:#1983bc}
.control-tabs .el-tabs__item{min-width:0;flex:0 0 auto;gap:9px;border-radius:5px;background:transparent;color:#4b5c6e;transition:background .15s,color .15s,box-shadow .15s}
.control-tabs .el-tabs__item.is-active{color:#1267a6;background:#fff;font-weight:600}
.control-tabs .el-tabs__item:not(.is-active):not(.is-disabled):hover{color:#1267a6;background:#f7fafc}
.control-tabs.el-tabs>.el-tabs__content,.control-tabs.el-tabs>.el-tabs__content>.el-tab-pane{padding:0;overflow:visible}
.original-preview-panel .preview-top{margin-bottom:12px}

/* Settings have one stable header and navigation track across all three panels. */
.control-shell{width:100%;min-width:0;color:#293648}
.control-shell *{box-sizing:border-box}
.control-shell .settings-topbar.panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 20px;margin:0;border:0;background:transparent;box-shadow:none}
.control-shell .settings-intro{min-width:0}
.control-shell .settings-intro h1{margin:0;color:#213248;letter-spacing:.02em}
.control-shell .settings-intro p{margin:5px 0 0;color:#738094;line-height:1.5}
.control-shell .detection-master-panel{display:flex;align-items:center;flex-wrap:wrap;gap:22px;flex:none;padding:12px 18px;margin:0;border:1px solid #e0e7ee;border-radius:9px;background:#fff}
.control-shell .algorithm-master-row{display:flex;align-items:center;gap:12px;min-height:32px}
.control-shell .control-master-label{font-weight:500;color:#526176;white-space:nowrap}
.control-shell .mode-control-panel{display:flex;align-items:center;gap:12px;border-left:1px solid #e4e9ef;padding-left:22px;min-height:32px}
.control-shell .mode-control-panel.is-disabled .control-master-label{color:#9099a6}
.control-shell .settings-tabs.el-tabs>.el-tabs__header{position:sticky;top:0;z-index:8;width:100%;margin:0;padding:0 20px;border:1px solid #dfe6ee;border-bottom-color:#e3e9f0;border-radius:10px 10px 0 0;background:#fff}
.control-shell .settings-tabs .el-tabs__nav-wrap::after{background:#e3e9f0}
.control-shell .settings-tabs .el-tabs__item{border-radius:0;color:#6c7b8e;font-weight:500;white-space:nowrap}
.control-shell .settings-tabs .el-tabs__item svg{display:block;width:17px;height:17px;flex:none}
.control-shell .settings-tabs .el-tabs__item.is-active{color:#1678b4;background:transparent;font-weight:600}
.control-shell .settings-tabs .el-tabs__item:not(.is-active):not(.is-disabled):hover{background:#f6f9fc;color:#1678b4}
.control-shell .control-content{border:0;margin:0;padding:0;min-width:0;min-inline-size:0;width:100%}
.control-shell .control-content>.el-form{margin:0;min-width:0}
.control-shell .control-panel.panel{min-width:0;margin:0;padding:22px 24px;border:1px solid #dfe6ee;border-top:0;border-radius:0 0 10px 10px;background:#fff;box-shadow:0 3px 12px #233c5604}
.control-shell .control-panel-body{min-width:0}
.control-shell .control-panel-scrollbar{min-width:0}
.control-shell .control-panel-scroll-wrap{overscroll-behavior:contain}
.control-shell .control-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px}
.control-shell .control-heading h2{margin:0;line-height:1.4;color:#293b51}
.control-shell .section-description{margin:4px 0 0;color:#7b8796;line-height:1.5}
.control-shell .settings-section-title{display:flex;align-items:center;gap:10px;margin:0 0 14px;min-width:0}
.control-shell .settings-section-title h3,.control-shell .settings-section-heading h3{margin:0;line-height:1.5;color:#314258}
.control-shell .settings-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.control-shell .settings-section-heading small{display:block;margin-top:4px;color:#7c8795;line-height:1.5}

/* Presets stay inside each tab, so their count never moves the navigation. */
.control-shell .parameter-presets{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 14px;margin:0 0 22px;border:1px solid #e9edf3;border-radius:8px;background:#f7f9fc}
.control-shell .preset-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.control-shell .preset-heading strong{color:#55657a;font-weight:600;white-space:nowrap}
.control-shell .preset-heading small,.control-shell .parameter-presets>.muted{color:#8a95a3}
.control-shell .preset-list{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
.control-shell .parameter-presets>.el-button{margin-left:auto;flex:none}
.control-shell .preset-item{display:inline-flex;align-items:stretch;max-width:100%;min-width:0;border:1px solid #cddfeb;border-radius:6px;overflow:hidden;background:#fff}
#app .control-shell .preset-load{max-width:240px;min-width:0;white-space:normal;overflow-wrap:anywhere;border:0;border-radius:0;background:transparent;color:#286d9b}
#app .control-shell .preset-load:not(:disabled):hover{background:#edf6fc;color:#126da6}
#app .control-shell .preset-delete{flex:none;margin-left:0;border:0;border-left:1px solid #e2ebf1;border-radius:0;background:transparent;color:#8c9aaa}
#app .control-shell .preset-delete:not(:disabled):hover{background:#fff0f0;color:#c73b3b}

/* Detection rules and operating controls share one clean reading grid. */
.control-shell .algorithm-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:stretch}
.control-shell .algorithm-rules,.control-shell .algorithm-options{min-width:0;padding:16px;border:1px solid #e5ebf2;border-radius:8px;background:#fcfdff}
.control-shell .compact-control-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse}
.control-shell .compact-control-table th,.control-shell .compact-control-table td{text-align:center;padding:10px 12px;height:48px;border-bottom:1px solid #e9edf2}
.control-shell .compact-control-table th{background:#f4f7fa;color:#68768a;font-weight:500}
.control-shell .compact-control-table th:first-child,.control-shell .compact-control-table td:first-child{text-align:left;padding-left:16px}
.control-shell .compact-control-table td:first-child{font-weight:500;color:#34455b}
.control-shell .compact-control-table tbody tr:last-child td{border-bottom:0}
.control-shell .compact-control-table tbody tr:hover{background:#fafcfe}
.control-shell .compact-control-table .el-input-number{width:104px;max-width:100%}
.control-shell .algorithm-options{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-content:start}
.control-shell .algorithm-rules .compact-control-table th,.control-shell .algorithm-rules .compact-control-table td{height:44px;padding-top:8px;padding-bottom:8px}
.control-shell .algorithm-options>h3{margin:0 0 1px;color:#314258}
.control-shell .algorithm-options .el-select{width:100%}
.control-shell .algorithm-options .algorithm-field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,142px);align-items:center;gap:14px;min-height:40px;padding:0;color:#59677a;line-height:1.6}
.control-shell .number-unit{min-width:0;max-width:100%;display:flex;align-items:center;gap:10px;justify-content:center}
.control-shell .number-unit>.el-input-number{width:112px;flex:0 1 112px;min-width:0}
.control-shell .number-unit>span{white-space:nowrap;flex:none;color:#788599}
.control-shell .algorithm-options .number-unit{justify-content:flex-start}
.control-shell .ng-linkage-settings{min-width:0;grid-column:1/-1;padding:16px 0;border-top:1px solid #e9edf3;border-bottom:1px solid #e9edf3}
.control-shell .ng-threshold-field{min-width:0}
.control-shell .ng-count-row{margin-top:14px}
.control-shell .ng-count-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;min-width:0}
.control-shell .ng-current-count{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;color:#667689}
.control-shell .ng-current-count strong{font-weight:600;color:#167eb4;font-variant-numeric:tabular-nums}
.control-shell .ng-linkage-status{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.control-shell .algorithm-options>.option-line{border:0}
#app .control-shell .el-button.ng-reset-button{border:0;border-radius:0;background:transparent;color:#1678b4;box-shadow:none}
#app .control-shell .ng-reset-button>span{display:inline-flex;align-items:center;gap:6px}
#app .control-shell .ng-reset-button:not(:disabled):hover{color:#0b86d1;text-decoration:underline}

.control-shell .measurement-heading-control{display:flex;align-items:center;gap:12px;flex:none;white-space:nowrap}
.control-shell .measurement-service-label{font-weight:500;color:#65758a}
#app .control-shell :is(.algorithm-master-row,.measurement-heading-control) .el-switch__core{min-width:76px;height:28px;border-radius:14px}
#app .control-shell :is(.algorithm-master-row,.measurement-heading-control) .el-switch__action{width:22px;height:22px;left:2px}
#app .control-shell :is(.algorithm-master-row,.measurement-heading-control) .el-switch.is-checked .el-switch__action{left:calc(100% - 24px)}
#app .control-shell :is(.algorithm-master-row,.measurement-heading-control) .el-switch__inner{height:24px;padding:0 8px 0 28px}
#app .control-shell :is(.algorithm-master-row,.measurement-heading-control) .el-switch.is-checked .el-switch__inner{padding:0 28px 0 8px}
.control-shell .measurement-settings{min-width:640px}
.control-shell .measurement-settings th:first-child{width:17%}
.control-shell .measurement-settings th:nth-child(2){width:27%}
.control-shell .measurement-settings th:nth-child(3){width:31%}
.control-shell .measurement-settings td:last-child{color:#527e9c;font-variant-numeric:tabular-nums}

/* Report information and production controls are separate visual sections. */
.control-shell .report-requirement{display:flex;align-items:center;gap:10px;padding:11px 14px;margin-bottom:20px;border:1px solid #efdfbd;border-radius:7px;background:#fff9ed;color:#926a2d;line-height:1.6}
.control-shell .report-requirement svg{width:19px;height:19px;flex:none}
.control-shell .report-camera-config{padding:0;margin:0;border:0;background:transparent}
.control-shell .report-camera-heading{min-width:0;padding-right:12px;border-right:1px solid #dce8f1}
.control-shell .report-camera-title{margin:0;font-weight:600;color:#314258;line-height:1.5}
.control-shell .report-camera-heading small{margin-top:6px;color:#8490a0;line-height:1.6}
.control-shell .report-camera-options{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr);gap:24px;min-width:0}
.control-shell .report-camera-option{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0;max-width:100%;padding:14px;border:1px solid #cfe1ee;border-radius:8px;background:#f6fbfe}
.control-shell .report-camera-option:not(.is-disabled){display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:center}
.control-shell .report-camera-selection{display:flex;flex-direction:column;gap:8px;min-width:0}
.control-shell .report-camera-side{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
.control-shell .report-camera-side small{color:#8299ab;white-space:nowrap}
.control-shell .report-camera-side .el-checkbox__label{font-weight:500;color:#456a85}
.control-shell .report-camera-option .el-checkbox{flex:none;margin-right:0}
.control-shell .report-camera-option.is-disabled{border-color:#e5eaf0;background:#f7f9fb}
.control-shell .report-camera-option.is-disabled .report-camera-side small{color:#a1aab5}
.control-shell .report-camera-models{display:flex;flex-wrap:wrap;gap:0 14px;min-width:0;line-height:24px;color:#526176;overflow-wrap:anywhere}
.control-shell .report-camera-models .el-checkbox{min-width:0;max-width:100%;min-height:24px}
.control-shell .report-camera-models .el-checkbox__label{white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.control-shell .report-information-block{margin-top:22px}
.control-shell .report-header-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px}
.control-shell .report-header-fields .form-field>span,.control-shell .bundle-entry-fields .form-field>span,.control-shell .report-task-top .form-field{color:#59677a}
.control-shell .report-header-fields .el-autocomplete{width:100%;min-width:0}
.control-shell .header-history-chevron{display:block;width:16px;height:16px;flex:none;color:#8c9aab;pointer-events:none;transition:transform .15s}
.control-shell .header-history-input[aria-expanded="true"] .header-history-chevron{transform:rotate(180deg)}
.control-shell .report-heading-actions{display:flex;align-items:center;gap:12px}
#app .control-shell .information-entry-button{color:#126da5;background:#edf6fd;border-color:#beddf1;font-weight:500}
#app .control-shell .information-entry-button:not(:disabled):not(.is-disabled):hover{background:#e0f0fc;border-color:#91c7e9;color:#0d6397}
.control-shell .report-task-fields{border-top:1px solid #e9edf3;padding-top:20px;margin-top:24px}
.control-shell .report-task-top{display:flex;align-items:flex-end;flex-wrap:wrap;gap:18px 28px;margin-bottom:18px}
.control-shell .report-task-top>label:first-child{width:260px;max-width:100%}
.control-shell .report-task-top>.form-field{width:100%;min-width:0}
.control-shell .report-stack-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0}
.control-shell .report-stack-modes .el-radio-button{min-width:0;width:100%}
.control-shell .report-stack-modes .el-radio-button__inner{width:100%;white-space:nowrap}
.control-shell .report-workspace-grid{min-width:0}
.control-shell .report-task-empty{display:flex;flex:1;min-height:90px;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#98a7b7;text-align:center}
.control-shell .report-task-empty svg{width:32px;height:32px}
.control-shell .report-task-empty p{margin:0;color:#8898aa;line-height:1.6}
.control-shell .bundle-entry-heading{min-width:0}
.control-shell .bundle-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.control-shell .bundle-task-grid.single{grid-template-columns:1fr}
.control-shell .bundle-entry{min-width:0;padding:16px;border:1px solid #e5ebf1;border-radius:8px;background:#fafcfe}
.control-shell .bundle-entry h3{margin:0 0 14px;color:#43667f}
.control-shell .bundle-entry-fields{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(80px,.7fr) minmax(84px,.7fr);align-items:end;gap:16px}
.control-shell .bundle-detected-count strong{color:#197eb3;font-variant-numeric:tabular-nums}
.control-shell .compact-task-times{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;color:#8490a0;overflow-wrap:anywhere}
.control-shell .report-run-footer .compact-task-times{margin-left:auto}
.control-shell .control-panel-footer{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:14px;width:100%;margin-top:24px;padding-top:18px;border-top:1px solid #e8edf3}
.control-shell .control-actions{display:flex;align-items:center;gap:12px}
.control-shell .control-panel-footer>.save-state{margin-left:auto;color:#7b8899}
.control-shell .task-buttons{gap:10px}

/* Shared field outlines match the settings hierarchy; geometry lives in forms.css. */
.control-shell .el-input__wrapper,.control-shell .el-select__wrapper{border-radius:6px;background:#fff;box-shadow:0 0 0 1px #d8e1eb inset}
.control-shell .el-input__wrapper:hover,.control-shell .el-select__wrapper:hover{box-shadow:0 0 0 1px #b9c9d9 inset}
.control-shell .el-input__wrapper.is-focus,.control-shell .el-select__wrapper.is-focused{box-shadow:0 0 0 1px #2687be inset}
.control-shell .el-input.is-disabled .el-input__wrapper,.control-shell .el-select__wrapper.is-disabled{background:#f3f5f7;box-shadow:0 0 0 1px #e2e7ec inset}
/* The editable report fields use their outer wrapper as the focus indicator. */
#app .control-shell :is(.header-history-input,.header-text-input) .el-input__inner:focus,#app .control-shell :is(.header-history-input,.header-text-input) .el-input__inner:focus-visible{outline:none;box-shadow:none;border-radius:0}
#app .control-shell :is(.header-history-input,.header-text-input) .el-input__wrapper:focus-within{box-shadow:0 0 0 1px #348bbd inset,0 0 0 2px #348bbd12}
.control-shell .control-content.is-disabled{filter:grayscale(1)}
.control-shell .control-content.is-disabled :is(h2,h3,th,td,label,p,strong,span){color:#8a939e}

/* Dropdowns teleport outside the settings root. */
.header-history-option{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-width:0}
.control-shell .report-information-actions{display:flex;justify-content:flex-end;margin-top:14px}
.header-history-option>span{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.header-history-option .el-button{flex:none}
.header-history-popper .el-autocomplete-suggestion li,.header-history-popper .el-select-dropdown__item{white-space:normal;height:auto;padding:2px 12px}
.baoze-dialog.el-dialog{max-width:calc(100vw - 32px);border-radius:9px}
.baoze-dialog .el-dialog__body{color:#606266}
.baoze-dialog .el-dialog__footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px}
.baoze-dialog .el-dialog__footer .el-button+.el-button{margin-left:0}
.baoze-dialog .el-input__inner{border:0!important;background:transparent;max-width:none;width:100%;text-align:left}
.settings-library-dialog .muted{margin:12px 0 0}
.download-options{display:flex;gap:18px;flex-wrap:nowrap;justify-content:center;padding:22px 0 12px}
.download-options .el-radio{margin-right:0}

@media(min-width:1100px) and (max-height:850px){
  .workspace:has(.control-shell){padding-top:16px;padding-bottom:16px}
  .control-shell .settings-topbar.panel{padding-bottom:16px}
  .control-shell .control-panel.panel{padding:18px 22px}
  .control-shell .control-heading{margin-bottom:16px}
  .control-shell .parameter-presets{margin-bottom:18px}
  .control-shell .compact-control-table th,.control-shell .compact-control-table td{height:44px;padding:8px 10px}
  .control-shell .report-header-fields{gap:12px 18px}
  .control-shell .control-panel-footer{margin-top:20px;padding-top:16px}
}
@media(max-width:1150px){
  .control-shell .settings-topbar.panel{align-items:flex-start;flex-wrap:wrap;gap:14px}
  .control-shell .detection-master-panel{margin-left:auto}
  .control-shell .algorithm-layout{grid-template-columns:minmax(0,1fr);gap:22px}
  .control-shell .algorithm-options .algorithm-field-row{grid-template-columns:minmax(0,1fr) minmax(160px,42%)}
  .control-shell .ng-count-actions{justify-content:flex-start;gap:24px}
  .control-shell .bundle-task-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .control-shell .settings-topbar.panel{gap:12px;padding-bottom:14px}
  .control-shell .settings-intro p{display:none}
  .control-shell .detection-master-panel{width:100%;margin-left:0;padding:10px 12px;gap:16px}
  .control-shell .mode-control-panel{padding-left:16px;gap:10px}
  .control-shell .settings-tabs.el-tabs>.el-tabs__header{padding:0 8px}
  .control-shell .control-panel.panel{padding:16px}
  .control-shell .control-heading{gap:12px;align-items:flex-start;margin-bottom:16px}
  .control-shell .control-heading:has(.measurement-heading-control){flex-wrap:wrap}
  .control-shell .measurement-heading-control{margin-left:auto}
  .control-shell .parameter-presets{padding:10px 12px;gap:10px;margin-bottom:18px}
  .control-shell .preset-heading{width:100%}
  #app .control-shell .preset-load{max-width:180px}
  .control-shell .compact-control-table .el-input-number{width:80px}
  .control-shell .compact-control-table th,.control-shell .compact-control-table td{padding:8px 5px}
  .control-shell .compact-control-table th:first-child,.control-shell .compact-control-table td:first-child{padding-left:8px}
  .control-shell .algorithm-options .algorithm-field-row{grid-template-columns:minmax(0,1fr) minmax(125px,42%);gap:12px}
  .control-shell .settings-section-heading{align-items:flex-start;gap:12px}
  .control-shell .report-camera-heading{display:flex;align-items:center;gap:12px;padding-right:0;border-right:0}
  .control-shell .report-camera-heading small{margin:0}
  .control-shell .report-camera-options{grid-template-columns:1fr;gap:10px}
  .control-shell .report-camera-option{padding:12px;gap:6px}
  .control-shell .report-camera-option:not(.is-disabled){grid-template-columns:1fr;gap:10px}
  .control-shell .report-header-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .control-shell .bundle-entry{padding:12px}
  .control-shell .bundle-entry-fields{grid-template-columns:minmax(0,1fr) 90px;gap:14px}
  .control-shell .bundle-detected-count{grid-column:1/-1}
  .control-shell .control-panel-footer{gap:10px;margin-top:20px;padding-top:16px}
  .control-shell .report-run-footer .compact-task-times{width:100%;margin-left:0}
  .download-options{gap:12px}
}
@media(max-width:420px){
  .control-shell .detection-master-panel{gap:10px}
  .control-shell .mode-control-panel{padding-left:10px;gap:8px}
  .control-shell .report-header-fields{grid-template-columns:1fr}
  .control-shell .settings-section-heading{flex-wrap:wrap}
}

/* All desktop panels share one height and one footer baseline. The first two
   panels use Element Plus scrolling; report content stays visible in full. */
@media(min-width:1100px){
  .workspace:has(.control-shell){padding-top:16px;padding-bottom:16px}
  .control-shell .settings-topbar.panel{padding-bottom:16px}
  .control-shell .control-panel.panel{display:flex;flex-direction:column;height:min(650px,calc(100dvh - 230px));padding:20px 22px}
  .control-shell .control-panel-scrollbar{flex:1;min-height:0;height:auto}
  .control-shell .control-panel-scrollbar .control-panel-body{padding-right:10px}
  .control-shell .report-panel-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:visible}
  .control-shell .report-config-fields{display:flex;flex-direction:column;flex:1;min-height:0}
  .control-shell .report-camera-config{flex:none}
  .control-shell .control-panel-footer{flex:none;margin-top:16px;padding-top:14px}
  .control-shell.is-report-pane .report-workspace-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,4fr);gap:24px;flex:1;min-height:0;margin-top:20px;align-items:stretch}
  .control-shell.is-report-pane .report-information-block,.control-shell.is-report-pane .report-task-fields{display:flex;flex-direction:column;min-width:0;min-height:0;margin:0;padding:16px;border:1px solid #e5ebf2;border-radius:8px;background:#fcfdff}
  .control-shell.is-report-pane .settings-section-heading,.control-shell.is-report-pane .settings-section-title{flex:none;margin-bottom:14px}
  .control-shell.is-report-pane .report-header-fields{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,min-content);align-content:space-between;gap:14px 16px}
  .control-shell.is-report-pane .report-information-actions{flex:none;margin-top:14px}
  .control-shell.is-report-pane .report-task-top{margin-bottom:18px}
  .control-shell.is-report-pane .bundle-task-grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .control-shell.is-report-pane .bundle-entry{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:center;padding:14px 10px;border-radius:7px;background:#fff}
  .control-shell.is-report-pane .bundle-entry-heading{display:flex;align-items:center;align-self:stretch;border-right:1px solid #e4ebf2}
  .control-shell.is-report-pane .bundle-entry-heading h3{margin:0;white-space:nowrap}
  .control-shell.is-report-pane .bundle-entry-fields{grid-template-columns:minmax(0,1fr) minmax(72px,.55fr) minmax(68px,.55fr);gap:10px;align-items:end}
  .control-shell.is-report-pane .bundle-entry-fields .el-input-number{width:100%;min-width:0}
  .control-shell.is-report-pane .bundle-detected-count{grid-column:auto}
  .control-shell.is-report-pane .bundle-detected-count strong{white-space:nowrap}
  .control-shell.is-report-pane .report-requirement{margin-bottom:10px;padding:8px 12px}
}
@media(min-width:1100px) and (max-height:850px){
  .control-shell .control-panel.panel{padding:16px 20px}
  .control-shell .algorithm-rules,.control-shell .algorithm-options{padding:10px 12px}
  .control-shell .control-panel-footer{margin-top:8px;padding-top:8px}
  .control-shell.is-report-pane .report-camera-option{padding:6px 10px;gap:4px}
  .control-shell.is-report-pane .report-camera-option:not(.is-disabled){grid-template-columns:88px minmax(0,1fr);gap:12px}
  .control-shell.is-report-pane .report-camera-selection{gap:4px}
  .control-shell.is-report-pane .report-camera-side small{display:none}
  .control-shell.is-report-pane .report-workspace-grid{margin-top:12px}
  .control-shell.is-report-pane .report-information-block,.control-shell.is-report-pane .report-task-fields{padding:10px 12px}
  .control-shell.is-report-pane .settings-section-heading,.control-shell.is-report-pane .settings-section-title{margin-bottom:8px}
  .control-shell.is-report-pane .report-header-fields{row-gap:8px}
  .control-shell.is-report-pane .report-information-actions{margin-top:8px}
  .control-shell.is-report-pane .report-task-top{margin-bottom:12px}
  .control-shell.is-report-pane .bundle-task-grid{gap:10px}
  .control-shell.is-report-pane .bundle-entry{padding:8px 10px}
  .control-shell.is-report-pane .report-requirement{margin-bottom:6px;padding:6px 12px;line-height:1.5}
  .control-shell.is-report-pane .report-configuration-panel:has(.report-requirement) .report-workspace-grid{margin-top:10px}
  .control-shell.is-report-pane .report-configuration-panel:has(.report-requirement) .report-information-block,.control-shell.is-report-pane .report-configuration-panel:has(.report-requirement) .report-task-fields{padding:6px 10px}
  .control-shell.is-report-pane .report-configuration-panel:has(.report-requirement) .report-header-fields{row-gap:4px}
  .control-shell.is-report-pane .report-configuration-panel:has(.report-requirement) .report-information-actions{margin-top:6px}
}
@media(min-width:1100px) and (max-height:710px){
  .control-shell .control-panel.panel{padding-top:12px;padding-bottom:12px}
  .control-shell.is-report-pane .report-camera-option{padding-top:4px;padding-bottom:4px;gap:2px}
  .control-shell.is-report-pane .report-workspace-grid{margin-top:10px}
  .control-shell.is-report-pane .settings-section-heading,.control-shell.is-report-pane .settings-section-title{margin-bottom:6px}
  .control-shell.is-report-pane .report-header-fields{row-gap:8px}
  .control-shell.is-report-pane .report-information-actions{margin-top:6px}
  .control-shell.is-report-pane .report-requirement{margin-bottom:4px;padding-top:4px;padding-bottom:4px}
  .control-shell.is-report-pane .report-configuration-panel:has(.report-requirement) .report-workspace-grid{margin-top:6px}
}
@media(min-width:1100px) and (max-height:679px){
  .control-shell .control-panel.panel{height:auto}
  .control-shell .control-panel-scrollbar{flex:none}
}
