:root{
  --line:#e5e7eb; --muted:#6b7280; --fg:#111827; --bg:#ffffff; --pri:#2563eb;

  /* PREENCIMENTO (principal) */
  --b-pendente-bg:#f8fafc;  --b-pendente-fg:#475569; --b-pendente-bd:#cbd5e1;    /* cinza */
  --b-iniciado-bg:#eef2ff;  --b-iniciado-fg:#3730a3; --b-iniciado-bd:#c7d2fe;    /* índigo */
  --b-parcial-bg:#fff7ed;   --b-parcial-fg:#9a3412; --b-parcial-bd:#fed7aa;      /* laranja */
  --b-finalizado-bg:#ecfdf5;--b-finalizado-fg:#065f46;--b-finalizado-bd:#a7f3d0; /* verde */
  --b-validada-bg:#ecfeff;  --b-validada-fg:#115e59; --b-validada-bd:#99f6e4;    /* teal */
  --b-completa-bg:#ecfeff;  --b-completa-fg:#115e59; --b-completa-bd:#99f6e4;    /* teal */
  --b-expirada-bg:#fef2f2;  --b-expirada-fg:#7f1d1d; --b-expirada-bd:#fecaca;    /* vermelho */
  --b-cancelada-bg:#fff1f2; --b-cancelada-fg:#9f1239;--b-cancelada-bd:#fecdd3;   /* rose */
  --b-erro-bg:#fee2e2;      --b-erro-fg:#7f1d1d;    --b-erro-bd:#fecaca;         /* red */

  /* ENVIO (secundário) */
  --b-envio-pendente-bg:#f1f5f9; --b-envio-pendente-fg:#334155; --b-envio-pendente-bd:#cbd5e1; /* slate */
  --b-envio-aberto-bg:#ede9fe;   --b-envio-aberto-fg:#5b21b6;   --b-envio-aberto-bd:#ddd6fe;   /* roxo */
  --b-envio-enviado-bg:#e0f2fe;  --b-envio-enviado-fg:#075985;  --b-envio-enviado-bd:#bae6fd;  /* azul */
  --b-envio-finalizado-bg:#dcfce7;--b-envio-finalizado-fg:#065f46;--b-envio-finalizado-bd:#a7f3d0;/* verde */
}

html, body { height:100%; }
body{ margin:0; color:var(--fg); background:var(--bg);
  font-family: ui-sans-serif, system-ui, Segoe UI, Roboto, Arial; }

