/* Pacientes › Agenda (pacientes/agenda.js, 28/10): Fila de espera e Calendário no jeito do Amigo.
   Situação sempre com ícone + texto + forma (ele é daltônico); cor só reforça. */
.pa{min-width:0}
.pa .pl-linha .pl-busca input{width:11.25rem}
.pa-sub{color:var(--mut);font-size:.75rem;font-weight:400}
.pa-nada{margin:.375rem 0 .25rem 1.625rem;color:var(--mut);font-size:.7812rem}
.pa-topo{margin:0 0 .875rem}
.pa-grupos{display:flex;flex-direction:column;gap:.875rem;min-width:0}
.pa-grupo{border:1px solid var(--line);border-radius:.75rem;background:var(--sur);padding:.625rem 0 .25rem}
.pa-gcab{display:flex;align-items:center;gap:.5rem;border:0;background:transparent;color:var(--acc);font:inherit;font-size:.7812rem;font-weight:700;letter-spacing:.03em;cursor:pointer;padding:2px .875rem .5rem}
.pa-tw{overflow-x:auto}
.pa-tab{width:100%;border-collapse:collapse;table-layout:auto}
.pa-tab td:nth-child(n+3){white-space:normal}

.pa-tab th,.pa-tab td{text-align:left;padding:.5rem .75rem;border-top:1px solid var(--line);font-size:.8125rem;vertical-align:middle;white-space:nowrap}
.pa-tab th{font-size:.6875rem;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;font-weight:500;padding-top:.375rem;padding-bottom:.375rem}
.pa-tab tbody tr{cursor:pointer}
.pa-tab tbody tr:hover td{background:var(--sur2)}
.pa-h{font-weight:600;width:3.5rem}
.pa-pac{display:flex;flex-direction:column;line-height:1.3}
.pa-pac b{font-weight:600}
.pa-pend{display:inline-block;padding:1px .4375rem;border:1px solid currentColor;border-radius:.25rem;font-size:.7188rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em}
/* Selo de situação: cada uma com ícone e forma diferentes. */
.pa-st{display:inline-flex;align-items:center;gap:.25rem;padding:2px .5rem;border-radius:.375rem;font-size:.75rem;font-weight:600;border:1px solid var(--line);background:var(--sur);color:var(--ink)}
.pa-st-cf{border-color:#3d8b5a;color:#2a6b42;background:#eef7f1}
.pa-st-pr{border-color:var(--acc);color:#fff;background:var(--acc)}
.pa-st-fi{border-color:transparent;background:var(--sur2);color:var(--mut)}
.pa-st-fa{border:1.5px solid #a86a00;color:#7a4d00;background:#fff6e5}
.pa-st-ca{border-color:transparent;background:transparent;color:var(--mut);text-decoration:line-through}
/* Calendário: faixas de 30 min; na mesma faixa os atendimentos ficam empilhados. */
.pa-cal{border:1px solid var(--line);border-radius:.75rem;background:var(--sur);overflow:hidden}
.pa-cal-corpo{display:grid;grid-template-columns:3.5rem repeat(var(--c),minmax(9.375rem,1fr));max-height:calc(100vh - 15.625rem);min-height:22.5rem;overflow:auto;position:relative}
.pa-ccab{position:sticky;top:0;z-index:5;padding:.5625rem .375rem;text-align:center;font-size:.8125rem;font-weight:600;border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--sur);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-ccab.pa-cc0{border-left:0;left:0;z-index:6}
.pa-ccab.on{background:var(--acc-soft);color:var(--acc)}
.pa-hr{position:sticky;left:0;z-index:4;background:var(--sur);border-top:1px solid var(--line);min-height:1.875rem}
.pa-hr span{display:block;padding:.1875rem .5rem 0 0;text-align:right;font-size:.7188rem;color:var(--mut);font-variant-numeric:tabular-nums}
.pa-hr.meia,.pa-cel.meia{border-top-style:dotted}
.pa-cel{position:relative;border-left:1px solid var(--line);border-top:1px solid var(--line);padding:2px .1875rem;display:flex;flex-direction:column;gap:2px;min-height:1.875rem;min-width:0}
.pa-cel.on{background:color-mix(in srgb,var(--acc-soft) 45%,transparent)}
.pa-agora{position:absolute;left:0;right:0;border-top:2px solid #c0392b;z-index:3;pointer-events:none}
.pa-agora::before{content:'';position:absolute;left:-.25rem;top:-.3125rem;width:.5rem;height:.5rem;border-radius:50%;background:#c0392b}
.pa-ev{position:relative;z-index:2;box-sizing:border-box;width:100%;display:flex;flex-direction:column;gap:1px;padding:.1875rem .375rem;border:1px solid #9fb8d0;border-left-width:4px;border-radius:.375rem;background:#e8f0f8;color:var(--ink);font:inherit;text-align:left;cursor:pointer;overflow:hidden;min-width:0}
.pa-ev:hover{box-shadow:0 2px 8px #183b4430}
.pa-ev-l1{display:flex;align-items:center;gap:.25rem;font-size:.6562rem;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-ev-nm{font-size:.75rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-ev-ag{background:#fff;border-color:#9fb8d0}
.pa-ev-cf{background:#e8f0f8;border-color:#5f8db8}
.pa-ev-pr{background:var(--acc);border-color:var(--acc);color:#fff}
.pa-ev-pr .pa-ev-l1{color:#e6eef6}
.pa-ev-fi{background:var(--sur2);border-color:#b8bcc0}
.pa-ev-fa{background:#fff6e5;border:1.5px solid #c98a1a;border-left-width:4px}
.pa-ev-ca{background:#f7f7f7;border-color:#d6d6d6;color:var(--mut)}
.pa-ev-ca .pa-ev-nm{text-decoration:line-through;font-weight:500}
/* Mês */
.pa-mes{border:1px solid var(--line);border-radius:.75rem;background:var(--sur);overflow:hidden}
.pa-mes-cab,.pa-mes-grade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.pa-mes-cab span{padding:.5rem;text-align:center;font-size:.75rem;font-weight:600;color:var(--mut);border-bottom:1px solid var(--line)}
.pa-dia{position:relative;min-height:7.375rem;padding:.25rem .3125rem .375rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}
.pa-dia:nth-child(7n){border-right:0}
.pa-dia.fora{background:var(--sur2)}
.pa-dia.fora .pa-dia-n{color:var(--mut)}
.pa-dia-n{align-self:flex-start;border:0;background:transparent;font:inherit;font-size:.8125rem;font-weight:700;color:var(--ink);cursor:pointer;padding:2px .375rem;border-radius:62.4375rem}
.pa-dia.on .pa-dia-n{background:var(--acc);color:#fff}
.pa-dia-t{position:absolute;top:.375rem;right:.5rem;font-size:.6875rem;color:var(--mut);font-variant-numeric:tabular-nums}
.pa-mi{display:flex;align-items:center;gap:.25rem;width:100%;box-sizing:border-box;padding:1px .3125rem;border:1px solid #9fb8d0;border-left-width:3px;border-radius:.25rem;font:inherit;font-size:.7188rem;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pa-mais{border:0;background:transparent;color:var(--acc);font:inherit;font-size:.7188rem;font-weight:600;text-align:left;padding:0 .3125rem;cursor:pointer}
@media(min-width:901px){.pa-topo .fgh-kpis{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:760px){.pa .pl-linha .pl-busca input{width:100%}.pa-dia{min-height:5rem}.pa-mi span+*{display:none}}
.pa-id{white-space:nowrap}

/* Agendar pelo CRM (pacientes/agendar.js, 7660) */
.ag-dialog{width:min(35rem,calc(100vw - 2rem))}
.ag-corpo{display:flex;flex-direction:column;gap:.625rem}
.ag-campo{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--mut)}
.ag-campo input:not([type=date]):not([type=time]),.ag-campo textarea{font:inherit;font-size:.875rem;font-weight:400;color:var(--ink);padding:.5rem .625rem;border:1px solid var(--line);border-radius:.5rem;background-color:var(--sur)}
.ag-linha{display:grid;grid-template-columns:1fr 1fr;gap:.625rem}
.ag-rot{font-size:.75rem;font-weight:600;color:var(--mut)}
.ag-sub{font-size:.75rem;color:var(--mut);font-weight:400}
.ag-chips{display:flex;flex-wrap:wrap;gap:.375rem}
.conversation-dialog .ag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border:1px solid var(--line);border-radius:62.4375rem;background:var(--sur);font-size:.75rem;cursor:pointer}
.conversation-dialog .ag-chip.on{border:2px solid var(--acc);color:var(--acc);font-weight:700}
.ag-sug{display:flex;flex-direction:column;gap:.375rem}
.ag-aviso{display:flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:600;color:#8a5a00}
.ag-pac-escolhido{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}
.ag-pac-escolhido .ag-rot{width:100%}
.conversation-dialog .ag-link{border:0;background:none;color:var(--acc);padding:0;font:inherit;font-size:.75rem;font-weight:600}
.ag-res{display:flex;flex-direction:column;gap:.25rem;max-height:13.75rem;overflow:auto}
.conversation-dialog .ag-res-item{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:0;padding:.375rem .625rem}
.ag-nota{margin:0;font-size:.75rem;color:var(--mut)}
.ag-erro{margin:0;color:#a3261b;font-size:.8125rem;font-weight:600}
.ag-erro:empty{display:none}
.conversation-dialog .ag-pri{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);font-weight:700}
.conversation-dialog .ag-perigo{color:#a3261b}
.ag-dialog footer{flex-wrap:wrap}
.ag-esp{flex:1}
/* Ficha › Agenda: marcações do CRM em cima da tabela */
.ag-ficha{display:flex;flex-direction:column;gap:.375rem;margin:0 0 .75rem}
.ag-ficha-cab{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}
.ag-ficha-cab h3{margin:0;font-size:.8125rem}
.ag-ficha-lista{display:flex;flex-wrap:wrap;gap:.5rem}
.ag-ficha-item{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .625rem;border:1px dashed var(--acc);border-radius:.5rem;background:var(--sur);font-size:.8125rem;cursor:pointer;color:var(--ink)}
.ag-ficha-item svg{color:var(--acc)}
.ag-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1px solid var(--acc);border-radius:.5rem;background:var(--acc);color:var(--acc-ink);font:inherit;font-size:.8125rem;font-weight:700;cursor:pointer}
/* Agenda: marcação do CRM tem borda tracejada + selo CRM (não só cor) */
.pa-crm{display:inline-flex;align-items:center;gap:.1875rem;margin-left:.375rem;padding:0 .375rem;border:1px dashed var(--acc);border-radius:.25rem;font-size:.625rem;font-weight:700;color:var(--acc)}
.pa-ev.pa-ev-crm{border-style:dashed}
.pa-lapis{border:0;background:none;padding:2px;margin-left:.25rem;color:var(--mut);cursor:pointer;vertical-align:middle}
.ag-bar-btn{margin-left:auto;display:inline-flex;align-items:center;gap:.375rem;font-weight:600}
.ag-ficha{margin:.625rem 0 .75rem}
