/* ============================================================================
   P1 "Änderungen prüfen" (webapp-v4/seiten/31-profil-aenderungen.html, page
   prefix pw- = Profil-Wächter). V4 page only, every rule under .bl-v4 like v4.css.
   ========================================================================= */

.bl-v4 .pw-alarms { display: flex; flex-direction: column; gap: 12px; margin-bottom: 24px; }
.bl-v4 .pw-loc-form { display: flex; align-items: center; gap: 8px; }
.bl-v4 .pw-loc { min-width: 300px; }
.bl-v4 .pw-loc select { flex: 1 1 auto; }

/* Offene Änderungen */
.bl-v4 .pw-list { display: flex; flex-direction: column; gap: 16px; }
.bl-v4 .pw-src { display: inline-flex; align-items: center; gap: 6px; }
.bl-v4 .pw-src .bl-ic { color: var(--muted); }
.bl-v4 .pw-live { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--muted); font-weight: 500; }
.bl-v4 .bl-diff-head .bl-deadline, .bl-v4 .bl-diff-head .pw-live { margin-left: auto; }
.bl-v4 .bl-diff-new.pw-is-live { background: var(--accent-soft); border-color: var(--accent-line); }
.bl-v4 .bl-diff-old .pw-empty { font-style: italic; text-decoration: none; }
.bl-v4 .bl-diff-foot .bl-help { min-width: 0; }
.bl-v4 .bl-diff-foot .bl-plan-lock { margin-left: auto; }
.bl-v4 .pw-inline-form { display: contents; }
/* Accept sits in its own form: keep both buttons together on the right. */
.bl-v4 .bl-diff-foot > .bl-help { margin-right: auto; }
.bl-v4 .bl-diff-foot .pw-inline-form .bl-btn:first-of-type { margin-left: 0; }
.bl-v4 .pw-lockline { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; font-size: 12.5px; font-weight: 600; color: var(--bad); }
.bl-v4 .bl-diff.pw-is-locked .bl-diff-new,
.bl-v4 .bl-diff.pw-is-plan .bl-diff-new { background: var(--surface-2); border-color: var(--line); }
.bl-v4 .pw-listnote { margin-top: 16px; }
.bl-v4 .pw-ok { color: var(--good); }

/* Feiertage */
.bl-v4 .pw-hol .bl-card-head { gap: 8px 12px; flex-wrap: wrap; }
.bl-v4 .pw-hol .bl-card-head p { margin-top: 2px; }
.bl-v4 .pw-hol-name { font-size: 14px; font-weight: 600; color: var(--ink); }
.bl-v4 .pw-hol-sub { margin-top: 2px; font-size: 12.5px; color: var(--muted); }
.bl-v4 .pw-hol-side { display: flex; align-items: center; gap: 8px; justify-content: flex-end; }
.bl-v4 .pw-hol-val { font-size: 13px; font-weight: 600; color: var(--ink-2); white-space: nowrap; }
.bl-v4 .pw-hol-val.pw-is-closed { color: var(--muted); }
.bl-v4 .bl-cal-row.pw-is-next .bl-cal-date { background: var(--accent-soft); color: var(--accent-ink); }
.bl-v4 .bl-cal-row.pw-is-next .bl-cal-date small { color: var(--accent-ink); }
.bl-v4 .bl-cal-row[hidden] { display: none; }
.bl-v4 .pw-more { display: flex; justify-content: center; padding: 10px 20px; border-top: 1px solid var(--line); }
.bl-v4 .pw-hol-hint { display: flex; gap: 8px; align-items: flex-start; padding: 12px 20px; border-top: 1px solid var(--line); }

