/* PROENÇA 3.11.0 — camada estrutural sem paleta legada. Cores controladas pelo Design System 3.11.0. */
/* Portal Proença&Ferraz 2.3.0 — painéis profissionais, ferramental e orçamento. */
.pfo-workflow,
.pfo-profession-dashboard {
  width:min(100%, 1800px);
  max-width:none;
  margin:0 auto;
  padding:clamp(16px, 2vw, 34px);
  
}
.pfo-workflow *, .pfo-profession-dashboard * { box-sizing:border-box; }
.pfo-workflow__hero,
.pfo-profession-dashboard__hero {
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(260px, 390px);
  gap:28px;
  align-items:center;
  padding:clamp(24px, 4vw, 54px);
  
  border-radius:26px;
  
  
}
.pfo-workflow__hero h1,
.pfo-profession-dashboard__hero h1 { margin:6px 0 12px; font-size:clamp(30px, 4vw, 58px); line-height:1.05;  }
.pfo-workflow__hero p,
.pfo-profession-dashboard__hero p { margin:0; max-width:1000px;  font-size:17px; line-height:1.7; }
.pfo-workflow__hero aside,
.pfo-profession-dashboard__hero aside { display:grid; gap:8px; padding:20px; border-radius:18px;   }
.pfo-workflow__hero aside strong,
.pfo-profession-dashboard__hero aside strong { font-size:18px;  }
.pfo-workflow__hero aside span,
.pfo-profession-dashboard__hero aside span {  line-height:1.55; }
.pfo-workflow__eyebrow { display:inline-block;  font-weight:800; letter-spacing:.12em; font-size:12px; }
.pfo-workflow__panel,
.pfo-profession-dashboard__panel { margin-top:24px; padding:clamp(20px, 3vw, 34px);  border-radius:22px;   }
.pfo-workflow__panel > header,
.pfo-profession-dashboard__panel > header { margin-bottom:22px; }
.pfo-workflow__panel h2,
.pfo-profession-dashboard__panel h2 { margin:4px 0 8px;  font-size:clamp(24px, 2.3vw, 34px); }

.pfo-workflow__panel header p { margin:0;  }
.pfo-workflow__form { display:grid; gap:22px; }
.pfo-workflow__form-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; }
.pfo-workflow__form label { display:grid; gap:8px;  font-weight:700; }

.pfo-workflow__form input,
.pfo-workflow__form select,
.pfo-workflow__form textarea { width:100%; min-height:48px; padding:12px 14px;  border-radius:11px;   font:inherit; }
.pfo-workflow__form textarea { min-height:130px; resize:vertical; }

.pfo-workflow__actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.pfo-button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; padding:11px 18px;  border-radius:11px;   font-weight:800; text-decoration:none!important; cursor:pointer; }
.pfo-button:hover { filter:brightness(1.12); transform:translateY(-1px); }

.pfo-workflow__notice { display:flex; justify-content:space-between; gap:18px; align-items:center; margin-top:20px; padding:18px 20px; border-radius:16px; }
.pfo-workflow__notice div:first-child { display:grid; gap:4px; }


.pfo-workflow-locked { width:min(100% - 32px, 1100px); margin:32px auto; padding:28px;  border-radius:18px;   }
.pfo-workflow__table-wrap { width:100%; overflow-x:auto; border-radius:14px;  }
.pfo-workflow__table { width:100%; min-width:850px; border-collapse:collapse; }
.pfo-workflow__table th,
.pfo-workflow__table td { padding:13px 14px;  text-align:left; vertical-align:top; }
.pfo-workflow__table th {   font-size:13px; text-transform:uppercase; letter-spacing:.04em; }

.pfo-workflow__table a {  font-weight:800; }

/* Painel por profissão. */
.pfo-profession-dashboard__metrics,
.pfo-profession-dashboard__grid { display:grid; gap:18px; grid-template-columns:repeat(3, minmax(0, 1fr)); margin-top:22px; }
.pfo-profession-dashboard__card { padding:22px;  border-radius:18px;   }
.pfo-profession-dashboard__card h2,
.pfo-profession-dashboard__card h3 { margin:0 0 10px;  }
.pfo-profession-dashboard__card p,
.pfo-profession-dashboard__card li {  line-height:1.6; }
.pfo-profession-dashboard__card ul { margin:0; padding-left:20px; }
.pfo-profession-dashboard__modules { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; }
.pfo-profession-dashboard__module { display:grid; gap:8px; min-height:145px; padding:20px;  border-radius:17px;  text-decoration:none!important; }
.pfo-profession-dashboard__module strong {  font-size:18px; }
.pfo-profession-dashboard__module span {  line-height:1.5; }

/* Composição e histograma do orçamento. */
.pfo-budget-team,
.pfo-budget-histogram,
.pfo-budget-photos { padding:22px;  border-radius:18px;  }
.pfo-budget-team__header,
.pfo-budget-histogram > header,
.pfo-budget-photos > header { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:16px; }
.pfo-budget-team__header h3,
.pfo-budget-histogram h3,
.pfo-budget-photos h3 { margin:4px 0 0; }
.pfo-budget-team__rows { display:grid; gap:12px; }
.pfo-budget-team__row { display:grid; grid-template-columns:minmax(260px, 2fr) repeat(4, minmax(120px, 1fr)) 44px; gap:12px; align-items:end; padding:14px; border-radius:14px;  }
.pfo-budget-team__remove { width:42px; height:48px;  border-radius:10px;   font-size:26px; cursor:pointer; }
.pfo-budget-histogram__summary { margin-bottom:16px; padding:14px 16px; border-radius:12px;   font-weight:800; }
.pfo-budget-upload { padding:22px;  border-radius:14px;  }
.pfo-budget-upload span {  font-weight:400; }
.pfo-budget-upload input { margin-top:8px; }

