/* Component styles consolidated from classic-script layers.
   Order matches the previous runtime injection order to preserve cascade behavior. */

/* js/core/model-bridge.js — block 1 */
.v5-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
  .v5-panelgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-top:12px}
  .v5-box{border:1px solid var(--border);border-radius:10px;background:#fbfaf9;padding:12px;overflow:auto}
  .v5-box h3{font-size:13px;color:var(--green);margin-bottom:8px}
  .v5-table{width:100%;border-collapse:collapse;font-size:11.5px}
  .v5-table th{font-size:9.5px;text-transform:uppercase;color:var(--muted);text-align:left;border-bottom:2px solid var(--border);padding:6px;white-space:nowrap}
  .v5-table td{border-bottom:1px solid #eee;padding:5px 6px;vertical-align:middle}
  .v5-table tr:hover td{background:#fff}
  .v5-table input,.v5-table select{font:inherit;border:1px solid var(--border);border-radius:5px;padding:4px 5px;max-width:180px;background:#fff}
  .v5-muted{color:var(--muted);font-size:10.5px}
  .v5-load{font-weight:800;padding:3px 7px;border-radius:10px;display:inline-block;min-width:55px;text-align:center;background:#edf4ed;color:var(--green)}
  .v5-load.warn{background:#fff3d8;color:#8a5b00}.v5-load.bad{background:#fde8e6;color:var(--red)}
  .v5-kpis{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
  .v5-kpi{border:1px solid var(--border);border-radius:9px;background:#fff;padding:8px 12px;min-width:135px}
  .v5-kpi b{display:block;font-size:17px;color:var(--dark)}.v5-kpi span{font-size:9.5px;text-transform:uppercase;color:var(--muted);font-weight:700}
  .v5-formline{display:flex;gap:7px;align-items:end;flex-wrap:wrap;margin:8px 0 12px}
  .v5-formline label{font-size:9.5px;text-transform:uppercase;color:var(--muted);font-weight:700;display:flex;flex-direction:column;gap:3px}
  .v5-formline input,.v5-formline select{font:inherit;border:1px solid var(--border);border-radius:6px;padding:5px 7px;background:#fff}
  .v5-dialog{border:0;border-radius:12px;padding:0;box-shadow:0 18px 60px rgba(0,0,0,.28);width:min(620px,92vw)}
  .v5-dialog::backdrop{background:rgba(30,30,30,.45)}
  .v5-dialog form{padding:18px}.v5-dialog h2{color:var(--green);font-size:17px;margin-bottom:12px}
  .v5-dialog .grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.v5-dialog label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase}
  .v5-dialog input,.v5-dialog select{display:block;width:100%;font:inherit;margin-top:3px;padding:6px 7px;border:1px solid var(--border);border-radius:6px}
  .v5-dialog .wide{grid-column:1/-1}.v5-dialog menu{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
  .v5-audit pre{white-space:pre-wrap;max-width:780px;font:10px ui-monospace,Consolas,monospace;background:#f6f5f3;padding:8px;border-radius:6px;margin-top:5px}
  @media(max-width:700px){.v5-dialog .grid{grid-template-columns:1fr}}

/* js/modules/portfolio-features.js — block 1 */
.v12-topnav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.v12-project-jump{font:inherit;font-size:11px;border:1px solid var(--border);border-radius:9px;padding:6px 8px;background:#fff;max-width:255px}
.v12-status,.v12-pill{display:inline-flex;align-items:center;gap:4px;border-radius:12px;padding:3px 8px;font-size:10px;font-weight:800;white-space:nowrap;background:#eee;color:#555}.v12-status.GREEN{background:#e7f3e7;color:#355536}.v12-status.YELLOW{background:#fff2ce;color:#8a5b00}.v12-status.RED{background:#fde3e0;color:#a32920}.v12-status.GRAY{background:#eee;color:#666}
.v12-priority.CRITICAL{background:#fde3e0;color:#a32920}.v12-priority.HIGH{background:#fff2ce;color:#8a5b00}.v12-priority.MEDIUM{background:#eef0f7;color:#40506b}.v12-priority.LOW{background:#edf4ed;color:#355536}
.v12-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0}.v12-card{background:#fff;border:1px solid var(--border);border-radius:11px;padding:12px}.v12-card .big{font-size:24px;font-weight:900;color:var(--dark)}.v12-card .lbl{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:800}.v12-card .sub{font-size:11px;color:var(--muted);margin-top:4px}
.v12-section{margin-top:15px;border-top:1px solid #eee;padding-top:12px}.v12-section h3{font-size:13px;color:var(--green);margin-bottom:7px}.v12-toolbar{display:flex;gap:7px;align-items:end;flex-wrap:wrap;margin:9px 0}.v12-toolbar label{font-size:9.5px;color:var(--muted);font-weight:800;text-transform:uppercase;display:flex;flex-direction:column;gap:3px}.v12-toolbar input,.v12-toolbar select,.v12-toolbar textarea{font:inherit;border:1px solid var(--border);border-radius:6px;padding:5px 7px;background:#fff}.v12-toolbar textarea{min-width:260px;min-height:55px}
.v12-project-meta{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 2px}.v12-progress{height:7px;background:#eee;border-radius:5px;overflow:hidden;min-width:130px}.v12-progress i{display:block;height:100%;background:var(--green)}
.v12-risk-score{font-weight:900;display:inline-block;min-width:27px;text-align:center;border-radius:9px;padding:2px 5px;background:#edf4ed}.v12-risk-score.hi{background:#fde3e0;color:var(--red)}.v12-risk-score.mid{background:#fff2ce;color:#8a5b00}
.v12-conflict td{background:#fff0ed!important}.v12-ok td{background:#f7faf7}.v12-note{font-size:11px;line-height:1.45;color:#555;background:#f7f6f4;border-radius:8px;padding:8px 10px;margin-top:7px}.v12-empty{font-size:11px;color:var(--muted);padding:9px}
.v12-tabs-mini{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.v12-tabs-mini button{font:inherit;font-size:10.5px;border:1px solid var(--border);background:#fff;border-radius:12px;padding:4px 9px;cursor:pointer}
.v12-bar-drag{cursor:grab!important}.v12-bar-drag:active{cursor:grabbing!important}.v12-handle{position:absolute;top:0;bottom:0;width:7px;background:rgba(255,255,255,.6);z-index:8;cursor:ew-resize;opacity:0}.bar:hover .v12-handle{opacity:1}.v12-handle.l{left:0;border-radius:4px 0 0 4px}.v12-handle.r{right:0;border-radius:0 4px 4px 0}
.tl.v12-dependency-host{position:relative}.bar[data-activity-id],.marco[data-activity-id]{z-index:8}.v12-dependency-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:6}.v12-dep-halo{fill:none;stroke:rgba(255,255,255,.96);stroke-width:6;stroke-linejoin:round;stroke-linecap:round}.v12-dep-line{fill:none;stroke:#355536;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.v12-dep-line.conflict{stroke:var(--red)}.v12-dep-lag{font-size:9px;font-weight:800;fill:var(--muted);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.v12-link-out,.v12-link-in{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:var(--amber);border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.20);transform:translateY(-50%);z-index:12;cursor:crosshair;opacity:0;transition:opacity .12s,transform .12s}.v12-link-out{right:-9px}.v12-link-in{left:-9px}.bar:hover>.v12-link-out,.marco:hover>.v12-link-out{opacity:1}.v12-link-mode .v12-link-in{opacity:1}.v12-link-mode .bar[data-activity-id],.v12-link-mode .marco[data-activity-id]{cursor:crosshair!important}.v12-link-source{outline:2px solid var(--amber);outline-offset:2px}.v12-link-source>.v12-link-out{opacity:1;transform:translateY(-50%) scale(1.25)}.v12-link-hint{position:absolute;right:8px;top:4px;z-index:20;background:rgba(58,54,47,.94);color:#fff;padding:6px 10px;border-radius:14px;font-size:10px;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.18);pointer-events:none}.v12-link-legend{display:inline-flex;align-items:center;gap:7px;margin-left:8px;font-size:10px;color:var(--muted)}.v12-link-legend i{display:inline-block;width:20px;height:0;border-top:2px solid #355536}.v12-link-legend i.bad{border-color:var(--red)}
.v12-dialog{border:0;border-radius:13px;padding:0;box-shadow:0 20px 70px rgba(0,0,0,.3);width:min(760px,94vw)}.v12-dialog::backdrop{background:rgba(20,20,20,.45)}.v12-dialog form{padding:18px}.v12-dialog h2{font-size:17px;color:var(--green);margin-bottom:12px}.v12-dialog .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.v12-dialog .wide{grid-column:1/-1}.v12-dialog label{font-size:9.5px;font-weight:800;color:var(--muted);text-transform:uppercase}.v12-dialog input,.v12-dialog select,.v12-dialog textarea{display:block;width:100%;margin-top:3px;font:inherit;padding:6px 7px;border:1px solid var(--border);border-radius:6px}.v12-dialog textarea{min-height:70px}.v12-dialog menu{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
.v12-scenario-delta.good{color:var(--green);font-weight:800}.v12-scenario-delta.bad{color:var(--red);font-weight:800}.v12-integrity.good{border-left:4px solid var(--green)}.v12-integrity.warn{border-left:4px solid var(--amber)}
@media(max-width:720px){.v12-dialog .grid{grid-template-columns:1fr}.v12-dialog .wide{grid-column:auto}}

/* js/modules/portfolio-features.js — block 2 */
/* conectores */
.v12-dependency-svg{z-index:7}.v124-dep-line{fill:none;stroke:#667865;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:.95}.v124-dep-line.conflict{stroke:#cf3f34;stroke-dasharray:7 4}.v124-dep-halo{fill:none;stroke:rgba(255,255,255,.98);stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.v124-dep-node{fill:#fff;stroke:#667865;stroke-width:2}.v124-dep-node.conflict{stroke:#cf3f34}.v124-dep-badge{font-size:9px;font-weight:900;fill:#fff;text-anchor:middle;dominant-baseline:central}.v124-dep-badge-bg{fill:#cf3f34;stroke:#fff;stroke-width:2}
.v12-link-out,.v12-link-in{width:11px;height:11px;background:#fff;border:2px solid #667865;box-shadow:0 0 0 2px rgba(255,255,255,.8),0 1px 4px rgba(0,0,0,.25)}.v12-link-source>.v12-link-out{border-color:var(--amber);background:var(--amber)}
/* progresso dentro da barra */
.bar{overflow:visible}.bar .txt{z-index:5}.v124-progress-fill{position:absolute;left:0;top:0;bottom:0;background:rgba(25,35,25,.22);border-radius:inherit;pointer-events:none;z-index:2}.v124-progress-handle{position:absolute;top:auto;bottom:-6px;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.28),0 1px 3px rgba(0,0,0,.22);z-index:11;cursor:ew-resize;opacity:.72}.bar:hover>.v124-progress-handle{opacity:1}.v124-progress-handle::after{content:attr(data-pct) '%';position:absolute;left:50%;bottom:calc(100% + 4px);transform:translateX(-50%);font-size:9px;font-weight:900;color:#fff;background:#3a362f;padding:2px 5px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none}.v124-progress-handle:hover::after,.v124-progress-handle.dragging::after{opacity:1}
/* linha de base */
.v124-baseline-seg{position:absolute;height:4px;top:22px;border-radius:3px;background:repeating-linear-gradient(90deg,#7d7a76 0 7px,transparent 7px 11px);opacity:.72;z-index:4;pointer-events:none}.v124-baseline-seg.small{top:21px;height:3px}.v124-baseline-key{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.v124-baseline-key i{width:26px;height:4px;display:inline-block;background:repeating-linear-gradient(90deg,#7d7a76 0 7px,transparent 7px 11px)}
/* acompanhamento */
.v124-progress-grid{display:grid;grid-template-columns:minmax(180px,1.7fr) minmax(180px,2fr) 72px 72px;gap:6px 10px;align-items:center;font-size:11px}.v124-progress-grid .head{font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted);padding-bottom:3px;border-bottom:1px solid #eee}.v124-progress-grid input[type=range]{width:100%}.v124-progress-num{font-weight:900;text-align:center}.v124-replan-kpis{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.v124-replan-kpi{border:1px solid var(--border);border-radius:9px;background:#fff;padding:7px 10px;min-width:125px}.v124-replan-kpi b{display:block;font-size:16px}.v124-delay.good{color:var(--green)}.v124-delay.bad{color:var(--red)}.v124-replan-history td{font-size:10.5px}.v124-replan-reason{max-width:260px;white-space:normal}.v124-project-progressbar{height:9px;min-width:170px;background:#eceae7;border-radius:6px;overflow:hidden;display:inline-block;vertical-align:middle}.v124-project-progressbar i{height:100%;display:block;background:var(--green)}
/* modal motivo */
.v124-replan-dialog{border:0;border-radius:12px;padding:0;box-shadow:0 18px 60px rgba(0,0,0,.3);width:min(520px,92vw)}.v124-replan-dialog::backdrop{background:rgba(20,20,20,.45)}.v124-replan-dialog form{padding:17px}.v124-replan-dialog h2{font-size:16px;color:var(--green);margin-bottom:8px}.v124-replan-dialog .sub{font-size:11px;color:var(--muted);margin-bottom:12px;line-height:1.45}.v124-replan-dialog label{display:block;font-size:9.5px;text-transform:uppercase;font-weight:800;color:var(--muted);margin-top:8px}.v124-replan-dialog select,.v124-replan-dialog textarea{width:100%;font:inherit;border:1px solid var(--border);border-radius:7px;padding:6px;margin-top:3px}.v124-replan-dialog textarea{min-height:65px}.v124-replan-dialog menu{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}

/* js/modules/portfolio-features.js — block 3 */
.v125-progress-summary{align-items:center}.v125-progress-summary .v124-project-progressbar{order:0;min-width:220px;height:12px}.v125-progress-summary .v12-pill{order:1}
.v125-health{border:1px solid var(--border);border-left:5px solid #999;border-radius:11px;background:#fff;padding:11px 13px;margin:10px 0 13px}.v125-health.GREEN{border-left-color:var(--green)}.v125-health.YELLOW{border-left-color:var(--amber)}.v125-health.RED{border-left-color:var(--red)}
.v125-health-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.v125-health-title{font-size:14px;font-weight:900}.v125-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px;margin-top:9px}.v125-metric{background:#f7f6f4;border-radius:8px;padding:7px 9px}.v125-metric .k{font-size:9px;text-transform:uppercase;color:var(--muted);font-family:inherit;font-weight:800}.v125-metric .v{font-size:15px;font-weight:900;margin-top:2px}.v125-compare{display:flex;align-items:center;gap:7px;margin-top:9px}.v125-compare .v12-progress{flex:1;height:11px;position:relative}.v125-planned-mark{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--orange);z-index:3}.v125-reasons,.v125-actions{font-size:10.5px;margin-top:8px;line-height:1.45}.v125-actions b{color:var(--dark)}.v125-method{margin-top:7px;font-size:10px;color:var(--muted)}
.v125-image-box{display:flex;gap:12px;align-items:center;border:1px solid var(--border);border-radius:9px;padding:8px;background:#faf9f7}.v125-image-preview{width:150px;height:90px;object-fit:contain;background:#fff;border:1px solid var(--border);border-radius:7px}.v125-image-controls{flex:1}.v125-image-controls input{margin-top:5px}.v125-image-remove{margin-top:7px;display:flex!important;align-items:center;gap:6px;text-transform:none!important}.v125-image-remove input{width:auto!important;margin:0!important}
@media(max-width:720px){.v125-image-box{align-items:flex-start;flex-direction:column}.v125-image-preview{width:100%;height:150px}}

/* js/modules/portfolio-features.js — block 4 */
.v126-doc{max-width:1500px}.v126-doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--border)}
.v126-doc-head h2{margin-bottom:4px}.v126-doc-ver{font-size:10px;color:var(--muted);margin-top:5px}.v126-doc-actions{display:flex;gap:7px;flex-wrap:wrap}
.v126-toc{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 16px}.v126-toc button{font:inherit;font-size:10.5px;font-weight:750;border:1px solid var(--border);background:#fff;border-radius:15px;padding:5px 10px;cursor:pointer;color:var(--green)}.v126-toc button:hover{border-color:var(--green);background:#f5f8f5}
.v126-doc section{scroll-margin-top:12px;margin:18px 0 0;padding-top:4px}.v126-doc section>h3{font-size:15px;color:var(--green);margin-bottom:7px;padding-bottom:6px;border-bottom:1px solid #eeece9}.v126-doc h4{font-size:12.5px;color:var(--dark);margin:12px 0 5px}
.v126-lead{font-size:12px;line-height:1.6;max-width:115ch}.v126-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:9px;margin:10px 0}.v126-card{border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px 12px}.v126-card h4{margin:0 0 5px;color:var(--green)}.v126-card p,.v126-card li{font-size:11px;line-height:1.5}.v126-card ul{margin:5px 0 0 17px}
.v126-flow{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin:9px 0}.v126-flow span{border:1px solid var(--border);border-radius:8px;background:#fbfaf9;padding:6px 9px;font-size:10.5px;font-weight:750}.v126-flow b{color:var(--orange)}
.v126-formula{font-family:ui-monospace,Consolas,monospace;background:#f6f5f3;border:1px solid #e4e1dd;border-radius:8px;padding:9px 11px;font-size:11px;line-height:1.55;margin:6px 0;white-space:pre-wrap}
.v126-note{border-left:4px solid var(--amber);background:#fff8e8;padding:8px 10px;border-radius:7px;font-size:10.5px;line-height:1.5;margin:7px 0}.v126-good{border-left-color:var(--green);background:#f3f8f3}.v126-bad{border-left-color:var(--red);background:#fff1ef}
.v126-method-table{width:100%;border-collapse:collapse;font-size:10.5px;margin:8px 0}.v126-method-table th{text-align:left;color:var(--muted);font-size:9px;text-transform:uppercase;border-bottom:2px solid var(--border);padding:6px}.v126-method-table td{border-bottom:1px solid #efedeb;padding:7px 6px;vertical-align:top;line-height:1.45}.v126-method-table tr:hover td{background:#fbfaf9}
.v126-health-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.v126-health-dot.g{background:var(--green)}.v126-health-dot.y{background:var(--amber)}.v126-health-dot.r{background:var(--red)}
.v126-glossary dt{font-weight:850;color:var(--dark);font-size:11px;margin-top:7px}.v126-glossary dd{margin:2px 0 0 0;font-size:10.5px;line-height:1.45;color:#555}
.v126-mini-bar{width:180px;height:10px;border-radius:7px;background:#e9e7e4;position:relative;display:inline-block;vertical-align:middle;overflow:hidden}.v126-mini-bar i{display:block;height:100%;width:58%;background:var(--green)}.v126-mini-bar b{position:absolute;left:72%;top:-2px;bottom:-2px;width:2px;background:var(--orange)}
.v126-doc code{font-family:ui-monospace,Consolas,monospace;font-size:10.5px;background:#f2f1ef;padding:1px 4px;border-radius:4px}
@media print{body.v126-print header,body.v126-print #tabs,body.v126-print .actions,body.v126-print .v126-doc-actions,body.v126-print .v126-toc{display:none!important}body.v126-print{background:#fff;padding:0}body.v126-print #view{display:block!important}.v126-doc{max-width:none}.v126-doc section{break-inside:avoid}.v126-card{break-inside:avoid}}

/* js/modules/identity.js — block 1 */
.v13-user-chip{display:inline-flex;align-items:center;gap:7px;margin-left:auto;border:1px solid var(--border);background:#fff;border-radius:16px;padding:4px 9px;font-size:10px;color:#555;white-space:nowrap}.v13-user-chip b{color:var(--green)}.v15-dev-user-select{font:inherit;font-size:9.5px;border:0;border-left:1px solid var(--border);padding-left:6px;background:#fff;color:#555;max-width:175px}.v13-mode{font-size:8.5px;font-weight:900;border-radius:8px;padding:2px 5px;background:#fff2ce;color:#8a5b00}.v13-mode.entra{background:#e8f0ff;color:#2856a5}
.v13-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;margin-top:12px}.v13-box{border:1px solid var(--border);border-radius:11px;background:#fbfaf9;padding:12px;overflow:auto}.v13-box h3{font-size:13px;color:var(--green);margin-bottom:7px}.v13-auth-banner{border-left:5px solid var(--amber);background:#fff8e8;border-radius:9px;padding:10px 12px;font-size:11px;line-height:1.5}.v13-auth-banner.ready{border-left-color:var(--green);background:#f1f8f1}.v13-auth-banner b{display:block;margin-bottom:2px}.v13-config{display:grid;grid-template-columns:180px 1fr;gap:4px 10px;font-size:10.5px}.v13-config dt{font-weight:800;color:var(--muted)}.v13-config dd{font-family:ui-monospace,Consolas,monospace;overflow-wrap:anywhere}.v13-role-tags{display:flex;gap:4px;flex-wrap:wrap}.v13-role-tag{font-size:9px;font-weight:800;background:#eef1ed;color:var(--green);padding:2px 6px;border-radius:9px}.v13-missing{color:var(--red);font-weight:800}.v13-admin-note{font-size:10.5px;color:var(--muted);line-height:1.5;margin:6px 0}.v13-inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.v13-inline input,.v13-inline select{font:inherit;font-size:10.5px;border:1px solid var(--border);border-radius:6px;padding:5px 6px;background:#fff}.v13-table{width:100%;border-collapse:collapse;font-size:10.5px}.v13-table th{font-size:8.8px;text-transform:uppercase;text-align:left;color:var(--muted);border-bottom:2px solid var(--border);padding:5px}.v13-table td{border-bottom:1px solid #eceae7;padding:6px 5px;vertical-align:middle}.v13-table tr:hover td{background:#fff}.v13-source{font-size:8.5px;border-radius:8px;padding:2px 5px;background:#eee;color:#666}.v13-source.ENTRA{background:#e8f0ff;color:#2856a5}.v13-source.DEVELOPMENT{background:#fff2ce;color:#8a5b00}.v13-lock{font-size:10px;color:var(--muted)}

/* js/modules/progress.js — block 1 */
.v161-progress-table{width:100%;border-collapse:collapse;font-size:10.5px}.v161-progress-table th{text-align:left;font-size:8.5px;text-transform:uppercase;color:var(--muted);padding:6px;border-bottom:2px solid var(--border)}.v161-progress-table td{padding:7px 6px;border-bottom:1px solid #eee;vertical-align:middle}.v161-progress-table tr:hover td{background:#fbfaf8}
.v161-maturity{font-weight:850;color:var(--dark)}.v161-maturity small{display:block;color:var(--muted);font-weight:500;margin-top:2px;max-width:250px}
.v161-quality{display:inline-flex;align-items:center;gap:4px;border-radius:12px;padding:3px 7px;font-size:9px;font-weight:850}.v161-quality.HIGH{background:#e6f3e7;color:#2d6c35}.v161-quality.MEDIUM{background:#fff3d5;color:#8a6200}.v161-quality.LOW{background:#fde7e3;color:#a23a30}.v161-quality.NOT_REQUIRED{background:#efefef;color:#666}
.v161-signal{font-size:9.5px;line-height:1.45}.v161-signal.blocked{color:var(--red);font-weight:850}.v161-signal.attention{color:#9a6800;font-weight:750}
.v161-update-btn{white-space:nowrap}.v161-updated{font-size:9px;color:var(--muted);white-space:nowrap}
.v161-dialog{border:0;border-radius:13px;padding:0;width:min(660px,94vw);box-shadow:0 18px 60px rgba(0,0,0,.32)}.v161-dialog::backdrop{background:rgba(20,20,20,.48)}.v161-dialog form{padding:18px}.v161-dialog h2{font-size:16px;color:var(--green);margin:0 0 4px}.v161-dialog .intro{font-size:10.5px;color:var(--muted);line-height:1.45;margin-bottom:10px}.v161-dialog .grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}.v161-dialog label{display:block;font-size:9px;text-transform:uppercase;font-weight:850;color:var(--muted)}.v161-dialog select,.v161-dialog input,.v161-dialog textarea{width:100%;font:inherit;border:1px solid var(--border);border-radius:7px;padding:7px;margin-top:3px;background:#fff}.v161-dialog textarea{min-height:78px;resize:vertical}.v161-dialog .wide{grid-column:1/-1}.v161-dialog menu{display:flex;justify-content:flex-end;gap:7px;margin-top:14px}.v161-rule{font-size:9.5px;background:#f7f6f3;border-radius:7px;padding:7px 9px;margin-top:8px;color:#595650}.v161-required-note{color:var(--red);font-weight:800}
.v161-history{margin-top:10px}.v161-history td{font-size:9.5px}.v161-history .note{max-width:300px;white-space:normal}
.v161-qbox{border:1px solid var(--border);border-radius:9px;padding:8px 10px;background:#fff}.v161-qbox b{font-size:14px}
.v161-no-drag{cursor:pointer!important}
@media(max-width:900px){.v161-progress-table{display:block;overflow-x:auto}.v161-dialog .grid{grid-template-columns:1fr}}

/* js/integrations/jira.js — block 1 */
.v162-jira-section{margin-top:12px}.v162-jira-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.v162-jira-head h3{margin-bottom:3px}
.v162-jira-status{display:inline-flex;align-items:center;gap:5px;border-radius:14px;padding:4px 8px;font-size:9px;font-weight:850;background:#efefef;color:#666}.v162-jira-status.on{background:#e6f3e7;color:#286333}.v162-jira-status.wait{background:#fff3d5;color:#805b00}.v162-jira-status.err{background:#fde7e3;color:#a23a30}
.v162-jira-grid{display:grid;grid-template-columns:minmax(210px,1.1fr) minmax(320px,2fr);gap:8px;margin-top:9px}.v162-jira-act{border:1px solid var(--border);border-radius:9px;padding:9px;background:#fff}.v162-jira-act h4{margin:0 0 3px;font-size:11px}.v162-jira-links{display:flex;flex-direction:column;gap:6px}.v162-jira-link{border:1px solid #e5e2de;border-radius:8px;padding:8px;background:#fbfaf8}.v162-jira-link.auto{border-color:#a9c9ad;background:#f7fbf7;box-shadow:inset 3px 0 0 #4c8a55}.v162-jira-title{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.v162-jira-key{font-weight:900;color:#1557a0}.v162-jira-summary{font-size:10.5px;font-weight:750;color:#333}.v162-jira-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.v162-jira-chip{font-size:8.8px;border:1px solid #ddd9d4;border-radius:12px;padding:2px 6px;background:#fff;color:#555}.v162-jira-chip.done{background:#e8f3e8;color:#2c6533}.v162-jira-chip.warn{background:#fff2d8;color:#805b00}.v162-jira-chip.bad{background:#fde8e4;color:#9d392f}.v162-jira-chip.auto{background:#dff1e1;color:#255f2c;border-color:#bad8bd;font-weight:900}.v162-jira-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px;align-items:center}.v162-jira-reason{font-size:9px;line-height:1.45;color:#666;margin-top:5px}.v162-jira-empty{font-size:9.5px;color:var(--muted);padding:4px 0}.v162-jira-fresh{font-size:8.5px;color:var(--muted)}
.v163-auto-toggle{display:inline-flex!important;align-items:center;gap:6px!important;margin:0!important;text-transform:none!important;font-size:9.5px!important;color:#355536!important;font-weight:800!important;cursor:pointer}.v163-auto-toggle input{width:auto!important;margin:0!important;accent-color:#3f7946}.v163-auto-note{font-size:9px;line-height:1.45;color:#5b665c;background:#eef6ef;border:1px solid #d5e7d7;border-radius:7px;padding:7px 9px;margin-top:7px}.v163-auto-warning{font-size:9px;color:#8a6200;margin-top:5px}.v163-source{font-size:9px;font-weight:850;color:#2d6c35;margin-top:4px}
.v162-jira-dialog{border:0;border-radius:13px;padding:0;width:min(760px,95vw);box-shadow:0 18px 60px rgba(0,0,0,.32)}.v162-jira-dialog::backdrop{background:rgba(20,20,20,.48)}.v162-jira-dialog>div{padding:18px}.v162-jira-dialog h2{font-size:16px;color:var(--green);margin:0 0 4px}.v162-jira-dialog .intro{font-size:10.5px;color:var(--muted);line-height:1.45}.v162-jira-dialog>div>label:not(.v163-auto-toggle){display:block;font-size:9px;text-transform:uppercase;font-weight:850;color:var(--muted);margin-top:10px}.v162-jira-dialog input[type="text"],.v162-jira-dialog input:not([type]){width:100%;font:inherit;border:1px solid var(--border);border-radius:7px;padding:8px;margin-top:4px}.v162-jira-dialog menu{display:flex;justify-content:flex-end;gap:7px;margin:13px 0 0;padding:0}.v162-jira-info{background:#f7f6f3;border-radius:8px;padding:8px 10px;font-size:9.5px;line-height:1.5;margin-top:8px}
@media(max-width:900px){.v162-jira-grid{grid-template-columns:1fr}}

/* js/integrations/planner.js — block 1 */
.v19-planner-link{border:1px solid #d9d2ea;border-radius:9px;background:#faf8ff;padding:9px}.v19-planner-top{display:flex;justify-content:space-between;gap:8px}.v19-planner-top small{display:block;color:#777;font-size:9px;margin-top:2px}.v19-sync{font-size:8px;border-radius:9px;padding:2px 6px;height:max-content;background:#eee}.v19-sync.SYNCED{background:#e9f6ec;color:#27733a}.v19-sync.ERROR{background:#fdebea;color:#a2332d}.v19-planner-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;font-size:9.5px}.v19-planner-grid>div{border:1px solid #e5e0ed;border-radius:6px;background:#fff;padding:5px}.v19-planner-grid label{display:block;font-size:7.5px;text-transform:uppercase;color:#8a8392;font-weight:800}.v19-planner-actions{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.v19-planner-error{color:#a2332d;background:#fff0ef;border-left:3px solid #c44840;padding:6px;border-radius:5px;font-size:9px;margin-top:6px;overflow-wrap:anywhere}.v19-planner-empty{font-size:10px;color:#777}.v19-dialog{border:0;border-radius:12px;padding:0;width:min(570px,94vw);box-shadow:0 20px 70px rgba(0,0,0,.32)}.v19-dialog::backdrop{background:rgba(20,20,20,.45)}.v19-dialog form{padding:17px}.v19-dialog h2{font-size:16px;color:#355536;margin-bottom:6px}.v19-dialog label{display:block;font-size:9px;text-transform:uppercase;font-weight:800;color:#777;margin-top:10px}.v19-dialog select,.v19-dialog input,.v19-dialog textarea{width:100%;border:1px solid var(--border);border-radius:7px;padding:7px;font:inherit;margin-top:3px}.v19-dialog menu{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}.v19-info{font-size:9.5px;line-height:1.45;background:#f1f6fb;border-left:3px solid #3972b7;padding:7px;margin-top:10px;border-radius:5px}

/* js/modules/project-view.js — block 1 */
body.v17-drawer-open{overflow:hidden}
  .v17-project{position:relative}
  .v17-head{display:flex;gap:14px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:12px;flex-wrap:wrap}
  .v17-head .pimg{width:150px;height:88px}
  .v17-head-main{min-width:240px;flex:1}
  .v17-title{font-size:19px;font-weight:850;color:var(--dark)}
  .v17-title small{font-size:11px;color:var(--muted);font-weight:650;margin-left:7px}
  .v17-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}
  .v17-head-actions{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
  .v17-timeline-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;margin:8px 0 10px}
  .v17-timeline-head h2{margin:0;font-size:16px}
  .v17-timeline-head .hint{margin:2px 0 0}
  .v17-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
  .v17-search{height:29px;min-width:190px;border:1px solid var(--border);border-radius:14px;padding:0 10px;font:inherit;font-size:11px;background:#fff}
  .v17-board{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}
  .v17-axisbar{display:grid;grid-template-columns:minmax(180px,1.45fr) minmax(130px,1fr) 108px 94px 54px minmax(360px,3.3fr);align-items:end;background:#f8f6f2;border-bottom:1px solid #d9d3cb;min-height:49px}
  .v17-axisbar>div{padding:7px 8px;font-size:8.5px;text-transform:uppercase;letter-spacing:.035em;font-weight:800;color:var(--muted)}
  .v17-axis-track{position:relative;height:48px!important;padding:0!important;border-left:1px solid #e2ddd5;overflow:hidden}
  .v17-axis-month{position:absolute;bottom:5px;text-align:center;font-size:8px!important;color:var(--muted);text-transform:none!important;white-space:nowrap;transform:translateX(-50%)}
  .v17-area{border-bottom:1px solid #ece9e5}
  .v17-area:last-child{border-bottom:none}
  .v17-area-head{display:flex;align-items:center;gap:7px;min-height:38px;padding:5px 8px;background:#f7f4ef;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.025em}
  .v17-area-head .tog{visibility:visible}
  .v17-area-head .v17-area-name{flex:1}
  .v17-area-head .btn{font-size:10px}
  .v17-row{display:grid;grid-template-columns:minmax(180px,1.45fr) minmax(130px,1fr) 108px 94px 54px minmax(360px,3.3fr);min-height:42px;border-top:1px solid #f0efed;align-items:stretch;cursor:pointer;transition:background .12s,border-color .12s}
  .v17-row:hover{background:#f4f8ff}
  .v17-row.selected{background:#eef6ff;box-shadow:inset 3px 0 0 #2f76da}
  .v17-cell{padding:7px 8px;display:flex;align-items:center;min-width:0;font-size:10.5px}
  .v17-name{font-weight:780;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .v17-name-wrap{min-width:0;display:flex;align-items:center;gap:6px;width:100%}
  .v17-cat-mini{font-size:8px;color:var(--muted);font-weight:700;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
  .v17-owner{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4e4a45}
  .v17-owner.jira{color:#235b92;font-weight:720}
  .v17-progress-cell{gap:5px}
  .v17-progress-num{width:34px;text-align:right;font-weight:850;font-size:10px}
  .v17-mini-progress{height:5px;flex:1;min-width:26px;border-radius:5px;background:#e6e3df;overflow:hidden}
  .v17-mini-progress i{display:block;height:100%;border-radius:inherit}
  .v17-source{font-size:9px;font-weight:750;white-space:nowrap}
  .v17-source.jira{color:#1c67b2;background:#eff6ff;border:1px solid #bfd7ee;border-radius:9px;padding:2px 6px}
  .v17-source.manual{color:#666}
  .v17-health-dot{width:10px;height:10px;border-radius:50%;display:block;margin:auto}
  .v17-health-dot.GREEN{background:#39a251}.v17-health-dot.YELLOW{background:#e3a50f}.v17-health-dot.RED{background:#d33c32}.v17-health-dot.GRAY{background:#b9b8b5}
  .v17-track{position:relative;height:41px;border-left:1px solid #e2ddd5;overflow:hidden}
  .v17-track .gml{opacity:1}
  .v17-track .today{top:0;bottom:0;width:2px;opacity:1;box-shadow:0 0 0 1px rgba(243,125,30,.12)}
  .v17-track .bar{top:8px;height:24px;border-radius:8px;opacity:.72;overflow:visible;box-shadow:inset 0 0 0 1px rgba(0,0,0,.10),0 1px 3px rgba(0,0,0,.08)}
  .v17-track .bar:hover{opacity:.88;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14),0 2px 6px rgba(0,0,0,.12)}
  .v17-track .v124-progress-fill{opacity:1!important;border-radius:8px 0 0 8px;filter:saturate(1.1) brightness(.92)}
  .v17-track .v124-progress-handle{top:6px}
  .v17-track .v124-baseline-seg{top:35px;height:4px;opacity:.95;filter:contrast(1.2)}
  .v17-nodate{position:absolute;inset:0;display:flex;align-items:center;padding-left:9px;color:var(--muted);font-size:9px;font-style:italic}
  .v17-empty{padding:24px;text-align:center;color:var(--muted);font-size:11px}
  .v17-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-top:1px solid var(--border);font-size:9px;color:#4f4a45;background:#f8f6f2}
  .v17-legend .key{display:inline-flex;gap:5px;align-items:center}
  .v17-plan-key{width:30px;height:8px;border-radius:4px;background:#c9d9ef;display:inline-block;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.v17-plan-key i{display:block;width:45%;height:100%;background:#2f76da;border-radius:4px}
  .v17-details{margin-top:12px;border:1px solid var(--border);border-radius:10px;background:#fff;overflow:hidden}
  .v17-details>summary{cursor:pointer;padding:10px 12px;font-weight:800;color:var(--green);background:#f8f6f2;list-style:none}.v17-details>summary::-webkit-details-marker{display:none}
  .v17-details>summary:before{content:'▸';display:inline-block;width:16px}.v17-details[open]>summary:before{content:'▾'}
  .v17-details-inner{padding:0 12px 12px}.v17-details-inner>.v12-section:first-child{margin-top:10px}

  .v17-drawer-shade{position:fixed;inset:0;background:rgba(26,29,31,.28);z-index:980;animation:v17fade .12s ease}
  .v17-drawer{position:fixed;right:0;top:0;bottom:0;width:min(480px,96vw);background:#fff;z-index:990;box-shadow:-10px 0 35px rgba(0,0,0,.2);overflow:auto;animation:v17slide .16s ease}
  @keyframes v17fade{from{opacity:0}to{opacity:1}}@keyframes v17slide{from{transform:translateX(35px);opacity:.6}to{transform:translateX(0);opacity:1}}
  .v17-drawer-head{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid var(--border);padding:13px 15px 11px;display:flex;align-items:flex-start;gap:8px}
  .v17-drawer-title{flex:1;min-width:0}.v17-drawer-title h2{font-size:17px;margin:0;color:var(--dark)}.v17-drawer-title .sub{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:800;margin-top:2px}
  .v17-iconbtn{width:30px;height:30px;border:1px solid var(--border);background:#fff;border-radius:8px;cursor:pointer;color:#666}.v17-iconbtn:hover{background:#f5f4f2}
  .v17-navbtns{display:flex;gap:4px}
  .v17-drawer-body{padding:13px 15px 90px}
  .v17-section{padding:12px 0;border-bottom:1px solid #ece9e5}.v17-section:first-child{padding-top:0}.v17-section:last-child{border-bottom:none}
  .v17-section h3{font-size:11.5px;margin:0 0 8px;color:var(--dark)}
  .v17-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v17-field{min-width:0}.v17-field.full{grid-column:1/-1}.v17-field label{display:block;font-size:8.5px;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:3px}.v17-field input,.v17-field select,.v17-field textarea{width:100%;border:1px solid var(--border);border-radius:7px;background:#fff;font:inherit;font-size:11px;padding:7px}.v17-field textarea{min-height:60px;resize:vertical}
  .v17-readonly{border:1px solid var(--border);border-radius:7px;background:#f7f8fa;padding:7px 8px;font-size:10.5px;line-height:1.35;min-height:31px}.v17-readonly.jira{background:#f1f7ff;border-color:#c4d9ee;color:#235b92;font-weight:700}
  .v17-progress-box{display:grid;grid-template-columns:76px 1fr;gap:10px;align-items:center}.v17-ring{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;position:relative}.v17-ring:before{content:'';position:absolute;inset:8px;background:#fff;border-radius:50%}.v17-ring b{position:relative;z-index:1;font-size:16px}.v17-progress-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.v17-info-pill{font-size:9px;border-radius:12px;padding:3px 7px;background:#f2f1ef;border:1px solid #e0ddd9}.v17-info-pill.jira{background:#eaf4ff;border-color:#bad6ef;color:#1d62a7;font-weight:800}
  .v17-jira-box{border:1px solid #ddd9d4;border-radius:9px;padding:9px;background:#fbfaf8;margin-top:7px}.v17-jira-box .v162-jira-link{margin-top:0}.v17-jira-box .v162-jira-link+.v162-jira-link{margin-top:7px}
  .v17-drawer-footer{position:fixed;right:0;bottom:0;width:min(480px,96vw);z-index:995;background:rgba(255,255,255,.97);border-top:1px solid var(--border);padding:10px 15px;display:flex;gap:7px;justify-content:space-between;align-items:center}.v17-footer-main{display:flex;gap:7px;margin-left:auto}
  .v17-danger{border-color:#c44!important;color:#a9312a!important}
  .v17-quality{font-size:9px;color:var(--muted);line-height:1.4;margin-top:6px}
  .v17-track .gml>div{border-left:1px solid rgba(112,104,95,.12)!important}
  .v17-track .today:before{content:'Hoje';position:absolute;top:3px;left:5px;font-size:8px;font-weight:800;color:#cf6512;background:rgba(255,247,239,.92);padding:1px 4px;border-radius:6px}
  .v17-track .bar .txt{font-weight:800;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.18)}
  .v17-track .v12-link-in,.v17-track .v12-link-out{width:12px;height:12px;background:#ffd24d;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.28),0 1px 2px rgba(0,0,0,.12)}
  .v17-track .v12-dep-line{stroke:#566f58;stroke-width:3.2}
  .v17-track .v12-dep-line.conflict{stroke:#cc493f;stroke-width:3.2}
  .v17-track .v12-dep-halo{stroke:rgba(255,255,255,.98);stroke-width:8}
  .v17-track .v12-dep-lag{font-size:9px;font-weight:800;fill:#61584e;stroke:#fff;stroke-width:3.5}
  .v17-track .v12-link-source{outline:2px solid #ffd24d;outline-offset:2px}
  .v17-track .v12-link-source>.v12-link-out{transform:translateY(-50%) scale(1.28)}
  .v17-track .v12-link-legend i{border-top-width:3px}
  .v17-add-dialog{border:0;border-radius:12px;padding:0;width:min(480px,94vw);box-shadow:0 18px 60px rgba(0,0,0,.3)}.v17-add-dialog::backdrop{background:rgba(25,25,25,.45)}.v17-add-dialog form{padding:16px}.v17-add-dialog h2{font-size:15px;color:var(--green);margin-bottom:8px}.v17-add-dialog label{display:block;font-size:9px;text-transform:uppercase;font-weight:800;color:var(--muted);margin-top:9px}.v17-add-dialog select,.v17-add-dialog input{width:100%;border:1px solid var(--border);border-radius:7px;padding:8px;font:inherit;margin-top:3px}.v17-add-dialog menu{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}.v17-check{display:flex!important;align-items:center;gap:7px;text-transform:none!important;color:var(--dark)!important}.v17-check input{width:auto!important;margin:0!important}
  @media(max-width:1080px){.v17-axisbar,.v17-row{grid-template-columns:minmax(170px,1.4fr) 125px 95px 76px 42px minmax(300px,2.8fr)}.v17-axisbar>div,.v17-cell{padding-left:6px;padding-right:6px}.v17-source{font-size:8px}}
  @media(max-width:820px){.v17-board{overflow:auto}.v17-axisbar,.v17-row{min-width:920px}.v17-head-actions{width:100%;margin-left:0}.v17-grid2{grid-template-columns:1fr}.v17-field.full{grid-column:auto}}

/* js/modules/wbs-import.js — block 1 */
.v18-mode-switch{display:inline-flex;border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#fff}
  .v18-mode-switch button{border:0;background:#fff;padding:6px 10px;font:inherit;font-size:10px;font-weight:800;color:#666;cursor:pointer;border-right:1px solid var(--border)}
  .v18-mode-switch button:last-child{border-right:0}.v18-mode-switch button.on{background:#254f7a;color:#fff}
  .v18-wbs-tools{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.v18-wbs-tools label{font-size:9px;font-weight:800;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:4px}
  .v18-wbs-tools select{font:inherit;font-size:10px;border:1px solid var(--border);border-radius:7px;padding:5px 7px;background:#fff}
  .v18-wbs-summary{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0 10px}.v18-stat{font-size:9px;border:1px solid #ddd8d1;border-radius:12px;background:#faf9f7;padding:4px 8px;color:#5f5952}.v18-stat b{color:#2f4f6f}
  .v18-wbs-viewport{border:1px solid var(--border);border-radius:10px;overflow:auto;background:#fff;max-height:70vh}
  .v18-wbs-grid{position:relative;min-width:calc(560px + var(--v18-track-w));background:#fff}
  .v18-wbs-head,.v18-wbs-row{display:grid;grid-template-columns:minmax(330px,1.8fr) 150px 84px 84px 54px var(--v18-track-w);align-items:stretch}
  .v18-wbs-head{position:sticky;top:0;z-index:30;background:#f6f3ee;border-bottom:1px solid #d8d2c9;min-height:52px}
  .v18-wbs-head>div{padding:7px 8px;font-size:8.5px;text-transform:uppercase;letter-spacing:.035em;font-weight:850;color:#706960;display:flex;align-items:flex-end}
  .v18-wbs-axis{position:relative!important;padding:0!important;border-left:1px solid #ddd8d1;overflow:hidden}
  .v18-wbs-month{position:absolute;bottom:7px;transform:translateX(-50%);font-size:8px!important;text-transform:none!important;font-weight:800!important;color:#655f58!important;white-space:nowrap}
  .v18-wbs-row{min-height:37px;border-bottom:1px solid #efede9;position:relative;z-index:1;cursor:pointer}.v18-wbs-row:hover{background:#f7faff}.v18-wbs-row.selected{background:#ebf4ff;box-shadow:inset 3px 0 #3177cf}
  .v18-wbs-row.summary{background:#fbfaf8}.v18-wbs-row.phase{background:#f6f8fb}.v18-wbs-row.root{background:#eef2f6;font-weight:850}
  .v18-wbs-cell{padding:5px 7px;display:flex;align-items:center;min-width:0;font-size:10px}.v18-wbs-namecell{gap:5px}.v18-wbs-indent{display:flex;align-items:center;gap:5px;min-width:0;width:100%}
  .v18-tree-btn{width:18px;height:18px;border:0;background:transparent;color:#5e5a55;cursor:pointer;padding:0;font-size:12px}.v18-tree-btn.none{visibility:hidden}.v18-wbs-icon{width:9px;height:9px;border-radius:2px;flex:0 0 auto}.v18-wbs-icon.milestone{transform:rotate(45deg);border-radius:1px}
  .v18-wbs-title{font-weight:760;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v18-wbs-code{font-size:8px;color:#9a938b;margin-left:auto;white-space:nowrap}.v18-area-tag{font-size:7.5px;padding:1px 4px;border-radius:7px;background:#eef3f7;color:#49677f;white-space:nowrap}
  .v18-owner{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#514b45}.v18-pct{font-weight:850;width:34px;text-align:right;margin-right:5px}.v18-pbar{height:5px;background:#e4e0da;border-radius:5px;overflow:hidden;flex:1}.v18-pbar i{display:block;height:100%;border-radius:inherit}
  .v18-source{font-size:8.5px;font-weight:800;border-radius:8px;padding:2px 6px;background:#f0efed;color:#666}.v18-source.EXCEL{background:#e9f6e9;color:#32733a}.v18-source.JIRA{background:#e8f3ff;color:#1e65aa}.v18-source.PLANNER{background:#fff3df;color:#906015}
  .v18-wbs-track{position:relative;border-left:1px solid #e0dcd6;overflow:visible}.v18-wbs-track .gml{opacity:1}.v18-wbs-track .today{top:0;bottom:0;width:2px;opacity:1;z-index:4}.v18-wbs-track .today:before{content:'Hoje';position:absolute;top:2px;left:4px;font-size:7px;font-weight:850;color:#c96113;background:#fff7ef;padding:1px 3px;border-radius:5px;white-space:nowrap}
  .v18-wbs-bar{position:absolute;top:10px;height:16px;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.13),0 1px 2px rgba(0,0,0,.08);overflow:hidden;z-index:8}.v18-wbs-bar.summary{height:20px;top:8px;border-radius:7px}.v18-wbs-bar .fill{display:block;height:100%;opacity:.92}.v18-wbs-bar .label{position:absolute;inset:0;display:flex;align-items:center;padding-left:5px;font-size:7.5px;font-weight:900;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25);z-index:2;white-space:nowrap;overflow:hidden}
  .v18-milestone{position:absolute;top:12px;width:13px;height:13px;transform:translateX(-50%) rotate(45deg);border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.25);z-index:9}
  .v18-wbs-deps{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:12;overflow:visible}.v18-dep-halo{fill:none;stroke:#fff;stroke-width:7;stroke-linejoin:round;stroke-linecap:round}.v18-dep{fill:none;stroke:#536d59;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.v18-dep.advanced{stroke:#556c84}.v18-dep-label{font-size:8px;font-weight:900;fill:#52606d;paint-order:stroke;stroke:#fff;stroke-width:3px}
  .v18-wbs-empty{padding:42px 20px;text-align:center;color:#6f6860}.v18-wbs-empty h3{color:#355536;margin-bottom:6px}.v18-wbs-empty p{font-size:11px;line-height:1.55;max-width:620px;margin:0 auto 12px}
  .v18-import-dialog{border:0;border-radius:13px;padding:0;width:min(700px,94vw);box-shadow:0 20px 70px rgba(0,0,0,.32)}.v18-import-dialog::backdrop{background:rgba(20,20,20,.48)}.v18-import-dialog form{padding:18px}.v18-import-dialog h2{font-size:17px;color:#355536;margin-bottom:7px}.v18-import-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:12px 0}.v18-import-kpi{border:1px solid #ddd8d1;border-radius:8px;background:#faf9f7;padding:8px}.v18-import-kpi b{display:block;font-size:18px;color:#254f7a}.v18-import-kpi span{font-size:8px;text-transform:uppercase;color:#777068;font-weight:800}.v18-import-warn{background:#fff7e8;border-left:4px solid #df9d20;padding:8px 10px;border-radius:7px;font-size:10px;line-height:1.45;margin:8px 0}.v18-import-dialog menu{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}
  .v18-wbs-drawer .v17-drawer{width:min(520px,96vw)}.v18-wbs-drawer .v17-drawer-footer{width:min(520px,96vw)}.v18-read-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.v18-readbox{border:1px solid #e0ddd8;border-radius:7px;background:#faf9f7;padding:7px}.v18-readbox label{display:block;font-size:8px;text-transform:uppercase;font-weight:800;color:#8a837a;margin-bottom:2px}.v18-readbox div{font-size:10.5px;line-height:1.35;overflow-wrap:anywhere}.v18-readbox.full{grid-column:1/-1}.v18-wbs-note{font-size:9px;color:#766e66;line-height:1.45;margin-top:6px}
  @media(max-width:900px){.v18-import-grid{grid-template-columns:1fr 1fr}.v18-wbs-head,.v18-wbs-row{grid-template-columns:300px 130px 78px 78px 48px var(--v18-track-w)}}

/* js/modules/wbs-manual.js — block 1 */
.v19-control-box{border:1px solid #d9dde2;border-radius:9px;background:#f9fafb;padding:9px}.v19-control-box h4{font-size:10px;margin:0 0 7px}.v19-control-row{display:grid;grid-template-columns:120px 1fr;gap:7px;align-items:center;margin:6px 0;font-size:10px}.v19-control-row label{font-size:8px;text-transform:uppercase;color:#777;font-weight:800}.v19-control-row select,.v19-control-row input{width:100%;border:1px solid var(--border);border-radius:6px;padding:6px;font:inherit}.v19-manual-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.v19-manual-form .full{grid-column:1/-1}.v19-manual-form label{font-size:8px;text-transform:uppercase;color:#777;font-weight:800}.v19-manual-form input,.v19-manual-form select,.v19-manual-form textarea{width:100%;border:1px solid var(--border);border-radius:6px;padding:6px;font:inherit;margin-top:3px}.v19-manual-form textarea{min-height:60px}.v19-source-note{font-size:9px;line-height:1.45;color:#6f6860;margin-top:6px}.v19-wbs-actions{display:flex;gap:6px;flex-wrap:wrap}.v19-manual-badge{font-size:8px;border-radius:8px;padding:2px 6px;background:#eef1f4;color:#52606d;font-weight:800}

/* js/modules/schedule.js — block 1 */
.v18-source.CALCULATED{background:#eee8f8;color:#6b4d91}.v20-badge{display:inline-flex;align-items:center;gap:4px;font-size:8px;font-weight:850;border-radius:9px;padding:2px 6px;border:1px solid #d8d3cc;background:#f6f4f1;color:#625b54}
.v20-badge.management{background:#e9f3ff;border-color:#bdd4ed;color:#245f9b}.v20-badge.review{background:#fff0d8;border-color:#e8c480;color:#855a10}.v20-badge.direct{background:#eaf7ed;border-color:#bedcc4;color:#347342}.v20-badge.rollup{background:#f0eafa;border-color:#d2c1e8;color:#68518b}
.v20-unified-box{border:1px solid #dcd7d0;border-radius:9px;background:#faf9f7;padding:9px;margin-top:7px}.v20-unified-box h4{margin:0 0 7px;font-size:10px;color:#334d63}.v20-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.v20-grid .full{grid-column:1/-1}.v20-field label{display:block;font-size:8px;text-transform:uppercase;font-weight:850;color:#81786e;margin-bottom:3px}.v20-field input,.v20-field select{width:100%;font:inherit;font-size:10px;border:1px solid var(--border);border-radius:6px;padding:6px;background:#fff}.v20-check{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:750}.v20-check input{width:auto}.v20-note{font-size:8.8px;color:#716a62;line-height:1.45;margin-top:6px}
.v20-assignment{display:grid;grid-template-columns:minmax(150px,1.6fr) 110px 62px;gap:5px;align-items:center;border-top:1px solid #ebe7e2;padding:6px 0}.v20-assignment:first-child{border-top:0}.v20-assignment input,.v20-assignment select{width:100%;min-width:0;font:inherit;font-size:9px;border:1px solid var(--border);border-radius:5px;padding:4px}.v20-assignment .who{font-size:9.5px;font-weight:760;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v20-assignment-head{font-size:7.5px;text-transform:uppercase;font-weight:850;color:#8b8379}.v2424-allocation{display:flex;align-items:center;justify-content:center;min-height:27px;border:1px solid #dce4ee;border-radius:5px;background:#f7f9fc;color:#40556a;font-size:9px;font-weight:800}.v2424-allocation.over{border-color:#efc0bc;background:#fff4f2;color:#a63a31}.v2424-cap-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0}.v2424-cap-summary span{border:1px solid #e4dfd8;border-radius:7px;background:#fff;padding:6px 8px}.v2424-cap-summary small{display:block;font-size:7px;text-transform:uppercase;font-weight:850;color:#8b8379;margin-bottom:2px}.v2424-cap-summary b{font-size:10px;color:#334d63}.v2424-cap-summary .pending{border-color:#efd7a6;background:#fff9ed}
.v20-cap-kpi{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.v20-cap-kpi span{font-size:8.5px;border-radius:9px;background:#f0f2f4;padding:3px 6px}.v20-warning{background:#fff4df;border-left:4px solid #d89b24;padding:7px 9px;border-radius:7px;font-size:9px;line-height:1.45;margin:7px 0}.v20-ok{background:#ecf7ef;border-left-color:#449456}
.v20-resources-warning{background:#fff4df;border:1px solid #e8c982;border-radius:8px;padding:8px 10px;font-size:10px;margin:8px 0}.v20-resolved{color:#3e7b49;font-weight:800}.v20-unresolved{color:#a06a10;font-weight:800}
@media(max-width:760px){.v20-grid{grid-template-columns:1fr}.v20-grid .full{grid-column:auto}.v20-assignment{grid-template-columns:1fr 88px 88px 58px}.v2424-cap-summary{grid-template-columns:1fr}}

/*  ampliar a área útil vertical do cronograma WBS */
.v18-wbs-viewport{height:calc(100vh - 235px);min-height:620px;max-height:none}
@media(max-height:820px){.v18-wbs-viewport{height:calc(100vh - 205px);min-height:480px}}
@media(max-width:900px){.v18-wbs-viewport{height:calc(100vh - 220px);min-height:460px}}

.v2424-cap-summary .over{border-color:#efc0bc;background:#fff4f2}.v2424-cap-summary .over b{color:#a63a31}

/* V27.4.0 — lista de atas do projeto */
.v274-meetings-list{display:grid;gap:6px;margin-top:10px}
.v274-meeting-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--v21-border,#dfe5ec);border-radius:8px;background:var(--v21-panel,#fff);text-align:left;cursor:pointer;color:inherit}
.v274-meeting-row:hover{border-color:#8ca8c7;box-shadow:0 2px 10px rgba(30,55,80,.08)}
.v274-meeting-index{display:grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:#eef3f8;font-size:9px;font-weight:700}
.v274-meeting-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.v274-meeting-main b{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v274-meeting-main small{font-size:8.5px;color:var(--v21-muted,#718096)}
.v274-meeting-open{font-size:9px;font-weight:700;white-space:nowrap}

/* V27.4.1 — TAP do projeto / Confluence */
.v2741-tap-panel{overflow:hidden}
.v2741-tap-content{font-size:12px;line-height:1.6;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 24px;overflow:auto}
.v2741-tap-content h1,.v2741-tap-content h2,.v2741-tap-content h3,.v2741-tap-content h4{margin:1.15em 0 .45em;line-height:1.25;color:var(--text)}
.v2741-tap-content h1:first-child,.v2741-tap-content h2:first-child{margin-top:0}
.v2741-tap-content p{margin:.55em 0}
.v2741-tap-content ul,.v2741-tap-content ol{padding-left:24px;margin:.55em 0}
.v2741-tap-content blockquote{margin:12px 0;padding:8px 14px;border-left:3px solid var(--line);background:rgba(0,0,0,.025)}
.v2741-tap-content table{border-collapse:collapse;width:max-content;min-width:100%;margin:12px 0;font-size:11px}
.v2741-tap-content th,.v2741-tap-content td{border:1px solid var(--line);padding:7px 9px;vertical-align:top;text-align:left}
.v2741-tap-content th{font-weight:700;background:rgba(0,0,0,.035)}
.v2741-tap-content img{display:block;max-width:100%;height:auto;margin:12px auto;border-radius:6px}
.v2741-tap-content pre{overflow:auto;padding:10px;border:1px solid var(--line);border-radius:7px;background:rgba(0,0,0,.03)}
.v2741-tap-content code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.95em}
.v2741-tap-content a{text-decoration:underline}


/* V27.4.3 — TAP com renderização mais fiel ao Confluence */
.v2741-tap-content{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,"Helvetica Neue",Arial,sans-serif;
  font-size:14px;
  line-height:1.45;
  color:#172b4d;
  padding:24px 28px 34px;
  border-color:#dfe1e6;
  border-radius:8px;
}
.v2743-confluence-body{max-width:980px;min-width:0}
.v2743-confluence-body> :first-child{margin-top:0!important}
.v2741-tap-content h1,.v2741-tap-content h2,.v2741-tap-content h3,.v2741-tap-content h4,.v2741-tap-content h5,.v2741-tap-content h6{
  font-family:inherit;color:#172b4d;font-weight:600;letter-spacing:-.01em;
}
.v2741-tap-content h1{font-size:24px;line-height:1.25;margin:28px 0 12px}
.v2741-tap-content h2{font-size:20px;line-height:1.3;margin:24px 0 10px}
.v2741-tap-content h3{font-size:16px;line-height:1.35;margin:20px 0 8px}
.v2741-tap-content h4{font-size:14px;line-height:1.4;margin:18px 0 7px}
.v2741-tap-content h5,.v2741-tap-content h6{font-size:13px;line-height:1.4;margin:16px 0 6px}
.v2741-tap-content p{margin:7px 0}
.v2741-tap-content ul,.v2741-tap-content ol{margin:7px 0;padding-left:24px}
.v2741-tap-content li{margin:5px 0;padding-left:1px}
.v2741-tap-content li>ul,.v2741-tap-content li>ol{margin-top:5px;margin-bottom:5px}
.v2741-tap-content strong,.v2741-tap-content b{font-weight:600}
.v2741-tap-content hr{border:0;border-top:1px solid #dfe1e6;margin:20px 0}
.v2741-tap-content a{color:#0c66e4;text-decoration:none}
.v2741-tap-content a:hover{text-decoration:underline}

.v2741-tap-content .table-wrap{max-width:100%;overflow:auto;margin:12px 0}
.v2741-tap-content table,
.v2741-tap-content table.confluenceTable{
  border-collapse:collapse;
  width:auto;
  min-width:0;
  max-width:100%;
  margin:12px 0;
  font-size:14px;
  line-height:1.35;
  background:#fff;
}
.v2741-tap-content table.confluenceTable:not([style*="width"]){width:min(100%,820px)}
.v2741-tap-content th,.v2741-tap-content td,
.v2741-tap-content .confluenceTh,.v2741-tap-content .confluenceTd{
  border:1px solid #dfe1e6;
  padding:9px 10px;
  vertical-align:middle;
  text-align:left;
  background:#fff;
}
.v2741-tap-content th,.v2741-tap-content .confluenceTh{
  background:#f4f5f7;
  color:#172b4d;
  font-weight:600;
}
.v2741-tap-content table.confluenceTable>tbody>tr>th:first-child{min-width:190px}
.v2741-tap-content table.confluenceTable>tbody>tr>td{min-width:220px}
.v2741-tap-content caption{padding:6px 0;text-align:left;font-weight:600;color:#44546f}

.v2741-tap-content .confluence-userlink,
.v2741-tap-content .user-mention,
.v2741-tap-content a[href*="/people/"]{
  display:inline-block;
  padding:1px 5px;
  border-radius:10px;
  background:#f1f2f4;
  color:#172b4d;
  text-decoration:none;
  line-height:1.35;
}
.v2741-tap-content .confluence-userlink:hover,
.v2741-tap-content .user-mention:hover,
.v2741-tap-content a[href*="/people/"]:hover{background:#dfe1e6;text-decoration:none}

.v2741-tap-content .emoji,
.v2741-tap-content .emoticon,
.v2741-tap-content [class*="emoji"]{font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}

.v2741-tap-content .confluence-information-macro,
.v2741-tap-content .confluence-information-macro-information,
.v2741-tap-content .confluence-information-macro-note,
.v2741-tap-content .confluence-information-macro-warning,
.v2741-tap-content .panel{
  margin:12px 0;
  padding:10px 12px;
  border:1px solid #dfe1e6;
  border-radius:3px;
  background:#f7f8f9;
}
.v2741-tap-content blockquote{margin:12px 0;padding:8px 14px;border-left:3px solid #dfe1e6;background:#f7f8f9;color:#44546f}
.v2741-tap-content pre{padding:12px;border:1px solid #dfe1e6;border-radius:3px;background:#f7f8f9;line-height:1.4}
.v2741-tap-content code{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;background:#f1f2f4;border-radius:3px;padding:1px 3px}
.v2741-tap-content pre code{background:transparent;padding:0}
.v2741-tap-content img{max-width:100%;height:auto;margin:10px 0;border-radius:2px}
.v2741-tap-content details{margin:10px 0}
.v2741-tap-content summary{cursor:pointer;font-weight:600}

@media(max-width:900px){
  .v2741-tap-content{padding:18px 16px;font-size:13.5px}
  .v2743-confluence-body{max-width:none}
  .v2741-tap-content table.confluenceTable:not([style*="width"]){width:100%}
}

/* V27.6.1 — exclusão permanente de projeto */
.v12-dialog menu .grow{flex:1}
.v2761-danger-btn{background:#b42318!important;border-color:#b42318!important;color:#fff!important;font-weight:800}
.v2761-danger-btn:hover:not(:disabled){background:#912018!important;border-color:#912018!important}
.v2761-danger-btn:disabled{opacity:.42;cursor:not-allowed}
.v2761-danger-link{border-color:#e3a8a2!important;color:#9f1c14!important;background:#fff!important}
.v2761-danger-link:hover{background:#fff2f0!important;border-color:#c96c64!important}
.v2761-delete-dialog{width:min(620px,94vw)}
.v2761-delete-dialog h2{color:#8d1710}
.v2761-danger-note{display:grid;gap:5px;padding:11px 12px;border:1px solid #efb8b2;border-left:4px solid #b42318;border-radius:8px;background:#fff4f2;color:#51231f;font-size:10.5px;line-height:1.5;margin-bottom:12px}
.v2761-danger-note b{font-size:11.5px;color:#8d1710}
.v2761-delete-project-name{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:7px;background:#faf9f7;margin-bottom:10px}
.v2761-delete-project-name b{font-size:11px;color:#27364a}.v2761-delete-project-name span{font-size:8.5px;color:var(--muted);font-family:monospace}
.v2761-confirm-label{display:block!important;text-transform:none!important;font-size:10px!important;color:#4d5562!important}
.v2761-confirm-label input{font-size:12px!important;font-weight:700;letter-spacing:.02em}

/* V27.7.0 — nomes/IDs longos não criam rolagem horizontal em confirmações */
.v2761-delete-project-name{min-width:0;flex-wrap:wrap;overflow:hidden}.v2761-delete-project-name b,.v2761-delete-project-name span{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.v12-dialog input[name="nome"]{max-width:100%}


/* V27.7.0 — importação em lote de pessoas/equipes */
.v2770-resource-import-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0;padding:12px 14px;border:1px solid #dbe5f0;border-radius:10px;background:#f8fbff}
.v2770-resource-import-bar>div{display:flex;flex-direction:column;gap:3px;min-width:0}.v2770-resource-import-bar span{font-size:12px;color:#64748b}.v2770-resource-import-bar code{font-size:11px;background:#eef3f8;padding:1px 5px;border-radius:4px}
.v2770-resource-import-dialog{max-width:min(1100px,94vw)}
@media(max-width:720px){.v2770-resource-import-bar{align-items:flex-start;flex-direction:column}.v2770-resource-import-bar .btn{width:100%}}


/* V27.8.0 — score estratégico e matriz de priorização */
.v278-score-pill{display:inline-grid;place-items:center;min-width:34px;height:25px;padding:0 8px;border-radius:999px;background:#eef4ff;border:1px solid #cddcff;color:#174ea6;font-size:11px;font-weight:850}
.v278-matrix-panel{margin:12px 0 14px;padding-bottom:10px}.v278-matrix-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.v278-matrix-head>div:first-child{min-width:0}.v278-matrix-tabs{display:flex;gap:4px;padding:3px;border:1px solid var(--v21-border);border-radius:8px;background:#f7f9fc;white-space:nowrap}.v278-matrix-tabs button{border:0;background:transparent;border-radius:6px;padding:6px 9px;font:inherit;font-size:9px;font-weight:750;color:#657286;cursor:pointer}.v278-matrix-tabs button.on{background:#fff;color:#1e4f91;box-shadow:0 1px 3px rgba(30,52,80,.13)}
.v278-matrix-wrap{width:100%;overflow-x:auto;margin-top:6px}.v278-matrix-wrap svg{display:block;width:100%;min-width:720px;height:auto}.v278-plot-bg{fill:#fbfcfe;stroke:#dfe5ec;stroke-width:1}.v278-grid{stroke:#e8edf3;stroke-width:1}.v278-grid-x{stroke-dasharray:3 4}.v278-split{stroke:#aab6c5;stroke-width:1.4;stroke-dasharray:7 5}.v278-axis-text{font-size:9px;fill:#7b8798}.v278-axis-title{font-size:10px;font-weight:700;fill:#536174}.v278-quadrant{font-size:8.5px;font-weight:750;fill:#94a0af}.v278-point{cursor:pointer}.v278-point circle{stroke:#fff;stroke-width:2;filter:drop-shadow(0 1px 2px rgba(30,45,65,.25))}.v278-point:hover circle{stroke:#173b67;stroke-width:3}.v278-point-label{font-size:8.5px;font-weight:700;fill:#334155;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.v278-health-green circle,.v278-matrix-legend i.v278-health-green{fill:#3d8b63;background:#3d8b63}.v278-health-yellow circle,.v278-matrix-legend i.v278-health-yellow{fill:#d49a2a;background:#d49a2a}.v278-health-red circle,.v278-matrix-legend i.v278-health-red{fill:#cf4a4a;background:#cf4a4a}.v278-health-gray circle,.v278-matrix-legend i.v278-health-gray{fill:#929cab;background:#929cab}.v278-matrix-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 4px 0 62px;color:#697688;font-size:8.5px}.v278-matrix-legend span{display:flex;align-items:center;gap:5px}.v278-matrix-legend i{width:8px;height:8px;border-radius:50%;display:inline-block}.v278-matrix-legend .v278-split-note{margin-left:auto;color:#8792a2}
@media(max-width:800px){.v278-matrix-head{flex-direction:column}.v278-matrix-tabs{width:100%}.v278-matrix-tabs button{flex:1}.v278-matrix-legend{margin-left:0}.v278-matrix-legend .v278-split-note{margin-left:0;width:100%}}


/* V27.9.0 — Dashboard executivo */
.v279-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:2px 0 10px}.v279-dashboard-head h2{margin:0 0 3px;font-size:18px}.v279-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.v279-exec-grid{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(430px,1.5fr) minmax(270px,.9fr);gap:12px;margin:12px 0}.v279-chart-card{min-width:0;padding:14px}.v279-chart-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.v279-chart-title b{display:block;font-size:11px;color:#243447}.v279-chart-title span{display:block;margin-top:2px;font-size:8.5px;color:#7a8798}.v279-donut-layout{display:flex;align-items:center;gap:14px}.v279-donut{width:142px;max-width:45%;transform:rotate(-90deg)}.v279-donut-bg,.v279-donut-seg{fill:none;stroke-width:16}.v279-donut-bg{stroke:#edf1f5}.v279-donut-seg{stroke-linecap:butt}.v279-donut-seg.green{stroke:#3d8b63}.v279-donut-seg.yellow{stroke:#d49a2a}.v279-donut-seg.red{stroke:#cf4a4a}.v279-donut-seg.gray{stroke:#929cab}.v279-donut-total,.v279-donut-sub{transform:rotate(90deg);transform-origin:72px 72px;fill:#26374a}.v279-donut-total{font-size:24px;font-weight:850}.v279-donut-sub{font-size:9px;fill:#778497}.v279-legend{display:grid;gap:6px;font-size:8.5px;color:#657286}.v279-legend span{display:grid;grid-template-columns:9px 20px 1fr;align-items:center;gap:5px}.v279-legend i{width:8px;height:8px;border-radius:50%}.v279-legend i.green{background:#3d8b63}.v279-legend i.yellow{background:#d49a2a}.v279-legend i.red{background:#cf4a4a}.v279-legend i.gray{background:#929cab}.v279-status-bars{display:grid;gap:5px;margin-top:12px;padding-top:10px;border-top:1px solid #edf1f5}.v279-status-bars>div{display:grid;grid-template-columns:62px 1fr 24px;align-items:center;gap:7px;font-size:8px;color:#697688}.v279-status-bars>div>div{height:5px;background:#eef2f6;border-radius:999px;overflow:hidden}.v279-status-bars i{display:block;height:100%;background:#6f86a5;border-radius:999px}.v279-status-bars b{text-align:right;color:#37475a}.v279-line-wrap{overflow-x:auto}.v279-line-wrap svg{display:block;width:100%;min-width:590px;height:auto}.v279-grid{stroke:#e9eef4;stroke-width:1}.v279-axis{font-size:8px;fill:#8390a1}.v279-line{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.v279-line.capacity{stroke:#4e78a8}.v279-line.demand{stroke:#d07a49}.v279-dot{stroke:#fff;stroke-width:1.5}.v279-dot.capacity{fill:#4e78a8}.v279-dot.demand{fill:#d07a49}.v279-overload{fill:#c94444;stroke:#fff;stroke-width:1.5}.v279-inline-legend{display:flex;gap:9px;white-space:nowrap}.v279-inline-legend span{display:flex;align-items:center;gap:4px!important;font-size:8px!important;color:#6f7b8b!important}.v279-inline-legend i{width:14px;height:3px;border-radius:3px}.v279-inline-legend i.capacity{background:#4e78a8}.v279-inline-legend i.demand{background:#d07a49}.v279-risk-bars{display:grid;gap:9px;margin-top:6px}.v279-risk-bars>div{display:grid;grid-template-columns:90px 1fr 26px;align-items:center;gap:8px}.v279-risk-bars span{font-size:8.5px;font-weight:700;color:#536174}.v279-risk-bars small{display:block;font-size:7px;font-weight:500;color:#97a1af}.v279-risk-bars>div>div{height:10px;border-radius:999px;background:#f0f3f6;overflow:hidden}.v279-risk-bars i{display:block;height:100%;min-width:0;border-radius:999px}.v279-risk-bars b{text-align:right;font-size:10px;color:#35465a}.v279-risk-bars .critical i{background:#c94444}.v279-risk-bars .high i{background:#dc7c37}.v279-risk-bars .medium i{background:#d3aa3e}.v279-risk-bars .low i{background:#65a175}.v279-risk-bars .unclassified i{background:#9aa5b2}
@media(max-width:1200px){.v279-exec-grid{grid-template-columns:1fr 1.45fr}.v279-exec-grid>section:last-child{grid-column:1/-1}.v279-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.v279-dashboard-head{flex-direction:column}.v279-kpis{grid-template-columns:1fr 1fr}.v279-exec-grid{grid-template-columns:1fr}.v279-exec-grid>section:last-child{grid-column:auto}.v279-capacity-card{order:3}.v279-donut{max-width:42%}}
/* V27.10.0 — templates de projeto */
.v2710-template-help{display:block;margin-top:4px;color:#64748b;font-size:10px;line-height:1.35}.v2710-template-dialog{width:min(1180px,96vw);max-width:1180px;max-height:92vh;padding:0;overflow:hidden}.v2710-template-dialog[open]{display:flex;flex-direction:column}.v2710-template-shell{display:grid;grid-template-columns:260px minmax(0,1fr);height:min(760px,calc(92vh - 52px));min-height:0;max-height:calc(92vh - 52px);overflow:hidden;flex:1 1 auto}.v2710-template-list{min-height:0;border-right:1px solid #e2e8f0;background:#f8fafc;overflow-y:auto;overflow-x:hidden}.v2710-template-list-head{position:sticky;top:0;z-index:2;display:flex;gap:10px;align-items:center;padding:16px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.v2710-template-list-head>div{flex:1;min-width:0}.v2710-template-list-head small{display:block;color:#64748b;margin-top:2px}.v2710-template-list-item{width:100%;border:0;border-bottom:1px solid #e2e8f0;background:transparent;text-align:left;padding:12px 15px;cursor:pointer}.v2710-template-list-item:hover,.v2710-template-list-item.on{background:#eaf2ff}.v2710-template-list-item b,.v2710-template-list-item small{display:block}.v2710-template-list-item small{color:#64748b;margin-top:3px}.v2710-template-editor{min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding:18px}.v2710-template-title,.v2710-section-head,.v2710-template-actions,.v2710-template-footer{display:flex;align-items:center;gap:10px}.v2710-template-title{justify-content:space-between;margin-bottom:14px}.v2710-template-title h2{margin:0}.v2710-template-meta{display:grid;grid-template-columns:2fr 1fr;gap:10px 14px;padding:14px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.v2710-template-meta label{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600}.v2710-template-meta label.wide{grid-column:1/-1}.v2710-template-meta label.v2710-check{display:flex;flex-direction:row;align-items:center;font-weight:500}.v2710-template-meta input,.v2710-template-meta select,.v2710-items-table input,.v2710-items-table select,.v2710-deps-table input,.v2710-deps-table select{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:6px;padding:6px 7px;background:#fff;color:inherit;font:inherit}.v2710-section-head{justify-content:space-between;margin:18px 0 8px}.v2710-section-head small{display:block;color:#64748b;margin-top:2px}.v2710-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:9px}.v2710-items-table,.v2710-deps-table{min-width:900px;margin:0}.v2710-items-table td,.v2710-deps-table td{vertical-align:middle}.v2710-items-table .center{text-align:center}.v2710-items-table .center input{width:auto}.v2710-code{min-width:70px}.v2710-effort{min-width:75px}.v2710-template-actions{margin-top:16px}.v2710-template-footer{flex:0 0 auto;border-top:1px solid #e2e8f0;padding:12px 16px;background:#f8fafc}.v2710-template-footer .grow,.v2710-template-actions .grow{flex:1}.v21-btn.danger{border-color:#fecaca;color:#b91c1c;background:#fff}.v21-btn.icon.danger{min-width:28px}.v2710-no-template .v2710-template-help:after{content:' Nenhum template ativo para este tipo.';font-weight:600}@media(max-width:850px){.v2710-template-dialog{width:98vw;max-height:96vh}.v2710-template-shell{grid-template-columns:1fr;height:calc(96vh - 52px);min-height:0;max-height:calc(96vh - 52px)}.v2710-template-list{max-height:190px;border-right:0;border-bottom:1px solid #e2e8f0}.v2710-template-editor{min-height:0;overflow-y:auto}.v2710-template-meta{grid-template-columns:1fr}}

/* V28.3.0 — Gestão de Custos / Project Cost — visão executiva e Curva S */
.v280-subnav{display:flex;gap:6px;margin:0 0 12px;padding:5px;background:#f4f6f8;border:1px solid #e2e7ec;border-radius:10px;width:max-content;max-width:100%;overflow:auto}.v280-subnav button{border:0;background:transparent;padding:7px 12px;border-radius:7px;font:600 10px/1 inherit;color:#51606f;white-space:nowrap;cursor:pointer}.v280-subnav button.on{background:#fff;color:#0b66d8;box-shadow:0 1px 4px rgba(16,35,55,.12)}
.v280-cost-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px}.v280-span{grid-column:1/-1}.v283-overview-panel{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}.v280-kpis{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:9px;margin-top:12px}.v280-kpi{--tone:#246fcb;--tint:#eef6ff;position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:start;border:1px solid #e2e7ec;border-radius:11px;padding:11px;background:#fff;min-width:0;box-shadow:0 1px 2px rgba(15,23,42,.025);overflow:hidden}.v280-kpi:before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tone)}.v283-kpi-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--tint);color:var(--tone)}.v283-kpi-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.v283-kpi-body{min-width:0}.v280-kpi .label{font-size:8px;text-transform:uppercase;letter-spacing:.045em;color:#667587;line-height:1.2}.v280-kpi .value{font-size:16px;font-weight:780;margin:5px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#172235}.v280-kpi .sub{font-size:8.2px;color:#748293;line-height:1.35}.v280-kpi.tone-budget{--tone:#4b9b58;--tint:#edf8ef}.v280-kpi.tone-planned{--tone:#3278d0;--tint:#edf5ff}.v280-kpi.tone-commit{--tone:#e78a18;--tint:#fff5e8}.v280-kpi.tone-real{--tone:#1677d2;--tint:#eaf5ff}.v280-kpi.tone-forecast{--tone:#d84a50;--tint:#fff0f1}.v280-kpi.tone-balance{--tone:#7b61c8;--tint:#f3efff}.v280-kpi.bad .value{color:#c13232}.v280-kpi.good .value{color:#277e55}
.v283-curve-panel{padding:14px 14px 8px}.v280-chart-head{display:flex;align-items:center;gap:16px;margin-bottom:7px}.v283-chart-head{align-items:flex-start;margin-bottom:9px}.v283-chart-head>div:first-child{display:grid;gap:3px}.v283-chart-head b{font-size:11px;color:#182335}.v283-chart-head small{font-size:8.4px;color:#758196;font-weight:500}.v283-chart-controls{margin-left:auto!important;display:flex!important;gap:6px!important;align-items:center!important}.v283-chip{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid #dfe6ef;border-radius:7px;background:#f8fafc;color:#58677a!important;font-size:8px!important;white-space:nowrap}.v283-legend{display:flex;flex-wrap:wrap;gap:14px;margin:6px 0 2px;padding:0 0 2px 2px;color:#5b697b;font-size:8.4px}.v283-legend span{display:inline-flex;align-items:center;gap:5px}.v283-legend i{display:inline-block;width:19px;height:3px;border-radius:3px;background:#6c7782}.v283-legend i.plan{background:#52a45b}.v283-legend i.commit{background:#ee8b17}.v283-legend i.real{background:#2879d8}.v283-legend i.projection{background:#e14b50;background:repeating-linear-gradient(90deg,#e14b50 0 6px,transparent 6px 9px)}.v280-chart{width:100%;overflow:auto}.v280-chart svg{width:100%;min-width:720px;height:auto}.v280-grid{stroke:#edf1f5;stroke-width:1;stroke-dasharray:3 3}.v280-axis{font-size:8px;fill:#7a8798}.v280-axis.month{font-weight:600;fill:#657386}.v280-line{fill:none;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.v280-line.plan{stroke:#52a45b}.v280-line.commit{stroke:#ee8b17;stroke-dasharray:7 5}.v280-line.real{stroke:#2879d8}.v280-line.projection{stroke:#e14b50;stroke-width:2.8;stroke-dasharray:10 6}.v280-dot{stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke}.v280-dot.plan{fill:#52a45b}.v280-dot.commit{fill:#ee8b17}.v280-dot.real{fill:#2879d8}.v280-dot.projection{fill:#e14b50}.v283-today-line{stroke:#4d85d8;stroke-width:1.2;stroke-dasharray:4 4}.v283-today-pill{fill:#347ed8}.v283-today-text{font-size:7px;fill:#fff;font-weight:700}.v283-end-label{font-size:8.3px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.v283-end-label.plan{fill:#398944}.v283-end-label.commit{fill:#cb6e09}.v283-end-label.real{fill:#155fb9}.v283-end-label.projection{fill:#cc343a}.v283-chart-note{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #eef2f6;margin-top:1px;padding:7px 2px 0;color:#7a8798;font-size:7.8px}
.v283-lower-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.72fr) minmax(0,1.25fr);gap:12px}.v280-bars{display:grid;gap:9px}.v280-bar-row{--cat:#3179bd;display:grid;grid-template-columns:120px minmax(80px,1fr) 100px;gap:8px;align-items:center;font-size:9px}.v280-bar-row>div{height:8px;background:#eef2f5;border-radius:999px;overflow:hidden}.v280-bar-row i{display:block;height:100%;background:var(--cat);border-radius:999px}.v280-bar-row b{text-align:right;font-size:9px}.v280-bar-row.cat-purchased{--cat:#317bd1}.v280-bar-row.cat-manufactured{--cat:#765ec3}.v280-bar-row.cat-labor{--cat:#f29a2e}.v280-bar-row.cat-service{--cat:#55a35d}.v280-bar-row.cat-travel{--cat:#d85672}.v280-bar-row.cat-other{--cat:#8c98a8}.v283-fin-summary{display:grid;gap:0}.v283-fin-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 2px;border-bottom:1px solid #edf1f5;font-size:8.7px}.v283-fin-summary span{color:#647287}.v283-fin-summary b{font-size:9.2px;color:#1e2b3d;white-space:nowrap}.v283-fin-summary b.real{color:#2879d8}.v283-fin-summary b.commit{color:#d97706}.v283-fin-summary b.exposure{color:#7357c0}.v283-fin-summary .emphasis{margin-top:5px;padding:8px;border-radius:7px;border:0}.v283-fin-summary .emphasis.good{background:#edf8f0}.v283-fin-summary .emphasis.bad{background:#fff0f1}.v283-fin-summary .emphasis.good b{color:#2d8b4b}.v283-fin-summary .emphasis.bad b{color:#c9343b}.v280-settings{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:14px;align-items:end}.v280-settings label,.v280-form label{font-size:9px;font-weight:600;color:#465363}.v280-settings select,.v280-form input,.v280-form select,.v280-form textarea{display:block;width:100%;margin-top:4px}.v283-action-btn{color:#1e64b7}
.v280-item-list{display:grid;gap:10px}.v280-item{border:1px solid #e1e6eb;border-radius:10px;background:#fff;overflow:hidden}.v280-item-head{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:14px;align-items:center;padding:12px}.v280-item-head h3{font-size:11px;margin:4px 0 3px;overflow-wrap:anywhere}.v280-item-head small{font-size:8.5px;color:#748293;overflow-wrap:anywhere}.v280-item-tags{display:flex;flex-wrap:wrap;gap:4px}.v280-item-tags span{font-size:7.8px;padding:3px 6px;border:1px solid #dbe3ea;background:#f5f8fa;border-radius:999px;color:#5b6978}.v280-item-values{display:flex;gap:14px;font-size:8.5px;color:#6a7887}.v280-item-values span{display:grid;gap:2px}.v280-item-values b{font-size:10px;color:#1f2d3a}.v280-movements{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#f8fafb;border-top:1px solid #e6ebef;padding:10px 12px}.v280-movements>div>b{font-size:8.5px;text-transform:uppercase;color:#657383}.v280-move{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:5px 0;border-bottom:1px solid #edf0f2;font-size:8.5px}.v280-move button{border:0;background:transparent;color:#0b66d8;font-size:8px;cursor:pointer}.v280-movements small{display:block;color:#8994a0;margin-top:5px}
.v280-dialog{width:min(760px,94vw)}.v280-dialog .inner{max-height:min(82vh,760px);overflow:auto}.v280-form{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:12px}.v280-form .v280-full{grid-column:1/-1}.v280-hidden{display:none!important}
@media(max-width:1250px){.v280-kpis{grid-template-columns:repeat(3,1fr)}.v283-lower-grid{grid-template-columns:1fr 1fr}.v283-lower-grid>section:last-child{grid-column:1/-1}}
@media(max-width:1100px){.v280-item-head{grid-template-columns:1fr}.v280-item-values{justify-content:flex-start}.v280-cost-grid{grid-template-columns:1fr}.v280-span{grid-column:auto}.v283-lower-grid.v280-span{grid-column:auto}}
@media(max-width:760px){.v280-kpis{grid-template-columns:1fr 1fr}.v283-lower-grid{grid-template-columns:1fr}.v283-lower-grid>section:last-child{grid-column:auto}.v283-chart-head{flex-direction:column}.v283-chart-controls{margin-left:0!important}.v283-chart-note{flex-direction:column;gap:3px}.v280-form,.v280-movements,.v280-settings{grid-template-columns:1fr}.v280-form .v280-full{grid-column:auto}.v280-bar-row{grid-template-columns:90px 1fr 85px}}
@media(max-width:520px){.v280-kpis{grid-template-columns:1fr}.v280-kpi{grid-template-columns:32px minmax(0,1fr)}.v283-legend{gap:8px}.v283-chip{font-size:7.5px!important}}

/* V28.5.1 — Product Cost summary KPIs: corrige sobreposição e melhora hierarquia visual */
.v281-kpis{grid-template-columns:repeat(6,minmax(150px,1fr));align-items:stretch}.v281-kpi{display:flex;flex-direction:column;gap:0;align-items:stretch;min-height:170px;padding:14px 14px 12px}.v281-kpi .v281-kpi-body{display:flex;flex-direction:column;flex:1;min-width:0}.v281-kpi .label{min-height:2.5em;font-size:8.7px;line-height:1.25;max-width:18ch;overflow-wrap:anywhere}.v281-kpi .value{margin:10px 0 0;font-size:18px;line-height:1.15;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.v281-kpi .sub{margin-top:auto;padding-top:14px;font-size:8.3px;line-height:1.42;max-width:22ch;overflow-wrap:anywhere}.v281-kpi .value .currency,.v281-kpi .value .prefix{font-size:.78em}.
@media(max-width:1380px){.v281-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.v281-kpis{grid-template-columns:1fr 1fr}.v281-kpi{min-height:152px}}
@media(max-width:520px){.v281-kpis{grid-template-columns:1fr}.v281-kpi{min-height:0}}

/* V28.1.0 — Product Cost Core */
.v281-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v281-span{grid-column:1/-1}.v281-scenario-strip{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:10px 12px;margin:12px 0;border:1px solid var(--line,#dfe5ec);border-radius:10px;background:var(--soft,#f7f9fc)}.v281-scenario-strip>div{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.v281-scenario-strip span{font-size:12px;color:#586174}.v281-scenario-strip .warn{color:#9a5b00}.v281-range{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.v281-range>div{padding:14px;border:1px solid var(--line,#dfe5ec);border-radius:10px}.v281-range span{display:block;font-size:12px;color:#687083;margin-bottom:5px}.v281-range b{font-size:20px}.v281-range .probable{border-width:2px}.v281-big{font-size:28px;font-weight:800;margin:12px 0}.v281-maturity-bars{display:grid;gap:10px;margin-top:12px}.v281-maturity-bars>div{display:grid;grid-template-columns:110px 1fr 32px;align-items:center;gap:8px;font-size:12px}.v281-maturity-bars i{height:8px;background:#edf1f6;border-radius:6px;overflow:hidden}.v281-maturity-bars i b{display:block;height:100%;background:currentColor;border-radius:6px}.v281-bad{color:#b42318}.v281-good{color:#067647}.v281-table-wrap{overflow:auto;max-width:100%;scrollbar-gutter:stable}.v281-bom{min-width:1450px}.v281-bom td small,.v21-table td small{display:block;color:#727b8d;margin-top:3px}.v281-parent{background:rgba(0,0,0,.018)}.v281-pill{display:inline-block;padding:3px 8px;border-radius:999px;background:#e9f4ff;color:#0b5cab;font-size:11px;font-weight:700}.v281-check{display:flex!important;align-items:center;gap:8px;min-height:38px}.v281-check input{width:auto}.v281-fxbox{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:12px;border:1px solid var(--line,#dfe5ec);border-radius:10px}.v281-fxbox>b,.v281-fxbox>span{grid-column:1/-1}.v281-line{fill:none;stroke-width:2.5;vector-effect:non-scaling-stroke}.v281-line.min{stroke:#4f7cac}.v281-line.probable{stroke:#1f2937;stroke-width:3}.v281-line.max{stroke:#a75d5d}@media(max-width:900px){.v281-grid{grid-template-columns:1fr}.v281-span{grid-column:auto}.v281-scenario-strip{align-items:flex-start;flex-direction:column}.v281-range{grid-template-columns:1fr}.v281-fxbox{grid-template-columns:1fr}.v281-fxbox>b,.v281-fxbox>span{grid-column:auto}}

/* V28.2.0 — importação Excel de Product Cost */
.v282-import-settings{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px;margin:10px 14px 0;padding:10px;border:1px solid #dfe6ef;border-radius:8px;background:#f8fafc}.v282-import-settings label{display:flex;flex-direction:column;gap:4px;font-size:8.5px;font-weight:800;color:#4d5c70}.v282-import-settings label small{font-weight:500;color:#8793a3}.v282-import-table{min-width:1120px}.v282-product-cost-import .v231-import-table-wrap{height:calc(92vh - 390px);min-height:260px}
@media(max-width:900px){.v282-import-settings{grid-template-columns:repeat(2,minmax(140px,1fr))}.v282-product-cost-import .v231-import-table-wrap{height:calc(94vh - 430px)}}
@media(max-width:620px){.v282-import-settings{grid-template-columns:1fr}.v282-product-cost-import .v231-import-table-wrap{height:calc(94vh - 520px)}}

/* V28.4.0 — Indicadores acionáveis / itens que exigem atenção */
.v2831-attention-trigger{position:relative;width:100%;border:1px solid transparent;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;appearance:none}.v2831-attention-trigger:hover{border-color:#b7cee9;background:#f4f8fd;box-shadow:0 2px 8px rgba(32,92,150,.08)}.v2831-attention-trigger.active{border-color:#2e7bd5;background:#edf5ff;box-shadow:0 0 0 2px rgba(46,123,213,.10)}.v2831-card-hint{position:absolute;right:8px;bottom:6px;font-size:8px;font-weight:750;color:#6a86a4;opacity:0;transition:opacity .15s ease}.v2831-attention-trigger:hover .v2831-card-hint,.v2831-attention-trigger.active .v2831-card-hint{opacity:1}
.v2831-attention-panel{margin:10px 0 13px;border:1px solid var(--border);border-radius:11px;background:#fff;padding:11px 13px;box-shadow:0 1px 2px rgba(20,45,70,.03)}.v2831-attention-panel.empty{min-height:62px;display:flex;align-items:center;background:#fafbfd;border-style:dashed}.v2831-attention-panel.empty>div{display:flex;flex-direction:column;gap:4px}.v2831-attention-panel.empty b{font-size:12px}.v2831-attention-panel.empty span{font-size:9.5px;color:var(--muted)}
.v2831-attention-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.v2831-attention-head>div{display:flex;flex-direction:column;gap:3px}.v2831-attention-head b{font-size:12px;color:var(--dark)}.v2831-attention-head span{font-size:9px;color:var(--muted)}.v2831-attention-head .v2831-error{color:var(--red)}.v2831-attention-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;border-radius:13px;background:#edf5ff;color:#1f64b2;font-weight:900;font-size:11px}
.v2831-attention-filters{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 8px}.v2831-attention-filters button{border:1px solid #dce5ef;background:#fff;color:#53677e;border-radius:15px;padding:4px 9px;font:inherit;font-size:8.5px;font-weight:750;cursor:pointer}.v2831-attention-filters button:hover{background:#f5f8fc}.v2831-attention-filters button.active{background:#eaf3ff;border-color:#7aafea;color:#175da9}
.v2831-attention-table-wrap{overflow:auto;border:1px solid #e7ebf0;border-radius:8px}.v2831-attention-table{width:100%;border-collapse:collapse;min-width:900px;font-size:9px}.v2831-attention-table th{position:sticky;top:0;z-index:1;background:#f7f8fa;color:#66717e;text-align:left;text-transform:uppercase;font-size:8px;letter-spacing:.02em;padding:7px 8px;border-bottom:1px solid #e1e6ec}.v2831-attention-table td{padding:7px 8px;border-bottom:1px solid #edf0f3;vertical-align:top}.v2831-attention-table tr:last-child td{border-bottom:0}.v2831-attention-table tr:hover td{background:#fbfdff}.v2831-attention-table td b{font-size:9.5px;color:var(--dark)}.v2831-attention-table td small{display:block;margin-top:2px;color:var(--muted);font-size:8px;line-height:1.35}.v2831-attention-table td.reason{min-width:240px;line-height:1.4;color:#46586b}
.v2831-severity{display:inline-flex;margin-top:4px;border-radius:10px;padding:2px 6px;font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.02em}.v2831-severity.CRITICAL{background:#fde7e3;color:#a23a30}.v2831-severity.HIGH{background:#fff0dd;color:#9a5c05}.v2831-severity.MEDIUM{background:#fff7d8;color:#7b6500}.v2831-severity.LOW{background:#eaf3ff;color:#2965a5}.v2831-attention-empty{padding:18px 10px;text-align:center;color:var(--muted);font-size:9.5px;background:#fafbfd;border:1px dashed #e1e6ec;border-radius:8px}
@media(max-width:760px){.v2831-card-hint{display:none}.v2831-attention-panel{padding:9px}.v2831-attention-head{align-items:center}.v2831-attention-table{min-width:760px}.v2831-attention-filters{gap:4px}.v2831-attention-filters button{padding:4px 7px}}

/* V28.5.10 — edição em lote de Equipes/Setores e Pessoas/recursos */
.v2855-resource-box-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.v2855-resource-box-head h3{margin:0}.v2855-resource-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.v2855-resource-table .v2855-select-cell{width:34px;text-align:center}.v2855-resource-table .v2855-select-cell input{width:16px;height:16px;cursor:pointer}.v2855-team-color{display:inline-block;width:17px;height:17px;border-radius:5px;background:var(--team-color,#64748B);border:1px solid rgba(15,23,42,.12);vertical-align:middle}.v2855-danger{border-color:#e4b5b5!important;color:#a92f2f!important;background:#fff8f8!important}.v2855-danger:hover:not(:disabled){background:#fff0f0!important;border-color:#d98d8d!important}.v2855-danger:disabled{opacity:.45;cursor:not-allowed}.v2855-resource-table td,.v2855-resource-table th{vertical-align:middle}.v2855-resource-table input:not([type="checkbox"]):not([type="color"]),.v2855-resource-table select{max-width:100%;box-sizing:border-box}
@media(max-width:760px){.v2855-resource-box-head{align-items:flex-start;flex-direction:column}.v2855-resource-actions{justify-content:flex-start;width:100%}}

/* V29.2.14 — cor de Equipe/Setor editável diretamente na lista. */
.v29213-team-color-input{width:28px;height:28px;padding:0;border:1px solid rgba(15,23,42,.16);border-radius:7px;background:transparent;cursor:pointer;vertical-align:middle;overflow:hidden}
.v29213-team-color-input::-webkit-color-swatch-wrapper{padding:0}.v29213-team-color-input::-webkit-color-swatch{border:0;border-radius:6px}.v29213-team-color-input::-moz-color-swatch{border:0;border-radius:6px}
.v29213-team-color-input:hover{transform:translateY(-1px);box-shadow:0 2px 7px rgba(15,23,42,.12)}
html[data-roadmap-theme="dark"] .v29213-team-color-input{border-color:rgba(255,255,255,.2)}
.v12-dialog .v2727-type-help{display:block;font-size:11px;line-height:1.45;font-weight:400;text-transform:none;letter-spacing:normal;margin-top:4px;overflow-wrap:anywhere}
