/*
 * Paula Vicente — Polimento fino premium
 * 20/08/2026 — camada carregada por último para padronizar todos os módulos.
 */
:root{
  --pv-final-navy:#0b1f3a;
  --pv-final-blue:#2864e8;
  --pv-final-text:#10213c;
  --pv-final-muted:#64748b;
  --pv-final-border:#d8e3ef;
  --pv-final-bg:#f4f7fb;
  --pv-final-card:#fff;
  --pv-final-radius:18px;
  --pv-final-shadow:0 12px 30px rgba(15,35,65,.065);
}

/* Base e ritmo visual */
body.app-body{background:var(--pv-final-bg)!important;color:var(--pv-final-text)}
.layout .content,.point-content,.finance-main{min-width:0}
.layout .content{padding-top:22px}
.page-head,.premium-page-head,.fin-company-header{box-shadow:var(--pv-final-shadow)}
.page-head h1,.premium-page-head h1,.fin-company-header h1{letter-spacing:-.035em!important}
.page-head p,.premium-page-head p,.fin-company-header p{max-width:900px;line-height:1.5!important}
.panel,.interactive-card,.premium-card,.fin-table-card{border-color:var(--pv-final-border)!important}

/* Cabeçalhos do Ponto: menos altura vazia e mais proporção */
.point-layout .page-head.standard-head,
.point-layout .premium-page-head{
  min-height:0!important;
  padding:28px 34px!important;
  border-radius:22px!important;
  margin-bottom:18px!important;
}
.point-layout .page-head.standard-head h1,
.point-layout .premium-page-head h1{
  font-size:clamp(2rem,2.3vw,2.65rem)!important;
  line-height:1.06!important;
  margin:7px 0 8px!important;
}
.point-layout .page-head.standard-head p,
.point-layout .premium-page-head p{font-size:1rem!important;margin:0!important}
.point-layout .eyebrow{font-size:.78rem!important;letter-spacing:.12em!important}

/* Métricas: cartões com altura coerente e sem conteúdo perdido */
.point-layout .metric-strip,.point-layout .premium-metrics{gap:14px!important;margin:16px 0 20px!important}
.point-layout .metric-strip>a,.point-layout .premium-metrics>a,
.point-layout .metric-strip>article,.point-layout .premium-metrics>article{
  min-height:132px!important;padding:20px 24px!important;border-radius:20px!important;
}
.point-layout .metric-strip strong,.point-layout .premium-metrics strong{font-size:2.25rem!important}

/* Painéis/tabelas: densidade executiva, sem esmagar textos */
.point-layout .enterprise-table-panel,.point-layout .premium-table-panel{
  border-radius:22px!important;padding:18px!important;overflow:hidden;
}
.point-layout .compact-title-row{gap:18px!important;align-items:flex-start!important}
.point-layout .compact-title-row h2{font-size:1.55rem!important;line-height:1.15!important}
.point-layout .table-tools{display:flex!important;flex-wrap:wrap!important;gap:9px!important;justify-content:flex-end!important;align-items:center!important}
.point-layout .table-search{min-width:260px!important;max-width:360px!important}
.point-layout .enterprise-table{table-layout:auto!important;width:100%!important}
.point-layout .enterprise-table th{white-space:nowrap!important;word-break:normal!important}
.point-layout .enterprise-table td{word-break:normal!important;overflow-wrap:break-word!important;vertical-align:top!important}
.point-layout .actions-cell{min-width:126px!important}
.point-layout .actions-cell .mini-btn,.point-layout .actions-cell form{margin:0 6px 6px 0!important}

/* Obras: formulário proporcional e raio com unidade visual estável */
.point-layout .premium-create-form,.point-layout .enterprise-create-form{
  display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(360px,1.55fr) 190px 180px!important;
  gap:12px!important;align-items:center!important;padding:16px 18px!important;border-radius:20px!important;
}
.point-layout .premium-create-form input,.point-layout .premium-create-form button{width:100%!important;margin:0!important}

