.tabs { display: flex; gap: 4px; flex-wrap: wrap; }
.tabs button { min-height: 34px; padding: 5px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); font-size: .86rem; }
.tabs button.on { background: var(--accent); color: #fff; border-color: transparent; }

.lp-design { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 22px; align-items: start; }
.lp-preview, .lp-sheet-preview { display: inline-block; background: #fff; border: 1px solid var(--line-2); box-shadow: var(--shadow); }
.lp-label { position: relative; overflow: hidden; }
.lp-el { position: absolute; overflow: hidden; }
.lp-text { line-height: 1.15; color: #000; }
.lp-err { color: var(--bad); font-size: 8px; }
.lp-sheetwrap { margin-top: 16px; }

/* Print root: hidden on screen, the only visible thing on paper. */
#printroot { position: absolute; left: -10000px; top: 0; }
.lp-page { position: relative; background: #fff; page-break-after: always; }
.lp-cell { position: absolute; overflow: hidden; }

@media print {
  .shell-bar, .shell-notice, h1, .tabs, #body { display: none !important; }
  .shell-frame { padding: 0; margin: 0; max-width: none; }
  #printroot { position: static; left: 0; }
  .lp-cell .lp-text { color: #000; }
}

@media (max-width: 720px) {
  .lp-design { grid-template-columns: 1fr; }
}
