/* Account tools (2026-09-05, profile / saved-claims / BDD save-flow handoff).
 * Loaded by /profile.html, /my-workspace.html and /my-preparation: the
 * Remove-saved-claim dialog and controls, the compact empty My Preparation
 * card, the Profile display preference, and the Saved BDD countdowns card.
 * Tokens from main.css; THE BUTTON LAW borders on every control; state is
 * shown in words, never by colour alone. */

/* ---- Remove saved claim: the inline confirmation ----------------------
 * `.dxc-*` (2026-09-07, Phase 4) is the same dialog for the two account
 * cleanups, sharing these declarations rather than restating them, so the
 * two confirmations cannot drift apart visually. */
.scr-dialog, .dxc-dialog {
  margin: var(--space-2, .5rem) 0 var(--space-3, .75rem);
  padding: var(--space-4, 1rem);
  border: 2px solid var(--color-danger, #a12626);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  color: var(--color-text);
}
.scr-dialog:focus, .dxc-dialog:focus { outline: none; }
.scr-h, .dxc-h { margin: 0 0 .35rem; font-size: 1.05rem; color: var(--color-text-strong, var(--color-text)); }
.scr-claim { margin: 0 0 .5rem; font-size: .92rem; overflow-wrap: anywhere; }
.scr-d p, .dxc-d p { margin: 0 0 .5rem; font-size: .9rem; line-height: 1.55; }
.scr-final, .dxc-final { font-weight: 600; }
.scr-actions, .dxc-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .6rem; }
.scr-btn, .dxc-btn {
  min-height: 44px; padding: .5rem 1rem; font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer;
  border: 2px solid var(--color-accent); border-radius: var(--radius-sm); background: var(--color-surface); color: var(--color-primary);
}
.scr-btn:hover, .scr-btn:focus-visible, .dxc-btn:hover, .dxc-btn:focus-visible { border-color: var(--color-primary); }
.scr-btn:focus-visible, .dxc-btn:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; }
.scr-confirm, .dxc-confirm { border-color: var(--color-danger, #a12626); color: var(--color-danger, #a12626); }
.scr-confirm:hover, .scr-confirm:focus-visible, .dxc-confirm:hover, .dxc-confirm:focus-visible { background: var(--color-danger, #a12626); color: #fff; border-color: var(--color-danger, #a12626); }

/* The packet chooser card is a container now: the Build button and the
   Remove button are siblings, never nested. */
.pkx-journey-wrap { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.pkx-remove, .mp-claim-remove, .ws-quick-link-remove.is-claim {
  align-self: flex-start; min-height: 44px; padding: .45rem .9rem; font: inherit; font-size: .85rem; font-weight: 600; cursor: pointer;
  border: 2px solid var(--color-accent); border-radius: var(--radius-sm); background: transparent; color: var(--color-primary);
}
.pkx-remove:hover, .pkx-remove:focus-visible, .mp-claim-remove:hover, .mp-claim-remove:focus-visible,
.ws-quick-link-remove.is-claim:hover, .ws-quick-link-remove.is-claim:focus-visible { border-color: var(--color-danger, #a12626); color: var(--color-danger, #a12626); }
.pkx-remove:focus-visible, .mp-claim-remove:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; }
.pkx-notice { margin: 0 0 .75rem; font-size: .9rem; color: var(--color-text); }

/* ---- Compact empty My Preparation --------------------------------------- */
.prep-compact { padding: 1.1rem 1.25rem; margin-bottom: 1.5rem; }
.prep-compact h2 { font-size: 1.1rem; margin: 0 0 .3rem; }
.prep-compact p { margin: 0 0 .7rem; font-size: .92rem; color: var(--color-text-muted); line-height: 1.55; }
.prep-compact-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.prep-compact-actions .rf-btn { min-height: 44px; }

/* ---- Profile display preference ---------------------------------------- */
.pdp { padding: .9rem 1.25rem; margin-bottom: 1.5rem; }
.pdp h2 { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--color-text-muted); margin: 0 0 .4rem; font-weight: 600; }
.pdp label { display: flex; align-items: center; gap: .5rem; font-size: .88rem; cursor: pointer; min-height: 44px; }
.pdp-note { margin: .15rem 0 0; font-size: .8rem; color: var(--color-text-muted); }
.pdp-status { margin: .25rem 0 0; font-size: .82rem; color: var(--color-text-muted); }
.pdp-status:empty { display: none; }

/* ---- Email Notifications: the BDD row anchor --------------------------- */
#bdd-email-notifications { border-radius: var(--radius-sm); padding: 0 .35rem; margin: 0 -.35rem; }
#bdd-email-notifications:focus-within, #bdd-email-notifications.is-revealed { outline: 3px solid var(--color-accent); outline-offset: 2px; }
.bdd-pref-hint { margin: -.15rem 0 0 1.85rem; font-size: .8rem; color: var(--color-text-muted); line-height: 1.5; }
.bdd-pref-hint:empty { display: none; }

/* ---- Saved BDD countdowns card ----------------------------------------- */
.sbc-status { margin: 0; font-size: .88rem; color: var(--color-text-muted); }
.sbc-error { color: var(--color-danger, #a12626); font-weight: 600; margin-bottom: .5rem; }
.sbc-none { margin: 0; font-size: .92rem; color: var(--color-text); }
.sbc-link { color: var(--color-primary); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; display: inline-block; min-height: 44px; line-height: 44px; }
.sbc-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem; padding: .7rem .85rem; margin: 0 0 .6rem; border: 2px solid var(--color-border); border-radius: var(--radius-sm); }
.sbc-text { display: flex; flex-direction: column; gap: .15rem; flex: 1 1 14rem; min-width: 0; }
.sbc-name { font-size: .95rem; color: var(--color-text-strong, var(--color-text)); overflow-wrap: anywhere; }
.sbc-line { font-size: .85rem; color: var(--color-text-muted); line-height: 1.45; }
.sbc-total { margin: 0 0 .5rem; font-size: .85rem; color: var(--color-text-muted); }
.sbc-email { margin: .25rem 0 0; font-size: .88rem; line-height: 1.5; color: var(--color-text); }
.sbc-last { color: var(--color-text-muted); }
.sbc-links { margin: .25rem 0 0; }
.sbc .rf-btn { min-height: 44px; flex: 0 0 auto; }

/* ---- Phase 4 account cleanup (2026-09-07) -------------------------------
 * Two destructive sections: "Delete every record finding" under the Profile
 * Record findings list, and "Readiness checks not associated with a current
 * saved claim". Base rules live HERE, above the phone block, because a base
 * rule written after a media block wins over its own override (the Phase 2B
 * landmine, 2026-09-07). */
.acx-danger {
  margin: 1.1rem 0 0; padding: .95rem 1.05rem;
  border: 2px solid var(--color-danger, #a12626); border-radius: var(--radius-md);
  background: var(--color-surface);
}
.acx-danger h4 { margin: 0 0 .35rem; font-size: 1rem; color: var(--color-text-strong, var(--color-text)); }
.acx-danger p { margin: 0 0 .6rem; font-size: .88rem; line-height: 1.55; color: var(--color-text); }
.acx-danger p:last-of-type { margin-bottom: .7rem; }
.acx-keep { color: var(--color-text-muted); }
.acx-btn {
  min-height: 44px; padding: .5rem 1rem; font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer;
  border: 2px solid var(--color-danger, #a12626); border-radius: var(--radius-sm);
  background: var(--color-surface); color: var(--color-danger, #a12626);
}
.acx-btn:hover, .acx-btn:focus-visible { background: var(--color-danger, #a12626); color: #fff; }
.acx-btn:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; }
.acx-btn[disabled] { opacity: .6; cursor: default; }
.acx-btn[disabled]:hover { background: var(--color-surface); color: var(--color-danger, #a12626); }
.acx-status { margin: .5rem 0 0; font-size: .88rem; line-height: 1.5; color: var(--color-text); }
.acx-status:empty { display: none; }
.acx-status-error { color: var(--color-danger, #a12626); font-weight: 600; }

/* The readiness-cleanup card: one row per eligible check, each with its own
   delete, then the optional Delete all. */
.rcx { padding: 1.1rem 1.25rem; margin-bottom: 1.5rem; }
.rcx h2 { font-size: 1.1rem; margin: 0 0 .3rem; }
.rcx-lede { margin: 0 0 .8rem; font-size: .9rem; line-height: 1.55; color: var(--color-text-muted); }
.rcx-row {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem 1rem;
  padding: .7rem .85rem; margin: 0 0 .6rem;
  border: 2px solid var(--color-border); border-radius: var(--radius-sm);
}
.rcx-text { display: flex; flex-direction: column; gap: .15rem; flex: 1 1 14rem; min-width: 0; }
.rcx-name { font-size: .95rem; font-weight: 600; color: var(--color-text-strong, var(--color-text)); overflow-wrap: anywhere; }
.rcx-line { font-size: .85rem; color: var(--color-text-muted); line-height: 1.45; }
.rcx-foot { margin: .5rem 0 0; font-size: .85rem; color: var(--color-text-muted); line-height: 1.5; }
.rcx-all { margin-top: .8rem; }

@media (max-width: 540px) {
  .sbc-row { flex-direction: column; align-items: stretch; }
  /* Same flex-basis-becomes-height trap as .sbc-text below. */
  .rcx-row { flex-direction: column; align-items: stretch; }
  .rcx-text { flex: 0 0 auto; }
  .rcx-row .acx-btn, .acx-danger .acx-btn { width: 100%; box-sizing: border-box; text-align: center; }
  .dxc-actions .dxc-btn { width: 100%; box-sizing: border-box; text-align: center; }
  /* In a column the 14rem flex-basis above would become HEIGHT and leave a
     tall empty gap under the text (seen at 375px, 2026-09-05). */
  .sbc-text { flex: 0 0 auto; }
  .sbc .rf-btn { width: 100%; box-sizing: border-box; text-align: center; }
}
