:root{
  --y-bg:#f6f1ea;--y-bg2:#efe6da;--y-card:#fff;--y-text:#243128;--y-muted:#6f746d;
  --y-border:#e6dacd;--y-primary:#425c4c;--y-primary2:#657b6d;--y-gold:#a89473;
  --y-danger:#9c3b3b;--y-ok:#2f6b4f;--y-shadow:0 18px 44px rgba(36,49,40,.10);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{font-size:18px} body.tablet-form-body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#fbf8f2 0%,var(--y-bg) 50%,var(--y-bg2) 100%);color:var(--y-text);min-height:100vh;overscroll-behavior:none}.tablet-shell{max-width:980px;margin:0 auto;padding:22px 18px 140px}.tablet-hero{background:linear-gradient(135deg,var(--y-primary),var(--y-primary2));color:#fff;border-radius:30px;padding:30px;box-shadow:var(--y-shadow);margin-bottom:18px}.tablet-hero__brand{font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;opacity:.85;font-weight:700}.tablet-hero h1{margin:8px 0 10px;font-size:2rem;line-height:1.05}.tablet-hero p{margin:0;font-size:1.05rem;opacity:.94;max-width:760px}.progress-card{position:sticky;top:0;z-index:10;background:rgba(246,241,234,.92);backdrop-filter:blur(12px);padding:12px 0 14px;margin-bottom:10px}.progress-card__inner{background:#fff;border:1px solid var(--y-border);border-radius:22px;padding:16px;box-shadow:0 10px 28px rgba(36,49,40,.07)}.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;font-weight:700;color:var(--y-primary)}.progress-title{font-size:.95rem}.progress-count{font-size:.9rem;color:var(--y-muted)}.progress-track{height:12px;border-radius:999px;background:#eee5da;overflow:hidden}.progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--y-primary),var(--y-gold));border-radius:999px;transition:width .25s ease}.tablet-step{display:none;animation:stepIn .24s ease}.tablet-step.active{display:block}@keyframes stepIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tablet-card{background:var(--y-card);border:1px solid var(--y-border);border-radius:28px;padding:26px;box-shadow:var(--y-shadow);margin:16px 0}.tablet-card h2{margin:0 0 10px;color:var(--y-primary);font-size:1.65rem}.tablet-card .lead{font-size:1.03rem;color:var(--y-muted);line-height:1.48;margin:0 0 22px}.field-grid{display:grid;grid-template-columns:1fr;gap:18px}@media(min-width:820px){.field-grid.two{grid-template-columns:1fr 1fr}.field-grid.three{grid-template-columns:repeat(3,1fr)}}.tablet-field label,.field-label{display:block;font-weight:800;color:#344438;margin:0 0 8px;font-size:.98rem}.tablet-field .hint{font-size:.86rem;color:var(--y-muted);margin:7px 0 0;line-height:1.35}.tablet-field input,.tablet-field textarea,.tablet-field select{width:100%;min-height:62px;border:1px solid var(--y-border);background:#fff;border-radius:18px;padding:16px 18px;font-size:1.08rem;color:var(--y-text);outline:none}.tablet-field textarea{min-height:136px;resize:vertical;line-height:1.42}.tablet-field input:focus,.tablet-field textarea:focus,.tablet-field select:focus{border-color:var(--y-primary);box-shadow:0 0 0 4px rgba(66,92,76,.12)}.required-mark{color:var(--y-danger)}.option-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:760px){.option-grid.two{grid-template-columns:1fr 1fr}.option-grid.three{grid-template-columns:repeat(3,1fr)}}.option-card{position:relative;display:flex;align-items:flex-start;gap:14px;background:#fbf8f3;border:1px solid var(--y-border);border-radius:20px;padding:18px;min-height:64px;cursor:pointer;font-weight:700;line-height:1.35}.option-card input{width:26px;height:26px;flex:0 0 26px;margin:1px 0 0;accent-color:var(--y-primary)}.option-card:has(input:checked){border-color:var(--y-primary);background:#eef4ef;box-shadow:0 0 0 3px rgba(66,92,76,.10)}.reveal-field{display:none;margin-top:12px}.reveal-field.show{display:block}.patient-summary{display:grid;grid-template-columns:1fr;gap:10px;background:#fbf8f3;border:1px solid var(--y-border);border-radius:22px;padding:18px}.patient-summary strong{font-size:1.2rem;color:var(--y-primary)}.term-preview{background:#fffdf9;border:1px solid var(--y-border);border-radius:22px;padding:22px;max-height:52vh;overflow:auto;line-height:1.62;font-size:1rem}.term-preview .tag{display:inline-block;padding:8px 14px;border-radius:999px;background:#efe4d3;color:#5a4631;font-size:.78rem;font-weight:800;margin-bottom:10px}.signature-wrap{background:#fbf8f3;border:1px solid var(--y-border);border-radius:22px;padding:16px}.signature-canvas{width:100%;height:260px;border:2px dashed #b7aa98;border-radius:18px;background:#fff;touch-action:none;display:block}.signature-help{color:var(--y-muted);margin:10px 0 0;line-height:1.4}.tablet-actions{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-top:1px solid var(--y-border);padding:14px 18px}.tablet-actions__inner{max-width:980px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:12px}.tablet-btn{min-height:62px;border:0;border-radius:18px;padding:16px 18px;font-size:1.05rem;font-weight:900;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}.tablet-btn.primary{background:var(--y-primary);color:#fff}.tablet-btn.secondary{background:#eadfce;color:#4d4236}.tablet-btn.ghost{background:#fff;border:1px solid var(--y-border);color:var(--y-primary)}.tablet-btn:disabled{opacity:.45;cursor:not-allowed}.inline-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}.inline-actions .tablet-btn{width:auto;min-width:210px}.form-alert{display:none;border-radius:18px;padding:14px 16px;margin:14px 0;font-weight:700;line-height:1.35}.form-alert.show{display:block}.form-alert.error{background:#fff0f0;border:1px solid #e7b8b8;color:#832c2c}.form-alert.success{background:#eef8f1;border:1px solid #b8dec6;color:#28593b}.final-message{text-align:center;padding:18px}.final-message .icon{font-size:3rem;margin-bottom:10px}.loading-note{color:var(--y-muted);font-weight:700}.hidden{display:none!important}.tablet-admin-link{display:inline-block;margin-top:16px;color:rgba(255,255,255,.78);text-decoration:none;font-size:.9rem}.small-muted{font-size:.9rem;color:var(--y-muted)}
@media(max-width:620px){html{font-size:16px}.tablet-shell{padding:14px 12px 130px}.tablet-hero{border-radius:24px;padding:24px}.tablet-card{border-radius:24px;padding:20px}.tablet-actions__inner{grid-template-columns:1fr}.signature-canvas{height:230px}}

/* Melhorias de validação da anamnese */
.tablet-field.field-error input,
.tablet-field.field-error textarea,
.tablet-field.field-error select,
.signature-wrap.field-error,
.option-card.field-error{
  border-color:var(--y-danger)!important;
  box-shadow:0 0 0 4px rgba(156,59,59,.10)!important;
}
.field-feedback{
  margin-top:8px;
  color:var(--y-danger);
  font-size:.88rem;
  font-weight:800;
  line-height:1.35;
}

/* Toggle switch Sim/Não */
.switch-card{
  display: flex !important;
  align-items:center;
  gap:12px;
}
.switch-card input[type="checkbox"]{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}
.switch-ui{
  width:76px;
  height:32px;
  border-radius:999px;
  background:#d8cec1;
  position:relative;
  flex:0 0 76px;
  transition:.2s ease;
}
.switch-ui::after{
  content:"";
  position:absolute;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#fff;
  left:3px;
  top:3px;
  box-shadow:0 3px 8px rgba(36,49,40,.18);
  transition:.2s ease;
}
.switch-card input:checked + .switch-ui{
  background:var(--y-primary);
}
.switch-card input:checked + .switch-ui::after{
  transform:translateX(44px);
}
.switch-text{
  flex:1;
  order: 1;
}
.switch-value{
  position: absolute;
  top: 18px;
  left: 18px;
  width: 76px;
  text-align:right;
  border-radius:999px;
  padding:6px 10px;
  /* background:#eee5da; */
  color:var(--y-muted);
  font-size:.82rem;
  font-weight:900;
}
.switch-card input:checked ~ .switch-value{
  text-align: left;
  /* background:#e7f0e8; */
  /* color:var(--y-primary); */
  color: #e7f0e8;
}

/* Tela final de confirmação para tablet */
.completion-shell{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-bottom:22px;
}
.completion-card{
  width:100%;
  max-width:760px;
  text-align:center;
  padding:48px 34px;
}
.completion-icon{
  width:86px;
  height:86px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--y-primary);
  color:#fff;
  font-size:3rem;
  font-weight:900;
  margin-bottom:22px;
  box-shadow:0 14px 32px rgba(66,92,76,.22);
}
.completion-card h1{
  margin:0;
  color:var(--y-primary);
  font-size:2rem;
  line-height:1.2;
}
.completion-subtitle{
  margin:0 0 14px;
  color:var(--y-muted);
  font-size:1.08rem;
  font-weight:800;
}

.cpf-dependent-fields {
  display: none !important;
}