/* Contas a pagar/receber: elimina o 5 + 1 e organiza a leitura */
.fin-company-page .fin-titles-kpis{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
.fin-company-page .fin-titles-kpis article{min-height:102px!important;padding:20px!important}
.fin-scope-note{display:flex!important;align-items:flex-start!important;gap:16px!important;padding:14px 18px!important}
.fin-scope-note strong{white-space:nowrap!important}
.fin-filters{align-items:end!important}
.fin-filters input,.fin-filters select,.fin-filters button{min-width:0!important}

/* Arquivos: substitui o visual nativo apertado por um campo mais limpo */
input[type=file]{
  width:100%!important;min-height:48px!important;padding:5px 7px!important;
  border:1px solid #cfdbea!important;border-radius:12px!important;background:#fff!important;
  color:#52637a!important;font-size:.9rem!important;overflow:hidden;
}
input[type=file]::file-selector-button{
  min-height:36px;border:0;border-radius:9px;padding:0 14px;margin-right:10px;
  background:#edf3fb;color:#17345f;font-family:inherit;font-weight:800;cursor:pointer;
}
input[type=file]::file-selector-button:hover{background:#e1ebf8}

/* Importação de orçamento: espaço suficiente para select, arquivo e ação */
.price-import-card{align-items:end!important;gap:24px!important}
.price-import-form{
  display:grid!important;grid-template-columns:minmax(230px,1.15fr) minmax(270px,1.3fr) 170px!important;
  gap:14px!important;align-items:end!important;min-width:min(100%,700px)!important;
}
.price-import-form label{min-width:0!important}
.price-import-form select,.price-import-form input,.price-import-form button{width:100%!important}
.price-import-form .btn{white-space:nowrap!important}
.price-rule-form .form-grid-4{column-gap:16px!important;row-gap:14px!important}

/* Aprovações: melhora leitura dos filtros e das decisões */
.approval-filter-panel,.approval-queue-panel{border-radius:22px!important}
.approval-card,.approval-review-card{border-radius:20px!important}
.approval-card textarea,.approval-review-card textarea{min-height:118px!important;resize:vertical}

/* Conferência mensal: cards de resumo legíveis e datas BR */
.closure-period-panel{gap:12px!important;padding:16px 20px!important;border-radius:20px!important}
.selected-period-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
.selected-period-grid .period-summary-card{min-height:136px!important;padding:20px!important}
.selected-period-grid .period-summary-card strong{font-size:1.35rem!important;line-height:1.25!important;overflow-wrap:anywhere}
.closure-workflow-grid{gap:18px!important;align-items:stretch!important}
.closure-kpi-grid{gap:14px!important}
.closure-kpi-grid>a,.closure-kpi-grid>article{
  min-height:140px!important;padding:20px!important;justify-content:center!important;
  border-radius:20px!important;overflow:hidden!important;
}
.closure-kpi-grid span{font-size:.74rem!important;line-height:1.25!important}
.closure-kpi-grid strong{font-size:2rem!important;line-height:1.05!important;margin:8px 0!important}
.closure-kpi-grid small{line-height:1.35!important}

/* Folha: formulário de documento e indicadores sem sobreposição */
.payroll-doc-grid{grid-template-columns:minmax(500px,.9fr) minmax(520px,1.1fr)!important;gap:18px!important}
.compact-doc-form-grid{
  display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(190px,.75fr)!important;
  gap:12px!important;
}
.compact-doc-form-grid>label:nth-child(3),.compact-doc-form-grid>label.wide-3{grid-column:1/-1!important}
.compact-doc-form-grid textarea{width:100%!important;min-height:86px!important;resize:vertical!important}
.payroll-doc-form>.btn{margin-top:12px!important;min-width:230px}
.empty-doc-state{min-height:90px;display:grid;place-items:center;padding:24px!important}
.payroll-flow-grid{gap:14px!important}
.payroll-step-card{min-height:102px!important;padding:16px 18px!important;align-items:center!important}
.payroll-step-card strong{font-size:1rem!important;line-height:1.2!important}
.payroll-step-card small{font-size:.82rem!important;line-height:1.35!important}
.payroll-summary-grid{gap:14px!important}
.payroll-summary-grid>a,.payroll-summary-grid>article{
  min-height:126px!important;padding:20px!important;justify-content:center!important;
  border-radius:20px!important;overflow:hidden!important;
}
.payroll-summary-grid span{position:static!important;display:block!important;line-height:1.2!important;margin:0 0 8px!important}
.payroll-summary-grid strong{font-size:2rem!important;line-height:1!important;margin:0 0 7px!important}
.payroll-summary-grid small{display:block!important;line-height:1.35!important;margin:0!important}
.payroll-main-grid{gap:18px!important}

/* Botões e campos: tamanho uniforme */
.point-layout .btn,.point-layout .mini-btn,.finance-main .btn-primary,.finance-main .btn-secondary,.finance-main .btn-ghost{
  white-space:nowrap!important;line-height:1.2!important;
}
.point-layout input:not([type=checkbox]):not([type=radio]),.point-layout select,.point-layout textarea{font-family:inherit!important}

/* Desktop intermediário */
@media(max-width:1250px){
  .point-layout .premium-create-form,.point-layout .enterprise-create-form{grid-template-columns:1fr 1.4fr 160px!important}
  .point-layout .premium-create-form button{grid-column:1/-1!important}
  .fin-company-page .fin-titles-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .payroll-doc-grid{grid-template-columns:1fr!important}
  .price-import-card{align-items:stretch!important}
  .price-import-form{min-width:0!important;width:100%!important}
}

@media(max-width:900px){
  .point-layout .page-head.standard-head,.point-layout .premium-page-head{padding:22px!important}
  .point-layout .compact-title-row{display:block!important}
  .point-layout .table-tools{justify-content:flex-start!important;margin-top:14px!important}
  .point-layout .table-search{width:100%!important;max-width:none!important}
  .point-layout .premium-create-form,.point-layout .enterprise-create-form{grid-template-columns:1fr!important}
  .point-layout .premium-create-form button{grid-column:auto!important}
  .price-import-form{grid-template-columns:1fr!important}
  .selected-period-grid{grid-template-columns:1fr!important}
  .compact-doc-form-grid{grid-template-columns:1fr!important}
  .compact-doc-form-grid>label:nth-child(3),.compact-doc-form-grid>label.wide-3{grid-column:auto!important}
  .fin-company-page .fin-titles-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:560px){
  .fin-company-page .fin-titles-kpis{grid-template-columns:1fr!important}
  .fin-scope-note{display:block!important}
  .fin-scope-note strong{display:block;margin-bottom:6px}
  .point-layout .metric-strip,.point-layout .premium-metrics{grid-template-columns:1fr!important}
  .point-layout .page-head.standard-head h1,.point-layout .premium-page-head h1{font-size:1.8rem!important}
  .point-layout .enterprise-table-panel,.point-layout .premium-table-panel{padding:12px!important}
  .payroll-doc-form>.btn{width:100%!important;min-width:0!important}
}


/* 2026-08-20 — polimento importação orçamento v2 */
.price-import-card{
  grid-template-columns:minmax(0,1fr) minmax(430px,560px)!important;
  align-items:stretch!important;
  column-gap:30px!important;
}
.price-import-copy{min-width:0!important}
.price-import-form{
  min-width:0!important;
  width:100%!important;
  align-self:end!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  padding:16px!important;
  border:1px solid rgba(148,163,184,.24)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.72)!important;
}
.price-import-form label{
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
  font-size:.78rem!important;
  line-height:1.25!important;
}
.price-import-form select{
  width:100%!important;
  min-width:0!important;
  height:48px!important;
  padding:0 42px 0 14px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:.92rem!important;
}
.price-import-file-field{min-width:0!important}
.premium-file-picker{
  position:relative!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  padding:5px!important;
  border:1px solid #cfdbea!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.premium-file-input{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer!important;
  z-index:2!important;
}
.premium-file-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:0 14px!important;
  border-radius:9px!important;
  background:#edf3fb!important;
  color:#17345f!important;
  font-size:.86rem!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.premium-file-name{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#64748b!important;
  font-size:.86rem!important;
  font-weight:700!important;
}
.price-import-submit{
  width:100%!important;
  min-height:48px!important;
  margin:0!important;
  white-space:nowrap!important;
}
@media(max-width:1180px){
  .price-import-card{grid-template-columns:1fr!important;row-gap:20px!important}
  .price-import-form{max-width:none!important}
}
@media(max-width:560px){
  .price-import-card{padding:14px!important}
  .price-import-form{padding:12px!important}
  .premium-file-picker{grid-template-columns:1fr!important;gap:4px!important}
  .premium-file-button{width:100%!important}
  .premium-file-name{text-align:center!important;padding:3px 8px 5px!important}
}
