/* Wingo's blue workspace shell. Business status colors remain semantic. */
:root{--ink:#1f2937;--ink-soft:#64748b;--teal:#2563eb;--teal-dark:#1d4ed8;--mint:#eff6ff;--cream:#f5f6f8;--line:#e2e8f0;--gray-soft:#f3f5f8;--shadow:0 2px 8px rgba(30,50,80,.035)}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink)}
.sidebar{width:196px;padding:24px 12px 16px;background:#fbfcfe;color:var(--ink);border-right:1px solid var(--line);position:sticky;top:0;height:100vh;overflow:auto}
.brand{padding:0 10px 24px;gap:10px}.brand-mark{background:#2463d9;color:#fff;border-radius:10px;width:34px;height:34px}.brand strong{color:#205cc5;font-size:22px;letter-spacing:-.5px}.brand span{color:#758096;font-size:11px}
.workspace-switcher{order:3;margin:20px 0 0;padding:12px 8px;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;gap:8px}.workspace-copy strong{color:var(--ink);font-size:12px}.workspace-copy span,.workspace-sync-status{color:var(--ink-soft)}.workspace-main-row{width:100%}.avatar-small{background:#e7efff;color:#2456af}.workspace-logout{color:#66768e;background:transparent}.workspace-switcher .row-action{color:#64738a}.current-person-row select{color:var(--ink);background:#f0f3f8;border-color:var(--line)}.current-person-row>span{display:none}.workspace-switcher .workspace-sync-status{font-size:10px}.sidebar-bottom{display:none}
.main-nav{flex:1;display:flex;flex-direction:column;gap:5px}.module-button{display:flex;align-items:center;gap:11px;text-align:left;width:100%;padding:13px 12px;border-radius:9px;background:transparent;color:#59667a;font-size:14px;font-weight:500}.module-button>svg{width:19px;height:19px;flex-shrink:0}.module-button>svg:last-child{width:13px;margin-left:auto;opacity:0}.module-button:hover{background:#f0f3f8}.module-button.active{background:#eaf0fc;color:#205cc5;font-weight:600}.module-button.active>svg:last-child{opacity:1}.module-button[hidden]{display:none}
.topbar{height:58px;padding:0 28px}.breadcrumb,.breadcrumb strong{font-size:13px}.top-date{border:0;color:var(--ink-soft)}.workspace-navigation{background:#fff;border-bottom:1px solid var(--line);padding:0 28px}.module-functions>[data-module-functions]{display:flex;gap:7px;flex-wrap:wrap;padding:10px 0}.module-functions>[hidden]{display:none}.module-functions .nav-item{width:auto;margin:0;padding:8px 12px;font-size:13px;color:#5e6b7e;border-radius:7px;gap:7px}.module-functions .nav-item[hidden]{display:none}.module-functions .nav-item.active{color:#205cc5;background:#edf3ff}.module-functions .nav-item:hover{background:#f1f4f9;color:#205cc5}.module-functions .nav-item svg{width:15px;height:15px}
.workspace-tabs{display:flex;gap:4px;overflow-x:auto;min-height:32px}.workspace-tab{display:flex;flex-shrink:0;border-bottom:2px solid transparent}.workspace-tab>button{background:transparent;color:#778296;padding:7px 10px;font-size:12px}.workspace-tab>button:last-child{padding-left:1px;font-size:15px}.workspace-tab.active{border-color:#2563d9}.workspace-tab.active>button{color:#205cc5}.workspace-tab>button:hover{background:#f4f7fc}
.content-wrap{max-width:none;padding:24px 28px 40px}.page-intro,.page-intro.compact{margin-bottom:20px}.page-intro h1{font-size:24px;font-weight:650;letter-spacing:-.3px}.eyebrow{display:none}.intro-copy{font-size:13px;color:#697589;line-height:1.6}.metric-card,.panel{border-radius:12px;box-shadow:var(--shadow)}.metric-card strong{font-family:inherit}.panel{padding:18px}.panel-heading h2{font-size:15px;color:var(--ink)}.button{border-radius:7px;font-size:13px}.button-secondary{border-color:#dbe1ea}.button-secondary:hover,.button-ghost:hover{background:#edf3ff}.metric-head,.metric-foot{color:#627087}.metric-foot{font-size:12px}.metric-head{font-size:13px}.metric-foot b{font-size:12px}.metric-card{min-height:130px}.metric-card.accent-teal{border-top:1px solid var(--line);background:#edf3ff}.metric-card.accent-coral{border-top:1px solid var(--line)}
th{color:#49576b;background:#f6f8fb}td{color:#253348}input,select,textarea{accent-color:#2563d9}.plan-matrix-scroll table,.production-plan-scroll table{font-size:14px;color:#253348}.plan-matrix-scroll th,.production-plan-scroll th{font-weight:600}.plan-quantity-input{color:#253348}.plan-quantity-input.adjusted{color:#1d5ed3}.date-page-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0;font-size:12px;color:#637087}.date-page-controls button{background:#f1f5fc;border:1px solid #dfe7f5;border-radius:6px;padding:5px 10px;color:#275797}.date-page-controls button:disabled{opacity:.4;cursor:default}.date-page-controls select{border:1px solid var(--line);border-radius:5px;padding:4px;background:#fff}
.operations-summary{border-radius:12px}.overview-intro{max-width:900px}.bar.actual,.legend-dot.actual,.model-share i,.engineering-overview-progress i{background:#3374e5}.accent-teal .metric-head,.accent-teal strong{color:#194da6}.badge-teal,.tag-teal{background:#edf3ff;color:#235ab0}.auth-card{border-color:var(--line)}
button:focus-visible,a:focus-visible{outline:2px solid #528cf0;outline-offset:2px}
.matrix-zoom-controls input[type=range]{accent-color:#2563d9}.plan-matrix-scroll .matrix-column-filter,.production-plan-table .matrix-column-filter{background:#fff}.production-plan-table td.production-frozen,.production-plan-table .production-text{background:#f7f9fc}.production-plan-table td.production-edited input{border-color:#8eafe8;background:#f1f6ff}
.plan-matrix-scroll th,.plan-matrix-scroll td,.production-plan-table th,.production-plan-table td,.production-plan-table td:nth-child(2),.production-plan-table td:nth-child(3){font-size:14px;color:#253348}
@media(min-width:1100px){#view-demand .plan-filter-bar label{flex:1 1 100px;width:auto;min-width:0}#view-demand .plan-filter-bar input,#view-demand .plan-filter-bar select{max-width:none}}
.plan-matrix-scroll .plan-sticky{background:#f7f9fc}.view .plan-matrix-panel{padding:14px}.view .plan-matrix-panel .panel-heading{margin-bottom:8px}.view .plan-matrix-panel .plan-filter-bar{margin-bottom:6px}.view .plan-matrix-panel .demand-matrix-toolbar{margin-bottom:6px}.date-page-controls{margin:6px 0}.date-page-controls>span:last-child{display:none}.workspace-focus-toggle{white-space:nowrap}
.demand-matrix-modal{padding:16px 18px}.demand-matrix-modal .modal-header{margin-bottom:6px}.demand-matrix-modal .modal-header h2{font-size:16px}.demand-matrix-modal .production-matrix-summary{gap:8px;margin-bottom:4px;font-size:10px;line-height:1.3}.demand-matrix-modal .inventory-import-status{font-size:10px}.demand-matrix-modal .plan-filter-bar{gap:6px;margin-bottom:4px}.demand-matrix-modal .plan-filter-bar label{flex-basis:150px;font-size:10px}.demand-matrix-modal .demand-matrix-toolbar{gap:5px;margin-bottom:4px}.demand-matrix-modal .date-page-controls{gap:6px;margin:4px 0;font-size:10px}.demand-matrix-modal .date-page-controls button{padding:4px 8px}.demand-matrix-modal .date-page-controls select{padding:3px}
@media(min-width:1100px){.plan-matrix-panel{display:grid;grid-template-columns:minmax(380px,1fr) auto;column-gap:12px}.plan-matrix-panel>.panel-heading,.plan-matrix-panel>.date-page-controls,.plan-matrix-panel>.table-scroll,.plan-matrix-panel>[data-pager]{grid-column:1/-1}.plan-matrix-panel>.plan-filter-bar{align-self:end}.plan-matrix-panel>.demand-matrix-toolbar{align-self:end;flex-wrap:nowrap}.plan-matrix-panel .plan-filter-bar label{min-width:100px}.plan-matrix-panel .plan-filter-bar input,.plan-matrix-panel .plan-filter-bar select{max-width:160px}}
@media(max-width:760px){.module-functions .nav-item span{display:inline}.top-actions .workspace-focus-toggle{width:auto;padding:0 10px;font-size:12px}.sidebar .brand>div:last-child{display:block}.sidebar .workspace-copy{display:block}}
.workspace-focus .sidebar,.workspace-focus .workspace-navigation,.workspace-focus .top-date{display:none}.workspace-focus .topbar{height:44px;padding:0 16px}.workspace-focus .content-wrap{padding:12px 16px 20px}.workspace-focus .view>.page-intro{margin-bottom:10px}.workspace-focus .view>.page-intro h1{font-size:18px}.workspace-focus .view>.form-hint,.workspace-focus .view>.page-intro .intro-copy,.workspace-focus .view>.metric-grid,.workspace-focus .demand-status-strip,.workspace-focus .production-summary,.workspace-focus .plan-history-panel{display:none}.workspace-focus #view-demand .plan-matrix-scroll{height:max(350px,calc(100vh - 250px))}.workspace-focus .production-plan-scroll{max-height:calc(100vh - 245px)}.workspace-focus .panel{padding:12px}.workspace-focus .panel-heading{margin-bottom:10px}
.erp-sync-control{position:relative}.erp-sync-control[hidden],.erp-sync-popover[hidden]{display:none!important}.erp-sync-trigger{color:#2563d9;background:#edf3ff;border:1px solid #d9e6fc}.erp-sync-trigger:hover{background:#dfeaff}.erp-sync-popover{position:absolute;right:0;top:calc(100% + 12px);z-index:35;width:min(340px,calc(100vw - 24px));padding:18px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 14px 36px rgba(32,47,75,.17);color:var(--ink)}.erp-sync-head{display:flex;align-items:center;justify-content:space-between}.erp-sync-head strong{font-size:15px}.erp-sync-head .icon-button{width:28px;height:28px}.erp-sync-popover p{font-size:12px;line-height:1.6;margin:12px 0;color:#526176}.erp-sync-popover progress{display:block;width:100%;height:8px;accent-color:#2563d9}.erp-sync-popover progress[hidden]{display:none}.erp-sync-steps{display:flex;justify-content:space-between;gap:6px;margin:12px 0}.erp-sync-steps span{font-size:11px;color:#788398;white-space:nowrap}.erp-sync-steps [data-state=done]{color:#19754f}.erp-sync-steps [data-state=running]{color:#205cc5;font-weight:700}.erp-sync-steps [data-state=failed]{color:#b53b42}.erp-sync-popover small{display:block;color:#66768e;font-size:11px;line-height:1.5}.erp-sync-start{width:100%;margin:14px 0 9px}.erp-sync-caveat{color:#8993a3!important}.erp-review-action{align-items:center;margin-top:16px;gap:10px}.erp-review-action span{font-size:11px;color:#718098}
@media(min-width:1600px){.content-wrap{padding:28px 36px 48px}.topbar,.workspace-navigation{padding-left:36px;padding-right:36px}}
@media(max-width:900px){.sidebar{width:164px;padding:18px 8px}.module-button{font-size:13px;padding:12px 10px}.content-wrap{padding:20px}.topbar,.workspace-navigation{padding-left:20px;padding-right:20px}}
@media(max-width:600px){.app-shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:12px}.brand{padding:0 0 12px}.main-nav{flex-direction:row;overflow-x:auto}.module-button{width:auto;flex-shrink:0}.module-button>svg:last-child{display:none}.workspace-switcher{margin:10px 0 0;padding:8px 0}.workspace-main-row{width:auto}.current-person-row{max-width:160px}.workspace-sync-status{margin-left:auto}.topbar{padding:0 14px}.breadcrumb>span,.breadcrumb>svg{display:none}.workspace-navigation{padding:0 12px}.content-wrap{padding:16px 12px}.module-functions .nav-item{padding:7px}.top-date{font-size:11px}}
.auth-gate{justify-items:start;overflow:auto;padding:48px clamp(24px,8vw,128px);background:linear-gradient(90deg,rgba(243,247,252,.95) 0%,rgba(243,247,252,.84) 28%,rgba(243,247,252,.43) 62%,rgba(243,247,252,.32) 100%),url("login-factory.jpg?v=20260926") center/cover no-repeat #eef3f9}
.auth-panel{width:min(380px,100%);padding:34px;border:1px solid rgba(255,255,255,.9);border-radius:16px;background:rgba(255,255,255,.95);box-shadow:0 12px 40px rgba(35,57,92,.08)}
.auth-brand{width:40px;height:40px;border-radius:11px;background:#3266c9;margin-bottom:24px;font-size:16px}
.auth-panel h1{font-size:23px;letter-spacing:-.4px;color:#243248}.auth-panel>p{font-size:12px;color:#64748b;line-height:1.6;margin-bottom:26px}
.auth-panel label{font-size:12px;color:#536174;font-weight:500;margin-bottom:18px}.auth-panel input,.auth-panel select{height:44px;border-color:#dce3ed;border-radius:8px;font-size:14px;color:#243248}
.auth-panel input:focus,.auth-panel select:focus{outline:2px solid #b6ccf4;outline-offset:2px;border-color:#658ddd}.auth-panel .button{height:44px;border-radius:8px;background:#3266c9;border-color:#3266c9;font-size:14px}.auth-panel .button:hover{background:#2858b2}.auth-panel .button:disabled{opacity:.6;cursor:wait}
@media(max-width:640px){.auth-gate{justify-items:center;padding:24px;background-position:62% center}.auth-panel{padding:28px}}
@media(max-height:560px){.auth-gate{align-items:start;padding-top:24px;padding-bottom:24px}}
.plan-matrix-scroll .plan-actions-col{left:var(--plan-actions-left);text-align:center}.plan-delete-row{border:1px solid #e5e7eb;border-radius:6px;background:#fff;color:#b42318;padding:5px 9px;font:inherit;cursor:pointer}.plan-delete-row:hover{border-color:#f2b8b5;background:#fff3f2}.plan-delete-row:focus-visible{outline:2px solid #3266c9;outline-offset:2px}
.plan-preview-notes{margin:12px 0;font-size:12px;color:#475569}.plan-preview-notes summary{cursor:pointer;color:#2563d9}.plan-preview-notes [role=alert]{margin-top:10px;color:#b42318}.plan-preview-notes .form-grid{margin:10px 0}.plan-preview-notes ul{margin:6px 0;padding-left:20px}
.erp-sync-records>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none}.erp-sync-records>summary::-webkit-details-marker{display:none}.erp-sync-records h2{margin:0;font-size:15px}.erp-sync-records summary p{margin:6px 0 0;font-size:11px;color:#718098}.erp-sync-records summary>span{color:#2563d9;font-size:12px;white-space:nowrap}.erp-sync-records summary>span:after{content:'⌄';display:inline-block;margin-left:8px}.erp-sync-records[open] summary>span:after{transform:rotate(180deg)}.erp-sync-records summary:focus-visible{outline:2px solid #b6ccf4;outline-offset:5px}.erp-sync-records-body{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.erp-sync-records-body .table-scroll{max-height:380px;overflow:auto}
/* ERP exception confirmation: wide editing area, shared blue house style. */
.price-exceptions-panel { margin: 16px 0; }
.price-exceptions-panel .form-hint, .price-resolution-modal .form-hint { color: #65758e; background: #f5f8fd; font-size: 12px; line-height: 1.6; }
.price-exceptions-panel td small { display: block; margin-top: 4px; color: #65758e; }
.price-resolution-history { margin-top: 16px; }
.price-resolution-history > summary { cursor: pointer; color: #2563a6; padding: 10px 0; }
.price-resolution-modal { width: min(1120px, 100%); max-width: 1120px; max-height: 90vh; overflow: auto; }
.price-resolution-modal .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.price-resolution-modal label { display: grid; gap: 6px; min-width: 0; font-size: 13px; }
.price-resolution-modal input, .price-resolution-modal select, .price-resolution-modal textarea { width: 100%; min-width: 0; padding: 9px 10px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: #1d2330; }
.price-resolution-wide { grid-column: 1 / -1; margin-top: 14px; }
.price-resolution-source { display: grid; grid-template-columns: minmax(0, 1fr) 130px auto; align-items: end; gap: 10px; margin-bottom: 12px; }
.price-resolution-product-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; margin-bottom: 14px; border: 1px solid #dbe5f2; border-radius: 10px; background: #f5f8fd; }
.price-resolution-product-card p { margin: 0; font-size: 14px; overflow-wrap: anywhere; }
.price-resolution-product-card button { flex-shrink: 0; }
.price-resolution-modes { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.price-resolution-modes button { padding: 8px 12px; border: 1px solid #dbe5f2; border-radius: 8px; background: #fff; color: #526078; cursor: pointer; }
.price-resolution-modes button[aria-pressed=true] { border-color: #3b82f6; background: #eff6ff; color: #1d4ed8; }
#price-resolution-advanced { margin-top: 18px; border-top: 1px solid #e2e8f0; padding-top: 12px; }
#price-resolution-advanced > summary { color: #65758e; cursor: pointer; font-size: 13px; }
#price-resolution-advanced[open] > .form-grid { margin: 14px 0; }
#price-resolution-error { color: #b42318; min-height: 20px; }
.price-exceptions-panel .plan-filter-bar label:has(input[type=checkbox]) { display: flex; align-items: center; gap: 8px; }
.price-exceptions-panel .plan-filter-bar input[type=checkbox] { width: 16px; height: 16px; min-height: 0; padding: 0; margin: 0; }
@media (max-width: 680px) {
  .price-resolution-modal .form-grid, .price-resolution-source { grid-template-columns: 1fr; }
}

/* Demand and warehouse pilot: compact tools, readable data, semantic status. */
.workspace-menu-toggle { display: none; }
body:is([data-workspace-view=demand],[data-workspace-view=warehouse]) .workspace-tabs { display: none; }
body:is([data-workspace-view=demand],[data-workspace-view=warehouse]) .content-wrap { padding-top: 16px; }
.brand span, .workspace-switcher .workspace-sync-status { color: var(--ink-soft); font-size: 12px; }
.breadcrumb > span, .workspace-tab > button { color: var(--ink-soft); }
:is(#view-demand,#view-warehouse,#demand-matrix-modal,#jit-modal) { font-variant-numeric: tabular-nums; }
:is(#view-demand,#view-warehouse,#demand-matrix-modal,#jit-modal) ::selection { background: #dbeafe; color: #1e3a8a; }
:is(#view-demand,#view-warehouse,#demand-matrix-modal,#jit-modal) :is(input,textarea) { caret-color: var(--teal); }
:is(#view-demand,#view-warehouse,#demand-matrix-modal,#jit-modal) :is(button,summary,input,select,textarea):focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
:is(#view-demand,#view-warehouse,#demand-matrix-modal,#jit-modal) :is(button,summary) { min-height: 34px; }
:is(#view-demand,#view-warehouse,#demand-matrix-modal) .button-primary { background: var(--teal); color: #fff; }
:is(#view-demand,#view-warehouse,#demand-matrix-modal) .button-primary:hover { background: var(--teal-dark); }
:is(#view-demand,#view-warehouse) .panel { box-shadow: none; }
#view-demand .page-intro h1, #view-warehouse .page-intro h1 { font-size: 22px; }
#view-demand .demand-month-metrics strong { font-size: 20px; color: var(--ink); }
#view-demand .demand-month-metrics span, #view-demand #demand-value-note { color: var(--ink-soft); }
#view-demand .demand-status-strip { margin-bottom: 8px; }
#view-demand .plan-matrix-panel { padding-top: 8px; border-color: var(--line); }
#view-demand .plan-matrix-panel .panel-heading { margin-bottom: 6px; }
#view-demand #plan-matrix-summary { margin: 0; color: var(--ink-soft); }
:is(#view-demand,#demand-matrix-modal) .inventory-import-status { font-size: 12px; color: var(--ink-soft); }
.demand-filters { min-width: 0; margin: 0; }
.demand-filters > summary { display: none; }
:is(#view-demand,#demand-matrix-modal) .plan-filter-bar label { font-size: 12px; color: var(--ink-soft); }
:is(#view-demand,#demand-matrix-modal) .plan-filter-bar :is(input,select) { font-size: 13px; height: 34px; border-color: #cbd5e1; }
:is(#view-demand,#demand-matrix-modal) .demand-matrix-toolbar { margin: 0 0 8px; }
.matrix-settings .matrix-more-options { width: 284px; padding: 12px; }
.matrix-settings-label { display: block; color: var(--ink-soft); font-size: 12px; margin-bottom: 8px; }
.matrix-settings .matrix-zoom-controls { display: flex; gap: 4px; margin-bottom: 8px; }
.matrix-settings .matrix-zoom-controls input { min-width: 0; width: 76px; }
.matrix-settings .matrix-more-options .icon-button { width: 30px; padding: 4px; justify-content: center; }
.matrix-settings .matrix-zoom-controls output { min-width: 38px; font-size: 12px; }
.matrix-settings .matrix-more-options button { color: var(--ink); }
.matrix-date-settings select { width: 100%; margin-bottom: 8px; padding: 6px; border: 1px solid #cbd5e1; border-radius: 6px; font-size: 13px; }
.matrix-settings .matrix-more-options .matrix-mobile-action { display: none; }
.plan-matrix-scroll { scrollbar-color: #94a3b8 #f1f5f9; }
.plan-matrix-scroll :is(th,td) { border-color: var(--line); }
.plan-matrix-scroll thead :is(th,.plan-sticky) { background: #f1f5f9; color: var(--ink); }
.plan-matrix-scroll tbody :is(td,.plan-sticky) { background: #fff; }
.plan-matrix-scroll tbody tr:hover :is(td,.plan-sticky) { background: #f8fafc; }
.plan-matrix-scroll tbody tr:focus-within :is(td,.plan-sticky) { background: #eff6ff; }
.plan-matrix-scroll .plan-product-col { box-shadow: none; border-right-color: #94a3b8; }
.plan-matrix-scroll tbody tr td.stock-shortage.plan-quantity-cell { background: #fff1df; color: #9a4500; }
.plan-matrix-scroll tbody tr td.stock-shortage .plan-quantity-input { background: transparent; color: inherit; }
.plan-matrix-scroll .stock-shortage .plan-quantity-input { box-shadow: none; }
.plan-matrix-scroll .plan-quantity-input { height: 26px; font-variant-numeric: tabular-nums; }
.plan-matrix-scroll .plan-quantity-input.adjusted { color: #1d4ed8; background: #eff6ff; }
.plan-matrix-scroll .plan-quantity-input:focus { border-color: var(--teal); background: #fff; }
.plan-quantity-input { appearance: textfield; -moz-appearance: textfield; }
.plan-quantity-input::-webkit-inner-spin-button, .plan-quantity-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.plan-quantity-cell { position: relative; }
.plan-fill-handle { position: absolute; right: 0; bottom: 0; width: 16px; height: 16px; padding: 0; background: transparent; cursor: crosshair; touch-action: none; opacity: 0; }
.plan-fill-handle::after { content: ''; position: absolute; width: 7px; height: 7px; bottom: 2px; right: 2px; background: #2563d9; }
.plan-quantity-cell:hover .plan-fill-handle, .plan-quantity-cell:focus-within .plan-fill-handle { opacity: 1; }
.plan-matrix-scroll tbody tr td.plan-fill-target.plan-quantity-cell { background: #dbeafe; box-shadow: inset 0 0 0 1px #2563d9; }
.plan-filling { user-select: none; cursor: crosshair; }
.modal-backdrop .modal-header { align-items: center; gap: 12px; }
.modal-backdrop .modal-header h2 { margin: 0; }
.modal-backdrop :is(.form-grid,.shipping-form-grid) { align-items: start; }
.modal-backdrop :is(.form-grid,.shipping-form-grid) > label { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.modal-backdrop :is(.form-grid,.shipping-form-grid) > label > :is(input:not([type=checkbox]):not([type=radio]),select) { width: 100%; min-width: 0; min-height: 36px; margin-top: 0; box-sizing: border-box; }
.modal-backdrop :is(.modal-actions,.shipping-footer) { align-items: center; gap: 8px; flex-wrap: wrap; }
.modal-backdrop :is(.modal-actions,.shipping-footer) > .button { min-height: 34px; margin: 0; }
.modal-backdrop .shipping-toolbar { align-items: end; gap: 8px; }
.modal-backdrop .shipping-toolbar label:not(.shipping-file-label) { margin: 0; }
.modal-backdrop .shipping-toolbar :is(input:not([type=checkbox]):not([type=file]),select,.button) { min-height: 34px; box-sizing: border-box; }
@media (max-width: 600px) {
  .modal-backdrop :is(.form-grid,.shipping-form-grid) { grid-template-columns: minmax(0,1fr); }
  .modal-backdrop .modal-header { flex-wrap: wrap; }
}
@media (pointer: coarse) { .plan-fill-handle { opacity: 1; width: 24px; height: 24px; } }
.plan-matrix-scroll .plan-actions-col { position: sticky; right: 0; left: auto; z-index: 4; border-left: 1px solid var(--line); }
.plan-matrix-scroll thead .plan-actions-col { z-index: 8; }
.plan-delete-row { color: var(--ink-soft); border: 0; padding: 4px; background: transparent; font-size: 12px; }
.plan-delete-row:hover { color: #b91c1c; background: #fef2f2; }
.demand-matrix-modal .production-matrix-summary, .demand-matrix-modal .date-page-controls { font-size: 12px; }
.demand-matrix-modal .date-page-controls select { font-size: 12px; }
#view-warehouse .shipping-panel { border: 1px solid var(--line); border-radius: 8px; padding: 12px; }
#view-warehouse .shipping-table th { background: #f1f5f9; color: var(--ink); }
#view-warehouse .shipping-table td { color: var(--ink); }
#view-warehouse .shipping-table tbody tr:hover { background: #f8fafc; }
#view-warehouse .shipping-toolbar small { color: var(--ink-soft); font-size: 12px; }
.erp-data-status { margin: 12px 0; padding: 0; list-style: none; }
.erp-data-status li { padding: 8px 0; border-top: 1px solid var(--line); font-size: 12px; }
.erp-data-status strong { font-weight: 600; }
.erp-data-status time { display: block; margin-top: 4px; color: var(--ink-soft); }
.erp-data-status [data-state=warning], .erp-data-status [data-state=stale] { color: #b45309; }
@media (min-width: 1100px) {
  #view-demand .plan-matrix-panel { grid-template-columns: minmax(400px,1fr) auto; }
  #view-demand .demand-filters { align-self: end; }
}
@media (max-width: 760px) {
  .workspace-tabs { display: none; }
  .module-functions > [data-module-functions] { flex-wrap: nowrap; overflow-x: auto; padding: 6px 0; }
  .module-functions .nav-item { flex: 0 0 auto; white-space: nowrap; }
  .demand-filters > summary { display: inline-flex; align-items: center; margin-bottom: 8px; cursor: pointer; list-style: none; }
  .demand-filters > summary::-webkit-details-marker { display: none; }
  .demand-filters[open] > summary { background: #eff6ff; color: #1d4ed8; }
  :is(#view-demand,#demand-matrix-modal) .plan-filter-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  :is(#view-demand,#demand-matrix-modal) .plan-filter-bar label:first-child { grid-column: 1 / -1; }
  #view-demand .demand-month-metrics { gap: 6px 16px; }
  #view-demand .demand-month-metrics strong { font-size: 18px; }
  #view-demand .demand-status-strip { gap: 6px; }
  #view-demand .page-intro { gap: 8px; }
  .matrix-settings .matrix-more-options { right: auto; left: 0; }
  .matrix-settings .matrix-more-options .matrix-mobile-action { display: flex; }
  :is(#view-demand,#demand-matrix-modal) .page-actions > :is([data-action=clear-plan-filters],[data-action=add-matrix-demand]) { display: none; }
  :is(#view-demand,#demand-matrix-modal) .demand-matrix-toolbar .page-actions { margin-left: 0; gap: 6px; }
  .demand-matrix-modal { padding: 12px; }
  .plan-matrix-scroll .plan-actions-col { position: static; }
}
@media (max-width: 600px) {
  .workspace-menu-toggle { display: inline-flex; margin-left: auto; align-items: center; white-space: nowrap; }
  .sidebar .brand { padding: 0; width: 100%; }
  .sidebar { padding: 10px 12px; }
  body:not(.workspace-menu-open) .sidebar :is(.main-nav,.workspace-switcher) { display: none; }
  .workspace-menu-open .main-nav { margin-top: 12px; flex-direction: column; }
  .workspace-menu-open .module-button { width: 100%; }
  .topbar { height: 46px; }
  body:is([data-workspace-view=demand],[data-workspace-view=warehouse]) .content-wrap { padding-top: 12px; }
}
