:root{
  --tinta:#1B1916; --carvao:#262320; --campo:#302C28; --linha:#45403A; --linha-forte:#5A544C;
  --osso:#F3EDE2; --agulha:#ABA294; --ouro:#D6B46A; --stencil:#B3A6F5;
  --pago:#8FD3A8; --alerta:#FF9C8A;
  --ouro-fundo:rgba(214,180,106,.14); --stencil-fundo:rgba(179,166,245,.14);
  --r-campo:10px; --r-bloco:6px;
  --fs-xs:13px; --fs-s:15px; --fs-m:17px; --fs-l:21px; --fs-xl:26px; --fs-xxl:34px; --fs-hero:44px;
  color-scheme: dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:var(--tinta); color:var(--osso);
  font-family:"Archivo",system-ui,sans-serif; font-size:var(--fs-m); line-height:1.45;
  font-variant-numeric:tabular-nums; -webkit-font-smoothing:antialiased;
}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--osso)}
.cond{font-stretch:72%}
h1,h2,h3{margin:0;font-weight:700;font-stretch:72%;letter-spacing:.005em;line-height:1.1}
h1{font-size:var(--fs-xxl)}
h2{font-size:var(--fs-l)}
h3{font-size:var(--fs-m);font-stretch:100%;font-weight:600}
p{margin:0}
.apoio{color:var(--agulha)}
.pequeno{font-size:var(--fs-xs)}
.ouro{color:var(--ouro)} .stencil{color:var(--stencil)}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:3px solid var(--osso);outline-offset:2px;border-radius:4px}
.pular{position:absolute;left:12px;top:-60px;background:var(--osso);color:var(--tinta);padding:10px 14px;border-radius:6px;z-index:50}
.pular:focus{top:12px}

/* Estrutura */
.app{display:grid;grid-template-columns:224px 1fr;min-height:100vh}
.trilho{border-right:1px solid var(--linha);padding:24px 16px;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:28px}
.marca{display:flex;flex-direction:column;gap:2px;padding:0 8px}
.marca b{font-size:var(--fs-xl);font-stretch:72%;font-weight:800;letter-spacing:.01em}
.marca span{font-size:var(--fs-xs);color:var(--agulha)}
.trilho nav{display:flex;flex-direction:column;gap:4px}
.trilho a,.trilho button.futuro{display:flex;justify-content:space-between;align-items:center;text-decoration:none;padding:10px 12px;border-radius:var(--r-bloco);font-size:var(--fs-s);font-weight:600;color:var(--osso);background:none;border:0;text-align:left;cursor:pointer;width:100%}
.trilho a:hover{background:var(--carvao)}
.trilho a[aria-current="page"]{background:var(--osso);color:var(--tinta)}
.trilho .grupo-futuro{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--linha);padding-top:16px}
.trilho .grupo-futuro p{font-size:var(--fs-xs);color:var(--agulha);padding:0 12px 6px}
.trilho button.futuro{color:var(--agulha);font-weight:400}
.trilho button.futuro:hover{background:var(--carvao)}
.usuario{margin-top:auto;padding:12px;border-top:1px solid var(--linha);font-size:var(--fs-s)}
.usuario select{background:var(--campo);border:1px solid var(--linha);border-radius:8px;padding:6px 8px;width:100%;margin-top:6px}
main{padding:28px 40px 64px;max-width:1240px;width:100%}
.abas{display:none}

/* Cabeçalho de tela */
.cabeca{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.cabeca .apoio{margin-top:6px;font-size:var(--fs-s)}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--r-campo);border:1px solid var(--linha-forte);background:var(--campo);font-weight:600;font-size:var(--fs-s);cursor:pointer;text-decoration:none;color:var(--osso)}
.btn:hover{border-color:var(--osso)}
/* ciclo 28: preenchido só o que está selecionado; a ação principal se destaca pelo contorno forte */
.btn.principal{border:2px solid var(--osso);font-weight:700}
.btn.principal:hover{background:var(--carvao)}
.btn.ativo,.btn.ativo:hover{background:var(--osso);color:var(--tinta);border-color:var(--osso)}
.btn.principal[aria-disabled="true"]{background:var(--campo);color:var(--agulha);border-color:var(--linha);cursor:not-allowed}
.btn.leve{background:none;border-color:transparent;text-decoration:underline;text-underline-offset:3px;padding:0 8px}
.btn.pq{min-height:40px;padding:0 14px}

/* Régua da divisão: o elemento memorável */
.regua{display:flex;height:14px;border-radius:3px;overflow:hidden;background:var(--campo);gap:2px}
.regua i{display:block;height:100%;transition:flex-basis .28s ease-out;flex:0 0 0}
.regua .r-est{background:var(--ouro)}
.regua .r-art{background:var(--stencil)}
.regua .r-imp{background:repeating-linear-gradient(135deg,var(--agulha) 0 2px,transparent 2px 6px);opacity:.75}
.regua.grande{height:22px}
.legenda{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:10px;font-size:var(--fs-s)}
.legenda span{display:inline-flex;align-items:baseline;gap:8px}
.legenda b{font-weight:700}
.marcador{width:10px;height:10px;border-radius:2px;display:inline-block;transform:translateY(-1px)}
.m-est{background:var(--ouro)} .m-art{background:var(--stencil)}
.m-imp{background:repeating-linear-gradient(135deg,var(--agulha) 0 2px,transparent 2px 4px)}
@media (prefers-reduced-motion:reduce){.regua i{transition:none}}

/* Hoje */
.dia-topo{padding:4px 0 28px;border-bottom:1px solid var(--linha);margin-bottom:28px}
.dia-total{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:18px 0 14px}
.dia-total .valor{font-size:var(--fs-hero);font-weight:700;font-stretch:72%;line-height:1}
.dia-onde{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:14px;font-size:var(--fs-s);color:var(--agulha)}
.dia-onde b{color:var(--osso);font-weight:600}
.duas{display:grid;grid-template-columns:1.15fr 1fr;gap:28px;margin-bottom:36px}
.bloco{background:var(--carvao);border-radius:var(--r-bloco);padding:20px 20px 8px}
.bloco > header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.lista{list-style:none;margin:0;padding:0}
.lista > li{border-top:1px solid var(--linha);padding:14px 0}
.lista > li:first-child{border-top:0}
.receber{display:grid;grid-template-columns:56px 1fr auto;grid-template-areas:'hora quem falta' 'hora quem acao';gap:6px 14px;align-items:start}
.receber .hora{grid-area:hora;padding-top:2px}.receber .quem{grid-area:quem}.receber .falta{grid-area:falta}
.receber .hora{font-weight:700;font-stretch:72%;font-size:var(--fs-l)}
.receber .quem b{font-weight:600}
.receber .quem p{font-size:var(--fs-s);color:var(--agulha)}
.receber .falta{text-align:right}
.receber .falta b{display:block;font-size:var(--fs-l);font-weight:700;font-stretch:72%}
.receber .acao{grid-area:acao;justify-self:end}
.acerto-linha{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;background:none;border:0;padding:0;text-align:left;cursor:pointer}
.acerto-linha:hover .nome{text-decoration:underline;text-underline-offset:3px}
.acerto-linha .nome{font-weight:600}
.acerto-linha .frase{font-size:var(--fs-s);color:var(--agulha)}
.acerto-linha .v{font-size:var(--fs-l);font-weight:700;font-stretch:72%}
.vazio{padding:18px 0 22px;color:var(--agulha);font-size:var(--fs-s)}

.livro{width:100%;border-collapse:collapse;font-size:var(--fs-s)}
.livro caption{text-align:left;padding-bottom:10px}
.livro th{font-weight:600;color:var(--agulha);text-align:left;padding:8px 10px;border-bottom:1px solid var(--linha-forte);font-size:var(--fs-xs)}
.livro td{padding:11px 10px;border-bottom:1px solid var(--linha);vertical-align:middle}
.livro .dir{text-align:right}
.livro tbody tr:hover{background:var(--carvao)}
.forma{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid var(--linha-forte);font-size:var(--fs-xs);white-space:nowrap}
.forma.pix_artista{border-color:var(--stencil);color:var(--stencil)}

/* Novo atendimento */
.form-grade{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
fieldset{border:0;margin:0 0 30px;padding:0;min-width:0}
legend{font-weight:700;font-stretch:72%;font-size:var(--fs-l);margin-bottom:12px;padding:0}
.passo-dica{font-size:var(--fs-s);color:var(--agulha);margin:-6px 0 12px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo label{font-size:var(--fs-s);font-weight:600}
.entrada{background:var(--campo);border:1px solid var(--linha-forte);border-radius:var(--r-campo);min-height:52px;padding:0 14px;font-size:var(--fs-l);width:100%}
.entrada:focus-visible{outline:3px solid var(--osso);outline-offset:2px}
.entrada::placeholder{color:#8C8478}
.entrada.dinheiro{font-size:var(--fs-xxl);font-weight:700;font-stretch:72%;min-height:64px}
.entrada.pq{font-size:var(--fs-m);min-height:46px}
.erro-campo{color:var(--alerta);font-size:var(--fs-s)}
.resultados{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.cliente-op{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 14px;background:var(--carvao);border:1px solid var(--linha);border-radius:var(--r-campo);cursor:pointer;text-align:left}
.cliente-op:hover{border-color:var(--osso)}
.cliente-op small{display:block;color:var(--agulha);font-size:var(--fs-xs)}
.cliente-escolhido{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--osso);border-radius:var(--r-campo)}
.cliente-escolhido b{font-weight:600}
.aviso{border-left:3px solid var(--alerta);padding:10px 14px;background:rgba(255,156,138,.08);font-size:var(--fs-s);margin-top:10px;border-radius:0 6px 6px 0}
.aviso.neutro{border-left-color:var(--agulha);background:var(--carvao)}
.aviso label{display:flex;gap:10px;align-items:center;margin-top:8px;font-weight:600}
.aviso input{width:20px;height:20px;accent-color:var(--osso)}

.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:6px;min-height:46px;padding:0 16px;border-radius:999px;border:1px solid var(--linha-forte);background:var(--campo);font-size:var(--fs-s);font-weight:600;cursor:pointer;white-space:nowrap}
.chip span small{font-weight:400;color:var(--agulha)}
.chip:hover span{border-color:var(--osso)}
.chip input:checked + span{background:var(--osso);color:var(--tinta);border-color:var(--osso)}
.chip input:checked + span small{color:#5b554d}
.chip input:focus-visible + span{outline:3px solid var(--osso);outline-offset:3px}
.chips.artistas{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}
.chips.artistas .chip span{width:100%;justify-content:space-between;border-radius:var(--r-campo);min-height:52px}

.pagto{border:1px solid var(--linha);border-radius:var(--r-bloco);padding:16px;margin-bottom:12px}
.pagto-topo{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px}
.pagto-topo b{font-size:var(--fs-l);font-weight:700;font-stretch:72%}
.pagto .sub{margin-top:12px}
.pagto .sub > p{font-size:var(--fs-xs);color:var(--agulha);margin-bottom:8px}
.linha-campos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
select.entrada{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--osso) 50%),linear-gradient(135deg,var(--osso) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:36px}

.divisao{position:sticky;top:24px;background:var(--carvao);border-radius:var(--r-bloco);padding:22px}
.divisao h2{margin-bottom:4px}
.divisao .regua{margin:16px 0 18px}
.div-linhas{list-style:none;margin:0;padding:0}
.div-linhas li{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-top:1px solid var(--linha)}
.div-linhas li:first-child{border-top:0}
.div-linhas .v{font-size:var(--fs-xl);font-weight:700;font-stretch:72%}
.div-linhas .v.menor{font-size:var(--fs-m);font-weight:600;font-stretch:100%}
.frase-acerto{margin:16px 0 18px;padding:14px;border-radius:var(--r-campo);background:var(--tinta);font-size:var(--fs-s)}
.frase-acerto b{font-size:var(--fs-m)}
.divisao .btn{width:100%}
.pendencias{margin-top:10px;font-size:var(--fs-s);color:var(--alerta)}
.pendencias ul{margin:4px 0 0;padding-left:18px}
.barra-movel{display:none}

/* Acerto */
.acerto-grade > *{min-width:0}
.acerto-grade{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start}
.artistas-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;position:sticky;top:24px}
.artistas-lista button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border-radius:var(--r-bloco);background:none;border:1px solid transparent;cursor:pointer;text-align:left}
.artistas-lista button:hover{background:var(--carvao)}
.artistas-lista button[aria-pressed="true"]{background:var(--carvao);border-color:var(--osso)}
.artistas-lista .linha1{display:flex;justify-content:space-between;width:100%;gap:8px;font-weight:600}
.artistas-lista .linha2{font-size:var(--fs-xs);color:var(--agulha)}
.periodo{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}
.itens td.marca-col{width:44px}
.itens input[type=checkbox]{width:22px;height:22px;accent-color:var(--osso);cursor:pointer}
.itens tr.fora td{color:var(--agulha)}
.itens tr.fora td.efeito{opacity:.55}
.efeito{font-weight:700;font-stretch:72%;font-size:var(--fs-m)}
.efeito small{display:block;white-space:normal;font-weight:400;font-stretch:100%;font-size:var(--fs-xs);color:var(--agulha)}
.efeito.a-favor-art{color:var(--stencil)} .efeito.a-favor-est{color:var(--ouro)}
.resumo-lote{margin-top:24px;background:var(--carvao);border-radius:var(--r-bloco);padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.resumo-lote .frase-grande{font-size:var(--fs-xxl);font-weight:700;font-stretch:72%;line-height:1.1;margin:6px 0 10px}
.contas{list-style:none;padding:0;margin:0;font-size:var(--fs-s)}
.contas li{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid var(--linha)}
.contas li:first-child{border-top:0}
.parcial{font-size:var(--fs-s);margin-top:10px}
.recibo{margin-top:24px;border:1px solid var(--osso);border-radius:var(--r-bloco);padding:20px}
.recibo textarea{width:100%;min-height:360px;background:var(--tinta);border:1px solid var(--linha);border-radius:var(--r-campo);padding:14px;font-size:var(--fs-s);line-height:1.5;resize:vertical;margin:12px 0}
.botoes{display:flex;flex-wrap:wrap;gap:10px}
.historico{margin-top:32px;overflow-x:auto}

/* Aviso flutuante */
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--osso);color:var(--tinta);padding:12px 12px 12px 18px;border-radius:var(--r-campo);display:flex;gap:14px;align-items:center;font-weight:600;font-size:var(--fs-s);z-index:60;max-width:calc(100vw - 32px)}
.toast[hidden]{display:none}
.toast button{background:none;border:1px solid var(--tinta);border-radius:8px;min-height:40px;padding:0 12px;font-weight:700;color:var(--tinta);cursor:pointer}
.toast button:focus-visible{outline-color:var(--tinta)}

