/* CSS só do módulo 03-projetos · FASE 2. Todo seletor começa com [data-modulo="projetos"]. Ver ../CONVENCOES.md.
   Regras do segundo <style> de previews/03-projetos.html que a base não tem (cópia, sem cor nova). */
[data-modulo="projetos"] .ent-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
[data-modulo="projetos"] .ent-head .code{font-size:13px;color:var(--text-3);font-variant-numeric:tabular-nums;margin-bottom:4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
[data-modulo="projetos"] .ent-head h1{font-size:26px;font-weight:700;line-height:1.25;letter-spacing:-.015em}
[data-modulo="projetos"] .ent-head .meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:8px;font-size:13px;color:var(--text-2)}
[data-modulo="projetos"] .ent-head .meta span{display:inline-flex;align-items:center;gap:6px}
[data-modulo="projetos"] .ent-head .meta .ico{color:var(--text-3)}
[data-modulo="projetos"] .ent-head .acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
[data-modulo="projetos"] .tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow-x:auto;scrollbar-width:none}
[data-modulo="projetos"] .tabs::-webkit-scrollbar{display:none}
[data-modulo="projetos"] .tabs a,[data-modulo="projetos"] .tabs span{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-size:14px;color:var(--text-2);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
[data-modulo="projetos"] .tabs a:hover{color:var(--text)}
[data-modulo="projetos"] .tabs .on{color:var(--accent-text);border-bottom-color:var(--accent);font-weight:500}
[data-modulo="projetos"] .tabs .soon{color:var(--text-3);font-size:12px}
[data-modulo="projetos"] .toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
[data-modulo="projetos"] .toolbar .grow{flex:1}
[data-modulo="projetos"] .seg{display:inline-flex;padding:3px;border-radius:var(--r-btn);background:var(--sunk);gap:2px}
[data-modulo="projetos"] .seg a,[data-modulo="projetos"] .seg button{border:0;background:none;font:500 13px var(--font);color:var(--text-2);padding:0 14px;height:32px;border-radius:8px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;cursor:pointer}
[data-modulo="projetos"] .seg .on{background:var(--bg);color:var(--text);box-shadow:0 1px 2px var(--glass-line)}
[data-modulo="projetos"] .chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--glass-strong);font-size:13px;color:var(--text-2);white-space:nowrap}
[data-modulo="projetos"] .chip.on{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}
[data-modulo="projetos"] .chip b{font-weight:600;color:var(--text)}
[data-modulo="projetos"] .mini-search{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r-btn);background:var(--glass-strong);color:var(--text-3);font-size:13px;min-width:240px}
[data-modulo="projetos"] .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
[data-modulo="projetos"] .form-grid .full{grid-column:1/-1}
[data-modulo="projetos"] .field{display:flex;flex-direction:column;gap:6px;min-width:0}
[data-modulo="projetos"] .field .lbl small,[data-modulo="projetos"] .field label small{font-weight:400;color:var(--text-3)}
[data-modulo="projetos"] .input,[data-modulo="projetos"] .select,[data-modulo="projetos"] .textarea{height:40px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--r-input);background:var(--bg);font:400 14px var(--font);color:var(--text);display:flex;align-items:center;gap:8px;min-width:0}
[data-modulo="projetos"] .select{justify-content:space-between}
[data-modulo="projetos"] .select::after{content:"";width:8px;height:8px;border-right:1.6px solid var(--text-3);border-bottom:1.6px solid var(--text-3);transform:rotate(45deg) translate(-2px,-2px);flex:none}
[data-modulo="projetos"] .textarea{height:auto;min-height:96px;padding:10px 12px;align-items:flex-start;line-height:1.5}
[data-modulo="projetos"] .input.ph,[data-modulo="projetos"] .select.ph{color:var(--text-3)}
[data-modulo="projetos"] .input.is-disabled,[data-modulo="projetos"] .select.is-disabled{background:var(--sunk);color:var(--text-3);border-color:var(--line)}
[data-modulo="projetos"] .input.is-error,[data-modulo="projetos"] .select.is-error{border-color:var(--danger)}
[data-modulo="projetos"] .help.err{color:var(--danger);font-weight:500}
[data-modulo="projetos"] .new-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-text);background:var(--accent-soft);border-radius:var(--r-pill);padding:1px 7px;margin-left:6px;vertical-align:1px}
[data-modulo="projetos"] .check{display:flex;gap:10px;align-items:flex-start;font-size:14px}
[data-modulo="projetos"] .check i{width:18px;height:18px;border:1.5px solid var(--border-strong);border-radius:5px;flex:none;margin-top:1px;background:var(--bg);display:grid;place-items:center}
[data-modulo="projetos"] .check i.on{background:var(--accent);border-color:var(--accent)}
[data-modulo="projetos"] .check i.on::after{content:"";width:8px;height:4px;border-left:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);transform:rotate(-45deg) translate(1px,-1px)}
[data-modulo="projetos"] .check.done span{color:var(--text-3);text-decoration:line-through}
[data-modulo="projetos"] .dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--line);flex-wrap:wrap}
[data-modulo="projetos"] .empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 24px}
[data-modulo="projetos"] .empty .tile{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--neutral-soft);color:var(--neutral)}
[data-modulo="projetos"] .empty h3{font-size:16px;font-weight:600}
[data-modulo="projetos"] .empty p{color:var(--text-3);max-width:420px}
[data-modulo="projetos"] .empty .dwr{justify-content:center;margin-top:6px}
[data-modulo="projetos"] .state-err{display:flex;gap:16px;align-items:flex-start;padding:20px 24px}
[data-modulo="projetos"] .state-err .tile{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--danger-soft);color:var(--danger)}
[data-modulo="projetos"] .state-err b{display:block;font-weight:600;margin-bottom:2px}
[data-modulo="projetos"] .state-err p{color:var(--text-3);font-size:13px}
[data-modulo="projetos"] .state-err .btn{margin-left:auto}
[data-modulo="projetos"] .meter{height:8px;border-radius:var(--r-pill);background:var(--sunk);overflow:hidden;min-width:80px}
[data-modulo="projetos"] .meter i{display:block;height:100%;border-radius:inherit;background:var(--accent)}
[data-modulo="projetos"] .meter i.ok{background:var(--ok)}
[data-modulo="projetos"] .meter i.warn{background:var(--warn)}
[data-modulo="projetos"] .meter i.danger{background:var(--danger)}
[data-modulo="projetos"] .meter-row{display:flex;align-items:center;gap:12px}
[data-modulo="projetos"] .meter-row .num{font-size:12px;color:var(--text-2);min-width:36px;text-align:right}
[data-modulo="projetos"] .rows{padding:0;overflow:hidden}
[data-modulo="projetos"] .row{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--line-soft)}
[data-modulo="projetos"] .row:last-child{border-bottom:0}
[data-modulo="projetos"] .row .grow{flex:1;min-width:0}
[data-modulo="projetos"] .row .t{font-weight:500}
[data-modulo="projetos"] .row .s{font-size:12px;color:var(--text-3);margin-top:2px}
[data-modulo="projetos"] .row .badge{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--neutral-soft);color:var(--neutral);flex:none}
[data-modulo="projetos"] .board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:16px;overflow-x:auto;padding-bottom:8px;align-items:start}
[data-modulo="projetos"] .col{padding:0;overflow:hidden}
[data-modulo="projetos"] .col-head{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line)}
[data-modulo="projetos"] .col-head h3{font-size:13px;font-weight:600}
[data-modulo="projetos"] .col-head .count{font-size:12px;font-weight:600;background:var(--sunk);color:var(--text-2);border-radius:var(--r-pill);padding:1px 8px}
[data-modulo="projetos"] .col-head .tot{margin-left:auto;font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}
[data-modulo="projetos"] .col-body{display:flex;flex-direction:column;gap:10px;padding:12px}
[data-modulo="projetos"] .kcard{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;font-size:13px}
[data-modulo="projetos"] .kcard .t{font-weight:500;line-height:1.35}
[data-modulo="projetos"] .kcard .m{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-3)}
[data-modulo="projetos"] .kcard .tags{display:flex;gap:6px;flex-wrap:wrap}
[data-modulo="projetos"] .col-empty{font-size:12px;color:var(--text-3);text-align:center;padding:20px 8px;border:1px dashed var(--line);border-radius:12px}
[data-modulo="projetos"] .tl{display:flex;flex-direction:column}
[data-modulo="projetos"] .tl-item{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:12px 0;position:relative}
[data-modulo="projetos"] .tl-item::before{content:"";position:absolute;left:17px;top:44px;bottom:-12px;width:1px;background:var(--line)}
[data-modulo="projetos"] .tl-item:last-child::before{display:none}
[data-modulo="projetos"] .tl-item .tile{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--neutral-soft);color:var(--neutral)}
[data-modulo="projetos"] .tl-item .tile.acc{background:var(--accent-soft);color:var(--accent-text)}
[data-modulo="projetos"] .tl-item .tile.ok{background:var(--ok-soft);color:var(--ok)}
[data-modulo="projetos"] .tl-item b{font-weight:600;font-size:13px}
[data-modulo="projetos"] .tl-item p{font-size:13px;color:var(--text-2);margin-top:2px}
[data-modulo="projetos"] .tl-item small{font-size:12px;color:var(--text-3)}
[data-modulo="projetos"] .kv{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:12px 24px;font-size:14px}
[data-modulo="projetos"] .kv dt{color:var(--text-3);font-size:13px}
[data-modulo="projetos"] .kv dd{margin:0}
[data-modulo="projetos"] .split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start}
[data-modulo="projetos"] .g2{grid-template-columns:repeat(2,minmax(0,1fr))}
[data-modulo="projetos"] .g4{grid-template-columns:repeat(4,minmax(0,1fr))}
[data-modulo="projetos"] .stack{display:flex;flex-direction:column;gap:16px}
[data-modulo="projetos"] .sec-title{font-size:15px;font-weight:600;margin:32px 0 12px;display:flex;align-items:center;gap:8px}
[data-modulo="projetos"] .sec-title .src{margin-left:auto;font-size:12px;font-weight:400;color:var(--text-3)}
[data-modulo="projetos"] .note{font-size:12px;color:var(--text-3)}
[data-modulo="projetos"] .tr{text-align:right}
[data-modulo="projetos"] .dt td.tr,[data-modulo="projetos"] .dt th.tr{text-align:right}
[data-modulo="projetos"] .dt tfoot td{font-weight:600;border-top:1px solid var(--line);border-bottom:0;padding:14px 20px}
[data-modulo="projetos"] .dt .indent1{padding-left:44px}
[data-modulo="projetos"] .dt .indent2{padding-left:68px}
[data-modulo="projetos"] .dt tr.group td{background:var(--sunk);font-weight:600}
[data-modulo="projetos"] .dt tbody tr.group:hover td{background:var(--sunk)}
[data-modulo="projetos"] .gantt{display:grid;grid-template-columns:300px 1fr;font-size:13px;min-width:980px}
[data-modulo="projetos"] .g-scroll{overflow-x:auto}
[data-modulo="projetos"] .g-left .g-row,[data-modulo="projetos"] .g-right .g-row{height:44px;display:flex;align-items:center;border-bottom:1px solid var(--line-soft)}
[data-modulo="projetos"] .g-left .g-row{padding:0 20px;gap:10px}
[data-modulo="projetos"] .g-left .g-row.grp{font-weight:600}
[data-modulo="projetos"] .g-left .g-row.sub{padding-left:40px}
[data-modulo="projetos"] .g-head{height:44px;display:flex;align-items:center;border-bottom:1px solid var(--line);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3)}
[data-modulo="projetos"] .g-left .g-head{padding:0 20px}
[data-modulo="projetos"] .g-right{border-left:1px solid var(--line);position:relative}
[data-modulo="projetos"] .g-right .g-head{display:grid;grid-template-columns:repeat(12,1fr)}
[data-modulo="projetos"] .g-right .g-head span{padding-left:8px;border-left:1px solid var(--line-soft)}
[data-modulo="projetos"] .g-right .g-row{position:relative}
[data-modulo="projetos"] .g-grid{position:absolute;inset:44px 0 0 0;display:grid;grid-template-columns:repeat(12,1fr);pointer-events:none}
[data-modulo="projetos"] .g-grid span{border-left:1px solid var(--line-soft)}
[data-modulo="projetos"] .g-today{position:absolute;top:44px;bottom:0;width:2px;background:var(--danger);opacity:.7}
[data-modulo="projetos"] .g-today::before{content:"hoje";position:absolute;top:-18px;left:-12px;font-size:10px;font-weight:600;color:var(--danger)}
[data-modulo="projetos"] .gbar{position:absolute;height:20px;border-radius:6px;background:var(--accent-soft);border:1px solid var(--accent);display:flex;align-items:center;overflow:hidden}
[data-modulo="projetos"] .gbar i{display:block;height:100%;background:var(--accent);opacity:.55}
[data-modulo="projetos"] .gbar.crit{border-color:var(--danger);background:var(--danger-soft)}
[data-modulo="projetos"] .gbar.crit i{background:var(--danger)}
[data-modulo="projetos"] .gbar.grp{height:10px;border-radius:3px;background:var(--text-2);border:0}
[data-modulo="projetos"] .gbar.base{height:6px;margin-top:22px;background:var(--neutral-dot);border:0;opacity:.6}
[data-modulo="projetos"] .gbar.ms{width:14px;height:14px;transform:rotate(45deg);border-radius:3px;background:var(--text);border:0}
[data-modulo="projetos"] .legend{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:var(--text-3);padding:14px 24px;border-top:1px solid var(--line)}
[data-modulo="projetos"] .legend span{display:inline-flex;align-items:center;gap:8px}
[data-modulo="projetos"] .legend i{width:22px;height:10px;border-radius:3px;display:inline-block}
[data-modulo="projetos"] .editor{padding:0;overflow:hidden}
[data-modulo="projetos"] .ed-bar{display:flex;gap:2px;padding:8px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}
[data-modulo="projetos"] .ed-bar span{min-width:32px;height:32px;display:grid;place-items:center;border-radius:8px;font-size:13px;font-weight:600;color:var(--text-2);padding:0 8px}
[data-modulo="projetos"] .ed-bar .sep{min-width:1px;width:1px;padding:0;background:var(--line);margin:6px 4px}
[data-modulo="projetos"] .ed-body{padding:24px 32px;font-size:15px;line-height:1.7;color:var(--text)}
[data-modulo="projetos"] .ed-body h3{font-size:17px;font-weight:600;margin:20px 0 6px}
[data-modulo="projetos"] .ed-body h3:first-child{margin-top:0}
[data-modulo="projetos"] .ed-body p{margin:0 0 10px}
[data-modulo="projetos"] .ed-body ul{margin:0 0 10px;padding-left:22px}
[data-modulo="projetos"] .saved{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ok)}
[data-modulo="projetos"] .saved::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
[data-modulo="projetos"] .thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
[data-modulo="projetos"] .thumb{aspect-ratio:4/3;border-radius:10px;background:var(--sunk);border:1px solid var(--line);display:grid;place-items:center;color:var(--text-3);font-size:12px}
@media (max-width:1100px){[data-modulo="projetos"] .g4{grid-template-columns:repeat(2,minmax(0,1fr))}[data-modulo="projetos"] .split{grid-template-columns:1fr}}
@media (max-width:767px){[data-modulo="projetos"] .ent-head h1{font-size:22px}[data-modulo="projetos"] .ent-head .acts{width:100%}[data-modulo="projetos"] .tabs{margin-left:-16px;margin-right:-16px;padding:0 8px}[data-modulo="projetos"] .tabs a,[data-modulo="projetos"] .tabs span{padding:12px 12px;min-height:44px}[data-modulo="projetos"] .form-grid,[data-modulo="projetos"] .g2,[data-modulo="projetos"] .g4{grid-template-columns:1fr}[data-modulo="projetos"] .kv{grid-template-columns:1fr;gap:2px 0}[data-modulo="projetos"] .kv dd{margin-bottom:12px}[data-modulo="projetos"] .row{padding:14px 16px;flex-wrap:wrap}[data-modulo="projetos"] .row .acts-r{width:100%}[data-modulo="projetos"] .dialog-head,[data-modulo="projetos"] .dialog-body,[data-modulo="projetos"] .dialog-foot{padding-left:16px;padding-right:16px}[data-modulo="projetos"] .board{grid-auto-columns:82%}[data-modulo="projetos"] .mini-search{min-width:0;flex:1}[data-modulo="projetos"] .state-err{flex-wrap:wrap;padding:16px}[data-modulo="projetos"] .state-err .btn{margin-left:52px}[data-modulo="projetos"] .ed-body{padding:16px}[data-modulo="projetos"] .toolbar .grow{display:none}[data-modulo="projetos"] .seg a,[data-modulo="projetos"] .seg button{height:40px}[data-modulo="projetos"] .chip{height:40px}[data-modulo="projetos"] .input,[data-modulo="projetos"] .select{height:44px}}
[data-modulo="projetos"] .col-head{flex-wrap:wrap}
[data-modulo="projetos"] .col-head .tot{margin-left:0;width:100%;margin-top:2px}
[data-modulo="projetos"] .kcard .tags{align-items:center}
[data-modulo="projetos"] .tl-item b{display:block}
[data-modulo="projetos"] .subsec{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:12px}
[data-modulo="projetos"] .subsec h3{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}
[data-modulo="projetos"] .subsec h3 .count{font-size:12px;font-weight:600;background:var(--sunk);color:var(--text-2);border-radius:var(--r-pill);padding:1px 8px}
[data-modulo="projetos"] .back{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-3);text-decoration:none;margin-bottom:12px}
[data-modulo="projetos"] .back:hover{color:var(--text)}
[data-modulo="projetos"] .steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
[data-modulo="projetos"] .step{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;font-size:13px;color:var(--text-2)}
[data-modulo="projetos"] .step b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;background:var(--sunk);color:var(--text-2);flex:none}
[data-modulo="projetos"] .step.on{color:var(--text);font-weight:500}
[data-modulo="projetos"] .step.on b{background:var(--accent);color:var(--on-accent)}
[data-modulo="projetos"] .step.done b{background:var(--ok-soft);color:var(--ok)}
[data-modulo="projetos"] .cell-input{height:32px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-input);background:var(--bg);display:inline-flex;align-items:center;font-size:13px;min-width:120px}
@media (max-width:767px){[data-modulo="projetos"] .table-scroll.keep{display:block}[data-modulo="projetos"] .drawer{border-radius:0;width:100%}[data-modulo="projetos"] .step{flex:1 1 100%}}
/* rodada 2: "O que trava" quebra linha dentro da célula, sem rolagem horizontal */
[data-modulo="projetos"] .dt td.trava{white-space:normal;min-width:200px}

