/* tools/garage-plan.css — plan drawing styles + the printable "design sheet" (shop DESIGN CONCEPT).
   Screen: the plan panel under the customer preview. Print: #designsheet is hidden unless the page
   carries body.print-design (set by VireoPlanUI.printSheet()), so a normal Print / Save PDF of the
   worksheet is untouched. The red banner + footer are pinned with print-color-adjust so a PDF cannot
   wash them out. */
#planview{padding:0 14px 6px}
#planview svg{width:100%;height:auto;display:block;touch-action:none;user-select:none;-webkit-user-select:none}
#planview .op{cursor:default}
body.editing #planview .op{cursor:grab}
body.editing #planview .op:active{cursor:grabbing}
#planview .op.sel rect:not(.hit){stroke:var(--red);stroke-width:3}
.selbar{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:12px;padding:7px 10px;margin:0 0 8px;border:1px solid var(--line,#d8d0bf);border-radius:6px;background:#fbf8f1;color:#5c574d}
.selbar.on{border-color:#a62938;background:#f6e7ea}
.selbar .sb-name{color:#211f1b}
.selbar .sb-btns{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto}
.selbar button{font:inherit;font-size:12px;padding:4px 9px;border:1px solid #a62938;border-radius:5px;background:#fff;color:#a62938;cursor:pointer}
.selbar button:hover{background:#a62938;color:#fff}
#planview .op:hover rect:not(.hit){stroke:var(--red);stroke-width:2}
.plan-actions{display:flex;gap:10px;padding:2px 14px 14px;flex-wrap:wrap}

#view3d{padding:0 14px 6px}
.v3-wrap{position:relative;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#f4f1ea}
.v3-canvas{display:block;width:100%;touch-action:none}
.v3-ban{position:absolute;left:8px;right:8px;top:8px;border:2px solid #a62938;background:rgba(246,231,234,.92);color:#a62938;font-size:10.5px;font-weight:600;line-height:1.35;padding:5px 8px;pointer-events:none}
.v3-msg{padding:22px 10px;font-size:12px;color:var(--ink-soft);font-style:italic}
#designsheet{display:none}
.plan-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;padding:0 14px 6px}
.plan-notes-grid label{display:block;font-size:10px;color:var(--ink-soft)}
.plan-notes-grid input{width:100%}
@media print{
  @page plans{size:letter landscape;margin:.3in}
  body.print-design #designsheet{display:block}
  body.print-design .out,body.print-design .meas{display:none!important}
  body.print-design{background:#fff;padding:0!important;margin:0}
  body.print-design .wrap{padding:0;margin:0;max-width:none}
  .ds-page{font-family:"Asap",system-ui,sans-serif;color:#211f1b;-webkit-print-color-adjust:exact;print-color-adjust:exact;page:plans}
  .ds-page *{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-sizing:border-box}
  .ds-sheet{display:flex;height:7.7in;border:2px solid #211f1b;page-break-after:always;break-after:page;overflow:hidden}
  .ds-sheet:last-child{page-break-after:auto;break-after:auto}
  .ds-main{flex:1;display:flex;flex-direction:column;padding:.1in;min-width:0}
  .ds-body{flex:1;display:flex;gap:.12in;min-height:0}
  .ds-banner{border:3px solid #a62938;background:#f6e7ea;color:#a62938;font-size:9px;font-weight:700;line-height:1.3;padding:5px 8px;margin-bottom:.08in}
  .ds-bt{font-family:"Saira Condensed",sans-serif;font-size:13px;letter-spacing:.05em}
  .ds-grid2{flex:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.06in;min-height:0}
  .ds-fig{margin:0;border:1px solid #cfc6b3;min-height:0;display:flex;align-items:center;justify-content:center}
  .ds-fig svg{width:100%;height:100%;max-height:2.7in}
  .ds-sheet:first-child .ds-body{flex-direction:column}
  .ds-row{display:flex;gap:.12in;align-items:flex-start}
  .ds-free{font-size:9px;flex:1;border:1px solid #cfc6b3;padding:4px 6px}
  .ds-plan2{flex:1.6;min-width:0;display:flex;align-items:center;justify-content:center}
  .ds-plan2 svg{width:100%;height:auto;max-height:6.3in}
  .ds-side2{flex:1;min-width:0;font-size:9px}
  .ds-h{font-family:"Saira Condensed",sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:#a62938;border-bottom:1px solid #a62938;margin:6px 0 4px}
  .ds-tbl{border-collapse:collapse;width:100%;font-size:8.5px}
  .ds-tbl th,.ds-tbl td{border:1px solid #8a8272;padding:2px 4px;text-align:left}
  .ds-tbl th{background:#efe9db}
  .ds-notes{margin:0;padding-left:16px;line-height:1.35}
  .ds-empty{font-style:italic}
  .ds-title{font-family:"Saira Condensed",sans-serif;font-weight:700;font-size:20px;letter-spacing:.06em;margin-top:.06in}
  .ds-foot{break-inside:avoid;border-top:3px solid #a62938;margin-top:.05in;padding-top:4px;color:#a62938;font-size:9px;font-weight:700}
  .ds-strip{width:1.75in;border-left:2px solid #211f1b;padding:.1in;display:flex;flex-direction:column;gap:5px;font-size:9px}
  .ds-stamp{border:2px solid #a62938;color:#a62938;font-weight:700;text-align:center;font-size:9px;padding:4px;line-height:1.3}
  .ds-logo{width:100%;height:auto;margin:4px 0}
  .ds-city{text-align:center;font-size:9px;color:#5c574d}
  .ds-kv{border-top:1px solid #cfc6b3;padding-top:2px}
  .ds-kv b{display:block;font-size:7.5px;letter-spacing:.08em;text-transform:uppercase;color:#5c574d}
  .ds-num{margin-top:auto;font-family:"Saira Condensed",sans-serif;font-size:34px;font-weight:700;text-align:center;border-top:2px solid #211f1b}
  .ds-num small{font-size:14px}
}