/* Verlauf */
.bl-v4 .pw-hist-grid { align-items: start; }
.bl-v4 turbo-frame.pw-hist { display: block; }
.bl-v4 .pw-hist .bl-lrow-ic.pw-st-accepted,
.bl-v4 .pw-hist .bl-lrow-ic.pw-st-entered { background: var(--good-soft); color: var(--good); }
.bl-v4 .pw-hist .bl-lrow-ic.pw-st-rejected { background: var(--surface-2); color: var(--muted); }
.bl-v4 .pw-hist .bl-lrow-ic.pw-st-closed_by_google { background: var(--warn-soft); color: var(--warn); }
.bl-v4 .pw-hist .pw-was { text-decoration: line-through; text-decoration-color: color-mix(in srgb, var(--muted) 60%, transparent); }
.bl-v4 .pw-hist-date { font-family: var(--mono); font-size: 11.5px; color: var(--muted); white-space: nowrap; min-width: 52px; text-align: right; }

/* Benachrichtigen */
.bl-v4 .pw-notify { display: grid; grid-template-columns: minmax(0, 1fr) 64px 72px; align-items: center; column-gap: 8px; }
.bl-v4 .pw-notify.pw-notify--mail { grid-template-columns: minmax(0, 1fr) 64px; }
.bl-v4 .pw-notify-h { padding: 0 0 8px; font-family: var(--mono); font-size: 11px; color: var(--muted); text-align: center; }
.bl-v4 .pw-notify-h:first-child { text-align: left; }
.bl-v4 .pw-notify-l { padding: 12px 0; border-top: 1px solid var(--line); }
.bl-v4 .pw-notify-l p { font-size: 13.5px; font-weight: 600; color: var(--ink); }
.bl-v4 .pw-notify-l small { display: block; margin-top: 2px; font-size: 12px; color: var(--muted); }
.bl-v4 .pw-notify-s { display: flex; justify-content: center; align-self: stretch; align-items: center; border-top: 1px solid var(--line); }
.bl-v4 .pw-notify-s .bl-switch { min-height: 40px; }
.bl-v4 .pw-notify-s .bl-switch[aria-busy="true"] { cursor: progress; }
.bl-v4 .pw-notify-warn { margin-top: 12px; }
.bl-v4 .pw-notify-foot { margin-top: 12px; }

/* Dialoge */
.bl-v4 .pw-choice-input { margin-top: 8px; }
.bl-v4 .pw-choices { grid-template-columns: minmax(0, 1fr); gap: 8px; margin-top: 16px; }
.bl-v4 .pw-choices .bl-choice { padding: 12px 14px; }
.bl-v4 .pw-times { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; padding: 4px 4px 8px 16px; }
.bl-v4 .pw-times[hidden] { display: none; }
.bl-v4 .pw-dlg .bl-inherit { margin-top: 16px; }
.bl-v4 .pw-inherit { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.bl-v4 .pw-inherit-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.bl-v4 .pw-inherit-txt { font-size: 14px; color: var(--ink-2); }
.bl-v4 .pw-dlg .bl-dialog { max-width: 560px; }
.bl-v4 .pw-steps { margin-top: 16px; }
.bl-v4 .pw-steps .bl-step { grid-template-columns: 32px minmax(0, 1fr); }
.bl-v4 .pw-steps .bl-step-title { font-weight: 500; font-size: 14px; color: var(--ink-2); }

@media (max-width: 1023.98px) {
  .bl-v4 .pw-alarms { margin-bottom: 16px; }
  .bl-v4 .pw-loc-form, .bl-v4 .pw-loc { min-width: 0; width: 100%; }
  .bl-v4 .pw-loc { height: 44px; }
  .bl-v4 .bl-diff-head .bl-deadline, .bl-v4 .bl-diff-head .pw-live { margin-left: 0; width: 100%; }
  .bl-v4 .bl-diff-foot .bl-help { width: 100%; }
  .bl-v4 .pw-lockline { margin-left: 0; width: 100%; }
  .bl-v4 .pw-hol-side { justify-content: flex-start; flex-wrap: wrap; }
  .bl-v4 .pw-hol-side .bl-btn { height: 40px; }
  .bl-v4 .pw-more .bl-textbtn { min-height: 40px; }
  .bl-v4 .pw-hist .bl-lrow { grid-template-columns: auto minmax(0, 1fr); }
  .bl-v4 .pw-hist .bl-lrow-side { justify-content: space-between; }
  .bl-v4 .pw-notify { grid-template-columns: minmax(0, 1fr) 52px 72px; }
}