/* rodada 3: no celular, o texto da linha fica com a largura toda e as ações descem (antes sobrepunha/espremia) */
@media (max-width:767px){[data-modulo="projetos"] .rows .row .grow{flex:1 1 calc(100% - 64px)}[data-modulo="projetos"] .rows .row > .btn{padding-left:8px;padding-right:8px}}
/* rodada 3: no celular, o cabeçalho da fase do orçamento quebra linha (Excluir fase saía cortado) */
@media (max-width:767px){[data-modulo="projetos"] .table-head{flex-wrap:wrap}}

/* ===== revisão 01 (2026-10-02) ===== */
/* Fonte: preview/*.html da revisão 01 (visual novo só onde os itens pedem). Gerado por scratchpad rev01/sis.js. */
[data-modulo="projetos"] .rv-pop{position:absolute;z-index:70;padding:8px;border-radius:var(--r-card);min-width:200px;box-shadow:0 12px 32px var(--border-strong)}
[data-modulo="projetos"] .rv-pop .rv-op{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;background:none;border-radius:8px;font:inherit;font-size:14px;color:var(--text);text-align:left;cursor:pointer}
[data-modulo="projetos"] .rv-pop .rv-op:hover,[data-modulo="projetos"] .rv-pop .rv-op:focus-visible{background:var(--sunk);outline:0}
[data-modulo="projetos"] .rv-pop .rv-op.on{background:var(--accent-soft);color:var(--accent-text)}
[data-modulo="projetos"] .rv-pop .rv-sec{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);padding:8px 10px 4px}
[data-modulo="projetos"] .rv-cal{width:260px}
[data-modulo="projetos"] .rv-cal-h{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 8px}
[data-modulo="projetos"] .rv-cal-h b{font-size:14px;font-weight:600}
[data-modulo="projetos"] .rv-cal-s,[data-modulo="projetos"] .rv-cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
[data-modulo="projetos"] .rv-cal-s span{font-size:11px;color:var(--text-3);padding:4px 0}
[data-modulo="projetos"] .rv-dia{height:32px;border:0;border-radius:8px;background:none;font:inherit;font-size:13px;color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums}
[data-modulo="projetos"] .rv-dia:hover{background:var(--sunk)}
[data-modulo="projetos"] .rv-dia.hoje{box-shadow:inset 0 0 0 1px var(--accent)}
[data-modulo="projetos"] .rv-dia.faixa{background:var(--accent-soft);border-radius:0}
[data-modulo="projetos"] .rv-dia.on{background:var(--accent);color:var(--on-accent);font-weight:600}
[data-modulo="projetos"] .rv-pop-pe{display:flex;gap:8px;justify-content:flex-end;padding-top:8px;margin-top:8px;border-top:1px solid var(--line-soft);flex-wrap:wrap}
[data-modulo="projetos"] .rv-datas{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
[data-modulo="projetos"] .rv-datas button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--r-input);background:var(--glass-strong);font:inherit;cursor:pointer;text-align:left}
[data-modulo="projetos"] .rv-datas button small{font-size:11px;color:var(--text-3)}
[data-modulo="projetos"] .rv-datas button b{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
[data-modulo="projetos"] .rv-datas button.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
[data-modulo="projetos"] .rv-atalhos{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
[data-modulo="projetos"] .rv-atalhos button{height:28px;padding:0 10px;border:1px solid var(--line);border-radius:var(--r-pill);background:none;font:inherit;font-size:12px;color:var(--text-2);cursor:pointer}
[data-modulo="projetos"] .rv-atalhos button:hover{border-color:var(--border-strong)}
[data-modulo="projetos"] .rv-erro{font-size:12px;color:var(--danger);margin-top:6px}
[data-modulo="projetos"] .rv-cel{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:8px;background:none;padding:4px 6px;margin:-4px -6px;font:inherit;color:inherit;cursor:pointer;text-align:left}
[data-modulo="projetos"] .rv-cel:hover,[data-modulo="projetos"] .rv-cel:focus-visible{border-color:var(--border-strong);background:var(--glass-strong);outline:0}
[data-modulo="projetos"] .rv-cel .sub,[data-modulo="projetos"] .rv-cel small{display:block}
[data-modulo="projetos"] .dt tr.rv-grp td{background:var(--sunk);padding:8px 20px}
[data-modulo="projetos"] .rv-grp-t{display:inline-flex;align-items:center;gap:8px;border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;padding:4px 0}
[data-modulo="projetos"] .rv-grp-t .seta{display:inline-block;transition:transform .15s;color:var(--text-3)}
[data-modulo="projetos"] .rv-grp-t[aria-expanded="false"] .seta{transform:rotate(-90deg)}
[data-modulo="projetos"] .rv-grp-t .count{font-size:11px;font-weight:600;padding:0 7px;border-radius:var(--r-pill);background:var(--glass-strong);color:var(--text-2)}
[data-modulo="projetos"] .rv-grp-x{font-size:12px;font-weight:400;color:var(--text-3);margin-left:8px}
[data-modulo="projetos"] .m-list .rv-mgrp{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--sunk);font-size:13px;font-weight:600}
[data-modulo="projetos"] .rv-widgets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
[data-modulo="projetos"] .rv-w{display:flex;flex-direction:column;gap:12px;min-width:0}
[data-modulo="projetos"] .rv-w .card-title .src{margin-left:auto;font-size:12px;font-weight:400;color:var(--text-3)}
[data-modulo="projetos"] .rv-w .rv-fonte{font-size:12px;color:var(--text-3);margin-top:auto}
[data-modulo="projetos"] .rv-barras{display:flex;flex-direction:column;gap:10px}
[data-modulo="projetos"] .rv-barra{display:grid;grid-template-columns:minmax(90px,140px) 1fr 52px;align-items:center;gap:10px;font-size:13px}
[data-modulo="projetos"] .rv-barra .num{text-align:right;color:var(--text-2)}
[data-modulo="projetos"] .rv-trilho{height:10px;border-radius:var(--r-pill);background:var(--sunk);overflow:hidden;position:relative}
[data-modulo="projetos"] .rv-trilho i{position:absolute;left:0;top:0;bottom:0;border-radius:inherit;background:var(--accent)}
[data-modulo="projetos"] .rv-trilho i.ok{background:var(--ok)}
[data-modulo="projetos"] .rv-trilho i.danger{background:var(--danger)}
[data-modulo="projetos"] .rv-trilho i.warn{background:var(--warn)}
[data-modulo="projetos"] .rv-trilho i.neutral{background:var(--neutral-dot)}
[data-modulo="projetos"] .rv-rosca{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
[data-modulo="projetos"] .rv-leg{display:flex;flex-direction:column;gap:6px;font-size:13px}
[data-modulo="projetos"] .rv-leg span{display:flex;align-items:center;gap:8px}
[data-modulo="projetos"] .rv-leg i{width:10px;height:10px;border-radius:3px;display:inline-block}
[data-modulo="projetos"] .rv-crono{position:relative;padding-top:20px}
[data-modulo="projetos"] .rv-crono .meses{display:grid;grid-template-columns:repeat(6,1fr);font-size:11px;color:var(--text-3);margin-bottom:6px}
[data-modulo="projetos"] .rv-crono .meses span{padding-left:6px} /* a linha de hoje não passa por cima do rótulo do mês */
[data-modulo="projetos"] .rv-crono .lin{position:relative;height:26px;margin-bottom:6px}
[data-modulo="projetos"] .rv-crono .bar{min-width:max-content;position:absolute;top:4px;height:18px;border-radius:6px;background:var(--accent-soft);border:1px solid var(--accent);font-size:11px;line-height:16px;padding:0 6px;color:var(--accent-text);white-space:nowrap;overflow:hidden}
[data-modulo="projetos"] .rv-crono .bar.ok{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}
[data-modulo="projetos"] .rv-crono .bar.neutral{background:var(--neutral-soft);border-color:var(--neutral-dot);color:var(--text-2)}
[data-modulo="projetos"] .rv-crono .hoje{position:absolute;top:14px;bottom:0;width:2px;background:var(--danger)}
[data-modulo="projetos"] .rv-crono .hoje span{position:absolute;top:-14px;left:4px;font-size:11px;color:var(--danger);white-space:nowrap}
[data-modulo="projetos"] .rv-crono .marco{position:absolute;width:10px;height:10px;background:var(--text);transform:rotate(45deg);top:19px} /* abaixo do rótulo da barra: não cobre o fim do texto */
[data-modulo="projetos"] .rv-colunas{display:flex;align-items:flex-end;gap:6px;height:120px;padding-top:8px}
[data-modulo="projetos"] .rv-colunas .col{overflow:visible;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
[data-modulo="projetos"] .rv-colunas .col i{width:100%;max-width:22px;border-radius:4px 4px 0 0;background:var(--ok);min-height:2px}
[data-modulo="projetos"] .rv-colunas .col i.zero{background:var(--sunk)}
[data-modulo="projetos"] .rv-colunas .col small{display:flex;justify-content:center;width:100%;font-size:10px;color:var(--text-3);white-space:nowrap;overflow:visible} /* rótulo inteiro, centrado na coluna, mesmo mais largo que ela */
[data-modulo="projetos"] .rv-par{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center;font-size:13px}
[data-modulo="projetos"] .rv-par .duas{display:flex;flex-direction:column;gap:4px}
[data-modulo="projetos"] .rv-dur{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
[data-modulo="projetos"] .rv-crono-btn{width:28px;height:28px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--glass-strong);cursor:pointer;color:var(--text-2);font-size:11px;padding:0}
[data-modulo="projetos"] .rv-crono-btn:hover{border-color:var(--border-strong);color:var(--text)}
[data-modulo="projetos"] .rv-crono-btn.rodando{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}
[data-modulo="projetos"] .rv-tempo{font-variant-numeric:tabular-nums;font-size:12px;color:var(--accent-text);font-weight:600}
[data-modulo="projetos"] .rv-est{width:64px;height:30px;padding:0 8px;border:1px solid var(--accent);border-radius:8px;font:inherit;font-size:13px}
[data-modulo="projetos"] .rv-2col{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr);flex:1;min-height:0}
[data-modulo="projetos"] .rv-2col > div{overflow:auto;padding:24px;display:flex;flex-direction:column;gap:20px;min-width:0}
[data-modulo="projetos"] .rv-2col > .rv-lado{border-left:1px solid var(--line);background:var(--sunk)}
[data-modulo="projetos"] .rv-coment{display:flex;gap:10px}
[data-modulo="projetos"] .rv-coment .txt{font-size:13px;line-height:1.5;min-width:0}
[data-modulo="projetos"] .rv-coment .txt b.quem{display:block;font-size:13px}
[data-modulo="projetos"] .rv-coment small{font-size:11px;color:var(--text-3)}
[data-modulo="projetos"] .rv-mencao{display:inline-flex;padding:0 6px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-text);font-weight:500}
[data-modulo="projetos"] a.rv-mencao{text-decoration:none}
[data-modulo="projetos"] .rv-compor{position:relative;display:flex;flex-direction:column;gap:8px}
[data-modulo="projetos"] .rv-compor textarea{width:100%;min-height:88px;resize:vertical;padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--r-input);background:var(--glass-strong);font:inherit;font-size:14px;color:var(--text)}
[data-modulo="projetos"] .rv-compor textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
[data-modulo="projetos"] .rv-dica{font-size:12px;color:var(--text-3)}
[data-modulo="projetos"] .rv-check{display:flex;gap:8px;align-items:flex-start;cursor:pointer}
[data-modulo="projetos"] .rv-relacionadas a{color:var(--accent-text);text-decoration:none}
@media (max-width:1279px){[data-modulo="projetos"] .rv-widgets{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){[data-modulo="projetos"] .rv-widgets{grid-template-columns:1fr}
[data-modulo="projetos"] .rv-2col{grid-template-columns:1fr;overflow:auto}
[data-modulo="projetos"] .rv-2col > div{overflow:visible}
[data-modulo="projetos"] .rv-2col > .rv-lado{border-left:0;border-top:1px solid var(--line)}
}
[data-modulo="projetos"] .rv-cel.num{flex-direction:column;align-items:flex-start;gap:0}
[data-modulo="projetos"] .dt td.trava .pill{display:flex;width:fit-content;margin-bottom:4px}
[data-modulo="projetos"] .dt.rv-compacta th,[data-modulo="projetos"] .dt.rv-compacta td{padding-left:10px;padding-right:10px}
[data-modulo="projetos"] .dt.rv-compacta th:first-child,[data-modulo="projetos"] .dt.rv-compacta td:first-child{padding-left:20px}
[data-modulo="projetos"] .dt.rv-compacta th:last-child,[data-modulo="projetos"] .dt.rv-compacta td:last-child{padding-right:20px}
[data-modulo="projetos"] .dt.rv-compacta th{white-space:normal;vertical-align:bottom}
[data-modulo="projetos"] .dt.rv-media th,[data-modulo="projetos"] .dt.rv-media td{padding-left:14px;padding-right:14px}
[data-modulo="projetos"] .dt.rv-compacta .meter-row{gap:8px}
/* Progresso sem vazar (10/10/2026): a barra tinha 56px fixos no estilo em linha e, com o numero, passava da coluna (9%) e entrava na Saude. */
[data-modulo="projetos"] .dt.rv-compacta .meter-row{min-width:0}
[data-modulo="projetos"] .dt.rv-compacta .meter-row .meter{width:auto!important;min-width:24px!important;flex:1 1 24px}
[data-modulo="projetos"] .dt.rv-compacta .meter-row .num{flex:none}
@media (max-width:767px){}
[data-modulo="projetos"] /* popup ancorado (camada da casca aberta por aria-haspopup="menu"): calendário,[data-modulo="projetos"] opções de data,[data-modulo="projetos"] cronômetro */
.rv-pop-dlg{padding:8px;min-width:260px}
[data-modulo="projetos"] .rv-datas{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
[data-modulo="projetos"] .rv-data{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--r-input);background:var(--glass-strong)}
[data-modulo="projetos"] .rv-data small{font-size:11px;color:var(--text-3)}
[data-modulo="projetos"] .rv-data b{font-size:14px;font-weight:500;font-variant-numeric:tabular-nums}
[data-modulo="projetos"] .rv-data.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
[data-modulo="projetos"] .rv-crono-on{display:flex;flex-direction:column;gap:4px;padding:4px 10px 8px}
[data-modulo="projetos"] .rv-crono-on .rv-tempo{font-size:24px}
[data-modulo="projetos"] /* grupos recolhíveis (details nativo) */
details.rv-grupo > summary{list-style:none;display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--sunk);font-size:13px;font-weight:600;cursor:pointer;border-top:1px solid var(--line-soft);flex-wrap:wrap}
[data-modulo="projetos"] details.rv-grupo > summary::-webkit-details-marker{display:none}
[data-modulo="projetos"] details.rv-grupo > summary .seta{display:inline-block;transition:transform .15s;color:var(--text-3)}
[data-modulo="projetos"] details.rv-grupo:not([open]) > summary .seta{transform:rotate(-90deg)}
[data-modulo="projetos"] details.rv-grupo > summary .count{font-size:11px;font-weight:600;padding:0 7px;border-radius:var(--r-pill);background:var(--glass-strong);color:var(--text-2)}
[data-modulo="projetos"] table.dt.rv-fixa{table-layout:fixed}
[data-modulo="projetos"] table.dt.rv-fixa td{overflow-wrap:anywhere}
[data-modulo="projetos"] .reason.rv-tipos{padding:12px 20px 4px;flex-wrap:wrap;align-items:center}
[data-modulo="projetos"] /* checklist como interruptor da casca (role="switch" alterna .on) */
.check[role="switch"]{cursor:pointer}
[data-modulo="projetos"] .btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
[data-modulo="projetos"] .check.on i{background:var(--accent);border-color:var(--accent)}
[data-modulo="projetos"] .check.on i::after{content:"";width:8px;height:4px;border-left:2px solid var(--on-accent);border-bottom:2px solid var(--on-accent);transform:rotate(-45deg) translate(1px,-1px)}
[data-modulo="projetos"] .check.on > span{color:var(--text-3);text-decoration:line-through}
[data-modulo="projetos"] .rv-check-com{margin-top:6px}
[data-modulo="projetos"] .rv-lado-t{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}
[data-modulo="projetos"] details.rv-bloco{border-top:1px solid var(--line);padding-top:12px}
[data-modulo="projetos"] details.rv-bloco > summary{cursor:pointer;font-size:14px;font-weight:600;padding:4px 0}
[data-modulo="projetos"] details.rv-bloco[open] > summary{margin-bottom:12px}
[data-modulo="projetos"] /* painel de detalhe largo e ajustável: o canto inferior esquerdo arrasta (resize nativo,[data-modulo="projetos"] sem JS) */
[data-painel] > .drawer.rv-larga{overflow:auto}
[data-modulo="projetos"] .rv-larga-in{display:flex;flex-direction:column;min-height:100%}

