/* Painel de conteúdo · telas. Celular primeiro (390 px), coluna única, no máximo 560 px no computador. */

#app{max-width:var(--max);margin:0 auto;min-height:100dvh;padding:calc(18px + var(--safe-t)) var(--gutter) calc(96px + var(--safe-b))}
.faixa-teste{position:sticky;top:0;z-index:30;margin:0 calc(var(--gutter) * -1) 14px;padding:7px var(--gutter);background:var(--red-soft);border-bottom:1px solid var(--red-line);color:var(--red);font:600 .7rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-align:center}

/* ---------------------------------------------------------------- topo */
.topo{display:flex;align-items:center;justify-content:space-between;min-height:44px}
.topo .mais{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--gold-deep);border-radius:2px;color:var(--gold-bright)}
.topo .mais:active{background:rgba(201,169,106,.12)}
.topo .mais svg{width:18px;height:18px}
.data-titulo{margin-top:22px;font:500 clamp(2rem,9.4vw,2.6rem)/1.06 var(--serif);letter-spacing:-.015em}
.data-titulo em{display:block;font-style:italic;font-weight:400;color:var(--gold-bright)}
.resumo-dia{margin-top:14px;color:var(--text-2);font-size:1.0625rem;line-height:1.45;max-width:30rem}
.aviso{margin-top:18px;padding:12px 14px;border:1px solid var(--line);background:var(--surface);color:var(--text-2);font-size:.9rem;line-height:1.45}
.aviso b{display:block;margin-bottom:3px;color:var(--gold-bright);font-weight:600}
.aviso--vermelho{border-color:var(--red-line);background:var(--red-soft)}

/* ---------------------------------------------------------------- seções */
.secao{margin-top:34px}
.secao__cab{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--gold-deep)}
.secao__cab h2{font:400 .78rem/1 var(--display);letter-spacing:.28em;color:var(--gold-bright);text-transform:uppercase}
.secao__cab .n{font:600 .75rem/1 var(--sans);color:var(--muted);letter-spacing:.08em}
.vazio{padding:22px 0;color:var(--muted);font:italic 400 1.05rem/1.45 var(--serif)}

/* ---------------------------------------------------------------- linhas de ação (com você agora) */
.acao{padding:20px 0 22px;border-bottom:1px solid var(--line-soft)}
.acao .rotulo{display:block}
.acao__titulo{margin-top:8px;font:500 1.375rem/1.25 var(--serif);letter-spacing:-.005em;text-wrap:balance}
.acao__gancho{margin-top:8px;font:italic 400 1.0625rem/1.4 var(--serif);color:var(--text-2)}
.acao__botoes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.acao__botoes--um{grid-template-columns:1fr}

/* ---------------------------------------------------------------- faixa da semana */
.faixa{margin-top:16px;width:100%;border-collapse:collapse;table-layout:fixed}
.faixa th,.faixa td{padding:0;text-align:center;height:34px}
.faixa th.canal,.faixa td.canal{width:84px;text-align:left;font:600 .6875rem/1.15 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-right:6px}
.faixa thead th{font:600 .6875rem/1 var(--sans);color:var(--muted);height:44px;vertical-align:bottom;padding-bottom:6px}
.faixa thead th span{display:block;font:500 1rem/1.2 var(--serif);color:var(--text-2);margin-top:3px}
.faixa thead th.hoje{color:var(--gold-bright)}
.faixa thead th.hoje span{color:var(--gold-bright);box-shadow:0 2px 0 var(--gold)}
.faixa tbody tr{border-top:1px solid var(--line-soft)}
.faixa td.passada{opacity:.4}
.marca{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle}
.marca--pronto{background:var(--gold)}
.marca--andamento{border:2px solid var(--gold-deep);background:transparent}
.marca--buraco{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}
.marca--passou{width:10px;height:2px;border-radius:0;background:var(--line)}
.marca--folga{width:8px;height:1px;border-radius:0;background:var(--line)}
.legenda{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;color:var(--muted);font-size:.78rem}
.legenda span{display:inline-flex;align-items:center;gap:7px}
.legenda .marca{width:10px;height:10px}
.legenda .marca--andamento{border-width:1.5px}
.legenda .marca--folga{width:12px;height:1px;background:var(--muted)}

