/* ObraPrime Executive — estilos herdados do protótipo 4.1 e ampliados para o sistema. */
:root{font-family:Inter,Arial,sans-serif;color:#24394b;background:#f2f6fa}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}.shell{display:flex;min-height:100vh}.sidebar{width:215px;background:#102135;color:#b3c7d4;padding:23px 12px;flex-shrink:0}.logo{font-weight:900;font-size:23px;color:#fff;margin:0 9px 27px}.logo span{color:#49dfb9}.logo small{display:block;font-size:10px;letter-spacing:2px;color:#8eaab9;margin-top:5px}.nav{display:block;width:100%;padding:13px;text-align:left;color:inherit;background:transparent;border-radius:9px;margin:3px 0}.nav.active{background:#23495b;color:#65e7c5}.main{flex:1;min-width:0}.top{padding:20px 24px;background:white;border-bottom:1px solid #dfe8ef;display:flex;align-items:center;justify-content:space-between}.body{padding:22px;max-width:1450px;margin:auto}.muted{font-size:12px;color:#8194a3}.title{font-size:23px;font-weight:850;margin-top:4px}.card{background:white;border:1px solid #e0e8ef;border-radius:12px;padding:17px;min-width:0}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.cards.kpi-three{grid-template-columns:repeat(3,minmax(0,1fr))}.label{font-size:11px;color:#728798;font-weight:750}.big{font-size:clamp(16px,2vw,25px);font-weight:850;margin:9px 0;color:#153b50;overflow-wrap:anywhere}.heading{font-weight:800;font-size:15px;margin-bottom:13px}.btn{background:#087e71;color:#fff;padding:10px 13px;border-radius:8px;font-weight:700}.btn.secondary{background:#e5f4ee;color:#087e71}.btn.gray{background:#edf2f6;color:#476173}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin-bottom:15px}.two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.pill{background:#e1f5ec;color:#087e71;border-radius:20px;padding:6px 10px;font-size:11px;font-weight:750}input,select{border:1px solid #d6e2ea;background:white;border-radius:7px;padding:9px;color:#24394b;max-width:100%}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}th{background:#f2f6f9;color:#6f8595;text-align:left;padding:11px}td{border-bottom:1px solid #e9eff4;padding:10px}tr.group td{background:#edf6f4;font-weight:800;color:#15554d}.gantt{height:12px;border-radius:7px;background:#e6edf2;position:relative;overflow:hidden;min-width:100px}.gantt span{display:block;height:100%;background:#1ca78f}.bar{height:11px;border-radius:7px;background:#e7eef3;overflow:hidden}.bar>div{height:100%;background:#1ba88e}.small{font-size:11px}.scroll{overflow:auto}.schedule-table input{width:78px;padding:6px}.schedule-table input[type=date]{width:132px}.notice{padding:12px;background:#eef8f4;border:1px solid #cce9dc;border-radius:9px;color:#24584d;font-size:12px;margin-bottom:13px}.mobile{display:none}@media(max-width:800px){.shell{display:block}.sidebar{display:none}.mobile{display:flex;background:#102135;padding:8px;gap:5px;overflow:auto}.mobile button{white-space:nowrap;color:#fff;background:#23495b;padding:9px;border-radius:6px}.mobile button.active{background:#087e71}.body{padding:12px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.two{grid-template-columns:1fr}.top{padding:15px}}
@media(max-width:700px){.cards.kpi-three{grid-template-columns:1fr 1fr}}
.activity-add-row{min-height:43px;background:#f8fcfb}.activity-add-cell{padding-left:22px;display:flex;align-items:center}.activity-add-row .stage-add-visible{font-size:11px;padding:7px 12px}
.ganttintro{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.gantt-scroll{overflow-x:auto}.ganttwrap{min-width:920px}.ganttrow{display:grid;grid-template-columns:260px minmax(460px,1fr) 150px;gap:12px;align-items:center;border-top:1px solid #edf2f5;min-height:46px;padding:0 16px}.ganttrow:hover{background:#f8fbfc}.ganttrow.sub{background:#f9fcfa;min-height:39px}.ganttrow.gantthead{background:#f3f7f9;color:#7890a1;font-size:10px;min-height:44px}.stagepick{display:flex;gap:8px;align-items:center;min-width:0;text-align:left;background:transparent;color:#263e51;padding:9px 0}.stagepick.chosen{color:#087e71;font-weight:800}.stage-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:650}.sub .stagepick{padding-left:37px;font-size:11px}.stage-index{color:#8197a6;font-size:10px}.arrow{color:#0c917c}.timeline{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;align-items:center}.tlmonth{text-align:center;font-size:10px}.tlcell{height:16px;background:#e9f0f3;border-radius:3px}.tlcell.on{background:#13a88d}.rowvalue{text-align:right;font-weight:750;font-size:11px}.rowvalue small{display:block;font-size:10px;color:#8296a4;font-weight:400;margin-top:4px}.legend{font-size:11px;color:#728b9a}.legend i{display:inline-block;width:11px;height:11px;border-radius:2px;background:#13a88d;margin-right:5px}.panelheading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.monthgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.monthbox{background:#f4f8fa;border:1px solid #e4edf1;padding:9px;border-radius:8px;min-width:0}.monthbox span{display:block;font-weight:750;color:#526b7d;margin-bottom:6px}.monthbox input{padding:8px!important}.monthbox small{display:block;color:#7b91a0;font-size:10px;margin-top:6px;overflow-wrap:anywhere}.progressbar{height:8px;background:#e7eff2;border-radius:10px;overflow:hidden;margin-top:14px}.progressbar div{height:100%;background:#13a88d}.disburse{display:grid;grid-template-columns:31px minmax(30px,1fr) 112px;gap:10px;align-items:center;margin:13px 0;font-size:11px}.disburse b{text-align:right;font-size:10px}@media(max-width:800px){.monthgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.ganttintro{padding:14px}}
:root{--navy:#102135;--navy-soft:#19364b;--teal:#0c9f88;--mint:#49dfb9;--paper:#f3f7fa;--line:#e1eaf0;--ink:#1c3447;--muted:#72889a;font-family:Inter,'Segoe UI',Arial,sans-serif!important;color:var(--ink);background:var(--paper)}
body{background:var(--paper);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit!important}button{transition:background .18s ease,box-shadow .18s ease,transform .18s ease}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(16,168,142,.28);outline-offset:2px}button:disabled{opacity:.48;cursor:not-allowed}.shell{background:var(--paper)}.sidebar{width:232px;background:linear-gradient(175deg,#102135 0%,#132c40 75%,#0c2334 100%);padding:27px 14px;box-shadow:3px 0 20px rgba(15,38,57,.04)}.logo{font-size:24px;letter-spacing:-.8px;margin:1px 10px 35px}.logo small{font-size:9px;letter-spacing:2.3px;margin-top:7px}.nav{padding:14px 15px;margin:4px 0;border-radius:10px;font-weight:650;letter-spacing:.1px}.nav:hover{background:rgba(255,255,255,.08);color:white}.nav.active{background:linear-gradient(100deg,#1e4b55,#1b4653);color:#72f2ce;box-shadow:inset 3px 0 #49dfb9}.main{background:linear-gradient(180deg,#f8fafc 0,#f2f6f9 250px)}.top{padding:23px 31px;min-height:91px;box-shadow:0 3px 18px rgba(19,45,63,.025);border-color:#e4edf3}.top .title{font-size:25px;letter-spacing:-.65px;line-height:1.2;color:#19364b}.top .muted{font-size:10px;letter-spacing:1.3px;font-weight:750}.body{padding:26px 29px 45px;max-width:1550px}.card{border-radius:14px;border:1px solid #e2eaf0;box-shadow:0 5px 18px rgba(21,55,76,.035);padding:20px}.card:hover{border-color:#d4e5e9}.cards{gap:15px}.cards .card{border-top:3px solid #d8e9e8;padding:19px 20px}.cards .card:nth-child(2){border-top-color:#10a58b}.cards .card:nth-child(3){border-top-color:#2b6377}.label{font-size:10px;letter-spacing:.65px;text-transform:uppercase;color:#74899a}.big{font-size:clamp(20px,2vw,29px);letter-spacing:-.6px;margin:11px 0;color:#12384b}.heading{font-size:16px;color:#17384c;letter-spacing:-.2px;margin-bottom:15px}.muted{color:#7a91a1;line-height:1.5}.two{gap:16px}.toolbar{gap:10px;margin-bottom:18px}.btn{background:#087f72;padding:11px 15px;border-radius:9px;box-shadow:0 2px 5px rgba(10,116,101,.1)}.btn:hover{background:#066d61;transform:translateY(-1px)}.btn.secondary{background:#e4f5ef;color:#087c6e;box-shadow:none}.btn.secondary:hover{background:#d4eee5}.btn.gray{background:#edf2f6;color:#4c6476;box-shadow:none}.btn.gray:hover{background:#dfe9ef}.pill{background:#e3f6ee;color:#087d6e;padding:7px 11px;letter-spacing:.2px}.top .pill{white-space:nowrap}input,select,textarea{border:1px solid #d6e3eb;border-radius:9px;padding:10px 11px;background:#fff;color:#253f50;min-height:37px}input:hover,select:hover,textarea:hover{border-color:#9ec8c4}input:focus,select:focus,textarea:focus{border-color:#0b9e88;outline:3px solid rgba(12,159,136,.1)}table{font-size:12px}th{background:#f0f5f8;color:#60798c;font-size:10px;letter-spacing:.5px;text-transform:uppercase;padding:13px 12px;border-bottom:1px solid #dfe8ee}td{padding:12px;border-color:#e9f0f4}tbody tr:hover td{background:#f9fcfd}tr.group td{background:#eaf6f2;color:#155c52}.tablewrap{border-radius:10px;border:1px solid #e8eff3}.notice{border-radius:11px;border-color:#cfe9e1;background:#f0faf6;line-height:1.6;padding:14px}.ganttintro{padding:22px 24px}.ganttwrap{min-width:940px}.ganttrow{min-height:50px;padding:0 20px;grid-template-columns:260px minmax(460px,1fr) 156px}.ganttrow.gantthead{min-height:49px;background:#eff5f8;letter-spacing:.5px}.ganttrow.sub{min-height:42px}.stagepick{font-weight:650}.stagepick:hover{color:#078d79}.timeline{gap:4px}.tlcell{height:18px;border-radius:4px;background:#e9f0f4}.tlcell.on{background:linear-gradient(180deg,#21b79e,#0f9e86);box-shadow:inset 0 -2px rgba(0,0,0,.04)}.gantt{height:14px}.gantt span,.bar>div,.progressbar div{background:linear-gradient(90deg,#0fa78e,#36c5a6)}.bar{height:12px}.rowvalue{font-size:12px}.rowvalue small{line-height:1.5}.schedule-table input{width:92px;max-width:100%;text-align:center}.schedule-table input[type=date]{width:140px}.monthbox{border-radius:10px;background:#f7fafc;padding:12px}.monthbox input{background:white}.progressbar{height:9px}.disburse{gap:12px;margin:15px 0}.panelheading{gap:16px}.legend{display:flex;align-items:center;gap:5px}.mobile{box-shadow:0 3px 9px rgba(0,0,0,.06)}
@media(max-width:1100px){.sidebar{width:205px}.body{padding:20px}.ganttrow{grid-template-columns:235px minmax(460px,1fr) 145px}}@media(max-width:800px){.sidebar{display:none}.top{padding:18px 16px;min-height:76px}.top .title{font-size:20px}.body{padding:14px}.card{padding:15px}.mobile{padding:9px}.mobile button{border-radius:8px}.cards{gap:9px}.two{gap:11px}.ganttintro{padding:16px}.ganttrow{padding:0 12px}}@media(max-width:500px){.top .pill{font-size:9px;padding:5px 7px}.cards.kpi-three{grid-template-columns:1fr}.big{font-size:22px}.card{padding:13px}.body{padding:10px}.toolbar{gap:7px}.btn{padding:9px 11px}.heading{font-size:14px}}
.rheader{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.rtabs{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid #dce6ec;margin-bottom:16px}.rtab{background:transparent;padding:13px 18px;color:#647b8d;border-bottom:3px solid transparent;font-weight:700}.rtab.on{color:#087e71;border-bottom-color:#0c9f88}.report-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.rstage{margin-top:14px}.rstage-head{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:6px}.rprogress{height:9px;background:#e7eef2;border-radius:20px;overflow:hidden;min-width:65px}.rprogress i{display:block;background:#0c9f88;height:100%;border-radius:20px}.rsummary{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid #e9eff2;padding:13px 0}.rmonth{display:grid;grid-template-columns:75px 1fr 1fr;gap:10px;padding:10px 0;border-bottom:1px solid #e9eff2;font-size:12px}.rmonth strong{text-align:right;color:#087e71}.rlabel{display:block;margin-top:16px;font-weight:700;font-size:13px}.rlabel select{display:block;width:100%;margin-top:7px}@media(max-width:1000px){.report-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.report-cards{grid-template-columns:1fr}.rmonth{grid-template-columns:1fr 1fr}.rmonth b{grid-column:1/-1}}
.stage-activity-controls{display:flex;align-items:center;gap:7px;min-width:0;width:100%}
.stage-activity-controls .stagepick{flex:1;min-width:0;overflow:hidden}
.stage-add-visible{flex-shrink:0;border:1px solid #0c9b83;background:#e7faf3;color:#087c69;font-weight:800;font-size:10px;padding:7px 8px;border-radius:7px;white-space:nowrap;cursor:pointer}
.stage-add-visible:hover{background:#c8f4e4;border-color:#087c69}
.stage-add-visible:focus-visible{outline:3px solid #49dfb9}

/* ---------- Sistema ---------- */
:root{--erro:#ad4848;--erro-fundo:#fbeceb;--aviso:#8a570b;--aviso-fundo:#fff2df;--ok:#087e71;--ok-fundo:#e3f6ee}
a{color:#087e71}
.sidebar .nav{text-decoration:none;display:flex;gap:10px;align-items:center}
.sidebar .grupo{font-size:9px;letter-spacing:2px;color:#6f8ea0;margin:22px 12px 6px;text-transform:uppercase}
.sidebar .rodape{margin-top:28px;padding:12px;font-size:11px;color:#91acbd;border-top:1px solid rgba(255,255,255,.08)}
.sidebar .rodape b{display:block;color:#fff;font-size:12px;margin-bottom:3px}
.sidebar .rodape a{color:#72f2ce}
.mobile a{white-space:nowrap;color:#fff;background:#23495b;padding:9px;border-radius:6px;text-decoration:none;font-size:13px}
.mobile a.active{background:#087e71}
.top .usuario{display:flex;gap:10px;align-items:center;font-size:12px;color:#5d7486}
.top form{margin:0}
.abas{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid #dce6ec;margin:-4px 0 18px}
.abas a{padding:12px 15px;color:#647b8d;border-bottom:3px solid transparent;font-weight:700;text-decoration:none;font-size:13px}
.abas a.on{color:#087e71;border-bottom-color:#0c9f88}
.alerta{padding:12px 14px;border-radius:10px;margin-bottom:14px;font-size:13px;line-height:1.5;border:1px solid}
.alerta.sucesso{background:var(--ok-fundo);color:#155c52;border-color:#bfe6d6}
.alerta.erro{background:var(--erro-fundo);color:var(--erro);border-color:#f1c9c5}
.alerta.aviso{background:var(--aviso-fundo);color:var(--aviso);border-color:#f3dcb5}
.alerta code{background:rgba(0,0,0,.06);padding:2px 6px;border-radius:5px;word-break:break-all}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.form-grid label,.campo{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:750;color:#5f7587;letter-spacing:.3px;text-transform:uppercase}
.form-grid .largo{grid-column:1/-1}
.campo input,.campo select,.campo textarea,.form-grid input,.form-grid select,.form-grid textarea{text-transform:none;font-weight:400;font-size:14px;letter-spacing:0;width:100%}
textarea{border:1px solid #d6e3eb;border-radius:9px;padding:10px 11px;min-height:90px}
.erro-campo,.field-validation-error{color:var(--erro);font-size:11px;font-weight:600;text-transform:none;letter-spacing:0}
.validation-summary-errors ul{margin:0;padding-left:18px}
.btn{text-decoration:none;display:inline-flex;align-items:center;gap:6px;border:0;line-height:1.2}
.btn.perigo{background:#b4483f;color:#fff}.btn.perigo:hover{background:#9a3a32}
.btn.pequeno{padding:7px 10px;font-size:12px}
.link-btn{background:none;border:0;color:#087e71;font-weight:700;padding:0;cursor:pointer;font-size:12px}
.link-btn.perigo{color:var(--erro)}
.inline{display:inline}
.acoes{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.selo{display:inline-block;border-radius:20px;padding:4px 9px;font-size:10.5px;font-weight:800;letter-spacing:.2px;background:#edf2f6;color:#4c6476;white-space:nowrap}
.selo.verde{background:#e3f6ee;color:#087d6e}.selo.azul{background:#e5eef8;color:#2b5a87}.selo.laranja{background:#fff2df;color:#8a570b}
.selo.vermelho{background:#fbeceb;color:#ad4848}.selo.cinza{background:#edf2f6;color:#4c6476}
.vazio{padding:28px;text-align:center;color:#72889a}
.vazio .heading{color:#17384c}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lista-obras{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}
.lista-obras .card{display:flex;flex-direction:column;gap:6px}
.lista-obras .card .big{margin:6px 0}
.barra-pct{height:9px;background:#e7eef2;border-radius:20px;overflow:hidden;min-width:60px}
.barra-pct>i{display:block;height:100%;width:0;background:linear-gradient(90deg,#0fa78e,#36c5a6);border-radius:20px}
.numero{text-align:right;font-variant-numeric:tabular-nums}
td.numero,th.numero{text-align:right}
.tabular{font-variant-numeric:tabular-nums}
.permissoes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px 18px}
.permissoes fieldset{border:1px solid #e2eaf0;border-radius:10px;padding:10px 12px}
.permissoes legend{font-size:11px;font-weight:800;color:#087e71;padding:0 6px;text-transform:uppercase;letter-spacing:.5px}
.permissoes label{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin:6px 0;text-transform:none;letter-spacing:0;font-weight:500;color:#24394b}
.permissoes input{min-height:auto;margin-top:3px}
.permissoes small{display:block;color:#7a91a1;font-size:11px}
.login-tela{min-height:100vh;display:grid;place-items:center;background:linear-gradient(160deg,#102135 0%,#173b4d 60%,#0c2334 100%);padding:24px max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px))}
.login-caixa{background:#fff;border-radius:16px;padding:30px;width:min(420px,100%);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.login-caixa .logo{color:#102135;margin:0 0 6px;font-size:26px}
.login-caixa .logo small{color:#72889a}
.login-caixa form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.login-caixa .btn{justify-content:center;padding:12px}
.codigo-mfa{font-family:ui-monospace,Consolas,monospace;font-size:15px;letter-spacing:2px;background:#f3f7fa;padding:12px;border-radius:9px;word-break:break-all;user-select:all}
.mensagens{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow:auto;margin-bottom:12px}
.mensagem{padding:10px 12px;border-radius:10px;background:#f3f7fa;max-width:85%}
.mensagem.prop{background:#e3f6ee;align-self:flex-end}
.mensagem small{display:block;color:#72889a;font-size:10.5px;margin-bottom:3px}
.mensagem p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.chip-obra{display:inline-flex;gap:8px;align-items:center;padding:6px 12px;border-radius:20px;background:#e5f4ee;color:#087e71;font-weight:700;font-size:12px;text-decoration:none}
.secao-titulo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.secao-titulo .heading{margin:0}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:13px}
.kv dt{color:#72889a}.kv dd{margin:0;font-weight:700}
.pre{white-space:pre-wrap;font-family:ui-monospace,Consolas,monospace;font-size:11px;max-width:420px;overflow-wrap:anywhere;color:#5f7587}
.carregando{color:#72889a;padding:30px;text-align:center}
.tlcell.real{background:linear-gradient(180deg,#f0b768,#e59c42)}
.gantt-legenda{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#728b9a}
.gantt-legenda i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.gantt-legenda .p{background:#13a88d}.gantt-legenda .r{background:#e59c42}
svg.curva text{font-size:10px}
.oculto{display:none!important}
@media(max-width:900px){.grid2,.grid3{grid-template-columns:1fr}}
@media(max-width:800px){.top .usuario span{display:none}}
@media print{.sidebar,.mobile,.top form,.abas,.btn{display:none!important}.body{padding:0}}
.lista-acesso{display:grid;gap:10px;margin-top:14px}
.lista-acesso .btn{width:100%;justify-content:center;flex-wrap:wrap}
.estreito{max-width:560px}
.login-caixa ol{padding-left:18px;line-height:1.6}
.login-caixa .campo:has(input[type=checkbox]){flex-direction:row;align-items:center;text-transform:none}
.login-caixa input[type=checkbox]{min-height:auto}
.centro{justify-content:center}
.espaco-topo{margin-top:16px}
.etapa-barra{grid-template-columns:minmax(120px,190px) 1fr 120px}
.big.destaque{color:#087e71}
.toolbar.sem-margem{margin:0}
.lista-etapas{max-height:560px;overflow:auto;display:flex;flex-direction:column;gap:3px}
.item-etapa{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:9px;color:#314a5b;text-decoration:none;font-size:13px}
.item-etapa:hover{background:#f3f7fa}
.item-etapa.on{background:#e5f4ee;color:#087e71;font-weight:700}
.item-etapa b{white-space:nowrap;font-variant-numeric:tabular-nums}
.largo-input{min-width:200px;width:100%}.curto-input{width:64px}.num-input{width:96px;text-align:right}
.linha-comp td{padding-top:0;border-bottom:1px dashed #e9eff4}
.pequeno-rotulo{display:flex;gap:8px;align-items:center;font-size:11px}
.pequeno-rotulo select{min-height:32px;padding:5px 8px;font-size:12px}
.card-interno{margin-top:12px;padding:14px;border:1px dashed #cfe9e1;border-radius:11px;background:#f8fcfb}
.perigo-texto{color:#ad4848!important}
.orcamento{grid-template-columns:minmax(260px,1fr) 2fr}
@media(max-width:800px){.orcamento{grid-template-columns:1fr}}
.sem-padding{padding:0!important;overflow:hidden}
.cor-prevista{color:#0c917c}.cor-realizada{color:#e59c42}
.aviso-texto{color:#aa6a21;margin-top:6px}
.cronograma .campo{text-transform:uppercase}
.permissoes-simples{border:1px solid #e2eaf0;border-radius:10px;padding:10px 12px}
.permissoes-simples legend{font-size:11px;font-weight:800;color:#087e71;padding:0 6px;text-transform:uppercase}
.opcao{display:flex!important;flex-direction:row!important;gap:10px;align-items:flex-start;margin:8px 0;text-transform:none!important;letter-spacing:0!important}
.opcao input{min-height:auto;width:auto!important;margin-top:3px}
.opcao small{display:block;color:#7a91a1;font-weight:400}
.lista-simples{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;font-size:13px}
.toolbar textarea{flex:1;min-width:220px}
.tamanho-medio{font-size:17px!important}
.portal-gantt .ganttrow{grid-template-columns:220px minmax(400px,1fr) 90px}
/* SPEC-008/011: nova atividade e filtro de etapas no cronograma */
.activity-add-cell{gap:12px;padding-left:37px}
.activity-form{padding:14px 20px 16px 57px;background:#f8fcfb;border-top:1px solid #edf2f5}
.gantt-vazio{padding:28px 20px;text-align:center;color:#72889a}
.gantt-vazio .heading{color:#17384c;margin-bottom:6px}
.opcao-inline{display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.opcao-inline input{min-height:auto;margin:0}