@media (max-width: 1100px){
  .pfo-workflow__hero,
  .pfo-profession-dashboard__hero { grid-template-columns:1fr; }
  .pfo-profession-dashboard__metrics,
  .pfo-profession-dashboard__grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .pfo-profession-dashboard__modules { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .pfo-budget-team__row { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .pfo-budget-team__remove { width:100%; }
}
@media (max-width: 680px){
  .pfo-workflow,
  .pfo-profession-dashboard { padding:12px; }
  .pfo-workflow__form-grid,
  .pfo-profession-dashboard__metrics,
  .pfo-profession-dashboard__grid,
  .pfo-profession-dashboard__modules,
  .pfo-budget-team__row { grid-template-columns:1fr; }
  .pfo-workflow__notice,
  .pfo-budget-team__header,
  .pfo-budget-histogram > header,
  .pfo-budget-photos > header { align-items:stretch; flex-direction:column; }
}

/* Elementos internos do painel profissional. */
.pfo-workflow__identity { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.pfo-workflow__identity span { padding:8px 11px; border-radius:999px;   font-size:13px; }
.pfo-workflow__metrics { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; margin-top:22px; }
.pfo-workflow__metrics article { display:grid; gap:6px; padding:20px;  border-radius:17px;  }
.pfo-workflow__metrics article span {  font-weight:700; }
.pfo-workflow__metrics article strong {  font-size:30px; }

.pfo-workflow__columns { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:22px; }
.pfo-workflow__numbered { display:grid; gap:12px; margin:0; padding:0; list-style:none; counter-reset:pfo-steps; }
.pfo-workflow__numbered li { position:relative; min-height:42px; padding:10px 10px 10px 54px;  line-height:1.55; counter-increment:pfo-steps; }
.pfo-workflow__numbered li::before { content:counter(pfo-steps, decimal-leading-zero); position:absolute; left:0; top:6px; display:grid; place-items:center; width:38px; height:38px; border-radius:11px;   font-weight:900; }
.pfo-workflow__module-grid { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:14px; }
.pfo-workflow__module-grid a { display:grid; gap:9px; min-height:150px; padding:19px;  border-radius:16px;  text-decoration:none!important; }
.pfo-workflow__module-grid a > span {  font-size:26px; }
.pfo-workflow__module-grid a > strong {  font-size:18px; }
.pfo-workflow__module-grid a > small {  line-height:1.5; }
.pfo-workflow__checklist { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.pfo-workflow__checklist li { position:relative; padding-left:30px;  line-height:1.55; }
.pfo-workflow__checklist li::before { content:"✓"; position:absolute; left:0;  font-weight:900; }
.pfo-workflow__tags { display:flex; flex-wrap:wrap; gap:9px; }
.pfo-workflow__tags span { padding:9px 12px;  border-radius:999px;   }
.pfo-workflow__table td small { display:block; margin-top:4px;  }
.pfo-workflow__table td a + a { margin-left:12px; }
@media (max-width: 1100px){
  .pfo-workflow__metrics { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .pfo-workflow__module-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px){
  .pfo-workflow__metrics,
  .pfo-workflow__columns,
  .pfo-workflow__module-grid { grid-template-columns:1fr; }
}

/* Abas segregadas do painel profissional — v3.3.9. */
.pfo-profession-tabs {
  display:flex;
  gap:10px;
  margin:22px 0 0;
  padding:8px;
  overflow-x:auto;
  
  border-radius:17px;
   
  scrollbar-width:thin;
}
.pfo-profession-tabs button {
  flex:0 0 auto;
  min-height:44px;
  padding:10px 16px;
  
  border-radius:11px;
  
  
  font:inherit;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}


.pfo-profession-tab-panel[hidden] { display:none!important; }
.pfo-profession-tab-panel { animation:pfoProfessionPanelIn .18s ease-out; }
.pfo-profession-dashboard__mission { margin:0;  font-size:17px; line-height:1.7; }
.pfo-profession-dashboard__empty { display:grid; gap:7px; padding:22px;  border-radius:15px;  }

.pfo-profession-dashboard__empty span {  line-height:1.55; }
.pfo-profession-dashboard-page .entry-content,
.pfo-profession-dashboard-page .site-main { max-width:none; }
@keyframes pfoProfessionPanelIn{
  from { opacity:0; transform:translateY(4px); }
  to { opacity:1; transform:translateY(0); }
}
@media (max-width: 680px){
  .pfo-profession-tabs { margin-left:-4px; margin-right:-4px; border-radius:13px; }
  .pfo-profession-tabs button { min-height:42px; padding:9px 13px; font-size:14px; }
}


/* v3.10.26 — origem clara definitiva para painéis profissionais. */







/* v3.10.29 — coerência final: bloqueios e ações secundárias em superfícies claras. */






/* PROENÇA 3.10.31 — Workflows profissionais claro estrutural */