/* Subabas da aba Tarefas (Etapas | Tarefas): mesmo componente .ptabs de Cadastros/Financeiro, escopado em Projetos */
[data-modulo="projetos"] .ptabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow-x:auto;scrollbar-width:none}
[data-modulo="projetos"] .ptabs::-webkit-scrollbar{display:none}
[data-modulo="projetos"] .ptabs a{display:inline-flex;align-items:center;gap:6px;padding:10px 14px;font-size:14px;color:var(--text-2);text-decoration:none;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px}
[data-modulo="projetos"] .ptabs a:hover{color:var(--text)}
[data-modulo="projetos"] .ptabs a.on{color:var(--accent-text);border-bottom-color:var(--accent);font-weight:500}
@media (max-width:767px){
  [data-modulo="projetos"] .ptabs{margin-left:-16px;margin-right:-16px;padding:0 8px}
  [data-modulo="projetos"] .ptabs a{padding:12px;min-height:44px}
}
/* Arrastar e soltar tarefas (despacho 23): alça, marca de posição, grupo de destino e o fantasma que segue o ponteiro.
   Só tokens; alvo da alça 24x24 (WCAG 2.2 AA). */
[data-modulo="projetos"] .prj-alca{width:24px;height:24px;flex:none;display:inline-grid;place-items:center;border:0;border-radius:6px;background:none;color:var(--text-3);cursor:grab;touch-action:none;padding:0}
[data-modulo="projetos"] .prj-alca:hover{color:var(--text);background:var(--sunk)}
[data-modulo="projetos"] .prj-alca:focus-visible{outline:2px solid var(--focus);outline-offset:1px;color:var(--text)}
[data-modulo="projetos"] td.prj-arr-td{position:relative;padding-left:34px!important;white-space:nowrap}
/* Despacho 47: nome da tarefa numa linha só; o que não couber vira reticências. O nome inteiro fica no texto do link
   (leitor de tela), no title (mouse) e no detalhe que o clique abre. */
