/* Stable reading space: a single resize when leaving configuration, never a
   height measured from the current step's changing title or description. */
[hidden]#fullscreenAssembly,[hidden]#assemblyMobileActions{display:none!important}
.assembly-mobile-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:8px;align-items:stretch;flex:none;padding:8px 14px 10px;border-top:1px solid var(--line);background:var(--bg)}
.assembly-mobile-actions .order-entry-actions{display:contents}
.assembly-mobile-actions .assembly-ar{position:relative;width:100%;max-width:none}
.assembly-mobile-actions :is(button,a){width:100%;min-width:0;height:76px;min-height:60px;font:inherit;font-size:clamp(11px,3vw,12px);font-weight:650;border:1px solid var(--line);border-radius:10px;line-height:1.45;padding:6px;touch-action:manipulation;white-space:normal}
.assembly-mobile-actions #nextStep{margin:0;color:white;background:#167a91;border-color:transparent;transition:transform 160ms var(--ease-out)}
.assembly-mobile-actions #prepareOrderSheet{color:var(--ink);background:var(--pill);border-color:var(--line);white-space:normal;transition:transform 160ms var(--ease-out)}
.assembly-mobile-actions :is(#nextStep,#prepareOrderSheet):active{transform:scale(.97)}
.assembly-mobile-actions #prepareAR>img{display:none}
.assembly-mobile-actions .ar-button-copy{min-width:0}
.assembly-mobile-actions .ar-button-copy small{font-size:10px;line-height:1.3}
.replay-icon{display:none}
.assembly-workspace[data-compact-actions="true"] #assemblyStepPicker{gap:6px}
.assembly-workspace[data-compact-actions="true"] .step-count{flex:none;white-space:nowrap;font-size:11px;letter-spacing:0}
.assembly-workspace[data-compact-actions="true"] .step-directory{min-width:80px;font-size:12px}
.assembly-workspace[data-compact-actions="true"] .step-directory>span{gap:4px;padding-inline:4px}
.assembly-workspace[data-compact-actions="true"] #assemblyStepControls{padding:0;margin:0;border:0;gap:4px}
.assembly-workspace[data-compact-actions="true"] #assemblyStepControls button{width:44px;height:44px;min-height:44px;padding:0;font-size:18px}
.assembly-workspace[data-compact-actions="true"] .replay-icon{display:inline}
.assembly-workspace[data-compact-actions="true"] .replay-label{display:none}
.assembly-workspace[data-compact-actions="true"][data-mode="configuration"] #assemblyStepControls{display:none}
.assembly-mobile-actions #arStatus{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
.assembly-mobile-actions [data-state="error"] #arStatus{inset:auto 0 calc(100% + 8px) auto;width:240px;max-width:80vw;height:auto;margin:0;padding:10px;clip-path:none;background:var(--bg);border:1px solid var(--line);border-radius:8px;z-index:5;color:var(--ink);box-shadow:0 3px 18px #0002}
.order-sheet-dialog{box-sizing:border-box;width:min(860px,calc(100% - 24px));max-width:none;max-height:90dvh;margin:auto;padding:0;border:1px solid var(--line);border-radius:18px;background:var(--bg);color:var(--ink);overflow:hidden}
.order-sheet-dialog[open]{display:flex;flex-direction:column}
.order-sheet-dialog::backdrop{background:rgba(10,16,24,.6)}
.order-sheet-dialog>header{display:flex;align-items:center;justify-content:space-between;flex:none;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:14px;font-weight:650}
#closeOrderSheetDialog{min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--pill);color:var(--ink);font:inherit;font-size:12px;padding:8px 12px;transition:transform 160ms var(--ease-out)}
#closeOrderSheetDialog:active{transform:scale(.97)}
#closeOrderSheetDialog:focus-visible{outline:2px solid var(--accent);outline-offset:2px;transform:none}
.order-sheet-dialog-body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px;scrollbar-gutter:stable}
.order-sheet-dialog .order-sheet-panel{margin:0;padding:0;border:0}
.order-sheet-dialog .order-sheet-form{margin-top:14px}
@media(max-width:700px),(max-width:1000px) and (max-height:540px){
  .assembly-workspace[data-compact-actions="true"][data-mode="configuration"] .assembly-layout{grid-template-rows:minmax(150px,44fr) minmax(0,56fr)}
  .assembly-workspace[data-header-tools="true"] .model-tools{display:none}
  .assembly-workspace[data-header-tools="true"] #assemblyDisplayTitle{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%)}
  .assembly-workspace[data-header-tools="true"] .assembly-display-actions{width:100%;align-items:center;justify-content:space-between;gap:6px}
  .assembly-workspace[data-header-tools="true"] #expandAssembly{margin-right:auto}
  .assembly-workspace[data-header-tools="true"] .assembly-display-actions .model-tool-actions{gap:6px}
  .assembly-workspace[data-header-tools="true"] .assembly-display-actions button{min-height:44px;padding:8px;font-size:11px}
  .assembly-workspace[data-header-tools="true"] .assembly-display-actions #expandAssembly svg{display:none}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"])[data-mode="installation"] .assembly-layout{grid-template-rows:minmax(150px,1fr) clamp(180px,28dvh,250px)}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"]) .step-copy{min-height:0;overflow:auto}
  .assembly-mobile-actions :is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:2px;transform:none}
}
@media(max-width:700px) and (max-height:640px){
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"])[data-mode="installation"] .assembly-layout{grid-template-rows:minmax(120px,1fr) clamp(150px,29dvh,185px)}
  .assembly-mobile-actions{padding:6px 10px 8px}
}
@media(min-width:480px) and (max-height:540px) and (orientation:landscape){
  .assembly-workspace[data-compact-actions="true"][data-mode="configuration"] .assembly-layout{grid-template-rows:minmax(0,1fr)}
  .assembly-workspace:is([data-display="expanded"],[data-display="fullscreen"])[data-mode="installation"] .assembly-layout{grid-template-rows:minmax(0,1fr)}
  .assembly-mobile-actions{padding:5px 12px}
  .assembly-mobile-actions :is(button,a),.assembly-mobile-actions .order-entry-actions :is(#prepareOrderSheet,#prepareAR,#openAR){height:60px;min-height:48px}
}
@media(prefers-reduced-motion:reduce){.assembly-mobile-actions :is(#nextStep,#prepareOrderSheet),#closeOrderSheetDialog{transition:none;transform:none!important}}
/* Only the explicit packing action activates this print surface. Tables keep
   readable type across multiple pages, with repeating headings and no canvas. */
#packingPrintArea{display:none}
@page packing-sheet{size:A4 portrait;margin:12mm}
@media print{
  html.printing-packing-sheet,html.printing-packing-sheet body{overflow:visible!important;height:auto!important;min-height:0!important;background:#fff!important;color:#172e3b!important}
  html.printing-packing-sheet body>:not(#packingPrintArea),html.printing-packing-sheet dialog,html.printing-packing-sheet dialog::backdrop{display:none!important}
  html.printing-packing-sheet #packingPrintArea{display:block!important;page:packing-sheet;font:10pt/1.5 "PingFang SC","Microsoft YaHei",sans-serif;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  #packingPrintArea h1{font-size:21pt;margin:0 0 3mm}
  #packingPrintArea h2{font-size:12pt;margin:6mm 0 2mm;break-after:avoid}
  #packingPrintArea p{margin:2mm 0;overflow-wrap:anywhere}
  #packingPrintArea .packing-print-code{font:700 13pt/1.5 ui-monospace,monospace;border:1mm solid #167a91;padding:3mm;margin:4mm 0;color:#124457;overflow-wrap:anywhere}
  #packingPrintArea table{width:100%;border-collapse:collapse;font-size:10pt}
  #packingPrintArea thead{display:table-header-group}
  #packingPrintArea tr,#packingPrintArea li,#packingPrintArea .packing-print-warning{break-inside:avoid}
  #packingPrintArea th,#packingPrintArea td{padding:2mm 3mm;border:0.25mm solid #ccd2d8;text-align:left}
  #packingPrintArea th{font-weight:700;background:#e9eef1}
  #packingPrintArea td:first-child{width:10mm;text-align:center}
  #packingPrintArea td:last-child{width:22mm;font-weight:700;white-space:nowrap}
  #packingPrintArea .packing-print-group{break-after:avoid}
  #packingPrintArea .packing-print-warning{padding:3mm;border:0.5mm solid #b33a16;color:#972b0a;background:#fff0e5;margin:3mm 0}
  #packingPrintArea ul{padding-left:5mm;margin:2mm 0}
  #packingPrintArea li{margin:2mm 0}
  #packingPrintArea .packing-print-signature{padding-top:6mm;break-inside:avoid}
}