/* ---------------------------------------------------------------- buracos */
.buraco{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line-soft)}
.buraco__quem{min-width:0}
.buraco__quem strong{display:block;font:500 1.125rem/1.25 var(--serif)}
.buraco__quem span{font-size:.84rem;color:var(--red)}
.buraco .btn{flex:none}

/* ---------------------------------------------------------------- listas compactas */
.item{display:block;width:100%;text-align:left;padding:16px 0;border-bottom:1px solid var(--line-soft)}
.item__topo{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.item__titulo{margin-top:6px;font:500 1.125rem/1.28 var(--serif);text-wrap:balance}
.item__meta{margin-top:5px;font-size:.84rem;color:var(--muted)}
.trilha{display:flex;gap:3px;margin-top:11px}
.trilha i{flex:1;height:3px;background:var(--line)}
.trilha i.feita{background:var(--gold-deep)}
.trilha i.atual{background:var(--gold-bright)}
details.naia{margin-top:30px;border-top:1px solid var(--line)}
details.naia summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:56px;cursor:pointer}
details.naia summary::-webkit-details-marker{display:none}
details.naia summary::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg);margin:-4px 4px 0 16px;transition:transform .18s ease}
details.naia[open] summary::after{transform:rotate(-135deg);margin-top:4px}