[data-modulo="projetos"] table.dt.rv-fixa td.prj-arr-td{overflow-wrap:normal}
[data-modulo="projetos"] td.prj-arr-td>a.name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-modulo="projetos"] td.prj-arr-td>.prj-alca{position:absolute;left:6px;top:50%;transform:translateY(-50%)}
/* Lista de tarefas sem corte (10/10/2026, ciclo 2): a pilula "Caminho critico" mede 122px e a Saude ficava com 105px.
   Larguras em px por chave de coluna (valem em qualquer ordem), medidas pela sobra real de cada uma; a Tarefa (titulo
   e subtarefas) fica com todo o resto e a tabela nunca fica menor que 1166px: se o cartao for mais estreito, ela rola
   DENTRO do cartao em vez de cortar o titulo. */
[data-modulo="projetos"] table.dt.rv-fixa col[data-prj-tc="status"]{width:136px!important}
[data-modulo="projetos"] table.dt.rv-fixa col[data-prj-tc="resp"]{width:136px!important}
[data-modulo="projetos"] table.dt.rv-fixa col[data-prj-tc="prio"]{width:90px!important}
[data-modulo="projetos"] table.dt.rv-fixa col[data-prj-tc="ini"]{width:92px!important}
[data-modulo="projetos"] table.dt.rv-fixa col[data-prj-tc="fim"]{width:92px!important}
[data-modulo="projetos"] table.dt.rv-fixa col[data-prj-tc="est"]{width:90px!important}
[data-modulo="projetos"] table.dt.rv-fixa col[data-prj-tc="dur"]{width:90px!important}
[data-modulo="projetos"] table.dt.rv-fixa col[data-prj-tc="prog"]{width:112px!important}
[data-modulo="projetos"] table.dt.rv-fixa col[data-prj-tc="saude"]{width:134px!important}
[data-modulo="projetos"] table.dt.rv-fixa col[data-prj-tc="tarefa"]{width:auto!important}
[data-modulo="projetos"] table.dt.rv-fixa{min-width:1196px} /* auditoria Codex 11/10, achado 7: a 1440px a área útil é 1151px (com a barra vertical); 1196 deixa 45px de excesso, dentro dos 46px aceitos */
[data-modulo="projetos"] .rv-grupo>.table-scroll,[data-modulo="projetos"] [data-prj-grupo]>.table-scroll{overflow-x:auto}
[data-modulo="projetos"] table.dt.rv-fixa .ss-tf-sub-i{white-space:normal;overflow:visible;text-overflow:clip}
[data-modulo="projetos"] table.dt.rv-fixa .ss-tf-subs{padding-right:16px}
[data-modulo="projetos"] .m-item>.prj-alca{align-self:center;margin-right:-4px}
[data-modulo="projetos"] .kcard .prj-kc-topo{display:flex;align-items:flex-start;gap:6px}
[data-modulo="projetos"] .kcard .prj-kc-topo .t{padding-top:2px}
/* Despacho 42: cada célula mostra uma coisa, numa linha. O play aparece ao passar o mouse na linha (ou com foco nela);
   com o cronômetro rodando ou pausado fica sempre visível. Sem mouse (toque), fica visível. No celular, só aparece aberto. */