/* Tablet */
@media (max-width:1180px){
  main{padding:24px 28px 64px}
  .form-grade{grid-template-columns:minmax(0,1fr) 320px;gap:28px}
  .duas{grid-template-columns:1fr}
  .resumo-lote{grid-template-columns:1fr}
}
@media (max-width:1180px){
  .acerto-grade{grid-template-columns:minmax(0,1fr)}
  .artistas-lista{position:static;flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:6px;scrollbar-width:thin}
  .artistas-lista li{flex:0 0 auto}
  .artistas-lista button{border-color:var(--linha);min-width:150px}
}
/* Celular */
@media (max-width:820px){
  body{font-size:var(--fs-m)}
  .app{grid-template-columns:1fr}
  .trilho{display:none}
  main{padding:18px 16px 120px}
  h1{font-size:30px}
  .abas{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));position:fixed;left:0;right:0;bottom:0;background:var(--tinta);border-top:1px solid var(--linha-forte);z-index:40;padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:8px}
  .abas a{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:var(--r-campo);text-decoration:none;font-weight:600;font-size:var(--fs-s)}
  .abas a.novo{border:2px solid var(--osso)}
  .abas a[aria-current="page"]{background:var(--osso);color:var(--tinta)}
  .cabeca .btn.so-desk{display:none}
  .dia-total .valor{font-size:40px}
  .form-grade{grid-template-columns:1fr}
  .divisao{position:static}
  .divisao .btn.salvar-desk{display:none}
  .barra-movel{display:flex;position:fixed;left:0;right:0;bottom:calc(68px + env(safe-area-inset-bottom));background:var(--carvao);border-top:1px solid var(--linha-forte);padding:10px 16px;gap:12px;align-items:center;z-index:39}
  .barra-movel .nums{flex:1;display:flex;flex-direction:column;font-size:var(--fs-xs);line-height:1.3}
  .barra-movel .nums b{font-size:var(--fs-m);font-stretch:72%}
  .barra-movel .btn{min-height:50px;padding:0 16px}
  main.com-barra{padding-bottom:200px}
  .livro.lancamentos thead{display:none}
  .livro.lancamentos tr{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:12px 0;border-bottom:1px solid var(--linha)}
  .livro.lancamentos td{border:0;padding:0}
  .livro.lancamentos td.col-hora{display:none}
  .livro.lancamentos td.col-forma{grid-column:1}
  .livro.lancamentos td.col-split{grid-column:1 / -1;text-align:left}
  .itens thead{display:none}
  .itens tr{display:grid;grid-template-columns:40px 1fr auto;gap:2px 10px;padding:12px 0;border-bottom:1px solid var(--linha);align-items:start}
  .itens td{border:0;padding:0}
  .itens td.marca-col{grid-row:1 / span 3;width:auto;padding-top:2px}
  .itens td.col-data{grid-column:2;font-size:var(--fs-xs);color:var(--agulha)}
  .itens td.col-desc{grid-column:2}
  .itens td.col-forma{grid-column:2}
  .itens td.efeito{grid-column:3;grid-row:1 / span 3;text-align:right}
  .itens td.col-valor{display:none}
  .resumo-lote{padding:18px}
  .resumo-lote .frase-grande{font-size:28px}
  .toast{bottom:calc(84px + env(safe-area-inset-bottom))}
  .linha-campos{grid-template-columns:1fr}
}
@media (max-width:820px){
  .receber{grid-template-columns:auto 1fr;grid-template-areas:'hora falta' 'quem quem' 'acao acao'}
  .receber .acao{justify-self:stretch}.receber .acao .btn{width:100%}
  .chip span{padding:0 14px}
  .chips.formas{display:grid;grid-template-columns:1fr 1fr}
  .chips.formas .chip span{width:100%;justify-content:center;border-radius:var(--r-campo);text-align:center;white-space:normal;line-height:1.2}
  .abas a .longo{display:none}
}
@media (max-width:380px){
  .chips.artistas{grid-template-columns:repeat(2,1fr)}
  .receber{grid-template-columns:44px 1fr auto}
}

/* ===== Sistema real (além do protótipo) ===== */
.trilho form{margin:0}
.trilho .sair{background:none;border:0;color:var(--agulha);padding:6px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:var(--fs-s)}
.mensagens{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:8px}
.mensagens li{padding:12px 16px;border-radius:var(--r-campo);font-size:var(--fs-s);font-weight:600;border-left:4px solid var(--pago);background:rgba(143,211,168,.10)}
.mensagens li.error{border-left-color:var(--alerta);background:rgba(255,156,138,.10)}
.mensagens li.warning{border-left-color:var(--ouro);background:var(--ouro-fundo)}
.entrar{min-height:100vh;display:grid;place-items:center;padding:24px max(16px, env(safe-area-inset-right, 0px)) 24px max(16px, env(safe-area-inset-left, 0px))}
.entrar form{width:min(380px,100%);display:flex;flex-direction:column;gap:16px}
.entrar .marca b{font-size:var(--fs-hero)}
.form-col{display:flex;flex-direction:column;gap:14px;max-width:640px}
.campo .ajuda{font-size:var(--fs-xs);color:var(--agulha)}
.campo ul.errorlist{list-style:none;margin:0;padding:0;color:var(--alerta);font-size:var(--fs-s)}
textarea.entrada{min-height:96px;padding:12px 14px;font-size:var(--fs-m)}
.filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:18px}
.filtros .campo{min-width:160px}
.diff{list-style:none;margin:6px 0 0;padding:0;font-size:var(--fs-xs)}
.diff li{display:grid;grid-template-columns:140px 1fr;gap:8px;padding:3px 0;border-top:1px dashed var(--linha)}
.diff del{color:var(--alerta);text-decoration:line-through}
.diff ins{color:var(--pago);text-decoration:none}
.acao-I{color:var(--pago)} .acao-U{color:var(--ouro)} .acao-D{color:var(--alerta)}
.cancelado td{color:var(--agulha);text-decoration:line-through}
.selo{display:inline-block;padding:2px 8px;border-radius:999px;font-size:var(--fs-xs);border:1px solid var(--linha-forte)}
.selo.alerta{border-color:var(--alerta);color:var(--alerta)}
.paginacao{display:flex;gap:10px;align-items:center;margin-top:16px;font-size:var(--fs-s)}
.tabela-rolagem{overflow-x:auto}
details.cancelar{margin-top:8px}
details.cancelar summary{cursor:pointer;color:var(--agulha);font-size:var(--fs-s)}
details.cancelar form{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.artistas-lista a.art-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:10px 12px;border-radius:var(--r-bloco);border:1px solid transparent;text-decoration:none;color:var(--osso)}
.artistas-lista a.art-item:hover{background:var(--carvao)}
.artistas-lista a.art-item[aria-current="true"]{background:var(--carvao);border-color:var(--osso)}
@media (max-width:1180px){.artistas-lista a.art-item{border-color:var(--linha);min-width:150px}}

/* Tabelas largas rolam dentro do próprio bloco, nunca a página */
.app > main{min-width:0}
.tabela-rolagem{max-width:100%;-webkit-overflow-scrolling:touch}
.filtros .campo{min-width:0;flex:1 1 150px}

