/* Estoque > Compras: compras de produtos e de serviços, situações, campos extras e configurações.
   Reaproveita as classes stock-* (estoque.css), situations-* (situacoes.css) e fincfg-/salescfg-*.
   Aqui só o que é próprio das compras (prefixo pur-). */

.pur-page { display: grid; gap: 14px; }

/* Estado "Nenhuma compra no mês": ícone de calendário, texto cinza e dois botões. */
.pur-month-empty { padding: 30px 26px 26px; }
.pur-month-empty .stock-empty-icon { width: 56px; height: 56px; }
.pur-month-empty .stock-empty-icon .stock-icon { width: 24px; height: 24px; }
.pur-month-empty h2 { margin-top: 6px; font-size: 16px; }
.pur-month-empty p { font-size: 12px; }
.pur-month-empty .stock-empty-actions { margin: 6px 0 0; }
.pur-month-empty .stock-empty-actions .button { height: 30px; min-height: 30px; padding: 0 12px; font-size: 13px; }

/* Tabela da lista */
.pur-table th.pur-num,
.pur-table td.pur-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.pur-table td.pur-actions { white-space: nowrap; }
.pur-table tr.pur-canceled td { color: #8a9097; }
.pur-table .situation-pill { white-space: nowrap; }

/* Detalhes */
.pur-dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px 18px; margin: 0; }
.pur-dl > div { display: grid; gap: 2px; }
.pur-dl dt { color: #6e757c; font-size: 12px; }
.pur-dl dd { margin: 0; color: #1c262e; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
.pur-situation-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pur-situation-bar select { min-width: 220px; }

/* Formulário de nova compra */
.pur-lines { display: grid; gap: 8px; }
.pur-line { display: grid; grid-template-columns: minmax(180px, 1fr) 110px 140px 130px 92px; gap: 8px; align-items: center; }
.pur-line select,
.pur-line input { width: 100%; min-width: 0; }
.pur-line-head { margin-bottom: 4px; color: #6e757c; font-size: 12px; font-weight: 600; }
.pur-line-total { color: #1c262e; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.pur-line-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.pur-total { margin: 0; color: #1c262e; font-size: 15px; }
.pur-total-value { font-weight: 700; font-variant-numeric: tabular-nums; }
.pur-installments-wrap { display: flex; align-items: flex-end; }
.pur-installments { margin: 0; color: #6e757c; font-size: 12px; line-height: 1.5; }

@media (max-width: 760px) {
  .pur-line { grid-template-columns: 1fr 1fr; }
  .pur-line > :first-child { grid-column: 1 / -1; }
  .pur-line-head { display: none; }
}

/* Botão Adicionar escuro e rodapé "Registros | N no total" das telas de compras (situações, campos extras, modelos de e-mails) */
.pur-situations-page .situations-add,
.pur-attributes-page .fincfg-add { background: #0f1921; border-color: #0f1921; color: #fff; }
.pur-situations-page .situations-add:hover,
.pur-attributes-page .fincfg-add:hover { background: #26333d; border-color: #26333d; }
.pur-count {
  display: inline-flex; align-items: stretch; width: fit-content; margin: 0;
  border: 1px solid #dfe2e6; border-radius: 4px; background: #fff; color: #6e757c; font-size: 12px;
}
.pur-count-label { padding: 6px 8px; background: #f7f7f7; border-right: 1px solid #dfe2e6; font-weight: 600; }
.pur-count-total { display: inline-flex; align-items: center; gap: 4px; padding: 6px 8px; }
.pur-count-total strong { color: #222529; font-weight: 700; }
.qt-info-link { cursor: pointer; }

/* ======================================================================================================
   Leva 3 (14/10/2026), grupo estoque e compras: medidas lidas de cada par de imagens (original e app, 1440x900).
   Fica aqui, no fim, porque compras.css é o último arquivo de telas carregado; tudo preso às classes do grupo
   (stock-*, pur-*, qt-*) para não vazar para outras telas.
   ====================================================================================================== */

/* Cabeçalho um pouco mais alto nas três telas cujo ícone do título é mais alto no original (Compras, Compras de serviços, Cotações). */
.topbar:has(#page-title[data-route='purchases'][data-mode='list']),
.topbar:has(#page-title[data-route='purchases-services'][data-mode='list']),
.topbar:has(#page-title[data-route='quotations'][data-mode='list']) { min-height: 58px; padding-top: 18px; }

/* Barra de ferramentas: botões de 15px; aviso amarelo como o da captura (14px, 47px de altura, sem borda). */
.stock-list .stock-toolbar .button { font-size: 15px; }
.stock-list > .stock-toolbar + .stock-empty { margin-top: 1px; }
.pur-page > .stock-toolbar + .stock-empty { margin-top: 3px; }
.stock-alert { min-height: 47px; padding: 11px 30px; border: 0; background: #fff3cd; color: #664d03; font-size: 14px; line-height: 21px; }
.stock-alert strong, .stock-alert-link { color: #1c1c1c; }
.stock-alert-close { color: #9a9a9a; }

/* Estado vazio: círculo de 96px, título de 24px, texto de 15px, cartões de 96px (medidas de Ajustes, Transferências e Cotações). */
.stock-empty { gap: 0; padding: 47px 34px 24px; }
.stock-empty-icon { width: 96px; height: 96px; }
.stock-empty-icon .stock-icon { width: 38px; height: 38px; }
.stock-empty h2 { margin: 19px 0 0; font-size: 24px; line-height: 29px; font-weight: 600; }
.stock-empty p { max-width: 520px; margin: 8px 0 0; font-size: 15.2px; line-height: 22px; }
.stock-empty-actions { gap: 8px; margin: 22px 0 0; }
.stock-empty-actions .button.secondary:disabled { border-color: #0f1921; background: #fff; color: #0f1921; opacity: 1; }
.stock-empty p.stock-empty-lead { margin: 28px 0 0; font-size: 11px; line-height: 16.5px; }
.stock-empty-cards { gap: 13px; margin-top: 28px; }
.stock-empty p.stock-empty-lead + .stock-empty-cards { margin-top: 8px; }
.stock-empty-cards.stock-cols-4 { gap: 12px; }
.stock-empty-card { gap: 13px; padding: 14px 16px 13px; }
.stock-cols-4 .stock-empty-card { padding-bottom: 16px; }
.stock-empty-card strong { font-size: 15px; line-height: 22px; font-weight: 600; }
.stock-cols-4 .stock-empty-card strong { font-weight: 500; line-height: 23px; }
.stock-empty-card small { margin-top: 3px; font-size: 11px; line-height: 21px; }
.stock-empty-card-icon { width: 36px; height: 36px; }
.stock-empty-period { padding-top: 36px; }
.stock-empty-period h2 { margin-top: 0; }

/* Mês sem compra (captura de Compras): círculo de 72px, título de 20px, botões de 37px. */
.stock-empty.pur-month-empty { padding: 39px 26px 32px; }
.stock-empty.pur-month-empty .stock-empty-icon { width: 72px; height: 72px; }
.stock-empty.pur-month-empty .stock-empty-icon .stock-icon { width: 30px; height: 30px; }
.stock-empty.pur-month-empty h2 { margin: 16px 0 0; font-size: 20px; line-height: 24px; }
.stock-empty.pur-month-empty p { margin: 6px 0 0; font-size: 14px; line-height: 21px; }
.stock-empty.pur-month-empty .stock-empty-actions { margin: 16px 0 0; }
.stock-empty.pur-month-empty .stock-empty-actions .button { height: 37px; min-height: 37px; padding: 6px 12px; font-size: 16px; }

/* Formulários de ajuste e transferência: cartões de 20px de respiro, título leve de 20px, rótulos de 14px, campos de 38px. */
.stock-form-page, .stock-form { gap: 16px; }
.stock-form-card-head { padding: 10px 20px 14px; background: #f7f7f7; }
.stock-form-card-head h2 { display: block; font-size: 20px; font-weight: 300; line-height: 26px; }
.stock-form-card-head h2 strong { font-weight: 600; }
.stock-form-card-head h2 .stock-icon { display: inline-block; width: 18px; height: 18px; margin-right: 4px; vertical-align: -2px; }
.stock-form-card-head p { margin: 6px 0 0; font-size: 11px; line-height: 16.5px; }
.stock-form-card-body { padding: 20px; }
.stock-form-grid { gap: 10px; }
.stock-form-field { gap: 1px; color: #555; font-size: 14px; }
.stock-form-field small { margin-top: 3px; color: #6e757c; font-size: 11px; line-height: 16.5px; }
.stock-form select, .stock-form input[type='text'], .stock-form input[type='number'] { height: 38px; min-height: 38px; font-size: 16px; }
.stock-form textarea { display: block; min-height: 110px; font-size: 16px; }
.stock-form-wide:not(:has(> :not([hidden]):not(:empty))) { display: none; }
.stock-form select {
  appearance: none; -webkit-appearance: none; padding-right: 32px;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12'><path d='M4 0l3.5 4.5h-7zM4 12l-3.5-4.5h7z' fill='%23222'/></svg>") no-repeat right 12px center / 8px 12px;
}
.stock-form select:disabled { background-image: none; }
.stock-money-prefix { padding: 0 13px; background: #fff; color: #555; font-size: 14px; }
.stock-money input:disabled { background: #e9ecef; }
.stock-form-actions .button.secondary { border-color: #d9d9d9; background: #f4f4f4; color: #222529; }

/* Situações de compras, Campos extras e Modelos de e-mails: aviso de 67px (texto de 14px), busca de 370x38, tabela de 14px com divisórias. */
.pur-situations-page .situations-toolbar, .pur-attributes-page .fincfg-toolbar { align-items: flex-start; }
.pur-situations-page .situations-add, .pur-attributes-page .fincfg-add { height: 38px; min-height: 38px; gap: 5px; font-size: 15px; }
.pur-situations-page .situations-search { flex: 0 0 370px; width: 370px; }
.pur-situations-page .situations-search input, .pur-attributes-page .fincfg-search input { height: 38px; min-height: 38px; font-size: 16px; }
.pur-situations-page .situations-search-button, .pur-attributes-page .fincfg-search-button { width: 41px; height: 38px; min-height: 38px; }
.pur-situations-page .situations-info, .pur-attributes-page .fincfg-info { align-items: center; margin-top: 7px; padding: 11.5px 20px 11.5px 30px; }
.pur-situations-page .situations-info-icon, .pur-attributes-page .fincfg-info-icon { margin-top: 0; }
.pur-situations-page .situations-info strong, .pur-attributes-page .fincfg-info strong { font-size: 14px; line-height: 21px; }
.pur-situations-page .situations-info p, .pur-attributes-page .fincfg-info p { margin: 0; font-size: 14px; line-height: 21px; }
.pur-situations-page .situations-info-more, .pur-attributes-page .fincfg-info-more { font-size: 14px; }

.pur-situations-table th, .pur-situations-table td { padding: 0 12px; border-right: 1px solid #dfe2e6; font-size: 14px; }
.pur-situations-table th { background: #fff; font-size: 14px; }
.pur-situations-table th:last-child, .pur-situations-table td:last-child { border-right: 0; }
.pur-situations-table .situation-pill, .pur-situations-table .situation-flag { padding: 1px 6px; font-size: 11px; font-weight: 600; line-height: 16px; }
.pur-situations-table .situation-default { padding: 1px 6px; font-size: 11px; }
.pur-situations-table .situation-action { width: 28px; height: 28px; }
.pur-situations-table td.situation-name .situation-handle { margin-right: 0; }
.pur-situations-table td.situation-name .situation-name-text { margin-right: 0; }
.pur-attributes-page .fincfg-info + .stock-empty { margin-top: 1px; }

.qt-page .qt-info { min-height: 67px; margin-top: 16px; padding: 11.5px 20px 11.5px 30px; gap: 16px; }
.qt-page .qt-info-icon { width: 32px; height: 32px; }
.qt-page .qt-info-icon .stock-icon { width: 15px; height: 15px; }
.qt-page .qt-info strong { font-size: 14px; line-height: 21px; }
.qt-page .qt-info p { font-size: 14px; line-height: 21px; }
.qt-page .qt-info .stock-alert-close { top: 50%; right: 20px; transform: translateY(-50%); color: #555; }
.qt-templates th, .qt-templates td { padding: 0 12px; border-right: 1px solid #dfe2e6; font-size: 14px; }
.qt-templates th { height: 46px; background: #fff; font-weight: 600; }
.qt-templates td { height: 53px; padding-top: 11px; vertical-align: top; }
.qt-templates th:last-child, .qt-templates td:last-child { width: 100px; border-right: 0; text-align: center; }
.qt-templates tbody tr:nth-child(even) { background: #f7f7f7; }
.qt-templates .qt-row-actions { justify-content: center; }
.qt-templates .qt-icon-button { min-width: 28px; width: 28px; min-height: 28px; height: 28px; padding: 0; border-color: #dfe2e6; background: #f8f9fa; }

.pur-count { font-size: 13px; }
.pur-count-label { padding: 6px 10px; }
.pur-count-total { padding: 6px 11px; }

/* Configurações gerais de compras (tela compartilhada, medida na captura estoque-compras-configuracoes-gerais):
   painel a 496 px, abas de 52/65 px com 5 px entre elas, seções de 20 px de respiro, linhas de 75 px,
   campos de 38 px com setas de ordenação. Preso à rota para não mudar a tela de vendas nem a do financeiro. */
#view-root[data-view='purchase-settings'] .fincfg-settings { gap: 31px; }
#view-root[data-view='purchase-settings'] .fincfg-settings-side { gap: 13px; }
#view-root[data-view='purchase-settings'] .fincfg-settings-search { gap: 0; line-height: 19px; }
#view-root[data-view='purchase-settings'] .fincfg-settings-search-box { height: 42px; padding: 0 12px; }
#view-root[data-view='purchase-settings'] .fincfg-settings-search-box input { height: 40px; min-height: 0; padding: 0; font-size: 15px; text-overflow: clip; }
#view-root[data-view='purchase-settings'] .fincfg-tabs { gap: 5px; }
#view-root[data-view='purchase-settings'] .fincfg-tab { min-height: 52px; padding: 8px 12px 8px 16px; gap: 15px; }
#view-root[data-view='purchase-settings'] .fincfg-tab .fincfg-icon { width: 21px; height: 21px; }
#view-root[data-view='purchase-settings'] .fincfg-tab strong { font-size: 14px; }
#view-root[data-view='purchase-settings'] .fincfg-settings-panel, #view-root[data-view='purchase-settings'] .fincfg-settings-form { gap: 16px; }
#view-root[data-view='purchase-settings'] .fincfg-section-head { display: block; min-height: 0; padding: 10px 20px 14px; }
#view-root[data-view='purchase-settings'] .fincfg-section-head h2 { gap: 6px; font-size: 20px; line-height: 26px; }
#view-root[data-view='purchase-settings'] .fincfg-section-head h2 strong { font-weight: 600; }
#view-root[data-view='purchase-settings'] .fincfg-section-head .fincfg-icon { width: 18px; height: 18px; }
#view-root[data-view='purchase-settings'] .fincfg-section-head p { margin: 6px 0 0; line-height: 16.5px; }
#view-root[data-view='purchase-settings'] .fincfg-rows { padding: 3px 20px 4px; }
#view-root[data-view='purchase-settings'] .fincfg-row { min-height: 75px; box-sizing: border-box; gap: 16px; padding: 8px 0; }
#view-root[data-view='purchase-settings'] .fincfg-row-icon .fincfg-icon { width: 24px; height: 24px; }
#view-root[data-view='purchase-settings'] .fincfg-row-text { gap: 4px; }
#view-root[data-view='purchase-settings'] .fincfg-row-text strong { font-size: 14px; font-weight: 600; }
#view-root[data-view='purchase-settings'] .fincfg-select {
  width: 220px; height: 38px; min-height: 38px; padding: 0 32px 0 12px; font-size: 16px;
  appearance: none; -webkit-appearance: none;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12'><path d='M4 0l3.5 4.5h-7zM4 12l-3.5-4.5h7z' fill='%23222'/></svg>") no-repeat right 12px center / 8px 12px;
}
#view-root[data-view='purchase-settings'] .fincfg-select-wide { width: 260px; }
#view-root[data-view='purchase-settings'] .fincfg-switch { width: 36px; height: 20px; }
#view-root[data-view='purchase-settings'] .fincfg-switch-track { border-radius: 10px; }
