@charset "UTF-8";
:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#203445;background:#f5f7f9;font-size:14px;--blue:#245b79;--muted:#71818e;--line:#e4e9ed}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:7px;background:var(--blue);color:white;padding:12px 18px;font-weight:600}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}input,select,textarea{width:100%;border:1px solid #d7e0e6;border-radius:6px;background:white;padding:12px;color:#203445;outline:none}input:focus,select:focus{border-color:#357da1;box-shadow:0 0 0 3px #357da115}label{display:block;margin:20px 0;color:#4f6372;font-size:13px}label input,label select{margin-top:9px}.hidden{display:none!important}.muted{color:var(--muted);line-height:1.7}.eyebrow{font-size:11px;letter-spacing:2px;color:#758e9e;font-weight:700}h1,h2,h3,p{margin-top:0}h1{font-size:29px;letter-spacing:-.7px;margin-bottom:8px}h2{font-size:23px}h3{font-size:16px}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-brand{color:#fff;background:#163e52;padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand:after{content:"";position:absolute;width:550px;height:550px;border:1px solid #ffffff12;border-radius:50%;right:-220px;bottom:-220px;box-shadow:0 0 0 65px #ffffff04,0 0 0 130px #ffffff03}.wordmark{font-size:16px;letter-spacing:5px;margin-bottom:75px;color:#bfd5de}.login-brand h1{font-size:42px;line-height:1.6;font-weight:500}.login-brand p{color:#abc4ce;margin-top:18px}.login-lines{margin-top:70px;display:flex;gap:25px;font-size:12px;color:#a4beca}.login-panel{max-width:460px;width:100%;margin:auto;padding:50px}.login-panel h2{margin:16px 0 10px;font-size:27px}.login-panel form{margin-top:40px}.login-panel button{width:100%;margin-top:10px;text-align:left;display:flex;justify-content:space-between}.login-panel small{display:block;margin-top:60px;color:#a0adb6;font-size:11px}.error{color:#ad3535;margin-top:14px;font-size:13px;line-height:1.6}.password-screen{min-height:100vh;display:grid;place-items:center}.password-screen .card{width:min(440px,95vw);padding:38px}.shell{display:flex;min-height:100vh}aside{width:224px;flex-shrink:0;background:#173c50;color:#a8c3d0;position:fixed;top:0;bottom:0;display:flex;flex-direction:column;padding:32px 17px;z-index:5}.brand{display:flex;align-items:center;gap:13px;color:#ecf5f8;text-decoration:none;font-weight:700;font-size:31px;margin:0 10px 45px}.brand span{font-size:18px;letter-spacing:1px}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:1px;margin-top:7px;color:#99b5c3}.nav-label{font-size:10px;letter-spacing:2px;color:#7d9dad;margin:0 17px 14px}nav{display:flex;flex-direction:column;gap:5px;overflow:auto}nav button{background:transparent;color:#adc4ce;text-align:left;font-weight:400;font-size:13px;padding:12px 16px;display:flex;gap:12px}nav button.active{background:#ffffff13;color:#fff}nav button .icon{font-size:16px;width:19px;color:#91bdce}.aside-bottom{margin-top:auto;border-top:1px solid #ffffff10;padding:25px 10px 0;font-size:11px;line-height:2;color:#8aa8b7}.aside-bottom small{font-size:10px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#80bca3;margin-right:5px}main{margin-left:224px;flex:1;min-width:0}header{height:77px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;padding:0 36px;font-size:12px}.breadcrumb{color:#8b9aa6}#crumb{margin-left:12px;color:#526b7c}.user{display:flex;align-items:center;gap:15px}.text-button{background:none;color:#7d909d;font-weight:400;padding:5px}.workspace{padding:34px 36px;max-width:1650px;margin:auto;min-height:calc(100vh - 125px)}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-heading .eyebrow{margin-bottom:10px}.page-heading p{font-size:12px;margin-bottom:0}.secondary{background:white;border:1px solid #dce4e9;color:#526b7b;font-size:12px;padding:9px 14px;font-weight:400}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.card{background:white;border:1px solid var(--line);border-radius:9px;padding:23px}.metric-label{font-size:12px;color:#6f8492;margin-bottom:18px}.metric-value{font-size:30px;font-weight:600;letter-spacing:-1px;margin-bottom:10px}.metric-sub{font-size:11px;color:#99a8b1}.card-accent{border-top:3px solid #42829c}.grid-two{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.tag{font-size:10px;padding:5px 8px;border-radius:4px;background:#edf4f7;color:#3f738a;white-space:nowrap}.tag.warn{background:#fcf4e5;color:#a27d37}.banner{padding:16px 19px;background:#eef4f7;border:1px solid #dce9ee;border-radius:7px;color:#4d6d80;font-size:12px;line-height:1.8;margin-bottom:23px}.banner.warning{background:#fffbf1;border-color:#efe6cf;color:#8d764a}.progress{height:5px;background:#edf0f3;overflow:hidden;border-radius:3px;margin:14px 0}.progress-fill{height:100%;background:#548a9d;width:0}.domain-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-top:1px solid #eef1f4;font-size:12px;gap:12px}.domain-row small{color:#91a2ae}.toolbar{display:flex;gap:10px;justify-content:space-between;margin-bottom:18px}.search-form{display:flex;gap:8px;max-width:420px;flex:1}.search-form input{padding:9px 12px}.table-wrap{background:white;border:1px solid var(--line);border-radius:8px;overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:12px}th{background:#f9fafc;color:#7b8f9e;font-weight:500;padding:15px 20px;border-bottom:1px solid var(--line)}td{padding:15px 20px;border-bottom:1px solid #edf1f4;max-width:550px;overflow:hidden;text-overflow:ellipsis}tr:last-child td{border:0}tbody tr:hover{background:#fafcfd}.link-button{padding:3px 0;background:none;color:#2b7698;font-weight:500}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin:20px 0;font-size:12px;color:#7f909b}.empty{padding:60px 20px;text-align:center;color:#98a7b1;line-height:2;font-size:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.form-grid label{margin:8px 0 16px}.form-footer{display:flex;justify-content:flex-end;margin-top:10px}.split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.stack{display:flex;flex-direction:column;gap:22px}footer{padding:15px 36px;color:#9babb6;font-size:10px;border-top:1px solid #e9eef1}footer span{padding:0 8px}dialog{width:min(880px,95vw);border:1px solid #dbe5eb;border-radius:10px;padding:28px;max-height:86vh;color:#2c4555}dialog::backdrop{background:#102b3e88;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dialog-head h2{font-size:19px;margin:0}.detail-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.detail-field{border-bottom:1px solid #edf1f4;padding:13px 0;overflow-wrap:anywhere}.detail-field small{display:block;color:#8296a4;font-size:11px;margin-bottom:6px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f8fa;padding:18px;font-size:11px;line-height:1.8;max-height:55vh;overflow:auto}details{margin-top:20px}summary{cursor:pointer;color:#628297;font-size:12px}.hint{font-size:11px;color:#8095a2;line-height:1.9}.list-action{margin-top:15px}.native-label{font-size:11px;color:#7590a0;margin:22px 0 12px}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.grid-two,.split{grid-template-columns:1fr}aside{width:190px}main{margin-left:190px}.workspace{padding:25px}}@media(max-width:700px){.login{grid-template-columns:1fr}.login-brand{padding:35px}.login-brand h1{font-size:28px}.wordmark{margin-bottom:25px}.login-lines{display:none}.login-panel{padding:35px}.login-panel small{margin-top:30px}aside{width:64px;padding:20px 6px}.brand{font-size:26px;margin:0 12px 30px}.brand span,.nav-label,.aside-bottom,nav button span:not(.icon){display:none}nav button{padding:13px 15px}main{margin-left:64px}header{padding:0 18px}.workspace{padding:23px 16px}.page-heading{align-items:flex-start}h1{font-size:24px}.cards{gap:10px}.card{padding:17px}.metric-value{font-size:25px}.form-grid,.detail-fields{grid-template-columns:1fr}.page-heading .secondary{white-space:nowrap}.user{gap:5px}.breadcrumb{display:none}}

