/* MasterPlating — OBZ isolated stylesheet. Changes here cannot alter Financeiro. */
/* OBZ — cabeçalho padronizado: ações fora do banner e imagem preenchendo toda a altura */
.obz-page-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 8px;padding:0 2px;min-height:34px}
.obz-breadcrumb{font-size:11px;font-weight:700;letter-spacing:.08em;color:#58769a}
.obz-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.obz-head-actions .btn{height:34px;padding:0 14px;white-space:nowrap}
.obz-hero{position:relative;height:122px;overflow:hidden;border:1px solid #d6e3f2;border-radius:14px;background:#f4f9ff;margin-bottom:14px;box-shadow:0 2px 8px rgba(25,70,120,.06)}
.obz-hero-image{position:absolute;inset:0;background-image:url('../img/hero-obz-dashboard-clean.png');background-size:cover;background-position:center center;z-index:1}
.obz-hero-copy{position:relative;z-index:2;height:100%;display:flex;align-items:center;gap:14px;width:70%;padding:0 28px;background:linear-gradient(90deg,rgba(244,249,255,.99) 0%,rgba(244,249,255,.98) 58%,rgba(244,249,255,.75) 82%,rgba(244,249,255,0) 100%);box-sizing:border-box}
.obz-hero-icon{width:40px;height:40px;border:1px solid #bdd5ef;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#0872d8;font-size:22px;background:#edf6ff;flex:0 0 auto}
.obz-eyebrow{font-size:10px;font-weight:700;letter-spacing:.07em;color:#58769a;margin-bottom:4px}
.obz-hero h1{margin:0;color:#0c3d78;font-size:28px;line-height:1.08;font-weight:700}
.obz-hero p{margin:5px 0 0;color:#416486;font-size:12px}
@media(max-width:850px){.obz-page-head{align-items:flex-start;flex-direction:column}.obz-head-actions{width:100%}.obz-head-actions .btn{flex:1}.obz-hero{height:145px}.obz-hero-copy{width:100%;padding:18px;background:linear-gradient(90deg,rgba(244,249,255,.97),rgba(244,249,255,.82))}.obz-hero h1{font-size:23px}}

/* V78 — OBZ: acabamento final conforme layout aprovado */
.obz-kpis .obz-kpi{border:0;box-shadow:none;color:#fff;min-height:78px;padding:12px 16px;border-radius:11px}
.obz-kpis .obz-kpi span,.obz-kpis .obz-kpi strong,.obz-kpis .obz-kpi small{color:#fff}
.obz-kpis .obz-kpi span{opacity:.92}.obz-kpis .obz-kpi small{opacity:.82}
.obz-kpis .obz-kpi strong{font-size:23px}
.obz-kpis .obz-kpi:nth-child(1){background:#225795}
.obz-kpis .obz-kpi:nth-child(2){background:#2d9f78}
.obz-kpis .obz-kpi:nth-child(3){background:#2f6fa6}
.obz-kpis .obz-kpi:nth-child(4){background:#d98a25}
.obz-kpis .obz-kpi:nth-child(5){background:#2d74b7}
.obz-kpis .obz-kpi-warn,.obz-kpis .obz-kpi-good,.obz-kpis .obz-kpi-real,.obz-kpis .obz-kpi-count{border-left:0}
.obz-hero{min-height:122px}
.obz-hero-copy{width:62%;padding:18px 28px}
.obz-hero-image{inset:0 0 0 42%;background-size:cover;background-position:center right}
.obz-hero-actions{right:14px;top:12px}
.obz-hero-actions .btn{height:34px;padding:0 13px}
.obz-cycle.card,.obz-packages.card{padding:16px 20px}
.obz-cycle .obz-section-title,.obz-packages .obz-section-title{margin-bottom:10px}
.obz-table-foot{border-top:1px solid #edf1f5;margin-top:2px;padding-top:7px}
@media(max-width:1100px){.obz-kpis{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.obz-kpis{grid-template-columns:1fr 1fr}.obz-hero{min-height:145px}}

/* V79 — OBZ layout corrigido: KPIs em linha, ciclo organizado e ações fora do banner */
.obz-title-row{display:flex;align-items:center;gap:14px;min-width:0}.obz-icon{width:40px;height:40px;border:1px solid #bdd5ef;border-radius:11px;display:flex;align-items:center;justify-content:center;color:#0872d8;font-size:22px;background:#edf6ff;flex:0 0 auto}.obz-title-row>div:last-child{min-width:0}

.obz-dashboard{width:100%;box-sizing:border-box}
.obz-actions-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;margin:0 0 8px;padding:0 2px}
.obz-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;position:static;z-index:5}
.obz-hero-actions .btn{height:34px;padding:0 14px;white-space:nowrap}
.obz-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
.obz-kpi{min-width:0;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
.obz-section-title{display:flex;align-items:center;justify-content:space-between;gap:16px}
.obz-section-title h2{margin:0;color:#123f73;font-size:15px}
.obz-section-title p{margin:3px 0 0;color:#7890a8;font-size:11px}
.obz-cycle-grid{display:grid;grid-template-columns:1.1fr 1.25fr 1fr 1fr 1fr;gap:12px;margin-top:12px}
.obz-cycle-grid label{display:flex;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:#60788f}
.obz-cycle-grid .input,.obz-readonly{min-height:36px;box-sizing:border-box}
.obz-readonly{display:flex;align-items:center;padding:0 10px;border:1px solid #d7e2ef;border-radius:8px;background:#f8fbff;color:#294b6c;font-size:11px;font-weight:500}
.obz-toolbar{display:flex;align-items:center;gap:8px}
.obz-toolbar .input{min-width:220px;height:34px;box-sizing:border-box}
.obz-table-foot{font-size:10px;color:#8193a6}
.obz-bottom-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:12px;margin-top:12px}
.obz-chart{height:155px;display:flex;align-items:flex-end;justify-content:space-between;gap:7px;padding:10px 4px 0;border-bottom:1px solid #dce6f0}
.obz-chart-col{height:100%;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}
.obz-bars{height:125px;display:flex;align-items:flex-end;gap:2px}
.obz-bar{display:block;width:7px;min-height:3px;border-radius:3px 3px 0 0}
.obz-bar-orc{background:#2e74b7}.obz-bar-real{background:#35a878}.obz-bar-forecast{background:#d98a25}
.obz-chart-col small{font-size:8px;color:#8496a8}
.obz-legend{display:flex;gap:10px;font-size:9px;color:#70869c;white-space:nowrap}
.obz-distribution{display:flex;flex-direction:column;gap:8px;padding-top:5px}
.obz-dist-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:9px 10px;border-radius:8px;background:#f5f8fc;border:1px solid #e1e9f2}
.obz-dist-row span{font-size:10px;color:#60788f}.obz-dist-row b{font-size:11px;color:#174879}.obz-dist-row em{font-size:10px;color:#7a8ea2;font-style:normal}
.obz-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:9px;white-space:nowrap}
.obz-status-ok{background:#e6f7ef;color:#19865f}.obz-status-att{background:#fff2dc;color:#b46b00}.obz-status-run{background:#eaf3ff;color:#276cae}
.obz-actions{display:flex;gap:5px}.obz-actions .small{border:1px solid #d7e2ef;background:#fff;border-radius:6px;padding:4px 7px;cursor:pointer}
@media(max-width:1100px){.obz-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.obz-cycle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.obz-bottom-grid{grid-template-columns:1fr}}
@media(max-width:700px){.obz-kpis{grid-template-columns:1fr 1fr}.obz-actions-row{align-items:stretch;flex-direction:column}.obz-hero-actions{justify-content:flex-start}.obz-hero{min-height:145px}.obz-hero-copy{width:100%;padding:18px}.obz-hero-image{opacity:.28;inset:0}.obz-cycle-grid{grid-template-columns:1fr}.obz-toolbar{width:100%;flex-direction:column}.obz-toolbar .input{min-width:0;width:100%}}

/* V83 — OBZ: preserva a composição aprovada também em áreas estreitas */
.obz-dashboard{min-width:0}
.obz-kpis{overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:thin}
.obz-kpi{min-width:0}
.obz-packages{overflow:hidden}
.obz-packages .fin-table-wrap{overflow-x:auto}
@media(max-width:1100px){
  .obz-kpis{grid-template-columns:repeat(5,minmax(170px,1fr));}
  .obz-cycle-grid{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto;padding-bottom:4px}
  .obz-bottom-grid{grid-template-columns:1.25fr 1fr}
}
@media(max-width:700px){
  .obz-actions-row{flex-direction:row;align-items:center;min-height:38px}
  .obz-hero{height:122px;min-height:122px}
  .obz-hero-copy{width:68%;padding:14px 18px}
  .obz-hero-image{inset:0 0 0 38%;background-size:cover;background-position:right center}
  .obz-title-row{gap:9px}
  .obz-icon{width:36px;height:36px;font-size:19px}
  .obz-hero h1{font-size:20px;line-height:1.08}
  .obz-hero p{font-size:10px}
  .obz-eyebrow{font-size:9px}
  .obz-kpis{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity}
  .obz-kpi{flex:0 0 175px;min-height:78px;scroll-snap-align:start}
  .obz-cycle-grid{display:flex;gap:10px;overflow-x:auto}
  .obz-cycle-grid>label{flex:0 0 165px}
  .obz-bottom-grid{grid-template-columns:1fr}
  .obz-section-title{align-items:flex-start}
  .obz-toolbar{flex-wrap:wrap}
}

/* V89 — OBZ banner conforme referência aprovada */
.obz-hero-copy{display:block;width:62%;padding:16px 28px;box-sizing:border-box}
.obz-eyebrow{margin:0 0 4px 52px;line-height:1.1}
.obz-title-row{display:flex;align-items:center;gap:12px}
.obz-title-row .obz-icon{width:40px;height:40px;flex:0 0 40px}
.obz-hero h1{font-size:28px;line-height:1.08;white-space:nowrap}
.obz-hero p{margin-top:5px}
.obz-hero-image{inset:0 0 0 56%;background-size:cover;background-position:center right}
@media(max-width:700px){
 .obz-hero-copy{width:68%;padding:14px 18px}
 .obz-eyebrow{margin-left:48px;font-size:9px}
 .obz-title-row{gap:9px}
 .obz-title-row .obz-icon{width:36px;height:36px;flex-basis:36px}
 .obz-hero h1{font-size:20px;white-space:normal}
 .obz-hero-image{inset:0 0 0 38%;background-position:right center}
}


/* V90 — OBZ: composição do banner conforme referência aprovada */
.obz-hero{height:122px}
.obz-hero-copy{width:58%;height:100%;padding:18px 28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;box-sizing:border-box}
.obz-eyebrow{margin:0 0 4px;line-height:1.1}
.obz-title-row{display:flex;align-items:center;gap:12px}
.obz-hero h1{font-size:28px;line-height:1.05;white-space:nowrap}
.obz-hero-image{inset:0 0 0 58%;background-size:cover;background-position:center right}
@media(max-width:850px){.obz-hero{height:145px}.obz-hero-copy{width:100%;padding:18px}.obz-hero h1{font-size:23px;white-space:normal}.obz-hero-image{inset:0;opacity:.25}}

/* V186 — ações do Ciclo OBZ alinhadas ao cabeçalho da seção, conforme mockup aprovado */
.obz-cycle-header{align-items:flex-start;gap:18px}
.obz-cycle-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}
.obz-cycle-actions .btn{height:34px;padding:0 14px;white-space:nowrap}
@media(max-width:850px){.obz-cycle-header{align-items:flex-start;flex-direction:column}.obz-cycle-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}}
