/* Ciclo 2 · Lane 3 — painel: menu de 6 itens, Visão geral, Descobertas, Ofertas, Criativos, Operação, dossiê.
   Mesma estratégia do Cash Flow Club: profundidade só por bordas, raio 3/5 px, base 4 px, aqua sobre preto profundo. */
:root{--ok:#5fe0a1;--okbg:rgba(95,224,161,.09)}
:root[data-theme=light]{--ok:#0b6b3f;--okbg:rgba(11,107,63,.09)}

/* legibilidade mínima: nada abaixo de 12 px */
.tag{font-size:12px;line-height:18px}
.kv dt,.mut{font-size:max(12px,1em)}

/* ── faixa de abas de Operação ── */
.subnav{display:flex;gap:4px;overflow-x:auto;margin:0 0 16px;padding:0 0 1px;border-bottom:1px solid var(--line);scrollbar-width:thin}
.subnav a{flex:none;padding:10px 14px;min-height:44px;display:inline-flex;align-items:center;color:var(--tx2);text-decoration:none;border-bottom:2px solid transparent;font-weight:500;white-space:nowrap}
.subnav a:hover{color:var(--tx);background:var(--aqbg)}
.subnav a[aria-current=page]{color:var(--aq);border-bottom-color:var(--aq)}

/* ── avisos operacionais (orçamento, credenciais) ── */
.notices{display:grid;gap:8px;margin:0 0 14px}
.notice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line2);border-left-width:3px;border-radius:var(--r2);background:var(--s1)}
.notice.bad{border-color:var(--redln);background:var(--redbg)}
.notice.warn{border-color:var(--amb);background:var(--ambbg)}
.notice b{display:block;font-size:14px}.notice p{margin:2px 0 0;color:var(--tx2);font-size:13px}
.notice .btn{white-space:nowrap}

/* ── KPIs ── */
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 14px}
.kpi{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--s1);border:1px solid var(--line);border-radius:var(--r2);text-decoration:none;color:var(--tx);min-height:92px;transition:border-color var(--t1) var(--ease),background var(--t1) var(--ease)}
.kpi:hover{border-color:var(--aq3);background:var(--s2)}
.kpi-l{font:600 12px/1.3 var(--f-ui);color:var(--mut)}
.kpi-v{font:600 30px/1.1 var(--f-mono);font-variant-numeric:tabular-nums;color:var(--tx);letter-spacing:-.02em}
.kpi.warn .kpi-v{color:var(--amb)}
.kpi-s{font-size:12px;color:var(--tx2)}

/* ── card "Ofertas novas" e funil ── */
.ofc-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:12px 14px 6px}
.ofc-n{font:600 28px/1 var(--f-mono);color:var(--amb)}
.ofc-c{display:flex;flex-wrap:wrap;gap:4px;margin-left:auto}
.fmini{list-style:none;margin:0;padding:0}
.fmini li a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:10px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--tx);min-height:44px;align-items:center}
.fmini li a:hover{background:var(--aqbg)}
.fmini b{font:600 16px var(--f-mono);font-variant-numeric:tabular-nums}
.fm-b{grid-column:1/-1;height:4px;background:var(--grid);border-radius:2px;overflow:hidden}
.fm-b i{display:block;height:100%;width:var(--v);background:var(--aq2)}
.fmini .rej .fm-b i{background:var(--redln)}
.fm-l{color:var(--tx2)}

/* ── Parecer do agente ── */
.parecer{margin:14px 0;border-color:var(--aq3);background:linear-gradient(180deg,var(--aqbg),transparent 70%),var(--s1)}
.parecer .plain{margin:0;padding-left:18px}.parecer .plain li{margin:4px 0;max-width:80ch}
.parecer q{color:var(--tx);font-style:italic}
.parecer-sec dt{color:var(--aq)}
.parecer-f li{grid-template-columns:auto 1fr auto}

/* ── Descobertas ── */
.disc-sum{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 12px;color:var(--tx2)}
.disc-table .fam{display:block}.disc-table small{display:block;overflow-wrap:anywhere}
.disc-table .acts{display:flex;flex-wrap:wrap;gap:6px}