/* Shared list sorting controls and accessible column headers. */
.toolbar{flex-wrap:wrap;align-items:center}.list-toolbar{justify-content:flex-start;gap:12px 18px}.list-toolbar>.hint{margin-left:auto}.sort-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.sort-controls label{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:#526b7b;white-space:nowrap}.sort-controls select{width:auto;min-width:100px;max-width:210px;padding:8px 26px 8px 10px;margin:0}.sort-heading{border:0;border-radius:3px;padding:0;background:transparent;color:inherit;font:inherit;font-weight:500;display:inline-flex;gap:7px;align-items:center;cursor:pointer;text-align:left}.sort-heading:hover{background:transparent;color:#236f91}.sort-heading:focus-visible{outline:2px solid #42829c;outline-offset:5px}th[aria-sort]{color:#236f91}.sort-heading span{font-size:12px;color:#7895a5}@media(max-width:700px){.list-toolbar .search-form{flex-basis:100%;max-width:none}.list-toolbar>.hint{margin-left:0}.sort-controls{gap:10px}.sort-controls label{font-size:11px}.sort-controls select{max-width:160px}}

/* Login password visibility stays local to the current input. */
.password-input-row{position:relative;margin:8px 0 18px}.password-input-row input{padding-right:92px}.password-input-row .password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:5px;width:auto;padding:7px 8px;margin:0;background:transparent;color:#526b7b;font-size:12px;border:0}.password-toggle:hover{background:#eef4f7}.password-toggle:focus-visible{outline:2px solid #42829c;outline-offset:2px}.password-toggle [hidden]{display:none}

/* Keep short search actions readable in crowded list toolbars. */
.search-form{min-width:220px}.search-form input{min-width:0}.search-form button{flex-shrink:0;white-space:nowrap}

.detail-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--line);padding-bottom:12px}.detail-tabs [aria-selected="true"]{background:var(--blue);color:white;border-color:var(--blue)}.detail-field>.secondary{padding:4px 8px}td>.secondary{padding:4px 8px;text-align:left}

