/* /nodarya/: filme do processo inteiro, no visual do app Nodarya (cores de .nd-marca) */
.fl{--nd-ok-soft:#E6F4F1;--nd-err:#C3281E;--nd-err-soft:#FCEDEB;display:grid;grid-template-columns:200px minmax(0,1fr);grid-template-areas:"lado topo" "lado palco" "lado painel" "trilha trilha";border-radius:14px;overflow:hidden;border:1px solid #2A2D33;background:var(--nd-canvas);color:var(--nd-ink);box-shadow:0 24px 60px #0d163426;min-height:640px}
.fl-lado{grid-area:lado;background:var(--nd-ink);display:flex;flex-direction:column}
.fl-lado .nd-brand{padding:0 18px;min-height:58px;border-bottom:1px solid #24272C}
.fl-capitulos{list-style:none;margin:0;padding:14px 10px;display:grid;gap:2px}
.fl-capitulos button{all:unset;box-sizing:border-box;width:100%;display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:8px;font-size:13px;color:#A3A9B3;cursor:pointer;transition:background .3s,color .3s}
.fl-capitulos button span{font-family:"DM Mono",ui-monospace,monospace;font-size:11px;color:#767D8A}
.fl-capitulos button:hover{color:#FAFAFA}
.fl-capitulos button:focus-visible{outline:2px solid var(--nd-node);outline-offset:-2px}
.fl-capitulos button[aria-current]{background:#1E2126;color:#FAFAFA;font-weight:600;box-shadow:inset 2px 0 0 var(--nd-action)}
.fl-capitulos button[aria-current] span{color:var(--nd-node)}
.fl-topo{grid-area:topo;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#FFF;border-bottom:1px solid var(--nd-border);font-size:13px;color:var(--nd-muted)}
.fl-play{font:inherit;font-size:12px;color:var(--nd-ink);background:#FFF;border:1px solid var(--nd-border);border-radius:8px;padding:6px 12px;cursor:pointer}
.fl-palco{grid-area:palco;position:relative;overflow:hidden;border-bottom:1px solid var(--nd-border)}
.fl-cena{position:absolute;left:0;top:0;width:1200px;height:430px;transform-origin:0 0}
.fl-mapa{position:absolute;left:300px;top:0;width:900px;height:430px}
.fl-trilha{grid-area:trilha;height:3px;background:#1E2126}
.fl-trilha i{display:block;height:100%;background:var(--nd-action);transform-origin:0 50%;transform:scaleX(0)}
/* anexos (dentro da cena, à esquerda do mapa) */
.fl-arqs{position:absolute;left:20px;top:40px;width:270px;display:grid;gap:10px}
.fl-rotulo{font-family:"DM Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--nd-faint);margin:0 0 4px}
.fl-rotulo span{text-transform:none;letter-spacing:0;color:var(--nd-muted);margin-left:8px}
.fl-arq{display:grid;grid-template-columns:38px minmax(0,1fr) 16px;gap:10px;align-items:center;background:#FFF;border:1px solid var(--nd-border);border-radius:10px;padding:10px 12px;opacity:0;transform:translateX(-40px);transition:opacity .5s,transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s}
.fl-arq.on{opacity:1;transform:none}
.fl-arq>b{font-family:"DM Mono",ui-monospace,monospace;font-size:10px;color:var(--nd-action);border:1px solid #C9D3F7;border-radius:6px;height:38px;display:grid;place-items:center;background:var(--nd-soft)}
.fl-arq strong{display:block;font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fl-arq small{display:block;font-size:11px;color:var(--nd-muted)}
.fl-barra{display:block;height:3px;border-radius:2px;background:var(--nd-border);margin-top:6px;overflow:hidden}
.fl-barra i{display:block;height:100%;background:var(--nd-action);transform-origin:0 50%;transform:scaleX(0);transition:transform .85s linear}
.fl-arq.on2 .fl-barra i{transform:none}
.fl-arq em{font-style:normal;color:var(--nd-ok);font-weight:700;opacity:0;transition:opacity .3s .8s}
.fl-arq.on2 em{opacity:1}
.fl-arq.lido{border-color:var(--nd-action);box-shadow:0 0 0 3px rgba(49,85,214,.15)}
/* mapa */
.fl-raias rect{fill:rgba(255,255,255,.75)}.fl-raias path{stroke:var(--nd-border);fill:none}
.fl-raias text,.fl-titulo-mapa{font:600 10px Inter,sans-serif;letter-spacing:.08em;fill:var(--nd-faint)}
.fl-titulo-mapa{font-size:12px;letter-spacing:0;fill:var(--nd-ink)}
.fl-t2,.fl-sis{display:none}
.fl[data-fase=redesenho] .fl-t1,.fl[data-fase=proposta] .fl-t1{display:none}
.fl[data-fase=redesenho] .fl-t2,.fl[data-fase=proposta] .fl-t2,.fl[data-fase=redesenho] .fl-sis,.fl[data-fase=proposta] .fl-sis{display:inline}
.fl-e{fill:none;stroke:#8A93A3;stroke-width:1.3;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset .55s ease-out,opacity .1s}
.fl-e.on{stroke-dashoffset:0;opacity:1}
.fl-volta{stroke:var(--nd-action);stroke-dasharray:none;opacity:0;transition:opacity .6s}
.fl-volta.on{opacity:1}
.fl-ev{fill:#FFF;stroke:var(--nd-ink);stroke-width:1.5;opacity:0;transition:opacity .4s}.fl-ev.on,.fl-tobe>.fl-ev:first-child{opacity:1}.fl-fim{stroke-width:3}
.fl-rotas{opacity:0;transition:opacity .5s}.fl-rotas.on{opacity:1}
.fl-rotas text,.fl-gw text{font:500 10.5px Inter,sans-serif;fill:var(--nd-muted)}
.fl-asis,.fl-tobe{transition:opacity .6s}
.fl-tobe{opacity:0}
.fl[data-fase=redesenho] .fl-asis,.fl[data-fase=proposta] .fl-asis{opacity:0}
.fl[data-fase=redesenho] .fl-tobe,.fl[data-fase=proposta] .fl-tobe{opacity:1}
.fl-mov{transform:translate(var(--x),var(--y));transition:transform 1.3s cubic-bezier(.65,0,.35,1),opacity .5s}
.fl[data-fase=redesenho] .fl-mov,.fl[data-fase=proposta] .fl-mov{transform:translate(var(--x2),var(--y2))}
.fl-gw,.fl-no{opacity:0}.fl-gw.on,.fl-no.on{opacity:1}
.fl-gw>path:first-child{fill:#FFF;stroke:var(--nd-action);stroke-width:1.2}.fl-gw-x{stroke:var(--nd-action);fill:none}
.fl-caixa{fill:#FFF;stroke:#C9CFD8;transition:fill .5s,stroke .5s}
.fl-faixa{stroke:var(--nd-action);stroke-width:2;opacity:.6}
.fl-rot{font:600 11.5px Inter,sans-serif;fill:var(--nd-ink)}
.fl-fonte{font:500 9.5px "DM Mono",ui-monospace,monospace;fill:var(--nd-action-strong)}
.fl-r2{opacity:0;transition:opacity .5s .7s}.fl-r1{transition:opacity .4s}
.fl[data-fase=redesenho] .fl-r1,.fl[data-fase=proposta] .fl-r1{opacity:0}
.fl[data-fase=redesenho] .fl-r2,.fl[data-fase=proposta] .fl-r2{opacity:1}
/* análise: cores por tipo, desperdício pulsa */
.fl[data-fase=analise] .fl-no.on2[data-tipo=value] .fl-caixa{fill:var(--nd-ok-soft);stroke:var(--nd-ok)}
.fl[data-fase=analise] .fl-no.on2[data-tipo=needed] .fl-caixa{fill:#F1F2F4;stroke:#8A919C}
.fl[data-fase=analise] .fl-no.on2[data-tipo=waste] .fl-caixa{fill:var(--nd-err-soft);stroke:var(--nd-err);animation:fl-pulso 1.6s ease-in-out infinite}
@keyframes fl-pulso{50%{stroke-width:3}}
.fl-w{opacity:0;transition:opacity .4s}
.fl[data-fase=analise] .fl-w.on{opacity:1}
.fl-w rect{fill:var(--nd-err)}.fl-w text{font:700 9px "DM Mono",monospace;fill:#FFF}
/* redesenho: o desperdício sai, o resto desliza */
.fl[data-fase=redesenho] .fl-no[data-tipo=waste],.fl[data-fase=proposta] .fl-no[data-tipo=waste]{opacity:0;transform:translate(var(--x2),calc(var(--y2) + 24px)) scale(.6)}
.fl[data-fase=redesenho] .fl-no .fl-caixa,.fl[data-fase=proposta] .fl-no .fl-caixa{fill:var(--nd-soft);stroke:var(--nd-action)}
.fl-novo{opacity:0}.fl-novo.on{opacity:1}
.fl-selo{opacity:0;transition:opacity .4s}
.fl[data-fase=proposta] .fl-selo.on{opacity:1}
.fl-selo text{font:700 8.5px Inter,sans-serif;letter-spacing:.04em}
.fl-selo.fl-auto rect{fill:var(--nd-action)}.fl-selo.fl-auto text{fill:#FFF}
.fl-selo.fl-pessoa rect{fill:#FDF4E7;stroke:#E5C48F}.fl-selo.fl-pessoa text{fill:#9E5F00}
/* painel de baixo: um bloco por fase */
.fl-painel{grid-area:painel;position:relative;background:#FFF;padding:18px 22px 20px;min-height:300px}
.fl p{max-width:none}
.fl .fl-rotulo{font-size:11px;line-height:1.4}
.fl .fl-trecho p,.fl .fl-tipo p{font-size:13px}
.fl-bloco{display:none}.fl-bloco.is-aberto{display:block;animation:fl-entra .5s ease-out}
@keyframes fl-entra{from{opacity:0;transform:translateY(6px)}}
.fl-painel [data-at]{opacity:0;transform:translateY(6px);transition:opacity .45s,transform .45s}
.fl-painel [data-at].on{opacity:1;transform:none}
.fl-tag{display:inline-block;font:500 10.5px "DM Mono",ui-monospace,monospace;color:var(--nd-action-strong);background:var(--nd-soft);border-radius:4px;padding:2px 6px;white-space:nowrap}
.fl-arqs-m{display:none}
.fl-tipos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fl-tipo{border:1px dashed #B9C4EE;background:var(--nd-soft);border-radius:8px;padding:12px 14px}
.fl-tipo strong{font-size:13.5px}
.fl-tipo p{margin:4px 0 0;line-height:1.45;color:var(--nd-muted)}
.fl-trechos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fl-trecho{border:1px solid var(--nd-border);border-left:3px solid var(--nd-action);border-radius:8px;padding:10px 12px}
.fl-trecho p{margin:6px 0 0;font-size:13px;line-height:1.45}
.fl-pop{margin:0;padding:0;list-style:none;counter-reset:p;display:grid;grid-template-columns:1fr 1fr;gap:6px 28px}
.fl-pop li{counter-increment:p;display:flex;align-items:baseline;gap:10px;font-size:13px;line-height:1.45;padding:5px 0;border-bottom:1px solid var(--nd-border)}
.fl-pop li::before{content:counter(p);font:600 11px "DM Mono",monospace;color:var(--nd-action);min-width:12px}
.fl-pop li>span:first-child{flex:1}
.fl-analise{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:18px}
.fl-contas{display:grid;gap:8px}
.fl-conta{display:flex;align-items:center;gap:12px;font-size:13px}
.fl-conta b{font:600 26px "Inter Tight",Inter,sans-serif;width:34px}
.fl-value b{color:var(--nd-ok)}.fl-needed b{color:#8A919C}.fl-waste b{color:var(--nd-err)}
.fl-desps,.fl-mudas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fl-desp,.fl-muda{border:1px solid var(--nd-border);border-radius:8px;padding:10px 12px;display:grid;gap:5px;align-content:start}
.fl-desp{border-left:3px solid var(--nd-err)}
.fl-desp strong,.fl-muda strong{font-size:13.5px}
.fl-desp p,.fl-muda p{margin:0;font-size:12.5px;line-height:1.45;color:var(--nd-muted)}
.fl-desp .fl-tag{justify-self:start}
.fl-wtag{justify-self:start;font:700 10px "DM Mono",monospace;color:#FFF;background:var(--nd-err);border-radius:8px;padding:1px 7px}
.fl-muda{grid-template-columns:auto auto 1fr;align-items:center;border-left:3px solid var(--nd-action)}
.fl-muda i{font-style:normal;color:var(--nd-action)}
.fl-muda p{grid-column:1/-1}
.fl-ganhos{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:12px;font-size:13px;color:var(--nd-muted)}
.fl-ganhos b{color:var(--nd-ink)}
.fl-prop{display:grid;gap:6px}
.fl-linha{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;gap:14px;align-items:center;text-align:left;font-size:13px;padding:5px 0;border-bottom:1px solid var(--nd-border)}
.fl-linha span{color:var(--nd-muted)}
.fl-linha em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.03em;border-radius:10px;padding:3px 10px;white-space:nowrap}
.fl-linha .fl-auto{background:var(--nd-action);color:#FFF}.fl-linha .fl-pessoa{background:#FDF4E7;color:#9E5F00}
.fl-entregas{margin:12px 0 0;font-size:13px;color:var(--nd-muted)}.fl-entregas b{color:var(--nd-ink)}
@media(max-width:1000px){.fl-trechos,.fl-tipos{grid-template-columns:1fr 1fr}.fl-analise{grid-template-columns:1fr}}
@media(max-width:700px){
 .fl{grid-template-columns:minmax(0,1fr);grid-template-areas:"lado" "topo" "palco" "painel" "trilha";min-height:0}
 .fl-lado .nd-brand{min-height:48px}
 .fl-capitulos{display:flex;overflow-x:auto;scrollbar-width:none;padding:8px}
 .fl-capitulos button{white-space:nowrap;padding:7px 10px;font-size:12px}
 .fl-topo{padding:9px 14px;font-size:12px}
 .fl-painel{padding:14px;min-height:300px}
 .fl-arqs-m{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
 .fl-arqs-m span{font-size:11.5px;border:1px solid var(--nd-border);border-radius:6px;padding:3px 7px}
 .fl-arqs-m b{font:500 10px "DM Mono",monospace;color:var(--nd-action);margin-right:5px}
 .fl-trechos,.fl-pop,.fl-desps,.fl-mudas{grid-template-columns:1fr}
 .fl-tipos{grid-template-columns:1fr 1fr}
 .fl-linha{grid-template-columns:1fr auto}.fl-linha span{display:none}
}
@media(prefers-reduced-motion:reduce){.fl *,.fl *::before{transition:none!important;animation:none!important}}
@media(max-width:700px){.fl-painel{min-height:480px}.fl-contas{display:flex;flex-wrap:wrap;gap:6px 18px}.fl-conta b{font-size:22px;width:auto}}