/* ---------------------------------------------------------------- tela Semana */
.sem-nav{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
.sem-nav h1{font:500 1.75rem/1.1 var(--serif);letter-spacing:-.01em}
.sem-nav p{margin-top:5px;color:var(--muted);font-size:.9rem}
.sem-nav .setas{display:flex;gap:8px}
.seta{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:2px;color:var(--gold-bright)}
.seta[disabled]{opacity:.3}
.seta svg{width:16px;height:16px}
.dia{margin-top:26px}
.dia__cab{display:flex;align-items:baseline;gap:10px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.dia__cab h2{font:500 1.375rem/1.2 var(--serif)}
.dia__cab .hoje{font:600 .6875rem/1 var(--sans);letter-spacing:.16em;color:var(--on-gold);background:var(--gold);padding:4px 7px 3px}
.dia.passado{opacity:.5}
.vaga{display:grid;grid-template-columns:76px 1fr;gap:12px;align-items:start;width:100%;text-align:left;padding:14px 0;border-bottom:1px solid var(--line-soft)}
.vaga__canal{font:600 .6875rem/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.vaga__canal b{display:block;margin-top:3px;color:var(--text-2);font-weight:500;letter-spacing:.04em;text-transform:none;font-size:.82rem}
.vaga__titulo{font:500 1.0625rem/1.3 var(--serif);text-wrap:balance}
.vaga__estado{display:block;margin-top:5px;font-size:.8rem;color:var(--muted)}
.vaga__estado.ouro{color:var(--gold-bright)}
.vaga--buraco .vaga__titulo{color:var(--red);font-family:var(--sans);font-weight:600;font-size:.9375rem}
.vaga--buraco .btn{margin-top:10px}
.vaga--passou .vaga__titulo{color:var(--muted);font:400 .9375rem/1.3 var(--sans)}
.sem-postagem{padding:12px 0;color:var(--muted);font-size:.875rem}

/* ---------------------------------------------------------------- tela Conteúdos */
.filtros{display:flex;gap:6px;margin-top:18px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.filtros::-webkit-scrollbar{display:none}
.filtro{flex:none;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:2px;color:var(--text-2);font-size:.8125rem;font-weight:500}
.filtro[aria-pressed="true"]{border-color:var(--gold);color:var(--on-gold);background:var(--gold);font-weight:600}
.tit-tela{margin-top:18px;font:500 1.75rem/1.1 var(--serif);letter-spacing:-.01em}

/* ---------------------------------------------------------------- tela Canais */
.canal{margin-top:30px;padding-top:22px;border-top:1px solid var(--gold-deep)}
.canal__cab{display:flex;align-items:center;justify-content:space-between;gap:14px}
.canal__cab h2{font:500 1.375rem/1.2 var(--serif)}
.canal__resumo{margin-top:6px;color:var(--text-2);font-size:.95rem}
.interruptor{position:relative;flex:none;width:60px;height:44px}
.interruptor::before{content:"";position:absolute;left:4px;top:7px;width:52px;height:30px;border:1px solid var(--line);border-radius:15px;background:var(--surface-2);transition:background-color .18s,border-color .18s}
.interruptor::after{content:"";position:absolute;left:8px;top:11px;width:22px;height:22px;border-radius:50%;background:var(--muted);transition:transform .18s,background-color .18s}
.interruptor[aria-checked="true"]::before{border-color:var(--gold);background:rgba(201,169,106,.18)}
.interruptor[aria-checked="true"]::after{transform:translateX(22px);background:var(--gold)}
.dias{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:16px}
.dia-btn{height:48px;border:1px solid var(--line);border-radius:2px;color:var(--text-2);font:500 1rem/1 var(--serif)}
.dia-btn[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--on-gold);font-weight:600}
.canal__linha{display:grid;grid-template-columns:1fr;gap:2px;margin-top:6px}
.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:2px;overflow:hidden}
.seg button{min-height:48px;color:var(--text-2);font-weight:500;font-size:.9375rem}
.seg button[aria-pressed="true"]{background:var(--gold);color:var(--on-gold);font-weight:600}
.conexao{display:flex;gap:10px;align-items:flex-start;margin-top:16px;color:var(--text-2);font-size:.875rem;line-height:1.4}
.conexao .marca{width:10px;height:10px;margin-top:5px;flex:none}
.conexao small{display:block;color:var(--muted);margin-top:2px}

/* ---------------------------------------------------------------- navegação de baixo */
.abas{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--bg);border-top:1px solid var(--line)}
.abas__in{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:var(--safe-b)}
.aba{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:64px;color:var(--muted);font:600 .625rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;position:relative}
.aba svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.aba[aria-current="page"]{color:var(--gold-bright)}
.aba[aria-current="page"]::before{content:"";position:absolute;top:-1px;left:22%;right:22%;height:2px;background:var(--gold)}
.aba .ponto{position:absolute;top:10px;left:calc(50% + 10px);min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--gold);color:var(--on-gold);font:700 .625rem/17px var(--sans);letter-spacing:0;text-align:center}

