/* Labate · ferramentas (tabela de corte, cálculo editorial) e página 404.
   Cores e raios vêm do Design System (--rb-*). */

.lbt { color: var(--rb-color-text, #1c1c1b); }
.lbt p { margin: 0 0 16px; }
.lbt-label { font-size: 0.875rem; font-weight: 600; margin-bottom: 8px !important; }
.lbt-formatos { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }
.lbt-formatos button {
	min-height: 44px; padding: 0 16px; font: inherit; font-weight: 600; font-variant-numeric: tabular-nums;
	background: #fff; color: var(--rb-color-text, #1c1c1b); border: 1px solid var(--rb-color-muted, #4b5260); border-radius: var(--rb-radius-md, 8px); cursor: pointer;
}
.lbt-formatos button[aria-pressed="true"] { background: var(--rb-color-text, #1c1c1b); color: #fff; border-color: var(--rb-color-text, #1c1c1b); }
.lbt-title { font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; margin: 0 0 24px; }
.lbt-title:focus { outline: none; }
.lbt-legenda { display: flex; flex-wrap: wrap; gap: 16px; font-size: 0.875rem; color: var(--rb-color-muted, #4b5260); margin: 0 0 24px !important; }
.lbt-legenda span::before { content: ""; display: inline-block; width: 14px; height: 14px; margin-right: 6px; vertical-align: -2px; border: 1px solid var(--rb-color-text, #1c1c1b); background: #fff; }
.lbt-legenda .lbt-girada::before { background: var(--rb-color-surface, #f2f4f7); }
.lbt-legenda .lbt-sobra::before { background: var(--rb-color-border, #e1e5eb); border-color: var(--rb-color-border, #e1e5eb); }
.lbt-cortes { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px; margin: 0 0 24px; padding: 0; }
.lbt-corte figure { margin: 0; background: #fff; border: 1px solid var(--rb-color-border, #e1e5eb); padding: 12px; border-radius: var(--rb-radius-md, 8px); }
.lbt-corte svg { width: 100%; height: auto; display: block; }
.lbt-folha { fill: var(--rb-color-border, #e1e5eb); }
.lbt-peca { fill: #fff; stroke: var(--rb-color-text, #1c1c1b); stroke-width: 0.35; }
.lbt-peca--girada { fill: var(--rb-color-surface, #f2f4f7); }
.lbt-corte figcaption { display: flex; justify-content: space-between; gap: 8px; margin-top: 8px; font-size: 0.875rem; font-variant-numeric: tabular-nums; }
.lbt-corte strong { white-space: nowrap; }
.lbt-custom { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--rb-color-border, #e1e5eb); max-width: 720px; display: grid; gap: 24px; }

/* Formulários das ferramentas */
.lbt-row { display: grid; gap: 24px; }
@media (min-width: 700px) { .lbt-row { grid-template-columns: 1fr 1fr; } }
.lbt-field label, .lbt-field legend { display: block; font-weight: 600; font-size: 0.875rem; margin-bottom: 8px; padding: 0; }
.lbt-field fieldset, fieldset.lbt-field { border: 0; margin: 0; padding: 0; min-width: 0; }
.lbt-field input, .lbt-field select { width: 100%; min-height: 48px; padding: 12px; font: inherit; color: var(--rb-color-text, #1c1c1b); background: #fff; border: 1px solid var(--rb-color-muted, #4b5260); border-radius: var(--rb-radius-md, 8px); box-sizing: border-box; }
.lbt-medidas { display: flex; align-items: end; gap: 12px; }
.lbt-medidas .lbt-field { flex: 1; }
.lbt-medidas > span { padding-bottom: 12px; font-weight: 700; }
.lbt-erro { color: #a3141f; font-weight: 600; margin: 0 !important; }
.lbt-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.lbt-note { font-size: 0.875rem; color: var(--rb-color-muted, #4b5260); margin: 0 !important; }
.lbt .rb-btn { min-height: 48px; font-weight: 700; }
.lbt .lbt-btn-outline { background: transparent; color: var(--rb-color-text, #1c1c1b); border: 2px solid var(--rb-color-text, #1c1c1b); }
.lbt .lbt-btn-outline:hover { background: var(--rb-color-text, #1c1c1b); color: #fff; }

/* Cálculo editorial */
.lbt-calc { display: grid; gap: 48px; }
@media (min-width: 900px) { .lbt-calc { grid-template-columns: 5fr 7fr; align-items: start; } }
.lbt-calc form { display: grid; gap: 24px; }
.lbt-resultado { overflow-x: auto; }
.lbt-resultado:focus { outline: none; }
.lbt-tabela { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.lbt-tabela caption { text-align: left; font-weight: 600; padding-bottom: 12px; color: var(--rb-color-muted, #4b5260); font-size: 0.875rem; }
.lbt-tabela th, .lbt-tabela td { text-align: left; padding: 12px; border-bottom: 1px solid var(--rb-color-border, #e1e5eb); }
.lbt-tabela thead th { border-bottom: 2px solid var(--rb-color-text, #1c1c1b); font-size: 0.875rem; }
.lbt-tabela tbody th { font-weight: 700; white-space: nowrap; }
.lbt-destaque { background: #fff; }
.lbt-selo { display: inline-block; margin-left: 8px; padding: 1px 8px; background: var(--rb-color-accent, #f0e323); color: var(--rb-color-text, #1c1c1b); font-size: 0.75rem; font-weight: 700; border-radius: 10px; }

/* Página 404 */
.lb-404 { padding: 96px 0; }
.lb-404 .lb-404__kicker { display: block; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.8125rem; font-weight: 700; color: var(--rb-color-muted, #4b5260); margin-bottom: 12px; }
.lb-404 h1 { font-size: 2.0625rem; font-weight: 800; line-height: 1.1; margin: 0 0 16px; }
.lb-404 .rbc-search { margin: 24px 0; }
.lb-404 .rbc-search input { border: 1px solid var(--rb-color-muted, #4b5260); border-right: 0; }
.lb-404__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }

@media print {
	.lbt-formatos, .lbt-custom, #lbt-imprimir { display: none !important; }
	.lbt-cortes { grid-template-columns: repeat(4, 1fr); }
}
