.workspace-executor-fill{background:#fff3b16b!important;transition:background-color .2s}.workspace-op-done{background:#d1fae5!important;transition:background-color .2s}.workspace-op-done>td{background:#d1fae5!important}.workspace-executor-fill>td{border-color:#111!important;border-width:1px!important;border-style:solid!important}table:has(.workspace-executor-fill) td,table:has(.workspace-executor-fill) th{border-color:#111!important;border-width:1px!important;border-style:solid!important}*{box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html,body{margin:0;background:#f5f5f7;color:#222;overflow-x:hidden}body{min-height:100vh;display:flex;flex-direction:column}img{max-width:100%;height:auto;display:block}header{position:relative;z-index:100;background:#1f2933;color:#fff;padding:12px 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.header-left{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.header-status-row{display:inline-flex;align-items:stretch;gap:6px;width:fit-content;align-self:center;margin:0 auto}.clock-display{display:inline-flex;align-items:center;font-weight:600;padding:2px 6px;border-radius:4px;background:#fff;color:#000;width:20ch;max-width:100%;justify-content:center;min-height:24px;min-width:0;line-height:20px;text-align:center}.header-online-users{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:2px 6px;border-radius:4px;background:#fff;color:#4c9bbe;line-height:20px;font-weight:700;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.header-online-users-icon{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.header-online-users-count{min-width:1ch;color:#10b981;text-align:right}header h1{margin:0;font-size:20px}.nav-menu{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}.nav-toggle{display:none;background:#10b981;color:#fff;border:none;border-radius:10px;padding:10px 16px;font-size:16px;cursor:pointer;min-height:44px;align-items:center;justify-content:center}.card-header-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.toolbar-filter-row{margin-bottom:8px;align-items:flex-end;flex-wrap:wrap;gap:8px}.toolbar-filter-search{flex:1 1 320px}.archive-filter-search{flex:1 1 260px}.archive-filter-status{flex:0 1 200px}.toolbar-filter-actions{flex:0 0 auto}.directory-form{flex-wrap:wrap;gap:8px}.directory-form-name{flex:1 1 240px}.operation-form-name{flex:1 1 200px}.directory-form-description{flex:2 1 260px}.operation-form-field{flex:0 1 180px}.directory-form-actions{flex:0 0 auto;align-self:flex-end;gap:6px;display:flex}.page-hint{font-size:12px;color:#6b7280;margin-top:0}.access-levels-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.status-option-pending{color:#111827}.status-option-good{color:#15803d}.status-option-delayed{color:#d97706}.status-option-defect{color:#dc2626}.status-option-disposed{color:#c8471d}.toggle-row{display:inline-flex;align-items:center;gap:6px;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-row input[type=checkbox]{width:16px;height:16px}.cards-toolbar{display:flex;justify-content:flex-start;margin-bottom:10px}.cards-toolbar .button-group{display:flex;gap:8px;flex-wrap:wrap}.search-with-camera{position:relative;width:100%}.search-with-camera input,.search-with-camera .workspace-search-input{padding-right:52px}.cards-filters-row{display:flex;margin-bottom:8px;align-items:flex-end;flex-wrap:wrap;gap:8px}.cards-search-field{flex:0 1 520px;min-width:280px}.cards-author-field{flex:0 1 260px;min-width:220px}.cards-reset-field{flex:0 0 auto}.users-archived-field{display:flex;align-items:flex-end;align-self:flex-end;padding:0 4px}.users-archived-toggle{font-weight:400}.employees-online-counter{display:inline-flex;align-items:center;gap:18px;flex-wrap:wrap;margin-left:auto;align-self:center;color:#374151;font-size:13px;font-weight:600}.employees-online-current{color:#10b981}.employees-online-max{color:#374151}.cards-filter-label{margin-bottom:4px;font-size:13px;font-weight:600;color:#374151}.cards-author-field select{width:100%}@media(max-width:900px){.cards-search-field,.cards-author-field{flex:1 1 100%}}.camera-scan-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;border-radius:8px;transition:background-color .2s ease}.camera-scan-btn svg{width:22px;height:22px;fill:#111827}.camera-scan-btn:hover,.camera-scan-btn:focus-visible{background:#11182714;outline:none}.camera-scan-btn--disabled{opacity:.45;cursor:not-allowed}.camera-scan-btn--disabled:hover,.camera-scan-btn--disabled:focus-visible{background:transparent}.cards-subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.subtab-btn{border:1px solid #d1d5db;background:#fff;color:#111827;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:14px}.subtab-btn.active{background:#10b981;color:#fff;border-color:#10b981}.cards-tab-panel.hidden{display:none}.nav-btn{border:none;padding:17px 16px;border-radius:10px;background:#656971;color:#fff;cursor:pointer;font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;height:50px}.nav-btn.active{background:#10b981}.nav-btn-multiline{display:inline-block;line-height:1.1;text-align:center}.nav-dropdown{position:relative;display:inline-block}.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:6px;padding:25px 16px;min-height:44px;border-radius:10px;font-size:15px}.nav-dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:8px 0;min-width:200px;box-shadow:0 10px 25px #0000001f;display:none;z-index:50}.nav-dropdown-menu.open{display:block}@media(min-width:901px){.nav-dropdown-menu--right{left:auto;right:0}}.nav-dropdown-item{display:block;width:100%;text-align:left;padding:8px 14px;background:transparent;border:none;cursor:pointer;font-size:14px;color:#111827;text-decoration:none}.nav-dropdown-item--with-count{display:flex;align-items:center;justify-content:space-between;gap:18px}.nav-dropdown-item-count{min-width:3ch;text-align:right;color:#6b7280;font-size:12px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}.nav-dropdown-item:hover,.nav-dropdown-item:focus{background:#f3f4f6}.status-banner{margin:0;padding:10px 16px;text-align:center;font-size:13px;background:#e0f2fe;color:#075985}.status-banner.status-error{background:#fee2e2;color:#991b1b}.status-banner.status-info{background:#e0f2fe;color:#075985}.workspace-search-row{display:grid;grid-template-columns:auto;gap:12px;align-items:center;margin-bottom:12px}.workspace-search-label{font-weight:600;white-space:nowrap}.workspace-search-input{width:100%;font-size:16px;padding:14px 12px;min-height:56px}.workspace-search-actions{display:flex;gap:10px;align-items:center}.workspace-search-btn{padding:14px 18px;font-size:16px}#workspace-results .wo-card{border-color:#10b981}.card.workspace-detail-shell{padding:6px 0 12px;margin-bottom:0;border:0;border-radius:0;box-shadow:none;background:transparent}.card.workspace-detail-shell h2{margin:0 0 6px;font-size:16px}.workspace-back-btn{margin-bottom:6px;height:24px;min-height:24px;min-width:0;padding:3px 8px;border-radius:4px;font-size:12px;line-height:1}#workspace-results .workspace-detail-card{margin-bottom:0;border-color:#d1d5db;border-radius:0}#workspace-results .workspace-detail-card .wo-card-main{display:block;padding:8px 10px 7px;border-bottom:1px solid #e5e7eb}.workspace-route-table{width:100%;overflow-x:auto}body.page-workspace-detail-mode .workspace-route-table table{table-layout:fixed}body.page-workspace-detail-mode .workspace-route-table th,body.page-workspace-detail-mode .workspace-route-table td{vertical-align:middle;white-space:normal;word-break:normal;overflow-wrap:break-word}.workspace-detail-heading h3{margin:2px 0 4px;font-size:14px}.workspace-detail-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workspace-detail-title-row h3{margin-right:4px}.workspace-detail-order-note{color:#6b7280;font-size:12px;font-weight:500}.workspace-detail-badges{display:inline-flex;align-items:center;gap:6px;flex:1 1 auto;margin-left:0;flex-wrap:wrap}.workspace-detail-badge,.workspace-detail-comment-badge,.workspace-detail-status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:700;line-height:1}.workspace-detail-badge,.workspace-detail-comment-badge{border:0;background:#9ca3af;color:#fff}.workspace-detail-comment-badge{min-width:42px;gap:5px;padding:3px 8px}.workspace-detail-comment-icon{width:12px;height:12px;flex:0 0 12px;fill:none;stroke:#e9d5ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.workspace-detail-comment-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#111827;color:#fff;font-size:11px;font-weight:700;line-height:1}.workspace-detail-status{margin-left:auto;border-radius:999px;padding:4px 10px;font-size:12px;line-height:1}.workspace-detail-status-active,.workspace-detail-status-done{border:1px solid #10b981;background:#ecfdf5;color:#047857}.workspace-detail-status-paused{border:1px solid #facc15;background:#fffbeb;color:#92400e}.workspace-detail-status-idle{border:1px solid #e5e7eb;background:#f3f4f6;color:#374151}.workspace-detail-qr{margin:0 0 2px;font-size:12px}.workspace-detail-qr-outside{padding-left:0}.workspace-route-row-done{background:#dcfce7}.workspace-route-row-active{background:#f8fafc}.workspace-route-summary td{background:#f9fafb;color:#111827;font-size:14px;font-weight:600;line-height:1.35;padding:14px 20px 14px 22px;border-color:#e5e7eb}.workspace-route-summary-muted td{color:#6b7280}.workspace-route-summary-material-done td{color:#16a34a}.workspace-route-summary-line{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.workspace-route-summary-label{color:#0f766e;font-weight:700}.workspace-route-summary-main,.workspace-route-summary-fact{color:#111827;font-weight:600}.workspace-route-summary-ok{color:#7dd3fc}.workspace-route-summary-good{color:#16a34a}.workspace-route-summary-delayed{color:#d97706}.workspace-route-summary-defect{color:#dc2626}.workspace-route-summary-muted-text{color:#6b7280}.workspace-route-actions{display:flex;flex-direction:column;gap:6px;align-items:flex-start}.workspace-route-action-btn{min-width:78px;min-height:30px;padding:6px 10px}.workspace-route-question-btn{width:48px;min-width:48px;font-weight:700}.workspace-route-table .status-pill{min-width:86px}.workspace-route-table .status-pill-in-progress{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8}.workspace-route-table .status-pill-no-items{min-width:126px;border-color:#bfdbfe;background:#dbeafe;color:#075985;line-height:1.15;white-space:normal}.workspace-route-table .status-pill-done{width:auto;min-width:86px;height:auto;border:1px solid #34d399;border-radius:999px;background:#d1fae5;color:#047857}.workspace-operation-name{display:inline-flex;flex-direction:column;gap:2px}.workspace-personal-label{color:#4f46e5;font-size:12px;font-weight:600}.workspace-op-lock{min-width:42px;cursor:not-allowed}.workspace-op-lock:disabled{opacity:.85}.workspace-stop-content{max-width:520px}.workspace-stop-body{display:flex;gap:16px;flex-wrap:wrap}.workspace-stop-fields{display:flex;flex-direction:column;gap:12px;flex:1 1 200px}.workspace-stop-fields input{width:100%;font-size:16px;padding:6px 8px}.workspace-stop-controls{display:flex;flex-direction:column;gap:12px;flex:1 1 200px}.workspace-stop-buttons{display:flex;gap:8px;flex-wrap:wrap}.workspace-stop-btn{padding:14px 18px;font-size:16px}.workspace-keypad{display:grid;grid-template-columns:repeat(3,minmax(60px,1fr));gap:8px}.workspace-keypad button{padding:12px 8px;font-size:16px;cursor:pointer;min-height:44px}.workspace-stop-total{margin:6px 0 0;font-size:14px;color:#374151}.workspace-stop-actions{justify-content:center;gap:14px}.workspace-stop-action-btn{padding:14px 20px;font-size:16px}.workspace-transfer-content{max-width:720px}.workspace-transfer-body{gap:14px}.workspace-transfer-scan{display:flex;gap:10px;align-items:center}.workspace-transfer-search-field{flex:1 1 auto}.workspace-transfer-input{flex:1 1 auto;min-height:44px;padding:10px 12px;font-size:16px}.workspace-transfer-search-field .workspace-transfer-input{width:100%;padding-right:52px}.workspace-transfer-list{display:flex;flex-direction:column;gap:8px;max-height:50vh;overflow:auto;padding-right:4px}.workspace-transfer-docs{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc}.workspace-transfer-docs-row{display:grid;grid-template-columns:auto 1fr 2fr;gap:10px;align-items:center}.workspace-transfer-docs-row select,.workspace-transfer-docs-row input[type=file]{min-height:36px}.workspace-transfer-item-qr-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.workspace-transfer-item{border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;background:#f9fafb}.workspace-transfer-item-header{display:flex;flex-direction:column;gap:2px}.workspace-transfer-item-name{font-weight:600}.workspace-transfer-item-name-witness-good{color:#16a34a}.workspace-transfer-item-qr{font-size:12px;color:#6b7280}.workspace-transfer-item-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.workspace-transfer-item-witness-note{margin-top:6px;font-size:12px;line-height:1.35}.workspace-transfer-witness-field{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#374151}.workspace-transfer-witness-select{min-height:32px;border:1px solid #d1d5db;border-radius:6px;background:#fff;padding:4px 8px}.workspace-transfer-status-btn{padding:6px 12px;border-radius:999px;border:1px solid #d1d5db;background:#fff;cursor:pointer;font-size:13px}.workspace-transfer-status-btn.is-selected{border-color:#2563eb;background:#dbeafe;color:#1d4ed8;font-weight:600}.workspace-item-result-content{max-width:420px}.workspace-item-result-qr{font-size:12px;color:#6b7280}.workspace-item-result-actions{display:flex;flex-direction:column;gap:10px}.op-items-row td{background:#f9fafb}.op-items-accordion{display:flex;flex-direction:column;gap:8px}.op-items-shift-summary-label{font-weight:700;color:#0f766e}.op-items-shift-summary-main,.op-items-shift-summary-fact{font-weight:600;color:#111827}.op-items-shift-summary-good{color:#16a34a}.op-items-shift-summary-over,.op-items-shift-summary-awaiting,.op-items-shift-summary-notice{color:#6b7280}.op-items-summary{cursor:pointer;font-weight:600;color:#111827}.workspace-route-material-summary .op-items-summary{list-style:none}.workspace-route-material-summary .op-items-summary::-webkit-details-marker{display:none}.workspace-route-summary-accordion>.op-items-summary{list-style:none}.workspace-route-summary-accordion>.op-items-summary::-webkit-details-marker{display:none}.op-items-summary-workspace-toggle{font-weight:400}.op-items-summary-workspace{display:inline-flex;flex-direction:column;gap:4px;width:100%}.op-items-summary-line{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}.op-items-summary-line-shift{font-size:14px;font-weight:600}.op-items-summary-total-label{font-weight:700;color:#111827}.op-items-summary-main{margin-right:8px}.op-items-summary-completed{margin-right:8px;color:#111827}.op-items-kind-samples{color:#7dd3fc}.op-items-summary-done{margin-right:8px;color:#16a34a}.op-items-summary-defect,.op-items-summary-delayed{margin-right:8px}.op-items-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.op-items-list-summary{padding-bottom:4px}.op-item-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 12px;padding:6px 8px;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.op-item-title{font-weight:600}.op-item-witness{font-size:11px;font-weight:600}.op-item-delay-link{font-size:12px;font-weight:600;color:#92400e}.op-item-title-witness-defect{color:#dc2626}.op-item-title-witness-delayed{color:#d97706}.op-item-qr{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:#6b7280}.op-delay-count-btn,.op-item-info-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd5e1;background:#eef2ff;color:#1f2937;border-radius:999px;padding:4px 8px;font-size:12px;line-height:1;cursor:pointer;opacity:1}.op-delay-count-btn:disabled{cursor:default;opacity:1}.op-delay-count-value{font-size:11px;font-weight:700;line-height:1.4}.op-item-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.modal-info-line{font-weight:600;margin-bottom:6px}.techspec-file-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}#techspec-return-comment{resize:vertical;max-height:104px;overflow-y:auto}.op-item-status{font-size:12px;font-weight:600}.op-item-status-good{color:#16a34a}.op-item-status-defect{color:#dc2626}.op-item-status-delayed{color:#d97706}.op-item-status-disposed{color:#c8471d}.dispose-confirm-text{color:#dc2626;font-weight:700}.hidden{display:none!important}main{padding:16px 12px 24px;max-width:1200px;width:min(1200px,100%);margin:0 auto}body.page-card-mode main,body.page-directory-mode main{max-width:none;width:100%}body.page-workspace-detail-mode main{padding:12px 12px 0}body.page-workspace-detail-mode #app-footer{margin-top:35px}@media(min-width:1024px){main{max-width:none;width:100%}}#dashboard{overflow:hidden}.card-page{display:none;margin:0 auto 16px;max-width:1200px}.card-page:not(.hidden){display:block}.card-page .card-modal-content{max-width:none;width:100%;max-height:none;box-shadow:0 1px 6px #00000014}.card-page .modal-body{max-height:none}.card-page .modal-actions{justify-content:flex-start}section{display:none}#page-card-log.log-page{display:block}section.active{display:block}.dashboard-pager-container{display:flex;flex-direction:column;gap:12px}.dashboard-pages{position:relative;width:100%;overflow:hidden}.dashboard-page{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease-in-out,visibility 0s linear .35s}.dashboard-page table{width:100%}.dashboard-page.active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .35s ease-in-out,visibility 0s}.dashboard-page.no-transition{transition:none!important}.dashboard-dots{display:flex;justify-content:center;gap:8px;font-size:18px;-webkit-user-select:none;user-select:none;padding-bottom:4px}.dashboard-dot{background:none;border:none;cursor:pointer;padding:0 2px;color:#9ca3af;line-height:1}.dashboard-dot.active{color:#111827;font-weight:700}@keyframes dash-fade{0%{opacity:0}to{opacity:1}}.card{background:#fff;border-radius:10px;padding:16px;margin-bottom:16px;box-shadow:0 1px 4px #0000000f}h2{margin-top:0;font-size:18px;margin-bottom:12px}h3{margin-top:0;font-size:16px;margin-bottom:8px}.flex{display:flex;gap:12px;flex-wrap:wrap}.flex-col{display:flex;flex-direction:column;gap:8px}.areas-form{flex-wrap:nowrap;align-items:flex-end;gap:8px}.areas-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;margin-bottom:12px}.areas-load-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.areas-load-filter-field{flex:0 0 170px}.areas-load-filter-field--shifts{flex:0 0 auto}.areas-form-field--name{flex:1 1 240px}.areas-form-field--desc{flex:2 1 260px}.areas-form-field--type{flex:0 0 220px}.areas-form-actions{display:flex;gap:6px;align-self:flex-end}.areas-load-cell{min-width:120px}.areas-load-cell .production-shifts-load{position:static;display:inline-flex;align-items:center;justify-content:center;min-width:64px;padding:4px 8px;border-radius:999px;background:#10b9811f;color:#047857;font-size:12px;line-height:1;font-weight:700;opacity:1}label{font-size:13px;margin-bottom:2px}input,select,textarea{width:100%;padding:10px 12px;border-radius:6px;border:1px solid #d1d5db;font-size:14px}.combo-field{position:relative;display:flex;align-items:center;overflow:visible}.combo-field.has-open-combo{z-index:1300}.executor-combobox{position:relative;display:flex;align-items:center}.executor-combobox.executor-combo:after{content:none}.executor-combobox input{padding-right:48px}.executor-arrow{position:absolute;right:0;top:0;bottom:0;min-width:40px;height:100%;border:none;background:transparent;color:#6b7280;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-left:1px solid #d1d5db}.executor-arrow:focus-visible{outline:2px solid #2563eb;outline-offset:1px}.executor-combo:after{content:"▾";position:absolute;right:10px;color:#6b7280;font-size:12px;pointer-events:none}.executor-combo input{padding-right:32px}.combo-suggestions{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 8px 20px #0000001f;max-height:220px;overflow-y:auto;z-index:1301;padding:4px 0}.executor-combobox .executor-suggestions{top:100%;width:100%;max-height:200px;z-index:1000}.combo-suggestions.open{display:block}@media(min-width:769px){.executor-suggestions{display:none!important}}.combo-option{padding:10px 12px;cursor:pointer;border-bottom:1px solid #e5e7eb;width:100%;background:#fff;border:none;text-align:left;color:#111827;font-size:14px}.combo-option:last-child{border-bottom:none}.combo-option:hover,.combo-option:focus{background:#f8fafc;outline:none}textarea{resize:vertical;min-height:60px}.production-issue-note p{color:#16a34a;font-weight:700}.production-issue-empty-state{padding:32px 24px}.production-issue-empty-state.is-highlighted p{color:#16a34a;font-size:30px;line-height:1.25;font-weight:800;text-align:center;margin:0}.btn-primary,.btn-secondary,.btn-warning,.btn-danger,.btn-small{border-radius:6px;border:none;padding:10px 14px;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn-primary{background:#10b981;color:#fff}.btn-secondary{background:#e5e7eb;color:#111827}.server-action-pending,.workspace-action-pending,button[data-pending=true]{position:relative;opacity:.78;box-shadow:inset 0 0 0 999px #ffffff14,0 0 0 2px #10b9812e}.server-action-pending:after,.workspace-action-pending:after,button[data-pending=true]:after{content:"";position:absolute;top:7.5%;right:7.5%;bottom:7.5%;left:7.5%;border-radius:inherit;padding:3px;background:conic-gradient(from -18deg,currentColor 0 36deg,transparent 40deg 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;transform-origin:center;animation:server-action-border-run .9s linear infinite;pointer-events:none}.btn-small.server-action-pending:after,.btn-small.workspace-action-pending:after,.btn-small[data-pending=true]:after,.table-actions button.server-action-pending:after,.table-actions button.workspace-action-pending:after,.table-actions button[data-pending=true]:after,.modal button.server-action-pending:after,.modal button.workspace-action-pending:after,.modal button[data-pending=true]:after{top:7.5%;right:7.5%;bottom:7.5%;left:7.5%;padding:2px}select.server-action-pending,select.workspace-action-pending,select[data-pending=true]{cursor:wait;outline:2px solid rgba(16,185,129,.28);outline-offset:2px}tr.is-server-action-pending{position:relative;background-color:#10b9810f}tr.is-server-action-pending select.server-action-pending{background-image:linear-gradient(90deg,#10b98124,#10b9810a)}@keyframes server-action-spin{to{transform:rotate(360deg)}}@keyframes server-action-border-run{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes workspace-action-spin{to{transform:rotate(360deg)}}.btn-warning{background:#f59e0b;color:#111827}.clip-btn{display:inline-flex;align-items:center;gap:4px;background:#eef2ff;color:#1f2937;border:1px solid #cbd5e1}.clip-count{font-weight:700}.inline-clip{padding:4px 8px}.btn-danger{background:#ef4444;color:#fff}.btn-small{background:#9ca3af;color:#fff;padding:4px 8px;font-size:12px}#production-today{padding:5px 10px}.barcode-view-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}.barcode-icon{display:block;width:18px;height:14px;background:repeating-linear-gradient(90deg,currentColor 0,currentColor 2px,transparent 2px,transparent 4px);border-radius:2px}table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}.table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.table-wrapper table{min-width:640px}th,td{border:1px solid #e5e7eb;padding:6px 8px;text-align:left}thead{background:#cdcdcf}tbody tr:nth-child(2n){background:#f3f4f6}.nk-lines{display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.3}.badge{display:inline-block;padding:2px 6px;border-radius:999px;font-size:11px;font-weight:500}.status-not-started{background:#e5e7eb;color:#374151}.status-in-progress{background:#bfdbfe;color:#1d4ed8}.status-paused{background:#fef3c7;color:#92400e}.status-done{background:#34d399;color:#064e3b}.status-no-items{background:#e0f2fe;color:#075985}.stats{display:flex;flex-wrap:wrap;gap:12px}.stat-block{background:#fff;padding:10px 12px;border-radius:8px;box-shadow:0 1px 3px #0000000a;min-width:120px}.stat-block span{display:block;font-size:11px;color:#6b7280}.stat-block strong{font-size:18px}.table-actions{display:flex;gap:4px;flex-wrap:wrap}.workspace-op-blocked-info{min-width:32px;width:32px;padding-left:0;padding-right:0;font-weight:700;cursor:help}.card-info-block{display:flex;flex-direction:column;gap:12px;margin:0}.card-display-grid{margin:8px 0 12px}.card-display-field{display:flex;flex-direction:column;gap:4px}.card-display-field .field-label{color:#4b5563;font-size:13px}.card-display-field .field-value{font-weight:600;font-size:14px;color:#111827;word-break:break-word;white-space:pre-wrap}.card-display-field .field-value.multiline{white-space:pre-line}.card-display-field .field-meta{color:#6b7280;font-size:12px;line-height:1.35}.card-display-field-full{grid-column:1 / -1}.card-info-collapse-block{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fff;margin:8px 0 12px}.card-info-collapse-block .card-main-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.card-info-collapse-block .card-main-title{margin:0;font-size:14px;font-weight:600;color:#6b7280}.card-info-collapse-block .card-main-summary{display:block;color:#374151;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:160px}.card-info-collapse-block .card-main-toggle{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.card-info-collapse-block.is-collapsed,.card-info-collapse-block.is-collapsed .card-main-collapse-body{display:none}.directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.directory-modal-content .table-actions{flex-wrap:nowrap;align-items:center}.directory-panel h3{margin-top:0}.card-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;align-items:start}.card-meta-grid-compact{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.card-meta-col{display:flex;flex-direction:column;gap:12px}.card-meta-responsible .card-meta-grid{align-items:stretch}.card-field-label-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.card-inline-danger-note{color:#dc2626;font-weight:700}.card-main-collapse-block{display:flex;flex-direction:column;gap:12px}.card-main-header{display:none;align-items:center;gap:12px}.card-main-header h3{margin:0}.card-main-summary,.card-main-toggle{display:none}.card-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.card-attachments-actions{gap:8px;align-items:center}.input-control-file-actions{gap:8px;flex-wrap:wrap}.route-form-grid{display:grid;grid-template-columns:minmax(260px,360px) minmax(150px,170px) minmax(320px,460px) minmax(96px,120px) minmax(170px,210px) minmax(140px,160px);gap:10px 12px;align-items:end;width:100%;min-width:0}.route-form-inline{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.route-form-wide,.route-form-code,.route-form-qty,.route-form-toggle-col,.route-form-submit{min-width:0}.route-form-submit{align-self:start;padding-top:27px}.route-form-planned{min-width:0}.route-toggle-label{margin-bottom:2px}.route-toggle-control{min-height:44px;display:flex;align-items:center}.route-toggle-input{width:18px;height:18px;margin:0}.route-form-toggle-col--disabled{opacity:.55;cursor:not-allowed}.route-form-toggle-col--disabled .route-toggle-label,.route-form-toggle-col--disabled .route-toggle-control,.route-toggle-input--disabled{cursor:not-allowed}.route-form-grid .flex-col{margin:0;min-width:0}#route-editor{display:flex;flex-direction:column;gap:10px;min-height:0}#route-table-wrapper{flex:1 1 auto;overflow:visible}#route-table-wrapper .route-qty-input,#route-table-wrapper .route-code-input,#route-table-wrapper .route-planned-input{width:100%;box-sizing:border-box}#route-table-wrapper th:nth-child(5),#route-table-wrapper td:nth-child(5){min-width:140px}.card-section{display:block}.card-section-menu{display:none}#production-editor-toggle{padding:16px 12px}.products-layout{display:flex;flex-direction:column;gap:12px}#tab-products.mki-mode .products-layout{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));column-gap:16px;row-gap:12px}#tab-products.mki-mode #field-batch-size,#tab-products.mki-mode #field-item-serials{grid-column:1}#tab-products.mki-mode #field-sample-qty,#tab-products.mki-mode #field-sample-serials{grid-column:2}.serials-table-wrapper{width:100%}.serials-actions{display:flex;justify-content:flex-end;margin:4px 0 0}.serials-table{width:100%;border-collapse:collapse;margin-top:6px}.serials-table td{padding:6px 8px;vertical-align:middle}.serials-index-cell{width:36px;text-align:right;color:#6b7280;white-space:nowrap}.serials-input-cell input{width:100%}.serials-input-row{display:flex;align-items:center;gap:6px}.serials-input-row .serials-input{flex:1 1 auto}.serials-input-row .serials-input.serials-input--duplicate{background-color:#fef3c7;border-color:#f59e0b;box-shadow:0 0 0 1px #f59e0b59}.serials-qr-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;cursor:pointer;padding:0}.serials-qr-btn svg{width:18px;height:18px;fill:currentColor}#card-modal.is-mki #tab-products .mki-products-grid,body.is-mki #tab-products .mki-products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;align-items:start}#card-modal.is-mki #tab-products .mki-products-column,body.is-mki #tab-products .mki-products-column{display:flex;flex-direction:column;gap:12px;min-width:0}#card-modal.is-mki #tab-products .mki-products-grid .product-field>label,body.is-mki #tab-products .mki-products-grid .product-field>label{min-height:20px}@media(max-width:900px){#card-modal.is-mki #tab-products .mki-products-grid,body.is-mki #tab-products .mki-products-grid{grid-template-columns:1fr}}.route-add-panel{position:sticky;bottom:0;background:#fff;padding-top:8px;display:flex;flex-direction:column;gap:10px;overflow:visible}@media(min-width:1025px){body.page-card-mode{height:100vh;overflow-y:auto}body.page-card-mode main{flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column}body.page-card-mode #card-modal.page-mode{flex:1 1 auto;height:100%;min-height:0;overflow:hidden}body.page-card-mode #card-modal.page-mode .card-modal-content{flex:1 1 auto;height:100%;max-height:100%;min-height:0}.card-modal-content{height:92vh;max-height:92vh}.card-modal-content .modal-body{display:flex;flex-direction:column;gap:12px;overflow:hidden;padding-right:12px}body.page-card-mode .card-modal-content .modal-body{min-height:0;overflow:hidden}body.page-card-mode .tabs-wrapper,body.page-card-mode .tabs-content{flex:1 1 auto;min-height:0;overflow:hidden}#card-modal .card-section-main{margin-bottom:0}.card-main-header{display:flex;align-items:center;gap:12px;justify-content:flex-start;flex-wrap:wrap}.card-main-summary{color:#374151;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:160px}.card-main-toggle{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.card-main-collapse-block{border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fff}.card-main-collapse-block.is-collapsed{padding:10px 12px}.card-main-collapse-block.is-collapsed .card-main-summary{display:block}.card-main-collapse-block.is-collapsed .card-main-collapse-body{display:none}#route-editor{flex:1 1 auto;gap:12px;height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}#tab-operations.active{min-height:0;overflow:hidden}.card-section-operations{flex:1 1 auto;display:flex;flex-direction:column;overflow:hidden;min-height:0}#route-table-wrapper{flex:1 1 auto;min-height:0;overflow:auto}#route-table-wrapper th{position:sticky;top:0;z-index:10;background:#f3f4f6;box-shadow:0 1px #e5e7eb}.card-section-add{flex:0 0 auto;overflow:visible}.route-add-panel{position:static;border-top:1px solid #e5e7eb;padding-top:10px}body.page-card-mode{height:auto;overflow-y:auto}body.page-card-mode main{display:block;overflow:visible;padding-bottom:96px}body.page-card-mode #card-modal.page-mode,body.page-card-mode #card-modal.page-mode .card-modal-content,body.page-card-mode .card-modal-content .modal-body,body.page-card-mode .tabs-wrapper,body.page-card-mode .tabs-content,body.page-card-mode #tab-operations.active,body.page-card-mode #tab-operations.active #route-editor,body.page-card-mode #tab-operations .card-section-operations,body.page-card-mode #tab-operations #route-table-wrapper{height:auto;max-height:none;min-height:0;overflow:visible}body.page-card-mode .card-modal-actions{position:fixed;left:12px;right:12px;bottom:0;z-index:1300;background:#fff;box-shadow:0 -8px 18px #0f172a14;margin-top:0;padding:12px 20px}}.card-mobile-menu{display:none;align-items:center;gap:10px;margin-bottom:10px;position:relative}.card-menu-toggle{white-space:nowrap;padding:6px 10px;font-size:14px}.card-menu-active{font-weight:700;color:#111827}.card-section-menu{position:absolute;inset:calc(100% + 6px) 0 auto 0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 20px #00000014;padding:10px;z-index:10;display:none;flex-direction:column;gap:6px}.card-section-menu.open{display:flex}.card-section-menu-title{font-weight:700;color:#374151}.card-section-menu-divider{height:1px;background:#e5e7eb;margin:4px 0}.card-section-menu-item{text-align:left;padding:8px 10px;border:1px solid #e5e7eb;background:#f9fafb;border-radius:8px;cursor:pointer;font-weight:600}.card-section-menu-item:hover,.card-section-menu-item:focus-visible{background:#eef2ff;outline:none}.btn-link{border:none;background:none;padding:0;margin:0;color:#2563eb;cursor:pointer;font-size:13px;text-decoration:underline}.barcode-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:none;align-items:center;justify-content:center;z-index:1400}.barcode-modal:not(.hidden){display:flex}.barcode-modal-content{background:#fff;padding:16px 20px;border-radius:10px;box-shadow:0 10px 30px #00000026;max-width:480px;width:min(480px,calc(100% - 24px));text-align:center;overflow:hidden}.barcode-viewport{width:100%;padding:8px;box-sizing:border-box}.barcode-svg{max-width:100%;display:flex;justify-content:center;align-items:center}.barcode-svg svg{max-width:100%;height:auto;display:block}.barcode-error{color:#b91c1c;font-size:14px;text-align:center}.barcode-modal-header{margin-bottom:10px}.barcode-modal-hint{font-size:12px;color:#6b7280;margin:4px 0 0}.barcode-user-label{margin-top:6px;font-size:14px;color:#111827}.barcode-code-row{margin-top:8px;font-size:14px}.barcode-extra-row{margin-top:4px;font-size:14px}.barcode-modal-actions{justify-content:space-between;align-items:center}.barcode-print-settings-content{max-width:520px}#barcode-print-settings-modal{z-index:1500}.barcode-print-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.barcode-print-grid label{display:block;margin-bottom:6px}.barcode-print-grid input,.barcode-print-settings-content select{width:100%}#barcode-print-custom-size.hidden{display:none}@media(max-width:640px){.barcode-print-grid{grid-template-columns:1fr}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1200}.modal.hidden{display:none}.modal.modal-priority{z-index:1300}.modal-content{background:#fff;border-radius:10px;box-shadow:0 10px 35px #0000002e;max-width:960px;width:95%;max-height:92vh;overflow:hidden;padding:16px 20px;display:flex;flex-direction:column}#access-level-modal .modal-content{max-height:90vh}.modal.page-mode{position:static;inset:auto;background:transparent;display:flex;align-items:stretch;justify-content:center;padding:0;box-shadow:none}.modal.page-mode .modal-content{max-width:none;width:calc(100vw - 24px);max-height:none;box-shadow:none;margin:0 auto}.modal.page-mode .card-modal-content,.modal.page-mode .directory-modal-content{min-height:calc(100vh - 110px);width:calc(100vw - 24px);max-width:none;max-height:none}body.page-card-mode #cards,body.page-directory-mode #cards{display:none}.card-modal-content{max-width:1280px;width:min(1280px,98vw);max-height:95vh;display:flex;flex-direction:column;overflow:hidden}.confirm-modal-content{max-width:520px}.confirm-modal-content .modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-modal-content .modal-body{flex:1 1 auto;overflow:auto;padding-right:4px}.card-modal-content .modal-actions{justify-content:flex-end}.directory-modal-content{max-width:1100px;width:min(1100px,96vw)}.attachments-content{width:60vw;max-width:60vw;height:60vh;max-height:60vh}.attachments-content .modal-body{min-height:0;overflow:hidden}#attachments-list{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden}#attachments-list .table-wrapper{margin-top:0}.info-modal-content{max-width:460px;text-align:center}.info-modal-content .modal-body{font-size:16px}.workspace-blocked-info-content{max-width:560px}.workspace-blocked-info-message{font-size:18px;line-height:1.6;white-space:pre-line;text-align:left}.attachments-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.attachment-photo-picker-content{max-width:860px;width:min(860px,96vw)}.attachment-photo-picker-body{min-height:0}#attachment-photo-picker-list{max-height:min(58vh,560px);overflow:auto}.attachment-photo-table{width:100%;border-collapse:collapse;font-size:13px}.attachment-photo-table th,.attachment-photo-table td{border:1px solid #e5e7eb;padding:6px 8px;text-align:left;vertical-align:middle}.attachment-photo-table thead{background:#f3f4f6}.attachment-photo-table select{width:100%;min-width:160px;min-height:34px}.attachment-photo-picker-camera-btn{display:inline-flex;align-items:center;gap:8px}.attachment-photo-picker-camera-btn svg{width:18px;height:18px;fill:currentColor}.attachment-photo-camera-capture-btn{display:inline-flex;align-items:center;gap:8px}.attachment-photo-camera-capture-btn svg{width:18px;height:18px;fill:currentColor}.attachment-photo-camera-btn{flex:0 0 auto}.attachment-photo-camera-content{max-width:720px;width:min(720px,96vw)}.attachment-photo-camera-body{display:flex;flex-direction:column;gap:8px}.attachment-photo-video{width:100%;max-height:min(62vh,560px);background:#111827;border-radius:6px;object-fit:contain}.log-content{max-width:1100px}.log-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.log-body{display:flex;flex-direction:column;gap:16px}.log-card-header{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:16px;align-items:center}.log-barcode-block{display:flex;flex-direction:column;align-items:center;gap:6px;border:1px dashed #d1d5db;padding:8px;border-radius:8px;background:#f9fafb}.log-barcode-number{font-weight:600;letter-spacing:1px}.log-card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 12px;font-size:13px}.log-section h4{margin:0 0 8px}.log-section{border-top:1px solid #e5e7eb;padding-top:10px}.log-section table{width:100%;border-collapse:collapse;font-size:13px}.hint{color:#6b7280;font-size:12px;margin:6px 0 0}.log-section th,.log-section td{border:1px solid #e5e7eb;padding:6px 8px;text-align:left;vertical-align:top}.log-section thead{background:#d3d4d7}.log-summary-actions{margin-top:8px;display:flex;justify-content:flex-end;gap:8px}.log-initial-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 12px;font-size:13px;margin-bottom:8px}.hidden-input{display:none}.icon-btn{border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:6px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;padding:0}.executor-cell{display:flex;flex-direction:column;gap:6px}.executor-row{display:flex;align-items:center;gap:6px}.executor-row .combo-field{flex:1 1 auto}.executor-main-input{flex:1;padding:6px 8px}.executor-name{font-weight:600}.executor-name-external{color:#1d4ed8}.additional-executor-list{display:flex;gap:6px;flex-wrap:wrap}.executor-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;background:#e5e7eb;font-size:12px}.executor-history-main{font-weight:600}.executor-history-extras{display:flex;flex-direction:column;gap:2px}.executor-history-line,.summary-executor-line{font-size:12px;color:#374151}.summary-executor-line.actual{font-weight:700}.individual-area-executor-placeholder{color:#1d4ed8;font-weight:600}.individual-op-parent-row{background:#f8fafc}.individual-op-personal-row td{background:#fcfcfd;border-top:1px dashed #d1d5db}.individual-op-personal-row td:first-child{font-weight:600;color:#475569}.individual-op-items-row td{background:#fcfcfd}.personal-op-label{margin-top:4px;color:#7c3aed;font-size:12px;font-weight:600}.personal-op-cell{display:flex;flex-direction:column;gap:6px}.personal-op-cell-line{min-height:24px;display:flex;align-items:center}.personal-op-cell-line-history{padding-bottom:6px;border-bottom:1px solid #e5e7eb;color:#4b5563;font-size:12px}.personal-op-cell-line-current{font-weight:600}.personal-op-actions .personal-op-cell,.personal-op-actions .personal-op-cell-line{min-width:0}.personal-op-actions .personal-op-cell-line-current{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.personal-op-actions .personal-op-cell-line .btn-primary,.personal-op-actions .personal-op-cell-line .btn-secondary{margin-right:0;max-width:100%}.attachments-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:6px}.attachments-table th,.attachments-table td{border:1px solid #e5e7eb;padding:6px 8px;text-align:left}.attachments-table thead{background:#f3f4f6}.attachments-table tr.attachment-highlight{background:#dcfce7}.attachments-table tr.attachment-highlight td{border-color:#86efac}.attachments-icon-actions .btn-small{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px}.attachments-icon-actions .btn-small svg{display:block}.upload-hint{font-size:12px;color:#6b7280}.modal-header{margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;flex-shrink:0}.modal-header h2,.modal-header h3{margin:0}.modal-body{display:flex;flex-direction:column;gap:12px;flex:1;overflow:hidden}#access-level-modal .modal-body{overflow-y:auto}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;flex-shrink:0;align-items:center;flex-wrap:wrap}.delete-confirm-hint{margin:0;font-size:13px;color:#6b7280}.card-modal-actions{justify-content:space-between;align-items:center}.modal-actions-left,.modal-actions-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.provision-file-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;margin-top:12px}.provision-file-name{max-width:min(360px,55vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}#provision-production-order-modal .modal-content{width:50vw;max-width:50vw;height:30vh;max-height:30vh}#provision-production-order-modal .modal-body{min-height:0;overflow:auto}#provision-production-order-modal .modal-actions-right{margin-left:auto}#provision-production-order-modal .modal-actions{justify-content:space-between}.op-comments-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd5e1;background:#eef2ff;color:#1f2937;border-radius:999px;padding:4px 8px;font-size:12px;cursor:pointer}.op-comments-count{background:#111827;color:#fff;border-radius:999px;padding:0 6px;font-size:11px;line-height:1.4}.op-comments-list{display:flex;flex-direction:column;gap:10px;max-height:280px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;padding:10px;background:#f9fafb}.op-comments-item{display:flex;flex-direction:column;gap:4px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.op-comments-item:last-child{border-bottom:none;padding-bottom:0}.op-comments-meta{font-size:12px;color:#6b7280}.delay-return-actions{display:inline-flex;align-items:center;gap:6px}.delay-return-comment-inline,.delay-return-comment-single,#delay-return-comment-text{white-space:pre-wrap}.delay-return-file-btn{display:inline-flex;align-items:center;border:1px solid #cbd5e1;background:#f8fafc;color:#1f2937;border-radius:999px;padding:4px 8px;font-size:12px;cursor:pointer}.delay-return-comment-text{white-space:pre-wrap;max-height:320px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;padding:10px;background:#f9fafb}#delay-return-comment-modal.delay-return-comment-modal--all .modal-content{width:80vw;max-width:80vw;height:80vh;max-height:80vh}#delay-return-comment-modal.delay-return-comment-modal--all .modal-header{align-items:flex-start;gap:12px}#delay-return-comment-modal.delay-return-comment-modal--all .modal-body{display:flex;flex-direction:column;flex:1;min-height:0}.delay-return-comment-count{margin-left:auto;color:#6b7280;font-size:13px;font-weight:600;white-space:nowrap}.delay-return-comment-all{display:flex;flex-direction:column;flex:1;min-height:0}.delay-return-comment-all-table{flex:1;min-height:0;overflow:auto}.delay-return-comment-cell{white-space:pre-wrap}.delay-return-comment-file-link{display:inline-block;margin-top:4px}@media(max-width:640px){#delay-return-comment-modal.delay-return-comment-modal--all .modal-content{width:96vw;max-width:96vw;height:92vh;max-height:92vh;padding:12px}#delay-return-comment-modal.delay-return-comment-modal--all .modal-header{flex-direction:column}.delay-return-comment-count{margin-left:0;white-space:normal}}.inset-card{box-shadow:none;border:1px solid #e5e7eb;margin:0}footer{text-align:center;font-size:11px;color:#6b7280;padding:12px 8px 20px}body.page-card-mode #app-footer{display:none}.wo-card{border:1px solid #e5e7eb;border-radius:10px;margin-bottom:12px;overflow:hidden;background:#fff}.wo-card summary{padding:10px 12px;cursor:pointer;list-style:none;border-bottom:1px solid #e5e7eb}.wo-card summary::-webkit-details-marker{display:none}.wo-card table{margin:0;border:0}#workorders .operations-table-wrapper .table-actions button{padding:4px 8px;font-size:12px;min-height:32px;min-width:32px}#workorders .operations-table-wrapper .table-actions .btn-primary,#workorders .operations-table-wrapper .table-actions .btn-secondary,#workorders .operations-table-wrapper .table-actions .btn-danger{min-height:32px}#workorders .operations-table-wrapper{width:100%;overflow-x:auto}body.page-wo-mode{overflow-x:hidden}.page-wo-mode .wo-page,.page-wo-mode .wo-card,.page-wo-mode .operations-table-wrapper{max-width:100%;box-sizing:border-box}.page-wo-mode .operations-table-wrapper{overflow-x:hidden}.page-wo-mode .operations-table-wrapper table{width:100%;table-layout:fixed}.page-wo-mode .operations-table-wrapper th,.page-wo-mode .operations-table-wrapper td{white-space:normal;word-break:normal;overflow-wrap:break-word}.page-wo-mode .executor-highlight,.page-wo-mode .center-highlight{background:transparent;border:none;transform:none}#workorders .workorders-filters{display:flex;align-items:flex-end;gap:8px;flex-wrap:nowrap;margin-bottom:8px}#workorders .workorders-filters .flex-col{gap:4px}#workorders .workorders-filters label{font-size:12px;margin-bottom:2px}#workorders .workorders-filters input,#workorders .workorders-filters select{padding:6px 8px;font-size:13px;min-height:32px}#workorders .workorders-filter-search{flex:1 1 320px;min-width:240px}#workorders .workorders-filter-status,#workorders .workorders-filter-missing,#workorders .workorders-filter-mode{flex:0 0 180px}#workorders .workorders-filter-date{flex:0 0 140px}#workorders .workorders-filter-shift{flex:0 0 150px}#workorders .workorders-filter-reset{flex:0 0 auto}#workorders .workorders-filters .search-with-camera input{min-height:32px}#workorders .workorders-filters .search-with-camera .camera-scan-btn{height:32px;min-height:32px}.summary-line{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.production-list-card{cursor:pointer}.production-list-summary-line{padding:10px 12px}.production-list-card .summary-sub{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.summary-text{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.summary-sub{color:#6b7280;font-size:12px}.summary-inline-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.items-summary{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}#items-modal .modal-content{width:80vw;max-width:80vw;height:80vh;max-height:80vh}#items-modal .modal-body,#items-modal .items-modal-tabs,#items-modal .tabs-content{min-height:0}#items-modal .items-modal-tabs,#items-modal .tabs-content{display:flex;flex-direction:column;flex:1}#items-modal .items-summary{display:grid;grid-template-columns:repeat(3,max-content);gap:8px 28px;justify-content:start;margin-bottom:12px}#items-modal .items-summary-column{display:flex;flex-direction:column;gap:6px;min-width:0}#items-modal .items-modal-search-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-shrink:0}#items-modal .items-modal-search-input{flex:1;min-width:0}#items-modal .items-modal-collapsible{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;min-height:0;padding-top:10px}#items-modal .items-modal-collapsible+.items-modal-collapsible{margin-top:12px}#items-modal .items-modal-collapsible>summary{cursor:pointer;font-weight:700;margin-bottom:10px;-webkit-user-select:none;user-select:none}#items-modal .items-modal-collapsible:not([open]){flex:0 0 auto}#items-modal .items-modal-start-section[open]{flex:0 1 36%}#items-modal .items-modal-log-section[open]{flex:1 1 0}#items-modal .items-start-table-wrapper{min-height:120px;overflow:auto}#items-modal .items-modal-start-section[open] .items-start-table-wrapper,#items-modal .items-modal-log-section[open] .items-modal-table-wrapper{flex:1}#items-modal .items-modal-table-wrapper{flex:1;min-height:0;overflow:auto}.items-modal-tabs{margin-top:0}.items-modal-tab-pane{display:none;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;animation:fadeIn .3s ease}.items-modal-tab-pane.active{display:block}#items-modal .items-modal-tab-pane{min-height:0;overflow:hidden;flex:1;flex-direction:column}#items-modal .items-modal-tab-pane.active{display:block;overflow-x:hidden;overflow-y:auto;padding-right:4px}#items-modal .items-modal-tab-pane .items-modal-collapsible{display:block;flex:none}#items-modal .items-modal-tab-pane .items-modal-start-section[open],#items-modal .items-modal-tab-pane .items-modal-log-section[open]{flex:none}#items-modal .items-modal-tab-pane .items-start-table-wrapper,#items-modal .items-modal-tab-pane .items-modal-table-wrapper{flex:none;max-height:none}.items-summary-line{display:flex;flex-wrap:wrap;gap:6px}.items-summary-start{color:#2563eb;font-weight:700}@media(max-width:900px){#items-modal .items-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){#items-modal .modal-content{width:96vw;max-width:96vw;height:92vh;max-height:92vh;padding:12px}#items-modal .items-summary{grid-template-columns:minmax(0,1fr)}#items-modal .items-modal-search-row{align-items:stretch;flex-direction:column}#items-modal .items-modal-start-section[open]{flex-basis:42%}}.log-op-shift-meta{color:#6b7280;font-size:11px;line-height:1.3;font-weight:600;margin-bottom:4px}.log-op-shift-row td{border-top:1px solid #d1d5db}.items-summary-detail{border:1px solid #dbe3ee;border-radius:10px;background:#f8fafc;overflow:hidden}.items-summary-detail>summary.items-summary-line{position:relative;display:flex;align-items:center;gap:8px;padding:10px 12px 10px 36px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.items-summary-detail>summary.items-summary-line::-webkit-details-marker{display:none}.items-summary-detail>summary.items-summary-line:before{content:"▸";position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#475569;font-size:14px;transition:transform .18s ease}.items-summary-detail[open]>summary.items-summary-line:before{transform:translateY(-50%) rotate(90deg)}.items-summary-detail>summary.items-summary-line:hover{background:#eef4fb}.items-summary-detail-body{padding:0 12px 12px}.items-summary-name-list{margin:0;padding-left:20px}.items-summary-name-list li+li{margin-top:4px}.items-summary-done{color:#16a34a}.items-summary-delayed{color:#d97706}.items-summary-defect{color:#dc2626}.items-summary-disposed{color:#c8471d}.items-status-good{color:#16a34a;font-weight:600}.items-status-delayed{color:#d97706;font-weight:600}.items-status-defect{color:#dc2626;font-weight:600}.items-status-disposed{color:#c8471d;font-weight:600}.items-status-pending{color:#111827;font-weight:600}.items-status-moved{color:#2563eb;font-weight:600}.items-page-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:12px}.items-page-filter{min-width:0}.items-page-filter-search{flex:1 1 320px;max-width:560px}.items-page-filter-status-wrap{flex:0 0 180px}.items-page-filter-date-field{flex:0 0 190px}.items-page-filter span{font-weight:600}.items-page-date-input-wrap{display:flex;align-items:center;gap:6px}.items-page-date-input-wrap input{flex:1 1 auto}.items-page-status-select.is-good{color:#15803d}.items-page-status-select.is-pending{color:#111827}.items-page-status-select.is-delayed{color:#d97706}.items-page-status-select.is-defect{color:#dc2626}.items-page-status-select.is-disposed{color:#c8471d}.items-page-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-left:auto;padding-bottom:2px}.items-page-summary-item{display:inline-flex;align-items:center;gap:4px;font-size:14px;line-height:1.2;white-space:nowrap}.items-page-summary-item strong{font-weight:700}.items-page-summary-total{color:#111827}.items-page-table{min-width:1180px}.items-page-table td{vertical-align:top}.items-page-cell-shared{background:#f8fafc;font-weight:600;vertical-align:middle}.items-page-cell-group{background:#fff7ed}.items-page-row-subgroup-start td{border-top-width:2px}.items-page-row-block-start td{border-top-width:3px;border-top-color:#cbd5e1}.items-page-route-cell,.items-page-serial-cell{cursor:pointer;-webkit-user-select:none;user-select:none}.items-page-route-cell:hover{background:#fffbeb}.items-page-serial-cell:hover{background:#eff6ff}.items-page-route-value,.items-page-serial-value{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px}.items-page-status-pill{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;font-weight:600;white-space:nowrap}.items-page-table .items-status-pending,.items-page-table .items-status-good,.items-page-table .items-status-delayed,.items-page-table .items-status-defect,.items-page-table .items-status-disposed{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:999px;white-space:nowrap}.items-page-muted-row td{color:#6b7280}.items-page-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;margin-top:14px}.items-page-pagination-btn{min-width:34px;height:34px;padding:0 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;cursor:pointer;font-size:14px;font-weight:600;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.items-page-pagination-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.items-page-pagination-btn.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.items-page-pagination-btn:disabled{opacity:.45;cursor:default}.item-detail-page>.card{display:flex;flex-direction:column;gap:16px}.item-detail-title-row{align-items:flex-start;gap:12px}.item-detail-title-row h2{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;min-width:0}.item-detail-title-row .items-status-pending,.item-detail-title-row .items-status-good,.item-detail-title-row .items-status-delayed,.item-detail-title-row .items-status-defect,.item-detail-title-row .items-status-disposed{display:inline-flex;align-items:center;min-height:26px;padding:3px 10px;border-radius:999px;background:#f8fafc;border:1px solid #e5e7eb;font-size:14px;line-height:1.2;white-space:nowrap}.item-detail-header{align-items:start}.item-detail-meta{align-self:stretch}.item-detail-meta-field{min-width:0;line-height:1.45}.item-detail-meta-field strong{color:#374151}.item-detail-meta-field span{overflow-wrap:anywhere}.item-detail-qr-btn{width:26px;height:26px;margin-left:6px;vertical-align:middle}.item-detail-route-card,.item-detail-history{border-top:1px solid #e5e7eb;padding-top:12px}.item-detail-route-card h3,.item-detail-history h3{margin:0 0 10px;font-size:18px}.item-detail-table-wrapper{overflow-x:auto}.item-detail-table{width:100%;min-width:860px;border-collapse:collapse;font-size:13px}.item-detail-table th,.item-detail-table td{border:1px solid #e5e7eb;padding:6px 8px;text-align:left;vertical-align:top}.item-detail-table thead{background:#e5e7eb}.item-detail-table th:nth-child(n+4),.item-detail-table td:nth-child(n+4){text-align:center;width:96px}.item-detail-status-value{font-weight:700}.item-detail-personal-row{font-size:12px;color:#4b5563}.item-detail-personal-row .item-detail-status-value{font-weight:400}.item-detail-current-operation,.item-detail-current-operation>td{background:#d1fae5!important}.item-detail-personal-row td:first-child,.item-detail-personal-row td:nth-child(2),.item-detail-personal-row td:nth-child(3){padding-left:16px}@media(max-width:760px){.item-detail-header{grid-template-columns:1fr}.item-detail-title-row{flex-direction:column;align-items:stretch}}.items-page-pagination-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:24px;color:#6b7280;font-weight:700}.summary-inline-actions .btn-small,.summary-inline-actions .clip-btn{min-width:auto}.summary-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;line-height:1;border:1px solid transparent}.status-pill-missing-executor{background:#fef9c3;color:#92400e;border-color:#facc15}.status-pill-not-started{background:#f3f4f6;color:#374151}.status-pill-in-progress{background:#d1fae5;color:#065f46;border-color:#10b981}.status-pill-paused{background:#fef3c7;color:#92400e;border-color:#facc15}.status-pill-mixed{background:linear-gradient(90deg,#fef3c7,#fef3c7 50%,#d1fae5 50%,#d1fae5);color:#065f46;border-color:#10b981}.status-pill-done{width:28px;height:28px;border-radius:50%;border:2px solid #10b981;background:#fff;color:#10b981;font-weight:700}body.page-workspace-detail-mode .workspace-route-table .status-pill.status-pill-done{width:auto;min-width:0;height:auto;padding:4px 8px;border:1px solid #34d399;border-radius:999px;background:#34d399;color:#064e3b;font-weight:600}body.page-workspace-detail-mode .workspace-route-table .status-pill{min-width:0;padding:4px 8px;font-size:12px}body.page-workspace-detail-mode .workspace-route-table .status-pill.status-pill-in-progress{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8}body.page-workspace-detail-mode .workspace-route-table .status-pill.status-pill-no-items{min-width:116px;padding:5px 8px;border-color:#dff1fb;background:#dff1fb;color:#0369a1;line-height:1.05;white-space:normal}body.page-workspace-detail-mode .workspace-route-table .status-pill.status-pill-not-started{padding:4px 8px}.comment-input{width:100%;padding:6px 8px;border-radius:6px;border:1px solid #d1d5db;resize:vertical;min-height:32px;line-height:1.35;overflow:hidden}.comment-readonly{min-height:20px;padding:4px 2px;color:#374151}.approval-icon-col,.approval-icon-cell{text-align:center;width:56px}.approval-status{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;font-weight:600}.approval-status-approved{color:#16a34a;background:#dcfce7}.approval-status-rejected{color:#dc2626;background:#fee2e2}.approval-status-pending{color:#6b7280;background:#e5e7eb}.approvals-actions{display:flex;flex-wrap:wrap;gap:6px}.approvals-actions .btn-approve,.table-actions .btn-approve{background:#22c55e;color:#fff}.approvals-actions .btn-approve:hover,.table-actions .btn-approve:hover{background:#16a34a}.approvals-actions .btn-reject{background:#ef4444;color:#fff}.approvals-actions .btn-reject:hover{background:#dc2626}#approval-approve-title{color:#16a34a}#approval-reject-title{color:#dc2626}.approval-thread{max-height:min(260px,35vh);overflow-y:auto;overflow-x:hidden;border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#f9fafb}.approval-thread-entry{padding:8px 0;border-bottom:1px dashed #e5e7eb}.approval-thread-entry:last-child{border-bottom:none}.approval-thread-header{font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px}.approval-thread-icon{flex:0 0 auto;display:block}.approval-thread-icon--approve{color:#16a34a}.approval-thread-icon--reject{color:#dc2626}.approval-thread-icon--unfreeze{color:#f59e0b}.approval-thread-icon--send{color:#2563eb}.approval-thread-meta{font-size:12px;color:#6b7280}.approval-thread-comment{margin-top:6px;font-size:13px;white-space:pre-wrap}.btn-link,.barcode-link{text-align:left}.char-counter{margin-top:6px;font-size:12px;color:#6b7280;text-align:right}.modal-readonly .modal-body{background:#f9fafb}.op-qty-row td{background:#f9fafb;font-size:12px}.qty-row-content{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.qty-row-content label{display:inline-flex;align-items:center;gap:6px;font-weight:600}.qty-row-content input.qty-input{width:90px;padding:4px 6px;font-size:12px}.qty-row-content .qty-total{font-weight:700}.qty-row-content.readonly .qty-chip{background:#e5e7eb;padding:4px 8px;border-radius:6px}.executor-input{width:100%;padding:6px 8px;border-radius:6px;border:1px solid #d1d5db}.summary-barcode{display:inline-flex;align-items:center;gap:6px}#workorders-table-wrapper .wo-card,#archive-table-wrapper .wo-card{margin:0;border-radius:0}#workorders-table-wrapper .wo-card+.wo-card,#archive-table-wrapper .wo-card+.wo-card{border-top:1px solid #e5e7eb}#workorders-table-wrapper .wo-card:first-child,#archive-table-wrapper .wo-card:first-child{border-top-left-radius:10px;border-top-right-radius:10px}#workorders-table-wrapper .wo-card:last-child,#archive-table-wrapper .wo-card:last-child{border-bottom-left-radius:10px;border-bottom-right-radius:10px;margin-bottom:12px}.dash-comment-line{font-size:12px;margin-bottom:2px}.dash-qty-line{font-size:12px;margin-bottom:2px;white-space:nowrap}.dash-comment-op{font-weight:600}.dash-op{display:block;font-size:12px;margin-bottom:2px;padding:2px 4px;border-radius:4px;white-space:nowrap}.dash-op-paused{background:#fef3c7;color:#92400e}.dash-op-overdue{background:#fee2e2;color:#991b1b}.dash-card-completed{display:inline-block;padding:2px 6px;border-radius:4px;background:#dcfce7;color:#166534;font-size:12px;font-weight:500}.card-archived-label{display:inline-block;padding:2px 6px;border-radius:4px;background:#fee2e2;color:#b91c1c;font-size:12px;font-weight:600}.auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.auth-modal{background:#fff;padding:24px;border-radius:8px;box-shadow:0 10px 30px #0003;max-width:360px;width:100%}.auth-modal h2{margin-top:0;margin-bottom:12px}.auth-modal form{display:flex;flex-direction:column;gap:12px}.auth-actions{display:flex;gap:12px;flex-wrap:wrap}.auth-actions button{flex:1 1 120px}#login-qr-btn{flex:0 0 72px}.auth-field{display:block}.auth-field-label{display:block;margin-bottom:6px;font-size:13px;line-height:1.3;color:#4b5563}.auth-modal input[type=password],.auth-modal input[type=text]{box-sizing:border-box;display:block;width:100%;height:40px;padding:0 12px;border:1px solid #d0d7de;border-radius:6px;font-size:14px;background:#fff}.login-password-input{position:relative;display:block}.login-password-input input{padding-right:44px}.login-password-input .password-visibility{position:absolute;top:50%;right:4px;transform:translateY(-50%);min-width:32px;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:6px;font-size:16px;color:#6b7280;cursor:pointer}.login-password-input .password-visibility:hover,.login-password-input .password-visibility:focus-visible{background:#11182714;outline:none}.auth-modal .password-hint{margin:0;font-size:12px;line-height:1.4;color:#6b7280}.auth-actions button{height:40px}#login-error{margin:0;min-height:20px;font-size:14px;line-height:1.4;color:#374151}.auth-modal .auth-version{margin:0}.auth-modal button[type=submit]{padding:10px 12px;background:#2563eb;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600}.auth-modal button[type=submit]:hover{background:#1d4ed8}#login-error.login-error-server-down{color:#ef4444}.auth-error{color:#b91c1c;min-height:20px;font-size:13px}.auth-version{margin-top:4px;color:#6b7280;font-size:12px;line-height:1.4}.auth-update-notice{margin-top:12px;padding:10px 12px;border:1px solid #f59e0b;border-radius:6px;background:#fffbeb;color:#92400e;font-size:13px;font-weight:600;line-height:1.35}.auth-update-notice[hidden]{display:none}.help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1200}.help-modal{background:#fff;width:min(960px,100%);height:min(90vh,900px);border-radius:14px;box-shadow:0 16px 48px #00000040;display:flex;flex-direction:column;overflow:hidden}.help-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f8fafc,#eef2ff)}.help-modal-header h2{margin:0;font-size:18px}.help-close{border:none;background:#e5e7eb;color:#111827;border-radius:8px;padding:6px 10px;font-size:16px;cursor:pointer;transition:background .2s ease,transform .1s ease}.help-close:hover{background:#d1d5db}.help-close:active{transform:scale(.98)}.help-modal-body{flex:1;min-height:0;background:#f8fafc}.help-modal-body iframe{width:100%;height:100%;border:none;display:block;background:#f8fafc}.barcode-scanner-modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:1300}.barcode-scanner-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000a6}.barcode-scanner-modal__content{position:relative;background:#0b1221;color:#e5e7eb;width:min(520px,92vw);height:min(80vh,640px);border-radius:14px;box-shadow:0 18px 48px #00000059;padding:16px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.barcode-scanner-close{position:absolute;right:10px;top:10px;width:40px;height:40px;border-radius:50%;border:none;background:#ffffff1f;color:#fff;font-size:20px;cursor:pointer;z-index:2;display:inline-flex;align-items:center;justify-content:center}.barcode-scanner-video-wrapper{flex:1 1 auto;background:#000;border-radius:10px;overflow:hidden;position:relative}.barcode-scanner-video-wrapper video{width:100%;height:100%;object-fit:cover;display:block}.barcode-scanner-hint{margin:0;font-weight:600;text-align:center}.barcode-scanner-status{margin:0;font-size:14px;color:#cbd5e1;text-align:center;min-height:20px}.toast-container{position:fixed;bottom:16px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:1400;pointer-events:none}.toast{background:#111827eb;color:#f8fafc;padding:10px 14px;border-radius:10px;box-shadow:0 10px 24px #00000059;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease}.toast--danger{background:#b91c1cf5;color:#fff7ed}.toast--success{background:#15803df5;color:#f0fdf4}.toast--update{background:#0f172af5;color:#f8fafc;font-weight:600}.toast--visible{opacity:1;transform:translateY(0)}@media(max-width:640px){.help-modal{height:min(92vh,760px)}.help-modal-header h2{font-size:17px}}.password-row{display:flex;gap:8px;flex-wrap:wrap}.password-row input{flex:1 1 200px}.form-error{color:#b91c1c;font-size:14px}.security-table{width:100%;border-collapse:collapse}.security-table th,.security-table td{border:1px solid #e5e7eb;padding:8px;text-align:left}.security-table th{background:#f3f4f6}.historical-user-name{color:#b91c1c;font-weight:600}.historical-user-badge{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid #fecaca;border-radius:999px;background:#fef2f2;color:#991b1b;font-size:12px;line-height:1.25;white-space:nowrap}.user-presence-online{background:#dcfce7;color:#166534}.user-presence-offline{background:#e5e7eb;color:#111827}.security-table tr.user-row-historical-deleted{background:#fff7f7}.security-table tr.user-row-historical-deleted,.security-table tr.user-row-historical-deleted td,.security-table tr.user-row-historical-deleted .muted{color:#b91c1c}.security-action-buttons{display:inline-flex;align-items:stretch;gap:8px}.security-action-buttons .btn-delete{min-height:auto;padding:10px;font-size:14px}@media(max-width:640px){.auth-modal{max-width:92vw}.auth-actions{flex-wrap:nowrap;gap:6px}.auth-actions button{flex:1 1 0;padding:10px 8px;font-size:14px}#login-qr-btn{flex:0 0 64px}}.permission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.permission-card{border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#fafafa}.permission-card h4{margin:0 0 8px}.permissions-table th:nth-child(2),.permissions-table th:nth-child(3),.permissions-table td.permissions-table-check{text-align:center;width:110px}.permissions-table td.permissions-table-check input[type=checkbox]{width:16px;height:16px}.permissions-table th button.permissions-col-toggle{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}.permissions-table th button.permissions-col-toggle:hover{color:#2563eb}.executor-highlight{background:#ecfdf3;border:2px solid #a7f3d0;transform:scale(1.02)}.executor-highlight .action-buttons button{transform:scale(1.05)}.center-highlight{background:#ecfdf3;border-left:3px solid #22c55e}.user-panel{display:flex;align-items:center;gap:8px;margin-left:auto}.user-badge{display:inline-flex;align-items:center;gap:8px;align-self:center;background:#4c9bbe;color:#fff;padding:8px 12px;border-radius:8px;font-weight:600;text-align:center;align-content:center;font-size:15px;min-height:40px;border:none;cursor:pointer}.user-badge .user-name{display:inline-flex;align-items:center;gap:6px}.user-badge .unread-count{display:none;min-width:26px;height:26px;align-items:center;justify-content:center;padding:0 8px;border-radius:999px;background:#dc2626;color:#fff;font-size:13px;font-weight:700;line-height:1}.user-badge.has-unread .unread-count{display:inline-flex;animation:unreadPulse 1.2s ease-in-out infinite}.chat-layout{display:grid;grid-template-columns:280px minmax(0,1fr) 320px;gap:16px;margin-top:24px;min-height:520px;height:clamp(520px,calc(100dvh - 300px),760px)}.chat-compact-actions{display:none}.chat-users{border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:8px;min-height:0}.chat-users-header,#chat-thread-title,.chat-log-header{font-weight:600;font-size:15px;line-height:1.3;color:#0f172a}.chat-users-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.chat-online-filter{flex:0 0 auto;width:12px;height:12px;padding:0;border:none;border-radius:50%;background:#94a3b8;cursor:pointer;transition:background .15s ease}.chat-online-filter.active{background:#22c55e}.chat-users-search{width:100%;box-sizing:border-box;padding:6px 8px;border:1px solid #e5e7eb;border-radius:8px;font-size:14px;color:#0f172a}.chat-users-list{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;max-height:none;overflow-y:auto}.chat-user-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:background .15s ease}.chat-user-row:hover{background:#f8fafc}.chat-user-row.active{background:#e0f2fe;border-color:#bae6fd}.chat-user-name{display:flex;align-items:center;gap:8px;font-weight:500}.chat-user-name.unread{font-weight:700}.chat-user-status{width:8px;height:8px;border-radius:50%;background:#94a3b8}.chat-user-status.online{background:#22c55e}.chat-user-status.offline{background:#ef4444}.chat-user-status.unknown{background:#94a3b8}.chat-user-icons{display:inline-flex;gap:6px;font-size:14px}.chat-thread{border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:12px;min-height:0}.chat-log{border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:8px;min-height:0}.chat-log-header{font-weight:600;color:#0f172a}.chat-log-list{flex:1 1 auto;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.user-action-item{border:1px solid #e5e7eb;border-radius:8px;padding:8px 10px;background:#f8fafc}.user-action-time{font-size:12px;color:#64748b;margin-bottom:4px}.user-action-text{font-size:13px;color:#0f172a;line-height:1.35}.chat-thread-header{display:flex;justify-content:space-between;align-items:center}.chat-thread-title{font-weight:600}.chat-thread-status{font-size:12px;color:#64748b}.chat-card-title-stack h2,.chat-card-title-stack h3{margin:0}.chat-card-title-stack{display:flex;flex-direction:column;gap:4px}.webpush-controls{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}.webpush-status{font-size:12px;color:#64748b}.webpush-buttons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.chat-messages{flex:1 1 auto;border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#f8fafc;overflow-y:auto;display:flex;flex-direction:column;gap:8px;position:relative;min-height:0}.chat-scroll-loader{font-size:12px;color:#64748b;text-align:center}.chat-empty{text-align:center;color:#94a3b8;margin-top:12px}.chat-msg-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:#64748b;margin-bottom:6px}.chat-msg-meta .chat-msg-time{margin-bottom:0}.chat-msg-status{display:inline-flex;align-items:center;gap:4px}.chat-retry-btn{background:transparent;border:none;color:#dc2626;font-size:12px;cursor:pointer;margin-top:6px;padding:0}.chat-msg-error{color:#b91c1c;font-size:12px;line-height:1.35;margin-top:6px}@media(max-width:1280px){.chat-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr);height:clamp(560px,calc(100dvh - 300px),820px)}.chat-compact-actions{display:flex;grid-column:1 / -1;justify-content:flex-end;align-items:center}.chat-log-toggle{min-width:120px}.chat-log,.chat-layout.chat-log-open .chat-thread{display:none}.chat-layout.chat-log-open .chat-log{display:flex;grid-column:2}}@media(max-width:760px){.chat-layout{grid-template-columns:1fr;height:auto;min-height:0}.chat-users,.chat-thread{min-height:320px}.chat-users-list{max-height:240px}.chat-layout.chat-log-open .chat-log{grid-column:1;min-height:320px}.chat-messages{min-height:320px}}@keyframes unreadPulse{0%{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(.95)}}.chat-panel{border:1px solid #e5e7eb;border-radius:8px;padding:12px;height:320px;overflow-y:auto;background:#fafafa;display:flex;flex-direction:column;gap:8px;margin-top:12px}.chat-msg{max-width:78%;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 2px #0f172a0a}.chat-msg.me{align-self:flex-end;background:#e0f2fe;border-color:#bae6fd}.chat-msg.other{align-self:flex-start}.chat-msg-time{font-size:12px;color:#64748b;margin-bottom:6px}.tabs-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tab-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #cbd5f5;border-radius:999px;padding:4px 8px;font-size:14px;background:#fff}.tab-pill.active{background:#4c9bbe;color:#fff;border-color:#4c9bbe}.tab-pill-btn{background:transparent;border:none;color:inherit;cursor:pointer;font:inherit;padding:2px 4px}.tab-pill-close{background:transparent;border:none;color:inherit;cursor:pointer;font-size:16px;line-height:1;opacity:.7;padding:2px 4px}.tab-pill-close:hover{opacity:1}.chat-compose{display:flex;gap:8px;align-items:flex-end;margin-top:12px}.chat-compose textarea{flex:1 1 auto;min-width:0}.chat-compose button{flex:0 0 auto}.chat-emoji-wrap{position:relative;flex:0 0 auto;display:flex;align-items:flex-end}.chat-emoji-toggle{width:44px;min-width:44px;height:39px;padding:0;font-size:20px;line-height:1}.chat-emoji-menu{position:absolute;right:0;bottom:calc(100% + 8px);z-index:20;width:min(312px,calc(100vw - 32px));max-height:220px;overflow-y:auto;display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:8px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;box-shadow:0 12px 28px #0f172a29}.chat-emoji-menu.hidden{display:none}.chat-emoji-option{width:32px;height:32px;min-width:32px;border:1px solid transparent;border-radius:6px;background:transparent;padding:0;cursor:pointer;font-size:20px;line-height:1}.chat-emoji-option:hover,.chat-emoji-option:focus-visible{border-color:#93c5fd;background:#eff6ff;outline:none}.chat-emoji-toggle:disabled{cursor:not-allowed;opacity:.55}@media(max-width:760px){.chat-emoji-menu{left:50%;right:auto;width:min(248px,calc(100vw - 32px));grid-template-columns:repeat(6,1fr);transform:translate(-50%)}}.btn-logout{background:#e37575;color:#fff;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;font-weight:600;min-height:40px;font-size:15px}.btn-logout:hover{background:#dc2626}.tab-readonly .view-disabled{opacity:.6;pointer-events:none}.tab-readonly input.view-disabled,.tab-readonly select.view-disabled,.tab-readonly textarea.view-disabled{background-color:#f3f4f6}@media(max-width:1024px){header{flex-direction:column;align-items:flex-start}.nav-menu{width:100%;margin-left:0}.user-panel{margin-left:0}}@media(max-width:768px){header{flex-direction:column;align-items:stretch;gap:8px}.header-left h1{font-size:18px}.header-left{flex-direction:row;align-items:center;gap:8px}.clock-display,.header-status-row{display:none}.user-panel{margin-left:auto;flex-wrap:nowrap;align-items:center;gap:8px}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}.nav-menu{width:100%;flex-direction:column;align-items:stretch;display:none;gap:6px;margin-left:0}.nav-menu.open{display:flex}.nav-menu .nav-btn{width:100%;text-align:left;justify-content:flex-start}main{padding:12px 10px 20px}.card{padding:14px}.card-meta-grid,.directory-grid,.route-form-grid{grid-template-columns:1fr}.directory-modal-content{width:100%;max-width:100%}form .flex{flex-direction:column;align-items:stretch}.areas-form{flex-wrap:wrap}.areas-toolbar,.areas-load-filters{flex-direction:column;align-items:stretch}.areas-form-actions{width:100%}.workspace-search-row{grid-template-columns:1fr;gap:10px;align-items:stretch}.workspace-search-actions{width:100%;justify-content:stretch;gap:8px}.workspace-search-btn{flex:1 1 45%}table{font-size:12px}.table-wrapper table{min-width:520px}.combo-field input{flex:1 1 auto}#card-modal .card-section{display:none}#card-modal .card-section.active{display:block}.card-mobile-menu{display:flex}}@media(max-width:600px){header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand user toggle" "nav nav nav";column-gap:6px;row-gap:6px;align-items:center}.header-left{grid-area:brand;display:flex;flex-direction:row;align-items:center;gap:4px;min-width:0}.header-left h1{font-size:13px;line-height:1.15;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word;max-width:220px;margin:0}.user-panel{grid-area:user;display:inline-flex;flex-wrap:nowrap;gap:4px;justify-content:flex-end;align-items:center;margin-left:0;width:auto}.user-badge{width:auto;font-size:12px;text-align:right;white-space:nowrap}.btn-logout{padding:6px 8px;font-size:12px;width:auto}.nav-toggle{grid-area:toggle;justify-self:end}.nav-menu{grid-area:nav}.summary-sub{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.summary-inline-actions{flex-wrap:nowrap;gap:4px}.summary-inline-actions .btn-small,.summary-inline-actions .clip-btn{width:auto;min-width:0;padding:3px 6px;font-size:11px;min-height:28px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.stat-block{min-width:0;padding:6px 4px;text-align:center}.stat-block span{font-size:10px}.stat-block strong{font-size:16px}.executor-main-input,.additional-executor-input{flex:1 1 auto;min-width:12ch}}.password-field{display:flex;align-items:stretch;gap:6px;flex:1 1 auto}.password-field input{flex:1 1 auto}.password-visibility{min-width:44px;border:1px solid #d1d5db;background:#f1f5f9;border-radius:6px;font-size:16px}.password-row{align-items:center;flex-wrap:wrap;gap:6px}.password-hint{font-size:12px;color:#6b7280;margin-top:4px}.password-row .password-hint.inline-hint{margin:0;white-space:nowrap}.directory-modal-content .modal-body,.directory-modal-content .table-wrapper{overflow-x:hidden}.directory-modal-content .table-wrapper table{min-width:0;width:100%}.directory-modal-content .flex{gap:10px}@media(max-width:480px){body{font-size:14px}h1{font-size:18px}h2{font-size:16px}h3{font-size:15px}.user-panel{width:auto;justify-items:end}.user-badge{width:auto;text-align:right}.btn-primary,.btn-secondary,.btn-warning,.btn-danger,.btn-small{width:100%}.summary-inline-actions .btn-small,.summary-inline-actions .clip-btn{width:auto}.mobile-actions .btn-primary,.mobile-actions .btn-secondary,.mobile-actions .btn-warning,.mobile-actions .btn-danger,.mobile-actions .btn-small,.table-actions .btn-primary,.table-actions .btn-secondary,.table-actions .btn-warning,.table-actions .btn-danger,.table-actions .btn-small,.personal-op-actions .btn-primary,.personal-op-actions .btn-secondary,.personal-op-actions .btn-warning,.personal-op-actions .btn-danger,.personal-op-actions .btn-small{width:auto;min-width:0;max-width:100%}.user-panel .btn-logout{width:auto}.workspace-search-actions{flex-direction:column}.workspace-search-btn{width:100%}}#mobile-operations-view{position:fixed;top:0;right:0;bottom:0;left:0;background:#f3f4f6;z-index:900;display:flex;flex-direction:column;overflow:hidden}#mobile-operations-view.hidden{display:none}.mobile-ops-header{position:sticky;top:0;background:#fff;padding:12px;border-bottom:1px solid #e5e7eb;z-index:2;display:flex;flex-direction:column;gap:8px}.mobile-ops-header-row{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.mobile-ops-back{min-width:44px;min-height:44px;padding:10px 14px}.mobile-ops-title{flex:1 1 auto;font-size:16px;font-weight:700;color:#111827}.mobile-ops-subtitle{font-size:14px;color:#4b5563}.mobile-ops-actions{display:flex;gap:6px;flex-wrap:nowrap;align-items:stretch}.mobile-ops-actions .status-pill{flex:0 1 auto;min-width:0;max-width:100%}.mobile-ops-actions .btn-small{min-width:0;flex:1 1 auto}@media(max-width:250px){.mobile-ops-actions{flex-wrap:wrap}}.mobile-ops-indicator{position:sticky;top:86px;background:#f9fafb;padding:10px 12px;border-bottom:1px solid #e5e7eb;font-weight:600;z-index:1}.mobile-ops-list{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.mobile-op-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px;box-shadow:0 1px 3px #00000014;overflow:visible}.mobile-op-card .card-section-title{margin:8px 0 4px}.mobile-op-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.op-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:nowrap}.op-card-header .op-title{flex:1 1 auto;min-width:0}.op-card-header .op-status{flex:0 1 auto;display:inline-flex;align-items:center;justify-content:center;min-width:0;max-width:100%}.op-card-header .op-status .badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-size:12px;line-height:1;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.mobile-ops-actions .status-pill,td .status-pill,td .badge,.op-card-header .op-status .badge{padding:3px 8px;font-size:11px;line-height:1;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media(max-width:360px){.mobile-ops-actions .status-pill,td .status-pill,td .badge,.op-card-header .op-status .badge{font-size:10px;padding:2px 6px}}.mobile-op-name{font-weight:700;color:#111827;word-break:break-word}.mobile-op-meta{font-size:13px;color:#6b7280;margin-top:4px}.mobile-executor-block .executor-row,.mobile-executor-block .executor-cell{width:100%}.mobile-executor-block .executor-row{align-items:center}.mobile-plan-time,.mobile-qty-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:8px}.mobile-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:8px}.mobile-actions>*{min-width:0}@media(max-width:768px){.mobile-actions .btn-primary,.mobile-actions .btn-secondary,.mobile-actions .btn-warning,.mobile-actions .btn-danger,.mobile-actions .btn-small,.table-actions .btn-primary,.table-actions .btn-secondary,.table-actions .btn-warning,.table-actions .btn-danger,.table-actions .btn-small,.personal-op-actions .btn-primary,.personal-op-actions .btn-secondary,.personal-op-actions .btn-warning,.personal-op-actions .btn-danger,.personal-op-actions .btn-small{padding:8px 10px;font-size:13px;line-height:1.2;white-space:normal;overflow-wrap:anywhere}.table-actions,.personal-op-actions,.personal-op-actions .personal-op-cell-line-current{min-width:0}}.mobile-op-comment textarea{width:100%;min-height:60px}@media(min-width:769px){#mobile-operations-view{display:none!important}}.imdx-missing-list{margin:6px 0 0 20px;padding:0;list-style:disc}.imdx-missing-list:empty:before{content:"Все элементы найдены";color:#666;list-style:none;margin-left:-20px}.imdx-import-field{gap:8px}.imdx-missing-groups{gap:16px}.tabs-wrapper{display:flex;flex-direction:column;margin-top:10px}.tabs-header{display:flex;flex-wrap:wrap}.tab-btn{background:linear-gradient(to bottom,#fff,#f4f4f4);border:1px solid #ccc;border-bottom:none;padding:10px 25px;margin-right:6px;border-radius:6px 6px 0 0;position:relative;top:1px;cursor:pointer;color:#555;font-size:15px;transition:all .2s ease;-webkit-user-select:none;user-select:none;white-space:nowrap}.tab-btn:hover{background:#fff}.tab-btn.active{background:#fff;border-top:3px solid #10b981;z-index:2;font-weight:600;color:#000;padding-bottom:11px}.tabs-content{background:#fff;border:1px solid #ccc;position:relative;z-index:1;box-shadow:0 4px 6px #0000000d;padding:12px;min-height:0;border-radius:0 4px 4px;flex:1;display:flex;flex-direction:column;overflow:hidden}.tab-pane{display:none;animation:fadeIn .3s ease;width:100%;height:100%;overflow-y:auto;overflow-x:hidden}#tab-operations.active{display:flex;flex-direction:column;overflow:visible}@media(min-width:1025px){#tab-operations.active{min-height:0;overflow:hidden}}.tab-pane.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.card-top-controls{display:flex;justify-content:flex-end;margin-bottom:10px}.card-status-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}@media(max-width:768px){.tabs-header{flex-direction:row;flex-wrap:wrap}.tab-btn{flex:1 1 auto;text-align:center;margin-right:2px;margin-bottom:2px;padding:8px 12px;font-size:14px}.tabs-content{padding:10px}.card-top-controls{justify-content:flex-start}}.tab-pane{overflow-x:hidden}.card-meta-grid{display:flex;flex-wrap:wrap;gap:16px}.card-meta-col{flex:1 1 280px;min-width:0}input,textarea,select{max-width:100%}.card-mobile-menu{display:none!important}.card-top-controls{margin:0;display:flex;align-items:center}.route-add-panel{border-top:none!important}.route-samples-hint-text{font-size:12px;color:#777;margin-top:4px}.is-mki .route-samples-hint-text{display:none!important}.is-mki #route-form.route-form-grid{grid-template-columns:minmax(260px,360px) minmax(150px,170px) minmax(320px,460px) minmax(96px,120px) 42px 42px 42px minmax(170px,210px) minmax(140px,160px);align-items:end}.is-mki #route-form.route-form-grid.route-form-grid--no-targets{grid-template-columns:minmax(260px,360px) minmax(150px,170px) minmax(320px,460px) minmax(170px,210px) minmax(140px,160px)}@media(max-width:1800px){#route-form.route-form-grid,.is-mki #route-form.route-form-grid{display:flex;flex-wrap:wrap;align-items:flex-end;column-gap:8px}#route-form.route-form-grid>.route-form-wide{flex:1 1 260px;max-width:360px}#route-form.route-form-grid>.route-form-wide:nth-child(3){flex-basis:300px;max-width:460px}#route-form.route-form-grid>.route-form-code{flex:0 1 170px}#route-form.route-form-grid>.route-form-qty{flex:0 1 120px}#route-form.route-form-grid>.route-form-toggle-col{flex:0 0 42px}#route-form.route-form-grid>.route-form-planned{flex:0 1 210px}#route-form.route-form-grid>.route-form-submit{flex:0 1 160px}}@media(max-width:1800px)and (min-width:769px){#route-form.route-form-grid>.route-form-submit{flex-basis:100%;max-width:360px}}@media(max-width:900px){#route-form.route-form-grid,.is-mki #route-form.route-form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:768px){#route-form.route-form-grid,.is-mki #route-form.route-form-grid{display:grid;grid-template-columns:1fr}#route-form.route-form-grid>.flex-col{max-width:none}.route-form-submit{padding-top:0}}.is-mki .route-qty-col{gap:8px}.is-mki #route-form.route-form-grid .flex-col{align-self:stretch}.is-mki #route-form.route-form-grid input,.is-mki #route-form.route-form-grid .combo-field input{height:36px}.is-mki #route-form.route-form-grid label{white-space:nowrap}.is-mki #route-form.route-form-grid .route-submit-col{align-self:start}.is-mki #route-form.route-form-grid .route-form-toggle-col{display:flex;flex-direction:column;align-items:center;gap:4px}.is-mki .mki-samples-toggle__label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.is-mki .mki-samples-toggle__label input[type=checkbox]{width:14px!important;height:14px!important;margin:0;padding:0;accent-color:#1e88e5;transform:none!important}.is-mki .mki-qty-block__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.is-mki .mki-qty-block__samples{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.is-mki .mki-qty-block__samples input[type=checkbox]{width:14px;height:14px;margin:0;padding:0;transform:none}.route-qty-cell{vertical-align:top}.route-qty-label{font-size:13px;color:#444}.is-mki .mki-op-qty-cell{display:flex;flex-direction:column;gap:8px;min-height:100%}.is-mki .mki-op-qty-cell__value{font-size:16px;font-weight:600;line-height:1.2}.is-mki .mki-op-qty-cell__marks{display:flex;flex-wrap:wrap;gap:10px}.is-mki .mki-op-qty-cell__samples{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:13px}.is-mki .mki-op-qty-cell__samples input[type=checkbox]{width:16px!important;height:16px!important;margin:0;transform:none!important}.op-type-tag,.area-type-tag{display:block;margin-top:4px;color:#7c3aed;font-weight:600}.area-title-block{display:inline-flex;flex-direction:column;min-width:0;line-height:1.2}.area-title-line{display:block}.mk-cell{line-height:1.2}.mk-qr{font-size:.8em;opacity:.75}@media print{.op-type-tag,.area-type-tag{display:none!important}}.btn-delete{background:#9ca3af;color:#fff;padding:4px;min-width:28px;min-height:28px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.btn-delete:hover{filter:brightness(.95)}.btn-small.approval-dialog-btn.approval-stage-draft{background:#3b82f6;color:#fff}.btn-small.approval-dialog-btn.approval-stage-on-approval{background:#f59e0b;color:#111827}.btn-small.approval-dialog-btn.approval-stage-rejected{background:#ef4444;color:#fff}.btn-small.approval-dialog-btn.approval-stage-approved{background:#22c55e;color:#fff}.btn-small.approval-dialog-btn.approval-stage-draft:hover,.btn-small.approval-dialog-btn.approval-stage-on-approval:hover,.btn-small.approval-dialog-btn.approval-stage-rejected:hover,.btn-small.approval-dialog-btn.approval-stage-approved:hover{filter:brightness(.95)}.production-card{display:flex;flex-direction:column;gap:12px}.production-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.production-toolbar__controls{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow-x:auto}.production-shifts-toolbar-row{display:grid;grid-template-columns:280px minmax(0,1fr);align-items:center;gap:12px;width:100%;flex-wrap:wrap}.production-shifts-toolbar-row .production-toolbar__controls{margin-left:auto}.production-plan-columns-control{display:inline-flex;align-items:center;gap:8px;font-size:13px;white-space:nowrap}.production-plan-columns-control select{min-width:144px}#production-shifts .production-toolbar{overflow:visible}#production-shifts .production-toolbar__controls{overflow:visible;height:auto;max-height:none;white-space:nowrap;flex-shrink:0}.production-shifts-queue-search{height:34px;padding:0 12px;border-radius:8px;border:1px solid #cbd5e1;font-size:14px;min-width:220px;width:unset}.production-plan-queue-sort-control select{height:34px;padding:0 28px 0 10px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-size:14px;min-width:150px}.production-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:12px;align-items:start;max-width:100%;overflow:visible;min-height:0;min-width:0}.production-table-wrapper{overflow-x:auto;overflow-y:visible;max-width:100%;min-height:0;min-width:0}.production-table{border-collapse:collapse;min-width:100%;width:max-content}.production-schedule-mutating.production-table-wrapper,.production-schedule-mutating.production-sidebar{opacity:.65;cursor:progress}.production-schedule-mutating .production-table,.production-schedule-mutating .production-sidebar-block,.production-schedule-mutating .production-sidebar-actions{cursor:progress}.production-schedule-mutating .production-cell,.production-schedule-mutating .production-assignment,.production-schedule-mutating .production-day,.production-schedule-mutating .production-employee,.production-schedule-mutating .production-sidebar-actions button,.production-schedule-mutating .area-reorder button{pointer-events:none}.production-schedule-editor-freeze .production-cell,.production-schedule-editor-freeze .production-assignment{opacity:.48;cursor:not-allowed;pointer-events:none}.production-sidebar.production-schedule-editor-freeze .production-employee-list,.production-sidebar.production-schedule-editor-freeze #production-add,.production-sidebar.production-schedule-editor-freeze #production-delete{opacity:.55;cursor:not-allowed;pointer-events:none}.production-table th,.production-table td{border:1px solid #ddd;padding:8px;vertical-align:top}.production-table th.production-area{width:180px;background:#f7f7f7}.production-table th.production-day,.production-table td.production-cell{width:172px}.production-day-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.production-day-info{display:flex;flex-direction:column;gap:2px;line-height:1.2;min-height:42px;min-width:0;overflow:hidden}.production-schedule-day-info{align-items:center;text-align:center}.production-day-mainline{display:flex;align-items:baseline;gap:6px;min-width:0;flex-wrap:wrap}.production-schedule-day-mainline{justify-content:center}.production-schedule-day-mainline .production-day-shift-corner{align-self:auto;text-align:center}.production-day-title{display:block;text-transform:uppercase;font-size:12px;color:#555;overflow-wrap:anywhere}.production-day-date{display:block;font-size:13px;overflow-wrap:anywhere}.production-day-shift-corner{align-self:flex-end;font-size:11px;font-weight:700;color:#0f172a;text-align:right;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.production-table th.production-day,.production-table th.production-day .production-day-title,.production-table th.production-day .production-day-date,.production-table th.production-day .production-day-shift-corner{color:#0f172a;font-weight:700}.production-day-shift{border:1px solid #aebfff;background:linear-gradient(180deg,#f5f7ff,#e4eaff);color:#1f3b8f;cursor:pointer;padding:6px;font-size:18px;font-weight:700;border-radius:10px;box-shadow:0 2px 6px #00000026;min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.production-day-shift-placeholder{display:inline-flex;width:34px;height:34px;flex-shrink:0}.production-day.weekend,.production-table td.weekend{background:#ffecec}.production-table th.production-day.production-today,.production-table td.production-cell.production-today{background-color:#f2edff!important}.production-table th.production-day.production-today,.production-table td.production-cell.production-today{box-shadow:inset 1px 0 #7850c82e,inset -1px 0 #7850c82e}th.production-day.production-today{font-weight:600}.production-cell{min-width:140px;cursor:pointer;position:relative}.production-cell.selected{outline:2px solid #22c55e;outline-offset:-2px;box-shadow:inset 0 0 0 2px #22c55e;background:#e9f7ed;z-index:2}.production-table th.production-day.day-selected,.production-table td.production-cell.day-selected{outline:2px solid #7ac48f;outline-offset:-2px}.production-assignment{display:inline-block;background:#eef2ff;padding:4px 6px;border-radius:4px;margin:2px 4px 2px 0;font-size:13px;white-space:nowrap}.production-assignment.production-assignment-master{font-size:16px;line-height:1.35;background:#fff3bf;box-shadow:inset 0 0 0 1px #92400e2e}.production-assignment.selected{background:#cde9d5}.production-empty{color:#888}.production-sidebar{border:1px solid #ddd;border-radius:6px;padding:10px;background:#fafafa;display:flex;flex-direction:column;gap:12px;position:sticky;top:16px;max-height:none;overflow:visible;align-self:start;min-height:0;min-width:0}.production-sidebar-block{display:flex;flex-direction:column;gap:6px}.production-shift-group{display:inline-flex;gap:6px;flex-wrap:nowrap}.production-sidebar .checkbox-inline{display:inline-flex;align-items:center;gap:4px}.production-sidebar .checkbox-inline input[type=checkbox]{width:14px;height:14px}.production-shift-btn{padding:6px 10px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}.production-shift-btn.active{border-color:#059669;background:#10b981;color:#fff;box-shadow:inset 0 2px 4px #0000002e}.production-shift-btn.active .production-shift-time{color:#ecfdf5}.production-shift-time{font-size:11px;color:#6b7280;font-weight:400;width:80px}.production-employee-list{max-height:260px;overflow:auto;border:1px solid #e5e7eb;padding:6px;border-radius:4px;display:grid;gap:6px}.production-employee{display:block;width:100%;text-align:left;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:6px 8px;cursor:pointer}.production-employee.active{border-color:#10b981;background:#ecfdf3}.production-time-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.production-sidebar-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:900px){.production-layout{grid-template-columns:minmax(0,1fr);overflow:visible}.production-sidebar{position:static}}.production-assignment.filtered-out{display:none}.production-area-master{background:#fff3bf}.production-area-master .area-name{font-weight:800}.production-cell-master{background:#fffbea}.production-table td.production-cell.production-cell-master.production-today{background-color:#fffbea!important}.production-table td.production-cell.production-cell-master.weekend{background:#fff4cc}.production-table td.production-cell.production-cell-master.production-today.weekend{background-color:#fff4cc!important}#production-filter.active{filter:brightness(.95);box-shadow:inset 0 0 0 2px #0000001f}.production-context-menu{position:absolute;background:#fff;border:1px solid #ccc;box-shadow:0 2px 6px #00000026;padding:6px;display:none;flex-direction:column;gap:4px;z-index:10}.production-context-menu.open{display:flex}.production-context-menu button{border:none;background:transparent;padding:6px 8px;text-align:left;cursor:pointer;border-radius:4px}.production-context-menu button:hover{background:#f3f4f6}.production-empty-page{min-height:200px}.production-issue-list{display:flex;flex-direction:column;gap:10px}.production-issue-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;background:#fff;cursor:pointer}.production-issue-row:hover{background:#f9fafb}.production-issue-main{display:flex;flex-direction:column;gap:4px}.production-issue-title{font-weight:600}.production-issue-meta{font-size:12px;color:#6b7280}.production-issue-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.production-issue-badge{font-size:12px;font-weight:700}.summary-inline-actions .production-issue-badge{margin-left:6px}.production-issue-badge-defect{color:#dc2626}.production-issue-badge-delayed{color:#d97706}.production-issue-done{margin-bottom:12px}.production-issue-done-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:8px}.production-shifts-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:stretch}.production-shifts-layout.is-plan-route{grid-template-columns:minmax(240px,var(--production-plan-queue-width, 13%)) minmax(0,var(--production-plan-table-width, 87%))}.production-shifts-queue{border:1px solid #ddd;border-radius:8px;padding:12px;background:#fafafa;display:flex;flex-direction:column;gap:12px;min-height:0;height:100%;overflow:auto}.production-shifts-queue-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.production-shifts-queue h3{margin:0;font-size:16px}.production-shifts-queue-toggle{font-size:12px;font-weight:600;gap:4px}.production-shifts-queue-toggle input[type=checkbox]{width:14px;height:14px}.production-shifts-queue-list{display:flex;flex-direction:column;gap:8px}.production-shifts-card-btn{--card-plan-fill: 0%;--card-covered-end: 0%;--card-good-start: 0%;--card-good-end: 0%;--card-delayed-start: 0%;--card-delayed-end: 0%;--card-defect-start: 0%;--card-defect-end: 0%;--card-history-remaining-start: 0%;--card-history-remaining-end: 0%;--card-bg: #fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 10px;background:linear-gradient(90deg,transparent 0%,transparent var(--card-defect-start, 0%),rgba(220,38,38,.28) var(--card-defect-start, 0%),rgba(220,38,38,.28) var(--card-defect-end, 0%),transparent var(--card-defect-end, 0%),transparent 100%),linear-gradient(90deg,transparent 0%,transparent var(--card-delayed-start, 0%),rgba(245,158,11,.28) var(--card-delayed-start, 0%),rgba(245,158,11,.28) var(--card-delayed-end, 0%),transparent var(--card-delayed-end, 0%),transparent 100%),linear-gradient(90deg,#bdffcb var(--card-good-start, 0%),#bdffcb var(--card-good-end, 0%),transparent var(--card-good-end, 0%),transparent 100%),linear-gradient(90deg,transparent 0%,transparent var(--card-history-remaining-start, 0%),rgba(253,224,71,.42) var(--card-history-remaining-start, 0%),rgba(253,224,71,.42) var(--card-history-remaining-end, 0%),transparent var(--card-history-remaining-end, 0%),transparent 100%),linear-gradient(90deg,transparent 0%,transparent var(--card-covered-end, 0%),rgba(16,185,129,.18) var(--card-covered-end, 0%),rgba(16,185,129,.18) var(--card-plan-fill, 0%),transparent var(--card-plan-fill, 0%),transparent 100%),var(--card-bg);text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px}.production-shifts-card-btn.active{border-color:#4f46e5;--card-bg: #eef2ff}.production-shifts-card-title{font-weight:600}.production-shifts-card-stats{display:flex;flex-direction:column;gap:2px;font-size:13px;line-height:1.3}.production-shifts-card-stat{color:#6b7280}.production-shifts-card-stat.is-warning{color:#d97706}.production-shifts-card-stat.is-danger{color:#dc2626}.production-shifts-card-stat-final{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.production-shifts-card-stat-repair{color:#111827}.production-shifts-card-final-group{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.production-shifts-card-final-label{color:#111827;font-weight:600}.production-shifts-card-final-label.op-items-kind-samples{color:#7dd3fc}.production-shifts-card-final-sep{color:#6b7280}.production-shifts-table-wrapper{overflow-x:auto;min-width:0}.production-shifts-table{border-collapse:collapse;width:100%;min-width:680px;table-layout:fixed}.production-shifts-col-area{width:5%}.production-shifts-col-day{width:13.5714285714%}.production-shifts-col-slot{width:15.8333333333%}.production-shifts-table-plan{min-width:100%}.production-shifts-table-plan .production-shifts-col-area{width:var(--production-plan-area-width, 8%)}.production-shifts-table-plan .production-shifts-col-slot{width:var(--production-plan-slot-width, 14.3333%)}.production-shifts-table th,.production-shifts-table td{border:1px solid #ddd;padding:8px;vertical-align:top}.production-shifts-area{width:200px;background:#f7f7f7;min-width:0;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;word-break:normal}.production-shifts-shift-btn{padding:6px 10px;border:1px solid #ccc;border-radius:4px;background:#fff;cursor:pointer;box-shadow:inset 0 1px #ffffffbf;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}.production-shifts-shift-btn.active{border-color:#059669;background:#10b981;color:#fff;box-shadow:inset 0 2px 4px #0000002e}.production-shift-meta{font-size:12px;color:#555;margin-bottom:6px}.production-shift-meta.has-tooltip{cursor:help}.production-shift-meta-empty{color:#b91c1c;font-weight:700}.production-shift-ops{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;min-width:0}.production-shift-task{display:flex;justify-content:space-between;gap:8px;border:1px solid #e5e7eb;border-radius:6px;padding:6px 8px;background:#fff}.production-shift-task.is-draggable{cursor:grab}.production-shift-task.is-dragging{opacity:.55;cursor:grabbing}.production-shift-task-info{display:flex;flex-direction:column;gap:4px;min-width:0}.production-shift-task-name{font-weight:600;line-height:1.2;overflow-wrap:anywhere}.production-shift-task-card{font-size:12px;color:#6b7280}.production-shift-remove{border:none;background:transparent;color:#ef4444;cursor:pointer;font-size:14px}.production-shift-task.is-server-action-pending{opacity:.72;position:relative}.production-shifts-table-plan .production-shifts-cell.is-plan-viewport-pending{outline:none;box-shadow:none}.production-shift-task.is-server-action-pending:after,.production-shifts-cell.is-server-action-pending:after{content:"";position:absolute;right:8px;top:8px;width:14px;height:14px;border:2px solid rgba(37,99,235,.25);border-top-color:#2563eb;border-radius:50%;animation:server-action-spin .75s linear infinite;pointer-events:none}.production-shift-plan-content{max-width:640px}.production-shift-plan-block{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.production-shift-plan-label{font-size:12px;text-transform:uppercase;color:#6b7280;letter-spacing:.04em}.production-shift-plan-ops{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow:auto;border:1px solid #e5e7eb;border-radius:6px;padding:8px}.checkbox-row{display:flex;align-items:center;gap:8px}.checkbox-row input[type=checkbox]{width:16px;height:16px}.production-shift-row{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:10px;margin-bottom:8px}.shift-times-layout{display:flex;flex-direction:column;gap:20px}.shift-times-section{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:16px}.shift-times-section h3{margin:0 0 14px;font-size:18px}.shift-times-section__rows{display:flex;flex-direction:column}.production-shift-label{font-weight:600}.production-shift-area-cell{min-width:0;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto}@media(max-width:1024px){.production-shifts-toolbar-row{grid-template-columns:1fr}.production-shifts-toolbar-row .production-toolbar__controls{margin-left:0;flex-wrap:wrap}.production-shifts-layout,.production-shifts-layout.is-plan-route{grid-template-columns:1fr}.production-shifts-layout.is-plan-route{grid-template-columns:minmax(240px,280px) minmax(680px,1fr);overflow-x:auto;align-items:start}.production-shifts-layout.is-plan-route .production-shifts-queue{min-width:240px;max-width:280px}.production-shifts-layout.is-plan-route .production-shifts-table-wrapper{min-width:680px}.production-shift-row{grid-template-columns:1fr}}.area-cell{display:flex;align-items:center;gap:8px}.area-reorder{display:flex;flex-direction:column;gap:2px}.area-reorder-special{justify-content:center}.area-reorder button{width:20px;height:18px;padding:0;font-size:12px;line-height:16px}.area-reorder .area-visibility-toggle{border:1px solid #d1d5db;border-radius:4px;background:#f3f4f6;filter:grayscale(1)}.area-reorder .area-visibility-toggle.is-on{background:#fef3c7;border-color:#f59e0b;filter:none}.area-reorder .area-visibility-toggle.is-off{opacity:1;background:#fff;border-color:#475569;filter:grayscale(1) contrast(1.8);box-shadow:inset 0 0 0 1px #0f172a1f}.area-reorder button:disabled{opacity:.35;cursor:not-allowed}.area-cell-hidden-by-user .area-name{opacity:.55}#production-editor-toggle.active{background-color:#2563eb;color:#fff}body.page-wo-mode main{display:block}body.page-wo-mode #page-root{display:block;padding:16px 12px 24px;max-width:1200px;width:min(1200px,100%);margin:0 auto}@media(min-width:1024px){body.page-wo-mode #page-root{max-width:none;width:100%}}.production-shifts-cardview{display:flex;flex-direction:column;gap:10px}.production-shifts-cardview-header{display:flex;align-items:flex-start;gap:10px}.production-shifts-cardview-header--plan{flex-direction:column;align-items:stretch}.production-shifts-opslist{display:flex;flex-direction:column;gap:6px;min-height:0;padding-right:4px}.production-shifts-op{border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:8px 10px;background:#fff}.production-shifts-op.production-shifts-op-planfill{--covered-end: 0%;--good-start: 0%;--good-end: 0%;--delayed-start: 0%;--delayed-end: 0%;--defect-start: 0%;--defect-end: 0%;--history-remaining-start: 0%;--history-remaining-end: 0%;background:linear-gradient(90deg,transparent 0%,transparent var(--defect-start, 0%),rgba(220,38,38,.28) var(--defect-start, 0%),rgba(220,38,38,.28) var(--defect-end, 0%),transparent var(--defect-end, 0%),transparent 100%),linear-gradient(90deg,transparent 0%,transparent var(--delayed-start, 0%),rgba(245,158,11,.28) var(--delayed-start, 0%),rgba(245,158,11,.28) var(--delayed-end, 0%),transparent var(--delayed-end, 0%),transparent 100%),linear-gradient(90deg,#bdffcb var(--good-start, 0%),#bdffcb var(--good-end, 0%),transparent var(--good-end, 0%),transparent 100%),linear-gradient(90deg,transparent 0%,transparent var(--history-remaining-start, 0%),rgba(253,224,71,.42) var(--history-remaining-start, 0%),rgba(253,224,71,.42) var(--history-remaining-end, 0%),transparent var(--history-remaining-end, 0%),transparent 100%),linear-gradient(90deg,transparent 0%,transparent var(--covered-end, 0%),rgba(16,185,129,.18) var(--covered-end, 0%),rgba(16,185,129,.18) var(--plan-fill, 0%),transparent var(--plan-fill, 0%),transparent 100%)}.production-shifts-op.planned{border-color:#10b9818c;box-shadow:inset 0 0 0 1px #10b98114}.production-shifts-op.production-shifts-op-drying-state-planned{background:#10b9812e;border-color:#10b98159}.production-shifts-op.production-shifts-op-drying-state-replan,.production-shift-task.production-shift-board-op-drying-state-replan{background:#fde0476b;border-color:#eab3087a}.production-shifts-op.production-shifts-op-drying-state-done,.production-shift-task.production-shift-board-op-drying-state-done{background:#bdffcb;border-color:#22c55e73}.production-shifts-op.production-shifts-op-drying-fill-done,.production-shift-task.production-shift-board-op-drying-fill-done{background:linear-gradient(135deg,#bbf7d0eb,#dcfce7fa);border-color:#22c55e73}.production-shifts-op.production-shifts-op-drying-fill-pending,.production-shift-task.production-shift-board-op-drying-fill-pending{background:linear-gradient(135deg,#fef3c7f5,#fefce8fc);border-color:#eab3087a}.production-shift-board-queue .production-shifts-op.in-shift{background-color:#fff}.production-shift-board-queue .production-shifts-op.out-of-shift{background-color:#f3f4f6}.production-shift-board-queue .production-shifts-op.production-shifts-op-drying-state-planned{background-color:#10b9812e}.production-shift-board-queue .production-shifts-op.production-shifts-op-drying-state-replan{background-color:#fde0476b}.production-shift-board-queue .production-shifts-op.production-shifts-op-drying-state-done{background-color:#bdffcb}.production-shifts-op-name{font-weight:600;line-height:1.2;overflow-wrap:anywhere}.production-shifts-op-meta{display:flex;gap:10px;margin-top:4px;font-size:12px}.production-op-meta-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;margin-top:4px;min-width:0;font-size:12px;line-height:1.25}.production-shifts-op-slots{margin-top:6px;font-size:12px;line-height:1.3}.production-shifts-op-slot+.production-shifts-op-slot{margin-top:2px}.production-shifts-op-slot-history{text-decoration:line-through;opacity:.72}.production-op-meta-token{color:#6b7280;white-space:nowrap}.production-op-meta-extra{overflow:hidden;text-overflow:ellipsis;max-width:100%}.production-op-status.badge{padding:1px 6px;font-size:11px;line-height:1.2;white-space:nowrap}.production-op-summary-token{white-space:nowrap}.production-op-summary-flow{display:inline-flex;align-items:baseline;gap:0;min-width:0;font-weight:600;color:#111827}.production-op-summary-label{margin-right:3px}.production-op-summary-main,.production-op-summary-awaiting{color:#111827}.production-op-summary-plan{margin-right:6px;color:#4b5563;font-weight:500}.production-op-summary-done,.production-op-summary-defect,.production-op-summary-delayed{margin-right:0}.production-op-summary-sep{color:#9ca3af;margin:0 1px}.production-op-archived{color:#b91c1c;font-weight:700}.production-shifts-cell.is-drop-target{outline:2px dashed #2563eb;outline-offset:-2px;background:#eff6ff}.production-shifts-cell.is-server-action-pending{position:relative;outline:2px solid rgba(37,99,235,.55);outline-offset:-2px}.production-day.production-day-nav-target{box-shadow:inset 0 0 0 2px #2563ebe6!important;background:#dbeafe!important}.production-shifts-cell.production-shifts-cell-nav-target{box-shadow:inset 0 0 0 2px #2563ebf2!important;background:#dbeafe!important}.production-shifts-cell.production-shifts-cell-nav-target .production-shift-task.focus-nav{border-color:#2563eb8c;box-shadow:0 0 0 2px #2563eb38}.production-shift-task.focus{border:1px solid rgb(29,78,216);border-radius:8px;box-shadow:0 0 0 2px #fffffff2,0 0 0 4px #2563ebd9;position:relative;z-index:1}.production-shift-task.focus-nav{background:#2563eb1f;border:1px solid rgb(29,78,216);border-radius:8px;box-shadow:0 0 0 2px #ffffffe6,0 0 0 4px #2563ebbf;position:relative;z-index:1}.production-shifts-cell{position:relative;overflow:hidden}.production-shifts-table-plan .production-shift-ops{display:grid;grid-template-columns:repeat(var(--production-plan-op-columns, 1),minmax(0,1fr));grid-auto-flow:row;align-items:stretch;align-content:start;justify-items:stretch;justify-content:start;row-gap:6px;column-gap:10px}.production-shifts-table-plan .production-shift-task,.production-shifts-table-plan .production-shift-empty{width:100%;margin:0;align-self:stretch;justify-self:stretch}.production-shifts-table-plan .production-shift-empty{grid-column:1 / -1}.production-shifts-table-plan .production-shift-task{max-width:100%;height:100%;box-sizing:border-box}.production-shifts-table-plan .production-shifts-cell.has-shift-close-transfer{background:#f871710d}.production-shifts-table-plan .production-shift-task.is-shift-close-transfer{background:#f8717124;border-color:#ef44443d}.production-shifts-table-plan .production-shift-task.is-subcontract-chain{position:relative;box-sizing:border-box;min-height:128px;background:linear-gradient(180deg,#dbeafeb8,#bfdbfe85);border-color:#2563eb42}.production-shifts-table-plan .production-shift-task.is-subcontract-middle{border-radius:0;border-left-width:0;border-right-width:0}.production-shifts-table-plan .production-shift-task.is-subcontract-first:not(.is-subcontract-single){border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.production-shifts-table-plan .production-shift-task.is-subcontract-last:not(.is-subcontract-single){border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}.production-shifts-table-plan .production-shift-task.is-subcontract-middle.is-shift-close-transfer,.production-shifts-table-plan .production-shift-task.is-subcontract-first.is-shift-close-transfer,.production-shifts-table-plan .production-shift-task.is-subcontract-last.is-shift-close-transfer,.production-shifts-table-plan .production-shift-task.is-subcontract-single.is-shift-close-transfer{background:#f8717124;border-color:#ef44443d}.production-subcontract-items-content{max-width:920px}.production-subcontract-items-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.production-subcontract-items-search{flex:1 1 420px;min-width:280px}.production-subcontract-items-counter{flex:0 0 auto;font-weight:600}.production-subcontract-items-list{margin-top:12px;max-height:52vh;overflow:auto;border:1px solid #dbe2ea;border-radius:10px;background:#fff}.production-subcontract-items-table{width:100%;border-collapse:collapse;table-layout:fixed}.production-subcontract-items-table th,.production-subcontract-items-table td{padding:10px 12px;border-bottom:1px solid #e5e7eb;vertical-align:middle;text-align:left}.production-subcontract-items-table thead th{position:sticky;top:0;z-index:1;background:#f8fafc}.production-subcontract-items-table tbody tr:last-child td{border-bottom:none}.production-subcontract-items-table th[data-sort-key=select],.production-subcontract-items-table td.production-subcontract-items-cell-select{width:120px;text-align:center}.production-subcontract-items-table th[data-sort-key=qr],.production-subcontract-items-table td.production-subcontract-items-cell-qr{width:34%}.production-subcontract-items-table code{font-size:12px;color:#6b7280;white-space:normal;word-break:break-word}.production-subcontract-items-cell-name{font-weight:500}.production-subcontract-items-empty{padding:24px 16px;text-align:center}.production-subcontract-items-checkbox{width:16px;height:16px}.production-subcontract-items-row.is-selected{background:#10b98114}.production-subcontract-items-row.is-recent{background:#2563eb14}.production-subcontract-items-row.is-selected.is-recent{background:linear-gradient(90deg,#2563eb1a,#10b9811a)}@media(max-width:720px){.production-subcontract-items-content{max-width:calc(100vw - 24px)}.production-subcontract-items-toolbar{align-items:stretch}.production-subcontract-items-counter{width:100%}.production-subcontract-items-table th,.production-subcontract-items-table td{padding:8px 10px}}.production-shifts-load{position:absolute;top:6px;right:6px;font-size:12px;line-height:12px;font-weight:500;opacity:.75;pointer-events:none}.production-shifts-load.is-overloaded{color:#dc2626;font-weight:700;opacity:1}.production-shift-board-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}.production-shift-board-main{display:flex;flex-direction:column;gap:10px;min-width:0}.production-shift-board-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.production-shift-board-table-wrapper{overflow-x:auto}.production-shift-history{display:flex;flex-direction:column;gap:10px;min-width:0}.production-shift-history__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.production-shift-history__header h3{margin:0;font-size:16px}.production-shift-history__table{overflow-x:auto}.production-shift-board-queue{border:1px solid #ddd;border-radius:8px;padding:12px;background:#fafafa;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 220px);overflow:auto}.production-shift-board-queue h3{margin:0;font-size:16px}.production-shift-board-queue-list{display:flex;flex-direction:column;gap:10px}.production-shift-board-queue-card{border:1px solid #d1d5db;border-radius:6px;padding:8px 10px;background-color:var(--card-bg);display:flex;flex-direction:column;gap:6px;cursor:pointer}.production-shift-board-queue-title{font-weight:600}.production-shift-board-queue-ops{display:flex;flex-direction:column;gap:4px;font-size:13px}.production-shift-board-op{margin:0}.production-shift-task.production-shift-board-op.production-shift-board-op-planfill{--covered-end: 0%;--good-start: 0%;--good-end: 0%;--delayed-start: 0%;--delayed-end: 0%;--defect-start: 0%;--defect-end: 0%;--history-remaining-start: 0%;--history-remaining-end: 0%;background:linear-gradient(90deg,transparent 0%,transparent var(--defect-start, 0%),rgba(220,38,38,.28) var(--defect-start, 0%),rgba(220,38,38,.28) var(--defect-end, 0%),transparent var(--defect-end, 0%),transparent 100%),linear-gradient(90deg,transparent 0%,transparent var(--delayed-start, 0%),rgba(245,158,11,.28) var(--delayed-start, 0%),rgba(245,158,11,.28) var(--delayed-end, 0%),transparent var(--delayed-end, 0%),transparent 100%),linear-gradient(90deg,#bdffcb var(--good-start, 0%),#bdffcb var(--good-end, 0%),transparent var(--good-end, 0%),transparent 100%),linear-gradient(90deg,transparent 0%,transparent var(--history-remaining-start, 0%),rgba(253,224,71,.42) var(--history-remaining-start, 0%),rgba(253,224,71,.42) var(--history-remaining-end, 0%),transparent var(--history-remaining-end, 0%),transparent 100%),linear-gradient(90deg,transparent 0%,transparent var(--covered-end, 0%),rgba(16,185,129,.18) var(--covered-end, 0%),rgba(16,185,129,.18) var(--plan-fill, 0%),transparent var(--plan-fill, 0%),transparent 100%)}.production-shift-board-op-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:2px 8px;min-width:0}.production-shift-board-op-head .production-shift-task-name{flex:0 1 auto;min-width:0;max-width:100%}.production-shift-board-op-status{flex:0 1 auto;text-align:left;font-size:12px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;max-width:100%}.production-shift-board-table{border-collapse:collapse;width:100%;min-width:720px}.production-shift-board-table th,.production-shift-board-table td{border:1px solid #ddd;padding:8px;vertical-align:top}.production-shift-board-area{width:200px;background:#f7f7f7}.production-shift-board-area-header{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.production-area-live-status{display:inline-flex;align-items:center;max-width:100%;gap:5px;padding:2px 7px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:700;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.production-area-live-status:before{content:"";width:7px;height:7px;border-radius:999px;flex:0 0 auto;background:currentColor}.production-area-live-status__label{min-width:0}.production-area-live-status--in-progress{color:#047857;background:#d1fae5;border-color:#86efac}.production-area-live-status--paused{color:#92400e;background:#fef3c7;border-color:#fbbf24}.production-area-live-status--no-items,.production-area-live-status--not-started,.production-area-live-status--done{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.production-area-live-status--no-plan{color:#475569;background:#e2e8f0;border-color:#cbd5e1}.production-shift-board-head{background:#fff;position:relative;min-width:220px}.production-shift-board-head.shift-open{outline:2px solid rgba(16,185,129,.7);outline-offset:-2px}.production-shift-board-head.selected .production-shift-board-header{background:#3b82f614;border-radius:8px}.production-shift-board-header{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:stretch;gap:clamp(6px,1vw,12px)}.production-shift-board-nav-slot{display:flex;align-items:center;justify-content:center;min-width:34px;min-height:34px}.production-shift-board-header-main{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;min-width:0}.production-shift-board-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;gap:clamp(8px,1.5vw,28px);min-width:0}.production-shifts-nav{border:1px solid #aebfff;background:linear-gradient(180deg,#f5f7ff,#e4eaff);color:#1f3b8f;cursor:pointer;padding:6px;font-size:18px;font-weight:700;border-radius:10px;box-shadow:0 2px 6px #00000026;min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.production-shift-board-header-info{display:flex;flex-direction:column;gap:2px;line-height:1.2;text-align:left;align-items:flex-start;justify-content:center;min-width:0}.production-shift-board-summary-center{display:flex;align-items:center;justify-content:center;min-width:0}.production-shift-board-summary-status{display:flex;align-items:center;justify-content:flex-end;min-width:0}.production-shift-board-date{font-size:12px;text-transform:uppercase;color:#555}.production-shift-board-label{font-weight:600}.production-shift-board-time{font-size:12px;color:#6b7280}.production-shift-board-status{font-size:12px;color:#6b7280;overflow-wrap:anywhere}.production-shift-board-status.status-not-started{color:#6b7280}.production-shift-board-status.status-in-progress{color:#2563eb}.production-shift-board-status.status-completed{color:#b45309}.production-shift-board-status.status-fixed{color:#7f1d1d}.production-shift-board-masters{padding:4px 8px;border-radius:999px;background:#fff3bf;color:#92400e;font-size:12px;line-height:1.3;white-space:normal;overflow-wrap:anywhere;text-align:center;max-width:100%}.production-shift-board-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}@media(max-width:1180px){.production-shift-board-summary{gap:8px}}@media(max-width:860px){.production-shift-board-layout{grid-template-columns:minmax(0,1fr)}.production-shift-board-header{grid-template-columns:30px minmax(0,1fr) 30px;gap:6px}.production-shift-board-nav-slot{min-width:30px;min-height:30px}.production-shifts-nav{min-width:30px;height:30px;font-size:16px}.production-shift-board-summary{grid-template-columns:1fr;gap:6px;justify-items:center}.production-shift-board-header-info,.production-shift-board-summary-status{text-align:center;align-items:center;justify-content:center}.production-shift-board-actions{flex-direction:column;align-items:center}}.production-shift-board-cell{min-width:220px}.production-shift-board-cell.shift-open{outline:2px solid rgba(16,185,129,.5);outline-offset:-2px}.production-shift-board-meta{font-size:12px;color:#555;margin-bottom:6px}.production-shift-board-employees{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;margin-bottom:6px}.production-shift-board-ops{display:flex;flex-direction:column;gap:6px}.production-shift-board-card{border:1px solid #e5e7eb;border-radius:6px;padding:6px 8px;background:#fff;margin-bottom:6px}.production-shift-board-card-title{font-weight:600;margin-bottom:4px}.production-shift-board-op .status-not-started{color:#000}.production-shift-board-op .status-in-progress{color:#1d4ed8}.production-shift-board-op .status-paused{color:#92400e}.production-shift-board-op .status-done{color:#064e3b}.production-shift-board-op .status-no-items{color:#075985}@media(max-width:1180px){.production-shift-board-op-status{text-align:left;flex-basis:100%}}.production-shift-board-card ul{margin:0;padding-left:16px;display:flex;flex-direction:column;gap:2px;font-size:13px}.production-shift-log-content{max-width:720px}.production-shift-log-content .modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.production-shift-log-header-actions{display:flex;align-items:center;justify-content:flex-end}.production-shift-log-meta{font-weight:600;margin-bottom:10px}.production-shift-log-list{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow:auto}.production-shift-log-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:10px 0 12px}.production-shift-log-controls .input{width:280px;max-width:45%}.production-shift-log-section{border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fafafa}.production-shift-log-section-title{font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:8px}.production-shift-log-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid #e5e7eb;background:#fff}.production-shift-log-entry{border:1px solid #e5e7eb;border-radius:6px;padding:8px 10px;background:#fff}.material-issue-content{max-width:760px}.workspace-modal-table-wrapper{flex:1;min-height:0;overflow-y:auto}#material-issue-modal .modal-actions{justify-content:space-between}#material-issue-modal .modal-actions-right{margin-left:auto}.material-issue-provision-info{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;background:#f8fafc}#card-route-provision-info{margin-top:8px}.material-issue-provision-materials{color:#111827;font-size:13px;line-height:1.4;overflow-wrap:anywhere;white-space:pre-wrap}.material-issue-provision-file{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#374151;font-size:13px;min-width:0}.material-issue-provision-file--empty{color:#6b7280}.material-issue-provision-file-name{flex:1 1 220px;min-width:0;font-weight:600;overflow-wrap:anywhere}.material-issue-provision-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:6px}.material-issue-table{width:100%;border-collapse:collapse;margin-bottom:10px}.material-issue-table th,.material-issue-table td{border:1px solid #e5e7eb;padding:6px 8px;font-size:13px}.material-issue-table input[type=text]{width:100%}.material-issue-table td.material-issue-cell-warning{background:#fef3c7}@media(max-width:640px){.material-issue-provision-file{align-items:flex-start;flex-direction:column}.material-issue-provision-file-name{flex-basis:auto}}.drying-table .drying-timer{font-variant-numeric:tabular-nums;white-space:nowrap}.drying-table td:last-child{white-space:nowrap}.op-items-summary-material{color:#000;font-weight:600}.op-items-summary-material.is-done{color:#16a34a}.production-shift-log-title{font-weight:600;margin-bottom:4px}.production-shift-log-entry .production-shift-log-title{display:flex;align-items:center;gap:8px}.production-shift-log-entry .production-shift-log-icon{width:18px;text-align:center}.production-shift-log-agg-list{margin:6px 0 0;padding-left:16px;display:flex;flex-direction:column;gap:2px;font-size:13px}.production-shift-close-card{display:flex;flex-direction:column;gap:16px}.production-shift-close-header{display:flex;flex-direction:column;gap:10px}.production-shift-close-header-main{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.production-shift-close-title{font-size:22px;font-weight:700}.production-shift-close-status{font-weight:600;color:#475569}.production-shift-close-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px;padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}.production-shift-close-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.production-shift-close-summary-item{padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.production-shift-close-summary-lines{display:flex;flex-direction:column;gap:4px}.production-shift-close-summary-subline{font-size:12px;line-height:1.25;color:#000}.production-shift-close-table-wrap{overflow:auto}.production-shift-close-filter-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.production-shift-close-filter-label{font-weight:600;color:#374151}.production-shift-close-filter-input{flex:1 1 360px;max-width:560px;min-width:220px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font:inherit;color:#111827;background:#fff;box-sizing:border-box}.production-shift-close-filter-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1f}.production-shift-close-table{min-width:1380px}.production-shift-close-table td.production-shift-close-cell-center{text-align:center;vertical-align:middle}.production-shift-close-table tr.is-subcontract-row{background:#3b82f614}.production-shift-close-table th button.production-shift-close-sort{border:none;background:transparent;font:inherit;font-weight:600;cursor:pointer;padding:0;color:inherit}.production-shift-close-comment{margin-bottom:8px}.production-shift-close-comment:last-child{margin-bottom:0}.production-shift-close-tooltip-cell.has-tooltip{cursor:help}.production-shift-close-tooltip-hitbox{display:block;width:calc(100% + 16px);margin:-8px;padding:8px;box-sizing:border-box;color:inherit}.production-shift-close-tooltip-value{display:inline-block;width:100%;color:inherit}.production-shift-close-personal-subtitle{margin-top:2px;font-size:12px;line-height:1.25;color:#7c3aed}.production-shift-close-bulk-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.production-shift-close-actions-cell{display:flex;flex-direction:column;gap:8px;min-width:180px}.production-shift-close-check{display:flex;align-items:center;gap:8px;font-size:13px}.production-shift-close-target-input,.production-shift-close-target-select{width:100%;min-width:120px;box-sizing:border-box}.production-shift-close-footer{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.production-shift-close-error{display:flex;flex-direction:column;gap:12px}.production-shift-close-actions{display:flex;justify-content:flex-end}.production-shift-plan-part{border-top:1px solid rgba(0,0,0,.08);margin-top:12px;padding-top:12px}.production-shift-plan-part .row{font-size:13px;margin-bottom:4px}.production-shift-task-minutes{color:#6b7280;font-size:12px}.production-shift-plan-context{margin-top:6px;font-size:13px;color:#8a93a6}.production-shift-plan-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;margin-top:8px}.production-shift-plan-left,.production-shift-plan-right{min-width:0}.production-shift-plan-complete{margin-top:14px;padding:14px 16px;border:2px solid #1f9d55;border-radius:14px;background:linear-gradient(135deg,#d9ffe7,#b9f6d0);color:#0c7a34;font-size:20px;font-weight:800;line-height:1.25;text-align:center;box-shadow:0 10px 24px #1f9d5538}.production-shift-plan-left-header{display:grid;grid-template-columns:minmax(52px,.44fr) minmax(110px,1.08fr) minmax(76px,.7fr) minmax(62px,.55fr) minmax(72px,.66fr);gap:6px;padding:8px;font-size:13px;color:#8a93a6;border:1px solid #e6e9f0;border-bottom:none;border-radius:10px 10px 0 0;background:#fafbff}.production-shift-plan-ops{border:1px solid #e6e9f0;border-radius:0 0 10px 10px;overflow:hidden;height:clamp(360px,48vh,560px);max-height:none;overflow-y:auto;background:#fff}.psp-op-row{display:grid;grid-template-columns:minmax(52px,.44fr) minmax(110px,1.08fr) minmax(76px,.7fr) minmax(62px,.55fr) minmax(72px,.66fr);gap:6px;padding:10px 8px;border-top:1px solid #eef1f6;cursor:pointer;-webkit-user-select:none;user-select:none}.psp-op-row:first-child{border-top:none}.psp-op-row:hover{background:#f6f8ff}.psp-op-row.selected{background:#eaf2ff}.psp-op-row.psp-op-row-locked{opacity:.55;cursor:not-allowed}.psp-op-row.psp-op-row-locked:hover{background:#f4f5f7}.psp-op-code,.psp-op-name,.psp-op-details{min-width:0;color:#1f2430;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.psp-op-code{font-variant-numeric:tabular-nums}.psp-op-name{font-weight:600}.psp-op-details{font-variant-numeric:tabular-nums}.psp-op-remain{color:#1f2430;white-space:nowrap}.psp-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap}.psp-badge.planned{background:#4caf50;color:#fff}.psp-badge.partial{background:#f59e0b;color:#fff}.psp-badge.not{background:#d1d5db;color:#374151}.production-shift-plan-part{border:1px solid #e6e9f0;border-radius:10px;padding:12px;background:#fff}.psp-right-title{font-size:16px;font-weight:700;color:#1f2430;margin-bottom:8px}.psp-right-meta{font-size:13px;color:#6b7280;line-height:1.45;margin-bottom:10px}.psp-stepper{display:flex;align-items:center;gap:8px;margin:8px 0 12px}.psp-stepper-btn{width:34px;height:30px;border-radius:8px;border:1px solid #e6e9f0;background:#f3f4f6;cursor:pointer}.psp-stepper-input{width:86px;height:30px;border-radius:8px;border:1px solid #e6e9f0;padding:0 10px}.psp-fill-btn{display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;border-radius:10px;border:1px solid #e6e9f0;background:#f3f4f6;cursor:pointer;font-weight:600}.psp-fill-note{margin-top:6px;font-size:13px;color:#6b7280}.psp-overload-warning{margin-top:6px;font-size:13px;font-weight:700;color:#dc2626}.psp-chain-end{margin-top:10px;padding-top:8px;border-top:1px solid #e6e9f0}.psp-chain-end-fields{display:flex;gap:8px;align-items:center}.psp-chain-end-date,.psp-chain-end-shift{height:30px;border-radius:8px;border:1px solid #e6e9f0;padding:0 8px;background:#fff}.psp-chain-end-date{flex:1 1 auto;min-width:0}.psp-disabled{opacity:.55;pointer-events:none}.psp-th{text-align:left;padding:0;margin:0;border:none;background:transparent;font-size:13px;color:#8a93a6;cursor:pointer;display:flex;align-items:center;gap:6px;min-width:0}.psp-th:hover{color:#6b7280}.psp-th .psp-sort{font-size:12px;color:#9aa3b2}.psp-th.active{color:#374151;font-weight:700}#production-shift-plan-modal .modal-content{width:clamp(50vw,1120px,68vw);min-width:50vw;max-width:68vw;min-height:76vh;max-height:80vh;border-radius:12px}#production-shift-plan-modal .modal-body{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto}#production-shift-plan-modal .production-shift-plan-block:last-child{flex:1;min-height:0}#production-shift-plan-modal .production-shift-plan-grid{flex:1;min-height:0;grid-template-columns:minmax(0,1fr) minmax(280px,.58fr);gap:12px}#production-shift-plan-modal .production-shift-plan-left{display:flex;flex-direction:column;min-height:0}#production-shift-plan-modal .production-shift-plan-ops{flex:1;min-height:0;height:auto}#production-auto-plan-modal .modal-content{width:94vw;max-width:1440px;border-radius:12px}#production-auto-plan-modal .modal-body{max-height:78vh;overflow:auto}.production-auto-plan-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px}.production-auto-plan-title-wrap{min-width:0}.production-auto-plan-context,.production-auto-plan-card-deadline{margin-top:4px;font-size:13px;color:#6b7280}.production-auto-plan-card-meta{text-align:right;min-width:260px}.production-auto-plan-card-label{font-weight:700}.production-auto-plan-form,.production-auto-plan-preview-wrap{display:flex;flex-direction:column;gap:14px}.production-auto-plan-section{padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:#fff}.production-auto-plan-grid{display:grid;gap:12px}.production-auto-plan-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.production-auto-plan-date-input-wrap{position:relative;display:flex;align-items:center}.production-auto-plan-date-input-wrap input[type=text]{flex:1;padding-right:42px}.production-auto-plan-date-picker{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:22px;height:22px;padding:0;border:0;border-radius:6px;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:18px 18px;cursor:pointer}.production-auto-plan-date-native-anchor{position:absolute;top:50%;right:10px;width:22px;height:22px;margin:0;padding:0;border:0;opacity:0;transform:translateY(-50%);cursor:pointer;z-index:2}.production-auto-plan-date-native-anchor::-webkit-calendar-picker-indicator{width:22px;height:22px;margin:0;padding:0;cursor:pointer}.production-auto-plan-date-native-anchor:disabled{cursor:default}.production-auto-plan-date-picker:hover{background-color:#94a3b824}.production-auto-plan-date-picker:focus-visible{outline:2px solid rgba(37,99,235,.35);outline-offset:2px}.production-auto-plan-date-picker:disabled{opacity:.45;cursor:default}.production-auto-plan-shifts{display:flex;flex-wrap:wrap;gap:8px}.production-auto-plan-shift-btn.is-active,.production-auto-plan-shift-btn.active{color:#065f46;border-color:#05966973;background:#10b9812e}.production-auto-plan-toggle{margin-top:12px}.production-auto-plan-warning{margin-top:10px;padding:10px 12px;border-radius:10px;background:#f59e0b1f;color:#92400e;font-size:13px}.production-auto-plan-result{min-height:420px;max-height:100%;overflow:auto;padding:12px;border-radius:12px;border:1px solid rgba(15,23,42,.08);background:#f8fafc;white-space:pre-wrap;font-size:13px;line-height:1.45}.production-auto-plan-result-entry+.production-auto-plan-result-entry{margin-top:14px;padding-top:14px;border-top:2px solid rgba(15,23,42,.12)}.production-auto-plan-result-entry.is-success{color:#166534}.production-auto-plan-result-entry.is-error{color:#b91c1c}.production-auto-plan-result-entry.is-partial .production-auto-plan-result-success{color:#166534}.production-auto-plan-result-entry.is-partial .production-auto-plan-result-error{color:#b91c1c}.production-auto-plan-actions{justify-content:flex-end}.production-shifts-cardview-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.production-shifts-cardview-actions--plan{margin-left:0;justify-content:flex-start}.production-gantt-card{gap:16px}.production-gantt-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 16px;padding:14px 16px;border:1px solid rgba(15,23,42,.08);border-radius:12px;background:linear-gradient(180deg,#f8fafcf2,#f1f5f9eb)}.production-gantt-summary-item{font-size:14px;line-height:1.35}.production-gantt-summary-label{font-weight:700;margin-right:6px}.production-gantt-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px;align-items:start}.production-gantt-left-head{display:flex;align-items:flex-end;padding:0 12px 10px;font-weight:700;color:#0f172a}.production-gantt-left-body{display:flex;flex-direction:column}.production-gantt-op-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid rgba(15,23,42,.1);border-radius:12px;background:#fff}.production-gantt-op-card+.production-gantt-op-card{margin-top:0}.production-gantt-op-card.is-conflict{border-color:#dc262659;background:#fef2f2f2}.production-gantt-op-title-row{display:flex;align-items:flex-start;gap:8px}.production-gantt-op-title{font-weight:700;color:#0f172a;overflow-wrap:anywhere}.production-gantt-op-badges{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto;justify-content:flex-end}.production-gantt-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em}.production-gantt-badge.is-auto{background:#16a34a1f;color:#166534}.production-gantt-badge.is-manual{background:#eab30829;color:#854d0e}.production-gantt-badge.is-conflict{background:#dc262624;color:#b91c1c}.production-gantt-op-meta,.production-gantt-op-reason{font-size:12px;line-height:1.35;color:#475569}.production-gantt-op-reason{color:#b91c1c}.production-gantt-right{min-width:0}.production-gantt-timeline-shell{position:relative}.production-gantt-right-scroll{overflow:auto;border:1px solid rgba(15,23,42,.1);border-radius:12px;background:#fff;cursor:grab;-webkit-user-select:none;user-select:none}.production-gantt-right-scroll.is-dragging,.production-gantt-right-scroll.is-dragging *{cursor:grabbing}.production-gantt-zoom-controls{position:absolute;left:12px;bottom:18px;display:inline-flex;gap:6px;padding:6px;border-radius:999px;background:#ffffffeb;border:1px solid rgba(15,23,42,.1);box-shadow:0 8px 24px #0f172a1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3}.production-gantt-zoom-btn{min-width:28px;min-height:28px;padding:0;border-radius:999px;font-size:16px;line-height:1}.production-gantt-zoom-btn[disabled]{opacity:.45;cursor:default}.production-gantt-timeline{min-width:100%}.production-gantt-timeline-head{position:relative;border-bottom:1px solid rgba(15,23,42,.1);background:linear-gradient(180deg,#f8fafcfa,#f1f5f9f0)}.production-gantt-day-mark,.production-gantt-hour-mark{position:absolute;top:0;bottom:0;pointer-events:none}.production-gantt-day-mark{border-left:1px solid rgba(15,23,42,.16)}.production-gantt-day-mark span{position:absolute;top:6px;left:6px;font-size:12px;font-weight:700;color:#0f172a}.production-gantt-hour-mark span{position:absolute;right:-22px;bottom:6px;font-size:11px;color:#64748b}.production-gantt-slot-grid{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(90deg,rgba(148,163,184,.14) 0,rgba(148,163,184,.14) 1px,transparent 1px,transparent var(--production-gantt-quarter-grid-width, var(--production-gantt-quarter-width, 24px))),repeating-linear-gradient(90deg,rgba(100,116,139,.18) 0,rgba(100,116,139,.18) 1px,transparent 1px,transparent var(--production-gantt-hour-grid-width, var(--production-gantt-hour-width, 96px)));pointer-events:none}.production-gantt-slot-grid.is-date-start{box-shadow:inset 2px 0 #0f172a24}.production-gantt-slot-separator{position:absolute;top:0;bottom:0;width:0;border-left:2px solid rgba(71,85,105,.28);pointer-events:none;z-index:1}.production-gantt-slot-separator.is-date-start{border-left-width:4px;border-left-color:#0f172a85}.production-gantt-slot-separator.is-end{border-left-width:3px;border-left-color:#47556957}.production-gantt-slot-mark{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:6px 10px;text-align:center;pointer-events:none;z-index:2}.production-gantt-slot-mark.is-compact{align-items:flex-start;justify-content:flex-start;padding:4px 6px;text-align:left}.production-gantt-slot-label{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%}.production-gantt-slot-label.is-compact{display:grid;grid-template-columns:1fr;align-items:start;justify-items:start;gap:2px;width:100%;max-width:100%}.production-gantt-slot-date,.production-gantt-slot-shift{white-space:nowrap;color:#0f172a}.production-gantt-slot-label.is-compact .production-gantt-slot-date,.production-gantt-slot-label.is-compact .production-gantt-slot-shift{white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.05;max-width:100%}.production-gantt-slot-date{font-size:12px;font-weight:700}.production-gantt-slot-label.is-compact .production-gantt-slot-date{font-size:10px}.production-gantt-slot-date-empty{display:inline-block;min-width:1px}.production-gantt-slot-shift{font-size:11px;color:#475569}.production-gantt-slot-label.is-compact .production-gantt-slot-shift{font-size:10px}.production-gantt-timeline-body{position:relative;background:linear-gradient(180deg,#fff,#f8fafcfa)}.production-gantt-row-guide{position:absolute;left:0;right:0;border-bottom:1px solid rgba(148,163,184,.18)}.production-gantt-bar{position:absolute;display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:40px;padding:5px 8px;border-radius:8px;border:1px solid color-mix(in srgb,var(--production-gantt-bar-color) 72%,#0f172a 12%);background:color-mix(in srgb,var(--production-gantt-bar-color) 18%,white 82%);color:#0f172a;overflow:hidden;z-index:2}.production-gantt-bar.is-placeholder{border-style:dashed;background:color-mix(in srgb,var(--production-gantt-bar-color) 10%,white 90%)}.production-gantt-bar.is-conflict{background:#fee2e2f5;border-color:#dc2626b3}.production-gantt-bar-main{font-size:12px;font-weight:700;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.production-gantt-bar-meta{font-size:11px;font-weight:600;line-height:1.1;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.production-gantt-links{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none;z-index:1}.production-gantt-link-path{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:square}.production-gantt-comments{display:flex;flex-direction:column;gap:6px;padding-top:4px}.production-gantt-comment{font-size:13px;line-height:1.4;color:#334155}@media(max-width:960px){.production-auto-plan-body,.production-auto-plan-grid--2{grid-template-columns:1fr}.production-auto-plan-card-meta{min-width:0;text-align:left}.production-shifts-cardview-header{flex-wrap:wrap}.production-shifts-cardview-actions{margin-left:0;width:100%}.production-gantt-layout{grid-template-columns:1fr}.production-gantt-left-head{height:auto!important;padding:0 0 8px}.production-gantt-zoom-controls{left:10px;bottom:16px}}.op-areas-controls{display:flex;flex-direction:column;gap:6px}.op-areas-list{display:flex;flex-wrap:wrap;gap:6px}.op-area-pill{display:inline-flex;align-items:flex-start;gap:6px;padding:2px 8px;border-radius:999px;background:#0000000f;border:1px solid rgba(0,0,0,.1);line-height:1.2}.op-areas-add{display:inline-flex;align-items:center;gap:6px}.op-areas-picker{max-width:260px}.op-areas-picker.hidden{display:none}.op-area-add-toggle,.op-area-remove{width:22px;height:22px;padding:0;line-height:20px;border-radius:6px}th.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.th-sortable.active{font-weight:700}th .th-sort-ind{font-size:12px;opacity:.9}.top-progress{position:fixed;left:0;top:0;height:3px;width:0%;z-index:9999;background:#ffffffd9;transition:width .18s ease;box-shadow:0 0 10px #ffffff59}.top-progress.is-hidden{display:none}.skel{position:relative;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:12px;overflow:hidden}.skel:after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);animation:skel-shimmer 1.1s infinite}@keyframes skel-shimmer{0%{left:-40%}to{left:110%}}.skel-row{height:14px;margin:10px 0}.skel-row.h20{height:20px}.skel-row.h28{height:28px}.skel-row.h36{height:36px}.skel-row.w25{width:25%}.skel-row.w40{width:40%}.skel-row.w55{width:55%}.skel-row.w70{width:70%}.skel-row.w90{width:90%}.skel-block{height:120px}.skel-table{height:280px;border-radius:14px}.spa-skeleton-host{position:relative;min-height:100vh}.spa-skeleton-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;padding:14px;background:#f5f5f7}.spa-page-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:14px}.spa-page-nav-btn{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#111827;cursor:pointer;font-size:14px;font-weight:600;line-height:1;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.spa-page-nav-btn:hover:not([disabled]){background:#f9fafb;border-color:#9ca3af}.spa-page-nav-btn.active{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.spa-page-nav-btn[disabled]{opacity:.45;cursor:default}.spa-page-nav-ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:24px;color:#6b7280;font-weight:700}.nav-btn--disabled,.nav-dropdown-item--disabled{opacity:.4;cursor:default;pointer-events:none}.xlsx-preview-shell{margin:0;padding:18px;background:#f8fafc;color:#111827;font:14px/1.45 Arial,sans-serif}.xlsx-preview-header{margin:0 0 14px;color:#111827;font-size:18px;font-weight:700}.xlsx-preview-table-wrap{max-width:100%;overflow:auto;border:1px solid #d1d5db;background:#fff}.xlsx-preview-table{width:max-content;min-width:100%;border-collapse:collapse}.xlsx-preview-table th,.xlsx-preview-table td{padding:6px 8px;border:1px solid #e5e7eb;white-space:nowrap}.xlsx-preview-error{color:#991b1b;font-weight:600}
