.plan-editor { --plan-accent: #005ca9; color: var(--ink-800, #182a3a); padding-top: 16px; }
.plan-editor * { box-sizing: border-box; }
.plan-editor .pe-heading { display:flex; justify-content:space-between; gap:20px; align-items:start; }
.plan-editor h2 { font-size:24px; margin:0 0 6px; letter-spacing:-.5px; }
.plan-editor h3 { margin:0 0 12px; font-size:16px; }
.plan-editor p { line-height:1.55; }
.plan-editor .pe-muted { color:var(--ink-500,#576775); font-size:13px; }
.plan-editor .pe-toolbar, .plan-editor .pe-tabs { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:16px 0; }
.plan-editor button, .plan-editor select, .plan-editor input, .plan-editor textarea { font:inherit; }
.plan-editor button, .plan-editor .pe-link { border:1px solid #c4d3df; border-radius:7px; padding:9px 13px; background:white; color:#16374e; cursor:pointer; text-decoration:none; }
.plan-editor button:hover { background:#eff6fc; }
.plan-editor button:disabled { opacity:.5; cursor:wait; }
.plan-editor button.pe-primary, .plan-editor .pe-tabs button[aria-selected=true] { color:white; background:var(--plan-accent); border-color:var(--plan-accent); }
.plan-editor :focus-visible { outline:3px solid #f59e0b; outline-offset:2px; }
.plan-editor input, .plan-editor select, .plan-editor textarea { max-width:100%; width:100%; border:1px solid #b9cbd9; border-radius:6px; padding:9px; background:white; color:#172e40; }
.plan-editor .pe-toolbar select { width:auto; min-width:180px; max-width:100%; }
.plan-editor label { font-size:12px; font-weight:600; display:flex; flex-direction:column; gap:6px; }
.plan-editor .pe-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; }
.plan-editor .pe-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:16px 0; }
.plan-editor .pe-stat, .plan-editor .pe-panel { background:#fff; border:1px solid #dde5ed; border-radius:10px; padding:18px; }
.plan-editor .pe-stat strong { display:block; font-size:23px; font-variant-numeric:tabular-nums; margin-top:5px; }
.plan-editor .pe-panel { margin:14px 0; }
.plan-editor .pe-status { min-height:24px; padding:10px 12px; border-radius:6px; background:#eff6fc; font-size:13px; }
.plan-editor .pe-status[data-error=true] { background:#fff0ed; color:#942e1b; }
.plan-editor .pe-scroll { overflow:auto; max-width:100%; }
.plan-editor table { border-collapse:collapse; width:100%; font-size:13px; }
.plan-editor th { text-align:left; font-size:11px; text-transform:uppercase; color:#577086; background:#f4f8fb; padding:12px 10px; white-space:nowrap; }
.plan-editor td { padding:11px 10px; border-bottom:1px solid #e6edf3; vertical-align:top; }
.plan-editor td.pe-nowrap { white-space:nowrap; font-variant-numeric:tabular-nums; }
.plan-editor .pe-pill { display:inline-block; padding:3px 7px; border-radius:5px; font-size:11px; background:#edf3f8; color:#365872; white-space:nowrap; }
.plan-editor .pe-pill.critica { background:#fef0ec; color:#a53b28; }
.plan-editor .pe-pill.pronta { background:#e6f5ee; color:#216644; }
.plan-editor dialog { width:min(820px,calc(100vw - 24px)); max-height:90vh; overflow:auto; border:1px solid #c5d4df; border-radius:12px; padding:24px; color:#172e40; box-shadow:0 24px 90px #10284040; }
.plan-editor dialog::backdrop { background:#10284077; }
.plan-editor dialog footer { display:flex; gap:8px; justify-content:flex-end; flex-wrap:wrap; margin-top:20px; }
.plan-editor .pe-checks { display:flex; gap:8px; flex-wrap:wrap; }
.plan-editor .pe-checks label { flex-direction:row; align-items:center; }
.plan-editor .pe-checks input { width:auto; }
.plan-editor .pe-row-name { border:0; padding:0; text-align:left; font-weight:600; background:none; color:#005ca9; }
.plan-editor .pe-empty { padding:36px; text-align:center; }
.plan-editor .pe-split { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.plan-editor .pe-gantt .bar-wrapper.pe-critical .bar { fill:#fce7df; stroke:#af462c; }
.plan-editor .pe-gantt .bar-wrapper.pe-critical .bar-progress { fill:#af462c; }
.plan-editor .pe-gantt .bar-wrapper.pe-milestone .bar { fill:#146a60; clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.plan-editor .pe-gantt .bar-wrapper.pe-milestone .bar-progress,
.plan-editor .pe-gantt .bar-wrapper.pe-milestone .handle { display:none; }
.plan-editor .pe-gantt .bar-wrapper:focus .bar { stroke:#003c71; stroke-width:3; }
.plan-editor .pe-gantt { min-height:180px; overflow:auto; }
.plan-editor .pe-gantt svg.gantt { max-width:none; }
.plan-editor #pePrevisaoGantt .bar { fill:#b8d9f4; stroke:#005ca9; }
.plan-editor #pePrevisaoGantt .bar-wrapper.pe-critical .bar { fill:#fce7df; stroke:#af462c; }
.plan-editor .pe-fluxo { min-width:1040px; }
.plan-editor .pe-fluxo-row { display:grid; grid-template-columns:200px minmax(840px,1fr); border-bottom:1px solid #e6edf3; }
.plan-editor .pe-fluxo-row > div:first-child, .plan-editor .pe-fluxo-row > strong { padding:10px; overflow-wrap:anywhere; }
.plan-editor .pe-fluxo-axis { display:grid; grid-template-columns:repeat(6,1fr); font-size:12px; color:#476378; padding:10px 0; }
.plan-editor .pe-fluxo-local { background:#eff6fc; margin:0; padding:10px; overflow-wrap:anywhere; }
.plan-editor .pe-fluxo-track { position:relative; min-height:68px; background:repeating-linear-gradient(to right,#dce7ee 0,#dce7ee 1px,transparent 1px,transparent calc(100% / 6)); }
.plan-editor button.pe-fluxo-bar { position:absolute; top:20px; height:28px; min-width:0; padding:0; border-radius:4px; border:1px solid #005ca9; background:#8cbfe6; }
.plan-editor button.pe-fluxo-bar:hover { background:#b2d4ed; }
.plan-editor button.pe-fluxo-bar.pe-fluxo-unassigned { border-style:dashed; background:#edf3f8; }
@media(max-width:680px) {
 .plan-editor .pe-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .plan-editor .pe-heading, .plan-editor .pe-split { display:block; }
 .plan-editor .pe-toolbar { align-items:stretch; }
 .plan-editor .pe-toolbar select { width:100%; }
 .plan-editor .pe-stat { padding:12px; } .plan-editor .pe-stat strong { font-size:19px; }
 .plan-editor dialog { padding:16px; } .plan-editor .pe-grid { grid-template-columns:1fr; }
}