.blocked-action{display:flex;flex-direction:column;gap:6px;max-width:260px}.blocked-action small{font-size:11px;color:var(--muted)}.blocked-action button:disabled{cursor:not-allowed}

/* Employee workbench: task cards remain usable at a production terminal width. */
.wb-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:22px;align-items:start}.wb-scan .search-form{max-width:none;margin-bottom:14px}.wb-scan video{width:100%;max-height:300px;background:#172e3c}.wb-list-tools{margin-top:20px}.wb-list-tools label{margin:0;display:flex;align-items:center;gap:8px}.wb-list-tools select{width:auto;margin:0;padding:8px}.wb-task-list{display:grid;gap:14px}.wb-task h3{margin-bottom:10px}.wb-task>p{font-size:12px;color:#647b8b;line-height:1.7}.wb-balances{display:flex;flex-wrap:wrap;gap:16px 25px;margin:16px 0}.wb-balances span{color:#647b8b;font-size:11px}.wb-balances strong{display:block;color:#25495f;font-size:17px;margin-top:6px;font-variant-numeric:tabular-nums}.wb-blocked{background:#fcf4e5;border-radius:5px;padding:9px 12px}.wb-report{border-top:1px solid var(--line);padding:15px 0;line-height:1.7;font-size:12px}.wb-report strong{display:block}.wb-report small{color:var(--muted)}.wb-context h3{line-height:1.7}fieldset{border:0;margin:0;padding:0;min-width:0}fieldset:disabled{opacity:.65}.wb-defects{border-top:1px solid var(--line);margin-top:12px;padding-top:16px;display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.wb-defects>h3,.wb-defects>p{grid-column:1/-1}.wb-preview{margin-top:22px}.wb-preview dl{display:grid;grid-template-columns:120px 1fr;gap:10px;line-height:1.7;font-size:13px}.wb-preview dt{color:var(--muted)}.wb-preview dd{margin:0;overflow-wrap:anywhere}.wb-success{margin-top:20px;background:#eef8f2}.task-print-label{padding:20px;text-align:center;display:flex;flex-direction:column;align-items:center}.task-qr{width:180px;height:180px;margin-bottom:12px}
@media(max-width:1050px){.wb-layout{grid-template-columns:1fr}.wb-recent{order:2}}@media(max-width:700px){.wb-scan .search-form{min-width:0}.wb-scan .search-form button{padding:10px 12px}.wb-preview dl{grid-template-columns:90px 1fr}.wb-defects{grid-template-columns:1fr}.wb-balances{gap:14px 20px}.wb-task .card-head{align-items:flex-start}.wb-task .card-head strong{overflow-wrap:anywhere}}
@media print{body.print-task *{visibility:hidden}body.print-task .task-print-label,body.print-task .task-print-label *{visibility:visible}body.print-task .task-print-label{position:fixed;inset:0;width:100%;height:auto;background:white;color:black}body.print-task dialog{position:static;overflow:visible;border:0;max-height:none}body.print-task dialog::backdrop{background:transparent;backdrop-filter:none}}

.wb-grants{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;max-height:320px;overflow:auto;padding:8px 0;margin-bottom:20px}.wb-grants label{display:flex;align-items:center;gap:8px;margin:0;padding:6px 0}.wb-grants input[type="checkbox"]{width:auto;margin:0;flex-shrink:0}#wb-input-rule form{padding:18px;border:1px solid var(--line);border-radius:8px;margin-bottom:20px}@media(max-width:700px){.wb-grants{grid-template-columns:1fr}}

.dialog-head{align-items:flex-start;gap:14px}.dialog-head h2{min-width:0;overflow-wrap:anywhere;line-height:1.5}.dialog-head>button{flex-shrink:0;white-space:nowrap}.wb-extra{padding:12px 0;margin:0 0 12px;border-bottom:1px solid var(--line)}.wb-extra summary{font-size:13px}.wb-extra .form-grid{margin-top:14px}

/* Planning forms keep source allocations and production units visible together. */
.plan-search input[name=q]{max-width:260px;min-width:150px}.plan-search label{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}.plan-search select{width:auto;margin:0;padding:8px}.plan-actions{justify-content:flex-start}.plan-group,.plan-preview-card,.plan-recipe-step,.plan-material{margin:18px 0}.plan-group .card-head{gap:12px;align-items:flex-start}.plan-group .card-head h3{line-height:1.6}.plan-allocation{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding:12px 0}.plan-allocation>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.plan-allocation small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.plan-allocation label{width:130px;margin:0;font-size:11px}.plan-allocation input{padding:8px;margin-top:5px}.check-label{display:flex;align-items:flex-start;gap:10px;line-height:1.7}.check-label input[type=checkbox]{width:auto;flex-shrink:0;margin:3px 0 0}.plan-issues{padding:12px 18px;background:#fff8ed;border:1px solid #f0e3cb;border-radius:8px;margin-bottom:20px}.plan-issues p{margin:6px 0}.plan-preview-card .domain-row small{display:block}.plan-material .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}input[data-plan-demand]{width:auto}.plan-group input,.plan-recipe-step input{min-width:0}@media(max-width:700px){.plan-search input[name=q]{max-width:none;flex-basis:100%}.plan-search label{font-size:11px}.plan-allocation{gap:8px}.plan-allocation label{width:100px}.plan-allocation>span:last-child{font-size:11px}.plan-material .form-grid{grid-template-columns:1fr}.plan-group,.plan-preview-card,.plan-recipe-step,.plan-material{padding:16px}.plan-group .card-head button{padding:6px 8px;white-space:nowrap}.plan-search select{max-width:150px}}

.ai-question{margin:14px 0}.ai-question>small{color:var(--muted)}[data-ai-form] textarea{width:100%;resize:vertical}[data-ai-form] .domain-row small{display:block}[data-ai-form] select[multiple]{min-height:100px}

.business-choice{min-width:0;position:relative}.business-choice label{display:block}.business-choice [role=combobox]{width:100%}.biz-clear{margin:6px 0}.biz-options{border:1px solid #dce5eb;border-radius:8px;padding:10px;max-height:280px;overflow:auto;background:#fff}.biz-options[hidden]{display:none}.biz-options [role=option]{display:block;width:100%;margin:4px 0;text-align:left;white-space:normal;overflow-wrap:anywhere;background:#f5f9fa;color:#183443}.biz-options [role=option] small{display:block;font-weight:400}.biz-options [role=option][aria-selected=true]{outline:2px solid #087b68}.biz-options .toolbar{display:flex;flex-wrap:wrap;font-size:12px}.business-choice input:disabled{background:#eef4f5;color:#3a505c}[data-biz-summary]{margin:16px 0;overflow-wrap:anywhere}[data-biz-summary] p{margin:8px 0}

.plan-requirements{white-space:pre-wrap;overflow-wrap:anywhere}.plan-allocation small{white-space:pre-wrap;overflow-wrap:anywhere}
.plan-preview-card .domain-row{flex-wrap:wrap}.plan-preview-card .domain-row small{flex-basis:100%;white-space:pre-wrap;overflow-wrap:anywhere}

.people-choice{border:1px solid var(--line);border-radius:8px;padding:16px;margin:16px 0}.people-search{display:flex;gap:8px;margin:12px 0}.people-search input{min-width:0}.people-result{display:flex;width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere;margin:6px 0}.people-result input{width:auto;flex-shrink:0}.people-selected-row{display:flex;align-items:center;gap:12px;justify-content:space-between;overflow-wrap:anywhere;margin:8px 0}.people-selected-row span{min-width:0}.people-selected-row button{flex-shrink:0}.people-pagination{flex-wrap:wrap;align-items:center;margin:12px 0 0}.people-choice h3{margin-bottom:8px}

/* Keep employee quantities and current conditions near the top on phones. */
.wb-recording-identity{font-size:12px;line-height:1.7;color:#526b7b;margin:10px 0;overflow-wrap:anywhere}.wb-context-info{margin:8px 0 12px}.wb-context-info>summary{padding:8px 0;line-height:1.6}.wb-context-info[open]{padding-bottom:10px;border-bottom:1px solid var(--line)}.wb-context-info .wb-production-requirements{margin-top:12px}.wb-report-main .wb-producer-field{grid-column:1/-1}.wb-report-main [hidden]{display:none}.wb-report-main input{font-variant-numeric:tabular-nums;min-width:0}.wb-participation-entry{margin-bottom:10px}.wb-participation-entry button{padding:7px 10px}.wb-context .banner.warning{margin:10px 0}[data-wb-producer-message]:empty{display:none}.exec-available-actions{justify-content:flex-start;flex-wrap:wrap;margin-bottom:10px}.exec-blocked-conditions{margin:10px 0 16px}.exec-blocked-conditions dl{font-size:12px;line-height:1.8}.exec-blocked-conditions dt{font-weight:600}.exec-blocked-conditions dd{margin:2px 0 12px;color:#71818e}
@media(max-width:700px){[data-wb-report] .wb-report-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}[data-wb-report] .wb-report-main label{min-width:0;font-size:12px;margin:5px 0 12px}[data-wb-report] .wb-report-main input{min-height:46px;padding:10px 9px;font-size:18px}[data-wb-report] .wb-report-main .wb-producer-field{grid-column:1/-1}.wb-context h3{margin-bottom:8px}.wb-context .wb-balances{margin:8px 0 10px;gap:10px 18px}.wb-context-info summary{font-size:12px}.wb-recording-identity{margin:7px 0}.exec-available-actions>button{min-height:44px}.exec-blocked-conditions summary{line-height:1.8}}

[data-exec-member] label[hidden]{display:none}

.q-choice{position:relative;min-width:0}.q-choice>label{margin-bottom:5px}.q-choice>[data-q-clear]{margin-bottom:10px}.q-spec-item{margin:18px 0}.q-spec-item [data-q-numeric],.q-spec-item [data-q-enum]{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}[data-quality] [hidden]{display:none!important}[data-quality-evidence] td{white-space:normal;overflow-wrap:anywhere;min-width:100px}[data-quality-evidence] td small{display:block;color:var(--muted);margin-top:5px}.q-reading{margin:14px 0}.q-reading textarea{min-height:80px;font-variant-numeric:tabular-nums}[data-quality] .toolbar{flex-wrap:wrap;justify-content:flex-start}[data-quality] button{min-height:40px}[data-quality] input,[data-quality] select,[data-quality] textarea{min-width:0}@media(max-width:700px){.q-spec-item [data-q-numeric],.q-spec-item [data-q-enum]{grid-template-columns:1fr}.q-reading{padding:14px}[data-quality] .form-grid{gap:0 12px}[data-quality] button{min-height:44px}[data-quality] .biz-options{max-height:270px;overflow:auto}}

[data-quality] h3,[data-quality] p,[data-quality-evidence] h3,[data-quality-evidence] p{overflow-wrap:anywhere}

/* Shared page title and actions occupy the top bar on every workspace. */
.workspace-header{height:auto;min-height:77px;padding:18px 36px;gap:16px;flex-wrap:wrap}.workspace-header h1{margin:0;font-size:26px;line-height:1.3;min-width:0;overflow-wrap:anywhere}.workspace-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap;max-width:100%}.workspace-header .user{gap:12px;flex-wrap:wrap;max-width:100%}.workspace-header .text-button,.workspace-header #refresh{white-space:nowrap}.workspace-header #user-name{max-width:180px;overflow-wrap:anywhere}.workspace{padding-top:24px}
@media(max-width:700px){.workspace-header{padding:14px 16px;gap:10px}.workspace-header h1{font-size:22px}.workspace-header-actions{width:100%;justify-content:space-between;gap:10px}.workspace-header .user{gap:8px}.workspace-header .text-button{font-size:12px}.workspace{padding-top:18px}}

/* Allow split cards to fit the viewport and account actions to wrap. */
.split>.card{min-width:0}.split .domain-row{flex-wrap:wrap}.people-search>button{flex-shrink:0}
