/* ConfTech · ajustes de tela realmente específicos (o resto vive em components.css) */

/* Painel inicial */
.pending-grid { display: grid; gap: var(--sp-4); grid-template-columns: minmax(0, 1fr); margin-bottom: var(--sp-6); }
@media (min-width: 900px) { .pending-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.pending { background: rgb(var(--surface)); border: 1px solid rgb(var(--border)); border-radius: var(--r-lg); display: flex; flex-direction: column; min-width: 0; }
.pending-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-4) var(--sp-5) var(--sp-3); }
.pending-title { font-size: var(--text-base); font-weight: 600; }
.pending-count { font-size: var(--text-2xl); font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1; }
.pending-list { list-style: none; margin: 0; padding: 0 var(--sp-5) var(--sp-2); display: grid; flex: 1; align-content: start; }
.pending-list li { display: flex; align-items: baseline; justify-content: space-between; gap: var(--sp-3); padding: var(--sp-2) 0; border-top: 1px solid rgb(var(--border)); font-size: var(--text-sm); }
.pending-list a { color: rgb(var(--text)); font-weight: 500; min-width: 0; }
.pending-list .muted { white-space: nowrap; font-variant-numeric: tabular-nums; }
.pending-foot { padding: var(--sp-2) var(--sp-5) var(--sp-4); font-size: var(--text-sm); }
.pending-ok { padding: 0 var(--sp-5) var(--sp-5); color: rgb(var(--text-2)); font-size: var(--text-sm); display: flex; gap: var(--sp-2); align-items: center; }
.pending-ok .icon { color: rgb(var(--ok)); }
.section-title { font-size: var(--text-lg); margin-bottom: var(--sp-3); display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); }

/* Relatórios impressos */
.print-only { display: none; }
.report-sheet { display: grid; gap: var(--sp-6); }
.report-sheet h2 { font-size: var(--text-lg); margin-bottom: var(--sp-3); }
.report-notes { font-size: var(--text-sm); color: rgb(var(--text-2)); display: grid; gap: var(--sp-1); padding-left: 1.1rem; }
@media print {
  .print-only { display: block; }
  .print-head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 2px solid #000; padding-bottom: 6pt; margin-bottom: 10pt; }
  .report-sheet { gap: 12pt; }
  .stats { break-inside: avoid; }
  .badge { border: 1px solid #000; background: #fff; color: #000; }
  .table th { background: #eee; color: #000; }
}

/* Formulário de lote: resumo da alocação */
.alloc-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); background: rgb(var(--surface-2)); border: 1px solid rgb(var(--border)); border-radius: var(--r-md); }
.alloc-summary dt { font-size: var(--text-xs); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: rgb(var(--text-3)); }
.alloc-summary dd { margin: 0; font-size: var(--text-xl); font-weight: 600; font-variant-numeric: tabular-nums; }
.alloc-row-info { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-1) var(--sp-3); margin-top: var(--sp-1); font-size: var(--text-sm); color: rgb(var(--text-3)); }
.is-over { color: rgb(var(--danger-ink)) !important; font-weight: 600; }
@media (min-width: 900px) { .formset-row.is-aloc { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) auto; } }

/* Consumo: tabela de tratos editável */
.trato-table { width: 100%; border-collapse: separate; border-spacing: 0; }
.trato-table th { text-align: left; padding: .5rem var(--sp-2); font-size: var(--text-xs); font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: rgb(var(--text-2)); }
.trato-table td { padding: var(--sp-1) var(--sp-2); vertical-align: middle; }
.trato-table .col-num { width: 3.5rem; font-variant-numeric: tabular-nums; font-weight: 600; }
.trato-table .col-qtd { width: 9.5rem; }
.trato-table tfoot td { padding-top: var(--sp-3); border-top: 1px solid rgb(var(--border)); }
.trato-total { font-size: var(--text-xl); font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
@media (max-width: 639.98px) { .trato-table .col-qtd { width: 6.5rem; } .trato-table th, .trato-table td { padding-left: var(--sp-1); padding-right: var(--sp-1); } }

/* Páginas de erro */
.error-page { display: grid; justify-items: start; gap: var(--sp-4); padding: var(--sp-8) 0; max-width: 34rem; }
.error-code { font-family: var(--font-mono); font-size: 4.5rem; font-weight: 500; line-height: 1; letter-spacing: -.04em; color: rgb(var(--text-3)); }
.error-page h1 { font-size: var(--text-2xl); }
.error-page p { color: rgb(var(--text-2)); }
.error-ref { font-family: var(--font-mono); font-size: var(--text-xs); color: rgb(var(--text-3)); }
.standalone { min-height: 100vh; min-height: 100dvh; display: grid; place-items: center; padding: var(--sp-6) var(--sp-4); }