[data-modulo="projetos"] .prj-dur{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
[data-modulo="projetos"] .prj-dias{display:block;min-width:0}
[data-modulo="projetos"] tr .prj-dur [data-cronometro]:not(:has([data-ss-crono-tempo])){opacity:0;transition:opacity .12s}
[data-modulo="projetos"] tr:hover .prj-dur [data-cronometro],[data-modulo="projetos"] tr:focus-within .prj-dur [data-cronometro]{opacity:1}
@media (hover:none){[data-modulo="projetos"] tr .prj-dur [data-cronometro]{opacity:1}}
[data-modulo="projetos"] .m-item [data-cronometro]{margin-top:6px}
[data-modulo="projetos"] .m-item [data-cronometro]:not(:has([data-ss-crono-tempo])){display:none}
[data-modulo="projetos"] .prj-tempo{align-items:center;flex-wrap:wrap;gap:10px}
/* a data relativa que a casca escreve embaixo do Término ("N dias de atraso") sai da linha; a cor de atrasada fica, e o
   atraso continua na Saúde e no detalhe da tarefa */
[data-modulo="projetos"] tr[data-abre^="prj-tarefa-"] .rv-cel>small,[data-modulo="projetos"] .m-item[data-abre^="prj-tarefa-"] .rv-cel>small{display:none}
[data-modulo="projetos"] .prj-dnd-origem{opacity:.45}
[data-modulo="projetos"] tr.prj-dnd-antes>td{box-shadow:inset 0 2px 0 var(--accent)}
[data-modulo="projetos"] tr.prj-dnd-depois>td{box-shadow:inset 0 -2px 0 var(--accent)}
[data-modulo="projetos"] .m-item.prj-dnd-antes,[data-modulo="projetos"] .kcard.prj-dnd-antes{box-shadow:0 -3px 0 var(--accent)}
[data-modulo="projetos"] .m-item.prj-dnd-depois,[data-modulo="projetos"] .kcard.prj-dnd-depois{box-shadow:0 3px 0 var(--accent)}
[data-modulo="projetos"] .prj-dnd-alvo{outline:2px dashed var(--accent);outline-offset:2px;border-radius:var(--r-card)}
[data-modulo="projetos"] .prj-vazio td,[data-modulo="projetos"] .m-item.prj-vazio,[data-modulo="projetos"] .col-body>.prj-vazio{color:var(--text-3);font-size:13px;text-align:center;padding:16px}
[data-modulo="projetos"].prj-arrastando,[data-modulo="projetos"].prj-arrastando *{cursor:grabbing!important;user-select:none}
[data-modulo="projetos"] .prj-dnd-fantasma{position:fixed;z-index:70;pointer-events:none;max-width:280px;padding:8px 12px;border-radius:var(--r-btn);box-shadow:var(--shadow-glass);font:500 13px var(--font);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Edição na linha da carteira (despacho 25): lápis do nome, campo do nome e pesquisa da lista. Só tokens; lápis 24x24. */
[data-modulo="projetos"] .prj-nome-cel{display:inline-flex;align-items:center;gap:4px;max-width:100%}
[data-modulo="projetos"] .prj-lapis{width:24px;height:24px;flex:none;display:inline-grid;place-items:center;border:0;border-radius:6px;background:none;color:var(--text-3);cursor:pointer;padding:0;opacity:0}
[data-modulo="projetos"] tr:hover .prj-lapis,[data-modulo="projetos"] .m-item:hover .prj-lapis,[data-modulo="projetos"] .prj-lapis:focus-visible{opacity:1}
[data-modulo="projetos"] .prj-lapis:hover{color:var(--text);background:var(--sunk)}
[data-modulo="projetos"] .prj-lapis:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
@media (hover:none){[data-modulo="projetos"] .prj-lapis{opacity:1}}
[data-modulo="projetos"] .m-item b .prj-lapis{vertical-align:middle;margin-left:2px}
[data-modulo="projetos"] .prj-nome-campo{display:flex;flex-direction:column;gap:2px;width:100%}
[data-modulo="projetos"] .prj-nome-campo .input{height:32px;font-weight:500}
[data-modulo="projetos"] .prj-nome-campo small{font-size:12px;color:var(--text-3)}
[data-modulo="projetos"] .prj-nome-campo .prj-nome-erro{color:var(--danger)}
[data-modulo="projetos"] #prj-cart-lista .prj-cart-busca{position:sticky;top:-6px;padding:6px 8px 6px;background:var(--glass-strong);z-index:1}
[data-modulo="projetos"] #prj-cart-lista .prj-cart-busca .input{height:36px;width:100%}
/* em repouso a carteira fica no mesmo lugar de antes: o lápis não alonga a linha e a borda da célula não empurra o texto */
[data-modulo="projetos"] .prj-nome-cel .prj-lapis{margin:-4px 0}
[data-modulo="projetos"] .rv-cel[data-cart]{margin:-5px -7px}

/* Linha do tempo da carteira (despacho 26): barra por projeto, trechos, losango de entrega,
   estouro hachurado. A grade, a escala e o "hoje" vêm do Gantt (estilos/03b). Só visualização: cursor de link, não de arrastar. */
[data-modulo="projetos"] .lt-barra-ferr{padding:12px 20px 0;margin:0;gap:16px}
[data-modulo="projetos"] .lt-carteira{padding:0 0 4px}
[data-modulo="projetos"] .lt-grade{margin-top:12px}
[data-modulo="projetos"] .lt-grade .prj-pg-left td{height:52px}
[data-modulo="projetos"] .lt-grade .prj-pg-left .sub{display:block;font-size:12px;color:var(--text-3);max-width:240px;overflow:hidden;text-overflow:ellipsis}
[data-modulo="projetos"] .lt-grade .prj-pg-left .lt-txt-atraso{color:var(--danger);font-weight:500}
[data-modulo="projetos"] .lt-grade .prj-pg-linha{height:52px}
[data-modulo="projetos"] .lt-barra{position:absolute;top:15px;height:22px;border-radius:6px;background:var(--accent-soft);border:1px solid var(--accent);overflow:hidden;display:block;cursor:pointer;z-index:2}
[data-modulo="projetos"] .lt-barra:hover{box-shadow:var(--shadow-glass)}
[data-modulo="projetos"] .lt-barra:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
[data-modulo="projetos"] .lt-barra.lt-atraso{border-color:var(--danger)}
[data-modulo="projetos"] .lt-barra.lt-fechado{background:var(--neutral-soft);border-color:var(--neutral-dot)}
[data-modulo="projetos"] .lt-barra .lt-trecho{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font:600 10px var(--font);border-right:1px solid var(--glass-strong);overflow:hidden;white-space:nowrap}
[data-modulo="projetos"] .lt-trecho.lt-feito{background:var(--accent);color:var(--on-accent)}
[data-modulo="projetos"] .lt-trecho.lt-curso{background:var(--accent);opacity:.55;color:var(--on-accent)}
[data-modulo="projetos"] .lt-trecho.lt-futuro{background:none;color:var(--accent-text)}
[data-modulo="projetos"] .lt-fechado .lt-trecho.lt-feito{background:var(--neutral-dot);color:var(--on-accent)}
[data-modulo="projetos"] .lt-marco{position:absolute;top:19px;width:14px;height:14px;transform:rotate(45deg);border-radius:3px;background:var(--text);z-index:3;pointer-events:none}
[data-modulo="projetos"] .lt-estouro{position:absolute;top:15px;height:22px;border:1px dashed var(--danger);border-left:0;border-radius:0 6px 6px 0;background:repeating-linear-gradient(45deg,var(--danger-soft) 0 4px,transparent 4px 8px);z-index:1}
[data-modulo="projetos"] .lt-leg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--text-3)}
[data-modulo="projetos"] .lt-leg>span{display:inline-flex;align-items:center;gap:6px}
[data-modulo="projetos"] .lt-leg i{position:static;display:inline-block;width:16px;height:10px;border-radius:3px;transform:none}
[data-modulo="projetos"] .lt-leg i.lt-futuro{border:1px solid var(--accent)}
[data-modulo="projetos"] .lt-leg i.lt-marco{width:9px;height:9px;transform:rotate(45deg);border-radius:2px}
[data-modulo="projetos"] .lt-leg i.lt-estouro{border:1px dashed var(--danger)}
[data-modulo="projetos"] .lt-grade .prj-pg-nome{color:var(--text);text-decoration:none;font-weight:500;display:block;padding:0;margin:0}
[data-modulo="projetos"] .lt-grade .prj-pg-nome:hover{color:var(--accent-text)}
/* celular: coluna da esquerda estreita, só nome e entrega; as barras rolam por dentro (o Gantt do projeto deixa a página rolar; aqui não) */
@media (max-width:767px){[data-modulo="projetos"] .lt-grade.prj-pg-gantt{grid-template-columns:150px minmax(0,1fr)}[data-modulo="projetos"] .lt-grade .prj-pg-rscroll{overflow-x:auto}[data-modulo="projetos"] .lt-grade .prj-pg-left th:nth-child(2),[data-modulo="projetos"] .lt-grade .prj-pg-left td:nth-child(2),[data-modulo="projetos"] .lt-grade .prj-pg-left .lt-so-mesa{display:none}[data-modulo="projetos"] .lt-grade .prj-pg-left td{padding:0 10px}[data-modulo="projetos"] .lt-grade .prj-pg-nome{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-modulo="projetos"] .lt-grade .prj-pg-left .lt-so-cel{display:block;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
[data-modulo="projetos"] .lt-grade .lt-so-cel{display:none}
/* Despacho 39: linha do tempo que abre por dentro (etapas e tarefas / fases e atividades, e um nível mais). Só tokens. */
[data-modulo="projetos"] .lt-todos{display:flex;justify-content:flex-end;padding:8px 20px 0}
[data-modulo="projetos"] .lt-grade .lt-nome{display:flex;align-items:center;min-width:0}
[data-modulo="projetos"] .lt-grade .lt-nome-txt{min-width:0}
[data-modulo="projetos"] .lt-grade .lt-exp{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:4px;padding:0;border:0;border-radius:6px;background:none;color:var(--text-2);cursor:pointer;flex:none}
[data-modulo="projetos"] .lt-grade .lt-exp:hover{background:var(--sunk);color:var(--text)}
[data-modulo="projetos"] .lt-grade .lt-exp:focus-visible{outline:2px solid var(--focus);outline-offset:1px}
[data-modulo="projetos"] .lt-grade .lt-exp svg{transform:rotate(-90deg)}
[data-modulo="projetos"] .lt-grade .lt-exp[aria-expanded="true"] svg{transform:none}
[data-modulo="projetos"] .lt-grade .lt-exp-vazio{display:inline-block;width:28px;flex:none}
[data-modulo="projetos"] .lt-grade .prj-pg-left tr.lt-n td{height:36px;font-size:12px;color:var(--text-2)}
[data-modulo="projetos"] .lt-grade .prj-pg-left tr.lt-grp td{font-weight:600;color:var(--text);background:var(--sunk)}
[data-modulo="projetos"] .lt-grade .lt-n-txt{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-modulo="projetos"] .lt-grade .prj-pg-linha.lt-n{height:36px}
[data-modulo="projetos"] .lt-grade .prj-pg-linha.lt-grp{background:var(--sunk)}
[data-modulo="projetos"] .lt-sbar{position:absolute;top:11px;height:14px;border-radius:4px;border:1px solid var(--accent);background:none}
[data-modulo="projetos"] .lt-sbar.lt-feito{background:var(--accent)}
[data-modulo="projetos"] .lt-sbar.lt-curso{background:var(--accent);opacity:.55}
[data-modulo="projetos"] .lt-sbar.lt-sbar-grp{top:14px;height:8px;border:0;border-radius:3px;background:var(--text-2)}
@media (max-width:767px){[data-modulo="projetos"] .lt-grade .lt-n-txt{max-width:96px}}
/* o texto de celular (lt-so-cel) aparecia também no desktop: ".prj-pg-left .sub{display:block}" vence ".lt-so-cel{display:none}" por especificidade, a célula da esquerda ficava com 56,5px e a barra com 52px, e cada linha descia 4,5px em relação à sua barra (já no HEAD b4e3a9d; com a linha do tempo aberta o erro somava). */
@media (min-width:768px){[data-modulo="projetos"] .lt-grade .prj-pg-left .lt-so-cel{display:none}}

/* Carteira · Canva de 2026-10-09 (Cauê e Dani, B1–B15). Componentes que já existem: o interruptor é o .switch de
   Cadastros e Financeiro (mesmas regras, prefixadas aqui); a lista de colunas é o .drop/.ntf do sino; o resto é posição. */
[data-modulo="projetos"] .switch{width:36px;height:20px;border-radius:var(--r-pill);background:var(--border-strong);position:relative;flex:none;display:inline-block;cursor:pointer}
[data-modulo="projetos"] .switch::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--bg)}
[data-modulo="projetos"] .switch.on{background:var(--accent)}
[data-modulo="projetos"] .switch.on::after{left:18px}
[data-modulo="projetos"] .switch:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
[data-modulo="projetos"] .switch[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
[data-modulo="projetos"] .prj-tg{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text-2)}
[data-modulo="projetos"] .prj-cart-cab{margin-bottom:12px}
[data-modulo="projetos"] .prj-busca{max-width:420px;margin-bottom:12px;cursor:text}
[data-modulo="projetos"] .mini-search input{flex:1;min-width:0;height:100%;border:0;background:none;font:inherit;color:var(--text);outline:0}
[data-modulo="projetos"] .mini-search input::placeholder{color:var(--text-3)}
[data-modulo="projetos"] .mini-search:focus-within{outline:2px solid var(--focus);outline-offset:1px}
[data-modulo="projetos"] .prj-vis-barra{margin-bottom:12px}
[data-modulo="projetos"] .prj-vis-acoes{display:inline-flex;align-items:center;gap:8px;min-width:0}
[data-modulo="projetos"] .prj-cart-tab th[data-prj-col]{cursor:grab;user-select:none}
[data-modulo="projetos"] .prj-cart-tab th[data-prj-col]:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
[data-modulo="projetos"] .prj-cart-tab th.prj-col-arr{opacity:.45}
[data-modulo="projetos"] .prj-cart-tab th.prj-col-alvo-e{box-shadow:inset 3px 0 0 var(--accent)}
[data-modulo="projetos"] .prj-cart-tab th.prj-col-alvo-d{box-shadow:inset -3px 0 0 var(--accent)}
[data-modulo="projetos"] #prj-colunas-menu{padding:6px 0}
/* visualizações salvas: o seletor ao lado de "Salvar visualização" e a lista (o mesmo molde do menu de Colunas) */
[data-modulo="projetos"] .prj-vis-sel{max-width:280px;min-width:0;flex:0 1 auto;overflow:hidden}
[data-modulo="projetos"] .prj-vis-sel [data-prj-vis-nome]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-modulo="projetos"] .prj-vis-alt{font-size:12px;font-weight:400;color:var(--text-3)}
[data-modulo="projetos"] .prj-vis-menu{width:300px;min-width:0;padding:6px 0}
[data-modulo="projetos"] .prj-vis-cab{padding:6px 16px 4px;font-size:12px;color:var(--text-3)}
[data-modulo="projetos"] .prj-vis-item{display:flex;align-items:center;gap:4px;padding-right:8px}
[data-modulo="projetos"] .prj-vis-item .prj-vis-op{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}
[data-modulo="projetos"] .prj-vis-op > span{min-width:0}
[data-modulo="projetos"] .prj-vis-nm{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
[data-modulo="projetos"] .prj-vis-op[aria-checked="true"] .prj-vis-nm{font-weight:600}
[data-modulo="projetos"] .prj-vis-op .ico{flex:none;color:var(--accent-text)}
[data-modulo="projetos"] .prj-vis-novo{margin-top:4px;border-top:1px solid var(--line);color:var(--accent-text)}
[data-modulo="projetos"] .prj-vis-volta{margin-bottom:4px;border-bottom:1px solid var(--line);font-weight:600}
[data-modulo="projetos"] .prj-vis-exc{margin-top:4px;border-top:1px solid var(--line);color:var(--danger)}
[data-modulo="projetos"] .prj-vis-conf{display:flex;flex-direction:column;gap:6px;padding:8px 16px}
[data-modulo="projetos"] .prj-vis-conf p{font-size:13px}
[data-modulo="projetos"] .prj-col-op{width:100%;border:0;background:none;font:inherit;text-align:left;cursor:pointer;padding:8px 16px}
[data-modulo="projetos"] .prj-col-op:hover,[data-modulo="projetos"] .prj-col-op:focus-visible{background:var(--sunk);outline:0}
[data-modulo="projetos"] .prj-col-op[aria-disabled="true"]{cursor:default}
[data-modulo="projetos"] .prj-col-op small{display:block;font-size:12px}
[data-modulo="projetos"] .prj-tipo-novo{color:var(--accent-text);border-top:1px solid var(--line)}
[data-modulo="projetos"] .prj-tipo-form{display:flex;flex-direction:column;gap:6px}
[data-modulo="projetos"] .prj-tipo-form small{font-size:12px}
[data-modulo="projetos"] .prj-tipo-acoes{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}
@media (max-width:767px){[data-modulo="projetos"] .prj-vis-acoes{display:none}[data-modulo="projetos"] .prj-busca{max-width:none;min-width:0}}
/* linha do tempo: interruptor embaixo da escala, escala Dia com fim de semana hachurado, tela cheia */
[data-modulo="projetos"] .prj-lt-esq{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
[data-modulo="projetos"] .lt-barra-ferr{align-items:flex-start}
[data-modulo="projetos"] .lt-barra-ferr .lt-leg{padding-top:8px}
[data-modulo="projetos"] .prj-pg-head span.lt-dia{justify-content:center;padding-left:0;font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0}
[data-modulo="projetos"] .prj-pg-head span.lt-dia-mes{justify-content:flex-start;padding-left:3px;overflow:visible;z-index:1}
[data-modulo="projetos"] .prj-pg-head span.lt-fds-cab{color:var(--text-3);background:var(--sunk);font-weight:400}
[data-modulo="projetos"] .lt-fds{position:absolute;top:44px;bottom:0;pointer-events:none;background:repeating-linear-gradient(135deg,var(--line) 0 1px,var(--sunk) 1px 6px)}
[data-modulo="projetos"] .prj-lt-sec:fullscreen{background:var(--bg);overflow:auto;border-radius:0;margin:0}
[data-modulo="projetos"] .prj-lt-sec.prj-lt-cheia{position:fixed;inset:0;z-index:60;margin:0;border-radius:0;overflow:auto;background:var(--bg)}
[data-modulo="projetos"] .prj-lt-sec #prj-lt-cheia{margin-left:12px}
[data-modulo="projetos"] .prj-cart-tab th{white-space:normal;line-height:1.3;vertical-align:middle}
[data-modulo="projetos"] .prj-cart-tab col:first-child{width:48px}
[data-modulo="projetos"] .prj-pg-head span.lt-dia{font-size:11px}
[data-modulo="projetos"] .prj-cart-tab td{white-space:normal;overflow-wrap:break-word}
[data-modulo="projetos"] .prj-cart-tab th,[data-modulo="projetos"] .prj-cart-tab td{padding-left:10px;padding-right:10px}
[data-modulo="projetos"] .prj-cart-tab th:first-child,[data-modulo="projetos"] .prj-cart-tab td:first-child{padding-left:6px;padding-right:6px}
[data-modulo="projetos"] .prj-cart-tab th:last-child,[data-modulo="projetos"] .prj-cart-tab td:last-child{padding-right:20px}
[data-modulo="projetos"] .prj-cart-tab .rv-cel.num,[data-modulo="projetos"] .prj-cart-tab td.num{white-space:nowrap}
[data-modulo="projetos"] .prj-cart-tab .rv-cel{white-space:normal;max-width:100%}
[data-modulo="projetos"] .prj-cart-tab .prj-nome-cel{display:flex;min-width:0}
[data-modulo="projetos"] .prj-cart-tab .prj-nome-cel a.name{min-width:0}
[data-modulo="projetos"] .prj-filtros .lbl{white-space:nowrap}
/* Canva C2–C4 (2026-10-09): aba Dados (ex-TAP) */
[data-modulo="projetos"] .prj-so-gestor{font-weight:500;gap:6px}
[data-modulo="projetos"] .prj-so-gestor .ico{width:14px;height:14px}
[data-modulo="projetos"] .form-grid.prj-partes{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}
[data-modulo="projetos"] .prj-partes-r{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:1023px){[data-modulo="projetos"] .form-grid.prj-partes{grid-template-columns:repeat(2,minmax(0,1fr))}[data-modulo="projetos"] .form-grid.prj-partes>.btn{grid-column:1/-1;justify-self:start}[data-modulo="projetos"] .prj-partes-r{position:static;width:auto;height:auto;overflow:visible;clip:auto}}
@media (max-width:767px){[data-modulo="projetos"] .form-grid.prj-partes{grid-template-columns:1fr}}
/* Canva C6: colunas das tarefas arrastáveis (mesmo desenho da carteira, B7) */
[data-modulo="projetos"] [data-aba-painel^="prj-tgr:"] th[data-prj-col]{cursor:grab;user-select:none}
[data-modulo="projetos"] [data-aba-painel^="prj-tgr:"] th[data-prj-col]:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
[data-modulo="projetos"] [data-aba-painel^="prj-tgr:"] th.prj-col-arr{opacity:.45}
[data-modulo="projetos"] [data-aba-painel^="prj-tgr:"] th.prj-col-alvo-e{box-shadow:inset 3px 0 0 var(--accent)}
[data-modulo="projetos"] [data-aba-painel^="prj-tgr:"] th.prj-col-alvo-d{box-shadow:inset -3px 0 0 var(--accent)}
/* Canva C9: diálogo "Editar status" (referência ClickUp, p16) */
[data-modulo="projetos"] .prj-st-dlg{width:min(920px,calc(100vw - 32px))}
[data-modulo="projetos"] .prj-st-corpo{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;max-height:62vh;overflow:auto}
[data-modulo="projetos"] .prj-st-esq{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
[data-modulo="projetos"] .prj-st-esq .field{width:100%}
[data-modulo="projetos"] .prj-st-dir{display:flex;flex-direction:column;gap:20px;min-width:0}
[data-modulo="projetos"] .prj-st-gh{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
[data-modulo="projetos"] .prj-st-gh b{font-size:13px}
[data-modulo="projetos"] .prj-st-gh .grow{flex:1}
[data-modulo="projetos"] .prj-st-zona{display:flex;flex-direction:column;gap:8px;min-height:24px}
[data-modulo="projetos"] .prj-st-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:var(--r-input);background:var(--glass-strong)}
[data-modulo="projetos"] .prj-st-row .input{flex:1;min-width:120px;height:36px}
[data-modulo="projetos"] .prj-st-grip{cursor:grab}
[data-modulo="projetos"] .prj-st-row.prj-col-arr{opacity:.45}
[data-modulo="projetos"] .prj-st-row.prj-st-antes{box-shadow:inset 0 3px 0 var(--accent)}
[data-modulo="projetos"] .prj-st-row.prj-st-depois{box-shadow:inset 0 -3px 0 var(--accent)}
[data-modulo="projetos"] .prj-st-cores{display:inline-flex;gap:8px;padding:0 4px}
[data-modulo="projetos"] .prj-st-cor{width:20px;height:20px;min-width:0;min-height:0;padding:0;border:0;border-radius:50%;cursor:pointer}
[data-modulo="projetos"] .prj-st-cor[aria-pressed="true"]{outline:2px solid var(--text);outline-offset:2px}
[data-modulo="projetos"] .prj-st-cor:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
[data-modulo="projetos"] .prj-st-cor[data-cor="neutral"]{background:var(--neutral-dot)}
[data-modulo="projetos"] .prj-st-cor[data-cor="accent"]{background:var(--accent)}
[data-modulo="projetos"] .prj-st-cor[data-cor="ok"]{background:var(--ok)}
[data-modulo="projetos"] .prj-st-cor[data-cor="warn"]{background:var(--warn)}
[data-modulo="projetos"] .prj-st-cor[data-cor="danger"]{background:var(--danger)}
@media (max-width:767px){[data-modulo="projetos"] .prj-st-corpo{grid-template-columns:1fr;max-height:none}[data-modulo="projetos"] .prj-st-row{flex-wrap:wrap}[data-modulo="projetos"] .prj-st-row .input{flex-basis:100%}}

/* Projeto base / obra base e Novo projeto / Nova obra (pedidos do Cauê, 2026-10-09). Só componentes da casca
   (field, form-grid, select, alert); aqui ficam o encaixe e o espaçamento. Cor só por token. */
[data-modulo="projetos"] .ss-base-faixa{margin-bottom:16px}
[data-modulo="projetos"] .prj-nv,[data-modulo="projetos"] .prj-base-dlg{width:880px;display:flex;flex-direction:column;max-height:calc(100vh - 80px)}
[data-modulo="projetos"] .prj-base-dlg{width:760px}
[data-modulo="projetos"] .prj-nv > .dialog-body,[data-modulo="projetos"] .prj-base-dlg > .dialog-body{overflow:auto;min-height:0;flex:1 1 auto}
[data-modulo="projetos"] .prj-nv > .dialog-head,[data-modulo="projetos"] .prj-nv > .dialog-foot,[data-modulo="projetos"] .prj-base-dlg > .dialog-head,[data-modulo="projetos"] .prj-base-dlg > .dialog-foot{flex:0 0 auto}
[data-modulo="projetos"] .prj-nv > .dialog-body{gap:0;padding-top:8px;padding-bottom:8px}
[data-modulo="projetos"] .prj-nv-sec{padding:16px 0 4px}
[data-modulo="projetos"] .prj-nv-sec + .prj-nv-sec{border-top:1px solid var(--line)}
[data-modulo="projetos"] .prj-nv-tit{font-size:13px;font-weight:600;color:var(--text-2);margin:0 0 12px;letter-spacing:.02em}
[data-modulo="projetos"] .prj-nv-link{color:var(--accent-text);align-self:flex-start}
[data-modulo="projetos"] .prj-nv-traz{display:flex;flex-direction:column;gap:10px;margin:0 0 16px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-input);background:var(--sunk)}
[data-modulo="projetos"] .prj-base-cxs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 20px}
[data-modulo="projetos"] .prj-base-cx{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text);cursor:pointer}
[data-modulo="projetos"] .prj-base-cx input{width:16px;height:16px;margin:0;accent-color:var(--accent);flex:0 0 auto}
[data-modulo="projetos"] .prj-base-cx.sub{color:var(--text-2)}
[data-modulo="projetos"] .prj-base-cx:has(input:disabled){color:var(--text-3);cursor:not-allowed}
[data-modulo="projetos"] .prj-base-dest{border:0;margin:0;padding:0;min-width:0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 20px}
[data-modulo="projetos"] .prj-base-dest legend{width:100%;padding:0;margin-bottom:6px}
[data-modulo="projetos"] .prj-base-dest label{display:inline-flex;align-items:center;gap:8px;font-size:14px}
[data-modulo="projetos"] .prj-base-dest input,[data-modulo="projetos"] .prj-base-dup input{accent-color:var(--accent);margin:0}
[data-modulo="projetos"] .prj-base-dest select,[data-modulo="projetos"] .prj-base-dest .ss-combo{flex:1 1 220px;min-width:0}
[data-modulo="projetos"] .prj-base-previa{padding:12px 16px;border-radius:var(--r-input);background:var(--sunk);font-size:14px;color:var(--text)}
[data-modulo="projetos"] .prj-base-previa:empty{display:none}
[data-modulo="projetos"] .prj-base-dup{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding:12px 16px;border:1px solid var(--warn);border-radius:var(--r-input);background:var(--warn-soft);min-width:0}
[data-modulo="projetos"] .prj-base-dup[hidden]{display:none}
[data-modulo="projetos"] .prj-base-dup legend{float:left;width:100%;padding:0;margin-bottom:4px;font-size:14px;color:var(--text)}
[data-modulo="projetos"] .prj-base-dup label{display:inline-flex;align-items:center;gap:8px;font-size:14px}
[data-modulo="projetos"] .prj-base-erro{color:var(--danger)}
[data-modulo="projetos"] .prj-base-erro:empty{display:none}
[data-modulo="projetos"] .prj-base-resumo .kv{display:grid;grid-template-columns:minmax(160px,auto) 1fr;gap:10px 24px;margin:16px 0}
[data-modulo="projetos"] .prj-base-nota{margin:0 0 16px}
@media (max-width:767px){
  [data-modulo="projetos"] .prj-nv,[data-modulo="projetos"] .prj-base-dlg{max-height:calc(100vh - 32px)}
  [data-modulo="projetos"] .prj-base-resumo .kv{grid-template-columns:1fr;gap:2px 0}
  [data-modulo="projetos"] .prj-base-resumo .kv dd{margin:0 0 10px}
}
/* 390: o "Agrupar por" das Tarefas passava 1px da tela (medido em 2026-10-09 também no 2026.29); o seletor rola dentro de si */
@media (max-width:767px){ [data-modulo="projetos"] [data-aba-painel="prj-tar-sub:tarefas"] .toolbar .field > .seg{min-width:0;max-width:100%;overflow-x:auto} }

