:root{font-family:'Segoe UI',Arial,sans-serif;color:#172c3b;background:#f3f6f8;font-size:16px;--navy:#102d3c;--teal:#007f76;--line:#dfe7eb;--muted:#61737f;--red:#b63838;--amber:#946200}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:#00786e}button{border:1px solid var(--line);background:white;color:inherit;border-radius:7px;padding:10px 15px;font-weight:600}button:hover:not(:disabled){background:#eaf3f2}button.primary{background:var(--teal);color:white;border-color:var(--teal)}button.primary:hover:not(:disabled){background:#00685f}.shell{display:flex;min-height:100vh}.sidebar{width:245px;flex-shrink:0;background:var(--navy);color:#d0dee4;padding:34px 19px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;font-size:30px;letter-spacing:-1px;font-weight:600;padding:0 7px}.brand small{display:block;letter-spacing:1.8px;font-size:10px;font-weight:500;color:#93afb9;margin-top:5px}.brandmark{font-size:36px;color:#55d3bd;letter-spacing:-10px;width:37px;font-weight:700}.brandmark span{color:white}.workspace{font-size:12px;letter-spacing:1.8px;padding:39px 13px 15px;color:#9ab1bc}.workspace span{float:right;background:#284958;padding:2px 6px;border-radius:3px;font-size:11px;letter-spacing:0}.sidebar nav{display:grid;gap:6px;overflow-y:auto;overflow-x:hidden;min-height:0;padding-right:5px;scrollbar-width:thin;scrollbar-color:#52717d transparent}.sidebar nav::-webkit-scrollbar{width:7px}.sidebar nav::-webkit-scrollbar-track{background:transparent}.sidebar nav::-webkit-scrollbar-thumb{background:#52717d;border-radius:10px}.sidebar nav::-webkit-scrollbar-thumb:hover{background:#6b8c98}.sidebar button{width:100%;border:0;text-align:left;background:transparent;color:#b9cdd5;font-size:14px;padding:13px 12px}.sidebar nav button>span{width:28px;display:inline-block;font-size:19px;font-weight:400}.sidebar button.active{background:#214c55;color:white;box-shadow:inset 3px 0 #53d3ba}.sidebar button:hover{background:#214653}.sidebar b{float:right;background:#365b64;border-radius:4px;padding:2px 6px;font-size:12px}.side-bottom{margin-top:auto}.signature{border-top:1px solid #35515e;margin:18px 8px 0;padding-top:20px;font-size:12px;line-height:1.8;color:#94aeb9}.signature strong{font-weight:500;color:#d8e6eb}.workspace-body{flex:1;min-width:0}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line);padding:0 38px;font-size:14px}.topbar>div{display:flex;align-items:center;gap:18px}.topbar>span .muted{margin:0 12px}.avatar{background:#e4f0ef;color:#11655e;border-radius:50%;height:35px;width:35px;display:grid;place-items:center;font-size:12px;font-weight:700}main{padding:32px 38px;min-height:calc(100vh - 130px)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.eyebrow{font-size:11px;letter-spacing:1.6px;font-weight:700;color:var(--teal);margin:0 0 8px}h1{font-size:30px;letter-spacing:-.8px;font-weight:650;margin:0 0 7px}h2{font-size:18px;margin:0}h3{font-size:16px;margin:0 0 12px}p{line-height:1.55}.muted{color:var(--muted)}.page-heading p.muted{font-size:14px;margin:0}.pill{display:inline-flex;align-items:center;padding:5px 9px;border-radius:5px;font-size:12px;font-weight:600;background:#edf1f4;color:#536570;white-space:nowrap}.pill.green{background:#e2f3ec;color:#156f50}.pill.amber{background:#fff2d7;color:#895c06}.pill.red{background:#fce8e8;color:#a43232}.pill.blue{background:#e7f0fa;color:#2c6093}.notice{background:#fff9e9;border:1px solid #eaddb8;border-radius:7px;color:#795b17;padding:12px 16px;font-size:14px;margin:0 0 22px;line-height:1.5}.notice button{margin-left:10px;font-size:13px;padding:5px 9px;background:transparent;border-color:#cfbb8c}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px}.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:20px;position:relative}.stat .label{font-size:14px;color:var(--muted);font-weight:500}.stat .value{font-size:29px;letter-spacing:-1px;font-weight:650;margin:13px 0 9px;font-variant-numeric:tabular-nums}.stat small{font-size:12px;color:var(--muted);display:block;line-height:1.5}.stat .accent{color:var(--teal)}.grid{display:grid;grid-template-columns:1.12fr 1fr;gap:21px;margin-bottom:23px}.panel{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden}.panel-head{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-head small{font-size:12px;color:var(--muted)}.panel-body{padding:0 22px 22px}.finance-value{display:flex;justify-content:space-between;align-items:baseline;margin:5px 0 14px}.finance-value strong{font-size:26px}.track{height:14px;background:#eaf0f3;border-radius:5px;overflow:hidden}.track span{height:100%;display:block;background:var(--teal);border-radius:5px}.legend{display:flex;gap:22px;margin:15px 0;font-size:13px;color:var(--muted);flex-wrap:wrap}.legend i{display:inline-block;width:8px;height:8px;border-radius:2px;background:var(--teal);margin-right:5px}.legend i.gray{background:#dfe7eb}.finance-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px;font-size:14px}.deadline-row{display:grid;grid-template-columns:160px 1fr 26px;gap:12px;align-items:center;font-size:14px;margin:0 0 14px}.deadline-row .track{height:8px}.deadline-row b{text-align:right}.deadline-row .red{background:#c85a53}.deadline-row .amber{background:#d0a246}.deadline-row .gray{background:#b6c3ca}.filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search{flex:1;min-width:200px}.filters input,.filters select{border:1px solid var(--line);border-radius:6px;background:white;padding:10px 12px;color:#263f4c;font-size:14px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:14px}th{background:#f8fafb;color:#637782;font-size:12px;font-weight:600;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:13px 18px;white-space:nowrap}td{padding:16px 18px;border-bottom:1px solid #eaf0f2;vertical-align:middle}tr:last-child td{border-bottom:0}.project-link{background:none;border:0;padding:0;color:#173b4a;text-align:left;max-width:330px;line-height:1.4;font-weight:600;font-size:14px}.project-link:hover{text-decoration:underline;background:none!important}.sub{display:block;font-size:12px;color:var(--muted);margin-top:4px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table-foot{display:flex;justify-content:space-between;padding:13px 19px;background:#fbfcfd;font-size:12px;color:var(--muted)}.text-btn{border:0;background:none;color:var(--teal);padding:5px;font-size:14px}.empty{padding:45px 25px;text-align:center;color:var(--muted);line-height:1.7}.cards{display:grid;gap:15px}.history-card{padding:20px;border:1px solid var(--line);border-radius:7px;background:white}.history-card .meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;font-size:13px;color:var(--muted)}.history-card p{white-space:pre-wrap;margin:9px 0;overflow-wrap:anywhere}.history-card .text-btn{font-size:15px;font-weight:650}.history-card small{color:var(--muted)}footer{padding:16px 38px;display:flex;gap:18px;align-items:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}footer a{margin-left:auto;text-decoration:none}dialog{border:0;border-radius:12px;box-shadow:0 24px 100px #0b26394d;padding:0;width:min(980px,94vw);max-height:90vh;color:inherit}dialog::backdrop{background:#102b3f88;backdrop-filter:blur(2px)}.dialog-head{padding:24px 28px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.dialog-head h2{font-size:21px;line-height:1.4}.dialog-head .close{padding:4px 11px;font-size:24px;line-height:1;border:0}.tabs{display:flex;padding:0 28px;border-bottom:1px solid var(--line);overflow:auto}.tabs button{border:0;border-radius:0;padding:15px 18px;font-size:14px;white-space:nowrap}.tabs button.active{color:var(--teal);border-bottom:3px solid var(--teal)}.dialog-body{padding:25px 28px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:28px}.detail-grid dt{font-size:12px;color:var(--muted);margin-bottom:6px}.detail-grid dd{margin:0;font-size:15px;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid #c8d5dc;border-radius:6px;padding:10px 12px;background:white;color:inherit}.field textarea{min-height:95px;resize:vertical}.field small{font-size:12px;color:var(--muted)}.form-actions{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.error{color:#a12626;background:#fff0f0;padding:12px;border-radius:6px;font-size:14px;margin:15px 0}.error:empty{display:none}.connection-panel{max-width:800px}.connection-panel p{font-size:14px}.connection-buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}#toast{position:fixed;right:24px;bottom:25px;max-width:550px;background:#123b40;color:white;border-radius:8px;padding:0;z-index:20;box-shadow:0 6px 25px #0002}#toast:not(:empty){padding:15px 22px}.danger-text{color:var(--red)}.wrap{white-space:normal;overflow-wrap:anywhere}.section-note{font-size:13px;color:var(--muted);line-height:1.5;margin:15px 0 0}.click-row:hover{background:#f8fcfb}@media(min-width:1600px){main{max-width:1550px;margin:auto}}@media(max-width:1200px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.brand{font-size:26px}main{padding:25px}.topbar{padding:0 25px}.stat .value{font-size:24px}.deadline-row{grid-template-columns:140px 1fr 24px}.stats{gap:12px}.stat{padding:16px}}@media(max-width:900px){.sidebar{width:190px}.stats{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.page-heading{align-items:flex-start}.detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.shell{display:block}.sidebar{position:static;width:100%;height:auto;padding:17px}.brand{font-size:25px}.brand small,.workspace,.side-bottom .signature{display:none}.sidebar nav{display:flex;overflow-x:auto;overflow-y:hidden;margin-top:15px;gap:5px;padding-right:0}.sidebar nav button{width:auto;white-space:nowrap;padding:10px;font-size:13px}.sidebar nav button>span,.sidebar nav b{display:none}.side-bottom{position:absolute;right:10px;top:14px}.side-bottom button{font-size:12px;width:120px}.topbar{height:60px;padding:0 17px}.avatar{display:none}main{padding:22px 16px}.page-heading{flex-wrap:wrap}h1{font-size:26px}.page-heading .primary{padding:9px 12px;font-size:14px}.stats{gap:10px}.stat{padding:14px}.stat .value{font-size:23px}.stat .label{font-size:13px}.stat small{font-size:12px}.filters>*{width:100%}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.dialog-head,.dialog-body{padding:20px}.tabs{padding:0 8px}.detail-grid{gap:18px}.topbar .pill{font-size:11px}.deadline-row{grid-template-columns:140px 1fr 22px}footer{padding:15px 17px;flex-wrap:wrap}footer span{display:none}.notice button{margin:8px 0 0;display:block}}

/* Identidade e créditos do One View */
.workspace{letter-spacing:.8px}footer{flex-wrap:wrap;gap:10px 20px;line-height:1.6}footer .copyright,footer .developer-credit{display:block}@media(max-width:680px){footer .copyright,footer .developer-credit{width:100%}footer a{margin-left:0}.topbar>span{font-size:12px}.topbar>span .muted{margin:0 5px}}

.opening-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:#eaf3f1;border:1px solid #cde2dd;border-radius:8px;padding:17px 22px;margin-bottom:22px}.opening-stats div{display:flex;justify-content:space-between;gap:12px;align-items:center}.opening-stats span{font-size:14px;color:#43665f}.opening-stats strong{font-size:18px;white-space:nowrap}.minutes-summary{display:grid;gap:15px}.minutes-summary div{border-bottom:1px solid var(--line);padding-bottom:12px}.minutes-summary dt{font-size:13px;color:var(--muted);margin-bottom:5px}.minutes-summary dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.kickoff-link-heading{margin-top:28px}.materials-panel{max-width:900px}.materials-file{display:flex;align-items:center;gap:18px;padding:23px 0 28px}.excel-mark{background:#167449;color:white;font-weight:700;font-size:26px;border-radius:8px;padding:12px 20px}.button-link{display:inline-block;padding:12px 18px;border-radius:7px;text-decoration:none;font-weight:600}.primary-link{background:var(--teal);color:white}@media(max-width:1000px){.opening-stats{grid-template-columns:1fr}}

.gantt-panel{margin-top:24px}.gantt-legend{display:flex;flex-wrap:wrap;gap:12px 20px;padding:0 22px 18px;font-size:13px;color:var(--muted)}.gantt-dot{display:inline-block;width:11px;height:11px;border-radius:3px;background:#007f76;margin-right:5px}.gantt-dot.done,.gantt-bar.done{background:#529975}.gantt-dot.hold,.gantt-bar.hold{background:#be8a27}.gantt-dot.overdue,.gantt-bar.overdue{background:#c65a52}.gantt-scroll{overflow:auto;max-height:700px}.gantt-canvas{min-width:1150px}.gantt-row{display:grid;grid-template-columns:340px 1fr;min-height:95px;border-top:1px solid var(--line)}.gantt-label{background:white;position:sticky;left:0;z-index:3;padding:14px 18px;border-right:1px solid var(--line)}.gantt-label .project-link{max-width:300px}.gantt-timeline{position:relative;min-height:60px;background:#fcfdfd}.gantt-heading{position:sticky;top:0;z-index:5;min-height:44px}.gantt-heading .gantt-label,.gantt-heading .gantt-timeline{background:#edf3f4;min-height:44px;font-size:12px;font-weight:600}.gantt-month{position:absolute;height:44px;display:flex;align-items:center;padding-left:8px;border-left:1px solid var(--line);font-size:12px;overflow:hidden;white-space:nowrap}.gantt-gridline{position:absolute;top:0;bottom:0;border-left:1px solid #e4ecee}.gantt-bar{position:absolute;top:38px;height:22px;min-width:3px;background:#007f76;border:0;border-radius:4px;padding:0;z-index:1}.gantt-bar:hover:not(:disabled){background:#185e58;box-shadow:0 0 0 2px #163e4b}.gantt-today{position:absolute;top:0;bottom:0;border-left:2px dashed #346caf;z-index:2;pointer-events:none}.gantt-milestone{position:absolute;top:39px;transform:translateX(-50%);color:#152b42;font-size:17px;line-height:20px;z-index:2}.gantt-pending summary{cursor:pointer;padding:17px 22px;font-size:14px;font-weight:600;color:var(--teal)}.gantt-note{font-size:13px;color:var(--muted);margin:0;padding:14px 22px;border-top:1px solid var(--line)}@media(max-width:680px){.gantt-panel .panel-head{align-items:flex-start;flex-direction:column}.gantt-row{grid-template-columns:250px 1fr}.gantt-label .project-link{max-width:210px}.gantt-canvas{min-width:950px}}

.year-note{font-size:12px;color:var(--muted);margin:-8px 0 20px}

.gantt-bar.cancelled{background:#7b8490}

.other-connections{margin-top:22px}.other-connections>summary{cursor:pointer;font-weight:600;color:var(--teal);padding:16px 0}.file-notice small{display:block;margin-top:12px}.file-status{overflow-wrap:anywhere}.file-notice{background:#eef8f5;border-color:#bcdcd2;color:#194b40}
.sync-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sync-status .pill{gap:6px}.sync-status .pill::before{content:'•';font-size:15px;line-height:1}.export-card{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:8px;background:#f8fbfb}.export-card h3{margin-bottom:6px}.export-card p{margin:0 0 14px}.connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.connection-metric{border:1px solid var(--line);border-radius:8px;padding:15px;background:#fbfcfd}.connection-metric strong{display:block;margin-bottom:7px}.connection-metric span{font-size:13px;color:var(--muted)}@media(max-width:680px){.topbar>div{gap:7px}.topbar #save-state{display:none}.connection-grid{grid-template-columns:1fr}}
.top-export{padding:6px 10px;font-size:12px;border-color:#cddadd;background:#fff;color:var(--teal)}.top-export:hover:not(:disabled){background:#eef8f5}@media(max-width:900px){.top-export{display:none}}

/* OneView v5 — Gantt hierárquico e avanço físico */
.gantt-project-row{min-height:86px;background:#f6fbfb}.gantt-project-row .gantt-label{background:#f6fbfb}.gantt-task-row{min-height:70px}.gantt-task-row .gantt-label{padding-left:30px}.gantt-task-link{font-weight:500}.gantt-bar{overflow:hidden}.gantt-bar.task{top:28px;height:18px}.gantt-progress{display:block;height:100%;background:rgba(0,0,0,.22);border-radius:4px 0 0 4px;pointer-events:none}.gantt-bar.done .gantt-progress{background:rgba(0,0,0,.16)}

/* OneView v7 · usuários e permissões */
.user-chip{display:flex;flex-direction:column;align-items:flex-end;gap:1px;background:transparent;border:0;padding:4px 6px;cursor:pointer;color:inherit}.user-chip span{font-size:12px;font-weight:700}.user-chip small{font-size:10px;color:#7b8496}.role-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#eef2f7;color:#344054}.role-badge.full{background:#e9f7ef;color:#18794e}.role-badge.viewer{background:#eef2ff;color:#4753a6}.users-actions{display:flex;gap:8px;flex-wrap:wrap}.permission-note{padding:10px 12px;border-radius:9px;background:#f8fafc;border:1px solid #e4e9f0;color:#667085;font-size:12px}.viewer-lock{opacity:.55;pointer-events:none}.users-table input,.users-table select{min-width:120px}.users-table td{vertical-align:middle}

/* OneView v8 · exclusões e ações da ata */
.row-actions,.gantt-task-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gantt-task-actions .text-btn{font-size:11px;padding:2px 4px}.danger-button{border:1px solid #c94f4f;background:#fff5f5;color:#a12626}.danger-button:hover:not(:disabled){background:#ffe9e9;border-color:#a12626}.connection-buttons .danger-button{padding:9px 13px;border-radius:6px;font-weight:600}
/* OneView v10 — Materiais, permissões e agenda técnica */
.project-access-list{max-height:260px;overflow:auto;border:1px solid var(--line,#dfe6ee);border-radius:10px;padding:10px}.project-check{display:block;padding:6px 4px;font-size:13px}.agenda-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:1px;background:#dfe6ee;border-top:1px solid #dfe6ee;overflow:auto}.agenda-week{background:#eef3f7;padding:8px;text-align:center;font-weight:700;font-size:12px}.agenda-day{background:#fff;min-height:110px;padding:7px}.agenda-day>b{display:block;margin-bottom:5px}.muted-day{background:#f6f8fa}.agenda-event{display:block;width:100%;border:0;border-radius:6px;background:#eaf1ff;padding:5px 6px;margin:3px 0;text-align:left;font-size:11px;cursor:pointer}.agenda-event small{display:block;opacity:.72}.resource-hist{display:grid;grid-template-columns:minmax(180px,260px) 1fr 70px;gap:12px;align-items:center;margin:10px 0;font-size:13px}.resource-hist>div{height:18px;background:#edf1f4;border-radius:9px;overflow:hidden}.resource-hist i{display:block;height:100%;background:#4464d8;border-radius:9px}.resource-hist strong{text-align:right}@media(max-width:900px){.agenda-grid{grid-template-columns:repeat(7,120px)}.resource-hist{grid-template-columns:1fr}.resource-hist strong{text-align:left}}
.material-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;align-items:end}.material-filters label{display:flex;flex-direction:column;gap:6px}.material-project-link{text-align:left;display:inline-flex;flex-direction:column;align-items:flex-start;max-width:260px}.material-project-link strong{text-decoration:underline;text-underline-offset:3px}

.danger-text{color:#b42318!important}.danger-text:hover{background:#fff1f0!important}
/* v11 · Curva S e dependências estilo Microsoft Project */
.curve-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.curve-kpis>div{border:1px solid var(--line);border-radius:8px;padding:14px;background:#fbfcfd}.curve-kpis span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.curve-kpis strong{font-size:20px}.curve-chart{overflow-x:auto;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}.curve-chart svg{width:100%;min-width:720px;height:auto}.curve-grid line{stroke:#e4ebef;stroke-width:1}.curve-grid text{fill:#6c7f89;font-size:11px}.curve-plan,.curve-real{fill:none;stroke-width:3}.curve-plan{stroke:#3279d8}.curve-real{stroke:#20a464}.curve-plan-dot{fill:#3279d8}.curve-real-dot{fill:#20a464}.curve-legend{display:inline-block;width:16px!important;height:4px!important;border-radius:4px!important}.curve-legend.plan{background:#3279d8!important}.curve-legend.real{background:#20a464!important}.dependency-help{background:#f7fafb;border:1px solid var(--line);border-radius:7px;padding:12px}.gantt-task-row .gantt-label:has(.gantt-task-link)::after{content:''}@media(max-width:680px){.curve-kpis{grid-template-columns:repeat(2,1fr)}}

/* v12 · OneView IA — Copiloto de Projetos */
.indicator-toggle{display:flex;justify-content:flex-end;gap:6px;margin:-5px 0 18px}.indicator-toggle button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#647984;font-size:12.5px;font-weight:600;box-shadow:none;transition:background .16s ease,border-color .16s ease,color .16s ease}.indicator-toggle button:hover{background:#f6f9fa;border-color:#c5d2d8;color:var(--navy)}.indicator-toggle button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.indicator-toggle button svg rect{fill:none}.indicator-toggle button.active{background:#eef6f6;border-color:#9fc7c6;color:#0b6f72;box-shadow:inset 0 0 0 1px rgba(11,111,114,.04)}.project-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.indicator-chart{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px 22px;min-height:245px}.indicator-chart-wide{grid-column:1/-1;min-height:260px}.indicator-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:24px}.indicator-chart-head strong{font-size:16px}.indicator-chart-head small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.indicator-chart-head>b{font-size:22px;color:var(--teal)}.indicator-bars{display:grid;gap:16px}.indicator-bar-row{display:grid;grid-template-columns:90px 1fr 28px;align-items:center;gap:12px;font-size:13px}.indicator-bar-track{height:13px;background:#edf2f4;border-radius:8px;overflow:hidden}.indicator-bar-track i{display:block;height:100%;background:var(--teal);border-radius:8px;min-width:2px}.indicator-bar-row b{text-align:right}.finance-chart{display:flex;align-items:center;justify-content:center;gap:32px}.finance-ring{--p:0;width:130px;height:130px;border-radius:50%;background:conic-gradient(var(--teal) calc(var(--p)*1%),#e6edef 0);display:grid;place-items:center;position:relative}.finance-ring:after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff}.finance-ring span{position:relative;z-index:1;font-weight:700;font-size:20px}.finance-chart-legend{display:grid;gap:13px;font-size:13px}.finance-chart-legend span{display:grid;grid-template-columns:10px auto auto;gap:7px;align-items:center}.finance-chart-legend i{width:9px;height:9px;background:var(--teal);border-radius:2px}.finance-chart-legend i.pending{background:#d5dfe3}.finance-chart-legend small{color:var(--muted)}.delivery-columns{height:175px;display:flex;align-items:flex-end;justify-content:space-around;gap:25px;padding:0 5%}.delivery-columns>div{height:100%;flex:1;max-width:160px;display:grid;grid-template-rows:25px 1fr 32px;text-align:center;align-items:end;font-size:12px;color:var(--muted)}.delivery-columns b{color:#243e4b;font-size:17px}.delivery-column-track{height:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--line)}.delivery-column-track i{display:block;width:48%;min-height:2px;background:var(--teal);border-radius:5px 5px 0 0}.delivery-columns>div:nth-child(3) .delivery-column-track i{background:#b63838}.delivery-columns>div:nth-child(4) .delivery-column-track i{background:#9aaab2}@media(max-width:900px){.project-chart-grid{grid-template-columns:1fr}.indicator-chart-wide{grid-column:auto}}@media(max-width:680px){.indicator-toggle{justify-content:stretch}.indicator-toggle button{flex:1}.finance-chart{gap:18px}.finance-ring{width:105px;height:105px}.delivery-columns{padding:0;gap:8px}.indicator-bar-row{grid-template-columns:78px 1fr 25px}}

/* v12.2 — navegação lateral com iconografia corporativa */
.sidebar nav button,.side-bottom>button{display:flex;align-items:center;gap:10px}
.sidebar nav button>span.nav-icon,.side-bottom>button>span.nav-icon{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;font-size:0}
.sidebar .nav-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sidebar nav button.active .nav-icon{color:#67dec9}
.sidebar nav button:hover .nav-icon{color:#dff8f2}
.sidebar nav button b{margin-left:auto;float:none}
.side-bottom>button{padding-left:12px}
@media(max-width:680px){.sidebar nav button>span.nav-icon{display:none}.side-bottom>button>span.nav-icon{display:none}}

/* v12.1: seletor Cards/Gráficos sempre visível na página Projetos */
.indicator-toggle{position:relative;z-index:2;margin:0 0 18px;padding:5px;width:max-content;max-width:100%;background:#f1f5f7;border:1px solid #d8e1e5;border-radius:11px;justify-content:flex-start}.indicator-toggle button{border-color:transparent;background:transparent;min-width:118px;justify-content:center}.indicator-toggle button.active{background:#fff;border-color:#cbd8dd;box-shadow:0 1px 4px rgba(20,45,60,.08)}

/* v12.2: seletor de visualizacao destacado na Visao Geral */
.overview-display-switch{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:4px 0 18px;padding:14px 16px;background:#fff;border:1px solid #d8e1e5;border-radius:14px;box-shadow:0 1px 3px rgba(20,45,60,.04)}
.overview-display-switch>div:first-child{display:flex;flex-direction:column;gap:3px}.overview-display-switch strong{font-size:14px;color:#183441}.overview-display-switch small{font-size:12px;color:#71838c}.overview-display-switch .indicator-toggle{margin:0;flex-shrink:0}
@media(max-width:760px){.overview-display-switch{align-items:flex-start;flex-direction:column}.overview-display-switch .indicator-toggle{width:100%}.overview-display-switch .indicator-toggle button{flex:1;min-width:0}}
/* Gantt analítico estilo Redmine — somente apresentação; sem alteração de esquema D1 */
.ovg-panel{overflow:hidden}.ovg-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 18px;border-top:1px solid #e2e8f0}.ovg-tools label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700}.ovg-tools select{max-width:360px;min-width:180px}.ovg-zoom{display:flex;gap:2px;background:#edf2f7;border-radius:9px;padding:3px}.ovg-zoom button{border:0;border-radius:7px;padding:8px 13px;background:transparent;color:#475569;cursor:pointer}.ovg-zoom button.active{background:#153b59;color:white}.ovg-scroll{overflow:auto;max-height:75vh;border-top:1px solid #dbe4ed}.ovg-board{width:max-content;min-width:100%;font-size:11px;color:#243b53}.ovg-head,.ovg-row{display:flex;min-height:43px}.ovg-head{position:sticky;top:0;z-index:5;background:#eaf0f6}.ovg-data{position:sticky;left:0;z-index:2;display:grid;grid-template-columns:245px 102px 102px 67px 105px 45px 155px;width:821px;min-width:821px;background:white;border-right:2px solid #a8b8c9}.ovg-head .ovg-data{z-index:6;background:#eaf0f6;font-size:10px;font-weight:800}.ovg-data>div{display:flex;align-items:center;padding:7px 6px;border-right:1px solid #e4eaf0;overflow:hidden}.ovg-row{border-bottom:1px solid #e7edf3}.ovg-row:nth-child(2n) .ovg-data,.ovg-row:nth-child(2n) .ovg-track{background-color:#f8fafc}.ovg-row.project .ovg-data{background:#e8f0f8;font-weight:700}.ovg-name{gap:4px;white-space:normal;min-width:0}.ovg-name .project-link{text-align:left;font-size:11px;overflow-wrap:anywhere}.ovg-tree{border:0;background:transparent;color:#295578;font-size:17px;cursor:pointer;padding:0 3px}.ovg-leaf{color:#9aabba;width:16px;text-align:center}.ovg-status{border-radius:20px;padding:4px 6px;white-space:nowrap;font-size:10px;background:#e5e7eb;color:#475569}.ovg-status.done{background:#dcfce7;color:#166534}.ovg-status.active{background:#dbeafe;color:#1d4ed8}.ovg-status.late{background:#fee2e2;color:#991b1b}.ovg-status.cancelled{background:#f1f5f9;color:#64748b}.ovg-pred{white-space:normal;overflow-wrap:anywhere}.ovg-calendar{display:flex;flex-direction:column;flex-shrink:0}.ovg-months,.ovg-weeks,.ovg-days{display:flex;min-height:25px;border-bottom:1px solid #cad5e2}.ovg-group{display:flex;justify-content:center;align-items:center;border-right:1px solid #cbd5e1;font-weight:700;text-transform:capitalize}.ovg-weeks .ovg-group{font-weight:500}.ovg-days span{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-right:1px solid #dce4ee;white-space:nowrap;font-size:10px}.ovg-days .weekend{background:#e3e9ef}.ovg-days .current{background:#c6e9ed;color:#075985;font-weight:800}.ovg-track{position:relative;flex-shrink:0;min-height:43px;background-image:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--ovg-unit) - 1px),#e5ebf1 calc(var(--ovg-unit) - 1px),#e5ebf1 var(--ovg-unit));background-color:white}.ovg-bar{position:absolute;top:14px;height:15px;border:0;border-radius:3px;background:#3b82f6;min-width:3px;padding:0;overflow:hidden;cursor:pointer}.ovg-bar i{display:block;height:100%;background:#1d4ed8}.ovg-bar.done{background:#22c55e}.ovg-bar.done i{background:#15803d}.ovg-bar.late{background:#ef4444}.ovg-bar.cancelled{background:#94a3b8}.ovg-bar.summary{height:10px;top:16px;background:#234b6e;border-radius:0}.ovg-bar:disabled{cursor:default}@media(max-width:680px){.ovg-data{grid-template-columns:200px 102px 102px 67px 105px 45px 155px;width:776px;min-width:776px}.ovg-tools{align-items:stretch}.ovg-tools label{flex-wrap:wrap}}

/* Agenda: histograma de horas e custo da mão de obra */
.agenda-summary{display:flex;gap:16px;flex-wrap:wrap;padding:18px 20px}.agenda-summary>div{min-width:220px;border:1px solid #dce5f0;border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:5px}.agenda-summary small{color:#64748b}.agenda-summary strong{font-size:20px}.agenda-cost-row{grid-template-columns:minmax(170px,1.5fr) minmax(100px,2fr) minmax(65px,.5fr) minmax(110px,.8fr);gap:12px}.agenda-cost-row strong:last-child{text-align:right}.agenda-daily-scroll{overflow-x:auto}.agenda-daily-chart{display:flex;gap:4px;min-width:760px;height:185px;align-items:stretch}.agenda-daily-col{flex:1;min-width:19px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px}.agenda-daily-col strong{font-size:10px;color:#475569}.agenda-daily-col small{font-size:10px;color:#64748b}.agenda-daily-track{height:125px;width:100%;background:#eff4fa;display:flex;align-items:end;border-radius:4px;overflow:hidden}.agenda-daily-track i{display:block;background:#2563eb;width:100%;border-radius:3px 3px 0 0}@media(max-width:760px){.agenda-cost-row{grid-template-columns:1fr 1fr}.agenda-summary>div{min-width:160px}}

/* v18.9 · agenda global, atas múltiplas e comunicação/escalonamento */
.minutes-list{display:grid;gap:12px}.minutes-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:10px;padding:16px 18px}.minutes-card>div:first-child{display:grid;gap:5px}.minutes-card span,.minutes-card small{color:var(--muted)}.kickoff-contacts{border:1px solid var(--line);border-radius:10px;padding:14px}.kickoff-contacts-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.kickoff-contact-row{display:grid;grid-template-columns:1.1fr 1fr 1.3fr 1fr auto;gap:10px;align-items:end;padding:10px 0;border-top:1px solid #edf1f4}.kickoff-contact-row label{display:grid;gap:5px;font-size:12px}.kickoff-contact-row input{width:100%;border:1px solid #c8d5dc;border-radius:6px;padding:9px}.communication-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.communication-cards article{border:1px solid #d8e2ea;border-radius:11px;padding:15px}.communication-cards article>strong,.communication-cards article>a{display:block;margin-bottom:7px}.communication-cards article>a{color:#145bdb;text-decoration:none;font-size:13px}.communication-cards article p{margin:10px 0;font-size:13px}.communication-cards article small{color:var(--muted)}.escalation-head{margin-top:24px;border-top:1px solid var(--line)}.escalation-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.escalation-flow section{position:relative;border:1px solid #d8e2ea;border-radius:10px;padding:13px;background:#f9fbfd}.escalation-flow section>b{display:block;color:#173f5f;margin-bottom:8px}.escalation-flow section>span{display:block;font-size:12px;margin:7px 0}.escalation-flow section>span small{display:block;color:var(--muted);margin-top:2px}.escalation-flow section>i{position:absolute;right:-10px;top:50%;z-index:1;color:#2f5d7c;font-style:normal;font-size:18px}.pm-table td{vertical-align:top}.pm-table td .sub{white-space:nowrap}@media(max-width:900px){.communication-cards{grid-template-columns:1fr}.escalation-flow{grid-template-columns:1fr 1fr}.kickoff-contact-row{grid-template-columns:1fr 1fr}.minutes-card{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.escalation-flow{grid-template-columns:1fr}.kickoff-contact-row{grid-template-columns:1fr}}

/* v18.10 · Dashboard do Cliente segmentado e personalizável */
.client-dashboard-controls{margin-bottom:20px}.client-status-report{--client-accent:#173f5f;background:#fff;border:1px solid #dbe4ea;border-radius:14px;overflow:hidden;box-shadow:0 12px 35px #14304712}.client-report-header{display:flex;justify-content:space-between;gap:24px;padding:27px 30px;background:linear-gradient(135deg,var(--client-accent),#0b2639);color:#fff}.client-report-header span{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;opacity:.8}.client-report-header h2{font-size:27px;margin:5px 0;color:#fff}.client-report-header p{margin:0;opacity:.82}.client-report-header>div:last-child{text-align:right;display:flex;flex-direction:column;gap:6px}.client-executive-summary{padding:22px 28px;border-bottom:1px solid var(--line);background:#f8fafc}.client-executive-summary h3{margin-bottom:8px}.client-executive-summary p{font-size:14px;margin:0;white-space:pre-wrap}.client-report-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line)}.client-report-kpis article{background:#fff;padding:20px}.client-report-kpis span,.client-report-kpis small{display:block;color:var(--muted);font-size:12px}.client-report-kpis strong{display:block;font-size:27px;margin:8px 0;color:var(--client-accent)}.client-report-section{padding:24px 28px;border-top:1px solid var(--line)}.client-report-section>h3{font-size:17px;margin-bottom:18px;color:#111}.client-progress.large{height:18px;margin-bottom:18px}.client-report-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.client-report-grid p{border:1px solid #e1e8ed;border-radius:8px;padding:13px;margin:0;white-space:pre-wrap}.client-report-grid p b{display:block;font-size:11px;color:var(--muted);margin-bottom:6px;text-transform:uppercase}.client-report-grid.narrative{grid-template-columns:repeat(2,1fr)}.client-report-grid.narrative p{min-height:90px}.client-split{display:grid;grid-template-columns:1fr 1fr;gap:28px}.client-split h4{margin:0 0 13px}.client-chart-row{display:grid;grid-template-columns:110px 1fr 45px;gap:10px;align-items:center;margin:11px 0;font-size:12px}.client-chart-row>div{height:12px;background:#edf2f6;border-radius:8px;overflow:hidden}.client-chart-row i{display:block;height:100%;background:#2f6fed;border-radius:8px}.client-chart-row i.green{background:#24936f}.client-chart-row i.red{background:#ce4a4a}.client-chart-row strong{text-align:right}.client-split ul{list-style:none;margin:0;padding:0}.client-split li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #e8eef2;font-size:12px}.client-split li span{overflow-wrap:anywhere}.client-report-table{overflow:auto}.client-report-table th,.client-report-table td{padding:10px 12px;font-size:11px}.client-finance-summary p{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e5ebef;padding:10px 0;margin:0}.client-report-footer{padding:15px 28px;background:#f7f9fa;color:var(--muted);font-size:10px;text-align:center}@media(max-width:900px){.client-report-kpis,.client-report-grid{grid-template-columns:repeat(2,1fr)}.client-split{grid-template-columns:1fr}.client-report-header{flex-direction:column}.client-report-header>div:last-child{text-align:left}}@media(max-width:600px){.client-report-kpis,.client-report-grid,.client-report-grid.narrative{grid-template-columns:1fr}.client-report-section{padding:19px}.client-report-header{padding:22px}.client-report-header h2{font-size:23px}}

/* v18.12 · Gantt, Curva S, Rede e governança dentro do Status Report */
.client-gantt{min-width:680px;overflow:hidden}.client-gantt-axis{position:relative;height:28px;margin-left:240px;border-bottom:1px solid #ccd8e2}.client-gantt-axis span{position:absolute;transform:translateX(-50%);font-size:10px;color:#607188;white-space:nowrap}.client-gantt-row{display:grid;grid-template-columns:225px minmax(380px,1fr) 42px;gap:12px;align-items:center;min-height:35px;border-bottom:1px solid #edf1f4;font-size:11px}.client-gantt-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-gantt-row>div{height:20px;position:relative;background:repeating-linear-gradient(90deg,#f4f7fa 0,#f4f7fa calc(10% - 1px),#dce5ec 10%)}.client-gantt-row>div>i{display:block;position:absolute;top:4px;height:12px;border-radius:3px;background:#84b9dd;overflow:hidden}.client-gantt-row>div>i>b{display:block;height:100%;background:#176b9e}.client-gantt-row>div>i.milestone{height:12px!important;width:12px!important;transform:rotate(45deg);border-radius:1px;background:#805ad5}.client-gantt-row strong{text-align:right}.client-communication-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-communication-grid article{border:1px solid #d8e2ea;border-radius:10px;padding:14px;background:#f9fbfd}.client-communication-grid strong,.client-communication-grid span{display:block}.client-communication-grid span,.client-communication-grid small{color:#607188;font-size:11px}.client-communication-grid p{font-size:12px}.client-report-table .sub{display:block;color:#607188;margin-top:4px}.client-curve svg{width:100%;height:auto;max-height:330px}.client-report-network .network-scroll{max-height:none}.client-report-network .network-svg{max-width:100%;height:auto}.client-report-gantt,.client-report-curve,.client-report-network,.client-report-communication,.client-report-escalation{overflow-x:auto}
@media(max-width:760px){.client-communication-grid{grid-template-columns:1fr}.client-gantt-axis{margin-left:190px}.client-gantt-row{grid-template-columns:175px minmax(330px,1fr) 38px}}
@media print{html,body,.client-status-report,.client-status-report *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.client-status-report{box-shadow:none!important;border:0!important}.client-report-header{background:linear-gradient(135deg,var(--client-accent),#0b2639)!important;color:#fff!important}.client-report-header h2{color:#fff!important}.client-report-kpis{background:#dce7f4!important}.client-report-kpis article,.client-report-section{background:#fff!important}.client-chart-row>div{background:#edf2f6!important}.client-chart-row i{background:#2f6fed!important}.client-chart-row i.green{background:#24936f!important}.client-chart-row i.red{background:#ce4a4a!important}.client-gantt-row>div>i{background:#84b9dd!important}.client-gantt-row>div>i>b{background:#176b9e!important}.client-gantt-row>div>i.milestone{background:#805ad5!important}.client-communication-grid article{background:#f9fbfd!important}.client-report-section{break-inside:avoid}.client-report-network{break-inside:auto}.client-report-network .network-scroll{overflow:visible}.client-report-network .network-svg{max-width:100%!important;height:auto!important}}

/* v18.14 · Gantt semanal completo e ajustado ao Status Report */
.client-gantt-complete{width:100%;min-width:0;border:1px solid #cfdae3;border-radius:9px;overflow:hidden}.client-gantt-full-row{display:grid;grid-template-columns:42px minmax(135px,1.35fr) minmax(70px,.65fr) 68px 68px 42px 74px 38px minmax(260px,2fr);align-items:stretch;min-height:34px;border-bottom:1px solid #e2e9ee;font-size:9px}.client-gantt-full-row:last-child{border-bottom:0}.client-gantt-full-row>span,.client-gantt-full-row>strong{display:flex;align-items:center;padding:5px;border-right:1px solid #e2e9ee;overflow:hidden;line-height:1.25}.client-gantt-full-row>span:not(.client-gantt-task){white-space:nowrap;text-overflow:ellipsis}.client-gantt-task{padding-left:calc(6px + var(--level)*12px)!important;font-weight:650}.client-gantt-full-head{min-height:48px;background:#173f5f;color:#fff;font-weight:750;position:sticky;top:0;z-index:2}.client-gantt-weeks,.client-gantt-track{display:grid;grid-template-columns:repeat(var(--weeks),minmax(0,1fr));position:relative;min-width:0;background:repeating-linear-gradient(90deg,#f5f8fa 0,#f5f8fa calc(100%/var(--weeks) - 1px),#d9e3ea calc(100%/var(--weeks) - 1px),#d9e3ea calc(100%/var(--weeks)))}.client-gantt-weeks{background:#244f6e}.client-gantt-weeks>span{min-width:0;display:flex;flex-direction:column;justify-content:center;text-align:center;border-left:1px solid #ffffff2b;font-size:8px;overflow:hidden}.client-gantt-weeks small{font-size:6px;opacity:.75}.client-gantt-weeks .compact{color:transparent}.client-gantt-weeks .compact small{display:none}.client-gantt-track>i{position:absolute;top:10px;height:13px;border-radius:3px;background:#70acd4;box-shadow:0 1px 2px #31566e55;overflow:hidden;min-width:2px}.client-gantt-track>i>b{display:block;height:100%;background:#176b9e}.client-gantt-track>i.done{background:#8fd4b4}.client-gantt-track>i.done>b{background:#20845b}.client-gantt-track>i.late{background:#f1ada5}.client-gantt-track>i.late>b{background:#c33d32}.client-gantt-track>i.milestone{width:10px!important;height:10px;top:11px;transform:rotate(45deg);border-radius:1px;background:#805ad5}.client-gantt-track>i.milestone b{display:none}
@media(max-width:1050px){.client-gantt-full-row{grid-template-columns:34px minmax(120px,1.15fr) 62px 60px 60px 36px 64px 34px minmax(210px,1.8fr);font-size:8px}.client-gantt-full-row>span,.client-gantt-full-row>strong{padding:4px}.client-gantt-weeks small{display:none}}
@media(max-width:760px){.client-gantt-complete{overflow-x:auto}.client-gantt-full-row{min-width:920px}}
@media print{.client-report-gantt{padding-left:8px!important;padding-right:8px!important;break-inside:auto!important}.client-gantt-complete{overflow:visible}.client-gantt-full-row{grid-template-columns:32px minmax(115px,1.25fr) 60px 55px 55px 34px 60px 32px minmax(210px,2fr);font-size:7px;break-inside:avoid;min-height:28px}.client-gantt-full-head{background:#173f5f!important;color:#fff!important}.client-gantt-weeks{background:#244f6e!important}.client-gantt-track{background:repeating-linear-gradient(90deg,#f5f8fa 0,#f5f8fa calc(100%/var(--weeks) - 1px),#d9e3ea calc(100%/var(--weeks) - 1px),#d9e3ea calc(100%/var(--weeks)))!important}.client-gantt-track>i{background:#70acd4!important}.client-gantt-track>i>b{background:#176b9e!important}.client-gantt-track>i.done{background:#8fd4b4!important}.client-gantt-track>i.done>b{background:#20845b!important}.client-gantt-track>i.late{background:#f1ada5!important}.client-gantt-track>i.late>b{background:#c33d32!important}.client-gantt-track>i.milestone{background:#805ad5!important}}

/* v18.19 · Curva S executiva com áreas, destaques e leitura aprimorada */
.client-curve-insight{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:10px 13px;border-radius:9px;border:1px solid #dce6ef;background:#f8fafc}.client-curve-insight>span{width:10px;height:10px;border-radius:50%;background:#64748b;box-shadow:0 0 0 4px #64748b20}.client-curve-insight strong,.client-curve-insight small{display:block}.client-curve-insight small{margin-top:2px;color:#64748b;font-size:9px}.client-curve-insight.green>span{background:#20a464;box-shadow:0 0 0 4px #20a46420}.client-curve-insight.amber>span{background:#d39a2c;box-shadow:0 0 0 4px #d39a2c20}.client-curve-insight.red>span{background:#d64b4b;box-shadow:0 0 0 4px #d64b4b20}.curve-plan-area{fill:url(#curve-plan-fill)}.curve-real-area{fill:url(#curve-real-fill)}.client-curve .curve-plan{stroke-dasharray:8 6;stroke-width:3}.client-curve .curve-real{stroke-width:4}.client-curve .curve-plan-dot{fill:#fff;stroke:#3279d8;stroke-width:2}.client-curve .curve-real-dot{fill:#fff;stroke:#20a464;stroke-width:3}.curve-end-label rect{stroke-width:1.5}.curve-end-label text{font-size:10px;font-weight:850}.curve-end-label.plan rect{fill:#eef5ff;stroke:#3279d8}.curve-end-label.plan text{fill:#245fae}.curve-end-label.real rect{fill:#eaf9f2;stroke:#20a464}.curve-end-label.real text{fill:#137a4a}.client-curve-legend{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin:6px 0 10px;padding:9px;border-top:1px solid #edf1f5}.client-curve-legend span{display:grid;grid-template-columns:22px auto;grid-template-rows:auto auto;column-gap:7px;align-items:center}.client-curve-legend i{grid-row:1/3;width:22px;height:4px;border-radius:4px}.client-curve-legend i.plan{background:repeating-linear-gradient(90deg,#3279d8 0 6px,transparent 6px 10px)}.client-curve-legend i.real{background:#20a464}.client-curve-legend i.today{width:3px;height:22px;background:#e5484d;justify-self:center}.client-curve-legend b{font-size:10px}.client-curve-legend small{font-size:8px;color:#728096}

/* v18.18 · Curva S legível e desvio em pontos percentuais */
.client-curve-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.client-curve-kpis article{border:1px solid #dce6ef;border-radius:9px;padding:12px;background:#f8fafc}.client-curve-kpis span,.client-curve-kpis small{display:block;color:#65788a;font-size:9px}.client-curve-kpis strong{display:block;margin:5px 0 2px;font-size:20px;color:#173f5f}.client-curve-kpis article.green strong{color:#18845e}.client-curve-kpis article.amber strong{color:#b7791f}.client-curve-kpis article.red strong{color:#c63f3f}.client-curve{border:1px solid #dce6ef;border-radius:10px;padding:12px;background:#fff;overflow:hidden}.client-curve svg{width:100%;height:auto;max-height:360px}.curve-today{stroke:#e5484d;stroke-width:1.5;stroke-dasharray:5 4}.curve-today-label{fill:#c9363e;font-size:10px;font-weight:800}.client-curve .gantt-legend{display:flex;gap:20px;flex-wrap:wrap;margin:5px 0 8px;font-size:10px}.client-curve .section-note{margin:8px 0 0;line-height:1.45}@media(max-width:760px){.client-curve-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.client-curve-kpis article,.client-curve{background:#fff!important}.curve-today{stroke:#e5484d!important}}

/* v18.17 · Gantt executivo adaptativo no Status Report */
.client-report-gantt{overflow:hidden}.client-gantt-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 12px;padding:10px 12px;background:#f4f8fc;border:1px solid #dce6ef;border-radius:9px;font-size:10px;color:#52667b}.client-gantt-legend span{display:flex;align-items:center;gap:5px}.client-gantt-legend>strong{margin-left:auto;color:#173f5f}.client-gantt-legend i{display:inline-block;width:18px;height:8px;border-radius:3px;background:#70acd4}.client-gantt-legend i.done{background:#39a875}.client-gantt-legend i.late{background:#d85a50}.client-gantt-legend i.diamond{width:9px;height:9px;border-radius:1px;background:#805ad5;transform:rotate(45deg)}.client-gantt-complete{box-shadow:0 5px 20px #183d5c12}.client-gantt-full-row{grid-template-columns:48px minmax(210px,1.3fr) 76px 76px 46px minmax(360px,2.2fr);min-height:43px;font-size:10px}.client-gantt-full-head{min-height:58px;background:linear-gradient(105deg,#153e5e,#205f82)}.client-gantt-task{display:flex!important;flex-direction:column;justify-content:center;align-items:flex-start!important;white-space:normal!important}.client-gantt-task b{display:block;line-height:1.25}.client-gantt-task small{display:block;margin-top:3px;color:#64788a;font-size:8px;font-weight:500}.client-gantt-full-row.summary-row{background:#eef5fa}.client-gantt-full-row.summary-row .client-gantt-task b{color:#163f5d}.client-gantt-weeks,.client-gantt-track{grid-template-columns:repeat(var(--periods),minmax(0,1fr));background:repeating-linear-gradient(90deg,#f7fafc 0,#f7fafc calc(100%/var(--periods) - 1px),#dbe5ec calc(100%/var(--periods) - 1px),#dbe5ec calc(100%/var(--periods)))}.client-gantt-weeks{background:#235b7b}.client-gantt-weeks>span{font-size:9px;font-weight:750;color:#fff}.client-gantt-weeks small{font-size:7px;opacity:.78}.client-gantt-track>i{top:14px;height:15px;border-radius:5px}.client-gantt-track>i.summary{top:17px;height:9px;border-radius:1px;background:#245879}.client-gantt-track>i.milestone{top:15px;width:12px!important;height:12px}.client-gantt-today{position:absolute;z-index:2;top:0;bottom:0;width:2px;background:#e5484d;opacity:.72}.client-gantt-caption{margin-top:10px}.client-gantt-full-row>strong{justify-content:flex-end;font-size:11px}@media(max-width:900px){.client-report-gantt{overflow-x:auto}.client-gantt-complete{min-width:920px}}@media print{.client-report-gantt{overflow:visible!important}.client-gantt-legend{background:#f4f8fc!important}.client-gantt-full-row{grid-template-columns:34px minmax(150px,1.2fr) 58px 58px 34px minmax(300px,2.5fr)!important;min-height:34px!important;font-size:7px!important}.client-gantt-full-head{background:#153e5e!important}.client-gantt-weeks{background:#235b7b!important}.client-gantt-task small{font-size:6px}.client-gantt-today{background:#e5484d!important}.client-gantt-full-row.summary-row{background:#eef5fa!important}}

/* Gantt: controles hierárquicos acessíveis */
.ovg-wbs{flex:none;font-weight:800;color:#315674;font-size:10px;min-width:22px}.ovg-quick-add,.ovg-quick-delete{flex:none;border:1px solid #b6ccdc;background:#fff;border-radius:5px;width:22px;height:22px;line-height:18px;cursor:pointer;font-size:16px;font-weight:700}.ovg-quick-add{color:#087a69}.ovg-quick-delete{color:#b42318}.ovg-quick-add:hover{background:#dcfce7}.ovg-quick-delete:hover{background:#fee2e2}.ovg-name .project-link{flex:1;min-width:0}.ovg-name strong{flex:1;min-width:0}

/* v17.2: branding completo na navegação */
.sidebar .brand{gap:10px}.sidebar .brand>span:last-child{font-size:16px;line-height:1.2;letter-spacing:-.35px}.sidebar .brand>span:last-child small{font-size:9px;letter-spacing:.6px;display:block;margin-top:4px}

/* Identidade GSsuite Management One View · v17.3 */
.sidebar .brand{display:flex;align-items:center;gap:10px;text-decoration:none;letter-spacing:normal;font-size:20px;line-height:1.1}.gs-brand-icon{height:45px;width:45px;flex-shrink:0;object-fit:contain}.gs-brand-wordmark{font-weight:800;color:#fff;white-space:nowrap}.gs-brand-wordmark>span{color:#5cc6ec}.gs-brand-wordmark small{font-size:11px;letter-spacing:.1px;margin-top:4px;color:#c5e0ef;font-weight:500}.topbar{background:#0d2b48;color:#fff;gap:18px;padding-left:26px;padding-right:26px}.topbar .gs-header-brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.gs-header-brand img{height:37px;width:37px}.gs-header-brand>span{display:flex;flex-direction:column;line-height:1.05}.gs-header-brand strong{font-size:18px;letter-spacing:-.5px}.gs-header-brand strong span{color:#58bdf0}.gs-header-brand small{font-size:10px;color:#d2e4f2;letter-spacing:.15px;margin-top:4px}.topbar .gs-breadcrumb{color:#d9e8f3;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .gs-breadcrumb .muted{color:#9cb4c8}.topbar .sync-status{margin-left:auto;gap:9px}.topbar .pill{background:#173d5e;color:#e2f3ff;border-color:#3b6481}.topbar .top-export{background:#173d5e;color:#fff;border-color:#4a708e}.topbar .user-chip{color:#fff}.topbar .avatar{background:#216bc5;color:#fff}@media(max-width:1250px){.topbar .gs-breadcrumb{display:none}}@media(max-width:700px){.topbar{padding:0 12px;gap:8px}.gs-header-brand img{height:29px;width:29px}.gs-header-brand strong{font-size:14px}.gs-header-brand small{font-size:8px}.topbar .sync-status{gap:5px}}

/* v17.4 — reorganização visual; não altera lógica ou armazenamento */
:root{--navy:#0b2949;--teal:#087e89;--line:#dce7f4;--muted:#607188;background:#f4f8fe;color:#122b4a}
body{background:#f4f8fe}.shell{display:flex;flex-direction:column;min-height:100vh}.workspace-body{display:contents}.topbar{order:0;position:sticky;top:0;z-index:30;width:100%;height:82px;background:linear-gradient(105deg,#082644,#103d69);border:0;box-shadow:0 3px 16px #092b4614;padding:0 28px;justify-content:flex-start}.topbar .gs-header-brand{min-width:285px}.topbar .gs-header-brand img{width:48px;height:48px}.gs-header-brand strong{font-size:23px!important}.gs-header-brand small{font-size:11px!important}.gs-global-search{display:flex;align-items:center;gap:9px;flex:1;max-width:540px;margin:0 auto;background:#ffffff0d;border:1px solid #ffffff36;border-radius:30px;padding:4px 7px 4px 16px;color:white}.gs-global-search>span{font-size:27px;line-height:1}.gs-global-search input{background:transparent;border:0;min-width:0;flex:1;color:white;outline:none;font-size:13px}.gs-global-search input::placeholder{color:#d1e2f0}.gs-global-search button{background:#ffffff18;color:white;border:0;border-radius:22px;padding:8px 13px;font-size:12px}.topbar .gs-breadcrumb{display:none}.topbar .sync-status{margin-left:auto;gap:7px}.topbar .pill{font-size:10px}.sidebar{order:1;position:fixed;top:82px;left:0;bottom:0;height:calc(100vh - 82px);width:208px;background:#fff;border-right:1px solid #dce7f4;padding:14px 10px;color:#152c4d;z-index:20}.sidebar>.brand,.sidebar>.workspace{display:none}.sidebar nav{gap:4px;padding:0}.sidebar button{color:#173255;border-radius:10px;font-size:13px;padding:12px 11px}.sidebar button.active{background:#e4f0ff;color:#0754b5;box-shadow:none}.sidebar button:hover{background:#edf5ff}.sidebar nav button>span{width:29px}.sidebar .nav-icon svg{stroke:currentColor}.sidebar b{background:#eaf2ff;color:#1350a1}.side-bottom{border-top:1px solid #dce7f4;padding-top:12px}.signature{display:none}.gs-sidebar-foot{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:12px 6px;margin-top:12px;border:1px solid #e0eafa;border-radius:13px;color:#113a6b}.gs-sidebar-foot img{width:29px;height:29px}.gs-sidebar-foot strong{font-size:15px}.gs-sidebar-foot small{font-size:9px;flex-basis:100%;color:#66788d}.workspace-body main,main{order:2;margin-left:208px;width:calc(100% - 208px);padding:24px 24px 36px;min-height:calc(100vh - 135px)}.workspace-body footer,footer{order:3;margin-left:208px;width:calc(100% - 208px);background:transparent}.gs-welcome{display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:196px;border-radius:17px;margin-bottom:18px;padding:30px;background:linear-gradient(105deg,#fff 0%,#f3f8ff 45%,#c4ddf7 75%,#367cb6 100%);border:1px solid #dce8f6;overflow:hidden;position:relative}.gs-welcome:after{content:'';position:absolute;right:16%;bottom:-80px;width:240px;height:280px;transform:skew(-24deg);border:24px solid #ffffff4f;box-shadow:40px 0 #1e6da244,85px 0 #ffffff3b;pointer-events:none}.gs-welcome-copy{position:relative;z-index:1}.gs-welcome-copy>span{color:#63758b;font-size:21px}.gs-welcome h2{font-size:clamp(23px,3vw,38px);letter-spacing:-1px;color:#0c2849;margin:8px 0}.gs-welcome h2 em{font-style:normal;color:#1461c9}.gs-welcome p{font-size:17px;color:#5b6e86;margin:0}.gs-welcome-quote{position:relative;z-index:1;width:245px;flex-shrink:0;border-radius:15px;background:#fffffff0;padding:20px;font-size:17px;line-height:1.45;color:#183352;box-shadow:0 10px 35px #0b31501a}.gs-welcome-quote i{display:block;width:45px;height:3px;background:#1d68db;margin-top:18px}.panel,.stat,.opening-stats>div{border:1px solid #dce7f5;border-radius:13px;box-shadow:0 3px 15px #153b6810;background:white}.stats{gap:11px}.stat{padding:20px}.stat .value{color:#0b2b4f}.page-heading{margin-top:12px}.page-heading h1{color:#102d50}.filters{background:#fff;border:1px solid #dce7f5;border-radius:12px;padding:12px}.grid{gap:13px}
@media(max-width:1100px){.topbar .gs-header-brand{min-width:205px}.topbar .sync-status .pill{display:none}.gs-global-search{max-width:350px}.gs-welcome-quote{width:205px}}
@media(max-width:760px){.topbar{height:auto;min-height:74px;flex-wrap:wrap;padding:9px 12px;gap:8px}.topbar .gs-header-brand{min-width:0}.gs-global-search{order:3;flex-basis:100%;max-width:none}.sidebar{top:118px;width:62px;height:calc(100vh - 118px);padding:8px 4px}.sidebar nav button{font-size:0;padding:12px 7px;text-align:center}.sidebar nav button>span{width:auto;font-size:19px}.sidebar nav button b,.gs-sidebar-foot,.side-bottom .signature{display:none}.sidebar .side-bottom button{font-size:0}.workspace-body main,main,.workspace-body footer,footer{margin-left:62px;width:calc(100% - 62px);padding:15px}.gs-welcome{padding:19px;min-height:150px}.gs-welcome-copy>span{font-size:15px}.gs-welcome p{font-size:13px}.gs-welcome-quote{display:none}.topbar .sync-status{gap:4px}.topbar .top-export{display:none}}

/* v17.5: versão do pacote */
.gs-about-button{display:block;width:100%;margin:10px 0;padding:9px 10px;border:1px solid #cbd8e9;border-radius:9px;background:#f4f8fe;color:#173e65;text-align:left;cursor:pointer;font:inherit;font-size:12px}.gs-about-button:hover{background:#e7f1fd}#gs-about-dialog{max-width:min(520px,calc(100vw - 32px));border:0;border-radius:16px;padding:0;box-shadow:0 20px 70px #10283f55;color:#15344f}#gs-about-dialog::backdrop{background:#081e37a6}.gs-about-content{padding:24px}.gs-about-content h2{margin:0 0 8px}.gs-about-content dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;margin:20px 0}.gs-about-content dt{font-weight:700}.gs-about-content dd{margin:0;overflow-wrap:anywhere}.gs-about-content form{text-align:right}@media(max-width:550px){.gs-about-content dl{grid-template-columns:1fr;gap:4px}.gs-about-content dd{margin-bottom:10px}}

/* v17.9: marco e calendário */
.ovg-bar.milestone{width:16px!important;height:16px!important;min-width:16px;border-radius:2px;transform:rotate(45deg);background:#0e7490;border:2px solid #164e63;overflow:visible;top:11px}.ovg-bar.milestone i{display:none}.ovg-milestone-label{font-size:10px;font-weight:800;color:#0e7490;white-space:nowrap}.ovg-calendar-note{font-size:11px;color:#526579;max-width:280px;line-height:1.35}

/* v17.14 — gestão de materiais */
.material-kpis{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px}.material-kpis>div{background:#f3f7fb;border:1px solid #dce6f0;border-radius:12px;padding:15px;color:#46566a;font-size:13px}.material-kpis strong{display:block;font-size:26px;color:#142c49;margin-top:5px}.material-status-edit{min-width:145px;max-width:190px;padding:7px;border:1px solid #ccd9e7;border-radius:7px;background:#fff}@media(max-width:700px){.material-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v17.17 · visual técnico do cronograma; apenas apresentação, sem alterações no D1 */
.ovg-panel{border:1px solid #cad6e2;box-shadow:0 8px 28px rgba(19,48,75,.06)}
.ovg-panel>.panel-head{background:linear-gradient(105deg,#15334e,#20506b);color:#fff;border-bottom:0}
.ovg-panel>.panel-head h2{color:#fff}.ovg-panel>.panel-head .section-note{color:#d8e8f2}
.ovg-summary{display:flex;gap:0;flex-wrap:wrap;background:#f4f8fb;border-bottom:1px solid #dbe5ef}
.ovg-summary span{display:flex;align-items:center;gap:7px;padding:11px 19px;border-right:1px solid #dbe5ef;font-size:11px;color:#486178}
.ovg-summary b{font-size:18px;color:#173e5b}.ovg-summary .ovg-alert,.ovg-summary .ovg-alert b{color:#b42318}
.ovg-display{display:flex;gap:3px;padding:3px;border:1px solid #c9d7e4;border-radius:8px;background:#f0f5fa}
.ovg-display button{border:0;border-radius:6px;padding:8px 13px;background:transparent;color:#35536c;font-size:12px;font-weight:700;cursor:pointer}
.ovg-display button.active{background:#173d5a;color:white;box-shadow:0 1px 4px #abc0d1}
.ovg-head{box-shadow:0 2px 6px rgba(15,45,68,.13)}
.ovg-head .ovg-data{background:#244762;color:white}.ovg-head .ovg-data>div{border-right:1px solid #44617a}
.ovg-head .ovg-calendar{background:#dce9f3;color:#183b58}.ovg-months{background:#c6d9e9}.ovg-weeks{background:#e2edf6}
.ovg-row:hover .ovg-data,.ovg-row:hover .ovg-track{background-color:#eaf5fc}
.ovg-row.project .ovg-data{background:#d7e7f3;border-left:4px solid #1b688d}
.ovg-row.project .ovg-name{font-weight:800}.ovg-name .project-link:hover{text-decoration:underline}
.ovg-bar{height:17px;top:13px;border-radius:3px;background:#80b6dd;box-shadow:0 1px 2px #9eb5c9}
.ovg-bar i{background:#246b9c}.ovg-bar.summary{background:#214b6b;height:11px;top:16px;border-radius:1px}
.ovg-bar.done{background:#8cd3b1}.ovg-bar.done i{background:#20845b}
.ovg-bar.late{background:#f3b0a7}.ovg-bar.late i{background:#c33d32}
.ovg-bar.milestone{background:#087d92;border-color:#075365;top:12px;z-index:3}
.ovg-today-marker{position:absolute;top:0;bottom:0;width:2px;background:#dc7034;z-index:2;pointer-events:none;opacity:.85}
.ovg-days .current{background:#fce7d8;color:#a4431b;border-bottom:2px solid #d96c33}
.ovg-executive .ovg-data{grid-template-columns:330px 105px 70px;width:505px;min-width:505px}
.ovg-executive .ovg-data>div:nth-child(2),.ovg-executive .ovg-data>div:nth-child(3),.ovg-executive .ovg-data>div:nth-child(4),.ovg-executive .ovg-data>div:nth-child(5){display:none}
.ovg-executive .ovg-name .ovg-quick-add,.ovg-executive .ovg-name .ovg-quick-delete{display:none}
.ovg-executive .ovg-data>div:nth-child(6){font-weight:800;justify-content:center}
@media(max-width:760px){.ovg-summary span{padding:9px 12px}.ovg-tools{justify-content:flex-start}.ovg-executive .ovg-data{grid-template-columns:260px 105px 70px;width:435px;min-width:435px}}

/* v17.18 — navegação horizontal sempre disponível na base do Gantt técnico */
.ovg-bottom-scroll{position:sticky;bottom:0;z-index:12;overflow-x:auto;overflow-y:hidden;height:20px;background:#e9f0f6;border-top:1px solid #b9cad9;scrollbar-width:auto;scrollbar-color:#597d9c #e9f0f6;}
.ovg-bottom-scroll-content{height:1px;pointer-events:none;}
.ovg-bottom-scroll[hidden]{display:none;}
.ovg-bottom-scroll::-webkit-scrollbar{height:16px;}
.ovg-bottom-scroll::-webkit-scrollbar-thumb{background:#597d9c;border:3px solid #e9f0f6;border-radius:9px;}
.ovg-bottom-scroll::-webkit-scrollbar-track{background:#e9f0f6;}

/* v17.19: Materials technical grid and synchronized bottom horizontal navigation */
.materials-table-panel{min-width:0}.materials-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:auto}.materials-table{min-width:1550px;width:max-content}.materials-table th,.materials-table td{white-space:nowrap}.materials-table td.wrap{white-space:normal;min-width:250px;max-width:420px}.materials-bottom-scroll{overflow-x:auto;overflow-y:hidden;height:22px;border-top:1px solid var(--line);scrollbar-width:auto;scrollbar-color:#66869a #e8eef2}.materials-bottom-scroll-content{height:1px}.materials-bottom-scroll[hidden]{display:none}.materials-bottom-scroll::-webkit-scrollbar{height:15px}.materials-bottom-scroll::-webkit-scrollbar-thumb{background:#66869a;border-radius:8px}.materials-bottom-scroll::-webkit-scrollbar-track{background:#e8eef2}

/* v17.20: Gantt technical column resize and viewport-fixed horizontal navigation */
.ovg-panel .ovg-head .ovg-resizable-heading{position:relative;overflow:visible;padding-right:13px}
.ovg-column-grip{position:absolute;right:-5px;top:0;bottom:0;width:11px;z-index:9;cursor:col-resize;touch-action:none;background:transparent}
.ovg-column-grip:hover,.ovg-column-grip.dragging,.ovg-column-grip:focus-visible{background:rgba(18,126,171,.3);outline:1px solid #1676a2}
.ovg-panel .ovg-bottom-scroll{position:fixed;bottom:0;left:var(--gantt-scroll-left,0px);width:var(--gantt-scroll-width,100vw);z-index:1000;box-sizing:border-box;box-shadow:0 -2px 9px rgba(20,45,65,.16)}
body:has(.ovg-panel .ovg-bottom-scroll:not([hidden])){padding-bottom:22px}
@media print{.ovg-panel .ovg-bottom-scroll{display:none!important}body:has(.ovg-panel .ovg-bottom-scroll:not([hidden])){padding-bottom:0}}

/* v17.21: materials resize handles and viewport-fixed horizontal scrollbar */
.materials-table-panel .materials-bottom-scroll{position:fixed;bottom:0;z-index:1000;box-sizing:border-box;background:#e8eef2;box-shadow:0 -2px 9px rgba(20,45,65,.16)}
.materials-table th.materials-resizable-heading{position:relative;overflow:visible;padding-right:16px}
.materials-column-grip{position:absolute;right:-5px;top:0;bottom:0;width:11px;z-index:9;cursor:col-resize;touch-action:none;background:transparent}
.materials-column-grip:hover,.materials-column-grip.dragging,.materials-column-grip:focus-visible{background:rgba(18,126,171,.3);outline:1px solid #1676a2}
.materials-table td{overflow:hidden;text-overflow:ellipsis}
.materials-table td.wrap{min-width:0;max-width:none;overflow-wrap:anywhere}
body:has(.materials-table-panel .materials-bottom-scroll:not([hidden])){padding-bottom:22px}
@media print{.materials-table-panel .materials-bottom-scroll{display:none!important}body:has(.materials-table-panel .materials-bottom-scroll:not([hidden])){padding-bottom:0}}

/* v17.23 — Matrizes e Kanban por projeto */
.pm-table-wrap{overflow-x:auto;max-width:100%;border:1px solid #d9e2e8;border-radius:10px}.pm-table{width:100%;min-width:920px;border-collapse:collapse;font-size:12px}.pm-table th,.pm-table td{padding:10px;text-align:left;border-bottom:1px solid #e4ebef;vertical-align:top}.pm-table th{background:#183653;color:#fff;white-space:nowrap}.pm-table td{max-width:240px;overflow-wrap:anywhere}.pm-kanban{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));gap:12px;overflow-x:auto;padding:4px 0 12px}.pm-lane{background:#f1f5f8;border:1px solid #dce5eb;border-radius:12px;padding:12px;min-height:240px}.pm-lane h4{display:flex;justify-content:space-between;margin:0 0 14px;color:#183653}.pm-card{background:white;border:1px solid #dce5eb;border-radius:9px;padding:12px;margin-bottom:10px;box-shadow:0 2px 5px #1836530a}.pm-card p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.pm-card small{display:block;color:#667985}.pm-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.pm-actions button{font-size:11px;padding:5px 7px}@media(max-width:650px){.pm-kanban{grid-template-columns:repeat(3,minmax(240px,1fr))}}

/* v17.24: contrast for Gantt Excel/PDF toolbar against the dark header. */
.ovg-panel > .panel-head .connection-buttons > button:not(.primary),
.ovg-panel > .panel-head .connection-buttons > .button-link:not(.primary-link){
  background:#ffffff;
  color:#12334f;
  border:1px solid #a8c3d7;
  box-shadow:0 1px 2px #071f351a;
}
.ovg-panel > .panel-head .connection-buttons > button:not(.primary):hover,
.ovg-panel > .panel-head .connection-buttons > .button-link:not(.primary-link):hover{
  background:#e6f3ff;
  color:#092e52;
  border-color:#64a2d0;
}
.ovg-panel > .panel-head .connection-buttons > button:focus-visible,
.ovg-panel > .panel-head .connection-buttons > .button-link:focus-within{
  outline:3px solid #fbbf24;
  outline-offset:3px;
}
.ovg-panel > .panel-head .connection-buttons > .primary-link{
  display:inline-flex;
  align-items:center;
  background:#087f8c;
  color:#ffffff;
  border:1px solid #39bac2;
  padding:10px 15px;
}
.ovg-panel > .panel-head .connection-buttons > .primary-link:hover{background:#05616e;color:#fff}

/* v18.8 — Navegação agrupada */
.nav-group{border-top:1px solid #294b59;padding-top:4px}.nav-group summary{list-style:none;cursor:pointer;padding:10px 12px 7px;color:#8fb0bc;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'⌄';font-size:15px;transition:transform .18s ease}.nav-group:not([open]) summary:after{transform:rotate(-90deg)}.nav-group-items{display:grid;gap:4px;padding:0 0 5px}.nav-group-items button{padding-left:16px!important}.nav-group[open]:has(button.active) summary{color:#67d8c4}@media(max-width:680px){.sidebar nav{display:block}.sidebar nav>button{margin-bottom:5px}.nav-group{display:inline-block;vertical-align:top;border:0}.nav-group summary{white-space:nowrap}.nav-group-items{display:flex;overflow-x:auto}.nav-group:not([open]) .nav-group-items{display:none}}

/* v18.8 — Status semanal e plano de ações */
.weekly-controls{margin-bottom:18px}.weekly-controls select{border:1px solid var(--line);border-radius:7px;background:#fff;padding:11px;color:inherit}.weekly-print-area{display:grid;gap:18px}.weekly-status-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px;border:1px solid #dce7f1;border-radius:14px;background:linear-gradient(115deg,#eef8f7,#fff)}.weekly-status-hero h2{font-size:25px;margin:4px 0 6px}.weekly-status-hero p{margin:0;color:var(--muted)}.weekly-status-hero>div:last-child{text-align:right}.weekly-status-hero small{display:block;margin-top:9px;color:var(--muted)}.weekly-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.weekly-status-grid article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:17px}.weekly-status-grid span{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.5px;color:var(--teal)}.weekly-status-grid p{white-space:pre-wrap;margin:10px 0 0}.weekly-history .cards{padding:0 18px 18px}@media(max-width:850px){.weekly-status-grid{grid-template-columns:1fr}.weekly-status-hero{align-items:flex-start;flex-direction:column}.weekly-status-hero>div:last-child{text-align:left}}

/* v17.26 — Dashboard de acompanhamento por projeto (sem marcas de terceiros) */
.client-dashboard{display:grid;gap:18px;color:#19334c}.client-intro{display:flex;justify-content:space-between;gap:15px;align-items:center;background:linear-gradient(110deg,#eef7ff,#fff);border:1px solid #dce7f1;border-radius:14px;padding:20px}.client-intro h3{font-size:24px;margin:6px 0}.client-intro p,.client-updated{color:#536a7e}.client-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.client-stat,.client-section{background:#fff;border:1px solid #dce5ed;border-radius:12px;padding:16px;min-width:0}.client-stat{display:grid;gap:9px}.client-stat span{font-weight:650;font-size:13px}.client-stat strong{font-size:25px;color:#086c94;overflow-wrap:anywhere}.client-stat small{color:#617589;line-height:1.4}.client-section h3{margin:0 0 14px;font-size:16px}.client-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.client-table-wrap{overflow-x:auto}.client-table-wrap table{width:100%;border-collapse:collapse;font-size:12px}.client-table-wrap th,.client-table-wrap td{padding:10px 8px;text-align:left;border-bottom:1px solid #e5ecf2;vertical-align:top}.client-table-wrap th{background:#f2f7fb;white-space:nowrap}.client-progress{height:12px;border-radius:20px;background:#e6eff4;overflow:hidden}.client-progress span{display:block;height:100%;background:#0a987a}.client-footnote{font-size:12px;color:#657789;margin:0}@media(max-width:850px){.client-panels{grid-template-columns:1fr}.client-intro{flex-direction:column;align-items:flex-start}}
.network-panel{overflow:hidden}.network-scroll{overflow:auto;max-height:68vh;border:1px solid #e4e9f0;border-radius:14px;background:#f8fafc;background-image:radial-gradient(#d8e0ea 1px,transparent 1px);background-size:18px 18px}.network-svg{display:block;min-width:100%}.network-edge path{fill:none;stroke:#7b8ba3;stroke-width:2;marker-end:url(#network-arrow)}.network-edge text{font-size:10px;font-weight:800;fill:#526174;text-anchor:middle;paint-order:stroke;stroke:#f8fafc;stroke-width:4px}.network-node .network-card{fill:#fff;stroke:#5273d8;stroke-width:2;filter:drop-shadow(0 3px 5px rgba(20,39,72,.12))}.network-node text{font-size:11px;fill:#526174}.network-node line{stroke:#e4e9f0}.network-node .network-kicker{font-size:9px;font-weight:900;letter-spacing:1.2px;fill:#667085}.network-node .network-date-label{font-size:8px;font-weight:800;letter-spacing:.8px;fill:#98a2b3}.network-node .network-date{font-size:11px;font-weight:700;fill:#344054}.network-node .network-status{font-size:10px;font-weight:800;fill:#526174}.network-node .network-accent{fill:#5273d8;stroke:none}.network-node.done .network-accent{fill:#1d9a6c}.network-node.late .network-accent{fill:#d34b4b}.network-node.milestone .network-accent{fill:#805ad5}.network-node .network-progress-track{fill:#e7ecf3;stroke:none}.network-node .network-progress-bar{fill:#5273d8;stroke:none}.network-node.done .network-progress-bar{fill:#1d9a6c}.network-node.late .network-progress-bar{fill:#d34b4b}.network-node.milestone .network-progress-bar{fill:#805ad5}.network-node .network-id{font-weight:800;fill:#5273d8}.network-node .network-title{font-size:13px;font-weight:800;fill:#172033}.network-node.done .network-card{stroke:#1d9a6c;fill:#effbf6}.network-node.done .network-id{fill:#167653}.network-node.late .network-card{stroke:#d34b4b;fill:#fff4f3}.network-node.late .network-id{fill:#b42318}.network-node.milestone .network-card{stroke:#805ad5;fill:#f7f2ff;stroke-dasharray:6 3}.network-node.milestone .network-id{fill:#6941c6}.network-legend{display:flex;gap:18px;flex-wrap:wrap;margin:4px 0 14px;font-size:12px;font-weight:700;color:#526174}.network-legend span:before{content:'';display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px;background:#5273d8}.network-legend .done:before{background:#1d9a6c}.network-legend .late:before{background:#d34b4b}.network-legend .milestone:before{background:#805ad5}@media print{body:has(.network-panel) .sidebar,body:has(.network-panel) .topbar,body:has(.network-panel) footer,body:has(.network-panel) .page-heading,body:has(.network-panel) .notice,body:has(.network-panel) .network-panel .panel-head .connection-buttons{display:none!important}body:has(.network-panel) .workspace-body,body:has(.network-panel) main{margin:0!important;padding:0!important;width:100%!important}body:has(.network-panel) .network-scroll{max-height:none;overflow:visible;border:0}body:has(.network-panel) .network-panel{box-shadow:none;border:0}.network-svg{max-width:none!important}}

/* v18.22 · Fechamento efetivo das janelas em tempo real */
.ov-rt-panel[hidden],.ov-rt-launcher[hidden],.rt-panel[hidden],.rt-customer-open[hidden]{display:none!important}
.ov-rt-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #dfe7ee}.ov-rt-tabs button{border:0;background:#f7fafc;color:#607080;padding:12px;font-weight:750;cursor:pointer}.ov-rt-tabs button.active{background:#fff;color:#0b7a55;box-shadow:inset 0 -3px #0b7a55}.ov-rt-staff-presence{padding:9px 16px;background:#effaf6;color:#176b52;font-size:12px;font-weight:750;border-bottom:1px solid #d8eee6}#ov-rt-clients,#ov-rt-staff{min-height:0;flex:1;display:flex;flex-direction:column}#ov-rt-clients[hidden],#ov-rt-staff[hidden]{display:none!important}

.billing-bars{display:grid;gap:12px;margin-top:20px}.billing-bars>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,auto);gap:5px 15px}.billing-bars span{text-align:right}.billing-track{grid-column:1/-1;background:#e7edf5;border-radius:20px;height:9px;overflow:hidden}.billing-track i{display:block;height:100%;background:#2483cb;border-radius:20px}@media(max-width:650px){.billing-bars>div{grid-template-columns:1fr}.billing-bars span{text-align:left}}
@media(max-width:900px){body.oneview-operator-app{padding-bottom:72px}#operator-app-dock{position:fixed;bottom:0;left:0;right:0;z-index:1100;display:flex;justify-content:space-around;gap:2px;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#fff;border-top:1px solid #dce7f1;box-shadow:0 -4px 20px #10345916}#operator-app-dock button{border:0;background:transparent;color:#36506a;font-size:11px;font-weight:700;padding:8px 3px;border-radius:8px;min-width:0;flex:1}#operator-app-dock button.active{background:#e5f6ef;color:#08764e}#operator-app-dock[hidden],#operator-app-dock button[hidden]{display:none!important}body.oneview-operator-app .ov-rt-launcher{bottom:calc(82px + env(safe-area-inset-bottom))}body.oneview-operator-app .ov-rt-panel{bottom:calc(78px + env(safe-area-inset-bottom));max-height:calc(100dvh - 96px)}}
@media(min-width:901px){#operator-app-dock{display:none}}
.gantt-panel .gantt-row{grid-template-columns:var(--overview-gantt-label-width,340px) minmax(650px,1fr)}.gantt-panel .gantt-heading,.gantt-panel .gantt-heading .gantt-timeline{min-height:66px}.gantt-panel .gantt-heading .gantt-label{min-height:66px;display:flex;align-items:center;padding-right:18px}.gantt-panel .gantt-quarter-row,.gantt-panel .gantt-month-row{position:relative;height:33px}.gantt-panel .gantt-quarter-row{background:#dcebf1;border-bottom:1px solid #b9d3dc}.gantt-panel .gantt-quarter{position:absolute;height:33px;border-left:1px solid #b0c9d4;display:flex;align-items:center;justify-content:center;font-size:12px;color:#1e5267;white-space:nowrap;overflow:hidden}.gantt-panel .gantt-month{height:33px;padding-left:6px}.gantt-overview-grip{position:absolute;right:0;top:0;bottom:0;width:12px;cursor:col-resize;border-right:3px solid #8baeba;touch-action:none}.gantt-overview-grip:focus{outline:2px solid #2563eb}
.ts-panel,.ts-report{margin-bottom:20px}.ts-controls{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.ts-controls label,.ts-report label,.ts-ticket-detail label{display:grid;gap:6px;min-width:240px;flex:1;font-weight:600}.ts-controls select,.ts-report select,.ts-ticket-detail select,.ts-ticket-detail textarea{width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.ts-buttons{display:flex;gap:9px;flex-wrap:wrap;margin:12px 0}.ts-buttons button{padding:9px 13px;border-radius:8px;border:1px solid #94b4a6;cursor:pointer}.ts-buttons button:disabled{opacity:.5;cursor:not-allowed}.ts-clock{padding:10px;background:#edf8f2;border-radius:8px;margin:12px 0}.ts-entries{overflow:auto}.ts-report-body{margin-top:16px}.ts-report-body .table-wrap{overflow:auto}.ts-ticket-detail{border-top:1px solid #d8e4eb;margin-top:22px;padding-top:16px}.ts-timeline{border-left:2px solid #40a58c;margin-left:10px;padding-left:22px;max-height:300px;overflow:auto}.ts-timeline li{padding:4px 0 10px}.ts-timeline p{margin:4px 0;color:#526579;white-space:pre-wrap}.ts-analysis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0}.ts-fish{display:block;width:100%;max-height:230px;background:#f7fbfd;border:1px solid #e1e9f0;border-radius:8px}
/* Visão geral: meses legíveis em períodos longos, com navegação horizontal. */
.gantt-panel .gantt-canvas{min-width:0;width:calc(var(--overview-gantt-label-width,340px) + var(--overview-gantt-timeline-width,900px))}
.gantt-panel .gantt-row{grid-template-columns:var(--overview-gantt-label-width,340px) var(--overview-gantt-timeline-width,900px);min-width:0}
.gantt-panel .gantt-heading{height:66px;min-height:66px}
.gantt-panel .gantt-heading .gantt-label,.gantt-panel .gantt-heading .gantt-timeline{height:66px;min-height:66px}
.gantt-panel .gantt-quarter-row,.gantt-panel .gantt-month-row{height:33px}
.gantt-panel .gantt-month{height:33px;min-width:0;justify-content:center;padding:0;font-size:11px}
.gantt-panel .gantt-quarter{padding:0 4px;font-size:12px}
.gantt-overview-scrollbar{height:17px;overflow-x:auto;overflow-y:hidden;scrollbar-width:auto;border-top:1px solid #dce7ed;background:#f5f9fb}
.gantt-overview-scrollbar>div{height:1px}
@media(max-width:700px){.gantt-panel .gantt-label{max-width:none;padding:9px 8px;overflow:hidden}.gantt-panel .gantt-label .project-link{max-width:100%;white-space:normal;overflow-wrap:anywhere}.gantt-panel .gantt-heading .gantt-label{font-size:10px}.gantt-overview-grip{width:16px}}

/* Boletim de Medição */
.measurement-table{min-width:850px}.measurement-table input{width:120px;padding:7px;border:1px solid #bdcec5;border-radius:6px}.measurement-table tfoot{background:#e7f5ee}.measurement-form{display:grid;gap:16px}.measurement-meta{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px}.measurement-meta label,.measurement-form>label{display:grid;gap:5px}.measurement-form textarea{min-height:64px}.measurement-form .connection-buttons{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:720px){.measurement-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Análise de falhas: leitura por etapas e campos com espaço consistente. */
.ts-ticket-detail{margin-top:24px;padding-top:22px;display:grid;gap:16px}
.ts-ticket-detail>h3{margin:4px 0 0;color:#173b32}
.ts-analysis-head{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:18px 20px;background:linear-gradient(120deg,#e9f6ef,#f6fafc);border:1px solid #d0e5d9;border-radius:14px}
.ts-analysis-head h3{font-size:21px;margin:4px 0}.ts-analysis-head p{margin:0;color:#526579;font-size:13px}.ts-analysis-head label{flex:0 1 240px;min-width:190px}
.ts-analysis-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ts-analysis-steps span{padding:10px;text-align:center;background:#edf5f1;border-radius:9px;color:#145342;font-size:12px;font-weight:700}
.ts-analysis-card{padding:18px 20px;border:1px solid #dbe8e2;border-radius:14px;background:#fff;box-shadow:0 5px 16px #163e3010;min-width:0}.ts-analysis-card h4{margin:0 0 10px;font-size:16px;color:#183b32}.ts-analysis-card .section-note{margin:0 0 12px}
.ts-analysis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:12px 0 0}.ts-analysis-grid label{min-width:0!important;width:100%;font-size:13px;color:#25483c}.ts-analysis-grid textarea{box-sizing:border-box;display:block;width:100%;min-width:0;min-height:76px;resize:vertical;border-radius:9px}
.ts-fish-wrap{overflow:auto;max-width:100%;background:#f5faf7;border:1px solid #d8e6dd;border-radius:12px;padding:12px}.ts-fish{min-width:650px;max-height:none;height:auto;background:transparent;border:0;border-radius:0}
@media(max-width:690px){.ts-analysis-head{display:grid}.ts-analysis-head label{width:100%}.ts-analysis-grid{grid-template-columns:1fr}.ts-analysis-steps{grid-template-columns:repeat(2,1fr)}.ts-analysis-card{padding:14px}}

.measurement-kpis{margin:14px 0 18px}.measurement-kpis>div{min-width:165px}

.sidebar .ov-rt-primary-menu{width:100%;text-align:left;display:flex;align-items:center;gap:10px}.sidebar .ov-rt-primary-menu .nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:none}
.quality-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}.quality-bar{display:grid;grid-template-columns:minmax(80px,1fr) 2fr 30px;gap:10px;align-items:center;margin:12px 0;font-size:13px}.quality-bar progress{width:100%;accent-color:#0b7a55}.quality-bar span{overflow-wrap:anywhere}.material-kpis small{font-size:11px;color:#667085}@media(max-width:900px){.quality-charts{grid-template-columns:1fr}}
#ts-edit-dialog{width:min(640px,calc(100vw - 32px));border:0;border-radius:16px;padding:0;box-shadow:0 20px 70px #10283f55}#ts-edit-dialog::backdrop{background:#081e37a6}#ts-edit-dialog label{display:grid;gap:6px;margin-bottom:14px}#ts-edit-dialog input,#ts-edit-dialog textarea{width:100%;padding:10px;border:1px solid #ccd8e5;border-radius:8px}#ts-edit-error{color:#b63838}
.allocation-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.allocation-kpis article{background:#fff;border:1px solid #dce6e1;border-radius:12px;padding:18px}.allocation-kpis small{color:#5b7167;display:block}.allocation-kpis strong{display:block;font-size:28px;color:#0c5f49;margin-top:8px}.allocation-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.allocation-histogram{width:100%;height:auto}.allocation-bar{display:grid;grid-template-columns:minmax(100px,1fr) 1fr 70px;align-items:center;gap:10px;margin:14px 0;font-size:12px}.allocation-bar>div{height:12px;background:#e5eee9;border-radius:6px}.allocation-bar i{height:100%;display:block;background:#0b7a55;border-radius:6px}.allocation-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#dce6e1;border:1px solid #dce6e1}.allocation-day{background:#fff;min-height:100px;padding:8px;overflow-wrap:anywhere}.allocation-weekday{padding:8px;text-align:center;background:#edf5f0;font-weight:700}.allocation-event{padding:7px;margin-top:6px;background:#eef7f2;border-left:3px solid #0b7a55;border-radius:4px;font-size:11px}.allocation-event small{display:block;margin-top:4px}.allocation-event button{padding:3px 6px;font-size:10px;margin-top:4px}.allocation-day.empty-day{background:#f7f9f8}@media(max-width:800px){.allocation-kpis{grid-template-columns:1fr 1fr}.allocation-columns{grid-template-columns:1fr}.allocation-day{padding:4px}.allocation-event{padding:4px;font-size:9px}}
.collaborator-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0;color:#526579;font-size:13px}.agenda-visual-switch{display:flex;gap:6px;margin:16px 0}.agenda-visual-switch [aria-pressed="true"]{background:#0b7a55;color:#fff;border-color:#0b7a55}#collaborator-dialog{width:min(850px,calc(100vw - 32px));border:0;border-radius:16px;padding:0;max-height:90vh}#collaborator-dialog::backdrop{background:#081e37a6}#collaborator-dialog .dialog-head{display:flex;align-items:center;justify-content:space-between}#collaborator-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}#collaborator-form label{display:grid;gap:6px}#collaborator-form input,#collaborator-form select{width:100%;padding:9px;border:1px solid #ccd8e5;border-radius:7px}#collaborator-form .collaborator-active{display:flex;align-items:center}#collaborator-form .collaborator-active input{width:auto}#collaborator-error{color:#b63838}@media(max-width:650px){#collaborator-form{grid-template-columns:1fr}}

/* v18.59 padronização visual */
.nav-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.panel{border-radius:12px;box-shadow:0 1px 3px rgba(15,23,42,.08)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #2563eb;outline-offset:2px}
.table-wrap th{position:sticky;top:0;z-index:1}
.project-check{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:8px}
.project-check:hover{background:rgba(37,99,235,.08)}

/* v18.61 seleção de projetos/grupos */
.field .project-check,.project-access-list .project-check{display:flex;align-items:flex-start;gap:10px;padding:7px 8px;line-height:1.35;overflow-wrap:anywhere;cursor:pointer}
.field .project-check input[type=checkbox],.project-access-list input[type=checkbox]{width:16px;height:16px;min-width:16px;padding:0;margin:2px 0 0;flex:none}
.project-check.group-hidden{display:none!important}
.project-selector .connection-buttons{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}
.project-selector [data-project-search]{flex:1 1 220px;min-width:0}
.project-access-list{max-height:min(320px,40vh);overflow:auto;border:1px solid #c8d5dc;border-radius:10px;padding:6px;background:#fff}
.project-count{display:block;margin-top:6px;opacity:.75;font-size:12px}
#form-dialog{max-width:min(860px,96vw);max-height:92vh}
#form-dialog .dialog-body{max-height:calc(92vh - 70px);overflow:auto}

/* v18.63 painel de custos */
.cost-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0}
.cost-kpi{padding:12px 14px;border-radius:12px;background:#f1f5f9;border-left:4px solid #2563eb}
.cost-kpi small{display:block;opacity:.7}.cost-kpi strong{font-size:18px}
.cost-kpi.green{border-color:#16a34a}.cost-kpi.amber{border-color:#f59e0b}.cost-kpi.red{border-color:#dc2626}
.cost-charts{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cost-row{display:grid;grid-template-columns:minmax(90px,1.2fr) 2fr auto;gap:10px;align-items:center;margin:8px 0;font-size:12px}
.cost-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-row>div{display:grid;gap:3px}
.cost-bar{display:block;height:8px;border-radius:4px;background:#2563eb}
.cost-bar.plan{background:#cbd5e1}.cost-bar.over{background:#dc2626}
.cost-legend{font-size:11px;opacity:.75}.cost-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 4px 0 10px;background:#2563eb}
.cost-legend i.plan{background:#cbd5e1}.cost-legend i.over{background:#dc2626}
.cost-print-meta{display:none}
@media(max-width:800px){.cost-charts{grid-template-columns:1fr}}
@media print{body:has(.cost-overview) .sidebar,body:has(.cost-overview) .topbar,body:has(.cost-overview) footer,body:has(.cost-overview) .filters,body:has(.cost-overview) [data-cost-print],body:has(.cost-overview) .ov-rt-launcher,body:has(.cost-overview) .ov-rt-panel,body:has(.cost-overview) .page-heading .connection-buttons{display:none!important}
body:has(.cost-overview) .cost-print-meta{display:block;font-size:11px;margin-bottom:8px}
body:has(.cost-overview) .cost-kpi,body:has(.cost-overview) .cost-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact}
body:has(.cost-overview) .table-wrap{overflow:visible!important}body:has(.cost-overview) .panel{break-inside:avoid-page;box-shadow:none}}

/* v18.66 seleção rápida e aviso de conflito na agenda */
.agenda-collaborator-select .project-access-list{max-height:220px}.agenda-collaborator-select [data-collaborator-text] span{display:grid;gap:2px}.agenda-collaborator-select [data-collaborator-text] small{color:#687782;font-size:12px}.agenda-collaborator-select input[type=search]{width:100%;margin:6px 0 8px}.agenda-conflict-alert{display:grid;gap:4px;margin-top:8px;padding:10px 12px;border:1px solid #edbc64;border-radius:9px;background:#fff8e8;color:#754b00;font-size:13px;line-height:1.45}.agenda-conflict-alert[hidden]{display:none}

.ovg-material-links{display:block;color:#526a7b;font-size:10px;line-height:1.3;white-space:normal;margin:2px 0 0 36px}.ovg-name{align-items:center}

/* Gestão de custos · período e seleção de impressão */
.cost-report-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;margin:10px 0}.cost-report-options>div{display:grid;gap:3px;margin-right:auto}.cost-report-options>div strong{font-size:13px;color:#173f5f}.cost-report-options>div small{font-size:11px;color:#66788a}.cost-report-options label{display:flex;align-items:center;gap:5px;font-size:11px;color:#334e68;white-space:nowrap}.cost-report-options input{accent-color:#176b9e}.cost-report-options button{white-space:nowrap}.filters:has(#cost-report-from){display:flex;align-items:center;gap:10px;flex-wrap:wrap}.filters:has(#cost-report-from)>label{display:flex;align-items:center;gap:6px;font-size:12px;color:#526579}.filters:has(#cost-report-from) input[type=date]{padding:9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:inherit}.cost-project-detail{display:block}.cost-charts>div[data-cost-print-section]{min-width:0}.cost-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cost-report-options+*{margin-top:10px}@media(max-width:780px){.cost-report-options{align-items:flex-start}.cost-report-options>div{flex-basis:100%}.cost-report-options label{white-space:normal}.filters:has(#cost-report-from)>label{flex:1 1 150px}}

/* v18.69 · contas agrupadas por grupo de acesso */
.user-groups-list{display:grid;gap:14px;padding:0 16px 16px}.user-group-card{min-width:0;overflow:hidden;border:1px solid #dce6e1;border-radius:12px;background:#fff}.user-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:#f6faf8;border-bottom:1px solid #e3ece7}.user-group-head h3{margin:0;color:#173f5f}.user-group-head .section-note{margin:5px 0 0}.user-group-head .connection-buttons{margin:0}.user-group-card .table-wrap{max-width:100%;overflow-x:auto}.user-group-card .users-table{min-width:700px}.user-group-unassigned{border-color:#e8c66b}.user-group-unassigned .user-group-head{background:#fff8e6}.user-group-card .empty{padding:18px}

/* Indicadores do painel com detalhamento acessível. */
.dashboard-drilldown{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.dashboard-drilldown:hover{transform:translateY(-2px);border-color:#9acabd;box-shadow:0 8px 20px #15344914}
.dashboard-drilldown:focus-visible{outline:3px solid #55b89c;outline-offset:2px}
.material-kpis>.fieldops-kpi-card{display:grid;width:100%;min-width:0;gap:5px;align-content:start;text-align:left;font:inherit;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.material-kpis>.fieldops-kpi-card:hover{background:#f3f7fb;border-color:#8cbfb0;transform:translateY(-2px);box-shadow:0 8px 20px #15344912}
.fieldops-kpi-card>span{font-size:13px;color:#46566a}
.fieldops-kpi-card>strong{font-size:26px;color:#142c49;margin-top:3px}
.fieldops-kpi-card>small{font-size:11px;color:#667085}
.fieldops-kpi-card>.fieldops-kpi-hint{color:#087858;font-weight:700;margin-top:5px}
.dashboard-detail-dialog{width:min(760px,calc(100% - 28px));max-height:min(82vh,820px);padding:0;border:1px solid #d9e3e9;border-radius:16px;box-shadow:0 24px 80px #102d3c45;color:#172c3b}
.dashboard-detail-dialog::backdrop{background:#102d3c80;backdrop-filter:blur(2px)}
.dashboard-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #e6edf1;background:#f8fbfa}
.dashboard-detail-head .eyebrow{margin-bottom:6px}.dashboard-detail-head h2{font-size:21px}.dashboard-detail-head p:last-child{margin:6px 0 0;color:#61737f;font-size:13px}
.dashboard-detail-head>button{width:36px;height:36px;padding:0;border-radius:50%;font-size:22px;color:#526574}
.dashboard-detail-list{display:grid;gap:0;max-height:58vh;overflow:auto;padding:0 24px}
.dashboard-detail-list>article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #edf1f4}
.dashboard-detail-list>article>div:first-child{display:grid;gap:4px;min-width:0}.dashboard-detail-list>article strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.dashboard-detail-list>article small{font-size:12px;color:#667785}.dashboard-detail-list>article>span{font-size:12px;color:#526574;text-align:right;white-space:nowrap}
.dashboard-detail-list .connection-buttons{flex-wrap:nowrap}.dashboard-detail-list .connection-buttons .button-link{white-space:nowrap}
.dashboard-detail-foot{display:flex;justify-content:flex-end;padding:14px 24px;border-top:1px solid #edf1f4;background:#fff}
@media(max-width:600px){.dashboard-detail-head{padding:18px}.dashboard-detail-list{padding:0 18px}.dashboard-detail-list>article{align-items:flex-start;flex-direction:column;gap:8px}.dashboard-detail-list>article>span{text-align:left}.dashboard-detail-list .connection-buttons{width:100%}.dashboard-detail-foot{padding:12px 18px}}
.material-kpis>.fieldops-kpi-card{border:1px solid #dce6f0;border-radius:12px;background:#f3f7fb;color:#46566a;padding:15px}

/* GS AERVYN v18.95.0 · Visual normalization */
:root{--control-h:42px;--radius:10px;--font-ui:Inter,'Segoe UI',Arial,sans-serif}html{font-size:15px}body,button,input,select,textarea{font-family:var(--font-ui);-webkit-font-smoothing:antialiased}main{max-width:100%;overflow-x:hidden}.page-heading{align-items:flex-start}.page-heading h1{font-size:clamp(24px,2vw,30px);line-height:1.15}.panel-head h2,.panel-head h3{line-height:1.25}.field,.filters label,.ts-controls label,.ts-report label,.ts-ticket-detail label{min-width:0!important}input:not([type=checkbox]):not([type=radio]),select{min-height:var(--control-h);height:var(--control-h);padding:9px 12px!important;border-radius:var(--radius)!important;line-height:1.2}textarea{padding:10px 12px!important;border-radius:var(--radius)!important;line-height:1.45}button{min-height:38px;line-height:1.2}.filters{align-items:end}.filters>*{min-width:0}.filters input,.filters select{max-width:100%}.form-grid,.detail-grid,.grid,.stats{min-width:0}.panel,.panel-body,.panel-head,.stat,.history-card{min-width:0}.panel-body{overflow-wrap:anywhere}.table-wrap{width:100%;max-width:100%;overflow:auto}.table-wrap table{min-width:max-content}.table-wrap th,.table-wrap td{padding:12px 14px}.dialog-body{overflow:auto}.tabs button{min-height:44px}.gs-global-search{min-width:0}.gs-global-search input{height:auto!important;min-height:0!important;padding:0!important}.topbar{gap:14px}.topbar>div{min-width:0}.gs-login-captcha{width:100%;min-height:0;overflow:hidden}.gs-login-captcha>div,.gs-login-captcha iframe{max-width:100%!important}.cf-turnstile{width:100%}.ov-auth-card input{height:44px!important}.ov-auth-card{font-size:14px}.ov-auth-card h2{font-size:24px}.ov-auth-card p{line-height:1.5}.ov-auth-card button{min-height:42px}
@media(max-width:1200px){html{font-size:14px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{padding-left:22px!important;padding-right:22px!important}main{padding-left:24px!important;padding-right:24px!important}}
@media(max-width:760px){html{font-size:14px}.stats,.detail-grid,.form-grid,.grid{grid-template-columns:1fr!important}.page-heading{flex-direction:column}.panel-head{padding:16px}.panel-body{padding:0 16px 16px}main{padding:18px 14px!important}.topbar{padding:0 14px!important}.filters{display:grid!important;grid-template-columns:1fr!important}.filters>*{width:100%!important;max-width:none!important}.dialog-body{padding:18px}.tabs{padding:0 14px}.table-wrap th,.table-wrap td{padding:10px 12px}.ov-auth-card{padding-left:22px!important;padding-right:22px!important}}
