/* Compact WMS workspace. Screen rules deliberately leave barcode/QR printing alone. */
@media screen {
  :root {
    --control-height:36px;
    --control-radius:6px;
    --cream:#f5f7f8;
    --paper:#fff;
    --line:#dce3e7;
    --muted:#536571;
    --shadow:none;
    font-size:14px;
  }
  body { line-height:1.45; }
  .app-shell { grid-template-columns:220px minmax(0,1fr); }
  .sidebar { padding:18px 12px 12px; }
  .brand { gap:10px; font-size:14px; }
  .brand-mark { width:34px; height:34px; font-size:22px; border-radius:8px; }
  .sidebar-nav { margin-top:20px; gap:4px; }
  .nav-group summary { min-height:34px; padding:8px 10px; letter-spacing:.08em; }
  .nav-group-links .nav-item { min-height:34px; padding:7px 10px; font-size:12px; }
  .main { padding:0 24px 28px; }
  .topbar { min-height:72px; padding:14px 0; margin-bottom:18px; gap:12px; }
  .topbar h1 { font-size:22px; font-weight:700; line-height:1.3; }
  .topbar-actions { gap:10px; }
  .avatar { width:34px; height:34px; font-size:13px; }
  .user-menu strong { font-size:12px; }
  .user-menu small { font-size:11px; }
  .notification-bell { width:36px; height:36px; flex-basis:36px; border-radius:8px; }
  .notification-bell svg { width:20px; height:20px; }
  .notification-bell .notification-badge { min-width:18px; height:18px; font-size:10px; }
  .eyebrow { font-size:10px; letter-spacing:.08em; }
  .panel,.welcome,.stat-card,.scanner-head,.scanner-camera,.scanner-entry,.notification-card { border-radius:10px; }
  .panel { margin-bottom:16px; }
  .panel-head { padding:14px 16px; gap:10px; align-items:center; }
  .panel h2,.welcome h2,.scanner-head h2,.section-heading h3 { font-family:inherit; font-size:17px; font-weight:700; line-height:1.35; }
  .panel-head p { margin:6px 0 0; }
  .panel-head p.eyebrow { margin:0; }
  .panel>p,.panel>h2 { margin:14px 16px; }
  .welcome { padding:16px 18px; margin-bottom:16px; gap:16px; }
  .welcome h2 { margin:5px 0 0; max-width:62ch; }
  .welcome p.muted { margin:6px 0 0; font-size:13px; }
  .dashboard-tools { align-items:flex-end; }
  .toolbar>div>form { margin-top:10px; max-width:340px; }
  .stat-grid { gap:12px; margin-bottom:12px; }
  .stat-card { padding:14px 16px; min-height:108px; }
  .stat-card strong { font-size:27px; font-family:inherit; font-weight:750; line-height:1.2; margin:8px 0; }
  .stat-card span,.stat-card a { font-size:12px; }
  .stat-card .text-value { font-size:18px!important; }
  .stat-card.amber,.stat-card.alert { border-top-width:3px; }
  .toolbar { margin-bottom:14px; gap:10px; align-items:center; }
  .toolbar>.workflow-actions { padding:0; }
  .search { gap:8px; align-items:end; }
  .search>input { flex:1 1 220px; }
  .search>select { flex:0 1 170px; min-width:120px; }
  .button { min-height:var(--control-height); padding:7px 12px; border-radius:6px; font-size:12px; line-height:1.4; gap:6px; }
  .button.primary { background:#e9b442; border-color:#d9a331; color:#172820; }
  .button.wide { padding:8px 12px; }
  .button:disabled { opacity:.6; cursor:not-allowed; }
  .button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid #27765c; outline-offset:2px; }
  input,select,textarea { font-size:13px; font-weight:400; padding:8px 10px; border-radius:6px; border-color:#b9c6cd; }
  label { gap:6px; font-size:12px; font-weight:650; }
  label small { font-size:11px; line-height:1.45; min-height:0; }
  textarea { min-height:88px; }
  select[multiple] { min-height:150px; }
  input[type=checkbox],input[type=radio],.check input,.checkbox-row input,.checkbox-list input,.inspection-form input[type=checkbox],.table-wrap td>input[type=checkbox],.table-wrap td>input[type=radio] {
    width:16px; height:16px; min-width:16px; min-height:16px; flex:0 0 16px; padding:0; margin:0;
  }
  .check { min-height:var(--control-height); padding:7px 10px; gap:8px; font-size:12px; }
  .checkbox-row { min-height:var(--control-height); font-size:12px; }
  .checkbox-list { gap:4px; padding:10px; }
  .checkbox-list label { min-height:var(--control-height); padding:7px 8px; border-radius:4px; }
  .form-card { padding:18px; max-width:1120px; }
  .form-card.narrow { max-width:560px; gap:16px; }
  .form-card.compact { max-width:none; gap:16px; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto; }
  .form-card.compact>.button { margin-top:23px; }
  .form-card .panel-head { padding:0 0 14px; margin-bottom:16px; }
  .form-grid { gap:16px 20px; }
  .form-grid>* { min-width:0; }
  .form-card>label+label { margin-top:14px; }
  .form-actions { gap:8px; margin-top:18px; padding-top:14px; justify-content:flex-end; }
  .form-section { grid-column:1/-1; margin:4px 0 0; padding:12px 0 0; border-top:1px solid var(--line); font-size:13px; font-weight:700; }
  .form-section:first-child { border-top:0; padding-top:0; margin-top:0; }
  .form-error,.notice { padding:10px 12px; font-size:13px; border-radius:4px; }
  .notice { margin:0 0 16px; }
  .split-grid,.two-panel,.scanner-grid { gap:16px; }
  .workflow-actions { padding:14px 16px; gap:8px; align-items:center; }
  .workflow-actions>form { margin:0; }
  .action-panel>form { padding:12px 16px; }
  .inline-fields { gap:8px; align-items:center; }
  .line-editor { padding:12px 14px; margin:18px 0; }
  .section-heading { gap:10px; margin-bottom:10px; }
  .section-heading h3 { font-size:15px; }
  .order-line { gap:10px; padding:12px 0; grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) var(--control-height); }
  .return-line { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .transfer-line { grid-template-columns:repeat(12,minmax(0,1fr)); }
  .line-remove { width:var(--control-height); height:var(--control-height); border-radius:6px; }
  table { font-size:12px; line-height:1.4; }
  th { padding:10px 12px; font-size:10px; letter-spacing:.04em; }
  td { padding:10px 12px; max-width:320px; vertical-align:middle; }
  .number.big { font-size:14px; }
  .block,.mono { font-size:11px; }
  .empty { padding:28px 16px; }
  .badge,.role-badge,.status { font-size:10px; line-height:1.4; padding:3px 7px; }
  .actions,.row-action-cell { width:52px; min-width:52px; }
  .actions .row-action-toggle,.row-action-toggle { width:32px; height:32px; font-size:22px; border-radius:6px; }
  .row-action-menu { padding:6px; border-radius:8px; min-width:190px; }
  .row-action-menu a,.row-action-menu button { min-height:var(--control-height); padding:8px 10px; font-size:12px; }
  .row-action-menu input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.row-action-menu select { height:var(--control-height)!important; min-height:var(--control-height)!important; }
  .row-action-menu .inspection-form label { min-height:var(--control-height); }
  .table-wrap td>input:not([type=hidden]):not([type=checkbox]):not([type=radio]),.receive-inline input,.receive-inline select,.blind-count-form input,.blind-count-form select {
    height:var(--control-height)!important; min-height:var(--control-height)!important;
  }
  .pagination,.label-pagination { padding:12px 16px; gap:12px; }
  .pagination .page-link,.pagination .button { height:var(--control-height); min-height:var(--control-height); min-width:var(--control-height); }
  .pagination .page-link { border-radius:6px; font-size:11px; }
  .pagination p { font-size:11px; }
  .pagination form { align-items:center; }
  .pagination select { width:104px; min-width:0; font-size:12px; }
  .report-filter { padding:16px; margin-bottom:16px; }
  .report-filter .form-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
  .report-links a { padding:16px; gap:6px; }
  .detail-grid { padding:16px 18px; gap:16px 24px; }
  .detail-grid>div { gap:6px; }
  .detail-grid small { font-size:11px; }
  .detail-grid strong { font-size:13px; }
  .receiving-count-list { padding:16px; gap:12px; }
  .receiving-count-card { padding:16px; border-radius:8px; }
  .receiving-count-head { gap:12px; }
  .receiving-count-head h3 { font-size:14px; }
  .receiving-count-head p { font-size:12px; }
  .count-summary { gap:10px; margin:12px 0; padding:10px 12px; }
  .count-summary dt,.field-caption { font-size:11px; }
  .count-summary dd { font-size:20px; }
  .receiving-count-card .blind-count-form { gap:12px; }
  .receiving-count-card .blind-count-form label { gap:6px; }
  .receiving-count-card .blind-count-form input,.receiving-count-card .blind-count-form select,.receiving-count-card .count-preview {
    height:var(--control-height)!important; min-height:var(--control-height)!important; font-size:13px; padding:8px 10px; border-radius:6px;
  }
  .receiving-count-card .count-preview { font-size:16px; }
  .receiving-count-card .blind-count-submit-actions .button { min-height:var(--control-height); }
  .receiving-count-card .blind-count-actions { padding-top:12px; margin-top:12px; }
  .connection-card { max-width:none; }
  .connection-actions { padding-top:12px; margin-top:14px; gap:8px; }
  .connection-card .inline-control { align-items:center; }
  .sync-toolbar { gap:16px; }
  .sync-toolbar .sync-toolbar-actions { gap:8px; }
  .label-toolbar { padding:14px 16px; gap:12px; }
  .label-controls-single>a { min-height:var(--control-height); font-size:12px; }
  .barcode-label { border-radius:8px; }
  .notification-card { padding:14px 16px; gap:16px; border-left-width:3px; }
  .notification-card h3 { font-family:inherit; font-size:15px; font-weight:700; margin:4px 0 6px; }
  .notification-card p { font-size:13px; }
  .notification-actions { gap:8px; }
  .scanner-shell { gap:16px; }
  .scanner-head { padding:16px; gap:16px; }
  .scanner-camera,.scanner-entry { padding:16px; }
  .scanner-camera video { max-height:360px; }
  .scanner-head label { min-width:200px; }
  .scan-product,.scan-stock,.scan-actions { padding:14px; border-radius:8px; background:#f7f9fa; }
  .scan-product h3 { font-family:inherit; font-size:19px; }
  .scan-action { padding:10px; border-radius:6px; font-size:13px; }
  .empty-state { min-height:100px; }
  .pick-stop { padding:14px 16px; gap:12px; }
  .pick-sequence { width:34px; height:34px; font-size:13px; }
  .transfer-progress { padding-bottom:16px; }
  .transfer-progress>progress { margin:0 16px; width:calc(100% - 32px); height:12px; }
  .transfer-steps { margin:14px 16px 0; }
  .transfer-steps span { padding:8px; font-size:11px; }
  .combobox-results { border-radius:6px; }
  .combobox-results button { min-height:var(--control-height); padding:10px; font-size:12px; gap:10px; }
  .login-intro h1 { font-family:inherit; font-size:clamp(32px,4vw,54px); line-height:1.08; font-weight:700; }
  .auth-card { max-width:360px; }
  .auth-card h2 { font-family:inherit; font-size:26px; font-weight:700; }
  .auth-card label { margin:16px 0; }
  .error-code { font-family:inherit; font-size:72px; }
  .error-page h1 { font-family:inherit; font-size:26px; }
}

@media screen and (min-width:1600px) {
  .main { padding-left:32px; padding-right:32px; }
  .form-grid { gap:16px 24px; }
}
@media screen and (min-width:1200px) {
  .master-data-form .form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .master-data-form .form-grid>.span-2 { grid-column:1/-1; }
}
@media screen and (min-width:1024px) {
  .stat-grid:has(>.stat-card:nth-child(3):last-child) { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .stat-grid:has(>.stat-card:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (min-width:1024px) and (max-width:1199px) {
  .report-filter .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dashboard-tools { flex-wrap:wrap; }
}
/* Touch layouts retain usable targets even though desktop controls are compact. */
@media screen and (max-width:1023px), screen and (pointer:coarse) {
  :root { --control-height:44px; }
  input,select,textarea { font-size:16px; }
  .button { padding:10px 12px; font-size:13px; }
  .notification-bell { width:44px; height:44px; flex-basis:44px; }
  .actions .row-action-toggle,.row-action-toggle { width:44px; height:44px; }
  .row-action-menu a,.row-action-menu button { font-size:13px; }
  input[type=checkbox],input[type=radio],.check input,.checkbox-row input,.checkbox-list input,.inspection-form input[type=checkbox],.table-wrap td>input[type=checkbox],.table-wrap td>input[type=radio] {
    width:18px; height:18px; min-width:18px; min-height:18px; flex-basis:18px;
  }
  .receiving-count-card .blind-count-form input,.receiving-count-card .blind-count-form select { font-size:16px; }
  .nav-item,.nav-group summary,.nav-group-links .nav-item { min-height:44px; }
  td { padding:12px; }
  .main { padding:0 18px 24px; }
  .form-grid { gap:16px; }
  .report-filter .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:1023px) {
  .app-shell { display:block; }
  .topbar { min-height:72px; }
  .scanner-head label { min-width:0; }
  .transfer-line { grid-template-columns:repeat(12,minmax(0,1fr)); }
}
@media screen and (max-width:767px) {
  .main { padding:0 12px 20px; }
  .topbar { min-height:68px; margin-bottom:14px; padding:12px 0; gap:8px; }
  .topbar h1 { font-size:18px; }
  .topbar-actions { gap:8px; }
  .user-menu summary { gap:0; }
  .welcome { padding:14px; gap:12px; }
  .welcome h2 { font-size:17px; }
  .dashboard-tools { width:100%; gap:10px; }
  .dashboard-tools form { width:100%; }
  .dashboard-tools>.button { width:100%; }
  .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .stat-card { padding:12px; min-height:104px; }
  .stat-card strong { font-size:24px; margin:7px 0; }
  .stat-card a,.stat-card span { font-size:11px; }
  .panel-head { padding:12px 14px; align-items:flex-start; }
  .form-card { padding:16px; }
  .form-grid,.form-card.compact,.report-filter .form-grid { grid-template-columns:1fr; }
  .form-card.compact>.button { margin-top:0; }
  .span-2 { grid-column:auto; }
  .form-actions { margin-top:16px; padding-top:12px; }
  .form-actions>.button { flex:1 1 120px; }
  .search>input { flex-basis:100%; }
  .search>select { flex:1 1 120px; min-width:0; }
  .toolbar { align-items:stretch; gap:12px; }
  .toolbar>.button { align-self:flex-start; }
  .workflow-actions { padding:12px 14px; }
  .order-line,.return-line { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .order-line>label:first-child { grid-column:1/-1; }
  .transfer-line { grid-template-columns:1fr; }
  .transfer-line>* { grid-column:1!important; }
  .section-heading { align-items:flex-start; }
  table { min-width:560px; }
  .row-action-cell { width:60px; min-width:60px; }
  .row-action-menu table { min-width:0; }
  .pagination,.label-pagination { padding:12px; gap:10px; }
  .pagination form { max-width:100%; }
  .pagination-links { gap:4px; }
  .pagination .page-link { font-size:12px; }
  .detail-grid { grid-template-columns:1fr; padding:14px 16px; gap:14px; }
  .receiving-count-list { padding:12px; }
  .receiving-count-card { padding:14px; }
  .receiving-count-card .blind-count-form { grid-template-columns:1fr; }
  .receiving-count-card .blind-count-form label { grid-column:1; }
  .count-summary { padding:10px; gap:8px; }
  .count-summary dd { font-size:18px; }
  .notification-card { padding:14px; gap:10px; }
  .notification-actions { width:100%; align-self:stretch; }
  .notification-actions .button { flex:1 1 auto; }
  .scanner-camera,.scanner-entry,.scanner-head { padding:14px; }
  .scanner-controls { flex-wrap:wrap; }
  .scanner-controls .button { flex:1 1 120px; }
  .pick-stop { grid-template-columns:34px minmax(0,1fr); padding:12px; gap:10px; }
  .pick-stop form { flex-wrap:wrap; min-width:0; }
  .pick-stop input { max-width:100%; }
  .connection-actions { gap:10px; }
  .label-toolbar { padding:12px; }
  .label-controls-single>a { font-size:13px; }
  .login-intro { min-height:auto; padding:24px; gap:26px; }
  .login-intro h1 { font-size:32px; }
  .login-panel { padding:28px 20px; }
}
@media screen and (max-width:359px) {
  .stat-grid { grid-template-columns:1fr; }
  .topbar h1 { font-size:16px; }
  .main { padding-left:10px; padding-right:10px; }
  .count-summary { grid-template-columns:1fr; }
}

@media screen {
  .assembly-component-line { grid-template-columns:minmax(0,2fr) minmax(0,1fr) var(--control-height); }
  .assembly-cancel { padding:14px 16px; }
  .assembly-cancel summary { cursor:pointer; font-size:13px; font-weight:650; }
  .assembly-cancel form { display:flex; gap:12px; align-items:flex-end; margin-top:14px; flex-wrap:wrap; }
  .assembly-cancel label { flex:1 1 240px; }
}
@media screen and (max-width:767px) {
  .assembly-component-line { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .assembly-cancel form>.button { width:100%; }
}