/* Lista de projetos (Cauê, 10/10): títulos das colunas centralizados; código editável na célula (campo flutuante, a coluna é estreita) */
[data-modulo="projetos"] .prj-cart-tab th{text-align:center}
[data-modulo="projetos"] .prj-cart-tab td.num{position:relative}
[data-modulo="projetos"] .prj-cod{font-variant-numeric:tabular-nums}
[data-modulo="projetos"] .prj-cart-tab .prj-cod-campo{position:absolute;left:4px;top:2px;z-index:6;width:250px;padding:8px;gap:4px;background:var(--bg);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-glass);white-space:normal}
[data-modulo="projetos"] .prj-cod-campo .input{font-weight:400}

/* Linha do tempo da carteira: setas de dependência (só leitura). O traço, a ponta e o rótulo são os do Gantt do projeto (.prj-pg-setas, 03b) */
[data-modulo="projetos"] .lt-grade .lt-setas{z-index:4}
[data-modulo="projetos"] .lt-leg i.lt-seta-leg{position:static;display:inline-block;width:16px;height:0;border-top:1.3px solid var(--text-3);border-radius:0;transform:none;background:none}
/* a regra min-width:1212px é da tabela de Tarefas; vazava para a carteira (46px de rolagem interna a 1440) */
[data-modulo="projetos"] table.dt.rv-fixa.prj-cart-tab{min-width:0}

