/* Identidade visual Sistema Autentis — padrão da tela de login (oliva + creme + vidro) */
:root{
  --oliva:#575A45; --oliva-escuro:#494B3E; --oliva-profundo:#1A1C14; --oliva-medio:#61644E;
  --creme:#EFE6C8; --creme-dim:#D6D1BC; --sage:#A8AA8F;
  --vidro:rgba(255,255,255,.10); --vidro-forte:rgba(255,255,255,.16); --borda:rgba(239,230,200,.28);
  --ok:#A5E8B0; --ok-bg:rgba(76,175,80,.16); --erro:#FFC7BD; --erro-bg:rgba(214,69,45,.18);
  /* Cores oficiais dos grupos (planilha) */
  --verde:#00B800; --azul:#2D2DFF; --amarelo:#FFF905; --laranja:#FFAB2F; --vermelho:#FF2929; --roxo:#AE37FF;
}
*{box-sizing:border-box}
html{background:#4C4E3C}
body{margin:0;font-family:'Inter','Segoe UI',system-ui,sans-serif;color:var(--creme);font-weight:400;min-height:100vh;
  background:radial-gradient(1200px 600px at 70% -10%, #6A6D55 0%, var(--oliva) 45%, #4C4E3C 100%) fixed}
strong,b,th,label,button{font-weight:500}
h1{font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:600;font-size:clamp(26px,4vw,34px);margin:8px 0 4px;color:var(--creme)}
h2{font-size:13px;margin:26px 0 10px;text-transform:uppercase;letter-spacing:2px;color:var(--creme-dim);font-weight:500}
.sub{color:var(--creme-dim);font-size:14px;margin:0 0 18px}
a{color:var(--creme)}
/* Barra superior (vidro) */
.topo{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;padding:12px 24px;flex-wrap:wrap;
  background:rgba(73,75,62,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(239,230,200,.15);color:var(--creme)}
.topo .marca{font-family:'Fraunces',Georgia,serif;font-style:normal;font-size:20px;color:var(--creme)}
.topo .marca strong{font-weight:600}
.topo .links{display:flex;gap:2px;flex-wrap:wrap}
.topo a{color:var(--creme-dim);text-decoration:none;padding:6px 11px;border-radius:20px;font-size:11.5px;text-transform:uppercase;letter-spacing:1.5px;transition:.25s}
.topo a:hover{color:var(--creme);background:rgba(239,230,200,.12)}
.topo .sair{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:13px}
.topo .sair span{color:var(--creme-dim)}
.topo .sair button{background:var(--oliva-escuro);color:var(--creme);border:1px solid var(--borda);border-radius:20px;padding:6px 16px;cursor:pointer;font-size:11px;letter-spacing:1px;text-transform:uppercase;transition:.25s}
.topo .sair button:hover{background:#3f4136}
.menu-btn{display:none;background:none;border:1px solid var(--borda);color:var(--creme);border-radius:8px;padding:4px 10px;font-size:18px;cursor:pointer;margin-left:auto}
.conteudo{max-width:1080px;margin:26px auto;padding:0 20px 96px}
/* Cartões (vidro fosco) */
.cartao{background:var(--vidro);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid var(--borda);border-radius:20px;padding:20px 22px;margin-bottom:18px;overflow-x:auto;
  box-shadow:0 14px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.10);transition:box-shadow .25s}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.kpi{background:var(--vidro);backdrop-filter:blur(14px);border:1px solid var(--borda);border-radius:18px;padding:16px 18px;
  box-shadow:0 10px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.10);transition:transform .25s}
.kpi:hover{transform:translateY(-2px)}
.kpi .rotulo{font-size:10.5px;color:var(--creme-dim);text-transform:uppercase;letter-spacing:1.5px}
.kpi .valor{font-size:24px;font-weight:400;margin-top:5px;color:var(--creme)}
/* KPI com a cor do grupo */
.kpi.kverde{background:linear-gradient(135deg,rgba(0,184,0,.85),rgba(0,140,0,.85));border-color:transparent}
.kpi.kazul{background:linear-gradient(135deg,rgba(45,45,255,.82),rgba(27,27,190,.82));border-color:transparent}
.kpi.kamarelo{background:linear-gradient(135deg,rgba(255,249,5,.88),rgba(214,206,0,.88));border-color:transparent}
.kpi.kamarelo .rotulo,.kpi.kamarelo .valor{color:#3b3b00}
.kpi.klaranja{background:linear-gradient(135deg,rgba(255,171,47,.9),rgba(226,138,16,.9));border-color:transparent}
.kpi.klaranja .rotulo,.kpi.klaranja .valor{color:#4a2c00}
.kpi.kvermelho{background:linear-gradient(135deg,rgba(255,41,41,.85),rgba(200,25,25,.85));border-color:transparent}
.kpi.kroxo{background:linear-gradient(135deg,rgba(174,55,255,.85),rgba(120,20,190,.85));border-color:transparent}
.kpi.kverde .rotulo,.kpi.kazul .rotulo,.kpi.kvermelho .rotulo,.kpi.kroxo .rotulo{color:rgba(255,255,255,.85)}
.kpi.kverde .valor,.kpi.kazul .valor,.kpi.kvermelho .valor,.kpi.kroxo .valor{color:#fff}
.kpi.destaque{background:var(--oliva-profundo);border:2px solid var(--creme);box-shadow:0 0 0 4px rgba(239,230,200,.15),0 14px 40px rgba(0,0,0,.35)}
.kpi.destaque .valor{color:var(--creme);font-weight:600}
/* Tabelas */
table{width:100%;border-collapse:collapse;font-size:14px;color:var(--creme)}
th,td{padding:8px 9px;border-bottom:1px solid rgba(239,230,200,.16);text-align:left;vertical-align:middle}
th{background:transparent;font-size:10.5px;text-transform:uppercase;letter-spacing:1.2px;color:var(--creme-dim);font-weight:500}
td.num,th.num{text-align:right}
tfoot th{font-size:14px;font-weight:700;color:var(--creme);border-top:2px solid var(--borda)}
/* Formulários (pílulas) */
input,select,textarea{width:100%;max-width:100%;min-width:0;padding:11px 16px;border:1px solid var(--borda);border-radius:10px;font:inherit;font-weight:300;
  background:rgba(255,255,255,.07);color:var(--creme);min-height:44px;transition:.2s}
select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23EFE6C8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
select option{background:var(--oliva);color:var(--creme)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--creme);background-color:rgba(255,255,255,.13);box-shadow:0 0 0 3px rgba(239,230,200,.15)}
input[readonly]{color:var(--creme-dim);cursor:default}
/* Checkbox e radio nunca herdam o estilo de caixa de texto */
input[type=checkbox],input[type=radio]{width:18px;height:18px;min-width:0;min-height:0;flex:none;
  padding:0;border-radius:5px;accent-color:#7fb069;cursor:pointer;vertical-align:middle}
input[type=radio]{border-radius:50%}
input::placeholder,textarea::placeholder{color:rgba(239,230,200,.45)}
textarea{min-height:70px;border-radius:10px}
label{display:block;font-size:12.5px;font-weight:500;margin:12px 0 5px;color:var(--creme-dim)}
button,.botao{background:var(--oliva-profundo);color:var(--creme);border:1px solid var(--borda);border-radius:8px;padding:12px 22px;font:inherit;font-size:13px;font-weight:500;letter-spacing:.2px;text-transform:none;cursor:pointer;text-decoration:none;display:inline-block;min-height:44px;transition:.25s}
button:hover,.botao:hover{background:#2b2d22;transform:translateY(-1px)}
.botao.sec,button.sec{background:transparent;color:var(--creme);border:1px solid var(--borda)}
.botao.sec:hover,button.sec:hover{background:rgba(239,230,200,.12)}
.botao.peq,button.peq{padding:7px 14px;font-size:11.5px;letter-spacing:.2px;min-height:36px;border-radius:7px}
/* Alertas e selos */
.alerta{position:relative;padding:12px 16px;border-radius:14px;margin-bottom:16px;font-size:14px;backdrop-filter:blur(10px);font-weight:500}
.alerta.ok{background:var(--ok-bg);color:var(--ok);border:1px solid rgba(141,222,154,.4);border-left:4px solid var(--ok)}
.alerta.erro{background:var(--erro-bg);color:var(--erro);border:1px solid rgba(255,179,166,.4);border-left:4px solid var(--erro)}
.alerta.aviso{background:rgba(255,171,47,.15);color:#FFD9A6;border:1px solid rgba(255,171,47,.4);border-left:4px solid #FFAB2F}
.selo{display:inline-block;border-radius:20px;padding:3px 12px;font-size:10.5px;font-weight:500;letter-spacing:1px}
.selo.enviado{background:rgba(255,249,5,.18);color:#F0E68C}
.selo.aceito{background:var(--ok-bg);color:var(--ok)}
/* Grupos de despesas — cabeçalho com a COR REAL da planilha */
.grupo-cab{display:flex;align-items:center;gap:12px;border-radius:16px 16px 0 0;padding:13px 18px;color:#fff;margin:24px 0 0}
.grupo-cab .titulo{font-weight:600;font-size:14px;letter-spacing:.5px}
.grupo-cab .titulo small{display:block;font-weight:300;font-size:11.5px;opacity:.9}
.grupo-cab.verde{background:linear-gradient(100deg,var(--verde),#009a00)}
.grupo-cab.azul{background:linear-gradient(100deg,var(--azul),#1b1bd6)}
.grupo-cab.amarelo{background:linear-gradient(100deg,var(--amarelo),#e3dd00);color:#3b3b00}
.grupo-cab.laranja{background:linear-gradient(100deg,var(--laranja),#f29612);color:#4a2c00}
.grupo-cab.vermelho{background:linear-gradient(100deg,var(--vermelho),#d81f1f)}
.grupo-cab.roxo{background:linear-gradient(100deg,var(--roxo),#8a1fd6)}
.grupo-cab + .cartao{border-radius:0 0 20px 20px;margin-top:0;border-top:0}
.grupo-total{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:15px;
  padding:12px 4px 2px;border-top:2px solid var(--borda);margin-top:10px}
/* Botão de instruções "?" */
.ajuda-btn{margin-left:auto;flex:none;width:32px;height:32px;border-radius:50%;border:1.5px solid currentColor;
  background:rgba(255,255,255,.16);color:inherit;font-weight:600;font-size:15px;cursor:pointer;padding:0;min-height:32px;transition:.2s}
.ajuda-btn:hover{background:rgba(255,255,255,.32);transform:scale(1.08)}
.ajuda-btn.solto{color:var(--creme);margin-left:8px;vertical-align:middle}
/* Modal / bottom-sheet de instruções */
.modal-fundo{position:fixed;inset:0;background:rgba(26,28,20,.6);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}
.modal-fundo.aberto{display:flex}
.modal{max-width:600px;width:100%;border-radius:22px;padding:26px 28px;background:rgba(87,90,69,.95);backdrop-filter:blur(20px);
  border:1px solid var(--borda);box-shadow:0 30px 80px rgba(0,0,0,.5);animation:pop .25s ease;max-height:80vh;overflow-y:auto}
@keyframes pop{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
.modal h3{font-family:'Fraunces',Georgia,serif;font-style:normal;font-size:22px;margin:0 0 12px;color:var(--creme)}
.modal p{font-size:14px;font-weight:300;line-height:1.7;color:var(--creme-dim);white-space:pre-line}
.modal .fechar{margin-top:18px;width:100%}
.rm-linha{background:none;border:0;color:var(--erro);cursor:pointer;font-size:15px;padding:2px 8px;border-radius:8px;min-height:32px}
.rm-linha:hover{background:var(--erro-bg)}
/* Entrada (login/cadastro) */
body.escuro{background:radial-gradient(1200px 600px at 50% -10%, #6A6D55 0%, var(--oliva) 45%, #43452F 100%) fixed}
body.escuro .conteudo{max-width:100%;margin:0;padding:0}
.entrada{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px}
.entrada-marca{font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:600;font-size:38px;color:var(--creme);text-align:center;line-height:1.1}
.entrada-sub{font-size:10px;letter-spacing:3px;color:var(--sage);text-transform:uppercase;text-align:center;margin:10px 0 26px}
.entrada .cartao{width:100%;max-width:400px;padding:28px 30px;background:var(--vidro-forte);
  box-shadow:0 0 60px rgba(239,230,200,.12),0 24px 60px rgba(0,0,0,.35)}
.entrada .sub a{color:var(--creme);font-weight:500}
.centro{max-width:460px;margin:60px auto}
/* Documentos (contratos continuam em papel branco para leitura/impressão) */
.doc-abas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.doc-abas button{background:rgba(239,230,200,.14);color:var(--creme-dim);padding:7px 14px;font-size:11px;letter-spacing:.8px;border-radius:20px;border:0;min-height:34px}
.doc-abas button.ativa{background:var(--creme);color:var(--oliva-profundo)}
.doc-corpo{background:#fff;border:1px solid var(--borda);border-radius:14px;padding:36px 46px;max-height:520px;overflow-y:auto;line-height:1.6;font-size:14.5px;font-family:Georgia,'Times New Roman',serif;color:#222}
.doc-corpo h1,.doc-corpo h2,.doc-corpo h3{font-size:15px;font-family:Georgia,serif;font-style:normal;text-transform:none;letter-spacing:0;color:#222}
.pendente{background:#F3ECD9;color:#8A6D2F;padding:0 4px;border-radius:4px;font-weight:500}
.caixa-aceite{background:var(--vidro-forte);border:1px solid var(--borda);border-radius:18px;padding:22px}
.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px;word-break:break-all}
.duas{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
/* Passo a passo */
.wizard{background:var(--vidro-forte)}
.wizard-passos{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12.5px}
.wizard-passo{display:inline-flex;align-items:center;gap:6px;color:var(--creme-dim)}
.wizard-passo .bolinha{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(239,230,200,.22);color:var(--creme);font-size:11px;font-weight:500}
.wizard-passo.atual{color:var(--creme);font-weight:500}
.wizard-passo.atual .bolinha{background:var(--creme);color:var(--oliva-profundo)}
.wizard-passo.feito{color:var(--ok)}
.wizard-passo.feito .bolinha{background:var(--ok);color:var(--oliva-profundo)}
.wizard-tra{color:rgba(239,230,200,.35)}
.wizard-acoes{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}
/* Assinatura carimbada (documentos em papel) */
.carimbo-assinatura{margin:28px auto 10px;max-width:440px;text-align:center;page-break-inside:avoid;color:#222}
.assin-nome{font-family:'Great Vibes',cursive;font-size:38px;color:#1A1C14;line-height:1.1;min-height:46px;transform:rotate(-2deg)}
.assin-linha{border-bottom:1.5px solid #656854;margin:2px 20px 6px}
.assin-meta{font-size:10.5px;color:#656854;line-height:1.5;font-weight:400}
.assin-selo{display:inline-block;border:1.5px solid #4A4C3E;border-radius:20px;color:#4A4C3E;font-size:9.5px;font-weight:500;letter-spacing:1px;padding:3px 10px;margin-top:4px;text-transform:uppercase}
.assin-preview{background:#fff;border:1px dashed var(--sage);border-radius:14px;padding:14px;text-align:center;margin-top:8px;color:#222}
/* Celular */
@media(max-width:760px){
  .menu-btn{display:block}
  .topo{gap:10px}
  .topo .links{display:none;width:100%;flex-direction:column;order:3}
  .topo .links.aberto{display:flex}
  .topo a{padding:12px;border-radius:12px}
  .topo .sair{margin-left:0}
  .duas{grid-template-columns:1fr}
  .doc-corpo{padding:20px 16px;font-size:14px}
  .conteudo{margin:16px auto;padding:0 14px}
  .caixa-aceite{padding:16px}
  button,.botao{width:auto}
  .modal-fundo{align-items:flex-end;padding:0}
  .modal{border-radius:22px 22px 0 0;max-width:100%;max-height:85vh}
  .cartao{padding:16px}
}
/* Impressão */
@page{ margin:22mm 14mm 14mm; }
@media print{
  .topo,.nao-imprimir,.doc-abas,button{display:none!important}
  .doc-corpo{max-height:none;overflow:visible;border:0;padding:0}
  .doc-print{display:block!important;page-break-after:always}
  body{background:#fff;color:#222}
  .conteudo{max-width:100%;margin:0}
  .carimbo-assinatura{display:block!important}
}
.doc-print{display:none}

/* ===== Tela de login (layout do design aprovado) ===== */
.lg-pagina{min-height:100vh;display:flex;flex-direction:column;padding:34px 24px 0}
.lg-topo{text-align:center}
.lg-logo{width:190px;height:auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35));animation:lgentrar .7s ease both}
.lg-marca{font-size:15px;letter-spacing:5px;color:var(--creme-dim);margin-top:2px}
.lg-marca strong{color:var(--creme);font-weight:600}
.lg-meio{flex:1;display:flex;align-items:center;justify-content:center;gap:60px;max-width:1080px;margin:0 auto;width:100%;padding:34px 0}
.lg-chamada{max-width:400px}
.lg-titulo{font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:700;font-size:clamp(30px,4vw,44px);line-height:1.15;color:var(--creme);margin:0 0 18px}
.lg-texto{color:var(--creme-dim);font-size:16.5px;font-weight:300;line-height:1.65;margin:0}
.lg-cartao{width:100%;max-width:430px;border-radius:26px;padding:36px 38px;
  background:rgba(255,255,255,.10);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid rgba(239,230,200,.25);
  box-shadow:0 0 70px rgba(239,230,200,.16),0 26px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.14)}
.lg-login{font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:700;font-size:34px;letter-spacing:2px;color:var(--creme);margin:0 0 22px;text-transform:none}
.lg-campo{position:relative;margin-bottom:18px}
.lg-campo input{padding-right:52px;font-size:16px;min-height:52px;border-radius:14px;border-width:1.5px}
.lg-campo > svg{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:22px;height:22px;color:var(--creme);opacity:.85;pointer-events:none}
.lg-acao{text-align:center;margin:24px 0 16px}
.lg-botao{min-width:150px;font-size:14px;letter-spacing:2px;border-radius:14px;padding:13px 34px;
  background:linear-gradient(180deg,#565948,#3f4136);box-shadow:0 6px 16px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.12)}
.lg-links{display:flex;justify-content:center;gap:34px;font-size:15.5px;color:var(--creme)}
.lg-links a{color:var(--creme);text-decoration:none}
.lg-links a:hover{text-decoration:underline}
.lg-lembrar{display:flex;align-items:center;gap:8px;font-weight:300;font-size:15.5px;color:var(--creme);margin:0}
.lg-lembrar input{width:16px;height:16px;min-height:0;accent-color:var(--creme)}
.lg-cadastro{text-align:center;color:var(--creme-dim);font-size:13px;margin:18px 0 0}
.lg-cadastro a{color:var(--creme);font-weight:500}
.lg-rodape{display:flex;justify-content:center;gap:56px;flex-wrap:wrap;padding:18px 10px 26px;border-top:1px solid rgba(239,230,200,.18);color:var(--creme)}
.lg-rodape span{display:flex;align-items:center;gap:10px;font-size:14.5px}
.lg-rodape i{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1.4px solid rgba(239,230,200,.55)}
.lg-rodape svg{width:18px;height:18px}
@media(max-width:860px){
  .lg-meio{flex-direction:column;gap:18px;padding:10px 0}
  .lg-chamada{text-align:center;order:2}
  .lg-cartao{order:1;padding:22px 20px;max-width:420px}
  .lg-rodape{gap:14px 22px;padding:12px 10px 16px}
  .lg-rodape span{font-size:11.5px;gap:7px}
  .lg-rodape i{width:26px;height:26px}
  .lg-rodape svg{width:15px;height:15px}
}
/* Celular: login compacto e bem distribuído, tudo em uma tela */
@media(max-width:560px){
  .lg-pagina{padding:16px;justify-content:center;min-height:100vh;min-height:100dvh;padding-top:calc(env(safe-area-inset-top) + 20px);padding-bottom:calc(env(safe-area-inset-bottom) + 20px)}
  .lg-topo{margin-bottom:10px;margin-top:0}
  .lg-logo{width:122px}
  .lg-marca{font-size:12px;letter-spacing:3px;margin-top:2px}
  /* remove o espaço grande: conteúdo logo abaixo do logo */
  .lg-meio{flex:0 1 auto;gap:14px;padding:0;margin-top:0}
  .lg-cartao{order:1;padding:20px 20px 22px;border-radius:20px}
  .lg-login{font-size:26px;margin-bottom:14px}
  .lg-campo{margin-bottom:12px}
  .lg-campo input{min-height:46px;font-size:15px}
  .lg-campo svg{width:19px;height:19px}
  .lg-acao{margin:16px 0 12px}
  .lg-botao{min-width:130px;padding:11px 28px}
  .lg-links{gap:18px;font-size:14px}
  .lg-lembrar{font-size:14px}
  .lg-cadastro{margin-top:12px;font-size:12.5px}
  /* Chamada com título e texto, compactos, abaixo do card */
  .lg-chamada{order:2;max-width:100%}
  .lg-titulo{font-size:21px;margin-bottom:8px}
  .lg-texto{display:block;font-size:13.5px;line-height:1.5;color:var(--creme-dim)}
  .lg-rodape{gap:10px 18px;padding:14px 6px 0;margin-top:8px;border-top:1px solid rgba(239,230,200,.18)}
  .lg-rodape span{font-size:11px;gap:6px}
  .lg-rodape i{width:24px;height:24px;border-width:1.2px}
  .lg-rodape svg{width:13px;height:13px}
}


/* ===== Logo na barra e efeitos de navegação (aero) ===== */
.marca-logo{display:flex;align-items:center;padding:2px 0}
.marca-logo img{height:34px;width:auto;filter:drop-shadow(0 2px 5px rgba(0,0,0,.3));transition:transform .25s}
.marca-logo:hover img{transform:scale(1.06)}
@keyframes lgentrar{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes subir{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.conteudo > *{animation:subir .45s ease both}
.conteudo > *:nth-child(2){animation-delay:.05s}
.conteudo > *:nth-child(3){animation-delay:.1s}
.conteudo > *:nth-child(4){animation-delay:.15s}
.conteudo > *:nth-child(5){animation-delay:.2s}
.conteudo > *:nth-child(n+6){animation-delay:.25s}
.grade .kpi{animation:subir .5s ease both}
.grade .kpi:nth-child(2){animation-delay:.06s}.grade .kpi:nth-child(3){animation-delay:.12s}
.grade .kpi:nth-child(4){animation-delay:.18s}.grade .kpi:nth-child(5){animation-delay:.24s}
.grade .kpi:nth-child(n+6){animation-delay:.3s}
.topo a{position:relative}
.topo a::after{content:'';position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:var(--creme);transform:scaleX(0);transition:transform .25s ease}
.topo a:hover::after{transform:scaleX(1)}
button:active,.botao:active{transform:translateY(1px) scale(.98)}
.cartao,.kpi,input,select,button,.botao{will-change:transform}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  .conteudo > *, .grade .kpi, .lg-logo{animation:none}
  html{scroll-behavior:auto}
}

/* ===== Agenda / Calendário ===== */
.ag-topo-pagina{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px;position:relative;z-index:50}
.ag-mais-wrap{position:relative;z-index:60}
.ag-ferramentas{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ag-ferramentas select,.ag-ferramentas input{min-height:38px;padding:7px 14px}
.ag-ferramentas .ativa{background:var(--laranja);color:#4a2c00;border-color:transparent}
.ag-layout{display:grid;grid-template-columns:340px 1fr;gap:20px;align-items:start}
.ag-lateral{position:sticky;top:74px}
body.ag-cheia .topo,body.ag-cheia .ag-lateral{display:none}
body.ag-cheia .ag-layout{grid-template-columns:1fr}
.cal-cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cal-grade{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cal-dia-sem{font-size:10px;color:var(--creme-dim);padding:4px 0}
.cal-dia{background:transparent;border:0;border-radius:8px;color:var(--creme);padding:6px 0;min-height:30px;font-size:12.5px;cursor:pointer}
.cal-dia:hover{background:rgba(239,230,200,.15);transform:none}
.cal-dia.sel{background:var(--creme);color:var(--oliva-profundo);font-weight:600}
.ag-cat summary{cursor:pointer;font-size:12.5px;letter-spacing:1px;text-transform:uppercase;color:var(--creme-dim);padding:8px 0;display:flex;align-items:center;gap:8px}
.ag-cor{width:12px;height:12px;border-radius:4px;display:inline-block}
.ag-prof-item{display:flex;align-items:center;gap:8px;font-size:14px;padding:5px 0 5px 20px;margin:0;color:var(--creme);font-weight:300}
.ag-prof-item input{width:15px;height:15px;min-height:0;accent-color:var(--creme)}
.ag-servico-item{font-size:13.5px;padding:4px 0;display:flex;justify-content:space-between;gap:8px}
.ag-form-mini{display:flex;gap:6px;margin-top:8px}
.ag-form-mini input{min-height:38px;padding:7px 12px;font-size:13px}
.ag-principal{padding:0;overflow:hidden}
.ag-grade-cab{display:grid;border-bottom:1px solid var(--borda);background:rgba(0,0,0,.12)}
.ag-prof-cab{display:flex;align-items:center;gap:8px;padding:10px 12px;color:#fff;font-size:13px;font-weight:500;border-left:1px solid rgba(255,255,255,.15)}
.ag-avatar{width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;overflow:hidden;flex:none}
.ag-avatar img{width:100%;height:100%;object-fit:cover}
.ag-grade-rolagem{max-height:70vh;overflow:auto}
.ag-grade-cab{position:sticky;top:0;z-index:5}
.ag-grade{display:grid}
.ag-hcol{position:relative;border-right:1px solid var(--borda)}
.ag-hora{font-size:10.5px;color:var(--creme-dim);padding:2px 6px;border-bottom:1px dashed rgba(239,230,200,.12);display:flex;align-items:flex-start}
.ag-coluna{position:relative;border-right:1px solid rgba(239,230,200,.10)}
.ag-celula{position:absolute;left:0;right:0;border-bottom:1px dashed rgba(239,230,200,.10);cursor:pointer;transition:background .15s}
.ag-celula:hover{background:rgba(239,230,200,.10)}
body.ag-modo-bloqueio .ag-celula:hover{background:rgba(255,171,47,.25)}
.ag-bloco{position:absolute;left:3px;right:3px;border-radius:10px;color:#fff;padding:4px 8px;font-size:11.5px;line-height:1.3;overflow:hidden;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.3);transition:transform .15s, box-shadow .15s;z-index:2}
.ag-bloco:hover{transform:scale(1.02);box-shadow:0 8px 20px rgba(0,0,0,.4);z-index:3}
.ag-bloco strong{display:block;font-size:12px}
.ag-bloco span{opacity:.9}
.ag-tag{display:inline-block;border-radius:8px;padding:0 6px;font-size:9.5px;font-style:normal;margin-top:2px;color:#fff}
.ag-bloqueio{position:absolute;left:3px;right:3px;border-radius:10px;background:repeating-linear-gradient(45deg,rgba(120,120,120,.5),rgba(120,120,120,.5) 8px,rgba(90,90,90,.5) 8px,rgba(90,90,90,.5) 16px);color:#eee;font-size:11px;padding:4px 8px;z-index:1}
.ag-x{position:absolute;top:2px;right:4px;background:none;border:0;color:#fff;cursor:pointer;font-size:11px;padding:2px;min-height:0}
.ag-linha-cliente{display:flex;gap:8px}
.ag-form-cliente{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px;background:rgba(255,255,255,.06);border:1px solid var(--borda);border-radius:14px;padding:10px 14px 14px}
.ag-cliente-cartao{background:rgba(255,255,255,.08);border:1px solid var(--borda);border-radius:14px;padding:10px 14px;margin-bottom:10px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ag-cliente-cartao span{color:var(--creme-dim);font-size:13px}
.ag-itens-cab,.ag-item{display:grid;grid-template-columns:1.4fr 1.2fr 70px 100px 90px 90px 34px;gap:6px;align-items:center}
.ag-itens-cab{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--creme-dim);margin-bottom:4px}
.ag-item{margin-bottom:6px}
.ag-item input,.ag-item select{min-height:40px;padding:6px 10px;font-size:13px}
.ag-rodape-modal{display:flex;justify-content:space-between;align-items:center;margin:10px 0;flex-wrap:wrap;gap:10px}
.ag-total{font-size:15px}
.ag-abas{display:flex;gap:6px;margin-bottom:14px}
.ag-abas .ativa{background:var(--creme);color:var(--oliva-profundo)}
.ag-status{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.ag-status button{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.04);border:1px solid var(--borda);color:var(--creme);opacity:.9;padding:8px 13px;font-size:12.5px;min-height:38px;border-radius:10px;cursor:pointer;font-family:inherit;transition:background .12s,border-color .12s}
.ag-status button::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c);flex:none}
.ag-status button:hover{opacity:1;border-color:rgba(232,227,201,.35)}
.ag-status button.ativa{background:var(--c);border-color:transparent;color:#fff;opacity:1;font-weight:600;box-shadow:0 4px 12px -2px rgba(0,0,0,.35)}
.ag-status button.ativa::before{background:#fff}
.ag-etiquetas{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ag-et{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.04);border:1px solid var(--borda);color:var(--creme);opacity:.9;padding:7px 12px;font-size:12px;min-height:34px;border-radius:18px;cursor:pointer;font-family:inherit}
.ag-et::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);flex:none}
.ag-et:hover{opacity:1;border-color:rgba(232,227,201,.35)}
.ag-et.ativa{background:var(--c);border-color:transparent;color:#fff;opacity:1;font-weight:600}
.ag-et.ativa::before{background:#fff}
.ag-et span{margin-left:2px;opacity:.85}
@media(max-width:900px){
  .ag-layout{grid-template-columns:1fr}
  .ag-lateral{position:static;order:2}
  .ag-grade-rolagem{max-height:60vh}
  .ag-itens-cab{display:none}
  .ag-item{grid-template-columns:1fr;gap:8px}
  .ag-item select,.ag-item input{min-width:0;width:100%}
  .ag-form-cliente{grid-template-columns:1fr 1fr}
}

/* Agenda — melhorias */
.ag-form-servico input,.ag-form-servico select{min-height:40px;padding:7px 12px;font-size:13px}
.ag-servico-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-bottom:1px dashed rgba(239,230,200,.14);font-size:13.5px}
.ag-aniver{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;border-radius:12px;margin-bottom:6px;background:rgba(255,255,255,.06);font-size:13px}
.ag-aniver.hoje{background:rgba(255,171,47,.2);border:1px solid rgba(255,171,47,.4)}
.ag-lembrete{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid rgba(239,230,200,.14);font-size:14px}
.ag-alerta-falta{display:block;width:100%;background:rgba(255,171,47,.18);border:1px solid rgba(255,171,47,.45);color:#FFD9A6;border-radius:10px;padding:6px 10px;font-size:12.5px}
.ag-celula.ag-solta{background:rgba(141,222,154,.25)!important;outline:2px dashed var(--ok);outline-offset:-2px}
.ag-bloco[draggable=true]{cursor:grab}
.ag-bloco[draggable=true]:active{cursor:grabbing}
#ical-url{font-family:ui-monospace,monospace}

/* Agenda: jornada e comanda */
.ag-fora{position:absolute;left:0;right:0;background:repeating-linear-gradient(45deg,rgba(0,0,0,.16),rgba(0,0,0,.16) 6px,rgba(0,0,0,.08) 6px,rgba(0,0,0,.08) 12px);pointer-events:none;z-index:0}
.ag-zap-grupo{display:flex;gap:6px;flex-wrap:wrap}
.ag-zap{background:#1FA855!important;border-color:transparent!important}

/* ===== Hub de entrada (3 botões) ===== */
.hub{min-height:calc(100vh - 140px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 0}
.hub-logo{width:150px;height:auto;margin-bottom:6px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35))}
.hub-ola{margin:6px 0 30px}
.hub-botoes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%;max-width:1280px;margin:0 auto}
.hub-loc{display:flex;flex-wrap:wrap;justify-content:center}
.hub-loc .hub-botao{flex:1 1 220px;max-width:280px}
@media (max-width:1024px){.hub-botoes{grid-template-columns:repeat(3,minmax(0,1fr))}}
.hub-botao{display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none;color:var(--creme);
  background:var(--vidro-forte);backdrop-filter:blur(16px);border:1px solid var(--borda);border-radius:22px;padding:26px 20px;
  box-shadow:0 14px 40px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.12);transition:transform .25s, box-shadow .25s, border-color .25s}
.hub-botao:hover{transform:translateY(-6px);border-color:var(--creme);box-shadow:0 0 50px rgba(239,230,200,.18),0 22px 55px rgba(0,0,0,.35)}
.hub-icone{font-size:40px;line-height:1}
.hub-botao strong{font-family:'Fraunces',Georgia,serif;font-style:normal;font-size:22px;font-weight:600}
.hub-botao small{color:var(--creme-dim);font-size:12.5px;line-height:1.55;font-weight:300}
@media(max-width:760px){
  .hub{min-height:auto;padding:4px 0 14px;justify-content:flex-start}
  .hub-logo{width:96px;margin-bottom:0}
  .hub-ola{font-size:17px;margin:4px 14px 14px}
  .hub-botoes{grid-template-columns:1fr;gap:10px;max-width:100%}
  .hub-loc{flex-direction:column}
  .hub-loc .hub-botao{flex:1 1 auto;max-width:none}
  .hub-botao{flex-direction:row;align-items:center;text-align:left;gap:14px;padding:14px 16px;border-radius:16px;min-height:84px}
  .hub-icone{width:38px;height:34px;flex:none}
  .hub-botao strong{font-size:16px;line-height:1.15;flex:none;width:88px}
  .hub-botao small{font-size:11px;line-height:1.35;max-width:none;flex:1;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
}

/* Nome do salão na barra, no estilo da marca */
.marca-nome{font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:600;font-size:19px;color:var(--creme);
  border-left:1px solid rgba(239,230,200,.3);padding-left:16px;margin-left:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}
.link-inicio{border:1px solid var(--borda);border-radius:20px}
@media(max-width:760px){.marca-nome{font-size:16px;max-width:150px}}

/* Barra superior em duas linhas: identidade + usuário em cima, menu embaixo */
.topo{flex-direction:column;align-items:stretch;gap:8px;padding:10px 24px}
.topo-linha{display:flex;align-items:center;gap:14px;width:100%}
.topo-linha .sair{margin-left:auto}
.topo .links{margin-left:0;padding-top:2px;border-top:1px solid rgba(239,230,200,.12)}
@media(max-width:760px){
  .topo{padding:10px 14px}
  .topo-linha{flex-wrap:wrap}
  .menu-btn{margin-left:0;width:100%;text-align:left}
}

/* ===== Hub no layout aprovado: textura de linho, borda metálica e ícones em traço ===== */
body.textura{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='6'%3E%3Cpath d='M0 0h3v3H0zM3 3h3v3H3z' fill='%23000' fill-opacity='.05'/%3E%3C/svg%3E"),
  radial-gradient(1400px 700px at 50% -10%, #6A6D55 0%, var(--oliva) 45%, #454733 100%) fixed}
body.textura .topo{background:rgba(60,62,50,.8)}
.hub-logo{width:210px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.45))}
.hub-ola{font-size:clamp(28px,4.2vw,42px);text-shadow:0 3px 10px rgba(0,0,0,.4);margin:14px 0 40px}
.hub-botoes{max-width:1180px;gap:18px}
.hub-botao{
  border:1.5px solid transparent;border-radius:22px;padding:38px 26px 34px;gap:14px;
  background:
    linear-gradient(160deg, rgba(30,32,24,.72), rgba(38,40,30,.62) 45%, rgba(20,22,16,.78)) padding-box,
    linear-gradient(150deg, #F2EBD3 0%, #9a9078 28%, #EFE6C8 50%, #7d745c 74%, #E8DFC2 100%) border-box;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 18px 45px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.18);
}
.hub-botao:hover{transform:translateY(-7px) scale(1.01);box-shadow:0 0 55px rgba(239,230,200,.22),0 26px 60px rgba(0,0,0,.45)}
.hub-icone{width:110px;height:82px;color:#E8DFC2;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35))}
.hub-icone svg{width:100%;height:100%}
.hub-botao strong{font-size:27px;text-shadow:0 2px 6px rgba(0,0,0,.35)}
.hub-botao small{font-size:13.5px;max-width:300px}
@media(max-width:760px){.hub-logo{width:160px}.hub-botao{padding:26px 20px}.hub-icone{width:84px;height:62px}}

/* Botões do hub: texto com mais contraste sobre fundo escuro */
.hub-botao strong{color:var(--creme)}
.hub-botao small{color:#E3DDC6}

/* ===================== MOBILE NATIVO (não altera o desktop) ===================== */
.tabbar{display:none}
@media(max-width:760px){
  html{overscroll-behavior-y:none}
  /* iPhone não dá zoom quando o campo tem 16px */
  input,select,textarea{font-size:16px!important}
  button,.botao{min-height:46px}
  /* Barra de navegação inferior fixa (estilo app) */
  .tabbar{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;justify-content:space-around;
    background:rgba(60,62,50,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    border-top:1px solid rgba(239,230,200,.2);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
  .tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--creme-dim);
    text-decoration:none;font-size:10.5px;letter-spacing:.5px;padding:4px 10px;border-radius:12px;min-width:64px}
  .tabbar a svg{width:23px;height:23px}
  .tabbar a.ativa{color:var(--creme);background:rgba(239,230,200,.14)}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .topo{padding-top:calc(10px + env(safe-area-inset-top))}
  .modal-fundo.aberto .modal{padding-bottom:calc(26px + env(safe-area-inset-bottom))}
  /* Passo a passo: rolagem horizontal em vez de quebrar linhas */
  .wizard-passos{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
  .wizard-passo{flex:none;white-space:nowrap}
  /* Botão principal de salvar fica à mão */
  .acao-final{position:sticky;bottom:calc(80px + env(safe-area-inset-bottom));z-index:10}
  .acao-final button{width:100%;box-shadow:0 10px 30px rgba(0,0,0,.45)}
  /* ==== Tabelas viram cartões ==== */
  .t-resp thead{display:none}
  .t-resp, .t-resp tbody, .t-resp tfoot{display:block}
  .t-resp tbody tr{display:block;background:rgba(255,255,255,.06);border:1px solid rgba(239,230,200,.18);
    border-radius:14px;padding:10px 14px;margin-bottom:10px}
  .t-resp td{display:block;border:0;padding:5px 0;text-align:left}
  .t-resp td[data-rotulo]::before{content:attr(data-rotulo);display:block;margin-bottom:3px;color:var(--creme-dim);
    font-size:10.5px;text-transform:uppercase;letter-spacing:1px}
  .t-resp td input,.t-resp td select,.t-resp td textarea{width:100%;max-width:100%}
  .t-resp td.t-cheia{display:block;text-align:left}
  .t-resp td:empty{display:none}
  /* célula só de valor (texto), sem rótulo e sem campo: alinhada e discreta */
  .t-resp td:not([data-rotulo]):not(.t-cheia){color:var(--creme)}
  .t-resp tfoot tr{display:block;padding:8px 4px;border:0}
  .t-resp tfoot th{display:flex;justify-content:space-between;border:0;padding:4px 0;font-size:14px}
  /* Ícones de sortear/agir maiores */
  .rm-linha{min-width:40px;min-height:40px}
}
@media(min-width:761px){ .tabbar{display:none!important} }

@media(max-width:760px){
  .ag-topo-pagina h1{font-size:24px}
  #col-ant, #col-prox, #sel-colunas{display:none}
  .ag-ferramentas{width:100%}
  .ag-ferramentas > *{flex:1;min-width:calc(33% - 8px)}
  .ag-grade-rolagem{max-height:calc(100vh - 320px)}
  .ag-bloco{font-size:10.5px}
  #mini-cal .cal-dia{min-height:36px}
}

/* ===== Assistente de IA (chat flutuante) ===== */
#ia-fab-wrap{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;flex-direction:column;align-items:center;gap:6px}
#ia-fab{width:62px;height:62px;border-radius:50%;overflow:hidden;padding:0;border:2px solid var(--creme);
  background:#2b2d22;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.4);transition:transform .2s;min-height:0}
#ia-fab img{width:100%;height:100%;object-fit:cover;display:block}
#ia-fab:hover{transform:scale(1.08)}
.ia-fab-legenda{background:rgba(26,28,20,.92);color:var(--creme);font-size:11.5px;font-weight:500;
  padding:4px 11px;border-radius:20px;white-space:nowrap;border:1px solid var(--borda);box-shadow:0 4px 12px rgba(0,0,0,.3)}
.ia-painel{position:fixed;right:20px;bottom:88px;z-index:91;width:370px;max-width:calc(100vw - 32px);height:520px;max-height:72vh;
  display:none;flex-direction:column;border-radius:22px;overflow:hidden;
  background:rgba(52,54,44,.97);backdrop-filter:blur(20px);border:1px solid var(--borda);box-shadow:0 30px 70px rgba(0,0,0,.5)}
.ia-painel.aberto{display:flex;animation:pop .25s ease}
.ia-cab{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;background:rgba(0,0,0,.2);font-family:'Fraunces',serif;font-style:normal;font-size:19px;color:var(--creme)}
.ia-cab button{background:none;border:0;color:var(--creme-dim);font-size:16px;cursor:pointer;min-height:auto}
.ia-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.ia-bolha{max-width:85%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5}
.ia-bot{background:rgba(255,255,255,.09);color:var(--creme);border-bottom-left-radius:4px;align-self:flex-start}
.ia-user{background:var(--creme);color:#1A1C14;border-bottom-right-radius:4px;align-self:flex-end}
.ia-entrada{display:flex;gap:6px;padding:12px;border-top:1px solid rgba(239,230,200,.15)}
.ia-entrada input{flex:1;border-radius:999px;min-height:44px}
.ia-entrada button{border-radius:50%;width:44px;height:44px;padding:0;flex:none;background:var(--oliva-profundo);color:var(--creme);border:1px solid var(--borda);cursor:pointer;font-size:16px}
#ia-mic{background:rgba(31,168,85,.25)}
@media(max-width:760px){
  #ia-fab-wrap{bottom:calc(84px + env(safe-area-inset-bottom))}
  .ia-painel{bottom:calc(150px + env(safe-area-inset-bottom));right:12px;left:12px;width:auto;max-width:none;height:60vh}
}

.ag-horarios{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.ag-hora-btn{background:rgba(255,255,255,.08);border:1px solid var(--borda);color:var(--creme);border-radius:12px;padding:10px 14px;cursor:pointer;min-height:44px}
.ag-hora-btn.sel{background:var(--creme);color:#1A1C14;font-weight:600}

.ag-link-publico{background:rgba(31,168,85,.12);border:1px solid rgba(31,168,85,.35);border-radius:14px;padding:12px 14px;margin-top:8px}
.ag-link-publico input{font-size:12px;font-family:ui-monospace,monospace}

.ia-cursor{animation:iablink 1s steps(2) infinite;opacity:.7}
@keyframes iablink{0%,100%{opacity:.7}50%{opacity:0}}
#ia-mic.gravando{background:#E53935!important;color:#fff;animation:iapulse 1s infinite}
@keyframes iapulse{0%,100%{box-shadow:0 0 0 0 rgba(229,57,53,.5)}50%{box-shadow:0 0 0 8px rgba(229,57,53,0)}}

.ia-acao{display:inline-block;background:rgba(239,230,200,.14);color:var(--creme-dim);border-radius:10px;padding:2px 8px;font-size:12px;margin-top:4px}

.ia-previa{align-items:center;gap:10px;padding:10px 12px;border-top:1px solid rgba(239,230,200,.15)}
.ia-previa img{width:44px;height:44px;object-fit:cover;border-radius:10px}
.ia-previa span{flex:1;font-size:12px;color:var(--creme-dim)}
.ia-previa button{background:none;border:0;color:var(--creme-dim);font-size:15px;cursor:pointer;min-height:auto}
#ia-cam{background:rgba(239,230,200,.12)}
#ia-send{background:var(--creme);color:#1A1C14}

/* Cabeçalho mobile moderno */
.avatar-mobile{display:none}
.menu-mobile-sheet{display:none}
@media(max-width:760px){
  .topo{flex-direction:row;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top)) 16px 8px;flex-wrap:nowrap}
  .topo-linha{width:auto;flex:1;gap:10px;align-items:center;min-width:0}
  .marca-logo img{height:26px}
  .marca-nome{font-size:15px;padding-left:12px;border-left:1px solid rgba(239,230,200,.25);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topo .sair, .topo > .links{display:none}          /* esconde a barra antiga no celular */
  .avatar-mobile{display:flex;align-items:center;justify-content:center;flex:none;margin-left:auto;width:38px;height:38px;border-radius:50%;
    background:rgba(239,230,200,.16);border:1px solid var(--borda);color:var(--creme);font-size:13px;font-weight:600;letter-spacing:.5px;cursor:pointer}
  .topo.menu-aberto{position:relative}
  .menu-mobile-sheet{display:none;position:absolute;top:100%;right:10px;left:10px;z-index:70;margin-top:6px;
    background:rgba(52,54,44,.98);backdrop-filter:blur(20px);border:1px solid var(--borda);border-radius:18px;
    box-shadow:0 24px 60px rgba(0,0,0,.5);padding:14px;flex-direction:column;gap:4px;animation:pop .2s ease}
  .topo.menu-aberto .menu-mobile-sheet{display:flex}
  .mm-usuario{display:flex;align-items:center;gap:12px;padding:6px 6px 12px;border-bottom:1px solid rgba(239,230,200,.14);margin-bottom:8px}
  .mm-avatar{width:42px;height:42px;border-radius:50%;background:var(--creme);color:#1A1C14;display:flex;align-items:center;justify-content:center;font-weight:600}
  .mm-usuario strong{font-size:15px}
  .mm-usuario a{font-size:12px;color:var(--creme-dim)}
  .mm-links{display:flex;flex-direction:column;max-height:44vh;overflow-y:auto}
  .mm-links a{color:var(--creme);text-decoration:none;padding:11px 8px;border-radius:10px;font-size:14.5px}
  .mm-links a:active{background:rgba(239,230,200,.12)}
  .mm-sair{width:100%;margin-top:8px;background:var(--oliva-profundo);color:var(--creme);border:1px solid var(--borda)}
}

.dica-dia{display:flex;align-items:center;gap:14px;background:var(--vidro);border:1px solid var(--borda)}


/* Ícones SVG do menu lateral e de cartões */
.sl-item i.ico,.sl-inicio i.ico{display:inline-flex;align-items:center;justify-content:center}
.sl-item i.ico svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sl-inicio{display:flex;align-items:center;gap:8px}
.sl-inicio i.ico svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.sl-item.sl-lock i.ico svg{opacity:.7}
.card-ic{flex:none;width:38px;height:38px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center}
.card-ic svg{width:20px;height:20px;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card-ic.dica{background:rgba(255,171,47,.16)}
.card-ic.dica svg{stroke:var(--laranja)}
.card-ic.ideias{background:rgba(168,170,143,.20)}
.card-ic.ideias svg{stroke:var(--sage)}

/* Autofill do navegador na identidade (sem fundo amarelo) */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--creme);
  -webkit-box-shadow:0 0 0 1000px rgba(255,255,255,.10) inset;
  caret-color:var(--creme);transition:background-color 9999s ease-in-out 0s}

@media(max-width:760px){
  form[style*="flex"], .cartao[style*="flex"]{flex-wrap:wrap!important}
  .cartao{overflow-x:hidden}
  .cartao > table{min-width:0}
  /* Tabelas largas sem versao empilhada rolam na horizontal (nunca cortam) */
  .t-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .t-scroll > table{width:auto;min-width:100%}
  .t-scroll > table th,.t-scroll > table td{white-space:nowrap}
  /* campos inline com max-width fixo passam a ocupar a linha toda */
  form input[style*="max-width"], form select[style*="max-width"]{max-width:100%!important}
  /* rótulos e campos alinhados à esquerda, uniformes */
  label{margin-top:14px}
  .duas > div{min-width:0}
}

.t-scroll{max-width:100%}
/* ===== Campos com afixo (R$ na frente / % no final) e sem setas ===== */
.campo-afixo{position:relative;display:block;width:100%}
.campo-afixo .inp-moeda{padding-left:38px;text-align:left}
.campo-afixo .inp-pct{padding-right:34px}
.afixo{position:absolute;top:50%;transform:translateY(-50%);color:var(--creme-dim);font-weight:400;pointer-events:none;font-size:15px}
.afixo-pre{left:16px}
.afixo-suf{right:16px}
/* Remove as setas (spinners) de todos os campos numéricos */
input[type=number]{-moz-appearance:textfield;appearance:textfield}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* Modal de instruções (?) SEMPRE na frente */
.modal-fundo{z-index:2000!important}

/* ===== Dobras premium (accordion) ===== */
.dobra{border:1px solid var(--borda);border-radius:16px;margin-bottom:12px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03));
  box-shadow:0 8px 24px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.08);transition:box-shadow .25s,border-color .25s}
.dobra[open]{border-color:rgba(239,230,200,.4);box-shadow:0 14px 36px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12)}
.dobra>summary{cursor:pointer;list-style:none;padding:14px 16px;display:flex;align-items:center;gap:10px;
  font-weight:500;font-size:14.5px;color:var(--creme);user-select:none;transition:background .2s}
.dobra>summary::-webkit-details-marker{display:none}
.dobra>summary:hover{background:rgba(239,230,200,.06)}
.dobra>summary .dobra-ic{font-size:17px;flex:none;width:24px;text-align:center}
.dobra>summary .dobra-tit{flex:1}
.dobra>summary .dobra-chev{flex:none;width:20px;height:20px;transition:transform .3s cubic-bezier(.4,0,.2,1);opacity:.7}
.dobra[open]>summary .dobra-chev{transform:rotate(180deg)}
.dobra[open]>summary{border-bottom:1px solid rgba(239,230,200,.14)}
.dobra-corpo{overflow:hidden;transition:height .32s cubic-bezier(.4,0,.2,1)}
.dobra-inner{padding:14px 16px 16px}
.dobra .dobra-inner > h2:first-child{margin-top:0}
@media(max-width:760px){ .dobra>summary{padding:15px 16px} }

/* ===== Contratos pendentes ===== */
.ct-pendentes{display:flex;flex-direction:column;gap:10px}
.ct-pend{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;
  border:1px solid var(--borda);border-radius:14px;background:rgba(255,255,255,.05)}
.ct-pend strong{font-size:15px}
@media(max-width:600px){ .ct-pend{flex-direction:column;align-items:flex-start} .ct-pend .botao{width:100%;text-align:center} }

/* ===== Partes do contrato ===== */
.ct-partes .ct-parte-tit{font-size:13px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;opacity:.9}
.ct-partes .ct-parte-tit small{text-transform:none;letter-spacing:0;opacity:.65;font-weight:400}
.ct-lista{list-style:none;padding:0;margin:0 0 12px}
.ct-lista li{padding:8px 12px;border-radius:10px;margin-bottom:6px;border:1px solid var(--borda);background:rgba(255,255,255,.04)}
.ct-lista li.falta{border-color:rgba(255,120,100,.65);background:rgba(255,120,100,.10)}
.ct-lista li.falta strong{color:#ff9b86;font-weight:500;font-style:italic}
.ct-lista .ct-rot{display:block;font-size:11px;opacity:.7;margin-bottom:2px}
.ct-lista li strong{font-size:14px;font-weight:500}
button[disabled]{opacity:.45;cursor:not-allowed}
.ct-lista-compl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px}
.ct-lista-compl li{margin-bottom:0}

/* ===== Agenda: lateral respirando, dobras separadas por tema ===== */
@media(min-width:1500px){ .ag-layout{grid-template-columns:380px 1fr} }
.ag-lateral{max-height:calc(100vh - 90px);overflow-y:auto;padding-right:4px;
  scrollbar-width:thin;scrollbar-color:rgba(239,230,200,.25) transparent}
.ag-lateral::-webkit-scrollbar{width:8px}
.ag-lateral::-webkit-scrollbar-thumb{background:rgba(239,230,200,.22);border-radius:8px}

/* separação clara entre os temas */
.ag-lateral .dobra{margin-bottom:16px}
.ag-lateral .dobra:last-child{margin-bottom:4px}
.ag-lateral .dobra > summary{padding:16px 18px;font-size:15px}
.ag-lateral .dobra-inner{padding:18px}

/* campos confortáveis dentro das dobras */
.ag-lateral .dobra-inner label{display:block;margin:14px 0 6px;font-size:13px;opacity:.9}
.ag-lateral .dobra-inner label:first-child{margin-top:0}
.ag-lateral .dobra-inner input:not([type=checkbox]),
.ag-lateral .dobra-inner select,
.ag-lateral .dobra-inner textarea{width:100%;min-height:44px;padding:10px 14px;font-size:14px;margin:0}
.ag-lateral .dobra-inner p{margin:14px 0 0;line-height:1.55}
.ag-lateral .dobra-inner .sub{line-height:1.55}
.ag-lateral .dobra-inner .botao,.ag-lateral .dobra-inner button{min-height:42px}

/* checkbox com respiro e alinhamento */
.ag-lateral .dobra-inner .lg-lembrar{display:flex;align-items:flex-start;gap:10px;margin:12px 0;
  font-size:13.5px;line-height:1.5;cursor:pointer}
.ag-lateral .dobra-inner .lg-lembrar input[type=checkbox]{width:18px;height:18px;min-height:0;flex:none;margin-top:1px}

/* linha de serviço: empilha em vez de espremer */
.ag-linha-servico{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.ag-preco-wrap{position:relative;display:block}
.ag-preco-rs{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--creme-dim);pointer-events:none;font-size:13px;z-index:1}
.ag-preco-inp{width:100%;padding-left:38px !important}
.ag-linha-servico button{grid-column:1/-1;width:100%}
.ag-form-servico input,.ag-form-servico select{min-height:44px;padding:10px 14px;font-size:14px}

/* endereço do link público */
.ag-slug{display:flex;align-items:center;gap:6px}
.ag-slug .sub{font-size:12px;flex:none;white-space:nowrap}
.ag-hora{max-width:150px !important;margin:0 0 4px !important}

/* aniversariantes e link público com mais ar */
.ag-lateral .ag-aniver{padding:10px 12px;margin-bottom:8px;font-size:13.5px}
.ag-lateral .ag-link-publico{padding:14px;margin-top:14px}
.ag-lateral .ag-link-publico input{font-size:12.5px;min-height:40px}

/* celular: lateral volta a ocupar a largura toda */
@media(max-width:900px){
  .ag-lateral{max-height:none;overflow:visible;padding-right:0}
  .ag-linha-servico{grid-template-columns:1fr}
}

/* CURSOS — ver bloco Hotmart no fim do arquivo */

/* Central de configurações */
.cfg-numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:16px 0 20px}
.cfg-num{padding:16px;border-radius:14px;border:1px solid var(--borda);background:rgba(255,255,255,.05);text-align:center}
.cfg-num strong{display:block;font-size:28px;font-weight:500;line-height:1.1}
.cfg-num small{font-size:12px;opacity:.7}

/* Aviso global do admin */
.aviso-global{display:flex;align-items:center;gap:10px;padding:11px 18px;
  background:rgba(255,171,47,.16);border-bottom:1px solid rgba(255,171,47,.4);font-size:14px}
.aviso-global p{margin:0;line-height:1.5}
.aviso-global span{font-size:16px;flex:none}

/* ===================== CURSOS — área de membros (padrão Hotmart) ===================== */
.ht-topo{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:26px 0 14px;flex-wrap:wrap}
.ht-titulo{margin:0;font-size:26px}

/* Banner de destaque */
.ht-hero{position:relative;border-radius:20px;overflow:hidden;min-height:300px;display:flex;align-items:flex-end;
  background:linear-gradient(100deg,rgba(26,28,20,.96),rgba(26,28,20,.6));background-size:cover;background-position:center;
  border:1px solid var(--borda);box-shadow:0 18px 44px rgba(0,0,0,.32);margin-top:10px}
.ht-hero-txt{padding:32px 34px;max-width:620px}
.ht-selo{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  background:rgba(239,230,200,.16);border:1px solid rgba(239,230,200,.35);color:var(--creme);
  padding:5px 12px;border-radius:999px;margin-bottom:12px}
.ht-hero h1{margin:0 0 10px;font-size:34px;line-height:1.15}
.ht-hero-desc{margin:0 0 18px;font-size:15px;line-height:1.6;opacity:.9;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ht-hero-acoes{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ht-play{font-size:15px;padding:13px 28px}
.ht-dur{font-size:13px;opacity:.8}

/* Barra de progresso */
.ht-barra{height:7px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden;flex:1;min-width:80px}
.ht-barra span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#7fb069,#a8d18d);
  transition:width .4s cubic-bezier(.4,0,.2,1)}
.ht-barra.peq{height:5px;margin-top:9px}
.ht-progresso-geral{display:flex;align-items:center;gap:16px;padding:16px 20px;margin:0 0 18px;
  border-radius:16px;border:1px solid var(--borda);background:rgba(255,255,255,.05);flex-wrap:wrap}
.ht-pg-txt{display:flex;flex-direction:column;min-width:180px}
.ht-pg-txt strong{font-size:15px;font-weight:500}
.ht-pg-txt span{font-size:12.5px;opacity:.75}
.ht-pct{font-size:20px;font-weight:500;flex:none}

/* Filtro por área */
.ht-areas{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 18px}
.ht-area{text-decoration:none;color:var(--creme);font-size:13.5px;padding:8px 16px;border-radius:999px;
  border:1px solid var(--borda);background:rgba(255,255,255,.05);transition:background .2s,border-color .2s}
.ht-area:hover{background:rgba(255,255,255,.1);border-color:rgba(239,230,200,.4)}
.ht-area.on{background:rgba(239,230,200,.16);border-color:rgba(239,230,200,.55);font-weight:500}

/* Grade de módulos */
.ht-modulos{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.ht-modulos.ht-t-pequeno{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.ht-modulos.ht-t-grande{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.ht-modulo{text-decoration:none;color:inherit;border-radius:16px;overflow:hidden;border:1px solid var(--borda);
  background:rgba(255,255,255,.05);display:flex;flex-direction:column;
  transition:transform .25s cubic-bezier(.4,0,.2,1),border-color .25s,box-shadow .25s}
.ht-modulo:hover{transform:translateY(-5px);border-color:rgba(239,230,200,.5);box-shadow:0 18px 40px rgba(0,0,0,.36)}
.ht-mod-capa{position:relative;aspect-ratio:16/9;background:rgba(255,255,255,.08) center/cover no-repeat;
  display:flex;align-items:flex-end;padding:10px}
.ht-f-poster .ht-mod-capa{aspect-ratio:2/3}
.ht-mod-n{font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:rgba(15,17,12,.82);
  padding:4px 10px;border-radius:6px}
.ht-mod-ok{position:absolute;top:10px;right:10px;font-size:11px;background:rgba(127,176,105,.92);
  color:#10240a;padding:4px 10px;border-radius:99px;font-weight:500}
.ht-mod-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:32px;
  background:rgba(20,22,16,.45);opacity:0;transition:opacity .25s}
.ht-modulo:hover .ht-mod-play{opacity:1}
.ht-mod-info{padding:14px 16px 16px}
.ht-mod-info strong{display:block;font-size:15px;font-weight:500;line-height:1.35;margin-bottom:3px}
.ht-mod-info small{font-size:12px}

/* Tela da aula */
.ht-migalha{margin:18px 0 12px;font-size:13px;opacity:.85}
.ht-migalha a{color:inherit}
.ht-migalha span{margin:0 6px;opacity:.5}
.ht-aula{display:grid;grid-template-columns:1fr 350px;gap:22px;align-items:start}
.ht-player{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#0d0f0a;
  border:1px solid var(--borda);box-shadow:0 16px 40px rgba(0,0,0,.34)}
.ht-player iframe,.ht-player video{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.ht-aula-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:18px 0 0;flex-wrap:wrap}
.ht-aula-cab h1{margin:0;font-size:25px;line-height:1.25}
.ht-form-concluir{margin:0;flex:none}
.ht-form-concluir button{min-height:44px;padding:11px 20px;white-space:nowrap}
.ht-desc{margin:20px 0 0;padding:18px 20px;border-radius:14px;border:1px solid var(--borda);background:rgba(255,255,255,.04)}
.ht-desc h3{margin:0 0 8px;font-size:15px}
.ht-desc p{margin:0;font-size:14.5px;line-height:1.7;opacity:.92}
.ht-nav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 22px}

/* Lista lateral de módulos e aulas */
.ht-lateral{position:sticky;top:74px;max-height:calc(100vh - 100px);overflow-y:auto;
  border:1px solid var(--borda);border-radius:16px;background:rgba(255,255,255,.04);
  scrollbar-width:thin;scrollbar-color:rgba(239,230,200,.25) transparent}
.ht-lateral::-webkit-scrollbar{width:8px}
.ht-lateral::-webkit-scrollbar-thumb{background:rgba(239,230,200,.22);border-radius:8px}
.ht-lat-cab{padding:16px 18px;border-bottom:1px solid var(--borda);position:sticky;top:0;
  background:rgba(38,42,30,.97);backdrop-filter:blur(6px);z-index:2}
.ht-lat-cab strong{display:block;font-size:15px;font-weight:500}
.ht-lat-cab small{display:block;margin:2px 0 8px}

.ht-mod-dobra{border-bottom:1px solid var(--borda)}
.ht-mod-dobra:last-child{border-bottom:0}
.ht-mod-dobra > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;
  padding:14px 18px;transition:background .2s}
.ht-mod-dobra > summary::-webkit-details-marker{display:none}
.ht-mod-dobra > summary:hover{background:rgba(255,255,255,.05)}
.ht-mod-tit{flex:1;min-width:0}
.ht-mod-tit strong{display:block;font-size:14px;font-weight:500;line-height:1.35}
.ht-mod-tit small{font-size:11.5px;opacity:.65}
.ht-mod-dobra .dobra-chev{flex:none;width:18px;height:18px;opacity:.6;transition:transform .3s}
.ht-mod-dobra[open] .dobra-chev{transform:rotate(180deg)}
.ht-mod-corpo{padding:0 10px 10px}

.ht-aula-item{display:flex;align-items:center;gap:11px;padding:10px 10px;border-radius:11px;
  text-decoration:none;color:inherit;transition:background .2s;border:1px solid transparent}
.ht-aula-item:hover{background:rgba(255,255,255,.06)}
.ht-aula-item.atual{background:rgba(239,230,200,.14);border-color:rgba(239,230,200,.4)}
.ht-check{flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:12px;border:1px solid var(--borda);background:rgba(255,255,255,.06)}
.ht-aula-item.feita .ht-check{background:rgba(127,176,105,.9);border-color:transparent;color:#10240a;font-weight:600}
.ht-aula-item.atual .ht-check{border-color:rgba(239,230,200,.7)}
.ht-aula-txt{min-width:0}
.ht-aula-txt strong{display:block;font-size:13px;font-weight:400;line-height:1.4}
.ht-aula-item.feita .ht-aula-txt strong{opacity:.72}
.ht-aula-txt small{font-size:11px;opacity:.6}

@media(max-width:1000px){
  .ht-aula{grid-template-columns:1fr}
  .ht-lateral{position:static;max-height:none}
  .ht-hero{min-height:230px} .ht-hero-txt{padding:22px} .ht-hero h1{font-size:24px}
  .ht-aula-cab h1{font-size:21px}
  .ht-modulos{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}
}

/* ===================== ADMIN DOS CURSOS ===================== */
.ac-cab{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0 10px}
.ac-cab h2{margin:0;font-size:19px}

/* Cartão de módulo */
.ac-mod{border:1px solid var(--borda);border-radius:16px;background:rgba(255,255,255,.04);margin-bottom:14px;overflow:hidden}
.ac-mod-cab{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--borda);
  background:rgba(255,255,255,.03);flex-wrap:wrap}
.ac-mod-capa{flex:none;width:64px;aspect-ratio:16/9;border-radius:8px;background:rgba(255,255,255,.08) center/cover no-repeat}
.ac-mod-nome{flex:1;min-width:150px}
.ac-mod-nome strong{display:block;font-size:15px;font-weight:500;line-height:1.3}
.ac-mod-nome small{font-size:11.5px;opacity:.7}
.ac-mod-area{display:inline-block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;
  background:rgba(239,230,200,.13);border-radius:5px;padding:2px 7px;margin-bottom:3px}
.ac-acoes{display:flex;gap:6px;flex:none}

/* Linha de aula: compacta */
.ac-lista{padding:6px}
.ac-linha{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:10px;transition:background .15s}
.ac-linha:hover{background:rgba(255,255,255,.05)}
.ac-linha + .ac-linha{border-top:1px solid rgba(239,230,200,.07)}
.ac-linha input[type=checkbox]{flex:none}
.ac-thumb{flex:none;width:56px;aspect-ratio:16/9;border-radius:6px;background:rgba(255,255,255,.09) center/cover no-repeat}
.ac-nome{flex:1;min-width:0}
.ac-nome strong{display:block;font-size:13.5px;font-weight:400;line-height:1.35;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.ac-nome small{font-size:11px;opacity:.6}
.ac-btns{display:flex;gap:4px;flex:none}
.ac-ic{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:14px;
  border-radius:9px;border:1px solid var(--borda);background:rgba(255,255,255,.06);color:var(--creme);
  cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s;min-height:0}
.ac-ic:hover{background:rgba(255,255,255,.14);border-color:rgba(239,230,200,.45)}
.ac-ic.perigo:hover{background:rgba(224,90,74,.28);border-color:rgba(224,90,74,.6)}
.ac-vazio{padding:14px 12px;font-size:13px;opacity:.6}
.ac-selheader{display:flex;align-items:center;gap:9px;padding:8px 12px 4px;font-size:12px;opacity:.75;cursor:pointer}

/* Barra de ações em lote */
.ac-barra{position:sticky;top:66px;z-index:6;display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:10px 14px;margin:0 0 14px;border-radius:14px;border:1px solid rgba(239,230,200,.45);
  background:rgba(44,48,34,.98);box-shadow:0 10px 28px rgba(0,0,0,.34)}
.ac-barra.off{display:none}
.ac-barra strong{font-size:13.5px;font-weight:500;margin-right:2px}
.ac-barra select{width:auto;min-width:170px;max-width:240px;min-height:36px;padding:7px 34px 7px 14px;font-size:13px}
.ac-barra button{min-height:36px;padding:7px 14px;font-size:12.5px}

/* Prévia de capa */
.ac-previa{aspect-ratio:16/9;max-width:280px;border-radius:12px;border:1px dashed var(--borda);margin:8px 0 4px;
  background:rgba(255,255,255,.05) center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.ac-previa span{font-size:11.5px;opacity:.5}
.ac-previa[style*="url"] span{display:none}
.ac-tag{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  background:rgba(239,230,200,.14);border-radius:5px;padding:2px 7px;margin-left:6px}
.ac-tag.ok{background:rgba(127,176,105,.28)}

/* Início: quatro botões lado a lado, compactos */
.hub-botao{padding:22px 16px}
.hub-botao strong{font-size:20px}
.hub-botao small{font-size:11.5px;line-height:1.5}
.hub-icone svg{width:64px;height:48px}
@media(min-width:1200px){
  .hub-botao{padding:26px 18px}
  .hub-botao strong{font-size:22px}
  .hub-icone svg{width:72px;height:54px}
}
@media(max-width:1024px) and (min-width:761px){ .hub-botoes{grid-template-columns:repeat(2,1fr)} }
@media(max-width:700px){
  .ac-thumb,.ac-mod-capa{display:none}
  .ac-barra{top:56px}
  .ac-barra select{min-width:130px}
}

/* ===================== PEDIDO RÁPIDO (mobile-first) ===================== */
.pr-busca{position:sticky;top:64px;z-index:7;padding:10px 0;background:var(--oliva)}
.pr-busca input{min-height:46px;font-size:15px}
.pr-cat{font-size:15px;letter-spacing:.09em;text-transform:uppercase;opacity:.75;margin:22px 0 10px}
.pr-fam > summary .pr-conta{font-size:11.5px;padding:3px 9px;border-radius:99px;background:rgba(127,176,105,.28);
  margin-right:6px;opacity:0;transition:opacity .2s}
.pr-fam > summary .pr-conta.on{opacity:1}
.pr-lista{padding:8px !important}

.pr-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;
  border:1px solid transparent;transition:background .15s,border-color .15s}
.pr-item + .pr-item{border-top:1px solid rgba(239,230,200,.08)}
.pr-item.escolhido{background:rgba(127,176,105,.14);border-color:rgba(127,176,105,.45)}
.pr-info{flex:1;min-width:0}
.pr-info strong{display:block;font-size:14px;font-weight:400;line-height:1.35}
.pr-info small{font-size:11.5px;opacity:.7}
.pr-alerta{color:#ffb95e;margin-left:4px}

.pr-qtd{display:flex;align-items:center;gap:6px;flex:none}
.pr-btn{width:38px;height:38px;min-height:38px;padding:0;border-radius:50%;font-size:20px;line-height:1;
  border:1px solid var(--borda);background:rgba(255,255,255,.08);color:var(--creme);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:background .15s}
.pr-btn:hover{background:rgba(255,255,255,.18)}
.pr-num{width:58px;min-height:38px;padding:6px;text-align:center;font-size:15px;border-radius:10px}

/* Rodapé fixo com o resumo */
.pr-rodape{position:sticky;bottom:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 16px;margin-top:18px;border-radius:16px 16px 0 0;border:1px solid rgba(239,230,200,.45);
  background:rgba(44,48,34,.98);box-shadow:0 -8px 26px rgba(0,0,0,.34);
  transform:translateY(110%);transition:transform .28s cubic-bezier(.4,0,.2,1)}
.pr-rodape.on{transform:translateY(0)}
.pr-resumo{display:flex;flex-direction:column;line-height:1.35}
.pr-resumo strong{font-size:15px;font-weight:500}
.pr-resumo span{font-size:12.5px;opacity:.8}
.pr-rodape button{min-height:44px;white-space:nowrap}

.pe-acoes{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.pe-zap{background:#1FA855;border-color:transparent}
#txt-pedido{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;line-height:1.6;border-radius:14px}

@media(max-width:700px){
  .pr-busca{top:56px}
  .pr-item{padding:10px 8px;gap:8px}
  .pr-info strong{font-size:13.5px}
  .pr-rodape{margin-left:-12px;margin-right:-12px;border-radius:16px 16px 0 0}
  .pe-acoes .botao{width:100%;text-align:center}
}
.botao.destaque{background:#7fb069;border-color:transparent;color:#10240a;font-weight:500}
.botao.destaque:hover{background:#8ec27a}
.pe-link{display:flex;gap:8px}
.pe-link input{font-family:ui-monospace,monospace;font-size:12.5px}
.pe-link button{flex:none}
@media(max-width:600px){ .pe-link{flex-direction:column} .pe-link button{width:100%} }

/* ===================== GESTÃO DE PEDIDOS ===================== */
:root{--pd-verde:#7fb069;--pd-amarelo:#e8b04b;--pd-vermelho:#d9614f}

.pd-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:18px 0}
.pd-kpi{display:block;padding:16px 18px;border-radius:16px;border:1px solid var(--borda);
  background:rgba(255,255,255,.05);text-decoration:none;color:inherit;transition:transform .2s,border-color .2s}
.pd-kpi:hover{transform:translateY(-3px);border-color:rgba(239,230,200,.5)}
.pd-kpi.on{border-color:rgba(239,230,200,.75);background:rgba(255,255,255,.1)}
.pd-kpi small{display:block;font-size:12px;opacity:.75;margin-bottom:5px}
.pd-kpi strong{display:block;font-size:30px;font-weight:500;line-height:1.05}
.pd-kpi span{font-size:12.5px;opacity:.8}
.pd-kpi.verde{border-left:4px solid var(--pd-verde)}
.pd-kpi.amarelo{border-left:4px solid var(--pd-amarelo)}
.pd-kpi.vermelho{border-left:4px solid var(--pd-vermelho)}

.pd-analise{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start}
.pd-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.pd-cab h2{margin:0;font-size:18px}
.pd-periodo{display:flex;gap:6px}
.pd-periodo a{font-size:12px;padding:5px 12px;border-radius:99px;border:1px solid var(--borda);
  text-decoration:none;color:inherit;opacity:.75}
.pd-periodo a.on{background:rgba(239,230,200,.16);border-color:rgba(239,230,200,.5);opacity:1}

.pd-grafico{display:flex;align-items:flex-end;gap:10px;height:180px;padding:6px 0}
.pd-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;gap:5px}
.pd-barras{position:relative;width:100%;max-width:44px;height:100%;display:flex;align-items:flex-end;justify-content:center}
.pd-b-total{position:absolute;bottom:0;width:100%;border-radius:7px 7px 0 0;background:rgba(239,230,200,.28);min-height:3px}
.pd-b-aprov{position:absolute;bottom:0;width:100%;border-radius:7px 7px 0 0;background:var(--pd-verde);min-height:0}
.pd-col small{font-size:11.5px;opacity:.7;text-transform:capitalize}
.pd-col em{font-size:11px;opacity:.55;font-style:normal}
.pd-legenda{font-size:12px;opacity:.75;margin:8px 0 0}
.pt{display:inline-block;width:11px;height:11px;border-radius:3px;vertical-align:-1px}
.pt-total{background:rgba(239,230,200,.28)} .pt-aprov{background:var(--pd-verde)}

.pd-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;
  border-bottom:1px solid rgba(239,230,200,.1);font-size:14px}
.pd-linha:last-of-type{border-bottom:0}
.pd-linha strong{font-weight:500;white-space:nowrap}
.pd-linha.verde strong{color:#a8d18d}
.pd-linha.amarelo strong{color:#f0c979}
.pd-linha.vermelho strong{color:#f0a99b}
.pd-barra-aprov{height:8px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:10px}
.pd-barra-aprov span{display:block;height:100%;background:var(--pd-verde);border-radius:99px;transition:width .5s}

.pd-prod{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(239,230,200,.08)}
.pd-prod:last-child{border-bottom:0}
.pd-prod-txt{flex:1;min-width:0}
.pd-prod-txt strong{display:block;font-size:13.5px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pd-prod-txt small{font-size:11px;opacity:.6}
.pd-prod-barra{width:90px;height:7px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden;flex:none}
.pd-prod-barra span{display:block;height:100%;background:rgba(239,230,200,.6);border-radius:99px}
.pd-prod-qtd{flex:none;width:36px;text-align:right;font-size:14px;font-weight:500}

/* Cartões de pedido */
.pd-card{border:1px solid var(--borda);border-radius:16px;padding:16px 18px;margin-bottom:12px;
  background:rgba(255,255,255,.04);border-left-width:5px}
.pd-card.aprovado{border-left-color:var(--pd-verde);background:rgba(127,176,105,.09)}
.pd-card.aguardando{border-left-color:var(--pd-amarelo);background:rgba(232,176,75,.09)}
.pd-card.recusado{border-left-color:var(--pd-vermelho);background:rgba(217,97,79,.09)}
.pd-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pd-selo{display:inline-block;font-size:11.5px;font-weight:500;padding:4px 12px;border-radius:99px;margin-bottom:6px}
.pd-selo.aprovado{background:rgba(127,176,105,.3);color:#c6e5b3}
.pd-selo.aguardando{background:rgba(232,176,75,.3);color:#f5d79a}
.pd-selo.recusado{background:rgba(217,97,79,.3);color:#f5b7ab}
.pd-num{display:block;font-size:16px;font-weight:500}
.pd-valor{font-size:20px;font-weight:500;white-space:nowrap}
.pd-nota{font-size:13px;margin:10px 0 0;opacity:.9}
.pd-nota.verde{color:#a8d18d} .pd-nota.amarelo{color:#f0c979} .pd-nota.vermelho{color:#f0a99b}
.pd-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.pd-zap{background:#1FA855;border-color:transparent}

@media(max-width:860px){
  .pd-analise{grid-template-columns:1fr}
  .pd-kpis{grid-template-columns:repeat(2,1fr)}
  .pd-kpi strong{font-size:25px}
  .pd-grafico{height:150px;gap:6px}
  .pd-card-top{flex-direction:column;gap:6px}
  .pd-valor{font-size:18px}
  .pd-acoes .botao,.pd-acoes button{flex:1;min-width:110px;text-align:center}
}

/* Aviso de pedido respondido pelo fornecedor */
.aviso-pedido{display:flex;align-items:center;gap:14px;padding:14px 18px;margin:0 0 16px;border-radius:16px;
  text-decoration:none;color:inherit;border:1px solid rgba(127,176,105,.5);background:rgba(127,176,105,.14);
  transition:background .2s}
.aviso-pedido:hover{background:rgba(127,176,105,.22)}
.aviso-pedido span{font-size:22px;flex:none}
.aviso-pedido div{flex:1}
.aviso-pedido strong{display:block;font-size:15px;font-weight:500}
.aviso-pedido small{font-size:12.5px;opacity:.8}
.aviso-pedido em{font-style:normal;font-size:20px;opacity:.7;flex:none}
.nav-bolha{position:absolute;top:2px;right:calc(50% - 20px);min-width:17px;height:17px;padding:0 4px;
  border-radius:99px;background:#d9614f;color:#fff;font:600 10px/17px Inter,sans-serif;font-style:normal;
  text-align:center}
.hub-bolha{display:inline-block;min-width:22px;height:22px;padding:0 6px;margin-left:8px;border-radius:99px;
  background:#d9614f;color:#fff;font:600 12px/22px Inter,sans-serif;font-style:normal;vertical-align:middle}
.tabbar a{position:relative}
.pd-card.recebido{border-left-color:#5b8fb0;background:rgba(91,143,176,.1)}
.pd-selo.recebido{background:rgba(91,143,176,.3);color:#bcd9e8}

/* ===================== PEDIDOS RECEBIDOS (vendas) ===================== */
.vd-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:16px 0}
.vd-kpi{display:block;padding:14px 16px;border-radius:14px;border:1px solid var(--borda);background:rgba(255,255,255,.05);
  text-decoration:none;color:inherit;transition:transform .2s,border-color .2s;border-left-width:4px}
.vd-kpi:hover{transform:translateY(-3px)}
.vd-kpi.on{border-color:rgba(239,230,200,.7);background:rgba(255,255,255,.1)}
.vd-kpi small{display:block;font-size:12px;opacity:.75;margin-bottom:4px}
.vd-kpi strong{font-size:26px;font-weight:500}
.vd-kpi.novo{border-left-color:#e8b04b} .vd-kpi.sep{border-left-color:#5b8fb0}
.vd-kpi.pronto{border-left-color:#7fb069} .vd-kpi.env{border-left-color:#8a7fc0}
.vd-kpi.fat{border-left-color:#c9a24b}

.vd-card{border:1px solid var(--borda);border-radius:16px;padding:15px 18px;margin-bottom:12px;
  background:rgba(255,255,255,.04);border-left-width:5px}
.vd-card.st-novo{border-left-color:#e8b04b;background:rgba(232,176,75,.09)}
.vd-card.st-emseparao{border-left-color:#5b8fb0;background:rgba(91,143,176,.08)}
.vd-card.st-separado{border-left-color:#7fb069;background:rgba(127,176,105,.08)}
.vd-card.st-enviado{border-left-color:#8a7fc0}
.vd-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.vd-selo{display:inline-block;font-size:11.5px;font-weight:500;padding:4px 12px;border-radius:99px;margin-bottom:6px}
.vd-selo.st-novo{background:rgba(232,176,75,.3);color:#f5d79a}
.vd-selo.st-emseparao{background:rgba(91,143,176,.3);color:#bcd9e8}
.vd-selo.st-separado{background:rgba(127,176,105,.3);color:#c6e5b3}
.vd-selo.st-enviado{background:rgba(138,127,192,.3);color:#d6cff0}
.vd-selo.st-cancelado{background:rgba(217,97,79,.3);color:#f5b7ab}
.vd-num{display:block;font-size:16px;font-weight:500}
.vd-valor{font-size:19px;font-weight:500;white-space:nowrap}
.vd-cli{margin:8px 0 0;font-size:14px}
.vd-obs{margin:6px 0 0;font-size:13px;opacity:.8;font-style:italic}
.vd-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

.vd-tab{width:100%;border-collapse:collapse}
.vd-tab th,.vd-tab td{padding:9px 10px;border-bottom:1px solid rgba(239,230,200,.1);font-size:14px;text-align:left}
.vd-tab th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.7}
.vd-tab .n{text-align:right}
.vd-tab tr.falta td{color:#f0a99b}
.vd-tab tfoot td{font-weight:500;border-top:2px solid var(--borda)}
.vd-fluxo{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.vd-fp{font-size:13px;padding:6px 12px;border-radius:99px;border:1px solid var(--borda);opacity:.6}
.vd-fp.done{background:rgba(127,176,105,.2);border-color:transparent;opacity:1}
.vd-fp.atual{border-color:rgba(239,230,200,.7);opacity:1;font-weight:500}
.vd-seta{opacity:.4}
.vd-botoes{display:flex;gap:10px;flex-wrap:wrap}
.vd-botoes form{margin:0}
@media(max-width:700px){
  .vd-kpis{grid-template-columns:repeat(2,1fr)}
  .vd-top{flex-direction:column;gap:4px}
  .vd-acoes .botao,.vd-acoes button{flex:1;min-width:120px;text-align:center}
  .vd-botoes button{width:100%}
}

/* ===================== ESTOQUE — navegação agrupada ===================== */
.est-nav{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 20px;padding:14px;border-radius:16px;
  border:1px solid var(--borda);background:rgba(255,255,255,.04)}
.est-grupo{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px}
.est-grupo + .est-grupo{border-left:1px solid rgba(239,230,200,.12);padding-left:14px}
.est-rot{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin-bottom:2px}
.est-item{position:relative;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:11px;
  text-decoration:none;color:var(--creme);font-size:14px;transition:background .15s;border:1px solid transparent}
.est-item:hover{background:rgba(255,255,255,.07)}
.est-item.on{background:rgba(239,230,200,.15);border-color:rgba(239,230,200,.4);font-weight:500}
.est-bolha{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:#d9614f;
  color:#fff;font:600 11px/20px Inter,sans-serif;font-style:normal;text-align:center}
@media(max-width:760px){
  .est-nav{flex-direction:column;gap:14px}
  .est-grupo + .est-grupo{border-left:0;border-top:1px solid rgba(239,230,200,.12);padding-left:0;padding-top:12px}
  .est-grupo{min-width:0}
}
.vd-clientes{max-height:340px;overflow-y:auto}
.vd-cli-linha{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 4px;border-bottom:1px solid rgba(239,230,200,.08);font-size:14px}
.vd-cli-linha form{margin:0}

/* ==================== ESTOQUE MODERNO ==================== */
.ek-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.ek-topo h1{margin:0}
.ek-nav{display:flex;gap:6px;margin:14px 0 18px;padding:6px;border-radius:16px;border:1px solid var(--borda);background:rgba(255,255,255,.04);overflow-x:auto}
.ek-t{flex:1;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 6px;border-radius:12px;
  text-decoration:none;color:var(--creme-dim);font-size:12px;transition:background .15s,color .15s}
.ek-t i{font-style:normal;font-size:19px}
.ek-t:hover{background:rgba(255,255,255,.06);color:var(--creme)}
.ek-t.on{background:rgba(239,230,200,.15);color:var(--creme);font-weight:500}
.ek-t.ek-destaque i{color:#8ec27a}

/* Dashboard cards */
.ek-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.ek-card{display:block;padding:16px;border-radius:16px;border:1px solid var(--borda);background:rgba(255,255,255,.05);
  text-decoration:none;color:inherit;transition:transform .2s,border-color .2s}
a.ek-card:hover{transform:translateY(-3px);border-color:rgba(239,230,200,.5)}
.ek-card small{display:block;font-size:12px;opacity:.72;margin-bottom:5px}
.ek-card strong{display:block;font-size:26px;font-weight:500;line-height:1.05}
.ek-card span{font-size:12px;opacity:.7}
.ek-card.grande{grid-column:1/-1;background:linear-gradient(120deg,rgba(87,90,69,.5),rgba(255,255,255,.05))}
.ek-card.grande strong{font-size:34px}
.ek-card.alerta-am{border-left:4px solid #e8b04b}
.ek-card.alerta-vm{border-left:4px solid #d9614f}

.ek-alertas h2{font-size:17px;margin:0 0 12px}
.ek-alerta{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:10px;margin-bottom:6px;font-size:14px;background:rgba(255,255,255,.04)}
.ek-alerta span{flex:none}
.ek-alerta.erro{background:rgba(217,97,79,.14)}
.ek-alerta.aviso{background:rgba(232,176,75,.12)}

.ek-duas{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.ek-ch{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}
.ek-ch h2{font-size:16px;margin:0}
.ek-linha{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(239,230,200,.08);font-size:14px}
.ek-linha:last-child{border-bottom:0}
.ek-pos{flex:none;width:22px;height:22px;border-radius:50%;background:rgba(239,230,200,.15);display:flex;align-items:center;justify-content:center;font-size:12px}
.ek-nome{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ek-linha strong{white-space:nowrap;font-weight:500}

/* Busca e filtros */
.ek-busca{display:flex;gap:8px;margin:0 0 12px}
.ek-busca input,.ek-busca-inp{flex:1;min-height:46px;font-size:15px}
.ek-busca select{max-width:190px}
@media(max-width:560px){
  /* Busca e categoria empilham no celular — placeholder e seta deixam de cortar */
  .ek-busca{flex-wrap:wrap}
  .ek-busca input,.ek-busca-inp{flex:1 1 100%}
  .ek-busca select{max-width:none;width:100%;flex:1 1 100%}
}
.ek-filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.ek-chip{font-size:13px;padding:7px 14px;border-radius:99px;border:1px solid var(--borda);text-decoration:none;color:var(--creme);opacity:.8}
.ek-chip.on{background:rgba(239,230,200,.16);border-color:rgba(239,230,200,.5);opacity:1;font-weight:500}

/* Lista de produtos */
.ek-prods{display:flex;flex-direction:column;gap:9px}
.ek-prod{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:14px;border:1px solid var(--borda);
  background:rgba(255,255,255,.04);text-decoration:none;color:inherit;transition:border-color .15s,background .15s}
.ek-prod:hover{border-color:rgba(239,230,200,.4);background:rgba(255,255,255,.07)}
.ek-prod.baixo{border-left:4px solid #e8b04b}
.ek-prod.sem{border-left:4px solid #d9614f}
.ek-prod-cap{flex:none;width:48px;height:48px;border-radius:11px;background:rgba(255,255,255,.08) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:20px}
.ek-prod-txt{flex:1;min-width:0}
.ek-prod-txt strong{display:block;font-size:14.5px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ek-prod-txt small{display:block;font-size:12px;opacity:.7}
.ek-prod-txt .ek-preco{opacity:.85}
.ek-prod-saldo{flex:none;text-align:right;min-width:52px}
.ek-prod-saldo b{display:block;font-size:20px;font-weight:600}
.ek-prod-saldo b.vd{color:#8ec27a} .ek-prod-saldo b.am{color:#e8b04b} .ek-prod-saldo b.vm{color:#e07a68}
.ek-prod-saldo small{font-size:11px;opacity:.65}
.ek-cob{display:block;color:#e8b04b}
.ek-tag{font-size:10px;background:rgba(217,97,79,.25);padding:1px 7px;border-radius:5px;vertical-align:middle}

/* Form */
.ek-form label{display:block;margin:14px 0 5px;font-size:13px;opacity:.85}
.ek-form .ek-lb-forte{font-size:14px;opacity:1;font-weight:500}
.ek-form input,.ek-form select,.ek-form textarea{width:100%}
.ek-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ek-2col label{margin-top:0}
.ek-margem{font-size:13px;margin:6px 0 0}
.ek-margem.boa{color:#8ec27a} .ek-margem.baixa{color:#e8b04b}
.ek-form-acoes{display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap}
.ek-salvar{min-height:50px;font-size:16px;padding:12px 30px}
.ek-resumo-prod{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px;margin-top:16px}
.ek-resumo-prod small{display:block;font-size:12px;opacity:.7}
.ek-resumo-prod strong{font-size:19px;font-weight:500}
.ek-resumo-prod .vd{color:#8ec27a} .ek-resumo-prod .am{color:#e8b04b} .ek-resumo-prod .vm{color:#e07a68}

/* Cadastros */
.ek-cad-linha{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 4px;border-bottom:1px solid rgba(239,230,200,.08);font-size:14px}
.ek-ic-x{width:30px;height:30px;border-radius:8px;border:1px solid var(--borda);background:rgba(255,255,255,.05);color:var(--creme-dim);cursor:pointer;font-size:13px}
.ek-ic-x:hover{background:rgba(217,97,79,.25);color:#fff}

/* Compras */
.ek-compra{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ek-compra-vl{font-size:18px;font-weight:500;white-space:nowrap}
.ek-item-compra{border:1px solid var(--borda);border-radius:12px;padding:10px;margin-bottom:8px;background:rgba(255,255,255,.03)}
.ek-item-compra .pid{margin-bottom:8px}
.ek-item-nums{display:flex;gap:8px;align-items:center}
.ek-item-nums input{min-width:0}
.ek-total-barra{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;margin:16px 0;border-radius:14px;background:rgba(239,230,200,.1);border:1px solid rgba(239,230,200,.3)}
.ek-total-barra strong{font-size:22px;font-weight:600}

/* Venda PDV */
.ek-vlista{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.ek-vitem{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:13px;border:1px solid var(--borda);background:rgba(255,255,255,.04)}
.ek-vitem.sel{background:rgba(127,176,105,.14);border-color:rgba(127,176,105,.45)}
.ek-vinfo{flex:1;min-width:0}
.ek-vinfo strong{display:block;font-size:14px;font-weight:500}
.ek-vinfo small{font-size:12px;opacity:.7}
.ek-vqtd{display:flex;align-items:center;gap:6px;flex:none}
.ek-vqtd button{width:38px;height:38px;border-radius:50%;border:1px solid var(--borda);background:rgba(255,255,255,.08);color:var(--creme);font-size:19px;cursor:pointer}
.ek-vqtd input{width:52px;height:38px;text-align:center}
.ek-venda-fim{margin-bottom:14px}

/* Movimentações */
.ek-mais-atalhos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ek-mov{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid rgba(239,230,200,.08)}
.ek-mov:last-child{border-bottom:0}
.ek-mov-ic{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px}
.ek-mov.ent .ek-mov-ic{background:rgba(127,176,105,.2);color:#8ec27a}
.ek-mov.sai .ek-mov-ic{background:rgba(224,122,104,.2);color:#e07a68}
.ek-mov-txt{flex:1;min-width:0}
.ek-mov-txt strong{display:block;font-size:14px;font-weight:400}
.ek-mov-txt small{font-size:12px;opacity:.65}
.ek-mov strong.vd{color:#8ec27a} .ek-mov strong.vm{color:#e07a68}

/* Conferência */
.ek-conf-cab{display:grid;grid-template-columns:1fr 70px 90px;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;opacity:.6;padding-bottom:8px;border-bottom:1px solid var(--borda)}
.ek-conf{display:grid;grid-template-columns:1fr 70px 90px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(239,230,200,.06)}
.ek-conf>*,.ek-conf-cab>*{min-width:0}
.ek-conf-nome{font-size:14px}
.ek-conf-sis{text-align:center;opacity:.75}
.ek-conf-fis{min-height:40px;text-align:center;width:100%;max-width:100%;box-sizing:border-box}

@media(max-width:600px){
  .ek-cards{grid-template-columns:1fr 1fr}
  .ek-card.grande strong{font-size:28px}
  .ek-2col{grid-template-columns:1fr}
  .ek-t span{font-size:11px}
}

/* Importação de produtos */
.im-passos{display:flex;flex-direction:column;gap:12px;margin:16px 0}
.im-passo{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--borda);border-radius:14px;background:rgba(255,255,255,.04)}
.im-n{flex:none;width:30px;height:30px;border-radius:50%;background:rgba(239,230,200,.16);display:flex;align-items:center;justify-content:center;font-weight:600}
.im-passo strong{display:block;margin-bottom:2px}
.im-passo small{display:block;opacity:.7;font-size:12.5px;margin-bottom:10px}
.im-erros h3{margin:0 0 10px;color:#e07a68}
.im-erro{font-size:13.5px;padding:6px 10px;border-radius:8px;background:rgba(224,122,104,.12);margin-bottom:5px}
.im-tab{overflow-x:auto}
.im-tab table{width:100%;border-collapse:collapse;font-size:13.5px}
.im-tab th,.im-tab td{padding:7px 9px;border-bottom:1px solid rgba(239,230,200,.1);text-align:left;white-space:nowrap}
.im-tab .n{text-align:right}
.vd-loja{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.vd-loja strong{display:block;margin-bottom:6px;font-size:14px}
.vd-loja-inp{font-family:ui-monospace,monospace;font-size:12.5px;min-width:220px}
.vd-loja-acoes{display:flex;gap:8px;flex-wrap:wrap}

/* Código do produto (tintas: compra/venda por código + nome) */
.ek-cod{display:inline-block;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;font-weight:600;
  background:rgba(239,230,200,.16);color:var(--creme);padding:1px 7px;border-radius:6px;margin-right:7px;vertical-align:1px}
.loja-cod{display:inline-block;font-family:ui-monospace,monospace;font-size:11.5px;font-weight:600;
  background:#eceadd;color:#575A45;padding:1px 6px;border-radius:5px}

/* Foto do produto no cadastro */
.fp-foto{display:flex;gap:14px;align-items:center}
.fp-preview{flex:none;width:84px;height:84px;border-radius:14px;border:1px solid var(--borda);
  background:rgba(255,255,255,.06) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:28px;opacity:.9}
.fp-foto-btns{display:flex;flex-direction:column;gap:8px}

/* Resumo da venda (PDV) */
.vr-ok{text-align:center;padding:14px 0 4px}
.vr-check{width:60px;height:60px;border-radius:50%;background:#5b7f4e;color:#fff;font-size:30px;display:flex;align-items:center;justify-content:center;margin:0 auto 10px}
.vr-ok h1{margin:0;font-size:24px}
.vr-recibo .vr-cab{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
.vr-recibo .vr-cab strong{font-size:16px}
.vr-cli{margin:0 0 10px;font-size:14px}
.vr-itens{border-top:1px solid rgba(239,230,200,.12);padding-top:10px}
.vr-item{display:flex;justify-content:space-between;gap:10px;padding:6px 0;font-size:14px}
.vr-total{display:flex;justify-content:space-between;border-top:2px solid rgba(239,230,200,.3);margin-top:8px;padding-top:10px;font-size:18px;font-weight:600}
.vr-tel{display:flex;gap:8px;margin:10px 0}
.vr-tel input{flex:1}
#txt-venda{font-family:ui-monospace,monospace;font-size:13px;line-height:1.55}
.vr-acoes{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
@media(max-width:600px){ .vr-tel{flex-direction:column} .vr-acoes .botao{flex:1;text-align:center;min-width:120px} }
.vd-novo-cli{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.vd-novo-cli input{flex:1;min-width:120px}
.vd-novo-cli button{flex:none}

/* Ideias da IA no painel */
.ideias-ia{border:1px solid var(--borda);background:var(--vidro)}
.ideias-cab{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ideias-cab strong{font-size:16px}
.ideia-item{padding:8px 0 8px 22px;position:relative;font-size:14px;line-height:1.5;border-top:1px solid rgba(239,230,200,.1)}
.ideia-item:first-child{border-top:0}
.ideia-item::before{content:'→';position:absolute;left:0;color:#8ec27a}
.vd-card.st-finalizado{border-left-color:#4a7a5a;background:rgba(74,122,90,.1)}
.vd-selo.st-finalizado{background:rgba(74,122,90,.32);color:#bfe0cb}
.vh-acoes{display:flex;gap:10px;flex-wrap:wrap;margin:4px 0 18px}
.vh-acoes .botao{flex:1;min-width:180px;text-align:center;min-height:52px;display:flex;align-items:center;justify-content:center;font-size:15px}
.ek-resumo-lista{display:flex;gap:16px;flex-wrap:wrap;padding:12px 14px;margin-bottom:10px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid var(--borda);font-size:13px}
.ek-resumo-lista strong{font-size:17px;font-weight:600;margin-right:3px}
.ek-resumo-lista .am strong{color:#e8b04b}
.ek-lista-cab{display:flex;justify-content:space-between;padding:0 13px 6px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.55}
.fp-aviso{display:block;font-size:12px;opacity:.85;margin-top:2px}

/* ===================== AGENDA — layout novo ===================== */
/* Faixa de dias */
.ag-datastrip{display:none !important}
.ds-nav{flex:none;width:38px;height:44px;border-radius:12px;border:1px solid var(--borda);background:rgba(255,255,255,.05);
  color:var(--creme);font-size:22px;line-height:1;cursor:pointer}
.ds-nav:hover{background:rgba(255,255,255,.12)}
.ds-dias{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ds-dia{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;border-radius:14px;
  border:1px solid transparent;background:rgba(255,255,255,.05);color:var(--creme);cursor:pointer;transition:background .15s}
.ds-dia small{font-size:11px;opacity:.7}
.ds-dia b{font-size:17px;font-weight:500}
.ds-dia:hover{background:rgba(255,255,255,.12)}
.ds-dia.on{background:var(--creme);color:#3a3c2c}
.ds-dia.on small{opacity:.75}
.ds-dia.hoje:not(.on) b{color:#8ec27a}

/* Timeline (mobile) — escondida no desktop */
.ag-timeline{display:none}
.tl-hora-sep{font-size:12px;letter-spacing:.08em;color:var(--creme-dim);margin:14px 0 8px;padding-left:2px}
.tl-hora-sep:first-child{margin-top:0}
.tl-card{display:flex;gap:12px;align-items:stretch;background:var(--c,#5a8a52);border-radius:14px;padding:12px 14px;margin-bottom:10px;
  cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.22);color:#fff}
.tl-card:active{transform:scale(.99)}
.tl-hora{flex:none;text-align:center;font-weight:600;font-size:15px;display:flex;flex-direction:column;justify-content:center;
  min-width:48px;border-right:1px solid rgba(255,255,255,.25);padding-right:12px}
.tl-hora small{font-size:11px;opacity:.8;font-weight:400}
.tl-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;justify-content:center}
.tl-info strong{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-info span{font-size:13px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-selo{display:none}
.tl-vazio{text-align:center;padding:50px 20px;color:var(--creme-dim);font-size:15px}
.tl-vazio span{font-size:13px;opacity:.8}

/* FAB */
.ag-fab{display:none;position:fixed;left:18px;right:auto;bottom:calc(72px + env(safe-area-inset-bottom));z-index:60;
  width:56px;height:56px;border-radius:50%;border:0;background:#8ec27a;color:#10240a;font-size:30px;line-height:1;
  box-shadow:0 10px 26px rgba(0,0,0,.4);cursor:pointer}
.ag-fab:active{transform:scale(.95)}

/* Restyle dos cartões da grade (desktop) */
.ag-bloco{border-radius:10px !important;box-shadow:0 3px 10px rgba(0,0,0,.25);border-left:4px solid rgba(255,255,255,.35);
  padding:5px 8px;overflow:hidden}
.ag-bloco strong{font-weight:600}

/* No celular: mostra timeline, esconde a grade e a lateral; faixa de dias em destaque */
@media(max-width:760px){
  .ag-principal{padding:6px 4px}
  .ag-lateral{order:3}
  .ag-fab{display:flex;align-items:center;justify-content:center}
  /* Barra mobile: toggle Agenda/Lista + chips de profissional */
  .agm-bar{display:flex;flex-direction:column;gap:10px;margin-bottom:10px}
  .agm-toggle{display:flex;background:rgba(0,0,0,.16);border:1px solid var(--borda);border-radius:14px;padding:3px}
  .agm-toggle button{flex:1;background:transparent;border:none;color:var(--creme);padding:10px;border-radius:11px;font-size:14px;min-height:42px;font-family:inherit;cursor:pointer}
  .agm-toggle button.on{background:var(--creme);color:#3a3c2c;font-weight:600}
  .agm-profs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}
  .agm-chip{flex:none;display:flex;align-items:center;gap:7px;padding:7px 13px 7px 7px;border-radius:22px;border:1px solid var(--borda);background:rgba(255,255,255,.05);color:var(--creme);font-size:13px;white-space:nowrap;cursor:pointer;font-family:inherit}
  .agm-chip.on{border-color:transparent;color:#fff;font-weight:600}
  .agm-dot{width:22px;height:22px;border-radius:50%;font-size:10px;display:flex;align-items:center;justify-content:center;color:#fff;flex:none}
  /* Visão Agenda (padrão): grade de 1 coluna cheia; Lista escondida */
  .ag-timeline{display:none}
  .ag-grade-rolagem{display:block}
  /* Visão Lista */
  body.ag-mlista .ag-grade-rolagem{display:none}
  body.ag-mlista .ag-timeline{display:block;padding:4px 2px 20px}
  body.ag-mlista .agm-profs{display:none}
}
@media(min-width:761px){ .agm-bar{display:none} }

/* ===================== SEÇÃO GESTÃO — menu lateral esquerdo ===================== */
.sec-wrap{display:flex;align-items:flex-start;gap:0}
.sec-lateral{flex:none;width:230px;align-self:stretch;padding:16px 12px;
  border-right:1px solid var(--borda);background:rgba(0,0,0,.10);min-height:calc(100vh - 60px);position:sticky;top:0}
.sl-inicio{display:block;font-size:13px;color:var(--creme-dim);text-decoration:none;padding:6px 10px;margin-bottom:10px}
.sl-inicio:hover{color:var(--creme)}
.sl-grupo{margin-bottom:16px}
.sl-rot{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.5;padding:0 10px 6px}
.sl-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:11px;text-decoration:none;
  color:var(--creme);font-size:14px;margin-bottom:2px;transition:background .15s}
.sl-item i{font-style:normal;font-size:16px;width:20px;text-align:center;flex:none}
.sl-item:hover{background:rgba(255,255,255,.07)}
.sl-item.on{background:var(--creme);color:#3a3c2c;font-weight:500}
.sec-conteudo{flex:1;min-width:0;max-width:none}
@media(max-width:900px){
  .sec-wrap{display:block}
  /* Gaveta lateral deslizante */
  .sec-lateral{display:block;position:fixed;top:0;left:0;height:100vh;height:100dvh;width:82%;max-width:320px;
    transform:translateX(-102%);transition:transform .28s cubic-bezier(.2,.8,.2,1);z-index:1001;overflow-y:auto;
    background:#3a3c2c;border-right:1px solid var(--borda);box-shadow:0 0 44px rgba(0,0,0,.55);
    padding:calc(env(safe-area-inset-top) + 16px) 14px 24px}
  body.drawer-aberto .sec-lateral{transform:none}
  .drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1000;opacity:0;pointer-events:none;transition:opacity .25s}
  body.drawer-aberto .drawer-backdrop{opacity:1;pointer-events:auto}
  body.drawer-aberto{overflow:hidden}
  .sec-lateral .sl-item{padding:13px 12px;font-size:15px}
  .sec-lateral .sl-inicio{font-size:15px;padding:10px 12px}
}

/* ============ Cadastro premium — foto na lateral + abas (produtos e profissionais) ============ */
.pf{border:1px solid var(--borda);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.03);display:flex;min-height:440px;margin:8px 0 22px}
.pf-side{width:220px;flex:none;background:rgba(0,0,0,.14);border-right:1px solid var(--borda);padding:20px 14px;display:flex;flex-direction:column;align-items:center}
.pf-foto-box{width:118px;height:118px;border-radius:18px;background-color:rgba(255,255,255,.06);background-size:cover;background-position:center;border:1px dashed var(--borda);display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;overflow:hidden}
.pf-foto-box span{font-size:30px;opacity:.45}
.pf-cam{position:absolute;right:-7px;bottom:-7px;width:34px;height:34px;border-radius:50%;background:var(--creme);color:#3a3c2c;display:flex;align-items:center;justify-content:center;font-size:15px;border:2px solid var(--verde-2,#474A38);pointer-events:none}
.pf-foto-txt{font-size:11px;opacity:.55;margin-top:8px;text-align:center;line-height:1.3}
.pf-tabsv{width:100%;margin-top:16px;display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--borda);padding-top:14px}
.pf-tabbtn{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:transparent;border:1px solid transparent;color:var(--creme);cursor:pointer;font-size:14px;text-align:left;width:100%;font-family:inherit}
.pf-tabbtn i{font-style:normal;font-size:15px;width:18px;text-align:center;flex:none}
.pf-tabbtn:hover{background:rgba(255,255,255,.05)}
.pf-tabbtn.on{background:var(--creme);color:#3a3c2c;font-weight:600}
.pf-main{flex:1;min-width:0;padding:22px 26px;display:flex;flex-direction:column}
.pf-pane{display:none}
.pf-pane.on{display:block;animation:pfIn .18s ease}
@keyframes pfIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.pf-h{font-size:17px;margin:0 0 2px}
.pf-sub{font-size:13px;opacity:.6;margin:0 0 18px}
.pf-acoes{margin-top:auto;padding-top:18px;border-top:1px solid var(--borda);display:flex;justify-content:flex-end;gap:12px;align-items:center;flex-wrap:wrap}
.pf-lb{display:block;font-size:12px;letter-spacing:.03em;text-transform:uppercase;opacity:.75;margin:14px 0 6px;font-weight:600}
.pf-lb:first-child{margin-top:0}
.pf-oblig{font-size:9.5px;font-weight:700;color:#e0836e;background:rgba(224,131,110,.15);padding:2px 6px;border-radius:6px;letter-spacing:.03em;margin-left:6px;text-transform:none}
.pf-opt{font-size:9.5px;font-weight:600;opacity:.5;border:1px solid var(--borda);padding:2px 6px;border-radius:6px;margin-left:6px;text-transform:none}
.pf-seg{display:inline-flex;gap:8px;flex-wrap:wrap}
.pf-seg label{display:flex;align-items:center;gap:8px;padding:9px 15px;border:1px solid var(--borda);border-radius:12px;cursor:pointer;font-size:14px;transition:.12s}
.pf-seg label:has(input:checked){border-color:var(--creme);background:rgba(239,230,200,.14);font-weight:600}
.pf-seg input{position:absolute;opacity:0;pointer-events:none}
.pf-hint{font-size:12px;opacity:.55;margin:6px 0 0}
/* lista de profissionais em cartões */
.pf-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:14px 0}
.pf-card{border:1px solid var(--borda);border-radius:16px;padding:16px;background:rgba(255,255,255,.03);display:flex;gap:14px;align-items:center;border-top:3px solid var(--creme)}
.pf-card-foto{width:54px;height:54px;border-radius:14px;background:rgba(255,255,255,.08) center/cover no-repeat;flex:none;display:flex;align-items:center;justify-content:center;font-size:22px;opacity:.9}
.pf-card-info{flex:1;min-width:0}
.pf-card-info strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-card-info small{opacity:.6;font-size:12.5px}
.pf-badge{display:inline-block;font-size:10.5px;font-weight:600;padding:2px 8px;border-radius:20px;background:rgba(142,194,122,.16);color:#a7d493;margin-top:5px}
.pf-card-acoes{display:flex;flex-direction:column;gap:6px;flex:none}
@media(max-width:860px){
  .pf{flex-direction:column}
  .pf-side{width:auto;border-right:none;border-bottom:1px solid var(--borda)}
  .pf-tabsv{flex-direction:row;overflow-x:auto;border-top:none;padding-top:0;margin-top:14px}
  .pf-tabbtn{white-space:nowrap;flex:none}
  .pf-main{padding:18px}
}

/* ===== Equipe: cabeçalho + modal do formulário premium ===== */
.eq-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.pf-btn-excluir{width:100%;color:#e0836e}
/* modal overlay */
.pf-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000;display:none;align-items:flex-start;justify-content:center;padding:28px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.pf-modal.aberto{display:flex}
.pf-modal-box{width:100%;max-width:900px;background:#3d4030;border:1px solid var(--borda);border-radius:20px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.45);margin:auto}
.pf-modal-topo{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--borda);background:rgba(0,0,0,.14)}
.pf-modal-topo strong{font-size:15px}
.pf-modal-x{background:rgba(255,255,255,.08);border:none;color:var(--creme);width:32px;height:32px;border-radius:9px;cursor:pointer;font-size:15px;line-height:1}
.pf-modal-x:hover{background:rgba(255,255,255,.16)}
.pf-modal .pf{margin:0;border:none;border-radius:0;min-height:auto}
.pf-modal .pf-side{border-right:1px solid var(--borda)}
@media(max-width:860px){
  .pf-modal{padding:0}
  .pf-modal-box{max-width:none;min-height:100vh;border-radius:0;border:none}
  .pf-modal .pf-main{padding:18px}
}

/* ===== Agenda: menu "Mais" + grade mais leve ===== */
.ag-mais-wrap{position:relative;display:inline-block}
.ag-mais-menu{position:absolute;right:0;top:calc(100% + 6px);background:#3d4030;border:1px solid var(--borda);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.4);padding:6px;display:none;flex-direction:column;min-width:200px;z-index:300}
.ag-mais-menu.aberto{display:flex}
.ag-mais-menu>button,.ag-mais-menu>a{display:flex;align-items:center;gap:9px;background:transparent;border:none;color:var(--creme);text-align:left;padding:10px 12px;border-radius:9px;cursor:pointer;font-size:14px;text-decoration:none;width:100%;font-family:inherit}
.ag-mais-menu>button:hover,.ag-mais-menu>a:hover{background:rgba(255,255,255,.08)}
/* grade mais leve (menos ruído de linhas) */
.ag-coluna{border-right-color:rgba(239,230,200,.05)}
.ag-celula{border-bottom-color:rgba(239,230,200,.045)}
.ag-hora{border-bottom-color:rgba(239,230,200,.06);color:rgba(239,230,200,.42)}
.ag-grade-cab{background:rgba(0,0,0,.06)}
.ag-prof-cab{border-left-color:rgba(255,255,255,.08)}

/* ===== Agenda: alinhamento perfeito das linhas da grade =====
   Linhas desenhadas como fundo unico da grade (mesma origem p/ todas as colunas).
   PASSO*PX_MIN = 30*1.8 = 54px por faixa (background-size dinâmico via --ag-rowh). */
.ag-grade{background-image:repeating-linear-gradient(to bottom,
  rgba(239,230,200,.11) 0, rgba(239,230,200,.11) 1px,
  transparent 1px, transparent 100%);background-position:0 0;background-repeat:repeat;background-size:100% var(--ag-rowh,54px)}
.ag-hora{border-bottom:none !important}
.ag-celula{border-bottom:none !important}
/* rótulo da hora exatamente sobre a linha (topo da faixa) */
.ag-hora{align-items:flex-start;padding-top:1px}



/* ===== Menu mobile: botao hamburguer (☰) + gaveta ===== */
.menu-hamburguer{display:none}
.drawer-backdrop{display:none}
@media(max-width:900px){
  .menu-hamburguer{display:inline-flex;align-items:center;justify-content:center;flex:none;
    width:42px;height:42px;border-radius:12px;background:rgba(239,230,200,.12);
    border:1px solid var(--borda);color:var(--creme);font-size:20px;line-height:1;cursor:pointer;margin-right:8px}
  .menu-hamburguer:active{background:rgba(239,230,200,.22)}
  .drawer-backdrop{display:block}
}

/* Botão Instalar app: no topo (desktop); no celular usa o do menu */
.topo-linha .btn-instalar-app{margin-right:8px}
@media(max-width:760px){ .topo-linha .btn-instalar-app{display:none !important} }

/* ===== Painel da IA redesenhado (estilo widget de assistente) ===== */
.ia-cab{padding:12px 14px !important;font-family:inherit !important;font-style:normal !important;font-size:14px !important;
  background:linear-gradient(135deg,#575A45,#474A38) !important;border-bottom:1px solid var(--borda)}
.ia-cab-id{display:flex;align-items:center;gap:10px}
.ia-cab-id img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid rgba(239,230,200,.5)}
.ia-cab-txt{display:flex;flex-direction:column;line-height:1.2}
.ia-cab-txt strong{font-size:14.5px;font-weight:600;color:var(--creme)}
.ia-cab-txt small{font-size:11.5px;color:#a7d493;display:flex;align-items:center;gap:5px}
.ia-cab-txt small::before{content:'';width:7px;height:7px;border-radius:50%;background:#8ece7a;display:inline-block}
.ia-cab-x{background:rgba(255,255,255,.12) !important;border-radius:9px !important;width:30px;height:30px;color:var(--creme) !important;font-size:14px !important}
.ia-sugestoes{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.ia-sug{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;
  background:rgba(255,255,255,.05);border:1px solid var(--borda);color:var(--creme);border-radius:12px;
  padding:11px 13px;font-size:13.5px;cursor:pointer;font-family:inherit;transition:background .15s}
.ia-sug:hover{background:rgba(239,230,200,.12);border-color:rgba(239,230,200,.35)}
.ia-sug i{font-style:normal;color:var(--creme-dim);font-size:16px;flex:none}
.ia-rodape{padding:7px 12px calc(9px + env(safe-area-inset-bottom));text-align:center;font-size:11px;color:var(--creme-dim);border-top:1px solid rgba(239,230,200,.1)}
.ia-entrada{border-top:1px solid rgba(239,230,200,.15)}

/* Seletor de idioma */
.sel-idioma{display:inline-flex;gap:2px;align-items:center;margin-right:6px}
.sel-idioma a{font-size:11px;font-weight:600;letter-spacing:.5px;color:var(--creme-dim,#cfc9b6);opacity:.6;padding:3px 6px;border-radius:7px;text-decoration:none;line-height:1}
.sel-idioma a.on{opacity:1;background:rgba(255,255,255,.14)}
.sel-idioma a:hover{opacity:1}
.sel-idioma-login{position:absolute;top:16px;right:18px}

/* Item 4: popup de aviso branded Autentis */
.av-pop{position:fixed;top:18px;left:50%;transform:translate(-50%,-24px);opacity:0;z-index:10000;display:flex;align-items:center;gap:12px;max-width:min(92vw,460px);padding:13px 16px;border-radius:16px;background:rgba(32,34,26,.94);backdrop-filter:blur(14px);border:1px solid rgba(239,230,200,.18);box-shadow:0 14px 40px rgba(0,0,0,.4);transition:opacity .3s,transform .3s}
.av-pop.show{opacity:1;transform:translate(-50%,0)}
.av-pop .av-logo{height:26px;width:auto;max-width:52px;object-fit:contain;flex:0 0 auto}
.av-pop .av-msg{flex:1;color:var(--creme,#efe6c8);font-size:14px;line-height:1.35}
.av-pop .av-x{background:none;border:none;color:var(--creme-dim,#cfc9b6);font-size:15px;cursor:pointer;padding:2px 4px;min-height:auto}
.av-pop.av-ok{border-left:4px solid var(--ok,#8dde9a)}
.av-pop.av-erro{border-left:4px solid var(--erro,#ffb3a6)}

/* Item 9: modal da guarda de navegação */
#guard-modal{position:fixed;inset:0;z-index:10001;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.55)}
#guard-modal.show{display:flex}
#guard-modal{background:rgba(26,28,20,.62);backdrop-filter:blur(8px)}
#guard-modal .guard-card{background:rgba(61,64,48,.98);border:1px solid var(--borda);border-radius:20px;padding:20px 22px;width:100%;max-width:440px;margin:16px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
#guard-modal .guard-cab{display:flex;align-items:center;gap:10px;margin-bottom:8px}
#guard-modal h3{margin:0;font-family:'Fraunces',Georgia,serif;font-size:18px;font-weight:500;color:var(--creme)}
#guard-modal p.sub{margin:0 0 18px;font-size:14.5px;line-height:1.5;color:var(--creme-dim)}
#guard-modal .guard-acoes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
#guard-modal .guard-acoes .botao{margin:0;width:100%;text-align:center;white-space:nowrap}
#guard-modal .guard-voltar{display:block;width:100%;margin:12px 0 0;background:none;border:0;color:var(--creme-dim);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:auto;padding:6px}
#guard-modal .guard-voltar:hover{color:var(--creme)}
@media(max-width:420px){#guard-modal .guard-acoes{grid-template-columns:1fr}}
/* Popups em geral: botões com a mesma altura e alinhados */
.ca-acoes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.ca-acoes .botao{margin:0;width:100%;text-align:center;white-space:nowrap}
.ca-acoes .botao.sec{order:-1}
@media(max-width:420px){.ca-acoes{grid-template-columns:1fr}}

/* Passo a passo sequencial: itens de menu travados */
.sl-item.sl-lock{opacity:.4;cursor:not-allowed;pointer-events:none}
.sl-item.sl-lock i{filter:grayscale(1)}
.mm-lock{display:block;padding:10px 12px;opacity:.4;font-size:14px}

/* ===== Meu Espaço — layout elegante em seções ===== */
.esp-form{max-width:940px}
.esp-sec{padding:20px 24px;margin-bottom:16px}
.esp-cab{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid rgba(239,230,200,.14)}
.esp-cab .esp-ic{flex:0 0 auto;width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:21px;background:rgba(239,230,200,.10);border:1px solid rgba(239,230,200,.18)}
.esp-cab h2{margin:0;font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:600;font-size:21px;text-transform:none;letter-spacing:.2px;color:var(--creme)}
.esp-cab .sub{margin:2px 0 0;font-size:13px}
.esp-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px}
.esp-campo{min-width:0}
.esp-campo.esp-col2{grid-column:1/-1}
.esp-campo label{margin-top:8px}
@media(max-width:680px){.esp-grid{grid-template-columns:1fr}}
/* Campo de documento combinado (tipo + número no mesmo campo) */
.doc-campo{display:flex;align-items:stretch;border:1px solid var(--borda);border-radius:999px;background:var(--vidro);overflow:hidden}
.doc-campo:focus-within{border-color:var(--creme);box-shadow:0 0 0 3px rgba(239,230,200,.15)}
.doc-campo select{width:auto;flex:0 0 auto;border:0;border-right:1px solid var(--borda);border-radius:0;background-color:rgba(239,230,200,.09);padding:11px 34px 11px 18px;color:var(--creme);font-weight:600}
.doc-campo input{border:0;border-radius:0;background:transparent;flex:1}
.doc-campo select:focus,.doc-campo input:focus{box-shadow:none;background-color:transparent}

/* Confirmação branded Autentis */
.ca-ov{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.55);opacity:0;transition:opacity .22s}
.ca-ov.show{opacity:1}
.ca-card{background:var(--oliva-profundo,#20221a);border:1px solid rgba(239,230,200,.18);border-radius:20px;padding:22px 24px;max-width:430px;margin:16px;box-shadow:0 24px 70px rgba(0,0,0,.55);transform:translateY(10px) scale(.98);transition:transform .22s}
.ca-ov.show .ca-card{transform:none}
.ca-cab{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.ca-cab .ca-logo{height:30px;width:auto;max-width:60px;object-fit:contain}
.ca-cab .ca-tit{font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:600;font-size:20px;color:var(--creme)}
.ca-msg{margin:0 0 18px;color:var(--creme-dim);font-size:14.5px;line-height:1.45}
.ca-acoes{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}

/* Precificação: aluguel ajustado manualmente (fora do modelo) */
.campo-definido.campo-alterado{border-color:#FFAB2F;box-shadow:0 0 0 2px rgba(255,171,47,.25)}
tr.linha-alterada{background:rgba(255,171,47,.07)}
.av-pop.av-aviso{border-left:4px solid #FFAB2F}

/* Botão Admin (engrenagem) no topo */
.btn-admin-topo{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:999px;font-size:13px;font-weight:500;text-decoration:none;color:var(--creme);border:1px solid rgba(239,230,200,.28);background:rgba(239,230,200,.08)}
.btn-admin-topo:hover{background:rgba(239,230,200,.16)}
@media(max-width:560px){.btn-admin-topo span{display:none}}

/* Home: destaque do primeiro acesso */
.hub-botao{position:relative}
.hub-botao.hub-destaque{border-color:var(--creme);box-shadow:0 0 0 4px rgba(239,230,200,.12)}
.hub-badge{position:absolute;top:12px;right:14px;background:var(--creme);color:var(--oliva-profundo,#1a1c14);font-size:11px;font-weight:600;letter-spacing:.5px;padding:3px 10px;border-radius:999px;text-transform:uppercase}
.hub-botao.hub-suave{opacity:.55}
.hub-botao.hub-suave:hover{opacity:.85}

/* Precificação: indicador de cobertura fixo (não some) */
.cobertura-fixa{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-radius:16px;padding:13px 18px;margin:6px 0 4px;border:1px solid;font-size:14px}
.cobertura-fixa .cf-selo{font-weight:600;white-space:nowrap}
.cobertura-fixa.cf-ok{background:var(--ok-bg);border-color:rgba(141,222,154,.4);color:var(--ok)}
.cobertura-fixa.cf-baixa{background:var(--erro-bg);border-color:rgba(255,179,166,.4);color:var(--erro)}
.cobertura-fixa .cf-texto{color:var(--creme-dim)}

/* Fluxo: bloco de foto da nota destacado */
.fn-bloco{border:1px solid rgba(255,171,47,.35);background:rgba(255,171,47,.06)}
.fn-cab{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.fn-cab .fn-icone{font-size:26px;line-height:1}
.fn-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;border:1.5px dashed rgba(239,230,200,.4);border-radius:14px;padding:22px;cursor:pointer;transition:background .15s,border-color .15s}
.fn-drop:hover,.fn-drop.fn-drop-on{background:rgba(239,230,200,.08);border-color:var(--creme)}
.fn-drop .fn-drop-icone{font-size:28px;opacity:.8}
.fn-drop .fn-drop-txt{font-size:14px;color:var(--creme-dim)}

/* Validação customizada de campo obrigatório */
.campo-invalido{border-color:var(--erro,#ffb3a6) !important;box-shadow:0 0 0 2px rgba(255,179,166,.28) !important}

/* ===== Agenda: visão semana (estilo Google) ===== */
.ag-viewtoggle{display:inline-flex;gap:0}
.ag-viewtoggle .peq{border-radius:0}
.ag-viewtoggle .peq:first-child{border-radius:7px 0 0 7px}
.ag-viewtoggle .peq:last-child{border-radius:0 7px 7px 0;margin-left:-1px}
.ag-diacab{flex-direction:column;gap:0;line-height:1.15;padding:6px 4px}
.ag-diacab .ag-diasem{font-size:10px;letter-spacing:.5px;text-transform:uppercase;opacity:.85}
.ag-diacab .ag-dianum{font-size:14px;font-weight:600}
.ag-diacab.hoje{outline:2px solid var(--creme);outline-offset:-2px}
.ag-coluna.hoje{background:rgba(239,230,200,.06)}

/* ===== Trilha do onboarding (estilo aventura) ===== */
.trilha{padding:16px 18px}
.trilha-topo{margin-bottom:14px}
.trilha-fase-atual{display:flex;align-items:center;gap:10px}
.trilha-fic{width:30px;height:30px;fill:none;stroke:var(--creme);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.trilha-fase-num{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--creme-dim)}
.trilha-fase-nome{font-size:18px;color:var(--creme);font-weight:500}
.trilha-barra{margin:10px 0 6px;height:9px;background:rgba(239,230,200,.16);border-radius:999px;overflow:hidden}
.trilha-barra span{display:block;height:100%;background:var(--ok);border-radius:999px;transition:width .4s ease}
.trilha-frase{margin:0;font-size:12.5px;color:var(--creme-dim)}

.trilha-caminho{display:flex;gap:4px;align-items:flex-start;overflow-x:auto;padding:6px 2px 4px;-webkit-overflow-scrolling:touch}
.trilha-secao{display:flex;flex-direction:column;gap:6px;flex:0 0 auto;padding:6px 8px;border-radius:14px}
.trilha-secao.aberta{background:rgba(239,230,200,.07)}
.trilha-secao.futura{opacity:.5}
.trilha-secao-cab{display:flex;flex-direction:column;gap:2px;min-height:30px}
.trilha-secao-nome{font-size:11.5px;color:var(--creme);font-weight:500;white-space:nowrap}
.trilha-secao-tag{font-size:10px;letter-spacing:.3px}
.trilha-secao-tag.ok{color:var(--ok)}
.trilha-secao-tag.on{color:var(--creme-dim)}
.trilha-nos{display:flex;gap:6px}
.trilha-no{width:66px;text-align:center;position:relative}
.trilha-bolha{position:relative;width:48px;height:48px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.08);border:2px solid rgba(239,230,200,.25)}
.trilha-bolha svg{width:24px;height:24px;fill:none;stroke:var(--creme-dim);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.trilha-no.feito .trilha-bolha{background:var(--ok);border-color:var(--ok)}
.trilha-check{color:var(--oliva-profundo);font-size:22px;font-weight:700;line-height:1}
.trilha-no.atual .trilha-bolha{background:var(--creme);border-color:var(--creme);box-shadow:0 0 0 4px rgba(239,230,200,.22);animation:pulsa 1.8s ease-in-out infinite}
.trilha-no.atual .trilha-bolha svg{stroke:var(--oliva-profundo)}
.trilha-snip{position:absolute;top:-8px;right:-6px;width:20px;height:20px;transform-origin:60% 55%;animation:snip 1.1s ease-in-out infinite;pointer-events:none}
.trilha-snip svg{width:20px;height:20px;fill:none;stroke:var(--oliva-profundo);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;background:var(--creme);border-radius:50%;padding:2px;box-shadow:0 2px 6px rgba(0,0,0,.25)}
@keyframes snip{0%,100%{transform:rotate(-14deg) scale(1)}50%{transform:rotate(6deg) scale(1.08)}}
.trilha-no.travado .trilha-bolha{opacity:.55}
.trilha-rot{display:block;margin-top:5px;font-size:10.5px;color:var(--creme-dim);line-height:1.25}
.trilha-no.atual .trilha-rot{color:var(--creme);font-weight:500}
.trilha-voce{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;
  background:var(--laranja);color:#3a2400;padding:2px 6px;border-radius:999px;font-weight:600}
@keyframes pulsa{0%,100%{box-shadow:0 0 0 4px rgba(239,230,200,.22)}50%{box-shadow:0 0 0 8px rgba(239,230,200,.08)}}

/* ===== Checkpoint (comemoração entre fases) ===== */
.ckp-wrap{display:flex;justify-content:center;padding:10px 0 40px}
.ckp-card{max-width:460px;width:100%;text-align:center;padding:30px 26px}
.ckp-medalha{width:92px;height:92px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 50% 35%, #FFE9A8 0%, #F0C24A 60%, #C79320 100%);box-shadow:0 8px 26px rgba(0,0,0,.35),0 0 0 6px rgba(239,230,200,.15)}
.ckp-medalha svg{width:44px;height:44px;fill:none;stroke:#5a3d00;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ckp-selo{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--ok);margin-bottom:6px}
.ckp-titulo{font-size:clamp(24px,5vw,30px);margin:2px 0 6px}
.ckp-sub{color:var(--creme-dim);font-size:14px;margin:0 0 18px}
.ckp-passos{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:18px}
.ckp-passo{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--creme);background:rgba(141,222,154,.16);
  border:1px solid rgba(141,222,154,.4);padding:5px 10px;border-radius:999px}
.ckp-passo svg{width:16px;height:16px;fill:none;stroke:var(--ok);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ckp-proxima{background:rgba(255,255,255,.06);border:1px solid var(--borda);border-radius:14px;padding:12px 14px;margin-bottom:18px}
.ckp-prox-rot{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--creme-dim)}
.ckp-prox-nome{display:inline-flex;align-items:center;gap:8px;font-size:16px;color:var(--creme);font-weight:500;margin-top:4px}
.ckp-prox-nome svg{width:22px;height:22px;fill:none;stroke:var(--creme);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ckp-prox-frase{display:block;font-size:12px;color:var(--creme-dim);margin-top:2px}
.ckp-btn{width:100%;justify-content:center;font-size:15px;padding:13px}
.ckp-confete{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:5}
.ckp-confete span{position:absolute;top:-26px;opacity:.95;animation-name:cai;animation-timing-function:linear;animation-iteration-count:infinite}
.ckp-confete svg{display:block;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@keyframes cai{0%{transform:translateY(-26px) rotate(0)}100%{transform:translateY(102vh) rotate(var(--giro,540deg))}}
@media (max-width:560px){.trilha-no{width:58px}.trilha-bolha{width:44px;height:44px}}

/* Ícones SVG no topo e no menu mobile */
.btn-admin-topo i.ico{display:inline-flex;vertical-align:-3px;margin-right:2px}
.btn-admin-topo i.ico svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.menu-mobile-sheet a i.ico{display:inline-flex;vertical-align:-3px}
.menu-mobile-sheet a i.ico svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}



/* Spinner com tema de salão (tesoura girando) — esperas */
.spin-salao{display:inline-flex;align-items:center;gap:9px;color:var(--creme-dim);font-size:13px}
.spin-salao svg{width:22px;height:22px;fill:none;stroke:var(--creme);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;animation:girar 1.15s linear infinite;transform-origin:50% 50%}
@keyframes girar{to{transform:rotate(360deg)}}

/* Assistente Autentis (vitrine) */
.asx-hero{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.asx-hero-ic{width:64px;height:64px;border-radius:50%;overflow:hidden;flex:none;border:2px solid var(--borda)}
.asx-selo{display:inline-block;font-size:11.5px;padding:4px 10px;border-radius:999px;margin-right:6px}
.asx-selo.ok{background:rgba(141,222,154,.16);color:var(--ok);border:1px solid rgba(141,222,154,.4)}
.asx-selo.off{background:rgba(255,171,47,.14);color:var(--laranja);border:1px solid rgba(255,171,47,.4)}
.asx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.asx-card{display:flex;gap:12px;align-items:flex-start;margin-bottom:0}
.asx-passos{margin:0;padding-left:20px;line-height:1.9}
.asx-passos li{margin-bottom:8px}

/* Tela inicial (hub) — menos cru, com prévias vivas */
.hub-data{color:var(--creme-dim);font-size:13px;margin:-22px 0 26px;letter-spacing:.2px}
.hub-botao{position:relative;padding-bottom:16px}
.hub-prev{display:inline-block;margin-top:4px;font-size:11.5px;padding:4px 12px;border-radius:999px;
  background:rgba(239,230,200,.12);border:1px solid rgba(239,230,200,.22);color:var(--creme-dim)}
.hub-prev.on{background:rgba(141,222,154,.16);border-color:rgba(141,222,154,.4);color:var(--ok)}
.hub-prev.ok{background:rgba(141,222,154,.12);border-color:rgba(141,222,154,.32);color:var(--ok)}
.hub-prev.alerta{background:rgba(255,171,47,.14);border-color:rgba(255,171,47,.4);color:var(--laranja)}
.hub-prev strong{color:var(--creme);font-weight:600}
@media(max-width:760px){.hub-data{margin:-14px 0 18px}}

/* Nível de ocupação da agenda (cadastro do locatário) */
.ocp-opts{display:flex;gap:8px;flex-wrap:wrap}
.ocp-opt{display:inline-flex;align-items:center;cursor:pointer;font-size:12.5px;padding:8px 14px;border-radius:999px;
  border:1px solid var(--borda);background:rgba(255,255,255,.06);color:var(--creme-dim);transition:.15s}
.ocp-opt input{display:none}
.ocp-opt.on,.ocp-opt:has(input:checked){background:var(--creme);color:#3a3c2c;border-color:var(--creme);font-weight:500}
.ocp-opt:hover{border-color:var(--creme)}

/* Precificação — meta de ocupação, selo manual, ações por linha */
.prf-meta{font-size:10.5px;color:var(--creme-dim);margin-top:3px}
.selo-manual{color:var(--laranja);font-weight:500}
.prf-acoes{display:flex;gap:10px;justify-content:flex-end;margin-top:5px;flex-wrap:wrap}
.lnk-acao{background:none;border:0;color:var(--creme-dim);font-size:10.5px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}
.lnk-acao:hover{color:var(--creme)}
.lnk-acao.alerta{color:var(--laranja)}
.linha-horaria{opacity:.85}
.linha-horaria td:first-child{border-left:2px solid var(--laranja)}

/* Precificação — valor/hora, alertas de limite */
.vh-linha{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.vh-pre{font-size:12px;color:var(--creme-dim)}
.vh-inp{max-width:110px}
.vh-inp.vh-vazio{border-color:var(--laranja)}
.selo-alto{color:var(--laranja);font-weight:500}
.selo-baixo{color:var(--creme-dim)}

/* #36 home: chip de prévia não empurra a largura no celular (quebra pra linha própria) */
.hub-botao{flex-wrap:wrap;min-width:0}
.hub-botao small{min-width:0}
@media(max-width:760px){
  .hub-prev{flex-basis:100%;white-space:normal;margin:2px 0 0 52px}
  .hub-botao strong{width:auto;max-width:120px}
}
/* #39 botões de ocupação com alvo de toque de 44px */
.ocp-opt{min-height:44px;box-sizing:border-box}
@media(max-width:560px){ .ocp-opts{gap:10px} .ocp-opt{padding:11px 16px} }

/* ============ AGENDA v2 — visual do mockup (todas as larguras) + tabbar global ============ */
.agx-head{max-width:560px;margin:0 auto;padding:6px 2px 2px}
.ag-topo-pagina{display:none !important}
.agm-bar{display:none !important}
.ag-grade-rolagem{display:none !important}
.ag-datastrip{display:none !important}
.ag-lateral{display:none}
body.agx-config .ag-lateral{display:block;margin-top:14px}
body.agx-config .ag-principal{display:none !important}
body.agx-config .ag-fab{display:none !important}
body.agx-config .ag-lateral{display:block;margin-top:10px;padding-bottom:24px}
.ag-layout{display:block !important;max-width:560px;margin:0 auto}
.ag-principal{background:transparent !important;border:none !important;box-shadow:none !important;padding:0 !important}
.ag-timeline{display:block !important;padding:0 2px 24px;max-width:560px;margin:0 auto}

.agx-titrow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.agx-title{font-family:"Fraunces",Georgia,serif;font-style:normal;font-weight:600;font-size:32px;margin:0;color:var(--creme);line-height:1.05}
.agx-cfg{background:rgba(255,255,255,.06);border:1px solid var(--borda);color:var(--creme);width:40px;height:40px;border-radius:12px;font-size:17px;cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center}
.agx-daynav{display:flex;align-items:center;gap:6px;margin-top:2px}
.agx-daynav button{background:none;border:none;color:var(--creme-dim);font-size:22px;padding:2px 8px;cursor:pointer;min-width:40px;min-height:40px}
.agx-today{font-size:14px;color:var(--creme-dim)}
.agx-today b{color:var(--creme);font-weight:600}
.agx-summary{font-size:13px;color:var(--creme-dim);margin:4px 0 10px;min-height:16px}
.agx-seg{display:flex;gap:8px;overflow-x:auto;padding-bottom:12px;scrollbar-width:none}
.agx-seg::-webkit-scrollbar{display:none}
.agx-per{flex:none;background:rgba(30,32,22,.5);border:1px solid var(--borda);border-radius:999px;padding:9px 15px;font-size:13px;color:var(--creme-dim);white-space:nowrap;cursor:pointer;min-height:40px;font-family:inherit}
.agx-per.on{background:var(--creme);color:#20221a;font-weight:600;border-color:transparent}
.agx-profsel{flex:none;background:rgba(30,32,22,.5);border:1px solid var(--borda);border-radius:999px;padding:9px 14px;font-size:13px;color:var(--creme);min-height:40px;font-family:inherit;max-width:210px}

.tl-hora-sep{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--creme-dim);font-weight:600;margin:14px 0 6px;padding-left:2px}
.tl-hora-sep:first-child{margin-top:0}
.tl-card{display:flex !important;gap:12px;align-items:center;position:relative;overflow:hidden;width:100%;text-align:left;font:inherit;cursor:pointer;
  background:rgba(30,32,22,.55) !important;border:1px solid var(--borda);border-radius:14px;padding:12px 14px 12px 16px;margin-bottom:9px;color:var(--creme) !important;box-shadow:none}
.tl-card:active{background:rgba(30,32,22,.75) !important;transform:none}
.tl-stripe{position:absolute;left:0;top:0;bottom:0;width:4px}
.tl-hora{flex:none;font-weight:600;font-size:15px;width:44px;text-align:left;color:var(--creme);border:none !important;padding:0 !important;letter-spacing:.01em;min-width:44px;display:block}
.tl-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;justify-content:center}
.tl-who{font-weight:600;font-size:14px;color:var(--creme);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-meta{font-size:12px;color:var(--creme-dim);display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-dot{width:8px;height:8px;border-radius:50%;flex:none}
.tl-badge{flex:none;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:20px}
.tl-confirmado{background:rgba(111,167,116,.18);color:#a9d3ad}
.tl-aguardando{background:rgba(198,160,74,.20);color:#ddc07a}
.tl-faltou{background:rgba(203,143,178,.18);color:#dcaecb}
.tl-free{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px dashed var(--borda);border-radius:14px;padding:13px;margin:4px 0 9px;color:var(--creme-dim);font-size:12.5px;background:none;cursor:pointer;font:inherit}
.tl-free:active{border-color:#78B47F;color:var(--creme)}
.tl-daysep{font-family:"Fraunces",serif;font-style:normal;font-size:18px;color:var(--creme);margin:18px 0 8px;display:flex;align-items:center;gap:8px}
.tl-daysep em{font-style:normal;font-size:11px;background:rgba(255,255,255,.08);color:var(--creme-dim);border-radius:20px;padding:2px 8px}
.tl-vazio-min{color:var(--creme-dim);font-size:12.5px;padding:2px 2px 10px;opacity:.75}

/* FAB pílula "Encaixar" centralizado (todas as larguras) */
.ag-fab{display:flex !important;align-items:center;justify-content:center;gap:8px;position:fixed;
  left:16px !important;right:auto !important;transform:none;
  bottom:calc(env(safe-area-inset-bottom,0px) + 78px) !important;
  width:auto !important;height:52px !important;border-radius:26px !important;padding:0 22px !important;
  background:#78B47F !important;color:#12210F !important;font-weight:700;font-size:15px;border:0;
  box-shadow:0 12px 26px -6px rgba(120,180,127,.45) !important;z-index:60}
.ag-fab:active{transform:scale(.97)}
@media(min-width:761px){ .ag-fab{bottom:26px !important} }

@media(max-width:760px){ .ag-fab{bottom:calc(env(safe-area-inset-bottom,0px) + 88px) !important} }
@media print{ .ag-fab{display:none !important} }

/* ============ ESTOQUE v2 — Home + PDV (visual do mockup, todas as larguras) ============ */
.est-wrap{max-width:560px;margin:0 auto;padding:6px 4px 24px}
.est-title{font-family:"Fraunces",Georgia,serif;font-style:normal;font-weight:600;font-size:32px;margin:2px 0 12px;color:var(--creme);line-height:1.05}
.est-bigcard{background:linear-gradient(160deg,rgba(24,40,24,.55),rgba(20,28,16,.35));border:1px solid var(--borda);border-radius:18px;padding:18px 18px 16px;margin-bottom:12px}
.est-lbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--creme-dim);font-weight:600}
.est-val{font-family:"Fraunces",serif;font-weight:600;font-size:42px;color:var(--creme);line-height:1.05;margin:4px 0 2px;font-variant-numeric:tabular-nums}
.est-subv{font-size:13px;color:var(--creme-dim)}
.est-alerts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.est-al{border-radius:14px;padding:13px 14px;border:1px solid var(--borda);text-decoration:none;display:block;color:inherit}
.est-al:active{filter:brightness(1.08)}
.est-al .n{font-family:"Fraunces",serif;font-weight:600;font-size:30px;line-height:1}
.est-al .t{font-size:12.5px;color:var(--creme-dim);margin-top:4px}
.est-al.warn{background:rgba(198,160,74,.16)} .est-al.warn .n{color:#DDC07A}
.est-al.crit{background:rgba(203,143,178,.15)} .est-al.crit .n{color:#DCAECB}
.est-al.calm{background:rgba(30,32,22,.45)} .est-al.calm .n{color:var(--creme-dim)}
.est-seclbl{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--creme-dim);font-weight:600;margin:20px 2px 10px}
.est-qa{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.est-qbtn{display:flex;align-items:center;gap:11px;background:rgba(30,32,22,.45);border:1px solid var(--borda);border-radius:14px;padding:15px 14px;color:var(--creme);text-decoration:none;min-height:44px}
.est-qbtn:active{background:rgba(30,32,22,.78)}
.est-qbtn .ic{font-size:22px;line-height:1;flex:none;width:26px;text-align:center}
.est-qbtn .lb{font-weight:600;font-size:15px}
.est-qbtn.primary{background:rgba(120,180,127,.14);border-color:rgba(120,180,127,.4)}
.est-qbtn.primary .lb{color:#bfe2c3}

/* ----- PDV / Nova venda ----- */
.pdv-wrap{max-width:560px;margin:0 auto;padding:0 4px calc(env(safe-area-inset-bottom,0px) + 170px)}
.pdv-back{display:inline-flex;align-items:center;min-height:40px;color:var(--creme-dim);text-decoration:none;font-size:14px;padding:6px 2px}
.pdv-title{font-family:"Fraunces",Georgia,serif;font-style:normal;font-weight:600;font-size:30px;margin:0 0 8px;color:var(--creme);line-height:1.05}
.pdv-searchwrap{position:relative;margin-bottom:6px}
.pdv-search{display:flex;align-items:center;gap:9px;background:rgba(30,32,22,.6);border:1px solid var(--borda);border-radius:12px;padding:0 14px;height:48px}
.pdv-search .mag{color:var(--creme-dim);font-size:16px}
.pdv-search input{flex:1;background:none;border:none;outline:none;color:var(--creme);font:inherit;font-size:15px}
.pdv-sug{display:none}
.pdv-sug.aberto{display:block;position:absolute;left:0;right:0;top:52px;z-index:15;background:#2b2d20;border:1px solid var(--borda);border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.4);max-height:280px;overflow-y:auto}
.pdv-sugitem{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;background:none;border:none;border-bottom:1px solid var(--borda);color:var(--creme);padding:12px 14px;cursor:pointer;font:inherit;text-align:left}
.pdv-sugitem:active{background:rgba(120,180,127,.15)}
.pdv-sugitem .pp{color:var(--creme-dim);font-size:13px;flex:none}
.pdv-sugvazio{padding:14px;color:var(--creme-dim);font-size:13px}
.pdv-empty{text-align:center;color:var(--creme-dim);padding:44px 24px;font-size:14px}
.pdv-empty .big{font-size:34px;display:block;margin-bottom:10px;opacity:.7}
.pdv-row{display:flex;align-items:center;gap:12px;padding:12px 2px;border-bottom:1px solid var(--borda)}
.pdv-row .pimg{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.06);display:grid;place-items:center;font-size:19px;flex:none}
.pdv-row .pinfo{flex:1;min-width:0}
.pdv-row .pn{font-weight:600;font-size:15px;color:var(--creme);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pdv-row .pp{font-size:13px;color:var(--creme-dim);margin-top:1px}
.pdv-stepper{display:flex;align-items:center;background:rgba(30,32,22,.6);border:1px solid var(--borda);border-radius:11px;flex:none;overflow:hidden}
.pdv-stepper button{width:40px;height:40px;background:none;border:none;color:var(--creme);font-size:20px;cursor:pointer;display:grid;place-items:center}
.pdv-stepper button:active{background:rgba(120,180,127,.18)}
.pdv-stepper .q{min-width:34px;text-align:center;font-weight:600;font-size:16px;font-variant-numeric:tabular-nums;color:var(--creme)}
.pdv-checkout{position:fixed;left:0;right:0;bottom:0;z-index:45;max-width:560px;margin:0 auto;background:rgba(24,26,17,.94);backdrop-filter:blur(10px);border-top:1px solid var(--borda);padding:10px 16px calc(env(safe-area-inset-bottom,0px) + 12px)}
.pdv-linha{display:flex;gap:8px;align-items:center;margin-bottom:10px;overflow-x:auto;scrollbar-width:none}
.pdv-linha::-webkit-scrollbar{display:none}
.pdv-forma{display:flex;gap:6px;flex:none}
.pdv-forma button{flex:none;background:rgba(255,255,255,.05);border:1px solid var(--borda);color:var(--creme-dim);border-radius:999px;padding:7px 12px;font-size:12px;min-height:34px;cursor:pointer;font-family:inherit;white-space:nowrap}
.pdv-forma button.on{background:var(--creme);color:#20221a;font-weight:600;border-color:transparent}
.pdv-clientesel{flex:none;margin-left:auto;background:rgba(255,255,255,.05);border:1px solid var(--borda);color:var(--creme);border-radius:999px;padding:7px 12px;font-size:12px;min-height:34px;font-family:inherit;max-width:150px}
.pdv-bar{display:flex;align-items:center;gap:12px}
.pdv-tot{flex:1;min-width:0}
.pdv-tot .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--creme-dim);font-weight:600}
.pdv-tot .v{font-family:"Fraunces",serif;font-weight:600;font-size:28px;color:var(--creme);line-height:1;font-variant-numeric:tabular-nums}
#pdv-finalizar{background:#78B47F;color:#12210F;border:none;border-radius:14px;padding:0 26px;height:52px;font-weight:700;font-size:16px;cursor:pointer;flex:none;box-shadow:0 10px 22px -8px rgba(120,180,127,.45)}
#pdv-finalizar:active{transform:scale(.97)}
#pdv-finalizar[disabled]{opacity:.4;box-shadow:none;cursor:default}

/* ícones SVG das telas de estoque (centralizados, sem tofu de emoji) */
.est-qbtn .ic{display:flex;align-items:center;justify-content:center;width:26px;height:26px}
.est-qbtn .ic svg{width:23px;height:23px}
.pdv-search .mag{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:none}
.pdv-search .mag svg{width:19px;height:19px}
.pdv-row .pimg svg{width:22px;height:22px;color:var(--creme-dim)}
.pdv-empty .big{display:flex;align-items:center;justify-content:center;margin:0 auto 10px;opacity:.7}
.pdv-empty .big svg{width:34px;height:34px}

/* ===== Novo/editar agendamento — versão simples ===== */
.ag-horarios{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 8px}
.ag-hchip{background:rgba(255,255,255,.05);border:1px solid var(--borda);color:var(--creme);border-radius:10px;padding:9px 12px;font-size:14px;min-width:64px;min-height:44px;cursor:pointer;font-family:inherit;font-variant-numeric:tabular-nums}
.ag-hchip:hover{border-color:rgba(232,227,201,.4)}
.ag-hchip.on{background:#78B47F;color:#12210F;border-color:transparent;font-weight:600}
.ag-hor-vazio{color:var(--creme-dim);font-size:13px;padding:6px 2px;display:block}
.ag-avancado{margin-top:14px;border-top:1px solid var(--borda);padding-top:6px}
.ag-avancado>summary{cursor:pointer;color:var(--creme-dim);font-size:13.5px;list-style:none;padding:6px 2px;user-select:none}
.ag-avancado>summary::-webkit-details-marker{display:none}
.ag-avancado>summary::before{content:"▸";display:inline-block;margin-right:6px;color:var(--creme-dim);transition:transform .15s}
.ag-avancado[open]>summary::before{transform:rotate(90deg)}
.ag-avancado-corpo{padding:4px 2px 2px}
.ag-item2{display:grid;grid-template-columns:1fr 108px 108px 40px;gap:8px;align-items:center;margin-bottom:8px}
@media(max-width:520px){ .ag-item2{grid-template-columns:1fr 84px 88px 36px} }

/* ===== Mostrar/ocultar senha (cadastro e login) ===== */
.senha-wrap{position:relative}
.senha-wrap input{padding-right:46px}
.senha-wrap .olho{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--creme-dim);cursor:pointer;padding:0}
.senha-wrap .olho svg{width:20px;height:20px}
.olho .olho-off{display:none}
.olho.on .olho-on{display:none}
.olho.on .olho-off{display:inline}
/* login: usa o olho no lugar do cadeado */
.lg-campo .lg-olho{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:currentColor;cursor:pointer;padding:0;opacity:.7}
.lg-campo .lg-olho:hover{opacity:1}
.lg-campo .lg-olho svg{width:20px;height:20px}
.lg-campo input#lg-senha{padding-right:44px}

/* ===== Agenda em grade — visual mockup "agendagrade" ===== */
.ag-grade{position:relative}
.ag-grade-rolagem{max-height:none;border:1px solid var(--borda);border-radius:14px;overflow:auto;background:rgba(0,0,0,.06)}
.ag-prof-cab{gap:8px;font-weight:600;letter-spacing:.01em}
.ag-hora{color:rgba(239,230,200,.55);font-variant-numeric:tabular-nums}
/* card de atendimento: barra de cor à esquerda + pílula de status */
.ag-bloco{border-left:none !important;box-shadow:inset 3px 0 0 rgba(255,255,255,.55), 0 3px 10px rgba(0,0,0,.28) !important;
  display:flex;flex-direction:column;gap:2px}
.ag-bloco strong{font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-bloco span{font-size:10.5px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-stpill{align-self:flex-start;font-style:normal;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
  padding:1px 6px;border-radius:10px;margin-top:1px;line-height:1.5}
.ag-stpill.st-confirmado{background:rgba(111,167,116,.30);color:#d7f0da}
.ag-stpill.st-aguardando{background:rgba(198,160,74,.32);color:#f0dca0}
.ag-stpill.st-faltou{background:rgba(203,143,178,.28);color:#f0cfe2}
/* linha do "agora" */
.ag-nowline{position:absolute;left:64px;right:0;height:2px;background:var(--dourado,#CFC397);z-index:6;pointer-events:none;
  box-shadow:0 0 8px rgba(207,195,151,.6)}
.ag-nowline::before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--dourado,#CFC397)}
.ag-now-lbl{position:absolute;right:6px;top:-9px;font-size:9px;font-weight:700;letter-spacing:.1em;color:var(--dourado,#CFC397);font-variant-numeric:tabular-nums}

/* ===== Agenda: GRADE como visão principal em todas as larguras (pedido do cliente) ===== */
.ag-grade-rolagem{display:block !important;max-height:calc(100dvh - 240px)}
.ag-timeline{display:none !important}
.ag-layout{max-width:none !important;margin:0 !important;display:block !important}
.agx-head{max-width:none !important}
.ag-principal{padding:0 !important;background:transparent !important;border:none !important;box-shadow:none !important}
body.agx-config .ag-grade-rolagem{display:none !important}

/* ===== Agenda opção B: hover-tooltip + ajuste de colunas ===== */
.ag-tip{position:fixed;z-index:9999;max-width:330px;background:rgba(20,22,14,.97);color:var(--creme);
  border:1px solid var(--borda);border-radius:12px;padding:12px 14px;box-shadow:0 14px 40px rgba(0,0,0,.5);
  pointer-events:none;font-size:13px;line-height:1.5;backdrop-filter:blur(6px)}
.ag-tip-h{font-family:"Fraunces",Georgia,serif;font-style:normal;font-size:15px;color:var(--creme-dim);margin-bottom:1px}
.ag-tip-cli{font-weight:600;font-size:15.5px;margin-bottom:8px}
.ag-tip-row{margin-top:3px}
.ag-tip-row b{color:var(--creme-dim);font-weight:600}
.ag-tip .ag-stpill{position:static;display:inline-block;vertical-align:middle}
.agx-colnum{display:inline-flex;gap:2px;align-items:center;background:rgba(30,32,22,.5);border:1px solid var(--borda);border-radius:999px;padding:3px;flex:none}
.agx-colnum button{border:none;background:transparent;color:var(--creme-dim);width:30px;height:30px;border-radius:999px;font-size:13px;cursor:pointer;font-family:inherit;min-height:30px}
.agx-colnum button.on{background:var(--creme);color:#20221a;font-weight:600}
.agx-colnum::before{content:"Colunas";font-size:11px;color:var(--creme-dim);padding:0 6px 0 4px;letter-spacing:.02em}
@media(max-width:760px){ .agx-colnum{display:none} }
/* cabeçalho colorido por profissional — reforço visual das referências */
.ag-prof-cab{justify-content:center;text-align:center;flex-direction:column;gap:5px;padding:9px 8px;font-size:13px;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.ag-prof-cab .ag-avatar{width:32px;height:32px;background:rgba(255,255,255,.28)}

/* ===== Agenda: layout CLÁSSICO (sidebar + toolbar + grade) na identidade Autentis =====
   Remove a navegação de dias confusa (agx) e traz de volta o mini-calendário + árvore de profissionais. */
.agx-head{display:none !important}
.ag-datastrip{display:none !important}
.ag-topo-pagina{display:flex !important}
.ag-lateral{display:block !important}
.ag-layout{display:grid !important;grid-template-columns:262px minmax(0,1fr) !important;max-width:none !important;margin:0 !important;gap:16px}
.ag-principal{display:block !important;background:rgba(0,0,0,.06) !important;border:1px solid var(--borda) !important;border-radius:14px !important;padding:0 !important;overflow:hidden}
.ag-grade-rolagem{display:block !important;max-height:calc(100dvh - 220px)}
.ag-timeline{display:none !important}
body.agx-config .ag-principal{display:block !important}
body.agx-config .ag-lateral{display:block !important;margin-top:0}
/* declutter da toolbar: some o toggle Dia/Semana e o "ir para data" (o mini-calendário já navega) */
.ag-viewtoggle{display:none !important}
#data-rapida{display:none !important}
/* Ajustar colunas — botões estilo mockup, no tema Autentis */
.ag-colsel{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;color:var(--creme-dim);white-space:nowrap}
.ag-colsel button{border:1px solid var(--borda);background:rgba(255,255,255,.05);color:var(--creme-dim);width:30px;height:30px;border-radius:7px;font-size:13px;cursor:pointer;font-family:inherit;min-height:30px;padding:0}
.ag-colsel button.on{background:var(--creme);border-color:transparent;color:#20221a;font-weight:600}
@media(max-width:900px){
  .ag-layout{grid-template-columns:1fr !important}
  .ag-lateral{order:2;margin-top:12px}
  .ag-colsel{display:none}
}

/* ===== Toolbar da Agenda — opção C + "+ Novo agendamento" (tema Autentis) ===== */
.ag-topo-pagina .ag-viewtoggle,.ag-topo-pagina #data-rapida,.ag-topo-pagina #sel-prof-semana{display:none !important}
.ag-tbC{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}
.ag-tbC .ag-tb-sp{flex:1}
.ag-tb-novo{display:inline-flex;align-items:center;gap:7px;background:var(--verde-suave,#6FA774);color:#12210f;border:none;
  border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;min-height:40px;white-space:nowrap}
.ag-tb-novo:hover{filter:brightness(1.06)}
.ag-tbC .peq{border-radius:999px !important;min-height:40px;padding:8px 15px !important;background:rgba(255,255,255,.05);border:1px solid var(--borda);color:var(--creme)}
.ag-tbC #btn-hoje{background:var(--creme);color:#20221a;border-color:transparent;font-weight:600}
.ag-tbC .peq:hover{border-color:rgba(236,231,206,.3)}
.ag-comandas-wrap{position:relative;display:inline-block}
.ag-tb-comandas{display:inline-flex;align-items:center;gap:7px;background:var(--dourado,#C6A04A);color:#20221a;border:none;
  border-radius:999px;padding:8px 15px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;min-height:40px;white-space:nowrap}
.ag-tb-comandas b{font-weight:700}
.ag-tb-comandas:hover{filter:brightness(1.05)}
.ag-comandas-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:230px;max-height:320px;overflow:auto;z-index:60;
  background:#3d3f2d;border:1px solid var(--borda);border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.5);padding:6px;display:none}
.ag-comandas-menu.aberto{display:block}
.ag-comandas-menu a{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--creme)}
.ag-comandas-menu a:hover{background:rgba(255,255,255,.06)}
.ag-comandas-menu a small{color:var(--creme-dim);font-size:11.5px}
#busca-agendamento{border-radius:999px !important;min-height:40px;background:rgba(0,0,0,.18);border:1px solid var(--borda);color:var(--creme)}
@media(max-width:900px){ .ag-tbC .ag-tb-sp{display:none} .ag-tbC{gap:6px} }

/* ===== Toolbar da Agenda no CELULAR — limpa, sem sobreposição ===== */
@media(max-width:760px){
  .ag-topo-pagina{gap:10px}
  .ag-tbC{gap:8px;align-items:stretch}
  /* zera a regra genérica que forçava 33% e causava sobreposição */
  .ag-ferramentas.ag-tbC > *{min-width:0}
  /* botão principal ocupa a linha toda, em destaque */
  .ag-tbC .ag-tb-novo{order:1;flex:1 1 100%;justify-content:center;font-size:14.5px;min-height:46px;padding:11px 18px}
  /* pílulas de ação: 2 por linha, alturas iguais, sem encavalar */
  .ag-tbC #btn-hoje{order:2}
  .ag-tbC #btn-bloquear{order:3}
  .ag-tbC #btn-servicos{order:4}
  .ag-tbC .ag-comandas-wrap{order:5}
  .ag-tbC #btn-hoje,.ag-tbC #btn-bloquear,.ag-tbC #btn-servicos,.ag-tbC .ag-comandas-wrap{
    flex:1 1 calc(50% - 4px);min-width:calc(50% - 4px)}
  .ag-tbC .ag-comandas-wrap{display:flex}
  .ag-tbC .ag-tb-comandas{width:100%;justify-content:center}
  .ag-tbC #btn-hoje,.ag-tbC #btn-bloquear,.ag-tbC #btn-servicos{justify-content:center;display:inline-flex;align-items:center;gap:7px}
  /* busca sozinha na última linha, largura total */
  .ag-tbC #busca-agendamento{order:6;flex:1 1 100%;max-width:none !important;width:100%}
  /* menu de comandas cabe na tela */
  .ag-comandas-menu{left:auto;right:0;min-width:min(84vw,260px)}
}


/* ===== Card da agenda: legível mesmo em 30 min ===== */
.ag-bloco{padding:4px 8px !important;gap:1px !important;line-height:1.18;display:flex;flex-direction:column;overflow:hidden}
.ag-bloco strong{font-size:11.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-bloco span{font-size:10px;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ag-bloco .ag-stpill{align-self:flex-start;font-size:8px;padding:0 5px;line-height:1.5;margin-top:1px;border-radius:8px}
.ag-bloco .ag-tag{font-size:8.5px;padding:0 5px;margin-top:1px}

/* ===== Fix alinhamento da grade: remove a margem herdada das marcas de hora do gutter ===== */
.ag-hcol .ag-hora{margin:0 !important;max-width:none !important;box-sizing:border-box;padding:2px 6px}

/* ===== Painel de Configurações da agenda (engrenagem) ===== */
.ag-tb-config{border-radius:999px !important}
.ag-cfg-ov{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .2s;z-index:1200}
.ag-cfg-ov.on{opacity:1;visibility:visible}
.ag-cfg-drawer{position:fixed;top:0;right:0;height:100dvh;width:min(420px,92vw);z-index:1201;
  background:linear-gradient(180deg,#42442f,#3a3c2c);border-left:1px solid var(--borda);
  box-shadow:-14px 0 40px rgba(0,0,0,.45);transform:translateX(100%);transition:transform .26s ease;
  display:flex;flex-direction:column;overflow:hidden}
.ag-cfg-drawer.aberto{transform:translateX(0)}
.ag-cfg-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px;border-bottom:1px solid var(--borda)}
.ag-cfg-topo strong{font-size:16px;color:var(--creme);display:flex;align-items:center;gap:8px}
.ag-cfg-x{background:rgba(255,255,255,.06);border:1px solid var(--borda);color:var(--creme);width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:15px}
.ag-cfg-corpo{padding:14px 16px 40px;overflow:auto;flex:1}
.ag-cfg-acoes{margin-bottom:12px}
.ag-cfg-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ag-cfg-quick button,.ag-cfg-quick a{display:inline-flex;align-items:center;gap:7px;justify-content:flex-start;
  background:rgba(255,255,255,.05);border:1px solid var(--borda);color:var(--creme);border-radius:10px;padding:10px 12px;
  font-size:13px;font-family:inherit;cursor:pointer;text-decoration:none;min-height:42px}
.ag-cfg-quick button:hover,.ag-cfg-quick a:hover{border-color:rgba(236,231,206,.3)}
.ag-cfg-drawer .dobra{margin-bottom:10px}
@media(max-width:600px){ .ag-cfg-quick{grid-template-columns:1fr} }

/* ===== Painel de Configurações — refinamento premium ===== */
.ag-cfg-drawer{width:min(440px,94vw);background:linear-gradient(180deg,#494b37,#3c3e2d)}
.ag-cfg-topo{padding:18px 20px 16px}
.ag-cfg-topo strong{font-family:"Fraunces",Georgia,serif;font-style:normal;font-weight:600;font-size:19px}
.ag-cfg-topo strong .ico-svg{width:20px;height:20px}
.ag-cfg-corpo{padding:16px 18px 48px}
.ag-cfg-sec{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--creme-dim);margin:0 0 10px 2px;opacity:.85}
.ag-cfg-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px}
.ag-cfg-quick button,.ag-cfg-quick a{display:inline-flex;align-items:center;gap:9px;justify-content:flex-start;
  background:rgba(255,255,255,.045);border:1px solid var(--borda);color:var(--creme);border-radius:12px;padding:12px 14px;
  font-size:13.5px;font-family:inherit;cursor:pointer;text-decoration:none;min-height:46px;transition:background .15s,border-color .15s,transform .08s}
.ag-cfg-quick button:hover,.ag-cfg-quick a:hover{background:rgba(255,255,255,.09);border-color:rgba(236,231,206,.32)}
.ag-cfg-quick button:active,.ag-cfg-quick a:active{transform:scale(.98)}
.ag-cfg-quick .cfg-ic{flex:none;color:var(--dourado,#C6A04A)}
/* acordeões dentro do painel viram cartões elegantes */
.ag-cfg-drawer .dobra{margin-bottom:10px;background:rgba(0,0,0,.14);border:1px solid var(--borda);border-radius:14px;overflow:hidden}
.ag-cfg-drawer .dobra>summary{padding:14px 16px;font-size:14px}
.ag-cfg-drawer .dobra .dobra-ic .ico-svg{color:var(--dourado,#C6A04A)}
.ag-cfg-drawer .dobra .dobra-corpo{border-top:1px solid var(--borda)}
.ag-cfg-drawer .dobra-inner{padding:14px 16px}
.ag-cfg-x{border-radius:12px;width:38px;height:38px;font-size:16px;transition:background .15s}
.ag-cfg-x:hover{background:rgba(255,255,255,.12)}

/* ===== Configurações em TELA CHEIA (esconde a agenda de fundo) ===== */
.ag-cfg-ov{display:none !important}
.ag-cfg-drawer{display:none}                 /* sem drawer lateral; só aparece na visão de config */
body.agx-cfgview .ag-topo-pagina:not(.ag-cfg-head),
body.agx-cfgview .ag-lateral,
body.agx-cfgview .ag-principal,
body.agx-cfgview .ag-fab,
body.agx-cfgview .ag-datastrip{display:none !important}
body.agx-cfgview .ag-layout{display:block !important;grid-template-columns:none !important}
body.agx-cfgview .ag-cfg-drawer{display:block;position:static;transform:none;inset:auto;height:auto;
  width:100%;max-width:880px;margin:4px auto 0;border:1px solid var(--borda);border-radius:16px;
  box-shadow:none;background:rgba(0,0,0,.10)}
body.agx-cfgview .ag-cfg-topo{position:sticky;top:0;z-index:2;justify-content:flex-start;gap:14px;
  background:linear-gradient(180deg,#494b37,#43452f);border-top-left-radius:16px;border-top-right-radius:16px}
.ag-cfg-voltar{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);
  border:1px solid var(--borda);color:var(--creme);border-radius:999px;padding:8px 14px;font-size:13px;
  text-decoration:none;cursor:pointer;white-space:nowrap}
.ag-cfg-voltar:hover{border-color:rgba(236,231,206,.32);background:rgba(255,255,255,.1)}
body.agx-cfgview .ag-cfg-corpo{max-height:none}

/* ===== Config em página (mesmo estilo da Lista de agendamentos) ===== */
body.agx-cfgview .ag-cfg-drawer{max-width:none !important;margin:0 !important;background:transparent !important;
  border:none !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important}
.ag-cfg-head{margin-bottom:14px}
.ag-cfg-card{padding:6px 4px}
/* seção única: sem chrome de acordeão, vira conteúdo direto do cartão */
.ag-cfg-drawer .dobra.cfg-solo{background:transparent !important;border:none !important;margin:0 !important;border-radius:0 !important}
.ag-cfg-drawer .dobra.cfg-solo>summary{display:none !important}
.ag-cfg-drawer .dobra.cfg-solo .dobra-corpo{border-top:none !important}
.ag-cfg-drawer .dobra.cfg-solo .dobra-inner{padding:10px 14px}

/* ===== Toolbar da agenda: não escurecer os botões ao clicar/focar ===== */
.ag-tb-novo:active, .ag-tb-novo:focus-visible,
.ag-tbC .peq:active, .ag-tbC .peq:focus-visible,
.ag-tb-comandas:active, .ag-tb-comandas:focus-visible,
.ag-colsel button:active, .ag-colsel button:focus-visible{
  box-shadow:none !important;
}
.ag-tb-novo:active,.ag-tbC .peq:active,.ag-tb-comandas:active{ transform:scale(.98); }
.ag-tb-novo:focus-visible{ box-shadow:0 0 0 3px rgba(111,167,116,.45) !important; }
.ag-tbC #btn-hoje:focus-visible,.ag-tb-comandas:focus-visible{ box-shadow:0 0 0 3px rgba(236,231,206,.4) !important; }
/* garante o verde do "Novo agendamento" mesmo em foco/hover */
.ag-tb-novo{background:#6FA774 !important;color:#12210f !important}
.ag-tb-novo:hover{background:#7cc082 !important}

/* ===== Grade: cabeçalho e corpo com a MESMA largura (definida via JS) ===== */
.ag-grade{background-repeat:repeat;background-clip:border-box}

/* ===== Fix: Comandas abertas não escurece no hover/active (regra global button:hover) ===== */
.ag-tb-comandas, .ag-tb-comandas:hover, .ag-tb-comandas:active, .ag-tb-comandas:focus, .ag-tb-comandas:focus-visible{
  background:#C6A04A !important; color:#20221a !important; transform:none;
}
.ag-tb-comandas:hover{ filter:brightness(1.06); }
.ag-tb-comandas:active{ transform:scale(.98) !important; }

/* ==== Agenda: coluna de horas fixa ao rolar ==== */
.ag-grade .ag-hcol{position:sticky;left:0;z-index:8;background:#33352a}
.ag-cab .ag-hcol,.ag-grade-cab .ag-hcol,#grade-cab .ag-hcol{position:sticky;left:0;z-index:13;background:#3a3c2c}

/* ==== Agenda: resumo do dia ==== */
.ag-resumo-dia{display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  margin:6px 0 10px;padding:9px 14px;border-radius:12px;
  background:#2f3125;border:1px solid rgba(255,255,255,.06);color:#e9e6d8;font-size:13px}
.ag-resumo-dia:empty{display:none}
.ag-resumo-dia .rd-i b{color:#cfe3c4;font-size:15px;margin-right:3px}
.ag-resumo-dia .rd-oc{display:flex;align-items:center;gap:8px;margin-left:auto}
.ag-resumo-dia .rd-oc b{color:#e7d9a8}
.ag-resumo-dia .rd-bar{display:inline-block;width:120px;height:7px;border-radius:5px;
  background:rgba(255,255,255,.12);overflow:hidden;vertical-align:middle}
.ag-resumo-dia .rd-bar em{display:block;height:100%;border-radius:5px;
  background:linear-gradient(90deg,#7fae74,#b9cf7a)}

/* ==== Agenda: ações rápidas no card (hover) ==== */
.ag-bloco-acoes{position:absolute;top:3px;right:3px;display:none;gap:3px;z-index:6}
.ag-bloco:hover .ag-bloco-acoes{display:flex}
.ag-bloco-acoes button{width:22px;height:22px;padding:0;border:none;border-radius:6px;
  display:flex;align-items:center;justify-content:center;cursor:pointer;
  background:rgba(20,22,14,.55) !important;color:#fff;box-shadow:none !important;transition:background .12s}
.ag-bloco-acoes button:hover{background:rgba(20,22,14,.9) !important}
.ag-bloco-acoes button svg{width:14px;height:14px}
.ag-bloco-acoes button:active{box-shadow:none !important;transform:none}

/* ==== Preços de Serviços: reorganização do Cálculo do preço ==== */
.ps-sub{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--creme-dim);margin:22px 0 8px}
.ps-hint{margin:10px 0 0;font-size:13px;color:var(--creme-dim)}
.ps-hint strong{color:var(--creme)}
.ps-definir{gap:0 20px;align-items:stretch}
.ps-final .kpi.destaque .valor{font-size:30px}
.ps-final .kpi .ps-pct{display:inline-block;margin-left:6px;font-size:14px;color:var(--creme-dim)}
@media (max-width:760px){ .ps-definir{grid-template-columns:1fr} }

/* ==== Preços de Serviços — layout B (2 colunas + resumo ao vivo) ==== */
.ps-b{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(268px,1fr);gap:22px;align-items:start}
.ps-b-main{min-width:0}
.ps-b-side{position:sticky;top:16px}
.ps-resumo{background:var(--oliva-profundo,#2e3024);border:1px solid var(--borda);border-radius:18px;padding:18px 20px;
  box-shadow:0 14px 40px rgba(0,0,0,.28)}
.ps-resumo h3{margin:0 0 12px;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;color:var(--creme-dim)}
.ps-linha{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:13px}
.ps-linha .k{color:var(--creme-dim)}
.ps-linha .v{color:var(--creme);font-variant-numeric:tabular-nums;white-space:nowrap}
.ps-linha-forte{border-bottom:none}
.ps-linha-forte .k,.ps-linha-forte .v{font-weight:500;color:var(--creme)}
.ps-sugerido{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:12px 0;padding:10px 12px;
  background:rgba(255,255,255,.05);border-radius:12px;font-size:12.5px;color:var(--creme-dim)}
.ps-sugerido strong{color:var(--creme);font-size:15px;font-variant-numeric:tabular-nums}
.ps-adotado{background:var(--oliva,#3d3f2d);border:2px solid var(--creme);border-radius:14px;padding:12px 14px;margin:12px 0;
  box-shadow:0 0 0 4px rgba(239,230,200,.12)}
.ps-adotado .rot{display:block;font-size:10.5px;letter-spacing:1.4px;text-transform:uppercase;color:var(--creme-dim)}
.ps-adotado .val{display:block;margin-top:4px;font-size:30px;font-weight:600;color:var(--creme);font-variant-numeric:tabular-nums}
.ps-resumo .ps-pct{color:var(--creme-dim);font-size:12px;margin-left:4px}
@media (max-width:820px){
  .ps-b{grid-template-columns:1fr}
  .ps-b-side{position:static}
}

/* ==== Preços de Serviços — layout A (seções em largura total) ==== */
.ps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2px 20px}
.ps-grid > div{min-width:0}

/* ==== Estações: menu de adicionar (lista com scroll) ==== */
.est-add-wrap{max-width:100%}
.est-menu{position:static;margin-top:8px;width:360px;max-width:100%;
  background:var(--oliva-profundo,#2e3024);border:1px solid var(--borda);border-radius:14px;
  box-shadow:0 18px 44px rgba(0,0,0,.4);padding:6px;overflow:hidden}
.est-menu-tit{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--creme-dim);padding:8px 10px 6px}
.est-menu-lista{max-height:264px;overflow-y:auto;overscroll-behavior:contain}
.est-menu-lista::-webkit-scrollbar{width:8px}
.est-menu-lista::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:8px}
.est-menu-lista::-webkit-scrollbar-track{background:transparent}
.est-op{display:block;width:100%;text-align:left;background:transparent;border:none;
  border-bottom:1px solid rgba(255,255,255,.06);border-radius:0;
  padding:12px 10px;color:var(--creme);font:inherit;font-weight:300;cursor:pointer;transition:background .12s;line-height:1.35}
.est-menu-lista .est-op:last-child{border-bottom:none}
.est-op:hover{background:rgba(255,255,255,.08)}
.est-op-outros{margin-top:4px;border-top:1px solid var(--borda);color:var(--creme);font-weight:500}
.est-op-outros:hover{background:rgba(255,255,255,.08)}

/* Estoque simplificado do locatário */
.est-alerta{align-self:center;background:rgba(214,140,60,.16);border:1px solid rgba(214,140,60,.5);color:#e6a866;
  padding:8px 14px;border-radius:999px;font-size:13px;font-weight:600;white-space:nowrap}
.est-add-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.est-add-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--creme-dim);flex:1 1 150px}
.est-add-grid label:first-child{flex:2 1 220px}
.est-add-grid input{margin:0}
.est-add-grid .botao{flex:0 0 auto}
.est-tabela td{vertical-align:middle}
.est-mov{display:flex;gap:6px;align-items:center;margin:0}
.est-qtde{width:80px;margin:0}
.est-tag{display:inline-block;margin-left:8px;background:rgba(214,140,60,.16);border:1px solid rgba(214,140,60,.5);
  color:#e6a866;font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px;vertical-align:middle}
.est-low td{background:rgba(214,140,60,.06)}
@media(max-width:760px){
  .est-add-grid label,.est-add-grid label:first-child{flex:1 1 100%}
  .est-mov{flex-wrap:wrap}
}

/* Painel do locatário — atalhos */
.pl-atalhos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pl-atalho{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;text-decoration:none;color:var(--creme);
  background:var(--vidro-forte);border:1px solid var(--borda);border-radius:16px;padding:18px 14px;font-size:13.5px;
  transition:transform .2s, border-color .2s, box-shadow .2s}
.pl-atalho:hover{transform:translateY(-3px);border-color:var(--creme);box-shadow:0 12px 30px rgba(0,0,0,.28)}
.pl-atalho .ico{width:26px;height:26px}
.pl-atalho .ico svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.7}
@media(max-width:760px){.pl-atalhos{grid-template-columns:repeat(2,1fr)}}

/* Painel do locatário — meta, clientes, sparkline */
.pl-cab{margin-bottom:6px}
.pl-meta{display:flex;align-items:center;gap:24px;margin-top:14px}
.pl-meta.batida{border-color:var(--ok);box-shadow:0 0 40px rgba(120,180,120,.18)}
.pl-ring{position:relative;width:120px;height:120px;flex:none}
.pl-ring svg{width:120px;height:120px;transform:rotate(-90deg)}
.pl-ring .ring-bg{fill:none;stroke:rgba(239,230,200,.14);stroke-width:10}
.pl-ring .ring-fg{fill:none;stroke:var(--creme);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1s ease}
.pl-meta.batida .ring-fg{stroke:var(--ok)}
.pl-ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.pl-ring-txt strong{font-family:'Fraunces',Georgia,serif;font-size:30px;line-height:1;font-style:normal}
.pl-ring-txt span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--creme-dim)}
.pl-meta-info{flex:1;min-width:0}
.pl-meta-val{font-size:20px;margin:4px 0 6px}
.pl-meta-msg{margin:4px 0 8px;font-size:13.5px;color:var(--creme-dim)}
.pl-meta-msg.ok{color:var(--ok)}
.pl-meta-edit summary{cursor:pointer;font-size:12.5px;color:var(--creme-dim);width:max-content}
.pl-meta-form{display:flex;align-items:center;gap:8px;margin-top:10px}
.pl-meta-form .cifra{color:var(--creme-dim)}
.pl-meta-form input{max-width:160px;margin:0}
.kpi-sub{font-size:12px;margin-top:4px;color:var(--creme-dim)}
.kpi-trend{font-size:12px;margin-top:4px;font-weight:600}
.kpi-trend.up{color:var(--ok)}
.kpi-trend.down{color:var(--erro)}
.pl-spark{display:flex;align-items:flex-end;gap:4px;height:110px}
.pl-spark-col{flex:1;text-align:center;min-width:0}
.pl-spark-bar{background:linear-gradient(180deg,var(--creme),#b9b192);border-radius:4px 4px 0 0;min-height:4px}
.pl-spark-col small{font-size:9px;color:var(--creme-dim)}
.pl-cli{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pl-lista{list-style:none;margin:8px 0 0;padding:0}
.pl-lista li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px dashed rgba(239,230,200,.14);font-size:13.5px}
.pl-lista li:last-child{border-bottom:none}
.pl-wa{background:rgba(80,160,90,.16);border:1px solid rgba(80,160,90,.5);color:#9bd0a0;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;text-decoration:none;white-space:nowrap}
.pl-wa:hover{background:rgba(80,160,90,.28)}
@media(max-width:900px){.pl-cli{grid-template-columns:1fr}.pl-meta{flex-direction:column;text-align:center}}

/* Estoque auditável (Fase 1 antifraude) */
.est-mov2{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0}
.est-mov2 .est-tipo{max-width:150px;margin:0}
.est-mov2 .est-qtde{width:74px;margin:0}
.est-mov2 .est-motivo{flex:1;min-width:120px;margin:0}
.est-filtros{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.chip{display:inline-block;padding:4px 12px;border-radius:999px;border:1px solid var(--borda);color:var(--creme-dim);text-decoration:none;font-size:12.5px}
.chip.on{background:var(--creme);color:#2a2c22;border-color:var(--creme);font-weight:600}
.mov-badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;border:1px solid var(--borda);color:var(--creme-dim)}
.mov-entrada{background:rgba(80,160,90,.16);border-color:rgba(80,160,90,.5);color:#9bd0a0}
.mov-venda,.mov-uso_comanda{background:rgba(120,150,210,.14);border-color:rgba(120,150,210,.45);color:#a9bde8}
.mov-perda,.mov-vencido,.mov-danificado{background:rgba(214,140,60,.16);border-color:rgba(214,140,60,.5);color:#e6a866}
.mov-estorno{background:rgba(200,90,90,.14);border-color:rgba(200,90,90,.45);color:#e0a0a0}
.mov-cancel td{opacity:.5;text-decoration:line-through}
.mov-cancel td .mov-badge{text-decoration:none}
details.mov-estorno{border:none;background:none;padding:0}
details.mov-estorno>summary{cursor:pointer;font-size:12px;color:var(--creme-dim)}
.mov-est-form{display:flex;gap:6px;align-items:center;margin-top:8px}
.mov-est-form input{margin:0;min-width:120px}

/* ===== Painel do dono — centro de comando (v2) ===== */
.dash-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:16px}
.dash-hero-fat{display:flex;flex-direction:column;align-items:flex-end;text-align:right;text-decoration:none;color:inherit;padding:10px 16px;border-radius:16px;transition:background .2s}
.dash-hero-fat:hover{background:var(--vidro)}
.dash-hero-fat .rotulo{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--creme-dim)}
.dash-big{font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:600;font-size:38px;line-height:1;color:var(--creme);margin:2px 0}
.dash-hero-sub{font-size:12px;color:var(--creme-dim)}

.dash-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.dash-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:2px;min-height:132px;padding:16px 18px;border-radius:18px;text-decoration:none;
  background:var(--vidro-forte);border:1px solid var(--borda);box-shadow:0 10px 28px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.06);transition:transform .2s, box-shadow .2s, border-color .2s}
.dash-card:hover{transform:translateY(-3px);border-color:rgba(239,230,200,.4);box-shadow:0 16px 40px rgba(0,0,0,.32)}
.dash-card .rotulo{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--creme-dim)}
.dash-card .valor{font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:600;font-size:30px;line-height:1.06;color:var(--creme);margin-top:6px}
.dash-card .dash-sub{font-size:11.5px;color:var(--creme-dim);margin-top:auto;padding-top:8px}
.dash-ic{position:absolute;top:15px;right:15px;width:22px;height:22px;opacity:.45}
.dash-ic svg{width:22px;height:22px;fill:none;stroke:var(--creme);stroke-width:1.6}
.dash-card.grad-a{background:linear-gradient(150deg,rgba(120,156,110,.30),var(--vidro-forte) 70%);border-color:rgba(150,180,140,.32)}
.dash-card.grad-b{background:linear-gradient(150deg,rgba(176,141,62,.28),var(--vidro-forte) 70%);border-color:rgba(176,141,62,.38)}
.dash-card-ring{align-items:center;justify-content:center;text-align:center}
.dash-ring{position:relative;width:104px;height:104px}
.dash-ring svg{width:104px;height:104px;transform:rotate(-90deg)}
.dash-ring .ring-bg{fill:none;stroke:rgba(239,230,200,.13);stroke-width:9}
.dash-ring .ring-fg{fill:none;stroke:var(--creme);stroke-width:9;stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.3,1,.4,1)}
.dash-ring-txt{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.dash-ring-txt strong{font-family:'Fraunces',Georgia,serif;font-style:normal;font-size:25px;line-height:1}
.dash-ring-txt span{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--creme-dim)}
.dash-card-ring .dash-sub{margin-top:8px;padding-top:0}

/* painéis */
.dash-panel{background:var(--vidro-forte);border:1px solid var(--borda);border-radius:18px;padding:18px 20px;margin-bottom:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05)}
.dash-panel-cab{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px}
.dash-panel-cab h2{margin:0;font-size:15px;letter-spacing:.02em}
.dash-panel-cab .dash-sub{font-size:11.5px;color:var(--creme-dim);text-transform:none;letter-spacing:0}
.dash-link{font-size:12px;color:var(--creme-dim);text-decoration:none;white-space:nowrap;transition:color .2s}
.dash-link:hover{color:var(--creme)}
.dash-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dash-2col.dash-eq>*{margin-bottom:0}
.dash-2col.dash-eq{margin-bottom:14px;align-items:stretch}
.dash-2col.dash-eq .dash-panel{display:flex;flex-direction:column;height:100%}

/* stats inline */
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.stat-row-4{grid-template-columns:repeat(4,1fr)}
.stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:rgba(239,230,200,.045);border:1px solid var(--borda);border-radius:12px}
.stat-val{font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:600;font-size:23px;line-height:1;color:var(--creme)}
.stat-lab{font-size:11px;color:var(--creme-dim)}

.dash-divider{height:1px;background:rgba(239,230,200,.12);margin:16px 0 12px}
.dash-prox{margin-top:14px;flex:1}
.dash-prox .rotulo{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--creme-dim)}
.dash-prox-item{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px dashed rgba(239,230,200,.1);font-size:13.5px}
.dash-prox-item:last-child{border-bottom:none}
.dash-prox-item b{color:var(--creme);min-width:44px}
.dash-prox-item .sub{margin-left:auto}

.dash-spark{display:flex;align-items:flex-end;gap:5px;height:130px;margin-top:4px}
.dash-spark-col{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.dash-spark-bar{background:linear-gradient(180deg,var(--creme),#9a916f);border-radius:4px 4px 0 0;height:4px;transition:height .9s cubic-bezier(.3,1,.4,1)}
.dash-spark-bar.on{height:max(4px, calc(var(--h) - 16px))}
.dash-spark-col small{font-size:9px;color:var(--creme-dim);margin-top:4px;text-align:center}

.dash-bars{margin-top:8px}
.dash-bar-row{display:flex;align-items:center;gap:12px;padding:7px 0}
.dash-bar-pos{width:20px;height:20px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(239,230,200,.1);font-size:11px;color:var(--creme-dim)}
.dash-bar-nome{width:140px;flex:none;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-bar-track{flex:1;height:9px;background:rgba(239,230,200,.09);border-radius:6px;overflow:hidden}
.dash-bar-fill{height:100%;width:0;background:linear-gradient(90deg,#b08d3e,var(--creme));border-radius:6px;transition:width 1s cubic-bezier(.3,1,.4,1)}
.dash-bar-fill.on{width:var(--w)}
.dash-bar-val{font-size:12.5px;white-space:nowrap;min-width:120px;text-align:right}

.dash-formas-bar{display:flex;height:18px;border-radius:9px;overflow:hidden;background:rgba(239,230,200,.07)}
.dash-forma-seg{height:100%;width:0;transition:width .9s cubic-bezier(.3,1,.4,1)}
.dash-forma-seg.on{width:var(--w)}
.dash-formas-leg{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:12.5px;color:var(--creme-dim)}
.dash-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}
.seg-0,.dash-dot.seg-0{background:#7e9c6e}.seg-1,.dash-dot.seg-1{background:#b08d3e}.seg-2,.dash-dot.seg-2{background:#3e6a8a}.seg-3,.dash-dot.seg-3{background:#c06b36}.seg-4,.dash-dot.seg-4{background:#8f6fb0}

.dash-rank{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed rgba(239,230,200,.1);font-size:13.5px}
.dash-rank:last-child{border-bottom:none}

.dash-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;color:var(--creme-dim);padding:14px 0}
.dash-empty-mini{padding:18px 0}
.dash-empty span{display:inline-flex;opacity:.4}
.dash-empty span svg{width:30px;height:30px}
.dash-empty p{margin:0;font-size:13px}

@media(max-width:1024px){.dash-kpis{grid-template-columns:repeat(2,1fr)}.dash-2col{grid-template-columns:1fr}}
@media(max-width:600px){.stat-row,.stat-row-4{grid-template-columns:repeat(2,1fr)}.dash-hero{align-items:flex-start}.dash-hero-fat{align-items:flex-start;text-align:left;padding-left:0}.dash-bar-nome{width:96px}.dash-bar-val{min-width:0}}

/* ===== Gestão Pessoal ===== */
.gp-mes{background:var(--vidro);border:1px solid var(--borda);border-radius:12px;color:var(--creme);padding:9px 12px}
.gp-form .gp-tipo{display:flex;gap:8px;margin-bottom:14px}
.gp-radio{flex:1;position:relative;cursor:pointer}
.gp-radio input{position:absolute;opacity:0}
.gp-radio span{display:block;text-align:center;padding:10px;border:1px solid var(--borda);border-radius:12px;font-size:13.5px;color:var(--creme-dim);transition:all .18s}
.gp-radio input:checked+span{background:var(--creme);color:#2a2c22;border-color:var(--creme);font-weight:600}
.gp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gp-grid label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--creme-dim)}
.gp-grid .gp-full{grid-column:1 / -1}
.gp-grid input,.gp-grid select{margin:0}
.gp-donut-wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.gp-donut{width:150px;height:150px;border-radius:50%;flex:none;position:relative;display:flex;align-items:center;justify-content:center}
.gp-donut-hole{width:96px;height:96px;border-radius:50%;background:var(--vidro-forte);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.gp-donut-hole strong{font-family:'Fraunces',Georgia,serif;font-style:normal;font-size:17px;line-height:1.1}
.gp-donut-hole span{font-size:10px;color:var(--creme-dim)}
.gp-leg{flex:1;min-width:180px;display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--creme-dim)}
.gp-lista{display:flex;flex-direction:column}
.gp-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px dashed rgba(239,230,200,.1)}
.gp-item:last-child{border-bottom:none}
.gp-item-data{width:44px;flex:none;font-size:12px;color:var(--creme-dim)}
.gp-item-desc{flex:1;display:flex;flex-direction:column;line-height:1.25;min-width:0}
.gp-item-desc .sub{font-size:11.5px}
.gp-item-val{font-family:'Fraunces',Georgia,serif;font-style:normal;font-weight:600;font-size:17px;white-space:nowrap}
.gp-item-val.rec{color:var(--ok)}
.gp-item-val.desp{color:var(--laranja)}
@media(max-width:600px){.gp-grid{grid-template-columns:1fr}}

/* ===== Gestão Pessoal Fase 2 ===== */
.gp-alertas{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.gp-alerta{display:flex;gap:10px;align-items:flex-start;background:rgba(214,140,60,.1);border:1px solid rgba(214,140,60,.3);border-radius:12px;padding:10px 14px;font-size:13px;color:var(--creme)}
.gp-alerta span{flex:none}
.gp-voz-status{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:var(--vidro);border:1px solid var(--borda);font-size:13px;color:var(--creme-dim)}
.gp-voz-status.ok{background:rgba(80,160,90,.14);border-color:rgba(80,160,90,.4);color:#c7e2c9}
.gp-voz-status.erro{background:rgba(200,90,90,.12);border-color:rgba(200,90,90,.4);color:#e0a0a0}
#gp-voz-btn.gravando{background:var(--erro);color:#fff;border-color:var(--erro);animation:gp-pulse 1.1s infinite}
@keyframes gp-pulse{0%,100%{opacity:1}50%{opacity:.55}}
.gp-onb{max-width:640px;margin:0 auto}
.gp-sug{display:flex;flex-wrap:wrap;gap:8px}
.gp-chip-add{cursor:pointer;background:var(--vidro);border:1px dashed var(--borda);color:var(--creme-dim)}
.gp-chip-add:hover{border-color:var(--creme);color:var(--creme)}
.gp-item-data.venc{color:var(--erro)}

/* QA: KPIs da Gestão Pessoal responsivos (evita valores espremidos no celular) */
.gp-kpis3{grid-template-columns:repeat(3,1fr)}
@media(max-width:680px){.gp-kpis3{grid-template-columns:1fr}}

/* UX tipografia: números sempre em Inter tabular, legíveis (não em serifa) */
.valor, .kpi .valor, .dash-big, .dash-card .valor, .dash-ring-txt strong, .dash-mini .valor,
.stat-val, .gp-item-val, .gp-donut-hole strong, .pl-ring-txt strong, .pl-meta-val,
.est-val, .est-al .n, .pdv-tot .v, .grupo-total{
  font-family:'Inter','Segoe UI',system-ui,sans-serif !important;
  font-style:normal !important;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.2px;
}
.valor,.kpi .valor,.dash-big,.dash-card .valor,.dash-ring-txt strong,.stat-val,.gp-item-val,.gp-donut-hole strong,.pl-ring-txt strong{font-weight:600}
/* corpo um tico maior p/ leitura */
.sub,.kpi-sub,.dash-sub{font-weight:400}

/* Markdown no chat da IA */
.ia-bolha .ia-li{display:block;margin:2px 0}
.ia-bolha code{background:rgba(0,0,0,.25);padding:1px 5px;border-radius:5px;font-size:.92em}
.ia-bolha strong{font-weight:600}

/* ===== Cursos: uploader de vídeo (admin) ===== */
.cv-seg{display:inline-flex;gap:4px;background:rgba(255,255,255,.05);border:1px solid var(--borda);border-radius:12px;padding:4px;margin:2px 0 8px}
.cv-seg-b{border:0;background:transparent;color:var(--creme-dim);font:inherit;font-size:13px;padding:7px 14px;border-radius:9px;cursor:pointer}
.cv-seg-b.on{background:var(--creme);color:#2b2d22;font-weight:600}
.cv-up{margin-top:10px;background:rgba(255,255,255,.05);border:1px solid var(--borda);border-radius:14px;padding:12px 14px}
.cv-up-nome{font-size:13px;font-weight:600;margin-bottom:8px;word-break:break-all}
.cv-bar{height:10px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}
.cv-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--verde),#5db85d);transition:width .25s ease}
.cv-up-est{font-size:12.5px;color:var(--creme-dim);margin-top:7px}
.cv-up-acoes{display:flex;gap:14px;margin-top:8px}
.cv-up-acoes .lnk-acao{font-size:12.5px}

/* ===== Cursos: passos ao lado do vídeo (aluno) ===== */
.ht-passos{margin-top:18px;background:var(--vidro-forte);border:1px solid var(--borda);border-radius:16px;padding:16px 18px}
.ht-passos h3{margin:0 0 10px;font-size:15px}
.ht-passos ol{margin:0;padding:0;list-style:none;counter-reset:passo}
.ht-passos li{counter-increment:passo;position:relative;padding:9px 0 9px 40px;border-top:1px solid var(--borda);font-size:14px;line-height:1.45}
.ht-passos li:first-child{border-top:0}
.ht-passos li::before{content:counter(passo);position:absolute;left:0;top:8px;width:26px;height:26px;border-radius:50%;
  background:var(--creme);color:#2b2d22;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}

/* Importação de NF de compra (XML) */
.nfimp{border:1px dashed var(--linha,#d9d2c7);border-radius:12px;padding:12px 14px;margin:10px 0 16px;background:var(--fundo-suave,#faf7f2)}
.nfimp-cab{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.nfimp-cab .sub{font-size:12px}
.nfimp-btn{display:inline-flex;align-items:center;cursor:pointer}
.nfimp-status{display:inline-block;margin-left:10px;font-size:13px;vertical-align:middle}
.nfimp-status.carregando{color:var(--muted,#8a8172)}
.nfimp-status.ok{color:#12805c;font-weight:600}
.nfimp-status.erro{color:#c0392b;font-weight:600}
.ek-compra-dir{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.ek-nf-link{font-size:12px;color:var(--primaria,#7a5cff);text-decoration:none;font-weight:600}

/* Painel do estoque — KPIs coloridos */
.est-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:6px 0 16px}
.est-kpi{border-radius:16px;padding:16px 16px 14px;color:#fff;position:relative;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.est-kpi-ic{width:34px;height:34px;opacity:.9;margin-bottom:8px}
.est-kpi-ic svg{width:100%;height:100%}
.est-kpi-v{font-size:23px;font-weight:800;line-height:1.05;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em}
.est-kpi-l{font-size:12.5px;opacity:.92;margin-top:2px;font-weight:600}
.est-kpi.k-roxo{background:linear-gradient(135deg,#7b61c9,#5f45a8)}
.est-kpi.k-verde{background:linear-gradient(135deg,#17a673,#0f8a5f)}
.est-kpi.k-azul{background:linear-gradient(135deg,#2aa9c9,#1f8fb0)}
.est-kpi.k-laranja{background:linear-gradient(135deg,#e8743b,#d85b28)}
@media(max-width:820px){.est-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.est-kpi-v{font-size:20px}}
@media(max-width:400px){.est-kpi-v{font-size:18px}}

/* Modalidade do aluguel — segmentado de 2 botões (Fixo / Por hora), sem scroll de select */
.mod-toggle{display:inline-flex;background:rgba(0,0,0,.16);border:1px solid var(--borda);border-radius:14px;padding:3px;gap:3px;max-width:360px}
.mod-toggle .mod-btn{flex:1;background:transparent;border:none;color:var(--creme);padding:11px 16px;border-radius:11px;font-size:14px;min-height:44px;font-family:inherit;cursor:pointer;white-space:nowrap}
.mod-toggle .mod-btn.on{background:var(--creme);color:#3a3c2c;font-weight:600}

/* ===== Preços de Aluguéis — tabela compacta, campos alinhados (fix layout) ===== */
.prec-tab th, .prec-tab td{padding:12px 14px;vertical-align:middle}
.prec-tab td.num{white-space:nowrap}
.prec-tab .prec-cel{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.prec-tab .campo-definido{max-width:132px;padding:9px 12px;text-align:right}
.prec-tab .vh-inp{max-width:118px;padding:9px 12px;text-align:right}
.prec-tab .vh-linha{gap:8px;flex-wrap:nowrap}
.prec-tab .prf-acoes{margin-top:0;gap:14px;justify-content:flex-end}
.prec-tab .prf-meta{margin-top:0;text-align:right;max-width:180px}
.prec-tab .selo.enviado{margin:0}
@media(max-width:760px){
  .prec-tab .campo-definido,.prec-tab .vh-inp{max-width:110px}
  .prec-tab th,.prec-tab td{padding:9px 8px}
}

/* ===================== ONDA 1 — LEGIBILIDADE, CONTRASTE E SOBREPOSIÇÕES ===================== */
/* 1.1 Piso de legibilidade: rótulos e cabeçalhos de tabela não descem de 12px */
th,.vd-tab th,.kpi .rotulo,.est-rot,.ct-lista .ct-rot,.ek-lista-cab,.ek-conf-cab,.selo,.lg-rodape span,.assin-meta,.hub-botao small{font-size:12px}
.entrada-sub{color:var(--creme-dim);font-size:12px}
/* 1.1 Texto branco só sobre cores que passam no contraste AA (verde/vermelho/roxo escurecidos) */
.kpi.kverde{background:linear-gradient(135deg,#2E7D32,#1B5E20)}
.kpi.kvermelho{background:linear-gradient(135deg,#C62828,#B71C1C)}
.kpi.kroxo{background:linear-gradient(135deg,#7B1FA2,#6A1B9A)}
.grupo-cab.verde{background:linear-gradient(100deg,#2E7D32,#1B5E20)}
.grupo-cab.vermelho{background:linear-gradient(100deg,#C62828,#B71C1C)}
.grupo-cab.roxo{background:linear-gradient(100deg,#7B1FA2,#6A1B9A)}
.kpi.kverde .rotulo,.kpi.kazul .rotulo,.kpi.kvermelho .rotulo,.kpi.kroxo .rotulo{color:rgba(255,255,255,.92)}

/* 1.2 Balão da assistente: não tapar o conteúdo. Espaço reservado no fim da página + legenda some após alguns segundos */
main.conteudo,.conteudo{padding-bottom:96px}
#ia-fab-wrap{transition:opacity .25s}
#ia-fab-wrap.recolhido #ia-fab{width:46px;height:46px;border-width:1.5px}
#ia-fab-wrap.recolhido .ia-fab-legenda{display:none}
@media(max-width:760px){
  .conteudo{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
  #ia-fab-wrap{right:12px}
}

/* 1.3 Aviso Autentis: dentro do #av-wrap não pode ter transform (era o que jogava o balão pra esquerda e colapsava a largura) */
#av-wrap{width:min(94vw,520px)!important;align-items:stretch!important}
#av-wrap .av-pop,#av-wrap .av-pop.show{transform:none;width:100%;max-width:none;box-sizing:border-box}
#av-wrap .av-pop .av-msg{white-space:normal;word-break:normal;overflow-wrap:anywhere}
@media(max-width:760px){
  #av-wrap{bottom:calc(76px + env(safe-area-inset-bottom))!important;width:calc(100vw - 20px)!important;max-width:none!important}
  #av-wrap .av-pop{padding:11px 12px;gap:10px}
  #av-wrap .av-pop .av-logo{height:22px;max-width:40px}
  #av-wrap .av-pop .av-msg{font-size:13.5px}
}

/* 1.4 Cabeçalho mobile em UMA linha: idioma e admin vão para o menu do avatar; tabbar reserva espaço */
@media(max-width:760px){
  .topo-linha{flex-wrap:nowrap}
  .topo-linha .sel-idioma,.topo-linha .btn-admin-topo{display:none}
  .marca-nome{font-size:14px;padding-left:10px}
  .mm-extra{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 6px 10px;border-bottom:1px solid rgba(239,230,200,.14);margin-bottom:6px}
  .mm-extra .sel-idioma{display:inline-flex;margin:0}
  .mm-extra .sel-idioma a{font-size:12px}
  .mm-extra .btn-admin-topo{display:inline-flex;font-size:12.5px;padding:5px 11px}
  .mm-extra .btn-admin-topo span{display:inline}
}

/* ===================== ONDA 2 — PREÇOS DE ALUGUÉIS (tela reorganizada) ===================== */
.pr-origem{padding:22px 24px}
.pr-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.pr-titulo .rotulo{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:var(--creme-dim)}
.pr-big{font-family:'Fraunces',Georgia,serif;font-size:38px;line-height:1.1;margin:4px 0 6px;color:var(--creme)}
.pr-sub{font-size:13px;color:var(--creme-dim)}
.pr-sub strong{color:var(--creme);font-weight:500}
.pr-cob{display:flex;flex-direction:column;align-items:flex-end;padding:10px 16px;border-radius:14px;border:1px solid;min-width:150px}
.pr-cob.ok{background:var(--ok-bg);border-color:rgba(165,232,176,.4);color:var(--ok)}
.pr-cob.baixa{background:var(--erro-bg);border-color:rgba(255,199,189,.4);color:var(--erro)}
.pr-cob-n{font-family:'Fraunces',Georgia,serif;font-size:28px;line-height:1}
.pr-cob-t{font-size:12px;opacity:.9;text-align:right}
.pr-barra{display:flex;gap:3px;height:14px;border-radius:7px;overflow:hidden;margin:18px 0 12px}
.pr-seg{display:block;min-width:4px;transition:flex .3s}
.pr-legenda{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px 10px}
.pr-legenda .pr-chip{justify-content:space-between;min-width:0}
.pr-legenda .pr-chip b{margin-left:auto;white-space:nowrap}
@media(max-width:760px){.pr-legenda{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.pr-legenda{grid-template-columns:1fr}}
.pr-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--creme-dim);padding:5px 10px;border:1px solid var(--borda);border-radius:999px;background:rgba(255,255,255,.04)}
.pr-chip i{width:10px;height:10px;border-radius:3px;flex:none}
.pr-chip b{font-weight:500;color:var(--creme)}
.pr-chip small{font-size:11px;opacity:.8}
.pr-ajustes{margin-top:20px;padding-top:18px;border-top:1px solid var(--borda)}
.pr-aj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.pr-aj-grid label{display:grid;grid-template-rows:22px auto 18px;row-gap:6px;align-items:end;min-width:0}
.pr-aj-lb{display:flex;align-items:baseline;gap:8px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--creme-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-aj-lb small{font-size:10.5px;letter-spacing:.02em;text-transform:none;color:var(--creme-dim);opacity:.85;border:1px solid var(--borda);border-radius:6px;padding:1px 6px}
.pr-aj-grid .pr-pct input,.pr-aj-grid .pr-moeda input{height:46px;box-sizing:border-box}
.pr-aj-grid input{width:100%;max-width:none;text-align:right}
.pr-pct{position:relative;display:block}
.pr-pct input{padding-right:30px}
.pr-pct em{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--creme-dim);font-size:13px}
.pr-aj-v{font-size:12.5px;text-transform:none;letter-spacing:0;color:var(--creme);opacity:.85}
.pr-aj-rodape{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px}
.pr-aj-rodape .pf-hint{margin:0;opacity:.75}
.pr-aj-rodape .pf-hint a{color:var(--creme)}
.pr-h2{margin-top:30px}
.pr-h2 small{font-weight:400;font-size:13px;color:var(--creme-dim);margin-left:8px;letter-spacing:0;text-transform:none}
.pr-vazio{text-align:center;padding:34px 20px}
.pr-vazio .sub{margin:6px 0 0}
.pr-card-tab{padding:6px 6px 18px}
.pr-tab{width:100%;border-collapse:separate;border-spacing:0}
.pr-tab th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--creme-dim);padding:14px 14px 10px;border-bottom:1px solid var(--borda);white-space:nowrap}
.pr-tab td{padding:12px 14px;vertical-align:middle;border-bottom:1px solid rgba(239,230,200,.09)}
.pr-tab td.num{white-space:nowrap}
.pr-tab tbody tr:last-child td{border-bottom:0}
.pr-tab tr.pr-grupo td{background:rgba(26,28,20,.55);border-bottom:1px solid var(--borda);border-top:1px solid var(--borda);padding:10px 14px}
.pr-tab tr.pr-grupo:first-child td{border-top:0}
.pr-g-nome{font-weight:600;font-size:13.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--creme);margin-right:14px}
.pr-g-nome em{font-style:normal;font-weight:400;color:var(--creme-dim)}
.pr-g-info{font-size:12.5px;color:var(--creme-dim)}
.pr-g-info strong{color:var(--creme);font-weight:500}
.pr-nome{font-size:14.5px;font-weight:500}
.pr-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}
.pr-tag{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--borda);color:var(--creme-dim)}
.pr-tag.manual{color:#FFC98A;border-color:rgba(255,171,47,.45);background:rgba(255,171,47,.1)}
.pr-tag.hora{color:#FFC98A;border-color:rgba(255,171,47,.45)}
.pr-def{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.pr-inp{display:inline-flex;align-items:center;gap:6px}
.pr-inp span{font-size:12px;color:var(--creme-dim)}
.pr-inp input{max-width:130px;text-align:right;padding:8px 12px}
.pr-acoes{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.pr-acoes .lnk-acao{font-size:12px}
.pr-alerta{font-size:12px;color:#FFC98A}
.pr-tab tfoot th{padding:14px;border-top:2px solid var(--borda);font-size:13.5px;color:var(--creme);text-transform:none;letter-spacing:0}
tr.linha-alterada{background:rgba(255,171,47,.06)}
@media(max-width:760px){
  .pr-origem{padding:18px 16px}
  .pr-big{font-size:32px}
  .pr-cob{align-items:flex-start;min-width:0;width:100%;flex-direction:row;justify-content:space-between;align-items:center}
  .pr-cob-t{text-align:left}
  .pr-aj-grid{grid-template-columns:1fr 1fr}
  .pr-card-tab{padding:0;background:transparent;border:0;box-shadow:none}
  .pr-tab.t-resp tbody tr.pr-grupo{background:rgba(26,28,20,.6);border-color:var(--borda);padding:10px 14px;margin:18px 0 8px}
  .pr-tab.t-resp tbody tr.pr-grupo td{padding:0}
  .pr-g-nome{display:block;margin:0 0 3px}
  .pr-tab.t-resp td[data-rotulo]::before{font-size:11px}
  .pr-def{align-items:stretch}
  .pr-inp input{max-width:none;width:100%}
  .pr-acoes{justify-content:flex-start}
  .pr-tab.t-resp tfoot th{font-size:13px}
}
/* Onda 2 — ajustes desktop: caber no card + ações só no hover */
.pr-card-tab{overflow-x:auto}
.pr-tab th,.pr-tab td{padding:10px 10px}
.pr-tab th:first-child,.pr-tab td:first-child{padding-left:14px}
.pr-tab th:last-child,.pr-tab td:last-child{padding-right:14px}
.pr-inp{width:auto;flex:none}
.pr-inp input{width:118px;min-width:118px;max-width:118px;padding:7px 10px}
@media(max-width:760px){.pr-inp{width:100%}.pr-inp input{width:100%;min-width:0;max-width:none}}
.pr-inp > span:not(.campo-afixo){display:none}
.pr-inp .campo-afixo{display:inline-block;width:auto}
.pr-def{gap:3px}
.pr-nome{font-size:14px}
@media(min-width:761px){
  .pr-acoes{opacity:0;transition:opacity .15s;height:0;overflow:hidden}
  .pr-tab tr:hover .pr-acoes,.pr-acoes:focus-within,.pr-tab tr.linha-horaria .pr-acoes,.pr-tab tr.linha-alterada .pr-acoes{opacity:1;height:auto}
}
/* Onda 2 — mobile: card do profissional em 2 colunas (metade da altura) */
@media(max-width:760px){
  .pr-tab.t-resp tbody tr:not(.pr-grupo){display:grid;grid-template-columns:1fr 1fr;gap:4px 14px;align-items:start}
  .pr-tab.t-resp tbody tr:not(.pr-grupo) td{padding:4px 0}
  .pr-tab.t-resp tbody tr:not(.pr-grupo) td:nth-child(1),.pr-tab.t-resp tbody tr:not(.pr-grupo) td:nth-child(5){grid-column:1 / -1}
  .pr-tab.t-resp tbody tr:not(.pr-grupo) td:nth-child(1){border-bottom:1px solid rgba(239,230,200,.12);padding-bottom:8px;margin-bottom:2px}
  .pr-tab.t-resp tbody tr:not(.pr-grupo) td:nth-child(5){border-top:1px solid rgba(239,230,200,.12);padding-top:10px;margin-top:2px}
  .pr-tab.t-resp tbody tr:not(.pr-grupo) td:nth-child(6){grid-column:1 / -1;display:flex;justify-content:space-between;align-items:baseline}
  .pr-tab.t-resp tbody tr:not(.pr-grupo) td:nth-child(6)::before{margin:0}
  .pr-tab.t-resp tbody tr:not(.pr-grupo) td:nth-child(6) strong{font-size:16px}
}

/* ===================== ONDA 3 — AÇÕES, ESTADOS VAZIOS E DETALHES ===================== */
/* 3.1 Ação principal no cabeçalho; Excluir como link discreto */
.eq-cabecalho .eq-novo{flex:none;white-space:nowrap}
.pf-btn-excluir{background:none;border:0;width:auto;min-height:auto;padding:4px 2px;font-size:12px;color:#e0836e;text-decoration:underline;text-underline-offset:2px;cursor:pointer;opacity:.85}
.pf-btn-excluir:hover{opacity:1;background:none}
.pf-card-acoes{align-items:flex-end}
@media(max-width:760px){
  .eq-cabecalho{align-items:flex-start}
  .eq-cabecalho .eq-novo{width:100%;order:3}
  .pf-btn-excluir{min-height:auto;font-size:13px;padding:6px 2px}
}
/* 3.2 Itens fixos de Despesas parecem texto (não campo) */
input.desc-fixa,input.desc-fixa:focus{background:transparent;border-color:transparent;box-shadow:none;padding-left:0;cursor:default;color:var(--creme);font-weight:500}
/* 3.2 Estado vazio de Preços de Serviços */
.ps-vazio{text-align:center;padding:36px 22px;display:flex;flex-direction:column;align-items:center;gap:8px}
.ps-vazio-ico{width:64px;height:64px;border-radius:50%;background:rgba(239,230,200,.12);display:flex;align-items:center;justify-content:center;margin-bottom:4px}
.ps-vazio-ico svg{width:30px;height:30px}
.ps-vazio strong{font-family:'Fraunces',Georgia,serif;font-size:20px;font-weight:500}
.ps-vazio .sub{max-width:520px;margin:0 0 8px}
/* 3.4 Modal do profissional: ajudas curtas com '?' e rodapé Salvar sempre visível */
.pf-q{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--borda);font-size:10.5px;color:var(--creme-dim);cursor:help;vertical-align:1px;margin-left:2px}
.pf-q:hover{color:var(--creme);border-color:var(--creme)}
.pf-modal .pf-acoes{position:sticky;bottom:0;background:#3d4030;z-index:2;margin-left:-26px;margin-right:-26px;padding-left:26px;padding-right:26px;padding-bottom:14px}
@media(max-width:860px){
  .pf-modal .pf-acoes{margin-left:-18px;margin-right:-18px;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
  .pf-modal .pf-acoes .botao,.pf-modal .pf-acoes button{flex:1;min-width:0}
  .pf-side{padding:12px 14px}
  .pf-foto-box{width:64px;height:64px;border-radius:12px}
  .pf-foto-box span{font-size:20px}
  .pf-foto-txt,.pf-foto-link,.pf-foto-aviso:empty{display:none}
  .pf-cam{width:26px;height:26px;right:-5px;bottom:-5px}
  .pf-side{flex-direction:row;align-items:center;gap:12px;flex-wrap:wrap}
  .pf-tabsv{margin-top:10px;padding-top:0;width:100%;flex:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;overflow:visible;border-top:0}
  .pf-tabbtn{flex-direction:column;gap:3px;padding:8px 2px;font-size:10.5px;white-space:normal;text-align:center;line-height:1.1;border-radius:10px}
  .pf-tabbtn i{width:auto;font-size:16px}
  .pf-side{padding:10px 14px 12px}
}

/* Alinhamento: Preços de Serviços — rótulos com altura fixa e inputs na mesma linha */
.ps-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px;align-items:end}
.ps-grid > div{display:flex;flex-direction:column}
.ps-grid > div > label{display:flex;align-items:flex-end;min-height:2.7em;line-height:1.3;margin-bottom:6px}
.ps-grid input,.ps-grid select{height:46px;box-sizing:border-box}
@media(max-width:1024px){.ps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ps-grid{grid-template-columns:1fr}.ps-grid > div > label{min-height:0}}
/* Confirmação Autentis (substitui o confirm nativo) — garante identidade visual */
.ca-ov{position:fixed;inset:0;z-index:20000;background:rgba(26,28,20,.62);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s}
.ca-ov.show{opacity:1}
.ca-card{width:100%;max-width:440px;background:rgba(61,64,48,.98);border:1px solid var(--borda);border-radius:20px;padding:20px 22px;box-shadow:0 24px 70px rgba(0,0,0,.5);transform:translateY(10px);transition:transform .2s}
.ca-ov.show .ca-card{transform:none}
.ca-cab{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ca-logo{height:24px;width:auto}
.ca-tit{font-family:'Fraunces',Georgia,serif;font-size:17px;font-weight:500;color:var(--creme)}
.ca-msg{margin:0 0 18px;color:var(--creme);line-height:1.5;font-size:14.5px}
.ca-acoes{display:flex;gap:10px;justify-content:flex-end}
@media(max-width:760px){.ca-card{border-radius:16px}.ca-acoes .botao{flex:1;text-align:center}}
/* Relatório mensal: barra de ações alinhada (mês + Ver mês lado a lado) */
.rm-barra{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 16px}
.rm-mes{display:inline-flex;align-items:center;gap:8px;margin:0;margin-left:auto}
.rm-mes input[type=month]{width:auto;max-width:190px;height:44px;box-sizing:border-box;margin:0}
.rm-mes button{margin:0;white-space:nowrap}
@media(max-width:760px){.rm-mes{margin-left:0;width:100%}.rm-mes input[type=month]{flex:1;max-width:none}}
/* Acesso do profissional: módulos em grade + Gestão completa em destaque */
.ac-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 14px}
.ac-grid .lg-lembrar{margin:0}
.ac-gestao{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid rgba(239,230,200,.35);border-radius:10px;background:rgba(239,230,200,.08);margin:0 0 10px}
.ac-gestao input{margin-top:3px}
.ac-gestao span{display:flex;flex-direction:column;gap:2px}
.ac-gestao strong{font-size:14px}
.ac-gestao small{font-size:12px;color:var(--creme-dim);line-height:1.35}
.ac-sep{border-top:1px solid var(--borda);margin:0 0 10px}

/* ===== Contrato: tela reorganizada ===== */
.ct-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.ct-status{align-self:center}
.ct-bloco{padding:20px 22px;margin-bottom:14px}
.ct-bloco-tit{display:flex;align-items:center;gap:8px;font-family:'Fraunces',Georgia,serif;font-size:18px;color:var(--creme)}
.ct-bloco-tit svg{width:18px;height:18px}
.ct-ok{border-left:4px solid var(--ok)}
.ct-cancel{border-left:4px solid var(--erro)}
.ct-link{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch;margin-bottom:14px}
.ct-link input{width:100%;font-family:ui-monospace,monospace;font-size:13px}
.ct-link .botao{margin:0;white-space:nowrap}
.ct-envio{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;align-items:stretch}
.ct-whats{background:#1FA855;border-color:transparent;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;margin:0;min-height:46px;text-decoration:none}
.ct-whats:hover{background:#178f48}
.ct-whats svg{width:16px;height:16px}
.ct-email{display:grid;grid-template-columns:1fr auto;gap:8px;margin:0}
.ct-email input{width:100%;margin:0;min-height:46px}
.ct-email .botao{margin:0;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.ct-email .botao svg{width:15px;height:15px}
.ct-acoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 22px}
.ct-acoes .botao{margin:0}
.ct-cancelar{margin:0 0 0 auto}
.ct-lnk-cancelar{background:none;border:0;color:#e0836e;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:6px 4px;min-height:auto}
.ct-lnk-cancelar:hover{color:#f0a08c;background:none}
@media(max-width:760px){
  .ct-link,.ct-envio,.ct-email{grid-template-columns:1fr}
  .ct-cancelar{margin-left:0;width:100%}
  .ct-acoes .botao{flex:1;text-align:center}
}
/* Visualizador de documentos: contrato em destaque + seletor de anexos */
.dv-barra{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin-bottom:8px}
.dv-principal{display:inline-flex;align-items:center;gap:8px;background:var(--creme);color:var(--oliva-profundo);border:0;border-radius:12px;padding:0 18px;min-height:46px;font-weight:600;font-size:14px;cursor:pointer;letter-spacing:.2px}
.dv-principal:not(.ativa){background:rgba(239,230,200,.16);color:var(--creme)}
.dv-principal svg{width:16px;height:16px}
.dv-sel{display:flex;flex-direction:column;gap:0;flex:1;min-width:240px;position:relative}
.dv-sel > span{position:absolute;top:-8px;left:12px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;background:var(--oliva);padding:0 6px;color:var(--creme-dim)}
.dv-sel select{min-height:46px;margin:0;width:100%}
.dv-imprimir{margin:0;white-space:nowrap}
.dv-atual{font-size:13px;color:var(--creme-dim);margin:0 0 10px}
.dv-atual strong{color:var(--creme);font-weight:500}
@media(max-width:760px){.dv-principal,.dv-imprimir{width:100%;justify-content:center;text-align:center}.dv-sel{min-width:0;width:100%}}
@media print{
  body[data-print-doc] .doc-print{display:none!important}
  body[data-print-doc="0"] .doc-print[data-i="0"],body[data-print-doc="1"] .doc-print[data-i="1"],body[data-print-doc="2"] .doc-print[data-i="2"],body[data-print-doc="3"] .doc-print[data-i="3"],body[data-print-doc="4"] .doc-print[data-i="4"],body[data-print-doc="5"] .doc-print[data-i="5"],body[data-print-doc="6"] .doc-print[data-i="6"],body[data-print-doc="7"] .doc-print[data-i="7"],body[data-print-doc="8"] .doc-print[data-i="8"],body[data-print-doc="9"] .doc-print[data-i="9"]{display:block!important}
}

/* ===== Contrato v2: leitor + painel de assinatura ===== */
.ct2{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.ct2-main{grid-column:1;grid-row:1;min-width:0}
.ct2-lado{grid-column:2;grid-row:1}
.ct2-lado{position:sticky;top:84px;display:flex;flex-direction:column;gap:14px}
.ct2-card{padding:18px}
.ct2-passos{display:flex;flex-direction:column;gap:0;margin:0 0 16px;position:relative}
.ct2-passo{display:flex;gap:12px;align-items:flex-start;padding:0 0 14px;position:relative}
.ct2-passo::before{content:'';position:absolute;left:13px;top:28px;bottom:-2px;width:2px;background:rgba(239,230,200,.18)}
.ct2-passo:last-child::before{display:none}
.ct2-passo i{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:700;border:2px solid rgba(239,230,200,.35);color:var(--creme-dim);background:var(--oliva);position:relative;z-index:1}
.ct2-passo.ok i{background:var(--ok);border-color:var(--ok);color:#12351a}
.ct2-passo.cancel i{background:var(--erro);border-color:var(--erro);color:#4a1a12}
.ct2-passo strong{display:block;font-size:14px;color:var(--creme)}
.ct2-passo small{display:block;font-size:12px;color:var(--creme-dim);margin-top:1px}
.ct2-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:0 0 10px;min-height:48px;text-decoration:none;box-sizing:border-box}
.ct2-cta svg{width:16px;height:16px}
.ct2-whats{background:#1FA855;border-color:transparent;color:#fff}
.ct2-whats:hover{background:#178f48}
.ct2-email{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}
.ct2-email input{width:100%;margin:0}
.ct2-email .ct2-cta{margin:0}
.ct2-link{border-top:1px solid var(--borda);padding-top:12px}
.ct2-link-rot{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--creme-dim);margin-bottom:6px}
.ct2-link-row{display:flex;gap:6px}
.ct2-link-row input{flex:1;min-width:0;font-family:ui-monospace,monospace;font-size:12px;padding:9px 10px;min-height:38px;margin:0}
.ct2-copiar{flex:none;background:rgba(239,230,200,.14);border:1px solid var(--borda);color:var(--creme);border-radius:10px;padding:0 12px;min-height:38px;font-size:12.5px;cursor:pointer}
.ct2-copiar:hover{background:rgba(239,230,200,.22)}
.ct2-nota{font-size:12.5px;color:var(--creme-dim);margin:10px 0 0;line-height:1.45}
.ct2-mais{padding:6px 8px}
.ct2-item{display:flex;align-items:center;gap:10px;width:100%;padding:11px 12px;border:0;background:none;color:var(--creme);font-size:13.5px;text-decoration:none;border-radius:10px;cursor:pointer;text-align:left;min-height:auto}
.ct2-item span{width:18px;text-align:center;color:var(--creme-dim)}
.ct2-item:hover{background:rgba(239,230,200,.08)}
.ct2-item-perigo{color:#e0836e}
.ct2-item-perigo span{color:#e0836e}
/* leitor */
.dv-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:16px;align-items:start}
.dv-nav{position:sticky;top:84px;display:flex;flex-direction:column;gap:6px}
.dv-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:1px solid transparent;color:var(--creme-dim);padding:10px 12px;border-radius:12px;cursor:pointer;font-size:13px;line-height:1.3;min-height:auto}
.dv-item span{flex:1;min-width:0}
.dv-item b{flex:none;width:22px;height:22px;border-radius:7px;background:rgba(239,230,200,.12);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--creme-dim)}
.dv-item:hover{background:rgba(239,230,200,.08);color:var(--creme)}
.dv-item.ativa{background:rgba(239,230,200,.14);border-color:var(--borda);color:var(--creme)}
.dv-item.ativa b{background:var(--creme);color:var(--oliva-profundo)}
.dv-item-principal{background:var(--creme)!important;color:var(--oliva-profundo)!important;font-weight:600;font-size:14px;padding:13px 14px;border-color:transparent!important}
.dv-item-principal:not(.ativa){opacity:.85}
.dv-item-principal.ativa{box-shadow:0 0 0 3px rgba(239,230,200,.25)}
.dv-item-principal svg{width:18px;height:18px;flex:none}
.dv-nav-tit{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--creme-dim);margin:10px 4px 2px}
.dv-nav-lista{display:flex;flex-direction:column;gap:4px;max-height:52vh;overflow-y:auto;padding-right:2px}
.dv-sel-mob{display:none}
.dv-doc .doc-corpo{max-height:none;min-height:520px;max-height:calc(100vh - 140px);border-radius:16px}
@media(max-width:1440px){
  .ct2{grid-template-columns:1fr}
  .ct2-main{grid-column:1;grid-row:2}
  .ct2-lado{grid-column:1;grid-row:1;position:static;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start}
  .ct2-lado .ct2-card{padding:16px}
  .ct2-mais{align-self:stretch}
}
@media(max-width:760px){.ct2-lado{grid-template-columns:1fr}}
@media(max-width:760px){
  .dv-layout{grid-template-columns:1fr;gap:10px}
  .dv-nav{position:static}
  .dv-nav-tit,.dv-nav-lista{display:none}
  .dv-sel-mob{display:block}
  .dv-sel-mob select{width:100%;margin:0}
  .dv-doc .doc-corpo{min-height:0;max-height:70vh;padding:22px 18px}
  .ct2-cab{align-items:flex-start}
}

/* ===== Agenda F1: status no topo do modal, rodapé fixo, horários ocupados ===== */
.ag-status-topo{margin:0 0 12px;padding:12px 14px;border:1px solid var(--borda);border-radius:14px;background:rgba(26,28,20,.25)}
.ag-status-topo > label:first-child{margin-top:0}
.ag-modal-rodape{position:sticky;bottom:-26px;display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:16px -28px -26px;padding:14px 28px calc(16px + env(safe-area-inset-bottom));background:rgba(87,90,69,.98);border-top:1px solid var(--borda);z-index:3}
.ag-rod-sec{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ag-rod-sec:empty{display:none}
.ag-rod-main{display:flex;gap:10px;margin-left:auto;flex:none}
.ag-modal-rodape button{white-space:nowrap;margin:0}
.ag-tres{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:0 14px}
.ag-horarios-sel{display:block;padding:0;border:0;background:none;min-height:0}
.ag-horarios-sel select{width:100%}
.ag-hchip.ocupado{opacity:.35;cursor:not-allowed;text-decoration:line-through}
@media(max-width:760px){.ag-modal-rodape{margin:14px -18px -26px;padding:12px 18px calc(14px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch}.ag-rod-sec{width:100%}.ag-rod-sec form,.ag-rod-sec button{flex:1}.ag-rod-sec form button{width:100%}.ag-rod-main{width:100%;margin-left:0}.ag-rod-main button{flex:1}.ag-tres{grid-template-columns:1fr 1fr}.ag-tres > div:last-child{grid-column:1/-1}}

/* ===================== AGENDA FASE 2 — barra única, lateral enxuta, mobile ===================== */
.ag2-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:10px 12px;background:rgba(255,255,255,.06);border:1px solid var(--borda);border-radius:16px}
.ag2-nav{display:flex;align-items:center;gap:6px}
.ag2-seta{width:38px;height:40px;border-radius:10px;border:1px solid var(--borda);background:rgba(255,255,255,.05);color:var(--creme);font-size:20px;line-height:1;cursor:pointer;min-height:0;padding:0}
.ag2-seta:hover{background:rgba(255,255,255,.12)}
.ag2-data{display:flex;flex-direction:column;align-items:flex-start;background:none;border:0;padding:2px 10px;min-width:210px;cursor:pointer;min-height:0;text-align:left}
.ag2-data strong{font-family:'Fraunces',Georgia,serif;font-size:19px;font-weight:500;color:var(--creme);line-height:1.15;white-space:nowrap}
.ag2-data small{font-size:12px;color:var(--creme-dim);white-space:nowrap}
.ag2-data:hover strong{text-decoration:underline;text-underline-offset:3px}
.ag2-hoje{height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--borda);background:transparent;color:var(--creme-dim);font-size:13px;cursor:pointer;min-height:0}
.ag2-hoje.on{background:var(--creme);color:var(--oliva-profundo);border-color:transparent;font-weight:600}
.ag2-date-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;margin:0}
.ag2-centro{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.ag-topo-pagina .ag-viewtoggle,.ag-viewtoggle.ag2-toggle{display:inline-flex !important}
.ag2-toggle .peq{height:36px;min-height:0;padding:0 14px;font-size:13px}
.ag2-toggle .peq.ativa{background:var(--creme);color:var(--oliva-profundo);border-color:transparent;font-weight:600}
.ag2-prof{width:auto;max-width:230px;min-height:36px;height:36px;padding:0 34px 0 12px;font-size:13px;margin:0;display:block !important}
.ag2-ico{display:inline-flex;align-items:center;gap:6px;height:36px;min-height:0;padding:0 12px;border-radius:999px;border:1px solid var(--borda);background:transparent;color:var(--creme-dim);font-size:13px;cursor:pointer}
.ag2-ico:hover{color:var(--creme);background:rgba(255,255,255,.08)}
.ag2-ico svg{width:15px;height:15px}
.ag2-comandas b{background:rgba(239,230,200,.18);border-radius:999px;padding:1px 8px;font-size:12px;color:var(--creme)}
.ag2-acoes{display:flex;align-items:center;gap:8px;margin-left:auto}
.ag2-novo{display:inline-flex;align-items:center;gap:6px;height:40px;min-height:0;padding:0 16px;border-radius:12px;border:0;background:var(--creme);color:var(--oliva-profundo);font-weight:600;font-size:13.5px;cursor:pointer;white-space:nowrap}
.ag2-novo span{font-size:18px;line-height:1}
.ag2-novo:hover{filter:brightness(1.05)}
#busca-agendamento{height:36px;min-height:0;margin:0;max-width:220px}
#data-rapida{display:block !important}
/* lateral enxuta */
.ag-prof-tudo{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--creme-dim);margin:0 0 6px}
.ag-prof-tudo button{background:none;border:0;color:var(--creme-dim);text-decoration:underline;text-underline-offset:2px;cursor:pointer;padding:0;min-height:0;font-size:12px}
.ag-prof-item{display:flex;align-items:center;gap:8px;padding:6px 4px;border-radius:8px;font-size:13.5px;cursor:pointer}
.ag-prof-item:hover{background:rgba(255,255,255,.06)}
.ag-prof-item input{width:16px;height:16px;min-height:0;flex:none;margin:0}
.ag-prof-item .ag-cor{width:10px;height:10px;border-radius:50%;flex:none}
.ag-prof-item .ag-prof-nome{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-prof-item small{font-size:11px;color:var(--creme-dim);white-space:nowrap}
#busca-prof{margin:10px 0 6px !important;min-height:36px;height:36px;font-size:13px}
.ag-fab{display:none !important}
/* mobile */
@media(max-width:760px){
  .ag2-bar{padding:8px 10px;gap:8px;margin-bottom:10px}
  .ag2-nav{width:100%;justify-content:space-between}
  .ag2-data{min-width:0;flex:1;align-items:center;text-align:center}
  .ag2-data strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}
  .ag2-data small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}
  .ag2-data{overflow:hidden}
  .ag2-centro{width:100%;flex-wrap:wrap;gap:8px}
  .ag2-prof{flex:1;max-width:none;min-width:0}
  .ag-busca{order:5}
  .ag2-acoes{width:100%;margin-left:0;gap:8px}
  .ag2-novo{flex:1;justify-content:center;height:44px}
  .ag2-ico span{display:none}
  .ag2-ico{width:44px;height:44px;justify-content:center;padding:0;flex:none}
  .ag2-comandas{width:auto;padding:0 10px;gap:4px}
  .agm-bar{display:flex !important;flex-direction:column;gap:8px;margin-bottom:8px}
  .agm-toggle{display:none}
  .ag-grade-rolagem{position:relative}
  .ag-lateral,body.agx-config .ag-lateral{display:none !important}
}

/* Botão de adicionar no rodapé das listas (Locatários / Sócios) */
.eq-rodape{display:flex;justify-content:flex-start;margin-top:18px}
.eq-rodape .eq-novo{min-height:52px;padding:0 28px;font-size:16px;font-weight:700;border-radius:14px;background:var(--creme);color:var(--oliva);border:0;box-shadow:0 6px 18px rgba(0,0,0,.28);letter-spacing:.01em}
.eq-rodape .eq-novo:hover{filter:brightness(1.04);transform:translateY(-1px)}
.eq-rodape .eq-novo:active{transform:none}
@media(max-width:760px){.eq-rodape .eq-novo{width:100%;justify-content:center}}

/* Painel: botão de reabrir o passo a passo guiado */
.dash-passos{margin:0}
.dash-passos-fim{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px;padding:18px 20px;border:1px solid var(--linha,rgba(239,230,200,.16));border-radius:16px;background:rgba(255,255,255,.04)}
.dash-passos-fim strong{display:block;margin-bottom:2px}
.dash-passos-fim .sub{display:block;font-size:13px}
@media(max-width:600px){.dash-passos-fim{flex-direction:column;align-items:stretch}}
.dash-passos-btn{display:inline-flex;align-items:center;gap:8px;background:var(--creme);color:var(--oliva);border:0;border-radius:12px;padding:10px 16px;font-weight:600;font-size:13.5px;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.dash-passos-btn:hover{filter:brightness(1.04)}
.dash-passos-btn .ico,.dash-passos-btn svg{width:16px;height:16px}
@media(max-width:600px){.dash-passos-btn{width:100%;justify-content:center;min-height:44px}}

/* ===================== COMANDA v2 ===================== */
.cm-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.cm-voltar{display:inline-block;color:var(--creme-dim);text-decoration:none;font-size:13px;margin-bottom:6px}
.cm-voltar:hover{color:var(--creme)}
.cm-topo-total{text-align:right;display:flex;flex-direction:column;align-items:flex-end}
.cm-topo-total .rotulo{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--creme-dim)}
.cm-topo-total strong{font-family:'Fraunces',Georgia,serif;font-size:34px;font-weight:600;line-height:1.05;font-variant-numeric:tabular-nums}
.cm-grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;align-items:start}
.cm-grid-fechada{grid-template-columns:minmax(0,1fr)}
.cm-col-itens{min-width:0}
.cm-col-pag{position:sticky;top:84px}
.cm-itens{padding:0;overflow:hidden}
.cm-itens-cab{display:flex;justify-content:space-between;align-items:baseline;padding:16px 20px 10px}
.cm-itens-cab h2{margin:0;font-size:17px}
.cm-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 20px;border-top:1px solid var(--borda)}
.cm-item-nome{font-weight:600;font-size:15px}
.cm-item-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}
.cm-item-meta .selo{font-size:10.5px}
.cm-item-meta .sub{margin:0;font-size:13px}
.cm-item-total{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px}
.cm-item-rm{margin:0}
.cm-item-rm .rm-linha{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;opacity:.55}
.cm-item-rm .rm-linha:hover{opacity:1}
.cm-vazio{padding:28px 20px;text-align:center;display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--borda)}
.cm-itens-rodape{border-top:1px solid var(--borda);padding:12px 20px 14px;background:rgba(0,0,0,.12)}
.cm-itens-rodape > div{display:flex;justify-content:space-between;padding:4px 0;font-size:14px}
.cm-itens-rodape > div span{color:var(--creme-dim)}
.cm-itens-rodape .cm-tot{font-size:16px;padding-top:8px;margin-top:4px;border-top:1px dashed var(--borda)}
.cm-itens-rodape .cm-tot strong{font-size:18px}
.selo.neutro{background:rgba(239,230,200,.14);color:var(--creme)}
/* adicionar */
.cm-add{margin-top:16px}
.cm-add-cab{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.cm-add-cab h2{margin:0;font-size:17px}
.cm-tabs{display:inline-flex;gap:4px;background:rgba(0,0,0,.18);border-radius:12px;padding:4px}
.cm-tabs button{background:transparent;border:0;color:var(--creme-dim);padding:8px 14px;border-radius:9px;font-size:13.5px;font-weight:600;cursor:pointer;margin:0;min-height:36px}
.cm-tabs button.on{background:var(--creme);color:var(--oliva)}
.cm-pane{display:none}.cm-pane.on{display:block}
.cm-ajuda{margin:0 0 10px;color:var(--creme-dim);font-size:13px}
.cm-linha{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:0 0 10px}
.cm-linha:last-child{margin-bottom:0}
.cm-linha label{margin:0 0 4px;font-size:12.5px}
.cm-f1{flex:1 1 220px;min-width:0}
.cm-fq{width:88px;flex:none}
.cm-fv{width:120px;flex:none}
.cm-linha select,.cm-linha input{margin:0;min-height:44px}
.cm-btn{flex:none;min-height:44px;padding:0 18px;margin:0;white-space:nowrap}
.cm-sep{border:0;border-top:1px dashed var(--borda);margin:14px 0}
/* pagamento */
.cm-pag h2{margin:0 0 12px;font-size:17px}
.cm-resumo{background:rgba(0,0,0,.14);border-radius:14px;padding:6px 14px;margin-bottom:14px}
.cm-resumo > div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--borda);font-size:14px}
.cm-resumo > div:last-child{border:0}
.cm-resumo > div > span:first-child{color:var(--creme-dim)}
.cm-resumo .cm-tot{font-size:15px}.cm-resumo .cm-tot strong{font-size:22px;font-family:'Fraunces',Georgia,serif;font-weight:600;font-variant-numeric:tabular-nums}
.cm-desc-inp{width:130px}.cm-desc-inp input{margin:0;min-height:38px;text-align:right}
.cm-forma-sel{display:none !important}
.cm-formas{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:6px 0 14px}
.cm-formas button{margin:0;background:rgba(255,255,255,.06);border:1.5px solid var(--borda);color:var(--creme);border-radius:12px;padding:10px 4px;font-size:12.5px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:58px;cursor:pointer}
.cm-formas button i{font-style:normal;font-size:16px;opacity:.8}
.cm-formas button.on{background:var(--creme);color:var(--oliva);border-color:var(--creme)}
.cm-pag .pg-metodo{margin-top:0 !important;padding-top:12px;border-top:1px dashed var(--borda)}
.cm-receber{width:100%;margin-top:16px;min-height:50px;font-size:15.5px}
.cm-pag-nota{margin:10px 0 0;font-size:12px;text-align:center}
@media(max-width:1100px){.cm-grid{grid-template-columns:minmax(0,1fr)}.cm-col-pag{position:static}}
@media(max-width:760px){
  .cm-topo{align-items:flex-start}.cm-topo-total{align-items:flex-start;text-align:left}.cm-topo-total strong{font-size:28px}
  .cm-item{grid-template-columns:minmax(0,1fr) auto;padding:12px 14px}.cm-item-rm{grid-column:2;grid-row:1}.cm-item-total{grid-column:1;grid-row:2}
  .cm-itens-cab,.cm-itens-rodape{padding-left:14px;padding-right:14px}
  .cm-tabs{width:100%;overflow-x:auto}.cm-tabs button{flex:1;white-space:nowrap}
  .cm-linha .cm-btn{width:100%}.cm-f1{flex-basis:100%}
  .cm-formas{grid-template-columns:repeat(2,1fr)}
}
/* Agenda: menu de Comandas por cima da grade (a barra tinha transform residual criando contexto de empilhamento) */
.ag2-bar{position:relative;z-index:20;transform:none !important;animation:none !important}
.ag-comandas-menu{z-index:80;box-shadow:0 14px 34px rgba(0,0,0,.4)}

/* ===================== MOBILE — Passada 1 ===================== */
/* Card de importar NF (estava com fundo claro do tema antigo) */
.nfimp{background:rgba(255,255,255,.06);border:1px dashed var(--borda);color:var(--creme)}
.nfimp-status.carregando{color:var(--creme-dim)}
.nfimp-status.ok{color:var(--ok,#A5E8B0)}
.nfimp-status.erro{color:var(--erro,#FFC7BD)}
/* Contrato: coluna do documento nunca alarga além da tela */
.ct2{grid-template-columns:minmax(0,1fr) 320px}
.ct2-main,.ct2-lado{min-width:0}
@media(max-width:1440px){.ct2{grid-template-columns:minmax(0,1fr)}}
/* Últimas vendas: nome em cima, data embaixo (sem truncar) */
.ek-linha .ek-nome{white-space:normal;display:flex;flex-direction:column;line-height:1.25}
.ek-linha .ek-nome small{display:block;font-size:12px}
@media(max-width:760px){
  /* Barras de ação fixas: viram barra opaca de borda a borda, sem tapar campos "no ar" */
  .acao-final{margin:14px -12px 0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(87,90,69,.97);border-top:1px solid var(--borda);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);bottom:calc(66px + env(safe-area-inset-bottom))}
  .acao-final button{box-shadow:none;min-height:48px;margin:0}
  .pr-rodape{bottom:calc(66px + env(safe-area-inset-bottom));border-radius:14px 14px 0 0;flex-wrap:wrap}
  .pr-rodape button{flex:1}
  /* Assistente: sobe quando há barra de ação no rodapé e não tapa a barra */
  body.tem-barra-inferior #ia-fab-wrap{bottom:calc(150px + env(safe-area-inset-bottom))}
  #ia-fab{width:50px;height:50px}
  /* Registro de aceite do contrato: valores longos (hash, IP) quebram linha */
  .ct2-main .t-scroll > table th,.ct2-main .t-scroll > table td{white-space:normal}
  .ct2-main td.mono{word-break:break-all;font-size:12px}
}
@media(max-width:760px){
  .pf-modal .pf-acoes button{white-space:nowrap;flex:1;font-size:14px;padding-left:10px;padding-right:10px}
}
/* Contrato no celular: leitor do documento nunca alarga a página (linhas de assinatura "_____", hashes) */
@media(max-width:760px){
  .dv-layout{grid-template-columns:minmax(0,1fr)}
  .dv-doc,.dv-nav{min-width:0;max-width:100%}
  .dv-doc .doc-corpo{overflow-x:hidden;overflow-wrap:anywhere;word-break:break-word}
  .dv-doc .doc-corpo table{display:block;max-width:100%;overflow-x:auto}
  /* Assistente menor e sem balão no celular */
  #ia-fab{width:46px;height:46px}
  #ia-fab-wrap .ia-fab-legenda{display:none !important}
}
@media(max-width:760px){
  /* Tabelas de 2 colunas (DRF, resumos): descrição quebra linha, valor nunca some pela direita */
  .cartao > table td,.cartao > table th{white-space:normal;overflow-wrap:anywhere}
  .cartao > table td.num,.cartao > table th.num{white-space:nowrap;width:auto !important;padding-left:8px}
  /* Formulários inline (filtros de mês/dia): botão ocupa a linha inteira e alinha */
  form[style*="flex"] > button,.cartao[style*="flex"] > form > button{width:100%;min-height:44px}
  .cartao[style*="flex"] > a.botao{width:100%;text-align:center}
}
@media(max-width:760px){
  /* Produtos: nome em até 2 linhas em vez de cortar */
  .ek-prod-txt strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}
  /* Filtros em cartão (lista de agendamentos etc.): cada campo ocupa a linha */
  form.cartao[style*="flex"] > div{flex:1 1 100%}
  form.cartao[style*="flex"] > div > input,form.cartao[style*="flex"] > div > select{width:100%}
  form.cartao[style*="flex"] > button{width:100%;min-height:44px}
}
@media(max-width:760px){
  table.t-2col{width:100%;table-layout:auto}
  table.t-2col td,table.t-2col th{white-space:normal;overflow-wrap:anywhere;vertical-align:top}
  table.t-2col td.num,table.t-2col th.num,table.t-2col td:last-child,table.t-2col th:last-child{white-space:nowrap;width:auto !important;text-align:right}
}

/* Agenda: nas telas de configuração (Agenda online, Catálogo, Notificações) a barra da grade some */
body.agx-cfgview .ag2-bar{display:none !important}
/* Agenda mobile: chip "Todos" + grade rola na horizontal com todas as colunas */
.agm-chip-todos .agm-dot{background:rgba(239,230,200,.25);color:var(--creme);font-size:11px}
@media(max-width:760px){.ag-grade-rolagem{overflow:auto;-webkit-overflow-scrolling:touch}}

/* ===== Agenda no celular (iOS): modal sem estourar a largura, menu de comandas dentro da tela ===== */
@media(max-width:760px){
  .modal-fundo .modal{max-width:100vw;overflow-x:hidden;box-sizing:border-box}
  .modal-fundo .modal input,.modal-fundo .modal select,.modal-fundo .modal textarea{max-width:100%;min-width:0;box-sizing:border-box}
  .modal-fundo .modal input[type=date],.modal-fundo .modal input[type=time],.modal-fundo .modal input[type=month]{width:100%;-webkit-appearance:none;appearance:none;display:block}
  .ag-tres{grid-template-columns:1fr 1fr;gap:0 10px}
  .ag-tres > div{min-width:0}
  .ag-avancado-corpo .duas{grid-template-columns:1fr}
  .ag-avancado-corpo .duas > div{min-width:0}
  .ag-avancado-corpo .lg-lembrar,.modal-fundo .modal .lg-lembrar{white-space:normal;align-items:flex-start;line-height:1.3}
  .ag-avancado-corpo label{white-space:normal}
  .ag-rodape-modal{flex-wrap:wrap}
  .ag-comandas-wrap{position:static}
  .ag2-acoes{position:relative}
  .ag-comandas-menu{left:0;right:0;width:auto;min-width:0;max-width:none}
}

/* Aviso de bens móveis sem locatário (Preços de Aluguéis) */
.bm-card{max-width:520px}
.bm-card .ca-msg{margin:0 0 10px}
.bm-num{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.bm-num span{flex:1 1 30%;background:rgba(0,0,0,.18);border-radius:12px;padding:8px 10px;text-align:center;font-size:12.5px;color:var(--creme-dim);line-height:1.3}
.bm-num strong{display:block;font-size:19px;color:var(--creme);font-variant-numeric:tabular-nums}
.bm-num .bm-livre strong{color:var(--laranja,#E0A45E)}
.bm-rec{font-size:13.5px;line-height:1.5;color:var(--creme-dim)}
.bm-rec strong{color:var(--creme)}
.bm-acoes{grid-template-columns:1fr 1fr;align-items:stretch}
.bm-acoes .botao{display:flex;align-items:center;justify-content:center;min-height:46px;white-space:normal;line-height:1.25;font-size:13.5px}
@media(max-width:560px){.bm-acoes{grid-template-columns:1fr}.bm-acoes .botao.sec{order:2}}

/* ===== Preços de Aluguéis — legenda dos grupos em cartão (nome + explicação + valor) ===== */
.pr-legenda{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px}
.pr-legenda .pr-chip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;
  border-radius:14px;padding:10px 12px;min-width:0;justify-content:stretch}
.pr-legenda .pr-chip i{width:10px;height:10px;border-radius:3px;margin-top:5px;flex:none}
.pr-chip-txt{min-width:0;display:flex;flex-direction:column;gap:2px}
.pr-chip-txt strong{color:var(--creme);font-weight:600;font-size:13.5px;line-height:1.2}
.pr-chip-txt small{color:var(--creme-dim);font-size:11.5px;line-height:1.3;opacity:1;overflow-wrap:anywhere}
.pr-chip-val{display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right;white-space:nowrap;margin-left:auto}
.pr-chip-val b{color:var(--creme);font-weight:600;font-variant-numeric:tabular-nums;margin:0}
.pr-chip-val small{color:var(--creme-dim);font-size:11px}
@media(max-width:760px){.pr-legenda{grid-template-columns:1fr}}

/* ===== Olhinho de senha (global) ===== */
/* line-height:0 + input display:block: sem o espaço de linha do inline-block (que no iOS
   empurrava o botão para baixo, saindo do campo) */
.campo-senha{position:relative;display:block;width:100%;line-height:0;font-size:0}
.campo-senha > input{display:block;width:100%;padding-right:44px !important;line-height:normal;font-size:15px}
.olho-senha{position:absolute;right:8px;top:0;bottom:0;margin:auto 0;width:30px;height:calc(100% - 10px);max-height:30px;min-height:22px;
  display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:8px;
  background:transparent;box-shadow:none;color:var(--creme-dim);cursor:pointer;opacity:.8;
  -webkit-tap-highlight-color:transparent;transition:opacity .15s,color .15s}
.olho-senha.on{opacity:1;color:var(--creme)}
.olho-senha svg{width:19px;height:19px;display:block}
@media(hover:hover){.olho-senha:hover{opacity:1;color:var(--creme);background:rgba(239,230,200,.1)}}
.pf-modal .campo-senha > input,.modal .campo-senha > input{padding-right:44px !important}

/* Login: mesmo olhinho global, no tamanho do campo grande da entrada */
.lg-campo .campo-senha > input{padding-right:52px !important;font-size:16px;min-height:52px;border-radius:14px;border-width:1.5px}
.lg-campo .campo-senha .olho-senha{right:12px;width:34px;max-height:34px;color:var(--creme)}
.lg-campo .campo-senha .olho-senha svg{width:21px;height:21px}

/* Regra do rateio na tela de Preços de Aluguéis */
.pr-regra{margin:0 0 14px;padding:10px 12px;border-left:3px solid var(--dourado,#c9a227);background:rgba(201,162,39,.08);border-radius:0 8px 8px 0;font-size:.86rem;line-height:1.5;color:var(--creme-dim,#d8d3c6)}
.pr-regra strong{color:var(--creme,#f2ede1)}
@media(max-width:768px){.pr-regra{font-size:.8rem;padding:9px 10px}}

/* ===================== AGENDA v11 — grade de 15 min, encaixe lado a lado,
   cor da coluna e balão com confirmação ===================== */

/* Coluna de horas: só :00 e :30 têm rótulo; o quarto de hora é só uma linha fina. */
.ag-hora.cheia{border-bottom:1px solid rgba(239,230,200,.20);font-weight:600;color:var(--creme)}
.ag-hora.meia{border-bottom:1px dashed rgba(239,230,200,.12)}
.ag-hora.quarto{border-bottom:1px dotted rgba(239,230,200,.07)}
.ag-celula.cheia{border-bottom:1px solid rgba(239,230,200,.18)}
.ag-celula.meia{border-bottom:1px dashed rgba(239,230,200,.10)}
.ag-celula{border-bottom:1px dotted rgba(239,230,200,.055)}

/* Blocos curtos (15 e 20 min) e blocos espremidos por encaixe: texto em uma linha só. */
.ag-bloco-curto{padding:2px 6px}
.ag-bloco-curto strong{font-size:11.5px;line-height:1.1}
.ag-bloco-curto span,.ag-bloco-curto .ag-stpill,.ag-bloco-curto .ag-tag{display:none}
.ag-bloco-mini{padding:1px 4px}
.ag-bloco-mini strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.ag-bloco-mini span,.ag-bloco-mini .ag-stpill,.ag-bloco-mini .ag-tag,.ag-bloco-mini .ag-bloco-acoes{display:none}

/* Cabeçalho da coluna: nome + setinha que abre a paleta */
.ag-prof-cab{position:relative}
.ag-prof-nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-cor-bt{margin-left:auto;background:rgba(0,0,0,.18);border:0;color:#fff;border-radius:6px;
  min-width:22px;height:22px;line-height:1;cursor:pointer;font-size:12px;opacity:.75;flex:0 0 auto}
.ag-cor-bt:hover{opacity:1;background:rgba(0,0,0,.34)}
.ag-cor-bt:focus-visible{outline:2px solid #fff;outline-offset:1px}

.ag-paleta{position:fixed;z-index:9999;background:var(--cartao,#464d3c);border:1px solid var(--borda,#59614c);
  border-radius:12px;box-shadow:0 14px 32px rgba(0,0,0,.5);padding:12px;width:208px}
.ag-paleta p{margin:0 0 9px;font-size:12.5px;color:var(--creme-dim,#c3c8b3)}
.ag-paleta p strong{color:var(--creme,#f2ede1)}
.ag-paleta-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.ag-sw{width:26px;height:26px;border-radius:7px;border:2px solid transparent;cursor:pointer;padding:0}
.ag-sw:hover{border-color:var(--creme,#f2ede1)}
.ag-sw.sel{border-color:var(--creme,#f2ede1);box-shadow:0 0 0 2px var(--cartao,#464d3c),0 0 0 4px var(--dourado,#c9a227)}

/* Balão do atendimento: agora dá para clicar dentro dele */
.ag-tip{pointer-events:auto}
.ag-tip-acoes{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;padding-top:9px;border-top:1px solid rgba(239,230,200,.14)}
.ag-tip-ac{flex:1 1 auto;min-width:96px;text-align:center;background:rgba(255,255,255,.06);
  border:1px solid rgba(239,230,200,.22);color:var(--creme,#f2ede1);border-radius:8px;
  padding:7px 9px;font-size:12px;cursor:pointer;white-space:nowrap}
.ag-tip-ac:hover{border-color:var(--dourado,#c9a227);color:var(--dourado-claro,#e3c766)}
.ag-tip-ac.ok{background:rgba(111,167,116,.20);border-color:rgba(111,167,116,.45);color:#d7f0da}
.ag-tip-ac.ok:hover{background:rgba(111,167,116,.34)}
.ag-tip-ac.nao{background:rgba(196,110,74,.20);border-color:rgba(196,110,74,.45);color:#f3d6c8}
.ag-tip-ac.nao:hover{background:rgba(196,110,74,.34)}

/* Status "Não confirmou" */
.ag-stpill.st-naoconf{background:rgba(196,110,74,.32);color:#f3d6c8}

@media(max-width:768px){
  .ag-paleta{width:min(92vw,232px)}
  .ag-sw{width:30px;height:30px}
  .ag-tip-ac{min-width:0;flex:1 1 44%;padding:9px 6px}
  /* No celular o cabeçalho empilha avatar e nome, então a setinha vai para o
     canto em vez de virar um botão solto embaixo do nome. */
  .ag-cor-bt{position:absolute;top:4px;right:4px;margin-left:0;min-width:24px;height:24px;font-size:11px}
}

/* ===================== MENU EM TRILHO DE ÍCONES (layout 1) =====================
   O menu encolhe para 56px e só mostra ícones; o nome aparece num balãozinho ao
   passar o mouse. A escolha fica salva, e a Agenda já abre encolhida. */
.sl-encolher{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:8px;
  background:rgba(255,255,255,.06);border:1px solid var(--borda);color:var(--creme-dim);
  display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;z-index:3}
.sl-encolher svg{width:14px;height:14px}
.sl-encolher:hover{background:rgba(255,255,255,.13);color:var(--creme)}
/* Só no desktop: no celular o menu é uma GAVETA fixa (regra do @media 900px acima). Esta linha
   valia para tudo e quebrava o celular — o menu ficava fora da tela mas ocupando 812px de altura. */
@media(min-width:901px){ .sec-lateral{position:sticky;transition:width .16s ease} }

body.menu-trilho .sec-lateral{width:56px;padding:34px 6px 16px;overflow:visible}
body.menu-trilho .sl-tx,body.menu-trilho .sl-rot{display:none}
body.menu-trilho .sl-inicio{font-size:0;padding:8px 0;text-align:center}
body.menu-trilho .sl-inicio .ico{font-size:14px}
body.menu-trilho .sl-grupo{margin-bottom:10px;position:relative}
body.menu-trilho .sl-grupo + .sl-grupo::before{content:"";display:block;height:1px;
  background:var(--borda);margin:0 8px 10px}
body.menu-trilho .sl-item{justify-content:center;padding:10px 0;gap:0;position:relative}
body.menu-trilho .sl-item i{width:auto}
body.menu-trilho .sl-encolher{transform:scaleX(-1)}
/* balãozinho com o nome */
body.menu-trilho .sl-item[data-tt]::after,body.menu-trilho .sl-inicio[data-tt]::after{
  content:attr(data-tt);position:absolute;left:52px;top:50%;transform:translateY(-50%);
  background:#20241c;border:1px solid var(--borda);border-radius:8px;padding:5px 10px;
  font-size:12.5px;line-height:1;white-space:nowrap;color:var(--creme);
  opacity:0;pointer-events:none;transition:opacity .12s;z-index:60;box-shadow:0 6px 18px rgba(0,0,0,.45)}
body.menu-trilho .sl-item[data-tt]:hover::after,body.menu-trilho .sl-inicio[data-tt]:hover::after,
body.menu-trilho .sl-item[data-tt]:focus-visible::after{opacity:1}
body.menu-trilho .sl-inicio{position:relative}

/* ===================== AGENDA: painel flutuante + modo recepção ===================== */
.ag-layout-largo{display:block !important;grid-template-columns:none !important}
/* precisa de !important: há regras antigas com !important em .ag-lateral */
.ag-lateral.ag-lateral-flutua{position:fixed;left:70px;top:112px;width:320px;max-height:calc(100vh - 140px);
  overflow:auto;background:var(--cartao,#464d3c);border:1px solid var(--borda);border-radius:14px;
  box-shadow:0 18px 44px rgba(0,0,0,.55);padding:12px;z-index:70;
  display:none !important;margin:0 !important;order:0 !important}
body.menu-trilho .ag-lateral.ag-lateral-flutua{left:68px}
body.ag-painel-aberto .ag-lateral.ag-lateral-flutua{display:block !important}
body.ag-recepcao .ag-lateral.ag-lateral-flutua{top:60px}
.ag-painel-x{position:absolute;top:8px;right:10px;background:transparent;border:0;color:var(--creme-dim);
  font-size:15px;cursor:pointer;line-height:1;padding:4px}
.ag-painel-x:hover{color:var(--creme)}
#btn-painel[aria-expanded="true"]{background:var(--dourado,#c9a227);border-color:var(--dourado,#c9a227);color:#2b3024}

.ag2-recep{background:transparent;border:1px solid var(--borda);color:var(--creme-dim);
  border-radius:8px;padding:5px 10px;font-size:11.5px;cursor:pointer;white-space:nowrap;line-height:1.3}
.ag2-recep:hover{border-color:var(--dourado,#c9a227);color:var(--dourado-claro,#e3c766)}
.ag2-recep.on{background:var(--dourado,#c9a227);border-color:var(--dourado,#c9a227);color:#2b3024;font-weight:700}

body.ag-recepcao .topo,body.ag-recepcao .sec-lateral,body.ag-recepcao #ia-fab-wrap,
body.ag-recepcao .rodape-app,body.ag-recepcao .tabbar{display:none !important}
body.ag-recepcao .sec-wrap{display:block}
body.ag-recepcao .conteudo,body.ag-recepcao .sec-conteudo{padding:8px !important;max-width:none !important}
body.ag-recepcao .ag2-bar{margin-top:0}

@media(max-width:900px){
  .ag-lateral.ag-lateral-flutua{left:8px;right:8px;width:auto;top:96px}
  .ag2-recep{display:none}
  body.menu-trilho .sec-lateral{width:82%;padding:16px 12px}
  body.menu-trilho .sl-tx,body.menu-trilho .sl-rot{display:revert}
  body.menu-trilho .sl-item{justify-content:flex-start;padding:13px 12px;gap:10px}
  body.menu-trilho .sl-inicio{font-size:15px;padding:10px 12px;text-align:left}
  .sl-encolher{display:none}
}

/* ===================== AJUSTES DO LAYOUT 1 (retorno do cliente) ===================== */

/* 1) O "‹" do Início vira casinha quando o menu está em trilho — seta solta não diz nada. */
.sl-inicio .ico-casa{display:none}
body.menu-trilho .sl-inicio .ico-voltar{display:none}
body.menu-trilho .sl-inicio .ico-casa{display:inline-flex;align-items:center;justify-content:center}
body.menu-trilho .sl-inicio{display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;margin:0 auto 6px;border-radius:10px;background:rgba(255,255,255,.05)}
body.menu-trilho .sl-inicio:hover{background:rgba(255,255,255,.12)}
body.menu-trilho .sl-inicio svg{width:17px;height:17px}

/* 2) O botão de encolher deixa de flutuar por cima do primeiro item. */
body.menu-trilho .sl-encolher{position:static;width:40px;height:26px;margin:0 auto 8px}
body.menu-trilho .sec-lateral{padding-top:12px}

/* 3) Checkbox do filtro de profissionais: no fundo escuro o nativo sumia. */
.ag-lateral .ag-prof-item input[type=checkbox]{
  appearance:none;-webkit-appearance:none;width:17px;height:17px;flex:0 0 auto;margin:0;
  border:1.5px solid var(--creme-dim,#c3c8b3);border-radius:5px;background:rgba(0,0,0,.25);
  cursor:pointer;position:relative;transition:background .12s,border-color .12s}
.ag-lateral .ag-prof-item input[type=checkbox]:hover{border-color:var(--dourado,#c9a227)}
.ag-lateral .ag-prof-item input[type=checkbox]:checked{
  background:var(--dourado,#c9a227);border-color:var(--dourado,#c9a227)}
.ag-lateral .ag-prof-item input[type=checkbox]:checked::after{
  content:"";position:absolute;left:5px;top:1px;width:4px;height:9px;
  border:solid #2b3024;border-width:0 2.2px 2.2px 0;transform:rotate(45deg)}
.ag-lateral .ag-prof-item{padding:6px 4px;border-radius:8px}
.ag-lateral .ag-prof-item:hover{background:rgba(255,255,255,.06)}

/* 4) Nome do profissional no cabeçalho da coluna: metade do tamanho, cabe mais coluna. */
.ag-prof-cab{font-size:11px;padding:7px 6px;gap:4px}
.ag-prof-cab .ag-prof-nm{font-size:11px;letter-spacing:0}
.ag-prof-cab .ag-avatar{width:20px;height:20px;font-size:9.5px}
.ag-prof-cab .ag-avatar img{width:20px;height:20px}
.ag-cor-bt{min-width:18px;height:18px;font-size:10px}
@media(max-width:768px){ .ag-prof-cab{font-size:11.5px} .ag-prof-cab .ag-avatar{width:22px;height:22px} }

/* ============ AJUSTES DE ESQUADRO (retorno do cliente) ============ */

/* 1) O painel flutuante era uma caixa por fora de OUTRA caixa (a dobra), e o ✕
   ficava no canto da externa — por isso parecia solto do card. Agora a dobra de
   dentro perde o próprio fundo e o painel flutuante é o único card. */
.ag-lateral.ag-lateral-flutua > details.dobra,
.ag-lateral.ag-lateral-flutua > details.dobra > .dobra-corpo,
.ag-lateral.ag-lateral-flutua > details.dobra > .dobra-corpo > .dobra-inner{
  background:transparent !important;border:0 !important;box-shadow:none !important;
  margin:0 !important;padding:0 !important;border-radius:0 !important}
.ag-lateral.ag-lateral-flutua > details.dobra > summary{
  padding:2px 34px 10px 2px !important;background:transparent !important;border:0 !important;
  cursor:default;pointer-events:none}
.ag-lateral.ag-lateral-flutua .dobra-chev{display:none !important}   /* a seta não serve aqui */
.ag-lateral.ag-lateral-flutua .dobra-corpo{max-height:none !important;overflow:visible !important}
.ag-painel-x{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:9px;
  background:rgba(255,255,255,.08);border:1px solid var(--borda);color:var(--creme-dim);
  display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;
  cursor:pointer;padding:0;z-index:5}
.ag-painel-x:hover{background:rgba(255,255,255,.16);color:var(--creme)}

/* 2) Cabeçalho da coluna: era uma pilha alta (avatar em cima, nome no meio,
   botão de cor como bloco largo embaixo). Vira uma linha só e baixa. */
.ag-prof-cab{flex-direction:row !important;align-items:center;justify-content:center;
  gap:5px !important;padding:5px 20px 5px 6px !important;font-size:10.5px !important;
  min-height:0;line-height:1.15;text-align:center}
.ag-prof-cab .ag-prof-nm{font-size:10.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-prof-cab .ag-avatar{width:17px !important;height:17px !important;font-size:8.5px !important;flex:0 0 auto}
.ag-prof-cab .ag-avatar img{width:17px;height:17px}
/* o ▾ vira um cantinho, não um bloco embaixo do nome.
   !important porque a regra global de botão força min-height:44px (alvo de toque),
   e 44px estoura um cabeçalho de 27px. No celular ele volta a ter tamanho de dedo. */
.ag-prof-cab .ag-cor-bt{position:absolute !important;top:50% !important;right:3px !important;
  transform:translateY(-50%);width:16px !important;height:16px !important;
  min-width:0 !important;min-height:0 !important;margin:0 !important;padding:0 !important;
  font-size:9px !important;line-height:1 !important;border-radius:5px;display:flex;
  align-items:center;justify-content:center}
.ag-hcab,.ag-prof-cab{height:auto}

@media(max-width:768px){
  .ag-prof-cab{flex-direction:column !important;gap:2px !important;padding:5px 4px !important;font-size:10.5px !important}
  .ag-prof-cab .ag-cor-bt{top:3px !important;right:3px !important;transform:none;
    width:24px !important;height:24px !important;min-height:24px !important;font-size:11px !important}
}

/* ============ Painel flutuante: ✕ e navegação do mês fora de esquadro ============
   Dois efeitos da mesma causa (a regra global button{min-height:44px}):
   o ✕ virava 28x44 e encostava no '›' do mês, que também estava 35x42. Com os dois
   grandes e na mesma faixa vertical, um passava por cima do outro no canto do card. */
.ag-lateral.ag-lateral-flutua .ag-painel-x{
  width:28px !important;height:28px !important;min-height:0 !important;min-width:0 !important;
  padding:0 !important;top:10px;right:12px}

/* Navegação do mês: botões quadrados e menores, alinhados com o título */
.ag-lateral.ag-lateral-flutua #mini-cal{margin-top:6px}
.ag-lateral.ag-lateral-flutua #mini-cal .cal-cab{
  display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.ag-lateral.ag-lateral-flutua #mini-cal .cal-cab button{
  width:28px !important;height:28px !important;min-height:0 !important;min-width:0 !important;
  padding:0 !important;border-radius:8px;font-size:15px;line-height:1;
  display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ag-lateral.ag-lateral-flutua #mini-cal .cal-cab strong{font-size:13.5px;text-align:center;flex:1}

/* Dias do mês: quadradinhos parelhos, sem o alvo de 44px esticando a grade */
.ag-lateral.ag-lateral-flutua #mini-cal .cal-grade button,
.ag-lateral.ag-lateral-flutua #mini-cal .cal-grade .cal-dia{
  min-height:0 !important;height:30px !important;padding:0 !important;
  display:flex;align-items:center;justify-content:center;font-size:12.5px;border-radius:7px}

/* ===================== FILA DE AJUDANTES ===================== */
.ag2-fila b{display:inline-block;margin-left:6px;background:var(--dourado,#c9a227);color:#2b3024;
  border-radius:99px;font-size:10.5px;padding:1px 8px;font-weight:800;max-width:90px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
#btn-fila{display:none}                 /* só aparece quando há ajudante cadastrado */
#btn-fila.tem-fila{display:inline-flex}

.ag-fila-painel{position:fixed;left:70px;top:112px;width:330px;max-height:calc(100vh - 150px);
  overflow:auto;background:var(--cartao,#464d3c);border:1px solid var(--borda);border-radius:14px;
  box-shadow:0 18px 44px rgba(0,0,0,.55);padding:14px;z-index:72;display:none}
body.menu-trilho .ag-fila-painel{left:68px}
body.ag-fila-aberta .ag-fila-painel{display:block}
body.ag-recepcao .ag-fila-painel{top:60px}
.ag-fila-painel h3{margin:0 0 4px;font-size:16px;font-family:Georgia,serif;padding-right:34px}
.ag-fila-sub{margin:0 0 12px;font-size:12px;color:var(--creme-dim,#c3c8b3);line-height:1.4}
.ag-fila-rot{margin:14px 0 6px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--creme-sub,#9ea593)}

.ag-fila-item{display:flex;align-items:center;gap:9px;padding:8px 8px;border-radius:10px;
  border:1px solid transparent;margin-bottom:4px;background:rgba(255,255,255,.04)}
.ag-fila-item.davez{background:rgba(201,162,39,.16);border-color:rgba(201,162,39,.5)}
.ag-fila-item.fora{opacity:.5}
.ag-fila-item.arrastando{opacity:.4;border-style:dashed;border-color:var(--dourado,#c9a227)}
.ag-fila-item[draggable=true]{cursor:grab}
.ag-fila-pos{width:20px;text-align:center;font-size:12px;font-weight:800;color:var(--dourado-claro,#e3c766);flex:0 0 auto}
.ag-fila-cor{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.ag-fila-nome{flex:1;min-width:0;font-size:13px;color:var(--creme,#f2ede1);line-height:1.25}
.ag-fila-nome em{font-style:normal;margin-left:6px;background:var(--dourado,#c9a227);color:#2b3024;
  border-radius:99px;font-size:9.5px;padding:1px 7px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.ag-fila-nome small{display:block;color:var(--creme-sub,#9ea593);font-size:11px;margin-top:1px}
.ag-fila-bts{display:flex;gap:4px;flex:0 0 auto}
.ag-fila-bt{background:rgba(255,255,255,.07);border:1px solid var(--borda);color:var(--creme-dim,#c3c8b3);
  border-radius:7px;font-size:10.5px;padding:4px 8px !important;min-height:0 !important;cursor:pointer;white-space:nowrap}
.ag-fila-bt:hover{border-color:var(--dourado,#c9a227);color:var(--dourado-claro,#e3c766)}
.ag-fila-acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:11px;
  border-top:1px solid rgba(239,230,200,.14)}
.ag-fila-acoes .peq{font-size:11.5px;padding:6px 10px !important;min-height:0 !important}

@media(max-width:900px){ .ag-fila-painel{left:8px;right:8px;width:auto;top:96px} }

/* ============ BARRA DA AGENDA: fim da sobreposicao dos controles ============
   .ag2-centro tinha flex:1 e min-width:0, entao a CAIXA encolhia — mas os filhos
   (o seletor de profissional, a busca) nao encolhiam junto. Resultado: eles
   transbordavam da caixa e pintavam por cima de "Semana" e "Bloquear".
   A correcao: cada grupo pode quebrar para a linha de baixo em vez de espremer,
   e o seletor de profissional passa a ter permissao de encolher. */
.ag2-bar{row-gap:8px;column-gap:12px}
.ag2-nav{flex:0 1 auto;min-width:0;flex-wrap:wrap;row-gap:6px}
.ag2-centro{flex:1 1 300px;min-width:0;flex-wrap:wrap;row-gap:8px}
.ag2-acoes{flex:0 1 auto;min-width:0;flex-wrap:wrap;row-gap:8px}
.ag2-centro > *,.ag2-acoes > *{flex:0 0 auto}
.ag2-prof{flex:0 1 200px !important;min-width:130px}
.ag-busca{flex:0 0 auto}
.ag2-data{min-width:0}
.ag2-data strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Entre 900 e 1400px é onde a barra mais aperta: ali os rótulos dos botões
   secundários viram só ícone, para sobrar espaço sem quebrar em três linhas. */
@media(min-width:901px) and (max-width:1600px){
  #btn-bloquear span,#btn-painel span{display:none}
  #btn-recepcao{font-size:11px;padding:5px 9px}
  .ag2-prof{flex:0 1 170px !important;min-width:120px}
  .ag2-data strong{font-size:16px}
}


/* ====== HUB DO INÍCIO: BOTÕES EM ESQUADRO ======
   Os cards viram grade, não pilha flexível: ícone, título, descrição e chip
   ficam em faixas fixas, então o título de 3 linhas de um card não empurra a
   descrição do outro. O chip de prévia é preso embaixo (linha 1fr acima dele),
   o que deixa todos os cards do mesmo tamanho, com ou sem prévia. */
.hub-botoes{align-items:stretch}
@media(min-width:761px){
  .hub-botao{display:grid;grid-template-rows:auto auto 1fr auto;justify-items:center;
    gap:10px;height:100%;box-sizing:border-box}
  .hub-icone{grid-row:1;align-self:center}
  .hub-botao strong{grid-row:2;font-size:23px;line-height:1.2;min-height:3.6em;
    display:flex;align-items:center;justify-content:center;text-align:center}
  .hub-botao small{grid-row:3;text-align:center;align-self:start}
  .hub-prev{grid-row:4;margin:0;align-self:end}
}
@media(max-width:760px){
  .hub-botao{display:grid;grid-template-columns:46px 120px 1fr;align-items:center;
    column-gap:12px;row-gap:8px;min-height:96px;padding:14px 16px;text-align:left;box-sizing:border-box}
  .hub-icone{grid-column:1;grid-row:1;width:46px;height:40px;margin:0;align-self:center}
  .hub-botao strong{grid-column:2;grid-row:1;width:auto;max-width:none;font-size:14.5px;line-height:1.2;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .hub-botao small{grid-column:3;grid-row:1;font-size:11px;line-height:1.35;max-width:none;
    display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .hub-prev{grid-column:2 / -1;grid-row:2;justify-self:start;margin:0;white-space:normal}
}


/* ====== HUB: ESQUADRO DE VERDADE (v225) ======
   Três correções do que a tela mostrava mesmo com as faixas no lugar:
   1. Título encostado no TOPO da faixa reservada — antes ficava centralizado,
      então "Agenda" começava mais embaixo que "Gestão de Espaço de Beleza" e a
      leitura ficava escadinha.
   2. Descrição com a altura da maior (4 linhas) reservada para todas, então o
      chip de baixo cai no mesmo lugar em todo card.
   3. Chip de prévia vira uma barra igual em todos: mesma largura, mesma altura,
      uma linha só. Era ele o "ovo" da Ocupação 96%, que quebrava em duas linhas
      dentro de um border-radius de pílula. */
@media(min-width:761px){
  .hub-botao strong{align-items:flex-start;min-height:3.75em}
  .hub-botao small{min-height:6.2em;align-self:start}
  .hub-prev{display:block;width:100%;box-sizing:border-box;height:36px;line-height:26px;
    padding:4px 10px;border-radius:12px;text-align:center;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:760px){
  .hub-prev{display:block;width:100%;box-sizing:border-box;height:30px;line-height:22px;
    padding:3px 10px;border-radius:10px;text-align:center;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}


/* ====== HUB: O CARD EM DESTAQUE NAO PODE SAIR DO ESQUADRO (v227) ======
   1. O destaque usava border:2px enquanto os outros usam 1px. Como a borda entra
      no box model, TODO o conteudo daquele card descia 1px em relacao aos vizinhos.
      Agora o realce e feito so com box-shadow (nao ocupa espaco) e a borda continua
      com a mesma espessura dos demais.
   2. O chip do destaque ("Continue o passo a passo") nao cabia em uma linha e
      aparecia cortado com reticencias. Agora o chip aceita duas linhas dentro da
      MESMA altura fixa, centralizado - nenhum texto e cortado e a barra continua
      igual em todos os cards. */
.hub-botao.hub-destaque{border-color:var(--creme);
  box-shadow:0 0 0 2px var(--creme),0 0 0 6px rgba(239,230,200,.12),0 22px 55px rgba(0,0,0,.35)}
.hub-prev{display:flex !important;align-items:center;justify-content:center;
  white-space:normal !important;text-overflow:clip;
  -webkit-line-clamp:2;-webkit-box-orient:vertical}
@media(min-width:761px){ .hub-prev{height:40px;line-height:1.25;font-size:11px} }
@media(max-width:760px){ .hub-prev{height:34px;line-height:1.2;font-size:11px} }

/* ===================== AGENDA v12 — barra "a recepção escolhe" + espaçamento =====================
   Cada item da barra tem lugar fixo. Quando falta largura, primeiro some o TEXTO (fica o
   ícone); só abaixo de ~1150 px a barra vira duas linhas — sempre as mesmas duas linhas:
   em cima navegação + Novo, embaixo o resto. Nada é empurrado para baixo "do jeito que der".
   Pensada para tela de 1920: ali tudo cabe numa linha, com os textos inteiros. */
.ag2-bar.tbc{display:block;padding:10px 12px;container-type:inline-size;container-name:agbar}
.tbc-in{display:flex;align-items:center;gap:10px;min-width:0}
.tbc-in > *{flex:none}
.tbc-nav{display:flex;align-items:center;gap:6px;min-width:0;flex:0 1 auto}
.tbc-nav .ag2-data{min-width:0}
.tbc-esp{flex:1 1 0;min-width:0}
.tbc-quebra{display:none}
.tbc .ag2-toggle .peq{height:38px}
.tbc-prof-w{display:flex;flex:0 1 230px;min-width:150px;max-width:230px}
.tbc .ag2-prof{flex:1 1 auto !important;width:100% !important;max-width:none;min-width:0;height:38px;min-height:0}
.tbc .ag2-ico{height:38px;min-height:0}
.tbc-busca{display:inline-flex;align-items:center;gap:6px}
.tbc-busca #btn-busca{width:38px;padding:0;justify-content:center}
.tbc-busca input{width:200px;height:38px;min-height:0;margin:0}
/* espaçamento */
.tbc-dens{display:inline-flex;background:rgba(0,0,0,.18);border:1px solid var(--borda);border-radius:11px;padding:3px;height:38px;box-sizing:border-box}
.tbc-dens button{width:34px;height:30px;min-height:0;padding:0;border:0;border-radius:8px;background:transparent;color:var(--creme-dim);display:grid;place-items:center;cursor:pointer}
.tbc-dens button:hover{color:var(--creme);background:rgba(255,255,255,.08)}
.tbc-dens button.on{background:var(--creme);color:var(--oliva-profundo,#2b3024)}
.tbc-dens svg{width:16px;height:16px}
/* "⋯ Mais" */
.tbc-mais-wrap{position:relative}
.tbc .tbc-mais{width:38px;padding:0;justify-content:center}
.tbc-mais svg{width:18px;height:18px}
.tbc-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);min-width:250px;z-index:80;
  background:var(--cartao,#3d4234);border:1px solid var(--borda);border-radius:12px;padding:6px;box-shadow:0 16px 40px rgba(0,0,0,.5)}
.tbc-menu.aberto{display:block}
.tbc-menu > button{display:flex !important;align-items:center;gap:10px;width:100% !important;height:auto !important;min-height:0;
  padding:10px 12px !important;border:0 !important;border-radius:8px !important;background:transparent !important;
  color:var(--creme) !important;font-size:14px !important;text-align:left;justify-content:flex-start !important;white-space:nowrap}
.tbc-menu > button:hover{background:rgba(255,255,255,.09) !important}
.tbc-menu > button span{display:inline !important}
.tbc-menu > button svg{width:17px;height:17px;flex:none}
.tbc-menu > #btn-recepcao::before{content:"";width:17px;height:17px;flex:none;
  background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 8V4h4M20 8V4h-4M4 16v4h4M20 16v4h-4'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 8V4h4M20 8V4h-4M4 16v4h4M20 16v4h-4'/%3E%3C/svg%3E") center/contain no-repeat}
.tbc-menu > #btn-recepcao.on{color:var(--dourado-claro,#e3c766) !important;font-weight:700}
.tbc-menu > #btn-bloquear.ativa,.tbc-menu > #btn-painel[aria-expanded="true"]{color:var(--dourado-claro,#e3c766) !important}
.tbc-menu .tbc-so-estreito{display:none !important}
/* o bloqueio e o modo recepção ficam no menu, então a barra avisa quando estão ligados */
body.ag-modo-bloqueio .tbc-mais,body.ag-recepcao .tbc-mais,body.ag-painel-aberto .tbc-mais{border-color:var(--dourado,#c9a227);color:var(--dourado-claro,#e3c766)}
/* Novo agendamento */
.tbc .tbc-novo{height:40px;flex:none !important}
.tbc-novo em{font-style:normal}

@container agbar (max-width:1500px){
  .tbc-novo em{font-size:0} .tbc-novo em::after{content:"Novo";font-size:13.5px}
  .tbc .ag2-fila > span{display:none}
}
@container agbar (max-width:1330px){
  .tbc .ag2-comandas > span{display:none}
  .tbc .ag2-comandas{padding:0 10px}
  .tbc-prof-w{flex-basis:180px;max-width:180px}
  .tbc-busca input{width:150px}
}
/* abaixo disso: duas linhas fixas — navegação + Novo em cima, o resto embaixo */
@container agbar (max-width:1150px){
  .tbc-in{flex-wrap:wrap;row-gap:10px}
  .tbc-nav{order:1;flex:1 1 auto}
  .tbc-novo{order:2}
  .tbc-quebra{display:block;order:3;flex:0 0 100%;height:0}
  .tbc-vis,.tbc-prof-w,.tbc-busca,.tbc-dens,.tbc-esp,.tbc-com,#btn-fila,.tbc-mais-wrap{order:4}
}
/* celular: a escolha de espaçamento vai para o "⋯" e o seletor de profissional ganha a linha dele */
@container agbar (max-width:700px){
  .tbc-dens{display:none}
  .tbc-menu .tbc-so-estreito{display:flex !important}
  .tbc-nav{flex:1 1 0;min-width:0;gap:4px}
  .tbc-nav .ag2-data{flex:1 1 auto;min-width:0;padding:2px 4px}
  .tbc-nav .ag2-data strong{font-size:15px}
  .tbc-nav .ag2-seta{width:34px}
  .tbc-nav .ag2-hoje{padding:0 10px}
  .tbc-in > .tbc-prof-w{order:5;flex:1 1 100%;max-width:none;min-width:0}
  .tbc-novo em{display:none}
  .tbc .tbc-novo{width:44px;padding:0;justify-content:center}
  .tbc-busca input{width:130px}
}

/* ---- blocos: o nome da cliente quebra em até 2 linhas em vez de virar "Mariana Al…" ---- */
.ag-bloco strong{white-space:normal !important;display:-webkit-box !important;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;word-break:break-word;font-size:12.5px !important;line-height:1.2 !important}
.ag-bloco.ag-bloco-curto strong,body.ag-dens-compacta .ag-bloco strong{-webkit-line-clamp:1}
body.ag-dens-ampla .ag-bloco strong{font-size:13.5px !important}
body.ag-dens-ampla .ag-bloco span{font-size:11.5px !important}
body.ag-dens-compacta .ag-bloco span{display:none}

/* ===== HUB no celular: ícone dentro da coluna e chip com espaço ===== */
@media(max-width:760px){
  .hub-icone svg{width:100% !important;height:100% !important}
}
.hub-prev strong{margin-left:.35em}

/* ===================== CONTRATO — fiel ao Word 14.5 =====================
   Fonte Arial, cor #1A1A18, tamanhos em pt iguais ao .docx: título 16, subtítulo 11,
   "modelo" 8, notas 7,5, seções 12 centralizadas, cláusulas 11 à esquerda, corpo 11
   justificado com 3pt antes/depois; cláusula com 12pt antes e 5pt depois. */
.ct-word{font-family:Arial,Helvetica,sans-serif;color:#1A1A18;font-size:11pt;line-height:1.25;text-align:left}
.ct-word p{margin:3pt 0;text-align:justify}
.ct-word p.ct-titulo{font-size:16pt;text-align:center;margin:0 0 2pt}
.ct-word p.ct-sub{font-size:11pt;text-align:center;margin:0}
.ct-word p.ct-modelo{font-size:8pt;text-align:center;margin:6pt 0 0}
.ct-word p.ct-nota{font-size:7.5pt;text-align:center;margin:0}
.ct-word p.ct-secao{font-size:12pt;text-align:center;margin:16pt 0 6pt;page-break-after:avoid}
.ct-word p.ct-clausula{font-size:11pt;text-align:left;margin:12pt 0 5pt;page-break-after:avoid}
.ct-word p.ct-esq{text-align:left}
.ct-word p.ct-check{text-align:left;margin:2pt 0 2pt 18pt}
.ct-word p.ct-valor{text-align:left;margin:6pt 0}
.ct-word p.ct-centro{text-align:center}
.ct-word p.ct-ass-linha{text-align:center;margin:26pt 0 0;page-break-inside:avoid}
.ct-word p.ct-ass-dado{text-align:center;font-size:9pt;margin:0}
.ct-word ol.ct-ol{margin:2pt 0 4pt 0;padding-left:28pt}
.ct-word ol.ct-ol li{text-align:justify;margin:2pt 0}
.ct-word strong{font-weight:700}
.ct-word sup{font-size:.6em;vertical-align:super}
/* no leitor da tela, a fonte do Word também vale (sobrepõe o Georgia do .doc-corpo) */
.doc-corpo .ct-word{font-family:Arial,Helvetica,sans-serif !important}

/* ===================== ANEXOS E TERMOS: fotos, formulário e envio por documento ===================== */
/* documentos no estilo Word: fotos e blocos */
.ct-word .ct-bloco{margin:4pt 0 4pt 14pt}
.ct-word .ct-fotos{display:grid;grid-template-columns:repeat(3,1fr);gap:8pt;margin:6pt 0}
.ct-word figure.ct-foto{margin:0;border:1px solid #cfcfcf;padding:4px;break-inside:avoid;page-break-inside:avoid}
.ct-word figure.ct-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ct-word figure.ct-foto figcaption{font-size:8.5pt;font-weight:700;text-align:center;margin-top:3pt}
@media print{ .ct-word .ct-fotos{grid-template-columns:repeat(2,1fr)} }

/* lista de documentos (Opção A: um link por documento) */
.dv-doc-linha{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}
.dv-doc-linha .dv-item{margin:0;width:100%}
.dv-st{margin-left:auto;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:99px;background:rgba(239,230,200,.12);color:var(--creme-dim);font-style:normal;flex:none}
.st-pronto .dv-st{background:rgba(239,230,200,.2);color:var(--creme)}
.st-enviado .dv-st{background:rgba(224,162,90,.18);color:var(--laranja)}
.st-assinado .dv-st{background:rgba(141,222,154,.18);color:var(--ok)}
.dv-acoes{display:flex;gap:6px;padding:0 0 4px 34px;flex-wrap:wrap}
.dv-btn{height:28px;min-height:0;padding:0 10px;border-radius:8px;border:1px solid var(--borda);background:transparent;color:var(--creme-dim);font-size:12px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;cursor:pointer}
.dv-btn:hover{color:var(--creme);background:rgba(255,255,255,.08)}
.dv-btn.dv-zap{background:#25D366;border-color:#25D366;color:#0b2e17}
.dv-btn.dv-zap:hover{filter:brightness(1.05);color:#0b2e17}
.dv-btn.dv-todos{width:100%;justify-content:center;height:36px;margin-top:8px}
.chip-doc{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 11px;border-radius:99px;border:1px solid var(--borda);color:var(--creme-dim);white-space:nowrap}
.chip-doc.pronto{color:var(--creme)} .chip-doc.enviado{border-color:rgba(224,162,90,.5);color:var(--laranja)} .chip-doc.assinado{border-color:rgba(141,222,154,.5);color:var(--ok)}

/* tela de edição do anexo */
.ax-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:18px;align-items:start}
.ax-layout.auto{grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr)}
.ax-dir .doc-corpo{max-height:calc(100vh - 150px);position:sticky;top:80px}
.ax-drop{display:block;border:2px dashed rgba(239,230,200,.35);border-radius:14px;padding:22px 16px;text-align:center;color:var(--creme-dim);font-size:13.5px;background:rgba(0,0,0,.12);cursor:pointer;transition:border-color .15s,background .15s}
.ax-drop strong{color:var(--creme);display:block;margin-bottom:2px}
.ax-drop small{display:block;font-size:11.5px;margin-top:4px;opacity:.8}
.ax-drop.sobre,.ax-drop:hover{border-color:var(--creme);background:rgba(239,230,200,.08)}
.ax-cont{display:flex;align-items:center;gap:12px;margin:12px 0 8px;font-size:12.5px;color:var(--creme-dim)}
.ax-cont b{color:var(--creme)}
.ax-barra{flex:1;height:6px;border-radius:99px;background:rgba(0,0,0,.25);overflow:hidden}
.ax-barra i{display:block;height:100%;background:var(--ok);border-radius:99px;transition:width .2s}
.ax-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ax-foto{position:relative;background:rgba(0,0,0,.18);border:1px solid var(--borda);border-radius:12px;overflow:hidden;cursor:grab}
.ax-foto.arrastando{opacity:.4}
.ax-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#2a2c22}
.ax-num{position:absolute;top:6px;left:6px;background:var(--oliva-profundo,#2F3026);color:var(--creme);font-size:11px;font-weight:700;padding:2px 7px;border-radius:99px;z-index:2}
.ax-x{position:absolute;top:6px;right:6px;width:24px;height:24px;min-height:0;border-radius:50%;background:rgba(0,0,0,.6);border:0;color:#fff;font-size:12px;line-height:24px;padding:0;z-index:2}
.ax-mb{position:absolute;right:6px;bottom:42px;font-size:10px;background:rgba(0,0,0,.55);color:var(--creme-dim);padding:1px 6px;border-radius:99px}
.ax-leg{border:0 !important;border-top:1px solid var(--borda) !important;border-radius:0 !important;background:transparent !important;color:var(--creme) !important;height:38px !important;min-height:0 !important;padding:0 10px !important;font-size:12.5px !important;margin:0 !important;box-shadow:none !important}
.ax-rodape{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--borda)}
.ax-rodape .sub{margin:0;font-size:12.5px}
.ax-sec{margin:14px 0 6px;padding-top:10px;border-top:1px solid var(--borda)}
.ax-sec h3{margin:0 0 6px;font-size:15px}
.ax-item{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;padding:10px 34px 10px 10px;border:1px solid var(--borda);border-radius:12px;margin-bottom:8px;background:rgba(0,0,0,.12)}
.ax-item label{display:block;font-size:11.5px;color:var(--creme-dim);margin:0}
.ax-item label.largo{grid-column:1 / -1}
.ax-item input{width:100%;height:36px;min-height:0;padding:0 10px;font-size:13.5px;margin-top:3px}
.ax-sub{grid-column:1 / -1;padding:8px 10px;border:1px dashed var(--borda);border-radius:10px}
.ax-sub .sub{font-size:11.5px;margin:0 0 4px}
.ax-subitem{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-right:30px;margin-bottom:6px}
.ax-subitem label{font-size:11px;color:var(--creme-dim)}
.ax-rm{position:absolute;top:8px;right:8px;width:24px;height:24px;min-height:0;border-radius:50%;border:1px solid var(--borda);background:transparent;color:var(--creme-dim);font-size:11px;padding:0;line-height:22px}
.ax-rm:hover{color:var(--erro,#e07a7a);border-color:currentColor}
.ax-subrm{top:18px}
.ax-mais{margin-top:2px}
.ax-envio{margin-top:12px}
@media(max-width:900px){
  .ax-layout,.ax-layout.auto{grid-template-columns:minmax(0,1fr)}
  .ax-esq,.ax-dir,.ax-esq .cartao{min-width:0;max-width:100%}
  .ax-cont{flex-wrap:wrap}
  .ax-barra{flex:1 1 80px;min-width:60px}
  .ax-drop{word-break:break-word}
  .ax-dir .doc-corpo{position:static;max-height:none}
  .ax-grade{grid-template-columns:repeat(2,1fr)}
  .ax-item,.ax-subitem{grid-template-columns:1fr}
  .dv-acoes{padding-left:0}
}

/* ===== PAINEL DE DOCUMENTOS (Opção A) ===== */
.dp{padding:20px 22px;margin-bottom:18px}
.dp-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.dp-cab h2{margin:0;font-size:22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dp-cab .sub{margin:4px 0 0}
.dp-conta{font-family:inherit;font-size:13px;font-weight:600;color:#e3b06a;border:1.5px solid rgba(227,176,106,.6);border-radius:99px;padding:3px 12px;white-space:nowrap}
.dp-row{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:14px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.05);margin-bottom:10px;min-width:0}
.dp-row.st-assinado,.dp-row.st-aceito{background:rgba(120,190,120,.08);border-color:rgba(120,190,120,.18)}
.dp-num{flex:0 0 44px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:var(--creme);font-weight:700;font-size:16px}
.dp-num-principal{background:var(--creme);color:#2c3122}
.dp-num-principal svg{width:20px;height:20px}
.dp-txt{min-width:0;display:flex;flex-direction:column;gap:3px}
.dp-txt strong{font-size:17px;color:var(--creme);line-height:1.25}
.dp-txt small{font-size:13.5px;color:var(--creme-dim)}
.dp-txt small.pend{color:#e3b06a}
.dp-acoes{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}
.dp-chip{font-size:14px;font-weight:600;border-radius:99px;padding:7px 14px;border:1.5px solid rgba(255,255,255,.22);color:var(--creme-dim);white-space:nowrap}
.dp-chip.ok{color:#8fd48f;border-color:rgba(143,212,143,.6);background:rgba(143,212,143,.08)}
.dp-chip.env{color:#e3b06a;border-color:rgba(227,176,106,.6)}
.dp-btn{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:700;border-radius:12px;padding:10px 18px;border:1.5px solid rgba(255,255,255,.28);color:var(--creme);background:transparent;cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1}
.dp-btn:hover{background:rgba(255,255,255,.08)}
.dp-btn.dp-sec{border-color:rgba(255,255,255,.14);color:var(--creme-dim);font-weight:600;padding:10px 14px}
.dp-btn.dp-zap{background:#7fd68a;border-color:#7fd68a;color:#12301a}
.dp-btn.dp-zap:hover{background:#93e29d}
.dp-btn.dp-zap svg{width:16px;height:16px}
.dp-btn:disabled{opacity:.6;cursor:wait}
.dp-todos{flex-shrink:0}
/* leitor: seletor lateral volta ao simples */
.dv-nav .dv-item{width:100%}
@media(max-width:760px){
  .dp{padding:16px 14px}
  .dp-cab{flex-direction:column}
  .dp-cab h2{font-size:19px}
  .dp-todos{width:100%;justify-content:center}
  .dp-row{flex-wrap:wrap;gap:10px 12px;padding:12px 14px}
  .dp-num{flex-basis:36px;width:36px;height:36px;font-size:14px}
  .dp-txt{flex:1 1 calc(100% - 50px)}
  .dp-txt strong{font-size:15.5px}
  .dp-acoes{margin-left:0;width:100%;justify-content:flex-end;flex-wrap:wrap}
  .dp-acoes .dp-zap,.dp-acoes .dp-btn:not(.dp-sec){flex:1 1 auto;justify-content:center}
  .dp-chip{font-size:13px;padding:6px 12px}
}

/* ===== CONTRATO — layout D3 (lista fixa à esquerda, documento grande à direita) ===== */
.d3{display:grid;grid-template-columns:380px minmax(0,1fr);gap:20px;align-items:start}
.d3-lado{position:sticky;top:78px;display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 140px);overflow-y:auto;overscroll-behavior:contain;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(239,230,200,.3) transparent}
.d3-lado > *{flex:none}
.d3-lado::-webkit-scrollbar{width:6px}
.d3-lado::-webkit-scrollbar-thumb{background:rgba(239,230,200,.3);border-radius:99px}
.d3-cab{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:16px 18px}
.d3-cab h1{margin:0;font-size:22px;line-height:1.15}
.d3-cab .sub{margin:4px 0 0;font-size:12.5px}
.d3-cab .selo{flex:none;margin-top:3px}
.d3-lista{padding:14px 12px 12px}
.d3-lista-cab{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 6px 10px}
.d3-lista-cab h2{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--creme-dim)}
.d3-conta{font-size:12px;font-weight:700;color:#e3b06a;border:1.5px solid rgba(227,176,106,.55);border-radius:99px;padding:2px 10px;white-space:nowrap}
.d3-sep{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--creme-dim);padding:10px 6px 6px}
.d3-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 12px;border-radius:12px;background:rgba(0,0,0,.14);border:1px solid transparent;color:var(--creme);cursor:pointer;margin-bottom:6px;font:inherit;min-width:0}
.d3-item:hover{background:rgba(0,0,0,.22)}
.d3-item.ativa{background:rgba(239,230,200,.12);border-color:rgba(239,230,200,.45)}
.d3-item.st-assinado,.d3-item.st-aceito{background:rgba(120,190,120,.08)}
.d3-item.st-assinado.ativa,.d3-item.st-aceito.ativa{background:rgba(120,190,120,.16);border-color:rgba(143,212,143,.5)}
.d3-num{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.09);font-weight:700;font-size:14px}
.d3-num-p{background:var(--creme);color:#2c3122}
.d3-num-p svg{width:17px;height:17px}
.d3-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.d3-txt strong{font-size:13.5px;line-height:1.25}
.d3-txt small{font-size:12px;color:var(--creme-dim);line-height:1.3}
.d3-txt small.pend{color:#e3b06a}
.d3-chip{flex:none;font-size:10.5px;font-weight:700;border-radius:99px;padding:3px 8px;border:1.5px solid rgba(255,255,255,.2);color:var(--creme-dim);white-space:nowrap}
.d3-chip.ok{color:#8fd48f;border-color:rgba(143,212,143,.6);background:rgba(143,212,143,.08)}
.d3-chip.env{color:#e3b06a;border-color:rgba(227,176,106,.6)}
.d3-chip.ras{color:#e3b06a;border-style:dashed;border-color:rgba(227,176,106,.7)}
.d3-todos{width:100%;margin-top:8px;justify-content:center}
.d3-links{display:flex;flex-direction:column;gap:6px;padding:2px 8px}
.d3-links a,.d3-links button{font:inherit;font-size:13px;color:var(--creme-dim);text-decoration:none;background:none;border:0;padding:6px 8px;border-radius:8px;text-align:left;cursor:pointer;display:block;width:100%}
.d3-links a:hover,.d3-links button:hover{background:rgba(0,0,0,.18);color:var(--creme)}
.d3-links form{margin:0}
.d3-links .d3-perigo{color:#e8a0a0}
.d3-main{min-width:0;position:sticky;top:78px;display:flex;flex-direction:column;max-height:calc(100vh - 140px)}
.d3-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid rgba(255,255,255,.08);border-bottom:0;border-radius:16px 16px 0 0;padding:12px 16px;flex:none;z-index:5;background:rgba(66,72,55,.94)}
.d3-bar-tit{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;min-width:0;flex:1 1 240px}
.d3-bar-tit svg{width:18px;height:18px;flex:none}
.d3-bar-tit b{flex:none;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:12px}
.d3-bar-tit span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.d3-bar-acoes{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.d3-bar-nota{font-size:13px;color:var(--creme-dim);margin-right:4px}
.d3-btn{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:13.5px;font-weight:700;border-radius:10px;padding:9px 14px;border:1.5px solid rgba(255,255,255,.28);color:var(--creme);background:transparent;cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1}
.d3-btn:hover{background:rgba(255,255,255,.08)}
.d3-btn svg{width:15px;height:15px}
.d3-btn.d3-sec{border-color:rgba(255,255,255,.14);color:var(--creme-dim);font-weight:600}
.d3-btn.d3-zap{background:#7fd68a;border-color:#7fd68a;color:#12301a}
.d3-btn.d3-zap:hover{background:#93e29d}
.d3-btn.d3-primario{background:var(--creme);border-color:var(--creme);color:#2c3122}
.d3-btn:disabled{opacity:.6;cursor:wait}
.d3-pop-wrap{position:relative}
.d3-pop{display:none;position:absolute;right:0;top:calc(100% + 8px);z-index:20;background:#3f4536;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px;width:320px;box-shadow:0 14px 40px rgba(0,0,0,.4);flex-direction:column;gap:8px}
.d3-pop.aberto{display:flex}
.d3-pop label{font-size:12px;color:var(--creme-dim)}
.d3-pop input{width:100%}
.d3-doc{border-radius:0 0 16px 16px;flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain}
.d3-selo{flex:none;max-height:40vh;overflow-y:auto}
.d3-selo{margin-bottom:14px}
.d3-selo .cartao{border-radius:16px}
@media(max-width:1200px){ .d3{grid-template-columns:340px minmax(0,1fr)} .d3-item{gap:10px;padding:10px} .d3-num{flex-basis:30px;width:30px;height:30px;font-size:13px} }
@media(max-width:900px){
  .d3{grid-template-columns:1fr;gap:14px}
  .d3-lado{position:static;max-height:none;overflow:visible;padding-right:0}
  .d3-main{position:static;max-height:none;display:block}
  .d3-doc{overflow:visible;max-height:none}
  .d3-bar{position:static;border-radius:14px 14px 0 0;padding:10px 12px;gap:8px}
  .d3-bar-tit{flex-basis:100%;font-size:14px}
  .d3-bar-acoes{margin-left:0;width:100%}
  .d3-bar-acoes .d3-zap,.d3-bar-acoes .d3-primario{flex:1 1 auto;justify-content:center}
  .d3-pop{position:fixed;left:12px;right:12px;top:auto;bottom:80px;width:auto}
  .d3-doc{min-height:0;padding:20px 16px}
  .d3-cab h1{font-size:19px}
  .d3-txt strong{font-size:13.5px}
}

/* ===== D3 — editor embutido abaixo do item (fotos / formulário) ===== */
.d3-edit{margin:-2px 0 10px;padding:12px 12px 12px;border-radius:0 0 14px 14px;background:rgba(0,0,0,.22);border:1px solid rgba(239,230,200,.18);border-top:0}
.d3-item.ativa + .d3-edit{border-color:rgba(239,230,200,.35)}
.d3-item.ativa:has(+ .d3-edit:not([style*="none"])){border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:0}
.d3-edit-dica{margin:0 0 10px;font-size:12.5px;color:var(--creme-dim);line-height:1.4}
.d3-edit-dica strong,.d3-edit-dica em{color:var(--creme)}
.d3-fotos{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.d3-foto{position:relative;background:rgba(0,0,0,.2);border:1px solid var(--borda);border-radius:12px;overflow:hidden}
.d3-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#2a2c22}
.d3-foto-n{position:absolute;top:6px;left:6px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
.d3-foto-x{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;min-height:0}
.d3-foto-x:hover{background:#b64a3f}
.d3-leg{width:100%;border:0;border-top:1px solid var(--borda);border-radius:0;background:rgba(0,0,0,.18);color:var(--creme);font-size:12.5px;padding:8px 9px;min-height:0;height:auto}
.d3-leg:focus{outline:none;background:rgba(239,230,200,.1)}
.d3-leg::placeholder{color:var(--creme-dim);opacity:.8}
.d3-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;aspect-ratio:4/3;min-height:120px;border:2px dashed rgba(239,230,200,.4);border-radius:12px;background:rgba(0,0,0,.12);cursor:pointer;color:var(--creme);text-align:center;padding:8px;transition:background .15s,border-color .15s}
.d3-add:hover{border-color:var(--creme);background:rgba(239,230,200,.08)}
.d3-add-ico{font-size:26px;line-height:1}
.d3-add-txt{font-weight:700;font-size:13px}
.d3-add small{font-size:11px;color:var(--creme-dim)}
.d3-add.enviando{opacity:.55;pointer-events:none}
.d3-edit-rodape{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--borda)}
.d3-edit-msg{font-size:12px;color:var(--creme-dim)}
.d3-edit-btns{display:flex;gap:6px;flex-wrap:wrap}
.d3-edit .peq{min-height:34px;padding:0 12px;font-size:12.5px}
.d3-edit .d3-sec{margin:10px 0 4px;padding-top:8px}
.d3-edit .d3-sec:first-of-type{margin-top:0;border-top:0;padding-top:0}
.d3-edit .d3-sec h3{font-size:13.5px;margin:0 0 6px}
.d3-edit .ax-item{grid-template-columns:1fr;gap:6px;padding:8px 30px 8px 8px}
.d3-edit .ax-item input{height:34px;font-size:13px}
.d3-edit .ax-rm{top:6px;right:6px}
.d3-edit .ax-sub{padding:6px 8px}
.d3-edit .ax-subitem{display:grid;grid-template-columns:1fr 1fr;gap:6px;position:relative;padding-right:26px;margin-bottom:6px}
.d3-edit .ax-subitem label{font-size:11px;color:var(--creme-dim)}
.d3-edit .ax-subitem input{width:100%;height:32px;min-height:0;font-size:12.5px;padding:0 8px;margin-top:2px}
.d3-edit .ax-mais{margin-top:2px}
/* barra: mostra a ação certa conforme o status do anexo */
.d3-bar .so-rascunho,.d3-bar .so-pronto{display:none}
.d3-bar.st-rascunho .so-rascunho{display:inline}
.d3-bar.st-pronto .so-pronto,.d3-bar.st-enviado .so-pronto{display:inline-flex}
@media(max-width:900px){ .d3-fotos{grid-template-columns:repeat(2,1fr)} }
.d3-edit-cont{font-size:12px;color:var(--creme-dim)}
/* tela do contrato (D3): página não rola no desktop — só o documento */
@media(min-width:901px){ main.conteudo:has(> #d3){padding-bottom:16px} }
@media(min-width:901px){ html:has(#d3){overflow-y:hidden} }

/* ===== Precificação de serviços — Tempo & jornada simplificado ===== */
.tj{display:flex;flex-direction:column;gap:6px}
.tj-bloco{padding:4px 0 6px}
.tj-rot{display:block;font-size:14px;font-weight:600;color:var(--creme);margin:0 0 8px}
.tj-linha{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.tj-min{display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.14);border:1px solid var(--borda);border-radius:12px;padding:0 12px 0 0;height:50px}
.tj-min input{width:96px;height:48px;border:0;background:transparent;font-size:22px;font-weight:700;text-align:right;padding:0 4px 0 12px;min-height:0;margin:0;-moz-appearance:textfield}
.tj-min input::-webkit-outer-spin-button,.tj-min input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tj-min input:focus{outline:none;box-shadow:none}
.tj-min span{font-size:14px;color:var(--creme-dim);font-weight:600}
.tj-chips{display:flex;gap:6px;flex-wrap:wrap}
.tj-chip{font:inherit;font-size:13.5px;font-weight:700;min-height:0;height:38px;padding:0 13px;border-radius:99px;border:1.5px solid rgba(239,230,200,.28);background:transparent;color:var(--creme);cursor:pointer}
.tj-chip:hover{background:rgba(239,230,200,.1)}
.tj-chip.ativa{background:var(--creme);border-color:var(--creme);color:#2c3122}
.tj-conv{font-size:13.5px;color:var(--creme-dim);white-space:nowrap}
.tj-jornada{margin:10px 0 0;font-size:13px;color:var(--creme-dim)}
.tj-jornada b{color:var(--creme);font-weight:600}
.tj-ajustar{font:inherit;font-size:12.5px;color:var(--creme);background:none;border:0;border-bottom:1px dashed rgba(239,230,200,.5);padding:0 0 1px;margin-left:8px;cursor:pointer;min-height:0;height:auto;border-radius:0}
.tj-ajustar:hover{border-bottom-style:solid}
.tj-jp{margin-top:10px;padding:12px 14px;border-radius:12px;background:rgba(0,0,0,.14);border:1px dashed var(--borda);max-width:560px}
.tj-jp[hidden]{display:none}
.tj-toggle{display:flex;align-items:center;gap:10px;margin:8px 0 2px;padding:10px 0;border-top:1px solid var(--borda);cursor:pointer;font-size:14px;color:var(--creme);user-select:none}
.tj-toggle input{position:absolute;opacity:0;width:0;height:0}
.tj-switch{width:40px;height:22px;border-radius:99px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.15);position:relative;transition:background .15s;flex:none}
.tj-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--creme-dim);transition:transform .15s,background .15s}
.tj-toggle input:checked + .tj-switch{background:#7fd68a;border-color:#7fd68a}
.tj-toggle input:checked + .tj-switch:after{transform:translateX(18px);background:#12301a}
.tj-aux[hidden]{display:none}
@media(max-width:700px){
  .tj-linha{gap:10px}
  .tj-min{height:46px}.tj-min input{width:82px;font-size:20px;height:44px}
  .tj-chip{height:36px;padding:0 11px;font-size:13px}
  .tj-conv{width:100%}
  .tj-jp{grid-template-columns:1fr 1fr}
}

/* ===== PREÇOS DE SERVIÇOS — layout A (formulário 2 colunas + resultado fixo) ===== */
.psA-lista{padding:14px 16px}
.psA-lista-cab{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.psA-lista-tit{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--creme-dim);font-weight:700}
.psA-lista-cab .sub{margin:0;font-size:12.5px}
.psA-lista-cab .botao{margin-left:auto}
.psA-chips{display:flex;gap:8px;flex-wrap:wrap}
.psA-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:12px;background:rgba(0,0,0,.16);border:1px solid transparent;color:var(--creme);text-decoration:none;font-size:13px;max-width:100%}
.psA-chip:hover{background:rgba(0,0,0,.24)}
.psA-chip.sel{border-color:rgba(239,230,200,.5);background:rgba(239,230,200,.12)}
.psA-chip b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.psA-chip span{color:var(--creme-dim);font-size:12px;white-space:nowrap}
.psA-chip i{font-style:normal;font-size:11px;font-weight:700;border-radius:99px;padding:2px 7px;border:1px solid rgba(255,255,255,.2);color:var(--creme-dim);white-space:nowrap}
.psA-chip i.ok{color:#8fd48f;border-color:rgba(143,212,143,.6)}
.psA-chip i.amb{color:#e3b06a;border-color:rgba(227,176,106,.6)}
.psA-chip i.bad{color:#e8a0a0;border-color:rgba(232,160,160,.55)}
.psA{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start;margin-top:14px}
.psA-esq{min-width:0}
.psA-esq .cartao{margin-bottom:14px}
.psA-h2{display:flex;align-items:center;gap:10px;font-size:15px;margin:18px 0 8px;letter-spacing:.02em}
.psA-h2 span{width:26px;height:26px;border-radius:50%;background:var(--creme);color:#2c3122;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;font-family:inherit}
.psA-h2 small{font-size:12px;color:var(--creme-dim);font-weight:500;letter-spacing:0}
.psA-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;align-items:start}
.psA-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 20px;align-items:start}
.psA .f{display:flex;flex-direction:column;min-width:0}
.psA .f > label{font-size:13px;color:var(--creme-dim);margin:0 0 6px;line-height:1.3;min-height:0}
.psA .f > label .sub{font-size:12px;margin:0;display:inline}
.psA .f input,.psA .f .campo-afixo input{height:46px;box-sizing:border-box;margin:0;width:100%}
.psA .f input.grande,.psA .f .campo-afixo input.grande{height:54px;font-size:20px;font-weight:700}
.psA-seg{display:flex;background:rgba(0,0,0,.16);border:1px solid var(--borda);border-radius:12px;padding:3px;gap:3px;height:46px;box-sizing:border-box}
.psA-seg button{flex:1;font:inherit;font-size:13.5px;font-weight:600;border:0;border-radius:9px;background:transparent;color:var(--creme-dim);cursor:pointer;min-height:0;height:auto;padding:0 10px}
.psA-seg button.ativa{background:var(--creme);color:#2c3122;font-weight:700}
.psA-ajuda{display:block;margin-top:6px;font-size:12px;color:var(--creme-dim)}
.psA-uso{white-space:nowrap;color:var(--creme);font-weight:600}
.psA-dobra{padding:0;overflow:hidden}
.psA-dobra summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;user-select:none}
.psA-dobra summary::-webkit-details-marker{display:none}
.psA-dobra-ico{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex:none;font-size:16px}
.psA-dobra-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.psA-dobra-txt b{font-size:14.5px}
.psA-dobra-txt small{font-size:12px;color:var(--creme-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.psA-dobra-btn{font-size:12.5px;color:var(--creme);border-bottom:1px dashed rgba(239,230,200,.5);white-space:nowrap}
.psA-dobra[open] .psA-dobra-btn{border-bottom-style:solid}
.psA-dobra[open] summary{border-bottom:1px solid var(--borda)}
.psA-dobra-corpo{padding:16px 18px 18px}
.psA-check{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;color:var(--creme-dim);cursor:pointer}
.psA-check input{width:16px;height:16px;margin:0;accent-color:#7fd68a}
.psA-off{opacity:.45;pointer-events:none}
.psA-dir{position:sticky;top:84px}
.psA-painel{display:flex;flex-direction:column;gap:12px;padding:18px}
.psA-painel-tit{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--creme-dim);font-weight:700}
.psA-kpi{background:rgba(0,0,0,.16);border:1px solid var(--borda);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.psA-kpi small{font-size:12px;color:var(--creme-dim)}
.psA-kpi b{font-size:22px;line-height:1.15;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.psA-kpi.dest{background:rgba(127,214,138,.1);border-color:rgba(127,214,138,.4)}
.psA-kpi.dest b{color:#8fd48f;font-size:28px}
.psA-mini{font-size:11.5px;color:var(--creme-dim);margin-top:2px}
.psA-mini em{font-style:normal;color:var(--creme)}
.psA-pct{font-style:normal;font-size:12px;font-weight:700;border-radius:99px;padding:3px 9px;border:1.5px solid rgba(255,255,255,.2);color:var(--creme-dim)}
.psA-pct.ok{color:#8fd48f;border-color:rgba(143,212,143,.6)}
.psA-pct.amb{color:#e3b06a;border-color:rgba(227,176,106,.6)}
.psA-salvar{width:100%;margin-top:4px}
.psA-excluir{background:none;border:0;color:#e8a0a0;font:inherit;font-size:12.5px;cursor:pointer;min-height:0;padding:4px;align-self:center}
.psA-excluir:hover{text-decoration:underline}
@media(max-width:1200px){ .psA{grid-template-columns:minmax(0,1fr) 300px;gap:16px} }
@media(max-width:900px){
  .psA{grid-template-columns:1fr}
  .psA-dir{position:static}
  .psA-g2,.psA-g3{grid-template-columns:1fr 1fr;gap:12px}
  .psA-dobra-txt small{white-space:normal}
  .psA-chip b{max-width:160px}
}
@media(max-width:560px){ .psA-g2,.psA-g3{grid-template-columns:1fr} .psA-lista-cab .botao{margin-left:0;width:100%} }
.psA #tb-insumos td:nth-child(3),.psA #tb-insumos td:nth-child(5){width:100px}
.psA #tb-insumos td:nth-child(4){width:140px}
.psA #tb-insumos td:nth-child(1){width:70px}
.psA #tb-insumos input{min-width:0}

/* ===== HUB — módulo em desenvolvimento ===== */
.hub-botao.hub-dev{opacity:.62;filter:saturate(.6);cursor:default}
.hub-botao.hub-dev:hover{transform:none}
.hub-tag-dev{position:absolute;top:12px;right:12px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#e3b06a;border:1.5px solid rgba(227,176,106,.7);border-radius:99px;padding:3px 9px;background:rgba(0,0,0,.25);z-index:2}
.hub-botao.hub-dev .hub-prev{color:#e3b06a}
@media(max-width:900px){ .hub-tag-dev{top:8px;right:8px;font-size:9px;padding:2px 7px} }

/* ===== INÍCIO — cartões "metal escovado + ícone em relevo" ===== */
.hub-metal .hub-botao{
  border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:36px 22px 30px;gap:12px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,.04) 38%,rgba(255,255,255,0) 55%,rgba(0,0,0,.18) 100%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px),
    linear-gradient(180deg,#535a46,#454b39);
  backdrop-filter:none;-webkit-backdrop-filter:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -1px 0 rgba(0,0,0,.45),0 16px 36px rgba(0,0,0,.35);
}
.hub-metal .hub-botao:hover{transform:translateY(-7px);border-color:rgba(255,255,255,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,0,0,.45),0 30px 56px rgba(0,0,0,.5)}
.hub-metal .hub-botao.hub-destaque{box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 0 0 4px rgba(239,230,200,.14),0 16px 36px rgba(0,0,0,.35)}
.hm-serial{position:absolute;top:14px;right:16px;font:600 10px/1 'Space Grotesk',Inter,sans-serif;letter-spacing:.2em;color:rgba(239,230,200,.45)}
/* pastilha em relevo com o ícone (mesmo desenho de hoje, em cima da cor do módulo) */
.hub-metal .hub-icone{
  width:112px;height:88px;border-radius:24px;display:flex;align-items:center;justify-content:center;color:#2c3122;filter:none;
  box-shadow:inset 2px 2px 4px rgba(255,255,255,.35),inset -2px -3px 6px rgba(0,0,0,.35),0 8px 16px rgba(0,0,0,.3),0 1px 0 rgba(255,255,255,.2);
  transition:transform .25s,box-shadow .25s;
}
.hub-metal .hub-botao:hover .hub-icone{transform:translateY(-2px);box-shadow:inset 2px 2px 4px rgba(255,255,255,.4),inset -2px -3px 6px rgba(0,0,0,.35),0 14px 24px rgba(0,0,0,.35)}
.hub-metal .hub-botao:active .hub-icone{transform:translateY(1px);box-shadow:inset 1px 1px 3px rgba(255,255,255,.25),inset -1px -1px 3px rgba(0,0,0,.35),0 3px 6px rgba(0,0,0,.3)}
.hub-metal .hub-icone svg{width:72px;height:54px;filter:drop-shadow(0 1px 0 rgba(255,255,255,.35))}
.hub-metal .hm-1 .hub-icone{background:linear-gradient(145deg,#f1e8cd,#b9b08e)}
.hub-metal .hm-2 .hub-icone{background:linear-gradient(145deg,#bfdcea,#7fa9bf)}
.hub-metal .hm-3 .hub-icone{background:linear-gradient(145deg,#b8e4b8,#6fb37a)}
.hub-metal .hm-4 .hub-icone{background:linear-gradient(145deg,#f1cfc5,#cf9689)}
.hub-metal .hm-5 .hub-icone{background:linear-gradient(145deg,#d9cdeb,#a996c6)}
/* título e descrição: mesmas fontes/tamanhos de hoje, centralizados */
.hub-metal .hub-botao strong{text-align:center;text-shadow:0 1px 0 rgba(255,255,255,.12),0 -1px 0 rgba(0,0,0,.45)}
.hub-metal .hub-botao small{text-align:center}
/* status vira LED */
.hub-metal .hub-prev{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:5px 14px 5px 11px;background:rgba(0,0,0,.22);border-color:rgba(255,255,255,.14);color:var(--creme)}
.hub-metal .hub-prev:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:#9a9a8a;box-shadow:inset 0 0 2px rgba(255,255,255,.7)}
.hub-metal .hub-prev.ok:before,.hub-metal .hub-prev.on:before{background:var(--ok);box-shadow:0 0 10px var(--ok),inset 0 0 2px rgba(255,255,255,.8)}
.hub-metal .hub-prev.alerta:before{background:var(--laranja,#e3b06a);box-shadow:0 0 10px var(--laranja,#e3b06a),inset 0 0 2px rgba(255,255,255,.8)}
.hub-metal .hub-prev.ok,.hub-metal .hub-prev.on,.hub-metal .hub-prev.alerta{background:rgba(0,0,0,.22);color:var(--creme)}
.hub-metal .hub-botao.hub-dev{opacity:.62;filter:saturate(.5)}
.hub-metal .hub-dev .hub-tag-dev{top:12px;left:14px;right:auto;transform:none}
.hub-metal .hub-dev .hm-serial{top:14px}
@media(max-width:900px){
  .hub-metal .hub-botao{padding:26px 14px 22px}
  .hub-metal .hub-icone{width:84px;height:66px;border-radius:18px}
  .hub-metal .hub-icone svg{width:54px;height:40px}
  .hm-serial{font-size:9px;top:10px;right:12px}
  .hub-metal .hub-dev .hub-tag-dev{top:9px;left:10px}
}
.hub-metal .hub-dev .hm-serial{display:none}
/* pílulas de status: mesma largura, mesma altura, uma linha, alinhadas no rodapé de todos os cartões */
.hub-metal .hub-botao{height:100%}
.hub-metal .hub-botao small{flex:1}
.hub-metal .hub-prev,.hub-metal .hub-prev.on,.hub-metal .hub-prev.ok,.hub-metal .hub-prev.alerta{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:40px;margin-top:auto;padding:0 14px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;line-height:1;border-radius:12px;
  background:rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 2px rgba(0,0,0,.35),0 1px 0 rgba(255,255,255,.08);color:var(--creme)}
.hub-metal .hub-prev:before{flex:none;width:8px;height:8px}
.hub-metal .hub-prev strong{margin-left:0}
.hub-metal .hub-prev > span,.hub-metal .hub-prev > strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){ .hub-metal .hub-prev,.hub-metal .hub-prev.on,.hub-metal .hub-prev.ok,.hub-metal .hub-prev.alerta{height:36px;font-size:11.5px;padding:0 10px} }
.hub-metal .hub-prev{white-space:nowrap !important;text-overflow:ellipsis;display:flex !important;line-height:1;font-size:11.5px;letter-spacing:-.01em}
@media(max-width:1300px){ .hub-metal .hub-prev{font-size:11px;padding:0 10px;gap:6px} }
@media(max-width:1200px){ .hub-metal .hub-prev{font-size:10.5px;padding:0 8px;gap:5px} }
/* status sem caixa: só o LED e o texto; descrição justificada */
.hub-metal .hub-prev,.hub-metal .hub-prev.on,.hub-metal .hub-prev.ok,.hub-metal .hub-prev.alerta{
  background:none !important;border:0 !important;box-shadow:none !important;height:auto;padding:6px 0 0;
  font-size:12.5px;font-weight:600;letter-spacing:.01em;color:var(--creme-dim);border-top:1px solid rgba(255,255,255,.1) !important;
  width:100%;justify-content:center;gap:8px}
.hub-metal .hub-prev.ok,.hub-metal .hub-prev.on{color:var(--ok)}
.hub-metal .hub-prev.alerta{color:var(--laranja,#e3b06a)}
.hub-metal .hub-prev strong{color:var(--creme);margin-left:.3em}
.hub-metal .hub-botao small{text-align:justify;text-align-last:center;hyphens:auto;-webkit-hyphens:auto;max-width:100%;padding:0 2px}
@media(max-width:1200px){ .hub-metal .hub-prev{font-size:11.5px;padding:6px 0 0} }
/* status: texto corrido centralizado (pode quebrar), LED inline, strong herda a fonte */
.hub-metal .hub-prev,.hub-metal .hub-prev.on,.hub-metal .hub-prev.ok,.hub-metal .hub-prev.alerta{
  display:block !important;white-space:normal !important;text-align:center;line-height:1.35;overflow:visible;text-overflow:clip;padding:8px 4px 0}
.hub-metal .hub-prev:before{display:inline-block;vertical-align:middle;margin:-2px 7px 0 0}
.hub-metal .hub-prev strong{font:inherit;font-family:inherit;font-size:inherit;font-weight:700;text-shadow:none;margin-left:.25em;color:var(--creme)}
.hub-metal .hub-prev strong{display:inline !important;width:auto !important;max-width:none !important;line-height:inherit;-webkit-line-clamp:unset;overflow:visible}

/* ===== INÍCIO — anel (C4): SA no centro, módulos em anel ===== */
.hub-anel .hub-logo{max-width:96px;opacity:.85;margin-bottom:0}
.hub-anel .hub-ola{margin-top:2px}
.hub-anel .hub-data{margin-bottom:0}
.anel-wrap{position:relative;width:1200px;height:560px;margin:0 auto;transform-origin:top center;user-select:none}
.anel-fios{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.anel-fios .fio{stroke:rgba(239,230,200,.24);stroke-width:1.6}
.anel-fios .anel-orbita{fill:none;stroke:rgba(239,230,200,.09);stroke-width:1;stroke-dasharray:3 9}
.anel-fios .raio{stroke:url(#anelRay);stroke-width:4;stroke-linecap:round;stroke-dasharray:22 400;stroke-dashoffset:422;opacity:0;filter:drop-shadow(0 0 4px rgba(255,246,220,.7))}
.anel-wrap.on .raio{opacity:1;animation:anelRaio 1.4s linear infinite}
.anel-wrap.on .raio.r1{animation-delay:.18s}.anel-wrap.on .raio.r2{animation-delay:.36s}.anel-wrap.on .raio.r3{animation-delay:.54s}.anel-wrap.on .raio.r4{animation-delay:.72s}
@keyframes anelRaio{from{stroke-dashoffset:422}to{stroke-dashoffset:0}}
.anel-wrap[data-foco] .fio{stroke:rgba(239,230,200,.14)}

.anel-core{position:absolute;left:600px;top:190px;width:190px;height:190px;margin:-95px 0 0 -95px;border-radius:50%;
  background:radial-gradient(circle at 38% 32%,#fbf5e0 0,#efe6c8 55%,#d9cfaa 100%);
  box-shadow:0 18px 44px rgba(0,0,0,.45),inset 0 -6px 14px rgba(120,110,70,.28),inset 0 3px 8px #fff9;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#2c3122;cursor:default;outline:none;z-index:2;transition:transform .35s}
.anel-core .sa{font-size:56px;font-weight:900;letter-spacing:-2px;line-height:1}
.anel-core small{font-size:15px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-top:2px}
.anel-core .sub{font-size:11px;opacity:.7;margin-top:6px;font-style:italic}
.anel-core .onda{position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(239,230,200,.55);opacity:0;pointer-events:none}
.anel-wrap.on .anel-core{transform:scale(1.04)}
.anel-wrap.on .onda{animation:anelOnda 1.8s ease-out infinite}
.anel-wrap.on .onda.o2{animation-delay:.6s}.anel-wrap.on .onda.o3{animation-delay:1.2s}
@keyframes anelOnda{0%{transform:scale(1);opacity:.75}100%{transform:scale(1.75);opacity:0}}

.anel-no{position:absolute;display:flex;flex-direction:column;align-items:center;text-align:center;color:#efe6c8;text-decoration:none;transform:translate(-50%,-50%);width:240px;transition:transform .3s}
.anel-no:hover{transform:translate(-50%,-50%) scale(1.04)}
/* posições (elipse 520×230, centro 700,310): -140°, -40°, 20°, 90°, 160° */
.anel-no.n1{left:300px;top:190px}
.anel-no.n2{left:900px;top:190px}
.anel-no.n3{left:330px;top:420px}
.anel-no.n4{left:600px;top:480px;width:280px}
.anel-no.n5{left:870px;top:420px}
.anel-tile{display:flex;align-items:center;justify-content:center;border-radius:34px;color:#2c3122;
  box-shadow:0 9px 0 var(--esp,#8a8264),0 22px 34px rgba(0,0,0,.45),inset 0 2px 0 #fffa,inset 0 -4px 8px rgba(0,0,0,.12);transition:box-shadow .3s,transform .3s}
.anel-no:hover .anel-tile{transform:translateY(4px);box-shadow:0 5px 0 var(--esp,#8a8264),0 14px 24px rgba(0,0,0,.45),inset 0 2px 0 #fffa}
.anel-no.big .anel-tile{width:136px;height:136px}
.anel-no.big .anel-tile svg{width:74px;height:56px}
.anel-no.sm .anel-tile{width:92px;height:92px;border-radius:26px}
.anel-no.sm .anel-tile svg{width:52px;height:40px}
.anel-no strong{display:block;margin-top:12px;font-weight:800;line-height:1.15;letter-spacing:.2px}
.anel-no.big strong{font-size:21px}
.anel-no.sm strong{font-size:15px}
.anel-no small{display:block;margin-top:6px;font-size:12.5px;line-height:1.35;color:#c9c2a6;max-width:220px}
.anel-no.sm small{font-size:11.5px;max-width:190px}
/* paleta identidade Autentis */
.anel-tile.t1{--esp:#a89d78;background:linear-gradient(160deg,#f8f1d8,#cbc09a)}
.anel-tile.t2{--esp:#66744d;background:linear-gradient(160deg,#cbd6ae,#8a9a6d)}
.anel-tile.t3{--esp:#4f5a3c;background:linear-gradient(160deg,#adb891,#6c7854)}
.anel-tile.t4{--esp:#8a6a53;background:linear-gradient(160deg,#e0c7b0,#b08c72)}
.anel-tile.t5{--esp:#6d6a7c;background:linear-gradient(160deg,#c2bfce,#8d8a9d)}
.anel-no.anel-off{display:none}
.anel-no.hub-dev{opacity:.62;cursor:default}
.anel-no.hub-dev:hover{transform:translate(-50%,-50%)}
.anel-no .hub-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);z-index:3}
.anel-no.hub-destaque .anel-tile{box-shadow:0 9px 0 var(--esp),0 22px 34px rgba(0,0,0,.45),0 0 0 3px #8fd48f,inset 0 2px 0 #fffa}

@media(max-width:760px){
  .hub-anel .hub-logo{max-width:120px}
  .anel-wrap{width:100%;height:auto;transform:none!important;display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;padding:8px 4px 24px}
  .anel-fios{display:none}
  .anel-core{position:relative;left:auto;top:auto;margin:0 auto 6px;grid-column:1/-1;width:150px;height:150px}
  .anel-core .sa{font-size:44px}.anel-core small{font-size:13px}.anel-core .sub{font-size:10px}
  .anel-no{position:relative;left:auto!important;top:auto!important;transform:none!important;width:auto!important;padding:14px 8px 16px;border-radius:18px;background:rgba(0,0,0,.18);border:1px solid rgba(239,230,200,.12)}
  .anel-no:hover{transform:none!important}
  .anel-no.big{grid-column:span 1}
  .anel-no.n3,.anel-no.n5{order:0}.anel-no.n4{order:1}
  .anel-tile{box-shadow:0 6px 0 var(--esp,#8a8264),0 14px 24px rgba(0,0,0,.4),inset 0 2px 0 #fffa!important}
  .anel-no.sm{grid-column:span 1}
  .anel-no.n4{grid-column:1/-1}
  .anel-no.big .anel-tile{width:96px;height:96px;border-radius:22px}
  .anel-no.big .anel-tile svg{width:56px;height:42px}
  .anel-no.big strong{font-size:17px}
  .anel-no.sm .anel-tile{width:72px;height:72px;border-radius:18px}
  .anel-no.sm .anel-tile svg{width:42px;height:32px}
  .anel-no.sm strong{font-size:14px}
  .anel-no small{font-size:11.5px;max-width:none}
}

@media(min-width:761px){ html:has(#anel){overflow-y:hidden} main.conteudo:has(#anel){padding-bottom:0;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 70px)} .hub-anel{margin:0 auto} .anel-no.big .anel-tile{border-radius:38px} }

/* ===== INÍCIO — hub HX (fiel ao anexo autentis-inicio.html) ===== */
.hx{font-family:Figtree,Inter,sans-serif;color:#efe7cf;display:flex;flex-direction:column;align-items:center;padding:28px 12px 8px;-webkit-font-smoothing:antialiased}
.hx a{color:#efe7cf;text-decoration:none}
@keyframes hxRise{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@keyframes hxFade{from{opacity:0}to{opacity:1}}
@keyframes hxFlow{to{stroke-dashoffset:-40}}
@keyframes hxHalo{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.45);opacity:0}}
.hx-topo{display:flex;flex-direction:column;align-items:center;text-align:center;animation:hxRise .8s cubic-bezier(.2,.8,.2,1) both}
.hx-marca{font-family:'DM Serif Display',serif;font-size:56px;line-height:.9;letter-spacing:-3px;background:linear-gradient(135deg,#f1ead2,#9d9a86);-webkit-background-clip:text;background-clip:text;color:transparent}
.hx-sis{font-size:11px;letter-spacing:.14em;color:rgba(239,231,207,.7);margin-top:4px}.hx-sis b{color:#efe7cf}
.hx-ola{margin:14px 0 0;font-family:'DM Serif Display',serif;font-weight:400;font-size:60px;line-height:1.05;color:#f1ead2;text-shadow:0 4px 18px rgba(0,0,0,.35);display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}
.hx-ola svg{width:44px;height:44px;fill:none;stroke:#f1ead2;stroke-width:1.8;stroke-linecap:round}
.hx-data{margin:14px 0 0;font-size:18px;color:rgba(239,231,207,.85)}
.hx-palco{width:100%;max-width:1200px;margin-top:30px}
.hx-d{width:100%;aspect-ratio:1200/820;position:relative;container-type:inline-size}
.hx-fios{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:hxFade 1.4s .5s both}
.hx-rede{fill:none;stroke:#efe7cf;stroke-opacity:.13;stroke-width:1.2;stroke-dasharray:3 7}
.hx-linhas line{stroke:#efe7cf;stroke-width:1.6;stroke-opacity:.16;transition:stroke-opacity .25s}
.hx-linhas line.b{stroke-opacity:.28}
.hx-d[data-hov] .hx-linhas line{stroke-opacity:.1}.hx-d[data-hov] .hx-linhas line.b{stroke-opacity:.17}
.hx-d[data-hov=gestao] [data-l=gestao],.hx-d[data-hov=agenda] [data-l=agenda],.hx-d[data-hov=estoque] [data-l=estoque],.hx-d[data-hov=pessoal] [data-l=pessoal],.hx-d[data-hov=cursos] [data-l=cursos]{stroke-opacity:.75!important}
.hx-fluxo line{stroke:#f4ecd2;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:1 19;stroke-opacity:.7;animation:hxFlow 1.6s linear infinite}
.hx-fluxo line.f{stroke-opacity:.35}
.hx-core{position:absolute;left:39.5833cqw;top:16.25cqw;width:20.8333cqw;height:20.8333cqw;animation:hxRise .9s .15s cubic-bezier(.2,.8,.2,1) both}
.hx-halo{position:absolute;inset:0;border-radius:50%;border:.1667cqw solid rgba(241,234,210,.5);animation:hxHalo 2.8s ease-out infinite}
.hx-halo.h2{animation-delay:1.4s}
.hx-bola{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 38% 30%,#fffbea 0%,#f3ead0 45%,#ddd1ac 100%);box-shadow:0 2.5cqw 5cqw rgba(0,0,0,.4),0 0 0 .8333cqw rgba(241,234,210,.07),inset 0 -.8333cqw 2cqw rgba(150,130,80,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#22211c}
.hx-bola b{font-size:7.3333cqw;font-weight:800;line-height:.9;letter-spacing:-.3333cqw}
.hx-bola span{font-size:1.6667cqw;font-weight:800;letter-spacing:.26em;margin-top:.6667cqw;margin-right:-.26em}
.hx-bola em{font-family:'DM Serif Display',serif;font-style:italic;font-size:1.4167cqw;color:#6f6444;margin-top:.6667cqw}
.hx-no{position:absolute;display:flex;flex-direction:column;align-items:center;text-align:center;animation:hxRise .8s var(--d,.4s) cubic-bezier(.2,.8,.2,1) both}
.hx-no[data-id=gestao]{left:8.3333cqw;top:13.75cqw}.hx-no[data-id=agenda]{left:66.6667cqw;top:13.75cqw}.hx-no[data-id=estoque]{left:37.5cqw;top:42.9167cqw}
.hx-no[data-id=pessoal]{left:15cqw;top:46.5cqw;opacity:.9}.hx-no[data-id=cursos]{left:66.6667cqw;top:46.5cqw;opacity:.8}
.hx-no.g{width:25cqw}.hx-no.p{width:18.3333cqw}
.hx-tile{display:flex;align-items:center;justify-content:center;transition:transform .25s}
.hx-tile svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}
.hx-no.g .hx-tile{width:14.1667cqw;height:14.1667cqw;border-radius:3.6667cqw;box-shadow:0 1.1667cqw 0 -.1667cqw var(--e),0 2.8333cqw 3.6667cqw rgba(0,0,0,.38),inset 0 .1667cqw 0 rgba(255,255,255,var(--l,.6))}
.hx-no.g .hx-tile svg{width:6.1667cqw;height:6.1667cqw;stroke-width:1.4}
.hx-no[data-id=gestao] .hx-tile svg{width:6.5cqw;height:6.5cqw}
.hx-no.g:hover .hx-tile{transform:translateY(-.6667cqw)}
.hx-no.p .hx-tile{width:8.6667cqw;height:8.6667cqw;border-radius:2.5cqw;box-shadow:0 .75cqw 0 -.1667cqw var(--e),0 1.8333cqw 2.5cqw rgba(0,0,0,.34),inset 0 .1667cqw 0 rgba(255,255,255,var(--l,.5))}
.hx-no.p .hx-tile svg{width:3.6667cqw;height:3.6667cqw;stroke-width:1.6}
.hx-no.p:hover .hx-tile{transform:translateY(-.5cqw)}
.hx-tile.t1{background:linear-gradient(160deg,#faf4df 0%,#e9ddb9 100%);--e:#c8b98f;--l:.8;color:#2b2a22}
.hx-tile.t2{background:linear-gradient(160deg,#cbd8b2 0%,#9fb083 100%);--e:#74845c;--l:.6;color:#2b2f22}
.hx-tile.t3{background:linear-gradient(160deg,#b9c79e 0%,#879870 100%);--e:#5f6e49;--l:.55;color:#262a1d}
.hx-tile.t4{background:linear-gradient(160deg,#e6c6b2 0%,#c79d86 100%);--e:#98705c;--l:.5;color:#3a2a22}
.hx-tile.t5{background:linear-gradient(160deg,#a3a39c 0%,#7e7e79 100%);--e:#5a5a55;--l:.35;color:#26261f}
.hx-no.g strong{margin-top:2.5cqw;font-size:2.25cqw;font-weight:800;line-height:1.15;color:#f1ead2;text-wrap:balance}
.hx-no.g small{margin-top:.6667cqw;font-size:1.3333cqw;line-height:1.45;color:rgba(239,231,207,.82);text-wrap:pretty}
.hx-no.p strong{margin-top:1.8333cqw;font-size:1.5cqw;font-weight:700;color:#efe7cf;display:flex;align-items:center;gap:.6667cqw}
.hx-no.p small{margin-top:.3333cqw;font-size:1.1667cqw;line-height:1.4;color:rgba(239,231,207,.72)}
.hx-breve{font-size:.8333cqw;font-weight:800;letter-spacing:.1em;padding:.25cqw .6667cqw;border-radius:99px;background:rgba(239,231,207,.14);color:#efe7cf}
.hx-off{display:none!important}
.hx-dev{cursor:default}
.hx-badge{position:absolute;top:-1.4cqw;z-index:3;background:#8fd48f;color:#1f2a1a;font-size:1cqw;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.35cqw .9cqw;border-radius:99px;box-shadow:0 .4cqw 1cqw rgba(0,0,0,.3)}
.hx-no.hx-novo .hx-tile{outline:.25cqw solid #8fd48f;outline-offset:.4cqw}
/* mobile */
.hx-m{display:none;flex-direction:column;align-items:center;gap:14px}
.hx-bola.m{position:relative;inset:auto;width:190px;height:190px;box-shadow:0 24px 44px rgba(0,0,0,.4),0 0 0 8px rgba(241,234,210,.07);animation:hxRise .8s .1s both}
.hx-bola.m b{font-size:64px;letter-spacing:-3px}.hx-bola.m span{font-size:15px;letter-spacing:.24em;margin-top:6px;margin-right:0}.hx-bola.m em{font-size:14px;margin-top:6px}
.hx-haste{width:2px;height:24px;background:rgba(239,231,207,.25)}
.hx-lista{width:100%;max-width:440px;display:flex;flex-direction:column;gap:12px}
.hx-li{display:flex;align-items:center;gap:16px;padding:14px;border-radius:26px;background:rgba(239,231,207,.07);border:1px solid rgba(239,231,207,.1);animation:hxRise .7s var(--d) both}
.hx-li .hx-tile{flex:none;width:76px;height:76px;border-radius:22px;box-shadow:0 7px 0 -2px var(--e)}
.hx-li .hx-tile svg{width:34px;height:34px;stroke-width:1.6}
.hx-li strong{display:block;font-size:19px;font-weight:800;color:#f1ead2}
.hx-li small{display:block;font-size:14px;color:rgba(239,231,207,.78);margin-top:3px}
.hx-li.hx-novo{border-color:#8fd48f}
.hx-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px;animation:hxRise .7s var(--d) both}
.hx-mini{display:flex;align-items:center;gap:10px;padding:10px;border-radius:20px;background:rgba(239,231,207,.05)}
.hx-mini.hx-dev{opacity:.8}
.hx-mini .hx-tile{flex:none;width:48px;height:48px;border-radius:15px}
.hx-mini .hx-tile svg{width:24px;height:24px;stroke-width:1.8}
.hx-mini strong{font-size:14px;font-weight:700;color:#efe7cf}
@media(max-width:699px){
  .hx{padding-top:14px}.hx-d{display:none}.hx-m{display:flex}
  .hx-marca{font-size:44px}.hx-ola{font-size:34px;gap:10px}.hx-ola svg{width:28px;height:28px}.hx-data{font-size:15px;margin-top:8px}
  .hx-palco{margin-top:20px}
}
@media(min-width:700px){ html:has(#hx){overflow-y:hidden} main.conteudo:has(#hx){padding-bottom:0} }
body:has(#hx){background:radial-gradient(120% 90% at 50% 30%,#5a5c48 0%,#4a4c3d 45%,#3c3e32 100%) fixed!important}
.hx-logo{width:118px;height:auto;display:block}
.hx-bola .hx-sa{width:10.5cqw;height:auto;display:block;filter:drop-shadow(0 .15cqw .2cqw rgba(0,0,0,.12))}
.hx-bola.m .hx-sa{width:96px}
@media(max-width:699px){.hx-logo{width:92px}}

/* ===== Tempo do serviço — seletor de rolagem h:min (cápsula creme 3D) ===== */
.tj-linha{align-items:center;gap:22px}
.tj-pk{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:170px;padding:0 26px;border-radius:30px;
  background:linear-gradient(160deg,#faf4df,#e2d6b0);color:#2c3122;box-shadow:0 10px 0 -2px #c2b387,0 22px 34px rgba(0,0,0,.35),inset 0 2px 0 #fffc;flex:none;margin-bottom:10px}
.tj-band{position:absolute;left:14px;right:14px;top:50%;height:48px;margin-top:-24px;background:rgba(44,49,34,.1);border-radius:16px;pointer-events:none}
.tj-wheel{position:relative;height:170px;width:70px;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;outline:none;
  -webkit-mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);overscroll-behavior:contain}
.tj-wheel::-webkit-scrollbar{display:none}
.tj-wheel:focus-visible{box-shadow:0 0 0 2px rgba(44,49,34,.35);border-radius:12px}
.tj-pad{height:61px}
.tj-it{height:48px;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;font:800 30px Figtree,Inter,sans-serif;font-variant-numeric:tabular-nums;color:#2c3122;cursor:pointer;user-select:none;transition:transform .1s,opacity .1s}
.tj-lbl{position:relative;font-weight:700;font-size:16px;color:#5e5a44}
.tj-sep{position:relative;font-weight:800;font-size:30px;color:#2c3122}
.tj-conv{font-size:14px;color:#c9c2a6}.tj-conv b{color:#efe7cf;font-size:18px}.tj-conv span{opacity:.8}
@media(max-width:600px){.tj-pk{padding:0 16px;gap:6px}.tj-wheel{width:58px}.tj-it{font-size:26px}}
/* seletor de tempo — versão compacta */
.tj-pk{height:102px;padding:0 16px;gap:6px;border-radius:20px;margin-bottom:6px;box-shadow:0 6px 0 -2px #c2b387,0 14px 22px rgba(0,0,0,.3),inset 0 2px 0 #fffc}
.tj-band{left:10px;right:10px;height:34px;margin-top:-17px;border-radius:10px}
.tj-wheel{height:102px;width:44px}
.tj-pad{height:34px}
.tj-it{height:34px;font-size:20px}
.tj-lbl{font-size:13px}.tj-sep{font-size:20px}
.tj-conv b{font-size:16px}
@media(max-width:600px){.tj-pk{padding:0 12px}.tj-wheel{width:40px}.tj-it{font-size:19px}}
/* insumos: custo unitário visível + total */
.psA-uso{display:inline-block;min-width:84px;padding:7px 10px;border-radius:10px;background:rgba(239,230,200,.1);border:1px solid rgba(239,230,200,.18);color:#efe7cf;font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.psA-tot-ins td{padding-top:12px;border-top:1px solid rgba(239,230,200,.18);font-weight:700;color:#c9c2a6;text-align:right}
.psA-tot-ins b{display:inline-block;min-width:84px;padding:7px 10px;border-radius:10px;background:#efe6c8;color:#2c3122;font-variant-numeric:tabular-nums}
.hx-d[data-off~=gestao] [data-l=gestao],.hx-d[data-off~=agenda] [data-l=agenda],.hx-d[data-off~=estoque] [data-l=estoque],.hx-d[data-off~=pessoal] [data-l=pessoal],.hx-d[data-off~=cursos] [data-l=cursos]{display:none}

/* =====================================================================
   DESIGN SYSTEM v2 (diagnóstico UX) — camada final, vale para as telas
   internas. A tela inicial (.hx / #hx) não é afetada.
   ===================================================================== */
:root{ --ds-raio:12px; --ds-raio-card:16px; --ds-campo:#4a4d3b; }

/* 3) Fundo e cartões sólidos (sem vidro/blur/sombras em camadas) */
body:not(:has(#hx)){background:var(--oliva)}
body:not(:has(#hx)) .cartao, body:not(:has(#hx)) .kpi{
  background:var(--oliva-medio);backdrop-filter:none;-webkit-backdrop-filter:none;
  border:1px solid rgba(239,230,200,.14);border-radius:var(--ds-raio-card);box-shadow:none}
body:not(:has(#hx)) .kpi:hover{transform:none}
body:not(:has(#hx)) .alerta{backdrop-filter:none;-webkit-backdrop-filter:none}

/* 1+5) Botão único: mesma altura, raio, alinhamento e cor chapada */
button, .botao{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:0 20px;border-radius:var(--ds-raio);
  font:inherit;font-size:14px;font-weight:600;line-height:1.1;letter-spacing:0;text-transform:none;
  background:var(--oliva-profundo);color:var(--creme);border:1px solid var(--borda);
  box-shadow:none;background-image:none;text-decoration:none;vertical-align:middle;white-space:nowrap;
  transition:background-color .15s, border-color .15s, color .15s;transform:none}
button:hover, .botao:hover{transform:none;box-shadow:none;background-image:none}
button:active, .botao:active{transform:none;box-shadow:none}
button:focus-visible, .botao:focus-visible{outline:2px solid var(--creme);outline-offset:2px;box-shadow:none}
/* primário: creme com texto escuro */
.botao:not(.sec):not(.fantasma):not(.perigo), button[type=submit]:not(.sec):not(.fantasma):not(.perigo):not([class*="-"]){
  background:var(--creme);color:var(--oliva-profundo);border-color:var(--creme)}
.botao:not(.sec):not(.fantasma):not(.perigo):hover, button[type=submit]:not(.sec):not(.fantasma):not(.perigo):not([class*="-"]):hover{background:#fff6dc;border-color:#fff6dc}
/* secundário: contorno */
.botao.sec, button.sec{background:transparent;color:var(--creme);border:1px solid var(--borda);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
.botao.sec:hover, button.sec:hover{background:rgba(239,230,200,.1);transform:none;box-shadow:none}
/* fantasma e perigo */
.botao.fantasma, button.fantasma{background:transparent;border-color:transparent;color:var(--creme)}
.botao.fantasma:hover, button.fantasma:hover{background:rgba(239,230,200,.08)}
.botao.perigo, button.perigo{background:transparent;color:var(--erro);border-color:rgba(255,199,189,.45)}
/* pequeno */
.botao.peq, button.peq{min-height:36px;padding:0 14px;font-size:13px;border-radius:var(--ds-raio)}
.botao.destaque{background:var(--creme);color:var(--oliva-profundo);border-color:var(--creme)}
/* grupos de botões */
.acoes, .botoes, .barra-acoes, .form-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:10px}

/* 4) Menu do topo: caixa normal, 14px, sem quebra de linha */
.topo{flex-wrap:nowrap}
.topo .links{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.topo .links::-webkit-scrollbar{display:none}
.topo a{font-size:14px;text-transform:none;letter-spacing:0;white-space:nowrap;border-radius:10px}
.topo .sair button{min-height:36px;padding:0 16px;border-radius:var(--ds-raio);font-size:13px;letter-spacing:0;text-transform:none;background:transparent;color:var(--creme);border:1px solid var(--borda)}

/* 6) Campos com contraste */
input, select, textarea{font-weight:400;background-color:var(--ds-campo);border-color:rgba(239,230,200,.3);border-radius:var(--ds-raio)}
input:focus, select:focus, textarea:focus{background-color:#555843}
input::placeholder, textarea::placeholder{color:rgba(239,230,200,.62)}
label{color:var(--creme-dim);font-weight:500}

/* Tabelas: números alinhados */
td.num, th.num, .num{text-align:right;font-variant-numeric:tabular-nums}
table{font-variant-numeric:tabular-nums}
/* Aprovação de cadastros */
.aprov-ic{width:64px;height:64px;margin:4px auto 10px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(239,230,200,.12);color:var(--creme)}
.aprov-ic.aprov-nao{color:var(--erro)}
.aprov-ic svg{width:28px;height:28px}
.aprov-relogio{width:26px;height:26px;border:3px solid var(--creme);border-radius:50%;position:relative}
.aprov-relogio::after{content:"";position:absolute;left:50%;top:3px;width:2px;height:9px;background:var(--creme);transform-origin:bottom;animation:aprovGira 2.4s linear infinite}
@keyframes aprovGira{to{transform:rotate(360deg)}}
.aprov-lista{display:flex;flex-direction:column;gap:8px}
.aprov-item{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid rgba(239,230,200,.18);border-radius:12px}
.aprov-item small{display:block;color:var(--creme-dim);font-size:12.5px;margin-top:2px}

/* ===== ADMIN reorganizado ===== */
.adm-cab{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.adm-cab h1{margin:0 0 2px}
.adm-busca{display:flex;gap:8px;align-items:center;min-width:min(420px,100%)}
.adm-busca input{flex:1}
.adm-sec{margin:22px 0 10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--creme-dim);font-weight:600}
.adm-kpis{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
a.kpi{text-decoration:none;color:inherit;display:block}
a.kpi:hover{border-color:rgba(239,230,200,.4)}
.adm-duas{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.adm-duas h2{margin-top:22px}
@media(max-width:900px){.adm-duas{grid-template-columns:1fr}}
.adm-barras{display:flex;align-items:flex-end;gap:6px;height:150px}
.adm-barra{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px}
.adm-barra div{width:100%;min-height:4px;border-radius:6px 6px 0 0;background:var(--creme)}
.adm-barra b{font-size:11px}.adm-barra small{font-size:10px;color:var(--creme-dim)}
.adm-lista{display:flex;flex-direction:column;gap:10px}
.adm-li{display:flex;gap:10px;align-items:flex-start}
.adm-li strong{display:block;font-size:13.5px;word-break:break-all}.adm-li small{color:var(--creme-dim);font-size:12px}
.adm-dot{flex:none;width:9px;height:9px;border-radius:50%;margin-top:6px;background:var(--ok)}.adm-dot.nok{background:var(--erro)}
.adm-pend{border-color:rgba(255,171,47,.45)!important}
.adm-pend-cab{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}
.adm-tag{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:99px;font-size:11.5px;font-weight:600;background:rgba(239,230,200,.12);color:var(--creme);margin:2px 4px 2px 0;white-space:nowrap}
.adm-tag.ok{background:var(--ok-bg);color:var(--ok)}.adm-tag.nok{background:var(--erro-bg);color:var(--erro)}.adm-tag.am{background:rgba(255,171,47,.18);color:#FFD9A6}
.adm-barra-u{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.adm-barra-u input[type=search]{flex:1;min-width:200px}
.adm-chips{display:flex;gap:6px;flex-wrap:wrap}
.adm-chips a{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:12px;border:1px solid var(--borda);text-decoration:none;color:var(--creme);font-size:13px;font-weight:600}
.adm-chips a.on{background:var(--creme);color:var(--oliva-profundo);border-color:var(--creme)}
.adm-novo{position:relative}
.adm-novo summary{list-style:none}.adm-novo summary::-webkit-details-marker{display:none}
.adm-novo[open] .cartao{position:absolute;right:0;top:44px;z-index:20;width:320px;box-shadow:0 18px 40px rgba(0,0,0,.4)}
.adm-tab{overflow:visible}
.adm-tab table td{vertical-align:middle}
.adm-tab td small{display:block;color:var(--creme-dim);font-size:12px;margin-top:2px}
.adm-tab th,.adm-tab td{padding:12px 14px}
.adm-acoes{text-align:right;width:1%}
.adm-menu{position:relative;display:inline-block}
.adm-menu summary{list-style:none}.adm-menu summary::-webkit-details-marker{display:none}
.adm-menu-box{position:absolute;right:0;top:40px;z-index:30;width:290px;background:#3f4234;border:1px solid var(--borda);border-radius:14px;padding:8px;box-shadow:0 18px 40px rgba(0,0,0,.45);text-align:left;display:flex;flex-direction:column;gap:2px}
.adm-menu-box form{margin:0}
.adm-menu-box button.fantasma,.adm-menu-box button.perigo{width:100%;justify-content:flex-start;min-height:38px;font-weight:500}
.adm-menu-ed{border-top:1px solid rgba(239,230,200,.14);border-bottom:1px solid rgba(239,230,200,.14);margin:6px 0;padding:8px 6px;display:flex;flex-direction:column;gap:10px}
.adm-menu-ed form{display:flex;flex-direction:column;gap:4px}
.adm-menu-ed label{margin:0;font-size:11.5px}
.adm-menu-ed input{min-height:38px;padding:6px 12px}
.adm-explica{border-color:rgba(239,230,200,.3)!important}
/* Configurações */
.cfg-nav{display:flex;gap:6px;flex-wrap:wrap;position:sticky;top:70px;z-index:5;background:var(--oliva);padding:8px 0;margin-bottom:8px}
.cfg-nav a{height:34px;display:inline-flex;align-items:center;padding:0 14px;border-radius:12px;border:1px solid var(--borda);text-decoration:none;font-size:13px;font-weight:600}
.cfg-nav a:hover{background:rgba(239,230,200,.1)}
.cfg-bloco{scroll-margin-top:130px}
.cfg-tit{display:flex;gap:12px;align-items:flex-start;margin-bottom:6px}
.cfg-tit>svg{flex:none;width:22px;height:22px;margin-top:3px;opacity:.85}
.cfg-tit h2{margin:0;font-size:16px;letter-spacing:0;text-transform:none;color:var(--creme);font-weight:700}
.cfg-tit .sub{margin:2px 0 0;font-size:13px}
.cfg-checks{display:flex;gap:18px;flex-wrap:wrap}
.cfg-log{font-size:12.5px;margin:6px 0 0;padding:8px 12px;border-radius:10px}
.cfg-log.ok{background:var(--ok-bg);color:var(--ok)}.cfg-log.nok{background:var(--erro-bg);color:var(--erro)}
.cfg-salvar{position:sticky;bottom:12px;z-index:6;display:flex;justify-content:flex-end;margin:4px 0 18px}
.cfg-salvar button{box-shadow:0 10px 26px rgba(0,0,0,.35)}
.cfg-teste{display:flex;gap:10px;flex-wrap:wrap}.cfg-teste input{flex:1;min-width:220px}
.cfg-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.cfg-link{display:flex;flex-direction:column;gap:3px;padding:14px;border:1px solid var(--borda);border-radius:12px;text-decoration:none}
.cfg-link:hover{background:rgba(239,230,200,.08)}
.cfg-link small{color:var(--creme-dim);font-size:12.5px}
/* carência de contratos */
.car-box{display:flex;gap:18px;align-items:flex-start;border-color:rgba(239,230,200,.4)!important}
.car-ico{flex:none;width:56px;height:56px;border-radius:50%;background:rgba(239,230,200,.12);display:flex;align-items:center;justify-content:center}
.car-barra{height:6px;border-radius:99px;background:rgba(239,230,200,.14);margin-top:12px;overflow:hidden}
.car-barra i{display:block;height:100%;background:var(--creme);border-radius:99px}
.car-espera{opacity:.55}
@media(max-width:600px){.car-box{flex-direction:column}}
/* Faturamento dos locatários (lista sanfona) */
.fl-mes select{min-width:220px}
.fl-acc{background:var(--oliva-medio);border:1px solid rgba(239,230,200,.14);border-radius:16px;margin-bottom:10px}
.fl-acc summary{list-style:none;display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer}
.fl-acc summary::-webkit-details-marker{display:none}
.fl-av{flex:none;width:42px;height:42px;border-radius:50%;background:#8a9a6d;color:#1f2a1a;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.fl-nome{min-width:0;flex:1}.fl-nome strong{display:block;font-size:15.5px}.fl-nome small{display:block;color:var(--creme-dim);font-size:12.5px;margin-top:1px}
.fl-part{width:180px;flex:none}
.fl-part i{display:block;height:6px;border-radius:99px;background:rgba(239,230,200,.16);overflow:hidden}
.fl-part i b{display:block;height:100%;background:var(--creme);border-radius:99px}
.fl-part small{display:block;font-size:11.5px;color:var(--creme-dim);margin-top:4px}
.fl-tot{text-align:right;flex:none;min-width:150px}.fl-tot strong{display:block;font-size:18px;font-variant-numeric:tabular-nums}.fl-tot small{color:var(--creme-dim);font-size:12px}
.fl-up{color:var(--ok)}.fl-down{color:#FFD9A6}
.fl-chev{width:20px;height:20px;flex:none;transition:transform .2s;color:var(--creme-dim)}
.fl-acc[open] .fl-chev{transform:rotate(180deg)}
.fl-in{padding:4px 16px 16px;border-top:1px solid rgba(239,230,200,.14)}
.fl-in .grade{margin-top:12px}
.fl-in .cartao{background:var(--oliva)}
.fl-cab{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.fl-bars{display:flex;align-items:flex-end;gap:3px;height:130px}
.fl-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}
.fl-bar i{display:block;width:100%;min-height:2px;border-radius:4px 4px 0 0;background:var(--creme)}
.fl-bar small{font-size:9px;color:var(--creme-dim);margin-top:3px}
.fl-duas{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-top:12px}
@media(max-width:860px){.fl-duas{grid-template-columns:1fr}.fl-part{display:none}.fl-bar small{display:none}.fl-tot{min-width:0}}
/* Precificação — coeficiente de vacância */
.pr-vac{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;border:1px solid rgba(239,230,200,.18);border-radius:12px;margin-bottom:12px}
.pr-vac label{margin:0 0 2px;font-size:14px;color:var(--creme);font-weight:600}
.pr-vac-campo{display:flex;gap:8px;align-items:center;flex:none}
.pr-vac-campo input{width:110px}
/* InfiniteTap na comanda */
.tap-linha{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tap-parc{width:130px;min-height:40px;padding:6px 32px 6px 12px}
#btn-tap{background:var(--creme);color:var(--oliva-profundo);border-color:var(--creme)}
@media(min-width:901px){.tap-ajuda::after{content:" (funciona no celular com o app instalado)"}}
/* Agendamento — opção A (cliente com preferências, serviços com profissional) */
.ag-item2{grid-template-columns:1.3fr 1fr 96px 100px 36px}
@media(max-width:600px){.ag-item2{grid-template-columns:1fr 1fr;} .ag-item2 .rm-linha{grid-column:2;justify-self:end}}
.ag-cliente-cartao{align-items:flex-start}
.ag-cli-txt{flex:1;min-width:0}.ag-cli-txt strong{display:block;font-size:15px}.ag-cli-txt>span{display:block}
.ag-prefs{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.ag-pref{display:inline-flex;align-items:center;padding:3px 9px;border-radius:99px;background:rgba(239,230,200,.14);font-style:normal;font-size:12px;color:var(--creme)}
.ag-form-cliente .nc-full{grid-column:1/-1}
.ag-quatro{grid-template-columns:1fr .8fr 1fr 1.2fr}
@media(max-width:700px){.ag-quatro{grid-template-columns:1fr 1fr}}
/* Clientes */
.cl-nome{display:flex;align-items:center;gap:10px;color:var(--creme);text-decoration:none}
.cl-nome:hover strong{text-decoration:underline}
.cl-zap{text-decoration:none;margin-left:4px}
.cl-obs{max-width:320px;color:var(--creme-dim);font-size:12.5px}
.cf-duas{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.cf-duas{grid-template-columns:1fr}}

/* ficha técnica em linhas */
.ft-lista{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}
.ft-linha{display:flex;gap:6px;align-items:center}
.ft-linha input{flex:1;margin:0}
.ft-rm{min-height:36px;height:36px;width:36px;padding:0;border-radius:10px;background:transparent;border:1px solid var(--borda);color:var(--creme-dim);font-size:18px;line-height:1;flex:0 0 36px}
.ft-rm:hover{color:var(--erro);border-color:var(--erro)}
.ft-add{margin-bottom:12px}
/* WhatsApp conectado */
.wa-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:900px){.wa-grid{grid-template-columns:1fr}}
.wa-status{display:flex;gap:12px;align-items:center}
.wa-dot{width:14px;height:14px;border-radius:50%;background:#8a8d78;flex:0 0 14px;box-shadow:0 0 0 4px rgba(255,255,255,.06)}
.wa-status.conectado .wa-dot{background:#4fb25f;box-shadow:0 0 0 4px rgba(79,178,95,.25)}
.wa-status.conectando .wa-dot{background:#e0b64a;animation:wa-pulse 1.2s infinite}
@keyframes wa-pulse{0%,100%{opacity:1}50%{opacity:.4}}
.wa-qr{background:#fff;border-radius:16px;padding:12px;width:260px;height:260px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.wa-qr img{width:236px;height:236px;image-rendering:pixelated}
.wa-lista{margin:10px 0 0;padding-left:18px;line-height:1.7;font-size:14px}
.wa-aviso summary{cursor:pointer;color:var(--creme-dim);font-size:13px}

.wa-opcoes{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-left:4px}
.wa-opcoes .lg-lembrar{font-size:14px}
.wa-msg{margin-top:10px}
.wa-msg textarea{width:100%;margin-top:4px;font-size:14px;line-height:1.5}
.wa-msg .peq{min-height:30px;height:30px;font-size:12px;padding:0 10px}
code{background:rgba(255,255,255,.08);padding:1px 6px;border-radius:6px;font-size:12px}
