
table td.nowrap{white-space:nowrap}.form-req::after{content:" *";color:#d00}
.plan-wrap{position:relative;border:1px solid #ddd;background:#fafafa;min-height:400px;overflow:hidden}
.plan-bg{position:absolute;inset:0;background-position:center;background-repeat:no-repeat;background-size:contain}
.grid-overlay{position:absolute;inset:0;pointer-events:none;opacity:.55;display:none;--grid-pct:2}
.grid-overlay.on{display:block}
.grid-overlay{background-image:
  repeating-linear-gradient(to right, rgba(13,110,253,.18) 0 1px, transparent 1px calc(var(--grid-pct)*1%)),
  repeating-linear-gradient(to bottom, rgba(13,110,253,.18) 0 1px, transparent 1px calc(var(--grid-pct)*1%));
}
:root{ --card-scale:1; --min-w:120px; --min-h:60px }
.stand-card{position:absolute;border:2px solid #0d6efd66;background:#0d6efd22;border-radius:8px;
  padding: calc(6px * var(--card-scale,1)); min-width: var(--min-w,120px); min-height: var(--min-h,60px);
  cursor:move; overflow:hidden; font-size: calc(14px * var(--card-scale,1));
}
.stand-card .nr{font-weight:700}
.stand-card .meta{font-size: calc(12px * var(--card-scale,1)); color:#555}
.stand-card.selected{outline:2px solid #0d6efd}
.resize-handle{position:absolute;right:-7px;bottom:-7px;width:14px;height:14px;border-radius:50%;background:#0d6efd;border:2px solid #fff;box-shadow:0 0 0 1px #0d6efd;cursor:nwse-resize}
.toolbar{gap:.5rem;flex-wrap:wrap}
.toolbar .btn svg{vertical-align:middle}
.guide-h,.guide-v{position:absolute;background:#0d6efd66;pointer-events:none;display:none}
.guide-h{height:2px;left:0;right:0}
.guide-v{width:2px;top:0;bottom:0}
@media print{nav,.btn,.no-print{display:none!important}.container{max-width:100%!important}}
