/* Privacy check-up (public/privacy.js): the one-line card under "Shared links" and its dialog.
 *
 * Its own sheet, like smartdrop.css and push.css: one feature's rules, kept apart. Tokens only,
 * so every theme dresses it; the reminder switch reuses push.css's .pn-row and the app's .vw-sw.
 */

.pc-slot:empty { display: none; }
.pc-slot { max-width: 1180px; margin-bottom: 12px; }

.pc-card {
  display: flex; align-items: center; gap: 12px;
  padding: calc(10 * var(--sp)) calc(12 * var(--sp)) calc(10 * var(--sp)) calc(14 * var(--sp));
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--r);
}
.pc-card.has { border-color: var(--accent-ring); }
.pc-ic { width: 18px; height: 18px; flex: none; display: grid; color: var(--mut); }
.pc-card.has .pc-ic { color: var(--accent-text); }
.pc-ic svg { width: 100%; height: 100%; }
.pc-txt { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 10px; row-gap: 2px; }
.pc-txt b { font-size: var(--fs-base); font-weight: var(--fw-semi); }
.pc-sub, .pc-undo { font-size: calc(var(--fs-md) + var(--fs-half)); color: var(--mut); }
.pc-undo { flex-basis: 100%; }
.pc-link {
  background: none; border: 0; padding: 0; font: inherit; color: var(--accent-text);
  font-weight: var(--fw-semi); cursor: pointer; text-decoration: underline; text-underline-offset: 2px;
}
.pc-card .btn { height: 32px; padding: 0 calc(14 * var(--sp)); flex: none; }

/* ---------- the dialog ---------- */

.modal.pc-modal { width: min(680px, calc(100vw - 32px)); }
/* Taller than an ordinary question, so the list scrolls inside itself and the footer with
   "Clean up all" stays on screen instead of under the fold of the dialog. */
.modal.pc-modal .modal-body { max-height: calc(82vh / var(--ui-z, 1)); }
.pc { display: flex; flex-direction: column; gap: 12px; }
.pc-lead { margin: 0; font-size: calc(var(--fs-md) + var(--fs-half)); line-height: 1.5; }
.pc-list {
  display: flex; flex-direction: column; max-height: max(150px, min(400px, calc(82vh - 300px))); overflow-y: auto;
  flex: none;
  border: 1px solid var(--line-soft); border-radius: var(--r-sm); overscroll-behavior: contain;
}
.pc-row {
  display: flex; align-items: center; gap: 10px;
  padding: calc(9 * var(--sp)) calc(10 * var(--sp));
}
.pc-row + .pc-row { border-top: 1px solid var(--line-soft); }
.pc-row > .badge, .pc-row > :first-child { flex: none; }
.pc-what { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.pc-nm {
  font-size: var(--fs-base); font-weight: var(--fw-semi);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pc-facts { font-size: calc(var(--fs-sm) + var(--fs-half)); color: var(--mut); line-height: 1.4; }
.pc-acts { display: flex; gap: 6px; flex: none; }
.pc-acts .btn { height: 28px; padding: 0 calc(10 * var(--sp)); font-size: calc(var(--fs-md) + var(--fs-half)); }

.pc-clear {
  display: flex; align-items: center; gap: 8px; margin: 4px 0;
  font-size: var(--fs-base); font-weight: var(--fw-semi);
}
.pc-clear svg { width: 18px; height: 18px; color: var(--ok); }

.pc-kept > summary {
  cursor: pointer; font-size: calc(var(--fs-md) + var(--fs-half)); color: var(--mut); margin-bottom: 8px;
}

.pc-foot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pc-plan { flex: 1; min-width: 160px; font-size: calc(var(--fs-md) + var(--fs-half)); color: var(--mut); }
.pc-foot .btn { height: 32px; padding: 0 calc(14 * var(--sp)); }

@media (max-width: 640px) {
  .pc-card { flex-wrap: wrap; }
  .pc-card .btn { margin-left: 30px; }
  .pc-row { flex-wrap: wrap; }
  .pc-acts { width: 100%; flex-wrap: wrap; }
  .pc-acts .btn { padding: 0 calc(9 * var(--sp)); }
  .pc-plan { flex-basis: 100%; }
}