/* hidden sempre esconde, mesmo em elementos com display próprio */
[hidden]{display:none !important}
a.acerto-linha{text-decoration:none;color:inherit}
.receber .quem a{text-decoration:none}
.receber .quem a:hover b{text-decoration:underline;text-underline-offset:3px}
.livro td a{text-decoration:none}
.livro td a:hover{text-decoration:underline;text-underline-offset:3px}
.menu-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.menu-lista a,.menu-lista button{display:flex;align-items:center;min-height:56px;padding:0 18px;border-radius:var(--r-campo);background:var(--carvao);border:1px solid var(--linha);text-decoration:none;font-weight:600;color:var(--osso);width:100%;font-size:var(--fs-m);cursor:pointer}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:600;font-size:var(--fs-s);cursor:pointer}
.check input{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--osso)}
.acoes-at{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}
.acoes-at form{margin:0}
details.pagto > summary{cursor:pointer}
.cartao-bloco{margin-top:12px;padding:12px;border:1px dashed var(--linha-forte);border-radius:var(--r-campo)}
.sub-titulo{font-size:var(--fs-s);font-weight:700;margin:0 0 8px}
.obrigatorio{font-size:var(--fs-xs);font-weight:600;color:var(--ouro);margin-left:6px}
.so-celular{display:none}
@media (max-width:820px){.so-celular{display:block}}
.saldo-cabeca{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.cartoes-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:12px 0 16px}
.cartoes-resumo>div{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--linha);border-radius:var(--r-campo)}
.cartoes-resumo b{font-size:var(--fs-l)}
.grafico{margin:8px 0}
@media (max-width:820px){.saldo-cabeca{align-items:flex-start;text-align:left}}
.grafico{max-width:820px}
.grafico svg{max-height:280px}
.devendo{color:var(--devendo)}
:root{--devendo:#FF6B5E}
.resultado-mes{border:1px solid var(--linha);border-radius:var(--r-bloco);padding:14px;margin:0 0 22px}
.resultado-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.resultado-grade>div{display:flex;flex-direction:column;gap:4px;padding:10px;border:1px solid var(--linha);border-radius:var(--r-campo)}
.resultado-grade>div>b{font-size:var(--fs-l)}
.resultado-final{border-color:var(--stencil) !important}
.resultado-final.e-devendo{border-color:var(--devendo) !important;background:rgba(255,107,94,.08)}
.saldo-cabeca{padding:12px 16px;border:1px solid var(--linha);border-radius:var(--r-bloco);min-width:240px}
.saldo-cabeca b{font-size:var(--fs-xl,1.8rem)}
.saldo-cabeca .saldo-frase{font-weight:700}
.saldo-cabeca.e-devendo{border:2px solid var(--devendo);background:rgba(255,107,94,.10)}
.saldo-cabeca.e-devendo .saldo-frase{color:var(--devendo)}
.saldo-cabeca.e-recebe{border:2px solid var(--stencil);background:rgba(179,166,245,.08)}
/* ---------------- planilha do profissional: caixas separadas e respiro */
.planilha{display:flex;flex-direction:column;gap:22px;max-width:1180px}
.pl-rotulo{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--agulha);font-weight:600}
.pl-topo{display:flex;justify-content:space-between;align-items:stretch;gap:20px;flex-wrap:wrap}
.pl-quem{display:flex;flex-direction:column;gap:4px;justify-content:center}
.pl-quem h1{margin:0}
.saldo-cabeca{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border:1px solid var(--linha);border-radius:var(--r-bloco);min-width:260px;background:var(--carvao);align-items:flex-start;text-align:left}
.saldo-cabeca b{font-size:2rem;line-height:1.1}
.pl-secao{background:var(--carvao);border:1px solid var(--linha);border-radius:var(--r-bloco);padding:20px;display:flex;flex-direction:column;gap:16px;min-width:0}
.pl-secao-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--linha)}
.pl-secao-cab h2{margin:0;font-size:var(--fs-l)}
.pl-secao-cab p{margin:4px 0 0}
.pl-cartoes,.resultado-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.pl-cartao{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--linha);border-radius:var(--r-campo);background:var(--tinta,rgba(0,0,0,.18))}
.pl-cartao>b{font-size:1.55rem;line-height:1.15}
.pl-cartao.destaque{border-color:var(--stencil)}
.pl-linha{font-size:var(--fs-s);color:var(--osso)}
.pl-grafico-caixa{border:1px solid var(--linha);border-radius:var(--r-campo);padding:16px;display:flex;flex-direction:column;gap:6px}
.pl-grafico-cab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.pl-grafico-cab h3{margin:0}
.pl-detalhes summary{cursor:pointer;color:var(--agulha);font-size:var(--fs-s);font-weight:600}
.pl-detalhes[open] summary{margin-bottom:10px}
.pl-mes{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--linha-forte);border-radius:var(--r-bloco);background:var(--carvao)}
.pl-mes-atual{display:flex;flex-direction:column;align-items:center;gap:2px}
.pl-mes-atual b{font-size:var(--fs-l)}
.pl-mini{display:flex;gap:18px;flex-wrap:wrap;font-size:var(--fs-s);color:var(--agulha)}
.pl-mini b{color:var(--osso);margin-left:4px}
.pl-nota{margin:0}
.pl-duas{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:22px}
.pl-form-acesso{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}
.pl-form-acesso .campo{flex:1 1 240px}
.resultado-final.e-recebe{border-color:var(--stencil) !important;background:rgba(179,166,245,.08)}
@media (max-width:820px){.pl-duas{grid-template-columns:1fr}.saldo-cabeca{min-width:0;width:100%}.pl-mes .btn{padding:0 10px}}
.pl-cartao{min-width:0;overflow-wrap:anywhere}
.pl-cartao>b{font-size:clamp(1.15rem,1.9vw,1.55rem)}
.pl-cartao b.num,.pl-linha b,.saldo-cabeca b{white-space:nowrap}
.pl-linha.forte{font-weight:700}
.pl-linha.devendo{color:var(--devendo)}
.pl-linha.stencil{color:var(--stencil)}
.metas-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.meta-topo{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.meta-topo b{font-size:1.2rem}
.meta-barra{height:14px;border-radius:999px;background:var(--linha);overflow:hidden;margin:6px 0}
.meta-barra i{display:block;height:100%;background:linear-gradient(90deg,var(--stencil),var(--ouro));border-radius:999px}
.meta-rodape{display:flex;flex-direction:column;gap:4px}
.meta-atingida{border-color:var(--stencil) !important;background:rgba(179,166,245,.08)}
.selo.meta-ok{border-color:var(--stencil);color:var(--stencil)}
.atrasados{margin-top:16px;padding-top:12px;border-top:1px solid var(--linha)}
.atrasados h3{margin:0 0 6px;font-size:var(--fs-s);color:var(--ouro)}
.receber .falta{display:flex;flex-direction:column;align-items:flex-end}
.restante-caixa{margin-top:12px;padding:12px 14px;border:1px dashed var(--ouro);border-radius:var(--r-campo);display:flex;flex-direction:column;gap:2px}
.restante-caixa b{font-size:1.4rem;color:var(--ouro)}
/* ---------------- planilha: visão do profissional (celular primeiro) */
.pv{gap:16px;max-width:760px}
.pv-topo{display:flex;flex-direction:column;gap:12px}
.pv-topo h1{margin:2px 0 0}
.pv .saldo-cabeca{width:100%;min-width:0}
.pv-mes{align-items:stretch;gap:10px}
.pv-nav{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pv-nav>div{display:flex;flex-direction:column;align-items:center}
.pv-nav b{font-size:var(--fs-l)}
.pv-nav .btn{min-width:46px;font-size:1.3rem}
.pv-ganho{font-size:clamp(2rem,9vw,2.8rem);text-align:center;line-height:1.1}
.pv-centro{text-align:center;margin:0}
.pv-resultado{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 14px;border-radius:var(--r-campo);border:1px solid var(--linha)}
.pv-resultado.e-devendo{border:2px solid var(--devendo);background:rgba(255,107,94,.10)}
.pv-resultado.e-recebe{border:2px solid var(--stencil);background:rgba(179,166,245,.08)}
.pv-resultado b{font-size:1.25rem;white-space:nowrap}
.pv-detalhe summary{cursor:pointer;color:var(--agulha);font-size:var(--fs-s);font-weight:600;padding:4px 0}
.pv-detalhe[open] summary{margin-bottom:8px}
.pv-conta{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.pv-conta li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:var(--fs-s);padding-bottom:6px;border-bottom:1px solid var(--linha)}
.pv-conta b{white-space:nowrap}
.pv-cab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.pv-cab h2{margin:0;font-size:var(--fs-l)}
.pv-cab>b{font-size:1.2rem}
.pv-meta{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--linha);border-radius:var(--r-campo)}
.pv-meta p{margin:0}
.pv-meta-topo{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.pv-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pv-lista li{display:grid;grid-template-columns:minmax(56px,max-content) minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--linha)}
.pv-lista li:last-child{border-bottom:0}
.pv-lista small{display:block;font-size:var(--fs-xs);color:var(--agulha)}
.pv-data{font-weight:700;white-space:nowrap}
/* cancelar dentro da lista: ocupa a linha inteira (aberto, o formulário não passa por cima do texto) */
.pv-lista li>details.cancelar{grid-column:2/-1;margin-top:0}
/* listas com mês/ano ou data completa: coluna fixa, todas as linhas alinhadas */
.pv-lista.pv-larga li{grid-template-columns:84px minmax(0,1fr) auto}
.pv-lista li>details.cancelar form .entrada{flex:1 1 180px;min-width:0}
.pv-quem{min-width:0;overflow-wrap:anywhere}
.pv-valor{text-align:right;white-space:nowrap}
.pv-valor b{font-size:1.05rem}
.pv-numeros{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pv-numeros>div{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid var(--linha);border-radius:var(--r-campo);min-width:0}
.pv-numeros b{font-size:clamp(.95rem,3.6vw,1.2rem);white-space:nowrap}
.pv-adm summary{cursor:pointer}
.pv-adm h3{margin:14px 0 6px;font-size:var(--fs-m)}
@media (max-width:480px){.pv-numeros{grid-template-columns:1fr}.pv-lista li{grid-template-columns:46px 1fr auto}}
/* ---------------- WhatsApp, imagens do projeto, ficha do profissional */
.wa{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:#25D366;flex:none}
.wa:hover,.wa:focus-visible{background:rgba(37,211,102,.14)}
.pv-nome{display:flex;align-items:center;gap:4px;min-width:0}
.pv-nome a{color:inherit;text-decoration:none;min-width:0;overflow-wrap:anywhere}
.pv-nome a:hover b{text-decoration:underline}
.ficha-nome{display:flex;align-items:center;gap:6px}
.ficha-nome h1{margin:0}
.ficha-nome .wa{width:44px;height:44px}
.ficha-nome .wa svg{width:28px;height:28px}
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:12px}
.galeria figure{margin:0;display:flex;flex-direction:column;gap:4px}
.galeria img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-campo);border:1px solid var(--linha);display:block}
.galeria .link{background:none;border:0;color:var(--agulha);cursor:pointer;padding:0;text-decoration:underline}
.form-imagens{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.pv-agendar{text-align:center}
.btn.grande{padding:14px 18px;font-size:1.05rem}
.relatorio{white-space:pre-wrap;font-size:var(--fs-xs);max-height:420px;overflow:auto;background:var(--fundo-2,transparent);padding:10px;border:1px solid var(--linha);border-radius:var(--r-campo)}
.ver-mais summary{cursor:pointer;color:var(--agulha);font-size:var(--fs-s);font-weight:600;padding:8px 0}
.acoes-rec{white-space:nowrap}
.acoes-rec .btn,.acoes-rec summary{margin:2px 0}
.galeria details summary{cursor:pointer;font-size:var(--fs-xs);color:var(--agulha)}
.restante-caixa.e-erro{border-color:var(--devendo)}
.restante-caixa.e-erro span{color:var(--devendo);font-weight:600}
.linha-marcavel{cursor:pointer}
.lancar-conta{margin-top:24px;padding:16px;border:1px solid var(--linha);border-radius:var(--r-campo);display:flex;flex-direction:column;gap:10px}
.lancar-conta h2{margin:0}
.lancar-conta form{display:flex;flex-direction:column;gap:10px}
/* ---------------- quem recebeu o pagamento: estúdio (âmbar) x profissional (verde) */
:root{--pg-estudio:#E0A33A;--pg-voce:#3FBF8A}
.tag-pg{display:inline-block;padding:1px 8px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;border:1px solid currentColor;line-height:1.5}
.tag-pg.estudio,.txt-estudio{color:var(--pg-estudio)}
.tag-pg.voce,.txt-voce{color:var(--pg-voce)}
.tag-ok{color:var(--agulha);font-weight:600}
.lista-pg li{border-left:4px solid transparent;padding-left:8px}
.lista-pg li.pg-estudio{border-left-color:var(--pg-estudio)}
.lista-pg li.pg-voce{border-left-color:var(--pg-voce)}
.pv-valor small.txt-estudio,.pv-valor small.txt-voce{display:block;font-weight:600}
.legenda-pg{font-size:var(--fs-xs);color:var(--agulha);margin:0 0 4px;line-height:1.9}
.totais-pg{margin-top:12px;padding:12px;border:1px solid var(--linha);border-radius:var(--r-campo)}
.totais-pg li.pg-estudio span{color:var(--pg-estudio)}
.totais-pg li.pg-voce span{color:var(--pg-voce)}
.pv-resultado.e-quitado{border:2px solid var(--linha)}
/* trabalhos: no celular o valor vai para baixo do nome (o nome nunca fica espremido) */
.lista-pg li{grid-template-columns:52px 1fr;grid-template-areas:"data quem" "data valor";row-gap:6px}
.lista-pg .pv-data{grid-area:data;align-self:start}
.lista-pg .pv-quem{grid-area:quem}
.lista-pg .pv-valor{grid-area:valor;text-align:left;white-space:normal;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.lista-pg .pv-valor small.txt-estudio,.lista-pg .pv-valor small.txt-voce{display:inline}
@media (min-width:700px){.lista-pg li{grid-template-columns:56px 1fr auto;grid-template-areas:"data quem valor"}
  .lista-pg .pv-valor{flex-direction:column;align-items:flex-end;text-align:right}}
/* ---------------- comprovantes */
.comprovantes{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:4px}
.comp-link{white-space:nowrap;font-size:var(--fs-s);font-weight:600}
.comp-remover{display:inline;margin:0}
.comp-remover .link{background:none;border:0;color:var(--agulha);cursor:pointer;padding:0 4px;font-size:1rem}
.anexar summary{font-size:var(--fs-xs)}
.recibo-comprovantes{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;padding:16px;border:1px solid var(--linha);border-radius:var(--r-campo)}
.recibo-comprovantes h2{margin:0}
/* ---------------- calendário do profissional */
.cal{display:flex;flex-direction:column;gap:8px}
.cal-topo{display:flex;justify-content:space-between;align-items:center}
.cal-topo b{font-size:var(--fs-l);text-transform:capitalize}
.cal-topo .btn{min-width:46px;font-size:1.3rem}
.cal-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-sem{text-align:center;font-size:var(--fs-xs);color:var(--agulha);font-weight:700;padding:4px 0}
.cal-d{aspect-ratio:1;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:10px;font:inherit;font-variant-numeric:tabular-nums;color:var(--agulha);background:none;border:1px solid transparent;padding:0;min-height:40px}
.cal-d.tem{background:var(--stencil);color:#16131f;font-weight:800;cursor:pointer;border-color:var(--stencil)}
.cal-d.tem i{font-style:normal;font-size:.65rem;line-height:1;opacity:.8}
.cal-d.tem.passou{opacity:.55}
.cal-d.hoje{border-color:var(--ouro)}
.cal-d.sel{outline:3px solid var(--ouro);outline-offset:1px}
.cal-dia{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.cal-dia h3{margin:4px 0 0}
.cal-card{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--linha);border-left:4px solid var(--stencil);border-radius:var(--r-campo)}
.cal-card p{margin:0}
.cal-card-topo{display:flex;justify-content:space-between;align-items:center}
.cal-hora{font-size:1.15rem}
.cal-card .ficha-nome a{color:inherit}
.cal-card .ficha-nome a.wa{color:#25D366}
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--devendo);color:#fff;font-size:.72rem;font-weight:800}
.aviso-conferir{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;margin-bottom:14px;border-radius:var(--r-campo);border:2px solid var(--pg-estudio);color:inherit;text-decoration:none}
.avisos-pix{display:flex;flex-direction:column;gap:6px;padding:12px 16px;margin-bottom:14px;border-radius:var(--r-campo);border:2px solid var(--devendo);background:rgba(255,107,94,.08)}
.avisos-pix p{margin:0}
.conferir-card{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--linha);border-left:4px solid var(--pg-estudio);border-radius:var(--r-campo)}
.conferir-acoes{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start}
/* ---------------- metas compactas */
.metas-mini{gap:8px}
.mm-barra{position:relative;height:14px;border-radius:999px;background:var(--linha);overflow:visible}
.mm-barra>i{display:block;height:100%;border-radius:999px;background:var(--stencil)}
.mm-marca{position:absolute;top:-4px;width:3px;height:22px;border-radius:2px;background:var(--ouro);transform:translateX(-50%)}
.mm-marca.ok{background:var(--pg-voce)}
.mm-legenda{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:var(--fs-xs);color:var(--agulha)}
.mm-legenda .ok{color:var(--pg-voce)}
/* ---------------- situação com o estúdio */
.situ{border-width:2px}
.situ-divida{border-color:var(--devendo)}
.situ-receber{border-color:var(--stencil)}
.situ-regular{border-color:var(--pg-voce)}
.situ h2{margin:0}
.situ-linha{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.situ-linha>div{display:flex;flex-direction:column;gap:2px}
.situ-titulo{font-size:1.05rem}
.situ-valor{font-size:clamp(1.5rem,7vw,2rem);line-height:1.1}
.situ .btn[disabled]{opacity:.45;cursor:not-allowed}
.form-pagar{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed var(--linha);border-radius:var(--r-campo)}
.selo.analise{border-color:var(--pg-estudio);color:var(--pg-estudio)}
.selo.atraso{border-color:var(--devendo);color:var(--devendo)}
.conta-aberta li.em-analise{border-left:4px solid var(--pg-estudio);padding-left:8px}
.conta-aberta li.atrasado{border-left:4px solid var(--devendo);padding-left:8px}
.conta-aberta li.futura{opacity:.75}
.pagar-item summary{cursor:pointer;font-weight:700;color:var(--pg-voce);font-size:var(--fs-s)}
.pagar-item form{display:flex;flex-direction:column;gap:6px;margin-top:6px;text-align:left}
/* ---------------- histórico de pagamentos */
.hist-ano>summary{cursor:pointer;font-weight:800;font-size:var(--fs-l);padding:6px 0}
.hist-mes{margin-left:4px;border-top:1px solid var(--linha)}
.hist-mes>summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;padding:10px 0;font-weight:600;text-transform:capitalize}
.origens .chip span{white-space:nowrap}
.origem-desc{min-height:1.4em;margin:6px 0 0}
/* ---------------- balanço de agendamentos (S / A / AS) */
:root{--orig-s:#E0A33A;--orig-a:#3FBF8A;--orig-as:#5FA8E8}
.balanco{display:flex;flex-direction:column;gap:8px}
.bal-balanca{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--orig-a)}
.bal-balanca .bal-s{background:var(--orig-s)}
.bal-legenda{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--agulha)}
.bal-cor{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:middle}
.bal-cor.s{background:var(--orig-s)}.bal-cor.a{background:var(--orig-a)}
.bal-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.bal-lista li{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center}
.bal-sigla{display:inline-flex;align-items:center;justify-content:center;height:32px;border-radius:8px;font-weight:800;color:#16131f}
.bal-sigla.s-estudio,.bal-barra i.s-estudio{background:var(--orig-s)}
.bal-sigla.s-artista,.bal-barra i.s-artista{background:var(--orig-a)}
.bal-sigla.s-artista_estudio,.bal-barra i.s-artista_estudio{background:var(--orig-as)}
.bal-sigla.s-sem,.bal-barra i.s-sem{background:var(--linha);color:var(--agulha)}
.bal-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.bal-txt small{color:var(--agulha);font-size:var(--fs-xs)}
.bal-barra{display:block;height:6px;border-radius:999px;background:var(--linha);overflow:hidden}
.bal-barra i{display:block;height:100%}
.mes-gestao{margin-bottom:16px;display:flex;flex-direction:column;gap:10px}
.mov-total{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.mov-total b{font-size:clamp(1.4rem,6vw,1.9rem)}
.bal-artista{margin-top:12px;padding:12px;border:1px solid var(--linha);border-radius:var(--r-campo);display:flex;flex-direction:column;gap:6px}
/* ---------------- fechamento de caixa */
.fech-bloco{margin-bottom:16px;display:flex;flex-direction:column;gap:8px}
.fech{display:flex;flex-direction:column;gap:8px}
.fech-topo{display:flex;justify-content:space-between;align-items:baseline}
.fech-topo b{font-size:var(--fs-l)}
.fech-linhas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.fech-linhas li{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--linha);border-radius:var(--r-campo)}
.fech-linhas li span{font-size:var(--fs-xs);color:var(--agulha);text-transform:uppercase;letter-spacing:.04em}
.fech-linhas li b{font-size:1.1rem;white-space:nowrap}
.fech-linhas .fech-art{border-color:var(--pg-voce)}
.fech-linhas .fech-total{border-width:2px}
.fech-linhas .fech-studio{border-width:2px;border-color:var(--stencil)}
.cx-tit{margin:14px 0 4px;font-size:var(--fs-m)}
.cx-grafico{width:100%;height:auto;display:block}
.cx-barra{fill:var(--stencil)}
.cx-rot{fill:var(--agulha);font-size:11px;text-anchor:middle}
.cx-media{stroke:var(--ouro);stroke-width:2;stroke-dasharray:6 4}
.cx-media-txt{fill:var(--ouro);font-size:12px;font-weight:700}
.fechamentos .hist-ano>summary,.fechamentos .hist-mes>summary{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.cx-tabela td,.cx-tabela th{white-space:nowrap}
.meta-ganha{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--r-campo);border:2px solid var(--pg-voce);background:rgba(63,191,138,.10)}
.meta-ganha span{font-size:var(--fs-s)}
.meta-conta{list-style:none;margin:6px 0 0;padding:6px 0 0;border-top:1px dashed var(--linha);display:grid;gap:4px;font-size:var(--fs-s)}
.meta-conta li{display:flex;justify-content:space-between;gap:12px}
.tag-meta{color:var(--pg-voce);font-weight:800}
/* ---------------- Geral: agendamentos do mês por dia e lançar dívida */
.agenda-mes{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.am-dia{border:1px solid var(--linha);border-radius:var(--r-campo)}
.am-dia>summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;padding:10px 12px;list-style:none}
.am-dia>summary::-webkit-details-marker{display:none}
.am-dia>summary::before{content:"▸";margin-right:4px;color:var(--agulha)}
.am-dia[open]>summary::before{content:"▾"}
.am-data{font-weight:700;text-transform:capitalize;flex:1}
.am-resumo{font-size:var(--fs-s);color:var(--agulha)}
.am-hoje{border-color:var(--stencil);border-width:2px}
.am-passou>summary{opacity:.7}
.am-lista{list-style:none;margin:0;padding:0 12px 8px}
.am-lista li a{display:grid;grid-template-columns:48px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--linha);color:inherit;text-decoration:none}
.am-quem{min-width:0}.am-quem small{display:block;color:var(--agulha);font-size:var(--fs-xs)}
.am-st{text-align:right;display:flex;flex-direction:column}.am-st small{color:var(--agulha);font-size:var(--fs-xs)}
.am-orig{font-weight:800}.am-orig.s-estudio{color:var(--orig-s)}.am-orig.s-artista{color:var(--orig-a)}.am-orig.s-artista_estudio{color:var(--orig-as)}
.lancar-divida{margin-bottom:16px}
.lancar-divida>summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline}
.lancar-divida form{margin-top:12px}
.dv-previa{margin:0;font-size:1.05rem;min-height:1.4em}
/* ---------------- parcelas no painel */
.a-pagar{margin:4px 0;padding:10px;border:1px dashed var(--devendo);border-radius:var(--r-campo)}
.a-pagar small{color:var(--agulha);font-size:var(--fs-xs);margin-left:4px}
.a-pagar small.devendo{color:var(--devendo);font-weight:700}
.a-pagar-total{border-bottom:0!important}
.parc-grupo{border:1px solid var(--linha);border-radius:var(--r-campo);padding:0 12px}
.parc-grupo>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0}
.parc-grupo>summary small{display:block;color:var(--agulha);font-size:var(--fs-xs)}
.parc-grupo.quitado{opacity:.75}
.parc-prox{font-size:var(--fs-xs);font-weight:800;padding:2px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.parc-prox.s-mes{color:var(--pg-estudio)}.parc-prox.s-futura{color:var(--agulha)}.parc-prox.s-atrasada{color:var(--devendo)}.parc-prox.s-analise{color:var(--pg-estudio)}
.parc-barra{height:6px;border-radius:999px;background:var(--linha);overflow:hidden;margin-bottom:6px}
.parc-barra i{display:block;height:100%;background:var(--pg-voce)}
.parc-lista{list-style:none;margin:0 0 10px;padding:0}
.parc-lista li{display:grid;grid-template-columns:44px 1fr auto;gap:8px;align-items:center;padding:8px 0 8px 8px;border-top:1px solid var(--linha);border-left:4px solid transparent}
.parc-lista li.s-paga{border-left-color:var(--pg-voce);opacity:.7}
.parc-lista li.s-mes{border-left-color:var(--pg-estudio);background:rgba(224,163,58,.08)}
.parc-lista li.s-atrasada{border-left-color:var(--devendo);background:rgba(255,107,94,.08)}
.parc-lista li.s-analise{border-left-color:var(--pg-estudio)}
.parc-n{font-weight:800;font-variant-numeric:tabular-nums}
.parc-mes{text-transform:capitalize}.parc-mes small{display:block;text-transform:none;color:var(--agulha);font-size:var(--fs-xs)}
.parc-lista li.s-atrasada small{color:var(--devendo);font-weight:700}
/* ---------------- revisão de uso (22/10/2026) */
.cx-rot{font-size:20px}
.cx-media-txt{font-size:20px}
.cal-topo .btn[disabled]{opacity:.25;cursor:default}
.livro td a,.pv-lista a{display:inline-block;padding:4px 0}
.fechamentos .hist-mes>summary{text-transform:none}
.bal-balanca .bal-seg{display:block;height:100%}
.bal-seg.s-estudio{background:var(--orig-s)}.bal-seg.s-artista{background:var(--orig-a)}.bal-seg.s-artista_estudio{background:var(--orig-as)}.bal-seg.s-sem{background:var(--linha)}
.bal-cor.as{background:var(--orig-as)}
.bal-balanca{background:var(--linha)}
.cliente-escolhido{flex-wrap:wrap}
.parc-grupo .selo{white-space:nowrap}

/* ===== Ciclo 3 (28/10/2026): mapa das bancadas, calendário compacto, edição e avisos ===== */
.ponto{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin-right:4px;flex:none}
.ponto.sem{background:var(--linha-forte)}
.bc-tag{display:inline-flex;align-items:center;gap:6px;padding:1px 8px 1px 6px;border-radius:999px;border:1px solid var(--linha-forte);background:var(--campo);font-size:var(--fs-xs);font-weight:600;white-space:nowrap}
.bc-tag::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--cor)}
.ag-horas .campo{min-width:0}
.ag-dur{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}
.ag-dur-b{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--linha-forte);background:var(--campo);font-weight:600;font-size:var(--fs-s);cursor:pointer}
.ag-dur-b:hover{border-color:var(--osso)}
.ag-dur-b.on{background:var(--osso);color:var(--tinta);border-color:var(--osso)}
.ag-resumo{margin-top:8px;min-height:1.2em}
.ag-instr{font-size:var(--fs-s);color:var(--agulha);margin-bottom:10px;transition:color .2s}
.ag-instr.pisca{color:var(--alerta);font-weight:700}
.mapa-andares{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:start}
.andar{margin:0;padding:12px 12px 6px;border:1px solid var(--linha);border-radius:14px;background:linear-gradient(180deg,var(--carvao),var(--tinta));min-width:0}
.andar figcaption{font-weight:800;font-stretch:72%;font-size:var(--fs-m);letter-spacing:.02em;margin-bottom:6px}
.andar figcaption small{font-weight:400;color:var(--agulha);font-stretch:100%;font-size:var(--fs-xs)}
.andar svg{width:100%;height:auto;display:block;max-height:340px}
.piso{fill:#2b2723;stroke:var(--linha-forte);stroke-width:3}
.porta{fill:var(--agulha)}
.porta-txt{fill:var(--agulha);font-size:11px;text-anchor:middle;font-family:inherit}
.hach-fundo{fill:#34302b}
.hach-linha{stroke:#4d4740;stroke-width:4}
.bc{cursor:pointer;outline:none}
.bc-ret{fill:var(--cor);stroke:rgba(0,0,0,.35);stroke-width:2;transition:fill .2s,opacity .2s,stroke .2s}
.bc-num{fill:#fff;font-weight:800;font-size:22px;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:rgba(0,0,0,.35);stroke-width:3px;font-family:inherit}
.bc.espera .bc-ret{opacity:.45}
.bc.livre .bc-ret{opacity:1}
.bc.livre:hover .bc-ret,.bc.livre:focus-visible .bc-ret{stroke:var(--osso);stroke-width:3}
.bc.ocupada{cursor:not-allowed}
.bc.ocupada .bc-ret{fill:var(--hach);stroke:#5a544c;stroke-dasharray:5 4}
.bc.ocupada .bc-num{fill:#8b847a;stroke:none}
.bc.sel .bc-ret{stroke:var(--osso);stroke-width:5;stroke-dasharray:none}
.bc:focus-visible .bc-ret{stroke:var(--osso);stroke-width:4}
.mapa-legenda{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px}
.mapa-legenda span{display:inline-flex;align-items:center;gap:6px}
.lg{display:inline-block;width:18px;height:12px;border-radius:3px}
.lg-livre{background:linear-gradient(90deg,#8E24AA,#039BE5,#F6BF26)}
.lg-ocupada{background:repeating-linear-gradient(45deg,#34302b 0 4px,#4d4740 4px 7px);border:1px dashed #5a544c}
.lg-sel{border:3px solid var(--osso)}
.ag-escolhida{margin-top:10px;font-size:var(--fs-s);min-height:1.4em}
.ag-erro{color:var(--alerta);font-weight:600}
.ag-dia{margin-top:14px;border-top:1px solid var(--linha);padding-top:12px}
.ag-dia-cab{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.tl-horas{position:relative;height:16px;margin-left:130px;margin-right:10px;font-size:11px;color:var(--agulha)}
.tl-horas span{position:absolute;transform:translateX(-50%)}
.ag-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ag-l-b{display:grid;grid-template-columns:120px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;width:100%;text-align:left;background:none;border:1px solid var(--linha);border-radius:10px;padding:6px 8px;cursor:pointer;color:inherit;font:inherit}
.ag-l.ocupada .ag-l-b,.ag-l.espera .ag-l-b{cursor:default}
.ag-l.livre .ag-l-b:hover{border-color:var(--osso)}
.ag-l.sel .ag-l-b{border-color:var(--osso);background:var(--campo)}
.ag-l-nome{grid-row:1/3;display:flex;align-items:center;font-weight:700;font-size:var(--fs-s);white-space:nowrap}
.ag-l-nome small{color:var(--agulha);margin-left:4px;font-weight:400}
.ag-l-txt{color:var(--agulha);font-size:var(--fs-xs)}
.ag-l.ocupada .ag-l-txt{color:var(--alerta)}
.tl{position:relative;height:18px;border-radius:5px;background:#24211e;overflow:hidden}
.tl-aberto{position:absolute;top:0;bottom:0;background:#2f2b27}
.tl-s{position:absolute;top:2px;bottom:2px;border-radius:4px;background:#5a544c;color:var(--osso);font-size:10px;line-height:14px;padding:0 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.tl-novo{position:absolute;top:0;bottom:0;border:2px solid var(--pago);border-radius:5px;background:rgba(143,211,168,.18)}
.tl-novo.choque{border-color:var(--alerta);background:rgba(255,156,138,.2)}
@media (max-width:820px){
  .mapa-andares{grid-template-columns:1fr}
  .andar svg{max-height:300px}
  .tl-horas{margin-left:8px}
  .ag-l-b{grid-template-columns:minmax(0,1fr)}
  .ag-l-nome{grid-row:auto;margin-bottom:4px}
}
.editar-atalho{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;margin:4px 0 16px;padding:10px 18px;line-height:1.2;text-decoration:none}
.editar-atalho small{font-weight:400;opacity:.75;font-size:var(--fs-xs)}
.editar-mini{min-height:38px;padding:0 12px;text-decoration:none}
.barra-acoes{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:8px}
/* calendário compacto da Geral */
.agenda-mes header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.am-nav{display:flex;align-items:center;gap:8px}
.am-nav b{text-transform:capitalize;min-width:9ch;text-align:center}
.am-nav .btn{min-width:42px;min-height:40px;font-size:1.2rem;text-decoration:none}
.am-grade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:10px}
.am-sem{text-align:center;font-size:var(--fs-xs);color:var(--agulha);font-weight:700;padding:2px 0}
.am-d{position:relative;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;padding:5px 2px;border-radius:10px;border:1px solid var(--linha);background:none;color:var(--agulha);font:inherit;cursor:pointer;min-width:0}
.am-d.tem{color:var(--osso);background:var(--carvao);border-color:var(--linha-forte)}
.am-d.passou{opacity:.6}
.am-d.hoje{border-color:var(--ouro)}
.am-d.hoje .am-n{color:var(--ouro)}
.am-d.sel{background:var(--osso);color:var(--tinta);border-color:var(--osso);opacity:1}
.am-n{font-weight:700;font-size:var(--fs-s);line-height:1}
.am-q{font-size:.7rem;font-weight:800;line-height:1;padding:2px 6px;border-radius:999px;background:var(--stencil-fundo);color:var(--stencil)}
.am-d.sel .am-q{background:var(--tinta);color:var(--osso)}
.am-cores{display:flex;gap:2px;flex-wrap:wrap;justify-content:center}
.am-cores i{width:6px;height:6px;border-radius:50%}
.am-dia{margin-top:14px}
.am-dia h3{text-transform:capitalize;margin-bottom:8px}
.am-dia h3 small{text-transform:none;font-weight:400}
.am-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.am-lista li{display:grid;grid-template-columns:58px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--carvao);border-left:5px solid var(--cor)}
.am-lista .am-hora small{display:block;color:var(--agulha);font-size:var(--fs-xs)}
.am-lista .am-quem{display:flex;flex-direction:column;min-width:0;text-decoration:none}
.am-lista .am-quem small{color:var(--agulha);overflow:hidden;text-overflow:ellipsis}
.am-lista .am-st{display:flex;flex-direction:column;align-items:flex-end;font-size:var(--fs-xs)}
.am-orig{font-weight:700;color:var(--stencil)}
.am-legenda{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center}
.am-legenda span{display:inline-flex;align-items:center}
@media (max-width:820px){
  .am-d{min-height:46px;padding:4px 1px}
  .am-cores i{width:5px;height:5px}
  .am-lista li{grid-template-columns:50px minmax(0,1fr) auto}
  .am-lista .am-editar{grid-column:2/4;justify-self:start}
}
/* avisos */
.aviso-novo summary{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;cursor:pointer}
.aviso-novo form{margin-top:12px}
.filtro-avisos{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 10px}
.filtro-avisos .btn.leve{text-decoration:none;border-color:var(--linha)}
.avisos-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.avisos-lista a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--carvao);border:1px solid var(--linha);text-decoration:none}
.avisos-lista li.novo a{border-color:var(--ouro)}
.avisos-lista li.urgente a{border-left:5px solid var(--alerta)}
.av-quem{display:flex;flex-direction:column;min-width:0}
.av-quem small{color:var(--agulha)}
.av-st{display:flex;gap:6px;align-items:center}
.av-tipo{display:inline-block;font-size:var(--fs-xs);font-weight:700;padding:2px 8px;border-radius:999px;background:var(--campo);white-space:nowrap}
.av-tipo.t-compra{background:var(--ouro-fundo);color:var(--ouro)}
.av-tipo.t-ocorrencia{background:rgba(255,156,138,.15);color:var(--alerta)}
.av-tipo.t-notificacao{background:var(--stencil-fundo);color:var(--stencil)}
@media (max-width:820px){.avisos-lista a{grid-template-columns:minmax(0,1fr) auto}.avisos-lista .av-tipo{grid-column:1/3;justify-self:start}}
.conversa{list-style:none;margin:16px 0;padding:0;display:flex;flex-direction:column;gap:10px}
.conversa li{max-width:min(560px,92%);padding:10px 14px;border-radius:14px;background:var(--carvao);border:1px solid var(--linha);overflow-wrap:anywhere}
.conversa li.do-adm{align-self:flex-end;background:var(--stencil-fundo);border-color:rgba(179,166,245,.35)}
.msg-cab{display:flex;gap:10px;justify-content:space-between;margin-bottom:4px}
.msg-cab small{color:var(--agulha)}
.msg-foto{max-width:100%;max-height:260px;border-radius:10px;margin-top:8px;display:block}
.wa-envio{display:flex;flex-direction:column;gap:8px;align-items:flex-start;padding:12px 14px;border-radius:12px;border:1px solid var(--linha);margin:10px 0}
.wa-envio.destaque{border-color:var(--pago)}
.wa-btn{background:#1f8f4e;border-color:#1f8f4e;color:#fff;text-decoration:none}
.responder .linha-campos{align-items:center}
.resolver{margin-top:10px}
.so-compras p{max-width:60ch}

/* ===== Ciclo 4 (29/10/2026): cancelar com sinal, ficha do cliente, retoque ===== */
.btn.perigo{background:rgba(255,107,94,.14);border-color:var(--devendo);color:var(--osso)}
.cancelar-ag{border:1px solid var(--linha);border-radius:12px;padding:12px 14px;background:var(--carvao)}
.cancelar-ag summary{cursor:pointer;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cancelar-ag form{margin-top:12px}
.canc-prazo{font-size:var(--fs-s);padding:8px 10px;border-radius:8px;background:var(--campo)}
.canc-prazo.ok{border-left:4px solid var(--pago)}
.canc-prazo.fora{border-left:4px solid var(--alerta)}
.canc-sinal{display:flex;flex-direction:column;gap:8px;border:1px solid var(--linha);border-radius:10px;padding:10px 12px}
.ficha-cli{margin-top:10px;border:1px solid var(--linha);border-radius:10px;padding:8px 12px;background:var(--carvao)}
.ficha-cli summary{cursor:pointer}
.ficha-lista{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.ficha-lista li{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:8px;align-items:start;font-size:var(--fs-s);padding-top:6px;border-top:1px solid var(--linha)}
.ficha-lista li.cancelado{opacity:.55}
.ficha-lista small{display:block;color:var(--agulha);font-size:var(--fs-xs)}
.ficha-lista .dir{text-align:right}
.ficha-lista .comp-link{display:block;font-size:var(--fs-xs)}
.bloco-retoque{margin-top:12px;display:flex;flex-direction:column;gap:10px;padding:12px;border:1px dashed var(--linha-forte);border-radius:10px}
@media (max-width:820px){.ficha-lista li{grid-template-columns:minmax(0,1fr) auto}.ficha-lista li>span:first-child{grid-column:1/3}}

/* ===== Ciclo 5 (29/10/2026): proporção das telas no celular e no computador ===== */
/* Agenda do dia (Geral): o cartão ocupa a largura toda; as ações ficam numa faixa própria, nunca espremem o nome */
.agenda-dia{list-style:none;margin:0 0 28px;padding:0;display:flex;flex-direction:column;gap:8px}
.ag-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border:1px solid var(--linha);border-radius:var(--r-campo)}
.ag-item:hover{border-color:var(--linha-forte)}
.ag-corpo{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"hora quem info";gap:4px 14px;align-items:baseline;padding:12px 14px;text-decoration:none;color:var(--osso);min-width:0}
.ag-corpo:hover .quem b{text-decoration:underline;text-underline-offset:3px}
.ag-corpo .hora{grid-area:hora;font-weight:700;white-space:normal}
.ag-corpo .hora small{display:block;font-size:var(--fs-xs);color:var(--agulha);font-weight:400}
.ag-corpo .quem{grid-area:quem;min-width:0;overflow-wrap:anywhere}
.ag-info{grid-area:info;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;justify-content:flex-end;max-width:320px}
.ag-info .ag-obs{flex-basis:100%;text-align:right}
.ag-acoes{display:flex;gap:8px;align-items:center;padding:8px 14px 8px 0}
.ag-acoes .btn{white-space:nowrap}
/* Navegação de datas da Geral */
.dia-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.dia-nav .ir-data{margin:0}
.dia-nav .entrada{min-height:44px;width:auto;padding:0 10px;font-size:var(--fs-m)}
.dia-nav .btn{min-height:44px}
/* Próximos agendamentos: hora menor embaixo da data; Editar à direita, sem ocupar a linha */
.receber .hora small{display:block;font-size:var(--fs-s);font-weight:600;color:var(--agulha);font-stretch:100%}
.receber .acao.so-editar{justify-self:end}
/* Formulário de edição: respiro entre os campos */
.editar-at fieldset > .campo,.editar-at fieldset > .linha-campos{margin-top:14px}
.editar-at fieldset > legend + *{margin-top:0}
/* Anexar arquivo: botão no padrão do sistema */
input[type=file]{font-size:var(--fs-s);color:var(--agulha);max-width:100%}
input[type=file].entrada{padding:7px 8px;min-height:52px}
input[type=file]::file-selector-button{font:inherit;font-weight:600;color:var(--osso);background:var(--carvao);border:1px solid var(--linha-forte);border-radius:8px;min-height:36px;padding:0 14px;margin-right:12px;cursor:pointer}
input[type=file]::file-selector-button:hover{border-color:var(--osso)}
.btn.largo{width:100%}
/* Calendário do profissional: dias baixos no computador, quadrados no celular */
.cal-d{aspect-ratio:auto;height:clamp(40px,11vw,56px)}
.frase-grande{text-wrap:balance}
@media (max-width:820px){
  .ag-item{grid-template-columns:minmax(0,1fr)}
  .ag-corpo{grid-template-columns:52px minmax(0,1fr);grid-template-areas:"hora quem" "hora info";padding:12px}
  .ag-info{justify-content:flex-start;max-width:none}
  .ag-info .ag-obs{text-align:left}
  .ag-acoes{padding:8px 12px 10px;border-top:1px solid var(--linha);justify-content:space-between}
  .ag-acoes .btn{min-height:44px}
  .ag-acoes .receber-agora{flex:1;max-width:220px}
  .dia-nav .btn{flex:1 1 auto;padding:0 10px}
  .dia-nav .ir-data{flex:1 1 100%}
  .dia-nav .entrada{width:100%}
  /* acerto: o "Cancelar" do lançamento avulso vai para a coluna do texto */
  .itens td.col-canc{grid-column:2 / -1}
  .itens td.col-canc:empty{display:none}
  /* alvos de toque: resumos que abrem e fecham com altura de dedo */
  main summary{padding-block:10px}
  .chips.formas .chip span{padding:0 10px}
  /* tabelas em cartões (static/js/tabelas.js põe o título da coluna em data-rotulo) */
  .livro.cartoes thead{display:none}
  .livro.cartoes,.livro.cartoes tbody,.livro.cartoes tr,.livro.cartoes td{display:block;width:100%}
  .livro.cartoes tr{padding:12px 0;border-bottom:1px solid var(--linha)}
  .livro.cartoes tbody tr:hover{background:none}
  .livro.cartoes td{border:0;padding:3px 0 3px 38%;position:relative;text-align:left;min-height:1.6em;overflow-wrap:anywhere;white-space:normal}
  .livro.cartoes td::before{content:attr(data-rotulo);position:absolute;left:0;top:4px;width:34%;color:var(--agulha);font-size:var(--fs-xs);font-weight:600;line-height:1.3}
  .livro.cartoes td:first-child{padding-left:0;font-weight:600;font-size:var(--fs-m)}
  .livro.cartoes td:first-child::before{content:none}
  .livro.cartoes td:empty{display:none}
  .livro.cartoes .acoes-rec{white-space:normal}
  .tabela-rolagem:has(> .livro.cartoes){overflow-x:visible}
}
@media (max-width:820px){
  .ag-corpo .hora{white-space:normal}
  .livro.cartoes tfoot,.livro.cartoes tfoot tr,.livro.cartoes tfoot th{display:block;width:100%}
  .livro.cartoes tfoot th{border:0;padding:3px 0 3px 38%;position:relative;text-align:left}
  .livro.cartoes tfoot th::before{content:attr(data-rotulo);position:absolute;left:0;top:4px;width:34%;color:var(--agulha);font-size:var(--fs-xs);font-weight:600}
  .livro.cartoes tfoot th:first-child{padding-left:0;color:var(--osso)}
  .livro.cartoes tfoot th:first-child::before{content:none}
  .livro.cartoes td:has(.diff){padding-left:0}
  .livro.cartoes td:has(.diff)::before{position:static;display:block;width:auto;margin-bottom:2px}
  .diff li{grid-template-columns:minmax(90px,35%) minmax(0,1fr)}
  .pv-detalhe summary,.pl-detalhes summary,.ver-mais summary{padding-block:10px}
}
@media (max-width:480px){
  .pv-lista li{grid-template-columns:minmax(46px,max-content) minmax(0,1fr)}
  .pv-lista.pv-larga li{grid-template-columns:76px minmax(0,1fr)}
  .pv-lista li > .pv-valor{grid-column:2;justify-self:start;text-align:left}
}
@media (max-width:820px){main summary{min-height:40px}.ag-dur-b{min-height:44px}}

/* Ciclo 7 (29/10/2026): materiais dos residentes, ocorrências e espera de reagendamento */
.mat-at{margin-bottom:16px;max-width:420px}
.mat-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.mat-cartao{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--linha);border-radius:var(--r-bloco);background:var(--carvao);min-width:0}
.mat-cartao.baixo{border-color:var(--alerta)}
.mat-nome{font-size:var(--fs-l);font-stretch:72%;letter-spacing:.02em}
.mat-qtd{display:flex;align-items:center;gap:6px}
.mat-qtd input{width:56px;text-align:center}
.mat-cartao .btn.principal{min-height:48px}
.mat-acoes summary{cursor:pointer;color:var(--agulha);font-size:var(--fs-xs)}
.form-linha{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}
.form-linha .entrada{min-width:0;flex:1 1 110px}
.riscado{opacity:.55;text-decoration:line-through}
tr.alerta td{color:var(--alerta)}
.img-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:12px 0}
.img-grade img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-bloco);max-width:100%}
.oc-nivel{display:flex;flex-direction:column;gap:6px;border:1px solid var(--linha);border-radius:var(--r-bloco);padding:12px}
.oc-comentario{background:var(--campo);padding:10px;border-radius:var(--r-bloco);margin:8px 0}
.espera-aviso{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:12px;margin:12px 0;border:1px solid var(--ouro);background:var(--ouro-fundo);border-radius:var(--r-bloco)}
.espera-aviso .apoio{flex:1 1 220px}
.espera-botao{margin-top:12px}
.espera-botao summary{cursor:pointer;color:var(--ouro);font-weight:600}
.espera-botao form{margin-top:8px}
.espera-lista li{display:flex;align-items:center;gap:8px}
.espera-lista li > a{flex:1;display:flex;gap:12px;align-items:center;text-decoration:none;min-width:0;padding:8px 0}
.esp-quem{flex:1;display:flex;flex-direction:column;min-width:0}
.esp-quem small{color:var(--agulha)}
.esp-dias,.esp-pago{display:flex;flex-direction:column;align-items:flex-end;font-size:var(--fs-s)}
.esp-dias small,.esp-pago small{color:var(--agulha);font-size:var(--fs-xs)}

/* Ciclo 8 (30/10/2026): tema off-white, central da recepção, pagamento pelo painel, bônus pelo botão, cadastro */
/* Tema off-white: mesmos tokens, valores claros (contraste AA nos textos). Escolhido em Configurações. */
:root[data-tema="claro"]{
  --tinta:#F6F2EA; --carvao:#FFFDF8; --campo:#EDE7DC; --linha:#DCD3C5; --linha-forte:#C4B9A7;
  --osso:#1F1C18; --agulha:#625A4F; --ouro:#8A6514; --stencil:#4F3DB8;
  --pago:#1C7044; --alerta:#A63A28; --devendo:#B83226;
  --ouro-fundo:rgba(138,101,20,.12); --stencil-fundo:rgba(79,61,184,.10);
  --pg-estudio:#9A5E0C; --pg-voce:#1C7A52; --orig-s:#C98A22; --orig-a:#2E9E6E; --orig-as:#3A7FC4;
  color-scheme:light;
}
:root[data-tema="claro"] .chip input:checked + span small{color:#D9D1C4}
:root[data-tema="claro"] .cal-d.tem{color:#fff}
:root[data-tema="claro"] .piso{fill:#E6DFD3}
:root[data-tema="claro"] .hach-fundo{fill:#DDD5C8}
:root[data-tema="claro"] .hach-linha{stroke:#C9BFAF}
:root[data-tema="claro"] .bc.ocupada .bc-ret{stroke:#B5AA98}
:root[data-tema="claro"] .bc.ocupada .bc-num{fill:#6B6358}
:root[data-tema="claro"] .lg-ocupada{background:repeating-linear-gradient(45deg,#DDD5C8 0 4px,#C9BFAF 4px 7px);border-color:#B5AA98}
:root[data-tema="claro"] .tl{background:#E8E1D6}
:root[data-tema="claro"] .tl-aberto{background:#F3EEE5}
:root[data-tema="claro"] .tl-s{background:#B5AA98;color:#1F1C18}
:root[data-tema="claro"] .wa{color:#128C4A}
.tema-opcoes .amostra{display:inline-block;width:18px;height:18px;border-radius:50%;border:1px solid var(--linha-forte)}
.amostra-escuro{background:#1B1916}
.amostra-claro{background:#F6F2EA}

/* Central da recepção e Meus avisos */
.central-lista{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.central-item{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid var(--linha);border-left:4px solid var(--linha-forte);border-radius:var(--r-campo);background:var(--carvao);min-width:0}
.central-item.aberta{border-left-color:var(--stencil)}
.central-item.aberta.t-pix_estudio,.central-item.aberta.t-pagamento_informado,.central-item.aberta.t-estoque{border-left-color:var(--pg-estudio)}
.central-item.aberta.t-cancelamento,.central-item.aberta.t-menor{border-left-color:var(--devendo)}
.ci-topo{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ci-tipo{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--agulha)}
.ci-texto{font-size:var(--fs-s);overflow-wrap:anywhere}
.ci-acoes{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.ci-acoes .form-linha{flex-wrap:wrap}
.ci-feito{color:var(--agulha)}
.ci-feito.devendo{color:var(--devendo)}
.informados .informado{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid var(--linha)}
.informados .informado:first-of-type{border-top:0}

/* Pagamento pelo painel */
.pg-painel{display:flex;flex-direction:column;gap:12px}
.pg-painel .sub-titulo{font-size:var(--fs-s);font-weight:700;margin:2px 0 8px}

/* Bônus da meta pelo botão */
.bonus-usar{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding:12px 14px;border-radius:var(--r-campo);border:2px solid var(--pg-voce);background:rgba(63,191,138,.08)}
.bonus-confirmar>summary{list-style:none;width:fit-content}
.bonus-confirmar>summary::-webkit-details-marker{display:none}
.bonus-confirmar form{display:flex;flex-direction:column;gap:10px;margin-top:10px}

/* Gráfico: legenda das metas */
.grafico-legenda{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px}
.grafico-legenda span{display:inline-flex;align-items:center;gap:6px}
.grafico-legenda i{display:inline-block;width:12px;height:12px;border-radius:3px}
.leg-sem{background:var(--stencil)} .leg-m1{background:var(--ouro)} .leg-m2{background:var(--pago)}

/* Avisar a recepção */
.pv-topo .avisar-recepcao{align-self:flex-start}

/* Caixa "Complete seu cadastro" */
.caixa-cadastro{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;
  padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));
  background:rgba(0,0,0,.55)}
.cx-cad-corpo{display:flex;flex-direction:column;gap:14px;max-width:440px;width:100%;padding:22px;border-radius:var(--r-campo);background:var(--carvao);border:1px solid var(--linha-forte)}
.cx-cad-corpo .form-linha{flex-wrap:wrap}

/* Cadastro do profissional */
.dados-lista{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0}
.dados-lista dt{color:var(--agulha);font-size:var(--fs-s)}
.dados-lista dd{margin:0;overflow-wrap:anywhere}
@media (max-width:560px){.dados-lista{grid-template-columns:1fr}.dados-lista dd{margin-bottom:6px}}
.vac-envio>summary{list-style:none;width:fit-content}
.vac-envio>summary::-webkit-details-marker{display:none}
.vac-envio[open]>summary{margin-bottom:10px}

/* Ciclo 10 (30/10/2026): caixa da loja e relatório de caixa */
.caixa-saldo{display:flex;flex-direction:column;gap:4px;padding:18px 20px;margin-bottom:18px;border-radius:var(--r-campo);border:2px solid var(--pago);background:var(--carvao);text-decoration:none;color:var(--osso)}
.caixa-saldo b{font-size:var(--fs-xxl);font-stretch:72%}
.caixa-saldo.mini b{font-size:var(--fs-xl)}
.caixa-saldo.negativo{border-color:var(--devendo)}
.caixa-saldo small{color:var(--agulha)}
.rel-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:12px 0 20px}
.rel-card{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border:1px solid var(--linha);border-radius:var(--r-campo);background:var(--carvao);min-width:0}
.rel-card b{font-size:var(--fs-xl)}
.rel-card small{color:var(--agulha);font-size:var(--fs-xs)}
.rel-total{border-color:var(--stencil)}
.tc-resultados{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}
.mat-passos{display:flex;flex-direction:column;gap:14px}
.mat-passos .linha-campos{flex-wrap:wrap}

/* Ciclo 11 (30/10/2026): cor da notificação (vermelha enviada, azul com o ok), avaliação, materiais em loja */
:root{--azul:#6FA8FF}
:root[data-tema="claro"]{--azul:#2563C9}
.central-item.notif-aberta{border-color:var(--devendo);border-left-color:var(--devendo)}
.central-item.notif-ok{border-color:var(--azul);border-left-color:var(--azul)}
.central-item.notif-recusada{border-color:var(--linha-forte);border-left-color:var(--linha-forte);opacity:.85}
.legenda-notif{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:10px 0}
.legenda-notif span{display:inline-block;width:14px;height:14px;border-radius:4px;border:2px solid}
.lg-aberta{border-color:var(--devendo)} .lg-ok{border-color:var(--azul)}
.resposta-recepcao{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:var(--r-bloco);background:var(--campo);font-size:var(--fs-s)}
.avaliar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.avaliar form{margin:0}
.nao-resolvido>summary{list-style:none}
.nao-resolvido>summary::-webkit-details-marker{display:none}
.nao-resolvido[open] form{margin-top:8px}
.btn.joia{border-color:var(--pago)} .btn.negativo{border-color:var(--devendo)}
.historico-notif>summary{cursor:pointer;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.loja-abas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.loja-marcas{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.loja-marca{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px;border:2px solid var(--linha);border-radius:var(--r-campo);background:var(--carvao);cursor:pointer;color:var(--osso);font:inherit}
.loja-marca img{width:100%;max-width:96px;aspect-ratio:1;object-fit:contain;border-radius:8px;background:#fff}
.loja-marca .sem-logo{width:96px;max-width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--campo);font-weight:800;font-size:var(--fs-xl)}
.loja-marca[aria-pressed="true"]{border-color:var(--stencil);background:var(--stencil-fundo)}
.loja-itens{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.loja-item{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--linha);border-radius:var(--r-campo);background:var(--carvao);min-width:0}
.loja-item b{font-size:var(--fs-l)}
.loja-item .btn{width:100%}
.carrinho{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:2px solid var(--stencil);border-radius:var(--r-campo);background:var(--tinta);z-index:5}
.carrinho ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.carrinho li{display:flex;justify-content:space-between;align-items:center;gap:8px}
.card-materiais{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}

/* Ciclo 12: projeto com várias sessões e vários anexos */
.bloco-projeto{display:flex;flex-direction:column;gap:10px;margin-top:12px}
#bloco-sessoes{display:flex;flex-direction:column;gap:10px}
.sessao-linha{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;align-items:end;padding:10px;border:1px dashed var(--linha);border-radius:var(--r-campo)}
.sessao-linha .tirar-sessao{justify-self:start}
.proj-sessoes{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.proj-sessoes a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:baseline;padding:8px 10px;border:1px solid var(--linha);border-radius:var(--r-campo);color:inherit;text-decoration:none}
.proj-sessoes li.atual a{border-color:var(--stencil);background:var(--stencil-fundo)}
.proj-sessoes li.st-cancelado a{opacity:.6;text-decoration:line-through}
@media (max-width:480px){.proj-sessoes a{grid-template-columns:1fr}}
.anexos-lista{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px}
.anexos-lista ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;flex-basis:100%}
.anexos-lista li{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}
.anexos-lista li span{overflow-wrap:anywhere}
/* ciclo 13: fechamento por dia (dia · total do dia · total do Studio; o detalhe abre ao tocar) */
.fech-dias{display:flex;flex-direction:column}
.fech-dia-cab,.fech-dia>summary{display:grid;grid-template-columns:minmax(64px,1fr) minmax(0,1.3fr) minmax(0,1.3fr);gap:10px;align-items:baseline;padding:8px 4px}
.fech-dia-cab{font-size:var(--fs-xs);color:var(--agulha);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--linha)}
.fech-dia{border-bottom:1px solid var(--linha)}
.fech-dia>summary{cursor:pointer;list-style:none}
.fech-dia>summary::-webkit-details-marker{display:none}
.fech-dia>summary .dir,.fech-dia-cab .dir{text-align:right;white-space:nowrap}
.fech-dia[open]>summary{background:var(--stencil-fundo)}
.fech-dia>summary:focus-visible{outline:2px solid var(--stencil);outline-offset:2px}
.fech-mes>summary{font-weight:800}
.fech-det{display:flex;flex-direction:column;gap:10px;padding:8px 4px 14px}
.fech-formas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}
.fech-formas li{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:1px solid var(--linha);border-radius:var(--r-campo)}
.fech-formas li span{font-size:var(--fs-xs);color:var(--agulha)}
.fech-formas .fech-art{border-color:var(--pg-voce)}
.fech-formas .fech-bonus{border-color:var(--ouro)}
.fech-det-geral>summary{cursor:pointer;font-size:var(--fs-s);padding:4px 0}
.fech-det-geral[open]>summary{margin-bottom:6px}
/* ciclo 13: caixa da loja direto (um botão de retirada; conferência só do Adm) */
.caixa-acao{margin-bottom:12px}
.caixa-acao>summary{list-style:none;display:inline-flex;cursor:pointer}
.caixa-acao>summary::-webkit-details-marker{display:none}
.caixa-acao[open]>summary{margin-bottom:10px}
.caixa-acao>form{padding:14px;border:1px solid var(--linha);border-radius:var(--r-campo)}
.abas-caixa{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 10px}
/* Contagem da gaveta e saldo por linha (02/11/2026) */
.mat-grupo{border-top:1px solid var(--linha);padding:8px 0}
.mat-grupo>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
.mat-contagem{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:8px}
.mat-conta{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--linha);border-radius:var(--r-campo);min-width:0}
.mat-conta input{width:64px;text-align:center}
.mat-conta.alerta{border-color:var(--alerta)}

/* Vitrine de materiais (ciclo 16): a foto da caixa, as numerações em botões, a retirada embaixo */
.vit{display:flex;flex-direction:column;gap:20px}
.vit-cliente{max-width:460px}
.vit-ajuda{margin-bottom:12px}
.vit-marca{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.vit-titulo{font-size:var(--fs-m);color:var(--agulha);text-transform:uppercase;letter-spacing:.06em;font-stretch:100%;font-weight:600}
.vit-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.vit-prod{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:10px;border:2px solid var(--linha);border-radius:var(--r-campo);background:var(--carvao);color:var(--osso);font:inherit;text-align:left;cursor:pointer;min-width:0}
.vit-prod:hover{border-color:var(--linha-forte)}
.vit-prod.tem{border-color:var(--stencil);background:var(--stencil-fundo)}
.vit-prod.zerado{opacity:.55}
.vit-prod img,.vit-sem-foto{width:100%;aspect-ratio:1;object-fit:contain;border-radius:8px;background:#fff}
.vit-sem-foto{display:flex;align-items:center;justify-content:center;background:var(--campo);font-weight:800;font-size:var(--fs-xl)}
.vit-prod b{font-size:var(--fs-s);line-height:1.2}
.vit-prod small{font-size:var(--fs-xs);color:var(--agulha)}
.vit-escolhidos{position:absolute;top:6px;right:6px;min-width:28px;height:28px;padding:0 8px;border-radius:14px;background:var(--stencil);color:var(--tinta);font-weight:800;display:flex;align-items:center;justify-content:center}
.folha{width:min(720px,calc(100vw - 24px));max-height:calc(100vh - 48px);padding:0;border:1px solid var(--linha-forte);border-radius:var(--r-campo);background:var(--tinta);color:var(--osso)}
.folha::backdrop{background:rgba(0,0,0,.6)}
.folha-form{display:flex;flex-direction:column;max-height:calc(100vh - 50px)}
.folha-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;border-bottom:1px solid var(--linha);position:sticky;top:0;background:var(--tinta);z-index:1}
.folha-form .chips{padding:12px 16px 0}
.folha-corpo{padding:16px;display:flex;flex-direction:column;gap:14px;overflow:auto}
.folha-pe{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--linha)}
.vit-conf{display:flex;flex-direction:column;gap:8px}
.vit-conf h3,.vit-conf-t{font-size:var(--fs-s);color:var(--agulha);margin-top:4px}
.vit-nums{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.vit-num{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;min-height:72px;padding:10px 6px;border:2px solid var(--linha);border-radius:var(--r-campo);background:var(--carvao);color:var(--osso);font:inherit;cursor:pointer}
.vit-num b{font-size:var(--fs-l);font-stretch:72%;letter-spacing:.02em}
.vit-num small{font-size:var(--fs-xs)}
.vit-num[aria-pressed="true"]{border-color:var(--stencil);background:var(--stencil-fundo)}
.vit-num:disabled{cursor:default}
.vit-qtd{position:absolute;top:-8px;right:-8px;min-width:26px;height:26px;padding:0 6px;border-radius:13px;background:var(--stencil);color:var(--tinta);font-weight:800;font-size:var(--fs-xs);display:flex;align-items:center;justify-content:center}
.vit-passo{display:flex;align-items:center;gap:10px}
.vit-passo b{min-width:28px;text-align:center}
.vit-passo.pq .btn{min-height:44px;padding:0 12px}
.carrinho-cab{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.carrinho li span:first-child{min-width:0;overflow-wrap:anywhere}
.hist-filtro{margin-bottom:8px}
.prod-linha{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.prod-mini{width:48px;height:48px;object-fit:contain;border-radius:6px;background:#fff;flex:none;font-size:var(--fs-s)}
.prod-nome{display:flex;flex-direction:column;flex:1;min-width:160px}
@media (max-width:600px){
  .vit-grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .vit-nums{grid-template-columns:repeat(3,minmax(0,1fr))}
  .folha{width:100vw;max-width:100vw;max-height:88vh;margin:auto 0 0;border-radius:var(--r-campo) var(--r-campo) 0 0}
}

/* Planilha da gestão: o mês linha a linha (ciclo 16) */
.lin-resumo{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.lin-resumo>div{display:flex;flex-direction:column;gap:2px;padding:12px;border:1px solid var(--linha);border-radius:var(--r-campo);background:var(--carvao)}
.lin-resumo span{font-size:var(--fs-xs);color:var(--agulha)}
.lin-resumo b{font-size:var(--fs-l)}
.lin-tabela td small{display:block;font-size:var(--fs-xs)}
.lin-tabela tfoot td{border-top:2px solid var(--linha-forte)}
.lin-sit{font-size:var(--fs-xs);white-space:nowrap}
.lin-ok .lin-sit{color:var(--pago)}
.lin-espera .lin-sit{color:var(--agulha)}
.lin-artista .lin-sit{color:var(--alerta)}
.lin-estudio .lin-sit{color:var(--ouro)}
.lin-perc summary{cursor:pointer;color:var(--stencil);font-size:var(--fs-xs);white-space:nowrap}
.lin-perc form{margin-top:8px;min-width:200px}
.lin-padrao{margin-top:12px}

/* Menu em grupos (ciclo 16): o mesmo no trilho e na página Menu do celular */
.nav-grupo{display:flex;flex-direction:column;gap:2px}
.trilho .nav-grupo+.nav-grupo{margin-top:10px}
.nav-titulo{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--agulha);padding:4px 12px 2px}
.menu-lista .nav-grupo{gap:8px;margin-bottom:14px}
.menu-lista .nav-titulo{padding:0 4px;font-size:var(--fs-xs)}
.menu-lista a{justify-content:space-between}
.sub-bloco{margin:20px 0 10px}
.obs-bloco{margin:12px 0}
.vit-passo .btn,.folha-cab .btn{min-width:44px;border:1px solid var(--linha-forte);background:var(--campo);text-decoration:none;color:var(--osso)}
.tag-espera{color:var(--agulha);font-style:italic}
@media (max-width:700px){
  .lin-rolagem{overflow:visible}
  .lin-tabela thead{display:none}
  .lin-tabela,.lin-tabela tbody,.lin-tabela tfoot{display:block}
  .lin-tabela tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;padding:12px 0;border-bottom:1px solid var(--linha)}
  .lin-tabela td,.lin-tabela td.dir{display:block;padding:0;border:0;text-align:left;white-space:normal}
  .lin-tabela td.lin-data{grid-column:1/4;color:var(--agulha);font-size:var(--fs-xs)}
  .lin-tabela td.lin-cli{grid-column:1/4}
  .lin-tabela td[data-rot]::before{content:attr(data-rot);display:block;font-size:var(--fs-xs);color:var(--agulha)}
  .lin-tabela td.lin-s{grid-column:1/4}
  .lin-tabela td.lin-s:empty{display:none}
  .lin-tabela tfoot tr{border-bottom:0;border-top:2px solid var(--linha-forte)}
  .lin-tabela tfoot td{border-top:0}
}

/* Ciclo 17 (Carlos, 02/11/2026): para que é a retirada, fora do sistema, compra, uso pessoal, portfólio, guest */
.vit-para{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.vit-para legend{font-size:var(--fs-s);font-weight:600;margin-bottom:6px}
.vit-clientes{display:flex;flex-direction:column;gap:8px}
.vit-cli{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 12px;border:1px solid var(--linha);border-radius:var(--r-campo);background:var(--carvao)}
.vit-cli small{flex:1 1 140px}
.vit-cli-acoes{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.vit-cli-acoes .btn{min-height:44px}
.vit-zerados{display:flex;align-items:center;gap:10px;font-size:var(--fs-s);color:var(--agulha);min-height:44px}
.vit-zerados input{width:22px;height:22px}
.vit-num.zerado{border-style:dashed;opacity:.8}
.vit-aviso{padding:10px 12px;border:1px solid var(--linha);border-radius:var(--r-campo)}
.vit-total{margin:0;font-weight:700}
.tag-fora,.tag-faltou{display:inline-block;padding:1px 8px;border-radius:10px;font-size:var(--fs-xs);font-weight:700}
.tag-fora{background:var(--ouro-fundo);color:var(--ouro)}
.tag-faltou{background:rgba(255,107,94,.14);color:var(--devendo)}
.carrinho li{flex-wrap:wrap}
.carrinho li.faltou{padding:8px;border:1px solid var(--devendo);border-radius:var(--r-campo)}
.carrinho li > span:first-child{min-width:0;flex:1 1 160px;overflow-wrap:anywhere}
.compra-linha{display:flex;flex-direction:column;gap:8px}
.regras-pf{margin:0 0 12px;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-s)}
.pf-lista,.conf-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.pf-item,.conf-lista > li{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--linha);border-radius:var(--r-campo);background:var(--carvao)}
.pf-item p,.conf-lista p{margin:0}
.pf-topo{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.pf-projeto{white-space:pre-line;overflow-wrap:anywhere}
.pf-resposta{padding:8px 10px;border-left:3px solid var(--stencil);background:var(--stencil-fundo)}
.pf-imagens{display:flex;gap:8px;flex-wrap:wrap}
.pf-imagens img{width:84px;height:84px;object-fit:cover;border-radius:8px}
.pf-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tag-pf{font-size:var(--fs-xs);font-weight:700;padding:2px 8px;border-radius:10px;background:var(--campo)}
.pf-pendente .tag-pf{background:var(--ouro-fundo);color:var(--ouro)}
.pf-aprovado .tag-pf{background:var(--stencil-fundo);color:var(--stencil)}
.pf-recusado .tag-pf{background:rgba(255,107,94,.14);color:var(--devendo)}
.pf-alterar summary{cursor:pointer;color:var(--agulha);font-size:var(--fs-s);padding:6px 0}
.lin-aplicar{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-s)}
.lin-aplicar input{width:20px;height:20px;flex:none;margin-top:2px}
.lin-agendadas{margin:0;padding-left:28px;font-size:var(--fs-xs);color:var(--agulha)}
.sem-conf .pv-lista li.atrasada{border-left:4px solid var(--devendo);padding-left:8px}
.sem-conf .pv-lista li.atrasada small{color:var(--devendo)}
.conf-escolha{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.conf-escolha li{border-bottom:1px solid var(--linha)}
.conf-escolha label{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:48px;padding:6px 0}
.conf-escolha input{width:22px;height:22px}
.conf-escolha small{flex-basis:100%;padding-left:32px}
.conf-recs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:var(--fs-s)}
.conf-recs small{display:block}
.mat-contagem.mat-pessoal{grid-template-columns:1fr}
.pf-novo summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.pf-novo[open] summary{margin-bottom:12px}
/* Ciclo 18: lista de trabalhos do cliente (Retoque e Sessão extra) e correção paga */
.bloco-trabalhos{margin-top:12px;display:flex;flex-direction:column;gap:8px;padding:12px;border:1px dashed var(--linha-forte);border-radius:10px}
.tb-titulo{margin:0;font-weight:600}
.tb-quem{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px;align-items:baseline}
.tb-quem .pl-rotulo{flex-basis:100%}
.tb-tat{display:inline-flex;flex-direction:column;padding:4px 10px;border:1px solid var(--linha);border-radius:999px;font-size:var(--fs-s);line-height:1.25;min-width:0}
.tb-tat.meu{border-color:var(--stencil)}
.tb-tat small{color:var(--agulha);font-size:var(--fs-xs)}
[data-tb-lista]{display:flex;flex-direction:column;gap:6px;min-width:0}
.tb-card{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--linha);border-radius:var(--r-campo);background:var(--carvao);cursor:pointer;min-width:0}
.tb-card:has(input:checked){border-color:var(--ouro);background:var(--ouro-fundo)}
.tb-card input{margin-top:4px;flex:none}
.tb-card.off{opacity:.55;cursor:default}
.tb-corpo{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}
.tb-corpo small{color:var(--agulha);font-size:var(--fs-xs)}
.tb-prof{color:var(--agulha);font-weight:400}
.tb-corpo .tb-obs{color:var(--osso)}
.tb-corpo .tb-motivo{font-style:italic}
.tb-correcao{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--stencil);border-radius:10px;background:var(--stencil-fundo)}
.correcao-paga{margin:8px 0;padding:10px 12px;border:1px solid var(--stencil);border-radius:10px;background:var(--stencil-fundo)}

/* ciclo 19: novo painel e consumo do funcionário */
.campo .rotulo-campo{font-size:var(--fs-s);font-weight:600}
.cs-totais{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:16px}
.cs-totais > div{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--linha);border-radius:var(--r-bloco);background:var(--carvao)}
.cs-totais b{font-size:var(--fs-l,1.25rem)}
.cs-grupo{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;min-width:0}
.cs-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--linha)}
.cs-item label{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}
.cs-qtd{display:flex;align-items:center;gap:6px;flex:none}
.cs-qtd .btn{min-width:44px;padding:0;font-size:1.2rem}
.cs-qtd .entrada{width:52px;text-align:center}
.cs-outro summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.cs-outro-campos{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-top:8px}
.cs-fim{position:sticky;bottom:calc(64px + env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border:2px solid var(--stencil);border-radius:var(--r-campo);background:var(--tinta);z-index:5}
.cs-fim b{font-size:var(--fs-l,1.25rem)}
.cs-cab-lista{flex-wrap:wrap}
.cs-lista{list-style:none;margin:0;padding:0}
.cs-lista > li{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid var(--linha)}
.cs-linha1{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cs-lista li.cs-cancelado{opacity:.6}
.cs-lista li.cs-cancelado .cs-linha1 b.num{text-decoration:line-through}
.cs-novo{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:12px}
.cs-subtitulo{margin:18px 0 6px;font-size:var(--fs-m,1rem)}
.cs-itens{list-style:none;margin:0;padding:0}
.cs-itens > li{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--linha)}
.cs-itens > li.fora{opacity:.65}
.cs-editar{display:flex;flex-wrap:wrap;flex:1 1 280px;gap:8px;min-width:0}
.cs-editar .entrada{min-width:0}
.cs-editar .cs-nome{flex:2 1 140px}
.cs-editar .entrada.num{flex:1 1 80px}
@media (max-width:640px){
  .cs-outro-campos{grid-template-columns:1fr 1fr}
  .cs-outro-campos .campo:first-child{grid-column:1 / -1}
  .cs-novo{grid-template-columns:1fr 1fr}
  .cs-novo .campo:first-child{grid-column:1 / -1}
  .cs-novo .btn{grid-column:1 / -1}
  .cs-editar .cs-nome{flex:1 1 100%}
  .cs-editar .entrada.num{flex:1 1 90px}
}

/* Ciclo 20: ausência do profissional (painel) e lista de ausentes abaixo do calendário da Geral */
.aus{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--linha)}
.aus-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:6px}
.aus-form label:nth-of-type(3){grid-column:1}
.aus-dica{grid-column:1/-1;margin-top:-2px}
.aus-form label{display:flex;flex-direction:column;gap:2px;min-width:0}
.aus-form .entrada{width:100%;min-width:0;padding:6px 8px}
.aus-dias{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.aus-dias li{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;border:1px solid var(--linha-forte);
  border-radius:999px;font-size:var(--fs-xs);color:var(--alerta)}
.aus-dias form{margin:0;display:inline}
.aus-dias button{border:0;background:none;color:var(--agulha);font-size:var(--fs-s);line-height:1;padding:2px 6px;cursor:pointer}
.aus-dias button:hover{color:var(--osso)}
.am-ausentes{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:8px}
.am-ausentes>b{color:var(--alerta)}
.am-ausentes span b.num{color:var(--osso);font-weight:600}

/* Ciclo 21.1: abas por centro na tela de Lançamentos (estúdio · café · pessoal, cada uma com a soma do mês) */
.fin-centros{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.fin-centros a{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--linha-forte);
  border-radius:999px;text-decoration:none;color:var(--agulha);font-size:var(--fs-s);min-height:40px}
.fin-centros a b{color:var(--osso);font-weight:700}
.fin-centros a[aria-current="page"]{background:var(--osso);color:var(--tinta);border-color:var(--osso)}
.fin-centros a[aria-current="page"] b{color:var(--tinta)}
/* ciclo 25: menor de 18, documentos do responsável e do menor na sessão */
.menor-docs{display:flex;flex-direction:column;gap:8px;margin:20px 0;padding:12px 14px;border:1px solid var(--linha-forte);border-radius:12px}
.menor-docs h2{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--fs-m);margin:0}
.menor-lista{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.menor-lista li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.menor-lista li>span:first-child{min-width:0;flex:1 1 160px;font-weight:600}
.menor-envio{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0;flex:1 1 100%}
.menor-envio input[type=file]{min-width:0;flex:1 1 180px}

/* ciclo 26: painel objetivo do profissional */
.pv-materiais .pv-cab{align-items:center}
.pv-mat-atalhos{display:flex;flex-wrap:wrap;gap:6px}
.pv-mat-atalhos:empty{display:none}
.pv-proximos>summary{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;cursor:pointer;list-style:none}
.pv-proximos>summary::-webkit-details-marker{display:none}
.pv-proximos>summary::before{content:"▸";margin-right:6px}
.pv-proximos[open]>summary::before{content:"▾"}
.pv-filtro{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.pv-filtro a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--linha-forte);background:var(--campo);color:inherit;font-size:var(--fs-s);font-weight:600;text-decoration:none}
.pv-filtro a.ativo{background:var(--osso);color:var(--tinta);border-color:var(--osso)}
.pv-total-mes{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--linha-forte)}
.pv-total-mes b{font-size:var(--fs-l)}
.pv-detalhado{margin-top:18px}
.pv-detalhado>summary{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;cursor:pointer;list-style:none;text-align:center}
.pv-detalhado>summary::-webkit-details-marker{display:none}
.pv-detalhado[open]>summary{margin-bottom:14px}

/* ambiente testegestao (GESTAO_AMBIENTE=teste) */
.faixa-teste{position:sticky;top:0;z-index:60;background:var(--alerta);color:#1a1210;text-align:center;font-weight:700;font-size:var(--fs-s);padding:6px max(16px,env(safe-area-inset-left))}

/* Ciclo 21.2: lançar rápido, fila "A classificar", filtros no funil e projeção */
.lr{display:flex;flex-direction:column;gap:8px}
.lr-linha{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lr-valor{flex:0 1 110px;min-width:90px}
.lr-desc{flex:1 1 180px;min-width:0}
.lr-anexo{cursor:pointer;min-height:44px;display:inline-flex;align-items:center;padding:0 12px}
.lr-mais summary{cursor:pointer;color:var(--agulha);font-size:var(--fs-s);min-height:40px;display:flex;align-items:center}
.lr-mais .lr-linha .entrada{flex:1 1 130px;min-width:0}
.filtro-drop summary{cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;
  color:var(--agulha);font-size:var(--fs-s);font-weight:600}
.filtro-drop summary .badge{background:var(--stencil);color:#fff}
.filtro-funil{flex:none}
.selo.pend{border-color:var(--ouro);color:var(--ouro);background:var(--ouro-fundo)}
.fin-centros a.pend{border-color:var(--ouro);color:var(--ouro)}
.fin-centros a.pend[aria-current="page"]{background:var(--ouro);color:var(--tinta);border-color:var(--ouro)}
.fin-centros a.pend[aria-current="page"] b{color:var(--tinta)}
.fin-clf{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.fin-clf .entrada{flex:1 1 120px;min-width:0}
.aviso-pend{margin:0 0 14px;padding:12px 14px;border:1px solid var(--ouro);border-radius:var(--r-campo);
  background:var(--ouro-fundo);font-size:var(--fs-s)}
.proj-barra{height:6px;border-radius:3px;background:var(--campo);margin:6px 0 2px;max-width:220px}
.proj-barra i{display:block;height:100%;border-radius:3px;background:var(--stencil)}
