@font-face{font-family:"Manrope";src:url(/static/manrope-latin.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Poppins";src:url(/static/poppins-600-latin.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Poppins";src:url(/static/poppins-700-latin.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--roxo:#4a3169;--roxo2:#6a4c93;--roxo3:#7b5da6;--lilas:#b9a8d4;--lilasc:#efeaf6;--azul:#a9dcf3;--azul3:#4cb7e5;--azul4:#00cae0;--azulc:#e6f4fb;--fundo:#fafbfd;--borda:#e4e6ec;--texto:#33373d;--mudo:#54595f}
*{box-sizing:border-box}
body{margin:0;background:var(--fundo);color:var(--texto);font-family:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px}
a{color:var(--roxo2)}a:hover{color:var(--roxo)}
h1,h2{font-family:Poppins,"Segoe UI",system-ui,sans-serif;color:var(--roxo);font-weight:600}
h1{margin:0;font-size:26px}h2{font-size:18px;margin:0 0 12px}
.sr{position:absolute;left:-9999px}
.app{display:flex;flex-wrap:wrap;min-height:100vh}
aside{flex:1 1 230px;max-width:100%;background:var(--roxo);color:#f2f9fd;padding:24px 14px;display:flex;flex-direction:column;gap:22px}
aside .logo{width:184px;margin:0 8px}
nav{display:flex;flex-direction:column;gap:4px}
.nav{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border-radius:10px;color:#e6f4fb;text-decoration:none;font-weight:500}
.nav:hover{background:rgba(151,223,252,.1);color:#fff}
.nav.on{background:rgba(151,223,252,.18);color:#fff;font-weight:600}
.nav .dot{width:8px;height:8px;border-radius:50%;background:rgba(151,223,252,.35)}.nav.on .dot{background:var(--azul)}
.rodape{margin-top:auto;border-top:1px solid rgba(151,223,252,.25);padding-top:14px;display:flex;flex-direction:column;gap:10px}
.quem{display:flex;gap:12px;align-items:center}.quem strong{display:block;color:#fff;font-size:14px}.quem span{font-size:12px;color:#BFE9FD}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--azul);color:var(--roxo);display:flex;align-items:center;justify-content:center;font-weight:700;flex:none}
.avatar.grande{width:60px;height:60px;font-size:22px;background:var(--roxo);color:var(--azul)}
.sair{background:transparent;border:1px solid rgba(151,223,252,.4);color:#e6f4fb;border-radius:8px;min-height:36px;width:100%;cursor:pointer}
main{flex:999 1 560px;min-width:0;padding:28px 32px 48px;display:flex;flex-direction:column;gap:20px}
.sub{margin:4px 0 0;color:var(--mudo);font-size:14px}
.aviso{background:#efeaf6;color:#3A1470;border-radius:10px;padding:12px 16px;font-weight:500}
.card{background:#fff;border:1px solid var(--borda);border-radius:14px;padding:18px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.kpi{background:#fff;border:1px solid var(--borda);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.kpi span{color:var(--mudo);font-size:13px}.kpi strong{font-size:26px;color:var(--roxo);font-family:Poppins,"Segoe UI",sans-serif}.kpi small{color:var(--mudo);font-size:12px}
.barra{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}
.dia{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dia strong{color:var(--roxo);margin-left:6px}
.seta{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--borda);background:#fff;border-radius:10px;text-decoration:none;font-size:20px}
.hoje{font-weight:600;margin-left:6px}
input,select,textarea{font:inherit;color:var(--texto);border:1px solid #CFD4E0;border-radius:10px;padding:9px 12px;background:#fff;min-height:42px;width:100%}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(151,223,252,.7);border-color:var(--roxo2)}
.dia input{width:auto}.filtro select{min-width:240px}
label{display:block;font-weight:600;font-size:13px;color:#3B4256;margin:0 0 6px}
.btn,.btn-sec{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:10px;font-weight:600;text-decoration:none;cursor:pointer;font-size:14px;border:1px solid var(--roxo)}
.btn{background:var(--roxo);color:#fff}.btn:hover{background:var(--roxo2);color:#fff}
.btn-sec{background:#fff;color:var(--roxo)}
.mini{min-height:32px;padding:0 10px;border-radius:8px;border:1px solid #CFD4E0;background:#fff;color:var(--roxo);font-weight:600;font-size:12px;cursor:pointer}
.mini:hover{border-color:var(--roxo)}
.colunas{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;align-items:start}
.coluna{background:#fff;border:1px solid var(--borda);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.coluna header{background:var(--azulc);padding:12px 14px;display:flex;flex-direction:column;gap:2px;border-bottom:1px solid #e6f4fb}
.coluna header strong{color:var(--roxo)}.coluna header span{font-size:12px;color:#3E4A63}.coluna .escala{color:var(--mudo)}
.lista{padding:10px;display:flex;flex-direction:column;gap:8px}
.ag{border:1px solid var(--borda);border-radius:10px;padding:9px 11px;display:flex;flex-direction:column;gap:5px}
.ag-top{display:flex;justify-content:space-between;align-items:center;gap:6px}.ag-top strong{color:var(--roxo)}
.ag-pac a{font-weight:600;color:var(--texto);text-decoration:none}.ag-pac a:hover{text-decoration:underline}
.ag-info{font-size:12px;color:var(--mudo);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ag-acoes{display:flex;flex-wrap:wrap;gap:6px}.ag-acoes form{margin:0}
.mais{display:block;padding:10px 14px;border-top:1px solid var(--borda);font-weight:600;text-decoration:none}
.status{font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}
.s-marcado{background:#EEF1F7;color:#3B4256}.s-confirmado{background:#E3F4EA;color:#1D6B3A}.s-aguardando{background:#FFF3D6;color:#7A4E00}
.s-atendendo{background:#efeaf6;color:#6a4c93}.s-atendido{background:#e6f4fb;color:#0B4F6C}.s-faltou{background:#FDE8E1;color:#9A3412}.s-desmarcado{background:#F1F1F4;color:#54595f;text-decoration:line-through}
.tag-ret{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#efeaf6;color:#6a4c93}
.tag-alerg{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#FDE8E1;color:#9A3412;margin-left:6px}
.tag-alerg.grande{font-size:13px;padding:8px 12px;border-radius:10px;margin:0}
.vazio{color:var(--mudo);font-size:14px;margin:0}
.tabela{padding:0;overflow-x:auto}.tabela h2{padding:16px 18px 4px}
table{width:100%;border-collapse:collapse;min-width:640px;font-size:14px}
th{text-align:left;background:var(--azulc);color:var(--roxo);font-weight:600;padding:11px 14px}
td{padding:10px 14px;border-top:1px solid #EEF0F5;vertical-align:top}
td small{color:var(--mudo)}.num{text-align:right}
td a{text-decoration:none}td a:hover{text-decoration:underline}
.falta{color:#9A3412;font-weight:600}
.busca{display:flex;gap:8px;flex:1 1 340px}.busca input{flex:1}
.paginas{display:flex;gap:8px;justify-content:flex-end}
.form{display:flex;flex-direction:column;gap:14px;max-width:980px}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.campo.largo{grid-column:1/-1}
.linha{display:flex;gap:8px}.linha input{flex:1}
.check{display:flex;align-items:center;gap:8px;font-weight:500}.check input{width:auto;min-height:0}
.ajuda{color:var(--mudo);font-size:13px;margin:0}
.acoes{display:flex;gap:10px;flex-wrap:wrap}
.resultados{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.resultados a{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--borda);border-radius:10px;text-decoration:none;font-weight:600}
.resultados span{color:var(--mudo);font-weight:400;font-size:13px}
.ficha{display:flex;flex-wrap:wrap;gap:18px;align-items:center}.ficha-info{flex:1 1 280px}.ficha-info h2{margin:0 0 4px}.ficha-info p{margin:2px 0;color:var(--mudo);font-size:14px}
.abas{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--borda)}
.aba{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;text-decoration:none;font-weight:600;color:var(--mudo);border-bottom:3px solid transparent;margin-bottom:-1px}
.aba.on{color:var(--roxo);border-bottom-color:var(--roxo)}
.pront{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.linha-tempo{flex:2 1 460px;display:flex;flex-direction:column;gap:10px;min-width:0}
.nova-evol{flex:1 1 300px}
.evol{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:14px 16px}
.evol header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin-bottom:8px}.evol header strong{color:var(--roxo)}.evol header span{color:var(--mudo);font-size:13px}
.texto{white-space:pre-wrap;line-height:1.55;font-size:14px;overflow-wrap:anywhere}
.dados{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 16px}
.dados dt{font-size:12px;font-weight:700;color:var(--mudo);text-transform:uppercase;letter-spacing:.03em}.dados dd{margin:2px 0 0;overflow-wrap:anywhere}
.duas{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px}
.duas table{min-width:300px}
.fonte{color:var(--mudo);font-size:13px}
form.inline{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 6px 6px 0}form.inline input{width:120px;min-height:36px}
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--roxo);padding:16px}
.login{width:100%;max-width:400px;display:flex;flex-direction:column;gap:22px;align-items:center}.login img{width:240px}
.login form{width:100%;display:flex;flex-direction:column;gap:10px}.login h1{font-size:20px;margin-bottom:6px}
.erro{background:#FDE8E1;color:#9A3412;border-radius:8px;padding:10px 12px;margin:0}
.nova-evol{order:2}.linha-tempo{order:1}
@media (max-width:900px){.nova-evol{order:0}}
@media (max-width:700px){main{padding:18px 16px}aside{padding:16px}aside nav{flex-direction:row;flex-wrap:wrap}.rodape{display:none}}

/* ===== Layout v2 (referência visual de 05/11) ===== */
body{background:linear-gradient(180deg,#f8f6fb 0%,#F2F5FB 100%)}
.ic{width:22px;height:22px;flex:none}.ic-s{width:18px;height:18px;flex:none}.ic-p{width:14px;height:14px;flex:none}
aside{position:relative;overflow:hidden;background:linear-gradient(170deg,#4a3169 0%,#5a3f80 55%,#6a4c93 100%);padding:28px 16px;flex:0 1 236px;min-width:220px}
aside .logo{width:188px;margin:0 auto 6px;display:block}
aside nav{gap:6px}
.nav{gap:14px;min-height:48px;padding:0 16px;border-radius:12px;color:#e2d9ee;font-size:16px}
.nav .ic{color:#CDBBEB}
.nav:hover{background:rgba(255,255,255,.08)}
.nav.on{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.nav.on .ic{color:#fff}
.curva{position:absolute;left:-60px;bottom:-120px;width:300px;height:260px;border-radius:50%;border:2px solid rgba(151,223,252,.55);border-color:rgba(151,223,252,.6) transparent transparent transparent;transform:rotate(-12deg);pointer-events:none}
main{gap:18px;padding:24px 28px 40px}
.topo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.titulo{display:flex;align-items:center;gap:14px}
.titulo-ic{width:52px;height:52px;display:flex;align-items:center;justify-content:center;color:var(--roxo2)}.titulo-ic .ic{width:44px;height:44px}
h1{font-size:30px;letter-spacing:-.01em}
.titulo .sub{margin:2px 0 0;font-size:17px;color:#4A3A6B}
.topo-acoes{display:flex;align-items:center;gap:14px}
.btn-pill{border-radius:999px;min-height:52px;padding:0 26px;font-size:16px;gap:10px;background:linear-gradient(90deg,#6a4c93,#7b5da6);border:0;box-shadow:0 6px 16px rgba(106,76,147,.25)}
.btn-pill .ic{width:20px;height:20px}
.conta{position:relative}
.conta summary{list-style:none;width:52px;height:52px;border-radius:50%;background:#efeaf6;color:var(--roxo2);display:flex;align-items:center;justify-content:center;cursor:pointer}
.conta summary::-webkit-details-marker{display:none}
.conta-menu{position:absolute;right:0;top:60px;z-index:20;background:#fff;border:1px solid var(--borda);border-radius:14px;padding:14px;min-width:240px;box-shadow:0 12px 30px rgba(74,49,105,.15);display:flex;flex-direction:column;gap:12px}
.conta-menu .quem strong{color:var(--texto)}.conta-menu .quem span{color:var(--mudo)}
.painel{display:flex;flex-direction:column;gap:14px}
.nav-data{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#fff;border:1px solid #e4e6ec;border-radius:18px;padding:10px 12px;box-shadow:0 2px 10px rgba(74,49,105,.04)}
.data-pill{display:flex;align-items:center;gap:6px}
.data-pill .seta{width:44px;height:44px;border-radius:50%;border:1px solid #e4e6ec;color:var(--roxo2)}
.data-rotulo{display:flex;align-items:center;gap:10px;margin:0;padding:8px 16px;border-radius:12px;background:#f5f2fa;color:var(--roxo);cursor:pointer;position:relative}
.data-rotulo strong{font-size:20px;font-family:Poppins,"Segoe UI",sans-serif}
.data-rotulo input[type=date]{position:absolute;inset:0;opacity:0;cursor:pointer;min-height:0;padding:0}
.hoje{margin-left:4px}
.vistas{margin-left:auto;display:flex;gap:4px;background:#f8f6fb;border-radius:14px;padding:4px}
.vis{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;text-decoration:none;color:#33373d;font-weight:500}
.vis.on{background:#efeaf6;color:var(--roxo);font-weight:600}
.filtros{display:flex;flex-wrap:wrap;gap:12px}
.sel{position:relative;display:flex;align-items:center;margin:0;color:#33373d}
.sel .ic-s{position:absolute;left:16px;pointer-events:none}
.sel select{min-height:48px;border-radius:999px;padding:0 44px 0 46px;min-width:250px;background:#fff;border:1px solid #e4e6ec;font-weight:500}
.colunas{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.coluna{border:1px solid #e4e6ec;border-radius:18px;box-shadow:0 4px 18px rgba(74,49,105,.05)}
.coluna header{flex-direction:row;align-items:center;gap:14px;padding:16px;border:0}
.foto{width:62px;height:62px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-family:Poppins,"Segoe UI",sans-serif;font-weight:700;font-size:21px;border:3px solid rgba(255,255,255,.7)}
.prof-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.prof-info strong{font-size:18px}.prof-info span{font-size:13px}
.chip{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:4px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:rgba(255,255,255,.85);color:var(--roxo2);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contagem{display:flex;flex-direction:column;align-items:center;gap:2px;padding-left:14px;border-left:1px solid rgba(255,255,255,.3);font-size:12px;text-align:center}
.contagem strong{font-size:20px}
.tema-roxo header{background:linear-gradient(135deg,#4a3169,#7b5da6);color:#fff}.tema-roxo header strong,.tema-roxo header span{color:#fff}.tema-roxo .foto{background:#efeaf6;color:#4a3169}.tema-roxo .contagem{color:#efeaf6}
.tema-azul header{background:linear-gradient(135deg,#e6f4fb,#a9dcf3)}.tema-azul header strong{color:var(--roxo)}.tema-azul header span{color:#2E3A55}.tema-azul .foto{background:#fff;color:#0B4F6C}.tema-azul .contagem{border-color:rgba(74,49,105,.12);color:#2E3A55}
.tema-lilas header{background:linear-gradient(135deg,#e2d9ee,#cfc2e2)}.tema-lilas header strong{color:var(--roxo)}.tema-lilas header span{color:#3B2A5A}.tema-lilas .foto{background:#fff;color:#6a4c93}.tema-lilas .contagem{border-color:rgba(74,49,105,.12);color:#3B2A5A}
.tema-cinza header{background:#F1F1F4}
.lista{padding:12px;gap:10px}
.slot{display:flex;align-items:stretch;gap:12px;border:1px solid #e4e6ec;border-radius:14px;padding:8px;background:#fff;box-shadow:0 1px 3px rgba(74,49,105,.04)}
.slot.cancelado{opacity:.6}
.hora{flex:none;width:84px;border-radius:10px;background:#efeaf6;color:var(--roxo);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;font-family:Poppins,"Segoe UI",sans-serif}
.tema-azul .hora{background:#e6f4fb}
.slot-corpo{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:2px 0}
.slot-nome a{font-weight:600;font-size:16px;color:var(--texto);text-decoration:none}.slot-nome a:hover{text-decoration:underline}
.slot-info{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.conv{font-size:12px;color:var(--mudo)}
.status{display:inline-flex;align-items:center;gap:5px;font-size:12px;padding:4px 10px}
.s-confirmado{background:#E2F5E8;color:#1D6B3A}.s-aguardando{background:#FFEFD6;color:#8A4B00}
.livre{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1.5px dashed #4cb7e5;border-radius:10px;background:#f2f9fd;padding:10px 14px;color:#2B3A55;text-decoration:none;font-weight:500;font-size:16px}
.livre .ic{color:#2a9fd6}.livre:hover{background:#e6f4fb}
.livre-h{background:#e6f4fb}
.acoes-menu{position:relative;align-self:center}
.acoes-menu summary{list-style:none;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#33373d}
.acoes-menu summary::-webkit-details-marker{display:none}
.acoes-menu summary:hover,.acoes-menu[open] summary{background:#efeaf6}
.acoes-menu .menu{position:absolute;right:0;top:44px;z-index:15;background:#fff;border:1px solid var(--borda);border-radius:12px;padding:6px;min-width:230px;box-shadow:0 12px 30px rgba(74,49,105,.15);display:flex;flex-direction:column}
.acoes-menu .menu form{margin:0}
.acoes-menu .menu button,.acoes-menu .menu a{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border:0;background:transparent;border-radius:8px;font:inherit;font-size:14px;color:var(--texto);text-decoration:none;cursor:pointer;text-align:left}
.acoes-menu .menu button:hover,.acoes-menu .menu a:hover{background:#f5f2fa}
.legenda{display:flex;flex-wrap:wrap;gap:14px 28px;background:#fff;border:1px solid #e4e6ec;border-radius:16px;padding:14px 18px}
.leg{display:flex;align-items:center;gap:10px;font-size:13px;color:#33373d}
.livre-mini{width:26px;height:22px;border:1.5px dashed #4cb7e5;border-radius:6px;background:#f2f9fd;display:inline-flex;align-items:center;justify-content:center;color:#2a9fd6}
.semana{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow-x:auto;padding-bottom:4px}
.dia-sem{background:#fff;border:1px solid #e4e6ec;border-radius:14px;overflow:hidden;min-width:150px}
.dia-sem header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#f5f2fa}
.dia-sem header a{text-decoration:none;color:var(--roxo)}.dia-sem header span{font-weight:700;color:var(--roxo2)}
.dia-sem .lista{padding:8px;gap:6px}
.hoje-col{outline:2px solid #a9dcf3}
.mini-slot{display:flex;flex-direction:column;gap:1px;padding:7px 9px;border-radius:9px;text-decoration:none;color:var(--texto);font-size:12px}
.mini-slot strong{font-size:13px}.mini-slot small{color:var(--mudo)}
.mes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:14px}
.mes .cab{font-weight:700;color:var(--roxo2);text-align:center;font-size:13px;padding:4px 0}
.cel{min-height:96px;border:1px solid #e4e6ec;border-radius:12px;padding:8px 10px;text-decoration:none;color:var(--texto);display:flex;flex-direction:column;gap:2px}
.cel .num{font-weight:700;color:var(--mudo)}.cel.tem{background:#f8f6fb}.cel strong{font-size:20px;color:var(--roxo)}.cel small{font-size:11px;color:var(--mudo)}
.cel:hover{border-color:#b9a8d4}
@media (max-width:700px){aside{flex-basis:100%;min-width:0}.curva{display:none}.vistas{margin-left:0}.sel select{min-width:0;width:100%}.sel{flex:1 1 100%}.hora{width:68px;font-size:16px}h1{font-size:24px}}
.tema-roxo header .chip{color:#6a4c93}.tema-roxo header .chip .ic-p{color:#6a4c93}
/* ---------- Fluxo do dia (quadro) ---------- */
.s-liberado{background:#e6f4fb;color:#0B4F6C}
.indicadores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ind{background:#fff;border:1px solid #e4e6ec;border-radius:16px;padding:14px 18px;display:flex;flex-direction:column;gap:2px}
.ind strong{font-size:24px;color:var(--roxo);font-family:Poppins,"Segoe UI",sans-serif}.ind span{font-size:13px;color:var(--mudo)}
.ajuda-fluxo{margin:0;font-size:13px;color:var(--mudo)}
.quadro{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:14px;overflow-x:auto;padding-bottom:6px;align-items:start}
.etapa{background:#f5f2fa;border:1px solid #e4e6ec;border-radius:18px;display:flex;flex-direction:column;min-height:320px;transition:background .15s,outline-color .15s;outline:2px dashed transparent;outline-offset:-2px}
.etapa header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 14px 12px;border-radius:18px 18px 0 0}
.etapa header div{display:flex;flex-direction:column;gap:2px;min-width:0}
.etapa header strong{font-size:15px;color:var(--roxo)}.etapa header span{font-size:12px;color:#54595f}
.etapa header .n{flex:none;min-width:32px;height:32px;border-radius:999px;background:#fff;color:var(--roxo);display:flex;align-items:center;justify-content:center;font-size:15px}
.et-chegar header{background:#EEF1F7}
.et-recepcao header{background:#FFEFD6}.et-recepcao header strong{color:#7A4300}
.et-liberado header{background:#e6f4fb}.et-liberado header strong{color:#0B4F6C}
.et-atendimento header{background:linear-gradient(135deg,#4a3169,#7b5da6)}.et-atendimento header strong,.et-atendimento header span{color:#fff}
.et-finalizado header{background:#E2F5E8}.et-finalizado header strong{color:#1D6B3A}
.cartoes{display:flex;flex-direction:column;gap:10px;padding:10px}
.cartao{background:#fff;border:1px solid #e4e6ec;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:7px;box-shadow:0 1px 3px rgba(74,49,105,.06)}
.cartao[draggable]{cursor:grab}.cartao.arrastando{opacity:.45;cursor:grabbing}
.cartao-topo{display:flex;align-items:center;justify-content:space-between;gap:8px}
.c-hora{font-weight:700;font-size:15px;color:var(--roxo);background:#efeaf6;border-radius:8px;padding:3px 9px;font-family:Poppins,"Segoe UI",sans-serif}
.c-prof{font-size:12px;color:var(--mudo);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-nome a{font-weight:600;font-size:15px;color:var(--texto);text-decoration:none}.c-nome a:hover{text-decoration:underline}
.c-info{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.tempo{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:#efeaf6;color:#6a4c93}
.tempo.atencao{background:#FFEFD6;color:#8A4B00}.tempo.atraso{background:#FDE8E1;color:#9A3412}.tempo.ok{background:#E2F5E8;color:#1D6B3A}
.c-linha{font-size:11.5px;color:var(--mudo)}
.c-acoes{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.c-acoes form{margin:0}
.c-acoes button{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 12px;border-radius:999px;font:inherit;font-size:13px;cursor:pointer;border:1px solid #d9dbe3;background:#fff;color:#33373d}
.c-acoes button.avancar{background:var(--roxo);border-color:var(--roxo);color:#fff;font-weight:600}
.c-acoes button.avancar:hover{background:#4a3169}.c-acoes button.lateral:hover{background:#f5f2fa}
.c-acoes button.perigo{color:#9A3412}
.pode-soltar{outline-color:#b9a8d4}
.etapa.sobre,.zona.sobre{background:#e7e0f1;outline-color:var(--roxo)}
.fora{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.zona{flex:1 1 220px;border:2px dashed #e4e6ec;border-radius:14px;padding:14px;text-align:center;font-size:13px;color:var(--mudo);outline:2px dashed transparent}
.zona.pode-soltar{border-color:#E8A88F;color:#9A3412}
.fora-lista{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;background:#fff;border:1px solid #e4e6ec;border-radius:14px;padding:12px 16px;font-size:13px}
.fora-item{display:inline-flex;align-items:center;gap:6px}
@media (max-width:900px){.indicadores{grid-template-columns:repeat(2,minmax(0,1fr))}}
.btn-sec.btn-pill{background:#fff;color:var(--roxo);border:1px solid #d9dbe3;box-shadow:none}
/* ---------- Tabela de valores ---------- */
.tab-valores input{width:120px;min-height:38px}
.acoes-tab{display:flex;gap:6px;flex-wrap:wrap}.acoes-tab form{margin:0}
.filtros .sel input{border:0;background:transparent;font:inherit;min-width:220px;outline:none}
#procedimento_outro{margin-top:8px}

/* ---------- Fotos dos profissionais ---------- */
img.foto{object-fit:cover;object-position:center 20%;padding:0;background:#fff}
.prof-cel{display:flex;align-items:center;gap:12px}
.mini-foto{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:center 20%;flex:none;border:2px solid #efeaf6}
.mini-foto.vazia{display:inline-block;background:#efeaf6}
.foto-prof{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:12px}
.foto-prof img{width:120px;height:150px;object-fit:cover;border-radius:14px;border:1px solid #e4e6ec}
.foto-prof small{color:var(--mudo)}
/* ---------- LGPD / prontuário ---------- */
.selo{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;margin-left:6px}
.selo.sig{background:#efeaf6;color:#6a4c93}.selo.ret{background:#FFF3D6;color:#7A4E00}
.texto.restrito{color:var(--mudo);font-style:italic;display:flex;align-items:center;gap:6px}
.evol.sigiloso{border-left:3px solid #b9a8d4}
.retificar{margin-top:10px}.retificar summary{cursor:pointer;color:var(--roxo2);font-size:13px;font-weight:600}
.retificar form{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.excepcional summary{cursor:pointer;font-weight:600;color:#7A4E00;display:flex;align-items:center;gap:6px}
.excepcional form{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.nota-lgpd{font-size:12px;color:var(--mudo);display:flex;align-items:center;gap:6px;margin-top:8px}
.lgpd-pendente{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#FFF3D6;color:#7A4E00;border-radius:14px;padding:10px 14px;margin:8px 0;font-weight:600}
.lgpd-pendente form{margin:0}.lgpd-pendente .btn-sec{min-height:36px}
.lgpd-ok{font-size:13px;color:#1D6B3A;display:flex;align-items:center;gap:6px;margin:6px 0}
.termo{display:flex;flex-direction:column;gap:8px;padding-left:20px;line-height:1.5}
.primeiro-acesso{max-width:860px}
.aviso-login{background:#FFF3D6;color:#7A4E00;padding:10px 12px;border-radius:10px;font-size:14px}
tr.destaque td{background:#FFF7E6}
body.impressao{background:#fff}
.folha{max-width:780px;margin:30px auto;padding:0 24px;font-size:14px;line-height:1.55;color:#1d1b26}
.folha h1{font-size:20px;color:var(--roxo);margin:16px 0}
.folha ol{display:flex;flex-direction:column;gap:6px;padding-left:20px}
.logo-imp{height:64px}
.assina{margin-top:28px}
.linhas-ass{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:56px}
.linhas-ass div{border-top:1px solid #333;padding-top:6px;text-align:center;font-size:13px}
@media print{.nao-imprimir{display:none}.folha{margin:0;max-width:none}}
.evol header{justify-content:flex-start;flex-wrap:wrap;gap:4px 12px}.evol header .selo{margin-left:0}
/* ---------- Documentos ---------- */
.mini-btn{min-height:32px;padding:0 12px;font-size:13px;gap:6px;margin-left:auto}
.doc-texto{font-family:"Courier New",monospace;font-size:14px;line-height:1.5}
.opcoes-receita{display:flex;flex-direction:column;gap:6px;background:#f5f2fa;border-radius:12px;padding:10px 14px}
.opcoes-receita[hidden]{display:none}
.assinatura-prev{display:flex;align-items:center;gap:8px;background:#e6f4fb;color:#0B4F6C;border-radius:12px;padding:10px 14px;font-size:14px}
.salvar-modelo summary{cursor:pointer;color:var(--roxo2);font-weight:600;font-size:14px}
.salvar-modelo{display:flex;flex-direction:column;gap:6px}
.barra-imp{display:flex;gap:10px;align-items:center;justify-content:center;padding:12px;background:#f5f2fa;border-bottom:1px solid #e4e6ec}
.ok-imp{color:#1D6B3A;font-weight:600}
.folha-doc{max-width:800px;margin:16px auto;background:#fff}
.duas-vias .folha-doc{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:10mm;padding:0 8mm}
.via{position:relative;padding:12mm 10mm;min-height:270mm;display:flex;flex-direction:column;color:#111;font-size:13.5px}
.duas-vias .via{min-height:185mm;padding:6mm 4mm;font-size:12px;border-right:1px dashed #bbb}
.duas-vias .via:last-child{border-right:0}
.rotulo-via{position:absolute;top:2mm;right:4mm;font-size:11px;font-weight:700;text-transform:uppercase;color:#555}
.timbre{display:flex;align-items:center;gap:14px;border-bottom:2px solid #4a3169;padding-bottom:8px;margin-bottom:14px}
.timbre img{height:56px}.timbre div{display:flex;flex-direction:column;font-size:11px;color:#333}.timbre strong{font-size:13px;color:#4a3169}
.via h1{font-size:17px;text-align:center;letter-spacing:.5px;margin:6px 0 14px;color:#111}
.pac-doc{font-size:14px;margin:0 0 12px}
.corpo-doc,.prescricao{white-space:pre-wrap;line-height:1.6;flex:1;font-size:14px}
.duas-vias .corpo-doc,.duas-vias .prescricao{font-size:12.5px}
.assinatura-doc{display:flex;flex-direction:column;align-items:center;margin-top:18px;gap:1px;text-align:center}
.assinatura-doc .local{align-self:flex-start;margin-bottom:34px}
.linha-ass{width:70%;border-top:1px solid #111;margin-bottom:4px}
.assinatura-doc small{color:#666;font-size:10.5px}
.via.controle .caixa{border:1px solid #333;padding:6px 8px;margin-bottom:8px;font-size:11px}
.via.controle .caixa h2{font-size:11px;margin:0 0 4px;text-transform:uppercase}
.via.controle .caixa p{margin:2px 0}
.via.controle .pac p{margin:2px 0 6px}
.via.controle .ident{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.via.controle .espaco{height:18px}
@media print{body.doc-impressao{background:#fff}.folha-doc{margin:0;max-width:none}.via{min-height:auto;padding:0}.duas-vias .via{padding:0 4mm}}
.historico{margin-top:8px}.historico summary{cursor:pointer;font-size:13px;color:#7A4E00;font-weight:600}
.historico ol{display:flex;flex-direction:column;gap:8px;padding-left:18px;margin-top:6px}
.historico li .texto{background:#f8f6fb;border-radius:8px;padding:8px 10px;font-size:13px}
.hist-cab{font-size:12px;color:var(--mudo);margin-bottom:4px}
.semana.n1{grid-template-columns:minmax(150px,420px)}.semana.n2{grid-template-columns:repeat(2,minmax(150px,1fr))}.semana.n3{grid-template-columns:repeat(3,minmax(150px,1fr))}
.semana.n4{grid-template-columns:repeat(4,minmax(150px,1fr))}.semana.n5{grid-template-columns:repeat(5,minmax(150px,1fr))}.semana.n6{grid-template-columns:repeat(6,minmax(150px,1fr))}
.cel.folga{background:#F4F3F7;border-style:dashed;opacity:.55}
.login-body{background:radial-gradient(900px 520px at 90% 0%,rgba(76,183,229,.18) 0%,transparent 65%),radial-gradient(700px 500px at 0% 100%,rgba(106,76,147,.12) 0%,transparent 60%),#fafbfd}.login img{width:260px;max-width:80%}.login .card{box-shadow:0 24px 60px -20px rgba(106,76,147,.3)}

/* timbre no rodapé do documento */
.via .timbre{margin-top:auto;border-bottom:0;border-top:2px solid #4a3169;padding:10px 0 0;margin-bottom:0}
.via .assinatura-doc{margin-bottom:22px}
@media print{.via{min-height:270mm}.duas-vias .via{min-height:185mm}}

/* ---- barra lateral: seletor e ficha do profissional ---- */
.lateral{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;margin-top:4px;padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}
.lat-filtro label{color:#CDBBEB;font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin:0 4px 8px}
.lat-filtro select{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:12px;min-height:46px;font-weight:500}
.lat-filtro select option{color:var(--texto);background:#fff}
.lat-ficha{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.lat-foto{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid rgba(169,220,243,.65);background:#fff}
.lat-foto.sem{display:flex;align-items:center;justify-content:center;background:rgba(169,220,243,.2);color:#fff;font:700 30px Poppins,"Segoe UI",sans-serif}
.lat-nome{color:#fff;font-size:15px;line-height:1.35;margin-top:6px}
.lat-reg{display:inline-block;background:rgba(169,220,243,.2);color:#e6f4fb;border-radius:999px;padding:3px 12px;font-size:12.5px;font-weight:600;letter-spacing:.02em}
.lat-ficha h3{align-self:stretch;text-align:left;display:flex;align-items:center;gap:6px;margin:12px 0 2px;color:#CDBBEB;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.lat-ficha ul{align-self:stretch;list-style:none;margin:0;padding:0;text-align:left;display:flex;flex-direction:column;gap:4px}
.lat-esp li{font-size:13px;color:#f2f9fd;padding-left:12px;position:relative}.lat-esp li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--azul)}
.lat-escala li{font-size:13px;color:#fff;background:rgba(255,255,255,.08);border-radius:8px;padding:6px 10px}
.lat-vazio{margin:0;font-size:13px;color:#CDBBEB;align-self:flex-start}
.lat-cons{align-self:stretch;display:flex;align-items:center;gap:6px;margin:10px 0 0;font-size:13px;color:#e6f4fb;font-weight:600}
@media (max-width:700px){.lateral{flex-direction:column}.lat-ficha{flex-direction:column}}

/* ---- janela de conferência ao liberar ---- */
.modal-fundo{position:fixed;inset:0;z-index:50;background:rgba(36,22,54,.45);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto}
.modal{background:#fff;border-radius:20px;width:100%;max-width:520px;padding:22px 24px 20px;box-shadow:0 20px 60px rgba(36,22,54,.3)}
.modal form>label{margin-top:14px}
.modal-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px}
.modal-topo h2{margin:0;font-size:20px;color:var(--roxo)}.modal-topo p{margin:4px 0 0;color:var(--mudo);font-size:13px}
.fechar{color:var(--mudo);display:flex;padding:4px;border-radius:8px}.fechar:hover{background:#f3f0f8;color:var(--roxo)}
.escolha{border:0;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.escolha legend{font-weight:600;font-size:13px;color:#3B4256;margin-bottom:6px;padding:0}
.opcao{margin:0;font-weight:500;font-size:14px;cursor:pointer}
.opcao input{position:absolute;opacity:0;width:1px;height:1px}
.opcao span{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid #CFD4E0;border-radius:999px;background:#fff}
.opcao input:checked+span{background:var(--lilasc);border-color:var(--roxo2);color:var(--roxo);font-weight:600}
.opcao input:focus-visible+span{outline:3px solid rgba(151,223,252,.7)}
.formas .opcao span{min-height:36px;font-size:13.5px}
#ml-plano{margin-top:14px}
.modal #ml-ajuda{margin-top:10px;min-height:1em}
.modal-acoes{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.modal-acoes .btn{gap:8px}
.c-pago{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:12px;color:#2f7a4f;font-weight:600}

/* ---- relatórios ---- */
.relatorio{display:flex;flex-direction:column;gap:16px}
.rel-filtros{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.rel-filtros .vistas{margin-left:0}
.rel-filtros .sel{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;margin:0}
.rel-filtros input[type=date]{width:auto;min-height:44px;border-radius:999px}
.relatorio .kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.relatorio td.num,.relatorio th.num{text-align:right;white-space:nowrap}
.relatorio tfoot td{border-top:2px solid var(--borda);background:#faf8fc}
.barra-h{display:block;height:4px;border-radius:4px;margin-top:5px;margin-left:auto;width:var(--w);max-width:140px;background:var(--roxo3);opacity:.55}
.rel-detalhe td{font-size:13.5px}
@media print{aside,.topo-acoes,.nao-imprimir{display:none!important}main{padding:0}.card{break-inside:avoid;box-shadow:none}.barra-h{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.modal [hidden]{display:none!important}
.rel-filtros .vistas{margin-right:auto}
.rel-detalhe td:first-child{white-space:nowrap}
.prof-info .chip{white-space:normal;max-width:100%;height:auto;min-height:26px;line-height:1.3;padding-top:3px;padding-bottom:3px;overflow:visible;text-overflow:clip}
.prof-info .chip .ic-p{flex:none}

/* assinatura digital */
.selo.ok-ass{background:#E4F4EA;color:#1D6B3A}.selo.pend-ass{background:#FFF3D6;color:#7A4E00}
details.assinar{margin-top:10px;border:1px dashed #b9a6dc;border-radius:10px;padding:8px 12px;background:#faf8fd}
details.assinar summary{cursor:pointer;font-weight:600;color:#3b1f6b;display:inline-flex;align-items:center;gap:6px}
details.assinar .passos{margin:8px 0 6px 18px;padding:0;font-size:13px;line-height:1.5}
details.assinar form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.barra-imp details.assinar{display:inline-block;margin:0 0 0 8px;vertical-align:middle}
.aviso-imp{display:inline-block;margin-left:8px;padding:4px 10px;border-radius:8px;background:#FFF3D6;color:#7A4E00;font-size:13px}
