/* Plan takeoff */
.to-bar{display:flex; align-items:center; justify-content:space-between; gap:18px;
  flex-wrap:wrap; padding:14px 0; border-bottom:1px solid var(--rule); margin-top:26px;}
.to-scaleline{display:flex; align-items:center; gap:12px;}
.to-scalelabel{font-size:11.5px; text-transform:uppercase; letter-spacing:.07em; color:var(--ink-faint); font-weight:600;}
.to-scale{font-family:var(--font-mono); font-size:15px; font-weight:600; color:var(--accent);
  background:var(--accent-tint); padding:5px 12px; border-radius:6px;}
.to-scale-approx{background:var(--mark-soft); color:var(--mark-ink);}
.to-pager{font-size:14px; color:var(--ink-soft);}
.to-pager input{width:64px; padding:6px 8px; text-align:center; font-family:var(--font-mono);}

.to-tools{display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin:18px 0 10px;}
.btn-sm{padding:8px 14px; font-size:13.5px;}
.btn.is-on{background:var(--accent); color:#fff; border-color:var(--accent);}
.to-labelfield{display:flex; align-items:center; gap:8px; font-size:13px; color:var(--ink-soft);}
.to-labelfield input{width:190px; padding:7px 10px; font-size:14px;}
.to-hint{font-size:13.5px; color:var(--ink-soft); margin:0 0 4px;}
.to-draft{font-family:var(--font-mono); font-size:13.5px; color:var(--accent); min-height:20px; margin:0 0 10px;}

.to-stage{position:relative; display:inline-block; max-width:100%;
  border:1px solid var(--rule-strong); border-radius:var(--radius); overflow:hidden; background:#fff;}
#toCanvas{display:block; max-width:100%;}
#toOverlay{position:absolute; inset:0; cursor:crosshair; max-width:100%;}

.to-cal{background:var(--accent-tint); border:1px solid var(--accent-line);
  border-radius:var(--radius); padding:20px 24px; margin:18px 0;}
.to-cal h3{font-family:var(--font); font-size:16px; font-weight:600; margin:0 0 6px; color:var(--accent-deep);}
.to-cal p{font-size:14px; color:var(--accent-deep); margin:0 0 14px; max-width:62ch;}
.to-calrow{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
.to-calrow input{width:110px;} .to-calrow select{width:150px;}

.to-waste{margin-top:26px;}
.to-h{font-family:var(--font); font-size:17px; font-weight:600; margin:30px 0 12px;}
.to-table{width:100%; border-collapse:collapse; font-size:14px;}
.to-table th{text-align:left; font-size:11.5px; text-transform:uppercase; letter-spacing:.07em;
  color:var(--ink-faint); font-weight:600; padding:0 10px 9px 0; border-bottom:1px solid var(--rule-strong);}
.to-table td{padding:11px 10px 11px 0; border-bottom:1px solid var(--rule);}
.to-table .num{text-align:right; font-family:var(--font-mono); white-space:nowrap;}
#toInput{position:absolute; width:1px; height:1px; opacity:0; pointer-events:none;}
@media (max-width:640px){
  .to-labelfield input{width:140px;}
  .to-table thead{display:none;}
  .to-table tr{display:block; padding:10px 0; border-bottom:1px solid var(--rule-strong);}
  .to-table td{display:block; border:none; padding:2px 0; text-align:left;}
  .to-table .num{text-align:left;}
}
