:root{--c-bg:#e2e8f0;--c-surface:#f7f9fc;--c-surface-2:#d1d8e0;--c-border:#b0baca;--c-border-strong:#8b97a8;--c-text:#1a2536;--c-text-badge:var(--c-text);--c-text-muted:#455463;--c-text-subtle:#6b7a8c;--c-primary:#3b82f6;--c-primary-hover:#2563eb;--c-primary-bg:#dee7f5;--c-success:#22a06b;--c-success-bg:#d8f0e2;--c-warning:#ff9203;--c-warning-bg:#f5ead0;--c-danger:#540303;--c-danger-bg:#f5dada;--c-admin:#eea70c;--c-admin-bg:#ede9fe;--c-header-bg:#1e293b;--c-header-text:#f1f5f9;--c-header-text-muted:#94a3b8;--c-header-border:#334155;--c-header-hover:#334155;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--r-sm:4px;--r-md:8px;--r-lg:12px;--sh-sm:0 1px 2px #0f172a0d;--sh-md:0 4px 12px #0f172a14;--ff:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ff-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--fs-xxs:10px;--fs-xs:11px;--fs-sm:12px;--fs-base:13px;--fs-md:14px;--fs-lg:16px;--fs-xl:20px;--h-input:36px;--h-btn:36px}:root[data-theme=light]{--c-bg:#e2e8f0;--c-surface:#f7f9fc;--c-surface-2:#d1d8e0;--c-border:#b0baca;--c-border-strong:#8b97a8;--c-text:#1a2536;--c-text-badge:var(--c-text);--c-text-muted:#455463;--c-text-subtle:#6b7a8c;--c-primary:#3b82f6;--c-primary-hover:#2563eb;--c-primary-bg:#dee7f5;--c-success:#22a06b;--c-success-bg:#d8f0e2;--c-warning:#ff9b18;--c-warning-bg:#f5ead0;--c-danger:#540303;--c-danger-bg:#f5dada;--sh-sm:0 1px 2px #2c3e500f;--sh-md:0 4px 12px #2c3e5014;--c-admin:#eea70c;--c-admin-bg:#ede9fe;--c-header-bg:#1e293b;--c-header-text:#f1f5f9;--c-header-text-muted:#94a3b8;--c-header-border:#334155;--c-header-hover:#334155}:root[data-theme=dark]{--c-bg:#1d2433;--c-surface:#2a3244;--c-surface-2:#364154;--c-border:#424d65;--c-border-strong:#5a6680;--c-text:#e8ecf3;--c-text-badge:#1a2536;--c-text-muted:#b0bbcc;--c-text-subtle:#818c9e;--c-primary:#3b82f6;--c-primary-hover:#2563eb;--c-primary-bg:#1e3a5f;--c-success:#22c55e;--c-success-bg:#14532d;--c-warning:#feb63b;--c-warning-bg:#78350f;--c-danger:#540303;--c-danger-bg:#361717;--sh-sm:0 1px 2px #00000040;--sh-md:0 4px 12px #0006;--c-admin:#eea70c;--c-admin-bg:#43326d;--c-header-bg:var(--c-surface);--c-header-text:var(--c-text);--c-header-text-muted:var(--c-text-muted);--c-header-border:var(--c-border);--c-header-hover:var(--c-surface-2)}*,:before,:after{box-sizing:border-box}[data-theme=dark] .action-grid .card[style*="background: rgb(255, 255, 255);"] strong,[data-theme=dark] .action-grid .card[style*="background: rgb(255, 255, 255);"] span,[data-theme=dark] .action-grid .card[style*="background: rgb(255, 255, 255);"] div,[data-theme=dark] .action-grid .card[style*="background: rgb(255, 255, 255);"] .muted{color:#364154!important}body{min-height:100vh;font-family:var(--ff);font-size:var(--fs-base);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.3}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md);font-weight:700}h4{font-size:var(--fs-base);font-weight:600}p{margin:0 0 var(--s-3)}.loader{padding:var(--s-6);color:var(--c-text-muted)}.muted{color:var(--c-text-muted);font-size:var(--fs-sm)}.empty,.empty-line{text-align:center;padding:var(--s-6);color:var(--c-text-muted)}.app-header{z-index:50;justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--c-header-bg);color:var(--c-header-text);border-bottom:1px solid var(--c-header-border);display:flex;position:sticky;top:0}@media (width<=1000px){.app-header{flex-wrap:wrap}}.app-header strong{color:var(--c-header-text);font-weight:600}.app-header span{font-size:var(--fs-xs);color:var(--c-header-text);display:block}.user-info{align-items:center;gap:10px;min-width:0;display:flex}.user-info>div{min-width:0}.user-info__avatar{-o-object-fit:contain;object-fit:contain;background:var(--c-surface-2);border:1px solid #ffffff2e;border-radius:50%;flex-shrink:0;width:34px;height:34px}.header-actions{gap:var(--s-1);flex-wrap:wrap;align-items:center;display:flex}.header-actions a,.header-actions button{height:30px;color:var(--c-header-text);border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;padding:0 5px;text-decoration:none;transition:background .12s,border-color .12s}.header-actions button:hover{background:#ffffff2e;border-color:#ffffff47}.header-actions button.active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.panel-loading{padding:var(--s-6) var(--s-4);text-align:center;color:var(--c-text-muted);font-size:var(--fs-sm)}.panel-loading-inline{color:var(--c-header-text-muted);align-items:center;padding:0 8px;display:inline-flex}.input,input.input,select.input,textarea.input{width:100%;height:var(--h-input);font-family:inherit;font-size:var(--fs-base);color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-sm);outline:none;padding:6px 10px;transition:border-color .12s,box-shadow .12s;display:block}.input:focus{border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-bg)}.input:disabled,input:disabled,select:disabled,textarea:disabled,.field--disabled .input{background:var(--c-surface-2);color:var(--c-text-subtle);cursor:not-allowed}textarea.input{min-height:var(--h-input);height:var(--h-input);resize:vertical}.input.per-page{width:auto;min-width:100px}.btn{justify-content:center;align-items:center;gap:var(--s-1);height:var(--h-btn);font-family:inherit;font-size:var(--fs-base);color:#fff;background:var(--c-primary);border:1px solid var(--c-primary);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;padding:0 14px;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--c-primary-hover);border-color:var(--c-primary-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--c-surface-2);color:var(--c-text);border-color:var(--c-border-strong)}.btn.secondary:hover:not(:disabled){background:var(--c-primary-bg);color:var(--c-primary);border-color:var(--c-primary)}.btn.success{background:var(--c-success);border-color:var(--c-success)}.btn.success:hover:not(:disabled){filter:brightness(.92)}.btn.warning{background:var(--c-warning);border-color:var(--c-warning)}.btn.warning:hover:not(:disabled){filter:brightness(.92)}.btn.danger{background:var(--c-danger);border-color:var(--c-danger)}.btn.small{height:28px;padding:0 10px;font-size:12px}.btn.disabled,.btn[disabled]{opacity:.5;pointer-events:none}.report-copy-action{display:inline-flex;position:relative}.report-copy-action__notice{z-index:1;color:#fff;background:var(--c-success);border-radius:var(--r-sm);white-space:nowrap;pointer-events:none;padding:3px 6px;font-size:11px;line-height:1.2;position:absolute;bottom:calc(100% + 6px);right:0}.link-btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.icon-btn{border:1px solid var(--c-border-strong);background:var(--c-surface-2);width:32px;height:32px;color:var(--c-text-muted);border-radius:var(--r-sm);cursor:pointer;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.icon-btn:hover{background:var(--c-primary-bg);color:var(--c-primary)}.danger-text{color:var(--c-danger);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:0;padding:4px 6px}.help-btn{border-radius:var(--r-sm);background:var(--c-text);color:#fff;font-weight:600;font-size:var(--fs-sm);align-items:center;padding:6px 10px;text-decoration:none;display:inline-flex}.card,.backoffice-panel{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--s-4);margin-bottom:var(--s-3)}.backoffice-panel .tabs-buttons{width:max-content;display:flex!important}.panel-title{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.engineer-rejects-header-actions{justify-content:flex-end;align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.engineer-rejects-group-row>td{background:var(--c-surface-muted)}.engineer-rejects-group-summary{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.engineer-rejects-case-row>td:first-child{padding-left:var(--s-4)}.live-summary-legend{align-items:flex-end;gap:6px var(--s-4);flex-wrap:wrap;display:flex}.live-summary-item{min-width:52px;color:var(--c-text-muted);flex-direction:column;align-items:center;gap:2px;display:inline-flex}.live-summary-label{font-size:var(--fs-xs);white-space:nowrap;line-height:1.15}.live-summary-value{min-height:18px;font-size:var(--fs-sm);justify-content:center;align-items:center;gap:4px;line-height:1;display:inline-flex}.live-summary-marker{line-height:1}.section-title{margin:0 0 var(--s-2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-muted)}.section-divider{border:0;border-top:1px solid var(--c-border);margin:var(--s-4) 0}.form-section,.filter-section{background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-sm);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-3)}.filter-section{background:var(--c-primary-bg)}.filter-section .section-title{color:var(--c-primary)}.list-section{padding:0}.spec-overview-spec-row{background:var(--c-surface-2)}.spec-overview-item-row{background:color-mix(in srgb, var(--c-surface) 86%, var(--c-primary-bg));box-shadow:inset 3px 0 0 var(--c-border-strong)}.spec-overview-item-row td:first-child{padding-left:var(--s-6);color:var(--c-text-muted);font-weight:600}.grid2{gap:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.action-grid{gap:var(--s-2);margin-top:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.button-row,.inline-form,.csv-actions{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.button-row,.inline-form{margin-top:var(--s-2)}.csv-actions{gap:var(--s-1)}.entity-form{gap:var(--s-2);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:end;display:grid}.entity-form>.assignment-workstation-field,.entity-form>.special-mode-section{grid-column:1/-1}.special-mode-section{padding:var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface)}.special-mode-section>.muted{margin:0 0 var(--s-3)}.special-mode-fields{gap:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;display:grid}.special-mode-fields label,.entity-form label,.filter-cell{flex-direction:column;gap:4px;display:flex}.assignment-workstation-field>label.checkbox-line{width:fit-content;margin-bottom:var(--s-1);flex-direction:row;display:flex}.catalog-code-label{justify-content:space-between;width:100%}.catalog-code-label .checkbox-line{color:var(--c-text);font-weight:400}.badge-photo-field{gap:var(--s-2);flex-direction:column;align-self:start;display:flex}.badge-photo-field label{flex-direction:column;gap:4px;display:flex}.badge-photo-editor{gap:var(--s-2);width:min(100%,220px);display:grid}.badge-photo-crop{border:1px solid var(--c-border);border-radius:var(--r-sm);cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;width:180px;height:180px;position:relative;overflow:hidden}.badge-photo-crop img{-o-object-fit:cover;object-fit:cover;transform-origin:50%;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;max-width:none;height:100%;position:absolute;top:50%;left:50%}.badge-photo-slider{width:180px}.badge-photo-slider input[type=range]{width:100%}.field-label{font-size:var(--fs-xs);color:var(--c-text-muted);align-items:center;gap:4px;display:inline-flex}.field--required .field-label{color:var(--c-text);font-weight:600}.field--disabled{opacity:.55;pointer-events:none}.field--disabled .field-label{color:var(--c-text-subtle)}.checkbox-line{white-space:nowrap;font-size:var(--fs-sm);align-items:center;gap:6px;display:inline-flex}.filter-row{gap:var(--s-3);margin-bottom:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.bulk-history-filter{grid-template-columns:auto auto;place-self:start;gap:6px;min-width:0;min-height:auto;padding-bottom:0;display:grid}.bulk-history-filter .field-label{grid-column:1/-1}.bulk-history-filter input{align-self:center;margin:0}.bulk-history-filter span:last-child{align-items:center;display:inline-flex}.select2{position:relative}.select2-menu{z-index:30;background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-sm);max-height:240px;box-shadow:var(--sh-md);position:absolute;top:calc(100% + 2px);left:0;right:0;overflow:auto}.select2-menu--fixed{z-index:1100;position:fixed;bottom:auto;right:auto}.select2-menu button{text-align:left;width:100%;font-size:var(--fs-base);color:var(--c-text);cursor:pointer;background:0 0;border:0;padding:8px 10px;display:block}.select2-menu button:hover{background:var(--c-primary-bg)}.select2-menu-state{font-size:var(--fs-base);color:var(--c-text-subtle);padding:8px 10px}.select2-worker-photo-popup{z-index:80;border:1px solid var(--c-border-strong);border-radius:var(--r-sm);background:var(--c-surface);width:132px;height:132px;box-shadow:var(--sh-md);pointer-events:none;padding:6px;position:fixed}.select2-worker-photo-popup--fixed{z-index:1200}.select2-worker-photo-popup img{-o-object-fit:cover;object-fit:cover;border-radius:var(--r-sm);background:var(--c-surface-2);width:120px;height:120px;display:block}.tabs2{gap:var(--s-3);margin-bottom:var(--s-4);display:flex}.tabs2--single>div{width:100%}.backoffice-role-tabs{align-items:center;gap:var(--s-1);background:var(--c-surface);border:1px solid var(--c-border);border-top-right-radius:var(--r-md);border-top-left-radius:var(--r-md);flex-wrap:wrap;padding:4px;display:flex}.backoffice-role-tabs>button:not(.backoffice-role-tabs__settings){height:40px;padding:0 var(--s-4);border-radius:var(--r-sm);color:var(--c-text);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;background:0 0;border:0;font-weight:600}.backoffice-role-tabs>button:not(.backoffice-role-tabs__settings):hover:not(.active){background:var(--c-primary-bg)}.backoffice-role-tabs>button:not(.backoffice-role-tabs__settings).active{background:var(--c-primary);color:#fff}.backoffice-role-tabs__settings{height:40px;padding:0 var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface-2);color:var(--c-text-muted);font-size:var(--fs-xs);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-weight:500;display:inline-flex}.backoffice-role-tabs__settings:hover{color:var(--c-text);border-color:var(--c-primary);background:var(--c-primary-bg)}.backoffice-role-tabs__settings svg{flex-shrink:0}.backoffice-tab-show-all{text-align:center;justify-content:center;align-items:center;min-width:120px;line-height:1.2;border:1px dashed var(--c-border)!important;background:var(--c-surface)!important;height:auto!important;color:var(--c-text-muted)!important;font-size:var(--fs-xs)!important;white-space:normal!important;border-radius:8px!important;padding:8px 10px!important;display:inline-flex!important}.backoffice-tab-show-all .tab-icon-icon{height:15px}.backoffice-tab-show-all:hover{border-color:var(--c-primary)!important;color:var(--c-primary)!important;background:var(--c-primary-bg)!important}.tab-icon--collapsed-hidden{opacity:.72;border-style:dashed!important}.backoffice-tab-settings__hint{margin:0 0 var(--s-3);color:var(--c-text-muted);font-size:var(--fs-sm)}.backoffice-tab-settings__list{margin:0 0 var(--s-4);flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.backoffice-tab-settings__item{align-items:center;gap:var(--s-2);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface-2);cursor:grab;padding:8px 10px;display:flex}.backoffice-tab-settings__item.is-dragging{opacity:.45}.backoffice-tab-settings__item.is-drag-over{border-color:var(--c-primary);box-shadow:0 0 0 1px var(--c-primary) inset}.backoffice-tab-settings__item.is-hidden{opacity:.65}.backoffice-tab-settings__handle{color:var(--c-text-muted);-webkit-user-select:none;user-select:none;font-size:18px;line-height:1}.backoffice-tab-settings__label{align-items:center;gap:var(--s-2);cursor:pointer;flex:1;display:flex}.backoffice-tab-settings__icon{font-size:18px}.modal-actions{justify-content:flex-end;align-items:center;gap:var(--s-2);display:flex}.modal-actions--split{justify-content:space-between}.modal-actions__group{align-items:center;gap:var(--s-2);display:flex}.global-settings__layout{gap:var(--s-4);margin-bottom:var(--s-4);grid-template-columns:170px minmax(0,1fr);display:grid}.global-settings__nav{flex-direction:column;gap:4px;display:flex}.global-settings__nav button{border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface-2);color:var(--c-text);text-align:left;cursor:pointer;padding:8px 10px}.global-settings__nav button.active{border-color:var(--c-primary);background:var(--c-primary-bg);color:var(--c-primary);font-weight:600}.global-settings__section{min-width:0}.global-settings__duration{-moz-column-gap:var(--s-3);column-gap:var(--s-3);margin-top:var(--s-4);grid-template-columns:minmax(0,1fr) auto;row-gap:5px;display:grid}.global-settings__duration-label{font-weight:600}.global-settings__duration-value{font-variant-numeric:tabular-nums;font-weight:600}.global-settings__duration-value.is-disabled{color:var(--c-text-muted)}.global-settings__duration input{grid-column:1/-1;width:100%}.global-settings__hint{color:var(--c-text-muted);font-size:var(--fs-xs);grid-column:1/-1}.global-settings__error{margin:0 0 var(--s-3);color:var(--c-danger);font-size:var(--fs-sm)}@media (width<=560px){.global-settings__layout{gap:var(--s-3);grid-template-columns:1fr}.global-settings__nav{flex-direction:row}}.btn--ghost{border:1px solid var(--c-border);color:var(--c-text-muted);background:0 0}.btn--ghost:hover{color:var(--c-text);border-color:var(--c-primary);background:var(--c-primary-bg)}.tabs2>div{background:var(--c-surface);border:1px solid var(--c-border);border-bottom-right-radius:var(--r-md);border-bottom-left-radius:var(--r-md);border-top:none;flex-direction:column;gap:6px;padding:5px;display:flex}.tabs2:not(.tabs2--single)>div:first-child{width:58%}.tabs2:not(.tabs2--single)>div:last-child{width:42%}.tabs2:not(.tabs2--single)>div:first-child .tab-icon{width:calc(11% - 3px)!important}.tabs2:not(.tabs2--single)>div:last-child .tab-icon{width:calc(16.5% - 3px)!important}.tabs2>div>strong{font-size:var(--fs-xs);text-transform:uppercase;color:var(--c-text-muted);border-right:none;align-self:stretch;padding-top:4px}.tabs-buttons{gap:var(--s-1);flex:1;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));min-width:0;display:grid}.tabs-buttons>button,.tabs2 button{height:40px;padding:0 var(--s-2);border-radius:var(--r-sm);color:var(--c-text);font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;overflow:hidden}.tabs-buttons>button:hover:not(.active),.tabs2 button:hover:not(.active){background:var(--c-primary-bg)}.tabs-buttons>button.active,.tabs2 button.active{background:var(--c-primary);color:#fff}.table-wrap{margin-top:var(--s-2);-webkit-overflow-scrolling:touch;min-height:60px;position:relative;overflow:auto}@media (hover:hover) and (pointer:fine){.table-wrap{cursor:grab}.table-wrap.active{cursor:grabbing;-webkit-user-select:none;user-select:none}}.table-wrap__col-settings{border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);width:28px;height:28px;color:var(--c-text-muted);cursor:pointer;box-shadow:var(--sh-sm);vertical-align:middle;flex-shrink:0;justify-content:center;align-items:center;margin-left:10px;padding:0;display:inline-flex}.table-wrap th.table-wrap__col-settings-th{vertical-align:middle;white-space:nowrap;text-align:center;width:36px;min-width:36px;max-width:48px;padding:4px 6px}.table-wrap th.table-wrap__col-settings-th:not(:empty){text-align:right;min-width:72px}.table-wrap__col-settings:focus-visible{color:var(--c-primary);border-color:var(--c-primary)}.table-wrap__col-settings:hover{color:var(--c-primary);border-color:var(--c-primary);background:var(--c-primary-bg)}.table-wrap th[data-col-hidden],.table-wrap td[data-col-hidden]{display:none!important}.table-wrap .table-loading{right:4px}.table-loading{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:var(--fs-xs);color:var(--c-text-muted);padding:4px 10px;position:absolute;top:4px;right:4px}table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}th,td{border-bottom:1px solid var(--c-border);text-align:left;vertical-align:top;white-space:nowrap;padding:8px 10px}th{background:var(--c-surface-2);color:var(--c-text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1;font-weight:600;position:sticky;top:0}tbody tr:hover{background:var(--c-surface-2)}.report-page__process-group--0>td{background:color-mix(in srgb, var(--c-primary-bg) 100%, var(--c-surface))}.report-page__process-group--1>td{background:color-mix(in srgb, var(--c-success-bg) 100%, var(--c-surface))}.report-page__process-group--2>td{background:color-mix(in srgb, var(--c-warning-bg) 100%, var(--c-surface))}.report-page__process-group--3>td{background:color-mix(in srgb, var(--c-admin-bg) 100%, var(--c-surface))}.row-actions{white-space:nowrap;min-width:220px}.assignment-selection-cell{text-align:center;width:34px;min-width:34px}.assignment-selection-cell input[type=checkbox]{vertical-align:middle;width:16px;height:16px}.row-actions button{border:1px solid var(--c-border-strong);background:var(--c-surface-2);color:var(--c-text);border-radius:var(--r-sm);cursor:pointer;justify-content:center;align-items:center;width:32px;height:28px;margin-right:4px;padding:0;font-size:15px;line-height:1;display:inline-flex}.row-actions button:hover{background:var(--c-primary-bg);color:var(--c-primary);border-color:var(--c-primary)}.row-actions .btn-impersonate,.row-actions .btn-log,.row-actions .btn-info,.row-actions .btn-info--alt,.row-actions .admin-btn{border-radius:var(--r-sm);width:32px;height:28px;padding:0 0 0 5px;font-size:15px;box-shadow:inset 3px 0 #d72b2b}.row-actions .danger-text{background:var(--c-danger-bg);border:1px solid var(--c-danger);width:32px;height:28px;color:var(--c-danger);border-radius:var(--r-sm);justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;display:inline-flex}.row-actions .danger-text:hover{background:var(--c-danger);color:#fff}.uuid-cell{font-family:var(--ff-mono);font-size:var(--fs-xs);color:var(--c-text-muted);background:var(--c-surface-2);border-radius:var(--r-sm);-webkit-user-select:all;user-select:all;padding:2px 6px}.uuid-cell--full{word-break:break-all;max-width:260px;line-height:1.3;display:inline-block}.thumb{-o-object-fit:cover;object-fit:cover;border:1px solid var(--c-border);border-radius:50%;width:32px;height:32px}.workers-print-page{display:none}@media (prefers-color-scheme:dark){html[data-theme=light] input[type=checkbox],html[data-theme=light] input[type=number],html[data-theme=light] input[type=file],html[data-theme=light] input[type=date]{--lightningcss-light:initial!important;--lightningcss-dark: !important;color-scheme:light!important}}.table-toolbar{-moz-column-gap:var(--s-2);column-gap:var(--s-2);row-gap:var(--s-4);margin:var(--s-2) 0;flex-wrap:wrap;align-items:center;display:flex}.form-visibility-toggle{border:1px solid var(--c-border-strong);border-radius:var(--r-sm);background:var(--c-surface-2);width:30px;height:30px;color:var(--c-text);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;font-size:21px;line-height:1;display:inline-flex}.form-visibility-toggle:hover,.form-visibility-toggle:focus-visible{border-color:var(--c-primary);background:var(--c-primary-bg);color:var(--c-primary)}.table-toolbar .input{max-width:320px}.table-toolbar .toolbar-field{display:block;position:relative}.table-toolbar .toolbar-field>.field-label{white-space:nowrap;position:absolute;bottom:calc(100% + 4px);left:0}.table-toolbar .worker-workshop-filter{width:auto;min-width:180px;max-width:260px}.table-wrap th,td{padding:5px}.table-wrap th.is-sortable{cursor:pointer}.table-wrap{cursor:grab}.table-wrap table{border-left:1px solid #d1d8e0;border-right:1px solid #d1d8e0}[data-tables=fit] .table-wrap th[title=Фото\ ⇅],[data-tables=fit] .table-wrap th[title=Бригадир\ ⇅]{width:35px!important;max-width:35px!important}[data-tables=fit] .table-wrap th[title="Початок зміни ⇅"],[data-tables=fit] .table-wrap th[title="Кінець зміни ⇅"],[data-tables=fit] .table-wrap th[title="Тариф (грн/год) ⇅"]{width:50px!important;max-width:50px!important}[data-tables=fit] .table-wrap th[title="КЯВР (якість) ⇅"]{width:40px!important;max-width:40px!important}[data-tables=fit] .table-wrap th[title=↔UUID\ ⇅]{width:75px!important;max-width:75px!important}[data-tables=fit] .table-wrap th[title=Цех\ ⇅]{width:65px!important;max-width:65px!important}[data-tables=fit] .table-wrap th[title="Таб № ⇅"]{width:95px!important;max-width:95px!important}[data-tables=fit] .table-wrap th[title="Стан співробітника ⇅"]{width:80px!important;max-width:80px!important}[data-tables=fit] .table-wrap th:last-child{width:min-content!important;max-width:min-content!important}[data-tables=fit] .table-wrap th[title="Викон. 30д ⇅"],[data-tables=fit] .table-wrap th[title=Статус],[data-tables=fit] .table-wrap th[title="Брак % ⇅"],[data-tables=fit] .table-wrap th[title="Остання зміна ▼"],[data-tables=fit] .table-wrap th[title=Прапорці\ ⇅]{width:100px!important;max-width:100px!important}[data-tables=fit] .table-wrap th[title="Факт/План ⇅"]{width:200px!important;max-width:200px!important}[data-tables=fit] .table-wrap th[title="↔Процес / Виріб ⇅"]{width:300px!important;max-width:300px!important}.pagination{align-items:center;gap:var(--s-1);padding:var(--s-2) 0;border-top:1px solid var(--c-border);flex-wrap:wrap;margin-top:4px;display:flex}.pagination button{border:1px solid var(--c-border-strong);background:var(--c-surface-2);color:var(--c-text);border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer;padding:4px 10px}.pagination button:hover:not(:disabled){background:var(--c-primary-bg);color:var(--c-primary);border-color:var(--c-primary)}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:var(--fs-sm);color:var(--c-text-muted);padding:0 var(--s-2)}.modal-wide .table-wrap table{width:100%!important;min-width:100%!important}.modal-backdrop{z-index:100;padding:var(--s-3);background:#0f172a80;place-items:center;display:grid;position:fixed;inset:0}.modal{width:min(100%,720px);max-height:90vh;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--s-4);box-shadow:var(--sh-md);overflow:auto}.modal h2,.modal h3,.modal h4,.modal p,.modal td,.modal label{color:var(--c-text)}.modal .muted{color:var(--c-text-muted)}.modal-wide{width:min(95vw,1400px)}.long-assignment-modal{width:min(100%,620px)}.long-assignment-modal .form-actions{justify-content:flex-end;gap:var(--s-2);margin-top:var(--s-4);display:flex}.modal-header{justify-content:space-between;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--c-border);display:flex}.modal table{font-size:var(--fs-xs);line-height:1.45}.modal table th,.modal table td{word-break:break-word;overflow-wrap:anywhere;vertical-align:top;padding:6px 8px}.help-popup-stack{z-index:1150;padding:var(--s-3);place-items:center;display:grid;position:fixed;inset:0}.help-popup-stack__backdrop{background:#0f172a94;position:absolute;inset:0}.help-popup-stack__stage{z-index:1;width:min(92vw,680px);height:min(78vh,680px);min-height:420px;position:relative}.help-popup-stack__tabs{z-index:100;gap:var(--s-1);padding:0 0 var(--s-2);display:flex;position:absolute;top:0;left:0;right:0;overflow-x:auto}.help-popup-stack__tabs button{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);max-width:190px;color:var(--c-text-muted);cursor:pointer;font-size:var(--fs-xs);flex:none;padding:5px 9px;overflow:hidden}.help-popup-stack__tabs button.active{color:#fff;background:var(--c-primary);border-color:var(--c-primary)}.help-popup{top:42px;left:0;right:calc(var(--help-popup-index) * 13px);bottom:calc(var(--help-popup-index) * 13px);pointer-events:none;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--s-4);box-shadow:var(--sh-md);opacity:.94;flex-direction:column;display:flex;position:absolute;overflow:auto}.help-popup--active{pointer-events:auto;opacity:1;border-color:var(--c-primary)}.help-popup__header{justify-content:space-between;align-items:flex-start;gap:var(--s-3);margin-bottom:var(--s-3);padding-bottom:var(--s-2);border-bottom:1px solid var(--c-border);display:flex}.help-popup__eyebrow{color:var(--c-danger);font-size:var(--fs-xs);margin-bottom:2px;font-weight:700;display:block}.help-popup__header h2{color:var(--c-text);font-size:var(--fs-lg);margin:0}.help-popup__header time{color:var(--c-text-muted);font-size:var(--fs-sm);flex:none}.help-popup__details{gap:var(--s-2) var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.help-popup__details>div{min-width:0}.help-popup__details dt{color:var(--c-text-muted);font-size:var(--fs-xs)}.help-popup__details dd{overflow-wrap:anywhere;color:var(--c-text);margin:2px 0 0}.help-popup__details .help-popup__message{grid-column:1/-1}.help-popup__message dd{padding:var(--s-2);background:var(--c-surface-2);border-radius:var(--r-sm);white-space:pre-wrap}.help-popup__photo{width:fit-content;max-width:100%;margin-top:var(--s-3);display:block}.help-popup__photo img{border:1px solid var(--c-border);border-radius:var(--r-sm);-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:280px;display:block}.help-popup__actions{justify-content:flex-end;align-items:center;gap:var(--s-2);padding-top:var(--s-4);margin-top:auto;display:flex}.help-popup__accepted{color:var(--c-success);font-weight:700}@media (width<=600px){.help-popup-stack{padding:var(--s-2)}.help-popup-stack__stage{width:96vw;min-height:360px}.help-popup{padding:var(--s-3)}.help-popup__details{grid-template-columns:1fr}.help-popup__details .help-popup__message{grid-column:auto}}.notice-modal-backdrop{z-index:1000;padding:var(--s-3);background:#0f172a80;place-items:center;display:grid;position:fixed;inset:0}.notice-modal{--notice-color:var(--c-primary);width:min(100%,560px);color:var(--c-text);background:var(--c-surface);border:1px solid var(--notice-color);border-radius:var(--r-md);box-shadow:var(--sh-md);position:relative;overflow:visible}.notice-modal--success{--notice-color:var(--c-success)}.notice-modal--warning{--notice-color:var(--c-warning)}.notice-modal--error{--notice-color:var(--c-danger)}.notice-modal--info{--notice-color:var(--c-primary)}.notice-modal__progress{border-radius:var(--r-sm) var(--r-sm) 0 0;background:var(--c-border);width:100%;height:4px;position:absolute;top:-7px;left:0;overflow:hidden}.notice-modal__progress span{background:var(--notice-color);height:100%;display:block}.notice-modal--paused .notice-modal__progress span{opacity:.55}.notice-modal__body{align-items:start;gap:var(--s-3);padding:var(--s-4);grid-template-columns:32px minmax(0,1fr) auto auto;display:grid}.notice-modal__icon{color:#fff;background:var(--notice-color);width:28px;height:28px;font-size:var(--fs-base);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.notice-modal__content{min-width:0}.notice-modal__title{margin:0 0 var(--s-1);font-size:var(--fs-md);line-height:1.25}.notice-modal__text{overflow-wrap:anywhere;color:var(--c-text);white-space:pre-line;margin:0}.notice-modal__hint{margin:var(--s-2) 0 0;color:var(--c-text-muted);font-size:var(--fs-sm)}.notice-modal__close{color:var(--c-text-subtle);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:24px;line-height:1}.notice-modal__pause{width:28px;height:28px;color:var(--c-text-subtle);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:16px;line-height:1;display:grid}.notice-modal__pause:hover,.notice-modal__pause:focus-visible{color:var(--c-text);background:var(--c-primary-bg)}.notice-modal__pause:disabled{color:var(--notice-color);background:var(--c-primary-bg);cursor:default}.notice-modal__close:hover,.notice-modal__close:focus-visible{color:var(--c-text)}.notice-toast-stack{top:var(--s-4);right:var(--s-4);z-index:1000;gap:var(--s-2);width:min(420px, calc(100vw - 2 * var(--s-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.notice-toast{--notice-color:var(--c-primary);--notice-background:var(--c-primary-bg);gap:var(--s-3);padding:var(--s-3) var(--s-3) var(--s-4);color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border);border-left:4px solid var(--notice-color);border-radius:var(--r-md);pointer-events:auto;grid-template-columns:30px minmax(0,1fr) auto;align-items:start;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 24px #0f172a29}.notice-toast--success{--notice-color:var(--c-success);--notice-background:var(--c-success-bg)}.notice-toast--warning{--notice-color:var(--c-warning);--notice-background:var(--c-warning-bg)}.notice-toast--error{--notice-color:var(--c-danger);--notice-background:var(--c-danger-bg)}.notice-toast--info{--notice-color:var(--c-primary);--notice-background:var(--c-primary-bg)}.notice-toast__icon{color:#fff;background:var(--notice-color);width:28px;height:28px;font-size:var(--fs-sm);box-shadow:0 0 0 4px var(--notice-background);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.notice-toast__content{min-width:0}.notice-toast__title{color:var(--c-text);font-size:var(--fs-base);margin:0 0 2px;line-height:1.35}.notice-toast__text{color:var(--c-text);overflow-wrap:anywhere;white-space:pre-line;margin:0;line-height:1.45}.notice-toast__hint{margin:var(--s-1) 0 0;color:var(--c-text-muted);font-size:var(--fs-sm);line-height:1.4}.notice-toast__close{width:26px;height:26px;color:var(--c-text-subtle);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:22px;line-height:1;display:grid}.notice-toast__close:hover,.notice-toast__close:focus-visible{color:var(--c-text);background:var(--notice-background)}.notice-toast__progress{background:var(--notice-background);height:3px;position:absolute;bottom:0;left:0;right:0}.notice-toast__progress span{background:var(--notice-color);height:100%;display:block}@media (width<=600px){.notice-toast-stack{top:var(--s-2);right:var(--s-2);width:min(420px, calc(100vw - 2 * var(--s-2)))}}.login-screen{min-height:100vh;padding:var(--s-3);place-items:center;display:grid}.login-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);width:min(100%,440px);padding:var(--s-6);box-shadow:var(--sh-md)}.brand{gap:var(--s-3);margin-bottom:var(--s-5);align-items:center;display:flex}.brand-logo{border-radius:var(--r-md);background:var(--c-primary);color:#fff;place-items:center;width:48px;height:48px;font-weight:700;display:grid;overflow:hidden}.brand-logo img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.brand h1{font-size:var(--fs-xl)}.brand p{color:var(--c-text-muted);margin:4px 0 0}.form-block{gap:var(--s-2);margin:var(--s-3) 0;display:grid}.admin-login{margin-top:var(--s-4)}.admin-login summary{cursor:pointer;color:var(--c-text-muted);padding:var(--s-2) 0}.worker-pin-block{gap:var(--s-3);margin:var(--s-5) 0;display:grid}.pin-input{letter-spacing:.5em;text-align:center;height:56px;font-size:28px}.pin-row{gap:var(--s-1);align-items:center;display:flex}.pin-row .input{flex:1;min-width:0}.pin-row .btn{flex-shrink:0}.checkin-page{background:var(--c-bg);place-items:center;min-height:100vh;display:grid}.checkin-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--s-6);text-align:center;width:min(100%,460px)}.checkin-result{margin-top:var(--s-5);padding:var(--s-4);border-radius:var(--r-md);border:1px solid var(--c-border)}.checkin-result--check_in{background:var(--c-success-bg);border-color:var(--c-success)}.checkin-result--check_out{background:var(--c-warning-bg);border-color:var(--c-warning)}.worker{padding:var(--s-3);max-width:480px;margin:0 auto}.top-card{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.top-card-right{align-items:flex-end;gap:var(--s-1);flex-direction:column;display:flex}.worker-nomenclature-card{top:var(--worker-sticky-top,0px);z-index:40;background:var(--c-primary-bg);border-color:var(--c-primary);box-shadow:0 3px 10px color-mix(in srgb, var(--c-primary) 20%, transparent);position:sticky}.worker-nomenclature-card__name{overflow-wrap:anywhere;color:var(--c-text)}.worker-mode-card{align-items:center;gap:var(--s-3);display:flex}.worker-mode-card .btn{flex-shrink:0;margin-left:auto}.clock{font-size:22px;font-weight:700;font-family:var(--ff-mono);color:var(--c-text)}.op-countdown{font-family:var(--ff-mono);letter-spacing:.5px;font-size:18px;font-weight:700;line-height:1}.op-countdown--ok{color:var(--c-success)}.op-countdown--over{color:var(--c-danger);animation:1.2s ease-in-out infinite countdown-blink}@keyframes countdown-blink{0%,to{opacity:1}50%{opacity:.55}}.op-description{margin-top:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--c-surface-2);border-left:3px solid var(--c-primary);border-radius:var(--r-sm);font-size:var(--fs-base);line-height:1.45}.op-description .muted{margin-bottom:2px}.worker .action-grid{gap:var(--s-1);margin-top:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}.worker .action-grid .btn{height:38px;padding:0 var(--s-2);font-size:var(--fs-base);font-weight:600}.help-call-status{min-height:38px;padding:0 var(--s-2);border:1px solid var(--c-warning);border-radius:var(--r-sm);background:var(--c-warning-bg);color:var(--c-text);text-align:center;justify-content:center;align-items:center;font-weight:600;display:flex}.help-call-list{margin-top:var(--s-3);padding:var(--s-3);border:1px solid var(--c-success);border-radius:var(--r-sm);background:var(--c-success-bg)}.help-call-list h3{margin:0 0 var(--s-2);font-size:var(--fs-base)}.help-call-list__item{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-2) 0;border-top:1px solid var(--c-border);display:flex}.help-call-list__item:first-of-type{border-top:0}.help-call-list__item p{white-space:pre-wrap;margin:2px 0 0}@media (width<=600px){.help-call-list__item{flex-direction:column;align-items:flex-start}}.help-acceptance-backdrop{z-index:1300}.help-acceptance-modal{width:min(100%,480px)}.help-acceptance-modal__actions{margin-top:var(--s-4);justify-content:flex-end;display:flex}.photo-capture-backdrop{z-index:1350}.photo-capture-modal{width:min(100%,480px)}.photo-capture-modal__input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.photo-capture-modal__actions{justify-content:flex-end;align-items:center;gap:var(--s-2);margin-top:var(--s-4);display:flex}.photo-capture-modal__actions label.btn{cursor:pointer}.photo-capture-modal__actions label.btn.disabled{cursor:wait;opacity:.6}.worker-preferences{gap:var(--s-2);margin-top:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.shift-warning{color:var(--c-warning);font-weight:600}.idle-timeout-backdrop{z-index:10000;background:#0f172ac7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.idle-timeout-modal{border:1px solid var(--c-border);background:var(--c-surface);width:min(520px,100%);color:var(--c-text);text-align:center;border-radius:8px;padding:28px;box-shadow:0 24px 70px #00000059}.idle-timeout-modal h2{margin:0 0 12px;font-size:24px}.idle-timeout-countdown{font-variant-numeric:tabular-nums;min-height:112px;color:var(--c-danger);font-size:96px;font-weight:800;line-height:112px}.idle-timeout-error{border:1px solid var(--c-warning);background:var(--c-warning-bg,#f59e0b1f);color:var(--c-text);padding:10px 12px}.idle-timeout-confirm{width:100%;min-height:64px;margin-top:12px;font-size:20px;font-weight:700}.flash-error{animation:.7s ease-in-out flash}@keyframes flash{0%,to{background:var(--c-bg)}50%{background:var(--c-danger-bg)}}.instruction{margin-top:var(--s-3)}.instruction summary{cursor:pointer;font-weight:600}.badge{margin-left:var(--s-1);border-radius:var(--r-sm);font-size:var(--fs-xs);padding:1px 8px;font-weight:600;display:inline-block}.badge--batch{background:var(--c-warning-bg);color:var(--c-warning)}.badge--single{background:var(--c-surface-2);color:var(--c-text-muted)}.op-timer{font-family:var(--ff-mono);font-size:var(--fs-md);font-weight:600}.op-timer--ok{color:var(--c-success)}.op-timer--over{color:var(--c-danger)}.photo-icon-btn{border:1px solid var(--c-border-strong);background:var(--c-surface-2);border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer;padding:4px 10px}.photo-icon-btn:hover{background:var(--c-primary-bg);color:var(--c-primary);border-color:var(--c-primary)}.photo-preview{z-index:60;background:#0f172ab3;place-items:center;display:grid;position:fixed;inset:0}.photo-preview img{border-radius:var(--r-md);background:var(--c-surface);max-width:90vw;max-height:90vh}.results-stats{gap:var(--s-2);padding:var(--s-3);background:var(--c-surface-2);border-radius:var(--r-md);margin-top:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.results-stats>div{text-align:center;padding:var(--s-2);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm)}.results-stats strong{font-size:var(--fs-lg);margin-top:2px;display:block}.dashboard-kpi-cards{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.dashboard-kpi-card{padding:var(--s-4);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--sh-sm)}.dashboard-kpi-card strong{font-size:var(--fs-xl);margin-top:var(--s-1);display:block}.dashboard-charts-grid{gap:var(--s-4);margin-top:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=900px){.dashboard-charts-grid{grid-template-columns:1fr}}.dashboard-chart-card{min-width:0}.backoffice{padding:var(--s-4);width:100%}.tree-layout{gap:var(--s-4);flex-direction:column;display:flex}.tree-bottom{gap:var(--s-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.tree-filter,.tree-editor,.tree-view{border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--s-3);background:var(--c-surface)}.tree-list,.tree-list ul{padding-left:var(--s-4);margin:0;list-style:none}.tree-list li{padding:2px 0}.tree-node{align-items:center;gap:var(--s-1);margin:4px 0;display:flex}.tree-node.op{margin-left:var(--s-3)}.tree-node.step{margin-left:var(--s-6)}.tree-toggle{cursor:pointer;width:20px;height:20px;color:var(--c-text-muted);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.tree-toggle:before{content:"";border-bottom:2px solid;border-right:2px solid;width:6px;height:6px;transition:transform .15s;transform:rotate(-45deg)}.tree-toggle.open:before{margin-top:-3px;transform:rotate(45deg)}.tree-toggle-spacer{flex-shrink:0;width:20px;height:20px}.tree-label{text-align:left;border:1px solid var(--c-border-strong);background:var(--c-surface-2);border-radius:var(--r-sm);min-width:0;color:var(--c-text);font-size:var(--fs-sm);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:auto;padding:4px 10px;overflow:hidden}.tree-label:hover{background:var(--c-primary-bg);color:var(--c-primary);border-color:var(--c-primary)}.tree-label.selected{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.tree-move,.tree-delete{width:22px;height:22px;color:var(--c-text-subtle);cursor:pointer;border-radius:var(--r-sm);font-size:var(--fs-sm);background:0 0;border:0;flex-shrink:0}.tree-move:hover{background:var(--c-surface-2);color:var(--c-text)}.tree-delete:hover{background:var(--c-danger-bg);color:var(--c-danger)}.tree-add{background:var(--c-success);color:#fff;border-radius:var(--r-sm);font-size:var(--fs-xs);cursor:pointer;border:0;padding:4px 10px;font-weight:600}.tree-add:hover{filter:brightness(.92)}.tree-add-inline{margin-left:var(--s-2);font-size:var(--fs-xs)}.csv-import-btn{cursor:pointer;align-items:center;display:inline-flex}.csv-import-btn input{display:none}.csv-import-btn.disabled,.btn.disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.stock-workshop-select{flex:0 280px;min-width:240px}.stock-import-result{width:min(95vw,1100px)}.stock-import-result h3{margin:var(--s-4) 0 var(--s-2)}.stock-import-result td:nth-child(4),.stock-import-result td:last-child{overflow-wrap:anywhere;white-space:normal!important;text-overflow:clip!important;max-width:none!important;overflow:visible!important}.stock-import-result th:last-child{width:32%}.op-inputs{margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--c-border)}.op-inputs-table{border-collapse:collapse;width:100%;margin:var(--s-1) 0 var(--s-2)}.op-inputs-table th,.op-inputs-table td{border-bottom:1px solid var(--c-border);padding:6px 8px}.op-inputs-add{gap:var(--s-2);display:grid}.add-block{gap:var(--s-1);padding:var(--s-2);background:var(--c-surface-2);border-radius:var(--r-sm);flex-wrap:wrap;align-items:center;display:flex}.add-block strong{min-width:170px;font-size:var(--fs-sm)}.add-block .input,.add-block .select2{flex:1;min-width:180px}.qty-input{text-align:right;width:90px!important}.step-inputs{margin-top:var(--s-5);padding-top:var(--s-3);border-top:1px solid var(--c-border)}.step-inputs-table{border-collapse:collapse;width:100%;margin:var(--s-1) 0}.step-inputs-table th,.step-inputs-table td{border-bottom:1px solid var(--c-border);padding:6px 8px}.step-inputs-add{gap:var(--s-2);margin-top:var(--s-2);display:grid}.impersonation-bar{z-index:999;background:var(--c-warning);color:#fff;padding:var(--s-2) var(--s-4);justify-content:space-between;align-items:center;gap:var(--s-2);font-size:var(--fs-sm);flex-wrap:wrap;font-weight:600;display:flex;position:fixed;top:0;left:0;right:0}body:has(.impersonation-bar){padding-top:48px}body:has(.impersonation-bar) .app-header{top:48px}.btn-impersonate,.btn-log,.btn-info{color:#fff;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-xs);border:0;margin-right:4px;padding:3px 8px 3px 12px;font-weight:600;box-shadow:inset 3px 0 #d72b2b}.btn-impersonate{background:#ea580c}.btn-log{background:#b91c1c}.btn-info{background:var(--c-admin)}.btn-info--alt{background:var(--c-admin);color:#fff;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-xs);border:0;margin-right:4px;padding:3px 8px 3px 12px;font-family:Georgia,serif;font-style:italic;font-weight:700;box-shadow:inset 3px 0 #d72b2b}.btn-impersonate:hover,.btn-log:hover,.btn-info:hover,.btn-info--alt:hover{filter:brightness(1.12)}.header-actions .admin-btn{color:var(--c-admin);padding-left:13px;font-weight:600;box-shadow:inset 3px 0 #d72b2b}.header-actions .admin-btn:hover{background:var(--c-admin);color:#fff}.db-viewer-controls{gap:var(--s-3);padding:var(--s-2) 0;flex-wrap:wrap;display:flex}.db-viewer-controls label{gap:var(--s-1);align-items:center;display:flex}.db-viewer-section{padding:var(--s-2) 0;border-top:1px solid var(--c-border)}.filter-line{gap:var(--s-1);margin:var(--s-1) 0;flex-wrap:wrap;align-items:center;display:flex}.filter-line .input{flex:1;min-width:120px}.scanner-context{margin:calc(var(--s-2) * -1) 0 var(--s-3);padding:var(--s-2) var(--s-3);border:1px solid var(--c-primary);border-radius:var(--r-sm);background:var(--c-primary-bg);font-size:var(--fs-sm);line-height:1.45}.scanner-context__lead{margin-bottom:var(--s-1);font-weight:600}.scanner-context__meta{margin-top:var(--s-1);color:var(--c-text-muted)}.scanner-frame{width:100%;max-width:320px;margin:var(--s-2) auto;position:relative}.scanner-video{aspect-ratio:1;-o-object-fit:cover;object-fit:cover;border-radius:var(--r-md);background:#0f172a;width:100%;margin:0;display:block}.scanner-aim{border:3px solid var(--c-success);pointer-events:none;border-radius:10px;transition:border-color .15s,box-shadow .15s;position:absolute;inset:18%;box-shadow:0 0 0 9999px #00000059,inset 0 0 12px #22a06b99}.scanner-aim:before,.scanner-aim:after{content:"";border:0 solid var(--c-success);pointer-events:none;position:absolute;inset:-3px}.scanner-overlay{z-index:2;pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute;top:6px;right:6px}.scanner-overlay>*{pointer-events:auto}.scanner-resolution{color:#fff;font-size:11px;font-family:var(--ff-mono);background:#0000008c;border-radius:10px;padding:2px 8px}.scanner-icon-btn{color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:50%;width:32px;height:32px;font-size:16px;line-height:1}.scanner-icon-btn.on{background:var(--c-warning)}.scanner-zoom{align-items:center;gap:8px;margin:6px 0;display:flex}.scanner-zoom input[type=range]{flex:1}.scanner-aim--error{border-color:var(--c-danger);animation:.4s ease-in-out scanner-aim-shake;box-shadow:0 0 0 9999px #dc262659,inset 0 0 16px #dc2626bf}@keyframes scanner-aim-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.scanner-aim{inset:15%}.manual-scan{gap:var(--s-2);grid-template-columns:1fr auto;display:grid}.alert.error{background:var(--c-danger-bg);border:1px solid var(--c-danger);color:var(--c-danger);padding:var(--s-3);border-radius:var(--r-sm)}.reject-row--ack{background:var(--c-surface-2);color:var(--c-text-subtle)}.reject-row--ack td{color:var(--c-text-subtle)}.input-banner{background:var(--c-danger);color:#fff;border-radius:var(--r-sm);cursor:pointer;border:0;padding:6px 12px;font-weight:600}.input-ok{color:var(--c-success);padding:6px 10px;font-weight:600}.docs-page{grid-template-columns:280px 1fr;min-height:100vh;display:grid}.docs-list{background:var(--c-surface);border-right:1px solid var(--c-border);padding:var(--s-4);gap:var(--s-1);flex-direction:column;display:flex}.docs-list button,.docs-list a{text-align:left;border-radius:var(--r-sm);color:var(--c-text);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:0;padding:8px 10px;text-decoration:none}.docs-list button:hover{background:var(--c-surface-2)}.docs-list button.active{background:var(--c-primary);color:#fff}.docs-article{padding:var(--s-6);background:var(--c-surface)}.doc-editor{gap:var(--s-2);display:grid}.doc-body{height:360px!important;min-height:360px!important}.doc-link{margin-top:var(--s-3);color:var(--c-primary);display:inline-block}.import-grid{gap:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.import-card{border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--s-3);gap:var(--s-2);background:var(--c-surface);display:grid}.replace-row{background:var(--c-warning-bg)}.wizard{gap:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:end;display:grid}.instruction-preview{padding:var(--s-3);max-height:60vh;overflow:auto}.report-filters{gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.report-filters label{font-size:var(--fs-xs);color:var(--c-text-muted);gap:4px;display:grid}.report-filters .report-filter-checkbox{color:var(--c-text);align-items:center;gap:8px;padding-top:24px;display:flex}.report-filter-actions{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}@media (width<=900px){.tree-bottom,.tabs2,.grid2,.docs-page{grid-template-columns:1fr}.action-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.row-actions{min-width:0}th,td{padding:6px 8px}}@media (width<=480px){.backoffice{padding:var(--s-2)}.modal{padding:var(--s-3)}.login-card{padding:var(--s-4)}}.theme-toggle{border:1px solid var(--c-border);background:var(--c-surface);width:40px;height:40px;color:var(--c-text);cursor:pointer;box-shadow:var(--sh-md);border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:background .12s,transform .12s;display:inline-flex}.theme-toggle:hover{background:var(--c-surface-2);transform:scale(1.05)}@media (width<=480px){.theme-toggle-wrap{bottom:var(--s-3);left:var(--s-3)}.theme-toggle{width:36px;height:36px;font-size:16px}.header-title{display:none}}.link-url{white-space:normal}.input-list{border-collapse:collapse;width:100%}.input-list th,.input-list td{border-bottom:1px solid var(--c-border);font-size:var(--fs-sm);white-space:normal;padding:5px 6px;line-height:1.3}.input-list tr.input-row--missing{background:var(--c-danger-bg)}.input-list tr.input-row--missing td{color:var(--c-danger)}.input-picker{gap:var(--s-2);margin-top:var(--s-2);flex-direction:column;max-height:60vh;display:flex;overflow:auto}.input-pick-btn{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--c-border-strong);background:var(--c-surface-2);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-md);color:var(--c-text);text-align:left;display:flex}.input-pick-btn:hover{background:var(--c-primary-bg);border-color:var(--c-primary)}.input-pick-btn--ok{border-color:var(--c-success);background:var(--c-success-bg)}.input-pick-btn:disabled{cursor:not-allowed;opacity:.72}.input-pick-btn:disabled:hover{background:var(--c-success-bg);border-color:var(--c-success)}.input-pick-name{flex:1;font-weight:600}.input-pick-qty{font-family:var(--ff-mono);font-weight:700;font-size:var(--fs-md)}.global-search{min-width:240px;position:relative}.global-search .input{height:30px;color:var(--c-header-text);font-size:var(--fs-sm);background:#ffffff1a;border-color:#ffffff2e}.global-search .input::placeholder{color:var(--c-header-text-muted)}.global-search__menu{background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-sm);width:min(420px,92vw);max-height:60vh;box-shadow:var(--sh-md);z-index:200;color:var(--c-text);position:absolute;top:calc(100% + 4px);right:0;overflow:auto}.global-search__group{font-size:var(--fs-xs);text-transform:uppercase;color:var(--c-text-muted);background:var(--c-surface-2);border-top:1px solid var(--c-border);padding:6px 10px}.global-search__group:first-child{border-top:0}.global-search__menu button{text-align:left;width:100%;font-size:var(--fs-sm);color:var(--c-text);cursor:pointer;border:0;border-bottom:1px solid var(--c-border);background:0 0;padding:7px 10px;display:block}.global-search__menu button:hover{background:var(--c-primary-bg)}@media (width<=700px){.global-search{min-width:160px}}.stock-receipts-panel{max-width:1600px}.stock-receipts-filters{gap:var(--s-3);grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr));align-items:end;display:grid}.stock-receipts-filters .input{width:100%}.stock-receipts-selection{margin:var(--s-4) 0;padding:var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface-muted)}.stock-receipts-selection>div:first-child{justify-content:space-between;gap:var(--s-3);align-items:flex-start;display:flex}.stock-receipts-selection h4,.stock-receipts-selection p{margin:0}.stock-receipts-selection .button-row{margin:var(--s-3) 0}.stock-receipts-picker{gap:var(--s-2);flex-wrap:wrap;display:flex}.stock-receipts-picker label{gap:1px var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);cursor:pointer;grid-template-columns:auto auto;align-items:center;display:grid}.stock-receipts-picker label.active{border-color:var(--c-primary);box-shadow:inset 0 0 0 1px var(--c-primary)}.stock-receipts-picker input{grid-row:span 2}.stock-receipts-picker small{color:var(--c-text-muted);font-size:var(--fs-xs)}.stock-receipts-grid{gap:var(--s-4);margin:var(--s-4) 0;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));display:grid}.stock-receipts-card{min-width:0;padding:var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-sm)}.stock-receipts-card header{justify-content:space-between;gap:var(--s-3);align-items:flex-start;display:flex}.stock-receipts-facts{gap:var(--s-1);text-align:right;color:var(--c-text-muted);font-size:var(--fs-xs);white-space:nowrap;display:grid}.stock-receipts-facts strong{color:var(--c-text);font-size:var(--fs-sm)}.stock-receipts-chart{width:100%;height:230px;margin-top:var(--s-2);display:block;overflow:visible}.stock-receipts-chart-scroll{max-width:100%;padding-bottom:var(--s-1);overflow:auto hidden}.stock-receipts-chart-axis{stroke:var(--c-border-strong);stroke-width:1px}.stock-receipts-chart-label{fill:var(--c-text-muted);font-size:11px}.stock-receipts-chart-value{fill:var(--c-text);font-size:11px;font-weight:700}.stock-receipts-chart-bar{fill:var(--c-primary);opacity:.9}.stock-receipts-empty,.stock-receipts-zero{text-align:center;min-height:170px;color:var(--c-text-muted);place-items:center;display:grid}.stock-receipts-zero{margin:var(--s-4) 0;padding:var(--s-5);border:1px dashed var(--c-border-strong);border-radius:var(--r-lg);background:var(--c-surface-muted)}.stock-receipts-zero p{max-width:520px;margin:var(--s-2) 0 0}@media (width<=760px){.stock-receipts-filters,.stock-receipts-grid{grid-template-columns:1fr}.stock-receipts-selection>div:first-child,.stock-receipts-card header{display:grid}.stock-receipts-facts{text-align:left;-moz-column-gap:var(--s-3);column-gap:var(--s-3);grid-template-columns:repeat(2,max-content)}}.searchable-multi-select{gap:var(--s-2);display:grid}.searchable-multi-select__selected{gap:var(--s-1);flex-wrap:wrap;display:flex}.searchable-multi-select__chip{align-items:center;gap:var(--s-1);background:var(--c-primary-bg);max-width:100%;color:var(--c-primary);font-size:var(--fs-xs);border-radius:999px;padding:3px 7px;display:inline-flex}.searchable-multi-select__chip button{color:inherit;font-size:var(--fs-lg);cursor:pointer;background:0 0;border:0;padding:0;line-height:1}.searchable-multi-select__list{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);max-height:280px;display:grid;overflow:auto}.searchable-multi-select__list label{gap:var(--s-2);padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--c-border);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;display:grid}.searchable-multi-select__list label:last-child{border-bottom:0}.searchable-multi-select__list label:hover,.searchable-multi-select__list label.is-selected{background:var(--c-primary-bg)}.searchable-multi-select__list small{color:var(--c-text-muted);font-size:var(--fs-xs);margin-top:2px;display:block}.searchable-multi-select__empty{padding:var(--s-4);color:var(--c-text-muted);text-align:center}.searchable-multi-select--dropdown{position:relative}.searchable-multi-select__trigger{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;width:100%;display:flex}.searchable-multi-select__popup{z-index:20;top:calc(100% + var(--s-1));gap:var(--s-2);padding:var(--s-2);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);box-shadow:var(--sh-md);display:grid;position:absolute;left:0;right:0}.searchable-multi-select__popup .searchable-multi-select__list{min-width:0;max-height:min(280px,45vh)}.searchable-multi-select__list--workstation-worker label{grid-template-columns:max-content max-content;justify-content:start;min-width:max-content}.searchable-multi-select__workstation-worker{white-space:nowrap}.notif-bell{position:relative}.notif-bell>button{width:36px;height:30px;color:var(--c-header-text);border-radius:var(--r-sm);cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;padding:0;font-size:18px;position:relative}.notif-bell>button:hover{filter:brightness(1.15)}.notif-badge{background:var(--c-warning);color:#fff;min-width:18px;height:18px;font-size:var(--fs-xxs);text-align:center;border-radius:9px;padding:0 4px;font-weight:700;line-height:18px;position:absolute;top:-4px;right:-4px}@keyframes notif-pulse{50%{opacity:.4}}.notif-modal h3{margin:var(--s-4) 0 var(--s-2);padding-bottom:var(--s-1);font-size:var(--fs-md);color:var(--c-text);border-bottom:2px solid var(--c-border);align-items:center;gap:var(--s-2);display:flex}.notif-modal section:first-of-type h3{margin-top:0}.notif-modal .notif-section__count{background:var(--c-primary);color:#fff;font-size:var(--fs-xs);border-radius:999px;padding:1px 8px;font-weight:600}.notif-modal table{font-size:var(--fs-sm);width:100%}.notif-modal th{font-size:var(--fs-xs);white-space:nowrap}.notif-modal td{vertical-align:middle}.notif-modal .table-wrap{margin-top:0;margin-bottom:var(--s-2);border:1px solid var(--c-border);border-radius:var(--r-sm);max-height:50vh;overflow:auto}.gantt-axis{border-bottom:1px solid var(--c-border);height:22px;margin:10px 0 4px 180px;position:relative}.gantt-axis-tick{color:var(--c-text-muted);white-space:nowrap;font-size:10px;position:absolute;transform:translate(-50%)}.gantt-body{padding-bottom:var(--s-3);gap:4px;display:grid}.gantt-row{grid-template-columns:180px 1fr;align-items:stretch;min-height:30px;display:grid}.gantt-label{font-size:var(--fs-sm);background:var(--c-surface-2);border-radius:var(--r-sm) 0 0 var(--r-sm);white-space:nowrap;text-overflow:ellipsis;padding:4px 8px;overflow:hidden}.gantt-track{background:var(--c-surface);border:1px solid var(--c-border);border-radius:0 var(--r-sm) var(--r-sm) 0;border-left:0;height:30px;position:relative}.gantt-grid-line{background:var(--c-border);opacity:.4;width:1px;position:absolute;top:0;bottom:0}.gantt-bar{color:#fff;cursor:pointer;text-shadow:0 1px #00000040;border-left:3px solid;border-radius:3px;align-items:center;height:24px;padding:0 6px;font-size:10px;font-weight:600;display:flex;position:absolute;top:3px;overflow:hidden;box-shadow:0 1px 2px #0003}.gantt-bar:hover{z-index:3;transform:translateY(-1px)}.gantt-bar--paused{background-image:repeating-linear-gradient(45deg,#0000002e 0 4px,#0000 4px 8px)}.gantt-bar--rejected{background-image:repeating-linear-gradient(45deg,#fff6 0 3px,#0000 3px 7px)}.gantt-bar-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gantt-legend{gap:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--c-surface-2);border-radius:var(--r-sm);font-size:var(--fs-sm);margin-top:var(--s-2);flex-wrap:wrap;display:flex}.gantt-dot{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.gantt-tooltip{background:var(--c-text);color:var(--c-surface);border-radius:var(--r-sm);font-size:var(--fs-xs);box-shadow:var(--sh-md);pointer-events:none;z-index:1000;max-width:320px;padding:8px 10px;line-height:1.5;position:fixed}.planning-gantt-controls .button-row{align-items:center}.planning-gantt-scroll{border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);max-height:min(70vh,900px);overflow:auto}.planning-gantt-table{width:max-content;min-width:100%}.planning-gantt-axis-row,.planning-gantt-row{min-height:42px;display:flex}.planning-gantt-axis-row{z-index:8;position:sticky;top:0}.planning-gantt-label{box-sizing:border-box;z-index:4;border-right:1px solid var(--c-border);background:var(--c-surface);width:310px;color:var(--c-text);flex:0 0 310px;position:sticky;left:0}.planning-gantt-label--head{padding:0 var(--s-3);font-size:var(--fs-sm);background:var(--c-surface-2);z-index:10;align-items:center;font-weight:700;display:flex}.planning-gantt-axis{border-bottom:1px solid var(--c-border);background:var(--c-surface-2);min-height:42px;position:relative}.planning-gantt-axis-tick{border-left:1px solid var(--c-border);color:var(--c-text-muted);font-size:var(--fs-xs);white-space:nowrap;padding:5px 4px;position:absolute;top:0;bottom:0}.planning-gantt-row{border-bottom:1px solid color-mix(in srgb, var(--c-border) 70%, transparent)}.planning-gantt-row--order{min-height:52px}.planning-gantt-row--process{min-height:36px}.planning-gantt-label--order{padding:5px var(--s-2);background:var(--c-surface-2);grid-template-rows:auto auto;grid-template-columns:22px 1fr;gap:1px 4px;display:grid}.planning-gantt-label--order small{color:var(--c-text-muted);font-size:var(--fs-xs);grid-column:2}.planning-gantt-toggle,.planning-gantt-order-link,.planning-gantt-label--operation{font:inherit;text-align:left;cursor:pointer;border:0}.planning-gantt-label--process{padding:4px var(--s-3) 4px 34px;background:color-mix(in srgb, var(--c-surface-2) 65%, var(--c-surface));font-size:var(--fs-sm);align-items:center;gap:6px;display:flex}.planning-gantt-label--process small{color:var(--c-text-muted);font-size:var(--fs-xs)}.planning-gantt-tree-branch{color:var(--c-text-muted);font-size:var(--fs-sm);text-align:center;flex:0 0 14px}.planning-gantt-toggle{width:22px;color:var(--c-text-muted);background:0 0;grid-row:1/span 2;padding:0}.planning-gantt-order-link{min-width:0;color:var(--c-text);background:0 0;gap:5px;padding:0;display:flex}.planning-gantt-order-link span,.planning-gantt-operation-content>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planning-gantt-label--operation{padding:5px var(--s-3) 5px 54px;background:var(--c-surface);font-size:var(--fs-sm);align-items:center;gap:6px;display:flex}.planning-gantt-operation-content{flex-direction:column;gap:2px;min-width:0;display:flex}.planning-gantt-label--operation:hover,.planning-gantt-order-link:hover{color:var(--c-primary)}.planning-gantt-operation-content small{color:var(--c-text-muted);font-size:var(--fs-xs)}.planning-gantt-unplanned{font-weight:600;color:var(--c-warning)!important}.planning-gantt-unplanned-list{margin-top:var(--s-3)}.planning-gantt-list-link{color:var(--c-primary);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.planning-gantt-list-link:hover{text-decoration:underline}.planning-gantt-track{background:var(--c-surface);min-height:42px;position:relative}.planning-gantt-track--order{background:var(--c-surface-2)}.planning-gantt-track--process{background:color-mix(in srgb, var(--c-surface-2) 65%, var(--c-surface))}.planning-gantt-grid,.planning-gantt-today,.planning-gantt-due{pointer-events:none;position:absolute;top:0;bottom:0}.planning-gantt-grid{background:color-mix(in srgb, var(--c-border) 65%, transparent);width:1px}.planning-gantt-today{z-index:3;background:var(--c-danger);opacity:.8;width:2px}.planning-gantt-due{z-index:4;background:var(--c-danger);width:2px}.planning-gantt-due:before{content:"";background:var(--c-danger);width:8px;height:8px;position:absolute;top:3px;left:-3px;transform:rotate(45deg)}.planning-gantt-bar{z-index:2;border:1px solid color-mix(in srgb, var(--c-primary) 70%, #000);background:color-mix(in srgb, var(--c-primary) 38%, var(--c-surface));height:22px;color:var(--c-text);border-radius:3px;position:absolute;top:10px;overflow:hidden;box-shadow:0 1px 2px #00000024}.planning-gantt-bar--order{border-color:var(--c-primary);background:color-mix(in srgb, var(--c-primary) 25%, var(--c-surface));height:24px;top:14px}.planning-gantt-bar--process{border-color:color-mix(in srgb, var(--c-primary) 70%, var(--c-border));background:color-mix(in srgb, var(--c-primary) 18%, var(--c-surface));height:20px;top:7px}.planning-gantt-bar--overdue{border-color:var(--c-danger);background:color-mix(in srgb, var(--c-danger) 28%, var(--c-surface))}.planning-gantt-progress{background:color-mix(in srgb, var(--c-success) 70%, transparent);position:absolute;inset:0 auto 0 0}.planning-gantt-help{margin-top:var(--s-2)}@media (width<=640px){.planning-gantt-label{flex-basis:230px;width:230px}.planning-gantt-label--order{grid-template-columns:18px 1fr}.planning-gantt-label--process{padding-left:28px}.planning-gantt-label--operation{padding-left:44px}}.stock-condition-help{width:16px;height:16px;color:var(--c-primary);cursor:help;font:inherit;font-size:var(--fs-xs);vertical-align:text-bottom;background:0 0;border:1px solid;border-radius:50%;place-items:center;margin-left:5px;padding:0;font-weight:700;line-height:1;display:inline-grid}.stock-condition-help:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.stock-condition-tooltip{max-width:390px}.stock-condition-tooltip ul{margin:6px 0 0;padding-left:16px}.stock-condition-tooltip li+li{margin-top:4px}.tnode{margin:2px 0}.tnode-row{border-radius:var(--r-sm);align-items:center;gap:6px;padding:3px 6px;display:flex}.tnode-row:hover{background:var(--c-surface-2)}.tnode-icon{font-size:14px;line-height:1}.tnode-title{font-size:var(--fs-base)}.tnode-sub{font-size:var(--fs-xs);margin-left:4px}.tnode-badge{background:var(--c-primary-bg);color:var(--c-primary);border-radius:var(--r-sm);font-size:var(--fs-xxs);margin-left:4px;padding:1px 6px;font-weight:600;display:inline-block}.tnode-kids{padding-left:12px}.help-btn-header{width:30px;height:30px;font-size:var(--fs-md);color:var(--c-header-text);border-radius:var(--r-sm);background:#ffffff14;border:1px solid #ffffff2e;justify-content:center;align-items:center;padding:0;line-height:1;text-decoration:none;display:inline-flex}.help-btn-header:hover{background:#fff3}[data-tables=fit] .table-wrap{overflow:auto}[data-tables=fit] .table-wrap>table{table-layout:fixed;width:100%;min-width:0}[data-tables=fit] .table-wrap>table th{letter-spacing:0;line-height:1.2}[data-tables=fit] .table-wrap>table th,[data-tables=fit] .table-wrap>table td{text-overflow:ellipsis;white-space:nowrap;max-width:0;overflow:hidden}[data-tables=fit] .table-wrap>table td{line-height:1.3}[data-tables=fit] .table-wrap>table td>code,[data-tables=fit] .table-wrap>table td>span,[data-tables=fit] .table-wrap>table td>strong,[data-tables=fit] .table-wrap>table td>a{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}[data-tables=fit] .table-wrap>table .thumb{width:22px;height:22px}[data-tables=fit] .table-wrap>table th:last-child,[data-tables=fit] .table-wrap>table td.row-actions{white-space:nowrap;text-overflow:clip;width:1%;max-width:none;overflow:visible}[data-tables=fit] .table-wrap>table td.row-actions button{width:26px;height:24px;margin-right:2px}[data-tables=scroll] .table-wrap{overflow:auto}[data-tables=scroll] .table-wrap>table{table-layout:auto;width:auto;min-width:100%}@media print{@page{size:A4;margin:9mm}body.printing-workers .app>:not(.backoffice),body.printing-workers .backoffice>:not(.backoffice-panel),body.printing-workers .backoffice-panel>:not(.workers-print-page){display:none!important}body.printing-workers .app,body.printing-workers .backoffice,body.printing-workers .backoffice-panel{box-shadow:none!important;background:#fff!important;border:0!important;margin:0!important;padding:0!important;display:block!important}body.printing-workers .workers-print-page{color:#111827;background:#fff;width:auto;font-family:Arial,sans-serif;position:static;display:block!important}body.printing-workers .workers-print-page h1{margin:0 0 2mm;font-size:15pt;line-height:1.2}body.printing-workers .workers-print-meta{color:#4b5563;margin-bottom:5mm;font-size:8pt}body.printing-workers .workers-print-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3mm;display:grid}body.printing-workers .workers-print-card{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid;border:1px solid #d1d5db;border-radius:2mm;grid-template-columns:22mm minmax(0,1fr);gap:2.5mm;min-height:28mm;padding:2.5mm;display:grid;overflow:hidden}body.printing-workers .workers-print-photo{-o-object-fit:cover;object-fit:cover;border:1px solid #d1d5db;border-radius:50%;width:22mm;height:22mm}body.printing-workers .workers-print-info{min-width:0}body.printing-workers .workers-print-name{overflow-wrap:anywhere;margin-bottom:1.5mm;font-size:8.5pt;line-height:1.15;display:block}body.printing-workers .workers-print-card dl{gap:.7mm;margin:0;font-size:7pt;line-height:1.15;display:grid}body.printing-workers .workers-print-card dl>div{grid-template-columns:12mm minmax(0,1fr);gap:1.5mm;display:grid}body.printing-workers .workers-print-card dt{color:#6b7280;margin:0;font-weight:700}body.printing-workers .workers-print-card dd{overflow-wrap:anywhere;min-width:0;margin:0}}[data-tables=fit] .modal table th,[data-tables=fit] .modal table td{text-overflow:ellipsis;white-space:nowrap;max-width:0;overflow:hidden;max-width:100px!important}.table-mode-toggle{border:1px solid var(--c-border-strong);background:var(--c-surface);width:20px;height:20px;color:var(--c-text);text-align:center;cursor:pointer;vertical-align:middle;border-radius:3px;margin-right:6px;padding:0;font-size:13px;line-height:18px;display:inline-block}.table-mode-toggle:hover{background:var(--c-primary-bg);color:var(--c-primary)}.btn.danger{background:var(--c-danger);border-color:var(--c-danger);color:#fff}.btn.danger:hover:not(:disabled){filter:brightness(.92)}.fake-scroll-top{scrollbar-width:thin;scrollbar-color:var(--c-border-strong) transparent;background:0 0;border-radius:6px;height:12px;margin:0 0 2px;overflow:auto hidden}.fake-scroll-top__inner{pointer-events:none;height:1px}.fake-scroll-top::-webkit-scrollbar{height:8px}.fake-scroll-top::-webkit-scrollbar-track{background:var(--c-surface-2);border-radius:4px}.fake-scroll-top::-webkit-scrollbar-thumb{background:var(--c-border-strong);border:1px solid var(--c-surface);border-radius:4px}.fake-scroll-top::-webkit-scrollbar-thumb:hover{background:var(--c-primary)}.report-params-info{gap:var(--s-2) var(--s-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0;display:grid}.report-params-info__item{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);flex-direction:column;gap:2px;padding:6px 10px;display:flex}.report-params-info__item dt{font-size:var(--fs-xs);color:var(--c-text-muted);text-transform:uppercase;letter-spacing:.04em}.report-params-info__item dd{font-size:var(--fs-base);color:var(--c-text);word-break:break-word;margin:0;font-weight:600}.report-page{padding:20px;font-family:system-ui}.report-page:not(.report-page--tv)>.table-wrap,.report-page:not(.report-page--tv)>.fake-scroll-top{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px}.report-page .table-wrap>table{min-width:100%!important}[data-tables=fit] .report-page .table-wrap>table{width:100%!important}[data-tables=scroll] .report-page .table-wrap>table{width:auto!important}.report-page .table-wrap th.table-wrap__col-settings-th:not(:empty){text-align:left;padding-right:40px}.report-page .table-wrap th.table-wrap__col-settings-th .table-wrap__col-settings{margin:0;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.report-page--tv{height:100dvh;padding:0;overflow:hidden}.report-page--tv .table-wrap{height:100%;min-height:0;margin-top:0;overflow:auto}.report-page--tv .fake-scroll-top{display:none}.load-axis{font-size:var(--fs-xs);color:var(--c-text-muted);grid-template-columns:200px 1fr;margin-bottom:8px;display:grid}.load-axis__bar{border-bottom:1px solid var(--c-border);display:flex}.load-axis__day{border-left:1px solid var(--c-border);text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:2px 6px;overflow:hidden}.load-row{border-bottom:1px solid var(--c-border);grid-template-columns:200px 1fr;align-items:center;padding:6px 0;display:grid}.load-row__name{text-overflow:ellipsis;white-space:nowrap;padding:0 8px;overflow:hidden}.load-row__bar{background:var(--c-surface-2);border-radius:var(--r-sm);height:34px;position:relative;overflow:hidden}.load-row__day-line{background:var(--c-border);opacity:.5;width:1px;position:absolute;top:0;bottom:0}.load-bar{background:var(--c-primary);color:#fff;height:28px;font-size:var(--fs-xs);cursor:grab;z-index:1;border:1px solid #00000026;border-radius:4px;align-items:center;padding:0 6px;display:flex;position:absolute;top:3px;overflow:hidden}.load-bar:hover{z-index:3;filter:brightness(1.1);transform:translateY(-1px)}.load-bar:active{cursor:grabbing}.load-bar--running{background:var(--c-danger);cursor:not-allowed;background-image:repeating-linear-gradient(45deg,#ffffff4d 0 4px,#0000 4px 8px);border-color:#7f1d1d;box-shadow:inset 0 0 0 1px #991b1b}.load-bar--overdue{animation:1.6s ease-in-out infinite load-overdue-pulse;box-shadow:inset 0 0 0 2px #991b1b,0 0 8px #dc26268c;background:#dc2626!important;border-color:#7f1d1d!important}@keyframes load-overdue-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.25)}}.load-bar__label{text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px #0000004d;overflow:hidden}.load-legend{gap:var(--s-3);margin-top:var(--s-3);font-size:var(--fs-sm);color:var(--c-text-muted);flex-wrap:wrap;display:flex}.load-dot{vertical-align:middle;border-radius:2px;width:12px;height:12px;margin-right:4px;display:inline-block}.load-dot--queued{background:var(--c-primary)}.load-dot--running{background:var(--c-danger);background-image:repeating-linear-gradient(45deg,#fff6 0 3px,#0000 3px 7px)}.load-dot--overdue{background:#dc2626;box-shadow:inset 0 0 0 1px #7f1d1d}html[data-theme=dark] .tab-icon-title{color:#fff}.tabs-buttons--icons{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:4px;display:flex}.tab-icon{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:3px;line-height:1;transition:transform .12s,background .12s,border-color .12s,box-shadow .12s;background:var(--c-surface-2)!important;width:85px!important;height:auto!important;color:var(--c-text)!important;border:1px solid var(--c-border)!important;border-radius:2px!important;padding:3px!important;font-size:15px!important;display:inline-flex!important}.tab-icon-icon{font-size:15px}.tab-icon-title{text-overflow:ellipsis;color:#040404;width:100%;font-size:12px;line-height:normal;overflow:hidden}.tab-icon:hover{box-shadow:var(--sh-sm);transform:translateY(-1px);background:var(--c-primary-bg)!important;border-color:var(--c-primary)!important}.tab-icon.active{box-shadow:0 0 0 2px var(--c-primary-bg);background:var(--c-primary)!important;border-color:var(--c-primary)!important;color:#fff!important;width:auto!important;min-width:85px!important}.tab-icon.active .tab-icon-title{color:#fff}.tab-icon:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}@media (width<=480px){.tab-icon{width:36px;height:36px;font-size:18px!important}}.plan-order{border-left:4px solid var(--c-border-strong);padding-top:12px}.plan-order--green{border-left-color:var(--c-success)}.plan-order--red{border-left-color:var(--c-danger)}.plan-order--blue{border-left-color:var(--c-primary)}.plan-order__head{align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.plan-tree{flex-direction:column;gap:6px;display:flex}.plan-node{align-items:center;gap:var(--s-2);border-radius:var(--r-sm);background:var(--c-surface);border:1px solid var(--c-border);flex-wrap:wrap;padding:6px 10px;display:flex}.plan-node--product{background:var(--c-primary-bg);border-color:var(--c-primary);font-size:var(--fs-md)}.plan-node--process{background:var(--c-surface-2);border-style:dashed;flex-direction:column;align-items:stretch;margin-left:22px}.plan-node--process .plan-node__row{gap:var(--s-2);border-bottom:1px dashed var(--c-border);flex-wrap:wrap;align-items:center;margin-bottom:6px;padding-bottom:6px;display:flex}.plan-node--operation{background:var(--c-surface);margin-left:22px}.plan-node--warn{background:var(--c-warning-bg);border-color:var(--c-warning);color:var(--c-warning);font-weight:500}.plan-node__title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:200px;overflow:hidden}.plan-ops{flex-direction:column;gap:4px;display:flex}.plan-icon{flex-shrink:0;font-size:16px}.plan-badge{font-size:var(--fs-xxs);background:var(--c-surface-2);color:var(--c-text-muted);border:1px solid var(--c-border);border-radius:4px;padding:1px 6px;font-weight:600;display:inline-block}.plan-badge--green{background:var(--c-success);color:#fff;border-color:var(--c-success)}.plan-badge--red{background:var(--c-danger);color:#fff;border-color:var(--c-danger)}.plan-badge--blue{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}.plan-rect{border:2px solid var(--c-border-strong);cursor:pointer;background:var(--c-surface);border-radius:6px;flex-direction:column;flex-shrink:0;width:58px;min-height:46px;padding:0;transition:transform .12s,box-shadow .12s;display:inline-flex;overflow:hidden}.plan-rect:hover{box-shadow:var(--sh-md);z-index:2;transform:scale(1.06)}.plan-rect__top,.plan-rect__bot{font-weight:700;font-size:var(--fs-base);flex:1;justify-content:center;align-items:center;padding:2px 0;line-height:1.1;display:flex}.plan-rect__top{background:var(--c-surface);color:var(--c-text)}.plan-rect__bot{color:#fff}.plan-rect--green{border-color:var(--c-success)}.plan-rect--green .plan-rect__bot{background:var(--c-success)}.plan-rect--red{border-color:var(--c-danger);animation:2s ease-in-out infinite plan-pulse}.plan-rect--red .plan-rect__bot{background:var(--c-danger)}.plan-rect--blue{border-color:var(--c-primary)}.plan-rect--blue .plan-rect__bot{background:var(--c-primary)}@keyframes plan-pulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 4px #dc262600}}.plan-popup-backdrop{z-index:95;background:#00000040;position:fixed;inset:0}.plan-popup{background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-md);min-width:320px;max-width:420px;max-height:70vh;padding:var(--s-3);box-shadow:var(--sh-md);color:var(--c-text);z-index:96;position:fixed;overflow:auto}.plan-popup h4{font-size:var(--fs-md);margin:0 0 4px}.plan-popup__list{margin:var(--s-2) 0 0;padding:0;list-style:none}.plan-popup__list li{border-bottom:1px solid var(--c-border);font-size:var(--fs-sm);padding:6px 0}.plan-popup__list li:last-child{border-bottom:0}.bulk-assignment-popup{width:min(100vw - 32px,720px);min-width:0;max-width:720px;max-height:calc(100vh - 32px);top:16px;left:50%;overflow:auto;transform:translate(-50%)}.bulk-assignment-popup__group{margin-top:var(--s-2)}.bulk-assignment-popup__group h5{margin:var(--s-2) 0 0;font-size:var(--fs-sm)}.bulk-template-order{border-left:4px solid var(--c-primary)}.bulk-template-list{gap:var(--s-3);margin-top:var(--s-3);display:grid}.bulk-template-product,.bulk-template-process__head,.bulk-template-operation__head,.bulk-template-worker{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.bulk-template-product{padding:var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface)}.bulk-template-process{gap:var(--s-3);padding:var(--s-4);padding-left:var(--s-4);border:1px solid var(--c-border);border-left:4px solid var(--c-success);border-radius:var(--r-sm);background:var(--c-surface);margin-left:18px;display:grid;box-shadow:inset 0 1px #ffffff8c}.bulk-template-operation-group{gap:var(--s-2);margin-left:18px;display:grid}.bulk-template-operation{gap:var(--s-2);padding:var(--s-3);padding-left:var(--s-3);border:1px solid var(--c-border);border-left:3px solid var(--c-warning);border-radius:var(--r-sm);background:var(--c-bg);display:grid}.bulk-template-workers{padding-left:var(--s-3);border-left:2px solid var(--c-border);gap:6px;margin-left:18px;display:grid}.bulk-template-workers-empty{padding-left:var(--s-3);margin-left:18px}.bulk-template-worker{padding:var(--s-2) var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface)}.bulk-template-worker__meta{gap:var(--s-2);color:var(--c-text-muted);font-size:var(--fs-sm);flex-wrap:wrap;margin-left:auto;display:flex}.bulk-reassign-modal{--bulk-reassign-order-bg:#f8fafc;--bulk-reassign-process-bg:#eef3f7;--bulk-reassign-operation-bg:#eef6ff;--bulk-reassign-process-line:#607d8b;--bulk-reassign-operation-line:#2f8ee5;--bulk-reassign-older-bg:#e6f2ff;--bulk-reassign-older-border:#5aa7f2;--bulk-reassign-older-accent:#2f8ee5;--bulk-reassign-changed-bg:#eaf2ff;--bulk-reassign-changed-border:#2563eb;--bulk-reassign-changed-text:#1d4ed8;--bulk-reassign-warn-text:#ff1f1f;--bulk-history-badge-bg:#111827;--bulk-history-badge-border:#111827;--bulk-history-badge-text:#fff;width:min(96vw,1320px);max-height:88vh;overflow:auto}[data-theme=dark] .bulk-reassign-modal{--bulk-reassign-order-bg:color-mix(in srgb, var(--c-surface) 84%, var(--c-bg));--bulk-reassign-process-bg:color-mix(in srgb, var(--c-surface-2) 72%, var(--c-surface));--bulk-reassign-operation-bg:color-mix(in srgb, var(--c-primary-bg) 52%, var(--c-surface));--bulk-reassign-process-line:var(--c-border-strong);--bulk-reassign-operation-line:#60a5fa;--bulk-reassign-older-bg:color-mix(in srgb, var(--c-primary-bg) 62%, var(--c-surface));--bulk-reassign-older-border:#60a5fa;--bulk-reassign-older-accent:#60a5fa;--bulk-reassign-changed-bg:color-mix(in srgb, var(--c-primary-bg) 70%, var(--c-surface));--bulk-reassign-changed-border:#60a5fa;--bulk-reassign-changed-text:#bfdbfe;--bulk-reassign-warn-text:#ff6b6b;--bulk-history-badge-bg:#dbeafe;--bulk-history-badge-border:#93c5fd;--bulk-history-badge-text:#0f172a}.bulk-reassign-toolbar{align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.bulk-reassign-list{gap:var(--s-4);display:grid;overflow:visible}.bulk-reassign-order,.bulk-reassign-process,.bulk-reassign-operation{min-width:0;overflow:visible}.bulk-reassign-order{gap:var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--s-3);background:var(--bulk-reassign-order-bg);display:grid}.bulk-reassign-process-list,.bulk-reassign-operation-list,.bulk-reassign-workers{gap:var(--s-3);display:grid;overflow:visible}.bulk-reassign-process-list{margin-left:0;padding-left:0}.bulk-reassign-process{gap:var(--s-3);display:grid}.bulk-reassign-operation-list{padding-left:var(--s-3);border-left:3px solid var(--bulk-reassign-operation-line);margin-left:14px}.bulk-reassign-operation{gap:var(--s-2);display:grid}.bulk-reassign-workers{padding-left:var(--s-3);border-left:2px solid var(--c-border);margin-left:14px}.bulk-reassign-group-head{justify-content:space-between;align-items:center;gap:var(--s-3);min-width:0;display:flex}.bulk-reassign-group-head .checkbox-line,.bulk-reassign-group-head .checkbox-line span{min-width:0}.bulk-reassign-group-title{align-items:center;gap:var(--s-3);flex-wrap:wrap;min-width:0;display:flex}.bulk-reassign-group-title--order{gap:2px;display:grid}.bulk-reassign-type{color:var(--c-text-muted);font-size:var(--fs-xs);text-transform:uppercase;align-items:center;margin-right:4px;font-weight:700;display:inline-flex}.bulk-reassign-group-head--order{padding-bottom:var(--s-2);border-bottom:1px solid var(--c-border)}.bulk-reassign-group-head--process{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--bulk-reassign-process-bg)}.bulk-reassign-group-head--operation{padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--bulk-reassign-operation-bg)}.bulk-reassign-card{border:1px solid var(--c-border);border-radius:var(--r-sm);padding:var(--s-3);background:var(--c-surface);overflow:visible}.bulk-reassign-card--older-history{background:var(--bulk-reassign-older-bg);border-color:var(--bulk-reassign-older-border)}.bulk-reassign-card--warn{background:var(--c-warning-bg);border-color:var(--c-warning)}.bulk-reassign-card--older-history.bulk-reassign-card--warn{background:var(--bulk-reassign-older-bg);border-color:var(--c-warning);box-shadow:inset 0 0 0 1px #ff920357, inset 4px 0 0 var(--bulk-reassign-older-accent)}.bulk-reassign-card__head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.bulk-reassign-card__foot{margin-top:var(--s-2);justify-content:flex-end;display:flex}.bulk-reassign-status{font-size:var(--fs-sm);color:var(--c-success);text-align:right;font-weight:600}.bulk-reassign-status--warn{color:var(--bulk-reassign-warn-text)}.bulk-history-candidate-badge{border:1px solid var(--bulk-history-badge-border);background:var(--bulk-history-badge-bg);color:var(--bulk-history-badge-text);font-size:var(--fs-xs);border-radius:999px;align-items:center;padding:2px 8px;font-weight:700;display:inline-flex}.bulk-reassign-grid{gap:var(--s-3);grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) minmax(220px,1fr) minmax(100px,.45fr);align-items:start;display:grid;overflow:visible}.bulk-reassign-field{border-radius:var(--r-sm);border:1px solid #0000;min-width:0;padding:4px;position:relative}.bulk-reassign-field .select2{width:100%}.bulk-reassign-field--changed{background:var(--bulk-reassign-changed-bg);border-color:var(--bulk-reassign-changed-border);box-shadow:0 0 0 2px #2563eb38}.bulk-reassign-field--changed .field-label{color:var(--bulk-reassign-changed-text);justify-content:space-between;width:100%;font-weight:700}.bulk-reassign-field--changed .input{border-color:var(--bulk-reassign-changed-border);box-shadow:inset 0 0 0 1px #2563eb38}.bulk-field-changed-badge{background:var(--bulk-reassign-changed-border);color:#fff;font-size:var(--fs-xs);border-radius:999px;flex:none;align-items:center;padding:1px 6px;font-weight:700;line-height:1.5;display:inline-flex;position:relative;top:-2px}.bulk-reassign-field--qty{min-width:100px}.bulk-reassign-field--comment{grid-column:span 2}@media (width<=720px){.plan-node--process,.plan-node--operation{margin-left:12px}.plan-rect{width:52px;min-height:42px}.bulk-reassign-modal{width:98vw}.bulk-template-product,.bulk-template-process__head,.bulk-template-operation__head,.bulk-template-worker{flex-direction:column;align-items:flex-start}.bulk-template-process,.bulk-template-operation-group{margin-left:10px}.bulk-template-process,.bulk-template-operation{padding-left:var(--s-3)}.bulk-template-workers{padding-left:var(--s-2);margin-left:10px}.bulk-template-worker__meta{margin-left:0}.bulk-reassign-card__head{flex-direction:column;align-items:flex-start}.bulk-reassign-status{text-align:left}.bulk-reassign-grid{grid-template-columns:1fr}.bulk-reassign-field--comment{grid-column:auto}}.stock-row--zero td{background:var(--c-surface-2);color:var(--c-text-subtle)}.stock-row--negative td{background:var(--c-danger-bg);color:var(--c-danger);font-weight:600}.stock-check-summary{border-radius:var(--r-sm);margin:var(--s-2) 0;font-weight:600;font-size:var(--fs-md);padding:10px 14px}.stock-check-summary--ok{background:var(--c-success-bg);color:var(--c-success);border:1px solid var(--c-success)}.stock-check-summary--bad{background:var(--c-danger-bg);color:var(--c-danger);border:1px solid var(--c-danger)}.deadline-row--overdue td{background:var(--c-danger-bg)}.deadline-row--overdue td:first-child{border-left:3px solid var(--c-danger);font-weight:700}deadline-row--urgent td{background:var(--c-warning-bg)}.deadline-row--urgent td:first-child{border-left:3px solid var(--c-warning)}.deadline-row--ok td{background:var(--c-success-bg)}.deadline-row--ok td:first-child{border-left:3px solid var(--c-success)}.deadline-row--unplanned td{background:var(--c-surface-2);color:var(--c-text-muted)}.deadline-bad{color:var(--c-danger);font-weight:700}.deadline-urgent{color:var(--c-warning);font-weight:700}.deadline-ok{color:var(--c-success);font-weight:600}.capacity-chart{border-bottom:1px solid var(--c-border);align-items:flex-end;gap:2px;height:200px;padding:16px 0 30px;display:flex;position:relative;overflow-x:auto}.capacity-axis-100{border-bottom:1px dashed var(--c-warning);height:100px;font-size:var(--fs-xxs);color:var(--c-warning);text-align:right;pointer-events:none;z-index:1;padding-right:4px;line-height:1;position:absolute;top:16px;left:0;right:0}.capacity-day{z-index:2;flex-direction:column;flex-shrink:0;align-items:center;min-width:28px;display:flex;position:relative}.capacity-day--weekend .capacity-bar-wrap{background:repeating-linear-gradient(45deg, var(--c-surface-2) 0 4px, var(--c-surface) 4px 8px)}.capacity-bar-wrap{background:var(--c-surface-2);border-radius:3px 3px 0 0;align-items:flex-end;width:22px;height:150px;display:flex;overflow:hidden}.capacity-bar{border-radius:3px 3px 0 0;width:100%;transition:height .3s}.capacity-bar--low{background:var(--c-success)}.capacity-bar--mid{background:var(--c-primary)}.capacity-bar--high{background:var(--c-warning)}.capacity-bar--over{background:var(--c-danger);animation:2s infinite capacity-pulse}@keyframes capacity-pulse{0%,to{opacity:1}50%{opacity:.75}}capacity-date{color:var(--c-text-muted);transform-origin:0 0;white-space:nowrap;width:22px;margin-top:4px;font-size:9px;transform:rotate(-50deg)}.capacity-legend{gap:var(--s-3);margin-top:var(--s-3);font-size:var(--fs-sm);color:var(--c-text-muted);flex-wrap:wrap;display:flex}.capacity-dot{vertical-align:middle;border-radius:2px;width:12px;height:12px;margin-right:4px;display:inline-block}.capacity-dot--low{background:var(--c-success)}.capacity-dot--mid{background:var(--c-primary)}.capacity-dot--high{background:var(--c-warning)}.capacity-dot--over{background:var(--c-danger)}.capacity-row--over td{background:var(--c-danger-bg)}.capacity-row--high td{background:var(--c-warning-bg)}.audit-row--active td{background:var(--c-primary-bg)}.audit-row--diff td{background:var(--c-surface-2);padding:12px}.audit-diff{border-collapse:collapse;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);width:100%}.audit-diff th,.audit-diff td{border-bottom:1px solid var(--c-border);font-size:var(--fs-sm);vertical-align:top;word-break:break-word;padding:6px 10px}.audit-diff th{background:var(--c-surface-2);text-transform:uppercase;font-weight:600;font-size:var(--fs-xs);color:var(--c-text-muted)}.audit-diff__old{background:var(--c-danger-bg);color:var(--c-danger);font-family:var(--ff-mono);font-size:var(--fs-xs)}.audit-diff__new{background:var(--c-success-bg);color:var(--c-success);font-family:var(--ff-mono);font-size:var(--fs-xs)}.audit-summary{margin-top:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--c-border)}.inline-edit{vertical-align:middle;border-radius:var(--r-sm);align-items:center;gap:2px;min-width:0;transition:background .12s,box-shadow .12s;display:inline-flex}.inline-edit--display:hover{background:var(--c-primary-bg);box-shadow:0 0 0 1px var(--c-primary) inset}.inline-edit--editing{background:var(--c-surface);box-shadow:0 0 0 2px var(--c-primary)}.inline-edit--error{background:var(--c-danger-bg);box-shadow:0 0 0 2px var(--c-danger)}.inline-edit__trigger{color:var(--c-text);cursor:text;font:inherit;text-align:left;border-radius:var(--r-sm);background:0 0;border:0;align-items:center;gap:4px;max-width:100%;padding:2px 6px;display:inline-flex;overflow:hidden}.inline-edit__trigger:hover .inline-edit__icon{opacity:1}.inline-edit__value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inline-edit__icon{opacity:0;flex-shrink:0;font-size:10px;transition:opacity .15s}.inline-edit__input{font:inherit;color:inherit;background:0 0;border:0;outline:none;width:100%;min-width:60px;padding:2px 6px}.inline-edit__input[type=number]{text-align:right;width:70px;min-width:50px}.inline-edit__suffix{color:var(--c-text-muted);font-size:var(--fs-xs);padding-right:4px}.inline-edit__spinner{color:var(--c-primary);padding:0 4px;animation:.8s linear infinite spin}.inline-edit__err-icon{color:var(--c-danger);padding:0 4px}@keyframes spin{to{transform:rotate(360deg)}}.tree-op-icon{flex-shrink:0;font-size:15px}.tree-op-body{border-radius:var(--r-sm);flex-direction:column;flex:auto;gap:2px;min-width:0;padding:4px 8px;display:flex}.tree-op-body.selected{background:var(--c-primary-bg);box-shadow:0 0 0 2px var(--c-primary)}.tree-op-row{align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.tree-op-row--instr{font-size:var(--fs-sm);color:var(--c-text-muted)}.tree-op-instr-icon{opacity:.7}.tree-op-name{flex:200px;min-width:150px;font-weight:600}.tree-op-dur,.tree-op-cpx{flex-shrink:0}.tree-op-instr{flex:1;min-width:200px}.tree-edit-full{border:1px solid var(--c-border-strong);background:var(--c-surface);width:26px;height:26px;color:var(--c-text-muted);border-radius:var(--r-sm);cursor:pointer;flex-shrink:0;font-size:13px}.tree-edit-full:hover{background:var(--c-primary-bg);color:var(--c-primary);border-color:var(--c-primary)}.tree-ready-badge{font-weight:600;font-size:var(--fs-xs);cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;display:inline-flex}.tree-ready-badge--ok{background:var(--c-success-bg);color:var(--c-success);border-color:var(--c-success)}.tree-ready-badge--warn{background:var(--c-warning-bg);color:var(--c-warning);border-color:var(--c-warning)}.tree-ready-badge--bad{background:var(--c-danger-bg);color:var(--c-danger);border-color:var(--c-danger);animation:2s infinite badge-pulse}@keyframes badge-pulse{0%,to{opacity:1}50%{opacity:.65}}.readiness-summary{border-radius:var(--r-sm);margin-bottom:var(--s-3);padding:10px 14px;font-weight:600}.readiness-summary--ok{background:var(--c-success-bg);color:var(--c-success);border:1px solid var(--c-success)}.readiness-summary--bad{background:var(--c-danger-bg);color:var(--c-danger);border:1px solid var(--c-danger)}.readiness-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.readiness-item{gap:var(--s-2);border-radius:var(--r-sm);border-left:4px solid var(--c-border-strong);background:var(--c-surface-2);padding:10px 12px;display:flex}.readiness-item--ok{border-left-color:var(--c-success)}.readiness-item--warning{border-left-color:var(--c-warning);background:var(--c-warning-bg)}.readiness-item--error{border-left-color:var(--c-danger);background:var(--c-danger-bg)}.readiness-item--info{border-left-color:var(--c-primary)}.readiness-icon{text-align:center;flex-shrink:0;width:24px;font-size:18px;font-weight:700}.readiness-item--ok .readiness-icon{color:var(--c-success)}.readiness-item--warning .readiness-icon{color:var(--c-warning)}.readiness-item--error .readiness-icon{color:var(--c-danger)}.readiness-item--info .readiness-icon{color:var(--c-primary)}.readiness-body{flex:1;min-width:0}.readiness-fixes{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.op-library__layout{gap:var(--s-3);margin-top:var(--s-3);grid-template-columns:280px 1fr;display:grid}@media (width<=900px){.op-library__layout{grid-template-columns:1fr}}.op-top__header{justify-content:space-between;align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.op-top__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.op-cat-tree{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--s-3);height:fit-content;top:var(--s-3);max-height:80vh;position:sticky;overflow:auto}.op-cat-tree__header{margin-bottom:var(--s-2);padding-bottom:var(--s-2);border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;display:flex}.cat-tree{margin:0;padding:0;list-style:none}.cat-tree--nested{padding-left:18px}.cat-row{border-radius:var(--r-sm);align-items:center;gap:4px;padding:4px 6px;transition:background .12s;display:flex}.cat-row:hover{background:var(--c-surface-2)}.cat-row.selected{background:var(--c-primary-bg);box-shadow:0 0 0 1px var(--c-primary) inset}.cat-toggle,.cat-toggle-spacer{width:16px;height:16px;color:var(--c-text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:8px;display:inline-flex}.cat-toggle{cursor:pointer;background:0 0;border:0;border-radius:2px}.cat-toggle:hover{background:var(--c-primary-bg);color:var(--c-primary)}.cat-name{text-align:left;min-width:0;color:var(--c-text);cursor:pointer;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;align-items:center;gap:4px;padding:2px 4px;display:flex;overflow:hidden}.cat-icon{flex-shrink:0;font-size:13px}.cat-count{font-size:var(--fs-xxs);background:var(--c-surface-2);color:var(--c-text-muted);border-radius:999px;margin-left:auto;padding:0 6px;font-weight:600}.cat-row.selected .cat-count{background:var(--c-primary);color:#fff}.cat-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex}.cat-row:hover .cat-actions{opacity:1}.cat-actions button{width:22px;height:22px;color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:0;font-size:11px}.cat-actions button:hover{background:var(--c-surface-2);color:var(--c-primary)}.op-grid-wrap{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--s-3)}.op-toolbar{gap:var(--s-2);margin-bottom:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.op-toolbar .input{flex:1;min-width:200px}.op-filters{gap:var(--s-2);padding:var(--s-2);background:var(--c-surface-2);border-radius:var(--r-sm);margin-bottom:var(--s-2);flex-wrap:wrap;align-items:end;display:flex}.op-filters label{font-size:var(--fs-xs);color:var(--c-text-muted);flex-direction:column;gap:2px;display:flex}.op-filters .input{width:90px}.op-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.op-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);flex-direction:column;gap:4px;padding:10px 12px;transition:border-color .12s,box-shadow .12s;display:flex}.op-card:hover{border-color:var(--c-primary);box-shadow:var(--sh-sm)}.op-card--compact{gap:2px;padding:8px 10px}.op-card__top{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.op-card__name{font-size:var(--fs-base)}.op-card__code,.op-card__cat{font-size:var(--fs-xs)}.op-card__stats{font-size:var(--fs-xs);color:var(--c-text-muted);flex-wrap:wrap;gap:8px;display:flex}.op-card__usage{background:var(--c-primary-bg);color:var(--c-primary);font-size:var(--fs-xs);cursor:pointer;border:0;border-radius:999px;padding:0 8px;font-weight:600}.op-card__usage:hover{background:var(--c-primary);color:#fff}.op-card__desc{font-size:var(--fs-xs);line-clamp:2;-webkit-box-orient:vertical;max-height:38px;line-height:1.3;display:-webkit-box;overflow:hidden}.op-card__actions{gap:4px;margin-top:4px;display:flex}.op-card__actions .btn{flex:1}li.tree-li--drag-src{opacity:.4}li.tree-li--drag-over-before{border-top:3px solid var(--c-primary);margin-top:-3px}li.tree-li--drag-over-after{border-bottom:3px solid var(--c-primary);margin-bottom:-3px}li[draggable=true] .tree-op-icon{cursor:grab}li[draggable=true]:active .tree-op-icon{cursor:grabbing}.tree-list li{transition:margin .15s,border-color .15s}.qc-usage{margin:var(--s-3) 0;padding:var(--s-3);background:var(--c-warning-bg);border:1px solid var(--c-warning);border-radius:var(--r-sm)}.qc-usage h4{margin:var(--s-2) 0 var(--s-1);font-size:var(--fs-sm)}.qc-list{font-size:var(--fs-sm);margin:0;padding:0;list-style:none}.qc-list li{border-bottom:1px dashed var(--c-border);padding:4px 0}.qc-list li:last-child{border-bottom:0}.qc-actions{gap:var(--s-2);margin-top:var(--s-3);flex-direction:column;display:flex}.bulk-action-row{gap:var(--s-2);margin-bottom:var(--s-2);grid-template-columns:1fr 1fr 2fr 32px;align-items:center;display:grid}@media (width<=720px){.bulk-action-row{grid-template-columns:1fr}}.bulk-row--locked td{opacity:.5;background:var(--c-warning-bg)}tr.row-selected td{background:var(--c-primary-bg)}tr.row-selected td:first-child{border-left:3px solid var(--c-primary)}.audit-diff__old,.audit-diff__new{font-family:var(--ff-mono);font-size:var(--fs-xs);word-break:break-word;border-radius:3px;max-width:280px;padding:4px 8px}.audit-diff__old{background:var(--c-danger-bg);color:var(--c-danger)}.audit-diff__new{background:var(--c-success-bg);color:var(--c-success)}.sim-summary{gap:var(--s-2);padding:var(--s-3);background:var(--c-surface-2);border-radius:var(--r-md);margin-bottom:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.sim-summary>div{text-align:center;padding:var(--s-2);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);flex-direction:column;gap:4px;display:flex}.sim-summary strong{font-size:var(--fs-lg)}tr.sim-row--overridden td{background:var(--c-primary-bg);box-shadow:inset 3px 0 0 var(--c-primary)}.savings-good{color:var(--c-success);font-weight:600}.savings-bad{color:var(--c-danger);font-weight:600}.op-analytics{margin-top:var(--s-4);padding:var(--s-3);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-md)}.op-analytics__header{margin-bottom:var(--s-2);justify-content:space-between;align-items:center;gap:var(--s-2);display:flex}.op-analytics__status{border-radius:var(--r-sm);margin:var(--s-2) 0;font-weight:600;font-size:var(--fs-sm);padding:8px 12px}.analytics-stats{margin:var(--s-2) 0;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;display:grid}.analytics-stats>div{background:var(--c-surface);border-radius:var(--r-sm);border:1px solid var(--c-border);flex-direction:column;gap:2px;padding:6px 10px;display:flex}.analytics-stats strong{font-size:var(--fs-base)}.analytics-chart{height:80px;margin:var(--s-2) 0;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);align-items:flex-end;gap:2px;padding:4px;display:flex;overflow-x:auto}.analytics-day{flex:8px;align-items:flex-end;min-width:6px;height:100%;display:flex}.analytics-bar{border-radius:2px 2px 0 0;width:100%;transition:height .25s}.analytics-bar--low{background:var(--c-success)}.analytics-bar--mid{background:var(--c-primary)}.analytics-bar--high{background:var(--c-danger)}.bottleneck-list{gap:var(--s-2);margin-top:var(--s-2);flex-direction:column;display:flex}.bottleneck-row{background:var(--c-surface);border:1px solid var(--c-border);border-left:4px solid var(--c-border-strong);border-radius:var(--r-sm);padding:10px 12px;transition:transform .12s,box-shadow .12s}.bottleneck-row:hover{box-shadow:var(--sh-sm);transform:translate(2px)}.bottleneck-row--no-data{border-left-color:var(--c-border-strong);opacity:.7}.bottleneck-row--low{border-left-color:var(--c-success)}.bottleneck-row--normal{border-left-color:var(--c-primary)}.bottleneck-row--high{border-left-color:var(--c-warning);background:var(--c-warning-bg)}.bottleneck-row--over{border-left-color:var(--c-danger);background:var(--c-danger-bg)}.bottleneck-row__title{align-items:center;gap:var(--s-2);flex-wrap:wrap;margin-bottom:6px;display:flex}.bottleneck-marker{cursor:help;font-size:16px}.bottleneck-row__bars{flex-direction:column;gap:3px;margin:6px 0;display:flex}.bottleneck-bar{height:18px;font-size:var(--fs-xxs);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:3px;min-width:30px;padding:0 6px;font-weight:600;line-height:18px;transition:width .25s;overflow:hidden}.bottleneck-bar--plan{background:var(--c-border-strong);color:var(--c-text)}.bottleneck-bar--fact.bottleneck-bar--low{background:var(--c-success)}.bottleneck-bar--fact.bottleneck-bar--normal{background:var(--c-primary)}.bottleneck-bar--fact.bottleneck-bar--high{background:var(--c-warning)}.bottleneck-bar--fact.bottleneck-bar--over{background:var(--c-danger)}.bottleneck-bar--fact.bottleneck-bar--no-data{background:var(--c-surface-2);color:var(--c-text-muted);font-style:italic}.bottleneck-row__stats{font-size:var(--fs-sm);gap:var(--s-2);flex-wrap:wrap;display:flex}tr.process-row--attention td{background:var(--c-warning-bg)}tr.process-row--attention td:first-child{border-left:3px solid var(--c-warning)}.attention-flag{cursor:help;margin-right:4px;font-size:16px}.media-editor{margin-top:var(--s-4);padding:var(--s-3);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-md)}.operation-instruction-text{margin-top:0;margin-bottom:var(--s-3)}.operation-instruction-text textarea{resize:vertical;min-height:120px}.operation-instruction-media{margin-top:var(--s-4);padding-top:var(--s-4);border-top:1px solid var(--c-border-strong)}.operation-instruction-media .media-editor{margin-top:0}.checkbox-row{align-items:center;gap:var(--s-2);color:var(--c-text);display:flex}.checkbox-row input{width:16px;height:16px}.op-instruction-text>div:last-child{white-space:pre-wrap}.media-grid{gap:var(--s-2);margin-bottom:var(--s-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.media-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);flex-direction:column;display:flex;overflow:hidden}.media-card__preview{aspect-ratio:4/3;background:var(--c-bg);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.media-card__preview img,.media-card__preview video{-o-object-fit:cover;object-fit:cover;cursor:pointer;width:100%;height:100%}.media-card__doc{color:var(--c-text);padding:var(--s-3);text-align:center;font-size:var(--fs-xs);flex-direction:column;align-items:center;gap:4px;text-decoration:none;display:flex}.media-card__doc span{word-break:break-word;line-height:1.2}.media-card__meta{border-top:1px solid var(--c-border);flex-direction:column;gap:4px;padding:6px 8px;display:flex}.media-card__caption{font-size:var(--fs-xs);color:var(--c-text);cursor:text;word-break:break-word;min-height:18px}.media-card__caption:hover{background:var(--c-primary-bg)}.media-card__actions{justify-content:flex-end;gap:2px;display:flex}.media-card__actions button{width:22px;height:22px;color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;border-radius:3px;font-size:12px}.media-card__actions button:hover:not(:disabled){background:var(--c-surface-2);color:var(--c-text)}.media-card__actions button:disabled{opacity:.4;cursor:not-allowed}.media-dropzone{justify-content:center;align-items:center;gap:var(--s-3);padding:var(--s-4);border:2px dashed var(--c-border-strong);border-radius:var(--r-md);color:var(--c-text-muted);cursor:pointer;text-align:center;min-height:80px;transition:all .15s;display:flex}.media-dropzone:hover,.media-dropzone--active{border-color:var(--c-primary);background:var(--c-primary-bg);color:var(--c-primary)}.media-dropzone__icon{font-size:28px}.media-carousel{z-index:200;padding:var(--s-3);background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.media-carousel__content{align-items:center;gap:var(--s-2);width:100%;max-width:1200px;max-height:90vh;display:flex;position:relative}.media-carousel__close{color:#fff;cursor:pointer;z-index:2;background:#fff3;border:0;border-radius:50%;width:36px;height:36px;font-size:22px;position:absolute;top:-8px;right:0}.media-carousel__close:hover{background:#fff6}.media-carousel__nav{color:#fff;cursor:pointer;background:#ffffff26;border:0;border-radius:50%;flex-shrink:0;width:48px;height:48px;font-size:28px}.media-carousel__nav:hover:not(:disabled){background:#ffffff59}.media-carousel__nav:disabled{opacity:.3;cursor:not-allowed}.media-carousel__viewer{align-items:center;gap:var(--s-2);flex-direction:column;flex:1;max-height:85vh;display:flex}.media-carousel__viewer img,.media-carousel__viewer video{-o-object-fit:contain;object-fit:contain;border-radius:var(--r-sm);background:#000;max-width:100%;max-height:75vh}.media-carousel__doc{background:var(--c-surface);border-radius:var(--r-md);color:var(--c-text);font-size:var(--fs-lg);text-align:center;padding:40px;text-decoration:none}.media-carousel__caption{color:#fff;border-radius:var(--r-sm);text-align:center;max-width:800px;font-size:var(--fs-md);background:#00000080;padding:8px 16px}.media-carousel__counter{color:#fff9;font-size:var(--fs-sm);font-family:var(--ff-mono)}.notes-list{gap:var(--s-2);flex-direction:column;max-height:60vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.note{padding:var(--s-3);background:var(--c-warning-bg);border:1px solid var(--c-warning);border-left:4px solid var(--c-warning);border-radius:var(--r-sm)}.note--resolved{background:var(--c-surface-2);border-color:var(--c-border);border-left-color:var(--c-success);opacity:.7}.note__header{font-size:var(--fs-xs);margin-bottom:var(--s-1);flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.note__body{font-size:var(--fs-base);white-space:pre-wrap;word-break:break-word;line-height:1.5}.note__resolved{color:var(--c-success);margin-left:auto;font-weight:600}.note__resolution{margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px dashed var(--c-border);font-size:var(--fs-sm);font-style:italic}.note__actions{gap:var(--s-2);margin-top:var(--s-2);justify-content:flex-end;display:flex}.diff-summary{gap:var(--s-2);margin:var(--s-2) 0;flex-wrap:wrap;display:flex}.diff-badge{font-size:var(--fs-sm);border-radius:999px;padding:4px 10px;font-weight:600}.diff-badge--added{background:var(--c-success-bg);color:var(--c-success);border:1px solid var(--c-success)}.diff-badge--removed{background:var(--c-danger-bg);color:var(--c-danger);border:1px solid var(--c-danger)}.diff-badge--changed{background:var(--c-warning-bg);color:var(--c-warning);border:1px solid var(--c-warning)}.diff-badge--same{background:var(--c-surface-2);color:var(--c-text-muted)}.diff-list{gap:var(--s-2);max-height:60vh;margin-top:var(--s-2);flex-direction:column;display:flex;overflow-y:auto}.diff-row{gap:var(--s-2);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);border-left:4px solid var(--c-border-strong);align-items:flex-start;padding:10px 12px;display:flex}.diff-row--added{border-left-color:var(--c-success);background:var(--c-success-bg)}.diff-row--removed{border-left-color:var(--c-danger);background:var(--c-danger-bg)}.diff-row--changed{border-left-color:var(--c-warning);background:var(--c-warning-bg)}.diff-icon{font-family:var(--ff-mono);font-size:var(--fs-md);text-align:center;flex-shrink:0;width:20px;font-weight:700}.diff-row--added .diff-icon{color:var(--c-success)}.diff-row--removed .diff-icon{color:var(--c-danger)}.diff-row--changed .diff-icon{color:var(--c-warning)}.diff-changes{border-collapse:collapse;font-size:var(--fs-sm);margin-top:6px}.diff-changes td{border:0;padding:2px 8px}.template-replacements{gap:var(--s-2);padding:var(--s-3);background:var(--c-surface-2);border-radius:var(--r-md);flex-direction:column;max-height:40vh;display:flex;overflow-y:auto}.template-replacement-row{gap:var(--s-2);grid-template-columns:1fr 20px 1fr;align-items:center;display:grid}.template-replacement-from{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-sm);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;padding:6px 10px;overflow:hidden}.template-replacement-to{min-width:0}.top-workers{margin-top:var(--s-4);padding:var(--s-3);background:var(--c-surface-2);border:1px solid var(--c-border);border-radius:var(--r-md)}.top-workers__table{width:100%;margin-top:var(--s-2)}.top-workers__leader td{background:var(--c-warning-bg);font-weight:600}.report-audience-badge{font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;padding:2px 8px;font-weight:600;display:inline-block}.bg-execs-card{background:var(--c-warning-bg);border-color:var(--c-warning)}.bg-exec-row{border-bottom:1px dashed var(--c-border);font-size:var(--fs-sm);align-items:center;gap:8px;padding:4px 0;display:flex}.bg-exec-row:last-of-type{border-bottom:0}.bg-exec-row .op-timer{font-family:var(--ff-mono);font-size:var(--fs-sm);white-space:nowrap;margin-left:auto}.tnode-badge[title*=паралельна]{background:var(--c-warning-bg);color:var(--c-warning)}.info-tip{cursor:help;outline:none;margin-left:8px;display:inline-flex;position:relative}.info-tip__icon{background:var(--c-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-family:Georgia,serif;font-size:12px;font-style:italic;font-weight:700;line-height:1;display:inline-flex}.info-tip__bubble{z-index:50;background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--r-md);width:420px;max-width:80vw;box-shadow:var(--sh-md);font-size:var(--fs-sm);color:var(--c-text);opacity:0;pointer-events:none;padding:12px 14px;font-weight:400;line-height:1.5;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:0}.info-tip:hover .info-tip__bubble,.info-tip:focus-within .info-tip__bubble{opacity:1;pointer-events:auto}.info-tip__bubble code{background:var(--c-surface-2);font-size:var(--fs-xs);border-radius:3px;padding:1px 4px}.item-history-tree{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface);padding:var(--s-3)}.item-history-node{margin:var(--s-4) 0;padding-left:var(--s-4);position:relative}.item-history-node--level-0{margin-top:0;padding-left:0}.item-history-node__head{align-items:center;gap:var(--s-2);min-width:0;padding:var(--s-2);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface-2);display:flex}.item-history-node--level-0>.item-history-node__head{background:var(--c-primary-bg);border-color:var(--c-primary)}.item-history-node--selected>.item-history-node__head{border:2px solid var(--c-warning);background:color-mix(in srgb, var(--c-warning) 18%, var(--c-surface));box-shadow:0 0 0 2px color-mix(in srgb, var(--c-warning) 25%, transparent);scroll-margin-top:90px}.item-history-node__match{border-radius:var(--r-sm);background:var(--c-warning);color:#171717;font-size:var(--fs-xs);align-self:flex-start;padding:2px 6px;font-weight:700}.item-history-node__icon{font-size:18px;line-height:1}.item-history-node__title{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.item-history-node__title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-history-node__title .muted{font-family:var(--ff-mono);font-size:var(--fs-xs)}.item-history-node__body{padding:var(--s-3) 0 0 var(--s-4)}.item-history-relation{min-height:22px;padding:2px var(--s-2);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface-2);color:var(--c-text-muted);font-size:var(--fs-xs);margin:0 0 var(--s-1) var(--s-4);align-items:center;font-weight:600;display:inline-flex}.item-history-relation--transformed_from{border-color:var(--c-primary);color:var(--c-primary)}.item-history-relation--assembled_from{border-color:var(--c-warning)}.item-history-facts{gap:var(--s-2);margin-bottom:var(--s-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.item-history-facts>div,.item-history-execution__details>div{flex-direction:column;gap:2px;min-width:0;display:flex}.item-history-facts span,.item-history-execution__details span{color:var(--c-text-muted);font-size:var(--fs-xs)}.item-history-facts strong,.item-history-execution__details strong{font-size:var(--fs-sm);overflow-wrap:anywhere}.item-history-operations>h5{align-items:baseline;gap:var(--s-1) var(--s-2);margin:0 0 var(--s-2);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.item-history-operations>h5>span{color:var(--c-text-muted);font-size:var(--fs-xs);font-weight:400}.item-history-execution{margin:var(--s-1) 0;border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface)}.item-history-execution>summary{gap:var(--s-2);cursor:pointer;padding:var(--s-2);font-size:var(--fs-sm);grid-template-columns:minmax(190px,1.4fr) minmax(130px,1fr) minmax(150px,1fr) auto auto;align-items:center;list-style:none;display:grid}.item-history-execution>summary::-webkit-details-marker{display:none}.item-history-execution__operation{font-weight:600}.item-history-execution__detail-toggle{color:var(--c-primary);font-size:var(--fs-xs);white-space:nowrap;align-items:center;gap:4px;font-weight:600;display:inline-flex}.item-history-execution__detail-toggle:before{content:"";border-bottom:2px solid;border-right:2px solid;width:6px;height:6px;transition:transform .15s;transform:rotate(-45deg)}.item-history-execution[open] .item-history-execution__detail-toggle:before{margin-top:-3px;transform:rotate(45deg)}.item-history-execution__details{gap:var(--s-2);padding:0 var(--s-2) var(--s-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.item-history-execution__wide{grid-column:1/-1}.item-history-inputs{margin:0 var(--s-2) var(--s-2);padding:var(--s-2);border-radius:var(--r-sm);background:var(--c-surface-2);font-size:var(--fs-sm)}.item-history-inputs ul{margin:var(--s-1) 0 0;padding-left:var(--s-4)}.item-history-inputs li{gap:4px var(--s-2);flex-wrap:wrap;margin:3px 0;display:flex}.item-history-match{color:var(--c-primary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:600}.item-history-match:hover,.item-history-match.active{text-decoration:underline}.item-history-warning{color:var(--c-warning)}.item-history-children{--item-history-branch-y:50px;--item-history-spine-offset:var(--s-2);margin:0 0 0 var(--s-4);padding-left:var(--s-4);display:flow-root;position:relative}.item-history-children:before{content:"";top:0;bottom:0;left:var(--item-history-spine-offset);border-left:2px solid var(--c-border);pointer-events:none;position:absolute}.item-history-children>.item-history-node:before{content:"";z-index:1;top:var(--item-history-branch-y);left:calc(var(--item-history-spine-offset) - var(--s-4));width:calc(var(--s-4) + var(--s-4) - var(--item-history-spine-offset));border-top:2px solid var(--c-border);pointer-events:none;position:absolute}.item-history-children>.item-history-node:last-child:after{content:"";z-index:1;top:calc(var(--item-history-branch-y) + 2px);bottom:calc(-1 * var(--s-4));left:calc(var(--item-history-spine-offset) - var(--s-4));background:var(--c-surface);pointer-events:none;width:2px;position:absolute}.item-history-reference{margin:var(--s-2) 0 var(--s-2) var(--s-3);padding:var(--s-2);border:1px dashed var(--c-border-strong);border-radius:var(--r-sm);color:var(--c-text-muted);font-size:var(--fs-sm)}@media (width<=760px){.item-history-node,.item-history-node__body{padding-left:var(--s-2)}.item-history-children{--item-history-spine-offset:var(--s-1);margin-left:var(--s-2);padding-left:var(--s-2)}.item-history-execution>summary{grid-template-columns:1fr;gap:3px}.item-history-execution__details{grid-template-columns:1fr}}.production-bottlenecks-panel{max-width:1600px}.bottleneck-filters{gap:var(--s-3);grid-template-columns:repeat(7,minmax(120px,1fr));align-items:end;display:grid}.bottleneck-filters label{min-width:0}.bottleneck-filters .input{width:100%}.bottleneck-hero{gap:var(--s-3);margin:var(--s-4) 0;grid-template-columns:repeat(4,minmax(170px,1fr));display:grid}.bottleneck-kpi{min-height:122px;padding:var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-lg);background:linear-gradient(145deg, var(--c-surface), var(--c-surface-muted));box-shadow:var(--sh-sm);position:relative;overflow:hidden}.bottleneck-kpi:after{content:"";background:color-mix(in srgb, var(--c-primary) 13%, transparent);border-radius:50%;width:88px;height:88px;position:absolute;inset:auto -18px -24px auto}.bottleneck-kpi--primary{border-color:color-mix(in srgb, var(--c-primary) 55%, var(--c-border))}.bottleneck-kpi span,.bottleneck-kpi small{color:var(--c-text-muted);font-size:var(--fs-sm);display:block}.bottleneck-kpi strong{margin:var(--s-2) 0;font-size:clamp(1.35rem,2.5vw,2rem);line-height:1.1;display:block}.bottleneck-callouts{gap:var(--s-3);margin-bottom:var(--s-4);grid-template-columns:repeat(2,minmax(220px,1fr));display:grid}.bottleneck-callout{padding:var(--s-3) var(--s-4);border-left:4px solid var(--c-warning);border-radius:var(--r-md);background:var(--c-warning-bg);gap:3px;display:grid}.bottleneck-callout span,.bottleneck-callout small{color:var(--c-text-muted);font-size:var(--fs-sm)}.bottleneck-section{margin:var(--s-5) 0}.bottleneck-section h4{margin:0 0 var(--s-3)}.bottleneck-section-heading{justify-content:space-between;gap:var(--s-3);margin-bottom:var(--s-3);align-items:flex-start;display:flex}.bottleneck-section-heading h4,.bottleneck-section-heading p{margin:0}.bottleneck-chart-card{min-width:0;padding:var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:var(--sh-sm)}.bottleneck-chart-card header{justify-content:space-between;gap:var(--s-3);align-items:flex-start;display:flex}.bottleneck-chart-card header>strong{color:var(--c-primary);font-size:var(--fs-lg)}.bottleneck-chart{width:100%;height:230px;margin-top:var(--s-2);display:block;overflow:visible}.bottleneck-chart-axis{stroke:var(--c-border-strong);stroke-width:1px}.bottleneck-chart-label{fill:var(--c-text-muted);font-size:11px}.bottleneck-chart-empty{text-align:center;min-height:180px;color:var(--c-text-muted);place-items:center;display:grid}.bottleneck-component-picker{gap:var(--s-2);padding:var(--s-3);margin-bottom:var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface-muted);flex-wrap:wrap;display:flex}.bottleneck-component-picker label{gap:0 var(--s-2);padding:var(--s-2) var(--s-3);border:1px solid var(--c-border);border-radius:var(--r-sm);background:var(--c-surface);cursor:pointer;grid-template-columns:auto auto;align-items:center;display:grid}.bottleneck-component-picker label.active{border-color:var(--c-primary);box-shadow:inset 0 0 0 1px var(--c-primary)}.bottleneck-component-picker input{grid-row:span 2}.bottleneck-component-picker small{color:var(--c-text-muted);font-size:var(--fs-xs)}.bottleneck-component-grid{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(360px,1fr));display:grid}.bottleneck-status{font-size:var(--fs-xs);border-radius:999px;padding:3px 8px;font-weight:700;display:inline-block}.bottleneck-status--on_track{color:var(--c-success);background:var(--c-success-bg)}.bottleneck-status--at_risk{color:var(--c-warning);background:var(--c-warning-bg)}.bottleneck-status--overdue{color:var(--c-danger);background:var(--c-danger-bg)}.bottleneck-signals{gap:var(--s-3);grid-template-columns:repeat(4,minmax(180px,1fr));display:grid}.bottleneck-signals article{gap:var(--s-1);min-height:118px;padding:var(--s-4);border:1px solid var(--c-border);border-radius:var(--r-lg);background:var(--c-surface);display:grid}.bottleneck-signals article span,.bottleneck-signals article small{color:var(--c-text-muted)}.bottleneck-signals article strong{font-size:var(--fs-xl)}.bottleneck-signals article.ok{border-left:4px solid var(--c-success)}.bottleneck-signals article.warning{border-left:4px solid var(--c-warning);background:var(--c-warning-bg)}.bottleneck-signals article.danger{border-left:4px solid var(--c-danger);background:var(--c-danger-bg)}@media (width<=1180px){.bottleneck-filters{grid-template-columns:repeat(4,minmax(140px,1fr))}.bottleneck-hero,.bottleneck-signals{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media (width<=700px){.bottleneck-filters,.bottleneck-hero,.bottleneck-callouts,.bottleneck-signals,.bottleneck-component-grid{grid-template-columns:1fr}.bottleneck-section-heading{display:grid}.bottleneck-chart-card{padding:var(--s-3)}.bottleneck-chart{height:190px}}.diagram-workspace{gap:var(--s-3);grid-template-columns:220px 1fr;align-items:stretch;display:grid}.diagram-workspace:has(.diagram-inspector){grid-template-columns:220px 1fr 300px}.diagram-canvas{border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-surface-2);height:min(78vh,800px);min-height:480px;position:relative;overflow:hidden}.diagram-canvas .react-flow__attribution{display:none}.diagram-palette,.diagram-inspector{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);padding:var(--s-3);max-height:min(78vh,800px);overflow-y:auto}.diagram-palette h4,.diagram-inspector-header h4{margin:0 0 var(--s-2);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:.03em;color:var(--c-text-muted)}.diagram-palette h4:not(:first-child){margin-top:var(--s-4)}.diagram-palette-hint{margin-top:var(--s-3);font-size:var(--fs-xs)}.diagram-catalog-list{gap:var(--s-1);flex-direction:column;display:flex}.diagram-catalog-chip{border:1px solid var(--c-border-strong);border-radius:var(--r-sm);background:var(--c-surface-2);font-size:var(--fs-sm);cursor:grab;-webkit-user-select:none;user-select:none;padding:6px 8px}.diagram-catalog-chip:active{cursor:grabbing}.diagram-catalog-chip-code{color:var(--c-text-muted);font-family:var(--ff-mono);font-size:var(--fs-xs)}.diagram-inspector-header{margin-bottom:var(--s-2);justify-content:space-between;align-items:center;display:flex}.diagram-inspector-hint{background:var(--c-surface-2);border:1px solid var(--c-border-strong);color:var(--c-text-muted);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);margin-bottom:var(--s-3);font-size:var(--fs-sm)}.diagram-card{width:220px;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);border:2px solid var(--c-border-strong);background:var(--c-surface);box-shadow:var(--sh-sm,0 1px 2px #00000014);font-size:var(--fs-sm);position:relative}.diagram-card--selected{border-color:var(--c-primary);box-shadow:0 0 0 2px var(--c-primary-bg)}.diagram-card-title{align-items:center;gap:4px;font-weight:600;display:flex}.diagram-card-sub{color:var(--c-text-muted);font-size:var(--fs-xs);margin-top:2px}.diagram-card-body{cursor:pointer}.diagram-badge{font-size:var(--fs-xs);margin-left:4px}.diagram-card-add{margin-top:var(--s-2);border:1px dashed var(--c-border-strong);border-radius:var(--r-sm);width:100%;color:var(--c-primary);font-size:var(--fs-xs);cursor:pointer;background:0 0;padding:4px 6px}.diagram-card-add:hover{background:var(--c-primary-bg)}.diagram-card-del{background:var(--c-danger-bg);width:18px;height:18px;color:var(--c-danger);cursor:pointer;border:0;border-radius:50%;font-size:11px;line-height:1;position:absolute;top:4px;right:4px}.diagram-qty-input{width:40px;height:18px;font-size:var(--fs-xs);color:var(--c-text);border-radius:var(--r-sm);box-sizing:border-box;text-align:center;-moz-appearance:textfield;background:0 0;border:1px solid #0000;flex:none;padding:0 2px;font-family:inherit;font-weight:600}.diagram-qty-input:hover,.diagram-qty-input:focus{background:var(--c-surface);border-color:var(--c-border-strong)}.diagram-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.diagram-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.diagram-card--item{padding:0}.diagram-card-inner{border-radius:inherit;overflow:hidden}.diagram-card--cycle{border-color:var(--c-danger)}.diagram-card-header{box-sizing:border-box;position:relative}.diagram-card-corner-controls{z-index:2;gap:2px;display:flex;position:absolute;top:-7px;right:14px}.diagram-card-corner-btn{background:var(--c-surface-2);width:16px;height:16px;color:var(--c-text-muted);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:10px;line-height:1;display:flex}.diagram-card-delete-btn{border:1px solid var(--c-surface);background:var(--c-danger-bg);width:16px;height:16px;color:var(--c-danger);cursor:pointer;opacity:0;z-index:2;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:10px;line-height:1;transition:opacity .12s;display:flex;position:absolute;top:-7px;right:-7px}.diagram-card:hover .diagram-card-delete-btn{opacity:1}.diagram-card-corner-btn--original{background:var(--c-success-bg);color:var(--c-success)}.diagram-card-grid-row{box-sizing:border-box;background:var(--c-surface);border-bottom:1px solid var(--c-border-strong);align-items:stretch;display:flex}.diagram-card-grid-row--name{font-weight:600;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 6px;overflow:hidden}.diagram-cell{border-right:1px solid var(--c-border-strong);font-size:var(--fs-xs);box-sizing:border-box;justify-content:center;align-items:center;padding:0 2px;display:flex;overflow:hidden}.diagram-cell:last-child{border-right:0}.diagram-cell--icon{border-right:0;flex:none;width:20px;font-weight:700}.diagram-cell--icon-yes{background:var(--c-success);color:#fff}.diagram-cell--icon-no{background:var(--c-danger);color:#fff}.diagram-cell--code{min-width:0;font-family:var(--ff-mono);text-overflow:ellipsis;white-space:nowrap;flex:0 70px;justify-content:flex-start;padding-left:4px}.diagram-cell--spec{min-width:0;color:var(--c-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:100px;font-size:10px;overflow:hidden}.diagram-cell--qty{flex:none;width:32px;font-weight:600}.diagram-cell--qty-product{background:var(--c-surface-2);color:var(--c-text-muted);font-weight:500}.diagram-process-block{border-top:2px solid var(--c-border-strong)}.diagram-process-block-header{box-sizing:border-box;background:var(--c-surface-2);border-bottom:1px solid var(--c-border-strong);font-size:var(--fs-xs);cursor:pointer;align-items:center;gap:4px;padding:0 6px;font-weight:600;display:flex}.diagram-process-block-header--selected{box-shadow:inset 0 0 0 1px var(--c-primary)}.diagram-process-block-star{flex:none}.diagram-process-block-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.diagram-process-block-version{color:var(--c-text-muted);flex:none;font-weight:400}.diagram-process-block-count{border-radius:var(--r-sm);background:var(--c-primary-bg);color:var(--c-primary);flex:none;padding:0 4px;font-weight:600}.diagram-card-stack{box-sizing:border-box;position:relative}.diagram-stack-tile{box-sizing:border-box;border:1px solid var(--c-border-strong);border-radius:var(--r-sm);background:var(--c-surface-2);cursor:pointer;font-size:var(--fs-xs);color:var(--c-text-muted);align-items:center;gap:4px;margin-top:-1px;padding:0 6px;font-weight:600;display:flex}.diagram-stack-tile:hover{border-color:var(--c-primary);color:var(--c-primary);position:relative}.diagram-stack-tile--active{cursor:default;background:var(--c-primary-bg);border-color:var(--c-primary);color:var(--c-primary)}.diagram-stack-tile--expanded{cursor:default;border:2px solid var(--c-primary);background:var(--c-surface);box-shadow:var(--sh-sm,0 1px 2px #00000014);color:inherit;padding:0;font-weight:400;display:block;position:relative}.diagram-stack-tile--expanded:hover{color:inherit}.diagram-stack-tile--expanded>.diagram-process-block{border-top:0}.diagram-legend{margin-bottom:var(--s-3);padding:var(--s-3);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--r-md);font-size:var(--fs-xs)}.diagram-legend-header{justify-content:space-between;align-items:center;display:flex}.diagram-legend-header h4{font-size:var(--fs-sm);margin:0}.diagram-legend-close{color:var(--c-text-muted);cursor:pointer;background:0 0;border:none}.diagram-legend-grid{gap:var(--s-2) var(--s-4);margin-top:var(--s-2);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.diagram-legend-grid h5{margin:0 0 var(--s-1);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--c-text-muted)}.diagram-legend-grid ul{margin:0;padding:0;list-style:none}.diagram-legend-row{align-items:flex-start;gap:var(--s-2);padding:2px 0;display:flex}.diagram-legend-sample{flex:0 0 92px;justify-content:center;align-items:center;min-height:16px;display:inline-flex}.diagram-legend-text{white-space:nowrap;font-weight:600}.diagram-legend-badge{text-align:center;border-radius:2px;width:18px;font-weight:700;line-height:16px;display:inline-block}.diagram-legend-dot{border:1px solid var(--c-surface);border-radius:50%;width:9px;height:9px;display:inline-block}.diagram-legend-dot--in{background:#dc2626}.diagram-legend-dot--op{background:#2563eb}.diagram-legend-dot--in-duplicate{background:#eab308}.diagram-legend-dot--link{background:var(--c-success);width:7px;height:7px}.diagram-legend-line path{fill:none;stroke-width:1.5px}.diagram-legend-line--op path{stroke:var(--c-text-muted)}.diagram-legend-line--duplicate path{stroke:var(--c-success);stroke-dasharray:4 3}.diagram-legend-tiles{flex-direction:column;gap:1px;width:44px;display:inline-flex}.diagram-legend-tiles span{width:34px}.diagram-legend-tiles span:nth-child(2){margin-left:4px}.diagram-legend-tiles span:nth-child(3){margin-left:8px}.diagram-legend-tiles span{border:1px solid var(--c-border-strong);background:var(--c-surface-2);border-radius:1px;height:5px}.diagram-legend-tiles span.active{border-color:var(--c-primary);background:var(--c-primary-bg)}.diagram-legend-footer{margin:var(--s-2) 0 0}.diagram-card-ops-table{background:var(--c-primary-bg);border-top:1px solid var(--c-border-strong)}.diagram-card-op-row{padding:0 var(--s-2);box-sizing:border-box;border-top:1px solid var(--c-border);font-size:var(--fs-xs);align-items:center;gap:4px;display:flex;position:relative}.diagram-card-op-row:first-child{border-top:0}.diagram-op-row-reorder{flex-direction:column;line-height:.6;display:flex}.diagram-op-row-reorder button{color:var(--c-text-muted);cursor:pointer;background:0 0;border:0;padding:1px;font-size:8px}.diagram-op-row-reorder button:disabled{opacity:.25;cursor:default}.diagram-op-row-body{cursor:pointer;flex:1;align-items:center;gap:4px;min-width:0;padding:2px 0;display:flex;overflow:hidden}.diagram-op-row-body--selected{background:var(--c-surface);border:1px solid var(--c-primary);border-radius:var(--r-sm)}.diagram-op-row-code{color:var(--c-text-muted);font-family:var(--ff-mono);flex:none}.diagram-op-row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.diagram-op-row-time{color:var(--c-text-muted);flex:none}.diagram-op-row-link{opacity:.3;cursor:pointer;background:0 0;border:0;flex:none;font-size:10px}.diagram-op-row-link--on{opacity:1}.diagram-op-row-del{color:var(--c-danger);cursor:pointer;opacity:0;background:0 0;border:0;flex:none;font-size:10px}.diagram-card-op-row:hover .diagram-op-row-del{opacity:1}.diagram-card-inner>.diagram-card-add{width:calc(100% - 2 * var(--s-3));margin:var(--s-2) var(--s-3)}.react-flow__handle.diagram-handle{border:1px solid var(--c-surface);box-sizing:border-box;width:8px;height:8px}.react-flow__handle.diagram-handle--in{background:#dc2626;top:45px}.react-flow__handle.diagram-handle--in-duplicate{background:#eab308;top:13px}.react-flow__handle.diagram-handle--dup-source,.react-flow__handle.diagram-handle--orig-link{background:var(--c-success);width:6px;height:6px;top:13px}.react-flow__handle.diagram-handle--op{background:#2563eb}.react-flow__edge.diagram-edge--op-link .react-flow__edge-path{cursor:pointer}.react-flow__edge.diagram-edge--input .react-flow__edge-path{stroke-dasharray:4 3;opacity:.6}.react-flow__edge.diagram-edge--highlighted .react-flow__edge-path{stroke:var(--c-primary);stroke-width:2.5px}.react-flow__edge.diagram-edge--dimmed .react-flow__edge-path{opacity:.25}.react-flow__edge.diagram-edge--duplicate-link .react-flow__edge-path{stroke:var(--c-success);stroke-width:1.5px;stroke-dasharray:4 3;opacity:.65}.react-flow__edge.diagram-edge--duplicate-link.diagram-edge--highlighted .react-flow__edge-path{stroke:var(--c-success);stroke-width:2.5px;stroke-dasharray:none;opacity:1}.react-flow__edge.diagram-edge--duplicate-link.diagram-edge--dimmed .react-flow__edge-path{opacity:.15}.diagram-popover-backdrop{z-index:1000;background:#00000059;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.diagram-popover{background:var(--c-surface);border-radius:var(--r-md);box-shadow:var(--sh-md);padding:var(--s-4);gap:var(--s-2);flex-direction:column;width:320px;display:flex}.diagram-popover h4{margin:0 0 var(--s-1)}.diagram-popover .checkbox-line{white-space:normal;align-items:flex-start}.dashboard-chart-card__head{justify-content:space-between;align-items:flex-start;gap:var(--s-2);display:flex}.dashboard-chart-card__head .section-title{flex:auto;min-width:0}.dashboard-chart-card__head .btn{flex:none}.app-update-banner{z-index:1000;justify-content:center;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-3);background:var(--c-primary-bg);border-bottom:1px solid var(--c-border);color:var(--c-text);font-size:var(--fs-sm);flex-wrap:wrap;display:flex;position:sticky;top:0}.rating-form{border:0;min-width:0;margin:0;padding:0;transition:opacity .15s,filter .15s}.rating-form:disabled{opacity:.5;filter:blur(1px);pointer-events:none;cursor:progress}.rating-loading{justify-content:center;align-items:center;gap:var(--s-3);padding:var(--s-5,32px) var(--s-3);color:var(--c-text-muted);display:flex}.rating-loading__spinner{border:3px solid var(--c-border);border-top-color:var(--c-primary);border-radius:50%;flex-shrink:0;width:28px;height:28px;animation:.8s linear infinite spin}.rating-workshop{margin-bottom:var(--s-4)}.rating-workshop__title{margin:var(--s-3) 0 var(--s-2)}.rating-brigade{margin-bottom:var(--s-3)}.rating-table-wrap{overflow-x:auto}.rating-month{align-items:stretch;gap:6px;max-width:420px;display:flex}.rating-month select.rating-month__year{flex:0 0 96px}.rating-month select{flex:1;min-width:0}.rating-month__step{min-width:40px;padding:0 10px;font-size:1.2em}html .rating-table-wrap .rating-table th,html .rating-table-wrap .rating-table td{white-space:normal;text-overflow:clip;overflow:visible;max-width:none!important}.rating-table .table-mode-toggle{display:none}html .rating-table-wrap table{width:100%;table-layout:auto!important}html .rating-table-wrap table.rating-table{table-layout:fixed!important}.rating-col-place{width:70px}.rating-col-points{width:170px}.rating-col-prize{width:130px}@media (width<=600px){.rating-prize__text{display:none}.rating-col-place{width:48px}.rating-col-points{width:110px}.rating-col-prize{width:36px}html .rating-table-wrap .rating-table th,html .rating-table-wrap .rating-table td{padding:6px}html .rating-table-wrap .rating-table td.rating-details__cell{padding-left:6px}.rating-details table thead{display:none}.rating-details table,.rating-details table tbody,.rating-details table tr{width:100%;display:block}.rating-details table tr{border-bottom:1px solid var(--c-border);padding:6px 0}html .rating-table-wrap .rating-details table td{text-align:left;border:0;padding:2px 8px 2px 0;display:inline-block}html .rating-table-wrap .rating-details table td.rating-item-name{font-weight:600;display:block}.rating-details table td[data-label]:before{content:attr(data-label) ": ";color:var(--c-text-muted)}}.rating-table{border-collapse:collapse;width:100%}.rating-table th,.rating-table td{border-bottom:1px solid var(--c-border);text-align:left;padding:6px 10px}.rating-table thead th{background:var(--c-surface-2);font-size:var(--fs-xs);text-transform:uppercase;color:var(--c-text-muted)}.rating-brigade__title{padding:var(--s-2) var(--s-3);background:var(--c-warning-bg);border:1px solid var(--c-warning);border-radius:var(--r-sm) var(--r-sm) 0 0;font-weight:600}html .rating-table-wrap .rating-table th.num,html .rating-table-wrap .rating-table td.num{text-align:right;white-space:nowrap}.rating-table td.rating-place{text-align:center;font-weight:700}.rating-row--clickable{cursor:pointer}.rating-row--prize>td{background:var(--c-success-bg)}.rating-row--me>td{box-shadow:inset 0 -2px 0 var(--c-primary)}.rating-toggle{width:1.2em;color:var(--c-text-muted);display:inline-block}.rating-prize{color:var(--c-success);white-space:nowrap}.rating-details>td{background:var(--c-surface-2)}@media (width>=601px){html .rating-table-wrap .rating-table td.rating-details__cell{padding-left:70px}html .rating-table-wrap .rating-table td.rating-item-name{width:50%;min-width:280px}}.rating-details table{width:100%;font-size:var(--fs-sm,.9em)}.rating-reject{color:var(--c-danger);font-weight:600}