/* Alinhamento da lista de tarefas (pedido do Cauê, 10/10): as células da coluna Tarefa começam na esquerda; todos os títulos e as outras células ficam centralizados. Ajuste do Cauê, 15/10: "quero que o titulo da coluna tarefa seja centralizado tambem, mas as tarefas em si mantenham na esquerda". Segue a COLUNA (a célula da Tarefa é td.prj-arr-td), não a posição, porque a ordem pode ser arrastada. Grupos e celular (cartões) não mudam. */
[data-modulo="projetos"] table.dt:has(th[data-prj-tc]) thead th,[data-modulo="projetos"] table.dt:has(th[data-prj-tc]) tbody td{text-align:center}
[data-modulo="projetos"] table.dt:has(th[data-prj-tc]) tbody td.prj-arr-td{text-align:left}
[data-modulo="projetos"] table.dt:has(th[data-prj-tc]) tbody td:not(.prj-arr-td) .meter-row{justify-content:center}
[data-modulo="projetos"] table.dt:has(th[data-prj-tc]) tbody td:not(.prj-arr-td) .who{justify-content:center}
[data-modulo="projetos"] table.dt:has(th[data-prj-tc]) tbody td.prj-vazio,[data-modulo="projetos"] table.dt:has(th[data-prj-tc]) tbody tr.prj-vazio td{text-align:center}
[data-modulo="projetos"] table.dt:has(th[data-prj-tc]) tbody td:not(.prj-arr-td) :is(.rv-cel,.prj-dias,.prj-dur,.who){text-align:center}
/* p06 (13/10/2026): Etapa › Tarefa › Subtarefa na lista (leitura pendente de validação). A seta que recolhe as subtarefas
   entra antes do nome da tarefa (a alça continua à esquerda); a linha da subtarefa recua até debaixo do nome da tarefa. */
