:root {
  --ink: #18201c;
  --muted: #6c756f;
  --paper: #f4f0e7;
  --panel: #fffdf8;
  --line: #ded8cb;
  --green: #174f3a;
  --green-soft: #e4efe8;
  --amber: #9a5b17;
  --amber-soft: #fff0d6;
  --red: #8e2e2e;
  --shadow: 0 18px 50px rgba(29, 40, 34, .08);
}

/* 字节阵历史资料库：独立于商品主档的只读资料界面 */
.archive-page-body { background:#f3f1ea; }
.archive-main { width:min(1440px,calc(100% - 40px)); margin:24px auto 72px; }
.archive-hero { align-items:center; }
.archive-boundary { display:flex; align-items:center; justify-content:space-between; gap:24px; border-left:5px solid var(--green); }
.archive-boundary-points { display:flex; flex-wrap:wrap; gap:8px; }
.archive-boundary-points span { padding:8px 12px; border-radius:999px; background:#eef4f0; color:#244d3d; font-weight:700; }
.archive-batch-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; }
.archive-batch-card { display:grid; gap:10px; padding:16px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.archive-batch-card > div:first-child,.archive-batch-stats { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.archive-batch-card small { color:var(--muted); overflow-wrap:anywhere; }
.archive-batch-card progress { width:100%; height:10px; accent-color:var(--green); }
.archive-filter { display:grid; grid-template-columns:2fr repeat(3,minmax(150px,1fr)) auto auto; gap:10px; align-items:end; margin:18px 0; }
.archive-filter label { display:grid; gap:6px; }
.archive-record-grid { display:grid; gap:10px; }
.archive-record-card { display:grid; grid-template-columns:86px minmax(0,1fr) 220px; gap:16px; align-items:center; padding:13px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.archive-record-card > img,.archive-no-image { width:86px; height:86px; object-fit:cover; border-radius:12px; background:#eceae2; }
.archive-no-image { display:grid; place-items:center; color:var(--muted); }
.archive-record-copy,.archive-record-files { display:grid; gap:5px; min-width:0; }
.archive-record-copy strong { font-size:18px; overflow-wrap:anywhere; }
.archive-record-copy small,.archive-record-files span { color:var(--muted); }
.archive-record-files em { color:#7b5b17; font-style:normal; font-size:13px; }
.archive-card-actions,.archive-detail-actions,.dialog-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.archive-card-actions button { flex:1; min-width:92px; }
.archive-detail-actions { justify-content:space-between; margin-bottom:14px; padding:12px; border-radius:14px; background:#eef5f0; }
.archive-sync-dialog { width:min(760px,calc(100vw - 24px)); max-height:calc(100vh - 24px); }
.archive-sync-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.archive-sync-grid label { display:grid; gap:6px; }
.check-row { display:flex; align-items:flex-start; gap:10px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.check-row input { width:20px; height:20px; flex:0 0 auto; }
.archive-pager { display:flex; justify-content:center; align-items:center; gap:12px; margin-top:18px; }
.archive-detail-dialog { width:min(980px,calc(100vw - 32px)); max-height:calc(100vh - 32px); }
.archive-detail-core { display:grid; grid-template-columns:220px minmax(0,1fr); gap:18px; }
.archive-detail-core img { width:220px; height:220px; object-fit:cover; border-radius:16px; }
.archive-detail-core dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:0; }
.archive-detail-core dl div,.archive-raw-grid div { padding:10px; border-radius:12px; background:#f3f1eb; }
.archive-detail-core dt,.archive-raw-grid b { color:var(--muted); font-size:12px; }
.archive-detail-core dd { margin:4px 0 0; font-weight:700; overflow-wrap:anywhere; }
.archive-file-list { display:grid; gap:8px; }
.archive-file-list > div { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; align-items:center; padding:11px; border:1px solid var(--line); border-radius:12px; }
.archive-file-list span { display:grid; gap:3px; min-width:0; }
.archive-file-list strong { overflow-wrap:anywhere; }
.archive-raw-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
.archive-raw-grid div { display:grid; gap:4px; }
.archive-raw-grid span { overflow-wrap:anywhere; }
@media (max-width:900px) {
  .archive-main { width:min(100% - 22px,1440px); margin-top:12px; }
  .archive-boundary { align-items:flex-start; flex-direction:column; }
  .archive-filter { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .archive-record-card { grid-template-columns:70px minmax(0,1fr); }
  .archive-record-card > img,.archive-no-image { width:70px; height:70px; }
  .archive-record-files { grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .archive-record-files button { grid-column:1/-1; }
}
@media (max-width:560px) {
  .archive-filter,.archive-detail-core,.archive-detail-core dl,.archive-raw-grid,.archive-sync-grid { grid-template-columns:1fr; }
  .archive-filter button { width:100%; }
  .archive-detail-core img { width:100%; height:auto; max-height:300px; }
  .archive-file-list > div { grid-template-columns:1fr auto; }
  .archive-file-list .button-link,.archive-file-list > div > small { grid-column:1/-1; }
  .archive-batch-card > div:first-child,.archive-batch-stats { align-items:flex-start; flex-direction:column; }
}

.capability-picker { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.capability-picker .check { border:1px solid var(--line); border-radius:999px; padding:8px 12px; background:#fff; }
.capability-chips { display:flex; flex-wrap:wrap; gap:5px; min-width:180px; }
.capability-chips span { padding:4px 8px; border-radius:999px; background:#edf6f0; color:#155a43; font-size:13px; font-weight:700; }
.product-route-person { display:grid; grid-template-columns:minmax(100px,1fr) minmax(120px,160px); gap:8px; align-items:center; padding:7px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.product-route-person select,.plan-route-option select { min-height:38px; padding:6px 8px; }
.plan-route-option { grid-template-columns:minmax(120px,1fr) minmax(120px,170px) auto; }
@media (max-width:620px) {
  .product-route-person,.plan-route-option { grid-template-columns:1fr; }
  .capability-chips { min-width:0; }
}

.process-allocation-row { display:grid; grid-template-columns:minmax(0,1fr) 120px auto; gap:10px; align-items:end; margin-top:10px; }
.process-allocation-row label { display:flex; align-items:center; gap:6px; }
.process-allocation-row input { min-width:0; }
.quick-order-assignments summary { cursor:pointer; display:flex; justify-content:space-between; gap:16px; }
.quick-order-assignments summary span { display:grid; gap:4px; }
.quick-assignment-row { display:grid; grid-template-columns:100px minmax(0,1fr); gap:8px 12px; align-items:center; margin-top:10px; }
.quick-assignment-row small { grid-column:2; color:var(--muted); }
@media (max-width:560px) {
  .process-allocation-row { grid-template-columns:minmax(0,1fr) 90px; }
  .process-allocation-row button { grid-column:1/-1; }
  .quick-assignment-row { grid-template-columns:1fr; }
  .quick-assignment-row small { grid-column:1; }
}

@media (max-width:680px) {
  .technical-review-panel.subpanel { padding:10px; }
  .technical-review-panel .order-material-picker { padding:10px; }
  .technical-review-panel .quick-material-create { padding:10px; }
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 15px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", sans-serif; }
button, input, textarea, select { font: inherit; }
button { border: 0; border-radius: 9px; padding: 10px 16px; color: white; background: var(--green); cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .45; }
button.ghost, .ghost { color: var(--ink); background: transparent; border: 1px solid var(--line); }
.button-link { display:inline-flex; min-height:42px; align-items:center; justify-content:center; padding:9px 14px; border-radius:9px; color:white; background:var(--green); text-decoration:none; white-space:nowrap; }
.hero { padding: 42px max(5vw, 28px) 34px; display: flex; justify-content: space-between; gap: 30px; color: white; background: linear-gradient(120deg, #11281f, #214d3a 60%, #7b5b32); }
.hero h1 { margin: 2px 0; font: 600 clamp(34px, 5vw, 58px)/1.1 Georgia, "Songti SC", serif; letter-spacing: .04em; }
.eyebrow, .kicker { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; opacity: .72; }
.subtitle { margin: 12px 0 0; opacity: .8; }
.hero-actions { display: flex; align-items: flex-start; gap: 10px; flex-wrap:wrap; }
.test-toggle { display:flex; flex-direction:row; align-items:center; gap:6px; min-height:44px; padding:0 10px; border:1px solid rgba(255,255,255,.28); border-radius:9px; color:white; }
.test-toggle input { width:18px; min-height:18px; }
.hero .ghost { color: white; border-color: rgba(255,255,255,.32); }
main { width: min(1380px, 94vw); margin: -16px auto 60px; position: relative; }
.tabs { width: min(1380px, 94vw); margin: -18px auto 34px; padding: 7px; display: flex; gap: 6px; position: relative; z-index: 2; border: 1px solid rgba(255,255,255,.45); border-radius: 13px; background: rgba(255,253,248,.96); box-shadow: var(--shadow); overflow-x: auto; }
.tabs button { flex: 0 0 auto; color: var(--muted); background: transparent; }
.tabs button.active { color: white; background: var(--green); }
.tabs .module-center-tab { color:var(--green); font-weight:700; }
.tabs .tab-link { flex:0 0 auto; display:flex; align-items:center; padding:10px 16px; border-radius:9px; color:var(--muted); text-decoration:none; }
.tabs .tab-link:hover { color:var(--green); background:var(--green-soft); }
.page { display: none; }
.page.active { display: block; }
.overview-intro { background:linear-gradient(135deg,#fffdf8,#edf4ef); }
.operation-route { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:18px; }
.operation-route button { position:relative; min-width:0; min-height:126px; display:grid; align-content:start; gap:5px; padding:16px; color:var(--ink); border:1px solid var(--line); border-radius:14px; background:#fff; text-align:left; }
.operation-route button:not(:last-child)::after { content:"→"; position:absolute; right:-10px; top:50%; z-index:2; width:20px; height:20px; display:grid; place-items:center; margin-top:-10px; color:var(--green); border-radius:50%; background:var(--paper); }
.operation-route span { color:var(--muted); font:600 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.operation-route strong { font:600 20px/1.3 Georgia,"Songti SC",serif; }
.operation-route small { color:var(--muted); }
.overview-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:18px; }
.module-center-intro { background:linear-gradient(135deg,#fffdf8,#e9f1eb); }
.module-route { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin-top:18px; padding:14px; border:1px solid #cdddcf; border-radius:12px; color:var(--green); background:rgba(255,255,255,.72); }
.module-route span { padding:5px 10px; border-radius:999px; background:var(--green-soft); font-weight:700; }
.module-route i { color:var(--muted); font-style:normal; }
.module-group { margin-top:24px; }
.module-group-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin:0 4px 12px; }
.module-group-head h2 { margin:4px 0 0; font:600 22px/1.25 Georgia,"Songti SC",serif; }
.business-module-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.business-module-card { position:relative; display:grid; min-height:154px; align-content:start; gap:6px; padding:18px; overflow:hidden; color:var(--ink); border:1px solid var(--line); border-radius:15px; background:var(--panel); box-shadow:var(--shadow); text-align:left; text-decoration:none; transition:transform .18s ease,border-color .18s ease; }
.business-module-card:hover { border-color:#8aa999; transform:translateY(-2px); }
.business-module-card .module-number { color:#98a29c; font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.08em; }
.business-module-card strong { max-width:85%; font:600 19px/1.25 Georgia,"Songti SC",serif; }
.business-module-card small { min-height:42px; color:var(--muted); font-size:12px; }
.business-module-card b { margin-top:auto; color:var(--green); font-size:13px; }
.business-module-card::after { content:"→"; position:absolute; right:16px; top:15px; color:#a9b2ac; font-size:20px; }
.business-module-card.planned { border-style:dashed; background:#f0eee8; box-shadow:none; }
.business-module-card.planned::after { content:"○"; }
.module-workspace-table { min-width:760px; }
.metrics { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.metric { padding: 20px; border: 1px solid rgba(255,255,255,.6); border-radius: 14px; background: rgba(255,253,248,.96); box-shadow: var(--shadow); }
.metric b { display: block; font: 600 30px/1.2 Georgia, serif; }
.metric span { color: var(--muted); font-size: 13px; }
.panel { margin-top: 18px; padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); box-shadow: var(--shadow); }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.section-head h2, .dialog-head h2 { margin: 4px 0 0; font: 600 25px/1.25 Georgia, "Songti SC", serif; }
.section-note { max-width: 520px; margin: 0; color: var(--muted); font-size: 13px; text-align: right; }
.source-states { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.profile-panel { background: linear-gradient(135deg, #fffdf8, #edf4ef); }
.profile-flow, .profile-team { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.profile-team { margin-top: 14px; }
.flow-step { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.flow-step:not(:last-child)::after { content: "→"; color: var(--muted); font-weight: 400; }
.status, .pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 10px; font-size: 12px; background: var(--green-soft); color: var(--green); }
.status.muted, .pill.muted { color: var(--muted); background: #efede8; }
.pill.warn { color: var(--amber); background: var(--amber-soft); }
.pill.danger { color: var(--red); background: #f9e5e2; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 12px; }
.candidate { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.candidate h3 { margin: 9px 0 5px; font-size: 17px; }
.candidate p { margin: 5px 0; color: var(--muted); }
.candidate footer { display: flex; justify-content: space-between; align-items: center; margin-top: 16px; }
.empty { padding: 30px; border: 1px dashed var(--line); border-radius: 12px; color: var(--muted); text-align: center; background: #faf8f2; }
.callout { display:grid; gap:3px; margin:12px 0 16px; padding:14px 16px; border:1px solid #d9c99f; border-radius:12px; color:var(--amber); background:var(--amber-soft); }
.callout span { color:var(--muted); font-size:13px; }
.daily-plan-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:12px; }
.daily-plan-card { min-width:0; padding:16px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.daily-plan-head { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:start; }
.daily-plan-head h3 { margin:5px 0 2px; overflow-wrap:anywhere; }
.daily-plan-head small,.daily-plan-card > small { color:var(--muted); }
.plan-thumb { width:64px; height:64px; padding:0; overflow:hidden; border:1px solid var(--line); background:#f4f1ea; }
.plan-thumb img { width:100%; height:100%; object-fit:cover; }
.plan-numbers { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin:14px 0 10px; }
.plan-numbers span { padding:8px; border-radius:9px; color:var(--muted); background:#f5f3ed; font-size:11px; }
.plan-numbers b { display:block; color:var(--green); font-size:20px; }
.plan-actions { align-items:center; margin-top:14px; }
.danger-button { background:var(--red); }
.soft-details { margin-top:18px; padding:12px; border:1px solid var(--line); border-radius:12px; }
.soft-details summary { cursor:pointer; color:var(--muted); }
.table-wrap { overflow-x: auto; }
.inventory-command-panel { background:linear-gradient(135deg,#fffdf8,#edf4ef); }
.inventory-quick-actions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.inventory-action-card { min-height:112px; display:grid; align-content:start; gap:4px; padding:15px; color:var(--ink); border:1px solid var(--line); border-radius:13px; background:#fff; text-align:left; text-decoration:none; }
button.inventory-action-card { width:100%; }
.inventory-action-card:hover { border-color:#8aa999; transform:translateY(-1px); }
.inventory-action-card span { color:#92a098; font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.inventory-action-card strong { color:var(--green); font-size:17px; }
.inventory-action-card small { color:var(--muted); }
.section-anchor, #warehouse-sales, #sales-orders { scroll-margin-top:18px; }
.sales-control-panel .business-module-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.sales-control-panel .business-module-card { min-height:126px; }
.jst-sync-workspace { background:linear-gradient(145deg,#fffdf8,#f2f7f3); }
.jst-sync-tabs { display:flex; gap:8px; margin:4px 0 16px; padding:6px; overflow-x:auto; border:1px solid var(--line); border-radius:14px; background:#fff; }
.jst-sync-tabs button { flex:0 0 auto; min-height:42px; color:var(--muted); background:transparent; }
.jst-sync-tabs button.active { color:#fff; background:var(--green); }
.jst-sync-tabs span { display:inline-flex; justify-content:center; min-width:22px; margin-left:5px; padding:2px 6px; border-radius:999px; color:inherit; background:rgba(255,255,255,.18); font-size:11px; }
.jst-workspace-panel { padding-top:2px; }
.jst-workspace-panel[hidden] { display:none; }
.jst-result-card { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:18px; border:1px solid #cdddcf; border-radius:14px; background:#fff; }
.jst-result-card h3 { margin:9px 0 4px; }
.jst-result-card p { margin:0; color:var(--muted); }
.jst-api-status { margin:14px 0; padding:18px; border:1px solid #d7dfd5; border-radius:16px; background:#f8fbf7; }
.jst-api-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.jst-api-head h3 { margin:8px 0 4px; }
.jst-api-head p { margin:0 0 14px; color:var(--muted); }
.jst-api-permissions { display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 14px; }
.jst-api-status > small { display:block; margin-top:12px; color:var(--muted); }
.jst-panel-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:4px 0 12px; }
.jst-panel-head h3,.jst-panel-head p { margin:0; }
.jst-task-guide { margin-bottom:12px; }
.jst-task-guide .callout { margin:0; }
.jst-task-guide .callout.danger { color:var(--red); border-color:#e2aaa4; background:#f9e5e2; }
.jst-advanced-settings > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; }
.jst-advanced-settings > summary::-webkit-details-marker { display:none; }
.jst-advanced-settings > summary span { display:grid; gap:3px; }
.jst-advanced-settings > summary small { color:var(--muted); font-weight:400; }
.jst-advanced-content { padding-top:14px; }
.jst-advanced-settings:not([open]) .jst-advanced-content { display:none; }
.admin-menu { position:relative; }
.admin-menu > summary { min-height:42px; display:flex; align-items:center; padding:9px 14px; cursor:pointer; list-style:none; border:1px solid rgba(255,255,255,.38); border-radius:9px; color:#fff; }
.admin-menu > summary::-webkit-details-marker { display:none; }
.admin-menu-panel { position:absolute; top:calc(100% + 8px); right:0; z-index:90; width:210px; display:grid; gap:5px; padding:9px; border:1px solid var(--line); border-radius:12px; background:var(--panel); box-shadow:var(--shadow); }
.admin-menu-panel button, .admin-menu-panel a { width:100%; min-height:40px; display:flex; align-items:center; padding:9px 12px; border:0; border-radius:8px; color:var(--ink); background:transparent; font:inherit; text-align:left; text-decoration:none; }
.admin-menu-panel button:hover, .admin-menu-panel a:hover { background:var(--green-soft); }
.authority-status { display:flex; align-items:center; justify-content:space-between; gap:14px; margin:14px 0; padding:14px 16px; border:1px solid #cdddcf; border-radius:14px; background:#f4f8f5; }
.authority-status > div { display:flex; align-items:center; gap:10px; }
.authority-status span:not(.authority-dot) { display:grid; gap:2px; }
.authority-status small { color:var(--muted); }
.authority-dot { width:12px; height:12px; flex:0 0 auto; border-radius:50%; background:#b46b23; box-shadow:0 0 0 5px rgba(180,107,35,.12); }
.authority-dot.ok { background:#23825d; box-shadow:0 0 0 5px rgba(35,130,93,.12); }
.admin-advanced-actions { display:flex; flex-wrap:wrap; gap:8px; padding-top:14px; }
.production-view-tabs { display:flex; gap:7px; margin:0 0 12px; padding:6px; border:1px solid var(--line); border-radius:12px; background:#f5f3ed; }
.production-view-tabs button { color:var(--muted); background:transparent; }
.production-view-tabs button.active { color:#fff; background:var(--green); }
.order-more-actions { position:relative; }
.order-more-actions > summary { min-height:38px; display:flex; align-items:center; justify-content:center; padding:8px 11px; cursor:pointer; list-style:none; border:1px solid var(--line); border-radius:9px; white-space:nowrap; }
.order-more-actions > summary::-webkit-details-marker { display:none; }
.order-more-actions > div { position:absolute; right:0; z-index:12; min-width:160px; display:grid; gap:6px; margin-top:5px; padding:8px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:var(--shadow); }
.authority-compare-grid { display:grid; gap:8px; }
.authority-compare-row { display:grid; grid-template-columns:minmax(220px,2fr) repeat(3,minmax(100px,1fr)); gap:8px; align-items:center; padding:11px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.authority-compare-row > div,.authority-compare-row > span { display:grid; gap:2px; }
.authority-compare-row small { color:var(--muted); }
.authority-compare-row .matched b { color:#23825d; }
.authority-compare-row .different b { color:var(--red); }
.warehouse-special-list { margin-top:12px; }
.system-info-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:12px 0; }
.system-info-grid > div { display:grid; gap:4px; padding:15px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.system-info-grid small { color:var(--muted); }
.inventory-workspace-tabs { position:sticky; top:0; z-index:5; display:flex; gap:6px; margin-top:16px; padding:7px; overflow-x:auto; border:1px solid var(--line); border-radius:13px; background:rgba(255,253,248,.96); box-shadow:0 8px 22px rgba(29,40,34,.08); }
.inventory-workspace-tabs button { flex:0 0 auto; color:var(--muted); background:transparent; }
.inventory-workspace-tabs button.active { color:white; background:var(--green); }
.inventory-workspace-panel { margin-top:12px; }
.inventory-balance-row { cursor:pointer; transition:background .16s ease,box-shadow .16s ease; }
.inventory-balance-row:hover,.inventory-balance-row:focus { outline:none; background:#f2f7f3; box-shadow:inset 3px 0 #155b43; }
.inventory-timeline-button { white-space:nowrap; color:#155b43; font-weight:800; }
.inventory-row-actions { display:flex; flex-wrap:wrap; gap:7px; }
.inventory-row-actions button { min-height:38px; padding:8px 11px; white-space:nowrap; }
.inventory-item-timeline-dialog { width:min(920px,96vw); max-height:94vh; }
.inventory-timeline-shell { padding:24px; }
.inventory-timeline-shell .dialog-head p { margin:5px 0 0; color:var(--muted); }
.inventory-item-hero { display:grid; grid-template-columns:150px minmax(0,1fr); gap:16px; align-items:stretch; }
.inventory-item-hero > button,.inventory-item-image-empty { display:grid; place-items:center; width:150px; height:150px; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:14px; color:var(--muted); background:#f3f1eb; }
.inventory-item-hero img { width:100%; height:100%; object-fit:contain; background:white; }
.inventory-item-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.inventory-item-metrics span { display:grid; align-content:center; gap:5px; padding:14px; border:1px solid var(--line); border-radius:14px; background:#f8f7f2; }
.inventory-item-metrics small { color:var(--muted); font-weight:700; }
.inventory-item-metrics b { font:700 24px/1.15 Georgia,"Songti SC",serif; color:#155b43; }
.inventory-batch-details { margin-top:14px; }
.inventory-batch-details ul { display:grid; gap:7px; margin:0; padding:12px 16px 4px; list-style:none; }
.inventory-batch-details li { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); }
.inventory-timeline-toolbar { position:sticky; top:0; z-index:2; display:flex; gap:7px; margin:16px 0 12px; padding:8px; border:1px solid var(--line); border-radius:13px; background:rgba(255,253,248,.96); }
.inventory-timeline-toolbar button { min-height:40px; padding:8px 15px; }
.inventory-item-events { display:grid; gap:10px; }
.inventory-event-card { padding:15px; border:1px solid var(--line); border-left:4px solid #85a994; border-radius:14px; background:#fff; }
.inventory-event-card.decrease { border-left-color:#bc795f; }
.inventory-event-card.movement { border-left-color:#74889a; }
.inventory-event-card.exception { background:#fff8e9; }
.inventory-event-head { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.inventory-event-head h3 { margin:6px 0 0; font-size:16px; }
.inventory-change { font-size:20px; color:#155b43; white-space:nowrap; }
.inventory-change.decrease { color:#963f31; }
.inventory-change.movement { color:#52697d; }
.inventory-event-facts { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
.inventory-event-facts p { display:grid; gap:3px; margin:0; padding:9px 10px; border-radius:9px; background:#f5f3ed; }
.inventory-event-facts p.wide { grid-column:1/-1; }
.inventory-event-facts span { color:var(--muted); font-size:12px; font-weight:700; }
.inventory-event-facts strong { font-size:14px; line-height:1.45; }
.inventory-event-photos { display:flex; gap:8px; margin-top:10px; }
.inventory-event-photo { width:86px; height:70px; padding:0; overflow:hidden; border-radius:9px; }
.inventory-event-photo img { width:100%; height:100%; object-fit:cover; }
.warehouse-card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:12px; }
.warehouse-card { min-width:0; display:grid; grid-template-columns:132px minmax(0,1fr); overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; }
.warehouse-card-image { min-height:190px; display:grid; place-items:center; overflow:hidden; color:var(--muted); background:#f0eee8; text-decoration:none; }
.warehouse-card-image img { width:100%; height:100%; object-fit:cover; }
.warehouse-card-image-empty { padding:12px; text-align:center; }
.warehouse-card-body { min-width:0; display:grid; align-content:start; gap:8px; padding:14px; }
.warehouse-card-title { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.warehouse-card-title h3 { margin:0; font-size:17px; overflow-wrap:anywhere; }
.warehouse-card-title small,.warehouse-card-body > small { color:var(--muted); }
.warehouse-card-numbers { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; }
.warehouse-card-numbers span { padding:7px; border-radius:8px; color:var(--muted); background:#f5f3ed; font-size:10px; }
.warehouse-card-numbers b { display:block; color:var(--green); font-size:15px; }
.warehouse-card-body p { margin:0; }
.warehouse-card-setting { width:100%; margin-top:auto; }
.warehouse-card-enter { width:100%; margin-top:auto; }
.warehouse-card-quick-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:auto; }
.warehouse-card-quick-actions > * { min-width:0; min-height:40px; display:flex; align-items:center; justify-content:center; margin:0; padding:8px 6px; border:1px solid var(--green); border-radius:9px; color:#fff; background:var(--green); font-size:12px; font-weight:700; line-height:1.2; text-align:center; text-decoration:none; }
.warehouse-card-quick-actions > .ghost { color:var(--green); border-color:var(--line); background:#fff; }
.warehouse-card-quick-actions > :last-child:nth-child(odd) { grid-column:1/-1; }
.warehouse-operation-card .warehouse-card-numbers { grid-template-columns:repeat(2,minmax(0,1fr)); }
.warehouse-primary-operations { min-height:38px; color:var(--green); font-size:13px; font-weight:700; }
.warehouse-history { margin-top:16px; }
.warehouse-history > summary { padding:4px; font-weight:700; }
.warehouse-history .warehouse-card-grid { margin-top:12px; }
.warehouse-admin-details { margin-top:20px; background:#f7f5ef; }
.warehouse-admin-details > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; list-style:none; }
.warehouse-admin-details > summary::-webkit-details-marker { display:none; }
.warehouse-admin-details > summary span { display:grid; gap:3px; }
.warehouse-admin-details > summary small { color:var(--muted); font-weight:400; }
.warehouse-admin-details > summary b { color:var(--green); font-size:12px; }
.warehouse-admin-details[open] > summary b { font-size:0; }
.warehouse-admin-details[open] > summary b::after { content:'收起'; font-size:12px; }
.warehouse-admin-content { display:grid; gap:12px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.warehouse-admin-content > button { justify-self:start; }
.warehouse-profile-button { color:var(--muted); }
.inventory-operation-switch { display:grid; grid-template-columns:1fr 1fr; gap:8px; max-width:520px; margin-bottom:18px; }
.warehouse-workspace-head { display:grid; gap:18px; background:linear-gradient(135deg,#fffdf8,#edf4ef); }
.warehouse-workspace-nav { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.warehouse-workspace-title { display:flex; align-items:center; gap:16px; }
.warehouse-workspace-title h2 { margin:4px 0; }
.warehouse-workspace-title p { margin:0; color:var(--muted); }
.warehouse-summary-image { width:94px; height:76px; padding:0; overflow:hidden; border:1px solid var(--line); background:#eeece5; }
.warehouse-summary-image img { width:100%; height:100%; object-fit:cover; }
.warehouse-summary-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.warehouse-summary-metrics span { padding:11px; color:var(--muted); border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.78); font-size:12px; }
.warehouse-summary-metrics b { display:block; margin-bottom:3px; color:var(--green); font-size:20px; overflow-wrap:anywhere; }
.warehouse-location-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:10px; }
.warehouse-location-card { min-width:0; display:grid; grid-template-columns:82px minmax(0,1fr); gap:12px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.warehouse-location-card > button { width:82px; height:82px; padding:0; overflow:hidden; background:#efede7; }
.warehouse-location-card img { width:100%; height:100%; object-fit:cover; }
.warehouse-location-card h3 { margin:7px 0 4px; font-size:16px; }
.warehouse-location-card p { margin:0 0 5px; color:var(--ink); }
.warehouse-location-card small { color:var(--muted); }
#warehouse-material-master { margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--line); }
#warehouse-material-master h3 { margin-top:0; }
.production-profile-details { padding:0; overflow:hidden; }
.production-profile-details > summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 20px; cursor:pointer; list-style:none; }
.production-profile-details > summary::-webkit-details-marker { display:none; }
.production-profile-details > summary span:first-child { display:grid; gap:3px; }
.production-profile-details > summary small { color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; }
.production-profile-details > summary strong { font-size:18px; }
.production-profile-details > summary::after { content:'＋'; color:var(--green); font-size:22px; line-height:1; }
.production-profile-details[open] > summary::after { content:'－'; }
.profile-summary { margin-left:auto; color:var(--muted); font-size:12px; }
.production-profile-content { padding:0 20px 18px; border-top:1px solid var(--line); }
.production-profile-content > .section-note { max-width:none; margin:14px 0 10px; text-align:left; }
.production-orders-panel { padding:20px; }
.production-orders-panel > .section-head { margin-bottom:12px; }
.order-toolbar { display:grid; grid-template-columns:minmax(210px,1.5fr) repeat(3,minmax(145px,.75fr)) auto; gap:8px; margin-bottom:12px; padding:10px; border:1px solid var(--line); border-radius:12px; background:#f7f5ef; align-items:end; }
.order-toolbar label { gap:4px; font-size:11px; font-weight:700; }
.order-toolbar input,.order-toolbar select { min-height:38px; padding:8px 10px; background:#fff; }
.order-toolbar-result { display:flex; min-height:38px; align-items:center; gap:8px; white-space:nowrap; }
.order-toolbar-result strong { color:var(--green); font-size:12px; }
.order-toolbar-result button { min-height:38px; padding:7px 10px; }
.production-status-table { min-width:1080px; }
.production-status-table th { padding:9px 10px; }
.production-status-table td { padding:11px 10px; }
.production-status-row.live-order { background:#f1f8f3; box-shadow:inset 4px 0 0 #2f8a59; }
.production-status-row > td:first-child { min-width:210px; }
.production-status-row > td:nth-child(2) { min-width:190px; }
.production-status-row > td:nth-child(3) { min-width:260px; }
.order-row-actions { display:flex; flex-wrap:wrap; gap:7px; min-width:168px; }
.order-row-actions button { min-height:38px; padding:8px 11px; white-space:nowrap; }
.order-progress { display:grid; min-width:0; gap:5px; }
.order-progress-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.order-progress-head strong,.order-progress-number { color:var(--green); font:700 25px/1.1 Georgia,serif; }
.order-progress-head small,.order-progress > small { color:var(--muted); font-size:11px; }
.order-progress-track { height:9px; overflow:hidden; border-radius:999px; background:#e3e1da; }
.order-progress-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#397558,#70a77f); transition:width .3s ease; }
.activity-pill { display:inline-flex; width:max-content; align-items:center; gap:6px; padding:5px 9px; border-radius:999px; color:var(--muted); background:#efede8; font-size:12px; font-weight:700; }
.activity-pill.live { color:#155637; background:#dcefe2; }
.activity-pill.live i { width:8px; height:8px; border-radius:50%; background:#2c9b5c; box-shadow:0 0 0 4px rgba(44,155,92,.14); animation:live-pulse 1.8s infinite; }
@keyframes live-pulse { 50% { box-shadow:0 0 0 8px rgba(44,155,92,0); } }
.order-current-state { display:grid; gap:5px; }
.order-current-state > strong { overflow-wrap:anywhere; }
.active-task-lines { display:grid; gap:5px; }
.active-task-lines small { display:grid; gap:1px; padding-left:8px; border-left:2px solid #8fbd9d; }
.active-task-lines small b { color:var(--ink); font-size:12px; }
.active-task-lines small span { color:var(--muted); }
.order-status-overview.live-order { border-color:#85ad91; background:linear-gradient(135deg,#fffdf8,#eef8f1); }
.order-status-overview > .order-progress { margin:14px 0; }
.active-order-overview { display:grid; gap:6px; margin:12px 0; padding:12px; border:1px solid #b8d2c0; border-radius:11px; background:#fff; }
.product-thumb { width: 88px; height: 88px; min-width: 88px; min-height: 88px; max-width: 88px; max-height: 88px; aspect-ratio: 1; padding: 0; overflow: hidden; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); background: #f5f3ed; }
.product-thumb img { width: 100%; height: 100%; object-fit: cover; grid-area: 1 / 1; }
.product-thumb span { width: 64px; font-size: 12px; line-height: 1.35; grid-area: 1 / 1; }
.product-thumb img + span { display: none; }
.product-thumb:hover { border-color: var(--green); transform: translateY(-1px); }
.compact-metrics { grid-template-columns:repeat(4,1fr); margin-bottom:14px; }
.compact-metrics .metric { padding:14px; box-shadow:none; }
.compact-metrics .metric b { font-size:24px; }
.listing-search { display:grid; grid-template-columns:minmax(220px,1fr) auto auto; gap:8px; margin:14px 0 8px; }
.catalog-search { display:grid; grid-template-columns:180px minmax(220px,1fr) auto auto; gap:8px; margin:14px 0 8px; }
.catalog-table { min-width:820px; }
.catalog-code { padding:0; border:0; color:var(--green); background:transparent; font:700 15px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace; text-align:left; }
.catalog-code:hover { text-decoration:underline; transform:none; }
.catalog-cost,.catalog-stock { font-size:18px; font-weight:700; white-space:nowrap; }
.catalog-order-cell { display:flex; align-items:center; gap:8px; }
.catalog-order-cell > span { min-width:22px; font-size:18px; font-weight:700; text-align:center; }
.catalog-order-cell button { min-height:38px; padding:8px 11px; white-space:nowrap; }
.catalog-review-cell { display:flex; flex-wrap:wrap; gap:5px; min-width:130px; }
.catalog-cards { display:grid; gap:12px; margin-top:14px; }
.catalog-card { display:grid; grid-template-columns:88px minmax(0,1fr) auto; gap:14px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.catalog-card-main { min-width:0; }
.catalog-card-title { display:flex; gap:8px; align-items:flex-start; justify-content:space-between; }
.catalog-card-title h3 { margin:0 0 7px; font-size:17px; overflow-wrap:anywhere; }
.catalog-card-main p { display:flex; flex-wrap:wrap; gap:7px 12px; margin:0; }
.catalog-card-main p span,.catalog-card-side small { color:var(--muted); font-size:12px; }
.catalog-stock-strip { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.catalog-stock-strip span { min-width:64px; padding:7px 9px; border-radius:9px; color:var(--muted); background:#f5f3ed; font-size:11px; }
.catalog-stock-strip b { display:block; color:var(--green); font-size:18px; }
.catalog-card-side { display:grid; gap:10px; justify-items:end; }
.catalog-card-side > strong { color:var(--green); }
.catalog-card-quick { padding:11px 13px; }
.catalog-card-quick .catalog-stock-strip { margin-top:8px; }
.catalog-card-quick .catalog-stock-strip span { padding:5px 8px; }
.product-secondary-modules { margin:12px 0; border:1px solid var(--line); border-radius:12px; background:#faf9f5; }
.product-secondary-modules > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 15px; color:var(--green); font-weight:800; cursor:pointer; }
.product-secondary-modules > summary span { color:var(--muted); font-size:12px; font-weight:500; }
.product-secondary-modules > .product-module-grid { padding:0 12px 12px; }
.technical-review-panel { border-color:#d9c99f; background:#fffaf1; }
.technical-review-panel > .section-title { margin-bottom:12px; }
.review-step,.technical-review-panel > .order-material-picker { margin:12px 0 0; padding:14px; border:1px solid #d6c391; border-radius:14px; background:#fffdf7; }
.review-step > .section-title,.technical-review-panel > .order-material-picker > .section-title { margin-bottom:10px; }
.review-step > .section-title h3,.technical-review-panel > .order-material-picker > .section-title h3 { margin:2px 0 0; }
.final-release-step { background:#f2f8f4; border-color:#b9d3c1; }
.one-click-release-form { align-items:center; }
.one-click-release-form button { min-height:48px; }
.order-material-picker { margin:14px 0; padding:14px; border:1px solid #d6c391; border-radius:14px; background:#fffdf7; }
.order-material-picker .section-title { margin-bottom:10px; }
.material-selection-summary { display:grid; gap:4px; margin:0 0 12px; padding:11px 12px; border-radius:11px; background:#edf5ef; color:var(--ink); }
.material-selection-summary small { color:var(--muted); line-height:1.55; }
.quick-material-create { margin-top:12px; border-color:#d8cba8; background:#fff; }
.quick-material-create > summary { min-height:46px; }
.quick-material-create form { padding-top:12px; }
.new-material-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.new-material-fields .material-name-field { grid-column:span 2; }
.quick-material-create [data-material-archive-note] { display:block; margin-top:6px; color:var(--muted); font-size:12px; }
@media (max-width:680px) {
  .technical-review-panel { padding:10px; }
  .review-step,.technical-review-panel > .order-material-picker { padding:10px; }
  .order-material-picker { padding:10px; }
  .quick-material-create { padding:10px; }
  .new-material-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .new-material-fields .material-name-field,.new-material-fields label:last-child { grid-column:1 / -1; }
}
.plan-summary { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:12px 0; }
.plan-summary > div { padding:10px; border-radius:9px; background:#fff; }
.plan-summary small,.plan-summary strong { display:block; }
.plan-summary strong { margin-top:4px; color:var(--green); font-size:18px; }
.plan-component-editor { margin:12px 0; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.plan-component-head,.plan-route-option { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.plan-component-fields { display:grid; grid-template-columns:2fr 1fr 1fr; gap:10px; margin-top:10px; }
.plan-route-editor { display:grid; gap:7px; }
.plan-route-option { min-height:42px; padding:7px 9px; border-radius:9px; background:#f5f3ed; }
.plan-route-option label { display:flex; align-items:center; gap:7px; margin:0; }
.plan-route-option input { width:auto; }
.plan-assembly-check { margin:12px 0; }
.process-plan-adjust { margin:14px 0 18px; border-color:#d9c99f; background:#fffaf1; }
.process-plan-adjust > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--green); }
.process-plan-adjust > summary span { color:var(--muted); font-size:12px; font-weight:400; }
.process-plan-adjust-body { margin-top:14px; }
.process-plan-locked { margin:12px 0 16px; padding:10px 12px; border-radius:10px; background:#f5f3ed; }
.compact { min-height:34px; padding:5px 9px; }
.source-badge { margin-bottom:5px; }
.jst-listing-table { min-width:980px; }
.listing-thumb { width:72px; height:72px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:10px; color:var(--muted); background:#f5f3ed; }
.listing-thumb img,.listing-thumb small { grid-area:1/1; }
.listing-thumb img { width:100%; height:100%; object-fit:cover; }
.listing-thumb img + small { display:none; }
.listing-pager { display:flex; align-items:center; justify-content:center; gap:12px; margin-top:14px; }
table { width: 100%; min-width: 860px; border-collapse: collapse; }
th { color: var(--muted); font-size: 12px; text-align: left; font-weight: 600; }
th, td { padding: 13px 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
td strong { display: block; }
td small { color: var(--muted); }
dialog { width: min(650px, 94vw); border: 0; border-radius: 18px; padding: 0; color: var(--ink); background: var(--panel); box-shadow: 0 30px 100px rgba(0,0,0,.28); }
dialog::backdrop { background: rgba(10,20,16,.58); backdrop-filter: blur(4px); }
.order-dialog { width: min(1100px, 96vw); max-height: 92vh; }
.quick-order-dialog { width:min(860px,96vw); max-height:94vh; }
.dialog-form.quick-order-create-form { padding:0; }
.quick-order-dialog-head { position:sticky; top:0; z-index:4; margin:0; padding:20px 24px 16px; border-bottom:1px solid var(--line); background:rgba(255,253,248,.97); }
.quick-order-dialog-head h2 { margin:4px 0 2px; font-size:24px; }
.quick-order-product-line { margin:0; color:var(--muted); font-size:13px; }
.quick-order-section { margin:12px 24px; padding:15px; border:1px solid var(--line); border-radius:14px; background:#fff; }
.quick-order-section-title { display:flex; align-items:center; gap:10px; }
.quick-order-section-title > span:first-child { flex:0 0 28px; width:28px; height:28px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--green); font-weight:800; }
.quick-order-section-title > div,.quick-order-section-title > span:last-child { display:grid; gap:1px; }
.quick-order-section-title strong { font-size:16px; }
.quick-order-section-title small { color:var(--muted); font-weight:400; }
.quick-order-basics .form-grid { margin-top:12px; }
.quick-material-mode { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:center; gap:10px; margin-top:14px; }
.quick-material-panel { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:10px; margin-top:10px; padding:12px; border-radius:11px; background:#f4f6f2; }
.quick-material-panel label { display:grid; gap:5px; color:var(--muted); font-size:13px; }
.quick-material-line { border:1px solid var(--line); border-radius:14px; padding:12px; margin:12px 0; background:rgba(255,255,255,.82); }
.quick-material-line-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.quick-material-line-head .ghost { padding:7px 10px; }
.component-confirm-button { width:100%; margin-top:14px; min-height:48px; }
.quick-material-group { margin:14px 0; padding:14px; border:1px solid #cbd8ce; border-radius:16px; background:#f5f8f4; }
.quick-material-group-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:8px; }
.quick-material-group-head > div { display:grid; gap:3px; }
.quick-material-group-head small,.quick-material-group-head span { color:var(--muted); font-size:12px; }
.quick-material-group-head strong { color:var(--ink); font-size:18px; }
.quick-material-group > .ghost { width:100%; min-height:44px; margin-top:8px; }
.quick-material-component-picker { margin:10px 0; padding:10px 12px; border:1px solid #d8dfd8; border-radius:11px; background:#f4f7f3; }
.quick-material-component-picker legend { padding:0 5px; color:var(--ink); font-size:13px; font-weight:700; }
.quick-material-component-picker > small { display:block; margin-top:7px; color:var(--muted); font-size:12px; }
.quick-material-component-chips { display:flex; flex-wrap:wrap; gap:7px; }
.quick-material-component-chip { position:relative; cursor:pointer; }
.quick-material-component-chip input { position:absolute; opacity:0; pointer-events:none; }
.quick-material-component-chip span { display:block; min-height:36px; padding:8px 12px; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); font-size:13px; line-height:18px; }
.quick-material-component-chip input:checked + span { border-color:var(--green); background:var(--green); color:#fff; box-shadow:0 0 0 2px rgba(31,101,77,.12); }
.quick-material-component-chip input:focus-visible + span { outline:3px solid rgba(31,101,77,.25); outline-offset:2px; }
.quick-material-create-panel { grid-template-columns:repeat(3,minmax(0,1fr)); }
.quick-material-create-panel .wide { grid-column:1 / -1; }
.quick-order-process { padding:0; overflow:hidden; }
.quick-order-process > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px; cursor:pointer; list-style:none; }
.quick-order-process > summary::-webkit-details-marker { display:none; }
.quick-order-process > summary > b { color:var(--green); font-size:13px; white-space:nowrap; }
.quick-order-process[open] > summary { border-bottom:1px solid var(--line); background:#f6f8f5; }
.quick-order-process-body { padding:14px; }
.quick-order-submit { position:sticky; bottom:0; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 24px calc(15px + env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:rgba(255,253,248,.98); box-shadow:0 -12px 30px rgba(29,40,34,.08); }
.quick-order-submit p { margin:0; color:var(--muted); font-size:13px; }
.quick-order-submit button { min-width:230px; min-height:50px; font-weight:800; }
.dialog-form, #order-detail { padding: 26px; }
.dialog-head { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; margin-bottom: 20px; }
.icon-button { width: 38px; height: 38px; padding: 0; border-radius: 50%; color: var(--ink); background: #efede8; font-size: 24px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
label { display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: 13px; }
label.wide { grid-column: 1 / -1; }
label.check { min-height: 44px; flex-direction: row; align-items: center; gap: 8px; }
label.check input[type="checkbox"] { width: auto; min-height: auto; margin: 0; }
input, textarea, select { width: 100%; padding: 10px 11px; color: var(--ink); border: 1px solid var(--line); border-radius: 8px; background: white; }
input:focus, textarea:focus, select:focus { outline: 2px solid rgba(23,79,58,.18); border-color: var(--green); }
.confirm input { border-color: #ca8d3d; background: #fffaf1; }
.hint { color: var(--muted); font-size: 12px; }
.dialog-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.detail-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; }
.detail-grid > * { min-width:0; }
.detail-grid .table-wrap { width:100%; max-width:100%; }
.subpanel { padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: white; }
.subpanel + .subpanel { margin-top: 14px; }
.subpanel h3 { margin: 0 0 14px; font-size: 17px; }
.route { display: grid; gap: 8px; }
.task { display: grid; grid-template-columns: 72px minmax(220px,1fr) 150px auto; gap: 9px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 9px; }
.task small { color: var(--muted); }
.task input, .task select { padding: 7px 8px; }
.task-owner { display:grid; gap:3px; }
.task-owner strong { font-size:13px; }
.task-admin-adjust, .task > .feedback-strip { grid-column:1 / -1; width:100%; }
.task-admin-adjust { margin-top:2px; }
.task-correction-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.task-correction-grid label { display:grid; gap:6px; color:var(--muted); font-size:12px; }
.task-correction-grid .wide { grid-column:1 / -1; }
.inline-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.inline-actions button { padding: 7px 10px; font-size: 12px; }
.audit { max-height: 240px; overflow: auto; }
.audit p { margin: 0; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 12px; color: var(--muted); }
.feedback-strip { display: flex; gap: 8px; overflow-x: auto; margin-top: 8px; }
.feedback-photo { width: 82px; height: 82px; flex: 0 0 auto; border-radius: 8px; object-fit: cover; border: 1px solid var(--line); }
.worker-link { white-space: nowrap; }
.review-block { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.danger-text { color: var(--red); }
.price-cell { min-width: 185px; }
.price-cell strong { color: var(--green); }
.price-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 16px; }
.price-summary > div { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(135deg,#fffdf8,#eef5f0); }
.price-summary small,.price-summary span { display: block; color: var(--muted); font-size: 12px; }
.price-summary strong { display: block; margin: 3px 0; color: var(--green); font: 600 26px/1.2 Georgia,serif; }
.price-summary.four-prices { grid-template-columns:repeat(4,minmax(0,1fr)); }
.actual-cost-readonly { display:grid; gap:4px; margin-bottom:14px; padding:14px; border:1px solid #b6ccb9; border-radius:12px; background:#f2f7f3; }
.actual-cost-readonly small,.actual-cost-readonly span { color:var(--muted); }
.actual-cost-readonly strong { color:var(--green); font:600 28px/1.2 Georgia,serif; }
.compact-field { display:grid; gap:4px; color:var(--muted); font-size:12px; }
.compact-field input { min-height:42px; }
.product-overview { display:grid; grid-template-columns:minmax(240px,320px) 1fr; gap:18px; margin-bottom:16px; padding:18px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(135deg,#fffdf8,#edf4ef); }
.product-main-media { min-width:0; }
.product-media-head { min-height:34px; margin-bottom:8px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.product-image-edit { padding:6px 10px; font-size:12px; }
.product-main-frame > img,.product-main-placeholder { width:100%; aspect-ratio:1; border:1px solid var(--line); border-radius:13px; background:#f0eee8; }
.product-main-frame > img { display:block; object-fit:contain; }
.product-main-frame > .product-image-button img { display:block; width:100%; aspect-ratio:1; object-fit:contain; background:#f0eee8; }
.product-main-placeholder { display:grid; place-items:center; align-content:center; color:var(--muted); text-align:center; }
.product-main-frame > img[hidden],.product-main-placeholder[hidden] { display:none; }
.product-image-button { display:block; width:100%; padding:0; overflow:hidden; color:inherit; border:0; border-radius:13px; background:transparent; cursor:zoom-in; }
.product-image-button:hover,.product-image-button:focus-visible { outline:3px solid rgba(23,79,58,.2); outline-offset:2px; }
.product-image-hint { color:var(--muted); font-size:12px; }
.jst-product-overview .product-main-frame,.jst-product-overview .product-main-frame > img,.jst-product-overview .product-main-placeholder { width:100%; max-width:100%; aspect-ratio:1; }
.jst-product-overview .product-main-frame > img { height:auto; max-height:320px; object-fit:contain; }
.jst-source-facts { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.jst-source-facts p { min-width:0; margin:0; padding:10px; border-radius:9px; background:#f5f3ed; }
.jst-source-facts small,.jst-source-facts strong { display:block; overflow-wrap:anywhere; }
.jst-source-facts small { margin-bottom:4px; color:var(--muted); font-size:11px; }
.product-image-dialog { width:min(94vw,1100px); max-width:none; max-height:94vh; padding:0; border:0; border-radius:18px; background:transparent; overflow:visible; }
.product-image-dialog::backdrop { background:rgba(6,15,11,.86); }
.product-image-viewer { padding:18px; border-radius:18px; background:#fbfaf6; box-shadow:0 28px 90px rgba(0,0,0,.38); }
.product-image-viewer .dialog-head { margin-bottom:12px; }
.product-image-viewer img { display:block; width:100%; max-width:100%; height:auto; max-height:calc(94vh - 110px); margin:auto; object-fit:contain; border-radius:12px; background:#edeae2; }
.product-overview-info { min-width:0; }
.product-dialog-head { align-items:flex-start; margin-bottom:12px; }
.product-title-line { display:flex; align-items:center; gap:9px; }
.product-title-line .kicker { margin:0; }
.product-quick-overview { grid-template-columns:minmax(150px,190px) minmax(0,1fr); align-items:start; gap:18px; padding:16px; }
.product-quick-overview .product-main-media { max-width:190px; }
.quick-order-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.quick-order-heading h3 { margin:3px 0 0; font-size:18px; }
.quick-order-heading button { flex:0 0 auto; min-width:128px; }
.product-quick-order-form { display:grid; grid-template-columns:minmax(105px,.55fr) repeat(3,minmax(140px,1fr)) auto; gap:9px; align-items:end; padding:10px; border:1px solid #b7cbbd; border-radius:12px; background:rgba(255,255,255,.82); }
.product-quick-order-form label { display:grid; gap:5px; margin:0; color:var(--muted); font-size:12px; }
.product-quick-order-form input,.product-quick-order-form select { min-width:0; min-height:44px; }
.product-quick-order-form button { min-height:44px; padding-inline:16px; white-space:nowrap; }
.quick-price-primary input { border-color:#7da68d; background:#fbfffc; font-weight:800; }
.product-brief-line { display:flex; flex-wrap:wrap; gap:7px 16px; margin:10px 2px 8px; color:var(--muted); font-size:12px; }
.product-brief-line span { overflow-wrap:anywhere; }
.compact-stock { gap:0; border-top:1px solid var(--line); }
.compact-stock > div { padding:9px 12px; border:0; border-right:1px solid var(--line); border-radius:0; background:transparent; }
.compact-stock > div:last-child { border-right:0; }
.compact-stock strong { font-size:20px; }
.product-quick-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:12px 0; }
.product-module-link { min-width:0; min-height:52px; padding:10px 12px; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; gap:1px 8px; align-items:center; color:var(--ink); text-align:left; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:none; }
.product-module-link:hover,.product-module-link.active { color:var(--ink); border-color:#7aa58d; background:#edf5ef; transform:none; }
.product-module-link span { min-width:0; font-weight:700; overflow-wrap:anywhere; }
.product-module-link small { min-width:0; color:var(--muted); font-size:11px; overflow-wrap:anywhere; }
.product-module-link b { grid-column:2; grid-row:1 / 3; color:var(--green); font-size:22px; font-weight:400; }
.product-quick-links.secondary { grid-template-columns:repeat(2,minmax(0,1fr)); padding:10px 0 0; }
.product-key-facts { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin-bottom:12px; }
.product-key-facts > div { padding:10px; border-radius:9px; background:rgba(255,255,255,.76); }
.product-key-facts small,.product-key-facts strong { display:block; }
.product-key-facts small { color:var(--muted); font-size:11px; }
.product-key-facts strong { margin-top:3px; font-size:13px; }
.product-overview .price-summary { margin-bottom:12px; }
.product-stock { margin-bottom:0; }
.product-stock span { display:block; color:var(--muted); font-size:11px; }
.product-detail-grid { grid-template-columns:minmax(0,1.5fr) minmax(270px,.5fr); align-items:start; }
.product-module-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin:0 0 16px; }
.product-module-card { min-width:0; min-height:96px; padding:12px; display:grid; align-content:space-between; gap:5px; color:var(--ink); text-align:left; border:1px solid var(--line); border-radius:12px; background:#fff; box-shadow:none; }
.product-module-card:hover,.product-module-card.active { color:var(--ink); border-color:#7aa58d; background:#edf5ef; transform:none; }
.product-module-card span,.product-module-card strong,.product-module-card small { display:block; min-width:0; overflow-wrap:anywhere; }
.product-module-card span { color:var(--muted); font-size:12px; }
.product-module-card strong { font-size:14px; }
.product-module-card small { color:var(--green); font-size:11px; }
.product-module-panels { min-height:0; }
.product-module-panel[hidden] { display:none; }
.product-module-panel { max-width:100%; }
.combination-title { display:flex; align-items:center; gap:10px; min-width:220px; }
.combination-title img { width:54px; height:54px; flex:0 0 54px; object-fit:cover; border-radius:10px; background:#eeeae0; }
.combination-title strong,.combination-title small { display:block; }
.combination-component-chip { display:inline-block; margin:2px 4px 2px 0; padding:5px 8px; border-radius:999px; background:#f2f4ef; color:var(--ink); font-size:12px; }
.combination-component-lines { display:grid; gap:9px; margin-bottom:12px; }
.combination-component-row { display:grid; grid-template-columns:minmax(0,1fr) 130px auto; gap:9px; align-items:end; padding:10px; border:1px solid var(--line); border-radius:11px; background:#faf8f2; }
.combination-component-row label { margin:0; }
.combination-component-choice { display:grid; gap:6px; min-width:0; }
.combination-component-choice .field-label { color:var(--muted); font-size:12px; font-weight:600; }
.combination-product-select { width:100%; min-height:64px; padding:8px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:9px; color:var(--ink); text-align:left; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:none; }
.combination-product-select:hover { color:var(--ink); border-color:#7aa58d; background:#f1f7f2; transform:none; }
.combination-product-select img,.combination-product-no-image { width:46px; height:46px; border-radius:8px; object-fit:cover; background:#ece9df; }
.combination-product-no-image { display:grid; place-items:center; color:var(--muted); font-size:11px; }
.combination-product-select span,.combination-product-select strong,.combination-product-select small { display:block; min-width:0; }
.combination-product-select strong { overflow-wrap:anywhere; }
.combination-product-select small { margin-top:3px; color:var(--muted); font-size:11px; }
.combination-product-select b { color:var(--green); font-size:12px; }
.combination-product-placeholder { grid-column:1 / -1; }
.combination-product-picker-dialog { width:min(760px,calc(100vw - 24px)); }
.combination-picker-filters { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:10px; }
.combination-product-picker-results { max-height:58vh; display:grid; gap:8px; overflow-y:auto; overscroll-behavior:contain; }
.combination-picker-card { width:100%; padding:9px; display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:11px; color:var(--ink); text-align:left; border:1px solid var(--line); border-radius:11px; background:#fff; box-shadow:none; }
.combination-picker-card:hover { color:var(--ink); border-color:#7aa58d; background:#f1f7f2; transform:none; }
.combination-picker-card img,.combination-picker-no-image { width:58px; height:58px; object-fit:cover; border-radius:9px; background:#eeebe3; }
.combination-picker-no-image { display:grid; place-items:center; color:var(--muted); font-size:11px; }
.combination-picker-card span,.combination-picker-card strong,.combination-picker-card small { display:block; min-width:0; }
.combination-picker-card strong { overflow-wrap:anywhere; }
.combination-picker-card small { margin-top:3px; color:var(--muted); font-size:11px; }
.combination-picker-card b { color:var(--green); font-size:12px; }
.combination-picker-card.selected { opacity:.58; }
.module-overview-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.module-overview-list p { margin:0; padding:13px; display:grid; gap:5px; border-radius:10px; background:#f5f3ed; }
.module-overview-list span { color:var(--muted); font-size:12px; }
.module-meta-form { margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.fold-panel { margin-top:14px; border:1px solid var(--line); border-radius:12px; background:white; overflow:hidden; }
.fold-panel > summary { min-height:48px; padding:13px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--ink); font-weight:700; cursor:pointer; list-style:none; background:#faf8f2; }
.fold-panel > summary::-webkit-details-marker { display:none; }
.fold-panel > summary::after { content:'＋'; color:var(--green); font-size:20px; font-weight:400; }
.fold-panel[open] > summary::after { content:'−'; }
.fold-panel > summary span { margin-left:auto; color:var(--muted); font-size:12px; font-weight:500; }
.fold-content { padding:16px; border-top:1px solid var(--line); }
.stock-mini { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
.stock-mini span { padding:9px; border-radius:8px; color:var(--muted); background:#f5f3ed; font-size:12px; }
.stock-mini strong { display:block; color:var(--green); font-size:20px; }
.warehouse-stock-list { display:grid; gap:7px; margin:12px 0; }
.warehouse-stock-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 10px; padding:9px 10px; border:1px solid var(--line); border-radius:9px; background:#faf8f2; }
.warehouse-stock-row span { font-weight:600; }
.warehouse-stock-row strong { color:var(--green); }
.warehouse-stock-row small { grid-column:1/-1; color:var(--muted); }
.primary-review { border-color:#b6ccb9; background:linear-gradient(135deg,#fff,#f0f6f1); }
.review-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.review-title h3 { margin:0; }
.review-missing { margin:12px 0; border-radius:9px; background:rgba(255,255,255,.72); }
.review-missing summary { padding:10px 12px; color:var(--muted); font-size:13px; cursor:pointer; }
.review-missing p { margin:0; padding:0 12px 12px; color:var(--muted); font-size:12px; line-height:1.7; }
.review-ready-note,.review-done { margin:12px 0; }
.review-quick-form { display:grid; gap:10px; margin-top:12px; }
.review-quick-form button { width:100%; min-height:46px; }
.review-more { margin-top:14px; border-top:1px solid var(--line); }
.review-more > summary { padding:12px 0 0; color:var(--muted); font-size:12px; cursor:pointer; }
.review-reject-form { display:grid; gap:9px; margin-top:10px; }
.review-reject-form label { color:var(--muted); font-size:12px; }
.section-head.compact { align-items: flex-start; margin-bottom: 10px; }
.section-head.compact h3 { margin-bottom: 2px; }
.section-head.compact .hint { margin: 0; }
.smart-product-title { gap:12px; }
.smart-product-title > button { flex:0 0 auto; }
.smart-product-panel { margin:0 0 14px; padding:14px; border:1px solid #b6ccb9; border-radius:12px; background:#f2f7f3; }
.smart-product-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.smart-product-head strong { color:var(--green); font-size:16px; }
.smart-product-head p,.smart-safety { margin:4px 0 0; color:var(--muted); font-size:12px; }
.smart-product-head button { flex:0 0 auto; }
.smart-suggestion-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }
.smart-suggestion { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px; border:1px solid var(--line); border-radius:10px; background:white; }
.smart-suggestion.accepted { border-color:#9bb9a2; background:#e8f1ea; }
.smart-suggestion small,.smart-suggestion strong,.smart-suggestion span { display:block; }
.smart-suggestion small,.smart-suggestion span { color:var(--muted); font-size:11px; }
.smart-suggestion strong { margin:3px 0; font-size:14px; }
.smart-suggestion button { flex:0 0 auto; min-height:38px; padding:7px 10px; }
.smart-empty { grid-column:1 / -1; margin:0; color:var(--muted); font-size:13px; }
.material-head,.material-row { display: grid; grid-template-columns: 1.35fr 1.2fr .65fr .7fr .8fr .7fr 58px; gap: 7px; align-items: center; }
.material-head { padding: 0 4px 5px; color: var(--muted); font-size: 11px; }
.material-row { margin-bottom: 8px; }
.bom-row { display:grid; grid-template-columns:minmax(150px,1.35fr) minmax(120px,1fr) 72px 86px repeat(3,minmax(82px,.7fr)) minmax(100px,.8fr) 86px auto; gap:8px; margin-bottom:14px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.bom-row .wide { grid-column:1 / -1; }
.bom-route-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border-radius:10px; background:var(--green-soft); }
.bom-route-summary span { color:var(--muted); font-size:12px; font-weight:700; }
.route-template-flow { display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.route-template-flow span { padding:5px 8px; border-radius:999px; background:var(--green-soft); color:var(--green); font-weight:700; }
.route-template-flow b { color:var(--muted); }
.route-template-flow.large span { display:grid; gap:2px; padding:9px 12px; border-radius:10px; }
.route-template-flow.large small { color:var(--muted); font-weight:500; }
.route-template-editor { display:grid; gap:9px; }
.route-template-step { display:grid; grid-template-columns:28px minmax(150px,1fr) minmax(150px,1fr) auto; align-items:end; gap:8px; padding:10px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.route-step-handle { align-self:center; color:var(--muted); font-size:18px; text-align:center; }
.route-step-actions { display:flex; gap:5px; }
.route-step-actions button { min-height:40px; padding:7px 9px; }
.route-reuse-targets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.route-reuse-targets .check { display:flex; align-items:center; gap:9px; padding:10px; border:1px solid var(--line); border-radius:10px; background:#fff; }
.route-reuse-targets .check input { width:20px; height:20px; }
.route-reuse-targets .check span,.route-reuse-targets .check small { display:block; }
.route-reuse-targets .check small { margin-top:3px; color:var(--muted); }
.route-reuse-preview { padding:12px; border:1px dashed var(--line); border-radius:12px; background:var(--soft); }
.route-reuse-source { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:12px; border:1px solid var(--line); border-radius:12px; }
.route-reuse-source legend { padding:0 6px; color:var(--muted); font-weight:700; }
.route-reuse-source label { flex:1 1 190px; display:flex; align-items:center; gap:8px; padding:11px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; font-weight:700; cursor:pointer; }
.route-reuse-source input { width:20px; height:20px; }
.route-reuse-product-panel { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--soft); }
.route-reuse-product-panel label:first-child,.route-reuse-product-panel .hint { grid-column:1/-1; }
.quick-material-group-head em { display:block; margin-top:4px; color:var(--muted); font-size:12px; font-style:normal; font-weight:600; }
.route-checks { gap:12px; flex-wrap:wrap; }
.route-checks .check { display:flex; align-items:center; gap:5px; font-size:13px; }
.route-checks input { width:18px; height:18px; }
.order-bom-editor { margin-top:18px; padding:16px; border:1px solid var(--line); border-radius:16px; background:var(--soft); }
.order-bom-editor .section-title { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:12px; }
.order-bom-editor h3 { margin:0 0 4px; }
.order-component-row { padding:12px; margin-bottom:10px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.order-component-main { display:grid; grid-template-columns:minmax(150px,1.4fr) 100px 90px auto; gap:8px; align-items:end; }
.order-component-routes { display:flex; gap:12px; flex-wrap:wrap; padding-top:10px; }
.order-component-routes .check,.assembly-option { display:flex; align-items:center; gap:6px; font-size:14px; }
.order-component-routes input,.assembly-option input { width:18px; height:18px; }
.material-row input { min-width: 0; padding: 8px; }
.material-row button { padding: 8px 6px; }
.cost-extra { margin-top: 14px; }
.cost-formula { padding: 12px; border-radius: 9px; color: var(--green); background: var(--green-soft); }
.form-section-title { margin-top: 6px; padding: 9px 11px; border-radius: 8px; color: var(--green); background: var(--green-soft); font-size: 13px; font-weight: 700; }
.image-row { display: grid; grid-template-columns: 120px 1.7fr 1fr 58px; gap: 7px; align-items: center; margin-bottom: 8px; }
.image-row input,.image-row select,.image-row button { min-width: 0; }
.image-source-field { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; align-items:center; }
.image-source-field > small { grid-column:1 / -1; color:var(--muted); font-size:12px; }
.image-upload-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:8px 11px; border:1px solid var(--green); border-radius:9px; color:var(--green); background:#fff; font-size:13px; font-weight:700; cursor:pointer; white-space:nowrap; }
.image-upload-button input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.asset-section { margin-top:16px; padding:16px; border:1px solid var(--line); border-radius:14px; background:#fbfaf6; }
.asset-section:first-of-type { margin-top:0; }
.asset-section h4 { margin:0 0 4px; font-size:18px; }
.asset-row { display:grid; grid-template-columns:120px minmax(150px,1fr) 130px 150px minmax(210px,1.4fr) minmax(150px,1fr) 58px; gap:7px; align-items:center; margin-bottom:9px; padding-bottom:9px; border-bottom:1px dashed var(--line); }
.asset-row input,.asset-row select,.asset-row button { min-width:0; }
.asset-file-field { display:grid; grid-template-columns:auto minmax(0,1fr); gap:5px 8px; align-items:center; }
.asset-file-field > a { overflow:hidden; color:var(--green); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.asset-file-field > small { grid-column:1 / -1; color:var(--muted); font-size:12px; }
.mold-asset-fields { grid-column:1 / -1; display:grid; grid-template-columns:minmax(210px,1.2fr) repeat(3,minmax(150px,1fr)); gap:10px; padding:12px; border:1px solid #e4cfaa; border-radius:11px; background:#fff8e9; }
.mold-asset-fields[hidden] { display:none; }
.product-iteration-timeline { display:grid; gap:12px; }
.product-iteration-timeline article { display:grid; grid-template-columns:112px minmax(0,1fr); gap:14px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.product-iteration-timeline article > button { width:112px; height:88px; padding:0; overflow:hidden; border-radius:9px; background:#f2f0ea; }
.product-iteration-timeline img { width:100%; height:100%; object-fit:cover; }
.product-iteration-timeline article > div { display:grid; gap:4px; align-content:start; min-width:0; }
.product-iteration-timeline strong,.product-iteration-timeline p,.product-iteration-timeline small { overflow-wrap:anywhere; }
.product-iteration-timeline p { margin:0; }
.mold-photo-field { display:grid; grid-template-columns:76px minmax(0,1fr); gap:6px; align-items:center; }
.mold-photo-field > small { grid-column:1 / -1; color:var(--muted); font-size:12px; }
.mold-admin-photo,.mold-photo-empty { width:76px; height:76px; margin:0; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#f0eee8; }
.mold-admin-photo img { width:100%; height:100%; object-fit:cover; }
.mold-photo-empty { display:grid; place-items:center; padding:7px; color:var(--muted); font-size:11px; text-align:center; }
.snapshot-prices { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.snapshot-prices span { padding: 9px; border-radius: 8px; color: var(--muted); background: #f5f3ed; font-size: 12px; }
.snapshot-prices strong { display: block; color: var(--green); font-size: 17px; }
.settlement-metrics { grid-template-columns: repeat(4,1fr); }
.inventory-flow,.profit-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-bottom: 16px; }
.inventory-flow > div,.profit-grid > div { padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: linear-gradient(135deg,#fffdf8,#eef5f0); }
.inventory-flow small,.profit-grid small { display: block; color: var(--muted); font-size: 12px; }
.inventory-flow strong,.profit-grid strong { display: block; color: var(--green); font: 600 23px/1.2 Georgia,serif; }
.ledger-list { display: grid; gap: 8px; margin-top: 14px; }
.ledger-row { display: grid; grid-template-columns: .85fr 1.15fr; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #faf8f2; }
.ledger-row strong,.ledger-row small { display: block; }
.ledger-row small { color: var(--muted); }
.mini-form { display: grid; grid-template-columns: 80px 80px 1fr; gap: 7px; }
.mini-form button,.mini-form input:last-of-type { grid-column: span 3; }
.confirm-line { display: flex; gap: 8px; margin-top: 14px; }
.confirm-line input { flex: 1; }
.ledger-note { margin: 8px 0 0; padding: 9px; border-radius: 8px; color: var(--muted); background: #f5f3ed; font-size: 12px; }
#toast { position: fixed; right: 20px; bottom: 20px; z-index: 10000; max-width: min(420px,calc(100vw - 40px)); padding: 12px 16px; border-radius: 10px; color: white; background: #18201c; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(10px); transition: .2s; }
#toast.show { opacity: 1; transform: translateY(0); }
#toast.error { background: var(--red); }
.field-validation-error { display:block; margin-top:7px; color:var(--red)!important; font-size:12px; font-weight:700; line-height:1.45; }
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"] { border-color:var(--red); box-shadow:0 0 0 3px rgba(151,58,51,.12); }
@media (max-width: 850px) {
  .inventory-quick-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .warehouse-card-grid { grid-template-columns:1fr; }
  .warehouse-card { grid-template-columns:104px minmax(0,1fr); }
  .warehouse-card-image { min-height:178px; }
  .inventory-workspace-panel { padding:18px; }
  .inventory-workspace-panel .section-head { align-items:flex-start; }
  .hero, .section-head { align-items: flex-start; flex-direction: column; }
  .section-note { text-align: left; }
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .business-module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .detail-grid, .form-grid { grid-template-columns: minmax(0, 1fr); }
  .detail-grid > *, .form-grid > * { min-width: 0; }
  .detail-grid .table-wrap { width: 100%; max-width: 100%; overflow-x: auto; }
  .production-status-table { min-width:0; }
  .production-profile-details > summary { padding:13px 14px; }
  .profile-summary { max-width:125px; text-align:right; }
  .production-profile-content { padding:0 14px 14px; }
  .production-orders-panel { padding:14px; }
  .order-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px; }
  .order-search-field,.order-toolbar-result { grid-column:1 / -1; }
  .order-toolbar label:nth-child(4) { grid-column:1 / -1; }
  .order-toolbar-result { justify-content:space-between; }
  .production-status-table thead { display:none; }
  .production-status-table,.production-status-table tbody,.production-status-table tr,.production-status-table td { display:block; width:100%; }
  .production-status-table tbody { display:grid; gap:12px; }
  .production-status-table tr { padding:14px; border:1px solid var(--line); border-radius:13px; background:#fff; }
  .production-status-table tr.live-order { border-color:#84ae91; box-shadow:inset 4px 0 0 #2f8a59; }
  .production-status-table td { min-width:0!important; padding:7px 0; border:0; }
  .production-status-table td:first-child strong { font-size:17px; }
  .production-status-table td:nth-child(4) { display:grid; grid-template-columns:auto minmax(0,1fr); gap:3px 10px; }
  .production-status-table td:nth-child(4) small:last-child { grid-column:1 / -1; }
  .order-row-actions { display:grid; grid-template-columns:1fr; width:100%; min-width:0; }
  .production-status-table td:last-child button { width:100%; min-height:44px; }
  .task { grid-template-columns: 60px 1fr; }
  .task > *:nth-child(n+3) { grid-column: 2; }
  .task > .task-admin-adjust, .task > .feedback-strip { grid-column: 1 / -1; }
  .task-correction-grid { grid-template-columns:1fr; }
  .task-correction-grid .wide { grid-column:1; }
  button, .tabs button { min-height: 44px; }
  input, textarea, select { min-height: 44px; font-size: 16px; }
  .hero { padding-top: max(28px, env(safe-area-inset-top)); }
  main { margin-bottom: calc(60px + env(safe-area-inset-bottom)); }
  .price-summary { grid-template-columns:repeat(2,1fr); gap:8px; }
  .price-summary.four-prices { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .price-summary > div { padding:11px; }
  .price-summary > div.primary { grid-column:1 / -1; }
  .price-summary strong { font-size:21px; }
  .product-overview { grid-template-columns:1fr; padding:12px; }
  .product-quick-overview { grid-template-columns:112px minmax(0,1fr); gap:12px; padding:12px; }
  .product-quick-overview .product-main-media { width:112px; margin:0; }
  .quick-order-heading { position:sticky; top:0; z-index:2; align-items:center; margin:0 -12px 10px; padding:10px 12px; background:rgba(250,249,244,.96); }
  .quick-order-heading h3 { font-size:15px; }
  .quick-order-heading button { min-width:96px; padding-inline:12px; }
  .product-quick-order-form { grid-template-columns:1fr; padding:9px; }
  .product-quick-order-form .quick-price-primary { grid-column:1; grid-row:auto; }
  .product-quick-order-form button { grid-column:1 / -1; width:100%; }
  .product-brief-line { display:grid; gap:3px; }
  .compact-stock { grid-column:1 / -1; }
  .compact-stock > div { padding:8px 5px; }
  .compact-stock strong { font-size:18px; }
  .product-quick-links { grid-template-columns:1fr 1fr; margin:10px 0; }
  .product-module-link { min-height:50px; padding:9px 10px; }
  .product-quick-links.secondary { grid-template-columns:1fr; }
  .product-key-facts { grid-template-columns:1fr 1fr; }
  .product-key-facts > div { padding:8px; }
  .jst-source-facts { grid-template-columns:1fr; }
  .product-stock > div { padding:10px 8px; }
  .product-detail-grid { grid-template-columns:1fr; }
  .product-module-grid { display:flex; margin-right:-12px; margin-left:-12px; padding:0 12px 8px; overflow-x:auto; scroll-snap-type:x proximity; }
  .product-module-card { flex:0 0 138px; min-height:88px; scroll-snap-align:start; }
  .combination-table thead { display:none; }
  .combination-table,.combination-table tbody,.combination-table tr,.combination-table td { display:block; width:100%; }
  .combination-table tbody { display:grid; gap:12px; }
  .combination-table tr { padding:12px; border:1px solid var(--line); border-radius:12px; background:#fff; }
  .combination-table td { padding:7px 0; border:0; }
  .combination-table td:last-child button { width:100%; }
  .combination-component-row { grid-template-columns:minmax(0,1fr) 92px; }
  .combination-component-row button { grid-column:1 / -1; }
  .combination-component-row .combination-product-select { grid-column:auto; }
  .combination-picker-filters { grid-template-columns:1fr; }
  .combination-picker-card { grid-template-columns:48px minmax(0,1fr); }
  .combination-picker-card img,.combination-picker-no-image { width:48px; height:48px; }
  .combination-picker-card > b { grid-column:1 / -1; justify-self:stretch; padding:7px; text-align:center; border-radius:7px; background:#eaf3ed; }
  .module-overview-list { grid-template-columns:1fr 1fr; }
  .fold-content { padding:12px; }
  .material-head { display: none; }
  .material-row { grid-template-columns: 1fr 1fr; padding: 10px; border: 1px solid var(--line); border-radius: 10px; }
  .bom-row { grid-template-columns:1fr 1fr; }
  .bom-row button,.bom-row .wide { grid-column:1 / -1; }
  .bom-route-summary { align-items:flex-start; flex-direction:column; }
  .route-template-step { grid-template-columns:1fr 1fr; }
  .route-step-handle { display:none; }
  .route-step-actions { grid-column:1 / -1; }
  .route-step-actions button { flex:1; }
  .route-reuse-targets { grid-template-columns:1fr; }
  .route-reuse-product-panel { grid-template-columns:1fr; }
  .route-reuse-product-panel label,.route-reuse-product-panel label:first-child,.route-reuse-product-panel .hint { grid-column:1; }
  .order-bom-editor .section-title { display:block; }
  .order-bom-editor .section-title button { width:100%; margin-top:8px; }
  .order-component-main { grid-template-columns:1fr 1fr; }
  .order-component-main label:first-child { grid-column:1 / -1; }
  .quick-order-dialog { width:100vw; max-width:100vw; max-height:100dvh; height:100dvh; margin:0; border-radius:0; }
  .quick-order-dialog-head { padding:14px 14px 11px; }
  .quick-order-dialog-head h2 { max-width:calc(100vw - 72px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:19px; }
  .quick-order-product-line { max-width:calc(100vw - 60px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .quick-order-section { margin:9px 10px; padding:12px; }
  .quick-order-basics .form-grid { grid-template-columns:1fr 1fr; }
  .quick-order-basics .wide { grid-column:1 / -1; }
  .quick-material-mode { grid-template-columns:1fr; gap:5px; }
  .quick-material-panel,.quick-material-create-panel { grid-template-columns:1fr 1fr; padding:10px; }
  .quick-material-panel label:first-child,.quick-material-create-panel .wide { grid-column:1 / -1; }
  .quick-material-group { padding:10px; }
  .quick-material-group-head { align-items:flex-start; flex-direction:column; gap:4px; }
  .quick-order-process > summary { padding:12px; }
  .quick-order-process-body { padding:10px; }
  .quick-order-process .order-component-main { grid-template-columns:1fr 1fr; }
  .quick-order-process .order-component-main button { grid-column:1 / -1; }
  .quick-order-submit { padding:10px calc(10px + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left)); }
  .quick-order-submit p { display:none; }
  .quick-order-submit button { width:100%; min-width:0; min-height:52px; }
  .material-row button { grid-column: 1 / -1; }
  .image-row { grid-template-columns: 1fr; padding: 10px; border: 1px solid var(--line); border-radius: 10px; }
  .asset-row { grid-template-columns:1fr; padding:10px; border:1px solid var(--line); border-radius:10px; }
  .asset-file-field { grid-template-columns:1fr; }
  .asset-file-field > small { grid-column:1; }
  .mold-asset-fields { grid-template-columns:1fr; }
  .product-iteration-timeline article { grid-template-columns:84px minmax(0,1fr); gap:10px; }
  .product-iteration-timeline article > button { width:84px; height:72px; }
  .image-source-field { grid-template-columns:1fr; }
  .image-source-field > small { grid-column:1; }
  .image-upload-button { width:100%; }
  .product-image-dialog { width:calc(100vw - 20px); }
  .product-image-viewer { padding:12px; }
  .snapshot-prices { grid-template-columns: 1fr; }
  .settlement-metrics,.inventory-flow,.profit-grid { grid-template-columns: repeat(2,1fr); }
  .ledger-row { grid-template-columns: 1fr; }
  .mini-form { grid-template-columns: 1fr 1fr; }
  .mini-form button,.mini-form input:last-of-type { grid-column: 1 / -1; }
  .confirm-line { flex-direction: column; }
  .product-thumb { width: 72px; height: 72px; min-width: 72px; min-height: 72px; max-width: 72px; max-height: 72px; }
  .compact-metrics { grid-template-columns:repeat(2,1fr); }
  .daily-plan-grid { grid-template-columns:1fr; }
  .daily-plan-head { grid-template-columns:auto minmax(0,1fr); }
  .daily-plan-head > .pill { grid-column:2; justify-self:start; }
  .plan-numbers { grid-template-columns:repeat(2,1fr); }
  .plan-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; }
  .plan-actions button { width:100%; }
  .listing-search { grid-template-columns:1fr 1fr; }
  .listing-search input { grid-column:1/-1; }
  .catalog-search { grid-template-columns:1fr 1fr; }
  .catalog-search select,.catalog-search input { grid-column:1/-1; }
}
.worker-body { --muted:#445049; --line:#c7cec7; min-height: 100vh; color:#152019; background: #eef1eb; font-size:16px; }
.worker-hero { padding: max(28px, env(safe-area-inset-top)) 20px 28px; color: white; background: linear-gradient(135deg,#133a2a,#35664d); }
.worker-hero h1 { margin: 5px 0; font: 600 34px/1.15 Georgia,"Songti SC",serif; }
.worker-hero p { margin: 4px 0; }
.worker-head-actions { display:flex; align-items:center; gap:8px; }
.worker-head-actions > * { min-height:46px; padding:10px 13px; white-space:nowrap; }
.worker-main { width: min(720px,92vw); margin: -12px auto 60px; }
.management-page-links { display:grid; gap:10px; margin-bottom:12px; padding:12px 14px; border:1px solid #b7c9bf; border-radius:12px; background:#eef5f0; }
.management-page-links[hidden] { display:none; }
.management-page-links > strong { color:#184f3e; font-size:15px; }
.management-page-links > div { display:flex; flex-wrap:wrap; gap:8px; }
.management-page-links .button-link.ghost { min-height:42px; color:#164c3b; background:#fff; border:1px solid #b7c9bf; font-weight:800; }
.worker-warning { display:grid; gap:3px; padding:13px 15px; border-radius:11px; color:#684817; background:#fff1d4; box-shadow:var(--shadow); }
.worker-warning span { font-size:13px; }
.personal-supplies { margin:12px 0; padding:14px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow); }
.personal-supplies-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.personal-supplies-head h2 { margin:2px 0 0; font-size:20px; }
.personal-supply-actions { display:flex; gap:8px; }
.personal-supply-actions button { width:auto; min-height:44px; margin:0; padding:9px 12px; }
.personal-tool-status { display:grid; grid-template-columns:auto 1fr; gap:2px 10px; margin-top:12px; padding:11px 12px; border-radius:10px; background:#edf3ee; }
.personal-tool-status span { color:var(--muted); font-size:13px; font-weight:700; }
.personal-tool-status strong { text-align:right; }
.personal-tool-status small { grid-column:1/-1; color:var(--muted); font-size:12px; }
.personal-tool-status.empty-tool { background:#f4f2ec; }
.personal-supply-history { margin-top:10px; color:var(--muted); font-size:13px; }
.personal-supply-history summary { min-height:36px; padding:8px 0 0; font-weight:700; cursor:pointer; }
.personal-supply-history p { display:flex; justify-content:space-between; gap:10px; margin:0; padding:8px 0; border-top:1px solid var(--line); color:var(--ink); }
.personal-supply-history small { color:var(--muted); }
.personal-supply-empty { margin:10px 0 0; color:var(--muted); font-size:13px; }
.personal-tool-list { display:grid; gap:7px; }
.warehouse-tool-module { margin:12px 0; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:var(--shadow); }
.warehouse-tool-module > summary { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:12px; padding:13px 15px; cursor:pointer; }
.warehouse-tool-module > summary span { display:grid; gap:3px; }
.warehouse-tool-module > summary small { color:var(--muted); font-size:12px; }
.warehouse-tool-module > summary b { color:var(--green); font-size:13px; }
.warehouse-tool-module[open] > summary { border-bottom:1px solid var(--line); background:#edf3ee; }
#warehouse-tool-management { display:grid; gap:14px; padding:14px; }
.warehouse-tool-cost-overview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.warehouse-tool-cost-overview > div { display:grid; gap:3px; padding:12px; border:1px solid var(--line); border-radius:12px; background:#f7f6f1; }
.warehouse-tool-cost-overview strong { color:var(--green); font-size:20px; }
.warehouse-tool-cost-overview span { color:var(--muted); font-size:12px; }
.warehouse-tool-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.warehouse-tool-actions button { min-height:48px; margin:0; }
.warehouse-tool-list { display:grid; gap:8px; }
.warehouse-tool-list h3 { margin:0; font-size:17px; }
.warehouse-tool-list h3 small { color:var(--muted); font-size:12px; }
.warehouse-tool-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; padding:10px 11px; border:1px solid var(--line); border-radius:10px; background:#faf9f5; }
.warehouse-tool-row > div { display:grid; gap:2px; min-width:0; }
.warehouse-tool-row span,.warehouse-tool-row small { color:var(--muted); font-size:12px; }
.warehouse-tool-row strong { overflow-wrap:anywhere; }
.warehouse-tool-row button { width:auto; min-height:42px; margin:0; padding:8px 12px; }
.tool-issue-guide { display:grid; gap:5px; margin:10px 0; padding:12px; border:1px solid var(--line); border-radius:11px; background:#f4f7f2; }
.tool-issue-guide strong { font-size:17px; color:var(--ink); }
.tool-issue-guide span,.tool-issue-guide small { color:var(--muted); font-size:14px; line-height:1.5; }
.tool-issue-guide b { color:var(--green); font-size:16px; }
.tool-issue-filter { display:grid; grid-template-columns:1fr 1.35fr; gap:12px; }
@media (max-width:560px) { .tool-issue-filter { grid-template-columns:1fr; gap:8px; } }
.checkbox-row { display:flex !important; min-height:48px; flex-direction:row !important; align-items:center; gap:10px; }
.checkbox-row input { width:22px; height:22px; margin:0; }
.worker-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:12px 0; }
.worker-overview > div { padding:13px 10px; border:1px solid var(--line); border-radius:12px; background:white; text-align:center; }
.worker-overview strong,.worker-overview span { display:block; }
.worker-overview strong { color:var(--green); font:600 26px/1.1 Georgia,serif; }
.worker-overview span { margin-top:4px; color:var(--muted); font-size:13px; font-weight:600; }
.worker-filter-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:6px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.82); box-shadow:var(--shadow); }
.worker-filter-tabs button { display:flex; align-items:center; justify-content:center; gap:7px; min-height:46px; padding:8px; color:var(--ink); background:transparent; border-color:transparent; }
.worker-filter-tabs button strong { display:grid; min-width:23px; height:23px; place-items:center; padding:0 5px; border-radius:999px; color:var(--green); background:#e4efe8; font-size:12px; }
.worker-filter-tabs button.active { color:white; background:var(--green); }
.worker-filter-tabs button.active strong { color:var(--green); background:white; }
.worker-archive-search { display:grid; grid-template-columns:2fr 1fr 1fr; gap:8px; margin:12px 0 0; color:var(--muted); font-size:12px; }
.worker-archive-search[hidden] { display:none; }
.worker-archive-search input { min-height:44px; font-size:16px; }
.test-order-switch { display:flex; min-height:44px; align-items:center; gap:9px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:#fff; font-size:14px; font-weight:600; cursor:pointer; }
.test-order-switch input { width:20px; height:20px; min-height:20px; margin:0; accent-color:var(--green); }
.warehouse-test-switch { width:max-content; margin:12px 0 0 auto; }
.worker-cards { display: grid; gap: 12px; margin-top: 14px; }
.worker-order-group { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#f8faf7; box-shadow:var(--shadow); }
.worker-order-group > summary { list-style:none; }
.worker-order-group > summary::-webkit-details-marker { display:none; }
.worker-order-summary { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px; color:white; background:linear-gradient(135deg,#204d39,#3c6d54); cursor:pointer; }
.worker-product-thumb { position:relative; display:grid; width:64px; height:64px; min-width:64px; min-height:64px; margin:0; padding:0; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.5); border-radius:13px; color:#204d39; background:#edf3ee; font-size:24px; font-weight:700; }
button.worker-product-thumb { cursor:zoom-in; }
.worker-product-thumb:focus-visible { outline:3px solid #ffd58f; outline-offset:2px; }
.worker-product-thumb img { width:100%; height:100%; object-fit:cover; }
.worker-product-thumb small { position:absolute; right:3px; bottom:3px; left:3px; padding:3px 2px; border-radius:6px; color:white; background:rgba(13,34,25,.78); font-size:9px; font-weight:600; line-height:1; text-align:center; }
.worker-product-thumb-empty small { background:rgba(32,77,57,.78); }
.worker-product-initial { line-height:1; }
.worker-image-dialog { width:min(94vw,900px); max-width:none; padding:0; border:0; border-radius:18px; background:transparent; overflow:visible; }
.worker-image-dialog::backdrop { background:rgba(6,15,11,.84); }
.worker-image-viewer { padding:16px; border-radius:18px; background:#fffdf8; box-shadow:0 28px 90px rgba(0,0,0,.42); }
.worker-image-viewer .dialog-head { margin-bottom:12px; }
.worker-image-viewer h2 { max-width:70vw; margin:3px 0 0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:20px; }
.worker-image-large-frame { display:grid; min-height:220px; max-height:75vh; place-items:center; overflow:hidden; border-radius:13px; background:#edf0eb; }
.worker-image-large-frame img { display:block; max-width:100%; max-height:75vh; object-fit:contain; }
.worker-image-fallback { padding:40px 24px; color:var(--muted); text-align:center; }
.worker-order-main { min-width:0; }
.worker-order-group h2 { margin:5px 0; font-size:19px; }
.worker-order-summary p { margin:0; color:rgba(255,255,255,.94); font-size:13px; font-weight:600; }
.worker-component-chips { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
.worker-component-chips span { padding:4px 8px; border-radius:999px; color:#183b2b; background:rgba(255,255,255,.94); font-size:11px; font-weight:700; }
.order-code { font:600 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.04em; }
.worker-order-progress { flex:0 0 auto; text-align:right; }
.worker-order-progress strong,.worker-order-progress span { display:block; }
.worker-order-progress strong { font:600 24px/1.1 Georgia,serif; }
.worker-order-progress span { margin-top:4px; color:rgba(255,255,255,.94); font-size:12px; font-weight:700; }
.worker-order-progress i { display:block; margin-top:7px; font-size:18px; font-style:normal; transition:transform .2s ease; }
.worker-order-group[open] .worker-order-progress i { transform:rotate(180deg); }
.worker-order-body { display:grid; gap:10px; padding:10px; }
.batch-feedback-actions { display:grid; gap:8px; padding:11px; border:2px solid #d8af70; border-radius:13px; background:#fff6e5; }
.batch-feedback-actions p { color:#684817!important; font-size:13px!important; font-weight:700; }
.worker-card .batch-feedback-button,.batch-feedback-button { margin:0; min-height:48px; color:white; background:#a36b24; }
.batch-feedback-items { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px; }
.batch-feedback-items label { padding:10px; border:1px solid var(--line); border-radius:10px; background:#f5f7f3; }
.batch-feedback-items span { color:var(--muted); font-size:12px; }
.worker-component-group { overflow:hidden; border:1px solid var(--line); border-radius:13px; background:#fff; }
.worker-component-group > header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 12px; background:#edf3ee; }
.worker-component-group > header div { display:flex; align-items:center; gap:8px; }
.worker-component-group > header strong,.worker-component-group > header > span { font-size:13px; font-weight:700; }
.worker-component-group > header > span { color:var(--muted); text-align:right; }
.worker-component-tasks { display:grid; gap:8px; padding:8px; }
.worker-card { padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: white; box-shadow: var(--shadow); }
.worker-card.pending { border-color:#bfc7bf; background:#f4f6f3; }
.worker-card.completed { background: #f1f5f1; }
.worker-task-card { padding:15px; box-shadow:none; }
.worker-task-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.worker-task-top h3 { margin:7px 0 0; font-size:20px; }
.component-pill { display:inline-block; margin-left:6px; padding:4px 8px; border-radius:999px; color:#4e4b43; background:#ece9df; font-size:12px; }
.worker-quantity { flex:0 0 auto; text-align:right; }
.worker-quantity strong,.worker-quantity span { display:block; }
.worker-quantity strong { color:var(--green); font:600 25px/1.1 Georgia,serif; }
.worker-quantity span { color:#47534c; font-size:12px; font-weight:700; }
.worker-task-meta { display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:10px; color:#435048; font-size:13px; font-weight:600; }
.worker-task-guide { margin:10px 0 0!important; color:#1d2821!important; font-size:15px!important; font-weight:600; line-height:1.65; }
.worker-task-more { margin-top:10px; color:#435048; font-size:14px; }
.worker-task-more summary { cursor:pointer; font-weight:700; }
.worker-card .individual-feedback { color:var(--green); background:white; }
.wip-handoff { display:grid; gap:10px; margin-top:12px; padding:12px; border:2px solid #d3a862; border-radius:12px; background:#fff9eb; }
.wip-handoff.found { border-color:#68a282; background:#f3faf6; }
.wip-step-banner { display:grid; gap:4px; padding:11px 12px; border-radius:10px; color:#694817; background:#f5ddb4; }
.wip-step-banner.ready { color:#174c38; background:#d9eee2; }
.wip-step-banner strong { font-size:14px; }
.wip-step-banner span { font-size:12px; line-height:1.5; }
.wip-handoff-evidence { display:grid; gap:10px; }
.wip-handoff-summary { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; align-items:center; }
.wip-handoff-summary > p { color:var(--ink)!important; font-size:13px!important; }
.wip-handoff-summary small { color:var(--muted); line-height:1.55; }
.wip-upstream-photo { position:relative; display:block; width:100%!important; height:clamp(150px,48vw,220px); min-height:150px; margin:0!important; padding:0!important; overflow:hidden; border:2px solid #c69345; border-radius:11px; background:#e9ece7; }
.wip-upstream-photo img { width:100%; height:100%; object-fit:cover; }
.wip-upstream-photo small { position:absolute; right:8px; bottom:8px; left:8px; padding:8px; border-radius:7px; color:white; background:rgba(0,0,0,.68); font-size:12px; font-weight:700; text-align:center; }
.rework-evidence { display:grid; gap:10px; margin-bottom:10px; }
.rework-evidence p { margin:0; }
.rework-evidence-photo { border-color:#b54b45; }
.wip-photo-missing { display:grid; gap:3px; padding:12px; border:2px dashed #c87972; border-radius:10px; color:#7d302c; background:#fff1ef; }
.wip-photo-missing span { font-size:12px; }
.wip-location-card { display:grid; gap:3px; padding:12px; border-radius:10px; color:white; background:linear-gradient(135deg,#8a5a1f,#b47a2f); }
.wip-location-card span,.wip-location-card small { color:rgba(255,255,255,.82); font-size:12px; }
.wip-location-card strong { font-size:20px; }
.wip-location-reference { display:grid; grid-template-columns:72px 1fr; gap:10px; align-items:center; margin-top:8px; padding:7px; border:1px solid rgba(255,255,255,.35); border-radius:9px; color:white; background:rgba(255,255,255,.12); text-align:left; }
.wip-location-reference img { width:72px; height:54px; border-radius:7px; object-fit:cover; }
.wip-location-reference small { color:white; font-weight:700; }
.task-warehouse-route { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:10px 0; }
.task-warehouse-route span { display:grid; gap:3px; padding:10px; border:1px solid var(--line); border-radius:10px; color:var(--text); background:#f6f3eb; font-size:13px; line-height:1.4; }
.task-warehouse-route b { color:var(--green); font-size:12px; }
.wip-message { display:grid; gap:3px; padding:9px 11px; border-radius:9px; color:var(--ink)!important; background:white; font-size:13px!important; }
.wip-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.wip-actions button { min-height:48px; margin:0; }
.handoff-review-dialog { width:min(620px,calc(100vw - 24px)); display:grid; gap:14px; }
.handoff-dialog-summary { display:grid; gap:10px; }
.handoff-dialog-summary .wip-upstream-photo { height:clamp(170px,48vw,260px); }
.handoff-dialog-facts { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.handoff-dialog-facts p { display:grid; gap:3px; margin:0!important; padding:10px; border-radius:10px; color:var(--ink)!important; background:#f3f1eb; }
.handoff-dialog-facts p.wide { grid-column:1/-1; }
.handoff-dialog-facts span { color:var(--muted); font-size:12px; }
.handoff-dialog-facts strong { font-size:14px; line-height:1.45; }
.handoff-dialog-step,.handoff-missing-form { display:grid; gap:12px; padding:14px; border:1px solid #e2dacb; border-radius:12px; background:#fffdf8; }
.handoff-dialog-step[hidden],.handoff-missing-form[hidden] { display:none; }
.handoff-dialog-step h3,.handoff-missing-form h3 { margin:0; font-size:18px; }
.handoff-dialog-step p { margin:0!important; color:var(--muted)!important; font-size:13px!important; line-height:1.55; }
.handoff-choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.handoff-choice-grid button { min-height:52px; margin:0; }
.handoff-missing-form label { display:grid; gap:6px; }
.text-button { min-height:44px; margin:0; border:0; color:var(--muted); background:transparent; text-decoration:underline; box-shadow:none; }
.kit-handoff-progress { display:grid; gap:4px; margin-top:12px; padding:11px 12px; border-radius:10px; color:#174c38; background:#d9eee2; }
.kit-handoff-progress strong { font-size:15px; }
.kit-handoff-progress span { font-size:12px; line-height:1.5; }
.wip-timeline { color:var(--muted); font-size:12px; }
.wip-timeline summary { cursor:pointer; }
.wip-timeline p { display:grid; grid-template-columns:auto 1fr; gap:3px 8px; margin:8px 0 0!important; padding-left:10px; border-left:2px solid #d3a862; color:var(--ink)!important; }
.wip-timeline p span { text-align:right; }
.wip-timeline p small { grid-column:1/-1; color:var(--muted); }
.individual-task-fold { border:1px dashed var(--line); border-radius:11px; background:white; }
.individual-task-fold > summary { padding:12px; color:#3f4b44; font-size:14px; font-weight:700; cursor:pointer; }
.individual-task-fold > div { display:grid; gap:8px; padding:0 8px 8px; }
.worker-state-note { margin:12px 0 0; padding:10px; border-radius:9px; color:#37443c; background:#ebece7; font-size:14px; font-weight:600; }
.mold-task-card { border-color:#c79a57; background:linear-gradient(180deg,#fffdf8,#fff8e9); }
.mold-task-guide { display:grid; grid-template-columns:92px minmax(0,1fr); gap:12px; margin-top:12px; padding:12px; border:1px solid #e4cfaa; border-radius:11px; background:#fff; }
.mold-task-guide > div { display:grid; gap:4px; }
.mold-task-guide span,.mold-task-guide small { color:var(--muted); font-size:12px; }
.mold-task-guide p { margin:5px 0 0; font-size:13px; }
.mold-reference-photo { position:relative; width:92px!important; height:92px; margin:0!important; padding:0!important; overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#eee; }
.mold-reference-photo img { width:100%; height:100%; object-fit:cover; }
.mold-reference-photo small { position:absolute; right:3px; bottom:3px; left:3px; padding:3px; border-radius:5px; color:#fff; background:rgba(0,0,0,.6); }
.worker-feedback { margin-top:10px; }
.worker-feedback summary { color:var(--green); font-size:13px; cursor:pointer; }
.worker-card-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
.worker-card h2 { margin: 8px 0 0; font-size: 21px; }
.worker-card-head > strong { font: 600 28px/1.2 Georgia,serif; color: var(--green); }
.worker-card button { width: 100%; margin-top: 12px; padding: 13px; }
.camera-field { padding: 16px; border: 1px dashed #86a091; border-radius: 10px; background: #f4f8f5; }
.mobile-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.mobile-head .ghost { width: auto; min-height: 44px; margin: 0; color: white; border-color: rgba(255,255,255,.38); }
@media (max-width: 520px) {
  .inventory-balance-wrap { overflow:visible; }
  .inventory-balance-table,.inventory-balance-table tbody { display:block; width:100%; min-width:0!important; }
  .inventory-balance-table thead { display:none; }
  .inventory-balance-table .inventory-balance-row { display:grid; width:100%; min-width:0; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:9px; margin-bottom:10px; padding:13px; border:1px solid var(--line); border-radius:14px; background:#fff; }
  .inventory-balance-table .inventory-balance-row td { display:grid; gap:3px; padding:0; border:0; min-width:0; }
  .inventory-balance-table .inventory-balance-row td::before { content:attr(data-label); color:var(--muted); font-size:12px; font-weight:700; }
  .inventory-balance-table .inventory-balance-row td:nth-child(2),.inventory-balance-table .inventory-balance-row td:nth-child(4),.inventory-balance-table .inventory-balance-row td:last-child { grid-column:1/-1; }
  .inventory-timeline-button { width:100%; min-height:44px; margin-top:2px; }
  .inventory-row-actions { display:grid; grid-template-columns:1fr 1fr; }
  .inventory-row-actions button { width:100%; min-height:44px; }
  .inventory-timeline-shell { padding:15px; }
  .inventory-item-hero { grid-template-columns:86px minmax(0,1fr); gap:10px; }
  .inventory-item-hero > button,.inventory-item-image-empty { width:86px; height:86px; font-size:12px; }
  .inventory-item-metrics { grid-template-columns:1fr 1fr; gap:7px; }
  .inventory-item-metrics span { padding:9px; }
  .inventory-item-metrics b { font-size:19px; }
  .inventory-timeline-toolbar { overflow-x:auto; }
  .inventory-timeline-toolbar button { flex:1; min-width:68px; height:44px; min-height:44px; }
  .inventory-event-facts { grid-template-columns:1fr; }
  .inventory-event-facts p.wide { grid-column:auto; }
  .inventory-event-head { align-items:center; }
  .inventory-change { font-size:17px; }
  .inventory-command-panel { padding:18px; }
  .inventory-command-panel .section-head { display:block; }
  .inventory-command-panel .section-note { margin-top:5px; text-align:left; }
  .inventory-quick-actions { grid-template-columns:1fr 1fr; gap:7px; }
  .inventory-action-card { min-height:102px; padding:12px; }
  .inventory-workspace-tabs { margin-left:-1px; margin-right:-1px; }
  .warehouse-card { grid-template-columns:92px minmax(0,1fr); }
  .warehouse-card-image { min-height:190px; }
  .warehouse-card-body { padding:11px; }
  .warehouse-card-title { display:grid; }
  .warehouse-card-title .pill { justify-self:start; }
  .warehouse-card-numbers { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .warehouse-card-numbers span { padding:5px; }
  .warehouse-workspace-head { padding:16px; }
  .warehouse-workspace-nav { align-items:stretch; }
  .warehouse-workspace-nav button { padding:9px 11px; font-size:13px; }
  .warehouse-workspace-title { align-items:flex-start; }
  .warehouse-summary-image { width:76px; height:70px; flex:0 0 76px; }
  .warehouse-workspace-title h2 { font-size:22px; }
  .warehouse-workspace-title p { font-size:13px; }
  .warehouse-summary-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .warehouse-summary-metrics span { padding:9px; }
  .warehouse-summary-metrics b { font-size:18px; }
  .warehouse-location-grid { grid-template-columns:1fr; }
  .warehouse-location-card { grid-template-columns:72px minmax(0,1fr); }
  .warehouse-location-card > button { width:72px; height:72px; }
  .inventory-operation-switch { max-width:none; }
  .personal-supplies-head { align-items:stretch; flex-direction:column; }
  .personal-supply-actions { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); }
  .personal-supply-actions button { width:100%; min-height:48px; }
  .mold-task-guide { grid-template-columns:76px minmax(0,1fr); }
  .mold-reference-photo { width:76px!important; height:76px; }
  .smart-product-title,.smart-product-head { align-items:stretch; flex-direction:column; }
  .smart-product-title > button,.smart-product-head button { width:100%; min-height:44px; }
  .smart-suggestion-list { grid-template-columns:1fr; }
  .worker-hero .mobile-head { align-items:flex-start; }
  .warehouse-hero .mobile-head { display:grid; grid-template-columns:1fr; gap:18px; }
  .warehouse-hero h1 { font-size:30px; overflow-wrap:anywhere; }
  .warehouse-hero .stocktake-head-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; gap:8px; }
  .warehouse-hero .stocktake-head-actions > * { display:flex; width:100%; min-width:0; min-height:50px; align-items:center; justify-content:center; padding:9px 5px; white-space:nowrap; font-size:16px; }
  .worker-head-actions { flex-direction:column; align-items:stretch; }
  .worker-head-actions > * { width:100%; margin:0; }
  .worker-archive-search,.batch-feedback-items { grid-template-columns:1fr; }
  .worker-overview { grid-template-columns:repeat(2,1fr); }
  .worker-filter-tabs button { flex-direction:column; gap:3px; font-size:12px; }
  .worker-order-summary { grid-template-columns:54px minmax(0,1fr) auto; gap:9px; padding:12px; }
  .worker-product-thumb { width:54px; height:54px; min-width:54px; min-height:54px; }
  .worker-image-dialog { width:calc(100vw - 20px); }
  .worker-image-viewer { padding:12px; }
  .worker-order-group h2 { font-size:17px; }
  .worker-order-progress strong { font-size:21px; }
  .wip-actions { grid-template-columns:1fr; }
  .handoff-choice-grid,.handoff-dialog-facts { grid-template-columns:1fr; }
  .handoff-dialog-facts p.wide { grid-column:auto; }
}
.warehouse-hero { background: linear-gradient(135deg,#263c49,#436f73); }
.warehouse-hero .warehouse-title > p:last-child { color:#fff; font-size:17px; font-weight:750; line-height:1.5; }
.stocktake-hero { background:linear-gradient(135deg,#3f3a24,#786d3b); }
.stocktake-head-actions { display:flex; gap:8px; align-items:center; }
.worker-hero .stocktake-head-actions .button-link { min-height:44px; color:white; border-color:rgba(255,255,255,.38); }
.worker-body .worker-hero .stocktake-head-actions > button.ghost,
.worker-body .worker-hero .stocktake-head-actions > .button-link.ghost { color:#17231c; border:2px solid #d7ddd8; background:#fff; font-size:16px; font-weight:800; }
.warehouse-hero + .worker-main .worker-warning { gap:6px; padding:15px 16px; color:#392506; background:#ffedbd; border:1px solid #dfb96b; box-shadow:0 7px 22px rgba(80,54,15,.13); }
.warehouse-hero + .worker-main .worker-warning strong { font-size:18px; font-weight:850; line-height:1.45; }
.warehouse-hero + .worker-main .worker-warning span { color:#4b350f; font-size:15px; font-weight:650; line-height:1.65; }
.warehouse-hero + .worker-main .worker-overview > div { border-color:#aeb8b0; }
.warehouse-hero + .worker-main .worker-overview strong { color:#123f2e; font-size:31px; font-weight:750; }
.warehouse-hero + .worker-main .worker-overview span { color:#223129; font-size:15px; font-weight:800; line-height:1.4; }
.warehouse-hero + .worker-main .worker-cards > .empty { padding:34px 18px; color:#202d25; border:2px dashed #aab4ac; background:#fbfcfa; font-size:18px; font-weight:750; line-height:1.55; }
.stocktake-toolbar { margin:14px 0 0; align-items:center; }
.stocktake-main { width:min(860px,92vw); }
.stocktake-create { margin-top:12px; }
.stocktake-list,.count-line-list { display:grid; gap:10px; }
.stocktake-card { width:100%; min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:13px 15px; color:var(--ink); border:1px solid var(--line); background:#faf8f2; text-align:left; }
.stocktake-card > span { display:grid; gap:3px; }
.stocktake-card > span:last-child { justify-items:end; }
.stocktake-card small { color:var(--muted); }
.count-line { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.9fr) auto; gap:12px; align-items:center; padding:14px; border:1px solid var(--line); border-radius:12px; background:#faf8f2; }
.count-line > div:first-of-type { display:grid; gap:3px; }
.count-line small { color:var(--muted); }
.count-numbers { display:grid; grid-template-columns:auto minmax(110px,1fr) auto; gap:8px; align-items:end; }
.count-numbers > span { display:grid; gap:2px; }
.count-numbers label { min-width:105px; }
.count-line button { min-height:44px; }
.count-complete { margin-top:18px; padding:16px; border:1px solid #d9c391; border-radius:12px; background:#fff7e5; }
.count-complete p { margin:0 0 7px; }
.spot-primary { border:2px solid #b99855; background:linear-gradient(180deg,#fffdf7,#fffaf0); }
.spot-warehouse-picker { display:grid; gap:7px; margin-bottom:12px; padding:13px; border:1px solid #cbb77e; border-radius:13px; background:#fff; }
.spot-warehouse-picker > span { color:#4f4528; font-size:17px; font-weight:850; }
.spot-warehouse-picker select { width:100%; min-height:50px; border:2px solid #897633; color:#17231c; background:#fffdf7; font-size:17px; font-weight:800; }
.spot-warehouse-picker small { color:#514a36; font-size:13px; font-weight:650; }
.spot-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.spot-search input,.spot-search button { min-height:50px; }
.spot-results,.spot-history { display:grid; gap:10px; margin-top:14px; }
.spot-result-card { display:grid; grid-template-columns:62px minmax(0,1fr) auto; align-items:center; gap:12px; width:100%; padding:11px; color:var(--ink); border:1px solid var(--line); border-radius:13px; background:white; text-align:left; }
.spot-result-card img,.spot-result-empty { display:grid; width:62px; height:62px; place-items:center; border-radius:10px; object-fit:cover; color:var(--green); background:#e9eee8; font-size:24px; font-weight:700; }
.spot-result-card > span:nth-child(2) { display:grid; min-width:0; gap:3px; }
.spot-result-card strong,.spot-result-card small { overflow-wrap:anywhere; }
.spot-result-card small { color:var(--muted); }
.spot-result-card b { color:var(--green); white-space:nowrap; }
.spot-entry-result { border-style:dashed; background:#fffaf0; }
.spot-create-new { width:100%; margin-top:12px; }
.spot-initial-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.spot-initial-grid .wide { grid-column:1/-1; }
#spot-location-guide { display:block; margin-top:5px; color:var(--muted); }
.spot-selected-card { display:grid; grid-template-columns:100px minmax(0,1fr); gap:14px; margin-bottom:16px; padding:14px; border-radius:13px; background:#eef3ed; }
.spot-selected-card img { width:100px; height:100px; border-radius:11px; object-fit:cover; }
.spot-selected-card h3,.spot-selected-card p { margin:0 0 5px; }
.spot-selected-card h3 { font-size:21px; }
.spot-selected-card p,.spot-selected-card small { font-size:13px; }
.spot-selected-card small { color:var(--muted); }
.spot-form { display:grid; gap:14px; }
.spot-form > label { display:grid; gap:7px; }
.spot-form input,.spot-form select,.spot-form textarea { width:100%; }
.compact-warning { display:grid; gap:4px; }
.compact-action { min-height:42px; padding:8px 14px; }
.spot-count-panel { border:2px solid #7da088; background:linear-gradient(180deg,#fbfefb,#f2f8f3); }
.spot-quantity-field { padding:15px; border:1px solid #a9c2ae; border-radius:14px; background:white; }
.spot-quantity-field > span { color:var(--green); font-size:18px; font-weight:800; }
.spot-quantity-field input { min-height:78px; border:2px solid var(--green); font-size:38px; font-weight:800; text-align:center; }
.spot-quantity-field small { color:var(--muted); text-align:center; }
.spot-form-error { padding:11px 13px; border:1px solid #c76d63; border-radius:10px; color:#842f27; background:#fff0ed; font-weight:700; }
.spot-form-error[hidden] { display:none; }
.spot-extra,.spot-records-fold { border:1px solid var(--line); border-radius:12px; background:#faf9f5; }
.spot-extra > summary,.spot-records-fold > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; cursor:pointer; }
.spot-extra > summary span,.spot-records-fold > summary span { color:var(--muted); font-size:12px; }
.spot-extra-body,.spot-records-body { display:grid; gap:12px; padding:0 14px 14px; border-top:1px solid var(--line); }
.spot-extra-body { padding-top:14px; }
.spot-move-switch { grid-template-columns:auto minmax(0,1fr)!important; align-items:center; padding:13px; border:1px solid #d9c18d; border-radius:12px; background:#fff8e9; cursor:pointer; }
.spot-move-switch input { width:24px; height:24px; min-height:24px; accent-color:var(--green); }
.spot-move-switch span { display:grid; gap:2px; }
.spot-move-switch small { color:var(--muted); }
.spot-move-fields { display:grid; gap:12px; padding:14px; border:2px solid #c69345; border-radius:13px; background:#fff8e8; }
.spot-move-fields[hidden],.spot-new-location-fields[hidden] { display:none; }
.spot-new-location-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.spot-new-location-fields .wide { grid-column:1/-1; }
.spot-submit { min-height:52px; font-size:17px; }
.spot-history-card { display:grid; grid-template-columns:minmax(0,1fr); gap:11px; padding:13px; border:1px solid var(--line); border-radius:12px; background:#faf9f5; }
.spot-history-card:has(img) { grid-template-columns:82px minmax(0,1fr); }
.spot-history-card img { width:82px; height:82px; border-radius:9px; object-fit:cover; }
.spot-history-card > div { display:grid; min-width:0; gap:4px; }
.spot-history-card p,.spot-history-card small { margin:0; }
.spot-history-card small { color:var(--muted); font-size:12px; overflow-wrap:anywhere; }
.spot-move-line { padding:6px 8px; border-radius:8px; background:#fff0cf; }
.legacy-count-fold { margin-top:14px; }
.legacy-count-fold > summary { display:flex; align-items:center; justify-content:space-between; gap:10px; cursor:pointer; }
.legacy-count-fold > summary span { color:var(--muted); font-size:13px; }
.legacy-count-body { display:grid; gap:18px; margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.receipt-mobile { display: grid; gap: 12px; margin-top: 14px; }
.receipt-mobile button { min-height: 48px; }
.receipt-mobile label small { display:block; margin-top:6px; color:var(--muted); font-size:12px; line-height:1.45; }
.receipt-photo-field { padding:13px; border:2px solid #c69345; border-radius:13px; background:#fff8e8; color:var(--green); font-weight:750; }
.component-target-size { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:10px 0; padding:12px 14px; border-radius:12px; background:#eef6f1; color:#244b3b; }
.component-target-size span { font-size:13px; color:#5f746b; }
.component-target-size strong { font-size:17px; white-space:nowrap; }
.receipt-photo-field input[type="file"] { display:block; width:100%; margin-top:9px; padding:11px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font-weight:500; }
.production-evidence { display:grid; gap:10px; margin-top:14px; padding:12px; border:2px solid #c69345; border-radius:13px; background:#fff8e8; }
.production-evidence-head { display:grid; gap:2px; }
.production-evidence-head strong { color:var(--green); font-size:17px; }
.production-evidence-head span { color:var(--muted); font-size:12px; }
.production-evidence-grid { display:grid; gap:9px; }
.production-evidence-card { display:grid!important; grid-template-columns:112px minmax(0,1fr); gap:11px; width:100%!important; min-height:100px; margin:0!important; padding:8px!important; align-items:center; color:var(--ink)!important; text-align:left; background:white!important; border:1px solid var(--line)!important; }
.production-evidence-card img { display:block; width:112px; height:92px; border-radius:8px; object-fit:cover; background:#e7e3d9; }
.production-evidence-card span { display:grid; min-width:0; gap:5px; }
.production-evidence-card b { overflow-wrap:anywhere; }
.production-evidence-card small { color:var(--muted); font-size:12px; line-height:1.5; }
.production-evidence-empty { display:grid; gap:3px; margin-top:14px; padding:12px; border:2px dashed #c87972; border-radius:11px; color:#7d302c; background:#fff1ef; }
.production-evidence-empty span { font-size:12px; }
.picking-guide { display:grid; grid-template-columns:minmax(0,1fr) 92px; gap:12px; margin-top:12px; padding:13px; border:2px solid #c69345; border-radius:13px; background:#fff8e8; }
.picking-guide > div { display:grid; align-content:center; gap:4px; min-width:0; }
.picking-guide small { color:#8b5c1b; font-weight:700; }
.picking-guide strong { color:var(--green); font-size:19px; overflow-wrap:anywhere; }
.picking-guide span { color:var(--muted); font-size:13px; overflow-wrap:anywhere; }
.picking-guide a { display:grid; gap:4px; color:var(--green); text-align:center; text-decoration:none; font-size:12px; }
.picking-guide img { width:92px; height:76px; border-radius:9px; object-fit:cover; background:#e7e3d9; }
.warehouse-thumb { display:grid; width:72px; height:56px; min-width:72px; overflow:hidden; place-items:center; border:1px solid var(--line); border-radius:9px; color:var(--muted); background:#f1eee6; text-decoration:none; }
.warehouse-thumb img { width:100%; height:100%; object-fit:cover; }
.warehouse-image-preview { display:flex; gap:12px; align-items:center; min-height:72px; padding:10px; border:1px dashed var(--line); border-radius:10px; color:var(--muted); background:#faf8f2; }
.warehouse-image-preview a { flex:0 0 auto; }
.warehouse-image-preview img { display:block; width:120px; height:82px; border-radius:9px; object-fit:cover; }
.warehouse-image-preview small { line-height:1.5; }
@media (max-width:520px){.task-warehouse-route{grid-template-columns:1fr}.wip-location-reference{grid-template-columns:88px 1fr}.wip-location-reference img{width:88px;height:66px}}
.picking-card { border-color:#c69345; box-shadow:0 8px 28px rgba(116,77,22,.09); }
.abort-clearance-card { border-color:#b76b5e; box-shadow:0 8px 28px rgba(122,54,45,.1); }
.abort-count-section { display:grid; gap:10px; padding:13px; border:1px solid var(--line); border-radius:13px; background:#faf8f2; }
.abort-count-section h3,.abort-count-section p { margin:0; }
.abort-count-section > p { color:var(--muted); font-size:12px; }
.abort-count-line { display:grid; grid-template-columns:minmax(180px,1.8fr) repeat(3,minmax(82px,.65fr)) minmax(125px,1fr); gap:8px; align-items:end; padding:11px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.abort-count-line.material { grid-template-columns:minmax(180px,1.8fr) repeat(3,minmax(82px,.7fr)); }
.abort-count-line > div { display:grid; gap:4px; align-self:center; }
.abort-count-line small { color:var(--muted); line-height:1.4; }
.abort-count-line label { gap:4px; font-size:12px; }
.abort-count-line input,.abort-count-line select { min-height:42px; padding:8px 9px; }
.abort-summary-lines { display:grid; gap:7px; margin-top:10px; }
.abort-summary-lines p { display:flex; justify-content:space-between; gap:14px; margin:0; padding:9px 11px; border-radius:9px; background:#f4f1e9; }
.login-body { min-height: 100vh; min-height: 100dvh; background: linear-gradient(145deg,#102a20,#315c47 55%,#8b6840); }
.login-shell { width: min(440px, calc(100vw - 32px)); min-height: 100vh; min-height: 100dvh; margin: 0 auto; padding: max(34px, env(safe-area-inset-top)) 0 max(34px, env(safe-area-inset-bottom)); display: grid; place-items: center; }
.login-card { width: 100%; padding: 28px; border: 1px solid rgba(255,255,255,.55); border-radius: 20px; background: rgba(255,253,248,.97); box-shadow: 0 28px 90px rgba(0,0,0,.24); }
.login-card h1 { margin: 5px 0 8px; font: 600 34px/1.15 Georgia,"Songti SC",serif; }
.login-form { display: grid; gap: 16px; margin-top: 24px; }
.login-form input { min-height: 48px; font-size: 16px; }
.login-form button { min-height: 48px; }
.form-error { min-height: 24px; margin: 14px 0 0; color: var(--red); }
.security-note { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
.cost-event-timeline { display:grid; gap:10px; }
.cost-event-card { display:grid; gap:6px; padding:14px 16px; border:1px solid var(--line); border-left:4px solid var(--green); border-radius:12px; background:#faf9f5; }
.cost-event-card > div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cost-event-card p,.cost-event-card small { margin:0; }
.cost-event-card small { color:var(--muted); }
.cost-event-card strong { overflow-wrap:anywhere; }
.product-cost-events { margin-top:12px; }
#cost-period-status { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:8px; }
#cost-period-status small { color:var(--muted); }
.machining-file-panel { border-left:4px solid #b47a2a; }
.machining-file-task { margin-top:10px; border:1px solid var(--line); border-radius:12px; background:#faf8f2; }
.machining-file-task > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px; cursor:pointer; }
.machining-file-task > summary > span:first-child { display:grid; gap:3px; min-width:0; }
.machining-file-task > summary small { color:var(--muted); }
.machining-file-content { display:grid; gap:10px; padding:0 13px 13px; }
.machining-upload-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.machining-upload-grid .wide { grid-column:1 / -1; }
.machining-file-reminder { display:grid; gap:4px; margin:10px 0; padding:13px 14px; border:2px solid #a56c18; border-radius:11px; color:#4c2f00; background:#ffefc4; }
.machining-file-reminder[hidden] { display:none; }
.machining-file-reminder strong { font-size:15px; }
.machining-file-reminder.ready { border-color:#5e8d70; color:#123d2d; background:#e4f2e8; }
.machining-file-reminder span { font-size:14px; font-weight:600; line-height:1.55; }

.worker-body input,.worker-body textarea,.worker-body select { color:#162019; border-color:#aeb8b0; background:#fff; }
.worker-body input::placeholder,.worker-body textarea::placeholder { color:#56625a; opacity:1; }
.worker-body button.ghost,.worker-body .ghost { color:#253129; border-color:#98a69c; background:#fff; font-weight:700; }
.receipt-photo-review { display:grid; grid-template-columns:120px minmax(0,1fr); gap:12px; align-items:center; padding:11px; border:2px solid #8ca99a; border-radius:13px; background:#eef6f1; }
.receipt-photo-review[hidden],.receipt-photo-confirm[hidden] { display:none !important; }
.receipt-photo-review img { width:120px; height:100px; object-fit:cover; border-radius:9px; background:#dfe7e1; }
.receipt-photo-review > div { display:grid; gap:7px; min-width:0; }
.receipt-photo-review span { color:var(--muted); overflow-wrap:anywhere; }
.receipt-photo-review button { justify-self:start; }
.form-submit-message { margin:12px 0 0; padding:12px 14px; border-radius:12px; background:#e7f3ec; color:#145b42; font-weight:700; line-height:1.45; }
.form-submit-message.error { background:#fff0ed; color:#a52a22; border:1px solid #e6aaa3; }
.form-submit-message[hidden] { display:none !important; }
.receipt-photo-confirm { display:flex !important; flex-direction:row !important; align-items:center; gap:10px; padding:14px !important; border:2px solid #155b43 !important; border-radius:12px; background:#e5f3ea; color:#123d2d !important; font-weight:800 !important; }
.receipt-photo-confirm input { width:24px !important; height:24px !important; min-height:24px !important; flex:0 0 24px; accent-color:#155b43; }
.recent-receipts { margin-top:18px; border:1px solid #d7d2c5; border-radius:16px; background:#fbfaf6; }
.recent-receipts > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px; cursor:pointer; }
.recent-receipts > summary span { display:grid; gap:3px; }
.recent-receipts > summary small { color:var(--muted); font-weight:500; }
.recent-receipts > div { display:grid; gap:10px; padding:0 10px 10px; }
.recent-receipts.archive-open { padding:10px; }
.recent-receipts.archive-open > div { padding:0; }
.warehouse-process-summary { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:15px; border:1px solid #9fb9aa; border-radius:15px; background:#eef6f1; }
.warehouse-process-summary > div { display:grid; gap:5px; }
.warehouse-process-summary span { color:#425149; line-height:1.6; }
.receipt-location-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; }
.receipt-location-row > label { min-width:0; }
.receipt-location-row > button { min-height:48px; white-space:nowrap; }
#warehouse-location-dialog { width:min(520px,calc(100vw - 24px)); }
.recent-receipt-card { display:grid; gap:10px; padding:12px; border:1px solid #ded8ca; border-radius:13px; background:#fff; }
.recent-receipt-head { display:grid; grid-template-columns:minmax(0,1fr) 92px; gap:10px; }
.recent-receipt-head > div { display:grid; align-content:start; gap:5px; min-width:0; }
.recent-receipt-head small { color:var(--muted); line-height:1.55; }
.recent-receipt-head > a { display:grid; gap:4px; color:#155b43; text-align:center; text-decoration:none; font-size:12px; }
.recent-receipt-head img { width:92px; height:78px; object-fit:cover; border-radius:8px; background:#e5e5e0; }
.recent-receipt-no-photo { display:grid; place-content:center; gap:3px; width:92px; min-height:78px; padding:7px; border:1px dashed #aaa397; border-radius:8px; color:#4f5a52; background:#f2f0ea; text-align:center; }
.recent-receipt-no-photo small { font-size:11px; }
.receipt-correction-note { margin:0; padding:8px 10px; border-radius:8px; background:#fff1cd; color:#62430a; }
.receipt-correction-timeline p { padding:8px; border-top:1px solid #e6e1d5; }
.receipt-correction-form > summary { padding:10px 0; color:#155b43; font-weight:800; cursor:pointer; }
@media (max-width:520px) {
  .operation-route { grid-template-columns:1fr 1fr; }
  .operation-route button { min-height:104px; }
  .operation-route button::after { display:none !important; }
  .sales-control-panel .business-module-grid { grid-template-columns:1fr 1fr; }
  .overview-actions { align-items:stretch; flex-direction:column; }
  .overview-actions button { width:100%; }
  .module-route { justify-content:flex-start; }
  .catalog-search { grid-template-columns:1fr 1fr; }
  .catalog-search input { grid-column:1/-1; }
  .catalog-card { grid-template-columns:72px minmax(0,1fr); gap:10px; padding:11px; }
  .catalog-card .product-thumb { width:72px; height:72px; min-width:72px; min-height:72px; }
  .catalog-card-title { display:block; }
  .catalog-card-title h3 { font-size:15px; }
  .catalog-card-side { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; }
  .catalog-card-side .inline-actions { width:100%; }
  .catalog-card-side .inline-actions button { flex:1; }
  .catalog-stock-strip span { min-width:calc(25% - 6px); flex:1; }
  .plan-summary { grid-template-columns:repeat(3,1fr); }
  .plan-component-fields { grid-template-columns:1fr 1fr; }
  .plan-component-fields label:first-child { grid-column:1 / -1; }
  .business-module-grid { grid-template-columns:1fr; gap:9px; }
  .business-module-card { min-height:126px; padding:15px; }
  .business-module-card small { min-height:0; }
  .module-group { margin-top:20px; }
  .module-group-head h2 { font-size:19px; }
  .stocktake-head-actions { flex-direction:column; align-items:stretch; }
  .stocktake-head-actions .button-link,.stocktake-head-actions button { width:100%; }
  .management-page-links > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .management-page-links .button-link { width:100%; }
  .count-line { grid-template-columns:1fr; }
  .count-numbers { grid-template-columns:1fr 1fr; }
  .count-numbers .pill { justify-self:start; }
  .stocktake-hero .mobile-head { display:grid; grid-template-columns:1fr; }
  .stocktake-hero h1 { font-size:30px; }
  .stocktake-hero .stocktake-head-actions { display:grid; grid-template-columns:1fr 1fr; width:100%; flex-direction:initial; }
  .spot-search { grid-template-columns:1fr; }
  .stocktake-main { width:calc(100vw - 20px); }
  .stocktake-main .panel { padding:15px; border-radius:15px; }
  .spot-primary .section-head,.spot-count-panel .section-head { align-items:center; }
  .spot-search { grid-template-columns:minmax(0,1fr) 82px; gap:7px; }
  .spot-search input,.spot-search button { min-height:48px; padding:9px 10px; }
  .spot-quantity-field input { min-height:74px; font-size:36px; }
  .spot-extra > summary,.spot-records-fold > summary { align-items:flex-start; flex-direction:column; gap:3px; }
  .spot-result-card { grid-template-columns:54px minmax(0,1fr); }
  .spot-result-card img,.spot-result-empty { width:54px; height:54px; }
  .spot-result-card b { grid-column:2; }
  .spot-selected-card { grid-template-columns:76px minmax(0,1fr); padding:11px; }
  .spot-selected-card img { width:76px; height:76px; }
  .spot-new-location-fields { grid-template-columns:1fr; }
  .spot-new-location-fields .wide { grid-column:auto; }
  .spot-initial-grid { grid-template-columns:1fr; }
  .spot-initial-grid .wide { grid-column:auto; }
  .spot-history-card:has(img) { grid-template-columns:70px minmax(0,1fr); }
  .spot-history-card img { width:70px; height:70px; }
  .legacy-count-fold > summary { align-items:flex-start; flex-direction:column; }
  .cost-event-card { padding:12px; }
  .cost-event-card > div { align-items:flex-start; flex-direction:column; gap:5px; }
  .picking-guide { grid-template-columns:minmax(0,1fr) 78px; padding:11px; }
  .picking-guide img { width:78px; height:68px; }
  .machining-upload-grid { grid-template-columns:1fr; }
  .machining-upload-grid .wide { grid-column:auto; }
  .machining-file-task > summary { align-items:flex-start; flex-direction:column; }
  .abort-count-line,.abort-count-line.material { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .abort-count-line > div,.abort-count-line .abort-condition { grid-column:1/-1; }
  .abort-count-line input,.abort-count-line select { width:100%; }
  .abort-summary-lines p { align-items:flex-start; flex-direction:column; gap:3px; }
  .receipt-photo-review { grid-template-columns:96px minmax(0,1fr); }
  .receipt-photo-review img { width:96px; height:90px; }
  .warehouse-process-summary,.receipt-location-row { grid-template-columns:1fr; }
  .warehouse-process-summary .button-link,.receipt-location-row > button { width:100%; justify-content:center; }
}

/* 8.1.1 · equipment archive compact layout */
.equipment-main{display:grid;gap:14px}.equipment-overview{padding:18px 22px}.equipment-overview-head{display:flex;align-items:end;justify-content:space-between;gap:16px}.equipment-overview-head h2{margin-bottom:0}.equipment-overview-head>strong{font:700 22px/1 Georgia,"Songti SC",serif;color:var(--green)}.equipment-summary{display:flex;align-items:stretch;justify-content:space-between;gap:12px;margin-top:14px}.equipment-summary-actions{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;flex:1}.equipment-summary-item{display:grid;gap:2px;text-align:left;padding:11px 14px;border:1px solid var(--line);border-radius:13px;background:#f8f7f2;color:var(--ink);box-shadow:none}.equipment-summary-item:hover,.equipment-summary-item.active{border-color:#7cae93;background:#e7f1eb}.equipment-summary-item b{font:700 24px/1 Georgia,"Songti SC",serif;color:var(--green)}.equipment-summary-item span{color:var(--muted);font-size:12px}.equipment-source-total{display:grid;align-content:center;min-width:250px;padding:10px 16px;border-left:1px solid var(--line)}.equipment-source-total span,.equipment-source-total small{color:var(--muted);font-size:12px}.equipment-source-total b{font:700 23px/1.2 Georgia,"Songti SC",serif;color:var(--ink)}.equipment-boundary-compact{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.equipment-boundary-compact summary{color:var(--muted);cursor:pointer;font-size:13px}.equipment-boundary-compact .archive-boundary-points{margin-top:10px}.equipment-boundary-compact .archive-boundary-points span{padding:6px 9px;font-size:12px}.equipment-workspace{padding:18px 22px}.equipment-filter{display:grid;grid-template-columns:minmax(260px,2fr) minmax(150px,.75fr) minmax(110px,.55fr) auto;gap:9px;align-items:end}.equipment-filter label{display:grid;gap:5px}.equipment-filter label>span{color:var(--muted);font-size:12px;font-weight:700}.equipment-quick-filters{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.equipment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.equipment-card{appearance:none;display:grid;grid-template-columns:76px minmax(0,1fr) 20px;gap:12px;align-items:center;width:100%;min-height:104px;border:1px solid var(--line);border-radius:16px;padding:12px;background:#fff;color:var(--ink);text-align:left;box-shadow:none}.equipment-card:hover,.equipment-card:focus-visible{border-color:#7cae93;background:#fbfdfb;transform:translateY(-1px)}.equipment-photo,.equipment-card .archive-no-image{width:76px;height:76px;object-fit:cover;border-radius:12px;border:1px solid var(--line)}.equipment-card .archive-no-image{display:grid;place-items:center;padding:6px;background:#f2f0e9;color:var(--muted);text-align:center;font-size:12px}.equipment-photo.large{width:min(300px,100%);height:auto;max-height:320px}.equipment-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.equipment-title-line{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.equipment-copy strong{font-size:1.03rem;line-height:1.3;overflow-wrap:anywhere}.equipment-copy small,.equipment-model{color:var(--muted);overflow-wrap:anywhere}.equipment-model{font-weight:700}.equipment-tags{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:0 0 auto}.equipment-tags .pill{font-style:normal;font-size:11px;padding:5px 7px}.equipment-active-dot{display:block;width:9px;height:9px;border-radius:50%;background:#3f9b69;box-shadow:0 0 0 4px #e5f2ea}.equipment-chevron{color:var(--muted);font-size:30px;line-height:1}.equipment-detail-copy{display:grid;gap:10px}.equipment-detail-status{display:flex;gap:6px}.equipment-timeline{display:grid;gap:10px}.equipment-timeline article{display:flex;flex-direction:column;gap:4px;border-left:4px solid var(--green);background:var(--soft);border-radius:10px;padding:12px}
@media(max-width:820px){.equipment-summary{display:grid}.equipment-summary-actions{grid-template-columns:repeat(4,1fr)}.equipment-source-total{min-width:0;border-left:0;border-top:1px solid var(--line);padding:10px 0 0}.equipment-grid{grid-template-columns:1fr}}
@media(max-width:620px){.equipment-hero{padding-bottom:18px}.equipment-overview,.equipment-workspace{padding:14px}.equipment-overview-head{align-items:center}.equipment-summary-actions{grid-template-columns:repeat(2,1fr)}.equipment-summary-item{padding:9px 11px}.equipment-summary-item b{font-size:21px}.equipment-filter{grid-template-columns:1fr 1fr}.equipment-search{grid-column:1/-1}.equipment-filter button{width:100%}.equipment-quick-filters{margin:10px 0}.equipment-card{grid-template-columns:66px minmax(0,1fr) 14px;gap:10px;min-height:92px;padding:10px}.equipment-photo,.equipment-card .archive-no-image{width:66px;height:66px}.equipment-copy strong{font-size:1rem}.equipment-title-line{display:grid;gap:4px}.equipment-tags{justify-content:flex-start}.equipment-chevron{font-size:24px}.equipment-source-total b{font-size:20px}.equipment-photo.large{width:100%;max-height:240px}}

/* 8.8.0 · simple permission model for a small factory team */
.permission-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}.permission-flow span{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:700}.permission-flow b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--green);color:#fff}.permission-flow i{color:var(--muted);font-style:normal}.ui-profile-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}.ui-profile-cards article{display:grid;align-content:start;gap:6px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--soft);min-height:178px}.ui-profile-cards span,.ui-profile-cards small{color:var(--muted)}.ui-profile-cards strong{font-size:17px}.permission-tags{display:flex;flex-wrap:wrap;gap:5px}.permission-tags em{padding:4px 7px;border-radius:999px;background:#fff;color:var(--green);font-size:12px;font-style:normal;font-weight:700}.permission-boundary{display:grid;grid-template-columns:auto 1fr;gap:12px;margin:0 0 16px;padding:12px 14px;border-left:4px solid #d2aa67;border-radius:10px;background:#fff8ea}.permission-boundary span{color:var(--muted)}.account-permission-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}.account-permission-preview div{display:grid;gap:4px;padding:9px;border-radius:9px;background:#fff}.account-permission-preview small{color:var(--muted)}.account-permission-preview strong{line-height:1.45}
body[data-ui-profile="coordinator"] [data-domain-tab]:not([data-domain-tab="overview"]):not([data-domain-tab="products"]):not([data-domain-tab="production"]),body[data-ui-profile="coordinator"] [data-ui-admin-only],body[data-ui-profile="coordinator"] #new-manual-product,body[data-ui-profile="coordinator"] #sync-products,body[data-ui-profile="coordinator"] .product-image-edit,body[data-ui-profile="coordinator"] .product-quick-links,body[data-ui-profile="coordinator"] .product-secondary-modules{display:none!important}
@media(max-width:720px){.permission-flow i{display:none}.permission-flow span{width:calc(50% - 4px);border-radius:12px}.ui-profile-cards{grid-template-columns:1fr 1fr}.ui-profile-cards article{padding:11px;min-height:0}.account-permission-preview{grid-template-columns:1fr}.permission-boundary{grid-template-columns:1fr}}

/* 8.9.0 · one main workbench plus optional read-only pages */
.account-extra-section{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#f8faf7}.account-extra-section>div:first-child{display:flex;flex-direction:column;gap:4px}.account-extra-section>div:first-child small,.account-extra-section>p{color:var(--muted);margin:0}.account-extra-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.account-extra-pages label{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.account-extra-pages input{width:20px;height:20px;margin-top:2px;flex:0 0 auto}.account-extra-pages span{display:flex;flex-direction:column;gap:3px}.account-extra-pages small{color:var(--muted);font-weight:400}.readonly-page-notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;margin-bottom:14px;border:1px solid #bfd9ca;border-radius:14px;background:#edf7f1}.readonly-page-notice span{color:var(--muted);flex:1 1 360px}.readonly-page-notice a{color:var(--green);font-weight:700}@media(max-width:680px){.account-extra-pages{grid-template-columns:1fr}.readonly-page-notice{align-items:flex-start}}
.account-action-section{border-color:#b7d3c4;background:#eef7f1}.account-extra-pages label.permission-unavailable{opacity:.52;cursor:not-allowed;background:#f2f2ef}.account-extra-pages label.permission-unavailable input{cursor:not-allowed}
.permission-group{display:grid;gap:10px;margin:0;padding:12px;border:1px solid #c9ddd1;border-radius:14px}.permission-group legend{padding:0 8px;color:var(--green);font-weight:800}.permission-risk{display:inline-flex;margin-left:6px;padding:2px 7px;border-radius:999px;background:#e5efe9;color:#52665d;font-size:11px;font-style:normal;vertical-align:middle}.permission-risk.sensitive{background:#fff0cd;color:#805b16}.permission-risk.danger{background:#fae1de;color:#9b2c27}

/* 8.10.0 · one home, one visible navigation, no dead permission links */
.management-page-links{display:flex;gap:7px;align-items:center;overflow-x:auto;margin:0 0 12px;padding:7px;border:1px solid #b7c9bf;border-radius:13px;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}
.management-page-links[hidden]{display:none}
.management-page-links>a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:9px 13px;border-radius:9px;color:#345146;text-decoration:none;font-weight:800;white-space:nowrap}
.management-page-links>a.active{color:#fff;background:var(--green)}
body[data-read-only="true"] .account-extra-section{background:#f7f8f5}
@media(max-width:680px){
.jst-sync-workspace{padding:14px}.jst-sync-workspace .section-head{align-items:stretch}.jst-sync-workspace .section-head>button{width:100%}.jst-sync-tabs{margin-top:10px}.jst-sync-tabs button{flex:1 0 auto;padding:9px 12px}.jst-sync-workspace .metrics{grid-template-columns:1fr 1fr}.jst-sync-workspace .metric{min-height:82px;padding:12px}.jst-sync-workspace .metric b{font-size:21px;overflow-wrap:anywhere}.jst-result-card{display:grid;padding:14px}.jst-result-card button{width:100%}.jst-panel-head{align-items:flex-start}.jst-workspace-panel .detail-grid{grid-template-columns:1fr}.jst-advanced-content .inline-actions{display:grid}.jst-advanced-content .inline-actions button{width:100%}
  .account-extra-pages{grid-template-columns:1fr}
  .worker-body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
  .worker-main{margin-bottom:24px}
  .worker-body .management-page-links{position:fixed;left:8px;right:8px;bottom:calc(6px + env(safe-area-inset-bottom));z-index:80;margin:0;padding:6px;border-color:#aebdb4;box-shadow:0 8px 30px rgba(18,48,36,.25)}
  .worker-body .management-page-links>a{flex:1 0 auto;min-width:88px;min-height:50px;padding:7px 10px;font-size:14px}
  body:not(.worker-body){padding-bottom:calc(78px + env(safe-area-inset-bottom))}
  body:not(.worker-body)>.tabs{position:fixed;left:8px;right:8px;bottom:calc(6px + env(safe-area-inset-bottom));z-index:80;width:auto;margin:0;padding:6px;border-color:#aebdb4;box-shadow:0 8px 30px rgba(18,48,36,.25)}
  body:not(.worker-body)>.tabs button,body:not(.worker-body)>.tabs .tab-link{min-height:48px;padding:8px 12px}
}
.closure-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.closure-assignment-grid .plan-assembly-check{grid-column:1/-1}.warehouse-assignment-card{display:grid;gap:10px;padding:14px;margin:10px 0 16px;border-radius:14px;background:#f4f7f3}.warehouse-assignment-card .inline-form{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,2fr) auto;gap:8px}@media(max-width:760px){.closure-assignment-grid,.warehouse-assignment-card .inline-form{grid-template-columns:1fr}}
.closure-assignment-grid.warehouse-only{grid-template-columns:minmax(260px,520px)}
.shared-route-option{background:#eef6f1;border-color:#9ab9a8!important}
.shared-route-explanation{display:flex;gap:10px;align-items:flex-start;margin:14px 0;padding:12px 14px;border-radius:12px;background:#eef6f1;color:#244f3d}
.shared-route-explanation strong{white-space:nowrap}.shared-route-explanation span{line-height:1.55}
.authority-status { display:flex; align-items:center; justify-content:space-between; gap:14px; }
@media (max-width:560px) {
  .authority-status { align-items:stretch; flex-direction:column; }
  .authority-status button { width:100%; }
  .authority-compare-row { grid-template-columns:1fr 1fr 1fr; }
  .authority-compare-row > div { grid-column:1/-1; }
  .system-info-grid { grid-template-columns:1fr; }
  .admin-menu-panel { position:fixed; right:12px; top:94px; left:12px; width:auto; }
  .production-view-tabs button { flex:1; }
  .order-more-actions > div { position:static; }
}