.wrap{ min-height:100vh; display:flex; flex-direction:column; }
.header{ padding:16px 16px 0; max-width:1400px; width:100%; margin:0 auto; }
.headline{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
h2{ margin:0 0 6px; }
.muted{ color:var(--muted); }
.shell-header img{ width:40px; height:40px; object-fit:contain; }
.shell-header h2{ margin:0 0 4px; font-size:18px; line-height:1.25; }
.shell-header .subtitle{ margin:0; color:var(--muted); font-size:13px; }
.card{
  flex:1; margin:12px auto 16px; max-width:1400px; width:100%;
  border:1px solid var(--line); border-radius:12px; background:#fff;
  display:flex; flex-direction:column; min-height:0;
}
.table-wrap{ overflow:auto; flex:1; min-height:0; }

table{ width:100%; border-collapse:collapse; table-layout:fixed; font-size:14px; }
th, td{ border-bottom:1px solid var(--line); padding:10px 12px; vertical-align:top; overflow-wrap:anywhere; }

.col-inst{ width:90px; }
.col-template{ width:220px; }
.col-preench{ width:160px; }  /* preenchimento */
.col-envio{ width:160px; }     /* envio */
.col-resp{ width:180px; }
.col-contato{ width:200px; }
.col-prog{ width:140px; }
.col-date{ width:140px; font-size:12px; color:var(--muted); white-space:nowrap; }
.col-acoes{ width:120px; }

.badge{
  display:inline-block; padding:2px 8px; border-radius:999px;
  font-size:12px; border:1px solid var(--line); background:#f8fafc; white-space:nowrap;
}
/* preenchimento */
.b-pendente{ background:var(--b-pendente-bg); color:var(--b-pendente-fg); border-color:var(--b-pendente-bd);}
.b-iniciado{ background:var(--b-iniciado-bg); color:var(--b-iniciado-fg); border-color:var(--b-iniciado-bd);}
.b-parcial{ background:var(--b-parcial-bg); color:var(--b-parcial-fg); border-color:var(--b-parcial-bd);}
.b-finalizado{ background:var(--b-finalizado-bg); color:var(--b-finalizado-fg); border-color:var(--b-finalizado-bd);}
.b-validada{ background:var(--b-validada-bg); color:var(--b-validada-fg); border-color:var(--b-validada-bd);}
.b-completa{ background:var(--b-completa-bg); color:var(--b-completa-fg); border-color:var(--b-completa-bd);}
.b-expirada{ background:var(--b-expirada-bg); color:var(--b-expirada-fg); border-color:var(--b-expirada-bd);}
.b-cancelada{ background:var(--b-cancelada-bg); color:var(--b-cancelada-fg); border-color:var(--b-cancelada-bd);}
.b-erro{ background:var(--b-erro-bg); color:var(--b-erro-fg); border-color:var(--b-erro-bd);}

/* envio */
.b-envio-pendente{ background:var(--b-envio-pendente-bg); color:var(--b-envio-pendente-fg); border-color:var(--b-envio-pendente-bd);}
.b-envio-aberto{ background:var(--b-envio-aberto-bg); color:var(--b-envio-aberto-fg); border-color:var(--b-envio-aberto-bd);}
.b-envio-enviado{ background:var(--b-envio-enviado-bg); color:var(--b-envio-enviado-fg); border-color:var(--b-envio-enviado-bd);}
.b-envio-finalizado{ background:var(--b-envio-finalizado-bg); color:var(--b-envio-finalizado-fg); border-color:var(--b-envio-finalizado-bd);}

.progress{ width:100%; height:8px; background:#f1f5f9; border-radius:999px; overflow:hidden; }
.progress > div{ height:100%; background:var(--pri); }

.actions a{ margin-right:8px; font-size:13px; }

/* paginação */
.pager{
  border-top:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 12px; gap:12px; flex-wrap:wrap;
}
.pager .btn{ appearance:none; border:1px solid var(--line); background:#fff; padding:8px 12px; border-radius:10px; cursor:pointer; }
.pager .btn[disabled]{ opacity:.5; cursor:not-allowed; }
.pager .pages{ display:flex; gap:6px; flex-wrap:wrap; }
.pager .page{ border:1px solid var(--line); padding:6px 10px; border-radius:8px; cursor:pointer; }
.pager .page.active{ background:var(--pri); color:#fff; border-color:transparent; }
.pager .page:hover{ background:#f3f4f6; }
.pager .pp{ display:flex; align-items:center; gap:8px; }

@media (max-width: 960px){
  .col-template{ width:180px; }
  .col-resp{ width:160px; }
  .col-contato{ width:170px; }
  .col-prog{ width:120px; }
  .col-date{ width:120px; }
}

/* anamnese-dashboard.css */
.col-filled { width: 220px; }


:root { --fg:#111; --muted:#586073; --line:#e8ecef; --pri:#2563eb; --bg:#ffffff;
  --card:#fff; --warn-bg:#fffbeb; --warn-fg:#78350f; }
*{ box-sizing:border-box; }
body{ margin:0; color:var(--fg); background:var(--bg);
font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial; }
.wrap{ max-width:980px; margin:24px auto; padding:0 16px; }

.shell-header{
display:flex; align-items:center; gap:12px; padding:12px 14px;
border:1px solid var(--line); border-radius:14px; background:#fff; margin-bottom:16px;
}
.shell-header img{ width:40px; height:40px; object-fit:contain; }
.shell-header h2{ margin:0 0 4px; font-size:18px; line-height:1.25; }
.shell-header .subtitle{ margin:0; color:var(--muted); font-size:13px; }

.banner{ display:none; margin-bottom:12px; border:1px dashed #f59e0b;
background:var(--warn-bg); color:var(--warn-fg); border-radius:10px; padding:10px 12px; }

.card{ border:1px solid var(--line); border-radius:14px; padding:16px; background:var(--card); }
.group-h{ font-weight:700; font-size:14px; margin: 6px 0 12px; }

.grid-2{ display:grid; grid-template-columns: repeat(2, minmax(260px, 1fr)); gap:12px; }
@media (max-width: 720px){ .grid-2{ grid-template-columns:1fr; } }

label{ display:block; font-size:13px; margin:8px 0 6px; }
small.help{ display:block; color:var(--muted); font-size:12px; margin:4px 0 0; }

input[type="text"], input[type="number"], input[type="date"], input[type="email"],
textarea, select{
width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:10px; font-size:14px; background:#fff;
}
textarea{ min-height:110px; resize:vertical; }
.req::after{ content:' *'; color:#e11; }

.actions{ margin-top:16px; display:flex; gap:10px; flex-wrap:wrap; }
.btn{ appearance:none; border:1px solid var(--line); background:#fff; padding:10px 14px; border-radius:999px; cursor:pointer; }
.btn-primary{ border-color:transparent; background:var(--pri); color:#fff; }
.footer{ margin:16px 0 4px; font-size:12px; color:var(--muted); }

.q-card{ padding:12px; border-radius:14px; margin-bottom:12px; background:#fff; border:1px solid #e8ecef; }
.q-card.error{ outline:2px solid #ef4444; }

.muted{ color:var(--muted); font-size:12px; }