/* ---------------------------------------------------------------- folha do card */
.folha{position:fixed;inset:0;z-index:55;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch;animation:subir .22s ease-out}
@keyframes subir{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
.folha__in{max-width:var(--max);margin:0 auto;padding:0 var(--gutter) calc(48px + var(--safe-b))}
.folha__barra{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding-top:var(--safe-t);background:var(--bg);border-bottom:1px solid var(--line-soft);margin:0 calc(var(--gutter) * -1);padding-left:calc(var(--gutter) - 12px);padding-right:var(--gutter)}
.folha__barra .num{color:var(--muted);font-size:.8rem;letter-spacing:.08em}
.card-meta{margin-top:22px}
.card-titulo{margin-top:8px;font:500 clamp(1.7rem,7.6vw,2.1rem)/1.14 var(--serif);letter-spacing:-.012em;text-wrap:balance}
.trilha-grande{margin-top:22px}
.trilha-grande .trilha{margin-top:0;gap:4px}
.trilha-grande .trilha i{height:4px}
.trilha-grande p{margin-top:10px;font-size:.9rem;color:var(--text-2)}
.trilha-grande p b{color:var(--gold-bright);font-weight:600}
.bola{display:inline-block;margin-left:2px;padding:3px 8px 2px;border:1px solid var(--gold-deep);color:var(--gold-bright);font:600 .6875rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase}
.bola--bruno{background:var(--gold);color:var(--on-gold);border-color:var(--gold)}
.bloco{margin-top:28px;padding-top:22px;border-top:1px solid var(--gold-deep)}
.bloco h3{font:400 .78rem/1 var(--display);letter-spacing:.26em;color:var(--gold-bright);text-transform:uppercase;margin-bottom:14px}
.bloco p{color:var(--text-2)}
.gancho-grande{font:italic 400 1.375rem/1.35 var(--serif);color:var(--text);text-wrap:balance}
.legenda-box{margin-top:12px;padding:14px;background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;max-height:260px;overflow:auto;font-size:.95rem;line-height:1.55;color:var(--text-2)}
.linha-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 14px;margin-top:10px;border:1px solid var(--line);color:var(--text);text-decoration:none}
.linha-link span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.linha-link svg{flex:none;width:16px;height:16px;stroke:var(--gold);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dados{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin-top:14px;font-size:.9rem}
.dados dt{color:var(--muted)}
.dados dd{color:var(--text-2);min-width:0;overflow-wrap:anywhere}
.checks{display:grid;gap:8px;margin-top:6px}
.check{display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--text-2)}
.check .marca{width:12px;height:12px}
.grupo{margin-top:12px;border:1px solid var(--line-soft)}
.grupo summary{list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 14px;cursor:pointer;font:600 .8125rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--text-2)}
.grupo summary::-webkit-details-marker{display:none}
.grupo summary::after{content:"";width:7px;height:7px;border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(45deg);margin-top:-3px}
.grupo[open] summary::after{transform:rotate(-135deg);margin-top:3px}
.grupo[open]{border-color:var(--line)}
.grupo__corpo{padding:0 14px 18px}
.historico{margin-top:10px;font-size:.84rem;color:var(--muted)}
.historico li{padding:8px 0;border-bottom:1px solid var(--line-soft)}
.historico b{color:var(--text-2);font-weight:500}
.rodape-acoes{display:grid;gap:10px;margin-top:22px}

/* ---------------------------------------------------------------- janela de confirmação */
.modal{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;background:rgba(0,0,0,.62);animation:esmaece .18s ease-out}
@keyframes esmaece{from{opacity:0}to{opacity:1}}
.modal__caixa{width:100%;max-width:var(--max);margin:0 auto;background:var(--surface);border-top:1px solid var(--gold-deep);padding:26px var(--gutter) calc(24px + var(--safe-b));animation:subir .22s ease-out}
.modal__caixa h2{font:500 1.5rem/1.2 var(--serif);text-wrap:balance}
.modal__caixa p{margin-top:12px;color:var(--text-2)}
.modal__caixa .resumo{margin-top:14px;padding:14px;background:var(--bg);border:1px solid var(--line);font-size:.92rem;line-height:1.5;color:var(--text-2);max-height:34vh;overflow:auto;white-space:pre-wrap}
.modal__caixa .acoes{display:grid;gap:10px;margin-top:20px}
.canais-escolha{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}

/* ---------------------------------------------------------------- pequenos acertos */
svg.ic{display:block;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.btn svg.ic{width:16px;height:16px}
.titulo-link{display:block;width:100%;text-align:left;font:inherit;letter-spacing:inherit;color:inherit;padding:10px 0;margin:-10px 0}
.titulo-link:active{color:var(--gold-bright)}
.folha__barra .btn--quiet{gap:4px;padding-left:6px}

/* ---------------------------------------------------------------- varios horarios por dia */
.marcas{display:inline-flex;gap:5px;align-items:center;justify-content:center}
.marca--p{width:11px;height:11px}
.marca--p.marca--andamento{border-width:1.5px}
.marca--p.marca--buraco{box-shadow:0 0 0 2px var(--red-soft)}
.marca--p.marca--passou{width:8px;height:2px}
.horas{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hora-linha{display:flex;align-items:center;gap:2px}
.hora-linha input[type=time]{width:158px}
.hora-x{width:44px;height:44px;display:grid;place-items:center;color:var(--text-2)}
.hora-x svg{width:16px;height:16px}
