/* ── Layout: grid, page, print ── */

:root {
  /* Avery 5164 defaults */
  --label-width: 4in;
  --label-height: 3.333in;
  --columns: 2;
  --rows: 3;
  --page-top-margin: 0.5in;
  --page-side-margin: 0.16in;
  --gutter-x: 0.19in;
  --gutter-y: 0in;
  --print-offset-x: 0in;
  --print-offset-y: 0in;
  --header-height: 0.5in;
  --label-font: 8pt;
  --field-font: 11pt;
}

* { box-sizing: border-box; }

body {
  font-family: "roboto-condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #222;
  margin: 0;
  padding: 24px;
}

/* ── App body flex layout ── */
#app-body {
  display: flex;
  gap: 24px;
  max-width: fit-content;
  margin: 0 auto;
}

#main-content {
  flex: 1 1 auto;
}

.grid {
  display: grid;
  grid-template-columns: repeat(var(--columns), var(--label-width));
  grid-template-rows: repeat(var(--rows), var(--label-height));
  column-gap: var(--gutter-x);
  row-gap: var(--gutter-y);
  max-width: calc(var(--columns) * var(--label-width) + (var(--columns) - 1) * var(--gutter-x));
  margin: 0 auto;
}

/* ── Multi-page print container ── */
.page {
  width: 8.5in;
  height: 11in;
  overflow: hidden;
}

.page .grid {
  margin: 0;
}

/* ── Print ── */
@page {
  size: letter;
  margin: 0;
}

@media print {
  body {
    padding: 0;
    max-height: 11in;
    max-width: 8.5in;
    overflow: hidden;
  }

  .toolbar,
  .no-print {
    display: none !important;
  }

  .grid {
    margin: 0;
    padding-top: calc(var(--page-top-margin) + var(--print-offset-y));
    padding-left: calc(var(--page-side-margin) + var(--print-offset-x));
  }

  /* Multi-page batch printing */
  body.batch-printing {
    max-height: none;
    overflow: visible;
  }

  body.batch-printing #label-grid {
    display: none !important;
  }

  body.batch-printing .page {
    page-break-after: always;
  }

  body.batch-printing .page:last-child {
    page-break-after: auto;
  }

  body.batch-printing .page .grid {
    padding-top: calc(var(--page-top-margin) + var(--print-offset-y));
    padding-left: calc(var(--page-side-margin) + var(--print-offset-x));
  }

  #app-body {
    display: block;
  }
}
