.switch { position:relative; display:inline-flex; width:44px; height:26px; flex-shrink:0; }
.switch input { position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; width:100%; height:100%; }
.switch .track {
  width:44px; height:26px; border-radius:999px; background:var(--toggle-off); position:relative;
  transition:background .15s; pointer-events:none;
}
.switch input:disabled { cursor:not-allowed; }
.switch .track::after {
  content:""; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%;
  background:var(--knob-off); box-shadow:var(--knob-shadow); transition:transform .15s;
}
.switch input:checked + .track { background:var(--toggle-on); }
.switch input:focus-visible + .track { outline:2px solid var(--focus); outline-offset:2px; }
.switch input:disabled + .track { opacity:.55; }
.switch input:checked + .track::after { transform:translateX(18px); background:var(--knob-on); }
.sel {
  appearance:none; border:0; background:var(--surface-2); box-shadow:inset 0 0 0 1px var(--border-strong);
  border-radius:8px; padding:6px 30px 6px 10px; min-height:36px; font-size:12px;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);
  background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%; background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.sel.lg { min-height:44px; font-size:13px; padding:0 34px 0 12px; background-color:var(--surface); }
.sel:disabled { opacity:.6; cursor:not-allowed; }
.field { display:flex; flex-direction:column; gap:6px; }
.field label { font-size:12px; font-weight:600; }
.field.grow { flex:1 1 260px; }
.field .hint-t { font-size:12px; color:var(--muted); }
.input {
  border:0; background:var(--surface); box-shadow:inset 0 0 0 1px var(--border-strong); border-radius:10px;
  min-height:44px; padding:0 12px; font-size:13px; width:100%;
}
.input:focus { outline:none; box-shadow:inset 0 0 0 2px var(--focus); }
.input.bad { box-shadow:inset 0 0 0 2px var(--field-err); }
.pa textarea.input { padding:10px 12px; min-height:72px; resize:vertical; line-height:1.5; }
.pa .input.sm { min-height:36px; font-size:12px; padding:0 8px; border-radius:8px; width:auto; }
.pa input.input[type="date"] { padding-right:8px; }
.pa input.input[type="month"] { padding-right:8px; }
.pa input.input[type="number"] { padding-right:8px; }
.msg-bad { margin:0; font-size:12px; color:var(--tone-err-fg); font-weight:600; }
.fb-msg { min-height:120px; padding:10px 12px; resize:vertical; line-height:1.5; font-family:inherit; }
.fb-msg:focus { outline:none; }
.adj .fb-msg { min-height:84px; width:100%; }
.form { padding:14px; display:flex; flex-direction:column; gap:10px; }
.form-2 { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
.form-actions { display:flex; gap:8px; flex-wrap:wrap; }
/* plain language (clarify): rotina "Quando" choice, memory form lead, one-line tool cards */
.pa fieldset.when { border:0; margin:0; padding:0; min-width:0; }
.pa fieldset.when legend { padding:0; margin-bottom:6px; font-size:12px; font-weight:600; }
.seg { display:flex; flex-wrap:wrap; gap:6px; }
.seg-opt { position:relative; display:inline-flex; }
.seg-opt input { position:absolute; inset:0; width:100%; height:100%; opacity:0; margin:0; cursor:pointer; }
.seg-opt span {
  display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border-radius:10px;
  background:var(--surface); box-shadow:inset 0 0 0 1px var(--border-strong); font-size:13px;
}
.seg-opt:hover span { background:var(--hover); }
.seg-opt input:checked + span {
  background:var(--nav-active-bg); color:var(--nav-active-fg); box-shadow:inset 0 0 0 2px currentColor;
  font-weight:600;
}
.seg-opt input:focus-visible + span { outline:2px solid var(--focus); outline-offset:2px; }
.when-pick { margin-top:10px; }
.when-pick .field[hidden] { display:none; }
.form-lead { margin:0 0 10px; font-weight:600; }
.form-1 { display:flex; flex-direction:column; gap:10px; }
.fb-err { margin:0; font-size:12px; font-weight:600; color:var(--tone-err-fg); }
.fb-thanks { display:flex; flex-direction:column; gap:10px; }
.fb-thanks p { margin:0; color:var(--text-2); max-width:60ch; }
.fb-thanks:focus { outline:none; }
.msg-ok { margin:0; font-size:12px; font-weight:600; color:var(--tone-ok-fg); }
.msg-hint { margin:0; font-size:12px; color:var(--text-2); }
@container (max-width: 719px) {
  .form-2 { grid-template-columns:minmax(0,1fr); }
  .pa .invite-row .field { flex:1 1 100%; }
  .mctl .sel { flex:1 1 140px; }
}
@media (prefers-reduced-motion: reduce) {
  .rot-sw .track { transition:none; }
  .rot-sw .track::after { transition:none; }
}
