:root{--bg:#06101e;--surface:#0b1728;--surface-2:#101f33;--line:rgba(148,163,184,.16);--text:#eef6ff;--muted:#8fa4bd;--blue:#3b82f6;--cyan:#22d3ee;--green:#22c55e;--orange:#f59e0b;--red:#ef4444;--sidebar:260px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{font-family:var(--font,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif)}button,input,select{font:inherit}.hidden{display:none!important}.eyebrow{margin:0 0 6px;color:#6f8aa8;font-size:.68rem;letter-spacing:.18em;font-weight:800}.muted{color:var(--muted);font-size:.82rem}
.upload-view{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 70% 20%,rgba(37,99,235,.22),transparent 32%),linear-gradient(135deg,#030914,#07172a 58%,#05101c)}.upload-card{width:min(980px,100%);padding:34px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(15,31,52,.96),rgba(7,18,32,.96));box-shadow:0 32px 90px rgba(0,0,0,.45);text-align:center}.portal-head{max-width:660px;margin:0 auto 24px}.brand-mark{display:inline-block;margin-bottom:14px;padding:8px 12px;border:1px solid rgba(34,211,238,.28);border-radius:10px;font-weight:900;letter-spacing:.16em}.brand-mark span{color:var(--cyan)}.upload-card h1{margin:4px 0 8px;font-size:clamp(1.9rem,4vw,3.1rem);letter-spacing:-.05em}.lead{margin:0 auto;max-width:560px;color:#afbed0;font-size:.96rem;line-height:1.55}.bi-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.bi-choice-card{min-height:250px;padding:28px;border:1px solid rgba(148,163,184,.16);border-radius:18px;background:linear-gradient(145deg,rgba(16,31,51,.92),rgba(8,20,35,.92));text-align:left;display:flex;flex-direction:column;transition:.2s ease}.bi-choice-card:hover{transform:translateY(-2px);border-color:rgba(34,211,238,.28);box-shadow:0 18px 42px rgba(0,0,0,.2)}.bi-choice-tag{display:inline-flex;align-self:flex-start;margin-bottom:16px;padding:6px 9px;border-radius:999px;background:rgba(59,130,246,.12);color:#8bc9ff;font-size:.66rem;font-weight:900;letter-spacing:.12em}.bi-choice-card h2{margin:0 0 8px;font-size:1.45rem;letter-spacing:-.035em}.bi-choice-card p{margin:0 0 22px;color:#8fa4bd;line-height:1.55;font-size:.9rem}.bi-choice-actions{margin-top:auto}.file-button{display:inline-flex;align-items:center;justify-content:center;min-width:190px;padding:13px 20px;border-radius:11px;background:linear-gradient(135deg,#2563eb,#0ea5e9);box-shadow:0 14px 40px rgba(37,99,235,.24);color:#fff;font-weight:800;cursor:pointer;text-decoration:none}.privacy-note{margin:18px 0 0;color:#71869e;font-size:.76rem;line-height:1.5}.alert{margin-top:18px;padding:14px 16px;border:1px solid rgba(239,68,68,.35);border-radius:10px;background:rgba(239,68,68,.1);color:#fecaca;text-align:left;font-size:.88rem}
.loading{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:rgba(3,9,20,.94);backdrop-filter:blur(10px)}.loading span{color:var(--muted)}.spinner{width:44px;height:44px;margin-bottom:12px;border:3px solid rgba(59,130,246,.2);border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.app-shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px 20px;border-right:1px solid var(--line);background:#071321;display:flex;flex-direction:column}.sidebar-brand{padding:0 12px 28px;font-size:1.18rem;font-weight:900;letter-spacing:.06em}.sidebar-brand span{color:var(--cyan)}.main-nav{overflow:auto}.nav-group-label{margin:24px 12px 10px;color:#4f6782;font-size:.65rem;font-weight:900;letter-spacing:.18em}.nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:#97aac0;text-align:left;cursor:pointer;transition:.2s}.nav-item span{color:#526b87;font-size:.67rem;font-weight:800}.nav-item:hover,.nav-item.active{background:rgba(59,130,246,.12);color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--cyan)}.unit-nav-item{padding-left:20px;font-size:.82rem}.sidebar-footer{margin-top:auto;padding:18px 12px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.text-button{padding:0;border:0;background:none;color:#8bc9ff;text-align:left;cursor:pointer}.sidebar-footer span{overflow:hidden;color:#506880;font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}
.main-content{min-width:0;padding:0 34px 50px}.topbar{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.topbar h2{margin:0;font-size:1.55rem}.topbar-meta{text-align:right}.topbar-meta span{display:block;color:var(--muted);font-size:.72rem}.topbar-meta strong{font-size:.95rem}.page{display:none;padding-top:28px}.page.active{display:block}.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.kpi{min-height:124px;padding:20px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,var(--surface-2),var(--surface));position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--accent,var(--blue))}.kpi-label{color:#8da3bc;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.kpi-value{display:block;margin:16px 0 6px;font-size:clamp(1.25rem,1.8vw,1.9rem);letter-spacing:-.035em}.kpi-note{color:#607a95;font-size:.72rem}.panel{margin-bottom:18px;padding:22px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,rgba(16,31,51,.94),rgba(8,20,35,.94));box-shadow:0 12px 28px rgba(0,0,0,.1)}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid-2 .panel{min-width:0}.executive-row{grid-template-columns:.8fr 1.2fr}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.panel-heading h3,.methodology h3{margin:0;font-size:1rem}.status-pill{display:inline-flex;padding:6px 10px;border-radius:99px;font-size:.7rem;font-weight:800}.status-good{background:rgba(34,197,94,.12);color:#86efac}.status-attention{background:rgba(245,158,11,.12);color:#fcd34d}.status-critical{background:rgba(239,68,68,.12);color:#fca5a5}.status-unknown{background:rgba(148,163,184,.12);color:#cbd5e1}.progress-comparison{display:grid;gap:22px}.progress-label{display:flex;justify-content:space-between;margin-bottom:9px;color:#b8c7d8;font-size:.83rem}.progress-track{height:9px;overflow:hidden;border-radius:99px;background:#17273b}.bar{display:block;height:100%;border-radius:inherit;transition:width .6s ease}.bar.planned{background:linear-gradient(90deg,#2563eb,#60a5fa)}.bar.actual{background:linear-gradient(90deg,#0891b2,#22d3ee)}.variance-callout{display:flex;align-items:end;justify-content:space-between;padding-top:17px;border-top:1px solid var(--line);color:var(--muted)}.variance-callout strong{font-size:1.75rem}.chart-wrap{position:relative;height:290px}.chart-wrap.tall{height:390px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.82rem}th{padding:11px 12px;border-bottom:1px solid var(--line);color:#6f87a1;font-size:.66rem;text-align:left;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}td{padding:13px 12px;border-bottom:1px solid rgba(148,163,184,.08);color:#bfd0e1}tbody tr{transition:.18s}tbody tr:hover{background:rgba(59,130,246,.05)}td.numeric{text-align:right;font-variant-numeric:tabular-nums}.sort-button,.presentation-controls button{padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:#13243a;color:#b9cbe0;cursor:pointer}.ranking-list{display:grid;gap:9px}.ranking-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;background:rgba(5,14,26,.48)}.ranking-position{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#132740;color:#79aee9;font-size:.72rem;font-weight:900}.ranking-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-value{font-weight:800;font-variant-numeric:tabular-nums}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 17px}.filters input,.filters select{min-width:160px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#0a1728;color:#c7d7e8}.filters input{flex:1;min-width:240px}.detail-table{max-height:520px}.detail-table table{min-width:1500px}.detail-table thead{position:sticky;top:0;z-index:2;background:#102035}.compact{max-height:430px}.methodology{max-width:900px}.methodology p:last-child{margin:12px 0 0;color:#9db0c4;line-height:1.7}
.presentation{position:fixed;inset:0;z-index:900;background:#030914;display:flex;flex-direction:column}.slides{flex:1;display:grid;place-items:center;overflow:auto;padding:18px}.slide{display:none;aspect-ratio:16/9;width:min(100%,calc((100vh - 95px)*16/9));padding:4.2%;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:radial-gradient(circle at 80% 12%,rgba(37,99,235,.22),transparent 30%),linear-gradient(135deg,#071321,#0b1c31);box-shadow:0 28px 90px rgba(0,0,0,.5);overflow:hidden}.slide.active{display:block}.slide-head{display:flex;justify-content:space-between;align-items:start;padding-bottom:2.5%;border-bottom:1px solid var(--line)}.slide-head h2{margin:4px 0 0;font-size:clamp(1.5rem,3vw,3.2rem);letter-spacing:-.04em}.slide-date{text-align:right;color:#91a9c1;font-size:clamp(.65rem,1vw,.95rem)}.slide-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4%;margin:3% 0}.slide-kpi{padding:8%;border:1px solid var(--line);border-radius:10px;background:rgba(12,28,48,.78)}.slide-kpi span{color:#7790aa;font-size:clamp(.55rem,.8vw,.8rem);text-transform:uppercase;letter-spacing:.08em}.slide-kpi strong{display:block;margin-top:9%;font-size:clamp(1.1rem,2.1vw,2.4rem)}.slide-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5%;height:48%}.slide-panel{padding:4%;border:1px solid var(--line);border-radius:10px;background:rgba(5,16,30,.55);overflow:hidden}.slide-panel h3{margin:0 0 4%;font-size:clamp(.75rem,1.2vw,1.2rem)}.slide-bars{display:grid;gap:7%}.slide-bar-label{display:flex;justify-content:space-between;margin-bottom:5px;color:#b8c9db;font-size:clamp(.58rem,.85vw,.85rem)}.slide-ranking{display:grid;gap:4%}.slide-ranking-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding-bottom:3%;border-bottom:1px solid rgba(148,163,184,.1);font-size:clamp(.58rem,.86vw,.88rem)}.presentation-controls{height:76px;display:flex;justify-content:center;align-items:center;gap:9px;border-top:1px solid var(--line);background:#07111f}.presentation-controls span{min-width:64px;text-align:center;color:#9eb2c8}
@media(max-width:1150px){:root{--sidebar:220px}.kpi-grid{grid-template-columns:repeat(3,1fr)}.executive-row,.grid-2{grid-template-columns:1fr}.chart-wrap{height:350px}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:relative;width:100%;height:auto}.main-content{padding:0 16px 36px}.topbar{height:90px}.kpi-grid{grid-template-columns:1fr 1fr}.upload-card{padding:24px 18px}.bi-choice-grid{grid-template-columns:1fr}.bi-choice-card{min-height:210px}.presentation-controls{overflow:auto;justify-content:flex-start;padding:10px}.slide{width:100%}}@media print{.sidebar,.topbar,.presentation-controls{display:none!important}.presentation{position:static}.slides{padding:0}.slide{display:block!important;width:100vw;height:56.25vw;page-break-after:always;box-shadow:none;border:0}}

.topbar-actions{display:flex;align-items:center;gap:18px}
.dashboard-file-button{padding:10px 15px;border:1px solid rgba(34,211,238,.26);border-radius:9px;background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 10px 28px rgba(37,99,235,.22)}
.dashboard-file-button:hover{filter:brightness(1.06)}
.dashboard-empty{margin-bottom:18px;padding:20px 22px;border:1px dashed rgba(34,211,238,.26);border-radius:15px;background:linear-gradient(145deg,rgba(16,31,51,.78),rgba(8,20,35,.78));display:flex;align-items:center;justify-content:space-between;gap:20px}
.dashboard-empty h3{margin:0 0 7px;font-size:1.05rem}
.dashboard-empty p:last-child{margin:0;color:var(--muted);font-size:.84rem;line-height:1.55}
@media(max-width:760px){.topbar-actions{gap:8px}.dashboard-file-button{padding:9px 10px;font-size:.78rem}.dashboard-empty{align-items:flex-start;flex-direction:column}}

.login-gate{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:20px;background:rgba(3,9,20,.86);backdrop-filter:blur(10px)}
.login-card{width:min(390px,100%);padding:28px;border:1px solid rgba(148,163,184,.18);border-radius:18px;background:linear-gradient(145deg,#101f33,#081423);box-shadow:0 28px 80px rgba(0,0,0,.5)}
.login-badge{display:inline-flex;margin-bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(59,130,246,.12);color:#8bc9ff;font-size:.66rem;font-weight:900;letter-spacing:.12em}
.login-card h2{margin:0 0 8px;font-size:1.6rem}
.login-card p{margin:0 0 20px;color:#8fa4bd;font-size:.9rem;line-height:1.5}
.login-card label{display:block;margin:12px 0 6px;color:#9db0c4;font-size:.76rem;font-weight:700}
.login-card input{width:100%;padding:12px 13px;border:1px solid rgba(148,163,184,.18);border-radius:9px;background:#071321;color:#eef6ff;outline:none}
.login-card input:focus{border-color:rgba(34,211,238,.55);box-shadow:0 0 0 3px rgba(34,211,238,.08)}
.login-error{margin-top:12px;padding:10px 12px;border:1px solid rgba(239,68,68,.3);border-radius:8px;background:rgba(239,68,68,.09);color:#fecaca;font-size:.8rem}
.login-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.login-primary,.login-secondary{padding:10px 16px;border-radius:9px;font-weight:800;cursor:pointer}
.login-primary{border:0;background:linear-gradient(135deg,#2563eb,#0ea5e9);color:#fff}
.login-secondary{border:1px solid rgba(148,163,184,.18);background:#13243a;color:#b9cbe0}

.unit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px}
.unit-toolbar h3{margin:0;font-size:1rem}
.phase-filter-label{display:flex;align-items:center;gap:10px;color:#8da3bc;font-size:.75rem;font-weight:700}
.phase-filter-label select{min-width:260px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#0a1728;color:#e8f2fc}
.unit-executive-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);grid-template-areas:"phase delay" "summary curve";gap:18px;align-items:stretch}
.unit-phase-chart-panel{grid-area:phase}.delay-panel{grid-area:delay}.phase-summary-panel{grid-area:summary}.curve-panel{grid-area:curve}
.unit-executive-grid>.panel{min-width:0}
.delay-count{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(239,68,68,.11);color:#fca5a5;font-size:.7rem;font-weight:800;white-space:nowrap}
.delay-list{display:grid;gap:9px;max-height:350px;overflow:auto;padding-right:3px}
.delay-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid rgba(148,163,184,.10);border-radius:10px;background:rgba(5,14,26,.46)}
.delay-rank{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:rgba(239,68,68,.12);color:#fca5a5;font-size:.68rem;font-weight:900}
.delay-copy{min-width:0}.delay-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.83rem;color:#e4edf7}.delay-copy span{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6f87a1;font-size:.68rem}
.delay-metrics{text-align:right;white-space:nowrap}.delay-metrics b{display:block;color:#fca5a5;font-size:.78rem}.delay-metrics small{display:block;margin-top:3px;color:#6f87a1;font-size:.65rem}
.delay-empty{display:grid;place-items:center;min-height:190px;padding:24px;border:1px dashed var(--line);border-radius:10px;color:#6f87a1;text-align:center;font-size:.82rem}
.curve-source{padding:5px 8px;border-radius:999px;background:rgba(34,211,238,.09);color:#8bd9e8;font-size:.68rem;font-weight:800}
.curve-canvas-shell{position:relative;height:330px;padding:10px;border-radius:10px;background:#fff;overflow:hidden}
.curve-canvas-shell canvas{position:relative;z-index:1}
.curve-empty{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:30px;color:#64748b;text-align:center;font-size:.82rem;background:#fff}
.phase-summary-panel .compact{max-height:330px}
@media(max-width:1250px){.unit-executive-grid{grid-template-columns:1fr;grid-template-areas:"phase" "delay" "summary" "curve"}.phase-filter-label select{min-width:210px}}
@media(max-width:760px){.unit-toolbar{align-items:flex-start;flex-direction:column}.phase-filter-label{width:100%;align-items:flex-start;flex-direction:column}.phase-filter-label select{width:100%;min-width:0}.curve-canvas-shell{height:300px}}

/* ===== VISÃO PB ===== */
.pb-page{margin:0 -34px -50px;padding:18px 18px 42px;background:#f2f6f2;color:#243a2e;min-height:calc(100vh - 110px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.pb-filterbar{display:grid;grid-template-columns:minmax(210px,1.2fr) repeat(4,minmax(145px,.75fr));gap:10px;align-items:end;margin-bottom:12px;padding:11px 13px;border:1px solid #d8e2dc;border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(31,61,44,.05)}
.pb-filter-title{display:flex;align-items:center;gap:10px;min-width:0}.pb-filter-title>div{min-width:0}.pb-filter-title strong{display:block;color:#285b3b;font-size:.88rem;letter-spacing:.08em}.pb-filter-title small{display:block;margin-top:3px;overflow:hidden;color:#7a8b81;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}
.pb-petrobras-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:6px;background:#2f7a45;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.16em;box-shadow:inset 0 -2px #e5bd35}
.pb-filterbar label{display:grid;gap:4px;color:#6a7d72;font-size:.58rem;font-weight:800;letter-spacing:.08em}.pb-filterbar select{width:100%;min-width:0;padding:8px 9px;border:1px solid #d9e3dd;border-radius:7px;background:#f9fbfa;color:#294437;font-size:.72rem;outline:none}.pb-filterbar select:focus{border-color:#65a77a;box-shadow:0 0 0 2px rgba(47,122,69,.08)}
.pb-layout{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);grid-template-areas:"physical offenders" "lookahead metrics";gap:12px;align-items:stretch}
.pb-card{min-width:0;border:1px solid #d6e0da;border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(31,61,44,.07);overflow:hidden}
.pb-physical-card{grid-area:physical}.pb-offenders-card{grid-area:offenders}.pb-lookahead-card{grid-area:lookahead}.pb-metrics-card{grid-area:metrics}
.pb-card-head{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 9px;border-bottom:1px solid #e6ece8}.pb-card-head h3{margin:0;color:#2f6744;font-size:.78rem;letter-spacing:.02em}.pb-context{display:flex;align-items:center;gap:7px;white-space:nowrap}.pb-context span,.pb-context b{padding:5px 7px;border-radius:5px;font-size:.62rem}.pb-context span{background:#fff5bf;border:1px solid #ead77c;color:#77652d}.pb-context b{color:#718077;font-weight:600}
.pb-title-inline{display:flex;align-items:center;gap:9px;min-width:0}.pb-title-inline h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-count-red,.pb-count-green,.pb-muted-chip{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.61rem;font-weight:800;white-space:nowrap}.pb-count-red{background:#fff0f0;border:1px solid #efcccc;color:#ad4a50}.pb-count-green{background:#eef8f1;border:1px solid #d0e7d7;color:#3c7350}.pb-muted-chip{background:#f3f6f4;color:#6d7f73}.pb-right-note{text-align:right}.pb-right-note b,.pb-focus-week{display:block;color:#6c7d73;font-size:.57rem;letter-spacing:.13em;white-space:nowrap}.pb-right-note small{display:block;margin-top:3px;color:#9aaaa0;font-size:.57rem}
.pb-physical-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:10px;padding:11px 13px 13px}.pb-progress-stack{display:grid;gap:8px}
.pb-progress-box{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid #dce4df;border-radius:9px;background:#f8faf9}.pb-progress-box small{display:block;color:#65776c;font-size:.62rem;letter-spacing:.08em}.pb-progress-box strong{display:block;margin-top:4px;color:#20372c;font-size:1.6rem;line-height:1}.pb-actual-box{position:relative;background:#36834b;border-color:#36834b;box-shadow:inset 5px 0 #f3cf44}.pb-actual-box small,.pb-actual-box strong{color:#fff}.pb-week-chip{display:grid;gap:5px;text-align:right}.pb-week-chip span{font-size:.55rem;letter-spacing:.08em}.pb-week-chip b{display:inline-flex;justify-self:end;padding:4px 6px;border-radius:5px;background:#eaf5ed;color:#397450;font-size:.72rem}.pb-actual-box .pb-week-chip b{background:#f7d74d;color:#55470f}
.pb-gap-box{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid #dce4df;border-radius:9px;background:#fbfcfb}.pb-gap-box strong{font-size:.69rem;color:#405a4c}.pb-gap-value{padding:4px 7px;border-radius:5px;font-size:.75rem;font-weight:900}.pb-gap-value.negative{background:#fff0f1;border:1px solid #f0d0d3;color:#b94c56}.pb-gap-value.positive{background:#edf8f0;border:1px solid #d1e9d7;color:#347349}.pb-gap-box small{color:#72847a;font-size:.62rem;white-space:nowrap}
.pb-pareto{min-width:0;padding:8px 9px;border:1px solid #dce4df;border-radius:9px;background:#f9fbfa}.pb-subhead{display:flex;justify-content:space-between;gap:8px;align-items:center}.pb-subhead strong{font-size:.66rem;color:#3d6b4e}.pb-subhead span{padding:3px 6px;border-radius:5px;background:#fff4b8;border:1px solid #ead77c;color:#78642e;font-size:.58rem;font-weight:800}.pb-pareto-chart-wrap{position:relative;height:118px;margin-top:6px}.pb-chart-empty{position:absolute;inset:0;display:grid;place-items:center;color:#8b9a91;font-size:.65rem;text-align:center}.pb-pareto-legend{display:flex;justify-content:space-between;gap:8px;margin-top:2px;color:#708178;font-size:.53rem}
.pb-offenders-list{display:grid;gap:7px;padding:10px 12px 12px;max-height:330px;overflow:auto}.pb-offender{padding:8px 9px;border:1px solid #dce4df;border-radius:9px;background:#fbfcfb}.pb-offender-critico{border-color:#efcfd3;background:#fffafa}.pb-offender-alerta{border-color:#eadb95;background:#fffdf5}.pb-offender-normal{border-color:#d5e6da;background:#fbfdfb}.pb-offender-head{display:grid;grid-template-columns:24px minmax(0,1fr) auto auto;gap:7px;align-items:center}.pb-offender-number{width:22px;height:22px;display:grid;place-items:center;border-radius:5px;background:#c94d5c;color:#fff;font-size:.58rem;font-weight:900}.pb-offender-alerta .pb-offender-number{background:#c79a2c}.pb-offender-normal .pb-offender-number{background:#407a53}.pb-offender-title{min-width:0}.pb-offender-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#263c30;font-size:.69rem}.pb-offender-title span{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7b8a81;font-size:.57rem}.pb-offender-impact{padding:3px 6px;border-radius:4px;background:#fff0f1;color:#b34d58;font-size:.58rem;font-weight:800}.pb-offender-tag{padding:4px 6px;border-radius:4px;background:#c94d5c;color:#fff;font-size:.53rem;font-weight:900;letter-spacing:.05em}.pb-offender-alerta .pb-offender-tag{background:#c79a2c}.pb-offender-normal .pb-offender-tag{background:#4b795a}
.pb-offender-body{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:7px}.pb-offender-body label{display:grid;gap:3px}.pb-offender-body label>span{color:#437753;font-size:.52rem;font-weight:900;letter-spacing:.08em}.pb-offender-body textarea{width:100%;height:38px;resize:none;padding:4px 5px;border:1px solid transparent;border-radius:5px;background:transparent;color:#4e6056;font-size:.58rem;line-height:1.25;outline:none}.pb-offender-body textarea:hover,.pb-offender-body textarea:focus{border-color:#cddbd2;background:#fff}
.pb-quick-add{display:grid;grid-template-columns:1fr auto;gap:7px;padding:9px 12px 4px}.pb-quick-add input{min-width:0;padding:8px 9px;border:1px solid #d7e2db;border-radius:7px;background:#fbfdfc;color:#2d4337;font-size:.67rem;outline:none}.pb-quick-add input:focus{border-color:#70a982}.pb-quick-add button{padding:8px 11px;border:0;border-radius:7px;background:#397e4d;color:#fff;font-size:.65rem;font-weight:800;cursor:pointer}
.pb-lookahead-list{display:grid;gap:8px;padding:8px 12px 12px;max-height:290px;overflow:auto}.pb-activity{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid #dce4df;border-radius:9px;background:#fbfcfb}.pb-activity-icon{width:26px;height:26px;display:grid;place-items:center;border-radius:6px;background:#e9f5ed;color:#3b7f50;font-size:.8rem;font-weight:900}.pb-activity-copy{min-width:0}.pb-activity-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#263d31;font-size:.7rem}.pb-activity-copy span{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#77887f;font-size:.6rem}.pb-activity-status{padding:6px 9px;border-radius:6px;background:#e8f4ec;color:#39774d;font-size:.62rem;font-weight:800;white-space:nowrap}.pb-activity-actions{display:flex;gap:3px}.pb-activity-actions button{width:24px;height:24px;padding:0;border:1px solid #d9e2dd;border-radius:5px;background:#fff;color:#61736a;cursor:pointer}.pb-activity-critico{border-color:#f0d1d5;background:#fffafa}.pb-activity-critico .pb-activity-icon,.pb-activity-critico .pb-activity-status{background:#fbe8ea;color:#be4351}.pb-activity-andamento,.pb-activity-atencao{border-color:#eadc9c;background:#fffdf4}.pb-activity-andamento .pb-activity-icon,.pb-activity-andamento .pb-activity-status,.pb-activity-atencao .pb-activity-icon,.pb-activity-atencao .pb-activity-status{background:#fff2b9;color:#8b6d14}.pb-activity-concluido .pb-activity-status{background:#37834c;color:#fff}.pb-activity-meta .pb-activity-status{background:#e7f3eb;color:#39764c}
.pb-metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px 12px}.pb-metric{padding:8px 9px;border:1px solid #dce4df;border-radius:8px;background:#fbfcfb}.pb-metric-head{display:flex;justify-content:space-between;gap:8px;color:#31463a;font-size:.65rem}.pb-metric-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pb-metric-head b{color:#4a7f5b}.pb-metric-track{height:4px;margin:6px 0;border-radius:99px;background:#e4ebe7;overflow:hidden}.pb-metric-track span{display:block;height:100%;border-radius:inherit;background:#418554}.pb-metric-foot{display:flex;justify-content:space-between;gap:8px;color:#718077;font-size:.57rem}.pb-metric-foot b{font-size:.58rem;color:#4c795a}.pb-metric-critical .pb-metric-head b,.pb-metric-critical .pb-metric-foot b{color:#bd4855}.pb-metric-critical .pb-metric-track span{background:#d94e5d}.pb-metric-attention .pb-metric-head b,.pb-metric-attention .pb-metric-foot b{color:#a57918}.pb-metric-attention .pb-metric-track span{background:#efc73e}
.pb-empty-light{display:grid;place-items:center;min-height:90px;padding:18px;border:1px dashed #d8e2dc;border-radius:8px;color:#7f8f86;text-align:center;font-size:.64rem;background:#fbfdfc}.pb-metrics-empty{grid-column:1/-1;min-height:160px}
.pb-modal{position:fixed;inset:0;z-index:2500;display:grid;place-items:center;padding:20px;background:rgba(8,23,16,.48);backdrop-filter:blur(5px)}.pb-modal-card{width:min(480px,100%);padding:18px;border:1px solid #d5e1d9;border-radius:12px;background:#fff;color:#2a4034;box-shadow:0 24px 70px rgba(14,39,24,.22)}.pb-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.pb-modal-head h3{margin:0;color:#2e6a43;font-size:1rem}.pb-modal-head button{width:30px;height:30px;border:0;border-radius:7px;background:#eef3ef;color:#52675b;font-size:1.2rem;cursor:pointer}.pb-modal-card label{display:grid;gap:5px;margin:9px 0;color:#61756a;font-size:.68rem;font-weight:800}.pb-modal-card input,.pb-modal-card textarea,.pb-modal-card select{width:100%;padding:9px 10px;border:1px solid #d7e1db;border-radius:7px;background:#fbfdfc;color:#2f4438;outline:none}.pb-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pb-modal-actions{display:flex;justify-content:space-between;gap:9px;margin-top:15px}.pb-modal-actions button{padding:9px 14px;border-radius:7px;font-weight:800;cursor:pointer}.pb-btn-primary{border:0;background:#347d4a;color:#fff}.pb-btn-danger{border:1px solid #efcfd3;background:#fff5f6;color:#b84855}
@media(max-width:1350px){.pb-filterbar{grid-template-columns:1fr 1fr 1fr}.pb-filter-title{grid-column:1/-1}.pb-layout{grid-template-columns:1fr;grid-template-areas:"physical" "offenders" "lookahead" "metrics"}.pb-physical-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.pb-page{margin:0 -16px -36px;padding:12px}.pb-filterbar{grid-template-columns:1fr}.pb-filter-title{grid-column:auto}.pb-physical-grid,.pb-offender-body,.pb-metrics-grid{grid-template-columns:1fr}.pb-context{align-items:flex-end;flex-direction:column}.pb-card-head{align-items:flex-start}.pb-gap-box{grid-template-columns:1fr auto}.pb-gap-box small{grid-column:1/-1}.pb-activity{grid-template-columns:28px minmax(0,1fr) auto}.pb-activity-actions{grid-column:2/-1;justify-content:flex-end}}

/* VISÃO PB — colunas independentes como na referência */
.pb-layout{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:12px;align-items:start}
.pb-column{display:flex;min-width:0;flex-direction:column;gap:12px}
.pb-physical-card,.pb-offenders-card,.pb-lookahead-card,.pb-metrics-card{grid-area:auto}
.pb-offenders-list{max-height:none;overflow:visible}
.pb-offenders-card,.pb-physical-card,.pb-lookahead-card,.pb-metrics-card{align-self:flex-start;width:100%}
@media(max-width:1350px){.pb-layout{grid-template-columns:1fr}.pb-column{gap:12px}}

/* Curva financeira recriada a partir das abas-fonte */
.unit-nav-item{padding-left:14px;line-height:1.25;white-space:normal;font-size:.72rem}
.curve-panel{padding:0!important;background:#fff!important;border-color:#cdd4d0!important;overflow:hidden;color:#111827}
.financial-title{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px 6px;background:#fff;border-bottom:1px solid #d9d9d9}
.financial-logo{display:grid;place-items:center;align-content:center;min-height:48px;color:#13315d;font-style:italic}.financial-logo b{font-size:1.2rem;letter-spacing:.02em}.financial-logo span{display:block;margin-top:-2px;color:#0b5da9;font-size:.64rem;font-weight:900}
.financial-title-copy{text-align:center}.financial-title-copy h2{margin:0;color:#000;font-size:1.22rem;line-height:1.05}.financial-title-copy h3{margin:5px 0 0;color:#000;font-size:.88rem;line-height:1.05}
.financial-title-meta{text-align:right;max-width:250px}.financial-title-meta strong{display:block;color:#374151;font-size:.67rem}.financial-title-meta small{display:block;margin-top:3px;color:#6b7280;font-size:.54rem;line-height:1.2}
.financial-summary{margin:0 12px 8px;border:1px solid #8d9490;background:#fff;overflow:hidden}
.financial-summary-row{display:grid;grid-template-columns:1.05fr 1fr 1fr 1fr;min-height:24px;align-items:center}.financial-summary-row>*{min-width:0;padding:5px 7px;border-right:1px solid #fff;text-align:right;font-size:.61rem;white-space:nowrap}.financial-summary-row>*:first-child{text-align:left}.financial-summary-row.financial-summary-head{background:#858585;color:#fff;font-weight:800}.financial-summary-row:not(.financial-summary-head){background:#0b2f70;color:#fff}.financial-summary-row.attack{background:#08a9df}.financial-summary-row b.negative{color:#fff}.financial-summary-row b.positive{color:#d9ffe2}
.financial-summary-empty{padding:9px;color:#6b7280;text-align:center;font-size:.65rem}
.curve-panel .curve-canvas-shell{height:360px;margin:0 12px 12px;padding:8px;background:#e9e9e9;border-radius:0}
.curve-panel .curve-empty{background:#e9e9e9}
@media(max-width:760px){.financial-title{grid-template-columns:50px 1fr}.financial-title-meta{grid-column:1/-1;text-align:center;max-width:none}.financial-title-copy h2{font-size:1rem}.financial-summary-row{grid-template-columns:1fr 1fr}.financial-summary-row>*{white-space:normal}.curve-panel .curve-canvas-shell{height:330px}}

/* Unidade — prioridade visual: curva financeira à esquerda, avanço físico à direita */
.unit-executive-grid{
  grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);
  grid-template-areas:
    "curve phase"
    "summary delay";
  align-items:start;
}
.curve-panel{grid-area:curve}
.unit-phase-chart-panel{grid-area:phase}
.phase-summary-panel{grid-area:summary}
.delay-panel{grid-area:delay}
.curve-panel .curve-canvas-shell{height:410px}
.unit-phase-chart-panel .chart-wrap.tall{height:410px}
@media(max-width:1250px){
  .unit-executive-grid{
    grid-template-columns:1fr;
    grid-template-areas:"curve" "phase" "summary" "delay";
  }
}

/* Unidade: curva financeira em destaque à esquerda; avanço físico à direita */
.unit-executive-grid{grid-template-columns:minmax(0,1.28fr) minmax(390px,.72fr);grid-template-areas:"curve phase" "summary delay";align-items:start}
.curve-panel{grid-area:curve}.unit-phase-chart-panel{grid-area:phase}.phase-summary-panel{grid-area:summary}.delay-panel{grid-area:delay}
.curve-panel .curve-canvas-shell{height:430px}
.unit-phase-chart-panel .chart-wrap.tall{height:430px}
@media(max-width:1250px){.unit-executive-grid{grid-template-columns:1fr;grid-template-areas:"curve" "phase" "summary" "delay"}}

.financial-summary-row.financial-summary-seven{grid-template-columns:1.15fr repeat(6,1fr)}
.financial-summary-row.financial-summary-seven>*{font-size:.56rem}
@media(max-width:900px){.financial-summary{overflow-x:auto}.financial-summary-row.financial-summary-seven{min-width:850px}}

/* Sincronização Supabase */
.cloud-controls{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:280px}
.source-status{max-width:440px;color:#8fa4bd;font-size:.68rem;line-height:1.2;text-align:right}
.source-status[data-tone="cloud"]{color:#86efac}.source-status[data-tone="local"]{color:#93c5fd}.source-status[data-tone="warning"]{color:#fcd34d}.source-status[data-tone="error"]{color:#fca5a5}
.cloud-buttons{display:flex;gap:6px;justify-content:flex-end}
.cloud-button{padding:7px 10px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#101f33;color:#b9cbe0;font-size:.68rem;font-weight:800;cursor:pointer}
.cloud-button:hover:not(:disabled){border-color:rgba(34,211,238,.34);color:#fff}
.cloud-button-primary{border-color:rgba(34,211,238,.32);background:rgba(14,165,233,.13);color:#9de8f4}
.cloud-button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:1100px){.topbar{height:auto;min-height:82px;padding-top:12px;padding-bottom:12px}.topbar-actions{flex-wrap:wrap;justify-content:flex-end}.cloud-controls{order:3;width:100%;min-width:0;align-items:flex-end}}
@media(max-width:760px){.topbar-actions{align-items:flex-end;flex-direction:column}.cloud-controls{align-items:flex-start}.source-status{text-align:left}.cloud-buttons{justify-content:flex-start;flex-wrap:wrap}}

/* Reunião de Coordenação — PowerPoint estruturado */
.coordination-deck-panel{margin-top:14px;padding:14px;border:1px solid rgba(34,211,238,.18);border-radius:14px;background:#0e1f34;color:#e8f2fc;overflow:hidden}
.coordination-deck-panel.hidden{display:none!important}
.coordination-deck-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.coordination-deck-toolbar h3{margin:2px 0 3px;color:#f8fbff;font-size:.98rem}
.coordination-deck-toolbar small{color:#8fa4bd;font-size:.62rem}
.coordination-deck-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.coordination-deck-actions button{padding:7px 10px;border:1px solid rgba(148,163,184,.2);border-radius:7px;background:#071321;color:#bcd1e5;font-size:.62rem;font-weight:800;cursor:pointer}
.coordination-deck-actions button:hover{border-color:#22d3ee;color:#fff}
.coordination-deck-actions span{padding:0 5px;color:#8fa4bd;font-size:.62rem;font-weight:800}
.coordination-deck-warning{margin:0 0 10px;padding:8px 10px;border:1px solid rgba(245,158,11,.35);border-radius:8px;background:rgba(245,158,11,.08);color:#fcd34d;font-size:.66rem}
.coordination-deck-warning.hidden{display:none!important}
.coordination-deck-page{padding:14px;border:1px solid rgba(148,163,184,.16);border-radius:12px;background:#07111f;min-height:260px}
.coordination-page-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:10px;border-bottom:1px solid rgba(148,163,184,.13)}
.coordination-page-head small{display:block;color:#22d3ee;font-size:.58rem;font-weight:900;letter-spacing:.12em}
.coordination-page-head h3{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:4px 0 0;color:#f8fbff;font-size:1.05rem}
.coordination-page-head h3 span{padding:4px 7px;border-radius:5px;background:rgba(245,158,11,.12);color:#fbbf24;font-size:.64rem}
.coordination-page-meta{text-align:right}.coordination-page-meta strong{display:block;color:#f8fbff;font-size:.82rem}.coordination-page-meta span{display:block;margin-top:4px;color:#8fa4bd;font-size:.6rem}
.coordination-page-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.coordination-page-kpis>div{padding:9px 10px;border:1px solid rgba(148,163,184,.14);border-radius:8px;background:#0d1d30}
.coordination-page-kpis span{display:block;color:#7f97b2;font-size:.55rem;font-weight:800;letter-spacing:.08em}.coordination-page-kpis strong{display:block;margin-top:4px;color:#f8fbff;font-size:1.05rem}
.coordination-page-body{display:grid;gap:10px}.coordination-block{padding:10px;border:1px solid rgba(148,163,184,.13);border-radius:9px;background:#0b192a}.coordination-block h4{margin:0 0 8px;color:#9fe9f4;font-size:.7rem;letter-spacing:.04em}
.coordination-table-wrap{overflow:auto}.coordination-table-wrap table{width:100%;border-collapse:collapse;font-size:.62rem}.coordination-table-wrap th,.coordination-table-wrap td{padding:6px 7px;border-bottom:1px solid rgba(148,163,184,.12);text-align:left}.coordination-table-wrap th{color:#8fa4bd;font-size:.55rem;text-transform:uppercase;letter-spacing:.06em}.coordination-table-wrap td{color:#d8e6f5}
.coordination-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.coordination-action-card{padding:9px;border:1px solid rgba(148,163,184,.13);border-radius:8px;background:#071321}.coordination-action-card>strong{display:block;margin-bottom:7px;color:#fff;font-size:.68rem}.coordination-action-card>div{margin-top:6px}.coordination-action-card span{display:block;color:#22d3ee;font-size:.5rem;font-weight:900;letter-spacing:.08em}.coordination-action-card p{margin:3px 0 0;color:#c5d7e8;font-size:.61rem;line-height:1.35;white-space:pre-line}.coordination-action-card small{display:block;margin-top:6px;color:#667e98;font-size:.5rem}
.coordination-raw p{margin:0;color:#bacde0;font-size:.64rem;line-height:1.45;white-space:pre-line}
.coordination-empty{display:grid;place-items:center;min-height:180px;padding:25px;color:#8fa4bd;text-align:center;font-size:.7rem}
.pb-offender-head{grid-template-columns:24px minmax(0,1fr) auto auto auto}
.pb-offender-ppt{padding:3px 5px;border:1px solid rgba(34,211,238,.28);border-radius:4px;background:rgba(34,211,238,.08);color:#7de8f6;font-size:.5rem;font-weight:900;white-space:nowrap}
@media(max-width:980px){.coordination-deck-toolbar{align-items:flex-start;flex-direction:column}.coordination-deck-actions{justify-content:flex-start}.coordination-action-list{grid-template-columns:1fr}}
@media(max-width:650px){.coordination-page-kpis{grid-template-columns:1fr}.coordination-page-head{flex-direction:column}.coordination-page-meta{text-align:left}}

/* PPT alimenta os cards da Reunião de Coordenação; não há painel separado */
#coordination-deck-panel,#coordination-ppt-panel{display:none!important}
.pb-activity-ppt{grid-template-columns:28px minmax(0,1fr) auto auto;border-color:rgba(34,211,238,.24);background:rgba(34,211,238,.045)}
.pb-activity-ppt .pb-activity-icon{background:rgba(34,211,238,.12);color:#67e8f9}
.pb-activity-ppt .pb-activity-status{background:rgba(34,211,238,.1);color:#7de8f6}
.pb-activity-context,.pb-metric-context{display:block;margin-top:3px;color:#607a96;font-size:.52rem}
.pb-source-chip{padding:4px 6px;border-radius:5px;background:#102942;color:#7de8f6;font-size:.54rem;font-weight:900}
.pb-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.pb-metrics-grid{grid-template-columns:1fr}.pb-activity-ppt{grid-template-columns:28px minmax(0,1fr) auto}.pb-source-chip{grid-column:3}}

/* ===== Reunião de Coordenação por Semana EPC-15 ===== */
.pb-filterbar{grid-template-columns:minmax(270px,1.15fr) repeat(4,minmax(150px,.72fr));}
.pb-week-actions{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center;gap:7px;padding-top:2px}
.pb-edit-week,.pb-week-button{height:34px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#071321;color:#bcd1e5;font-size:.64rem;font-weight:900;cursor:pointer}
.pb-edit-week{width:38px;font-size:1rem;color:#7de8f6}
.pb-edit-week.active{border-color:#22d3ee;background:rgba(34,211,238,.14);box-shadow:0 0 0 2px rgba(34,211,238,.06)}
.pb-week-button{padding:0 11px}
.pb-week-button-ppt{border-color:rgba(34,211,238,.32);color:#7de8f6}
.pb-week-button-save{border-color:rgba(34,197,94,.32);background:rgba(34,197,94,.09);color:#a7f3d0}
.pb-edit-week:disabled,.pb-week-button:disabled,.pb-quick-add input:disabled,.pb-quick-add button:disabled{opacity:.38;cursor:not-allowed}

.pb-week-statusbar{display:grid;grid-template-columns:1fr 1fr 1.25fr 1fr auto;gap:8px;align-items:stretch;margin:-4px 0 12px}
.pb-source-box{min-width:0;padding:9px 10px;border:1px solid rgba(148,163,184,.15);border-radius:9px;background:#0b192a}
.pb-source-box>span{display:block;color:#66809c;font-size:.5rem;font-weight:900;letter-spacing:.12em}
.pb-source-box>strong{display:block;margin-top:3px;overflow:hidden;color:#e8f2fc;font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}
.pb-source-box>small{display:block;margin-top:3px;overflow:hidden;color:#7890aa;font-size:.53rem;text-overflow:ellipsis;white-space:nowrap}
.pb-source-state[data-tone="ok"]{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.06)}
.pb-source-state[data-tone="ok"]>strong{color:#86efac}
.pb-source-state[data-tone="warning"]{border-color:rgba(245,158,11,.3);background:rgba(245,158,11,.06)}
.pb-source-state[data-tone="warning"]>strong{color:#fcd34d}
.pb-source-state[data-tone="info"]{border-color:rgba(34,211,238,.3);background:rgba(34,211,238,.06)}
.pb-source-state[data-tone="info"]>strong{color:#7de8f6}
.pb-save-feedback{align-self:center;min-width:105px;color:#7890aa;font-size:.57rem;text-align:right}
.pb-save-feedback[data-tone="ok"]{color:#86efac}.pb-save-feedback[data-tone="error"]{color:#fca5a5}

.pb-master-card{background:#0e1f34!important;border-color:rgba(34,211,238,.25)!important;color:#e8f2fc!important}
.pb-master-card .pb-modal-head h3{color:#f8fbff!important}.pb-master-copy{margin:0 0 12px;color:#8fa4bd;font-size:.68rem;line-height:1.45}
.pb-master-card label{color:#8fa4bd!important}.pb-master-card input{background:#071321!important;border-color:rgba(148,163,184,.22)!important;color:#fff!important}
.pb-master-actions{justify-content:flex-end!important}

.pb-offender-body textarea:disabled{opacity:1;cursor:default;border-color:rgba(148,163,184,.08)!important;background:rgba(3,10,18,.18)!important;color:#b7cadc!important}
.pb-readonly-chip{padding:5px 7px;border:1px solid rgba(148,163,184,.12);border-radius:5px;color:#688099;font-size:.52rem;font-weight:800;white-space:nowrap}
.coordination-editing .pb-card{border-color:rgba(34,211,238,.18)!important}
.coordination-editing .pb-offender-body textarea:not(:disabled){border-color:rgba(34,211,238,.16)!important;background:#071321!important}

@media(max-width:1350px){
  .pb-filterbar{grid-template-columns:1fr 1fr 1fr}
  .pb-filter-title{grid-column:1/-1}
  .pb-week-actions{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}
  .pb-week-statusbar{grid-template-columns:1fr 1fr}
  .pb-save-feedback{grid-column:1/-1;text-align:left}
}
@media(max-width:760px){
  .pb-week-statusbar{grid-template-columns:1fr}
  .pb-week-actions{justify-content:stretch}
  .pb-week-button{flex:1}
}

/* Paginação dos dados extraídos do PowerPoint */
.pb-physical-card .pb-card-head{flex-wrap:wrap}
.pb-physical-card .pb-context{white-space:normal;flex-wrap:wrap}
.pb-summary-note{margin:10px 14px 0;color:#d9b964;font-size:.75rem;line-height:1.4}
.pb-card-pager{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px 11px}
.pb-card-pager.hidden{display:none!important}
.pb-card-pager button{padding:6px 9px;border:1px solid rgba(148,163,184,.18);border-radius:6px;background:#071321;color:#bcd1e5;font-size:.56rem;font-weight:800;cursor:pointer}
.pb-card-pager button:hover:not(:disabled){border-color:#22d3ee;color:#fff}
.pb-card-pager button:disabled{opacity:.35;cursor:not-allowed}
.pb-card-pager span{color:#7890aa;font-size:.55rem;font-weight:800}

/* ===== Reunião de Coordenação — fonte única: Avanço PLATAQ ===== */
.pb-filterbar-hierarchy{
  grid-template-columns:minmax(280px,1.35fr) repeat(4,minmax(145px,.72fr));
  align-items:end;
}
.pb-filterbar-hierarchy .pb-filter-title{align-self:stretch}
.pb-filterbar-hierarchy label{min-width:0}
.pb-filterbar-hierarchy select{width:100%}
.pb-filterbar-hierarchy .pb-week-actions{grid-column:1/-1;justify-content:flex-end}

.pb-week-statusbar-excel{
  grid-template-columns:1.2fr 1.2fr 1fr auto;
}
.pb-week-statusbar-excel .pb-source-box>strong{white-space:normal}
.pb-week-statusbar-excel .pb-source-box>small{white-space:normal}

.pb-focus-card{margin-bottom:12px;border-color:rgba(34,211,238,.22)!important}
.pb-focus-card .pb-card-head{align-items:flex-start}
.pb-focus-card .eyebrow{margin:0 0 4px;color:#59a9ff;font-size:.52rem;font-weight:900;letter-spacing:.13em}
.pb-focus-card h3{margin:0;color:#f4f9ff;font-size:.98rem}
.pb-focus-card #pb-focus-path{display:block;margin-top:4px;color:#7f98b2;font-size:.58rem;line-height:1.35}
.pb-focus-source{display:flex;align-items:flex-end;gap:9px;min-width:min(520px,50%)}
.pb-focus-source label{display:grid;gap:4px;flex:1;color:#6f89a4;font-size:.5rem;font-weight:900;letter-spacing:.1em}
.pb-focus-source select{
  width:100%;min-height:34px;border:1px solid rgba(148,163,184,.22);border-radius:7px;
  background:#071321;color:#d8e8f8;padding:0 8px;font-size:.62rem
}
.pb-focus-source>span{padding-bottom:8px;color:#7189a1;font-size:.54rem;white-space:nowrap}

.pb-focus-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 12px 0}
.pb-focus-kpis>div{padding:9px 10px;border:1px solid rgba(148,163,184,.13);border-radius:8px;background:#081625}
.pb-focus-kpis span{display:block;color:#69839e;font-size:.5rem;font-weight:900;letter-spacing:.08em}
.pb-focus-kpis strong{display:block;margin-top:3px;color:#f3f8fd;font-size:.95rem}

.pb-focus-notes{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px 12px 12px}
.pb-focus-notes label{display:grid;gap:5px}
.pb-focus-notes label>span{color:#55b785;font-size:.5rem;font-weight:900;letter-spacing:.12em}
.pb-focus-notes textarea{
  width:100%;min-height:86px;resize:vertical;border:1px solid rgba(148,163,184,.18);
  border-radius:7px;background:#071321;color:#e5f1fb;padding:9px;font:600 .62rem/1.45 inherit
}
.pb-focus-notes textarea:focus{outline:none;border-color:#22d3ee;box-shadow:0 0 0 2px rgba(34,211,238,.06)}
.pb-focus-notes textarea:disabled{opacity:.78;cursor:default;background:rgba(3,10,18,.22)}

.pb-focus-row-button{
  border:1px solid rgba(34,211,238,.25);border-radius:6px;background:rgba(34,211,238,.08);
  color:#7de8f6;padding:5px 8px;font-size:.52rem;font-weight:900;cursor:pointer;white-space:nowrap
}
.pb-focus-row-button:hover{border-color:#22d3ee;color:#fff}
.pb-offender-note-preview{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:0 8px 8px}
.pb-offender-note-preview>div{padding:7px;border:1px solid rgba(148,163,184,.1);border-radius:6px;background:#071321}
.pb-offender-note-preview span{display:block;color:#55b785;font-size:.47rem;font-weight:900;letter-spacing:.1em}
.pb-offender-note-preview p{margin:3px 0 0;color:#a9bfd3;font-size:.55rem;line-height:1.35}

.coordination-readonly .pb-focus-notes textarea{border-color:rgba(148,163,184,.08)}
#select-ppt-dashboard,#pb-edit-week,#pb-master-modal,#coordination-deck-panel,#coordination-ppt-panel{display:none!important}

@media(max-width:1500px){
  .pb-filterbar-hierarchy{grid-template-columns:minmax(250px,1.2fr) repeat(3,minmax(140px,1fr))}
}
@media(max-width:1050px){
  .pb-filterbar-hierarchy{grid-template-columns:1fr 1fr}
  .pb-filterbar-hierarchy .pb-filter-title{grid-column:1/-1}
  .pb-week-statusbar-excel{grid-template-columns:1fr 1fr}
  .pb-focus-source{min-width:0;width:100%}
}
@media(max-width:720px){
  .pb-filterbar-hierarchy{grid-template-columns:1fr}
  .pb-week-statusbar-excel{grid-template-columns:1fr}
  .pb-focus-card .pb-card-head{flex-direction:column}
  .pb-focus-source{flex-direction:column;align-items:stretch}
  .pb-focus-kpis{grid-template-columns:1fr 1fr}
  .pb-focus-notes{grid-template-columns:1fr}
}

/* Correção do fluxo Detalhar -> Item em Foco */
.pb-focus-row-button.active{border-color:#22d3ee;background:#0b5160;color:#fff}
.pb-offender-focused,.pb-activity-focused{border-color:rgba(34,211,238,.55)!important;box-shadow:inset 3px 0 0 #22d3ee}
.pb-focus-card.pb-focus-flash{animation:pbFocusFlash 1.35s ease}
@keyframes pbFocusFlash{
  0%,100%{box-shadow:none}
  30%{box-shadow:0 0 0 2px rgba(34,211,238,.45),0 0 24px rgba(34,211,238,.16)}
}

/* Previsto e Realizado com o mesmo peso visual */
.pb-planned-box{
  position:relative!important;
  background:#102b48!important;
  border-color:#3b82f6!important;
  box-shadow:inset 5px 0 #3b82f6!important;
}
.pb-planned-box small,.pb-planned-box strong{color:#fff!important}

/* Curadoria master da Reunião de Coordenação */
.pb-hide-row-button{
  border:1px solid rgba(239,68,68,.32);
  border-radius:6px;
  background:rgba(239,68,68,.08);
  color:#fca5a5;
  padding:5px 8px;
  font-size:.52rem;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.pb-hide-row-button:hover{border-color:#ef4444;color:#fff}
.pb-hide-row-button.restore{
  border-color:rgba(34,197,94,.35);
  background:rgba(34,197,94,.09);
  color:#86efac;
}
.pb-offender-hidden-admin{
  opacity:.48;
  border-style:dashed!important;
}
.pb-curation-mode .pb-offender-hidden-admin::after{
  content:'OCULTO NA APRESENTAÇÃO';
  display:block;
  margin:6px 8px 0;
  color:#fca5a5;
  font-size:.48rem;
  font-weight:900;
  letter-spacing:.11em;
}
#pb-curation-master-modal.hidden{display:none!important}
#pb-curation-master-modal{display:grid!important}
#pb-curation-edit{display:inline-grid!important;place-items:center}
.pb-curation-mode #pb-curation-edit{
  border-color:#22d3ee!important;
  background:rgba(34,211,238,.14)!important;
  color:#fff!important;
}
.pb-curation-mode .pb-offender-head{
  grid-template-columns:24px minmax(0,1fr) auto auto auto;
}

/* Curadoria: itens ocultos só aparecem no modo master; na apresentação somem sem indicador. */
#pb-curation-master-modal{z-index:1200}
.pb-curation-mode .pb-hide-row-button{display:inline-flex;align-items:center;justify-content:center}


/* ===== Ajustes PB 28/09 — CPL, curadoria e registro fotográfico ===== */
.sidebar-brand{display:flex;align-items:center;gap:9px}
.cpl-sidebar-logo{
  display:inline-grid;place-items:center;min-width:42px;height:24px;padding:0 7px;
  border:1px solid rgba(34,211,238,.38);border-radius:6px;
  background:linear-gradient(135deg,rgba(34,211,238,.18),rgba(30,114,255,.18));
  color:#e8fbff;font-size:.68rem;font-weight:950;letter-spacing:.08em
}
.sidebar-brand-name{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}

.pb-photo-actions{display:flex;align-items:center;gap:8px}
.pb-photo-import-button{
  padding:7px 10px;border:1px solid rgba(34,211,238,.32);border-radius:7px;
  background:rgba(34,211,238,.09);color:#8be9f6;font-size:.58rem;font-weight:900;cursor:pointer
}
.pb-photo-import-button:hover{border-color:#22d3ee;background:rgba(34,211,238,.15);color:#fff}
.pb-photo-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;
  padding:10px 12px 12px;min-height:145px
}
.pb-photo-grid .pb-photo-empty{grid-column:1/-1}
.pb-photo-item{
  position:relative;margin:0;overflow:hidden;border:1px solid rgba(148,163,184,.14);
  border-radius:9px;background:#071321
}
.pb-photo-item img{display:block;width:100%;height:155px;object-fit:cover;background:#02070d}
.pb-photo-item figcaption{display:grid;gap:3px;padding:7px 8px}
.pb-photo-item figcaption span{color:#22d3ee;font-size:.48rem;font-weight:900;letter-spacing:.09em}
.pb-photo-item figcaption strong{overflow:hidden;color:#dceaf7;font-size:.56rem;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){
  .pb-photo-grid{grid-template-columns:1fr}
  .pb-photo-actions{width:100%;justify-content:flex-start}
}


/* Registro fotográfico persistente por Etapa Nível 5 */
.pb-photo-import-button:disabled{opacity:.4;cursor:not-allowed}
.pb-photo-item{min-height:155px}
.pb-photo-item img{height:190px}
.pb-photo-item-pending{border-style:dashed;border-color:rgba(245,158,11,.45)}
.pb-photo-pending{
  position:absolute;left:7px;bottom:7px;padding:4px 6px;border-radius:5px;
  background:rgba(7,19,33,.88);color:#fcd34d;font-size:.46rem;font-weight:900;letter-spacing:.08em
}
.pb-photo-admin{
  position:absolute;right:7px;top:7px;display:flex;gap:5px;padding:4px;
  border-radius:7px;background:rgba(7,19,33,.9);backdrop-filter:blur(4px)
}
.pb-photo-admin button{
  padding:5px 7px;border:1px solid rgba(34,211,238,.32);border-radius:5px;
  background:rgba(34,211,238,.08);color:#a7eef7;font-size:.49rem;font-weight:900;cursor:pointer
}
.pb-photo-admin button.danger{border-color:rgba(239,68,68,.38);background:rgba(239,68,68,.11);color:#fca5a5}
.pb-photo-admin button:hover{color:#fff}


/* Destaques da semana abaixo do registro fotográfico */
.pb-week-highlights-card{margin-top:12px}
.pb-week-highlights-card .pb-lookahead-list{padding:10px 12px 12px}


/* Pareto: ocupar toda a caixa sem perder área com rótulos longos das barras */
.pb-pareto{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.pb-pareto-chart-wrap{
  flex:1;
  height:auto!important;
  min-height:165px;
  margin-top:4px;
}
.pb-pareto-chart-wrap canvas{
  width:100%!important;
  height:100%!important;
}
.pb-pareto-legend{
  flex:0 0 auto;
  margin-top:3px;
}


/* Destaques da semana: somente título, com edição manual no modo master */
.pb-week-highlights-card .pb-activity-copy.pb-highlight-copy{
  display:flex;
  align-items:center;
  min-width:0;
}
.pb-week-highlights-card .pb-highlight-title{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#e8f3ff;
  font-size:.64rem;
  font-weight:900;
}
.pb-highlight-title-input{
  width:100%;
  min-width:0;
  padding:6px 8px;
  border:1px solid rgba(34,211,238,.38);
  border-radius:6px;
  background:#071321;
  color:#fff;
  font:inherit;
  font-size:.64rem;
  font-weight:900;
  outline:none;
}
.pb-highlight-title-input:focus{
  border-color:#22d3ee;
  box-shadow:0 0 0 2px rgba(34,211,238,.10);
}


/* Destaques manuais quando não houver destaques automáticos */
.pb-manual-highlight-add{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:9px 10px;
}
.pb-manual-highlight-add input{
  min-width:0;
  padding:7px 9px;
  border:1px solid rgba(34,211,238,.32);
  border-radius:6px;
  background:#071321;
  color:#fff;
  font-size:.62rem;
  outline:none;
}
.pb-manual-highlight-add input:focus{border-color:#22d3ee}
.pb-manual-highlight-add button,
.pb-highlight-delete{
  padding:6px 9px;
  border:1px solid rgba(34,211,238,.32);
  border-radius:6px;
  background:rgba(34,211,238,.08);
  color:#a7eef7;
  font-size:.52rem;
  font-weight:900;
  cursor:pointer;
}
.pb-highlight-delete{
  border-color:rgba(239,68,68,.36);
  background:rgba(239,68,68,.10);
  color:#fca5a5;
}
.pb-manual-highlight-empty>span{
  display:block;
  padding:10px 12px 0;
  color:#8fa3b8;
  font-size:.58rem;
}


/* Legendas editáveis do registro fotográfico */
.pb-photo-caption,
.pb-photo-item figcaption{
  display:block;
  padding:7px 9px 8px;
  color:#dceaf7;
  font-size:.58rem;
  font-weight:800;
  line-height:1.3;
  background:#071321;
  border-top:1px solid rgba(148,163,184,.12);
}
.pb-photo-caption-input{
  width:100%;
  box-sizing:border-box;
  padding:6px 8px;
  border:1px solid rgba(34,211,238,.34);
  border-radius:6px;
  background:#081827;
  color:#fff;
  font-size:.58rem;
  font-weight:800;
  outline:none;
}
.pb-photo-caption-input:focus{
  border-color:#22d3ee;
  box-shadow:0 0 0 2px rgba(34,211,238,.10);
}


/* Destaques da semana: H1 + H2 e numeração sempre verde */
.pb-week-highlights-card .pb-highlight-row{
  border-left:3px solid #2dd4bf;
}
.pb-week-highlights-card .pb-highlight-number{
  background:#e9f7ef!important;
  color:#237a45!important;
  border:1px solid #bfe7cd!important;
}
.pb-highlight-display{
  display:grid;
  gap:3px;
  min-width:0;
}
.pb-highlight-title{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#f4fbff;
  font-size:.66rem;
  font-weight:950;
}
.pb-highlight-subtitle{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#89a0b7;
  font-size:.54rem;
  font-weight:700;
}
.pb-highlight-edit-stack{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  width:100%;
}
.pb-highlight-edit-stack label,
.pb-manual-highlight-add-two label{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:6px;
  align-items:center;
  min-width:0;
}
.pb-highlight-edit-stack label>span,
.pb-manual-highlight-add-two label>span{
  display:inline-grid;
  place-items:center;
  min-width:24px;
  height:22px;
  padding:0 4px;
  border-radius:5px;
  background:rgba(45,212,191,.10);
  border:1px solid rgba(45,212,191,.28);
  color:#71e6d5;
  font-size:.49rem;
  font-weight:950;
}
.pb-highlight-title-input,
.pb-highlight-subtitle-input{
  width:100%;
  min-width:0;
  box-sizing:border-box;
  padding:6px 8px;
  border:1px solid rgba(34,211,238,.38);
  border-radius:6px;
  background:#071321;
  color:#fff;
  font-size:.6rem;
  font-weight:850;
  outline:none;
}
.pb-highlight-subtitle-input{
  color:#c6d4e2;
  font-weight:700;
}
.pb-highlight-title-input:focus,
.pb-highlight-subtitle-input:focus{
  border-color:#22d3ee;
  box-shadow:0 0 0 2px rgba(34,211,238,.10);
}
.pb-manual-highlight-add-two{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
}
@media(max-width:900px){
  .pb-highlight-edit-stack{grid-template-columns:1fr}
  .pb-manual-highlight-add-two{grid-template-columns:1fr}
}


/* Inserir/excluir Destaques da Semana no modo master */
.pb-highlight-master-actions{
  display:grid;
  gap:7px;
  padding:7px 10px 10px;
  border-top:1px solid rgba(148,163,184,.10);
}
.pb-highlight-restore-all{
  justify-self:start;
  padding:6px 9px;
  border:1px solid rgba(34,211,238,.30);
  border-radius:6px;
  background:rgba(34,211,238,.07);
  color:#9feaf3;
  font-size:.52rem;
  font-weight:900;
  cursor:pointer;
}
.pb-highlight-restore-all:hover{
  border-color:#22d3ee;
  color:#fff;
}


/* Filtro de fase — página Análises */
.analysis-filter-bar{
  display:flex;
  align-items:end;
  gap:14px;
  margin-bottom:14px;
  padding:12px 14px;
  border:1px solid rgba(100,140,180,.24);
  border-radius:12px;
  background:#0e2136;
}
.analysis-filter-bar label{
  display:grid;
  gap:6px;
  min-width:320px;
}
.analysis-filter-bar label>span{
  color:#78a7d8;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.14em;
}
.analysis-filter-bar select{
  width:100%;
  padding:9px 11px;
  border:1px solid rgba(100,140,180,.35);
  border-radius:7px;
  background:#071727;
  color:#f4f8fc;
  font-weight:800;
  outline:none;
}
.analysis-filter-bar select:focus{border-color:#22d3ee}
.analysis-filter-bar small{
  padding-bottom:9px;
  color:#8fa7be;
  font-size:.72rem;
}
@media(max-width:760px){
  .analysis-filter-bar{display:grid}
  .analysis-filter-bar label{min-width:0}
}


/* Layout arrastável da Reunião de Coordenação — liberado somente no modo master */
.pb-layout-drag-handle{
  display:none;
  margin-left:auto;
  padding:4px 7px;
  border:1px dashed rgba(34,211,238,.45);
  border-radius:6px;
  background:rgba(34,211,238,.08);
  color:#9eeaf5;
  font-size:.52rem;
  font-weight:900;
  letter-spacing:.02em;
  cursor:grab;
  user-select:none;
  white-space:nowrap;
}
.pb-curation-mode .pb-layout-drag-handle{
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.pb-curation-mode .pb-layout-drag-handle:active{cursor:grabbing}
.pb-curation-mode [data-pb-layout-card]{
  outline:1px dashed rgba(34,211,238,.16);
  outline-offset:2px;
}
.pb-layout-dragging{
  opacity:.46;
  transform:scale(.995);
}
.pb-column.pb-layout-dropzone{
  min-height:90px;
  border-radius:10px;
  box-shadow:inset 0 0 0 2px rgba(34,211,238,.20);
}
.pb-layout-reset{
  display:none;
  padding:6px 9px;
  border:1px solid rgba(245,158,11,.35);
  border-radius:6px;
  background:rgba(245,158,11,.08);
  color:#fcd58a;
  font-size:.52rem;
  font-weight:900;
  cursor:pointer;
}
.pb-curation-mode .pb-layout-reset{display:inline-flex}
.pb-layout-reset.hidden{display:none!important}


/* Revisão gerencial 28/09: Desvio com o mesmo peso visual de Previsto/Realizado */
.pb-gap-box.pb-progress-box{
  display:flex;
  grid-template-columns:none;
  align-items:center;
  justify-content:space-between;
  min-height:66px;
  padding:10px;
  background:#2a1720!important;
  border-color:#ef4444!important;
  box-shadow:inset 5px 0 #ef4444!important;
}
.pb-gap-box.pb-progress-box>div{display:block}
.pb-gap-box.pb-progress-box small{
  display:block;
  color:#fca5a5!important;
  font-size:.62rem;
  letter-spacing:.08em;
}
.pb-gap-box.pb-progress-box .pb-gap-value{
  display:block;
  margin-top:4px;
  padding:0;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:1.6rem;
  line-height:1;
  font-weight:900;
}
.pb-gap-source{
  display:block;
  margin-top:7px;
  color:#8fa4bd!important;
  font-size:.54rem!important;
  white-space:normal!important;
}

/* Métricas Nível 4 — edição/ocultação no modo master */
.pb-metric-title-input{
  min-width:0;
  width:100%;
  padding:5px 7px;
  border:1px solid rgba(34,211,238,.34);
  border-radius:6px;
  background:#071321;
  color:#fff;
  font:inherit;
  font-size:.62rem;
  font-weight:900;
  outline:none;
}
.pb-metric-title-input:focus{border-color:#22d3ee}
.pb-metric-admin{
  display:flex;
  justify-content:flex-end;
  margin-top:7px;
}
.pb-metric-admin button{
  padding:5px 8px;
  border:1px solid rgba(239,68,68,.32);
  border-radius:6px;
  background:rgba(239,68,68,.08);
  color:#fca5a5;
  font-size:.49rem;
  font-weight:900;
  cursor:pointer;
}
.pb-metric-admin button.restore{
  border-color:rgba(34,197,94,.34);
  background:rgba(34,197,94,.08);
  color:#86efac;
}
.pb-metric-hidden-admin{
  opacity:.45;
  border-style:dashed!important;
}

/* Item em foco passa a integrar o layout arrastável e inicia no final */
.pb-layout{
  grid-template-areas:none!important;
}
.pb-column-full{
  grid-column:1/-1;
  width:100%;
}
.pb-column-full .pb-focus-card{
  width:100%;
  margin-bottom:0;
}
@media(max-width:1350px){
  .pb-column-full{grid-column:1}
}

.pb-column-full:empty{min-height:0}
.pb-curation-mode .pb-column-full:empty{
  min-height:72px;
  border:1px dashed rgba(34,211,238,.28);
  border-radius:10px;
}


/* Pareto por Agrupamento (Nível 4) usando AB */
.pb-pareto-chart-wrap{
  min-height:205px;
}
.pb-pareto{
  padding-bottom:7px;
}


/* Avanço Físico: reduz a coluna dos KPIs e amplia o Pareto */
.pb-physical-grid{
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr)!important;
  gap:12px;
}
.pb-progress-stack{
  min-width:0;
}
.pb-pareto{
  min-width:0;
  width:100%;
}
.pb-pareto-chart-wrap{
  width:100%;
}
@media(max-width:1100px){
  .pb-physical-grid{
    grid-template-columns:minmax(210px,.82fr) minmax(0,1.18fr)!important;
  }
}
@media(max-width:760px){
  .pb-physical-grid{
    grid-template-columns:1fr!important;
  }
}


/* Avanço Físico: 25% KPIs / 75% Pareto */
.pb-physical-grid{
  grid-template-columns:minmax(190px,25%) minmax(0,75%)!important;
}
@media(max-width:1100px){
  .pb-physical-grid{
    grid-template-columns:minmax(200px,32%) minmax(0,68%)!important;
  }
}
@media(max-width:760px){
  .pb-physical-grid{
    grid-template-columns:1fr!important;
  }
}


/* Cabeçalho da Reunião de Coordenação no formato compacto da referência */
.pb-filterbar.pb-filterbar-hierarchy{
  display:grid!important;
  grid-template-columns:minmax(0,2.35fr) minmax(245px,.65fr)!important;
  gap:12px 18px!important;
  align-items:start!important;
  padding:12px 14px 14px!important;
}
.pb-filter-main{
  min-width:0;
  display:grid;
  gap:10px;
}
.pb-filter-title{
  align-items:flex-start!important;
}
.pb-filter-title>div{
  min-width:0;
}
.pb-filter-title .pb-save-feedback{
  min-width:0;
  margin-top:4px;
  text-align:left;
  font-size:.53rem;
  line-height:1.2;
}
.pb-filter-title .pb-save-feedback:empty{
  display:none;
}
.pb-filter-controls{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px 12px;
  align-items:end;
}
.pb-filter-controls>label{
  min-width:0;
}
.pb-filter-controls .pb-filter-component{
  grid-column:span 2;
}
.pb-filter-side{
  min-width:0;
  display:grid;
  gap:8px;
  align-self:stretch;
}
.pb-filter-side .pb-week-actions{
  grid-column:auto!important;
  justify-content:flex-end;
  padding-top:0;
  min-height:34px;
}
.pb-filter-side .pb-week-statusbar{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
  margin:0!important;
  align-content:start;
}
.pb-filter-side .pb-source-box{
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  padding:7px 9px!important;
}
.pb-filter-side .pb-source-box:first-child{
  border-top-left-radius:7px!important;
  border-top-right-radius:7px!important;
}
.pb-filter-side .pb-source-box:last-child{
  border-bottom-left-radius:7px!important;
  border-bottom-right-radius:7px!important;
}
.pb-filter-side .pb-source-box+ .pb-source-box{
  border-top:0!important;
}
@media(max-width:1250px){
  .pb-filterbar.pb-filterbar-hierarchy{
    grid-template-columns:1fr!important;
  }
  .pb-filter-side{
    grid-template-columns:1fr;
  }
  .pb-filter-side .pb-week-statusbar{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .pb-filter-side .pb-source-box{
    border:1px solid rgba(148,163,184,.15)!important;
    border-radius:9px!important;
  }
}
@media(max-width:820px){
  .pb-filter-controls{
    grid-template-columns:1fr 1fr;
  }
  .pb-filter-controls .pb-filter-component{
    grid-column:span 1;
  }
  .pb-filter-side .pb-week-statusbar{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:560px){
  .pb-filter-controls{
    grid-template-columns:1fr;
  }
}


/* Avanço Físico: 15% KPIs / 85% Pareto */
.pb-physical-grid{
  grid-template-columns:minmax(155px,15%) minmax(0,85%)!important;
  gap:12px;
}
@media(max-width:1250px){
  .pb-physical-grid{
    grid-template-columns:minmax(180px,22%) minmax(0,78%)!important;
  }
}
@media(max-width:900px){
  .pb-physical-grid{
    grid-template-columns:minmax(190px,30%) minmax(0,70%)!important;
  }
}
@media(max-width:760px){
  .pb-physical-grid{
    grid-template-columns:1fr!important;
  }
}


/* Avanço Físico — KPIs no topo e Pareto ocupando toda a largura abaixo */
.pb-physical-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  padding:10px 13px 13px!important;
}
.pb-progress-stack{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  width:100%!important;
}
.pb-progress-box,
.pb-gap-box.pb-progress-box{
  min-height:72px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.pb-pareto{
  width:100%!important;
  min-width:0!important;
}
.pb-pareto-chart-wrap{
  height:245px!important;
  min-height:245px!important;
  width:100%!important;
}
.pb-summary-note{
  display:none!important;
}
@media(max-width:760px){
  .pb-progress-stack{
    grid-template-columns:1fr!important;
  }
  .pb-pareto-chart-wrap{
    height:210px!important;
    min-height:210px!important;
  }
}


/* Reunião de Coordenação: status ao lado do título e sem título duplicado externo */
.pb-filter-headrow{
  display:grid;
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:14px;
  align-items:stretch;
}
.pb-week-status-inline{
  display:grid!important;
  grid-template-columns:1.15fr 1.2fr 1fr!important;
  gap:8px!important;
  margin:0!important;
  align-items:stretch!important;
}
.pb-week-status-inline .pb-source-box{
  border:1px solid rgba(148,163,184,.15)!important;
  border-radius:9px!important;
  padding:8px 9px!important;
}
.pb-filter-side{
  align-self:start!important;
}
.pb-filter-side .pb-week-actions{
  padding-top:0!important;
}
#page-pb.active ~ *{}
@media(max-width:1250px){
  .pb-filter-headrow{
    grid-template-columns:1fr;
  }
  .pb-week-status-inline{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .pb-week-status-inline{
    grid-template-columns:1fr!important;
  }
}


/* Logo oficial CPL Construtora EPC-15 */
.cpl-brand-image{
  display:block;
  flex:0 0 auto;
  object-fit:contain;
  object-position:center;
  background:transparent;
}
.cpl-brand-image-sidebar{
  width:66px;
  height:44px;
}
.cpl-brand-image-pb{
  width:72px;
  height:48px;
}
.sidebar-brand{
  align-items:center;
}
.pb-filter-title{
  align-items:center!important;
}
@media(max-width:760px){
  .cpl-brand-image-sidebar{
    width:58px;
    height:39px;
  }
  .cpl-brand-image-pb{
    width:62px;
    height:42px;
  }
}


/* Cabeçalho da coordenação: status distribuído de ponta a ponta */
.pb-filterbar.pb-filterbar-hierarchy{
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:14px!important;
}
.pb-filter-main{
  width:100%;
}
.pb-filter-headrow{
  grid-template-columns:minmax(250px,.62fr) minmax(0,2.38fr)!important;
  gap:12px!important;
  width:100%;
}
.pb-week-status-inline{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
}
.pb-week-status-inline .pb-source-box{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.pb-week-status-inline .pb-source-box>small:empty{
  display:none;
}
.pb-filter-side{
  width:max-content;
}
.pb-filter-side .pb-week-actions{
  white-space:nowrap;
}
@media(max-width:1250px){
  .pb-filterbar.pb-filterbar-hierarchy{
    grid-template-columns:1fr!important;
  }
  .pb-filter-headrow{
    grid-template-columns:1fr!important;
  }
  .pb-filter-side{
    width:100%;
  }
}


/* Fundo branco para melhorar a leitura da logo CPL */
.cpl-brand-image-sidebar,
.cpl-brand-image-pb{
  background:#fff!important;
  border-radius:8px!important;
  padding:4px 6px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(0,0,0,.14)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.18)!important;
}


/* Apresentações Gerencial / Coordenação — ajuste de leitura e curvas físicas */
.slide-head-copy{
  min-width:0;
  max-width:82%;
}
.slide-head h2{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1.04;
}
.slide-head h2.slide-title-long{
  font-size:clamp(1.35rem,2.45vw,2.65rem)!important;
  letter-spacing:-.045em;
}
.slide-head h2.slide-title-xlong{
  font-size:clamp(1.15rem,2.05vw,2.25rem)!important;
  letter-spacing:-.045em;
}
.slide-kpis{
  margin:2.1% 0!important;
}
.slide-kpi{
  min-width:0;
  overflow:hidden;
  padding:6.2%!important;
}
.slide-kpi strong{
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:clamp(1rem,1.75vw,2rem)!important;
  letter-spacing:-.035em;
  line-height:1.05;
}
.slide-grid{
  height:52%!important;
  grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)!important;
  gap:2%!important;
}
.slide-panel{
  min-width:0;
}
.slide-panel-with-curve{
  display:flex;
  flex-direction:column;
  padding:3.2%!important;
}
.slide-panel-with-curve>h3{
  margin-bottom:2%!important;
}
.slide-bars-compact{
  gap:5%!important;
  margin-bottom:2.3%;
  flex:0 0 auto;
}
.slide-curve-block{
  display:flex;
  flex:1;
  min-height:0;
  flex-direction:column;
  margin-top:2px;
}
.slide-curve-label{
  color:#d9e8f7;
  font-size:clamp(.6rem,.9vw,.9rem);
  font-weight:900;
}
.slide-curve-legend{
  display:flex;
  flex-wrap:wrap;
  gap:6px 12px;
  margin:3px 0 2px;
  color:#8fa4bd;
  font-size:clamp(.42rem,.57vw,.62rem);
}
.slide-curve-legend span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}
.slide-curve-legend i{
  width:14px;
  height:2px;
  border-radius:999px;
}
.slide-curve-wrap{
  flex:1;
  min-height:0;
  width:100%;
}
.slide-curve-svg{
  display:block;
  width:100%;
  height:100%;
  min-height:125px;
}
.slide-no-curve{
  display:grid;
  place-items:center;
  flex:1;
  min-height:120px;
  border:1px dashed rgba(148,163,184,.16);
  border-radius:8px;
  color:#7890aa;
  font-size:clamp(.55rem,.8vw,.8rem);
  text-align:center;
}
.coordination-highlights-panel{
  height:52%;
  padding:2.5%!important;
}
.coordination-highlight-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.coordination-highlight-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:10px;
  border:1px solid rgba(148,163,184,.12);
  border-radius:9px;
  background:rgba(5,16,30,.45);
}
.coordination-highlight-row>span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:8px;
  background:#e8f7ec;
  color:#1f6c3b;
  font-size:.67rem;
  font-weight:900;
}
.coordination-highlight-row strong{
  display:block;
  color:#f3f8fd;
  font-size:clamp(.6rem,.85vw,.86rem);
}
.coordination-highlight-row small{
  display:block;
  margin-top:4px;
  color:#8fa4bd;
  font-size:clamp(.5rem,.68vw,.7rem);
  line-height:1.25;
}
.slide-empty-presentation{
  display:grid;
  place-items:center;
  height:52%;
  color:#8fa4bd;
  text-align:center;
}

/* Título da curva simplificado */
.financial-title-copy h2{
  text-transform:none!important;
}


/* KPIs das apresentações com o mesmo padrão visual do BI */
.slide-kpi{
  position:relative;
  border-left:4px solid var(--slide-kpi-accent,#60a5fa)!important;
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.03);
}
.slide-kpi::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,color-mix(in srgb,var(--slide-kpi-accent,#60a5fa) 10%,transparent),transparent 42%);
  border-radius:inherit;
}
.slide-kpi>span,
.slide-kpi>strong{
  position:relative;
  z-index:1;
}


/* Apresentações: Previsto / Realizado / Desvio acima da Curva Física */
.slide-bars-compact{
  gap:7px!important;
  margin-bottom:14px!important;
}
.slide-progress-row{
  min-width:0;
}
.slide-progress-row .slide-bar-label{
  margin-bottom:3px!important;
}
.slide-progress-row.negative .slide-bar-label strong{
  color:#f87171!important;
}
.slide-progress-row.positive .slide-bar-label strong{
  color:#4ade80!important;
}
.progress-track .bar.deviation{
  background:#22c55e!important;
}
.progress-track .bar.deviation.negative{
  background:#ef4444!important;
}
.progress-track .bar.deviation.positive{
  background:#22c55e!important;
}

/* Mais espaço vertical para a Curva Física em todas as telas da apresentação */
.slide-grid{
  height:56%!important;
}
.slide-panel-with-curve{
  padding:2.7%!important;
}
.slide-panel-with-curve>h3{
  margin-bottom:1.5%!important;
}
.slide-curve-block{
  margin-top:10px!important;
}
.slide-curve-wrap{
  min-height:0!important;
}
.slide-curve-svg{
  min-height:175px!important;
  height:100%!important;
}
.slide-no-curve{
  min-height:175px!important;
}
@media(min-height:850px){
  .slide-grid{
    height:58%!important;
  }
  .slide-curve-svg,
  .slide-no-curve{
    min-height:205px!important;
  }
}


/* Apresentações: aumenta a área útil dos painéis para a Curva Física caber inteira */
.presentation .slide{
  box-sizing:border-box;
  padding:2.55% 4.2%!important;
}
.presentation .slide-head{
  padding-bottom:1.45%!important;
}
.presentation .slide-kpis{
  margin:1.55% 0!important;
}
.presentation .slide-grid{
  height:62%!important;
  min-height:0!important;
}
.presentation .slide-panel{
  height:100%;
  box-sizing:border-box;
}
.presentation .slide-panel-with-curve{
  min-height:0!important;
}
.presentation .slide-curve-block{
  margin-top:12px!important;
  min-height:0!important;
}
.presentation .slide-curve-wrap{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden;
}
.presentation .slide-curve-svg{
  min-height:0!important;
  height:100%!important;
}
.presentation .slide-no-curve{
  min-height:0!important;
  height:100%!important;
}
@media(min-height:850px){
  .presentation .slide-grid{
    height:64%!important;
  }
}


/* Painel Gerencial — Desvio no mesmo padrão visual dos KPIs */
.progress-comparison .variance-callout{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:2px;
  padding:16px 18px 16px 20px!important;
  border:1px solid rgba(148,163,184,.16)!important;
  border-radius:12px;
  background:linear-gradient(145deg,rgba(16,31,51,.94),rgba(8,20,35,.94));
  color:#8da3bc;
  overflow:hidden;
}
.progress-comparison .variance-callout::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:#64748b;
}
.progress-comparison .variance-callout span{
  color:#8da3bc;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.progress-comparison .variance-callout strong{
  font-size:1.75rem;
  line-height:1;
  font-weight:900;
}
.progress-comparison .variance-callout.negative{
  border-color:rgba(239,68,68,.42)!important;
  background:linear-gradient(90deg,rgba(239,68,68,.12),rgba(8,20,35,.94) 42%);
}
.progress-comparison .variance-callout.negative::before{
  background:#ef4444;
}
.progress-comparison .variance-callout.negative strong{
  color:#f87171!important;
}
.progress-comparison .variance-callout.positive{
  border-color:rgba(34,197,94,.38)!important;
  background:linear-gradient(90deg,rgba(34,197,94,.11),rgba(8,20,35,.94) 42%);
}
.progress-comparison .variance-callout.positive::before{
  background:#22c55e;
}
.progress-comparison .variance-callout.positive strong{
  color:#4ade80!important;
}
.progress-comparison .variance-callout.neutral::before{
  background:#64748b;
}


/* Painel Gerencial — Desvio com a mesma proporção de Previsto/Realizado */
.progress-comparison .variance-callout{
  display:block!important;
  margin-top:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.progress-comparison .variance-callout::before{
  display:none!important;
}
.progress-comparison .variance-callout .progress-label{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  margin-bottom:9px!important;
  color:#b8c7d8!important;
  font-size:.83rem!important;
}
.progress-comparison .variance-callout .progress-label span{
  color:#b8c7d8!important;
  font-size:.83rem!important;
  font-weight:400!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.progress-comparison .variance-callout .progress-label strong{
  font-size:.83rem!important;
  line-height:normal!important;
  font-weight:800!important;
}
.progress-comparison .variance-callout .progress-track{
  height:9px!important;
}
.progress-comparison .variance-callout .bar.variance{
  background:linear-gradient(90deg,#64748b,#94a3b8);
}
.progress-comparison .variance-callout .bar.variance.negative{
  background:linear-gradient(90deg,#dc2626,#f87171)!important;
}
.progress-comparison .variance-callout .bar.variance.positive{
  background:linear-gradient(90deg,#16a34a,#4ade80)!important;
}
.progress-comparison .variance-callout.negative,
.progress-comparison .variance-callout.positive,
.progress-comparison .variance-callout.neutral{
  border:0!important;
  background:transparent!important;
}


/* Reunião de Coordenação — Pareto mais compacto */
.pb-physical-card .pb-pareto-chart-wrap{
  height:190px!important;
  min-height:190px!important;
}
.pb-physical-card .pb-pareto{
  padding-bottom:5px!important;
}
@media(max-width:1100px){
  .pb-physical-card .pb-pareto-chart-wrap{
    height:175px!important;
    min-height:175px!important;
  }
}


/* Sidebar — botão para voltar ao portal principal */
.sidebar-back-button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  padding:10px 12px;
  border:1px solid rgba(34,211,238,.22);
  border-radius:9px;
  background:rgba(34,211,238,.07);
  color:#8bc9ff;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}
.sidebar-back-button:hover{
  background:rgba(34,211,238,.14);
  border-color:rgba(34,211,238,.38);
  color:#fff;
}
.sidebar-back-button span{
  color:inherit;
  font-size:1rem;
  line-height:1;
}


/* Métricas Nível 4 — filtro múltiplo com caixas de seleção */
.pb-metric-stage-filter{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:0 0 14px!important;
  padding:0 1px;
}
.pb-metric-filter-label{
  flex:0 0 auto;
  color:#8fa4bd;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.08em;
}
.pb-metric-multiselect{
  position:relative;
  flex:1;
  min-width:0;
}
.pb-metric-multiselect>summary{
  position:relative;
  width:100%;
  min-height:36px;
  display:flex;
  align-items:center;
  padding:8px 38px 8px 12px;
  border:1px solid #41546b;
  border-radius:7px;
  background:#071321;
  color:#e8f2fc;
  font-size:.72rem;
  font-weight:700;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.pb-metric-multiselect>summary::-webkit-details-marker{display:none}
.pb-metric-multiselect>summary::after{
  content:"⌄";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-55%);
  color:#cfe2f5;
  font-size:.9rem;
}
.pb-metric-multiselect[open]>summary{
  border-color:#22d3ee;
  box-shadow:0 0 0 2px rgba(34,211,238,.08);
}
.pb-metric-multiselect[open]>summary::after{
  content:"⌃";
}
.pb-metric-filter-options{
  position:absolute;
  z-index:80;
  top:calc(100% + 6px);
  left:0;
  right:0;
  max-height:300px;
  overflow:auto;
  padding:8px;
  border:1px solid rgba(34,211,238,.28);
  border-radius:9px;
  background:#08182a;
  box-shadow:0 18px 38px rgba(0,0,0,.42);
}
.pb-metric-check-all,
.pb-metric-check-option{
  display:flex!important;
  align-items:flex-start!important;
  gap:9px!important;
  width:100%;
  padding:8px 9px;
  border-radius:7px;
  color:#d8e7f6!important;
  cursor:pointer;
  letter-spacing:0!important;
  font-size:.7rem!important;
}
.pb-metric-check-all:hover,
.pb-metric-check-option:hover{
  background:rgba(34,211,238,.08);
}
.pb-metric-check-all input,
.pb-metric-check-option input{
  flex:0 0 auto;
  width:15px;
  height:15px;
  margin:1px 0 0;
  accent-color:#22d3ee;
}
.pb-metric-check-option>span{
  min-width:0;
  display:flex;
  flex:1;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.pb-metric-check-option strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#eef6ff;
  font-size:.7rem;
}
.pb-metric-check-option small{
  flex:0 0 auto;
  color:#607a95;
  font-size:.58rem;
}
.pb-metric-check-option.is-hidden{
  opacity:.55;
}
.pb-metric-check-divider{
  height:1px;
  margin:4px 0;
  background:rgba(148,163,184,.13);
}
@media(max-width:760px){
  .pb-metric-stage-filter{
    align-items:stretch!important;
    flex-direction:column;
  }
  .pb-metric-filter-options{
    position:static;
    margin-top:6px;
  }
}


/* Métricas: Agrupamento N4 (H) + Etapas N6 (J) com valores V/W/X/Y/Z/AB */
.pb-metric-header-note{
  display:block;
  margin-top:3px;
  color:#68809a;
  font-size:.52rem;
  font-weight:600;
  letter-spacing:0;
  white-space:normal;
}
.pb-metric-filter-columns{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:10px;
}
.pb-metric-filter-section{
  min-width:0;
}
.pb-metric-filter-section-title{
  padding:5px 7px;
  color:#6f8aa8;
  font-size:.56rem;
  font-weight:900;
  letter-spacing:.08em;
}
.pb-metric-group{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);
  gap:10px;
  padding:8px;
  border:1px solid rgba(148,163,184,.13);
  border-radius:10px;
  background:#0a192b;
}
.pb-metric-group>.pb-metric{
  align-self:start;
  height:auto;
}
.pb-metric-level-chip,
.pb-stage-list-title{
  margin-bottom:6px;
  color:#607a95;
  font-size:.5rem;
  font-weight:900;
  letter-spacing:.09em;
}
.pb-stage-list{
  min-width:0;
  display:grid;
  gap:6px;
  align-content:start;
}
.pb-stage-detail{
  padding:7px 8px;
  border:1px solid rgba(148,163,184,.13);
  border-radius:7px;
  background:#071321;
}
.pb-stage-detail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:6px;
}
.pb-stage-detail-head strong{
  min-width:0;
  overflow:hidden;
  color:#f3f8fd;
  font-size:.66rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pb-stage-detail-head span{
  flex:0 0 auto;
  color:#607a95;
  font-size:.5rem;
}
.pb-stage-values{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:5px;
}
.pb-stage-value{
  min-width:0;
  padding:5px 6px;
  border:1px solid rgba(148,163,184,.1);
  border-radius:5px;
  background:#0b1c30;
}
.pb-stage-value small{
  display:block;
  overflow:hidden;
  color:#64809d;
  font-size:.45rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pb-stage-value strong{
  display:block;
  margin-top:2px;
  overflow:hidden;
  color:#dbeafb;
  font-size:.58rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pb-stage-detail-critical .pb-stage-value:last-child strong{color:#f87171}
.pb-stage-detail-attention .pb-stage-value:last-child strong{color:#facc15}
.pb-stage-detail-good .pb-stage-value:last-child strong{color:#4ade80}
.pb-stage-empty{
  display:grid;
  place-items:center;
  min-height:74px;
  padding:12px;
  border:1px dashed rgba(148,163,184,.16);
  border-radius:7px;
  color:#6c839c;
  font-size:.58rem;
  text-align:center;
}
.pb-metrics-grid{
  grid-template-columns:1fr!important;
  gap:8px!important;
}
@media(max-width:1100px){
  .pb-metric-group{
    grid-template-columns:1fr;
  }
  .pb-stage-values{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .pb-metric-filter-columns{
    grid-template-columns:1fr;
  }
  .pb-stage-values{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* Métricas — layout compacto e legível */
.pb-metric-filter-options{
  right:auto!important;
  width:min(720px,calc(100vw - 48px))!important;
  max-width:100%!important;
  max-height:220px!important;
  padding:6px!important;
  overflow:auto!important;
}
.pb-metric-filter-columns{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:6px!important;
}
.pb-metric-filter-section{
  min-width:0!important;
}
.pb-metric-filter-section-title{
  padding:3px 6px!important;
  font-size:.5rem!important;
  letter-spacing:.07em!important;
}
.pb-metric-check-all,
.pb-metric-check-option{
  gap:7px!important;
  padding:5px 6px!important;
  min-height:28px;
}
.pb-metric-check-all input,
.pb-metric-check-option input{
  width:14px!important;
  height:14px!important;
  margin-top:1px!important;
}
.pb-metric-check-option>span{
  align-items:flex-start!important;
  gap:6px!important;
}
.pb-metric-check-option strong{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.15!important;
  font-size:.64rem!important;
}
.pb-metric-check-option small{
  max-width:42%;
  white-space:normal!important;
  line-height:1.12;
  text-align:right;
  font-size:.5rem!important;
}
.pb-metric-multiselect>summary{
  min-height:34px!important;
  padding:7px 34px 7px 10px!important;
  font-size:.68rem!important;
}

/* Cards: mais espaço para nomes completos e etapa ao lado */
.pb-metric-group{
  grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr)!important;
  gap:8px!important;
  padding:7px!important;
}
.pb-metric-group>.pb-metric{
  padding:8px 10px!important;
}
.pb-metric-head{
  align-items:flex-start!important;
}
.pb-metric-head strong,
.pb-metric-title-input{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.2!important;
}
.pb-stage-list{
  gap:5px!important;
}
.pb-stage-detail{
  padding:7px 8px!important;
}
.pb-stage-detail-head strong{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.18!important;
}
.pb-stage-values{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:4px!important;
}
.pb-stage-value{
  padding:5px!important;
}
.pb-stage-value small{
  white-space:normal!important;
  line-height:1.08!important;
  min-height:2.1em;
}
.pb-stage-value strong{
  font-size:.6rem!important;
}

/* títulos técnicos removidos visualmente caso restem em cache antigo */
.pb-metric-level-chip,
.pb-stage-list-title{
  display:none!important;
}

@media(max-width:950px){
  .pb-metric-filter-options{
    width:min(620px,calc(100vw - 32px))!important;
  }
  .pb-metric-filter-columns{
    grid-template-columns:1fr!important;
  }
  .pb-metric-group{
    grid-template-columns:1fr!important;
  }
  .pb-stage-values{
    grid-template-columns:repeat(5,minmax(72px,1fr))!important;
    overflow-x:auto;
  }
}
@media(max-width:620px){
  .pb-metric-filter-options{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:18vh!important;
    width:auto!important;
    max-width:none!important;
    max-height:56vh!important;
  }
}


/* Painel Gerencial: quatro KPIs, sem Avanço Geral duplicado */
#executive-kpis{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
@media(max-width:1150px){
  #executive-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:760px){
  #executive-kpis{grid-template-columns:1fr!important;}
}

/* Etapas: comparação vertical Previsto x Realizado em % e quantidade */
.pb-stage-values{
  display:none!important;
}
.pb-stage-compare-list{
  display:grid;
  gap:6px;
}
.pb-stage-compare-row{
  display:grid;
  grid-template-columns:minmax(145px,.9fr) minmax(0,1.1fr);
  align-items:center;
  gap:10px;
  min-height:32px;
  padding:6px 8px;
  border:1px solid rgba(148,163,184,.11);
  border-radius:6px;
  background:#0b1c30;
}
.pb-stage-compare-row>span{
  color:#7590ab;
  font-size:.54rem;
  font-weight:700;
}
.pb-stage-compare-row>div{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:7px;
  text-align:right;
}
.pb-stage-compare-row b,
.pb-stage-compare-row strong{
  min-width:0;
  color:#e8f2fc;
  font-size:.68rem;
  font-style:normal;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.pb-stage-compare-row b{
  color:#9db4cb;
  text-align:left;
}
.pb-stage-compare-row i{
  color:#4d6b89;
  font-size:.62rem;
  font-style:normal;
}
.pb-stage-compare-ab{
  grid-template-columns:minmax(145px,1fr) auto;
}
.pb-stage-compare-ab>div{
  display:block;
}
.pb-stage-detail-critical .pb-stage-compare-ab strong{color:#f87171}
.pb-stage-detail-attention .pb-stage-compare-ab strong{color:#facc15}
.pb-stage-detail-good .pb-stage-compare-ab strong{color:#4ade80}

@media(max-width:620px){
  .pb-stage-compare-row{
    grid-template-columns:1fr;
    gap:4px;
  }
  .pb-stage-compare-ab{
    grid-template-columns:1fr auto;
  }
}

/* Reunião de Coordenação: agrupamento ao lado da tabela compacta de etapas. */
.pb-metrics-card{container-type:inline-size}
.pb-metrics-card .pb-card-head{padding:12px!important;gap:8px!important}
.pb-metrics-card .pb-card-head h3{font-size:.72rem!important;line-height:1.25}
.pb-metrics-card .pb-title-inline{gap:8px;flex-wrap:wrap}
.pb-metrics-card .pb-muted-chip{font-size:.58rem;white-space:nowrap}
.pb-metrics-card .pb-metric-stage-filter{padding:0 12px;margin-bottom:10px!important}
.pb-metrics-card .pb-metrics-grid{padding:0 12px 12px}
.pb-metrics-card .pb-metric-group{grid-template-columns:minmax(0,.38fr) minmax(0,.62fr)!important;gap:8px!important;padding:6px!important;align-items:start}
.pb-metrics-card .pb-metric-group>.pb-metric{min-width:0;padding:8px!important}
.pb-metrics-card .pb-metric-head strong{font-size:.64rem;overflow-wrap:anywhere}
.pb-metrics-card .pb-metric-head b{font-size:.6rem;white-space:nowrap}
.pb-metrics-card .pb-metric-track{margin:6px 0;height:5px}
.pb-metrics-card .pb-metric-foot{font-size:.52rem;gap:5px}
.pb-metrics-card .pb-metric-context{font-size:.48rem;line-height:1.3}
.pb-metrics-card .pb-stage-list{display:block;overflow-x:auto;border:1px solid rgba(148,163,184,.13);border-radius:7px;background:#071321}
.pb-stage-table{width:100%;min-width:320px;border-collapse:separate;border-spacing:4px 5px;table-layout:fixed}
.pb-stage-table th,.pb-stage-table td{padding:3px 4px!important;border:0!important;text-align:center;vertical-align:middle;white-space:normal!important;overflow-wrap:anywhere}
.pb-stage-table thead th{color:#7590ab;font-size:.48rem;font-weight:700;line-height:1.15;background:transparent}
.pb-stage-table th:first-child{width:20%;text-align:left}
.pb-stage-table tbody th{color:#f3f8fd;font-size:.6rem;font-weight:800;line-height:1.2}
.pb-stage-table td{background:#0b1c30;border-radius:3px}
.pb-stage-table td strong{color:#e8f2fc;font-size:.61rem;font-weight:900;line-height:1.2}
.pb-stage-table-row-critical .pb-stage-table-deviation strong{color:#f87171}
.pb-stage-table-row-attention .pb-stage-table-deviation strong{color:#facc15}
.pb-stage-table-row-good .pb-stage-table-deviation strong{color:#4ade80}
@container(max-width:480px){.pb-metrics-card .pb-metric-group{grid-template-columns:1fr!important}}

/* Agrupamento estreito, altura guiada pelas etapas e rótulos uniformes. */
.pb-metrics-card .pb-metric-group{grid-template-columns:minmax(135px,.27fr) minmax(0,.73fr)!important;align-items:stretch!important}
.pb-metrics-card .pb-metric-group>.pb-metric{align-self:stretch!important;display:flex;flex-direction:column;justify-content:center;height:auto!important;min-height:0!important}
.pb-metrics-card .pb-metric-head{gap:6px}
.pb-metrics-card .pb-metric-head strong{font-size:.62rem;line-height:1.2!important}
.pb-metrics-card .pb-metric-context{display:grid;gap:3px;margin-top:5px}
.pb-metrics-card .pb-metric-foot{flex-wrap:wrap}
.pb-metrics-card .pb-stage-table{min-width:360px}
.pb-metrics-card .pb-stage-table th:first-child{width:24%}
.pb-metrics-card .pb-stage-table tbody tr{height:36px}
.pb-metrics-card .pb-stage-table tbody th{font-size:.58rem;line-height:1.2;word-break:normal;overflow-wrap:normal!important}
.pb-metrics-card .pb-stage-table td strong{font-size:.59rem}
.pb-metrics-card .pb-stage-table thead th{font-size:.47rem;overflow-wrap:normal!important}
@container(max-width:480px){.pb-metrics-card .pb-metric-group{grid-template-columns:1fr!important}}

/* Filtro de métricas expandido, sem corte pela borda do card. */
#pb-metric-filter-details{width:100%;min-width:0}
#pb-metric-filter-options{
  position:static!important;inset:auto!important;width:100%!important;max-width:none!important;
  height:clamp(280px,50vh,440px)!important;max-height:none!important;
  margin-top:8px;padding:10px!important;overflow:hidden!important;box-sizing:border-box;
}
#pb-metric-filter-options .pb-metric-filter-columns{
  height:100%;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;gap:12px!important;
}
#pb-metric-filter-options .pb-metric-filter-section{
  min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px;
}
#pb-metric-filter-options .pb-metric-check-option{padding:7px 6px!important}
@media(max-width:620px){
  #pb-metric-filter-options{height:clamp(300px,55vh,480px)!important;overflow-y:auto!important}
  #pb-metric-filter-options .pb-metric-filter-columns{height:auto;grid-template-columns:1fr!important}
  #pb-metric-filter-options .pb-metric-filter-section{max-height:220px}
}

/* Filtro em árvore: agrupamento e etapas subordinadas com seleção individual. */
#pb-metric-filter-options{overflow-y:auto!important;padding:10px 12px!important}
.pb-metric-tree{display:grid;gap:8px}
.pb-metric-tree-group{border:1px solid rgba(148,163,184,.14);border-radius:8px;padding:5px 8px;background:#071321}
.pb-metric-tree-parent strong{color:#e8f2fc!important;font-size:.72rem!important}
.pb-metric-tree-children{margin:2px 0 5px 14px;padding-left:16px;border-left:1px solid #41546b}
.pb-metric-tree-child{position:relative}
.pb-metric-tree-child::before{content:"";position:absolute;left:-16px;top:17px;width:12px;border-top:1px solid #41546b}
#pb-metric-filter-options .pb-metric-tree-child strong{font-size:.67rem!important}
.pb-metric-tree-parent{background:rgba(34,211,238,.05)}
