:root{--fundo:#f4f6fa;--painel:#fff;--borda:#dde2ec;--texto:#1f2840;--suave:#5b6478;--marca:#33436a;--marca2:#26324f;--claro:#e6ecf7;--alerta:#b45309;--erro:#b42318;--ok:#15803d;--azul:#1d4ed8}
*{box-sizing:border-box}body{margin:0;font:14px/1.5 "Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--texto);background:var(--fundo)}
a{color:var(--marca)}a:hover{color:var(--marca2)}
.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.lateral{background:#26324f;color:#d9dfee;padding:12px 0;overflow-y:auto;max-height:100vh;position:sticky;top:0}
.lateral .logo{font-weight:700;font-size:18px;color:#fff;padding:4px 18px 14px;display:block;text-decoration:none}
.lateral .logo span{color:#18bdca}
.lateral details{border-top:1px solid #2a3452}.lateral summary{cursor:pointer;padding:8px 18px;font-weight:600;font-size:13px;list-style:none;color:#c3cde6}
.lateral summary::-webkit-details-marker{display:none}.lateral summary:before{content:"▸ ";color:#7d93c7}.lateral details[open] summary:before{content:"▾ "}
.lateral a{display:flex;justify-content:space-between;color:#d9dfee;text-decoration:none;padding:4px 18px 4px 30px;font-size:13px}
.lateral a:hover{background:#26315a;color:#fff}.lateral a small{color:#7a86a8}
.topo{display:flex;gap:12px;align-items:center;background:var(--painel);border-bottom:1px solid var(--borda);padding:8px 20px;position:sticky;top:0;z-index:5}
.topo form{display:flex;gap:6px;align-items:center}.topo .usuario{margin-left:auto;color:var(--suave);font-size:13px}
.conteudo{padding:20px 24px;max-width:1400px}
h1{font-size:22px;margin:0 0 14px}h2{font-size:17px;margin:22px 0 10px}h3{font-size:15px;margin:16px 0 8px}
.cartao{background:var(--painel);border:1px solid var(--borda);border-radius:8px;padding:16px;margin-bottom:16px}
.grade{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.kpi{background:var(--painel);border:1px solid var(--borda);border-radius:8px;padding:14px;text-decoration:none;color:inherit}
.kpi b{display:block;font-size:26px;color:var(--marca2)}.kpi span{color:var(--suave);font-size:13px}
table{width:100%;border-collapse:collapse;background:var(--painel)}th,td{padding:7px 9px;border-bottom:1px solid var(--borda);text-align:left;vertical-align:top}
th{background:#eef1f7;font-weight:600;font-size:13px;color:#2a3452}tr:hover td{background:#f8f9fc}
input,select,textarea{font:inherit;padding:6px 8px;border:1px solid #c6cddd;border-radius:6px;background:#fff;max-width:100%}
textarea{width:100%}input[type=checkbox],input[type=radio]{width:auto}
.btn,button{display:inline-block;font:inherit;border:1px solid var(--marca);background:var(--marca);color:#fff;padding:6px 14px;border-radius:6px;cursor:pointer;text-decoration:none}
.btn:hover,button:hover{background:var(--marca2);color:#fff}.btn.sec,button.sec{background:#fff;color:var(--marca)}.btn.sec:hover{background:var(--claro)}
.btn.perigo,button.perigo{background:var(--erro);border-color:var(--erro)}.btn.peq,button.peq{padding:2px 8px;font-size:12px}
.barra{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.barra .dir{margin-left:auto}
.form-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px 18px}
.form-grade .campo.largo{grid-column:1/-1}.campo label{display:block;font-weight:600;font-size:13px;margin-bottom:3px}
.campo input:not([type=checkbox]),.campo select{width:100%}.campo .ajuda{color:var(--suave);font-size:12px}
.errorlist{color:var(--erro);margin:2px 0;padding-left:16px;font-size:12px}
.msg{padding:10px 14px;border-radius:6px;margin-bottom:10px;border:1px solid}.msg.success{background:#ecfdf3;border-color:#a6f4c5;color:#05603a}
.msg.info{background:#eff8ff;border-color:#b2ddff;color:#175cd3}.msg.warning{background:#fffaeb;border-color:#fedf89;color:#93370d}.msg.error{background:#fef3f2;border-color:#fecdca;color:var(--erro)}
.tag{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;background:#eef1f7;color:#2a3452;white-space:nowrap}
.tag.ok{background:#dcfae6;color:#067647}.tag.alerta{background:#fef0c7;color:#93370d}.tag.erro{background:#fee4e2;color:#b42318}.tag.azul{background:#d1e9ff;color:#175cd3}
.Baixo{background:#dcfae6}.Moderado{background:#fef0c7}.Alto{background:#fddcab}.Crítico{background:#fecdca}
.matriz td{height:70px;width:16%;font-size:12px}.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}
pre.xml{background:#141a2b;color:#d6e0f5;padding:12px;border-radius:6px;overflow:auto;max-height:520px;font-size:12px}
.colunas{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.app{grid-template-columns:1fr}.lateral{position:static;max-height:none}.colunas{grid-template-columns:1fr}}
.paginacao{margin-top:10px;display:flex;gap:8px;align-items:center}
.dl{display:grid;grid-template-columns:200px 1fr;gap:4px 12px}.dl dt{color:var(--suave)}.dl dd{margin:0}
.fila{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fila .cartao{padding:10px}.fila .item{border:1px solid var(--borda);border-radius:6px;padding:8px;margin-bottom:8px;background:#fbfcfe}
.agenda td{height:38px;font-size:12px}.agenda .ag{background:var(--claro);border-left:3px solid var(--marca);padding:2px 6px;margin:1px 0;border-radius:3px}
.bloq{background:repeating-linear-gradient(45deg,#f3f3f3,#f3f3f3 6px,#e9e9e9 6px,#e9e9e9 12px)}
/* documentos para impressão */
.doc{background:#fff;max-width:900px;margin:0 auto;padding:28px 36px;border:1px solid var(--borda)}
.doc h1{text-align:center;font-size:18px}.doc table{font-size:12.5px}.doc .ass{margin-top:46px;display:flex;justify-content:space-around;text-align:center}
.doc .ass div{border-top:1px solid #333;padding-top:4px;min-width:240px;font-size:12px}
@media print{.lateral,.topo,.nao-imprimir,.msg{display:none!important}.app{display:block}.conteudo{padding:0;max-width:none}.doc{border:0;padding:0}body{background:#fff}}
.login{max-width:360px;margin:12vh auto}.login .cartao{padding:26px}
.lateral .logo{letter-spacing:.06em;line-height:1.1}.lateral .logo em{display:block;font-style:italic;font-weight:500;letter-spacing:.02em;font-size:15px;color:#18bdca}
.marca-login{font-weight:800;letter-spacing:.06em;font-size:24px;color:var(--marca2);line-height:1.1}.marca-login em{display:block;font-style:italic;font-weight:500;font-size:18px;letter-spacing:.02em;color:var(--marca)}
.lateral .logo img{display:block;width:190px;height:auto}.lateral .logo em{margin:4px 0 0 52px;font-size:16px;color:#18bdca}
.marca-login img{display:block;width:170px;height:auto;margin:0 auto 4px}.marca-login{text-align:center}.marca-login em{color:#18bdca;font-size:20px}
.btn.sec:hover,button.sec:hover{border-color:#18bdca}
/* Barra lateral por módulos, cada um abre um painel com as telas */
.busca-lateral{padding:4px 14px 12px}.busca-lateral input{width:100%;background:#1f2840;border-color:#3a4769;color:#fff}
.busca-lateral input::placeholder{color:#8f9bbd}
.modulos{list-style:none;margin:0;padding:0}
.modulo{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;border-radius:0;color:#eef2fb;padding:9px 16px;font-size:15px;font-weight:700;letter-spacing:.01em;text-align:left}
.modulo:hover,.modulo.ativo{background:#3b4c78;color:#fff}.modulo.ativo{box-shadow:inset 4px 0 0 #18bdca}
.ico{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;flex:none;color:#fff;
  background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 3px 10px -3px var(--c2),inset 0 1px 0 rgba(255,255,255,.25)}
.ico svg{width:19px;height:19px}.modulo:hover .ico,.modulo.ativo .ico{transform:scale(1.07)}.modulo .ico{transition:transform .15s}
.ico-inicio{--c1:#3ad0dc;--c2:#139aa6}.ico-cadastros{--c1:#7d8cff;--c2:#4b57d6}.ico-agenda{--c1:#ff9a62;--c2:#f0603a}
.ico-atendimento{--c1:#ff6f91;--c2:#d63964}.ico-digital{--c1:#a77bff;--c2:#7044e0}.ico-seguranca{--c1:#ffcf4d;--c2:#e89b12}
.ico-esocial{--c1:#5bb8ff;--c2:#2477e0}.ico-rede{--c1:#4fe0a6;--c2:#14a974}.ico-financeiro{--c1:#7ee07b;--c2:#3aa63a}
.ico-relatorios{--c1:#60e4f0;--c2:#2c9fbf}.ico-admin{--c1:#b4bccc;--c2:#6c7690}
.painel-modulo h2{display:flex;align-items:center;gap:12px}.nome-mod{flex:1}.modulo .seta{margin-left:auto;color:#7d93c7}
.painel-modulo{display:none;position:fixed;left:250px;top:0;bottom:0;z-index:20;background:#fff;color:var(--texto);
  border-right:1px solid var(--borda);box-shadow:8px 0 24px rgba(20,26,43,.18);padding:22px 26px;overflow-y:auto;max-width:calc(100vw - 250px)}
.painel-modulo.aberto{display:block}.painel-modulo h2{margin:0 0 14px;color:var(--marca2)}
.colunas-menu{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}.colunas-menu section{min-width:230px;max-width:280px}
.colunas-menu h3{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#18a2ad}
.colunas-menu a{display:flex;justify-content:space-between;gap:10px;padding:6px 8px;border-radius:6px;color:var(--texto);text-decoration:none;font-size:14px;font-weight:600}
.colunas-menu a:hover{background:var(--claro);color:var(--marca2)}.colunas-menu a small{color:var(--suave)}
@media (max-width:800px){.app{grid-template-columns:1fr}.lateral{position:static;max-height:none}.painel-modulo{left:0;max-width:100vw}}
/* Painel inicial */
.hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding:26px 28px;border-radius:16px;margin-bottom:18px;color:#fff;
  background:radial-gradient(circle at 85% -20%,rgba(24,189,202,.55),transparent 55%),linear-gradient(120deg,#26324f 0%,#33436a 60%,#2b5a7a 100%)}
.hero h1{font-size:28px;margin:2px 0 4px;color:#fff}.hero-data{margin:0;color:#9fe6ec;font-size:13px;letter-spacing:.03em}
.hero-sub{margin:0;color:#d6dcef}.atalhos{display:flex;gap:10px;flex-wrap:wrap}
.atalhos a{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:128px;padding:12px 14px;border-radius:12px;color:#fff;text-decoration:none;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);font-size:13px;font-weight:600;transition:.15s}
.atalhos a span{font-size:18px;color:#18bdca}.atalhos a:hover{background:rgba(255,255,255,.2);color:#fff;transform:translateY(-2px)}
.aviso{background:#eafafb;border:1px solid #b9ecf0;color:#1f4f55;border-radius:10px;padding:10px 14px;margin-bottom:14px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:12px;margin-bottom:18px}
.kpi2{position:relative;display:block;background:#fff;border:1px solid var(--borda);border-radius:14px;padding:14px 14px 12px 16px;text-decoration:none;color:inherit;transition:.15s;overflow:hidden}
.kpi2:hover{box-shadow:0 8px 22px rgba(38,50,79,.12);transform:translateY(-2px);color:inherit}
.kpi2:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#18bdca}.kpi2.alerta:before{background:var(--alerta)}
.kpi2 .k-ico{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e7f8fa;color:#14808a;font-size:16px;margin-bottom:8px}
.kpi2.alerta .k-ico{background:#fef3e2;color:var(--alerta)}
.kpi2 b{display:block;font-size:28px;line-height:1.1;color:var(--marca2)}.kpi2 .k-nome{color:var(--suave);font-size:13px}
.painel-grade{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.painel-grade .largo{grid-row:span 2}
@media (max-width:1100px){.painel-grade{grid-template-columns:1fr 1fr}}@media (max-width:700px){.painel-grade{grid-template-columns:1fr}.painel-grade .largo{grid-row:auto}}
.bloco{background:#fff;border:1px solid var(--borda);border-radius:14px;padding:16px 18px}
.bloco header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.bloco h2{margin:0;font-size:16px}
.bloco header a{font-size:12.5px;text-decoration:none;color:#14808a}
.linha-tempo{list-style:none;margin:0;padding:0}.linha-tempo li{display:flex;align-items:center;gap:12px;padding:10px 6px;border-bottom:1px solid #eef1f7}
.linha-tempo time{font-weight:700;color:var(--marca);width:46px}.linha-tempo li>div{flex:1}.linha-tempo small{display:block;color:var(--suave)}
.pilula{font-size:11.5px;padding:3px 9px;border-radius:999px;background:#eef1f7;color:#3b4c78}
.s-chegou .pilula{background:#fef3e2;color:#9a5b05}.s-em_atendimento .pilula{background:#e7f8fa;color:#14808a}.s-concluido .pilula{background:#e6f6ec;color:#15803d}
.s-faltou .pilula,.s-cancelado .pilula{background:#fdecec;color:#b42318}
.dupla{display:flex;gap:10px;margin-bottom:8px}.numero{flex:1;border-radius:10px;padding:10px 12px}.numero b{display:block;font-size:24px}.numero span{font-size:12px}
.vermelho{background:#fdecec;color:#b42318}.ambar{background:#fef3e2;color:#9a5b05}
.lista{list-style:none;margin:0;padding:0}.lista li{display:flex;justify-content:space-between;gap:8px;padding:7px 2px;border-bottom:1px solid #eef1f7;font-size:13.5px}
.txt-vermelho{color:#b42318;font-weight:600}.txt-ambar{color:#9a5b05;font-weight:600}.txt-suave{color:var(--suave)}.evt{color:var(--marca);font-size:12px}
.vazio{color:var(--suave);justify-content:center}
.barras{display:flex;align-items:flex-end;gap:10px;height:150px;padding-top:18px}.barra-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}
.barra-col i{display:block;width:100%;max-width:34px;min-height:3px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#18bdca,#33436a)}
.barra-col em{font-style:normal;font-size:12px;color:var(--suave)}.barra-col span{font-size:12px;color:var(--suave)}
.rodape-bloco{margin:10px 0 0;font-size:13px;color:var(--suave)}
/* Refinos gerais */
.cartao{border-radius:14px}table{border-radius:10px;overflow:hidden}th{background:#f3f5fa;color:#4a5578;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.topo{background:rgba(255,255,255,.92);backdrop-filter:blur(6px)}
.btn,button{border-radius:8px;font-weight:600}input,select,textarea{border-radius:8px}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(24,189,202,.45);border-color:#18bdca}
h1{font-weight:800;letter-spacing:-.01em}
.certificado{background:#fff;border:2px solid #33436a;border-radius:12px;padding:36px 44px;margin:0 auto 24px;max-width:900px;text-align:center;page-break-after:always}
.certificado h2{letter-spacing:.3em;color:#33436a;font-size:26px}.certificado p{font-size:15px;line-height:1.7}
.certificado .conteudo-prog{font-size:12.5px;text-align:left}.rodape-cert{font-size:11px!important;color:var(--suave)}
.assinaturas{display:flex;justify-content:space-around;gap:20px;margin-top:40px}.assinaturas div{border-top:1px solid #333;padding-top:6px;min-width:200px}
@media print{.lateral,.topo,.nao-imprimir{display:none!important}.app{display:block}.conteudo{padding:0}.certificado{border-width:1px}}

/* Atendimento digital */
body.totem{background:linear-gradient(160deg,#26324f,#33436a 55%,#18bdca);min-height:100vh;margin:0}
.totem-topo{display:flex;align-items:center;gap:10px;padding:16px 28px;color:#fff}.totem-topo img{height:34px}
.totem-topo em{font-weight:600;opacity:.85}.totem-topo span{margin-left:auto;font-weight:700;letter-spacing:.04em;opacity:.8}
.totem-caixa{max-width:760px;margin:10px auto 40px;background:#fff;border-radius:22px;padding:30px 34px;box-shadow:0 20px 60px -20px rgba(0,0,0,.5)}
.totem-caixa h1{margin:0 0 4px;color:#26324f;font-size:28px}.totem-caixa .sub{color:#6b7590;margin:0 0 18px;font-size:17px}
.totem-caixa label{display:block;font-size:17px;margin:12px 0;font-weight:600}.totem-caixa input:not([type=radio]):not([type=checkbox]),.totem-caixa textarea{width:100%;font-size:20px;padding:12px;box-sizing:border-box}
button.grande{width:100%;font-size:20px;padding:16px;margin-top:18px;border-radius:12px}
.passo{border-top:1px solid #e6e9f0;padding-top:14px;margin-top:16px}.passo h2{font-size:19px;color:#33436a;display:flex;align-items:center;gap:10px}
.passo h2 span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#18bdca;color:#fff;font-size:15px}
.camera{width:100%;max-width:420px;aspect-ratio:4/3;background:#111;border-radius:14px;overflow:hidden;margin-bottom:10px}
.camera video,.camera img{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.pergunta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:8px 0;border-bottom:1px dashed #e6e9f0}.pergunta p{flex:1 1 100%;margin:0;font-size:17px}
.totem-caixa .pergunta label{display:inline-flex;gap:6px;margin:0;font-size:18px}
.termo{background:#f4f7fb;border-radius:10px;padding:12px;font-size:15px;color:#4a5470}.aceite{display:flex!important;gap:8px;align-items:center}
#assin{width:100%;max-width:600px;height:180px;border:2px dashed #b4b4b4;border-radius:12px;touch-action:none;background:#fcfdff}
.totem-ok{width:90px;height:90px;border-radius:50%;background:#18bdca;color:#fff;font-size:54px;display:grid;place-items:center;margin:10px auto}
.totem-caixa .totem-ok + h1,.totem-ok ~ .sub{text-align:center}
.mini-foto{width:72px;height:72px;object-fit:cover;border-radius:10px}.mini-assin{height:40px;max-width:140px}
.checkin-fotos{display:flex;gap:8px;align-items:center;margin:6px 0}.checkin-fotos figure{margin:0;text-align:center;font-size:11px;color:#6b7590}
/* "Connect" alinhado ao fim da logo, à direita */
.lateral .logo em{width:190px;margin:2px 0 0;text-align:right;padding-right:2px;box-sizing:border-box}
.marca-login em{width:170px;margin:0 auto;text-align:right}
.totem-topo{flex-wrap:wrap}.totem-topo .marca{display:inline-flex;flex-direction:column}.totem-topo .marca em{text-align:right;color:#18bdca}

/* Botão voltar em todas as telas */
.voltar{display:inline-flex;align-items:center;gap:6px;margin:0 0 14px;padding:9px 18px 9px 12px;font-size:15px;font-weight:700;
  background:#fff;color:var(--marca2);border:1.5px solid var(--borda);border-radius:999px;box-shadow:0 2px 6px -2px rgba(38,50,79,.18);cursor:pointer}
.voltar:hover{background:var(--claro);border-color:#18bdca;color:var(--marca2)}.voltar svg{color:#18bdca}
@media print{.voltar{display:none}}
/* painel do módulo sempre acima do conteúdo */
.lateral{z-index:100}.painel-modulo{z-index:1000;overflow-y:auto}
.acoes{display:inline-flex;flex-wrap:wrap;gap:2px;vertical-align:middle;margin-left:4px}
.acoes form{margin:0}
.acoes .ic{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid #d6dbe6;border-radius:4px;background:#fff;cursor:pointer;line-height:0;text-decoration:none}
.acoes .ic:hover{border-color:var(--marca);background:var(--claro)}
.acoes .ic svg{width:15px;height:15px}
.ic-azul{color:#33436a}.ic-turquesa{color:#18bdca}.ic-cinza{color:#6b7280}.ic-verde{color:#16a34a}.ic-roxo{color:#7c3aed}.ic-vermelho{color:#dc2626}.ic-laranja{color:#ea7a0c}
.ficha-barra{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e3e7ef;border-radius:8px;padding:6px 10px;margin-bottom:12px}
.nav-ficha,.menus-ficha{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.nav-ficha form{margin:0}
.ficha-barra .ic{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #d6dbe6;border-radius:6px;background:#fff;cursor:pointer;list-style:none;text-decoration:none}
.ficha-barra .ic::-webkit-details-marker{display:none}.ficha-barra .ic:hover{border-color:var(--marca);background:var(--claro)}
.ficha-barra .ic svg{width:19px;height:19px}.ficha-barra .ic.off{opacity:.35;cursor:default}
.ficha-barra .sep{width:1px;height:22px;background:#d6dbe6;margin:0 6px}
.menu-ficha{position:relative}.menu-ficha[open]>summary{border-color:var(--marca);background:var(--claro)}
.menu-pop{position:absolute;right:0;top:38px;z-index:30;min-width:250px;background:#fff;border:1px solid #d6dbe6;border-radius:8px;box-shadow:0 8px 24px rgba(16,24,40,.14);padding:6px;display:flex;flex-direction:column}
.menu-pop strong{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#18a2ad;padding:4px 8px 6px}
.menu-pop a,.menu-pop span{padding:7px 8px;border-radius:5px;font-size:14px;color:var(--texto);text-decoration:none}.menu-pop a:hover{background:var(--claro)}
.ficha-barra .badge{position:absolute;top:-6px;right:-6px;background:#dc2626;color:#fff;border-radius:9px;font-size:10px;min-width:16px;height:16px;line-height:16px;text-align:center;padding:0 3px}
.selo{display:inline-block;font-size:10px;padding:0 5px;border-radius:4px;background:#e8f7f9;color:#118d97;vertical-align:middle}
/* balão com o nome da ação ao passar o mouse (ícones da agenda e da ficha) */
.acoes .ic,.ficha-barra .ic{position:relative}
.acoes .ic[data-dica]:hover::after,.acoes .ic[data-dica]:focus-visible::after,
.ficha-barra .ic[data-dica]:hover::after,.ficha-barra .ic[data-dica]:focus-visible::after{
content:attr(data-dica);position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);z-index:50;
white-space:nowrap;background:#ffd84d;color:#1f2937;border:1px solid #e6b800;border-radius:6px;padding:3px 8px;
font-size:12px;font-weight:600;line-height:1.3;box-shadow:0 3px 10px rgba(0,0,0,.15);pointer-events:none}
.ficha-barra .ic[data-dica]:hover::after,.ficha-barra .ic[data-dica]:focus-visible::after{bottom:auto;top:calc(100% + 7px)}
.ficha-barra .menu-ficha[open]>summary.ic::after{display:none}
.agenda{overflow:visible}
/* agenda em lista */
.agenda-topo{display:grid;grid-template-columns:260px 1fr 1fr;gap:12px;margin-bottom:12px;align-items:start}
@media(max-width:1000px){.agenda-topo{grid-template-columns:1fr}}
.mini-cal{padding:10px}.mini-cal table{width:100%;border-radius:0;font-size:12px}.mini-cal th{background:none;padding:2px;text-align:center}
.mini-cal td{padding:1px;text-align:center;height:auto}.mini-cal td a{display:block;padding:3px 0;border-radius:5px;text-decoration:none;color:var(--texto)}
.mini-cal td a:hover{background:var(--claro)}.mini-cal td a.sel{background:var(--marca);color:#fff}.mini-cal td a.hoje{outline:1px solid #18bdca}
.mc-cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.mc-cab a{text-decoration:none;font-size:18px;padding:0 8px}
.filtros-agenda fieldset{border:0;padding:0;margin:6px 0}.filtros-agenda legend{font-size:13px;color:var(--suave)}.filtros-agenda .radio{display:inline-flex;gap:4px;margin-right:12px;align-items:center}
.resumo-dia .botoes{margin-top:8px}.ocupacao{display:flex;align-items:center;gap:8px}
.farol{width:14px;height:14px;border-radius:50%;display:inline-block}.farol.verde{background:#22c55e}.farol.amarelo{background:#facc15}.farol.vermelho{background:#ef4444}
.agenda-lista{overflow:visible}.agenda-lista td{vertical-align:middle;font-size:13px}.agenda-lista tr.vago td{padding-top:3px;padding-bottom:3px;color:var(--suave)}
.agenda-lista tr.ok td{background:#f0fbf4}.agenda-lista tr.falta td{background:#fdf2f2}
.agenda-lista td.hora{white-space:nowrap}.agenda-lista td.hora form{display:inline;margin:0}
.agenda-lista .mini{position:relative;display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border:1px solid #d6dbe6;border-radius:4px;background:#fff;color:#33436a;font-size:12px;text-decoration:none;cursor:pointer;padding:0;margin-right:2px}
.agenda-lista .mini.verm{color:#dc2626}
.atendido{position:relative;border:1px solid;border-radius:12px;padding:2px 12px;font-weight:700;cursor:pointer;font-size:12px}
.atendido.sim{background:#dcfce7;color:#166534;border-color:#86efac}.atendido.nao{background:#fff;color:#6b7280;border-color:#d1d5db}
.agenda-lista [data-dica]:hover::after{content:attr(data-dica);position:absolute;left:50%;bottom:calc(100% + 7px);transform:translateX(-50%);z-index:50;white-space:nowrap;background:#ffd84d;color:#1f2937;border:1px solid #e6b800;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600;box-shadow:0 3px 10px rgba(0,0,0,.15);pointer-events:none}
.agenda-lista td.hora a[data-dica]{position:relative}.suave{color:var(--suave)}

/* ===== Refinamento visual: limpo, leve e espaçado (fonte do sistema, vidro fosco, linhas finas) ===== */
:root{--fundo:#f5f5f7;--painel:#fff;--borda:rgba(0,0,0,.08);--texto:#1d1d1f;--suave:#6e6e73;--claro:#eef4f8;
  --sombra:0 1px 2px rgba(0,0,0,.04),0 6px 20px rgba(0,0,0,.05);--raio:16px;--foco:0 0 0 4px rgba(24,189,202,.22)}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Variable Text","Segoe UI","Plus Jakarta Sans",Inter,Roboto,sans-serif;
  font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.003em;background:var(--fundo)}
h1{font-size:28px;font-weight:700;letter-spacing:-.022em;margin:0 0 18px}
h2{font-size:20px;font-weight:600;letter-spacing:-.015em}h3{font-size:16px;font-weight:600;letter-spacing:-.01em}
.conteudo{padding:28px 36px;max-width:1440px}
.topo{background:rgba(255,255,255,.72);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(0,0,0,.06);padding:10px 28px}
/* cartões */
.cartao,.kpi{border:0;border-radius:var(--raio);box-shadow:var(--sombra);padding:20px 22px}
.kpi{transition:transform .2s ease,box-shadow .2s ease}.kpi:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(0,0,0,.04),0 12px 32px rgba(0,0,0,.08)}
.kpi b{font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--texto)}
/* tabelas */
table{border-radius:var(--raio);box-shadow:var(--sombra);overflow:hidden}
.cartao table{box-shadow:none;border-radius:10px}
th{background:transparent;color:var(--suave);font-size:12px;font-weight:600;text-transform:none;letter-spacing:0;border-bottom:1px solid var(--borda);padding:11px 12px}
td{padding:10px 12px;border-bottom:1px solid rgba(0,0,0,.05)}tr:last-child td{border-bottom:0}
tr:hover td{background:#fafafc}
/* botões em formato de pílula */
.btn,button{border-radius:980px;padding:7px 18px;font-weight:500;border:0;background:var(--marca);transition:background .15s ease,transform .1s ease}
.btn:hover,button:hover{background:#2a3858}.btn:active,button:active{transform:scale(.98)}
.btn.sec,button.sec{background:rgba(0,0,0,.05);color:var(--marca);border:0}.btn.sec:hover,button.sec:hover{background:rgba(0,0,0,.09);color:var(--marca2)}
.btn.peq,button.peq{padding:3px 12px}
.btn:focus-visible,button:focus-visible,a:focus-visible{outline:0;box-shadow:var(--foco)}
/* campos */
input,select,textarea{border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:8px 11px;background:#fff;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{outline:0;border-color:#18bdca;box-shadow:var(--foco)}
.campo label{font-weight:500;color:var(--suave);font-size:12.5px}
/* etiquetas e mensagens */
.tag,.pilula{border-radius:980px;font-weight:500;padding:2px 10px}
.msg{border:0;border-radius:12px;box-shadow:var(--sombra)}
/* links e navegação */
a{color:#1f6f8b;text-decoration:none}a:hover{text-decoration:underline;color:#18a2ad}
.btn:hover,.colunas-menu a:hover,.menu-pop a:hover,.lateral a:hover{text-decoration:none}
.voltar{border:0;box-shadow:var(--sombra);font-weight:600;font-size:14px}
/* barras de ícones e menus */
.ficha-barra{border:0;border-radius:14px;box-shadow:var(--sombra);padding:8px 12px;background:rgba(255,255,255,.85);
  -webkit-backdrop-filter:saturate(180%) blur(16px);backdrop-filter:saturate(180%) blur(16px);position:sticky;top:62px;z-index:20}
.ficha-barra .ic{border:0;background:transparent;border-radius:10px}.ficha-barra .ic:hover,.menu-ficha[open]>summary{background:rgba(0,0,0,.06)}
.acoes .ic{border:0;background:rgba(0,0,0,.04);border-radius:7px;width:24px;height:24px}.acoes .ic:hover{background:rgba(0,0,0,.09)}
.menu-pop{border:0;border-radius:14px;padding:8px;box-shadow:0 10px 40px rgba(0,0,0,.16),0 0 0 .5px rgba(0,0,0,.08);
  background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
.menu-pop strong{text-transform:none;letter-spacing:0;color:var(--suave);font-size:12px;font-weight:600}
.menu-pop a,.menu-pop span{border-radius:8px}
/* balão do nome da ação: escuro e discreto */
.acoes .ic[data-dica]:hover::after,.ficha-barra .ic[data-dica]:hover::after,.agenda-lista [data-dica]:hover::after,
.acoes .ic[data-dica]:focus-visible::after,.ficha-barra .ic[data-dica]:focus-visible::after{
  background:rgba(29,29,31,.92);color:#fff;border:0;border-radius:8px;font-weight:500;padding:5px 10px;box-shadow:0 6px 20px rgba(0,0,0,.18)}
/* agenda */
.agenda-lista{border-radius:var(--raio)}.agenda-lista tr.ok td{background:#f3fbf6}.agenda-lista tr.vago td{padding-top:5px;padding-bottom:5px}
.atendido{border:0;border-radius:980px;padding:4px 14px;font-weight:600}
.atendido.sim{background:#e3f6ea;color:#1a7f37}.atendido.nao{background:rgba(0,0,0,.05);color:var(--suave)}
.atendido.sim:hover{background:#d2f0dd;color:#1a7f37}.atendido.nao:hover{background:rgba(0,0,0,.09);color:var(--texto)}
.agenda-lista .mini{border:0;background:rgba(0,0,0,.05);border-radius:6px}
.mini-cal td a{border-radius:50%;width:28px;height:28px;line-height:28px;padding:0;margin:auto}
.mini-cal td a.sel{background:#18bdca}.mini-cal td a.hoje{outline:0;color:#18a2ad;font-weight:700}
.agenda .ag{border-left-width:3px;border-radius:10px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06)}
/* menus de módulos (central financeira etc.) */
.colunas-menu section{background:#fff;border-radius:var(--raio);box-shadow:var(--sombra);padding:14px 10px}
.colunas-menu h3{text-transform:none;letter-spacing:0;color:var(--texto);font-size:15px;padding:0 8px}
.colunas-menu a{font-weight:500;border-radius:10px}
.selo{border-radius:980px;padding:0 7px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.colunas-menu{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.colunas-menu section{max-width:none;min-width:0}
/* --- ajustes da revisão de design --- */
/* menu lateral: ícones coloridos (preferência do Gustavo) */
.modulo{font-weight:500;font-size:14.5px;border-radius:10px;margin:1px 8px;width:calc(100% - 16px);padding:8px 10px}
.modulo:hover{background:rgba(255,255,255,.07)}.modulo.ativo{background:rgba(24,189,202,.16);box-shadow:none}
.painel-modulo{box-shadow:0 20px 60px rgba(0,0,0,.18)}
/* KPIs do início: grade regular, sem bordas coloridas */
.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.kpi2{border:0;border-radius:16px;box-shadow:var(--sombra);padding:16px 18px}.kpi2:before{display:none}
.kpi2 b{font-size:32px;font-weight:700;letter-spacing:-.02em;color:var(--texto)}.kpi2 .k-nome{font-size:13px;color:var(--suave)}
.kpi2.alerta b{color:#b45309}
.hero .atalhos a{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);color:#fff}
.hero .atalhos a:hover{background:rgba(255,255,255,.26)}
/* tipografia e contraste */
.campo label,.filtros-agenda .rotulo{font-size:13px;font-weight:600;color:#424245}
.agenda-lista td,td{font-size:14px}th{font-size:12.5px;color:#515154}
.filtros-agenda .rotulo{display:block;margin-bottom:8px}.filtros-agenda .rotulo select,.filtros-agenda .rotulo input{display:block;width:100%;margin-top:4px}
.filtro-select{display:block;width:100%;margin-bottom:6px;background:#f5f5f7}
/* agenda: horários livres agrupados e ações extras */
.agenda-lista tr.vago td{padding:6px 12px;font-size:13px}.livres{color:var(--suave)}
.mais-acoes{position:relative;display:inline-block}.mais-acoes>summary{list-style:none;font-size:15px;line-height:22px;text-align:center;color:#515154}
.mais-acoes>summary::-webkit-details-marker{display:none}.mais-acoes .menu-pop{top:28px;min-width:240px}
.mais-acoes .menu-pop a,.mais-acoes .item-menu{display:flex;gap:8px;align-items:center;width:100%;background:none;color:var(--texto);border-radius:8px;padding:7px 8px;font-weight:500;text-align:left}
.mais-acoes .item-menu:hover{background:rgba(0,0,0,.05)}.mais-acoes form{margin:0}
/* central financeira */
.intro{color:var(--suave);max-width:900px}
.central{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.central section{background:#fff;border-radius:16px;box-shadow:var(--sombra);padding:16px 12px}.central section.largo{grid-column:1/-1}
.central h3{margin:0 0 8px;padding:0 8px;font-size:16px}
.central-itens{display:grid;gap:2px}.central section.largo .central-itens{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.central-itens a{display:block;padding:9px 10px;border-radius:10px;color:var(--texto)}.central-itens a:hover{background:#f5f5f7;text-decoration:none}
.central-itens span{display:block;font-weight:600}.central-itens small{display:block;color:var(--suave);font-size:12.5px}
/* menu recolhível em telas estreitas */
.menu-mobile{display:none;background:none;color:var(--texto);padding:6px;border-radius:10px}.menu-mobile:hover{background:rgba(0,0,0,.06);color:var(--texto)}
@media(max-width:1000px){
  .app{grid-template-columns:1fr}
  .lateral{position:fixed;left:-290px;top:0;bottom:0;width:270px;max-height:none;transition:left .22s ease;z-index:300}
  body.menu-aberto .lateral{left:0;box-shadow:0 0 0 100vmax rgba(0,0,0,.28)}
  .menu-mobile{display:inline-flex}
  .painel-modulo{left:0;right:0}
  .conteudo{padding:20px 16px}.topo{padding:8px 12px;flex-wrap:wrap}.topo .usuario{display:none}
  .agenda-topo{grid-template-columns:1fr}
}
.kpis{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
@media(max-width:1000px){.mini-cal{max-width:340px}}

/* Pedidos de processamento */
.filtros-pedidos{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-end}
.filtros-pedidos fieldset{border:0;padding:0;margin:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.filtros-pedidos legend{font-size:.8rem;color:var(--suave);padding:0;margin-bottom:4px;float:left;width:100%}
.tabela-rolavel{overflow-x:auto}
table.pedidos td,table.pedidos th{white-space:nowrap}
details.pedir summary{cursor:pointer;font-weight:600}
details.pedir form{margin-top:10px;flex-wrap:wrap;gap:10px}
.girando{display:inline-block;width:.8em;height:.8em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:girar .8s linear infinite;vertical-align:-1px}
@keyframes girar{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.girando{animation:none}}