[data-modulo="projetos"] td.prj-arr-td>.ss-tf-exp{margin:0 2px 0 -6px}
[data-modulo="projetos"] td.prj-arr-td>.ss-tf-exp+a.name{display:inline-block;max-width:calc(100% - 34px);vertical-align:middle}
[data-modulo="projetos"] tr.ss-tf-subl td.prj-arr-td{padding-left:58px!important;font-size:13px;overflow:hidden;text-overflow:ellipsis}
[data-modulo="projetos"] tr.ss-tf-subl td.prj-arr-td>.name{display:inline;color:var(--text-2);text-decoration:none}
[data-modulo="projetos"] .m-item .ss-tf-exp{height:32px;min-width:32px;margin:0 2px 0 -6px}
[data-modulo="projetos"] .m-item .ss-tf-exp+b{display:inline-block;max-width:calc(100% - 34px);vertical-align:middle}
[data-modulo="projetos"] .m-item.ss-tf-subl{padding-left:48px}
[data-modulo="projetos"] .m-item.ss-tf-subl b{font-size:13px;font-weight:400;color:var(--text-2)}
[data-modulo="projetos"] .m-item.ss-tf-subl b .name{color:inherit;text-decoration:none}
/* p132 (15/10/2026): a caixa de seleção do motor (SS_TAREFA, cfg.massa) entra no começo da célula da Tarefa, antes da
   alça de arrastar; o nome anda 28px e a subtarefa anda junto, para continuar recuada debaixo da tarefa */
[data-modulo="projetos"] td.prj-arr-td>.ss-tf-ck{position:absolute;left:4px;top:50%;transform:translateY(-50%)}
[data-modulo="projetos"] td.prj-arr-td:has(>.ss-tf-ck){padding-left:62px!important}
[data-modulo="projetos"] td.prj-arr-td:has(>.ss-tf-ck)>.prj-alca{left:32px}
[data-modulo="projetos"] table:has(td.prj-arr-td>.ss-tf-ck) tr.ss-tf-subl td.prj-arr-td{padding-left:86px!important}
[data-modulo="projetos"] .m-item>.ss-tf-ck{align-self:center;margin-right:-8px}
/* p137 (15/10/2026): Saúde da carteira no molde do "O que trava" (pílula em cima, motivo embaixo); cor do projeto no molde
   da Cor da etapa do CRM (05-crm.js: rádio com o ponto da cor, em pílula com borda) */
[data-modulo="projetos"] .dt td.prj-saude{white-space:normal}
[data-modulo="projetos"] .dt td.prj-saude .pill{display:flex;width:fit-content;margin-bottom:4px}
[data-modulo="projetos"] .prj-cor-f{border:0;padding:0;margin:0;min-width:0}
[data-modulo="projetos"] .prj-cor-f>.lbl{margin-bottom:6px}
[data-modulo="projetos"] .prj-cor-ops{display:flex;flex-wrap:wrap;gap:8px}
[data-modulo="projetos"] .prj-cor-op{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--r-pill);font-size:13px;cursor:pointer}
[data-modulo="projetos"] .prj-cor-op input{accent-color:var(--accent);margin:0}
[data-modulo="projetos"] .prj-cor-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none}
/* p138 (15/10/2026): o aviso de texto mudado por outra pessoa, embaixo do campo do Termo de abertura (moldes que já
   existem: .reason, .textarea e a fileira de botões .dwr); a versão da outra pessoa fica no fundo afundado, só para ler */
[data-modulo="projetos"] .prj-conf{display:flex;flex-direction:column;gap:8px;margin-top:8px}
[data-modulo="projetos"] .prj-conf .reason{margin:0}
[data-modulo="projetos"] .prj-conf-dele{display:flex;flex-direction:column;gap:4px}
[data-modulo="projetos"] .prj-conf-dele .textarea{background:var(--sunk)}
[data-modulo="projetos"] .prj-tar-pend{display:inline-flex;align-items:center;height:20px;padding:0 8px;border:1px dashed var(--border-strong);border-radius:var(--r-pill);font:500 11px var(--font);color:var(--text-3);white-space:nowrap;vertical-align:middle;margin-left:6px}
