/* JR Obra UI (onda 1) — só vale com body.obra-ui-nova ou dentro de .ou-*. Tokens escuros (o tema claro do site inverte por filtro). */
body.obra-ui-nova,.ou-scope{--ou-bg:#09090b;--ou-s1:#111114;--ou-s2:#18181b;--ou-line:#27272a;--ou-tx:#fafafa;--ou-mut:#a1a1aa;--ou-brand:#ff2d7a;--ou-brand-tx:#18000b;--ou-ok:#34d399;--ou-warn:#fbbf24;--ou-bad:#f87171;--ou-r:14px;--ou-mono:ui-monospace,SFMono-Regular,Menlo,monospace}
.ou-faixa,.ou-fotos,.ou-hoje,.ou-lote,.ou-lb,.ou-paleta{font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:var(--ou-tx,#fafafa);--ou-bg:#09090b;--ou-s1:#111114;--ou-s2:#18181b;--ou-line:#27272a;--ou-tx:#fafafa;--ou-mut:#a1a1aa;--ou-brand:#ff2d7a;--ou-brand-tx:#18000b;--ou-ok:#34d399;--ou-warn:#fbbf24;--ou-bad:#f87171;--ou-r:14px;--ou-mono:ui-monospace,SFMono-Regular,Menlo,monospace}
.ou-faixa *,.ou-fotos *,.ou-hoje *,.ou-lote *,.ou-lb *,.ou-paleta *{box-sizing:border-box}
.ou-faixa :focus-visible,.ou-fotos :focus-visible,.ou-hoje :focus-visible,.ou-lote :focus-visible,.ou-lb :focus-visible,.ou-paleta :focus-visible{outline:2px solid var(--ou-brand);outline-offset:2px;border-radius:8px}

/* esconde a faixa antiga quando a nova está ligada */
body.obra-ui-nova .obra-contexto-compacto{display:none!important}

/* ===== faixa de orientação ===== */
.ou-faixa{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"nome acoes" "pulso pulso";gap:10px 16px;align-items:center;margin:0 0 12px;padding:10px 12px;border:1px solid var(--ou-line);border-radius:16px;background:var(--ou-s1)}
.ou-nome{grid-area:nome;display:flex;align-items:center;gap:12px;min-width:0}
.ou-voltar{width:38px;height:38px;border-radius:11px;border:1px solid var(--ou-line);background:var(--ou-s2);color:var(--ou-tx);font-size:18px;cursor:pointer}
.ou-nome h1{margin:0;font:600 24px/1.1 "Cormorant Garamond",serif;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32ch}
.ou-nome small{display:block;color:var(--ou-mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46ch}
.ou-pulso{grid-area:pulso;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ou-p{padding:7px 12px;border:1px solid var(--ou-line);background:var(--ou-s2);border-radius:12px;min-width:0}
.ou-p b{display:block;font:700 16px/1.2 var(--ou-mono);letter-spacing:-.02em}
.ou-p b.ou-alerta{color:var(--ou-brand)}
.ou-p span{display:block;font-size:11px;color:var(--ou-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ou-barra{display:block;height:4px;border-radius:99px;background:var(--ou-line);margin-top:5px;overflow:hidden}.ou-barra u{display:block;height:100%;background:var(--ou-brand);border-radius:99px;text-decoration:none}
.ou-faixa-acoes{grid-area:acoes;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.ou-btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;height:38px;padding:0 14px;border-radius:11px;border:1px solid var(--ou-line);background:var(--ou-s2);color:var(--ou-tx);font:700 13px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.ou-btn:hover{border-color:#3f3f46}
.ou-pri{background:var(--ou-brand);border-color:var(--ou-brand);color:var(--ou-brand-tx)}
.ou-perigo{color:var(--ou-bad);border-color:rgba(248,113,113,.4)}
.ou-fantasma{background:transparent;color:var(--ou-mut)}
.ou-fantasma kbd{font:600 11px var(--ou-mono);border:1px solid var(--ou-line);border-radius:6px;padding:1px 6px;margin-left:4px}
.ou-atencao{display:inline-flex;gap:8px;align-items:center;height:38px;padding:0 14px;border-radius:11px;border:1px solid rgba(255,45,122,.5);background:rgba(255,45,122,.1);color:var(--ou-tx);font:700 13px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer}
.ou-atencao em{font-style:normal;background:var(--ou-brand);color:var(--ou-brand-tx);border-radius:99px;padding:0 8px;font-size:12px;line-height:20px}

/* navegação existente (5 assuntos + sub-abas) com pele nova e menos altura */
body.obra-ui-nova .obra-navegacao{border:0!important;background:transparent!important;padding:0!important;margin:0 0 10px!important}
body.obra-ui-nova .obra-grupos{display:flex!important;gap:4px!important;grid-template-columns:none!important;overflow-x:auto;scrollbar-width:none}
body.obra-ui-nova .obra-grupo-btn{flex:none!important;height:38px!important;padding:0 16px!important;border-radius:10px!important;border:1px solid transparent!important;background:transparent!important;color:var(--ou-mut,#a1a1aa)!important;font-weight:700!important;box-shadow:none!important}
body.obra-ui-nova .obra-grupo-btn.ativo{background:#111114!important;color:#fafafa!important;border-color:#27272a!important}
body.obra-ui-nova .obra-subnav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid #27272a;margin-top:6px}
body.obra-ui-nova .obra-subnav[hidden]{display:none!important}
body.obra-ui-nova .obra-tab-btn{border:0!important;background:transparent!important;border-radius:0!important;padding:9px 14px!important;color:#a1a1aa!important;font-weight:600!important;border-bottom:2px solid transparent!important;white-space:nowrap}
body.obra-ui-nova .obra-tab-btn.ativo{color:#fafafa!important;border-bottom-color:var(--ou-brand,#ff2d7a)!important}

/* ===== Hoje ===== */
.ou-hoje{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px}
.ou-card{background:var(--ou-s1);border:1px solid var(--ou-line);border-radius:var(--ou-r);padding:16px}
.ou-card h3{margin:0 0 12px;font:600 21px/1 "Cormorant Garamond",serif;display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.ou-card h3 small{font:500 12px "Plus Jakarta Sans",system-ui,sans-serif;color:var(--ou-mut)}
.ou-fila{display:grid;gap:8px}
.ou-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border-radius:12px;border:1px solid var(--ou-line);background:var(--ou-s2)}
.ou-dot{width:10px;height:10px;border-radius:50%;background:var(--ou-warn)}.ou-item.alta .ou-dot{background:var(--ou-brand)}.ou-item.ok .ou-dot{background:var(--ou-ok)}
.ou-item b{display:block;font-size:14px}.ou-item span{color:var(--ou-mut);font-size:12.5px}
.ou-etapas{display:grid;gap:10px}.ou-etapa{display:grid;grid-template-columns:150px minmax(0,1fr) 46px;gap:12px;align-items:center;font-size:13px}
.ou-tr{height:10px;border-radius:99px;background:var(--ou-s2);overflow:hidden}.ou-tr u{display:block;height:100%;background:var(--ou-ok);border-radius:99px;text-decoration:none}.ou-etapa.agora .ou-tr u{background:var(--ou-brand)}
.ou-etapa .v{font:700 12px var(--ou-mono);text-align:right}
.ou-comp-lista{display:grid;gap:4px;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:var(--ou-s2)}.ou-comp{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--ou-mut)}.ou-comp b{font:600 13px var(--ou-mono);color:inherit}.ou-comp-total{margin-top:4px;padding-top:6px;border-top:1px solid var(--ou-line);color:inherit;font-weight:700}.ou-comp-total b{color:inherit}
.ou-fin{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ou-fin div{padding:12px;border-radius:12px;background:var(--ou-s2)}.ou-fin b{display:block;font:700 17px var(--ou-mono)}.ou-fin span{color:var(--ou-mut);font-size:12px}
.ou-ferr{display:flex;gap:8px;flex-wrap:wrap}
.ou-vazio{border:1px dashed var(--ou-line);border-radius:var(--ou-r);padding:40px;text-align:center;color:var(--ou-mut)}

/* ===== fotos ===== */
.ou-fotos{display:block}
.ou-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 0 10px}
.ou-busca{display:flex;align-items:center;border:1px solid var(--ou-line);background:var(--ou-s1);border-radius:11px;padding:0 12px;height:40px;flex:1 1 220px;max-width:340px}
.ou-busca input{border:0;background:transparent;color:var(--ou-tx);font:inherit;width:100%;outline:none}
.ou-lbl{font-size:11px;color:var(--ou-mut);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.ou-seg{display:inline-flex;border:1px solid var(--ou-line);background:var(--ou-s1);border-radius:11px;padding:3px;gap:2px}
.ou-seg button{border:0;background:transparent;height:32px;padding:0 12px;border-radius:8px;color:var(--ou-mut);font:600 13px "Plus Jakarta Sans",system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.ou-seg button[aria-pressed="true"]{background:var(--ou-s2);color:var(--ou-tx);box-shadow:inset 0 0 0 1px var(--ou-line)}
.ou-fim{margin-left:auto;display:flex;gap:8px}
.ou-chip{display:inline-flex;gap:6px;align-items:center;height:32px;padding:0 12px;border:1px solid var(--ou-line);background:var(--ou-s1);border-radius:99px;font:600 12.5px "Plus Jakarta Sans",system-ui,sans-serif;color:var(--ou-mut);cursor:pointer}
.ou-chip[aria-pressed="true"]{color:var(--ou-tx);border-color:var(--ou-brand);background:rgba(255,45,122,.1)}
.ou-chip b{font:700 11px var(--ou-mono);color:var(--ou-tx)}
.ou-upload{border:1px dashed var(--ou-line);border-radius:12px;padding:8px 12px;margin:0 0 10px;color:var(--ou-mut)}
.ou-upload summary{cursor:pointer;font-weight:700;color:var(--ou-tx)}
.ou-resumo{display:flex;gap:16px;color:var(--ou-mut);font-size:12.5px;margin:0 0 6px}.ou-resumo b{color:var(--ou-tx);font-family:var(--ou-mono)}
.ou-layout{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:20px}
.ou-grupo{margin-bottom:24px}
.ou-grupo>header{position:sticky;top:0;z-index:5;display:flex;gap:12px;align-items:baseline;padding:8px 0;background:linear-gradient(#09090b 78%,transparent)}
.ou-grupo h2{margin:0;font:600 22px/1 "Cormorant Garamond",serif}
.ou-grupo header span{color:var(--ou-mut);font-size:12.5px}.ou-grupo header .semleg{color:var(--ou-brand);font-weight:700;font-size:12px}
.ou-link{margin-left:auto;border:0;background:transparent;color:var(--ou-mut);font:600 12px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;text-decoration:underline}
.ou-mosaico{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.ou-foto{position:relative;margin:0;border-radius:12px;overflow:hidden;background:var(--ou-s2);aspect-ratio:4/3;cursor:zoom-in;border:1px solid var(--ou-line);isolation:isolate}
.ou-foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.ou-foto:hover img{transform:scale(1.035)}
.ou-ph{width:100%;height:100%;display:grid;place-items:center;color:var(--ou-mut);font-weight:700}
.ou-foto figcaption{position:absolute;inset:auto 0 0 0;padding:34px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-size:12.5px;line-height:1.35}
.ou-foto figcaption b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:700}
.ou-foto figcaption small{display:block;opacity:.75;font:500 11px var(--ou-mono);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ou-foto.sem figcaption b{font-style:italic;font-weight:600;opacity:.9}
.ou-sel{position:absolute;top:8px;left:8px;width:24px;height:24px;border-radius:7px;border:2px solid rgba(255,255,255,.9);background:rgba(0,0,0,.35);color:#fff;opacity:0;transition:opacity .15s;z-index:3;font-size:13px;line-height:1;cursor:pointer}
.ou-foto:hover .ou-sel,.modo-sel .ou-sel,.ou-foto.marcada .ou-sel{opacity:1}
.ou-foto.marcada{outline:3px solid var(--ou-brand);outline-offset:-3px}.ou-foto.marcada .ou-sel{background:var(--ou-brand);border-color:var(--ou-brand);color:var(--ou-brand-tx)}
.ou-tag{position:absolute;top:8px;right:8px;display:flex;gap:5px}.ou-tag i{font-style:normal;background:rgba(0,0,0,.65);color:#fff;border-radius:7px;padding:2px 7px;font:700 10.5px var(--ou-mono)}.ou-tag i.pend{background:var(--ou-brand);color:var(--ou-brand-tx)}
.ou-play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.ou-play span{width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,.55);display:grid;place-items:center;color:#fff}
.ou-esq{height:140px;border-radius:12px;background:linear-gradient(90deg,var(--ou-s2),var(--ou-s1),var(--ou-s2));background-size:200% 100%;animation:ou-sk 1.4s linear infinite}
@keyframes ou-sk{to{background-position:-200% 0}}
.ou-trilho{position:sticky;top:8px;align-self:start;max-height:70vh;overflow:auto;scrollbar-width:thin;padding-left:14px;border-left:1px solid var(--ou-line)}
.ou-trilho a{display:flex;justify-content:space-between;gap:8px;color:var(--ou-mut);text-decoration:none;font:600 12px var(--ou-mono);padding:5px 8px;border-radius:7px}.ou-trilho a:hover{background:var(--ou-s2);color:var(--ou-tx)}.ou-trilho a em{font-style:normal;opacity:.6}
.ou-faixa-f{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}.ou-faixa-f .ou-foto{flex:0 0 240px;scroll-snap-align:start}
.ou-ad{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.ou-adc{border:1px solid var(--ou-line);background:var(--ou-s1);border-radius:var(--ou-r);overflow:hidden}.ou-adc header{display:flex;justify-content:space-between;padding:12px 14px;font-weight:700}.ou-adc header span{color:var(--ou-mut);font:500 11.5px var(--ou-mono)}
.ou-cmp{position:relative;aspect-ratio:4/3;overflow:hidden;user-select:none}.ou-cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ou-cmp .dep{clip-path:inset(0 0 0 var(--p,50%))}
.ou-cmp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:3}.ou-cmp .al{position:absolute;top:0;bottom:0;left:var(--p,50%);width:2px;background:#fff;z-index:2}
.ou-cmp .rot{position:absolute;bottom:10px;z-index:2;background:rgba(0,0,0,.65);color:#fff;border-radius:7px;padding:2px 9px;font:700 11px var(--ou-mono)}

/* lote */
.ou-lote{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:9000;display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:16px;background:var(--ou-s1);border:1px solid var(--ou-line);box-shadow:0 12px 40px rgba(0,0,0,.6);max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:center}
.ou-lote[hidden]{display:none}.ou-lote .ou-n{font-weight:800;padding:0 8px;white-space:nowrap}
.ou-lote input{height:38px;border:1px solid var(--ou-line);background:var(--ou-s2);color:var(--ou-tx);border-radius:10px;padding:0 10px;font:inherit;width:150px}

/* lightbox */
dialog.ou-lb{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh;color:#fff}
dialog.ou-lb::backdrop{background:rgba(5,5,7,.93)}
.ou-lb-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;height:100%}
.ou-lb-img{display:grid;place-items:center;padding:24px;min-width:0;position:relative}
.ou-lb-img img{max-width:100%;max-height:calc(100vh - 150px);object-fit:contain;border-radius:10px}
.ou-lb-nav{position:absolute;top:50%;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.12);border:0;color:#fff;font-size:26px;transform:translateY(-50%);cursor:pointer}.ou-lb-nav.a{left:14px}.ou-lb-nav.p{right:14px}
.ou-lb-film{position:absolute;left:24px;right:24px;bottom:16px;display:flex;gap:6px;overflow:hidden;justify-content:center}.ou-lb-film img{width:54px;height:40px;object-fit:cover;border-radius:6px;opacity:.5;cursor:pointer}.ou-lb-film img.on{opacity:1;outline:2px solid #fff}
.ou-lb-side{background:#111114;border-left:1px solid #27272a;padding:22px;display:flex;flex-direction:column;gap:14px;overflow:auto}
.ou-lb-side label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#a1a1aa;font-weight:700}
.ou-lb-side textarea{width:100%;min-height:120px;border-radius:12px;border:1px solid #3f3f46;background:#18181b;color:#fff;font:inherit;padding:12px;resize:vertical}
.ou-lb-side dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px}.ou-lb-side dt{color:#a1a1aa}.ou-lb-side dd{margin:0;font:500 12.5px var(--ou-mono)}
.ou-lb-acoes{display:flex;gap:8px;margin-top:auto}.ou-lb-side small{color:#a1a1aa}
.ou-lb-x{position:absolute;top:14px;right:14px;z-index:5;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;cursor:pointer}

/* paleta Ir para… */
.ou-paleta{position:fixed;inset:0;z-index:9500;background:rgba(5,5,7,.7);display:grid;place-items:start center;padding-top:14vh}
.ou-pal-box{width:min(560px,92vw);background:var(--ou-s1);border:1px solid var(--ou-line);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.ou-pal-box input{width:100%;height:52px;border:0;border-bottom:1px solid var(--ou-line);background:transparent;color:var(--ou-tx);padding:0 18px;font:600 15px "Plus Jakarta Sans",system-ui,sans-serif;outline:none}
.ou-pal-box ul{list-style:none;margin:0;padding:6px;max-height:50vh;overflow:auto}.ou-pal-box li{padding:11px 14px;border-radius:10px;cursor:pointer;font-weight:600}.ou-pal-box li[aria-selected="true"],.ou-pal-box li:hover{background:var(--ou-s2)}.ou-pal-box li.vazio{color:var(--ou-mut);cursor:default}

@media (prefers-reduced-motion:reduce){.ou-esq{animation:none}.ou-foto img{transition:none}}
@media (max-width:1100px){.ou-hoje{grid-template-columns:1fr}.ou-layout{grid-template-columns:1fr}.ou-trilho{display:none}.ou-nome h1{max-width:20ch}}
@media (max-width:640px){
  .ou-faixa{padding:8px 10px;gap:8px}.ou-nome h1{font-size:19px;max-width:15ch}.ou-atencao span{display:none}
  .ou-pulso{display:flex;overflow-x:auto;scrollbar-width:none;gap:6px;margin:0 -10px;padding:0 10px}.ou-p{flex:0 0 138px;padding:6px 10px}.ou-p b{font-size:14px}
  .ou-faixa-acoes .ou-fantasma{display:none}
  .ou-tools{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:6px;margin:0 -2px;padding:6px 2px}.ou-tools>*{flex:none}.ou-tools .ou-lbl{display:none}.ou-busca{flex:1 0 230px;max-width:none;height:38px}.ou-fim{margin-left:0}.ou-fim .ou-btn{height:38px;padding:0 12px}
  .ou-mosaico{grid-template-columns:repeat(2,1fr);gap:6px}.ou-foto figcaption{font-size:11.5px;padding:26px 8px 8px}
  .ou-grupo>header{flex-wrap:wrap;gap:4px 10px}.ou-link{margin-left:0}
  .ou-lb-grid{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.ou-lb-side{border-left:0;border-top:1px solid #27272a;max-height:44vh}
  .ou-lote{left:10px;right:10px;transform:none;bottom:12px}.ou-lote input{width:calc(50% - 8px)}
  .ou-etapa{grid-template-columns:96px minmax(0,1fr) 44px}.ou-fin{grid-template-columns:1fr}
}

/* ===== diário ===== */
.ou-diario{font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:var(--ou-tx);display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start;--ou-bg:#09090b;--ou-s1:#111114;--ou-s2:#18181b;--ou-line:#27272a;--ou-tx:#fafafa;--ou-mut:#a1a1aa;--ou-brand:#ff2d7a;--ou-brand-tx:#18000b;--ou-ok:#34d399;--ou-warn:#fbbf24;--ou-r:14px;--ou-mono:ui-monospace,SFMono-Regular,Menlo,monospace}
.ou-diario *{box-sizing:border-box}
.ou-novo{display:grid;gap:10px;background:var(--ou-s1);border:1px solid var(--ou-line);border-radius:var(--ou-r);padding:14px;margin-bottom:18px}
html body #ou-d-txt{width:100%;min-height:64px;border:0!important;background:transparent!important;color:var(--ou-tx)!important;font:400 15px/1.5 "Plus Jakarta Sans",system-ui,sans-serif;resize:vertical;outline:none!important;box-shadow:none!important;padding:0!important}
html body #ou-d-tit{height:36px!important;min-height:0!important;width:min(260px,100%);border:1px solid var(--ou-line)!important;background:var(--ou-s2)!important;border-radius:10px!important;padding:0 10px!important;color:var(--ou-tx)!important}
.ou-lin{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ou-dia{position:relative;padding-left:22px;margin-bottom:22px;border-left:2px solid var(--ou-line);margin-left:6px}
.ou-dia:before{content:"";position:absolute;left:-8px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--ou-bg);border:3px solid var(--ou-brand)}
.ou-dia>h2{margin:0 0 8px;font:600 22px/1 "Cormorant Garamond",serif;display:flex;gap:12px;align-items:baseline}.ou-dia>h2 small{font:500 12px "Plus Jakarta Sans",system-ui,sans-serif;color:var(--ou-mut)}
.ou-reg{background:var(--ou-s1);border:1px solid var(--ou-line);border-radius:var(--ou-r);padding:16px 18px;margin-bottom:10px;display:grid;gap:10px}
.ou-reg header{display:flex;gap:10px;align-items:center}
.ou-av{width:30px;height:30px;border-radius:50%;background:var(--ou-s2);border:1px solid var(--ou-line);display:grid;place-items:center;font:700 11px var(--ou-mono);flex:none}
.ou-reg header b{display:block;font-size:15px}.ou-reg header div span{color:var(--ou-mut);font-size:12.5px}
.ou-mn{margin-left:auto;border:0;background:transparent;color:var(--ou-mut);font:600 12px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;opacity:.7}.ou-mn:hover{color:#f87171;opacity:1}
.ou-reg p{margin:0;font-size:15px;line-height:1.6;max-width:72ch;white-space:pre-wrap}.ou-reg p.ou-sem{color:var(--ou-mut);font-style:italic}
.ou-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-width:540px}
.ou-gi{position:relative;padding:0;border:1px solid var(--ou-line);border-radius:9px;overflow:hidden;background:var(--ou-s2);cursor:zoom-in;aspect-ratio:4/3}
.ou-gi img{width:100%;height:100%;object-fit:cover;display:block}.ou-gi.mais span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.55);color:#fff;font-weight:800;font-size:18px}
.ou-meta i{font-style:normal;font-size:12px;color:var(--ou-mut)}
.ou-lado .ou-card{margin-bottom:14px}.ou-lado h3{font-size:19px}
.ou-lado dl{margin:0;display:grid;grid-template-columns:1fr auto;gap:8px;font-size:13px}.ou-lado dt{color:var(--ou-mut)}.ou-lado dd{margin:0;font:700 13px var(--ou-mono)}
.ou-resumos summary{cursor:pointer;font-weight:700}.ou-resumos summary b{font:700 11px var(--ou-mono);margin-left:6px;color:var(--ou-mut)}
@media (max-width:1100px){.ou-diario{grid-template-columns:1fr}}
@media (max-width:640px){.ou-gal{grid-template-columns:repeat(2,1fr)}.ou-reg{padding:14px}}

/* o admin tem estilos globais de button/input: aqui os controles da Obra UI vencem por especificidade */
.ou-fotos button,.ou-faixa button,.ou-lote button,.ou-hoje button,.ou-lb button,.ou-paleta li{font-family:"Plus Jakarta Sans",system-ui,sans-serif}
.ou-fotos .ou-link{all:unset;box-sizing:border-box;margin-left:auto;color:var(--ou-mut);font:600 12px "Plus Jakarta Sans",system-ui,sans-serif;cursor:pointer;text-decoration:underline;padding:4px 2px}
html body #ou-q{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;height:auto!important;min-height:0!important;width:100%;color:var(--ou-tx)!important;outline:none!important;border-radius:0!important}
html body #ou-lote-leg,html body #ou-lote-etapa,html body #ou-lote-amb{border:1px solid var(--ou-line)!important;background:var(--ou-s2)!important;box-shadow:none!important;padding:0 10px!important;height:38px!important;min-height:0!important;width:150px;color:var(--ou-tx)!important;border-radius:10px!important}
html body #ou-pal-q{border:0!important;border-bottom:1px solid var(--ou-line)!important;background:transparent!important;box-shadow:none!important;padding:0 18px!important;height:52px!important;min-height:0!important;width:100%;color:var(--ou-tx)!important;outline:none!important;border-radius:0!important}
html body #ou-lb-leg{box-shadow:none!important}
.ou-fotos .ou-seg button,.ou-fotos .ou-chip,.ou-fotos .ou-btn{margin:0;box-shadow:none}
.ou-fotos .ou-seg button{background:transparent;border:0;height:32px;padding:0 12px}
.ou-fotos .ou-seg button[aria-pressed="true"]{background:var(--ou-s2)}
.ou-fotos .ou-chip{height:32px;padding:0 12px;border:1px solid var(--ou-line);background:var(--ou-s1)}
.ou-fotos .ou-chip[aria-pressed="true"]{background:rgba(255,45,122,.1);border-color:var(--ou-brand)}
.ou-fotos .ou-sel{padding:0;min-width:24px}
/* barra antiga de ações (Editar cronograma / Medir / Relatórios): linha fina, sem competir com o conteúdo */
body.obra-ui-nova .jr-ops{margin:0 0 6px!important;padding:0!important;gap:6px!important;display:flex!important;flex-wrap:wrap}
body.obra-ui-nova .jr-ops button,body.obra-ui-nova .jr-ops a{height:30px!important;min-height:0!important;padding:0 12px!important;font-size:12px!important;border-radius:9px!important;background:transparent!important;border:1px solid #27272a!important;color:#a1a1aa!important;box-shadow:none!important}
html body .ou-pri{background:var(--ou-brand)!important;border-color:var(--ou-brand)!important;color:var(--ou-brand-tx)!important}
html body .ou-perigo{color:var(--ou-bad)!important;border-color:rgba(248,113,113,.4)!important}
html body .ou-btn:not(.ou-pri):not(.ou-fantasma){background:var(--ou-s2);color:var(--ou-tx)}

/* aviso (toast) do admin: era um <span> dentro da barra do topo e, no celular, qualquer mensagem longa quebrava letra por letra. Vira aviso flutuante legível. */
#toast{position:fixed!important;left:50%;bottom:calc(var(--jr-doca,0px) + 18px);transform:translateX(-50%);z-index:9800;width:max-content;max-width:min(92vw,520px);padding:10px 16px;border-radius:12px;background:#18181b;border:1px solid #27272a;box-shadow:0 12px 40px rgba(0,0,0,.6);font-size:13px!important;line-height:1.4;white-space:normal;text-align:center;pointer-events:none}
#toast:empty{display:none}

/* ===== financeiro (onda 2): KPIs + tabela única de parcelas ===== */
.ou-fin2{font-family:"Plus Jakarta Sans",system-ui,sans-serif;color:var(--ou-tx,#fafafa);display:grid;gap:14px;--ou-bg:#09090b;--ou-s1:#111114;--ou-s2:#18181b;--ou-line:#27272a;--ou-tx:#fafafa;--ou-mut:#a1a1aa;--ou-brand:#ff2d7a;--ou-brand-tx:#18000b;--ou-ok:#34d399;--ou-warn:#fbbf24;--ou-bad:#f87171;--ou-r:16px;--ou-mono:"JetBrains Mono",ui-monospace,Menlo,monospace}
.ou-fin2 *{box-sizing:border-box}
.ou-fin2{grid-template-columns:minmax(0,1fr)}.ou-fin2>*{min-width:0}
.ou-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ou-kpi{padding:14px;border:1px solid var(--ou-line);background:var(--ou-s1);border-radius:var(--ou-r);min-width:0}
.ou-kpi b{display:block;font:700 20px/1.2 var(--ou-mono);letter-spacing:-.02em;overflow-wrap:anywhere}
.ou-kpi span{display:block;margin-top:3px;font-size:12px;color:var(--ou-mut)}
.ou-kpi .mal{font-style:normal;color:var(--ou-bad);font-weight:700}
.ou-aviso{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;border:1px solid rgba(167,139,250,.45);background:rgba(167,139,250,.08);border-radius:var(--ou-r)}
.ou-aviso b{display:block;font-size:14px}.ou-aviso span{display:block;font-size:12px;color:var(--ou-mut);margin-top:2px}
.ou-fin-topo{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.ou-fin-dir{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ou-fin2 .ou-chips{display:flex;gap:6px;flex-wrap:wrap}
.ou-fin2 .ou-chip{margin:0;box-shadow:none;height:36px}
.ou-fin2 .ou-chip em{font:700 11px var(--ou-mono);font-style:normal;color:var(--ou-tx)}
.ou-fin2 .ou-chip.on{color:var(--ou-tx);border-color:var(--ou-brand);background:rgba(255,45,122,.1)}
.ou-fin2 .ou-chip.alerta em{color:var(--ou-bad)}
.ou-fin2 .ou-btn{margin:0;box-shadow:none;height:36px;padding:0 12px;font-size:13px}
.ou-sel-ordem{display:inline-flex;gap:8px;align-items:center;font-size:12px;color:var(--ou-mut)}
html body .ou-fin2 select[data-ou-fin-o]{height:36px!important;min-height:0!important;width:auto!important;border:1px solid var(--ou-line)!important;background:var(--ou-s2)!important;color:var(--ou-tx)!important;border-radius:10px!important;padding:0 10px!important;font:600 12.5px "Plus Jakarta Sans",system-ui,sans-serif!important}
.ou-tabela-w{overflow-x:auto}
.ou-tabela{width:100%;border-collapse:collapse}
.ou-tabela th{text-align:left;font:600 11.5px "Plus Jakarta Sans",system-ui,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:var(--ou-mut);padding:8px 10px;border-bottom:1px solid var(--ou-line)}
.ou-tabela td{padding:12px 10px;border-bottom:1px solid var(--ou-line);vertical-align:middle;font-size:14px}
.ou-tabela th.v,.ou-tabela td.v{text-align:right;font:700 14px var(--ou-mono);white-space:nowrap}
.ou-tabela td small{display:block;margin-top:2px;font-size:11.5px;color:var(--ou-mut)}
.ou-tabela td small.obs{font-style:italic}
.ou-par.vencido td:first-child{box-shadow:inset 3px 0 0 var(--ou-bad)}.ou-par.pago td:first-child{box-shadow:inset 3px 0 0 var(--ou-ok)}.ou-par.aberto td:first-child{box-shadow:inset 3px 0 0 var(--ou-line)}
.ou-par.pago td b,.ou-par.pago td.v{color:var(--ou-mut)}
.ou-st{display:inline-block;padding:3px 10px;border-radius:99px;font:700 11.5px "Plus Jakarta Sans",system-ui,sans-serif;border:1px solid var(--ou-line);white-space:nowrap}
.ou-st.pago{color:var(--ou-ok);border-color:rgba(52,211,153,.4)}.ou-st.vencido{color:var(--ou-bad);border-color:rgba(248,113,113,.45);background:rgba(248,113,113,.08)}.ou-st.aberto{color:var(--ou-warn);border-color:rgba(251,191,36,.35)}
.ou-acoes-par{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:wrap;white-space:nowrap}
.ou-acoes-par .jr147-card-more{position:relative}
@media (max-width:760px){
  .ou-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .ou-fin2 .ou-tabela,html body .ou-fin2 .ou-tabela tbody,html body .ou-fin2 .ou-tabela tr,html body .ou-fin2 .ou-tabela td{min-width:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box}
  .ou-tabela thead{display:none}
  .ou-tabela,.ou-tabela tbody,.ou-tabela tr,.ou-tabela td{display:block;width:100%}
  .ou-tabela tr{border:1px solid var(--ou-line);border-radius:14px;margin-bottom:10px;padding:10px 12px;background:var(--ou-s2)}
  .ou-tabela td{border:0;padding:4px 0;display:flex;justify-content:space-between;gap:12px;align-items:center}
  .ou-tabela td[data-l]::before{content:attr(data-l);color:var(--ou-mut);font-size:12px;flex:none}
  .ou-tabela td:first-child{display:block}.ou-tabela td:first-child::before{display:none}
  .ou-tabela th.v,.ou-tabela td.v{text-align:right}
  .ou-acoes-par{justify-content:flex-start;padding-top:8px}
  .ou-acoes-par .ou-btn{flex:1 1 auto;height:44px}
}

/* Materiais (onda 2): reaproveita KPIs, chips e tabela do Financeiro */
.ou-mat .ou-busca-mat input{width:100%;height:40px;border:1px solid var(--ou-line);background:var(--ou-s2);color:var(--ou-tx);border-radius:12px;padding:0 14px;font:500 14px "Plus Jakarta Sans",system-ui,sans-serif}
html body .ou-mat .ou-busca-mat input{height:40px!important;min-height:0!important;width:100%!important;background:var(--ou-s2)!important;color:var(--ou-tx)!important;border:1px solid var(--ou-line)!important}
.ou-mat .ou-acoes-topo{display:flex;gap:8px;flex-wrap:wrap}
.ou-kpi b.mal{color:var(--ou-bad)}
.ou-st.mat-conferir{color:var(--ou-warn);border-color:rgba(251,191,36,.35)}
.ou-st.mat-divergencias{color:var(--ou-bad);border-color:rgba(248,113,113,.45);background:rgba(248,113,113,.08)}
.ou-st.mat-instalacao{color:#c4b5fd;border-color:rgba(196,181,253,.4)}
.ou-st.mat-ok{color:var(--ou-ok);border-color:rgba(52,211,153,.4)}
.ou-par.mat-conferir td:first-child{box-shadow:inset 3px 0 0 var(--ou-warn)}.ou-par.mat-divergencias td:first-child{box-shadow:inset 3px 0 0 var(--ou-bad)}.ou-par.mat-instalacao td:first-child{box-shadow:inset 3px 0 0 #c4b5fd}.ou-par.mat-ok td:first-child{box-shadow:inset 3px 0 0 var(--ou-ok)}

/* Dúvidas técnicas (onda 2) */
.ou-sec-t{margin:10px 0 0;font:600 21px "Cormorant Garamond",serif;color:var(--ou-tx)}
.ou-lista-d{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr))}
.ou-card-d{border:1px solid var(--ou-line);background:var(--ou-s2);border-radius:14px;padding:14px;min-width:0;display:grid;gap:8px;box-shadow:inset 3px 0 0 var(--ou-line)}
.ou-card-d.ab{box-shadow:inset 3px 0 0 var(--ou-bad)}.ou-card-d.at{box-shadow:inset 3px 0 0 var(--ou-warn)}.ou-card-d.ok{box-shadow:inset 3px 0 0 var(--ou-ok)}
.ou-card-d-topo{display:flex;gap:10px;justify-content:space-between;align-items:flex-start}.ou-card-d-topo b{font-size:15px;line-height:1.3;min-width:0;overflow-wrap:anywhere}
.ou-card-d p{margin:0;font-size:13.5px;line-height:1.55;color:#d4d4d8;white-space:pre-wrap;overflow-wrap:anywhere}
.ou-card-d small{font-size:11.5px;color:var(--ou-mut)}

/* Vistoria (onda 2) */
.ou-mut{color:var(--ou-mut);font-size:12.5px}
.ou-vist .ou-sec-v{display:grid;gap:12px;margin-top:8px}
.ou-filtros-v{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px}
html body .ou-vist .ou-filtros-v input,html body .ou-vist .ou-filtros-v select{height:40px!important;min-height:0!important;width:100%!important;background:var(--ou-s2)!important;color:var(--ou-tx)!important;border:1px solid var(--ou-line)!important;border-radius:12px!important;padding:0 12px!important;font:500 14px "Plus Jakarta Sans",system-ui,sans-serif!important}
.ou-card-d.in{box-shadow:inset 3px 0 0 #38bdf8}
.ou-nc{background:rgba(248,113,113,.08);border:1px solid rgba(248,113,113,.3);border-radius:10px;padding:8px 10px;color:#fca5a5!important}
@media(max-width:760px){.ou-filtros-v{grid-template-columns:1fr}}
.ou-vist #jr-inspecoes-admin-c6{display:grid;gap:14px;min-width:0}.ou-vist #jr-inspecoes-admin-c6>*{min-width:0}

/* Orçamentos / Complementos / Aditivos (onda 4) */
.ou-valor-d{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.ou-valor-d b{font:700 16px var(--ou-mono);white-space:nowrap}
.ou-card-d-topo>div:first-child{min-width:0}.ou-card-d-topo>div:first-child small{display:block;margin-top:3px}
.ou-ia{background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.28);border-radius:10px;padding:9px 11px}
.ou-itens summary{cursor:pointer;font-size:12.5px;color:var(--ou-mut)}
.ou-mini-t{width:100%;border-collapse:collapse;margin-top:6px}.ou-mini-t td{padding:6px 4px;font-size:12.5px;border-top:1px solid var(--ou-line)}.ou-mini-t td.v{text-align:right;font-family:var(--ou-mono);white-space:nowrap}
.ou-comp{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ou-comp>div{background:var(--ou-s1);border:1px solid var(--ou-line);border-radius:10px;padding:9px 11px;min-width:0}.ou-comp p{margin:3px 0 0}
.ou-resp{color:#86efac!important}
a.ou-link{display:inline-flex;align-items:center;text-decoration:none;color:#93c5fd}
.ou-filtros-2{grid-template-columns:2fr 1fr}
.ou-adit #jr-mudancas-admin-c7{display:grid;gap:14px;min-width:0}.ou-adit .ou-sec-v{display:grid;gap:12px;margin-top:8px}
html body .ou-adit .ou-filtros-v input,html body .ou-adit .ou-filtros-v select{height:40px!important;min-height:0!important;width:100%!important;background:var(--ou-s2)!important;color:var(--ou-tx)!important;border:1px solid var(--ou-line)!important;border-radius:12px!important;padding:0 12px!important;font:500 14px "Plus Jakarta Sans",system-ui,sans-serif!important}
@media(max-width:760px){.ou-comp{grid-template-columns:1fr}.ou-filtros-2{grid-template-columns:1fr}.ou-card-d-topo{flex-wrap:wrap}}

/* Atualizações e Relatório (onda 5) */
.ou-mut{color:var(--ou-mut)}
.ou-card-d.lida{opacity:.72}
.ou-rel-t td{padding:11px 12px;font-size:14px}.ou-rel-t td.v{font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-weight:600}
@media print{.ou-scope .ou-acoes-topo,.ou-scope .ou-acoes-par{display:none!important}}
/* Normalização das áreas antigas dentro da tela nova: o título em destaque vira cabeçalho de seção, sem o rótulo técnico "CICLO n" */
body.obra-ui-nova #sub .jr-hero-admin{background:transparent!important;border:0!important;border-bottom:1px solid #27272a!important;border-radius:0!important;box-shadow:none!important;padding:4px 0 14px!important;margin-bottom:14px!important}
body.obra-ui-nova #sub .jr-hero-admin .jr-pill{display:none!important}
body.obra-ui-nova #sub .jr-hero-admin h2{font:600 24px "Cormorant Garamond",Georgia,serif!important;margin:0 0 4px!important;letter-spacing:0!important}
body.obra-ui-nova #sub .jr-hero-admin>div{color:#a1a1aa!important}

/* Onda 3: decisões, solicitações e resumo do cronograma */
.ou-card-d .ou-ok-t{color:var(--ou-ok);display:block}
.ou-card-d .ou-resp .ou-btn{margin-left:6px;min-height:30px}
.ou-crono-res{margin-bottom:14px}
body.obra-ui-nova #sub .ou-crono-res+div .jr-hero-admin{margin-top:6px}
@media(min-width:900px){.ou-fin2 .ou-kpis:has(>.ou-kpi:nth-child(5)){grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Cronograma: visão semanal */
.ou-sem-nav{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ou-sem-nav b{margin-left:8px;font-size:14px}
.ou-sem-grade{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ou-sem-dia{min-width:0;border:1px solid var(--ou-line);background:var(--ou-s1);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px}
.ou-sem-dia.hoje{border-color:var(--ou-brand)}.ou-sem-dia.risco{box-shadow:inset 0 0 0 1px rgba(245,158,11,.55)}
.ou-sem-dia h4{margin:0 0 4px;font-size:13px;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.ou-sem-dia h4 small{color:var(--ou-mut);font-weight:600}
.ou-sem-dia h4 i{font-style:normal;font-size:10.5px;padding:1px 7px;border-radius:99px;background:rgba(255,45,122,.14);color:var(--ou-tx)}.ou-sem-dia h4 i.r{background:rgba(245,158,11,.16)}
.ou-sem-et{display:grid;gap:2px;text-align:left;width:100%;min-width:0;padding:8px 9px;border-radius:9px;border:1px solid var(--ou-line);border-left:3px solid #38bdf8;background:var(--ou-s2);color:var(--ou-tx);cursor:pointer;font:inherit}
.ou-sem-et.ab{border-left-color:#ef4444}.ou-sem-et.ok{border-left-color:var(--ou-ok)}.ou-sem-et.at{border-left-color:#a1a1aa}
.ou-sem-et b{font-size:12.5px;overflow-wrap:anywhere}.ou-sem-et span{font-size:11px;color:var(--ou-mut);overflow-wrap:anywhere}.ou-sem-et em{font-style:normal;font-size:11px;color:#f59e0b}
.ou-sem-vazio{font-size:11.5px;color:var(--ou-mut)}
@media(max-width:900px){.ou-sem-grade{grid-template-columns:1fr}}
body.obra-ui-nova #sub div[style*="linear-gradient(135deg,#1E293B,#111827)"]{background:#18181b!important;border-color:#27272a!important;box-shadow:none!important}

/* Portal da obra (onda 6) */
.ou-portal .ou-pt-hero{padding:6px 2px 10px}.ou-portal .ou-pt-hero small{color:var(--ou-mut);font-size:12.5px}
.ou-portal .ou-pt-hero h1{margin:2px 0 0;font:600 30px/1.1 "Cormorant Garamond",Georgia,serif;overflow-wrap:anywhere}
.ou-kpi-txt{font:700 15px/1.25 "Plus Jakarta Sans",system-ui,sans-serif!important;overflow-wrap:anywhere}
.ou-pt-fotos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.ou-pt-fotos .ou-gi{padding:0;border:1px solid var(--ou-line);border-radius:10px;overflow:hidden;background:var(--ou-s2);aspect-ratio:4/3;cursor:pointer}
.ou-pt-fotos .ou-gi img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){.ou-pt-fotos{grid-template-columns:repeat(3,minmax(0,1fr))}.ou-portal .ou-pt-hero h1{font-size:26px}}

/* Portal: fotos e diário */
.ou-pt-fotos-g{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.ou-gi{position:relative}.ou-gi .ou-play{position:absolute;inset:auto 8px 8px auto;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;display:grid;place-items:center;font-size:12px}
.ou-vid-ph{display:grid;place-items:center;height:100%;color:var(--ou-mut);font-size:12px}
.ou-legendas{margin:6px 0 0;font-size:12px;color:var(--ou-mut)}
.ou-mais{display:flex;justify-content:center;margin:14px 0}
/* Portal: o conteúdo das seções unificadas (details > div) precisa ocupar a largura toda */
.ou-scope{display:block;width:100%;min-width:0}
.jr-portal-panel>div:has(>.ou-scope),details.jr105-section>div:has(>.ou-scope){width:100%;min-width:0}