/* ── Ofertas ── */
.of-sec{margin:0 0 22px}.of-sec>h3{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:16px}
.of-sec>h3 .n{font:600 12px var(--f-mono);color:var(--mut)}
.ofc-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px}
.ofc{display:flex;flex-direction:column;gap:8px;padding:14px;background:var(--s1);border:1px solid var(--line);border-left:3px solid var(--line2);border-radius:var(--r2);min-width:0}
.ofc.conf{border-left-color:var(--ok)}.ofc.cand{border-left-color:var(--amb)}
.ofc header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.ofc h4{margin:0;font-size:15px;overflow-wrap:anywhere}.ofc header p{margin:2px 0 0;font-size:12px}
.ofc blockquote{margin:0;padding:6px 10px;border-left:2px solid var(--aq3);background:var(--aqbg);color:var(--tx);font-size:13px;overflow-wrap:anywhere}
.ofc .ev-meta,.ofc-r{margin:0;font-size:12px;overflow-wrap:anywhere}.ofc-r{color:var(--tx2)}
.ofc footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;border-top:1px solid var(--line);font-size:12px}
.ofc .mini-tl{margin:0}

/* ── Criativos (galeria) ── */
.cr-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:12px}
.cr{display:flex;flex-direction:column;background:var(--s1);border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;min-width:0}
.cr.loose{border-style:dashed}
.cr-w{position:relative;aspect-ratio:4/5;background:var(--inp);overflow:hidden}
.cr-m{width:100%;height:100%;object-fit:cover;display:block}
.cr-m.none{display:grid;place-items:center;color:var(--mut);font:12px var(--f-mono);text-align:center;padding:12px}
.cr-w .thumb{width:100%!important;height:100%!important;object-fit:cover}
.cr-f{position:absolute;top:8px;left:8px;background:var(--bg);margin:0}
.cr-b{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px}
.cr-b p{margin:0}.cr-s{font-weight:600;overflow-wrap:anywhere}
.cr-t{color:var(--tx2);font-size:13px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.cr-d{font-size:12px}.cr-a{display:flex;flex-wrap:wrap;gap:6px}

/* ── Mudanças: miniaturas antes→depois ── */
.img-ref{display:inline-flex;flex-direction:column}.img-ref small{color:var(--mut);font:12px var(--f-mono);overflow-wrap:anywhere}

/* ── Operação ── */
.opcards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}
.opcards a{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 40px 16px 16px;min-height:96px;background:var(--s1);border:1px solid var(--line);border-radius:var(--r2);text-decoration:none;color:var(--tx);transition:border-color var(--t1) var(--ease)}
.opcards a:hover{border-color:var(--aq3);background:var(--s2)}
.opcards b{font-size:15px}.opcards span{color:var(--tx2);font-size:13px}.opcards i{position:absolute;right:16px;top:16px;color:var(--aq);font-style:normal}
.anchors{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.danger-zone{margin:28px 0 8px;padding:16px 18px;border:1px solid var(--redln);border-radius:var(--r2);background:var(--redbg)}
.danger-zone h3{margin:0 0 6px;color:var(--red)}.danger-zone p{margin:0 0 12px;max-width:70ch}

/* ── botões/controles: alvo de toque ── */
@media (pointer:coarse),(max-width:760px){
  button,.btn,select,input:not([type=checkbox]):not([type=radio]),.subnav a{min-height:44px}
  .sm,button.sm,.btn.sm{min-height:44px;padding-inline:14px}
  .tabs button{min-height:44px}
}
@media (max-width:1180px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi-v{font-size:24px}
  .notice{grid-template-columns:auto 1fr}.notice .btn{grid-column:1/-1;justify-content:center}
  .tabs{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.tabs button{flex:none}
  .ofc-g,.cr-g{grid-template-columns:1fr}
  .cr-w{aspect-ratio:16/10}
  .tape{overflow-x:auto}
  .tape .tk{flex:none}
}
@media (prefers-reduced-motion:reduce){.kpi,.opcards a{transition:none}}
.ofc header .tag{flex:none;white-space:nowrap}

/* lista de lojas: cabeçalhos e números nunca quebram letra a letra; offertas em linha compacta */
.lj-table th{white-space:nowrap;vertical-align:bottom}
.lj-table td.num,.lj-table th.num{white-space:nowrap}
.lj-table .obs-badges{display:flex;flex-wrap:wrap;gap:4px;max-width:220px}
.lj-table .obs-badges .tag{margin:0;white-space:nowrap}
.lj-table td:nth-child(3){max-width:200px}
.lj-tbl .tw{overflow-x:auto}
.lj-table th:nth-child(2),.lj-table td:nth-child(2){width:150px;max-width:170px}
.lj-table th:nth-child(3),.lj-table td:nth-child(3){width:110px;max-width:130px}
.lj-table th,.lj-table td{padding-inline:8px}
.lj-table .obs-badges{max-width:150px}
.lj-table abbr{text-decoration:none;cursor:help}
.lj-table th:first-child,.lj-table td:first-child{width:200px;max-width:220px;overflow-wrap:anywhere}
.lj-table th:nth-child(4),.lj-table td:nth-child(4){width:90px}

/* ── Risco de falsificação ── */
.risk-score{flex:none;display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 8px;border:1px solid var(--line2);border-radius:var(--r2);font:600 18px var(--f-mono);font-variant-numeric:tabular-nums}
.ofc.risk-strong{border-left-color:var(--red)}.ofc.risk-strong .risk-score{border-color:var(--redln);color:var(--red)}
.risk-h{display:flex;gap:12px;align-items:flex-start;margin:0 0 8px}.risk-h .risk-score{width:52px;height:52px;font-size:22px}
.risk-note{margin:8px 0;padding:8px 10px;border-left:2px solid var(--amb);background:var(--ambbg);color:var(--tx2);max-width:80ch}
.risk-kv{margin:4px 0}.risk-sig blockquote{margin:4px 0}.risk-sig li{grid-template-columns:auto 1fr auto;align-items:start}
.risk-d summary{cursor:pointer;min-height:32px;color:var(--aq)}
.parecer-risk{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.parecer-risk h4{margin:0 0 8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}

/* ── Ciclo 3: nota na galeria, leitura crítica, estrutura do parecer ── */
.cr-nt{position:absolute;top:8px;right:8px;background:var(--bg);margin:0;font-variant-numeric:tabular-nums}
.cr-m.none small{display:block;margin-top:8px;font:11px/1.4 var(--f-mono);opacity:.85}
.cr-a{display:flex;flex-wrap:wrap;gap:6px}
.leitura{border-top:1px solid var(--line);margin-top:8px;padding-top:10px;font-size:13px;overflow-wrap:anywhere}
.leitura[hidden]{display:none}
.leitura-h{display:flex;gap:12px;align-items:center;margin-bottom:8px}
.leitura-h p{margin:0 0 4px}
.leitura-g{display:grid;place-items:center;min-width:56px;height:56px;border:1px solid var(--line);border-radius:var(--r2);background:var(--s1)}
.leitura-g b{font-size:22px;line-height:1}.leitura-g small{font:11px var(--f-mono);color:var(--mut)}
.leitura-g.ok{border-color:var(--aq3)}.leitura-g.warn{border-color:var(--amb)}.leitura-g.bad{border-color:var(--redln)}
.leitura-f dd small{display:block;color:var(--mut)}
.leitura-r{margin:6px 0}.leitura-c{margin:8px 0 0;font-size:12px}
.leitura-empty{margin:0;padding:8px 0}
.parecer-prof{margin-top:12px}
.parecer-prof summary{cursor:pointer;min-height:32px;display:flex;align-items:center}
.pn>header{min-width:0}.pn>header h3{min-width:0;overflow-wrap:anywhere}
.leitura .kv{grid-template-columns:1fr;gap:2px 0}.leitura .kv dt{margin-top:6px;font:11px var(--f-ui);color:var(--mut)}.leitura .kv dd{margin:0}
.of-rule{margin:0 0 12px;padding:8px 12px;border-left:3px solid var(--line2);background:var(--s1);border-radius:var(--r2);font-size:13px;line-height:1.5}
.of-out{margin-top:18px;border-top:1px solid var(--line);padding-top:10px}
.of-out>summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center;gap:8px}
.of-out .ofc-wrap{display:flex;flex-direction:column;gap:4px;min-width:0}
/* ── Central de alertas e Resumo do dia (ciclo 5) ── */
.al-day{margin:0 0 12px}
.al-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.al-top,.al-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.al-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:start;padding:12px 4px;border-top:1px solid var(--line)}
.al-row:first-child{border-top:0}
.al-row.read{opacity:.6}
.al-row h4{margin:0 0 2px;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.al-h{margin:0 0 4px;color:var(--tx2);font-size:13px;line-height:1.5}
.al-a{margin:6px 0 0;font-size:13px;line-height:1.5}
.al-main{min-width:0}
.al-main details>summary{cursor:pointer;color:var(--tx2);font-size:12px;min-height:28px;display:flex;align-items:center}
.al-sig{margin:6px 0 0;display:flex;flex-direction:column;gap:6px;font-size:12px}
.al-score{display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;padding:6px 0;border:1px solid var(--line2);border-radius:var(--r1);font-variant-numeric:tabular-nums;line-height:1}
.al-score b{font:600 20px/1 var(--f-mono)}.al-score small{font-size:10px;margin-top:3px;color:var(--tx2);letter-spacing:.02em}
.al-score.bad{border-color:var(--redln);background:var(--redbg)}.al-score.bad b{color:var(--red)}
.al-score.warn{border-color:var(--amb)}.al-score.warn b{color:var(--amb)}
.al-score.ok b{color:var(--aq)}
.al-btns{display:flex;flex-direction:column;gap:6px}
.al-f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
.al-bar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:6px;flex-wrap:wrap}
.al-pg{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--line);margin-top:4px}
.al-del{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.al-del>summary{cursor:pointer;min-height:36px;display:flex;align-items:center}
.al-delf{display:grid;gap:10px;margin-top:8px;max-width:520px}
@media (max-width:700px){
  .al-row{grid-template-columns:auto minmax(0,1fr)}
  .al-btns{grid-column:1/-1;flex-direction:row}
  .al-btns button,.al-btns .btn{min-height:44px;flex:1}
  .al-f{grid-template-columns:1fr}
  .al-pg button{min-height:44px}
}
@media (prefers-reduced-motion:reduce){.al-score{transition:none}}
.fmini .unv .fm-b i{background:var(--amb)}

/* item aberto por último: destaque breve ao voltar para a lista */
.nav-focus { outline: 2px solid var(--aq, #2ee6c8); outline-offset: 3px; border-radius: 6px; animation: nav-focus-fade 2.4s ease-out forwards; }
@keyframes nav-focus-fade { 0%, 70% { outline-color: var(--aq, #2ee6c8); background-color: color-mix(in srgb, var(--aq, #2ee6c8) 14%, transparent); } 100% { outline-color: transparent; background-color: transparent; } }
@media (prefers-reduced-motion: reduce) { .nav-focus { animation: none; } }

/* Padrões vencedores: a 1ª coluna de .rows (14px, feita para o ponto de status) espremia o rótulo da dimensão em vertical */
.rows.rows-pat li { grid-template-columns: minmax(64px, 112px) minmax(0, 1fr) auto; }
.rows.rows-pat li > .tag { justify-self: start; white-space: normal; overflow-wrap: anywhere; }

/* ── Etapa views BaseX: ações do cabeçalho no mobile, vistas em tabela, contexto ───────── */
@media (max-width:760px){
  main .app-head{flex-wrap:wrap}
  main .app-head .app-acts{flex:1 1 100%;min-width:0}
  main .app-head .app-acts .btn,main .app-head .app-acts button{flex:1 1 auto;min-height:44px;justify-content:center;text-align:center}
}
.cr-tab td,.of-tab td{vertical-align:top}
.cr-tab .cr-tt{max-width:46ch;overflow-wrap:anywhere}
.cr-tab tr.loose td:first-child{border-left:2px dashed var(--line2)}
.cr-tab .cr-a,.of-tab td:last-child{white-space:normal}
.cr-tab .cr-a{display:flex;flex-wrap:wrap;gap:6px}
.of-tab td small,.cr-tab td small{display:block;color:var(--mut);margin-top:2px}
