:root {
  --rpp-bg: #f4f6fb;
  --rpp-surface: rgba(255, 255, 255, 0.78);
  --rpp-border: rgba(19, 31, 54, 0.1);
  --rpp-text: #152033;
  --rpp-muted: #6c7687;
  --rpp-muted-soft: #7c8698;
  --rpp-accent: #185cff;
  --rpp-accent-2: #6b8dff;
  --rpp-success: #159565;
  --rpp-warning: #cf7a10;
  --rpp-danger: #d24b55;
  --rpp-radius: 22px;
  --rpp-shadow: 0 18px 55px rgba(38, 57, 95, 0.1);
}
.rpp-app:not(:has(> .rpp-day2)) {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    sans-serif;
  color: var(--rpp-text);
  background:
    radial-gradient(circle at 5% 0%, rgba(104, 145, 255, 0.2), transparent 34%),
    radial-gradient(circle at 98% 12%, rgba(179, 210, 255, 0.23), transparent 30%), var(--rpp-bg);
  border-radius: clamp(20px, 2vw, 34px);
  padding: clamp(16px, 2.4vw, 34px);
  min-height: 650px;
  overflow: hidden;
}
.rpp-shell:where(:not(.rpp-day2, .rpp-day2 *)) {
  max-width: 1480px;
  margin: auto;
}
.rpp-topbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  margin-bottom: 22px;
}
.rpp-title {
  font-size: clamp(24px, 2.3vw, 38px);
  letter-spacing: -0.045em;
  margin: 0;
}
.rpp-subtitle {
  color: var(--rpp-muted);
  margin: 7px 0 0;
  font-size: clamp(13px, 1vw, 15px);
}
.rpp-glass {
  background: var(--rpp-surface);
  border: 1px solid var(--rpp-border);
  box-shadow: var(--rpp-shadow);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
.rpp-toolbar {
  border-radius: 18px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 18px;
}
.rpp-toolbar-group {
  display: flex;
  gap: 8px;
  align-items: center;
}
.rpp-btn {
  border: 1px solid var(--rpp-border);
  background: rgba(255, 255, 255, 0.72);
  border-radius: 12px;
  padding: 10px 14px;
  cursor: pointer;
  color: var(--rpp-text);
  font-weight: 700;
  text-decoration: none;
  transition: 0.2s ease;
  font-size: 14px;
}
.rpp-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(20, 49, 105, 0.1);
}
.rpp-btn-primary {
  background: linear-gradient(135deg, var(--rpp-accent), var(--rpp-accent-2));
  color: white;
  border-color: transparent;
}
.rpp-btn-danger {
  color: var(--rpp-danger);
}
.rpp-month {
  font-weight: 800;
  letter-spacing: -0.02em;
}
.rpp-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
}
.rpp-weekday {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--rpp-muted);
  padding: 4px 8px;
}
.rpp-day {
  min-height: 142px;
  border-radius: 17px;
  padding: 13px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: 0.22s ease;
}
.rpp-day:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 40px rgba(30, 51, 88, 0.12);
}
.rpp-day-empty {
  background: transparent;
  border: 0;
  box-shadow: none;
}
.rpp-date {
  font-size: 13px;
  color: var(--rpp-muted);
  font-weight: 800;
}
.rpp-status {
  font-size: 12px;
  font-weight: 800;
  border-radius: 999px;
  padding: 5px 8px;
  width: max-content;
  max-width: 100%;
}
.rpp-status-available {
  background: rgba(21, 149, 101, 0.12);
  color: var(--rpp-success);
}
.rpp-status-reserved {
  background: rgba(24, 92, 255, 0.12);
  color: var(--rpp-accent);
}
.rpp-status-other {
  background: rgba(207, 122, 16, 0.12);
  color: var(--rpp-warning);
}
.rpp-speaker {
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
}
.rpp-day-actions {
  margin-top: auto;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.rpp-day .rpp-btn {
  padding: 7px 9px;
  font-size: 12px;
}
.rpp-message {
  padding: 12px 14px;
  border-radius: 14px;
  margin-bottom: 15px;
  font-weight: 650;
}
.rpp-message-error:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(210, 75, 85, 0.11);
  color: var(--rpp-danger);
}
.rpp-message-success {
  background: rgba(21, 149, 101, 0.11);
  color: var(--rpp-success);
}
.rpp-loading,
.rpp-auth-card {
  padding: 28px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid var(--rpp-border);
}
@media (max-width: 900px) {
  .rpp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rpp-weekday {
    display: none;
  }
  .rpp-day-empty {
    display: none;
  }
  .rpp-day {
    min-height: 128px;
  }
  .rpp-topbar {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 520px) {
  .rpp-app:not(:has(> .rpp-day2)) {
    padding: 13px;
    border-radius: 18px;
  }
  .rpp-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .rpp-day {
    min-height: auto;
  }
  .rpp-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .rpp-toolbar-group {
    justify-content: space-between;
  }
  .rpp-btn {
    min-height: 42px;
  }
  .rpp-day-actions .rpp-btn {
    min-height: 36px;
  }
}
.rpp-status-uploaded {
  background: rgba(21, 149, 101, 0.14);
  color: var(--rpp-success);
}
.rpp-btn-upload:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(21, 149, 101, 0.1);
  color: var(--rpp-success);
  border-color: rgba(21, 149, 101, 0.18);
}
.rpp-progress {
  height: 7px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(21, 32, 51, 0.09);
  margin: 9px 0 6px;
}
.rpp-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--rpp-accent), var(--rpp-success));
  transition: width 0.18s ease;
}

/* v0.2.4 polished guest state + viewport-anchored upload portal */
.rpp-app-gate {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    'Segoe UI',
    sans-serif;
  color: var(--rpp-text);
  min-height: clamp(380px, 62vh, 720px);
  display: grid;
  place-items: center;
  text-align: center;
  border-radius: clamp(22px, 2.4vw, 34px);
  padding: clamp(28px, 6vw, 76px);
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 8% 8%, rgba(108, 146, 255, 0.2), transparent 31%),
    radial-gradient(circle at 93% 12%, rgba(181, 213, 255, 0.25), transparent 30%), rgba(255, 255, 255, 0.76);
}
.rpp-app-gate:before,
.rpp-app-gate:after {
  content: '';
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(24, 92, 255, 0.1);
  pointer-events: none;
}
.rpp-app-gate:before {
  width: 310px;
  height: 310px;
  right: -150px;
  top: -160px;
}
.rpp-app-gate:after {
  width: 420px;
  height: 420px;
  left: -230px;
  bottom: -270px;
}
.rpp-app-gate-inner {
  position: relative;
  z-index: 1;
  width: min(100%, 680px);
  display: grid;
  justify-items: center;
}
.rpp-app-gate h1 {
  font-size: clamp(31px, 5vw, 58px);
  line-height: 1;
  letter-spacing: -0.065em;
  margin: 0;
  color: var(--rpp-text);
}
.rpp-app-gate p {
  max-width: 620px;
  margin: 17px 0 0;
  color: var(--rpp-muted);
  font-size: clamp(14px, 1.4vw, 17px);
  line-height: 1.68;
}
.rpp-app-gate-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 25px;
}
.rpp-app-gate-actions .rpp-btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline: 18px;
}
body.rpp-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}
@media (max-width: 560px) {
  .rpp-app-gate {
    min-height: 440px;
    padding: 28px 19px;
    border-radius: 22px;
  }
  .rpp-app-gate h1 {
    font-size: clamp(34px, 10vw, 48px);
  }
  .rpp-app-gate-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }
  .rpp-app-gate-actions .rpp-btn {
    width: 100%;
  }
}

/* v0.2.7 Drive reconciliation UI */
.rpp-toolbar-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}
@media (max-width: 520px) {
  .rpp-toolbar-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .rpp-toolbar-actions .rpp-btn {
    width: 100%;
  }
}

/* v0.2.8 explicit FINAL approval workflow */
.rpp-status-final {
  background: rgba(24, 92, 255, 0.12);
  color: var(--rpp-accent);
}
.rpp-status-ready {
  background: rgba(21, 149, 101, 0.15);
  color: var(--rpp-success);
}
.rpp-btn-ready:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: linear-gradient(135deg, #159565, #54bf8f);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 8px 18px rgba(21, 149, 101, 0.16);
}
.rpp-btn-ready:hover:where(:not(.rpp-day2, .rpp-day2 *)) {
  box-shadow: 0 10px 22px rgba(21, 149, 101, 0.24);
}
.rpp-btn-reopen:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(207, 122, 16, 0.1);
  color: var(--rpp-warning);
  border-color: rgba(207, 122, 16, 0.2);
}

/* v0.2.9 workflow color system + approval hover hardening */
/* Every workflow status receives a deliberately distinct semantic color. */
body .rpp-app .rpp-status-available {
  background: rgba(21, 149, 101, 0.14) !important;
  color: #117a55 !important;
}
body .rpp-app .rpp-status-reserved {
  background: rgba(24, 92, 255, 0.13) !important;
  color: #185cff !important;
}
body .rpp-app .rpp-status-uploaded {
  background: rgba(0, 142, 163, 0.14) !important;
  color: #007f94 !important;
}
body .rpp-app .rpp-status-editing {
  background: rgba(207, 122, 16, 0.15) !important;
  color: #ad6408 !important;
}
body .rpp-app .rpp-status-retake {
  background: rgba(210, 75, 85, 0.14) !important;
  color: #bf3441 !important;
}
body .rpp-app .rpp-status-final {
  background: rgba(111, 79, 214, 0.14) !important;
  color: #6847c9 !important;
}
body .rpp-app .rpp-status-review {
  background: rgba(224, 103, 28, 0.14) !important;
  color: #c85a14 !important;
}
body .rpp-app .rpp-status-ready {
  background: rgba(15, 126, 117, 0.15) !important;
  color: #08766d !important;
}
body .rpp-app .rpp-status-posted {
  background: rgba(71, 85, 105, 0.14) !important;
  color: #475569 !important;
}
body .rpp-app .rpp-status-other {
  background: rgba(107, 114, 128, 0.13) !important;
  color: #5d6674 !important;
}

/* Global Bricks button hover rules must never wash out the approval CTA. */
body .rpp-app .rpp-btn-ready:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-btn-ready:hover:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-btn-ready:focus-visible:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-btn-ready:active:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: linear-gradient(135deg, #159565, #54bf8f) !important;
  color: #fff !important;
  border-color: transparent !important;
}
body .rpp-app .rpp-btn-ready:hover:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-btn-ready:focus-visible:where(:not(.rpp-day2, .rpp-day2 *)) {
  box-shadow: 0 10px 22px rgba(21, 149, 101, 0.28) !important;
  transform: translateY(-2px);
}

/* =========================================================
   v0.3.0 — Speaker Day Workspace
   ========================================================= */

/* Compact workflow progress inside every status badge. */
body .rpp-app .rpp-status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
body .rpp-app .rpp-status strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.45rem;
  padding: 0.18rem 0.42rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.62);
  color: currentColor;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.34);
}

body .rpp-app .rpp-btn-open {
  background: rgba(20, 32, 53, 0.065);
  color: var(--rpp-text);
  border-color: rgba(20, 32, 53, 0.11);
}
body .rpp-app .rpp-btn-open:hover,
body .rpp-app .rpp-btn-open:focus-visible {
  background: rgba(20, 32, 53, 0.11);
  color: var(--rpp-text);
}

.rpp-day-workspace {
  display: grid;
  gap: 1rem;
}

.rpp-back {
  appearance: none;
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.15rem;
  border: 0;
  background: transparent;
  color: var(--rpp-muted);
  font-size: 0.95rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    color 0.18s ease,
    transform 0.18s ease;
}
.rpp-back:hover,
.rpp-back:focus-visible {
  color: var(--rpp-text);
  transform: translateX(-2px);
}

.rpp-detail-hero:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.25rem;
  padding: clamp(1.2rem, 2.7vw, 2rem);
  border-radius: 1.5rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.91), rgba(244, 248, 255, 0.82));
  box-shadow:
    inset 0 0 0 1px rgba(22, 38, 67, 0.08),
    0 0.7rem 1.7rem rgba(37, 56, 92, 0.06);
}
.rpp-detail-kicker,
.rpp-card-kicker {
  color: var(--rpp-accent);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  line-height: 1.25;
}
.rpp-detail-hero h1:where(:not(.rpp-day2, .rpp-day2 *)) {
  margin: 0.42rem 0 0.38rem;
  color: var(--rpp-text);
  font-size: clamp(2rem, 4vw, 3.8rem);
  font-weight: 880;
  letter-spacing: -0.055em;
  line-height: 1;
}
.rpp-detail-hero p:where(:not(.rpp-day2, .rpp-day2 *)) {
  margin: 0;
  color: var(--rpp-text);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  font-weight: 760;
}
.rpp-detail-hero p span:where(:not(.rpp-day2, .rpp-day2 *)) {
  color: var(--rpp-muted);
  font-weight: 680;
}
.rpp-detail-hero .rpp-status:where(:not(.rpp-day2, .rpp-day2 *)) {
  flex: 0 0 auto;
}

.rpp-flow {
  padding: 1rem;
  border-radius: 1.28rem;
  background: rgba(255, 255, 255, 0.75);
  box-shadow:
    inset 0 0 0 1px rgba(22, 38, 67, 0.08),
    0 0.45rem 1.1rem rgba(37, 56, 92, 0.04);
}
.rpp-flow-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
  color: var(--rpp-text);
  font-size: 0.9rem;
  font-weight: 850;
}
.rpp-flow-head strong {
  color: var(--rpp-accent);
}
.rpp-flow-track {
  display: grid;
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 0.42rem;
}
.rpp-flow-step {
  min-width: 0;
}
.rpp-flow-step span {
  display: flex;
  width: 100%;
  min-height: 0.45rem;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(20, 32, 53, 0.1);
  color: transparent;
  font-size: 0;
  transition:
    background 0.18s ease,
    box-shadow 0.18s ease;
}
.rpp-flow-step small {
  display: block;
  overflow: hidden;
  margin-top: 0.42rem;
  color: var(--rpp-muted-soft);
  font-size: 0.61rem;
  font-weight: 760;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rpp-flow-step.is-done span {
  background: rgba(15, 126, 117, 0.38);
}
.rpp-flow-step.is-active span {
  background: linear-gradient(90deg, var(--rpp-accent), #7c96ff);
  box-shadow: 0 0.28rem 0.72rem rgba(29, 93, 255, 0.2);
}
.rpp-flow-step.is-active small {
  color: var(--rpp-text);
}
.rpp-flow-step.is-branch span {
  outline: 1px dashed rgba(210, 75, 85, 0.35);
  outline-offset: 2px;
}

.rpp-detail-actions:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}
.rpp-btn-large {
  min-height: 3.3rem !important;
  padding: 0.9rem 1.18rem !important;
}

.rpp-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(17rem, 0.88fr);
  gap: 1rem;
  align-items: start;
}
.rpp-detail-card {
  min-width: 0;
  padding: clamp(1.1rem, 2vw, 1.55rem);
  border-radius: 1.35rem;
  background: rgba(255, 255, 255, 0.78);
  box-shadow:
    inset 0 0 0 1px rgba(22, 38, 67, 0.08),
    0 0.55rem 1.3rem rgba(37, 56, 92, 0.045);
}
.rpp-detail-card h2 {
  margin: 0.38rem 0 0.45rem;
  color: var(--rpp-text);
  font-size: clamp(1.3rem, 2vw, 1.75rem);
  font-weight: 860;
  letter-spacing: -0.04em;
  line-height: 1.05;
}
.rpp-detail-card p {
  margin: 0;
  color: var(--rpp-muted);
  font-size: 0.94rem;
  line-height: 1.58;
}
.rpp-checklist {
  display: grid;
  gap: 0.7rem;
  margin: 1.05rem 0 0;
  padding: 0;
  list-style: none;
}
.rpp-checklist li {
  display: flex;
  align-items: flex-start;
  gap: 0.62rem;
  color: var(--rpp-text);
  font-size: 0.93rem;
  font-weight: 700;
  line-height: 1.45;
}
.rpp-checklist li span {
  display: inline-flex;
  width: 1.35rem;
  height: 1.35rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(15, 126, 117, 0.12);
  color: #08766d;
  font-size: 0.78rem;
  font-weight: 900;
}
.rpp-tutorial-card {
  display: grid;
  gap: 0.8rem;
}
.rpp-video-frame {
  overflow: hidden;
  width: min(100%, 15rem);
  margin-inline: auto;
  aspect-ratio: 9/16;
  border-radius: 1.15rem;
  background: #101827;
  box-shadow: 0 0.65rem 1.5rem rgba(20, 32, 53, 0.14);
}
.rpp-video-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.rpp-link {
  color: var(--rpp-accent);
  font-size: 0.9rem;
  font-weight: 850;
}
.rpp-link:hover {
  text-decoration: underline;
}
.rpp-file-list,
.rpp-timeline {
  display: grid;
  gap: 0.68rem;
}
.rpp-file-row:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.78rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.67);
  box-shadow: inset 0 0 0 1px rgba(22, 38, 67, 0.075);
}
.rpp-file-icon {
  display: grid;
  width: 2.2rem;
  height: 2.2rem;
  place-items: center;
  border-radius: 0.75rem;
  background: linear-gradient(145deg, rgba(24, 92, 255, 0.14), rgba(118, 146, 255, 0.12));
  color: var(--rpp-accent);
  font-size: 0.75rem;
  font-weight: 900;
}
.rpp-file-main {
  display: grid;
  min-width: 0;
  gap: 0.18rem;
}
.rpp-file-main strong {
  overflow: hidden;
  color: var(--rpp-text);
  font-size: 0.92rem;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rpp-file-main span,
.rpp-file-main small {
  color: var(--rpp-muted);
  font-size: 0.76rem;
  font-weight: 650;
}
.rpp-file-main small {
  color: var(--rpp-muted-soft);
}
.rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)) {
  color: var(--rpp-accent);
  font-size: 0.78rem;
  font-weight: 850;
  white-space: nowrap;
}
.rpp-file-open:hover:where(:not(.rpp-day2, .rpp-day2 *)) {
  text-decoration: underline;
}
.rpp-empty-state {
  padding: 1rem;
  border-radius: 1rem;
  background: rgba(20, 32, 53, 0.04);
  color: var(--rpp-muted);
  font-size: 0.88rem;
  font-weight: 680;
  line-height: 1.5;
}

.rpp-timeline-row {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.7rem;
  padding: 0.2rem 0 0.2rem;
}
.rpp-timeline-dot {
  display: block;
  width: 0.72rem;
  height: 0.72rem;
  margin-top: 0.28rem;
  border-radius: 50%;
  background: var(--rpp-accent);
  box-shadow: 0 0 0 4px rgba(24, 92, 255, 0.1);
}
.rpp-timeline-row strong {
  color: var(--rpp-text);
  font-size: 0.92rem;
  font-weight: 850;
}
.rpp-timeline-row p {
  margin: 0.18rem 0 0.12rem;
  font-size: 0.84rem;
}
.rpp-timeline-row small {
  color: var(--rpp-muted-soft);
  font-size: 0.75rem;
  font-weight: 680;
}

@media (max-width: 900px) {
  .rpp-detail-grid {
    grid-template-columns: minmax(0, 1fr);
  } /* v0.7.4: 1fr = minmax(auto,1fr) — conținutul lat întindea toată pagina */
  .rpp-video-frame {
    width: min(100%, 13rem);
  }
}

@media (max-width: 620px) {
  .rpp-day-workspace {
    gap: 0.82rem;
  }
  .rpp-detail-hero:where(:not(.rpp-day2, .rpp-day2 *)) {
    flex-direction: column;
    padding: 1.05rem;
    border-radius: 1.15rem;
  }
  .rpp-detail-hero h1:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: clamp(2rem, 10vw, 2.8rem);
  }
  .rpp-flow {
    padding: 0.82rem;
    border-radius: 1.05rem;
    overflow: hidden;
  }
  .rpp-flow-track {
    gap: 0.25rem;
  }
  .rpp-flow-step small {
    display: none;
  }
  .rpp-flow-step span {
    min-height: 0.38rem;
  }
  .rpp-detail-actions:where(:not(.rpp-day2, .rpp-day2 *)) {
    display: grid;
    grid-template-columns: 1fr;
  }
  .rpp-detail-actions .rpp-btn:where(:not(.rpp-day2, .rpp-day2 *)) {
    width: 100%;
  }
  .rpp-detail-card {
    padding: 1rem;
    border-radius: 1.1rem;
  }
  .rpp-file-row:where(:not(.rpp-day2, .rpp-day2 *)) {
    grid-template-columns: auto minmax(0, 1fr);
  }
  /* v0.7.4 (bug raportat de Beni): aici era `.rpp-file-open{grid-column:2}` — regulă rămasă din
     markup-ul VECHI (linkul era copil direct al rândului). Azi linkul stă în .rpp-file-actions
     (grid 1fr la ≤680px), iar grid-column:2 crea o coloană implicită → butoanele rândurilor de
     fișiere ieșeau 48–103px în dreapta ecranului pe telefon. */
  .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)) {
    grid-column: auto;
  }
  body .rpp-app .rpp-status strong {
    min-height: 1.32rem;
    font-size: 0.7rem;
  }
}

/* =========================================================
   v0.3.1 — Speaker Day Workspace readability refinement
   Larger tutorial player and stronger type hierarchy
   ========================================================= */

/* Give the dedicated operational view a more generous scale. */
body .rpp-app .rpp-day-workspace {
  gap: clamp(1.1rem, 1.55vw, 1.6rem);
}
body .rpp-app .rpp-day-workspace .rpp-back {
  font-size: clamp(1rem, 0.94rem + 0.18vw, 1.16rem);
}
body .rpp-app .rpp-day-workspace .rpp-detail-hero:where(:not(.rpp-day2, .rpp-day2 *)) {
  padding: clamp(1.5rem, 2.6vw, 2.65rem);
  border-radius: 1.7rem;
}
body .rpp-app .rpp-day-workspace .rpp-detail-kicker,
body .rpp-app .rpp-day-workspace .rpp-card-kicker {
  font-size: clamp(0.78rem, 0.72rem + 0.16vw, 0.92rem);
  letter-spacing: 0.14em;
}
body .rpp-app .rpp-day-workspace .rpp-detail-hero h1:where(:not(.rpp-day2, .rpp-day2 *)) {
  margin: 0.55rem 0 0.5rem;
  font-size: clamp(3rem, 4vw, 5.35rem);
  letter-spacing: -0.045em;
}
body .rpp-app .rpp-day-workspace .rpp-detail-hero p:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: clamp(1.12rem, 1rem + 0.32vw, 1.45rem);
  line-height: 1.45;
}

body .rpp-app .rpp-day-workspace .rpp-flow {
  padding: clamp(1.15rem, 1.65vw, 1.55rem);
  border-radius: 1.45rem;
}
body .rpp-app .rpp-day-workspace .rpp-flow-head {
  margin-bottom: 1rem;
  font-size: clamp(1rem, 0.94rem + 0.2vw, 1.18rem);
}
body .rpp-app .rpp-day-workspace .rpp-flow-track {
  gap: clamp(0.42rem, 0.62vw, 0.7rem);
}
body .rpp-app .rpp-day-workspace .rpp-flow-step span {
  min-height: 0.58rem;
}
body .rpp-app .rpp-day-workspace .rpp-flow-step small {
  margin-top: 0.54rem;
  font-size: clamp(0.7rem, 0.65rem + 0.12vw, 0.82rem);
  line-height: 1.28;
}

body .rpp-app .rpp-day-workspace .rpp-detail-actions:where(:not(.rpp-day2, .rpp-day2 *)) {
  gap: 0.78rem;
}
body .rpp-app .rpp-day-workspace .rpp-btn-large {
  min-height: 3.7rem !important;
  padding: 1rem 1.34rem !important;
  font-size: 1.05rem !important;
}

/* The tutorial column receives enough room for a genuinely useful 9:16 player. */
body .rpp-app .rpp-day-workspace .rpp-detail-grid {
  grid-template-columns: minmax(0, 1.04fr) minmax(25rem, 0.96fr);
  gap: clamp(1.1rem, 1.6vw, 1.6rem);
}
body .rpp-app .rpp-day-workspace .rpp-detail-card {
  padding: clamp(1.35rem, 2vw, 2rem);
  border-radius: 1.5rem;
}
body .rpp-app .rpp-day-workspace .rpp-detail-card h2 {
  margin: 0.5rem 0 0.58rem;
  font-size: clamp(1.72rem, 1.45rem + 0.65vw, 2.35rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
}
body .rpp-app .rpp-day-workspace .rpp-detail-card p {
  font-size: clamp(1.02rem, 0.95rem + 0.18vw, 1.18rem);
  line-height: 1.65;
}
body .rpp-app .rpp-day-workspace .rpp-checklist {
  gap: 0.86rem;
  margin-top: 1.28rem;
}
body .rpp-app .rpp-day-workspace .rpp-checklist li {
  gap: 0.74rem;
  font-size: clamp(1.02rem, 0.96rem + 0.16vw, 1.16rem);
  line-height: 1.5;
}
body .rpp-app .rpp-day-workspace .rpp-checklist li span {
  width: 1.58rem;
  height: 1.58rem;
  font-size: 0.9rem;
}
body .rpp-app .rpp-day-workspace .rpp-tutorial-card {
  gap: 1rem;
}
body .rpp-app .rpp-day-workspace .rpp-video-frame {
  width: min(100%, clamp(21rem, 24vw, 28rem));
  border-radius: 1.35rem;
  box-shadow: 0 0.95rem 2.35rem rgba(20, 32, 53, 0.16);
}
body .rpp-app .rpp-day-workspace .rpp-link {
  font-size: clamp(1rem, 0.95rem + 0.13vw, 1.12rem);
}
body .rpp-app .rpp-day-workspace .rpp-file-list,
body .rpp-app .rpp-day-workspace .rpp-timeline {
  gap: 0.82rem;
}
body .rpp-app .rpp-day-workspace .rpp-file-row:where(:not(.rpp-day2, .rpp-day2 *)) {
  gap: 0.9rem;
  padding: 1rem;
  border-radius: 1.1rem;
}
body .rpp-app .rpp-day-workspace .rpp-file-icon {
  width: 2.65rem;
  height: 2.65rem;
  font-size: 0.88rem;
}
body .rpp-app .rpp-day-workspace .rpp-file-main strong {
  font-size: 1.08rem;
}
body .rpp-app .rpp-day-workspace .rpp-file-main span,
body .rpp-app .rpp-day-workspace .rpp-file-main small,
body .rpp-app .rpp-day-workspace .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: 0.9rem;
}
body .rpp-app .rpp-day-workspace .rpp-empty-state {
  padding: 1.15rem;
  font-size: 1rem;
}
body .rpp-app .rpp-day-workspace .rpp-timeline-row {
  gap: 0.82rem;
  padding: 0.28rem 0;
}
body .rpp-app .rpp-day-workspace .rpp-timeline-dot {
  width: 0.82rem;
  height: 0.82rem;
  margin-top: 0.36rem;
}
body .rpp-app .rpp-day-workspace .rpp-timeline-row strong {
  font-size: 1.07rem;
}
body .rpp-app .rpp-day-workspace .rpp-timeline-row p {
  margin: 0.24rem 0 0.16rem;
  font-size: 0.98rem;
}
body .rpp-app .rpp-day-workspace .rpp-timeline-row small {
  font-size: 0.86rem;
}

@media (max-width: 1180px) {
  body .rpp-app .rpp-day-workspace .rpp-detail-grid {
    grid-template-columns: 1fr;
  }
  body .rpp-app .rpp-day-workspace .rpp-video-frame {
    width: min(100%, 25rem);
  }
}

@media (max-width: 620px) {
  body .rpp-app .rpp-day-workspace {
    gap: 0.92rem;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-hero:where(:not(.rpp-day2, .rpp-day2 *)) {
    padding: 1.18rem;
    border-radius: 1.2rem;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-hero h1:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: clamp(2.5rem, 11vw, 3.3rem);
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-hero p:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 1.08rem;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow {
    padding: 0.94rem;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-card {
    padding: 1.1rem;
    border-radius: 1.16rem;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-card h2 {
    font-size: 1.65rem;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-card p,
  body .rpp-app .rpp-day-workspace .rpp-checklist li {
    font-size: 1rem;
  }
  body .rpp-app .rpp-day-workspace .rpp-video-frame {
    width: min(100%, 21rem);
  }
  body .rpp-app .rpp-day-workspace .rpp-file-main strong {
    font-size: 1rem;
  }
  body .rpp-app .rpp-day-workspace .rpp-file-main span,
  body .rpp-app .rpp-day-workspace .rpp-file-main small,
  body .rpp-app .rpp-day-workspace .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 0.82rem;
  }
}

/* =========================================================
   v0.3.2 — Speaker Day Workspace progressive-disclosure redesign
   Larger typography, clearer next action and reduced visual clutter
   ========================================================= */
body .rpp-app .rpp-day-workspace-simple {
  display: grid;
  gap: clamp(1rem, 1.35vw, 1.4rem);
}
body .rpp-app .rpp-day-workspace-simple .rpp-detail-hero:where(:not(.rpp-day2, .rpp-day2 *)) {
  align-items: center;
  padding: clamp(1.55rem, 2.7vw, 2.8rem);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 255, 0.9));
}
body .rpp-app .rpp-day-workspace-simple .rpp-detail-hero h1:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: clamp(3.5rem, 4.7vw, 6rem);
  letter-spacing: -0.04em;
}
body .rpp-app .rpp-day-workspace-simple .rpp-detail-hero p:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: clamp(1.25rem, 1.08rem + 0.34vw, 1.62rem);
}
body .rpp-app .rpp-day-workspace-simple .rpp-card-kicker,
body .rpp-app .rpp-day-workspace-simple .rpp-detail-kicker {
  font-size: clamp(0.82rem, 0.75rem + 0.16vw, 0.98rem);
}
body .rpp-app .rpp-command-card:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1.25rem, 2vw, 2.2rem);
  align-items: center;
  padding: clamp(1.4rem, 2.15vw, 2.2rem);
  border-radius: 1.55rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(240, 247, 255, 0.9));
  box-shadow:
    inset 0 0 0 1px rgba(24, 92, 255, 0.1),
    0 0.8rem 2rem rgba(37, 56, 92, 0.06);
}
body .rpp-app .rpp-command-copy h2 {
  margin: 0.48rem 0 0.48rem;
  color: var(--rpp-text);
  font-size: clamp(2rem, 1.65rem + 0.78vw, 2.8rem);
  font-weight: 880;
  letter-spacing: -0.04em;
  line-height: 1.06;
}
body .rpp-app .rpp-command-copy p {
  max-width: 62rem;
  margin: 0;
  color: var(--rpp-muted);
  font-size: clamp(1.12rem, 1.02rem + 0.22vw, 1.32rem);
  line-height: 1.65;
}
body .rpp-app .rpp-command-copy .rpp-detail-actions:where(:not(.rpp-day2, .rpp-day2 *)) {
  margin-top: 1.18rem;
}
body .rpp-app .rpp-command-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(5.8rem, 1fr));
  gap: 0.7rem;
}
body .rpp-app .rpp-command-stats div {
  display: grid;
  min-height: 6rem;
  place-items: center;
  align-content: center;
  padding: 0.9rem 0.8rem;
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: inset 0 0 0 1px rgba(22, 38, 67, 0.075);
  text-align: center;
}
body .rpp-app .rpp-command-stats strong {
  color: var(--rpp-text);
  font-size: clamp(1.8rem, 1.55rem + 0.45vw, 2.35rem);
  font-weight: 900;
  letter-spacing: -0.05em;
}
body .rpp-app .rpp-command-stats span {
  margin-top: 0.15rem;
  color: var(--rpp-muted);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.12em;
}
body .rpp-app .rpp-btn-subtle {
  background: rgba(255, 255, 255, 0.74);
}
body .rpp-app details.rpp-disclosure:where(:not(.rpp-day2, .rpp-day2 *)) {
  overflow: hidden;
  border: 0;
  border-radius: 1.4rem;
  background: rgba(255, 255, 255, 0.82);
  box-shadow:
    inset 0 0 0 1px rgba(22, 38, 67, 0.08),
    0 0.55rem 1.3rem rgba(37, 56, 92, 0.04);
}
body .rpp-app details.rpp-disclosure > summary:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1.25rem, 1.75vw, 1.65rem);
  cursor: pointer;
  list-style: none;
  transition: background 0.18s ease;
}
body .rpp-app details.rpp-disclosure > summary::-webkit-details-marker:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: none;
}
body .rpp-app details.rpp-disclosure > summary:hover:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(255, 255, 255, 0.62);
}
body .rpp-app .rpp-disclosure-copy h2:where(:not(.rpp-day2, .rpp-day2 *)) {
  margin: 0.42rem 0 0.32rem;
  color: var(--rpp-text);
  font-size: clamp(1.55rem, 1.35rem + 0.48vw, 2.08rem);
  font-weight: 880;
  letter-spacing: -0.035em;
  line-height: 1.08;
}
body .rpp-app .rpp-disclosure-copy p:where(:not(.rpp-day2, .rpp-day2 *)) {
  margin: 0;
  color: var(--rpp-muted);
  font-size: clamp(1rem, 0.95rem + 0.14vw, 1.14rem);
  line-height: 1.55;
}
body .rpp-app .rpp-disclosure-side:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.75rem;
}
body .rpp-app .rpp-disclosure-side strong:where(:not(.rpp-day2, .rpp-day2 *)) {
  padding: 0.56rem 0.78rem;
  border-radius: 999px;
  background: rgba(24, 92, 255, 0.08);
  color: var(--rpp-accent);
  font-size: 0.9rem;
  font-weight: 900;
  white-space: nowrap;
}
body .rpp-app .rpp-disclosure-chevron:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: grid;
  width: 2.4rem;
  height: 2.4rem;
  place-items: center;
  border-radius: 50%;
  background: rgba(20, 32, 53, 0.055);
  color: var(--rpp-text);
  font-size: 1.38rem;
  font-weight: 900;
  line-height: 1;
  transition:
    transform 0.18s ease,
    background 0.18s ease;
}
body .rpp-app details[open] .rpp-disclosure-chevron:where(:not(.rpp-day2, .rpp-day2 *)) {
  transform: rotate(180deg);
}
body .rpp-app .rpp-disclosure-body:where(:not(.rpp-day2, .rpp-day2 *)) {
  padding: 0 clamp(1.25rem, 1.75vw, 1.65rem) clamp(1.25rem, 1.75vw, 1.65rem);
}
body .rpp-app .rpp-flow-disclosure .rpp-flow:where(:not(.rpp-day2, .rpp-day2 *)) {
  padding: 1.15rem;
  border-radius: 1.1rem;
  background: rgba(248, 250, 255, 0.9);
  box-shadow: inset 0 0 0 1px rgba(22, 38, 67, 0.065);
}
body .rpp-app .rpp-focus-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(22rem, 0.65fr);
  gap: clamp(1rem, 1.35vw, 1.4rem);
  align-items: start;
}
body .rpp-app .rpp-tutorial-featured:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(20rem, 25rem);
  gap: clamp(1.15rem, 2vw, 2rem);
  align-items: center;
  min-height: 33rem;
  padding: clamp(1.45rem, 2vw, 2.1rem);
}
body .rpp-app .rpp-tutorial-featured h2:where(:not(.rpp-day2, .rpp-day2 *)) {
  margin: 0.55rem 0 0.65rem;
  font-size: clamp(2rem, 1.72rem + 0.62vw, 2.75rem);
  line-height: 1.06;
}
body .rpp-app .rpp-tutorial-featured p:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: clamp(1.08rem, 1rem + 0.18vw, 1.24rem);
}
body .rpp-app .rpp-tutorial-featured .rpp-link:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: inline-flex;
  margin-top: 1rem;
  font-size: 1.08rem;
}
body .rpp-app .rpp-tutorial-featured .rpp-video-frame:where(:not(.rpp-day2, .rpp-day2 *)) {
  width: min(100%, 25rem);
  margin-inline: auto;
}
body .rpp-app .rpp-checklist-disclosure .rpp-checklist:where(:not(.rpp-day2, .rpp-day2 *)) {
  margin-top: 0.1rem;
}
body .rpp-app .rpp-checklist-disclosure .rpp-checklist li:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: clamp(1.08rem, 1.02rem + 0.15vw, 1.2rem);
}
body .rpp-app .rpp-file-row:where(:not(.rpp-day2, .rpp-day2 *)) {
  padding: 1.08rem;
}
body .rpp-app .rpp-file-main strong {
  font-size: 1.12rem;
}
body .rpp-app .rpp-file-main span,
body .rpp-app .rpp-file-main small,
body .rpp-app .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: 0.94rem;
}
body .rpp-app .rpp-timeline-row strong {
  font-size: 1.12rem;
}
body .rpp-app .rpp-timeline-row p {
  font-size: 1rem;
}
body .rpp-app .rpp-timeline-row small {
  font-size: 0.9rem;
}
@media (max-width: 1180px) {
  body .rpp-app .rpp-command-card:where(:not(.rpp-day2, .rpp-day2 *)) {
    grid-template-columns: 1fr;
  }
  body .rpp-app .rpp-command-stats {
    max-width: 31rem;
  }
  body .rpp-app .rpp-focus-grid {
    grid-template-columns: 1fr;
  }
  body .rpp-app .rpp-tutorial-featured:where(:not(.rpp-day2, .rpp-day2 *)) {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 23rem);
  }
}
@media (max-width: 760px) {
  body .rpp-app .rpp-day-workspace-simple .rpp-detail-hero:where(:not(.rpp-day2, .rpp-day2 *)) {
    align-items: flex-start;
  }
  body .rpp-app .rpp-command-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
  }
  body .rpp-app .rpp-command-stats div {
    min-height: 5rem;
    padding: 0.72rem 0.45rem;
  }
  body .rpp-app .rpp-command-stats strong {
    font-size: 1.72rem;
  }
  body .rpp-app .rpp-tutorial-featured:where(:not(.rpp-day2, .rpp-day2 *)) {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  body .rpp-app .rpp-tutorial-featured .rpp-video-frame:where(:not(.rpp-day2, .rpp-day2 *)) {
    width: min(100%, 22rem);
  }
}
@media (max-width: 620px) {
  body .rpp-app .rpp-day-workspace-simple .rpp-detail-hero h1:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: clamp(2.8rem, 12vw, 3.7rem);
  }
  body .rpp-app .rpp-command-card:where(:not(.rpp-day2, .rpp-day2 *)) {
    padding: 1.15rem;
    border-radius: 1.18rem;
  }
  body .rpp-app .rpp-command-copy h2 {
    font-size: 1.8rem;
  }
  body .rpp-app .rpp-command-copy p {
    font-size: 1.05rem;
  }
  body .rpp-app .rpp-command-stats span {
    font-size: 0.64rem;
  }
  body .rpp-app details.rpp-disclosure:where(:not(.rpp-day2, .rpp-day2 *)) {
    border-radius: 1.15rem;
  }
  body .rpp-app details.rpp-disclosure > summary:where(:not(.rpp-day2, .rpp-day2 *)) {
    align-items: flex-start;
    padding: 1.1rem;
  }
  body .rpp-app .rpp-disclosure-copy h2:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 1.5rem;
  }
  body .rpp-app .rpp-disclosure-copy p:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 0.98rem;
  }
  body .rpp-app .rpp-disclosure-side:where(:not(.rpp-day2, .rpp-day2 *)) {
    gap: 0.45rem;
  }
  body .rpp-app .rpp-disclosure-side strong:where(:not(.rpp-day2, .rpp-day2 *)) {
    padding: 0.46rem 0.6rem;
    font-size: 0.76rem;
  }
  body .rpp-app .rpp-disclosure-chevron:where(:not(.rpp-day2, .rpp-day2 *)) {
    width: 2rem;
    height: 2rem;
    font-size: 1.12rem;
  }
  body .rpp-app .rpp-disclosure-body:where(:not(.rpp-day2, .rpp-day2 *)) {
    padding: 0 1.1rem 1.1rem;
  }
  body .rpp-app .rpp-tutorial-featured:where(:not(.rpp-day2, .rpp-day2 *)) {
    padding: 1.15rem;
    border-radius: 1.18rem;
  }
  body .rpp-app .rpp-tutorial-featured h2:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 1.85rem;
  }
  body .rpp-app .rpp-tutorial-featured p:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 1.02rem;
  }
}

/* =========================================================
   v0.3.3 — Speaker Day Workspace readability refinement
   ========================================================= */

/* The accordion control uses an SVG so the glyph is visually centered
   on every browser instead of inheriting a text baseline offset. */
body .rpp-app .rpp-disclosure-chevron:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 0;
  line-height: 0;
}
body .rpp-app .rpp-disclosure-chevron svg:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: block;
  width: 1.12rem;
  height: 1.12rem;
  stroke: currentColor;
  stroke-width: 2.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Increase desktop secondary copy. These lines guide volunteers and
   should remain comfortably readable without zooming. */
@media (min-width: 761px) {
  body .rpp-app .rpp-disclosure-copy p:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: clamp(1.14rem, 1.05rem + 0.18vw, 1.32rem);
    line-height: 1.62;
  }
  body .rpp-app .rpp-disclosure-side strong:where(:not(.rpp-day2, .rpp-day2 *)) {
    padding: 0.64rem 0.9rem;
    font-size: 1.02rem;
  }
  body .rpp-app .rpp-tutorial-featured p:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: clamp(1.18rem, 1.08rem + 0.2vw, 1.38rem);
    line-height: 1.62;
  }
  body .rpp-app .rpp-tutorial-featured .rpp-link:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 1.16rem;
  }
  body .rpp-app .rpp-card-kicker,
  body .rpp-app .rpp-detail-kicker {
    font-size: 0.9rem;
    letter-spacing: 0.13em;
  }
  body .rpp-app .rpp-file-main span,
  body .rpp-app .rpp-file-main small,
  body .rpp-app .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-timeline-row small {
    font-size: 1rem;
  }
  body .rpp-app .rpp-empty-state {
    font-size: 1.08rem;
    line-height: 1.6;
  }
}

/* =========================================================
   v0.4.0 — Production + Reviewer workflow dashboards
   ========================================================= */
body .rpp-app .rpp-status-corrections {
  background: rgba(203, 75, 47, 0.15) !important;
  color: #b8442d !important;
}
.rpp-view-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 1.35rem;
}
.rpp-view-pill {
  appearance: none;
  border: 1px solid rgba(20, 32, 53, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--rpp-muted);
  padding: 0.72rem 1.05rem;
  font-size: 1rem;
  font-weight: 850;
  cursor: pointer;
}
.rpp-view-pill.is-active,
.rpp-view-pill:hover {
  background: rgba(29, 93, 255, 0.1);
  color: var(--rpp-accent);
  border-color: rgba(29, 93, 255, 0.18);
}
.rpp-dashboard-shell {
  display: grid;
  gap: 1.2rem;
}
.rpp-dashboard-summary {
  display: flex;
  align-items: baseline;
  gap: 0.7rem;
  width: max-content;
  padding: 1rem 1.2rem;
  border-radius: 1.1rem;
}
.rpp-dashboard-summary strong {
  font-size: 2.1rem;
  color: var(--rpp-text);
}
.rpp-dashboard-summary span {
  font-size: 1.05rem;
  color: var(--rpp-muted);
  font-weight: 750;
}
.rpp-work-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.rpp-work-card {
  display: grid;
  gap: 0.9rem;
  padding: 1.15rem;
  border-radius: 1.2rem;
  background: rgba(255, 255, 255, 0.84);
}
.rpp-work-card-top {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
}
.rpp-work-meta {
  font-size: 1.03rem;
  color: var(--rpp-text);
  font-weight: 800;
}
.rpp-work-meta span {
  color: var(--rpp-muted);
  font-weight: 700;
}
.rpp-work-counts {
  display: flex;
  gap: 0.55rem;
}
.rpp-work-counts strong {
  padding: 0.42rem 0.62rem;
  border-radius: 999px;
  background: rgba(29, 93, 255, 0.08);
  color: var(--rpp-accent);
  font-size: 0.88rem;
}
.rpp-dashboard-empty {
  grid-column: 1/-1;
}
.rpp-editor-admin {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.1rem;
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.76);
}
.rpp-editor-admin div {
  display: grid;
  gap: 0.12rem;
  margin-right: auto;
}
.rpp-editor-admin span,
.rpp-editor-assigned span {
  color: var(--rpp-muted);
  font-size: 0.88rem;
  font-weight: 750;
}
.rpp-editor-admin strong,
.rpp-editor-assigned strong {
  color: var(--rpp-text);
  font-size: 1.05rem;
}
.rpp-editor-admin select {
  min-height: 2.85rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(20, 32, 53, 0.12);
  border-radius: 0.8rem;
  background: #fff;
  color: var(--rpp-text);
  font-weight: 750;
}
.rpp-editor-assigned {
  padding: 0.8rem 0;
}
.rpp-note-add:where(:not(.rpp-day2, .rpp-day2 *)) {
  margin-bottom: 0.85rem;
}
.rpp-note-list {
  display: grid;
  gap: 0.65rem;
}
.rpp-note-row {
  display: grid;
  gap: 0.22rem;
  padding: 0.9rem;
  border-radius: 0.9rem;
  background: rgba(20, 32, 53, 0.035);
}
.rpp-note-row strong {
  font-size: 1rem;
  color: var(--rpp-text);
}
.rpp-note-row span,
.rpp-note-row small {
  font-size: 0.82rem;
  color: var(--rpp-muted);
  font-weight: 750;
}
.rpp-note-row p {
  margin: 0.28rem 0;
  color: var(--rpp-text);
  font-size: 1rem;
  line-height: 1.55;
}
@media (max-width: 1150px) {
  .rpp-work-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  .rpp-work-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .rpp-work-card-top {
    display: grid;
  }
  .rpp-view-pill {
    font-size: 0.94rem;
    padding: 0.66rem 0.85rem;
  }
  .rpp-editor-admin {
    display: grid;
  }
  .rpp-editor-admin select,
  .rpp-editor-admin .rpp-btn {
    width: 100%;
  }
}

/* =========================================================
   v0.4.1 — Stable day workspace, FINAL uploader and RAW batch download
   ========================================================= */

/* Assignment is operationally important: never render it as microcopy. */
body .rpp-app .rpp-editor-assigned {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.42rem;
  padding: 1rem 0;
}
body .rpp-app .rpp-editor-admin span,
body .rpp-app .rpp-editor-assigned span {
  color: var(--rpp-muted);
  font-size: 1.12rem;
  font-weight: 790;
  line-height: 1.45;
}
body .rpp-app .rpp-editor-admin strong,
body .rpp-app .rpp-editor-assigned strong {
  color: var(--rpp-text);
  font-size: 1.34rem;
  font-weight: 880;
  line-height: 1.35;
}
body .rpp-app .rpp-editor-admin select {
  font-size: 1.04rem;
}

/* FINAL upload is intentionally distinct from RAW upload. */
body .rpp-app .rpp-btn-final-upload:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: linear-gradient(135deg, #6b4dff, #9877ff);
  color: #fff;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.22),
    0 0.58rem 1.3rem rgba(107, 77, 255, 0.2);
}
body .rpp-app .rpp-btn-final-upload:hover:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-btn-final-upload:focus-visible:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: linear-gradient(135deg, #5b3cf2, #8767f6);
  color: #fff;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.28),
    0 0.78rem 1.55rem rgba(107, 77, 255, 0.3);
}

/* RAW file toolbar + individual direct-download links. */
body .rpp-app .rpp-file-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.72rem;
  margin-bottom: 1rem;
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  background: rgba(29, 93, 255, 0.055);
  box-shadow: inset 0 0 0 1px rgba(29, 93, 255, 0.1);
}
body .rpp-app .rpp-file-toolbar span {
  color: var(--rpp-muted);
  font-size: 1.02rem;
  font-weight: 760;
}
body .rpp-app .rpp-btn-download-all:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(29, 93, 255, 0.11);
  color: var(--rpp-accent);
}
body .rpp-app .rpp-btn-download-all:hover:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-btn-download-all:focus-visible:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(29, 93, 255, 0.18);
  color: #164fd9;
}
body .rpp-app .rpp-file-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.55rem;
}
body .rpp-app .rpp-file-download:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: inline-flex;
  align-items: center;
  min-height: 2.45rem;
  padding: 0.58rem 0.78rem;
  border-radius: 0.72rem;
  background: rgba(15, 147, 97, 0.1);
  color: #0f855a;
  font-size: 1rem;
  font-weight: 820;
}
body .rpp-app .rpp-file-download:hover:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-file-download:focus-visible:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(15, 147, 97, 0.17);
  color: #0a704b;
}

@media (max-width: 680px) {
  body .rpp-app .rpp-editor-admin span,
  body .rpp-app .rpp-editor-assigned span {
    font-size: 1.02rem;
  }
  body .rpp-app .rpp-editor-admin strong,
  body .rpp-app .rpp-editor-assigned strong {
    font-size: 1.2rem;
  }
  body .rpp-app .rpp-file-toolbar {
    display: grid;
  }
  body .rpp-app .rpp-file-toolbar .rpp-btn {
    width: 100%;
  }
  body .rpp-app .rpp-file-actions {
    justify-content: flex-start;
  }
}

/* =========================================================
   v0.5.0 — FINAL versioning, active version and archive restore
   ========================================================= */
body .rpp-app .rpp-file-version-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  align-items: center;
  margin-bottom: 0.42rem;
}
body .rpp-app .rpp-file-version-badges span,
body .rpp-app .rpp-file-version-badges strong,
body .rpp-app .rpp-file-version-badges em,
body .rpp-app .rpp-file-version-badges b {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.5rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 850;
  line-height: 1;
}
body .rpp-app .rpp-file-version-badges span {
  background: rgba(107, 77, 255, 0.1);
  color: #6844cf;
}
body .rpp-app .rpp-file-version-badges strong {
  background: rgba(15, 147, 97, 0.12);
  color: #0f855a;
}
body .rpp-app .rpp-file-version-badges em {
  background: rgba(88, 102, 119, 0.11);
  color: #586677;
}
body .rpp-app .rpp-file-version-badges b {
  background: rgba(8, 123, 112, 0.13);
  color: #087b70;
}
body .rpp-app .rpp-file-row.is-active-final:where(:not(.rpp-day2, .rpp-day2 *)) {
  box-shadow: inset 0 0 0 1px rgba(15, 147, 97, 0.22);
  background: rgba(244, 255, 250, 0.78);
}
body .rpp-app .rpp-file-restore:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: inline-flex;
  align-items: center;
  min-height: 2.45rem;
  padding: 0.58rem 0.78rem;
  border: 0;
  border-radius: 0.72rem;
  background: rgba(107, 77, 255, 0.1);
  color: #6844cf;
  font-size: 1rem;
  font-weight: 820;
  cursor: pointer;
}
body .rpp-app .rpp-file-restore:hover:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-file-restore:focus-visible:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(107, 77, 255, 0.18);
  color: #5532bd;
}
/* v0.14.0: «Revizuiește» (playerul cu note pe timecode) — aceeași familie structurală ca .rpp-file-restore, culoare proprie */
body .rpp-app .rpp-file-review:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: inline-flex;
  align-items: center;
  min-height: 2.45rem;
  padding: 0.58rem 0.78rem;
  border: 0;
  border-radius: 0.72rem;
  background: #1d4ed8;
  color: #fff;
  font-size: 1rem;
  font-weight: 820;
  cursor: pointer;
}
body .rpp-app .rpp-file-review:hover:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-file-review:focus-visible:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: #1a44bd;
  color: #fff;
}

/* =========================================================
   v0.5.1 — Upload readability, aligned file actions and dark mode
   ========================================================= */

/* File actions are a compact action rail: both links share the same baseline,
   hit-area height and vertical alignment on desktop and mobile. */
body .rpp-app .rpp-file-actions {
  align-items: center;
}
body .rpp-app .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-file-download:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-file-restore:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-file-review:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.45rem;
  padding: 0.58rem 0.78rem;
  border-radius: 0.72rem;
  line-height: 1.1;
  text-decoration: none;
}
body .rpp-app .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(29, 93, 255, 0.09);
  color: var(--rpp-accent);
}
body .rpp-app .rpp-file-open:hover:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-file-open:focus-visible:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(29, 93, 255, 0.16);
  color: #164fd9;
  text-decoration: none;
}

/* Theme token layer. Theme is applied before paint by the bootstrap script. */
html[data-rpp-theme='dark'] {
  color-scheme: dark;
  --rpp-bg: #0d1422;
  --rpp-surface: rgba(20, 29, 46, 0.9);
  --rpp-border: rgba(182, 202, 240, 0.15);
  --rpp-text: #edf4ff;
  --rpp-muted: #aab8cc;
  --rpp-muted-soft: #8898ae;
  --rpp-accent: #7da2ff;
  --rpp-accent-2: #9bb6ff;
  --rpp-success: #61d6a2;
  --rpp-warning: #f1b65a;
  --rpp-danger: #ff8b98;
  --rpp-shadow: 0 18px 55px rgba(0, 0, 0, 0.2);
}
html[data-rpp-theme='dark'] body .rpp-app:not(:has(> .rpp-day2)),
html[data-rpp-theme='dark'] body .rpp-app-gate {
  color: var(--rpp-text);
  background:
    radial-gradient(circle at 5% 0%, rgba(86, 120, 220, 0.18), transparent 34%),
    radial-gradient(circle at 98% 12%, rgba(65, 119, 160, 0.14), transparent 30%), #0d1422 !important;
}
html[data-rpp-theme='dark'] body .rpp-glass,
html[data-rpp-theme='dark'] body .rpp-app .rpp-day,
html[data-rpp-theme='dark'] body .rpp-app .rpp-loading,
html[data-rpp-theme='dark'] body .rpp-app .rpp-auth-card,
html[data-rpp-theme='dark'] body .rpp-app .rpp-work-card,
html[data-rpp-theme='dark'] body .rpp-app .rpp-detail-card,
html[data-rpp-theme='dark'] body .rpp-app .rpp-command-card:where(:not(.rpp-day2, .rpp-day2 *)),
html[data-rpp-theme='dark'] body .rpp-app details.rpp-disclosure:where(:not(.rpp-day2, .rpp-day2 *)),
html[data-rpp-theme='dark'] body .rpp-app .rpp-tutorial-featured:where(:not(.rpp-day2, .rpp-day2 *)),
html[data-rpp-theme='dark'] body .rpp-app .rpp-file-row:where(:not(.rpp-day2, .rpp-day2 *)),
html[data-rpp-theme='dark'] body .rpp-app .rpp-editor-admin,
html[data-rpp-theme='dark'] body .rpp-app .rpp-view-pill {
  background: rgba(20, 29, 46, 0.93) !important;
  border-color: rgba(182, 202, 240, 0.14) !important;
  box-shadow:
    inset 0 0 0 1px rgba(182, 202, 240, 0.07),
    0 0.75rem 1.8rem rgba(0, 0, 0, 0.14) !important;
}
html[data-rpp-theme='dark']
  body
  .rpp-app
  .rpp-day-workspace-simple
  .rpp-detail-hero:where(:not(.rpp-day2, .rpp-day2 *)),
html[data-rpp-theme='dark'] body .rpp-app .rpp-command-card:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: linear-gradient(145deg, rgba(26, 38, 60, 0.96), rgba(15, 24, 39, 0.94)) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-command-stats div,
html[data-rpp-theme='dark'] body .rpp-app .rpp-flow,
html[data-rpp-theme='dark'] body .rpp-app .rpp-flow-disclosure .rpp-flow:where(:not(.rpp-day2, .rpp-day2 *)),
html[data-rpp-theme='dark'] body .rpp-app .rpp-empty-state,
html[data-rpp-theme='dark'] body .rpp-app .rpp-note-row,
html[data-rpp-theme='dark'] body .rpp-app .rpp-file-toolbar {
  background: rgba(255, 255, 255, 0.045) !important;
  box-shadow: inset 0 0 0 1px rgba(182, 202, 240, 0.09) !important;
}
html[data-rpp-theme='dark'] body .rpp-app details.rpp-disclosure > summary:hover:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(255, 255, 255, 0.045);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn,
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-subtle,
html[data-rpp-theme='dark'] body .rpp-app .rpp-view-pill {
  background: rgba(255, 255, 255, 0.075);
  color: var(--rpp-text);
  border-color: rgba(182, 202, 240, 0.14);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-primary {
  color: #fff;
  background: linear-gradient(135deg, #4778ff, #7898ff);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-upload:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(97, 214, 162, 0.12);
  color: #73dfb0;
  border-color: rgba(97, 214, 162, 0.2);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-final-upload:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: linear-gradient(135deg, #765eff, #9e83ff);
  color: #fff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-file-row.is-active-final:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(26, 68, 56, 0.42) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(125, 162, 255, 0.13);
  color: #9bb7ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-file-download:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(97, 214, 162, 0.13);
  color: #78e5b7;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-file-restore:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(158, 131, 255, 0.14);
  color: #bba6ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-file-review:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: #2553e6;
  color: #fff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-available {
  background: rgba(97, 214, 162, 0.14);
  color: #73dfb0;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-reserved {
  background: rgba(125, 162, 255, 0.15);
  color: #a7beff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-uploaded {
  background: rgba(75, 202, 222, 0.14);
  color: #6dd9eb;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-editing {
  background: rgba(241, 182, 90, 0.15);
  color: #f6c979;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-retake {
  background: rgba(255, 139, 152, 0.14);
  color: #ffabb5;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-final {
  background: rgba(158, 131, 255, 0.15);
  color: #bba6ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-review {
  background: rgba(241, 182, 90, 0.14);
  color: #f6c979;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-corrections {
  background: rgba(255, 143, 107, 0.15) !important;
  color: #ffa88b !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-ready {
  background: rgba(68, 202, 192, 0.15);
  color: #73e3db;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-posted {
  background: rgba(170, 184, 204, 0.13);
  color: #bdc9d9;
}

@media (max-width: 620px) {
  body .rpp-app .rpp-file-actions {
    grid-column: 1/-1;
    justify-content: flex-start;
  }
}

/* =========================================================
   v0.5.2 — Dark mode contrast hardening
   ========================================================= */
/* Preserve the glass treatment while ensuring essential navigation copy
   remains readable across the translucent areas of the day workspace. */
html[data-rpp-theme='dark'] body .rpp-app .rpp-day-workspace .rpp-back {
  color: #d8e5f8 !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-day-workspace .rpp-back:hover,
html[data-rpp-theme='dark'] body .rpp-app .rpp-day-workspace .rpp-back:focus-visible {
  color: #fff !important;
}
/* Weekday headings sit directly above a glass panel and therefore need a
   brighter dark-theme token than generic secondary metadata. */
html[data-rpp-theme='dark'] body .rpp-app .rpp-weekday {
  color: #d3dfef !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.22);
}
/* Native selects render inconsistently across browsers. Use a dark surface
   and explicit foreground for the editor assignment control and its options. */
html[data-rpp-theme='dark'] body .rpp-app .rpp-editor-admin select {
  background: #101a2b !important;
  color: #f1f6ff !important;
  border-color: rgba(182, 202, 240, 0.25) !important;
  box-shadow: inset 0 0 0 1px rgba(182, 202, 240, 0.04);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-editor-admin select option {
  background: #101a2b;
  color: #f1f6ff;
}

/* =========================================================
   v0.5.13 — RAW ZIP download progress portal
   ========================================================= */
body.rpp-zip-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

/* =========================================================
   v0.5.14 — Editor toolkit and assisted cinematic workflow (rămâne antetul cozilor; Editor toolkit a ieșit în curățenia 0.16)
   ========================================================= */
body .rpp-app .rpp-dashboard-queue-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin: clamp(2rem, 3vw, 3rem) 0 1rem;
}
body .rpp-app .rpp-dashboard-queue-head h2 {
  margin: 0.28rem 0;
  color: var(--rpp-text);
  font-size: clamp(1.65rem, 1.45rem + 0.45vw, 2.05rem);
  font-weight: 880;
  letter-spacing: -0.04em;
}
body .rpp-app .rpp-dashboard-queue-head p {
  margin: 0;
  color: var(--rpp-muted);
  font-size: 1rem;
  line-height: 1.5;
}
body .rpp-app .rpp-dashboard-queue-head .rpp-dashboard-summary {
  min-width: 10rem;
  margin: 0 !important;
}
@media (max-width: 680px) {
  body .rpp-app .rpp-dashboard-queue-head {
    align-items: stretch;
    flex-direction: column;
  }
  body .rpp-app .rpp-dashboard-queue-head .rpp-dashboard-summary {
    width: 100%;
  }
}

/* =========================================================
   v0.5.15 — Editor Toolkit readability scale (acum doar antetul cozilor)
   Larger operational typography without changing workflow
   ========================================================= */
body .rpp-app .rpp-dashboard-queue-head {
  margin: clamp(2.35rem, 3.4vw, 3.4rem) 0 1.18rem;
}
body .rpp-app .rpp-dashboard-queue-head h2 {
  font-size: clamp(1.95rem, 1.65rem + 0.62vw, 2.45rem);
}
body .rpp-app .rpp-dashboard-queue-head p {
  font-size: 1.18rem;
  line-height: 1.6;
}
body .rpp-app .rpp-dashboard-queue-head .rpp-dashboard-summary span {
  font-size: 1.05rem !important;
  line-height: 1.4 !important;
}
@media (max-width: 680px) {
  body .rpp-app .rpp-dashboard-queue-head h2 {
    font-size: 1.76rem;
  }
  body .rpp-app .rpp-dashboard-queue-head p {
    font-size: 1.05rem;
  }
}

/* =========================================================
   v0.5.16 — Unified readable typography system
   A coherent operational hierarchy across the entire frontend.
   Text stays comfortably readable on desktop while scaling down
   deliberately on smaller screens without falling into microcopy.
   ========================================================= */
:root {
  --rpp-type-display: clamp(2.8rem, 2.15rem + 1.8vw, 5.15rem);
  --rpp-type-h1: clamp(2.25rem, 1.88rem + 1.08vw, 3.75rem);
  --rpp-type-h2: clamp(1.72rem, 1.47rem + 0.62vw, 2.42rem);
  --rpp-type-h3: clamp(1.34rem, 1.2rem + 0.32vw, 1.72rem);
  --rpp-type-body: clamp(1.08rem, 1.02rem + 0.16vw, 1.22rem);
  --rpp-type-body-compact: clamp(1rem, 0.96rem + 0.11vw, 1.1rem);
  --rpp-type-small: clamp(0.94rem, 0.91rem + 0.08vw, 1.02rem);
  --rpp-type-label: clamp(0.84rem, 0.81rem + 0.07vw, 0.93rem);
  --rpp-type-button: clamp(1rem, 0.97rem + 0.08vw, 1.09rem);
  --rpp-leading-body: 1.62;
}

/* Global application rhythm and reusable controls. */
body .rpp-app {
  font-size: var(--rpp-type-body-compact);
  line-height: var(--rpp-leading-body);
}
body .rpp-app .rpp-title {
  font-size: var(--rpp-type-display) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.045em !important;
}
body .rpp-app .rpp-subtitle {
  font-size: var(--rpp-type-body) !important;
  line-height: 1.58 !important;
}
body .rpp-app .rpp-btn {
  font-size: var(--rpp-type-button) !important;
  line-height: 1.2 !important;
  min-height: 3.15rem;
  padding: 0.84rem 1.08rem !important;
}
body .rpp-app .rpp-message,
body .rpp-app .rpp-loading,
body .rpp-app .rpp-auth-card {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.62 !important;
}
body .rpp-app .rpp-month {
  font-size: clamp(1.25rem, 1.16rem + 0.24vw, 1.56rem) !important;
}
body .rpp-app .rpp-weekday {
  font-size: var(--rpp-type-label) !important;
  line-height: 1.3 !important;
}

/* Calendar cards. */
body .rpp-app .rpp-day {
  gap: 0.82rem !important;
  padding: clamp(1rem, 1vw, 1.28rem) !important;
}
body .rpp-app .rpp-date {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.3 !important;
}
body .rpp-app .rpp-status {
  font-size: var(--rpp-type-small) !important;
  line-height: 1.12 !important;
  padding: 0.55rem 0.76rem !important;
}
body .rpp-app .rpp-status strong {
  min-height: 1.65rem;
  padding: 0.22rem 0.48rem;
  font-size: 0.86rem !important;
}
body .rpp-app .rpp-speaker {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.48 !important;
}
body .rpp-app .rpp-day .rpp-btn {
  font-size: var(--rpp-type-small) !important;
  min-height: 2.82rem !important;
  padding: 0.68rem 0.86rem !important;
}

/* Day workspace hierarchy. */
body .rpp-app .rpp-day-workspace .rpp-back {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.35 !important;
}
body .rpp-app .rpp-day-workspace .rpp-detail-kicker,
body .rpp-app .rpp-day-workspace .rpp-card-kicker {
  font-size: var(--rpp-type-label) !important;
  line-height: 1.35 !important;
}
body .rpp-app .rpp-day-workspace .rpp-detail-hero h1:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: var(--rpp-type-display) !important;
}
body .rpp-app .rpp-day-workspace .rpp-detail-hero p:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: var(--rpp-type-body) !important;
  line-height: 1.55 !important;
}
body .rpp-app .rpp-day-workspace .rpp-flow-head {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.4 !important;
}
body .rpp-app .rpp-day-workspace .rpp-flow-step small {
  font-size: clamp(0.78rem, 0.75rem + 0.08vw, 0.88rem) !important;
  line-height: 1.34 !important;
}
body .rpp-app .rpp-day-workspace .rpp-detail-card h2 {
  font-size: var(--rpp-type-h2) !important;
  line-height: 1.1 !important;
}
body .rpp-app .rpp-day-workspace .rpp-detail-card p {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.66 !important;
}
body .rpp-app .rpp-day-workspace .rpp-checklist li {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.55 !important;
}
body .rpp-app .rpp-day-workspace .rpp-link {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.4 !important;
}
body .rpp-app .rpp-day-workspace .rpp-file-toolbar span {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.45 !important;
}
body .rpp-app .rpp-day-workspace .rpp-file-main strong {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.38 !important;
}
body .rpp-app .rpp-day-workspace .rpp-file-main span,
body .rpp-app .rpp-day-workspace .rpp-file-main small {
  font-size: var(--rpp-type-small) !important;
  line-height: 1.46 !important;
}
body .rpp-app .rpp-day-workspace .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-day-workspace .rpp-file-download:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-day-workspace .rpp-file-restore:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-day-workspace .rpp-file-review:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: var(--rpp-type-small) !important;
  line-height: 1.2 !important;
  min-height: 2.72rem !important;
}
body .rpp-app .rpp-file-version-badges span,
body .rpp-app .rpp-file-version-badges strong,
body .rpp-app .rpp-file-version-badges em,
body .rpp-app .rpp-file-version-badges b {
  font-size: clamp(0.84rem, 0.8rem + 0.08vw, 0.94rem) !important;
  line-height: 1.1 !important;
}
body .rpp-app .rpp-day-workspace .rpp-empty-state {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.58 !important;
}
body .rpp-app .rpp-day-workspace .rpp-timeline-row strong {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.42 !important;
}
body .rpp-app .rpp-day-workspace .rpp-timeline-row p {
  font-size: var(--rpp-type-small) !important;
  line-height: 1.52 !important;
}
body .rpp-app .rpp-day-workspace .rpp-timeline-row small {
  font-size: clamp(0.88rem, 0.85rem + 0.07vw, 0.96rem) !important;
  line-height: 1.45 !important;
}
body .rpp-app .rpp-editor-admin span,
body .rpp-app .rpp-editor-assigned span {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.4 !important;
}
body .rpp-app .rpp-editor-admin strong,
body .rpp-app .rpp-editor-assigned strong {
  font-size: clamp(1.28rem, 1.19rem + 0.22vw, 1.52rem) !important;
  line-height: 1.35 !important;
}
body .rpp-app .rpp-editor-admin select {
  font-size: var(--rpp-type-body-compact) !important;
  min-height: 3rem !important;
}

/* Day-page command panel and progressive disclosures. */
body .rpp-app .rpp-command-copy h2 {
  font-size: var(--rpp-type-h2) !important;
  line-height: 1.08 !important;
}
body .rpp-app .rpp-command-copy p {
  font-size: var(--rpp-type-body) !important;
  line-height: 1.62 !important;
}
body .rpp-app .rpp-command-stats strong {
  font-size: clamp(1.85rem, 1.65rem + 0.46vw, 2.42rem) !important;
  line-height: 1 !important;
}
body .rpp-app .rpp-command-stats span {
  font-size: var(--rpp-type-label) !important;
  line-height: 1.36 !important;
}
body .rpp-app .rpp-disclosure-copy h2:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: var(--rpp-type-h3) !important;
  line-height: 1.15 !important;
}
body .rpp-app .rpp-disclosure-copy p:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.58 !important;
}
body .rpp-app .rpp-disclosure-side strong:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: var(--rpp-type-label) !important;
  line-height: 1.15 !important;
}
body .rpp-app .rpp-note-row {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.55 !important;
}

/* Production and review dashboards. */
body .rpp-app .rpp-view-pill {
  font-size: var(--rpp-type-button) !important;
  line-height: 1.2 !important;
}
body .rpp-app .rpp-dashboard-summary strong {
  font-size: clamp(2.15rem, 1.94rem + 0.52vw, 2.7rem) !important;
}
body .rpp-app .rpp-dashboard-summary span {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.42 !important;
}
body .rpp-app .rpp-work-meta {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.5 !important;
}
body .rpp-app .rpp-work-counts strong {
  font-size: var(--rpp-type-small) !important;
  line-height: 1.2 !important;
}

/* Antetul cozilor (fostul Editor toolkit): no microscopic supporting copy. */
body .rpp-app .rpp-dashboard-queue-head h2 {
  font-size: var(--rpp-type-h2) !important;
}
body .rpp-app .rpp-dashboard-queue-head p {
  font-size: var(--rpp-type-body) !important;
  line-height: 1.6 !important;
}

/* Public gate. */
body .rpp-app-gate h1 {
  font-size: var(--rpp-type-display) !important;
}
body .rpp-app-gate p {
  font-size: var(--rpp-type-body) !important;
  line-height: 1.66 !important;
}

@media (max-width: 680px) {
  :root {
    --rpp-type-display: clamp(2.55rem, 10.4vw, 3.35rem);
    --rpp-type-h1: clamp(2.08rem, 8.5vw, 2.82rem);
    --rpp-type-h2: clamp(1.58rem, 6.35vw, 2rem);
    --rpp-type-h3: clamp(1.28rem, 5vw, 1.58rem);
    --rpp-type-body: 1.08rem;
    --rpp-type-body-compact: 1rem;
    --rpp-type-small: 0.94rem;
    --rpp-type-label: 0.82rem;
    --rpp-type-button: 1rem;
  }
  body .rpp-app .rpp-toolbar {
    gap: 0.82rem !important;
  }
  body .rpp-app .rpp-status strong {
    font-size: 0.8rem !important;
  }
  body .rpp-app .rpp-flow-step small {
    display: none !important;
  }
}

/* =========================================================
   v0.5.17 — Frontend type scale hardening for Bricks
   Bricks commonly uses a reduced root rem scale. The application must
   remain readable independently of that external root setting, so the
   frontend hierarchy below uses responsive px-based tokens.
   ========================================================= */
:root {
  --rpp-type-display: clamp(46px, 3.25vw, 72px);
  --rpp-type-h1: clamp(36px, 2.35vw, 54px);
  --rpp-type-h2: clamp(27px, 1.45vw, 36px);
  --rpp-type-h3: clamp(21px, 1vw, 27px);
  --rpp-type-body: clamp(17px, 0.3vw + 15px, 20px);
  --rpp-type-body-compact: clamp(16px, 0.22vw + 14px, 18px);
  --rpp-type-small: clamp(15px, 0.16vw + 13px, 17px);
  --rpp-type-label: clamp(13px, 0.12vw + 11px, 15px);
  --rpp-type-button: clamp(15px, 0.18vw + 13px, 17px);
}

/* Layout fallback: the app stays aligned with the shell even when the
   Bricks global stylesheet is being regenerated or cached. */
body .rpp-app:not(:has(> .rpp-day2)) {
  width: min(calc(100% - (2 * clamp(12px, 3.1vw, 64px))), 1600px);
  margin: clamp(16px, 1.5vw, 24px) auto clamp(24px, 2.2vw, 38px) !important;
  padding: clamp(26px, 2.55vw, 44px) !important;
  font-size: var(--rpp-type-body-compact) !important;
}

/* Top-level views. */
body .rpp-app .rpp-title {
  font-size: var(--rpp-type-display) !important;
  letter-spacing: -0.05em !important;
}
body .rpp-app .rpp-subtitle {
  font-size: var(--rpp-type-body) !important;
}
body .rpp-app .rpp-view-pill {
  font-size: var(--rpp-type-button) !important;
  padding: 10px 15px !important;
  min-height: 42px !important;
}
body .rpp-app .rpp-month {
  font-size: clamp(21px, 1vw, 27px) !important;
}
body .rpp-app .rpp-weekday {
  font-size: var(--rpp-type-label) !important;
}
body .rpp-app .rpp-btn {
  font-size: var(--rpp-type-button) !important;
  min-height: 46px !important;
  padding: 12px 16px !important;
}

/* Calendar. */
body .rpp-app .rpp-date {
  font-size: var(--rpp-type-body-compact) !important;
}
body .rpp-app .rpp-status {
  font-size: var(--rpp-type-small) !important;
}
body .rpp-app .rpp-status strong {
  font-size: 13px !important;
  min-height: 22px !important;
}
body .rpp-app .rpp-speaker {
  font-size: var(--rpp-type-body-compact) !important;
}
body .rpp-app .rpp-day .rpp-btn {
  font-size: var(--rpp-type-small) !important;
  min-height: 42px !important;
}

/* Production and review dashboards. */
body .rpp-app .rpp-dashboard-summary strong {
  font-size: clamp(32px, 1.5vw, 44px) !important;
}
body .rpp-app .rpp-dashboard-summary span,
body .rpp-app .rpp-work-meta {
  font-size: var(--rpp-type-body-compact) !important;
}
body .rpp-app .rpp-work-counts strong {
  font-size: var(--rpp-type-small) !important;
}
body .rpp-app .rpp-dashboard-queue-head h2 {
  font-size: var(--rpp-type-h2) !important;
}
body .rpp-app .rpp-dashboard-queue-head p {
  font-size: var(--rpp-type-body) !important;
}

/* Day workspace. */
body .rpp-app .rpp-day-workspace .rpp-back,
body .rpp-app .rpp-day-workspace .rpp-detail-card p,
body .rpp-app .rpp-day-workspace .rpp-checklist li,
body .rpp-app .rpp-day-workspace .rpp-link,
body .rpp-app .rpp-day-workspace .rpp-file-toolbar span,
body .rpp-app .rpp-day-workspace .rpp-file-main strong,
body .rpp-app .rpp-editor-admin span,
body .rpp-app .rpp-editor-assigned span,
body .rpp-app .rpp-disclosure-copy p:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-note-row {
  font-size: var(--rpp-type-body-compact) !important;
}
body .rpp-app .rpp-day-workspace .rpp-detail-kicker,
body .rpp-app .rpp-day-workspace .rpp-card-kicker,
body .rpp-app .rpp-command-stats span,
body .rpp-app .rpp-disclosure-side strong:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-day-workspace .rpp-section-heading > strong {
  font-size: var(--rpp-type-label) !important;
}
body .rpp-app .rpp-day-workspace .rpp-detail-hero h1:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: var(--rpp-type-display) !important;
}
body .rpp-app .rpp-day-workspace .rpp-detail-hero p:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-command-copy p {
  font-size: var(--rpp-type-body) !important;
}
body .rpp-app .rpp-day-workspace .rpp-detail-card h2,
body .rpp-app .rpp-command-copy h2 {
  font-size: var(--rpp-type-h2) !important;
}
body .rpp-app .rpp-disclosure-copy h2:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: var(--rpp-type-h3) !important;
}
body .rpp-app .rpp-day-workspace .rpp-file-main span,
body .rpp-app .rpp-day-workspace .rpp-file-main small,
body .rpp-app .rpp-day-workspace .rpp-timeline-row p,
body .rpp-app .rpp-day-workspace .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-day-workspace .rpp-file-download:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-day-workspace .rpp-file-restore:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-day-workspace .rpp-file-review:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: var(--rpp-type-small) !important;
}
body .rpp-app .rpp-editor-admin strong,
body .rpp-app .rpp-editor-assigned strong {
  font-size: clamp(20px, 0.55vw + 16px, 25px) !important;
}
body .rpp-app .rpp-editor-admin select {
  font-size: var(--rpp-type-body-compact) !important;
}

/* Modal text. */

@media (max-width: 680px) {
  :root {
    --rpp-type-display: clamp(40px, 10vw, 54px);
    --rpp-type-h1: clamp(33px, 8.3vw, 45px);
    --rpp-type-h2: clamp(25px, 6vw, 31px);
    --rpp-type-h3: clamp(21px, 5vw, 25px);
    --rpp-type-body: 17px;
    --rpp-type-body-compact: 16px;
    --rpp-type-small: 15px;
    --rpp-type-label: 13px;
    --rpp-type-button: 16px;
  }
  body .rpp-app:not(:has(> .rpp-day2)) {
    width: calc(100% - 24px);
    padding: 20px 14px 34px !important;
    border-radius: 20px !important;
  }
}

/* =========================================================
   v0.5.18 — Responsive rhythm system
   Purpose: retain strong readability without cramming cards on laptops.
   4K desktops gain breathing room; compact laptops reduce density through
   fewer columns rather than by shrinking text into microcopy.
   ========================================================= */
:root {
  --rpp-type-display: clamp(46px, 2.45vw, 68px);
  --rpp-type-h1: clamp(36px, 1.95vw, 52px);
  --rpp-type-h2: clamp(28px, 1.34vw, 36px);
  --rpp-type-h3: clamp(22px, 0.94vw, 27px);
  --rpp-type-body: clamp(18px, 0.26vw + 15px, 21px);
  --rpp-type-body-compact: clamp(16.5px, 0.2vw + 14px, 18.5px);
  --rpp-type-small: clamp(15.5px, 0.14vw + 13px, 17px);
  --rpp-type-label: clamp(14px, 0.1vw + 12px, 15.5px);
  --rpp-type-button: clamp(16px, 0.16vw + 14px, 17.5px);
  --rpp-space-1: clamp(8px, 0.42vw, 12px);
  --rpp-space-2: clamp(12px, 0.62vw, 17px);
  --rpp-space-3: clamp(17px, 0.88vw, 24px);
  --rpp-space-4: clamp(22px, 1.18vw, 32px);
  --rpp-space-5: clamp(28px, 1.55vw, 42px);
  --rpp-space-6: clamp(36px, 2vw, 54px);
  --rpp-card-radius: clamp(17px, 0.9vw, 23px);
}

/* Shared page rhythm. */
body .rpp-app:not(:has(> .rpp-day2)) {
  padding: clamp(26px, 1.75vw, 42px) !important;
}
body .rpp-app .rpp-shell:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: grid;
  gap: var(--rpp-space-4);
}
body .rpp-app .rpp-topbar {
  margin: 0 !important;
  gap: var(--rpp-space-3) !important;
}
body .rpp-app .rpp-title {
  line-height: 0.98 !important;
}
body .rpp-app .rpp-subtitle {
  margin-top: clamp(8px, 0.45vw, 13px) !important;
  max-width: 78ch;
  line-height: 1.55 !important;
}
body .rpp-app .rpp-glass,
body .rpp-app .rpp-detail-card,
body .rpp-app .rpp-work-card,
body .rpp-app .rpp-editor-tool,
body .rpp-app .rpp-editor-prompt {
  border-radius: var(--rpp-card-radius) !important;
}
body .rpp-app .rpp-btn {
  gap: 8px;
  min-height: 46px !important;
  padding: 12px 17px !important;
  line-height: 1.24 !important;
}

/* App switcher and toolbar must breathe on compact screens. */
body .rpp-app .rpp-view-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 10px !important;
}
body .rpp-app .rpp-view-pill {
  min-height: 42px !important;
  padding: 10px 16px !important;
}
body .rpp-app .rpp-toolbar {
  gap: var(--rpp-space-2) !important;
  margin: 0 !important;
  padding: clamp(14px, 0.78vw, 19px) !important;
  border-radius: var(--rpp-card-radius) !important;
}
body .rpp-app .rpp-toolbar-group {
  gap: 10px !important;
  flex-wrap: wrap;
}

/* Calendar: preserve readability by adapting columns, never by shrinking copy. */
body .rpp-app .rpp-grid {
  gap: clamp(12px, 0.72vw, 18px) !important;
}
body .rpp-app .rpp-day {
  min-height: clamp(205px, 10.5vw, 250px) !important;
  gap: 13px !important;
  padding: clamp(17px, 0.92vw, 23px) !important;
  border-radius: var(--rpp-card-radius) !important;
}
body .rpp-app .rpp-date {
  font-size: clamp(17px, 0.22vw + 14px, 19px) !important;
}
body .rpp-app .rpp-status {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  padding: 9px 12px !important;
  line-height: 1.22 !important;
}
body .rpp-app .rpp-status strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px !important;
  padding: 3px 7px !important;
  font-size: 13.5px !important;
}
body .rpp-app .rpp-speaker {
  line-height: 1.5 !important;
}
body .rpp-app .rpp-day-actions {
  gap: 9px !important;
  padding-top: 3px;
}
body .rpp-app .rpp-day .rpp-btn {
  min-height: 43px !important;
  padding: 10px 14px !important;
}

/* Production / review dashboard queue. */
body .rpp-app .rpp-dashboard-shell {
  gap: var(--rpp-space-4) !important;
}
body .rpp-app .rpp-dashboard-queue-head {
  align-items: end;
  gap: var(--rpp-space-3) !important;
  margin: clamp(22px, 1.25vw, 34px) 0 0 !important;
}
body .rpp-app .rpp-dashboard-queue-head h2 {
  margin: 5px 0 7px !important;
  line-height: 1.08 !important;
}
body .rpp-app .rpp-dashboard-queue-head p {
  max-width: 66ch;
}
body .rpp-app .rpp-dashboard-summary {
  gap: 10px !important;
  min-width: 150px !important;
  padding: 16px 19px !important;
  border-radius: 18px !important;
}
body .rpp-app .rpp-work-grid {
  gap: var(--rpp-space-3) !important;
}
body .rpp-app .rpp-work-card {
  gap: 14px !important;
  padding: clamp(18px, 1vw, 25px) !important;
  border-radius: var(--rpp-card-radius) !important;
}

/* Day workspace: sections should read as a calm vertical narrative. */
body .rpp-app .rpp-day-workspace-simple {
  gap: var(--rpp-space-3) !important;
}
body .rpp-app .rpp-detail-hero:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-command-card:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-editor-admin,
body .rpp-app .rpp-editor-assigned,
body .rpp-app .rpp-disclosure:where(:not(.rpp-day2, .rpp-day2 *)) {
  padding: clamp(18px, 1.15vw, 30px) !important;
  border-radius: var(--rpp-card-radius) !important;
}
body .rpp-app .rpp-detail-hero h1:where(:not(.rpp-day2, .rpp-day2 *)) {
  margin: 6px 0 8px !important;
}
body .rpp-app .rpp-command-card:where(:not(.rpp-day2, .rpp-day2 *)) {
  gap: var(--rpp-space-3) !important;
}
body .rpp-app .rpp-command-stats {
  gap: 10px !important;
}
body .rpp-app .rpp-command-stats > div {
  min-width: 84px !important;
  padding: 13px 12px !important;
}
body .rpp-app .rpp-disclosure summary:where(:not(.rpp-day2, .rpp-day2 *)) {
  gap: 14px !important;
  padding: 0 !important;
}
body .rpp-app .rpp-disclosure-body:where(:not(.rpp-day2, .rpp-day2 *)) {
  padding-top: var(--rpp-space-3) !important;
}

/* Responsive column strategy. */
@media (max-width: 1660px) {
  body .rpp-app .rpp-work-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 1320px) {
  body .rpp-app:not(:has(> .rpp-day2)) {
    padding: clamp(22px, 2vw, 32px) !important;
  }
  body .rpp-app .rpp-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  body .rpp-app .rpp-weekday {
    display: none !important;
  }
  body .rpp-app .rpp-day-empty {
    display: none !important;
  }
  body .rpp-app .rpp-command-card:where(:not(.rpp-day2, .rpp-day2 *)) {
    align-items: stretch !important;
    flex-direction: column !important;
  }
  body .rpp-app .rpp-command-stats {
    justify-content: flex-start !important;
  }
}
@media (max-width: 960px) {
  body .rpp-app .rpp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body .rpp-app .rpp-dashboard-queue-head {
    align-items: stretch;
    flex-direction: column;
  }
  body .rpp-app .rpp-dashboard-summary {
    width: 100% !important;
  }
  body .rpp-app .rpp-work-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 680px) {
  :root {
    --rpp-type-display: clamp(39px, 10vw, 52px);
    --rpp-type-h1: clamp(33px, 8vw, 43px);
    --rpp-type-h2: clamp(25px, 6vw, 31px);
    --rpp-type-h3: clamp(21px, 5vw, 25px);
    --rpp-type-body: 17px;
    --rpp-type-body-compact: 16px;
    --rpp-type-small: 15px;
    --rpp-type-label: 13px;
    --rpp-type-button: 16px;
  }
  body .rpp-app:not(:has(> .rpp-day2)) {
    width: calc(100% - 24px);
    padding: 20px 14px 32px !important;
  }
  body .rpp-app .rpp-shell:where(:not(.rpp-day2, .rpp-day2 *)) {
    gap: 18px;
  }
  body .rpp-app .rpp-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body .rpp-app .rpp-day {
    min-height: auto !important;
    padding: 16px !important;
  }
  body .rpp-app .rpp-command-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body .rpp-app .rpp-command-stats > div {
    min-width: 0 !important;
  }
}

/* =========================================================
   v0.5.19 — Frontend density, calendar and proportional icon polish
   Keeps the large readable scale introduced in v0.5.17–0.5.18,
   but gives every component enough room at its actual breakpoint.
   ========================================================= */

/* ---------------------------------------------------------
   Calendar: preserve a real calendar on very wide screens,
   then switch to spacious operational cards before content cramps.
   --------------------------------------------------------- */
body .rpp-app .rpp-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: clamp(14px, 0.78vw, 20px) !important;
}
body .rpp-app .rpp-day {
  min-height: clamp(220px, 11.4vw, 270px) !important;
  gap: clamp(12px, 0.62vw, 16px) !important;
  padding: clamp(18px, 0.98vw, 25px) !important;
}
body .rpp-app .rpp-date {
  font-size: clamp(17px, 0.22vw + 14px, 20px) !important;
  line-height: 1.24 !important;
}
body .rpp-app .rpp-status {
  gap: 7px !important;
  padding: 9px 12px !important;
  font-size: clamp(15px, 0.15vw + 12px, 17px) !important;
  line-height: 1.2 !important;
}
body .rpp-app .rpp-status strong {
  min-height: 24px !important;
  padding: 3px 7px !important;
  font-size: 13.5px !important;
  line-height: 1 !important;
}
body .rpp-app .rpp-speaker,
body .rpp-app .rpp-raw-count,
body .rpp-app .rpp-final-count {
  font-size: clamp(16px, 0.16vw + 13px, 18px) !important;
  line-height: 1.46 !important;
}
body .rpp-app .rpp-day-actions {
  gap: 9px !important;
  padding-top: 5px !important;
}
body .rpp-app .rpp-day .rpp-btn {
  min-height: 44px !important;
  padding: 10px 14px !important;
  font-size: clamp(15px, 0.12vw + 13px, 17px) !important;
  line-height: 1.22 !important;
}

/* At laptop and normal desktop widths a 7-column layout becomes cramped.
   Keep weekday alignment only where there is genuinely enough room. */
@media (max-width: 1950px) {
  body .rpp-app .rpp-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  body .rpp-app .rpp-weekday {
    display: none !important;
  }
  body .rpp-app .rpp-day-empty {
    display: none !important;
  }
  body .rpp-app .rpp-day {
    min-height: clamp(205px, 13vw, 245px) !important;
  }
}
@media (max-width: 1380px) {
  body .rpp-app .rpp-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 980px) {
  body .rpp-app .rpp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 680px) {
  body .rpp-app .rpp-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body .rpp-app .rpp-day {
    min-height: auto !important;
    padding: 16px !important;
    gap: 11px !important;
  }
  body .rpp-app .rpp-day .rpp-btn {
    min-height: 44px !important;
    font-size: 16px !important;
  }
}

/* ---------------------------------------------------------
   Day workspace: all operational buttons use the same readable scale.
   --------------------------------------------------------- */
body .rpp-app .rpp-day-workspace .rpp-command-actions .rpp-btn,
body .rpp-app .rpp-day-workspace .rpp-detail-actions .rpp-btn:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-day-workspace .rpp-btn-large,
body .rpp-app .rpp-day-workspace .rpp-btn-final-upload:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-day-workspace .rpp-btn-reopen:where(:not(.rpp-day2, .rpp-day2 *)) {
  min-height: 50px !important;
  padding: 13px 18px !important;
  border-radius: 12px !important;
  font-size: clamp(16px, 0.16vw + 14px, 18px) !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
}

/* Workflow labels must be readable instead of miniature metadata. */
body .rpp-app .rpp-day-workspace .rpp-flow {
  overflow-x: auto !important;
  padding: clamp(15px, 0.82vw, 20px) !important;
}
body .rpp-app .rpp-day-workspace .rpp-flow-track {
  min-width: 1050px;
  gap: clamp(7px, 0.42vw, 11px) !important;
}
body .rpp-app .rpp-day-workspace .rpp-flow-head {
  margin-bottom: 13px !important;
  font-size: clamp(17px, 0.18vw + 14px, 19px) !important;
}
body .rpp-app .rpp-day-workspace .rpp-flow-step span {
  min-height: 8px !important;
}
body .rpp-app .rpp-day-workspace .rpp-flow-step small {
  display: block !important;
  overflow: visible !important;
  min-height: 34px;
  margin-top: 7px !important;
  font-size: clamp(12px, 0.1vw + 10px, 14px) !important;
  font-weight: 760 !important;
  line-height: 1.24 !important;
  text-overflow: clip !important;
  white-space: normal !important;
}

/* Checklist icons and text scale together. */
body .rpp-app .rpp-day-workspace .rpp-checklist {
  gap: clamp(11px, 0.58vw, 15px) !important;
}
body .rpp-app .rpp-day-workspace .rpp-checklist li {
  gap: 11px !important;
  font-size: clamp(16px, 0.16vw + 14px, 18px) !important;
  line-height: 1.52 !important;
}
body .rpp-app .rpp-day-workspace .rpp-checklist li span {
  width: clamp(28px, 1.45vw, 34px) !important;
  height: clamp(28px, 1.45vw, 34px) !important;
  flex: 0 0 clamp(28px, 1.45vw, 34px) !important;
  font-size: clamp(15px, 0.72vw, 18px) !important;
  line-height: 1 !important;
}

/* ---------------------------------------------------------
   Production toolkit: țintele de pe telefon (iconițele proporționale au ieșit în curățenia 0.16).
   --------------------------------------------------------- */

@media (max-width: 680px) {
  body .rpp-app .rpp-day-workspace .rpp-command-actions .rpp-btn,
  body .rpp-app .rpp-day-workspace .rpp-detail-actions .rpp-btn:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-btn-large {
    min-height: 46px !important;
    padding: 11px 14px !important;
    font-size: 16px !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-track {
    min-width: 860px;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-step small {
    font-size: 12px !important;
    min-height: 30px;
  }
}

/* =========================================================
   v0.5.20 — Calendar density correction
   The calendar is an operational overview, not a squeezed
   seven-column wall. Cards choose their count from the
   available content rail and remain readable at every size.
   ========================================================= */

/* Hide artificial alignment cells and weekday row once the
   cards become responsive. The date remains explicit in every card. */
body .rpp-app .rpp-weekday,
body .rpp-app .rpp-day-empty {
  display: none !important;
}

/* Responsive card grid driven by available width. */
body .rpp-app .rpp-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)) !important;
  gap: clamp(16px, 1.05vw, 24px) !important;
  align-items: stretch !important;
}

body .rpp-app .rpp-day {
  min-height: clamp(228px, 12vw, 286px) !important;
  padding: clamp(18px, 1.05vw, 25px) !important;
  gap: clamp(11px, 0.62vw, 15px) !important;
  border-radius: clamp(18px, 0.95vw, 23px) !important;
}

body .rpp-app .rpp-date {
  font-size: clamp(17px, 0.16vw + 14px, 19px) !important;
  line-height: 1.22 !important;
}

body .rpp-app .rpp-status {
  width: max-content !important;
  max-width: 100% !important;
  gap: 7px !important;
  padding: 8px 11px !important;
  font-size: clamp(14px, 0.1vw + 12px, 16px) !important;
  line-height: 1.22 !important;
  white-space: normal !important;
}

body .rpp-app .rpp-status strong {
  min-height: 22px !important;
  padding: 3px 7px !important;
  font-size: 13px !important;
  line-height: 1 !important;
}

body .rpp-app .rpp-speaker,
body .rpp-app .rpp-raw-count,
body .rpp-app .rpp-final-count {
  font-size: clamp(15px, 0.12vw + 13px, 17px) !important;
  line-height: 1.45 !important;
}

body .rpp-app .rpp-day-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  gap: 8px !important;
  padding-top: 5px !important;
}

body .rpp-app .rpp-day .rpp-btn {
  min-height: 42px !important;
  max-width: 100% !important;
  padding: 9px 13px !important;
  border-radius: 11px !important;
  font-size: clamp(14px, 0.1vw + 12px, 16px) !important;
  line-height: 1.18 !important;
  white-space: normal !important;
}

/* Prefer four calm columns on ordinary desktop rails, while
   allowing additional columns only when cards genuinely fit. */
@media (min-width: 1500px) {
  body .rpp-app .rpp-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  }
}

@media (max-width: 920px) {
  body .rpp-app .rpp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }
  body .rpp-app .rpp-day {
    min-height: 220px !important;
    padding: 17px !important;
  }
}

@media (max-width: 620px) {
  body .rpp-app .rpp-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  body .rpp-app .rpp-day {
    min-height: auto !important;
    padding: 16px !important;
    gap: 10px !important;
  }
  body .rpp-app .rpp-day-actions {
    gap: 7px !important;
  }
  body .rpp-app .rpp-day .rpp-btn {
    min-height: 42px !important;
    font-size: 15px !important;
  }
}

/* =========================================================
   v0.5.21 — Fine weekday labels inside responsive calendar cards
   Each card keeps its explicit date and gains a restrained,
   locale-aware Romanian weekday label for faster scanning.
   ========================================================= */
body .rpp-app .rpp-day-heading {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
}
body .rpp-app .rpp-day-weekday {
  display: block !important;
  color: var(--rpp-muted-soft) !important;
  font-size: clamp(11px, 0.08vw + 10px, 13px) !important;
  font-weight: 840 !important;
  letter-spacing: 0.14em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-day-weekday,
body.rpp-theme-dark .rpp-app .rpp-day-weekday {
  color: rgba(203, 214, 235, 0.72) !important;
}
@media (max-width: 620px) {
  body .rpp-app .rpp-day-heading {
    gap: 4px !important;
  }
  body .rpp-app .rpp-day-weekday {
    font-size: 11px !important;
    letter-spacing: 0.13em !important;
  }
}

/* =========================================================
   v0.5.22 — Mobile density correction + editorial flow repair
   Mobile screens need a compact operational hierarchy. The complete
   nine-stage flow is rendered as a readable 3 × 3 matrix instead of
   an 860px horizontal strip hidden inside a narrow viewport.
   ========================================================= */
@media (max-width: 680px) {
  :root {
    --rpp-type-display: clamp(2.05rem, 9vw, 2.72rem);
    --rpp-type-h1: clamp(1.82rem, 7.8vw, 2.32rem);
    --rpp-type-h2: clamp(1.42rem, 5.8vw, 1.78rem);
    --rpp-type-h3: clamp(1.2rem, 4.8vw, 1.46rem);
    --rpp-type-body: 0.96rem;
    --rpp-type-body-compact: 0.9rem;
    --rpp-type-small: 0.82rem;
    --rpp-type-label: 0.72rem;
    --rpp-type-button: 0.9rem;
  }

  body .rpp-app:not(:has(> .rpp-day2)) {
    width: calc(100% - 1.5rem) !important;
    padding: 1rem 0.82rem 1.55rem !important;
    border-radius: 1.05rem !important;
  }
  body .rpp-app .rpp-shell:where(:not(.rpp-day2, .rpp-day2 *)) {
    gap: 0.9rem !important;
  }
  body .rpp-app .rpp-title {
    font-size: clamp(2.15rem, 9.4vw, 2.82rem) !important;
  }
  body .rpp-app .rpp-subtitle {
    font-size: 0.94rem !important;
    line-height: 1.5 !important;
  }
  body .rpp-app .rpp-view-pill {
    font-size: 0.87rem !important;
    padding: 0.66rem 0.82rem !important;
  }
  body .rpp-app .rpp-btn {
    font-size: 0.88rem !important;
    min-height: 2.72rem !important;
    padding: 0.7rem 0.84rem !important;
  }

  body .rpp-app .rpp-day {
    padding: 0.9rem !important;
    gap: 0.58rem !important;
    border-radius: 1rem !important;
  }
  body .rpp-app .rpp-date {
    font-size: 0.96rem !important;
  }
  body .rpp-app .rpp-day-weekday {
    font-size: 0.66rem !important;
  }
  body .rpp-app .rpp-status {
    font-size: 0.82rem !important;
    padding: 0.48rem 0.64rem !important;
  }
  body .rpp-app .rpp-status strong {
    min-height: 1.22rem !important;
    padding: 0.16rem 0.38rem !important;
    font-size: 0.69rem !important;
  }
  body .rpp-app .rpp-speaker,
  body .rpp-app .rpp-raw-count,
  body .rpp-app .rpp-final-count {
    font-size: 0.88rem !important;
  }
  body .rpp-app .rpp-day .rpp-btn {
    min-height: 2.55rem !important;
    font-size: 0.86rem !important;
    padding: 0.62rem 0.72rem !important;
  }

  body .rpp-app .rpp-day-workspace {
    gap: 0.78rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-back {
    font-size: 0.88rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-hero:where(:not(.rpp-day2, .rpp-day2 *)) {
    padding: 1rem !important;
    border-radius: 1.05rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-hero h1:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: clamp(2.12rem, 9.3vw, 2.78rem) !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-hero p:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 0.94rem !important;
    line-height: 1.52 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-card {
    padding: 0.94rem !important;
    border-radius: 1.02rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-card h2 {
    font-size: 1.42rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-card p,
  body .rpp-app .rpp-day-workspace .rpp-checklist li {
    font-size: 0.9rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-command-actions .rpp-btn,
  body .rpp-app .rpp-day-workspace .rpp-detail-actions .rpp-btn:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-btn-large,
  body .rpp-app .rpp-day-workspace .rpp-btn-final-upload:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-btn-reopen:where(:not(.rpp-day2, .rpp-day2 *)) {
    min-height: 2.72rem !important;
    padding: 0.7rem 0.84rem !important;
    border-radius: 0.68rem !important;
    font-size: 0.88rem !important;
  }

  body .rpp-app .rpp-day-workspace .rpp-flow {
    overflow: visible !important;
    padding: 0.88rem !important;
    border-radius: 1rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-head {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 0.36rem 0.7rem !important;
    margin-bottom: 0.78rem !important;
    font-size: 0.92rem !important;
    line-height: 1.35 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-track {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    min-width: 0 !important;
    gap: 0.78rem 0.48rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-step {
    display: grid !important;
    align-content: start !important;
    min-width: 0 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-step span {
    min-height: 0.38rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-step small {
    display: block !important;
    min-height: 0 !important;
    margin-top: 0.34rem !important;
    overflow: visible !important;
    color: var(--rpp-muted-soft) !important;
    font-size: 0.66rem !important;
    font-weight: 760 !important;
    line-height: 1.22 !important;
    text-align: center !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-step.is-active small {
    color: var(--rpp-text) !important;
  }

  body .rpp-app .rpp-file-main strong {
    font-size: 0.88rem !important;
  }
  body .rpp-app .rpp-file-main span,
  body .rpp-app .rpp-file-main small,
  body .rpp-app .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-file-download:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-file-restore:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-file-review:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 0.76rem !important;
  }
  body .rpp-app .rpp-timeline-row strong {
    font-size: 0.88rem !important;
  }
  body .rpp-app .rpp-timeline-row p {
    font-size: 0.8rem !important;
  }
  body .rpp-app .rpp-timeline-row small {
    font-size: 0.74rem !important;
  }
}

/* =========================================================
   v0.5.23 — Calendar reservation position + mobile card readability
   Reservation refreshes preserve the clicked card's viewport position in
   JavaScript. These scoped mobile overrides increase only the copy inside
   calendar day cards without enlarging the rest of the mobile application.
   ========================================================= */
@media (max-width: 620px) {
  body .rpp-app .rpp-day {
    gap: 0.66rem !important;
    padding: 1rem !important;
  }
  body .rpp-app .rpp-day-weekday {
    font-size: 0.72rem !important;
    letter-spacing: 0.125em !important;
  }
  body .rpp-app .rpp-date {
    font-size: 1.08rem !important;
    line-height: 1.24 !important;
  }
  body .rpp-app .rpp-status {
    gap: 0.42rem !important;
    padding: 0.52rem 0.7rem !important;
    font-size: 0.9rem !important;
    line-height: 1.24 !important;
  }
  body .rpp-app .rpp-status strong {
    min-height: 1.28rem !important;
    padding: 0.18rem 0.42rem !important;
    font-size: 0.74rem !important;
  }
  body .rpp-app .rpp-speaker,
  body .rpp-app .rpp-raw-count,
  body .rpp-app .rpp-final-count {
    font-size: 0.96rem !important;
    line-height: 1.48 !important;
  }
  body .rpp-app .rpp-day .rpp-btn {
    min-height: 2.62rem !important;
    padding: 0.66rem 0.78rem !important;
    font-size: 0.92rem !important;
  }
}

/* =========================================================
   v0.5.24 — Mobile application readability refinement
   Increase frontend application copy by a restrained step on phones,
   while preserving desktop sizing, calendar density and the compact
   3 × 3 editorial workflow matrix introduced in v0.5.22.
   ========================================================= */
@media (max-width: 680px) {
  :root {
    --rpp-type-body: 1rem;
    --rpp-type-body-compact: 0.95rem;
    --rpp-type-small: 0.86rem;
    --rpp-type-label: 0.75rem;
    --rpp-type-button: 0.94rem;
  }

  body .rpp-app .rpp-subtitle {
    font-size: 1rem !important;
    line-height: 1.54 !important;
  }
  body .rpp-app .rpp-view-pill {
    font-size: 0.92rem !important;
    padding: 0.69rem 0.86rem !important;
  }
  body .rpp-app .rpp-btn {
    min-height: 2.82rem !important;
    padding: 0.74rem 0.88rem !important;
    font-size: 0.94rem !important;
    line-height: 1.22 !important;
  }
  body .rpp-app .rpp-message,
  body .rpp-app .rpp-empty-state,
  body .rpp-app .rpp-dashboard-empty {
    font-size: 0.96rem !important;
    line-height: 1.5 !important;
  }

  body .rpp-app .rpp-day-workspace .rpp-back {
    font-size: 0.94rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-hero p:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 1rem !important;
    line-height: 1.56 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-card p,
  body .rpp-app .rpp-day-workspace .rpp-checklist li {
    font-size: 0.96rem !important;
    line-height: 1.5 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-command-actions .rpp-btn,
  body .rpp-app .rpp-day-workspace .rpp-detail-actions .rpp-btn:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-btn-large,
  body .rpp-app .rpp-day-workspace .rpp-btn-final-upload:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-btn-reopen:where(:not(.rpp-day2, .rpp-day2 *)) {
    min-height: 2.86rem !important;
    padding: 0.74rem 0.9rem !important;
    font-size: 0.94rem !important;
  }

  body .rpp-app .rpp-day-workspace .rpp-flow-head {
    font-size: 0.98rem !important;
    line-height: 1.38 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-step small {
    margin-top: 0.38rem !important;
    font-size: 0.71rem !important;
    line-height: 1.24 !important;
  }

  body .rpp-app .rpp-file-main strong {
    font-size: 0.94rem !important;
  }
  body .rpp-app .rpp-file-main span,
  body .rpp-app .rpp-file-main small,
  body .rpp-app .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-file-download:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-file-restore:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-file-review:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 0.81rem !important;
    line-height: 1.35 !important;
  }
  body .rpp-app .rpp-timeline-row strong {
    font-size: 0.94rem !important;
  }
  body .rpp-app .rpp-timeline-row p {
    font-size: 0.86rem !important;
    line-height: 1.46 !important;
  }
  body .rpp-app .rpp-timeline-row small {
    font-size: 0.79rem !important;
  }
}

/* =========================================================
   v0.5.25 — Robust mobile application typography scale
   Use the tablet/mobile breakpoint rather than only the narrow-phone
   breakpoint. This keeps desktop untouched while making application text
   visibly more legible on phones whose effective viewport or browser zoom
   prevents the <=680px rules from becoming the winning cascade layer.
   ========================================================= */
@media (max-width: 980px) {
  body .rpp-app {
    --rpp-type-body: 1.07rem;
    --rpp-type-body-compact: 1rem;
    --rpp-type-small: 0.91rem;
    --rpp-type-label: 0.8rem;
    --rpp-type-button: 1rem;
  }

  body .rpp-app .rpp-subtitle {
    font-size: 1.06rem !important;
    line-height: 1.56 !important;
  }
  body .rpp-app .rpp-view-pill {
    font-size: 0.98rem !important;
    padding: 0.72rem 0.9rem !important;
  }
  body .rpp-app .rpp-btn {
    min-height: 2.92rem !important;
    padding: 0.78rem 0.94rem !important;
    font-size: 1rem !important;
    line-height: 1.24 !important;
  }
  body .rpp-app .rpp-message,
  body .rpp-app .rpp-empty-state,
  body .rpp-app .rpp-dashboard-empty,
  body .rpp-app .rpp-work-meta,
  body .rpp-app .rpp-note-row,
  body .rpp-app .rpp-disclosure-copy p:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 1rem !important;
    line-height: 1.54 !important;
  }

  body .rpp-app .rpp-weekday {
    font-size: 0.8rem !important;
  }
  body .rpp-app .rpp-day-weekday {
    font-size: 0.78rem !important;
    line-height: 1.24 !important;
  }
  body .rpp-app .rpp-date {
    font-size: 1.12rem !important;
    line-height: 1.26 !important;
  }
  body .rpp-app .rpp-status {
    font-size: 0.94rem !important;
    line-height: 1.26 !important;
  }
  body .rpp-app .rpp-status strong {
    font-size: 0.8rem !important;
  }
  body .rpp-app .rpp-speaker,
  body .rpp-app .rpp-raw-count,
  body .rpp-app .rpp-final-count {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }
  body .rpp-app .rpp-day .rpp-btn {
    min-height: 2.75rem !important;
    padding: 0.7rem 0.82rem !important;
    font-size: 0.98rem !important;
  }

  body .rpp-app .rpp-day-workspace .rpp-back {
    font-size: 1rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-hero p:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-detail-card p,
  body .rpp-app .rpp-day-workspace .rpp-checklist li {
    font-size: 1.03rem !important;
    line-height: 1.56 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-command-actions .rpp-btn,
  body .rpp-app .rpp-day-workspace .rpp-detail-actions .rpp-btn:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-btn-large,
  body .rpp-app .rpp-day-workspace .rpp-btn-final-upload:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-btn-reopen:where(:not(.rpp-day2, .rpp-day2 *)) {
    min-height: 2.96rem !important;
    padding: 0.78rem 0.94rem !important;
    font-size: 1rem !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-head {
    font-size: 1.03rem !important;
    line-height: 1.4 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-step small {
    font-size: 0.76rem !important;
    line-height: 1.28 !important;
  }

  body .rpp-app .rpp-file-main strong {
    font-size: 1rem !important;
  }
  body .rpp-app .rpp-file-main span,
  body .rpp-app .rpp-file-main small,
  body .rpp-app .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-file-download:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-file-restore:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-file-review:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 0.87rem !important;
    line-height: 1.38 !important;
  }
  body .rpp-app .rpp-timeline-row strong {
    font-size: 1rem !important;
  }
  body .rpp-app .rpp-timeline-row p {
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
  }
  body .rpp-app .rpp-timeline-row small {
    font-size: 0.84rem !important;
  }

  body .rpp-app .rpp-dashboard-summary span,
  body .rpp-app .rpp-dashboard-queue-head p,
  body .rpp-app .rpp-editor-toolkit p,
  body .rpp-app .rpp-editor-tool p,
  body .rpp-app .rpp-editor-editors p,
  body .rpp-app .rpp-editor-editor-links strong,
  body .rpp-app .rpp-editor-prompt em {
    font-size: 1rem !important;
    line-height: 1.56 !important;
  }
  body .rpp-app .rpp-card-kicker,
  body .rpp-app .rpp-editor-step,
  body .rpp-app .rpp-editor-tool small,
  body .rpp-app .rpp-editor-prompt small,
  body .rpp-app .rpp-work-counts strong {
    font-size: 0.82rem !important;
    line-height: 1.4 !important;
  }
  /* v0.15.0: insulele noi [data-bd] au mărimile din design-system (17 px pe ecranele tactile). */
  body .rpp-app .rpp-editor-prompt textarea,
  body .rpp-app input:where(:not(.rpp-app [data-bd], .rpp-app [data-bd] *)),
  body .rpp-app select:where(:not(.rpp-app [data-bd], .rpp-app [data-bd] *)),
  body .rpp-app textarea:where(:not(.rpp-app [data-bd], .rpp-app [data-bd] *)) {
    font-size: 1rem !important;
  }
}

/* =========================================================
   v0.5.26 — Mobile px typography + full-width operational cards
   Bricks can reduce the root rem scale. Mobile application sizing must
   therefore use px values so readability stays deterministic. Calendar
   cards also use the complete horizontal rail instead of stacking all
   content into a narrow left column with unused space.
   ========================================================= */
@media (max-width: 980px) {
  body .rpp-app {
    --rpp-mobile-body: 18px;
    --rpp-mobile-body-compact: 17px;
    --rpp-mobile-small: 16px;
    --rpp-mobile-label: 14px;
    --rpp-mobile-button: 17px;
    font-size: var(--rpp-mobile-body-compact) !important;
    line-height: 1.58 !important;
  }

  /* Shared mobile application typography. */
  body .rpp-app .rpp-title {
    font-size: clamp(38px, 8.8vw, 52px) !important;
    line-height: 1 !important;
  }
  body .rpp-app .rpp-subtitle {
    font-size: var(--rpp-mobile-body) !important;
    line-height: 1.55 !important;
  }
  body .rpp-app .rpp-month {
    font-size: 23px !important;
    line-height: 1.18 !important;
  }
  body .rpp-app .rpp-view-pill,
  body .rpp-app .rpp-btn {
    font-size: var(--rpp-mobile-button) !important;
    line-height: 1.22 !important;
  }
  body .rpp-app .rpp-view-pill {
    min-height: 44px !important;
    padding: 11px 15px !important;
  }
  body .rpp-app .rpp-btn {
    min-height: 48px !important;
    padding: 13px 16px !important;
  }
  body .rpp-app .rpp-message,
  body .rpp-app .rpp-loading,
  body .rpp-app .rpp-auth-card,
  body .rpp-app .rpp-empty-state,
  body .rpp-app .rpp-dashboard-empty,
  body .rpp-app .rpp-work-meta,
  body .rpp-app .rpp-note-row,
  body .rpp-app .rpp-disclosure-copy p:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: var(--rpp-mobile-body-compact) !important;
    line-height: 1.58 !important;
  }

  /* Day workspace typography. */
  body .rpp-app .rpp-day-workspace .rpp-back {
    font-size: var(--rpp-mobile-body-compact) !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-kicker,
  body .rpp-app .rpp-day-workspace .rpp-card-kicker,
  body .rpp-app .rpp-card-kicker,
  body .rpp-app .rpp-editor-step,
  body .rpp-app .rpp-editor-tool small,
  body .rpp-app .rpp-editor-prompt small,
  body .rpp-app .rpp-work-counts strong {
    font-size: var(--rpp-mobile-label) !important;
    line-height: 1.38 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-hero h1:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: clamp(38px, 9vw, 52px) !important;
    line-height: 1 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-hero p:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-command-copy p,
  body .rpp-app .rpp-editor-toolkit p {
    font-size: var(--rpp-mobile-body) !important;
    line-height: 1.58 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-card h2,
  body .rpp-app .rpp-command-copy h2,
  body .rpp-app .rpp-dashboard-queue-head h2 {
    font-size: 28px !important;
    line-height: 1.12 !important;
  }
  body .rpp-app .rpp-disclosure-copy h2:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-editor-tool h3 {
    font-size: 23px !important;
    line-height: 1.15 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-detail-card p,
  body .rpp-app .rpp-day-workspace .rpp-checklist li,
  body .rpp-app .rpp-day-workspace .rpp-link,
  body .rpp-app .rpp-day-workspace .rpp-file-toolbar span,
  body .rpp-app .rpp-day-workspace .rpp-file-main strong,
  body .rpp-app .rpp-day-workspace .rpp-timeline-row strong,
  body .rpp-app .rpp-editor-tool p,
  body .rpp-app .rpp-editor-tool b,
  body .rpp-app .rpp-editor-editors p,
  body .rpp-app .rpp-editor-editor-links strong,
  body .rpp-app .rpp-editor-prompt em,
  body .rpp-app .rpp-dashboard-summary span,
  body .rpp-app .rpp-dashboard-queue-head p {
    font-size: var(--rpp-mobile-body-compact) !important;
    line-height: 1.58 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-file-main span,
  body .rpp-app .rpp-day-workspace .rpp-file-main small,
  body .rpp-app .rpp-day-workspace .rpp-timeline-row p,
  body .rpp-app .rpp-day-workspace .rpp-timeline-row small,
  body .rpp-app .rpp-day-workspace .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-download:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-restore:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-review:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-editor-editor-links small {
    font-size: var(--rpp-mobile-small) !important;
    line-height: 1.48 !important;
  }
  body .rpp-app input:where(:not(.rpp-app [data-bd], .rpp-app [data-bd] *)),
  body .rpp-app select:where(:not(.rpp-app [data-bd], .rpp-app [data-bd] *)),
  body .rpp-app textarea:where(:not(.rpp-app [data-bd], .rpp-app [data-bd] *)) {
    font-size: 17px !important;
  }

  /* Editorial flow remains compact but readable. */
  body .rpp-app .rpp-day-workspace .rpp-flow-head {
    font-size: 17px !important;
    line-height: 1.4 !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-flow-step small {
    font-size: 13px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 680px) {
  /* Keep the application close to the mobile shell rails. */
  body .rpp-app:not(:has(> .rpp-day2)) {
    width: calc(100% - 1.5rem) !important;
    padding: 18px 12px 30px !important;
    border-radius: 18px !important;
  }
  body .rpp-app .rpp-shell:where(:not(.rpp-day2, .rpp-day2 *)) {
    gap: 16px !important;
  }
  body .rpp-app .rpp-toolbar {
    padding: 14px !important;
    gap: 12px !important;
  }

  /* Calendar cards use the full horizontal space intelligently. */
  body .rpp-app .rpp-grid {
    grid-template-columns: 1fr !important;
    gap: 13px !important;
  }
  body .rpp-app .rpp-day {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      'heading status'
      'speaker speaker'
      'raw final'
      'actions actions' !important;
    align-items: start !important;
    min-height: 0 !important;
    gap: 14px 12px !important;
    padding: 18px !important;
    border-radius: 17px !important;
  }
  body .rpp-app .rpp-day-heading {
    grid-area: heading !important;
    gap: 5px !important;
    align-self: center !important;
  }
  body .rpp-app .rpp-day-weekday {
    font-size: 14px !important;
    letter-spacing: 0.12em !important;
    line-height: 1.05 !important;
  }
  body .rpp-app .rpp-date {
    font-size: 20px !important;
    line-height: 1.16 !important;
  }
  /* v0.7.4: regulile grid-area de mai jos sunt SCOPATE la cardul de calendar .rpp-day (singurul
     cu grid-template-areas). Nescopate, loveau și .rpp-work-card din Montaj/Aprobare, unde
     grid-area inexistentă crea o coloană fantomă: cardul căpăta min-width ~526px pe orice
     telefon, iar butoanele «Preia editarea»/«Aprobă»/«Solicită corecții» ieșeau din ecran. */
  body .rpp-app .rpp-day .rpp-status {
    grid-area: status !important;
    justify-self: end !important;
    align-self: start !important;
    gap: 6px !important;
    padding: 9px 11px !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }
  body .rpp-app .rpp-day .rpp-status strong {
    min-height: 23px !important;
    padding: 3px 7px !important;
    font-size: 13px !important;
  }
  body .rpp-app .rpp-day .rpp-speaker {
    grid-area: speaker !important;
    font-size: 17px !important;
    line-height: 1.48 !important;
  }
  body .rpp-app .rpp-day .rpp-day-actions {
    grid-area: actions !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr)) !important;
    gap: 9px !important;
    width: 100% !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body .rpp-app .rpp-day-actions .rpp-btn {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
  }
  /* v0.7.4: cardurile din Montaj/Aprobare — coloană unică ce se poate strânge + fără nowrap
     pe meta (numele lungi nu mai împing cardul în afara ecranului). */
  body .rpp-app .rpp-work-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body .rpp-app .rpp-work-card-top {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  body .rpp-app .rpp-work-card .rpp-day-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    width: 100% !important;
  }
  body .rpp-app .rpp-work-meta {
    white-space: normal !important;
  }

  /* In cards with no metadata rows, actions still sit immediately below
     the heading/status row instead of leaving artificial empty height. */
  body .rpp-app .rpp-day:not(:has(.rpp-speaker)) .rpp-day-actions {
    margin-top: 0 !important;
  }

  /* Dense day-page controls use the available rail instead of narrow pills. */
  body .rpp-app .rpp-day-workspace .rpp-command-actions,
  body .rpp-app .rpp-day-workspace .rpp-detail-actions:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-command-actions .rpp-btn,
  body .rpp-app .rpp-day-workspace .rpp-detail-actions .rpp-btn:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-actions .rpp-btn,
  body .rpp-app .rpp-day-workspace .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-download:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-restore:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-review:where(:not(.rpp-day2, .rpp-day2 *)) {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* =========================================================
   v0.5.27 — Compact, centered, single-line application buttons
   All application actions remain visually balanced on desktop and mobile.
   Button labels are centered and never break onto a second line. Mobile
   calendar actions stack vertically so long operational labels stay readable
   without oversized controls or compressed multi-column layouts.
   ========================================================= */
body .rpp-app .rpp-btn,
body .rpp-app a.rpp-btn,
body .rpp-app button.rpp-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
  line-height: 1.12 !important;
  font-weight: 760 !important;
}

/* Let rows wrap between buttons rather than wrapping labels inside buttons. */
body .rpp-app .rpp-day-actions,
body .rpp-app .rpp-toolbar-group,
body .rpp-app .rpp-toolbar-actions,
body .rpp-app .rpp-detail-actions:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-command-actions,
body .rpp-app .rpp-file-actions,
body .rpp-app .rpp-app-gate-actions,
body .rpp-app .rpp-auth-actions {
  flex-wrap: wrap !important;
}

/* Desktop: keep controls compact and centered. */
@media (min-width: 981px) {
  body .rpp-app .rpp-btn {
    min-height: 2.55rem !important;
    padding: 0.68rem 0.92rem !important;
    font-size: 0.95rem !important;
  }
  body .rpp-app .rpp-day .rpp-btn {
    min-height: 2.3rem !important;
    padding: 0.58rem 0.72rem !important;
    font-size: 0.88rem !important;
  }
}

/* Tablet and mobile: readable text, compact controls. */
@media (max-width: 980px) {
  body .rpp-app {
    --rpp-mobile-button: 16px;
  }
  body .rpp-app .rpp-btn {
    min-height: 44px !important;
    padding: 10px 13px !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
    font-weight: 760 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 680px) {
  /* Calendar-card actions use the full width cleanly. Stacking avoids
     squeezed three-column controls and guarantees one-line labels. */
  body .rpp-app .rpp-day-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
  }
  body .rpp-app .rpp-day-actions .rpp-btn {
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
    white-space: nowrap !important;
  }

  /* Day-workspace controls remain full-width and centered, but no longer
     feel oversized. */
  body .rpp-app .rpp-day-workspace .rpp-command-actions,
  body .rpp-app .rpp-day-workspace .rpp-detail-actions:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-actions {
    gap: 8px !important;
  }
  body .rpp-app .rpp-day-workspace .rpp-command-actions .rpp-btn,
  body .rpp-app .rpp-day-workspace .rpp-detail-actions .rpp-btn:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-actions .rpp-btn,
  body .rpp-app .rpp-day-workspace .rpp-file-open:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-download:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-restore:where(:not(.rpp-day2, .rpp-day2 *)),
  body .rpp-app .rpp-day-workspace .rpp-file-review:where(:not(.rpp-day2, .rpp-day2 *)) {
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
}

/* ==========================================================
   v0.6.0 — Social Media Manager Workspace
   Metadata-only manual publication checklist.
   ========================================================== */
.rpp-posting-shell {
  padding-bottom: clamp(2rem, 4vw, 4.5rem);
}
.rpp-posting-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.7rem, 1.2vw, 1rem);
  margin: 0 0 clamp(1rem, 2vw, 1.4rem);
}
.rpp-posting-summary {
  display: flex;
  flex-direction: column;
  gap: 0.28rem;
  padding: clamp(0.85rem, 1.5vw, 1.15rem);
  border-radius: 1rem;
}
.rpp-posting-summary span {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--rpp-muted);
}
.rpp-posting-summary strong {
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1;
  color: var(--rpp-text);
}
.rpp-posting-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 clamp(1rem, 2vw, 1.5rem);
}
.rpp-posting-filter {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.35rem;
  padding: 0.48rem 0.74rem;
  border: 1px solid var(--rpp-border);
  border-radius: 999px;
  background: var(--rpp-surface);
  color: var(--rpp-muted);
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  cursor: pointer;
  transition: 0.2s ease;
}
.rpp-posting-filter:hover,
.rpp-posting-filter.is-active {
  border-color: rgba(51, 162, 255, 0.5);
  background: rgba(51, 162, 255, 0.1);
  color: var(--rpp-text);
}
.rpp-posting-filter strong {
  display: grid;
  place-items: center;
  min-width: 1.34rem;
  height: 1.34rem;
  padding: 0 0.22rem;
  border-radius: 999px;
  background: rgba(118, 139, 169, 0.13);
  font-size: 0.7rem;
}
.rpp-posting-list {
  display: grid;
  gap: clamp(0.95rem, 1.5vw, 1.3rem);
}
.rpp-posting-card {
  overflow: hidden;
  border-radius: 1.15rem;
  padding: clamp(0.95rem, 1.8vw, 1.35rem);
}
.rpp-posting-card.is-overdue {
  border-color: rgba(242, 118, 99, 0.48);
}
.rpp-posting-card.is-completed {
  border-color: rgba(54, 192, 134, 0.42);
}
.rpp-posting-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--rpp-border);
}
.rpp-posting-card-header h2 {
  margin: 0.2rem 0 0.22rem;
  font-size: clamp(1.2rem, 1.7vw, 1.56rem);
  line-height: 1.12;
  color: var(--rpp-text);
}
.rpp-posting-card-header p {
  margin: 0;
  color: var(--rpp-muted);
  font-size: 0.86rem;
}
.rpp-posting-progress {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.12rem;
  min-width: 7.5rem;
  padding: 0.55rem 0.68rem;
  border-radius: 0.82rem;
  background: rgba(118, 139, 169, 0.1);
}
.rpp-posting-progress strong {
  font-size: 1.22rem;
  line-height: 1;
  color: var(--rpp-text);
}
.rpp-posting-progress span {
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--rpp-muted);
}
.rpp-posting-progress.is-complete {
  background: rgba(54, 192, 134, 0.13);
}
.rpp-posting-card-toolbar {
  padding: 0.86rem 0 0.15rem;
}
.rpp-posting-assignment {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.rpp-posting-warning {
  font-size: 0.8rem;
  font-weight: 800;
  color: #d68b30;
}
.rpp-posting-copy-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 0.75rem;
  margin: 0.8rem 0 0.55rem;
}
.rpp-posting-copy-grid label,
.rpp-social-url-label {
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
}
.rpp-posting-copy-grid label > span,
.rpp-social-url-label > span {
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--rpp-muted);
}
.rpp-posting-copy-grid textarea,
.rpp-social-url-label input {
  width: 100%;
  border: 1px solid var(--rpp-border);
  border-radius: 0.72rem;
  background: var(--rpp-surface);
  color: var(--rpp-text);
  font: inherit;
  font-size: 0.84rem;
  outline: none;
  transition: 0.2s ease;
}
.rpp-posting-copy-grid textarea {
  min-height: 6.2rem;
  resize: vertical;
  padding: 0.68rem 0.72rem;
  line-height: 1.5;
}
.rpp-social-url-label input {
  height: 2.25rem;
  padding: 0 0.62rem;
}
.rpp-posting-copy-grid textarea:focus,
.rpp-social-url-label input:focus {
  border-color: rgba(51, 162, 255, 0.62);
  box-shadow: 0 0 0 3px rgba(51, 162, 255, 0.1);
}
.rpp-posting-copy-grid textarea:disabled,
.rpp-social-url-label input:disabled {
  opacity: 0.64;
  cursor: not-allowed;
}
.rpp-posting-copy-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.88rem;
}
.rpp-social-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.68rem;
}
.rpp-social-channel {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
  min-width: 0;
  padding: 0.72rem;
  border: 1px solid var(--rpp-border);
  border-radius: 0.92rem;
  background: rgba(118, 139, 169, 0.045);
  transition: 0.2s ease;
}
.rpp-social-channel.is-published {
  border-color: rgba(54, 192, 134, 0.43);
  background: rgba(54, 192, 134, 0.07);
}
.rpp-social-channel-head {
  display: flex;
  align-items: center;
  gap: 0.54rem;
}
.rpp-social-channel-head h4 {
  margin: 0 0 0.16rem;
  font-size: 0.9rem;
  line-height: 1;
  color: var(--rpp-text);
}
.rpp-social-status {
  font-size: 0.72rem;
  font-weight: 850;
  color: var(--rpp-muted);
}
.rpp-social-channel.is-published .rpp-social-status {
  color: #2da56f;
}
.rpp-social-logo-link {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.48rem;
  height: 2.48rem;
  border-radius: 0.72rem;
  text-decoration: none;
  transition: 0.2s ease;
}
.rpp-social-logo-link:not(.is-disabled):hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
}
.rpp-social-logo {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  color: #fff;
}
.rpp-social-logo svg {
  width: 1.3rem;
  height: 1.3rem;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.rpp-social-logo-youtube {
  background: #f52323;
}
.rpp-social-logo-youtube svg {
  stroke: none;
}
.rpp-social-logo-youtube .rpp-social-icon-cut {
  fill: #f52323;
  stroke: #f52323;
}
.rpp-social-logo-instagram {
  background: linear-gradient(135deg, #7436d8, #e43e74 58%, #f6a239);
}
.rpp-social-logo-instagram svg {
  fill: none;
  stroke: #fff;
}
.rpp-social-logo-tiktok {
  background: #12151e;
}
.rpp-social-logo-facebook {
  background: #1877f2;
}
.rpp-social-channel-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.42rem;
  margin-top: auto;
}
.rpp-social-channel-actions .rpp-btn {
  width: 100%;
  min-height: 2.22rem;
  padding: 0.42rem 0.48rem;
  font-size: 0.73rem;
}
.rpp-posting-card-footer {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: center;
  margin-top: 0.86rem;
  padding-top: 0.78rem;
  border-top: 1px solid var(--rpp-border);
  color: var(--rpp-muted);
  font-size: 0.78rem;
}
.rpp-posting-card-footer strong {
  color: var(--rpp-text);
}

@media (max-width: 1050px) {
  .rpp-social-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .rpp-posting-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rpp-posting-copy-grid {
    grid-template-columns: 1fr;
  }
  .rpp-posting-card-header {
    align-items: stretch;
  }
  .rpp-posting-progress {
    min-width: 6.5rem;
  }
}
@media (max-width: 520px) {
  .rpp-posting-card {
    padding: 0.8rem;
  }
  .rpp-posting-card-header {
    flex-direction: column;
    gap: 0.58rem;
  }
  .rpp-posting-progress {
    align-items: flex-start;
    width: 100%;
    min-width: 0;
  }
  .rpp-social-grid {
    grid-template-columns: 1fr;
  }
  .rpp-posting-assignment,
  .rpp-posting-copy-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .rpp-posting-assignment .rpp-btn,
  .rpp-posting-copy-actions .rpp-btn {
    width: 100%;
  }
  .rpp-posting-card-footer {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ==========================================================
   v0.6.1 — Frontend scale regression fix
   Bricks may use a reduced root rem scale. Keep application controls and the
   Social Media Manager workspace on the same px-based responsive token system
   as the stabilized frontend instead of allowing late rem rules to shrink UI.
   ========================================================== */

/* Restore the established application button scale on desktop. The v0.5.27
   centering and one-line behavior remains intact; only sizing is hardened. */
@media (min-width: 981px) {
  body .rpp-app .rpp-btn,
  body .rpp-app a.rpp-btn,
  body .rpp-app button.rpp-btn {
    min-height: 46px !important;
    padding: 12px 16px !important;
    font-size: var(--rpp-type-button) !important;
    line-height: 1.12 !important;
  }
  body .rpp-app .rpp-day .rpp-btn {
    min-height: 42px !important;
    padding: 10px 13px !important;
    font-size: var(--rpp-type-small) !important;
    line-height: 1.12 !important;
  }
}

/* Social Media Manager workspace: use the same hardened frontend type scale. */
body .rpp-app .rpp-posting-shell {
  padding-bottom: clamp(32px, 4vw, 72px) !important;
}
body .rpp-app .rpp-posting-summary-grid {
  gap: clamp(12px, 1.2vw, 18px) !important;
  margin: 0 0 clamp(18px, 2vw, 28px) !important;
}
body .rpp-app .rpp-posting-summary {
  gap: 6px !important;
  padding: clamp(16px, 1.5vw, 22px) !important;
  border-radius: 16px !important;
}
body .rpp-app .rpp-posting-summary span {
  font-size: var(--rpp-type-label) !important;
  line-height: 1.3 !important;
}
body .rpp-app .rpp-posting-summary strong {
  font-size: clamp(30px, 2vw, 42px) !important;
  line-height: 1 !important;
}

body .rpp-app .rpp-posting-filters {
  gap: 10px !important;
  margin: 0 0 clamp(18px, 2vw, 28px) !important;
}
body .rpp-app .rpp-posting-filter {
  gap: 8px !important;
  min-height: 42px !important;
  padding: 10px 14px !important;
  font-size: var(--rpp-type-small) !important;
  line-height: 1.12 !important;
}
body .rpp-app .rpp-posting-filter strong {
  min-width: 24px !important;
  height: 24px !important;
  padding: 0 5px !important;
  font-size: 13px !important;
}

body .rpp-app .rpp-posting-list {
  gap: clamp(16px, 1.5vw, 24px) !important;
}
body .rpp-app .rpp-posting-card {
  border-radius: 18px !important;
  padding: clamp(18px, 1.8vw, 28px) !important;
}
body .rpp-app .rpp-posting-card-header {
  gap: 18px !important;
  padding-bottom: 16px !important;
}
body .rpp-app .rpp-posting-card-header h2 {
  margin: 5px 0 5px !important;
  font-size: clamp(24px, 1.7vw, 32px) !important;
  line-height: 1.12 !important;
}
body .rpp-app .rpp-posting-card-header p {
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.45 !important;
}
body .rpp-app .rpp-posting-progress {
  gap: 3px !important;
  min-width: 132px !important;
  padding: 12px 14px !important;
  border-radius: 13px !important;
}
body .rpp-app .rpp-posting-progress strong {
  font-size: 24px !important;
  line-height: 1 !important;
}
body .rpp-app .rpp-posting-progress span {
  font-size: var(--rpp-type-label) !important;
  line-height: 1.25 !important;
}
body .rpp-app .rpp-posting-card-toolbar {
  padding: 16px 0 4px !important;
}
body .rpp-app .rpp-posting-assignment {
  gap: 10px !important;
}
body .rpp-app .rpp-posting-warning {
  font-size: var(--rpp-type-small) !important;
  line-height: 1.35 !important;
}

body .rpp-app .rpp-posting-copy-grid {
  gap: 14px !important;
  margin: 14px 0 10px !important;
}
body .rpp-app .rpp-posting-copy-grid label,
body .rpp-app .rpp-social-url-label {
  gap: 7px !important;
}
body .rpp-app .rpp-posting-copy-grid label > span,
body .rpp-app .rpp-social-url-label > span {
  font-size: var(--rpp-type-label) !important;
  line-height: 1.28 !important;
}
body .rpp-app .rpp-posting-copy-grid textarea,
body .rpp-app .rpp-social-url-label input {
  border-radius: 12px !important;
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.5 !important;
}
body .rpp-app .rpp-posting-copy-grid textarea {
  min-height: 124px !important;
  padding: 12px 14px !important;
}
body .rpp-app .rpp-social-url-label input {
  height: 46px !important;
  padding: 0 13px !important;
}
body .rpp-app .rpp-posting-copy-actions {
  gap: 10px !important;
  margin-bottom: 16px !important;
}

body .rpp-app .rpp-social-grid {
  gap: 14px !important;
}
body .rpp-app .rpp-social-channel {
  gap: 14px !important;
  padding: 15px !important;
  border-radius: 15px !important;
}
body .rpp-app .rpp-social-channel-head {
  gap: 10px !important;
}
body .rpp-app .rpp-social-channel-head h4 {
  margin: 0 0 4px !important;
  font-size: var(--rpp-type-body-compact) !important;
  line-height: 1.12 !important;
}
body .rpp-app .rpp-social-status {
  font-size: var(--rpp-type-small) !important;
  line-height: 1.25 !important;
}
body .rpp-app .rpp-social-logo-link {
  width: 46px !important;
  height: 46px !important;
  border-radius: 12px !important;
}
body .rpp-app .rpp-social-logo svg {
  width: 24px !important;
  height: 24px !important;
}
body .rpp-app .rpp-social-channel-actions {
  gap: 8px !important;
}
body .rpp-app .rpp-social-channel-actions .rpp-btn {
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  font-size: var(--rpp-type-button) !important;
  line-height: 1.12 !important;
}
body .rpp-app .rpp-posting-card-footer {
  gap: 14px !important;
  margin-top: 16px !important;
  padding-top: 14px !important;
  font-size: var(--rpp-type-small) !important;
  line-height: 1.4 !important;
}

@media (max-width: 980px) {
  body .rpp-app .rpp-posting-filter {
    min-height: 44px !important;
    padding: 10px 13px !important;
    font-size: 16px !important;
  }
  body .rpp-app .rpp-social-channel-actions .rpp-btn {
    min-height: 44px !important;
    padding: 10px 12px !important;
    font-size: 16px !important;
  }
}

@media (max-width: 760px) {
  body .rpp-app .rpp-posting-card-header {
    align-items: stretch !important;
  }
  body .rpp-app .rpp-posting-progress {
    min-width: 118px !important;
  }
}

@media (max-width: 520px) {
  body .rpp-app .rpp-posting-card {
    padding: 16px !important;
  }
  body .rpp-app .rpp-posting-card-header {
    gap: 10px !important;
  }
  body .rpp-app .rpp-posting-progress {
    width: 100% !important;
    min-width: 0 !important;
  }
  body .rpp-app .rpp-posting-card-footer {
    gap: 7px !important;
  }
}

/* v0.6.2 Studio integration */
.rpp-btn-studio:where(:not(.rpp-day2, .rpp-day2 *)) {
  border-color: rgba(97, 214, 255, 0.58) !important;
  background: linear-gradient(135deg, rgba(24, 130, 207, 0.96), rgba(34, 192, 203, 0.94)) !important;
  color: #fff !important;
  box-shadow: 0 9px 24px rgba(24, 130, 207, 0.2);
}
.rpp-btn-studio:hover:where(:not(.rpp-day2, .rpp-day2 *)) {
  color: #fff !important;
  filter: brightness(1.08);
}

/* =========================================================
   v0.6.3 — Production Platform simplification
   Native Studio Lab workflow, compact posting cards, accessible note modal.
   ========================================================= */
body .rpp-app .rpp-dashboard-shell .rpp-dashboard-queue-head {
  margin-top: clamp(1.2rem, 2.2vw, 2rem) !important;
}
body .rpp-app .rpp-studio-workflow {
  margin-top: clamp(1.4rem, 2.4vw, 2.2rem);
  border-radius: 22px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(240, 246, 255, 0.88));
  border-color: rgba(24, 92, 255, 0.14);
}
body .rpp-app .rpp-studio-workflow summary {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: clamp(18px, 2vw, 24px);
  cursor: pointer;
  list-style: none;
}
body .rpp-app .rpp-studio-workflow summary::-webkit-details-marker {
  display: none;
}
body .rpp-app .rpp-studio-workflow h2 {
  margin: 4px 0 6px;
  color: #132037;
  font-size: clamp(24px, 1.4vw, 34px);
  font-weight: 880;
  letter-spacing: -0.045em;
  line-height: 1.08;
}
body .rpp-app .rpp-studio-workflow p {
  margin: 0;
  color: #5b687b;
  font-size: clamp(15px, 0.25vw + 14px, 18px);
  line-height: 1.58;
}
body .rpp-app .rpp-studio-workflow-chevron {
  color: #526075;
  font-size: 28px;
  font-weight: 900;
  transition: transform 0.18s ease;
}
body .rpp-app .rpp-studio-workflow[open] .rpp-studio-workflow-chevron {
  transform: rotate(180deg);
}
body .rpp-app .rpp-studio-workflow-body {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 0 clamp(18px, 2vw, 24px) clamp(18px, 2vw, 24px);
}
body .rpp-app .rpp-studio-workflow-body article {
  padding: 16px;
  border: 1px solid rgba(20, 32, 53, 0.09);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
body .rpp-app .rpp-studio-workflow-body article span {
  display: inline-flex;
  margin-bottom: 10px;
  color: #185cff;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: 0.12em;
}
body .rpp-app .rpp-studio-workflow-body article strong {
  display: block;
  margin-bottom: 6px;
  color: #142035;
  font-size: 17px;
  font-weight: 880;
  line-height: 1.2;
}
body .rpp-app .rpp-studio-workflow-body article p {
  font-size: 15px;
  line-height: 1.5;
  color: #606d80;
}

body .rpp-app .rpp-posting-details {
  margin-top: 14px;
  border: 1px solid rgba(20, 32, 53, 0.09);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.56);
  overflow: hidden;
}
body .rpp-app .rpp-posting-details summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
  color: #142035;
  font-weight: 850;
}
body .rpp-app .rpp-posting-details summary::-webkit-details-marker {
  display: none;
}
body .rpp-app .rpp-posting-details summary span {
  font-size: var(--rpp-type-body-compact);
  line-height: 1.35;
}
body .rpp-app .rpp-posting-details summary strong {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(24, 92, 255, 0.1);
  color: #185cff;
  font-size: var(--rpp-type-label);
  line-height: 1.1;
  white-space: nowrap;
}
body .rpp-app .rpp-posting-details[open] summary {
  border-bottom: 1px solid rgba(20, 32, 53, 0.08);
  background: rgba(255, 255, 255, 0.6);
}
body .rpp-app .rpp-posting-details > .rpp-posting-copy-grid,
body .rpp-app .rpp-posting-details > .rpp-posting-copy-actions,
body .rpp-app .rpp-posting-details > .rpp-social-grid,
body .rpp-app .rpp-posting-details > .rpp-posting-card-footer {
  margin-left: 16px !important;
  margin-right: 16px !important;
}
body .rpp-app .rpp-posting-details > .rpp-posting-copy-grid {
  margin-top: 16px !important;
}
body .rpp-app .rpp-posting-details > .rpp-posting-card-footer {
  margin-bottom: 16px !important;
}

body.rpp-note-modal-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}

body .rpp-app .rpp-btn:focus-visible,
body .rpp-app .rpp-view-pill:focus-visible {
  outline: 3px solid rgba(24, 92, 255, 0.28);
  outline-offset: 3px;
}
body .rpp-app .rpp-btn:disabled {
  opacity: 0.56;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}
body .rpp-app .rpp-btn-primary,
body .rpp-app .rpp-btn-ready:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-btn-studio:where(:not(.rpp-day2, .rpp-day2 *)) {
  color: #fff !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.14);
}

html[data-rpp-theme='dark'] body .rpp-app .rpp-studio-workflow {
  background: linear-gradient(135deg, rgba(25, 37, 58, 0.96), rgba(17, 27, 44, 0.96));
  border-color: rgba(182, 202, 240, 0.16);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-studio-workflow h2,
html[data-rpp-theme='dark'] body .rpp-app .rpp-studio-workflow-body article strong {
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-studio-workflow p,
html[data-rpp-theme='dark'] body .rpp-app .rpp-studio-workflow-body article p {
  color: #aab8cc;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-studio-workflow-body article {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(182, 202, 240, 0.13);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-posting-details {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(182, 202, 240, 0.13);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-posting-details summary {
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-posting-details[open] summary {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(182, 202, 240, 0.13);
}

@media (max-width: 980px) {
  body .rpp-app .rpp-studio-workflow-body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 680px) {
  body .rpp-app .rpp-studio-workflow summary {
    grid-template-columns: 1fr;
    align-items: flex-start;
  }
  body .rpp-app .rpp-studio-workflow-chevron {
    display: none;
  }
  body .rpp-app .rpp-studio-workflow-body {
    grid-template-columns: 1fr;
  }
  body .rpp-app .rpp-posting-details > .rpp-posting-copy-grid,
  body .rpp-app .rpp-posting-details > .rpp-posting-copy-actions,
  body .rpp-app .rpp-posting-details > .rpp-social-grid,
  body .rpp-app .rpp-posting-details > .rpp-posting-card-footer {
    margin-left: 12px !important;
    margin-right: 12px !important;
  }
}

/* =========================================================
   v0.6.4 — Home, role-aware flow, calendar filters, polish
   ========================================================= */
body .rpp-app .rpp-shell:where(:not(.rpp-day2, .rpp-day2 *)) {
  width: 100%;
}
body .rpp-app .rpp-view-switcher {
  position: sticky;
  top: 0.65rem;
  z-index: 5;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-bottom: 1.45rem;
  padding: 0.45rem;
  border: 1px solid rgba(20, 32, 53, 0.08);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.64);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  width: max-content;
  max-width: 100%;
  overflow: auto;
  box-shadow: 0 0.75rem 1.8rem rgba(30, 51, 88, 0.08);
}
body .rpp-app .rpp-view-pill {
  min-height: 2.65rem;
  padding: 0.62rem 1rem;
  border-radius: 999px;
  background: transparent;
  border: 1px solid transparent;
  color: #526073;
  font-weight: 880;
  white-space: nowrap;
  box-shadow: none;
}
body .rpp-app .rpp-view-pill:hover,
body .rpp-app .rpp-view-pill:focus-visible {
  background: rgba(29, 93, 255, 0.08);
  color: #174fdc;
  border-color: rgba(29, 93, 255, 0.14);
  outline: none;
}
body .rpp-app .rpp-view-pill.is-active {
  background: #152033 !important;
  color: #fff !important;
  border-color: #152033 !important;
  box-shadow: 0 0.55rem 1.1rem rgba(21, 32, 51, 0.18);
}
/* v0.15.0: regulile generice ale .rpp-app ocolesc insulele noi [data-bd] (:where = aceeași specificitate ca înainte);
   componentele bd-* au propriul inel de focus (design-system). */
body .rpp-app .rpp-btn:focus-visible,
body .rpp-app button:focus-visible:where(:not(.rpp-app [data-bd], .rpp-app [data-bd] *)),
body .rpp-app a:focus-visible:where(:not(.rpp-app [data-bd], .rpp-app [data-bd] *)),
body .rpp-app input:focus-visible:where(:not(.rpp-app [data-bd], .rpp-app [data-bd] *)),
body .rpp-app textarea:focus-visible:where(:not(.rpp-app [data-bd], .rpp-app [data-bd] *)),
body .rpp-app select:focus-visible:where(:not(.rpp-app [data-bd], .rpp-app [data-bd] *)) {
  outline: 3px solid rgba(24, 92, 255, 0.35) !important;
  outline-offset: 2px !important;
}
body .rpp-app .rpp-topbar {
  margin-bottom: 1.2rem;
}
body .rpp-app .rpp-title {
  color: #111a2b;
  letter-spacing: -0.055em;
}
body .rpp-app .rpp-subtitle {
  max-width: 50rem;
  color: #576476;
  line-height: 1.55;
}
body .rpp-app .rpp-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 26rem);
  gap: 1.2rem;
  align-items: end;
  padding: clamp(1.25rem, 2.6vw, 2.2rem);
  border-radius: 1.55rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.9), rgba(244, 247, 255, 0.78));
}
body .rpp-app .rpp-home-hero h1 {
  margin: 0.24rem 0 0.5rem;
  font-size: clamp(2.3rem, 4vw, 4.6rem);
  line-height: 0.96;
  letter-spacing: -0.075em;
  color: #101827;
}
body .rpp-app .rpp-home-hero p {
  margin: 0;
  max-width: 46rem;
  color: #536173;
  font-size: clamp(1rem, 0.9rem + 0.28vw, 1.18rem);
  line-height: 1.62;
}
body .rpp-app .rpp-home-task-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}

body .rpp-app .rpp-calendar-filters,
body .rpp-app .rpp-posting-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0.1rem 0 1rem;
}
body .rpp-app .rpp-calendar-filter,
body .rpp-app .rpp-posting-filter {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.65rem;
  border: 1px solid rgba(20, 32, 53, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: #526073;
  padding: 0.58rem 0.9rem;
  font-weight: 850;
  cursor: pointer;
  transition: 0.2s ease;
}
body .rpp-app .rpp-calendar-filter strong,
body .rpp-app .rpp-posting-filter strong {
  display: grid;
  place-items: center;
  min-width: 1.65rem;
  height: 1.65rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: rgba(21, 32, 51, 0.08);
  color: #152033;
  font-size: 0.78rem;
}
body .rpp-app .rpp-calendar-filter.is-active,
body .rpp-app .rpp-posting-filter.is-active {
  background: #152033;
  color: #fff;
  border-color: #152033;
  box-shadow: 0 0.6rem 1.2rem rgba(21, 32, 51, 0.14);
}
body .rpp-app .rpp-calendar-filter.is-active strong,
body .rpp-app .rpp-posting-filter.is-active strong {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}
body .rpp-app .rpp-grid.is-filtered-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
body .rpp-app .rpp-calendar-empty {
  grid-column: 1/-1;
}
body .rpp-app .rpp-calendar-status-row {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}
body .rpp-app .rpp-calendar-file-pills {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}
body .rpp-app .rpp-calendar-file-pills span {
  padding: 0.34rem 0.52rem;
  border-radius: 999px;
  background: rgba(29, 93, 255, 0.08);
  color: #185cff;
  font-size: 0.78rem;
  font-weight: 850;
}
body .rpp-app .rpp-speaker-empty {
  color: #7a8494;
  font-weight: 750;
}
body .rpp-app .rpp-day-actions-compact .rpp-btn {
  flex: 1 1 auto;
  justify-content: center;
}

body .rpp-app .rpp-status {
  background: rgba(21, 32, 51, 0.055) !important;
  border: 1px solid rgba(21, 32, 51, 0.08);
  box-shadow: none !important;
}
body .rpp-app .rpp-status span {
  white-space: nowrap;
}
body .rpp-app .rpp-status strong {
  background: rgba(255, 255, 255, 0.72) !important;
  color: currentColor !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.02em;
  text-transform: none;
  white-space: nowrap;
}
body .rpp-app .rpp-detail-hero .rpp-status strong:where(:not(.rpp-day2, .rpp-day2 *)) {
  font-size: 0.78rem !important;
}

body .rpp-app .rpp-phase-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin: -0.35rem 0 0.25rem;
}
body .rpp-app .rpp-phase-step {
  position: relative;
  display: grid;
  gap: 0.18rem;
  padding: 0.92rem;
  border-radius: 1.05rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(20, 32, 53, 0.08);
  box-shadow: 0 0.6rem 1.4rem rgba(30, 51, 88, 0.055);
}
body .rpp-app .rpp-phase-step span {
  display: grid;
  place-items: center;
  width: 1.9rem;
  height: 1.9rem;
  border-radius: 999px;
  background: rgba(21, 32, 51, 0.08);
  color: #152033;
  font-weight: 950;
}
body .rpp-app .rpp-phase-step strong {
  margin-top: 0.2rem;
  color: #111a2b;
  font-size: 1rem;
  letter-spacing: -0.02em;
}
body .rpp-app .rpp-phase-step small {
  color: #627084;
  font-weight: 700;
  line-height: 1.35;
}
body .rpp-app .rpp-phase-step.is-done {
  background: rgba(21, 149, 101, 0.08);
  border-color: rgba(21, 149, 101, 0.18);
}
body .rpp-app .rpp-phase-step.is-done span {
  background: #159565;
  color: #fff;
}
body .rpp-app .rpp-phase-step.is-active {
  background: linear-gradient(145deg, #152033, #233a60);
  border-color: transparent;
  box-shadow: 0 0.8rem 1.7rem rgba(21, 32, 51, 0.18);
}
body .rpp-app .rpp-phase-step.is-active span {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}
body .rpp-app .rpp-phase-step.is-active strong,
body .rpp-app .rpp-phase-step.is-active small {
  color: #fff;
}
body .rpp-app .rpp-flow-disclosure .rpp-flow:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(255, 255, 255, 0.58) !important;
}
body .rpp-app .rpp-day-focus-editor .rpp-tutorial-disclosure:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-day-focus-reviewer .rpp-tutorial-disclosure:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-day-focus-social .rpp-tutorial-disclosure:where(:not(.rpp-day2, .rpp-day2 *)) {
  opacity: 0.96;
}
body .rpp-app .rpp-focus-grid {
  align-items: stretch;
}
body .rpp-app .rpp-tutorial-featured .rpp-card-kicker:where(:not(.rpp-day2, .rpp-day2 *)) {
  margin-bottom: 0.4rem;
}

body .rpp-app .rpp-posting-card {
  border-radius: 1.22rem;
  background: rgba(255, 255, 255, 0.86);
}
/* v0.14.2: rezumatul „Checklist și texte de postare” și caseta cu butoanele de text nu mai sunt sticky. .rpp-posting-details are
   overflow: hidden (colțurile rotunjite), deci devine chiar el containerul lui sticky; cum nu se derulează, top: 4.6rem doar
   împingea rezumatul cu ~75 px în jos, peste etichetele „CAPTION COMUN / NOTE INTERNE”. Nici mai sus nu s-ar fi lipit:
   .rpp-app are și ea overflow: hidden. Sub 720 px erau deja statice (regula de mai jos). */
body .rpp-app .rpp-posting-details > summary {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 1rem;
  border: 1px solid rgba(20, 32, 53, 0.08);
  box-shadow: 0 0.55rem 1.2rem rgba(30, 51, 88, 0.07);
}
body .rpp-app .rpp-posting-copy-actions {
  padding: 0.55rem;
  border: 1px solid rgba(20, 32, 53, 0.08);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 0.55rem 1.2rem rgba(30, 51, 88, 0.07);
}
/* v0.14.2: pe telefon caseta avea width: 100% plus marginile de 12 px din card, deci ieșea cu 12 px din chenar. */
@media (max-width: 520px) {
  body .rpp-app .rpp-posting-details > .rpp-posting-copy-actions {
    width: auto;
  }
}
body .rpp-app .rpp-empty-state {
  color: #5e6b7d;
  background: rgba(255, 255, 255, 0.66);
  border: 1px solid rgba(20, 32, 53, 0.08);
}

html[data-rpp-theme='dark'] body .rpp-app .rpp-view-switcher {
  background: rgba(20, 29, 46, 0.82);
  border-color: rgba(182, 202, 240, 0.14);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-view-pill {
  color: #b9c7dc;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-view-pill.is-active {
  background: #edf4ff !important;
  color: #111827 !important;
  border-color: #edf4ff !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-title,
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-hero h1,
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-section-head h2,
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-task-top h3,
html[data-rpp-theme='dark'] body .rpp-app .rpp-phase-step strong {
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-subtitle,
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-hero p,
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-section-head p,
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-task-card p,
html[data-rpp-theme='dark'] body .rpp-app .rpp-phase-step small {
  color: #aab8cc;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-hero,
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-task-card,
html[data-rpp-theme='dark'] body .rpp-app .rpp-posting-card,
html[data-rpp-theme='dark'] body .rpp-app .rpp-phase-step {
  background: rgba(20, 29, 46, 0.93) !important;
  border-color: rgba(182, 202, 240, 0.14) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-hero-stats div,
html[data-rpp-theme='dark'] body .rpp-app .rpp-posting-details > summary,
html[data-rpp-theme='dark'] body .rpp-app .rpp-posting-copy-actions {
  background: rgba(255, 255, 255, 0.055);
  border-color: rgba(182, 202, 240, 0.12);
  box-shadow: inset 0 0 0 1px rgba(182, 202, 240, 0.06);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-hero-stats strong,
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-filter strong,
html[data-rpp-theme='dark'] body .rpp-app .rpp-posting-filter strong,
html[data-rpp-theme='dark'] body .rpp-app .rpp-phase-step span {
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-filter,
html[data-rpp-theme='dark'] body .rpp-app .rpp-posting-filter {
  background: rgba(255, 255, 255, 0.075);
  color: #b9c7dc;
  border-color: rgba(182, 202, 240, 0.14);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-filter.is-active,
html[data-rpp-theme='dark'] body .rpp-app .rpp-posting-filter.is-active {
  background: #edf4ff;
  color: #111827;
  border-color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status {
  border-color: rgba(182, 202, 240, 0.12) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status strong {
  background: rgba(255, 255, 255, 0.1) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-phase-step.is-active {
  background: linear-gradient(145deg, #dbe7ff, #8fb0ff) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-phase-step.is-active strong,
html[data-rpp-theme='dark'] body .rpp-app .rpp-phase-step.is-active small,
html[data-rpp-theme='dark'] body .rpp-app .rpp-phase-step.is-active span {
  color: #111827;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-empty-state {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(182, 202, 240, 0.1);
  color: #aab8cc;
}

@media (max-width: 1120px) {
  body .rpp-app .rpp-home-hero {
    grid-template-columns: 1fr;
  }
  body .rpp-app .rpp-home-task-grid,
  body .rpp-app .rpp-grid.is-filtered-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body .rpp-app .rpp-phase-progress {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  body .rpp-app .rpp-view-switcher {
    position: relative;
    top: auto;
    width: 100%;
    border-radius: 1rem;
  }
  body .rpp-app .rpp-view-pill {
    flex: 1 0 auto;
    justify-content: center;
  }
  body .rpp-app .rpp-home-hero-stats,
  body .rpp-app .rpp-home-task-grid,
  body .rpp-app .rpp-grid.is-filtered-grid,
  body .rpp-app .rpp-phase-progress {
    grid-template-columns: 1fr;
  }
  body .rpp-app .rpp-toolbar-actions {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  body .rpp-app .rpp-posting-details > summary,
  body .rpp-app .rpp-posting-copy-actions {
    position: static;
  }
  body .rpp-app .rpp-calendar-filter,
  body .rpp-app .rpp-posting-filter {
    flex: 1 1 auto;
    justify-content: center;
  }
}
/* Re-apply semantic status backgrounds after the shared v0.6.4 badge polish. */
body .rpp-app .rpp-status-available {
  background: rgba(21, 149, 101, 0.14) !important;
  color: #117a55 !important;
}
body .rpp-app .rpp-status-reserved {
  background: rgba(24, 92, 255, 0.13) !important;
  color: #185cff !important;
}
body .rpp-app .rpp-status-uploaded {
  background: rgba(0, 142, 163, 0.14) !important;
  color: #007f94 !important;
}
body .rpp-app .rpp-status-editing {
  background: rgba(207, 122, 16, 0.15) !important;
  color: #ad6408 !important;
}
body .rpp-app .rpp-status-retake {
  background: rgba(210, 75, 85, 0.14) !important;
  color: #bf3441 !important;
}
body .rpp-app .rpp-status-final {
  background: rgba(111, 79, 214, 0.14) !important;
  color: #6847c9 !important;
}
body .rpp-app .rpp-status-review {
  background: rgba(224, 103, 28, 0.14) !important;
  color: #c85a14 !important;
}
body .rpp-app .rpp-status-corrections {
  background: rgba(203, 75, 47, 0.15) !important;
  color: #b8442d !important;
}
body .rpp-app .rpp-status-ready {
  background: rgba(15, 126, 117, 0.15) !important;
  color: #08766d !important;
}
body .rpp-app .rpp-status-posted {
  background: rgba(71, 85, 105, 0.14) !important;
  color: #475569 !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-available {
  background: rgba(97, 214, 162, 0.14) !important;
  color: #73dfb0 !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-reserved {
  background: rgba(125, 162, 255, 0.15) !important;
  color: #a7beff !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-uploaded {
  background: rgba(75, 202, 222, 0.14) !important;
  color: #6dd9eb !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-editing {
  background: rgba(241, 182, 90, 0.15) !important;
  color: #f6c979 !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-retake {
  background: rgba(255, 139, 152, 0.14) !important;
  color: #ffabb5 !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-final {
  background: rgba(158, 131, 255, 0.15) !important;
  color: #bba6ff !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-review {
  background: rgba(241, 182, 90, 0.14) !important;
  color: #f6c979 !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-corrections {
  background: rgba(255, 143, 107, 0.15) !important;
  color: #ffa88b !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-ready {
  background: rgba(68, 202, 192, 0.15) !important;
  color: #73e3db !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-posted {
  background: rgba(170, 184, 204, 0.13) !important;
  color: #bdc9d9 !important;
}

/* =========================================================
   v0.6.6 — Speaker-first Home + scalable text polish + day access fix
   ========================================================= */
body .rpp-app .rpp-home-hero {
  grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 28rem) !important;
  gap: clamp(22px, 1.8vw, 34px) !important;
  align-items: center !important;
  padding: clamp(28px, 2.65vw, 54px) !important;
  border-radius: clamp(24px, 1.35vw, 34px) !important;
}
body .rpp-app .rpp-home-hero h1 {
  font-size: clamp(46px, 4.85vw, 86px) !important;
  line-height: 0.94 !important;
  letter-spacing: -0.085em !important;
  max-width: 13ch;
}
body .rpp-app .rpp-home-hero p {
  max-width: 58rem !important;
  font-size: clamp(18px, 0.55vw + 15px, 24px) !important;
  line-height: 1.55 !important;
  color: #435064 !important;
}
body .rpp-app .rpp-home-task-grid {
  gap: clamp(14px, 1vw, 22px) !important;
}

body .rpp-app .rpp-phase-progress-shell {
  display: grid;
  gap: clamp(12px, 0.75vw, 18px);
  padding: clamp(16px, 1vw, 24px) !important;
  border-radius: clamp(22px, 1.15vw, 30px) !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.92), rgba(244, 248, 255, 0.78)) !important;
  border: 1px solid rgba(20, 32, 53, 0.08) !important;
  box-shadow: 0 18px 44px rgba(30, 51, 88, 0.075) !important;
  margin: 0 !important;
}
body .rpp-app .rpp-phase-progress-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
body .rpp-app .rpp-phase-progress-head span {
  color: #185cff;
  font-size: clamp(12px, 0.18vw + 10px, 15px);
  font-weight: 950;
  letter-spacing: 0.14em;
}
body .rpp-app .rpp-phase-progress-head strong {
  color: #152033;
  font-size: clamp(16px, 0.42vw + 13px, 22px);
  letter-spacing: -0.02em;
}
body .rpp-app .rpp-phase-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(10px, 0.65vw, 16px) !important;
  margin: 0 !important;
}
body .rpp-app .rpp-phase-step {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(12px, 0.8vw, 18px) !important;
  min-height: clamp(88px, 5vw, 118px) !important;
  padding: clamp(16px, 1vw, 24px) !important;
  border-radius: clamp(18px, 0.9vw, 24px) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  border: 1px solid rgba(20, 32, 53, 0.09) !important;
  box-shadow: none !important;
}
body .rpp-app .rpp-phase-step span {
  width: clamp(36px, 2.1vw, 48px) !important;
  height: clamp(36px, 2.1vw, 48px) !important;
  font-size: clamp(17px, 0.65vw, 25px) !important;
  flex: 0 0 auto;
}
body .rpp-app .rpp-phase-step strong {
  display: block;
  margin: 0 0 0.18rem !important;
  font-size: clamp(19px, 0.78vw + 13px, 29px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.035em !important;
}
body .rpp-app .rpp-phase-step small {
  display: block;
  font-size: clamp(14px, 0.2vw + 12px, 17px) !important;
  line-height: 1.28 !important;
}
body .rpp-app .rpp-phase-step.is-active {
  background: linear-gradient(145deg, #142033, #22395f) !important;
  box-shadow: 0 16px 34px rgba(21, 32, 51, 0.18) !important;
}
body .rpp-app .rpp-phase-step.is-done {
  background: rgba(21, 149, 101, 0.1) !important;
}
@media (min-width: 1600px) {
  body .rpp-app .rpp-home-task-grid {
    grid-template-columns: repeat(3, minmax(280px, 1fr)) !important;
  }
  body .rpp-app .rpp-grid.is-filtered-grid {
    grid-template-columns: repeat(3, minmax(280px, 1fr)) !important;
  }
}
@media (max-width: 1120px) {
  body .rpp-app .rpp-home-hero {
    grid-template-columns: 1fr !important;
  }
  body .rpp-app .rpp-phase-progress {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 720px) {
  body .rpp-app .rpp-home-hero h1 {
    font-size: clamp(38px, 12vw, 58px) !important;
    max-width: 12ch;
  }
  body .rpp-app .rpp-phase-progress-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.3rem;
  }
  body .rpp-app .rpp-phase-progress {
    grid-template-columns: 1fr !important;
  }
}

html[data-rpp-theme='dark'] body .rpp-app .rpp-phase-progress-shell {
  background: rgba(20, 29, 46, 0.93) !important;
  border-color: rgba(182, 202, 240, 0.14) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-phase-progress-head strong {
  color: #edf4ff !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-hero p,
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-section-head p {
  color: #aab8cc !important;
}

/* -------------------------------------------------------------------------
   v0.6.6 — day access fix
   Reserved filming days must always be openable before RAW upload.
   ------------------------------------------------------------------------- */
body .rpp-app .rpp-btn-secondary-upload {
  background: rgba(255, 255, 255, 0.72) !important;
  color: #0f8f5c !important;
  border-color: rgba(16, 185, 129, 0.24) !important;
  box-shadow: none !important;
}
body .rpp-app .rpp-btn-secondary-upload:hover {
  background: rgba(236, 253, 245, 0.96) !important;
  border-color: rgba(16, 185, 129, 0.42) !important;
}
body .rpp-app .rpp-home-task-actions .rpp-btn-open,
body .rpp-app .rpp-day-actions-compact .rpp-btn-open {
  background: #152033 !important;
  color: #fff !important;
  border-color: #152033 !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-secondary-upload {
  background: rgba(16, 185, 129, 0.12) !important;
  color: #7cf0bd !important;
  border-color: rgba(124, 240, 189, 0.22) !important;
}

/* -------------------------------------------------------------------------
   v0.6.8 — remove Home view and tighten day phase stepper
   ------------------------------------------------------------------------- */
body .rpp-app .rpp-view-switcher {
  align-self: flex-start;
}
body .rpp-app .rpp-phase-progress-shell {
  padding: clamp(14px, 0.85vw, 18px) !important;
  border-radius: 22px !important;
  margin: 0 !important;
}
body .rpp-app .rpp-phase-progress-head {
  margin-bottom: 2px !important;
}
body .rpp-app .rpp-phase-progress-head span {
  font-size: clamp(11px, 0.16vw + 10px, 13px) !important;
}
body .rpp-app .rpp-phase-progress-head strong {
  font-size: clamp(15px, 0.32vw + 13px, 19px) !important;
}
body .rpp-app .rpp-phase-progress {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(8px, 0.52vw, 12px) !important;
}
body .rpp-app .rpp-phase-step {
  min-height: auto !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  padding: clamp(12px, 0.75vw, 16px) !important;
  gap: clamp(9px, 0.55vw, 12px) !important;
  border-radius: 16px !important;
}
body .rpp-app .rpp-phase-step span {
  width: clamp(30px, 1.6vw, 38px) !important;
  height: clamp(30px, 1.6vw, 38px) !important;
  font-size: clamp(14px, 0.45vw, 18px) !important;
}
body .rpp-app .rpp-phase-step strong {
  font-size: clamp(15px, 0.34vw + 12px, 20px) !important;
  line-height: 1.08 !important;
}
body .rpp-app .rpp-phase-step small {
  font-size: clamp(12px, 0.16vw + 10px, 14px) !important;
  line-height: 1.25 !important;
}
@media (max-width: 980px) {
  body .rpp-app .rpp-phase-progress {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 640px) {
  body .rpp-app .rpp-phase-progress {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   v0.6.9 — Mobile calendar hardening
   Fixes: overlapping calendar status/date text, duplicate-looking phase
   pills, and uneven one-item second row in the mobile section switcher.
   ========================================================= */
body .rpp-app .rpp-calendar-status-row {
  min-width: 0 !important;
}
body .rpp-app .rpp-calendar-shell .rpp-day-heading {
  min-width: 0 !important;
}
body .rpp-app .rpp-calendar-shell .rpp-day-weekday {
  display: block !important;
  color: #111827 !important;
  font-size: clamp(15px, 0.25vw + 13px, 18px) !important;
  font-weight: 950 !important;
  letter-spacing: 0.16em !important;
  line-height: 1.08 !important;
  text-transform: uppercase !important;
}
body .rpp-app .rpp-calendar-shell .rpp-date {
  color: #667085 !important;
  font-size: clamp(22px, 1vw + 16px, 34px) !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.04 !important;
}
body .rpp-app .rpp-calendar-shell .rpp-speaker-label {
  color: #7b8493 !important;
  font-weight: 850 !important;
}
body .rpp-app .rpp-calendar-shell .rpp-calendar-file-pills span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 11px !important;
  font-size: clamp(13px, 0.2vw + 11px, 15px) !important;
  line-height: 1.1 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

@media (max-width: 720px) {
  body .rpp-app:not(:has(> .rpp-day2)) {
    width: calc(100% - 20px) !important;
    padding: 18px 12px 28px !important;
  }
  body .rpp-app .rpp-view-switcher {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px !important;
    border-radius: 28px !important;
    overflow: visible !important;
  }
  body .rpp-app .rpp-view-pill {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px !important;
    justify-content: center !important;
    border-radius: 22px !important;
    padding: 14px 10px !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }
  body .rpp-app .rpp-calendar-filters,
  body .rpp-app .rpp-posting-filters {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
  }
  body .rpp-app .rpp-calendar-filter,
  body .rpp-app .rpp-posting-filter {
    width: 100% !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 10px 8px !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }
  body .rpp-app .rpp-calendar-filter span,
  body .rpp-app .rpp-posting-filter span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

@media (max-width: 680px) {
  body .rpp-app .rpp-calendar-shell .rpp-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    min-height: 0 !important;
    padding: 22px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day-weekday {
    font-size: 15px !important;
    letter-spacing: 0.18em !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-date {
    font-size: 40px !important;
    line-height: 0.98 !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-status-row {
    display: flex !important;
    width: 100% !important;
    gap: 8px !important;
    margin: 0 !important;
    flex-wrap: nowrap !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-status-row .rpp-status {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 11px 13px !important;
    border-radius: 999px !important;
    white-space: normal !important;
    min-width: 0 !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-status-row .rpp-status span {
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-status-row .rpp-status strong {
    flex: 0 0 auto !important;
    min-height: 36px !important;
    padding: 8px 12px !important;
    font-size: 15px !important;
    line-height: 1 !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-speaker {
    width: 100% !important;
    font-size: 22px !important;
    line-height: 1.34 !important;
    font-weight: 850 !important;
    color: #111827 !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-speaker-empty {
    color: #7b8493 !important;
    font-weight: 800 !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-file-pills {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-file-pills span {
    min-width: 54px !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
    font-size: 16px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day-actions .rpp-btn {
    width: 100% !important;
    min-height: 62px !important;
    border-radius: 18px !important;
    padding: 15px 16px !important;
    font-size: 22px !important;
    line-height: 1.14 !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
  }
}

@media (max-width: 390px) {
  body .rpp-app .rpp-view-pill {
    min-height: 54px !important;
    font-size: 16px !important;
  }
  body .rpp-app .rpp-calendar-filter,
  body .rpp-app .rpp-posting-filter {
    font-size: 14px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-date {
    font-size: 34px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-speaker {
    font-size: 19px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-status-row .rpp-status span {
    font-size: 16px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day-actions .rpp-btn {
    min-height: 56px !important;
    font-size: 19px !important;
  }
}

/* =========================================================
   v0.6.10 — Balanced mobile calendar polish
   Fixes oversized mobile typography from v0.6.9 and replaces the
   stretched status badge with a compact responsive chip.
   ========================================================= */
@media (max-width: 720px) {
  body .rpp-app:not(:has(> .rpp-day2)) {
    width: calc(100% - 22px) !important;
    padding: 16px 11px 26px !important;
  }
  body .rpp-app .rpp-view-switcher {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 8px !important;
    border-radius: 24px !important;
  }
  body .rpp-app .rpp-view-pill {
    min-height: 48px !important;
    border-radius: 18px !important;
    padding: 10px 8px !important;
    font-size: clamp(14px, 4.2vw, 16px) !important;
    line-height: 1.12 !important;
  }
  body .rpp-app .rpp-calendar-filters,
  body .rpp-app .rpp-posting-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  body .rpp-app .rpp-calendar-filter,
  body .rpp-app .rpp-posting-filter {
    min-height: 42px !important;
    padding: 8px 7px !important;
    font-size: clamp(12px, 3.35vw, 14px) !important;
  }
  body .rpp-app .rpp-calendar-filter strong,
  body .rpp-app .rpp-posting-filter strong {
    min-width: 1.45rem !important;
    height: 1.45rem !important;
    font-size: 0.72rem !important;
  }
}

@media (max-width: 680px) {
  body .rpp-app .rpp-calendar-shell .rpp-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day {
    gap: 12px !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day-heading {
    gap: 4px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day-weekday {
    font-size: clamp(12px, 3.45vw, 14px) !important;
    letter-spacing: 0.16em !important;
    line-height: 1.05 !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-date {
    font-size: clamp(29px, 8.7vw, 36px) !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-status-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    width: 100% !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-status-row .rpp-status {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    padding: 8px 10px !important;
    border-radius: 18px !important;
    white-space: normal !important;
    box-shadow: none !important;
  }
  /* v0.7.6 (review #5): recolorarea palidă istorică a chip-ului FINAL pe mobil a fost scoasă —
     pe dark textul #5b3fc0 cădea la ~2.2:1; FINAL intră acum în sistemul unificat de chip-uri. */
  body .rpp-app .rpp-calendar-shell .rpp-calendar-status-row .rpp-status span {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    font-size: clamp(14px, 4vw, 16px) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.015em !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-status-row .rpp-status strong {
    flex: 0 0 auto !important;
    min-height: 26px !important;
    padding: 5px 9px !important;
    font-size: clamp(11px, 3.15vw, 12.5px) !important;
    line-height: 1 !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-speaker {
    width: 100% !important;
    font-size: clamp(17px, 5vw, 20px) !important;
    line-height: 1.26 !important;
    font-weight: 850 !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-speaker-label {
    font-size: 0.95em !important;
    color: #737d8d !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-file-pills {
    gap: 8px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-file-pills span {
    min-width: auto !important;
    min-height: 34px !important;
    padding: 7px 10px !important;
    font-size: clamp(12px, 3.7vw, 14px) !important;
    letter-spacing: 0.035em !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day-actions {
    gap: 8px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day-actions .rpp-btn {
    min-height: 50px !important;
    border-radius: 16px !important;
    padding: 12px 14px !important;
    font-size: clamp(16px, 4.8vw, 18px) !important;
    line-height: 1.12 !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day-actions .rpp-btn-secondary-upload {
    min-height: 48px !important;
    font-size: clamp(15px, 4.4vw, 17px) !important;
  }
}

@media (max-width: 390px) {
  body .rpp-app .rpp-calendar-shell .rpp-day {
    padding: 16px !important;
    gap: 11px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-date {
    font-size: 30px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-speaker {
    font-size: 17px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-status-row .rpp-status span {
    font-size: 14px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-calendar-status-row .rpp-status strong {
    min-height: 24px !important;
    padding: 4px 8px !important;
    font-size: 11px !important;
  }
  body .rpp-app .rpp-calendar-shell .rpp-day-actions .rpp-btn {
    min-height: 48px !important;
    font-size: 16px !important;
  }
}

/* =========================================================
   v0.6.13 — Guest gate width + button contrast polish
   Keeps the unauthenticated platform gate visually aligned with
   the wide header/footer rail instead of stretching edge-to-edge.
   ========================================================= */
body .rpp-app-gate {
  box-sizing: border-box !important;
  width: min(1480px, calc(100% - clamp(1.5rem, 6vw, 5rem))) !important;
  max-width: 1480px !important;
  margin: clamp(1.2rem, 2.2vw, 2.3rem) auto !important;
  min-height: clamp(420px, 58vh, 680px) !important;
  border-radius: clamp(1.5rem, 2.2vw, 2.35rem) !important;
  padding: clamp(2.2rem, 5vw, 5.8rem) !important;
}
body .rpp-app-gate-inner {
  width: min(100%, 760px) !important;
}
body .rpp-app-gate h1 {
  max-width: 760px !important;
  font-size: clamp(3rem, 2.1rem + 2.4vw, 5.1rem) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.07em !important;
}
body .rpp-app-gate p {
  max-width: 720px !important;
  margin-top: clamp(1rem, 1.3vw, 1.35rem) !important;
  font-size: clamp(1.12rem, 1.02rem + 0.35vw, 1.35rem) !important;
  line-height: 1.62 !important;
}
body .rpp-app-gate-actions {
  gap: 0.75rem !important;
  margin-top: clamp(1.4rem, 1.8vw, 2rem) !important;
}
body .rpp-app-gate-actions .rpp-btn {
  min-height: clamp(3.15rem, 2.8rem + 0.55vw, 3.75rem) !important;
  padding: 0 clamp(1.25rem, 1rem + 0.8vw, 1.9rem) !important;
  border-radius: clamp(0.9rem, 0.75rem + 0.35vw, 1.1rem) !important;
  font-size: clamp(1rem, 0.93rem + 0.22vw, 1.16rem) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
}
body .rpp-app-gate-actions .rpp-btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, #2f66ff, #86a2ff) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: 0 14px 32px rgba(47, 102, 255, 0.28) !important;
}
body .rpp-app-gate-actions .rpp-btn:not(.rpp-btn-primary) {
  color: #101827 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border-color: rgba(16, 24, 39, 0.12) !important;
  box-shadow: 0 10px 24px rgba(16, 24, 39, 0.1) !important;
}
html[data-rpp-theme='dark'] body .rpp-app-gate {
  background:
    radial-gradient(circle at 50% 0%, rgba(77, 119, 217, 0.17), transparent 35%),
    radial-gradient(circle at 0% 100%, rgba(74, 107, 180, 0.12), transparent 32%), rgba(13, 20, 34, 0.92) !important;
  border-color: rgba(182, 202, 240, 0.15) !important;
  box-shadow: 0 26px 90px rgba(0, 0, 0, 0.24) !important;
}
html[data-rpp-theme='dark'] body .rpp-app-gate p {
  color: rgba(226, 235, 248, 0.78) !important;
}
html[data-rpp-theme='dark'] body .rpp-app-gate-actions .rpp-btn:not(.rpp-btn-primary) {
  color: #eef4ff !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(226, 235, 248, 0.2) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.22) !important;
}
@media (max-width: 680px) {
  body .rpp-app-gate {
    width: min(calc(100% - 1.5rem), 620px) !important;
    margin: 0.75rem auto !important;
    min-height: clamp(26rem, 72dvh, 36rem) !important;
    border-radius: 1.25rem !important;
    padding: clamp(2rem, 7vw, 2.65rem) clamp(1.2rem, 5vw, 1.65rem) !important;
  }
  body .rpp-app-gate h1 {
    font-size: clamp(2.45rem, 10vw, 3.35rem) !important;
    line-height: 0.96 !important;
  }
  body .rpp-app-gate p {
    font-size: clamp(1rem, 4vw, 1.08rem) !important;
    line-height: 1.55 !important;
  }
  body .rpp-app-gate-actions {
    width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  body .rpp-app-gate-actions .rpp-btn {
    width: 100% !important;
    min-height: 3.25rem !important;
    font-size: 1rem !important;
  }
}

/* v0.6.14 — Large direct-to-Drive upload support keeps file bytes out of WordPress/PHP. */

/* v0.6.24 — Script reader section: large, continuous, filming-friendly */
.rpp-script-card {
  padding: clamp(22px, 3vw, 34px);
  border-radius: 30px;
  display: grid;
  gap: clamp(20px, 3vw, 30px);
}
.rpp-script-card.is-empty {
  border-style: dashed;
  opacity: 0.86;
}
.rpp-script-card.is-empty h2 {
  margin: 0;
  font-size: clamp(24px, 3vw, 36px);
}
.rpp-script-card.is-empty p {
  margin: 0;
  color: var(--rpp-muted, #6b7280);
  font-size: clamp(16px, 1.3vw, 19px);
  line-height: 1.6;
}
.rpp-script-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  flex-wrap: wrap;
}
.rpp-script-head h2 {
  margin: 5px 0 0;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.05em;
  color: var(--rpp-text, #111827);
}
.rpp-script-head small {
  display: block;
  margin-top: 10px;
  color: var(--rpp-muted, #6b7280);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: -0.01em;
}
.rpp-script-reader-button:where(:not(.rpp-day2, .rpp-day2 *)) {
  min-height: 44px;
  white-space: nowrap;
}
.rpp-script-day-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 100%;
}
.rpp-script-day-actions .rpp-btn {
  min-height: 44px;
}
/* v0.6.34: the label and the badge are both inline-flex, so the badge used to sit on the
   SAME line as its "3 · Lecture Type" label and overlap it. Force the label onto its own
   line in this step so the badge drops cleanly below it. */
@media (max-width: 780px) {
  .rpp-script-card {
    padding: 20px;
    border-radius: 24px;
    gap: 18px;
  }
  .rpp-script-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .rpp-script-head h2 {
    font-size: clamp(28px, 9vw, 44px);
  }
  .rpp-script-reader-button:where(:not(.rpp-day2, .rpp-day2 *)) {
    width: 100%;
    justify-content: center;
  }
  .rpp-script-day-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }
  .rpp-script-day-actions .rpp-btn {
    width: 100%;
    justify-content: center;
  }
}

/* v0.6.24 — Fullscreen Script Reader mode */
body.rpp-script-reader-open {
  overflow: hidden !important;
}

/* v0.6.22: AJAX feedback should not push the page back to the top.
   v0.14.2: toast-ul stă în .rpp-toast-layer, copil direct al lui <body> (showTransientMessage), în afara .rpp-app.
   v0.15.0: e toast-ul sistemului de design (bd-toast, ui/toast.js); stratul și pastila au stilul în 26-ds-platform.css. */

/* v0.6.22 — AJAX view transitions, local action feedback and scroll-stable loaders */
body .rpp-app {
  position: relative;
}
body .rpp-app .rpp-inline-message {
  margin: 0.65rem 0 0.2rem;
  padding: 0.72rem 0.86rem;
  border-radius: 1rem;
  font-weight: 850;
  font-size: 0.88rem;
  line-height: 1.35;
  animation: rppInlineMessageIn 0.24s ease both;
}
body .rpp-app .rpp-inline-message-success {
  background: rgba(21, 149, 101, 0.12);
  border: 1px solid rgba(21, 149, 101, 0.18);
  color: #0f7a53;
}
body .rpp-app .rpp-inline-message-error {
  background: rgba(210, 75, 85, 0.12);
  border: 1px solid rgba(210, 75, 85, 0.2);
  color: #b42334;
}
@keyframes rppInlineMessageIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
body .rpp-app.rpp-is-soft-loading .rpp-shell:where(:not(.rpp-day2, .rpp-day2 *)) {
  filter: saturate(0.96);
}
body .rpp-app .rpp-soft-loader {
  position: absolute;
  inset: 0;
  z-index: 40;
  pointer-events: none;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: min(26vh, 13rem);
  background: linear-gradient(180deg, rgba(248, 250, 255, 0.36), rgba(248, 250, 255, 0.12));
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  animation: rppSoftFadeIn 0.18s ease both;
}
body .rpp-app .rpp-soft-loader-card {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.78rem 1rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(20, 32, 53, 0.1);
  box-shadow: 0 1.1rem 2.5rem rgba(20, 32, 53, 0.14);
  color: #152033;
  font-size: 0.92rem;
  font-weight: 900;
}
body .rpp-app .rpp-soft-loader-card span {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  border: 2px solid rgba(29, 93, 255, 0.18);
  border-top-color: #1d5dff;
  animation: rppSpin 0.8s linear infinite;
}
body .rpp-app .rpp-skeleton-shell {
  animation: rppViewFadeIn 0.22s ease both;
}
body .rpp-app .rpp-skeleton-topbar {
  border-radius: 1.55rem;
  padding: 1.25rem 1.35rem;
  margin-bottom: 1rem;
  background: rgba(255, 255, 255, 0.68);
  border: 1px solid rgba(20, 32, 53, 0.08);
  box-shadow: 0 1rem 2.2rem rgba(30, 51, 88, 0.08);
}
body .rpp-app .rpp-skeleton-topbar div {
  display: grid;
  gap: 0.7rem;
  max-width: 36rem;
}
body .rpp-app .rpp-skeleton-topbar span,
body .rpp-app .rpp-skeleton-topbar i,
body .rpp-app .rpp-skeleton-card span,
body .rpp-app .rpp-skeleton-card i,
body .rpp-app .rpp-skeleton-card b,
body .rpp-app .rpp-skeleton-card em,
body .rpp-app .rpp-skeleton-card small {
  display: block;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(20, 32, 53, 0.07), rgba(255, 255, 255, 0.6), rgba(20, 32, 53, 0.07));
  background-size: 220% 100%;
  animation: rppSkeletonShimmer 1.15s ease-in-out infinite;
}
body .rpp-app .rpp-skeleton-topbar span {
  width: 8rem;
  height: 0.7rem;
}
body .rpp-app .rpp-skeleton-topbar strong {
  font-size: 1.1rem;
  color: #152033;
}
body .rpp-app .rpp-skeleton-topbar i {
  width: 18rem;
  max-width: 80%;
  height: 0.8rem;
}
body .rpp-app .rpp-skeleton-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
body .rpp-app .rpp-skeleton-grid.is-calendar {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
body .rpp-app .rpp-skeleton-card {
  min-height: 10.5rem;
  border-radius: 1.35rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.66);
  border: 1px solid rgba(20, 32, 53, 0.08);
  box-shadow: 0 0.9rem 2rem rgba(30, 51, 88, 0.07);
  display: grid;
  align-content: start;
  gap: 0.75rem;
}
body .rpp-app .rpp-skeleton-card span {
  width: 35%;
  height: 0.65rem;
}
body .rpp-app .rpp-skeleton-card i {
  width: 60%;
  height: 1.05rem;
}
body .rpp-app .rpp-skeleton-card b {
  width: 42%;
  height: 1.8rem;
}
body .rpp-app .rpp-skeleton-card em {
  width: 86%;
  height: 0.85rem;
}
body .rpp-app .rpp-skeleton-card small {
  width: 55%;
  height: 0.85rem;
}
@keyframes rppSkeletonShimmer {
  0% {
    background-position: 110% 0;
  }
  100% {
    background-position: -110% 0;
  }
}
@keyframes rppViewFadeIn {
  from {
    opacity: 0;
    transform: translateY(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes rppSoftFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes rppSpin {
  to {
    transform: rotate(360deg);
  }
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-inline-message-success {
  background: rgba(52, 211, 153, 0.14);
  border-color: rgba(52, 211, 153, 0.22);
  color: #7df0c2;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-inline-message-error {
  background: rgba(248, 113, 113, 0.14);
  border-color: rgba(248, 113, 113, 0.22);
  color: #fecaca;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-soft-loader {
  background: linear-gradient(180deg, rgba(9, 14, 24, 0.36), rgba(9, 14, 24, 0.12));
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-soft-loader-card,
html[data-rpp-theme='dark'] body .rpp-app .rpp-skeleton-topbar,
html[data-rpp-theme='dark'] body .rpp-app .rpp-skeleton-card {
  background: rgba(20, 29, 46, 0.86);
  border-color: rgba(182, 202, 240, 0.13);
  color: #eef4ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-skeleton-topbar strong {
  color: #eef4ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-skeleton-topbar span,
html[data-rpp-theme='dark'] body .rpp-app .rpp-skeleton-topbar i,
html[data-rpp-theme='dark'] body .rpp-app .rpp-skeleton-card span,
html[data-rpp-theme='dark'] body .rpp-app .rpp-skeleton-card i,
html[data-rpp-theme='dark'] body .rpp-app .rpp-skeleton-card b,
html[data-rpp-theme='dark'] body .rpp-app .rpp-skeleton-card em,
html[data-rpp-theme='dark'] body .rpp-app .rpp-skeleton-card small {
  background: linear-gradient(90deg, rgba(226, 236, 255, 0.08), rgba(255, 255, 255, 0.16), rgba(226, 236, 255, 0.08));
  background-size: 220% 100%;
}
@media (max-width: 920px) {
  body .rpp-app .rpp-skeleton-grid.is-calendar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  body .rpp-app .rpp-skeleton-grid,
  body .rpp-app .rpp-skeleton-grid.is-calendar {
    grid-template-columns: 1fr;
  }
  body .rpp-app .rpp-soft-loader {
    padding-top: 18vh;
  }
  body .rpp-app .rpp-soft-loader-card {
    max-width: calc(100vw - 2rem);
  }
}

/* v0.6.25 — Script card stays compact; full text is intentionally opened in Reader Mode */
.rpp-script-card-collapsed {
  gap: clamp(16px, 2vw, 22px);
}
.rpp-script-card-collapsed .rpp-script-head {
  align-items: center;
}
.rpp-script-locked-preview {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  border: 1px solid rgba(37, 99, 235, 0.16);
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.08), rgba(20, 184, 166, 0.06));
  border-radius: 24px;
  padding: clamp(16px, 2vw, 22px);
  color: var(--rpp-text, #111827);
}
.rpp-script-locked-icon {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: #0f172a;
  color: #fff;
  font-weight: 950;
  font-size: 20px;
  letter-spacing: -0.05em;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16);
}
.rpp-script-locked-preview strong {
  display: block;
  margin: 0 0 5px;
  font-size: clamp(18px, 1.6vw, 22px);
  line-height: 1.18;
  letter-spacing: -0.03em;
  color: var(--rpp-text, #0f172a);
}
.rpp-script-locked-preview p {
  margin: 0;
  color: var(--rpp-muted, #64748b);
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.55;
  font-weight: 680;
}
.rpp-script-locked-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}
.rpp-script-locked-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border-radius: 999px;
  padding: 5px 9px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(148, 163, 184, 0.24);
  color: #1e293b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
[data-rpp-theme='dark'] .rpp-script-locked-preview {
  background: linear-gradient(135deg, rgba(96, 165, 250, 0.13), rgba(45, 212, 191, 0.1));
  border-color: rgba(148, 163, 184, 0.2);
}
[data-rpp-theme='dark'] .rpp-script-locked-icon {
  background: #f8fafc;
  color: #0f172a;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
}
[data-rpp-theme='dark'] .rpp-script-locked-tags span {
  background: rgba(15, 23, 42, 0.72);
  border-color: rgba(148, 163, 184, 0.24);
  color: #e2e8f0;
}
@media (max-width: 640px) {
  .rpp-script-card-collapsed {
    padding: 18px;
    border-radius: 24px;
  }
  .rpp-script-card-collapsed .rpp-script-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .rpp-script-locked-preview {
    grid-template-columns: 1fr;
    gap: 12px;
    border-radius: 20px;
    padding: 15px;
  }
  .rpp-script-locked-icon {
    width: 48px;
    height: 48px;
    border-radius: 16px;
  }
}

/* =========================================================
   v0.6.26 — Mobile viewport lock, robust Script Reader sizing, and dark contrast fixes
   ========================================================= */
/* v0.15.0 (decizia lui Beni, auditul UI §4.8): pagina se poate mări cu două degete. touch-action era pan-y (blocat și
   mărirea); manipulation păstrează derularea și mărirea cu două degete și oprește doar mărirea la dublu tap, ca apăsările
   repetate pe butoane (A+, săgețile lunii) să nu mărească pagina. Fără derulare orizontală la 1× rămâne overflow-x. */
html.rpp-viewport-locked,
body.rpp-viewport-locked,
html:has(#rpp-app),
body:has(#rpp-app) {
  max-width: 100vw !important;
  overflow-x: hidden !important;
  /* Weekful 0.16: `clip` taie la fel ca `hidden`, dar nu face din body un container de derulare, deci `position: sticky`
     merge din nou în shell (Traduceri, Setări, Academy). Browserele fără `clip` rămân pe `hidden` de mai sus. */
  overflow-x: clip !important;
  touch-action: manipulation !important;
  overscroll-behavior-x: none !important;
}
html.rpp-viewport-locked body.rpp-script-reader-open,
body.rpp-script-reader-open {
  max-width: 100vw !important;
  overflow: hidden !important;
}
body.rpp-script-reader-open * {
  box-sizing: border-box;
}

html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-shell .rpp-speaker,
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-shell .rpp-speaker:not(.rpp-speaker-empty),
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-shell .rpp-speaker-label,
html[data-rpp-theme='dark'] body .rpp-app .rpp-work-card .rpp-work-meta,
html[data-rpp-theme='dark'] body .rpp-app .rpp-work-card .rpp-work-meta span {
  color: #f3f7ff !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-shell .rpp-speaker-empty {
  color: #cbd5e1 !important;
}
/* v0.6.36: geometria (padding/radius/border-width) vine din regula de BAZĂ, identică pe
   ambele teme — dark schimbă DOAR culorile. Înainte, box-ul exista doar pe dark, deci
   cardurile aveau spacing diferit între teme. */
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-shell .rpp-speaker {
  background: rgba(148, 163, 184, 0.1) !important;
  border-color: rgba(148, 163, 184, 0.2) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-shell .rpp-speaker-label,
html[data-rpp-theme='dark'] body .rpp-app .rpp-work-card .rpp-work-meta span {
  color: #93c5fd !important;
}

/* =========================================================
   v0.6.27 — Mobile Script Reader toolbar: compact, centered, non-persistent header
   ========================================================= */
@media (max-width: 780px) {
  body.rpp-script-reader-open {
    overflow: hidden !important;
  }
}

/* =========================================================
   v0.6.28 — Per-RAW delete action with guarded confirmation
   ========================================================= */
body .rpp-app .rpp-file-delete:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.45rem;
  padding: 0.58rem 0.78rem;
  border: 0;
  border-radius: 0.72rem;
  background: rgba(220, 38, 38, 0.095);
  color: #b42323;
  font-size: 1rem;
  font-weight: 860;
  line-height: 1.1;
  cursor: pointer;
  text-decoration: none;
}
body .rpp-app .rpp-file-delete:hover:where(:not(.rpp-day2, .rpp-day2 *)),
body .rpp-app .rpp-file-delete:focus-visible:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(220, 38, 38, 0.17);
  color: #991b1b;
  text-decoration: none;
}
body .rpp-app .rpp-file-delete:disabled:where(:not(.rpp-day2, .rpp-day2 *)) {
  cursor: wait;
  opacity: 0.62;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-file-delete:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(248, 113, 113, 0.15);
  color: #fca5a5;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-file-delete:hover:where(:not(.rpp-day2, .rpp-day2 *)),
html[data-rpp-theme='dark'] body .rpp-app .rpp-file-delete:focus-visible:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(248, 113, 113, 0.23);
  color: #fecaca;
}
@media (max-width: 680px) {
  body .rpp-app .rpp-day-workspace .rpp-file-delete:where(:not(.rpp-day2, .rpp-day2 *)) {
    font-size: 0.76rem !important;
    line-height: 1.2 !important;
    min-height: 2.72rem !important;
  }
}

/* v0.6.33 — dark calendar filter count contrast */
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-filter strong,
html[data-rpp-theme='dark'] body .rpp-app .rpp-posting-filter strong {
  background: rgba(237, 244, 255, 0.1) !important;
  color: #edf4ff !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-filter.is-active strong,
html[data-rpp-theme='dark'] body .rpp-app .rpp-posting-filter.is-active strong {
  background: rgba(17, 24, 39, 0.12) !important;
  color: #111827 !important;
}

/* v0.6.34: touch ergonomics — on coarse-pointer devices (phones/tablets) remove hover-lift
   transforms that never trigger on touch, give tap feedback instead, and guarantee that the
   primary interactive controls meet the 44px minimum touch target. Purely additive. */
@media (hover: none) and (pointer: coarse) {
  .rpp-day:hover,
  .rpp-btn:hover {
    transform: none !important;
    box-shadow: none;
  }
  .rpp-day:active {
    transform: scale(0.985);
  }
  .rpp-btn:active {
    transform: scale(0.97);
  }
  .rpp-btn,
  .rpp-view-pill,
  .rpp-social-pill,
  .rpp-back,
  .rpp-status-chip {
    min-height: 44px;
  }
}
/* v0.6.34: last-resort guard against accidental horizontal page scroll on very small phones —
   long unbroken tokens (URLs, file names) wrap instead of pushing the layout wide. */
.rpp-app,
.rpp-shell:where(:not(.rpp-day2, .rpp-day2 *)) {
  max-width: 100%;
  overflow-x: clip;
}
.rpp-file-main strong,
.rpp-day-title,
.rpp-posting-card a,
.rpp-posting-card input {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* ============ v0.6.35: PROFIL MEMBRU (scor + puncte + feedback privat) ============ */
.rpp-profile-page {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.rpp-profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(18px, 3vw, 40px);
  align-items: center;
  border-radius: 26px;
  padding: clamp(18px, 2.6vw, 30px);
}
.rpp-profile-identity {
  display: flex;
  gap: clamp(14px, 2vw, 22px);
  align-items: center;
  min-width: 0;
}
.rpp-profile-avatar {
  position: relative;
  width: clamp(84px, 9vw, 112px);
  height: clamp(84px, 9vw, 112px);
  flex: 0 0 auto;
}
.rpp-profile-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid var(--rpp-border);
  box-shadow: var(--rpp-shadow);
}
.rpp-profile-initials {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, var(--rpp-accent), var(--rpp-accent-2));
  letter-spacing: 0.02em;
}
.rpp-profile-avatar-edit {
  position: absolute;
  right: -4px;
  bottom: -4px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid var(--rpp-bg);
  background: var(--rpp-accent);
  color: #fff;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.25);
}
.rpp-profile-who {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.rpp-profile-who h1 {
  margin: 0;
  font-size: clamp(24px, 3.4vw, 40px);
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--rpp-text);
  overflow-wrap: anywhere;
}
.rpp-profile-who > p {
  margin: 0;
  color: var(--rpp-muted);
  font-weight: 700;
}
.rpp-profile-private-note {
  font-size: 13px;
  color: var(--rpp-muted);
  background: rgba(24, 92, 255, 0.08);
  border: 1px solid rgba(24, 92, 255, 0.16);
  border-radius: 12px;
  padding: 7px 11px;
  max-width: 52ch;
}
[data-rpp-theme='dark'] .rpp-profile-private-note {
  background: rgba(125, 162, 255, 0.1);
  border-color: rgba(125, 162, 255, 0.22);
}
.rpp-profile-picker {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rpp-muted);
  max-width: 340px;
}
.rpp-profile-picker select {
  border: 1px solid var(--rpp-border);
  background: var(--rpp-surface);
  color: var(--rpp-text);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 700;
  min-height: 44px;
}
/* --- inelul de scor --- */
.rpp-profile-score {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  min-width: 170px;
}
.rpp-score-ring {
  position: relative;
  width: clamp(132px, 14vw, 164px);
  height: clamp(132px, 14vw, 164px);
}
.rpp-score-ring svg {
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}
.rpp-score-ring-track {
  fill: none;
  stroke: var(--rpp-border);
  stroke-width: 11;
}
.rpp-score-ring-fill {
  fill: none;
  stroke-width: 11;
  stroke-linecap: round;
  transition: stroke-dashoffset 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.rpp-score-ring.is-green .rpp-score-ring-fill {
  stroke: var(--rpp-success);
}
.rpp-score-ring.is-yellow .rpp-score-ring-fill {
  stroke: var(--rpp-warning);
}
.rpp-score-ring.is-red .rpp-score-ring-fill {
  stroke: var(--rpp-danger);
}
.rpp-score-ring-center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
}
.rpp-score-ring-center strong {
  font-size: clamp(34px, 4vw, 44px);
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--rpp-text);
}
.rpp-score-ring-center span {
  font-size: 12px;
  font-weight: 900;
  color: var(--rpp-muted);
  letter-spacing: 0.08em;
}
.rpp-score-tier {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 3px;
  max-width: 230px;
}
.rpp-score-tier strong {
  font-size: 15px;
  letter-spacing: 0.02em;
}
.rpp-score-tier.is-green strong {
  color: var(--rpp-success);
}
.rpp-score-tier.is-yellow strong {
  color: var(--rpp-warning);
}
.rpp-score-tier.is-red strong {
  color: var(--rpp-danger);
}
.rpp-score-tier span {
  font-size: 12.5px;
  color: var(--rpp-muted);
  line-height: 1.45;
}
/* --- statistici --- */
.rpp-profile-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.rpp-profile-stat {
  border-radius: 18px;
  padding: 16px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-start;
}
.rpp-profile-stat strong {
  font-size: clamp(24px, 2.6vw, 32px);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--rpp-text);
}
.rpp-profile-stat span {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--rpp-muted);
}
.rpp-profile-stat.is-warn strong {
  color: var(--rpp-danger);
}
.rpp-profile-rules {
  margin: 0;
  color: var(--rpp-muted);
  font-size: 13.5px;
  line-height: 1.55;
  max-width: 110ch;
}
.rpp-profile-rules strong {
  color: var(--rpp-text);
}
/* --- istoricul + feedback --- */
.rpp-profile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 16px;
  align-items: start;
}
.rpp-profile-history,
.rpp-profile-feedback {
  border-radius: 22px;
  padding: clamp(16px, 2vw, 22px);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rpp-profile-events,
.rpp-profile-feedback-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-height: 520px;
  overflow: auto;
}
.rpp-profile-event {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border: 1px solid var(--rpp-border);
  border-radius: 14px;
  padding: 10px 12px;
  background: var(--rpp-surface);
}
.rpp-profile-event-badge {
  flex: 0 0 auto;
  min-width: 46px;
  text-align: center;
  border-radius: 999px;
  padding: 6px 8px;
  font-weight: 950;
  font-size: 14px;
}
.rpp-profile-event-badge.is-plus {
  background: rgba(21, 149, 101, 0.13);
  color: var(--rpp-success);
}
.rpp-profile-event-badge.is-minus {
  background: rgba(210, 75, 85, 0.13);
  color: var(--rpp-danger);
}
.rpp-profile-event-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}
.rpp-profile-event-main strong {
  font-size: 14px;
  color: var(--rpp-text);
}
.rpp-profile-event-main small {
  font-size: 12.5px;
  color: var(--rpp-muted);
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.rpp-profile-event-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: flex-end;
  flex: 0 0 auto;
}
.rpp-profile-event-meta time {
  font-size: 11.5px;
  color: var(--rpp-muted);
  font-weight: 700;
  white-space: nowrap;
}
.rpp-profile-day-link {
  border: 1px solid var(--rpp-border);
  background: transparent;
  color: var(--rpp-accent);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}
.rpp-profile-feedback-item {
  border: 1px solid var(--rpp-border);
  border-radius: 14px;
  padding: 12px 14px;
  background: var(--rpp-surface);
}
.rpp-profile-feedback-item p {
  margin: 8px 0 0;
  color: var(--rpp-text);
  line-height: 1.55;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.rpp-profile-feedback-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.rpp-profile-feedback-head strong {
  font-size: 13.5px;
  color: var(--rpp-text);
}
.rpp-profile-feedback-head span {
  font-size: 11.5px;
  color: var(--rpp-muted);
  font-weight: 700;
}
.rpp-profile-feedback-delete {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: var(--rpp-muted);
  font-size: 18px;
  cursor: pointer;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 8px;
}
.rpp-profile-feedback-delete:hover {
  color: var(--rpp-danger);
  background: rgba(210, 75, 85, 0.1);
}
.rpp-profile-empty {
  margin: 0;
  color: var(--rpp-muted);
  font-size: 13.5px;
  line-height: 1.5;
}
.rpp-profile-admin-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-top: 1px dashed var(--rpp-border);
  padding-top: 14px;
}
.rpp-profile-admin-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--rpp-muted);
}
.rpp-profile-admin-form textarea,
.rpp-profile-admin-form input {
  border: 1px solid var(--rpp-border);
  background: var(--rpp-surface);
  color: var(--rpp-text);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
}
.rpp-profile-adjust-fields {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr);
  gap: 10px;
}
.rpp-profile-admin-form .rpp-btn {
  align-self: flex-start;
}
/* --- responsive --- */
@media (max-width: 980px) {
  .rpp-profile-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .rpp-profile-hero {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .rpp-profile-identity {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
  .rpp-profile-who {
    align-items: center;
  }
  .rpp-profile-private-note {
    max-width: 100%;
  }
  .rpp-profile-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rpp-profile-picker {
    width: 100%;
    max-width: 420px;
  }
}
@media (max-width: 430px) {
  .rpp-profile-event {
    flex-wrap: wrap;
  }
  .rpp-profile-event-meta {
    flex-direction: row;
    align-items: center;
    width: 100%;
    justify-content: space-between;
  }
  .rpp-profile-adjust-fields {
    grid-template-columns: 1fr;
  }
}

/* ============ v0.6.36: linkuri de profil + etichete pe un rând + polish dark ============ */
/* numele = link către profil, stil text (nu buton), cu ellipsis când nu încape */
.rpp-person-link:where(:not(.rpp-day2, .rpp-day2 *)) {
  appearance: none;
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  color: var(--rpp-accent);
  font-weight: 800;
  cursor: pointer;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: bottom;
  text-align: left;
}
.rpp-person-link:hover:where(:not(.rpp-day2, .rpp-day2 *)) {
  text-decoration: underline;
}
[data-rpp-theme='dark'] .rpp-person-link:where(:not(.rpp-day2, .rpp-day2 *)) {
  color: #9bb6ff;
}
/* eticheta de status („Postată · Postare") — un singur rând, mereu */
.rpp-status {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
  overflow: hidden;
  max-width: 100%;
}
.rpp-status > span {
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
.rpp-status > strong {
  flex: 0 0 auto;
}
/* „A filmat: Nume" — box IDENTIC pe ambele teme (parity de spacing), un singur rând */
.rpp-speaker {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  overflow: hidden;
  background: rgba(21, 32, 51, 0.05);
  border: 1px solid rgba(21, 32, 51, 0.1);
  border-radius: 14px;
  padding: 9px 11px;
}
.rpp-speaker .rpp-speaker-label {
  flex: 0 0 auto;
}
.rpp-speaker .rpp-person-link:where(:not(.rpp-day2, .rpp-day2 *)) {
  flex: 1 1 auto;
  min-width: 0;
}
.rpp-speaker-empty {
  color: var(--rpp-muted);
}
.rpp-work-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  overflow: hidden;
}
.rpp-work-meta .rpp-person-link:where(:not(.rpp-day2, .rpp-day2 *)) {
  flex: 1 1 auto;
  min-width: 0;
}
/* butoanele „Deschide / Pregătește postarea" — vizibile pe dark (erau alb 7.5% pe card închis) */
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-open,
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-subtle {
  background: rgba(125, 162, 255, 0.16);
  border-color: rgba(125, 162, 255, 0.38);
  color: #dbe7ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-open:hover,
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-subtle:hover {
  background: rgba(125, 162, 255, 0.24);
}
/* ============ v0.6.36: bara de puncte 0→1000 cu recompense (🪙 la 500, 💰 la 1000) ============ */
.rpp-points-quest {
  border-radius: 22px;
  padding: clamp(16px, 2vw, 22px);
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow: visible;
}
.rpp-points-quest-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.rpp-points-quest-count {
  font-size: clamp(22px, 2.4vw, 30px);
  letter-spacing: -0.03em;
  color: var(--rpp-text);
}
.rpp-points-quest-count span {
  font-size: 0.62em;
  color: var(--rpp-muted);
  font-weight: 800;
}
.rpp-points-quest-track {
  position: relative;
  height: 14px;
  border-radius: 999px;
  background: rgba(21, 32, 51, 0.09);
  margin: 18px 26px 6px 0;
}
[data-rpp-theme='dark'] .rpp-points-quest-track {
  background: rgba(182, 202, 240, 0.12);
}
.rpp-points-quest-fill {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--rpp-accent), #f0b429);
  box-shadow: 0 4px 14px rgba(240, 180, 41, 0.35);
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.rpp-points-quest-milestone {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  pointer-events: none;
}
.rpp-points-quest-milestone i {
  font-style: normal;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rpp-surface);
  border: 2px solid var(--rpp-border);
  border-radius: 50%;
  filter: grayscale(1);
  opacity: 0.7;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.14);
}
.rpp-points-quest-milestone.is-mid i {
  width: 34px;
  height: 34px;
  font-size: 17px;
}
.rpp-points-quest-milestone.is-goal i {
  width: 46px;
  height: 46px;
  font-size: 24px;
}
.rpp-points-quest-milestone.is-done i {
  filter: none;
  opacity: 1;
  border-color: #f0b429;
  background: rgba(240, 180, 41, 0.16);
}
.rpp-points-quest-milestone em {
  font-style: normal;
  font-size: 10.5px;
  font-weight: 900;
  color: var(--rpp-muted);
  letter-spacing: 0.04em;
  position: absolute;
  top: calc(100% + 3px);
}
.rpp-points-quest-note {
  margin: 10px 0 0;
  font-size: 13px;
  color: var(--rpp-muted);
  line-height: 1.5;
}
.rpp-profile-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.rpp-profile-hero-limited {
  grid-template-columns: minmax(0, 1fr) auto;
}
@media (max-width: 760px) {
  .rpp-points-quest-track {
    margin-right: 30px;
  }
  .rpp-profile-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .rpp-profile-stat {
    padding: 12px 10px;
  }
  .rpp-profile-stat span {
    font-size: 10.5px;
    letter-spacing: 0.04em;
  }
}

/* ============ v0.6.37: FIX LIVE — eticheta de status pe UN rând + butoanele pe dark ============ */
/* Blindat cu specificitate mare + !important: pe site regula .rpp-day-actions-compact
   .rpp-btn-open{background:#152033!important} câștiga pe AMBELE teme (slab invizibil pe
   dark), iar pill-ul de status încă se rupea pe două rânduri pe unele ecrane. */
body .rpp-app .rpp-status {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 7px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  max-width: 100% !important;
  width: max-content !important;
}
body .rpp-app .rpp-status > span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
}
body .rpp-app .rpp-status > strong {
  flex: 0 0 auto !important;
}
/* Butonul principal de pe card („Deschide ziua / montajul / Pregătește postarea"):
   pe LIGHT rămâne slab-ul închis #152033 (arată bine); pe DARK devine albastru-lavandă
   translucid cu contur — vizibil clar pe card. */
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-open,
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-task-actions .rpp-btn-open,
html[data-rpp-theme='dark'] body .rpp-app .rpp-day-actions-compact .rpp-btn-open {
  background: rgba(125, 162, 255, 0.18) !important;
  color: #dbe7ff !important;
  border-color: rgba(125, 162, 255, 0.45) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-open:hover,
html[data-rpp-theme='dark'] body .rpp-app .rpp-home-task-actions .rpp-btn-open:hover,
html[data-rpp-theme='dark'] body .rpp-app .rpp-day-actions-compact .rpp-btn-open:hover {
  background: rgba(125, 162, 255, 0.28) !important;
  border-color: rgba(125, 162, 255, 0.6) !important;
}
/* „Redeschide" + butoanele subtile: pe dark primesc aceeași familie vizibilă (chihlimbar pt reopen) */
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-reopen:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(241, 182, 90, 0.14) !important;
  color: #f1b65a !important;
  border-color: rgba(241, 182, 90, 0.4) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-reopen:hover:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: rgba(241, 182, 90, 0.22) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-subtle {
  background: rgba(125, 162, 255, 0.12) !important;
  color: #c9d8ff !important;
  border-color: rgba(125, 162, 255, 0.32) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn-danger {
  background: rgba(255, 139, 152, 0.1) !important;
  color: #ff9da6 !important;
  border-color: rgba(255, 139, 152, 0.32) !important;
}

/* ============ v0.6.38: ACADEMY — tutoriale pas-cu-pas ============ */
.rpp-academy-page {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.rpp-academy-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-radius: 26px;
  padding: clamp(20px, 2.8vw, 34px);
  flex-wrap: wrap;
}
.rpp-academy-hero h1 {
  margin: 6px 0 8px;
  font-size: clamp(26px, 3.4vw, 42px);
  letter-spacing: -0.035em;
  line-height: 1.05;
  color: var(--rpp-text);
}
.rpp-academy-hero p {
  margin: 0;
  color: var(--rpp-muted);
  max-width: 64ch;
  line-height: 1.55;
}
.rpp-academy-devices {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.rpp-academy-device {
  border: 1px solid var(--rpp-border);
  background: var(--rpp-surface);
  color: var(--rpp-text);
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 800;
  font-size: 14px;
  cursor: pointer;
  min-height: 44px;
  transition: 0.18s ease;
}
.rpp-academy-device.is-active {
  background: linear-gradient(135deg, var(--rpp-accent), var(--rpp-accent-2));
  color: #fff;
  border-color: transparent;
  box-shadow: 0 10px 24px rgba(24, 92, 255, 0.24);
}
.rpp-academy-category h2 {
  margin: 8px 0 12px;
  font-size: clamp(18px, 2vw, 24px);
  letter-spacing: -0.02em;
  color: var(--rpp-text);
}
.rpp-academy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.rpp-academy-card {
  border-radius: 22px;
  padding: clamp(16px, 2vw, 22px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
}
.rpp-academy-card h3 {
  margin: 0;
  font-size: clamp(17px, 1.6vw, 21px);
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--rpp-text);
}
.rpp-academy-card p {
  margin: 0;
  color: var(--rpp-muted);
  font-size: 13.5px;
  line-height: 1.5;
  flex: 1;
}
.rpp-academy-card.is-complete {
  outline: 2px solid rgba(21, 149, 101, 0.35);
  outline-offset: -2px;
}
.rpp-academy-draft {
  display: inline-block;
  width: max-content;
  background: rgba(207, 122, 16, 0.14);
  color: var(--rpp-warning);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11.5px;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.rpp-academy-card-chips {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.rpp-academy-chip {
  display: inline-flex;
  align-items: center;
  background: rgba(24, 92, 255, 0.1);
  color: var(--rpp-accent);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11.5px;
  font-weight: 900;
  letter-spacing: 0.03em;
  white-space: nowrap;
}
.rpp-academy-chip.is-device {
  background: rgba(111, 79, 214, 0.12);
  color: #7a5cd9;
}
[data-rpp-theme='dark'] .rpp-academy-chip.is-device {
  color: #b39dff;
}
.rpp-academy-chip.is-done {
  background: rgba(21, 149, 101, 0.14);
  color: var(--rpp-success);
}
.rpp-academy-chip.is-progress {
  background: rgba(207, 122, 16, 0.13);
  color: var(--rpp-warning);
}
.rpp-academy-progress {
  height: 7px;
  border-radius: 99px;
  background: rgba(127, 141, 166, 0.18);
  overflow: hidden;
}
.rpp-academy-progress span {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--rpp-accent), var(--rpp-success));
  transition: width 0.35s ease;
}
.rpp-academy-card-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.rpp-academy-empty {
  color: var(--rpp-muted);
  font-size: 14.5px;
}
/* pagina tutorialului */
.rpp-academy-tutorial-head {
  border-radius: 26px;
  padding: clamp(20px, 2.6vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rpp-academy-tutorial-head h1 {
  margin: 0;
  font-size: clamp(24px, 3vw, 38px);
  letter-spacing: -0.03em;
  line-height: 1.08;
  color: var(--rpp-text);
}
.rpp-academy-tutorial-head > p {
  margin: 0;
  color: var(--rpp-muted);
  line-height: 1.55;
  max-width: 75ch;
}
.rpp-academy-tutorial-head.is-complete {
  outline: 2px solid rgba(21, 149, 101, 0.4);
  outline-offset: -2px;
}
.rpp-academy-tutorial-progress {
  display: flex;
  align-items: center;
  gap: 14px;
}
.rpp-academy-tutorial-progress strong {
  flex: 0 0 auto;
  font-size: 14px;
  color: var(--rpp-text);
}
.rpp-academy-tutorial-progress .rpp-academy-progress {
  flex: 1;
}
.rpp-academy-congrats {
  margin: 0;
  color: var(--rpp-success);
  font-weight: 800;
}
.rpp-academy-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  counter-reset: pas;
}
.rpp-academy-step {
  border: 1px solid var(--rpp-border);
  background: var(--rpp-surface);
  border-radius: 20px;
  padding: clamp(16px, 2vw, 22px);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: 0.2s ease;
}
.rpp-academy-step.is-done {
  border-color: rgba(21, 149, 101, 0.4);
  background: rgba(21, 149, 101, 0.05);
}
[data-rpp-theme='dark'] .rpp-academy-step.is-done {
  background: rgba(21, 149, 101, 0.08);
}
.rpp-academy-step-head {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.rpp-academy-step-num {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--rpp-accent), var(--rpp-accent-2));
  color: #fff;
  font-weight: 950;
  font-size: 15px;
}
.rpp-academy-step.is-done .rpp-academy-step-num {
  background: linear-gradient(135deg, #159565, #38b787);
}
.rpp-academy-step-head h3 {
  margin: 0;
  flex: 1 1 200px;
  min-width: 0;
  font-size: clamp(15.5px, 1.5vw, 18.5px);
  letter-spacing: -0.015em;
  color: var(--rpp-text);
}
.rpp-academy-step-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-weight: 800;
  font-size: 13px;
  color: var(--rpp-muted);
  border: 1px solid var(--rpp-border);
  border-radius: 999px;
  padding: 8px 14px;
  min-height: 40px;
  user-select: none;
}
.rpp-academy-step.is-done .rpp-academy-step-check {
  color: var(--rpp-success);
  border-color: rgba(21, 149, 101, 0.4);
  background: rgba(21, 149, 101, 0.1);
}
.rpp-academy-step-check input {
  width: 17px;
  height: 17px;
  accent-color: var(--rpp-success);
  cursor: pointer;
}
.rpp-academy-step-body {
  color: var(--rpp-text);
  font-size: 15px;
  line-height: 1.65;
  max-width: 80ch;
}
.rpp-academy-step-body br + br {
  display: none;
}
.rpp-academy-step-image {
  max-width: min(100%, 560px);
  border-radius: 14px;
  border: 1px solid var(--rpp-border);
}
.rpp-academy-step-video {
  position: relative;
  width: min(100%, 560px);
  aspect-ratio: 16/9;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--rpp-border);
}
.rpp-academy-step-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.rpp-academy-step-videofile {
  max-width: min(100%, 560px);
  border-radius: 14px;
}
/* editorul admin */
.rpp-academy-editor {
  border-radius: 24px;
  padding: clamp(18px, 2.4vw, 28px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.rpp-academy-editor label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rpp-muted);
}
.rpp-academy-editor input[type='text'],
.rpp-academy-editor input[type='url'],
.rpp-academy-editor input[type='number'],
.rpp-academy-editor textarea,
.rpp-academy-editor select {
  border: 1px solid var(--rpp-border);
  background: var(--rpp-surface);
  color: var(--rpp-text);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14.5px;
  font-weight: 600;
  font-family: inherit;
  text-transform: none;
  letter-spacing: 0;
}
.rpp-academy-ed-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}
.rpp-academy-ed-publish {
  flex-direction: row !important;
  align-items: center;
  gap: 8px !important;
  text-transform: none !important;
  font-size: 13.5px !important;
  letter-spacing: 0 !important;
  color: var(--rpp-text) !important;
  border: 1px solid var(--rpp-border);
  border-radius: 12px;
  padding: 11px 12px;
}
.rpp-academy-ed-publish input {
  width: 17px;
  height: 17px;
  accent-color: var(--rpp-accent);
}
.rpp-academy-ed-steps {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.rpp-academy-ed-step {
  border: 1px dashed var(--rpp-border);
  border-radius: 16px;
  padding: 14px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.rpp-academy-ed-step-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.rpp-academy-ed-step-head strong {
  color: var(--rpp-text);
}
.rpp-academy-ed-step-tools {
  display: flex;
  gap: 6px;
}
.rpp-academy-ed-media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
} /* v0.7.4: 1fr lăsa inputul URL să-și impună lățimea intrinsecă */
.rpp-academy-ed-imgrow {
  display: flex;
  gap: 8px;
  min-width: 0;
}
.rpp-academy-ed-imgrow input {
  flex: 1;
  width: 100%;
  min-width: 0;
}
.rpp-academy-ed-step {
  min-width: 0;
} /* v0.7.4: fieldset-urile au min-width:min-content implicit și nu se strângeau pe telefon */
.rpp-academy-ed-actions {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  flex-wrap: wrap;
}
/* responsive */
@media (max-width: 1120px) {
  .rpp-academy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .rpp-academy-grid {
    grid-template-columns: 1fr;
  }
  .rpp-academy-hero {
    flex-direction: column;
    align-items: flex-start;
  }
  .rpp-academy-ed-meta,
  .rpp-academy-ed-media {
    grid-template-columns: minmax(0, 1fr);
  }
  .rpp-academy-step-check {
    width: 100%;
    justify-content: center;
  }
}

/* ===================== v0.7.0: NOTIFICĂRI PUSH ===================== */
.rpp-push-card {
  border-radius: 20px;
  padding: 18px 20px;
  margin: 0 0 18px;
}
.rpp-push-card .rpp-push-body {
  display: grid;
  gap: 12px;
  margin-top: 10px;
}
.rpp-push-card .rpp-push-intro {
  margin: 0;
  font-size: var(--rpp-type-body);
  line-height: var(--rpp-leading-body);
  color: var(--rpp-muted);
}
.rpp-push-card .rpp-push-intro.is-active {
  color: var(--rpp-success);
  font-weight: 750;
}
.rpp-push-card .rpp-push-note {
  margin: 0;
  font-size: var(--rpp-type-body-compact);
  line-height: 1.55;
  color: var(--rpp-muted);
}
.rpp-push-card .rpp-push-steps {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 9px;
  font-size: var(--rpp-type-body-compact);
  line-height: 1.55;
}
.rpp-push-steps li strong {
  color: var(--rpp-text);
}
.rpp-push-share-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 1px solid var(--rpp-border);
  background: rgba(24, 92, 255, 0.08);
  color: var(--rpp-accent);
  font-size: 13px;
  font-weight: 900;
  vertical-align: middle;
}
.rpp-push-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.rpp-push-devices {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.rpp-push-devices li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 9px 13px;
  border-radius: 12px;
  border: 1px solid var(--rpp-border);
  background: rgba(255, 255, 255, 0.55);
  font-size: var(--rpp-type-small);
  font-weight: 700;
}
.rpp-push-devices li small {
  color: var(--rpp-muted);
  font-size: var(--rpp-type-label);
  font-weight: 600;
  white-space: nowrap;
}
.rpp-push-nudge {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  border-radius: 18px;
  padding: 14px 18px;
  margin: 0 0 16px;
}
.rpp-push-nudge-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.rpp-push-nudge-copy strong {
  font-size: 14px;
  letter-spacing: -0.01em;
}
.rpp-push-nudge-copy span {
  font-size: 13px;
  color: var(--rpp-muted);
  line-height: 1.45;
}
.rpp-push-nudge-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 680px) {
  .rpp-push-nudge {
    flex-direction: column;
    align-items: stretch;
  }
  .rpp-push-nudge-actions {
    justify-content: stretch;
  }
  .rpp-push-nudge-actions .rpp-btn {
    flex: 1;
    text-align: center;
  }
  .rpp-push-actions .rpp-btn {
    flex: 1;
    min-height: 44px;
  }
}
[data-rpp-theme='dark'] .rpp-push-devices li {
  background: rgba(255, 255, 255, 0.05);
}
[data-rpp-theme='dark'] .rpp-push-share-icon {
  background: rgba(139, 169, 255, 0.14);
  color: #aebfff;
}
/* v0.7.3: centrare + padding EXPLICITE — portalul stă pe body, în afara .rpp-app, iar
   reset-urile temei (Bricks) lasă altfel butoanele fără padding și cu textul la stânga */
.rpp-academy-hero-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.rpp-profile-tour-restart {
  margin: 10px 0 0;
}

/* =========================================================
   v0.7.4 — RESPONSIVE MOBIL: fix-uri sistemice din audit
   (20 constatări confirmate cu măsurători la 320/375/390px)
   ========================================================= */
/* 1) Track-urile grid implicite lasă copiii lați să întindă TOATĂ pagina (min-content).
   Coloana unică devine strângibilă — orice depășire rămâne izolată în cardul ei. */
body .rpp-app .rpp-shell:where(:not(.rpp-day2, .rpp-day2 *)) {
  grid-template-columns: minmax(0, 1fr);
}
.rpp-dashboard-shell {
  grid-template-columns: minmax(0, 1fr);
}
/* 3) Selectorul „Vezi profilul” (admin) nu se putea strânge sub cea mai lungă opțiune. */
.rpp-profile-picker {
  display: block;
  max-width: 100%;
}
.rpp-profile-picker select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
/* 4) Textele scrise de utilizatori (note, pași de tutorial, headere de postare) se împachetează
   chiar și cu tokene lungi (linkuri Drive lipite) — nu mai ies sute de px din card. */
.rpp-note-row p,
.rpp-academy-step-body,
.rpp-academy-card h3,
.rpp-academy-card p,
.rpp-posting-card-header p,
.rpp-detail-hero p:where(:not(.rpp-day2, .rpp-day2 *)) {
  overflow-wrap: anywhere;
}
/* 5) Tap-target-uri: controalele mici primesc zonă de atingere ≥44px pe touch,
   fără schimbare vizuală (padding compensat cu margin negativ). */
@media (hover: none) and (pointer: coarse) {
  .rpp-person-link:where(:not(.rpp-day2, .rpp-day2 *)),
  .rpp-profile-day-link {
    padding: 12px 6px;
    margin: -9px -4px;
  }
  .rpp-profile-feedback-delete {
    min-width: 44px;
    min-height: 44px;
  }
}

/* =========================================================
   v0.7.5 — „URMEAZĂ LA POSTARE”: ziua de mâine evidențiată
   în calendar (rapsodia ei se publică la noapte, la 00:00)
   + ghidul push per browser (Safari/Chrome/Firefox pe iOS)
   ========================================================= */
/* Glow + fundal ușor tentat pe cardul zilei de mâine. Selectorul cu 2 clase bate
   fundalul din .rpp-glass; varianta dark are mai jos aceeași specificitate ca
   override-ul istoric `html[data-rpp-theme=dark] body .rpp-app .rpp-day`. */
/* v0.7.6 (feedback Beni: „nu arată destul de diferit"): tentă mai vizibilă + inel mai puternic */
.rpp-day.is-next-post {
  border: 1px solid rgba(18, 70, 196, 0.55);
  background: linear-gradient(160deg, rgba(24, 92, 255, 0.14), rgba(255, 255, 255, 0.86) 60%);
  box-shadow:
    0 0 0 3px rgba(24, 92, 255, 0.22),
    0 16px 38px rgba(24, 92, 255, 0.22);
}
.rpp-day.is-next-post:hover {
  box-shadow:
    0 0 0 3px rgba(24, 92, 255, 0.3),
    0 22px 46px rgba(24, 92, 255, 0.28);
}
/* v0.7.6: pill PLIN (alb pe albastru închis, ~8:1) — varianta tentată se pierdea între chip-uri */
.rpp-day-next-flag {
  display: flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  background: #1246c4;
  border: 1px solid #1246c4;
  border-radius: 999px;
  padding: 5px 11px;
}
.rpp-day-next-note {
  display: block;
  font-size: 12px;
  font-weight: 650;
  color: var(--rpp-muted);
  line-height: 1.35;
}
/* !important obligatoriu: blocul istoric dark de la ~1192 vopsește .rpp-day cu !important */
html[data-rpp-theme='dark'] body .rpp-app .rpp-day.is-next-post {
  border-color: rgba(139, 169, 255, 0.75) !important;
  background: linear-gradient(160deg, rgba(107, 141, 255, 0.24), rgba(20, 27, 45, 0.94) 62%) !important;
  box-shadow:
    0 0 0 3px rgba(107, 141, 255, 0.3),
    0 16px 38px rgba(9, 14, 28, 0.55) !important;
}
[data-rpp-theme='dark'] .rpp-day-next-flag {
  color: #fff;
  background: #3b5bdb;
  border-color: rgba(139, 169, 255, 0.6);
}
[data-rpp-theme='dark'] .rpp-day-next-note {
  color: #9aa8c4;
}

/* Ghidul „Adaugă pe ecranul principal” per browser — blocuri pliabile,
   browserul detectat vine deschis și marcat „· browserul tău”. */
.rpp-push-browser {
  border: 1px solid var(--rpp-border);
  border-radius: 14px;
  overflow: hidden;
}
.rpp-push-browser summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 14px;
  font-size: 14px;
  font-weight: 800;
}
.rpp-push-browser summary::-webkit-details-marker {
  display: none;
}
.rpp-push-browser summary::after {
  content: '⌄';
  margin-left: auto;
  color: var(--rpp-muted);
  transition: 0.18s ease;
}
.rpp-push-browser[open] summary::after {
  transform: rotate(180deg);
}
.rpp-push-browser summary em {
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
  color: var(--rpp-accent);
}
.rpp-push-browser .rpp-push-steps {
  padding: 2px 14px 13px 34px;
}
[data-rpp-theme='dark'] .rpp-push-browser summary em {
  color: #aebfff;
}

/* =========================================================
   v0.7.6 — IERARHIE VIZUALĂ ÎN CARDUL ZILEI (feedback Priscilla:
   „toate lucrurile din card au culori prea asemănătoare, mai ales
   pe dark"). Fiecare tip de element primește alt limbaj vizual:
   – chip-ul de ETAPĂ = singurul element PLIN, colorat semantic;
   – VORBITORUL = text simplu, fără cutie (nu mai concurează);
   – pill-urile RAW/FINAL = doar CONTUR, cu nuanțe proprii
     (RAW = teal/material, FINAL = violet/livrabil);
   – butoanele rămân butoane, jos.
   ========================================================= */
/* 1) Vorbitorul: scoatem cutia (fundal+bordură), păstrăm geometria ca spacing-ul să nu sară */
body .rpp-app .rpp-calendar-shell .rpp-speaker {
  background: transparent !important;
  border-color: transparent !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-shell .rpp-speaker {
  background: transparent !important;
  border-color: transparent !important;
}

/* 2) RAW/FINAL: contur, nu plin — și nuanțe diferite între ele (light: 6.5:1 / 7:1 pe alb) */
body .rpp-app .rpp-calendar-shell .rpp-calendar-file-pills span {
  background: rgba(0, 127, 148, 0.06) !important;
  border: 1.5px solid rgba(0, 127, 148, 0.45) !important;
  color: #00687a !important;
}
body .rpp-app .rpp-calendar-shell .rpp-calendar-file-pills span.is-final {
  background: rgba(104, 71, 201, 0.06) !important;
  border-color: rgba(104, 71, 201, 0.45) !important;
  color: #5b3fb8 !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-shell .rpp-calendar-file-pills span {
  background: rgba(75, 202, 222, 0.08) !important;
  border-color: rgba(109, 217, 235, 0.4) !important;
  color: #7fdff0 !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-calendar-shell .rpp-calendar-file-pills span.is-final {
  background: rgba(158, 131, 255, 0.09) !important;
  border-color: rgba(187, 166, 255, 0.4) !important;
  color: #c4b2ff !important;
}

/* 3) Chip-ul de etapă domină pe dark: fundal mai plin + lizieră de aceeași nuanță.
   Lecții din review-ul adversarial v0.7.6:
   – liziera e OUTLINE (offset -1px), NU box-shadow — linia istorică ~3374 pune
     `box-shadow:none!important` pe .rpp-status și ar fi ucis-o pe ambele teme;
     nicio regulă istorică nu atinge outline pe chip-uri;
   – fundalurile dark cer !important — blocul istoric ~3428-3437 le vopsește cu !important. */
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-available {
  background: rgba(97, 214, 162, 0.22) !important;
  outline: 1px solid rgba(97, 214, 162, 0.4);
  outline-offset: -1px;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-reserved {
  background: rgba(125, 162, 255, 0.24) !important;
  outline: 1px solid rgba(125, 162, 255, 0.42);
  outline-offset: -1px;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-uploaded {
  background: rgba(75, 202, 222, 0.22) !important;
  outline: 1px solid rgba(75, 202, 222, 0.4);
  outline-offset: -1px;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-editing {
  background: rgba(241, 182, 90, 0.24) !important;
  outline: 1px solid rgba(241, 182, 90, 0.42);
  outline-offset: -1px;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-retake {
  background: rgba(255, 139, 152, 0.22) !important;
  outline: 1px solid rgba(255, 139, 152, 0.4);
  outline-offset: -1px;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-final {
  background: rgba(158, 131, 255, 0.24) !important;
  outline: 1px solid rgba(158, 131, 255, 0.42);
  outline-offset: -1px;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-review {
  background: rgba(241, 182, 90, 0.22) !important;
  outline: 1px solid rgba(241, 182, 90, 0.4);
  outline-offset: -1px;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-corrections {
  background: rgba(255, 143, 107, 0.24) !important;
  outline: 1px solid rgba(255, 143, 107, 0.42);
  outline-offset: -1px;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-ready {
  background: rgba(68, 202, 192, 0.24) !important;
  outline: 1px solid rgba(68, 202, 192, 0.42);
  outline-offset: -1px;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-status-posted {
  background: rgba(170, 184, 204, 0.16) !important;
  outline: 1px solid rgba(170, 184, 204, 0.28);
  outline-offset: -1px;
}

/* Light: aceeași idee, mai discret — fundalurile urcă de la .13 la .17 + liziera fină */
body .rpp-app .rpp-status-available {
  background: rgba(21, 149, 101, 0.17) !important;
  outline: 1px solid rgba(21, 149, 101, 0.3);
  outline-offset: -1px;
}
body .rpp-app .rpp-status-reserved {
  background: rgba(24, 92, 255, 0.16) !important;
  outline: 1px solid rgba(24, 92, 255, 0.28);
  outline-offset: -1px;
}
body .rpp-app .rpp-status-uploaded {
  background: rgba(0, 142, 163, 0.17) !important;
  outline: 1px solid rgba(0, 142, 163, 0.3);
  outline-offset: -1px;
}
body .rpp-app .rpp-status-editing {
  background: rgba(207, 122, 16, 0.18) !important;
  outline: 1px solid rgba(207, 122, 16, 0.3);
  outline-offset: -1px;
}
body .rpp-app .rpp-status-retake {
  background: rgba(210, 75, 85, 0.17) !important;
  outline: 1px solid rgba(210, 75, 85, 0.3);
  outline-offset: -1px;
}
body .rpp-app .rpp-status-final {
  background: rgba(111, 79, 214, 0.17) !important;
  outline: 1px solid rgba(111, 79, 214, 0.3);
  outline-offset: -1px;
}
body .rpp-app .rpp-status-review {
  background: rgba(224, 103, 28, 0.17) !important;
  outline: 1px solid rgba(224, 103, 28, 0.3);
  outline-offset: -1px;
}
body .rpp-app .rpp-status-corrections {
  background: rgba(203, 75, 47, 0.18) !important;
  outline: 1px solid rgba(203, 75, 47, 0.3);
  outline-offset: -1px;
}
body .rpp-app .rpp-status-ready {
  background: rgba(15, 126, 117, 0.18) !important;
  outline: 1px solid rgba(15, 126, 117, 0.3);
  outline-offset: -1px;
}
body .rpp-app .rpp-status-posted {
  background: rgba(71, 85, 105, 0.13) !important;
  outline: 1px solid rgba(71, 85, 105, 0.22);
  outline-offset: -1px;
}

/* Textele chip-urilor pe light coboară un pas — pe fundalurile urcate la .16-.18, culorile
   istorice (46-55 + 3418-3427) picau sub AA la review/editing/uploaded (3.5-3.8:1);
   valorile de aici trec 4.5:1 și pe cardul normal, și în zona tentată a cardului is-next-post. */
body .rpp-app .rpp-status-available {
  color: #0e6547 !important;
}
body .rpp-app .rpp-status-reserved {
  color: #134acc !important;
}
body .rpp-app .rpp-status-uploaded {
  color: #006170 !important;
}
body .rpp-app .rpp-status-editing {
  color: #834c06 !important;
}
body .rpp-app .rpp-status-retake {
  color: #9f2b36 !important;
}
body .rpp-app .rpp-status-final {
  color: #5d3fb3 !important;
}
body .rpp-app .rpp-status-review {
  color: #90410e !important;
}
body .rpp-app .rpp-status-corrections {
  color: #933624 !important;
}
body .rpp-app .rpp-status-ready {
  color: #076159 !important;
}

/* === Traduceri (v0.8.0) === */
/* =========================================================
   v0.8.0 — Modul „Traduceri”, reconciliat cu markupul REAL din
   app.js (renderTranslations / tlCard / renderTranslationsEditor /
   renderTranslationsPastor / syncTranslationsPreviewPortal /
   openTlPublishModal / openTlApprovePortal).
   Ierarhia vizuală urmează lecția v0.7.6: chip-ul de status
   (.rpp-tl-chip) e SINGURUL element PLIN colorat de pe card;
   liziera lui e OUTLINE cu offset -1px, NU box-shadow (linia
   istorică ~3374 pune box-shadow:none!important pe badge-uri și
   ar ucide orice inset). Badge-urile (.is-stale/.is-warn/.is-sheet/
   .is-ok) sunt doar CONTUR, ca pill-urile RAW/FINAL. Blocurile dark
   de mai jos schimbă DOAR culori/umbre — zero padding/margin/gap/
   font-size (theme-check pică la >0.6px deviație light↔dark).
   Secțiunile cu .rpp-glass din markup primesc fundal/border/umbră
   din stilurile casei (linia ~4 light + ~1176 dark) — aici doar
   layout. Modalurile (preview PDF, „Scrie luna în Sheet”, aprobarea
   Pastorului) sunt PORTALURI pe body: butoane cu geometrie EXPLICITĂ
   (lecția v0.7.3 — reset-urile Bricks nu se moștenesc acolo) și
   fundal SOLID (theme-check sare gradientele la contrast); pe dark
   fundalul modalului cere !important pentru că vopseaua istorică
   „html[dark] body .rpp-glass” e tot cu !important.
   ========================================================= */

/* ---------- 1) Shell-urile view-ului (listă / editor / pastor) ---------- */
/* .rpp-tl-editor-page și .rpp-tl-pastor-page moștenesc .rpp-tl-page. */
.rpp-tl-shell,
.rpp-tl-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(14px, 1.2vw, 20px);
}
.rpp-tl-shell > *,
.rpp-tl-page > * {
  min-width: 0;
}
.rpp-tl-shell .rpp-topbar,
.rpp-tl-page .rpp-topbar {
  margin-bottom: 0;
}

/* Toolbar-ul listei — .rpp-toolbar/.rpp-toolbar-group/.rpp-toolbar-actions
   (deci și .rpp-tl-period/.rpp-tl-actions) vin din stilurile casei. */
.rpp-tl-toolbar {
  flex-wrap: wrap;
}
.rpp-tl-upload-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
}
.rpp-tl-period-select {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5f6a7c;
  font-size: 12.5px;
  font-weight: 850;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Controalele de formular ale view-urilor Traduceri — stilul formularelor
   casei (pattern .rpp-academy-editor / .rpp-posting-copy-grid). */
.rpp-tl-shell select,
.rpp-tl-page select,
.rpp-tl-shell input[type='text'],
.rpp-tl-page input[type='text'],
.rpp-tl-shell textarea,
.rpp-tl-page textarea {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid var(--rpp-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--rpp-text);
  font: inherit;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.45;
}
.rpp-tl-shell select,
.rpp-tl-page select {
  width: auto;
  cursor: pointer;
  text-transform: none;
}
.rpp-tl-shell textarea,
.rpp-tl-page textarea {
  line-height: 1.6;
  resize: vertical;
}
.rpp-tl-shell select:focus,
.rpp-tl-page select:focus,
.rpp-tl-shell input:focus,
.rpp-tl-page input:focus,
.rpp-tl-shell textarea:focus,
.rpp-tl-page textarea:focus {
  border-color: rgba(24, 92, 255, 0.45);
  outline: 3px solid rgba(24, 92, 255, 0.16);
  outline-offset: 0;
}

/* Conținutul disclosure-ului „Setări traduceri” (style pack).
   .rpp-tl-settings-disclosure moștenește details.rpp-disclosure din casă;
   conținutul stă în .rpp-disclosure-body, care are deja padding. */
.rpp-tl-settings {
  display: grid;
  gap: 10px;
}
.rpp-tl-settings label {
  display: grid;
  gap: 7px;
  color: #5f6a7c;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
}
.rpp-tl-settings textarea {
  font:
    600 14px/1.6 ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    monospace;
  color: var(--rpp-text);
}
.rpp-tl-bible-source {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(22, 163, 74, 0.24);
  border-radius: 14px;
  background: rgba(240, 253, 244, 0.72);
}
.rpp-tl-bible-source-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  color: var(--rpp-text);
}
.rpp-tl-bible-source p,
.rpp-tl-bible-source small {
  margin: 0;
  color: #5f6a7c;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
}
.rpp-tl-bible-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
}
.rpp-tl-bible-fields input {
  width: 100%;
  min-height: 42px;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
  color: var(--rpp-text);
  font:
    650 14px/1.3 ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    monospace;
}
.rpp-message-warning {
  background: rgba(245, 158, 11, 0.12);
  color: #92400e;
  border: 1px solid rgba(245, 158, 11, 0.28);
}
.rpp-tl-settings-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rpp-tl-settings-note {
  margin: 0;
  color: #5f6a7c;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}
@media (max-width: 720px) {
  .rpp-tl-bible-fields {
    grid-template-columns: 1fr;
  }
}

/* ---------- 2) Bara de progres pe cele 4 statusuri ---------- */
.rpp-tl-progress {
  display: grid;
  gap: 10px;
  padding: 14px 16px;
}
.rpp-tl-progress-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px 10px;
  color: #5f6a7c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.3;
}
.rpp-tl-progress-head strong {
  color: var(--rpp-text);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: -0.01em;
}
.rpp-tl-progress-track {
  display: flex;
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(21, 32, 51, 0.08);
}
.rpp-tl-progress-seg {
  display: block;
  height: 100%;
  min-width: 0;
  transition: width 0.35s ease;
}
.rpp-tl-progress-seg.is-netradus {
  background: rgba(100, 116, 139, 0.42);
}
.rpp-tl-progress-seg.is-ciorna {
  background: #4272e8;
}
.rpp-tl-progress-seg.is-verificat {
  background: #12857a;
}
.rpp-tl-progress-seg.is-aprobat {
  background: #7a5cd9;
}
.rpp-tl-progress-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 0;
  padding: 0;
  color: #5f6a7c;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.3;
}
.rpp-tl-progress-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.rpp-tl-progress-legend-item strong {
  color: var(--rpp-text);
  font-weight: 900;
}
.rpp-tl-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 50%;
  font-style: normal;
}
.rpp-tl-dot.is-netradus {
  background: rgba(100, 116, 139, 0.55);
}
.rpp-tl-dot.is-ciorna {
  background: #4272e8;
}
.rpp-tl-dot.is-verificat {
  background: #12857a;
}
.rpp-tl-dot.is-aprobat {
  background: #7a5cd9;
}

/* ---------- 3) Grila de carduri + cardul lecției ---------- */
.rpp-tl-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
  gap: clamp(12px, 1vw, 18px);
  align-items: stretch;
}
.rpp-tl-grid > * {
  min-width: 0;
}
.rpp-tl-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  padding: clamp(16px, 1.05vw, 22px);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.rpp-tl-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0.9rem 1.9rem rgba(30, 51, 88, 0.1);
}
/* „Se traduce…” — lizieră prin OUTLINE offset -1px, nu box-shadow. */
.rpp-tl-card.is-translating {
  outline: 2px solid rgba(24, 92, 255, 0.4);
  outline-offset: -1px;
}
.rpp-tl-card-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}
.rpp-tl-day {
  color: var(--rpp-text);
  font-size: clamp(24px, 1.4vw, 30px);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
  white-space: nowrap;
}
.rpp-tl-weekday {
  color: #5f6a7c;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-align: right;
  text-transform: uppercase;
}
.rpp-tl-card-title {
  margin: 0;
  color: var(--rpp-text);
  font-size: clamp(16.5px, 0.24vw + 14px, 19px);
  font-weight: 850;
  letter-spacing: -0.02em;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.rpp-tl-card-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.rpp-tl-card-editing {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #5f6a7c;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.rpp-tl-card-editing::before {
  content: '';
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #cf7a10;
}
.rpp-tl-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 2px;
}
/* Progresul inline pe card (setTlCardBusy): display-ul explicit ar învinge
   atributul [hidden]; din v0.14.2 îl ascunde regula comună din 23-hidden-attribute.css. */
.rpp-tl-card-progress {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #134acc;
  font-size: 13.5px;
  font-weight: 850;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.rpp-tl-card-progress.is-error {
  color: #9f2b36;
}
.rpp-tl-empty {
  grid-column: 1/-1;
}

/* Chip-ul de status — singurul element PLIN de pe card; lizieră = outline offset -1px. */
.rpp-tl-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 13.5px;
  font-weight: 850;
  letter-spacing: -0.01em;
  line-height: 1.2;
  white-space: normal;
  outline-offset: -1px;
}
.rpp-tl-chip.is-netradus {
  background: rgba(71, 85, 105, 0.13);
  outline: 1px solid rgba(71, 85, 105, 0.24);
  color: #475569;
}
.rpp-tl-chip.is-ciorna {
  background: rgba(24, 92, 255, 0.16);
  outline: 1px solid rgba(24, 92, 255, 0.3);
  color: #1246c4;
}
.rpp-tl-chip.is-verificat {
  background: rgba(15, 126, 117, 0.18);
  outline: 1px solid rgba(15, 126, 117, 0.32);
  color: #0e6547;
}
.rpp-tl-chip.is-aprobat {
  background: rgba(111, 79, 214, 0.17);
  outline: 1px solid rgba(111, 79, 214, 0.32);
  color: #5d3fb3;
}

/* Badge-uri doar-contur (nu concurează chip-ul plin):
   is-stale = „EN actualizat”, is-warn = „⚠ versete de verificat”,
   is-sheet = „În Sheet ✓”, is-ok = „✓ Versete confirmate de echipă”. */
.rpp-tl-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  padding: 4px 10px;
  border: 1.5px solid transparent;
  border-radius: 999px;
  background: transparent;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.02em;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}
.rpp-tl-badge.is-stale {
  background: rgba(207, 122, 16, 0.07);
  border-color: rgba(207, 122, 16, 0.45);
  color: #834c06;
}
.rpp-tl-badge.is-warn {
  background: rgba(210, 75, 85, 0.07);
  border-color: rgba(210, 75, 85, 0.45);
  color: #9f2b36;
}
.rpp-tl-badge.is-sheet,
.rpp-tl-badge.is-ok {
  background: rgba(21, 149, 101, 0.07);
  border-color: rgba(15, 126, 117, 0.45);
  color: #0e6547;
}

/* ---------- 4) Editorul echipei — side-by-side EN | RO ---------- */
.rpp-tl-editor-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: clamp(16px, 1.1vw, 22px);
}
.rpp-tl-editor-head > div {
  min-width: 0;
}
.rpp-tl-editor-head h1 {
  margin: 6px 0 0;
  color: var(--rpp-text);
  font-size: clamp(22px, 1vw + 17px, 30px);
  font-weight: 880;
  letter-spacing: -0.035em;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.rpp-tl-kicker {
  color: #1246c4;
  font-size: 12.5px;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.35;
}
.rpp-tl-editor-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
}
.rpp-tl-editor-side {
  display: grid;
  gap: 10px;
  justify-items: end;
  margin-left: auto;
}
.rpp-tl-editor-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}
.rpp-tl-autosave-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.rpp-tl-save-now {
  min-height: 36px !important;
  padding: 7px 12px !important;
  font-size: 13px !important;
}
.rpp-tl-save-indicator {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(21, 32, 51, 0.06);
  color: #5f6a7c;
  font-size: 12.5px;
  font-weight: 850;
  line-height: 1.2;
  white-space: nowrap;
}
.rpp-tl-save-indicator:empty {
  display: none;
}
.rpp-tl-save-indicator.is-saving {
  background: rgba(24, 92, 255, 0.1);
  color: #134acc;
}
.rpp-tl-save-indicator.is-error {
  background: rgba(210, 75, 85, 0.12);
  color: #9f2b36;
  white-space: normal;
  overflow-wrap: anywhere;
}
.rpp-tl-readonly-note {
  margin: 10px 0 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(207, 122, 16, 0.12);
  color: #834c06;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.rpp-tl-approve-note-banner {
  margin-top: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(111, 79, 214, 0.1);
  color: #4b3494;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1.55;
  overflow-wrap: anywhere;
}
.rpp-tl-autosave-alert {
  display: grid;
  gap: 10px;
  line-height: 1.5;
}
.rpp-tl-autosave-alert-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rpp-tl-stage-version-note {
  margin-top: 10px;
  padding: 11px 13px;
  border: 1px solid rgba(245, 158, 11, 0.3);
  border-radius: 13px;
  background: rgba(245, 158, 11, 0.1);
  color: #834c06;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.5;
}
.rpp-tl-save-dock {
  display: flex;
  justify-content: flex-end;
  padding: 4px 0;
}

/* Taburile EN/RO există doar pe ≤900px (o singură coloană vizibilă). */
.rpp-tl-mobile-tabs {
  display: none;
  gap: 8px;
}
.rpp-tl-mobile-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(20, 32, 53, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: #526073;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition:
    background 0.18s ease,
    color 0.18s ease;
}
.rpp-tl-mobile-tab.is-active {
  background: #152033;
  border-color: #152033;
  color: #fff;
}

.rpp-tl-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(14px, 1.2vw, 20px);
  align-items: start;
}
.rpp-tl-editor > * {
  min-width: 0;
}
.rpp-tl-aligned-editor {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(12px, 1vw, 16px);
  align-items: stretch;
}
.rpp-tl-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(14px, 1.2vw, 20px);
  align-items: stretch;
  min-width: 0;
}
.rpp-tl-pair > * {
  min-width: 0;
}
.rpp-tl-pair-cell {
  height: 100%;
  align-content: start;
}
.rpp-tl-pair-head .rpp-tl-pair-cell {
  padding-block: 13px;
}
.rpp-tl-aligned-editor .rpp-tl-en-block {
  padding: 0;
  margin: 0;
}
.rpp-tl-aligned-editor .rpp-tl-en-block > .rpp-tl-field-label,
.rpp-tl-aligned-editor .rpp-tl-field-head,
.rpp-tl-aligned-editor .rpp-tl-pastor-label {
  min-height: 36px;
}
.rpp-tl-col {
  display: grid;
  gap: 14px;
  min-width: 0;
  padding: clamp(16px, 1.1vw, 22px);
  align-content: start;
}
.rpp-tl-col-en {
  background: rgba(20, 32, 53, 0.035);
}
.rpp-tl-en-block {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 6px 8px;
  margin: -6px -8px;
  border-radius: 12px;
  transition: background 0.18s ease;
}
.rpp-tl-en-block.is-source-active {
  outline: 2px solid rgba(24, 92, 255, 0.5);
  outline-offset: -1px;
  background: rgba(24, 92, 255, 0.06);
}
.rpp-tl-en-text {
  margin: 0;
  color: var(--rpp-text);
  font-size: 16px;
  line-height: 1.62;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.rpp-tl-sent {
  border-radius: 4px;
  transition: background 0.15s ease;
}
.rpp-tl-sent.is-hl {
  background: rgba(255, 193, 7, 0.32);
  box-shadow: 0 0 0 2px rgba(255, 193, 7, 0.32);
}
.rpp-tl-pastor-grid .rpp-tl-en-text {
  padding: 14px 16px;
  border: 1px solid transparent;
  border-radius: 16px;
  font-size: clamp(20px, 0.5vw + 17px, 23px);
  font-weight: 500;
  letter-spacing: -0.008em;
  line-height: 1.75;
}
.rpp-tl-pastor-grid .rpp-tl-pair-title .rpp-tl-en-text {
  font-size: clamp(24px, 0.9vw + 19px, 30px);
  font-weight: 880;
  letter-spacing: -0.03em;
  line-height: 1.25;
  text-transform: uppercase;
}
.rpp-tl-pastor-grid .rpp-tl-pair-verse .rpp-tl-en-text {
  font-style: italic;
  font-weight: 700;
}
.rpp-tl-pastor-grid .rpp-tl-pair-study .rpp-tl-en-text,
.rpp-tl-pastor-grid .rpp-tl-pair-year1 .rpp-tl-en-text,
.rpp-tl-pastor-grid .rpp-tl-pair-year2 .rpp-tl-en-text {
  font-size: clamp(17px, 0.3vw + 15px, 19px);
  line-height: 1.6;
}
.rpp-tl-field-label {
  color: #5f6a7c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}
.rpp-tl-ro-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.rpp-tl-field-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
input.rpp-tl-title-input {
  text-transform: uppercase;
  font-weight: 850;
  letter-spacing: 0.01em;
}

/* „Regenerează cu AI” per câmp — buton compact, geometrie explicită. */
.rpp-tl-regen {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  padding: 8px 12px;
  border: 0;
  border-radius: 10px;
  background: rgba(24, 92, 255, 0.09);
  color: #164fd9;
  font-size: 13.5px;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background 0.18s ease;
}
.rpp-tl-regen:hover,
.rpp-tl-regen:focus-visible {
  background: rgba(24, 92, 255, 0.16);
}
.rpp-tl-regen:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
/* Markup-ul îl combină cu .rpp-btn — scala globală (46px!important) nu-l umflă. */
body .rpp-app .rpp-btn.rpp-tl-regen {
  min-height: 36px !important;
  padding: 8px 12px !important;
  font-size: 13.5px !important;
}

/* Panoul verse_report (read-only) + checkbox-ul mare al versetelor */
.rpp-tl-verse-report {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid var(--rpp-border);
  border-radius: 14px;
  background: rgba(20, 32, 53, 0.035);
}
.rpp-tl-verse-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-tl-verse-row {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  min-width: 0;
  color: var(--rpp-text);
  font-size: 14px;
  line-height: 1.5;
}
.rpp-tl-verse-row > div {
  min-width: 0;
}
.rpp-tl-verse-flag {
  flex: 0 0 auto;
  line-height: 1.4;
}
.rpp-tl-verse-row strong {
  font-weight: 850;
  overflow-wrap: anywhere;
}
.rpp-tl-verse-row em {
  color: #5f6a7c;
}
.rpp-tl-verse-row small {
  display: block;
  color: #5f6a7c;
  font-size: 12.5px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.rpp-tl-verse-row.is-check strong {
  color: #9f2b36;
}
.rpp-tl-verse-row.is-ok strong {
  color: #0e6547;
}
.rpp-tl-verse-row.is-empty {
  color: #5f6a7c;
  font-size: 13.5px;
}
.rpp-tl-verses-check {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 14px 16px;
  border: 1.5px solid rgba(24, 92, 255, 0.3);
  border-radius: 14px;
  background: rgba(24, 92, 255, 0.06);
  color: var(--rpp-text);
  font-size: 16px;
  font-weight: 850;
  line-height: 1.35;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}
.rpp-tl-verses-check input[type='checkbox'] {
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  margin: 0;
  accent-color: var(--rpp-accent);
  cursor: pointer;
}
.rpp-tl-verses-check:has(input:checked) {
  border-color: rgba(21, 149, 101, 0.45);
  background: rgba(21, 149, 101, 0.1);
}

/* ---------- 5) Modul Pastor — text mare, aerisit, contenteditable ---------- */
.rpp-tl-day-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.rpp-tl-day-nav-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.rpp-tl-pastor-col {
  gap: clamp(16px, 2vw, 24px);
}
.rpp-tl-pastor-col > * {
  min-width: 0;
}
.rpp-tl-pastor-hint {
  margin: 0;
  color: #5f6a7c;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
.rpp-tl-pastor-section {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.rpp-tl-pastor-label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px 10px;
}
.rpp-tl-pastor-label > span {
  color: #134acc;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.13em;
  line-height: 1.3;
  text-transform: uppercase;
}
/* Textul secțiunii poartă aceleași haine editabil sau nu (readOnly/aprobat
   pierde doar atributul contenteditable, clasa rămâne). */
.rpp-tl-pastor-text {
  min-height: 44px;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid rgba(20, 32, 53, 0.1);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.65);
  color: var(--rpp-text);
  font-size: clamp(20px, 0.5vw + 17px, 23px);
  font-weight: 500;
  letter-spacing: -0.008em;
  line-height: 1.75;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
  transition:
    border-color 0.18s ease,
    background 0.18s ease;
}
.rpp-tl-pastor-text[contenteditable]:hover {
  border-color: rgba(20, 32, 53, 0.2);
}
.rpp-tl-pastor-text[contenteditable]:focus {
  outline: 3px solid rgba(24, 92, 255, 0.22);
  outline-offset: 1px;
  border-color: rgba(24, 92, 255, 0.45);
  background: #fff;
}
.rpp-tl-pastor-title {
  font-size: clamp(24px, 0.9vw + 19px, 30px);
  font-weight: 880;
  letter-spacing: -0.03em;
  line-height: 1.25;
  text-transform: uppercase;
}
.rpp-tl-pastor-verse {
  font-style: italic;
  font-weight: 700;
}
/* .rpp-tl-pastor-content / .rpp-tl-pastor-lecture moștenesc .rpp-tl-pastor-text. */
.rpp-tl-pastor-study,
.rpp-tl-pastor-plan {
  font-size: clamp(17px, 0.3vw + 15px, 19px);
  line-height: 1.6;
}
/* „Arată engleza” per secțiune — panou discret; [hidden] re-ascuns explicit. */

/* Bara de aprobare (sticky jos pe mobil, vezi @media 900). */
.rpp-tl-approve-bar {
  display: grid;
  gap: 10px;
  justify-items: stretch;
  padding: 12px 0;
}
.rpp-tl-approved-note {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  max-width: 100%;
  min-height: 34px;
  padding: 6px 14px;
  border-radius: 999px;
  background: rgba(21, 149, 101, 0.12);
  color: #0e6547;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.3;
}
/* Butonul mare „Aprobă lecția” — min-height 52px garantat contra scalei
   globale (46px!important) și a vopselei dark istorice pe .rpp-btn. */
.rpp-tl-approve-btn,
body .rpp-app .rpp-btn.rpp-tl-approve-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 52px !important;
  padding: 14px 20px !important;
  border: 1px solid transparent;
  border-radius: 15px;
  background: linear-gradient(135deg, #159565, #54bf8f) !important;
  color: #fff !important;
  font-size: 17.5px !important;
  font-weight: 850 !important;
  letter-spacing: -0.01em;
  line-height: 1.2 !important;
  text-align: center;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.14);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: 0 12px 28px rgba(21, 149, 101, 0.24);
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
}
.rpp-tl-approve-btn:hover,
.rpp-tl-approve-btn:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(21, 149, 101, 0.32);
}
.rpp-tl-approve-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* ---------- 6) Portalurile pe body: preview PDF / publish Sheet / aprobare ---------- */
body.rpp-tl-preview-open,
body.rpp-tl-publish-open,
body.rpp-tl-approve-open {
  overflow: hidden !important;
  overscroll-behavior: none;
}
.rpp-tl-preview-backdrop,
.rpp-tl-publish-backdrop,
.rpp-tl-approve-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147483300;
  display: grid;
  place-items: center;
  padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right))
    max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
  background: rgba(8, 15, 29, 0.56);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  overflow: auto;
  overscroll-behavior: contain;
}
.rpp-tl-preview,
.rpp-tl-preview *,
.rpp-tl-publish-modal,
.rpp-tl-publish-modal *,
.rpp-tl-approve-modal,
.rpp-tl-approve-modal * {
  box-sizing: border-box;
  min-width: 0;
}
/* Fundal SOLID (nu gradient) — theme-check validează contrastul doar pe fundal plin. */
.rpp-tl-preview,
.rpp-tl-publish-modal,
.rpp-tl-approve-modal {
  margin: auto;
  max-height: calc(100dvh - 28px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  border: 1px solid rgba(23, 37, 63, 0.12);
  border-radius: 24px;
  background: #f9fbff;
  box-shadow: 0 26px 70px rgba(14, 30, 63, 0.26);
  color: #142035;
}
.rpp-tl-preview {
  width: min(760px, 100%);
  padding: clamp(20px, 3vw, 30px);
}
.rpp-tl-publish-modal,
.rpp-tl-approve-modal {
  width: min(560px, 100%);
  display: grid;
  gap: 12px;
  padding: clamp(20px, 3vw, 28px);
}
.rpp-tl-preview h2 {
  margin: 7px 0 0;
  color: #142035;
  font-size: clamp(26px, 2.6vw, 38px);
  font-weight: 880;
  letter-spacing: -0.045em;
  line-height: 1.08;
}
.rpp-tl-publish-modal h2,
.rpp-tl-approve-modal h2 {
  margin: 0;
  color: #142035;
  font-size: clamp(22px, 2vw, 30px);
  font-weight: 880;
  letter-spacing: -0.04em;
  line-height: 1.12;
}
.rpp-tl-publish-modal p,
.rpp-tl-approve-modal p {
  margin: 0;
  color: #3c4a61;
  font-size: 15.5px;
  font-weight: 650;
  line-height: 1.55;
}
.rpp-tl-preview-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}
.rpp-tl-preview-head > div {
  min-width: 0;
}
.rpp-tl-preview-close {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(20, 32, 53, 0.07);
  color: #142035;
  font-size: 28px;
  line-height: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.rpp-tl-preview-close span {
  display: block;
  margin-top: -2px;
  line-height: 0.75;
}
.rpp-tl-preview-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
}
.rpp-tl-preview-meta label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5b687b;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}
.rpp-tl-preview-meta-note {
  flex: 1 1 220px;
  color: #5b687b;
  font-size: 13.5px;
  font-weight: 750;
  line-height: 1.45;
}
/* Portalul NU moștenește stilurile din .rpp-app: controale complet explicite. */
.rpp-tl-preview select,
.rpp-tl-preview input,
.rpp-tl-publish-modal input {
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid rgba(20, 32, 53, 0.16);
  border-radius: 12px;
  background: #fff;
  color: #142035;
  font: inherit;
  font-size: 16px;
  font-weight: 750;
}
.rpp-tl-publish-modal input {
  width: 100%;
}
.rpp-tl-preview textarea {
  width: 100%;
  min-height: 120px;
  padding: 12px 14px;
  border: 1px solid rgba(20, 32, 53, 0.16);
  border-radius: 12px;
  background: #fff;
  color: #142035;
  font:
    600 15px/1.6 ui-monospace,
    SFMono-Regular,
    Menlo,
    Monaco,
    Consolas,
    monospace;
  resize: vertical;
}
.rpp-tl-approve-modal textarea {
  width: 100%;
  min-height: 96px;
  padding: 12px 14px;
  border: 1px solid rgba(20, 32, 53, 0.16);
  border-radius: 12px;
  background: #fff;
  color: #142035;
  font: inherit;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.55;
  resize: vertical;
}
.rpp-tl-preview select:focus,
.rpp-tl-preview input:focus,
.rpp-tl-preview textarea:focus,
.rpp-tl-publish-modal input:focus,
.rpp-tl-approve-modal textarea:focus {
  outline: 3px solid rgba(24, 92, 255, 0.18);
  border-color: rgba(24, 92, 255, 0.42);
}
.rpp-tl-publish-field,
.rpp-tl-approve-field {
  display: grid;
  gap: 7px;
}
.rpp-tl-publish-field > span,
.rpp-tl-approve-field > span {
  color: #5b687b;
  font-size: 12.5px;
  font-weight: 850;
  line-height: 1.35;
}
.rpp-tl-preview-warnings {
  display: grid;
  gap: 4px;
  margin: 0 0 14px;
  padding-left: 18px;
  color: #834c06;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
}
.rpp-tl-preview-row-warnings {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 18px;
  color: #834c06;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.45;
}
.rpp-tl-preview-list {
  display: grid;
  gap: 10px;
  margin: 0 0 16px;
  padding: 0 2px 0 0;
  max-height: 52vh;
  overflow: auto;
  overscroll-behavior: contain;
}
.rpp-tl-preview-row {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid rgba(20, 32, 53, 0.1);
  border-radius: 14px;
  background: #fff;
}
.rpp-tl-preview-row.is-warning {
  border-color: rgba(207, 122, 16, 0.5);
  background: #fff8ec;
}
.rpp-tl-preview-row-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 10px;
}
.rpp-tl-preview-row-head strong {
  color: #142035;
  font-size: 15.5px;
  font-weight: 850;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.rpp-tl-preview-row-head span {
  color: #5b687b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.rpp-tl-preview-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.rpp-tl-field-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  padding: 3px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  white-space: nowrap;
}
.rpp-tl-field-chip.is-ok {
  background: rgba(21, 149, 101, 0.1);
  color: #0e6547;
}
.rpp-tl-field-chip.is-missing {
  background: rgba(210, 75, 85, 0.1);
  color: #9f2b36;
}
details.rpp-tl-preview-fix {
  border: 1px dashed rgba(20, 32, 53, 0.18);
  border-radius: 12px;
}
details.rpp-tl-preview-fix > summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  cursor: pointer;
  list-style: none;
  color: #5b687b;
  font-size: 13px;
  font-weight: 850;
}
details.rpp-tl-preview-fix > summary::-webkit-details-marker {
  display: none;
}
details.rpp-tl-preview-fix > label {
  display: grid;
  gap: 6px;
  margin: 0 12px 10px;
  color: #5b687b;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}
.rpp-tl-preview-actions,
.rpp-tl-publish-actions,
.rpp-tl-approve-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 4px;
}
/* Erorile portalurilor poartă .rpp-message.rpp-message-error din casă (globale). */
.rpp-tl-preview-error,
.rpp-tl-publish-error,
.rpp-tl-approve-error {
  margin: 0 0 10px;
}
/* Butoanele portalurilor: padding + centrare EXPLICITE (lecția v0.7.3). */
.rpp-tl-preview .rpp-btn,
.rpp-tl-publish-modal .rpp-btn,
.rpp-tl-approve-modal .rpp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 18px;
  border: 1px solid rgba(20, 32, 53, 0.14);
  border-radius: 13px;
  background: #fff;
  color: #142035;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}
.rpp-tl-preview .rpp-btn-primary,
.rpp-tl-publish-modal .rpp-btn-primary {
  border-color: transparent;
  background: linear-gradient(135deg, #185cff, #6b8dff);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.14);
}
.rpp-tl-approve-modal .rpp-btn-ready:where(:not(.rpp-day2, .rpp-day2 *)) {
  border-color: transparent;
  background: linear-gradient(135deg, #159565, #54bf8f);
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.14);
}
.rpp-tl-preview .rpp-btn:disabled,
.rpp-tl-publish-modal .rpp-btn:disabled,
.rpp-tl-approve-modal .rpp-btn:disabled {
  opacity: 0.56;
  cursor: not-allowed;
}
.rpp-tl-preview .rpp-btn:focus-visible,
.rpp-tl-publish-modal .rpp-btn:focus-visible,
.rpp-tl-approve-modal .rpp-btn:focus-visible,
.rpp-tl-preview-close:focus-visible {
  outline: 3px solid rgba(24, 92, 255, 0.35);
  outline-offset: 2px;
}

/* ---------- 7) DARK — DOAR culori/umbre (paritate spacing light↔dark) ---------- */
/* Fundalurile secțiunilor .rpp-glass vin din vopseaua istorică ~1176. */
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-card.is-translating {
  outline-color: rgba(125, 162, 255, 0.55);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-col-en {
  background: rgba(255, 255, 255, 0.045) !important;
  border-color: rgba(182, 202, 240, 0.12) !important;
  box-shadow: inset 0 0 0 1px rgba(182, 202, 240, 0.06) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-verse-report {
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(182, 202, 240, 0.12);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-progress-track {
  background: rgba(255, 255, 255, 0.1);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-progress-seg.is-netradus {
  background: rgba(170, 184, 204, 0.4);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-progress-seg.is-ciorna {
  background: #7da2ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-progress-seg.is-verificat {
  background: #44cac0;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-progress-seg.is-aprobat {
  background: #9e83ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-dot.is-netradus {
  background: rgba(170, 184, 204, 0.6);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-dot.is-ciorna {
  background: #7da2ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-dot.is-verificat {
  background: #44cac0;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-dot.is-aprobat {
  background: #9e83ff;
}
/* Chip-urile: fundal + lizieră + text — cu !important, pattern-ul v0.7.6. */
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-chip.is-netradus {
  background: rgba(170, 184, 204, 0.16) !important;
  outline: 1px solid rgba(170, 184, 204, 0.28);
  color: #bdc9d9 !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-chip.is-ciorna {
  background: rgba(125, 162, 255, 0.24) !important;
  outline: 1px solid rgba(125, 162, 255, 0.42);
  color: #a7beff !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-chip.is-verificat {
  background: rgba(68, 202, 192, 0.24) !important;
  outline: 1px solid rgba(68, 202, 192, 0.42);
  color: #73e3db !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-chip.is-aprobat {
  background: rgba(158, 131, 255, 0.24) !important;
  outline: 1px solid rgba(158, 131, 255, 0.42);
  color: #bba6ff !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-badge.is-stale {
  background: rgba(241, 182, 90, 0.1);
  border-color: rgba(241, 182, 90, 0.4);
  color: #f6c979;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-badge.is-warn {
  background: rgba(255, 139, 152, 0.09);
  border-color: rgba(255, 139, 152, 0.4);
  color: #ffabb5;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-badge.is-sheet,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-badge.is-ok {
  background: rgba(97, 214, 162, 0.1);
  border-color: rgba(97, 214, 162, 0.4);
  color: #73dfb0;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-bible-source {
  background: rgba(22, 163, 74, 0.08);
  border-color: rgba(97, 214, 162, 0.28);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-bible-source-head {
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-bible-source p,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-bible-source small {
  color: #a8b5cc;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-bible-fields input {
  background: #172033;
  border-color: #3a4963;
  color: #edf4ff;
}
/* Texte principale / secundare */
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-day,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-card-title,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-editor-head h1,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-verse-row,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-progress-head strong,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-progress-legend-item strong {
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-weekday,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-card-editing,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-period-select,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-settings label,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-settings-note,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-progress-head,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-progress-legend,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-field-label,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-pastor-hint,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-verse-row em,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-verse-row small,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-verse-row.is-empty {
  color: #a8b5cc;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-card-editing::before {
  background: #f1b65a;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-en-text {
  color: #dbe5f5;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-en-block.is-source-active {
  outline-color: rgba(125, 162, 255, 0.55);
  background: rgba(125, 162, 255, 0.1);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-sent.is-hl {
  background: rgba(241, 182, 90, 0.26);
  box-shadow: 0 0 0 2px rgba(241, 182, 90, 0.26);
}
html[data-rpp-theme='dark'] body .rpp-tl-kicker {
  color: #a7beff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-card-progress {
  color: #a7beff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-card-progress.is-error {
  color: #ffabb5;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-save-indicator {
  background: rgba(255, 255, 255, 0.07);
  color: #a8b5cc;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-save-indicator.is-saving {
  background: rgba(125, 162, 255, 0.15);
  color: #a7beff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-save-indicator.is-error {
  background: rgba(255, 139, 152, 0.14);
  color: #ffabb5;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-stage-version-note {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.28);
  color: #f4c36a;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-readonly-note {
  background: rgba(241, 182, 90, 0.15);
  color: #f6c979;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-approve-note-banner {
  background: rgba(158, 131, 255, 0.16);
  color: #cbbcff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-verse-row.is-check strong {
  color: #ffabb5;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-verse-row.is-ok strong {
  color: #73dfb0;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-regen {
  background: rgba(125, 162, 255, 0.13);
  color: #9bb7ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-regen:hover,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-regen:focus-visible {
  background: rgba(125, 162, 255, 0.2);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-mobile-tab {
  background: rgba(255, 255, 255, 0.075);
  border-color: rgba(182, 202, 240, 0.14);
  color: #b9c7dc;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-mobile-tab.is-active {
  background: #edf4ff;
  border-color: #edf4ff;
  color: #111827;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-verses-check {
  background: rgba(125, 162, 255, 0.1);
  border-color: rgba(125, 162, 255, 0.4);
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-verses-check:has(input:checked) {
  background: rgba(97, 214, 162, 0.12);
  border-color: rgba(97, 214, 162, 0.45);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-approved-note {
  background: rgba(97, 214, 162, 0.14);
  color: #73dfb0;
}
/* Formularele view-ului pe dark — pattern-ul v0.5.2 (select-ul de editor). */
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-shell select,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-page select,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-shell input[type='text'],
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-page input[type='text'],
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-shell textarea,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-page textarea {
  background: #101a2b !important;
  color: #f1f6ff !important;
  border-color: rgba(182, 202, 240, 0.25) !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-shell select option,
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-page select option {
  background: #101a2b;
  color: #f1f6ff;
}
/* Modul Pastor pe dark */
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-pastor-label > span {
  color: #a7beff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-pastor-text {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(182, 202, 240, 0.16);
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-pastor-text[contenteditable]:hover {
  border-color: rgba(182, 202, 240, 0.3);
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-pastor-text[contenteditable]:focus {
  background: #101a2b;
  border-color: rgba(125, 162, 255, 0.48);
  outline-color: rgba(125, 162, 255, 0.25);
}
/* Portalurile pe dark — fundal tot SOLID; !important contra vopselei
   istorice „html[dark] body .rpp-glass” (tot !important, noi suntem după). */
html[data-rpp-theme='dark'] body .rpp-tl-preview,
html[data-rpp-theme='dark'] body .rpp-tl-publish-modal,
html[data-rpp-theme='dark'] body .rpp-tl-approve-modal {
  background: #111b2e !important;
  border-color: rgba(182, 202, 240, 0.16) !important;
  box-shadow: 0 28px 78px rgba(0, 0, 0, 0.44) !important;
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-tl-preview h2,
html[data-rpp-theme='dark'] body .rpp-tl-publish-modal h2,
html[data-rpp-theme='dark'] body .rpp-tl-approve-modal h2,
html[data-rpp-theme='dark'] body .rpp-tl-preview-row-head strong {
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-tl-publish-modal p,
html[data-rpp-theme='dark'] body .rpp-tl-approve-modal p {
  color: #b9c7dc;
}
html[data-rpp-theme='dark'] body .rpp-tl-preview-close {
  background: rgba(255, 255, 255, 0.08);
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-tl-preview select,
html[data-rpp-theme='dark'] body .rpp-tl-preview input,
html[data-rpp-theme='dark'] body .rpp-tl-preview textarea,
html[data-rpp-theme='dark'] body .rpp-tl-publish-modal input,
html[data-rpp-theme='dark'] body .rpp-tl-approve-modal textarea {
  background: #101a2b;
  color: #f1f6ff;
  border-color: rgba(182, 202, 240, 0.25);
}
html[data-rpp-theme='dark'] body .rpp-tl-preview select option {
  background: #101a2b;
  color: #f1f6ff;
}
html[data-rpp-theme='dark'] body .rpp-tl-preview-meta label,
html[data-rpp-theme='dark'] body .rpp-tl-preview-meta-note,
html[data-rpp-theme='dark'] body .rpp-tl-preview-row-head span,
html[data-rpp-theme='dark'] body .rpp-tl-publish-field > span,
html[data-rpp-theme='dark'] body .rpp-tl-approve-field > span {
  color: #aab8cc;
}
html[data-rpp-theme='dark'] body .rpp-tl-preview-row {
  background: #16233a;
  border-color: rgba(182, 202, 240, 0.14);
}
html[data-rpp-theme='dark'] body .rpp-tl-preview-row.is-warning {
  background: #241d12;
  border-color: rgba(241, 182, 90, 0.45);
}
html[data-rpp-theme='dark'] body .rpp-tl-field-chip.is-ok {
  background: rgba(97, 214, 162, 0.14);
  color: #73dfb0;
}
html[data-rpp-theme='dark'] body .rpp-tl-field-chip.is-missing {
  background: rgba(255, 139, 152, 0.14);
  color: #ffabb5;
}
html[data-rpp-theme='dark'] body .rpp-tl-preview-warnings,
html[data-rpp-theme='dark'] body .rpp-tl-preview-row-warnings {
  color: #f6c979;
}
html[data-rpp-theme='dark'] body details.rpp-tl-preview-fix {
  border-color: rgba(182, 202, 240, 0.24);
}
html[data-rpp-theme='dark'] body details.rpp-tl-preview-fix > summary,
html[data-rpp-theme='dark'] body details.rpp-tl-preview-fix > label {
  color: #aab8cc;
}
html[data-rpp-theme='dark'] body .rpp-tl-preview .rpp-btn,
html[data-rpp-theme='dark'] body .rpp-tl-publish-modal .rpp-btn,
html[data-rpp-theme='dark'] body .rpp-tl-approve-modal .rpp-btn {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(182, 202, 240, 0.2);
  color: #edf4ff;
}
html[data-rpp-theme='dark'] body .rpp-tl-preview .rpp-btn-primary,
html[data-rpp-theme='dark'] body .rpp-tl-publish-modal .rpp-btn-primary {
  background: linear-gradient(135deg, #4778ff, #7898ff);
  border-color: transparent;
  color: #fff;
}
html[data-rpp-theme='dark'] body .rpp-tl-approve-modal .rpp-btn-ready:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: linear-gradient(135deg, #159565, #54bf8f);
  border-color: transparent;
  color: #fff;
}

/* ---------- 8) Responsive ---------- */
@media (max-width: 900px) {
  /* Editorul cade pe O coloană; taburile EN/RO (is-show-en/is-show-ro pe
     .rpp-tl-editor) preiau comutarea — pe desktop AMBELE coloane rămân. */
  .rpp-tl-editor {
    grid-template-columns: minmax(0, 1fr);
  }
  .rpp-tl-pair {
    grid-template-columns: minmax(0, 1fr);
  }
  .rpp-tl-mobile-tabs {
    display: flex;
  }
  .rpp-tl-editor.is-show-en .rpp-tl-col-ro {
    display: none;
  }
  .rpp-tl-editor.is-show-ro .rpp-tl-col-en {
    display: none;
  }
  .rpp-tl-editor-side {
    justify-items: start;
    margin-left: 0;
  }
  /* Aprobarea rămâne mereu la îndemână: bara devine sticky jos, peste safe-area. */
  .rpp-tl-approve-bar {
    position: sticky;
    bottom: 0;
    z-index: 6;
    margin: 0;
    padding: 12px 12px calc(12px + env(safe-area-inset-bottom, 0px));
    border: 1px solid var(--rpp-border);
    border-radius: 16px;
    background: rgba(247, 249, 253, 0.97);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 -8px 24px rgba(20, 32, 53, 0.08);
  }
  .rpp-tl-save-dock {
    position: sticky;
    bottom: 0;
    z-index: 6;
    margin: 0;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    border: 1px solid var(--rpp-border);
    border-radius: 16px;
    background: rgba(247, 249, 253, 0.97);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 -8px 24px rgba(20, 32, 53, 0.08);
  }
  html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-approve-bar {
    background: rgba(13, 20, 34, 0.97);
    border-color: rgba(182, 202, 240, 0.16);
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.35);
  }
  html[data-rpp-theme='dark'] body .rpp-app .rpp-tl-save-dock {
    background: rgba(13, 20, 34, 0.97);
    border-color: rgba(182, 202, 240, 0.16);
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.35);
  }
}
@media (max-width: 680px) {
  .rpp-tl-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .rpp-tl-toolbar .rpp-toolbar-group {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .rpp-tl-toolbar .rpp-btn {
    width: 100%;
    white-space: normal !important;
  }
  .rpp-tl-period-select select {
    flex: 1 1 auto;
    width: auto;
  }
  .rpp-tl-grid {
    grid-template-columns: 1fr;
  }
  .rpp-tl-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .rpp-tl-card-actions .rpp-btn {
    width: 100%;
    white-space: normal !important;
  }
  .rpp-tl-editor-head {
    flex-direction: column;
    align-items: stretch;
  }
  .rpp-tl-editor-side {
    justify-items: stretch;
    min-width: 0;
  }
  .rpp-tl-autosave-controls {
    align-items: stretch;
    display: grid;
    grid-template-columns: 1fr;
  }
  .rpp-tl-autosave-controls .rpp-tl-save-indicator {
    justify-content: center;
    text-align: center;
    white-space: normal;
  }
  .rpp-tl-autosave-controls .rpp-btn {
    width: 100%;
  }
  .rpp-tl-autosave-alert-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .rpp-tl-autosave-alert-actions .rpp-btn {
    width: 100%;
  }
  .rpp-tl-editor-actions {
    flex-direction: column;
  }
  .rpp-tl-editor-actions .rpp-btn {
    width: 100%;
    min-width: 0;
    white-space: normal !important;
  }
  .rpp-tl-day-nav-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  .rpp-tl-day-nav-actions .rpp-btn {
    width: 100%;
    white-space: normal !important;
  }
  /* Blocul istoric de scalare mobilă pune nowrap cu body .rpp-app .rpp-btn (0,2,1) —
     override cu specificitate mai mare, altfel „Marchează Verificat de echipă" lățește tot capul editorului la 320px. */
  body .rpp-app .rpp-tl-toolbar .rpp-btn,
  body .rpp-app .rpp-tl-card-actions .rpp-btn,
  body .rpp-app .rpp-tl-editor-actions .rpp-btn,
  body .rpp-app .rpp-tl-day-nav-actions .rpp-btn {
    white-space: normal !important;
  }
  .rpp-tl-progress-legend {
    gap: 6px 12px;
  }
}
@media (max-width: 560px) {
  .rpp-tl-preview,
  .rpp-tl-publish-modal,
  .rpp-tl-approve-modal {
    border-radius: 18px;
    padding: 16px;
  }
  .rpp-tl-preview-head {
    gap: 12px;
    margin-bottom: 12px;
  }
  .rpp-tl-preview h2 {
    font-size: clamp(22px, 6.4vw, 28px);
  }
  .rpp-tl-preview-meta {
    display: grid;
    grid-template-columns: 1fr;
  }
  .rpp-tl-preview-meta select {
    width: 100%;
  }
  .rpp-tl-preview-list {
    max-height: 46vh;
  }
  .rpp-tl-preview-actions,
  .rpp-tl-publish-actions,
  .rpp-tl-approve-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .rpp-tl-preview .rpp-btn,
  .rpp-tl-publish-modal .rpp-btn,
  .rpp-tl-approve-modal .rpp-btn {
    width: 100%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rpp-tl-card,
  .rpp-tl-approve-btn,
  .rpp-tl-progress-seg,
  .rpp-tl-mobile-tab,
  .rpp-tl-en-block,
  .rpp-tl-sent,
  .rpp-tl-pastor-text,
  .rpp-tl-regen {
    transition: none !important;
    animation: none !important;
  }
}

/* === v0.8.3: calendar — zilele dinaintea zilei de postare, estompate (ambele teme);
   textele zilelor active (nume zi + dată+lună), albe pe dark. Cardul push: dispozitive. === */
.rpp-day.is-past-post {
  filter: grayscale(0.45);
  opacity: 0.72;
}
.rpp-day.is-past-post:hover {
  transform: none;
  box-shadow: none;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-day:not(.is-past-post) .rpp-day-weekday,
body.rpp-theme-dark .rpp-app .rpp-day:not(.is-past-post) .rpp-day-weekday {
  color: #fff !important;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-day:not(.is-past-post) .rpp-date,
body.rpp-theme-dark .rpp-app .rpp-day:not(.is-past-post) .rpp-date {
  color: #fff !important;
}
.rpp-push-devices-head {
  font-size: var(--rpp-type-label);
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #5f6a7c;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-push-devices-head {
  color: #a8b5cc;
}
.rpp-push-devices li em {
  font-style: normal;
  font-weight: 800;
  color: #0e6547;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-push-devices li em {
  color: #73e3db;
}
/* Etichetele device-aware sunt mai lungi — blocul istoric body .rpp-app .rpp-btn pune
   nowrap!important și lățește tot cardul push; permitem wrap cu specificitate mai mare. */
body .rpp-app .rpp-push-actions .rpp-btn {
  white-space: normal !important;
  min-width: 0;
}

/* ================= v0.8.7 — Spell checker DEX (Traduceri, cerut de Pastorul Răzvan) ================= */
.rpp-spell-wrap {
  position: relative;
  display: block;
}
.rpp-spell-wrap > textarea,
.rpp-spell-wrap > input {
  position: relative;
  z-index: 1;
  background: transparent;
}
.rpp-spell-mirror {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  color: transparent;
  border-style: solid;
  border-color: transparent;
  z-index: 0;
}
.rpp-spell-mirror .rpp-spell-mark {
  background: transparent;
  color: transparent;
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.rpp-spell-mirror .rpp-spell-mark.is-spelling {
  text-decoration-color: #e5484d;
}
.rpp-spell-mirror .rpp-spell-mark.is-proper {
  text-decoration-color: #d9a514;
  text-decoration-style: dotted;
}
.rpp-spell-mirror .rpp-spell-mark.is-grammar {
  text-decoration-color: #3b82f6;
}
/* modul Pastor (contenteditable) — CSS Custom Highlight API, aceleași culori */
::highlight(rpp-spell-red) {
  text-decoration: underline wavy #e5484d 2px;
  text-underline-offset: 3px;
}
::highlight(rpp-spell-amber) {
  text-decoration: underline dotted #d9a514 2px;
  text-underline-offset: 3px;
}
::highlight(rpp-spell-blue) {
  text-decoration: underline wavy #3b82f6 2px;
  text-underline-offset: 3px;
}
.rpp-tl-field-head-actions {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}
.rpp-tl-spell-btn {
  font-size: 12px;
  white-space: nowrap;
}
.rpp-tl-pastor-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

/* ===== v0.9.0 · Teleprompter în Mod citire ===================================
   Culori EXPLICITE pe ambele teme (lecția v0.8.8: fără moșteniri translucide).
   Bara e sticky ca să rămână la îndemână pe mobil, unde scrollează întregul
   modal (.rpp-script-reader-modal), nu body-ul (CSS v0.6.27). */

/* ===== v0.11.6 · Praise Reports lunare în Traduceri ======================== */
/* v0.15.0: cardurile vechi ale rapoartelor au ieșit odată cu ecranul lor (acum 29-praise-reports.css, pe sistemul de
   design). Aici rămân previzualizarea din importul PDF, titlul lecțiilor și Modul citire. */
.rpp-tl-days-heading h2 {
  margin: 5px 0 0;
  color: var(--rpp-text, #142035);
  font-size: clamp(24px, 2.4vw, 34px);
  letter-spacing: -0.04em;
  line-height: 1.08;
}
.rpp-tl-days-heading {
  margin: 28px 2px 14px;
}

.rpp-tl-preview {
  width: min(980px, 100%);
}
.rpp-tl-preview-annexes {
  display: grid;
  gap: 12px;
  margin-top: 24px;
  padding-top: 22px;
  border-top: 2px solid rgba(20, 32, 53, 0.09);
}
.rpp-tl-preview-section-head h3 {
  margin: 0;
  color: #142035;
  font-size: 22px;
}
.rpp-tl-preview-section-head p {
  margin: 5px 0 4px;
  color: #66758a;
  font-size: 13.5px;
  line-height: 1.5;
}
.rpp-tl-preview-annex {
  padding: 14px;
  border: 1px solid rgba(20, 32, 53, 0.13);
  border-radius: 16px;
  background: #f5f7fb;
  opacity: 0.72;
}
.rpp-tl-preview-annex.is-selected {
  border-color: rgba(47, 103, 220, 0.34);
  background: #f7faff;
  opacity: 1;
}
.rpp-tl-preview-annex-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #33445e;
  font-size: 13px;
}
.rpp-tl-preview-annex-toggle input {
  width: 18px;
  height: 18px;
  min-height: 0;
  padding: 0;
}
.rpp-tl-preview-annex-toggle span {
  margin-left: auto;
  color: #718096;
}
.rpp-tl-preview-annex-body {
  display: grid;
  grid-template-columns: minmax(180px, 0.72fr) minmax(0, 1.28fr);
  gap: 14px;
}
.rpp-tl-preview-annex-image {
  display: grid;
  place-items: center;
  min-height: 180px;
  border-radius: 12px;
  background: #e9edf4;
  color: #6b778b;
  text-align: center;
}
.rpp-tl-preview-annex-image img {
  display: block;
  width: 100%;
  max-height: 430px;
  object-fit: contain;
  border-radius: 12px;
  background: #fff;
}
.rpp-tl-preview-annex-fields {
  display: grid;
  align-content: start;
  gap: 10px;
}
.rpp-tl-preview-annex-fields label {
  display: grid;
  gap: 5px;
  color: #4b5b70;
  font-size: 12px;
  font-weight: 850;
}
.rpp-tl-preview-annex-fields small {
  color: #8b5a05;
  line-height: 1.45;
}
html[data-rpp-theme='dark'] .rpp-tl-days-heading h2 {
  color: #ecf3ff;
}

@media (max-width: 780px) {
  .rpp-tl-preview-annex-body {
    grid-template-columns: 1fr;
  }
  .rpp-tl-preview-annex-image img {
    max-height: 360px;
  }
}

/* =========================================================
   v0.14.0 — REVIZUIRE FINAL: note pe timecode
   (1) panoul „Note pe timecode” din pagina zilei (în .rpp-app, peste .rpp-glass);
   (2) portalul player (.rpp-review-backdrop, pe <body>, z-index sub toast/modalul de notă).
   Reguli: suprafețe SOLIDE în portal (nu .rpp-glass), culori explicite pe ambele teme (AA ≥ 4.5),
   butoane proprii (.rpp-review-btn) cu padding/font EXPLICIT — portalul nu moștenește resetările
   .rpp-app și nici regula globală nowrap a .rpp-btn; [hidden] forțat (CSS-ul setează display), din v0.14.2
   prin regula comună din 23-hidden-attribute.css (panoul, playerul și fereastra de corecții).
   ========================================================= */

/* ---------- (1) panoul din pagina zilei ---------- */
body .rpp-app .rpp-btn .rpp-btn-count:where(:not(.rpp-day2, .rpp-day2 *)) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.55rem;
  height: 1.55rem;
  margin-left: 0.5rem;
  padding: 0 0.42rem;
  border-radius: 999px;
  background: #7a3e00;
  color: #fff;
  font-size: 0.82rem;
  font-weight: 850;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
html[data-rpp-theme='dark'] body .rpp-app .rpp-btn .rpp-btn-count:where(:not(.rpp-day2, .rpp-day2 *)) {
  background: #ffcf8a;
  color: #3a2410;
}
/* v0.15.0 (2.6): cutia ia raportul REAL al FINAL-ului (--rpp-review-ratio, pus de review/notes.js la loadedmetadata:
   9:16, 16:9, 1:1, 4:5); până atunci 9:16. Lățimea urmează înălțimea permisă, deci un FINAL 16:9 nu mai are benzi negre. */
@keyframes rpp-review-spin {
  to {
    transform: rotate(360deg);
  }
}

/* =========================================================
   v0.14.2 — atributul [hidden] câștigă în aplicație și în portalurile ei
   În browser, [hidden] înseamnă doar `display: none`, fără !important, deci orice regulă de aici care setează display îl
   anula. Exemplul găsit de auditul UI: „Închide” din fereastra ZIP se vedea și se putea apăsa în timpul descărcării
   (body .rpp-zip-modal .rpp-btn { display: inline-flex !important }, 09-buttons.css).
   Regula stă în ultimul strat și are greutate de ID, peste orice `display … !important` de azi (cea mai mare specificitate:
   (0,4,1) în .rpp-app și (0,3,1) în portaluri):
   - în aplicație, prin #rpp-app;
   - în portalurile de pe <body>, numite după atributul lor data-rpp-…, prin :not(#rpp-app), adevărat pentru ele.
   Înlocuiește reparațiile locale de până acum: turul, progresul de pe cardul lecției, notele pe timecode (panou, player,
   fereastra de corecții).
   ========================================================= */
body #rpp-app [hidden],
body [data-rpp-upload-portal]:not(#rpp-app) [hidden],
body [data-rpp-zip-portal]:not(#rpp-app) [hidden],
body [data-rpp-note-portal]:not(#rpp-app) [hidden],
body [data-rpp-script-reader-portal]:not(#rpp-app) [hidden],
body [data-rpp-review-portal]:not(#rpp-app) [hidden],
body [data-rpp-tl-preview-portal]:not(#rpp-app) [hidden],
body [data-rpp-tl-publish-portal]:not(#rpp-app) [hidden],
body [data-rpp-tl-approve-portal]:not(#rpp-app) [hidden],
body [data-rpp-onboarding-portal]:not(#rpp-app)[hidden],
body [data-rpp-onboarding-portal]:not(#rpp-app) [hidden] {
  display: none !important;
}

/* GENERAT de platform-src/tools/design-system.cjs din design-system/tokens.json (versiunea 1); nu edita de mână.
   Regenerare: node "Production Platform/platform-src/tools/design-system.cjs" --write
   Tokenii sistemului de design BethanyDev, cu prefixul --bd- (nu se ciocnesc cu Bricks, WordPress sau --rpp-*).
   - Luminos: pe :root, împreună cu tokenii fără temă (tipografie, spațiu, raze, sticlă, dimensiuni, durate).
   - Întunecat: pe html[data-rpp-theme='dark'], atributul pus înainte de prima pictare de bootstrap-ul temei
     (RPP_Plugin::output_theme_bootstrap, preferința light | dark | auto a utilizatorului).
   - Automat: bootstrap-ul pune tema sistemului și o schimbă live; fără atribut (sau cu „auto”), decide
     prefers-color-scheme. */
:root {
  /* Culori · luminos */
  --bd-bg: #eeeff3;
  --bd-surface: #ffffff;
  --bd-surface-2: #f2f2f7;
  --bd-surface-3: #e5e5ea;
  --bd-material-chrome: rgba(246, 246, 248, 0.72);
  --bd-material-sheet: rgba(250, 250, 252, 0.86);
  --bd-material-solid: #f6f6f8;
  --bd-glass-edge: rgba(255, 255, 255, 0.7);
  --bd-fill-1: rgba(120, 120, 128, 0.2);
  --bd-fill-2: rgba(120, 120, 128, 0.16);
  --bd-fill-3: rgba(118, 118, 128, 0.12);
  --bd-fill-4: rgba(116, 116, 128, 0.08);
  --bd-separator: rgba(60, 60, 67, 0.2);
  --bd-separator-opaque: #c6c6c8;
  --bd-control-edge: #7c7c81;
  --bd-seg-thumb: #ffffff;
  --bd-scrim: rgba(0, 0, 0, 0.2);
  --bd-video-well: #0b0b0c;
  --bd-label: #1d1d1f;
  --bd-label-2: #5e5e63;
  --bd-label-3: #6a6a6f;
  --bd-label-4: #aeaeb2;
  --bd-accent: #0071e3;
  --bd-accent-ink: #005fbf;
  --bd-on-accent: #ffffff;
  --bd-accent-tint: rgba(0, 113, 227, 0.12);
  --bd-focus: var(--bd-accent-ink);
  --bd-red: #ff3b30;
  --bd-orange: #ff9500;
  --bd-yellow: #ffcc00;
  --bd-green: #34c759;
  --bd-mint: #00c7be;
  --bd-teal: #30b0c7;
  --bd-cyan: #32ade6;
  --bd-blue: #007aff;
  --bd-indigo: #5856d6;
  --bd-purple: #af52de;
  --bd-pink: #ff2d55;
  --bd-brown: #a2845e;
  --bd-gray: #8e8e93;
  --bd-red-ink: #c4001a;
  --bd-orange-ink: #a04f00;
  --bd-green-ink: #16722f;
  --bd-red-tint: rgba(255, 59, 48, 0.12);
  --bd-orange-tint: rgba(255, 149, 0, 0.14);
  --bd-green-tint: rgba(52, 199, 89, 0.14);
  --bd-badge: #d70015;
  --bd-success-fill: #16722f;
  --bd-type-rapsodia: var(--bd-indigo);
  --bd-type-mini: var(--bd-purple);
  --bd-type-reel: var(--bd-pink);
  --bd-type-carusel: var(--bd-teal);
  --bd-type-citat: var(--bd-brown);
  --bd-type-anunt: var(--bd-orange);
  --bd-type-podcast: var(--bd-cyan);
  --bd-type-story: var(--bd-mint);
  --bd-type-liber: var(--bd-gray);
  --bd-stage-todo: var(--bd-control-edge);
  --bd-stage-work: var(--bd-accent-ink);
  --bd-stage-review: var(--bd-orange-ink);
  --bd-stage-ready: var(--bd-green-ink);
  --bd-stage-posted: var(--bd-label-3);
  --bd-stage-flag: var(--bd-red-ink);
  /* Umbre · luminos */
  --bd-shadow-glass:
    inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 8px 24px rgba(0, 0, 0, 0.08), 0 1px 3px rgba(0, 0, 0, 0.06);
  --bd-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.06), 0 0 0 0.5px rgba(0, 0, 0, 0.06);
  --bd-shadow-popover: 0 12px 36px rgba(0, 0, 0, 0.16), 0 2px 8px rgba(0, 0, 0, 0.08);
  --bd-shadow-sheet: 0 30px 90px rgba(0, 0, 0, 0.22), 0 6px 20px rgba(0, 0, 0, 0.08);
  --bd-shadow-button: 0 4px 12px rgba(0, 113, 227, 0.25);
  /* Tipografie: familiile și stilurile (font: greutate mărime/înălțime familie; -tracking = letter-spacing) */
  --bd-font-sans:
    -apple-system, BlinkMacSystemFont, 'SF Pro Text', Geist, 'Segoe UI Variable Text', 'Segoe UI', system-ui, sans-serif;
  --bd-font-display:
    -apple-system, BlinkMacSystemFont, 'SF Pro Display', Geist, 'Segoe UI Variable Display', 'Segoe UI', system-ui,
    sans-serif;
  --bd-font-mono: ui-monospace, 'SF Mono', 'Geist Mono', Menlo, Consolas, monospace;
  --bd-d-large-title: 700 28px/34px var(--bd-font-display);
  --bd-d-large-title-tracking: -0.02em;
  --bd-d-title-1: 700 22px/28px var(--bd-font-display);
  --bd-d-title-1-tracking: -0.015em;
  --bd-d-title-2: 650 17px/22px var(--bd-font-sans);
  --bd-d-title-2-tracking: -0.01em;
  --bd-d-title-3: 650 15px/20px var(--bd-font-sans);
  --bd-d-body: 400 14px/20px var(--bd-font-sans);
  --bd-d-body-strong: 600 14px/20px var(--bd-font-sans);
  --bd-d-callout: 400 13px/18px var(--bd-font-sans);
  --bd-d-footnote: 400 12px/16px var(--bd-font-sans);
  --bd-d-section: 650 12px/16px var(--bd-font-sans);
  --bd-d-caption: 600 11px/14px var(--bd-font-sans);
  --bd-t-large-title: 700 34px/41px var(--bd-font-display);
  --bd-t-large-title-tracking: -0.02em;
  --bd-t-title-1: 700 28px/34px var(--bd-font-display);
  --bd-t-title-1-tracking: -0.015em;
  --bd-t-title-2: 700 22px/28px var(--bd-font-display);
  --bd-t-title-2-tracking: -0.01em;
  --bd-t-title-3: 650 20px/25px var(--bd-font-sans);
  --bd-t-headline: 650 17px/22px var(--bd-font-sans);
  --bd-t-body: 400 17px/22px var(--bd-font-sans);
  --bd-t-callout: 400 16px/21px var(--bd-font-sans);
  --bd-t-subheadline: 400 15px/20px var(--bd-font-sans);
  --bd-t-footnote: 400 13px/18px var(--bd-font-sans);
  --bd-t-caption: 400 12px/16px var(--bd-font-sans);
  --bd-t-caption-2: 600 11px/13px var(--bd-font-sans);
  --bd-mono-time: 500 12px/16px var(--bd-font-mono);
  /* Spațiu (grila de 4 px) */
  --bd-space-2xs: 2px;
  --bd-space-xs: 4px;
  --bd-space-sm: 8px;
  --bd-space-md: 12px;
  --bd-space-lg: 16px;
  --bd-space-xl: 20px;
  --bd-space-2xl: 24px;
  --bd-space-3xl: 32px;
  --bd-space-4xl: 40px;
  --bd-space-5xl: 48px;
  --bd-space-6xl: 64px;
  --bd-gutter-compact: 16px;
  --bd-gutter-regular: 20px;
  --bd-gutter-desktop: 24px;
  /* Raze */
  --bd-radius-xs: 6px;
  --bd-radius-sm: 8px;
  --bd-radius-md: 10px;
  --bd-radius-lg: 14px;
  --bd-radius-xl: 20px;
  --bd-radius-2xl: 26px;
  --bd-radius-3xl: 34px;
  --bd-radius-pill: 999px;
  /* Sticla: raze fixe de blur (nu se animă) */
  --bd-blur-control: 16px;
  --bd-blur-chrome: 24px;
  --bd-blur-sheet: 32px;
  --bd-saturate-glass: 180%;
  /* Dimensiuni */
  --bd-control-sm: 28px;
  --bd-control-md: 32px;
  --bd-control-lg: 38px;
  --bd-touch-min: 44px;
  --bd-toolbar-h: 52px;
  --bd-tabbar-h: 64px;
  --bd-sidebar-w: 248px;
  --bd-icon-sm: 16px;
  --bd-icon-md: 18px;
  --bd-icon-lg: 22px;
  /* Puncte de rupere (pentru JS; media query-urile nu citesc variabile) */
  --bd-bp-regular: 600px;
  --bd-bp-desktop: 1024px;
  --bd-bp-wide: 1440px;
  /* Durate */
  --bd-dur-fast: 120ms;
  --bd-dur-base: 200ms;
  --bd-dur-slow: 320ms;
  --bd-dur-sheet: 380ms;
  /* Curbe */
  --bd-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
  --bd-ease-spring: cubic-bezier(0.34, 1.36, 0.64, 1);
  --bd-ease-exit: cubic-bezier(0.4, 0, 1, 1);
  /* Straturi (z-index) */
  --bd-z-chrome: 10;
  --bd-z-popover: 40;
  --bd-z-sheet: 60;
  --bd-z-toast: 80;
  /* Opacitate */
  --bd-opacity-disabled: 0.4;
  --bd-opacity-done: 0.64;
}

html[data-rpp-theme='dark'] {
  /* Culori · întunecat (aliasurile se redeclară: se rezolvă pe elementul care primește tema) */
  --bd-bg: #0e0e11;
  --bd-surface: #1c1c1e;
  --bd-surface-2: #2c2c2e;
  --bd-surface-3: #3a3a3c;
  --bd-material-chrome: rgba(30, 30, 33, 0.66);
  --bd-material-sheet: rgba(40, 40, 43, 0.86);
  --bd-material-solid: #1e1e21;
  --bd-glass-edge: rgba(255, 255, 255, 0.1);
  --bd-fill-1: rgba(120, 120, 128, 0.36);
  --bd-fill-2: rgba(120, 120, 128, 0.32);
  --bd-fill-3: rgba(118, 118, 128, 0.24);
  --bd-fill-4: rgba(118, 118, 128, 0.16);
  --bd-separator: rgba(84, 84, 88, 0.6);
  --bd-separator-opaque: #38383a;
  --bd-control-edge: #7c7c82;
  --bd-seg-thumb: #525256;
  --bd-scrim: rgba(0, 0, 0, 0.5);
  --bd-video-well: #0b0b0c;
  --bd-label: #f5f5f7;
  --bd-label-2: #aeaeb2;
  --bd-label-3: #98989d;
  --bd-label-4: #76767b;
  --bd-accent: #0071e3;
  --bd-accent-ink: #69b3ff;
  --bd-on-accent: #ffffff;
  --bd-accent-tint: rgba(10, 132, 255, 0.22);
  --bd-focus: var(--bd-accent-ink);
  --bd-red: #ff453a;
  --bd-orange: #ff9f0a;
  --bd-yellow: #ffd60a;
  --bd-green: #30d158;
  --bd-mint: #63e6e2;
  --bd-teal: #40c8e0;
  --bd-cyan: #64d2ff;
  --bd-blue: #0a84ff;
  --bd-indigo: #5e5ce6;
  --bd-purple: #bf5af2;
  --bd-pink: #ff375f;
  --bd-brown: #ac8e68;
  --bd-gray: #8e8e93;
  --bd-red-ink: #ff8a84;
  --bd-orange-ink: #ffb340;
  --bd-green-ink: #30d158;
  --bd-red-tint: rgba(255, 69, 58, 0.2);
  --bd-orange-tint: rgba(255, 159, 10, 0.2);
  --bd-green-tint: rgba(48, 209, 88, 0.18);
  --bd-badge: #d70015;
  --bd-success-fill: #1a7f37;
  --bd-type-rapsodia: var(--bd-indigo);
  --bd-type-mini: var(--bd-purple);
  --bd-type-reel: var(--bd-pink);
  --bd-type-carusel: var(--bd-teal);
  --bd-type-citat: var(--bd-brown);
  --bd-type-anunt: var(--bd-orange);
  --bd-type-podcast: var(--bd-cyan);
  --bd-type-story: var(--bd-mint);
  --bd-type-liber: var(--bd-gray);
  --bd-stage-todo: var(--bd-control-edge);
  --bd-stage-work: var(--bd-accent-ink);
  --bd-stage-review: var(--bd-orange-ink);
  --bd-stage-ready: var(--bd-green-ink);
  --bd-stage-posted: var(--bd-label-3);
  --bd-stage-flag: var(--bd-red-ink);
  /* Umbre · întunecat */
  --bd-shadow-glass:
    inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 12px 32px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.4);
  --bd-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.5), 0 0 0 0.5px rgba(255, 255, 255, 0.12);
  --bd-shadow-popover: 0 16px 44px rgba(0, 0, 0, 0.6), 0 2px 8px rgba(0, 0, 0, 0.45);
  --bd-shadow-sheet: 0 40px 110px rgba(0, 0, 0, 0.7), 0 8px 24px rgba(0, 0, 0, 0.45);
  --bd-shadow-button: 0 4px 14px rgba(0, 113, 227, 0.35);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-rpp-theme]),
  :root[data-rpp-theme='auto'] {
    /* Culori · întunecat (aliasurile se redeclară: se rezolvă pe elementul care primește tema) */
    --bd-bg: #0e0e11;
    --bd-surface: #1c1c1e;
    --bd-surface-2: #2c2c2e;
    --bd-surface-3: #3a3a3c;
    --bd-material-chrome: rgba(30, 30, 33, 0.66);
    --bd-material-sheet: rgba(40, 40, 43, 0.86);
    --bd-material-solid: #1e1e21;
    --bd-glass-edge: rgba(255, 255, 255, 0.1);
    --bd-fill-1: rgba(120, 120, 128, 0.36);
    --bd-fill-2: rgba(120, 120, 128, 0.32);
    --bd-fill-3: rgba(118, 118, 128, 0.24);
    --bd-fill-4: rgba(118, 118, 128, 0.16);
    --bd-separator: rgba(84, 84, 88, 0.6);
    --bd-separator-opaque: #38383a;
    --bd-control-edge: #7c7c82;
    --bd-seg-thumb: #525256;
    --bd-scrim: rgba(0, 0, 0, 0.5);
    --bd-video-well: #0b0b0c;
    --bd-label: #f5f5f7;
    --bd-label-2: #aeaeb2;
    --bd-label-3: #98989d;
    --bd-label-4: #76767b;
    --bd-accent: #0071e3;
    --bd-accent-ink: #69b3ff;
    --bd-on-accent: #ffffff;
    --bd-accent-tint: rgba(10, 132, 255, 0.22);
    --bd-focus: var(--bd-accent-ink);
    --bd-red: #ff453a;
    --bd-orange: #ff9f0a;
    --bd-yellow: #ffd60a;
    --bd-green: #30d158;
    --bd-mint: #63e6e2;
    --bd-teal: #40c8e0;
    --bd-cyan: #64d2ff;
    --bd-blue: #0a84ff;
    --bd-indigo: #5e5ce6;
    --bd-purple: #bf5af2;
    --bd-pink: #ff375f;
    --bd-brown: #ac8e68;
    --bd-gray: #8e8e93;
    --bd-red-ink: #ff8a84;
    --bd-orange-ink: #ffb340;
    --bd-green-ink: #30d158;
    --bd-red-tint: rgba(255, 69, 58, 0.2);
    --bd-orange-tint: rgba(255, 159, 10, 0.2);
    --bd-green-tint: rgba(48, 209, 88, 0.18);
    --bd-badge: #d70015;
    --bd-success-fill: #1a7f37;
    --bd-type-rapsodia: var(--bd-indigo);
    --bd-type-mini: var(--bd-purple);
    --bd-type-reel: var(--bd-pink);
    --bd-type-carusel: var(--bd-teal);
    --bd-type-citat: var(--bd-brown);
    --bd-type-anunt: var(--bd-orange);
    --bd-type-podcast: var(--bd-cyan);
    --bd-type-story: var(--bd-mint);
    --bd-type-liber: var(--bd-gray);
    --bd-stage-todo: var(--bd-control-edge);
    --bd-stage-work: var(--bd-accent-ink);
    --bd-stage-review: var(--bd-orange-ink);
    --bd-stage-ready: var(--bd-green-ink);
    --bd-stage-posted: var(--bd-label-3);
    --bd-stage-flag: var(--bd-red-ink);
    /* Umbre · întunecat */
    --bd-shadow-glass:
      inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 12px 32px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.4);
    --bd-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.5), 0 0 0 0.5px rgba(255, 255, 255, 0.12);
    --bd-shadow-popover: 0 16px 44px rgba(0, 0, 0, 0.6), 0 2px 8px rgba(0, 0, 0, 0.45);
    --bd-shadow-sheet: 0 40px 110px rgba(0, 0, 0, 0.7), 0 8px 24px rgba(0, 0, 0, 0.45);
    --bd-shadow-button: 0 4px 14px rgba(0, 113, 227, 0.35);
  }
}

/* GENERAT de platform-src/tools/design-system.cjs din design-system/components/bundle.css; nu edita de mână.
   Regenerare: node "Production Platform/platform-src/tools/design-system.cjs" --write
   Clasele bd-* ale sistemului de design, identice cu cele din design-system, cu tokenii redenumiți var(--x) → var(--bd-x)
   (24-ds-tokens.css). Nicio declarație forțată cu „important”: build.cjs le refuză în straturile noi.
   Componentele stau în afara .rpp-app (portaluri, shell-ul nou), unde nicio regulă veche nu le atinge.
   Vezi platform-src/README.md, „Sistemul de design”. */
/* BethanyDev Design System · componentele. Totul citește tokenii din tokens.css (var(--…)). */

/* ---- Baza ---- */
.bd-icon {
  display: block;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.bd-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.bd-kbd {
  font-family: var(--bd-font-sans);
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  color: var(--bd-label-3);
  padding: 3px 6px;
  border-radius: var(--bd-radius-xs);
  box-shadow: inset 0 0 0 1px var(--bd-separator);
}

/* Sticla: doar pe stratul de navigare. Fallback opac fără backdrop-filter sau cu transparența redusă. */
.bd-glass {
  background: var(--bd-material-chrome);
  -webkit-backdrop-filter: blur(var(--bd-blur-chrome)) saturate(var(--bd-saturate-glass));
  backdrop-filter: blur(var(--bd-blur-chrome)) saturate(var(--bd-saturate-glass));
  border: 1px solid var(--bd-glass-edge);
  box-shadow: var(--bd-shadow-glass);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .bd-glass,
  .bd-sheet,
  .bd-menu,
  .bd-toast {
    background: var(--bd-material-solid);
  }
}
@media (prefers-reduced-transparency: reduce) {
  .bd-glass,
  .bd-sheet,
  .bd-menu,
  .bd-toast {
    background: var(--bd-material-solid);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* ---- Button ---- */
.bd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  box-sizing: border-box;
  border: 0;
  margin: 0;
  font-family: var(--bd-font-sans);
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.15;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  border-radius: var(--bd-radius-md);
  transition:
    background-color var(--bd-dur-fast) var(--bd-ease-standard),
    transform var(--bd-dur-fast) var(--bd-ease-standard),
    filter var(--bd-dur-fast) var(--bd-ease-standard),
    box-shadow var(--bd-dur-base) var(--bd-ease-standard);
}
.bd-btn:active {
  transform: scale(0.97);
}
.bd-btn:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.bd-btn[disabled] {
  opacity: var(--bd-opacity-disabled);
  cursor: default;
  transform: none;
}
.bd-btn--sm {
  height: var(--bd-control-sm);
  padding: 0 10px;
  font-size: 13px;
  border-radius: var(--bd-radius-sm);
}
.bd-btn--md {
  height: var(--bd-control-md);
  padding: 0 14px;
  font-size: 14px;
}
.bd-btn--lg {
  height: var(--bd-control-lg);
  padding: 0 18px;
  font-size: 15px;
  border-radius: 12px;
}
.bd-btn--icon {
  padding: 0;
  aspect-ratio: 1;
}
.bd-btn--filled {
  background: var(--bd-accent);
  color: var(--bd-on-accent);
  box-shadow: var(--bd-shadow-button);
}
.bd-btn--filled:hover {
  filter: brightness(1.08);
}
.bd-btn--tinted {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.bd-btn--tinted:hover {
  filter: brightness(1.04);
}
.bd-btn--gray {
  background: var(--bd-fill-2);
  color: var(--bd-label);
}
.bd-btn--gray:hover {
  background: var(--bd-fill-1);
}
.bd-btn--plain {
  background: transparent;
  color: var(--bd-accent-ink);
}
.bd-btn--plain:hover {
  background: var(--bd-fill-4);
}
.bd-btn--destructive {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.bd-btn--destructive:hover {
  background: var(--bd-badge);
  color: var(--bd-on-accent);
}
.bd-btn--glass {
  background: var(--bd-material-chrome);
  color: var(--bd-label);
  border: 1px solid var(--bd-glass-edge);
  box-shadow: var(--bd-shadow-glass);
  -webkit-backdrop-filter: blur(var(--bd-blur-control)) saturate(var(--bd-saturate-glass));
  backdrop-filter: blur(var(--bd-blur-control)) saturate(var(--bd-saturate-glass));
}
@media (pointer: coarse) {
  .bd-btn--sm {
    height: 36px;
    padding: 0 14px;
    font-size: 15px;
    border-radius: var(--bd-radius-md);
  }
  .bd-btn--md {
    height: var(--bd-touch-min);
    padding: 0 18px;
    font-size: 17px;
    border-radius: 12px;
  }
  .bd-btn--lg {
    height: 50px;
    padding: 0 22px;
    font-size: 17px;
    border-radius: 14px;
  }
}

/* ---- ToolbarGroup: capsule de sticlă, ca în Finder ---- */
.bd-toolgroup {
  display: inline-flex;
  align-items: center;
  gap: var(--bd-space-2xs);
  height: var(--bd-control-lg);
  box-sizing: border-box;
  padding: 0 4px;
  border-radius: var(--bd-radius-pill);
  color: var(--bd-label);
}
.bd-toolgroup--round {
  padding: 0;
  width: var(--bd-control-lg);
  justify-content: center;
}
.bd-toolbtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 30px;
  min-width: 34px;
  box-sizing: border-box;
  padding: 0 8px;
  border: 0;
  border-radius: var(--bd-radius-pill);
  background: transparent;
  color: inherit;
  font-family: var(--bd-font-sans);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
.bd-toolgroup--round .bd-toolbtn {
  width: 30px;
  min-width: 30px;
  padding: 0;
}
.bd-toolbtn:hover {
  background: var(--bd-fill-4);
}
.bd-toolbtn.is-active {
  background: var(--bd-fill-2);
}
.bd-toolbtn:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 1px;
}
.bd-toolbtn[disabled] {
  color: var(--bd-label-4);
  cursor: default;
  background: transparent;
}
.bd-toolbtn__menu {
  color: var(--bd-label-3);
}
.bd-toolgroup__div {
  width: 1px;
  height: 18px;
  background: var(--bd-separator);
  margin: 0 2px;
}
@media (pointer: coarse) {
  .bd-toolgroup {
    height: var(--bd-touch-min);
  }
  .bd-toolbtn {
    height: 36px;
    min-width: 40px;
  }
  .bd-toolgroup--round {
    width: var(--bd-touch-min);
  }
}

/* ---- SegmentedControl ---- */
.bd-seg {
  display: inline-grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: var(--bd-space-2xs);
  padding: 2px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
}
.bd-seg__opt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 28px;
  padding: 0 12px;
  border: 0;
  border-radius: var(--bd-radius-sm);
  background: transparent;
  color: var(--bd-label-2);
  font-family: var(--bd-font-sans);
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color var(--bd-dur-base) var(--bd-ease-standard),
    color var(--bd-dur-fast) var(--bd-ease-standard),
    box-shadow var(--bd-dur-base) var(--bd-ease-standard);
}
.bd-seg__opt:hover {
  color: var(--bd-label);
}
.bd-seg__opt.is-on {
  background: var(--bd-seg-thumb);
  color: var(--bd-label);
  box-shadow: var(--bd-shadow-card);
}
.bd-seg__opt:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 1px;
}
@media (pointer: coarse) {
  .bd-seg__opt {
    height: 36px;
    font-size: 15px;
  }
}

/* ---- Switch ---- */
.bd-switch {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}
.bd-switch__track {
  position: relative;
  width: 38px;
  height: 22px;
  flex: none;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-1);
  box-shadow: inset 0 0 0 1px var(--bd-control-edge);
  transition:
    background-color var(--bd-dur-base) var(--bd-ease-standard),
    box-shadow var(--bd-dur-base);
}
.bd-switch__knob {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.25),
    0 0 0 0.5px rgba(0, 0, 0, 0.05);
  transition: transform var(--bd-dur-base) var(--bd-ease-spring);
}
.bd-switch.is-on .bd-switch__track {
  background: var(--bd-green);
  box-shadow: none;
}
.bd-switch.is-on .bd-switch__knob {
  transform: translateX(16px);
}
.bd-switch:focus-visible {
  outline: none;
}
.bd-switch:focus-visible .bd-switch__track {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.bd-switch[disabled] {
  opacity: var(--bd-opacity-disabled);
  cursor: default;
}
@media (pointer: coarse) {
  .bd-switch {
    font-size: 17px;
  }
  .bd-switch__track {
    width: 51px;
    height: 31px;
  }
  .bd-switch__knob {
    width: 27px;
    height: 27px;
  }
  .bd-switch.is-on .bd-switch__knob {
    transform: translateX(20px);
  }
}

/* ---- TextField ---- */
.bd-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: var(--bd-font-sans);
}
.bd-field__label {
  font-size: 13px;
  font-weight: 600;
  color: var(--bd-label-2);
}
.bd-field__box {
  display: flex;
  align-items: center;
  gap: 8px;
  height: var(--bd-control-lg);
  padding: 0 12px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label-3);
  transition: box-shadow var(--bd-dur-fast) var(--bd-ease-standard);
}
.bd-field__box:focus-within {
  box-shadow: 0 0 0 2px var(--bd-focus);
}
.bd-field__box input {
  flex: 1;
  min-width: 0;
  height: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--bd-label);
  font-family: inherit;
  font-size: 14px;
  outline: none;
}
.bd-field__box input::placeholder {
  color: var(--bd-label-3);
}
.bd-field--search .bd-field__box {
  height: var(--bd-control-md);
}
.bd-field__hint {
  font-size: 12px;
  color: var(--bd-label-3);
}
@media (pointer: coarse) {
  .bd-field__box,
  .bd-field--search .bd-field__box {
    height: var(--bd-touch-min);
  }
  .bd-field__box input {
    font-size: 17px;
  }
}

/* ---- Sidebar: sticlă plutitoare, ca în Finder ---- */
.bd-sidebar {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: var(--bd-sidebar-w);
  box-sizing: border-box;
  padding: 10px;
  border-radius: var(--bd-radius-xl);
  font-family: var(--bd-font-sans);
  color: var(--bd-label);
}
.bd-sidebar__section {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.bd-sidebar__title {
  padding: 4px 10px 2px;
  font-size: 12px;
  line-height: 16px;
  font-weight: 650;
  color: var(--bd-label-3);
}
.bd-sidebar__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.bd-sideitem {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 32px;
  box-sizing: border-box;
  padding: 0 10px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: transparent;
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  font-size: 14px;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
.bd-sideitem .bd-icon {
  color: var(--bd-label-2);
}
.bd-sideitem:hover {
  background: var(--bd-fill-4);
}
.bd-sideitem.is-active {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font-weight: 600;
}
.bd-sideitem.is-active .bd-icon {
  color: var(--bd-accent-ink);
}
.bd-sideitem:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.bd-sideitem__label {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bd-sideitem__badge {
  font-size: 12px;
  font-weight: 600;
  color: var(--bd-label-3);
  font-variant-numeric: tabular-nums;
}
.bd-sideitem.is-active .bd-sideitem__badge {
  color: var(--bd-accent-ink);
}
.bd-sideitem__dot {
  width: 10px;
  height: 10px;
  margin: 0 4px;
  border-radius: 50%;
  flex: none;
}
.bd-sideitem__acc {
  color: var(--bd-label-3);
}
.bd-sidebar__footer {
  margin-top: auto;
}
@media (pointer: coarse) {
  .bd-sideitem {
    height: var(--bd-touch-min);
    font-size: 17px;
  }
}

/* ---- TabBar: capsulă de sticlă plutitoare (iOS) ---- */
.bd-tabbar-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bd-tabbar {
  flex: 1;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: var(--bd-space-2xs);
  height: var(--bd-tabbar-h);
  box-sizing: border-box;
  padding: 5px;
  border-radius: var(--bd-radius-pill);
}
.bd-tab {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: var(--bd-touch-min);
  border: 0;
  border-radius: var(--bd-radius-pill);
  background: transparent;
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  font-size: 10.5px;
  font-weight: 600;
  cursor: pointer;
  transition:
    background-color var(--bd-dur-base) var(--bd-ease-standard),
    color var(--bd-dur-fast);
}
.bd-tab.is-on {
  background: var(--bd-fill-3);
  color: var(--bd-accent-ink);
}
.bd-tab:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.bd-tab__badge {
  position: absolute;
  top: 3px;
  left: calc(50% + 5px);
  min-width: 17px;
  height: 17px;
  padding: 0 5px;
  box-sizing: border-box;
  border-radius: 9px;
  background: var(--bd-badge);
  color: var(--bd-on-accent);
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bd-tabbar__action {
  width: var(--bd-tabbar-h);
  height: var(--bd-tabbar-h);
  flex: none;
  border: 0;
  border-radius: 50%;
  background: var(--bd-accent);
  color: var(--bd-on-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    var(--bd-shadow-button),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  cursor: pointer;
  transition: transform var(--bd-dur-fast) var(--bd-ease-standard);
}
.bd-tabbar__action:active {
  transform: scale(0.95);
}
.bd-tabbar__action:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 3px;
}

/* ---- ListGroup + ListRow ---- */
.bd-listgroup {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  font-family: var(--bd-font-sans);
}
.bd-listgroup__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 0 4px;
}
.bd-listgroup__title {
  margin: 0;
  font-size: 17px;
  line-height: 22px;
  font-weight: 650;
  letter-spacing: -0.01em;
  color: var(--bd-label);
}
.bd-listgroup__meta {
  font-size: 13px;
  color: var(--bd-label-2);
}
.bd-listgroup__body {
  display: flex;
  flex-direction: column;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  overflow: hidden;
}
.bd-listgroup__foot {
  margin: 0;
  padding: 0 14px;
  font-size: 12px;
  color: var(--bd-label-3);
}
.bd-row {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 52px;
  box-sizing: border-box;
  padding: 8px 14px;
  border: 0;
  background: transparent;
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  text-align: left;
}
.bd-row + .bd-row::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: var(--row-inset, 14px);
  height: 1px;
  background: var(--bd-separator);
}
.bd-row.is-action {
  cursor: pointer;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
.bd-row.is-action:hover {
  background: var(--bd-fill-4);
}
.bd-row.is-action:active {
  background: var(--bd-fill-3);
}
.bd-row.is-action:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.bd-row.is-muted .bd-row__title {
  color: var(--bd-label-2);
  font-weight: 500;
}
.bd-row.is-muted .bd-row__sub {
  color: var(--bd-label-3);
}
.bd-row.is-muted .bd-tile {
  filter: saturate(0.35);
  opacity: var(--bd-opacity-done);
}
.bd-row__lead {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: none;
}
.bd-row__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}
.bd-row__title {
  font-size: 14px;
  line-height: 19px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bd-row__sub {
  font-size: 13px;
  line-height: 17px;
  color: var(--bd-label-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bd-row__trail {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
  color: var(--bd-label-2);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}
.bd-row__chev {
  color: var(--bd-label-4);
}
@media (pointer: coarse) {
  .bd-listgroup__title {
    font-size: 22px;
    line-height: 28px;
    font-weight: 700;
  }
  .bd-listgroup__body {
    border-radius: var(--bd-radius-xl);
  }
  .bd-row {
    min-height: 60px;
    padding: 10px 16px;
  }
  .bd-row__title {
    font-size: 17px;
    line-height: 22px;
  }
  .bd-row__sub {
    font-size: 15px;
    line-height: 20px;
  }
  .bd-row__trail {
    font-size: 15px;
  }
}

/* ---- TypeTile ---- */
.bd-tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  color: #ffffff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 1px 2px rgba(0, 0, 0, 0.12);
}
.bd-tile .bd-icon {
  stroke-width: 2;
}

/* ---- PostCard: cardul din calendar ---- */
.bd-postcard {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
  box-sizing: border-box;
  padding: 8px 9px;
  border: 0;
  border-radius: 12px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  text-align: left;
  transition:
    transform var(--bd-dur-base) var(--bd-ease-standard),
    box-shadow var(--bd-dur-base) var(--bd-ease-standard);
}
button.bd-postcard {
  cursor: pointer;
}
button.bd-postcard:hover {
  transform: translateY(-1px);
  box-shadow: var(--bd-shadow-popover);
}
button.bd-postcard:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.bd-postcard.is-done {
  background: var(--bd-surface-2);
  box-shadow: none;
}
.bd-postcard.is-done .bd-postcard__title {
  color: var(--bd-label-2);
  font-weight: 500;
}
.bd-postcard.is-done .bd-postcard__sub {
  color: var(--bd-label-3);
}
.bd-postcard.is-done .bd-tile {
  filter: saturate(0.35);
  opacity: var(--bd-opacity-done);
}
.bd-postcard.is-selected {
  box-shadow: 0 0 0 2px var(--bd-accent);
}
.bd-postcard__top {
  display: flex;
  align-items: center;
  gap: 6px;
}
.bd-postcard__time {
  font-size: 11.5px;
  font-weight: 600;
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.bd-postcard__spacer {
  flex: 1;
}
.bd-postcard__title {
  font-size: 12.5px;
  line-height: 16px;
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.bd-postcard__sub {
  font-size: 11.5px;
  line-height: 15px;
  color: var(--bd-label-2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bd-postcard .bd-flag {
  align-self: flex-start;
  height: 18px;
  font-size: 10.5px;
}

/* ---- PostRow ---- */
.bd-postrow__lead {
  display: flex;
  align-items: center;
  gap: 10px;
}
.bd-postrow__time {
  width: 44px;
  font-size: 14px;
  font-weight: 650;
  color: var(--bd-label);
  font-variant-numeric: tabular-nums;
}
.bd-row.is-muted .bd-postrow__time {
  color: var(--bd-label-2);
  font-weight: 500;
}
@media (pointer: coarse) {
  .bd-postrow__time {
    font-size: 15px;
  }
}

/* ---- Stage ---- */
.bd-stage {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--bd-font-sans);
  font-size: 13px;
  font-weight: 600;
  color: var(--bd-label-2);
  white-space: nowrap;
}
.bd-ring {
  display: block;
  flex: none;
}
.bd-ring__outer {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.bd-ring__pie {
  fill: none;
  stroke: currentColor;
  stroke-width: 6;
}
.bd-ring__check {
  fill: none;
  stroke: #ffffff;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.bd-stage--todo .bd-ring {
  color: var(--bd-stage-todo);
}
.bd-stage--work .bd-ring {
  color: var(--bd-stage-work);
}
.bd-stage--review .bd-ring {
  color: var(--bd-stage-review);
}
.bd-stage--ready .bd-ring {
  color: var(--bd-stage-ready);
}
.bd-stage--posted .bd-ring {
  color: var(--bd-stage-posted);
}
.bd-flag {
  display: inline-flex;
  align-items: center;
  height: 20px;
  padding: 0 8px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-red-tint);
  color: var(--bd-stage-flag);
  font-size: 11.5px;
  font-weight: 650;
}
.bd-stepper {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 4px;
  font-family: var(--bd-font-sans);
}
.bd-stepper__step {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bd-stepper__bar {
  height: 5px;
  border-radius: 3px;
  background: var(--bd-fill-2);
}
.bd-stepper__step.is-done .bd-stepper__bar,
.bd-stepper__step.is-current .bd-stepper__bar {
  background: var(--bd-accent);
}
.bd-stepper__label {
  font-size: 11px;
  line-height: 14px;
  font-weight: 500;
  color: var(--bd-label-3);
}
.bd-stepper__step.is-current .bd-stepper__label {
  color: var(--bd-label);
  font-weight: 650;
}

/* ---- Badge ---- */
.bd-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 22px;
  padding: 0 8px;
  box-sizing: border-box;
  border-radius: var(--bd-radius-pill);
  font-family: var(--bd-font-sans);
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}
.bd-badge--neutral {
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
}
.bd-badge--accent {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.bd-badge--success {
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
}
.bd-badge--warning {
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
}
.bd-badge--danger {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.bd-badge--count {
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  justify-content: center;
  background: var(--bd-badge);
  color: var(--bd-on-accent);
  font-variant-numeric: tabular-nums;
}

/* ---- Progress: procent real, timp scurs, timp rămas, semn de viață ---- */
.bd-progress {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  font-family: var(--bd-font-sans);
  color: var(--bd-label);
}
.bd-progress__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.bd-progress__title {
  font-size: 14px;
  font-weight: 650;
}
.bd-progress__pct {
  font-size: 13px;
  font-weight: 650;
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.bd-progress__track {
  position: relative;
  height: 6px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-3);
  overflow: hidden;
}
.bd-progress__fill {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: inherit;
  background: var(--bd-accent);
  overflow: hidden;
  transition:
    width var(--bd-dur-slow) var(--bd-ease-standard),
    background-color var(--bd-dur-base);
}
.bd-progress__fill::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0));
  transform: translateX(-100%);
  animation: bd-shimmer 1.6s var(--bd-ease-standard) infinite;
}
.bd-progress__fill.is-indeterminate {
  width: 34%;
  animation: bd-indeterminate 1.4s var(--bd-ease-standard) infinite;
}
.bd-progress__meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12.5px;
  line-height: 17px;
  color: var(--bd-label-2);
}
.bd-progress__times {
  flex: none;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.bd-progress.is-stale .bd-progress__fill {
  background: var(--bd-orange);
}
.bd-progress.is-stale .bd-progress__fill::after,
.bd-progress.is-stale .bd-progress__fill.is-indeterminate {
  animation: none;
}
.bd-progress.is-stale .bd-progress__status {
  color: var(--bd-orange-ink);
  font-weight: 600;
}
.bd-progress__steps {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.bd-progress__step {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--bd-label-3);
}
.bd-progress__step.is-done {
  color: var(--bd-label-2);
}
.bd-progress__step.is-active {
  color: var(--bd-label);
  font-weight: 600;
}
.bd-progress__stepdot {
  width: 16px;
  height: 16px;
  flex: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 0 1.5px var(--bd-separator-opaque);
  color: var(--bd-on-accent);
}
.bd-progress__step.is-done .bd-progress__stepdot {
  background: var(--bd-success-fill);
  box-shadow: none;
}
.bd-progress__step.is-active .bd-progress__stepdot {
  box-shadow: inset 0 0 0 2px var(--bd-accent);
}
.bd-progress__step.is-active .bd-progress__stepdot::after {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--bd-accent);
  animation: bd-pulse 1.2s ease-in-out infinite;
}
.bd-progress__steptime {
  margin-left: auto;
  font-size: 12px;
  color: var(--bd-label-3);
  font-variant-numeric: tabular-nums;
}
.bd-progress__cancel {
  align-self: flex-start;
  margin-left: -10px;
}
@keyframes bd-shimmer {
  to {
    transform: translateX(100%);
  }
}
@keyframes bd-indeterminate {
  from {
    transform: translateX(-110%);
  }
  to {
    transform: translateX(310%);
  }
}
@keyframes bd-pulse {
  50% {
    opacity: 0.35;
  }
}

/* ---- Sheet ---- */
.bd-sheet-layer {
  position: fixed;
  inset: 0;
  z-index: var(--bd-z-sheet);
  display: flex;
}
.bd-sheet-layer.is-inline {
  position: absolute;
}
.bd-scrim {
  position: absolute;
  inset: 0;
  background: var(--bd-scrim);
  animation: bd-fade var(--bd-dur-base) var(--bd-ease-standard);
}
.bd-sheet {
  position: relative;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  max-height: 100%;
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  background: var(--bd-material-sheet);
  border: 1px solid var(--bd-glass-edge);
  box-shadow: var(--bd-shadow-sheet);
  -webkit-backdrop-filter: blur(var(--bd-blur-sheet)) saturate(var(--bd-saturate-glass));
  backdrop-filter: blur(var(--bd-blur-sheet)) saturate(var(--bd-saturate-glass));
}
.bd-sheet-layer--center {
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.bd-sheet--center {
  width: min(720px, 100%);
  border-radius: var(--bd-radius-2xl);
  animation: bd-pop var(--bd-dur-sheet) var(--bd-ease-spring);
}
.bd-sheet-layer--side {
  justify-content: flex-end;
  padding: 12px;
}
.bd-sheet--side {
  width: min(460px, 100%);
  height: 100%;
  border-radius: var(--bd-radius-2xl);
  animation: bd-slide-left var(--bd-dur-sheet) var(--bd-ease-spring);
}
.bd-sheet-layer--bottom {
  align-items: flex-end;
}
.bd-sheet--bottom {
  width: 100%;
  max-height: calc(100% - 48px);
  border-radius: var(--bd-radius-3xl) var(--bd-radius-3xl) 0 0;
  border-bottom: 0;
  padding-bottom: env(safe-area-inset-bottom, 0px);
  animation: bd-slide-up var(--bd-dur-sheet) var(--bd-ease-spring);
}
.bd-sheet__grabber {
  align-self: center;
  width: 36px;
  height: 5px;
  margin-top: 6px;
  border-radius: 3px;
  background: var(--bd-fill-1);
  flex: none;
}
.bd-sheet__head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 20px 20px 12px 22px;
}
.bd-sheet__titles {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.bd-sheet__kicker {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--bd-label-2);
}
.bd-sheet__title {
  margin: 0;
  font-size: 20px;
  line-height: 25px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
.bd-sheet__sub {
  margin: 2px 0 0;
  font-size: 14px;
  color: var(--bd-label-2);
}
.bd-sheet__close {
  width: 30px;
  height: 30px;
  flex: none;
  border: 0;
  border-radius: 50%;
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.bd-sheet__close:hover {
  background: var(--bd-fill-2);
  color: var(--bd-label);
}
.bd-sheet__close:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.bd-sheet__body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 0 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.bd-sheet__foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 20px;
  border-top: 1px solid var(--bd-separator);
}
@media (pointer: coarse) {
  .bd-sheet__close {
    width: 36px;
    height: 36px;
  }
  .bd-sheet__title {
    font-size: 22px;
    line-height: 28px;
  }
  .bd-sheet__foot .bd-btn {
    flex: 1;
  }
}
@keyframes bd-fade {
  from {
    opacity: 0;
  }
}
@keyframes bd-pop {
  from {
    opacity: 0;
    transform: scale(0.97);
  }
}
@keyframes bd-slide-left {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
}
@keyframes bd-slide-up {
  from {
    transform: translateY(40px);
    opacity: 0.4;
  }
}

/* ---- Menu ---- */
.bd-menu {
  display: flex;
  flex-direction: column;
  min-width: 220px;
  box-sizing: border-box;
  padding: 6px;
  border-radius: 13px;
  font-family: var(--bd-font-sans);
  color: var(--bd-label);
  background: var(--bd-material-sheet);
  border: 1px solid var(--bd-glass-edge);
  box-shadow: var(--bd-shadow-popover);
  -webkit-backdrop-filter: blur(var(--bd-blur-sheet)) saturate(var(--bd-saturate-glass));
  backdrop-filter: blur(var(--bd-blur-sheet)) saturate(var(--bd-saturate-glass));
}
.bd-menu__item {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 30px;
  padding: 0 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: inherit;
  font-family: inherit;
  font-size: 13.5px;
  text-align: left;
  cursor: pointer;
}
.bd-menu__item .bd-icon {
  color: var(--bd-label-2);
}
.bd-menu__item:hover,
.bd-menu__item:focus-visible {
  background: var(--bd-accent);
  color: var(--bd-on-accent);
  outline: none;
}
.bd-menu__item:hover .bd-icon,
.bd-menu__item:focus-visible .bd-icon,
.bd-menu__item:hover .bd-menu__kbd,
.bd-menu__item:focus-visible .bd-menu__kbd {
  color: var(--bd-on-accent);
}
.bd-menu__item.is-destructive,
.bd-menu__item.is-destructive .bd-icon {
  color: var(--bd-red-ink);
}
.bd-menu__item.is-destructive:hover,
.bd-menu__item.is-destructive:focus-visible {
  background: var(--bd-badge);
  color: var(--bd-on-accent);
}
.bd-menu__item.is-destructive:hover .bd-icon,
.bd-menu__item.is-destructive:focus-visible .bd-icon {
  color: var(--bd-on-accent);
}
.bd-menu__item[disabled] {
  color: var(--bd-label-4);
  cursor: default;
  background: transparent;
}
.bd-menu__label {
  flex: 1;
  white-space: nowrap;
}
.bd-menu__kbd {
  font-size: 12.5px;
  color: var(--bd-label-3);
  letter-spacing: 0.04em;
}
.bd-menu__sep {
  height: 1px;
  margin: 5px 10px;
  background: var(--bd-separator);
}
@media (pointer: coarse) {
  .bd-menu__item {
    height: var(--bd-touch-min);
    font-size: 17px;
  }
  .bd-menu {
    border-radius: 16px;
  }
}

/* ---- Toast ---- */
.bd-toast {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  box-sizing: border-box;
  padding: 8px 16px 8px 10px;
  border-radius: var(--bd-radius-pill);
  font-family: var(--bd-font-sans);
  font-size: 14px;
  font-weight: 550;
  color: var(--bd-label);
  background: var(--bd-material-sheet);
  border: 1px solid var(--bd-glass-edge);
  box-shadow: var(--bd-shadow-popover);
  -webkit-backdrop-filter: blur(var(--bd-blur-sheet)) saturate(var(--bd-saturate-glass));
  backdrop-filter: blur(var(--bd-blur-sheet)) saturate(var(--bd-saturate-glass));
  animation: bd-pop var(--bd-dur-sheet) var(--bd-ease-spring);
}
.bd-toast__icon {
  width: 24px;
  height: 24px;
  flex: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--bd-on-accent);
}
.bd-toast__icon .bd-icon {
  stroke-width: 2.6;
}
.bd-toast__icon--success {
  background: var(--bd-success-fill);
}
.bd-toast__icon--danger {
  background: var(--bd-badge);
}
.bd-toast__icon--info {
  background: var(--bd-accent);
}
.bd-toast__action {
  border: 0;
  padding: 4px 6px;
  margin-left: 4px;
  background: transparent;
  color: var(--bd-accent-ink);
  font-family: inherit;
  font-size: 14px;
  font-weight: 650;
  cursor: pointer;
  border-radius: var(--bd-radius-sm);
}
.bd-toast__action:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 1px;
}

/* ---- Avatar ---- */
.bd-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  border-radius: 50%;
  color: #ffffff;
  font-family: var(--bd-font-sans);
  font-weight: 650;
  letter-spacing: 0.01em;
  user-select: none;
}
.bd-avatar.is-you {
  box-shadow:
    0 0 0 2px var(--bd-surface),
    0 0 0 4px var(--bd-accent);
}

/* ---- NextUp: „Ce urmează” ---- */
.bd-nextup {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 14px 14px 16px;
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  font-family: var(--bd-font-sans);
  color: var(--bd-label);
}
.bd-nextup__tile {
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bd-accent);
  color: var(--bd-on-accent);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}
.bd-nextup--danger .bd-nextup__tile {
  background: var(--bd-badge);
}
.bd-nextup--success .bd-nextup__tile {
  background: var(--bd-success-fill);
}
.bd-nextup__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.bd-nextup__kicker {
  font-size: 12px;
  font-weight: 650;
  color: var(--bd-accent-ink);
}
.bd-nextup--danger .bd-nextup__kicker {
  color: var(--bd-red-ink);
}
.bd-nextup--success .bd-nextup__kicker {
  color: var(--bd-green-ink);
}
.bd-nextup__title {
  font-size: 15px;
  line-height: 20px;
  font-weight: 650;
}
.bd-nextup__body {
  font-size: 13px;
  line-height: 18px;
  color: var(--bd-label-2);
}
@media (max-width: 599px) {
  .bd-nextup {
    flex-wrap: wrap;
  }
  .bd-nextup .bd-btn {
    width: 100%;
  }
}
@media (pointer: coarse) {
  .bd-nextup__title {
    font-size: 17px;
    line-height: 22px;
  }
  .bd-nextup__body {
    font-size: 15px;
    line-height: 20px;
  }
}

/* ---- DesktopOnly: Studio pe telefon și tabletă ---- */
.bd-desktoponly {
  box-sizing: border-box;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 48px 24px;
  text-align: center;
  font-family: var(--bd-font-sans);
  color: var(--bd-label);
  background: var(--bd-bg);
}
.bd-desktoponly__art {
  width: 88px;
  height: 88px;
  margin-bottom: 6px;
  border-radius: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  color: var(--bd-accent-ink);
}
.bd-desktoponly__title {
  margin: 0;
  max-width: 20ch;
  font-size: 28px;
  line-height: 34px;
  font-weight: 700;
  letter-spacing: -0.015em;
  text-wrap: balance;
}
.bd-desktoponly__body {
  margin: 0;
  max-width: 36ch;
  font-size: 17px;
  line-height: 24px;
  color: var(--bd-label-2);
  text-wrap: pretty;
}
.bd-desktoponly__reqs {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  font-size: 15px;
  color: var(--bd-label);
}
.bd-desktoponly__reqs li {
  display: flex;
  align-items: center;
  gap: 8px;
}
.bd-desktoponly__reqs .bd-icon {
  color: var(--bd-green-ink);
  stroke-width: 2.2;
}
.bd-desktoponly__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: 320px;
  margin-top: 10px;
}
.bd-desktoponly__actions .bd-btn {
  width: 100%;
}
.bd-desktoponly__hint {
  margin: 4px 0 0;
  max-width: 34ch;
  font-size: 13px;
  line-height: 18px;
  color: var(--bd-label-3);
}

@media (prefers-reduced-motion: reduce) {
  .bd-progress__fill::after {
    animation: none;
  }
  .bd-progress__fill.is-indeterminate {
    animation: none;
    width: 100%;
    opacity: 0.5;
  }
  .bd-progress__step.is-active .bd-progress__stepdot::after {
    animation: none;
  }
  .bd-sheet,
  .bd-scrim,
  .bd-toast {
    animation: none;
  }
  .bd-btn,
  .bd-switch__knob,
  .bd-seg__opt,
  .bd-tab {
    transition: none;
  }
}

/* =========================================================
   v0.15.0 (Etapa 2.1) — sistemul de design în platformă: gazdele UI-ului nou, toast-ul, aspectul din Profil.
   Strat nou, fără declarații forțate (build.cjs le refuză în straturile marcate „strict” din manifest.json).
   Tokenii --bd-* vin din 24-ds-tokens.css, clasele bd-* din 25-ds-components.css (ambele generate din design-system/).
   Regula de amplasare (README, „Sistemul de design”): UI-ul nou stă în afara .rpp-app, în gazde [data-bd]; ecranele vechi
   rămân în .rpp-app până sunt refăcute. O insulă nouă într-un ecran vechi (aspectul din Profil) poartă și ea [data-bd].
   ========================================================= */

/* Gazdele UI-ului nou: stratul toast-ului acum; shell-ul, foile și insulele din pașii următori. Componentele bd-* moștenesc
   de aici tipografia de bază a sistemului de design, nu pe a temei Bricks sau a .rpp-app (Inter, letter-spacing, uppercase,
   line-height): d-body de 14 px pe desktop, t-body de 17 px pe ecranele tactile (design-system/README.md). */
[data-bd] {
  font-family: var(--bd-font-sans);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: normal;
  text-align: start;
  text-shadow: none;
  text-transform: none;
  color: var(--bd-label);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (pointer: coarse) {
  [data-bd] {
    font-size: 17px;
  }
}

/* Toast-ul (ui/toast.js): stratul de pe <body> ține pastila bd-toast jos, în centru, deasupra zonei sigure.
   z-index-ul rămâne cel de dinainte (peste portalul de upload, sub ZIP, notă și tur): portalurile vechi au valori de ordinul
   2147483000, iar scala --bd-z-* intră în joc odată cu shell-ul nou. --rpp-toast-bottom îl va ridica deasupra tab bar-ului.
   Stratul nu prinde atingeri (bara de jos a playerului, dock-ul traducerilor rămân apăsabile); doar un toast cu acțiune. */
.rpp-toast-layer {
  position: fixed;
  z-index: 2147483100;
  left: 0;
  right: 0;
  bottom: var(--rpp-toast-bottom, calc(18px + env(safe-area-inset-bottom, 0px)));
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 max(var(--bd-gutter-compact), env(safe-area-inset-right, 0px)) 0
    max(var(--bd-gutter-compact), env(safe-area-inset-left, 0px));
  pointer-events: none;
}
.rpp-toast-layer .bd-toast {
  max-width: min(560px, 100%);
  pointer-events: none;
}
.rpp-toast-layer .bd-toast.has-action {
  pointer-events: auto;
}
.rpp-toast-layer .bd-toast__text {
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-toast-layer .bd-toast__action {
  flex: none;
}
/* Dispariția: doar opacitate, deci rămâne și cu „reducerea mișcării” (design-system: „rămân doar schimbările de opacitate”). */
.rpp-toast-layer .bd-toast.is-leaving {
  opacity: 0;
  transition: opacity var(--bd-dur-base) var(--bd-ease-exit);
}

/* Aspectul din Profil (profile/render.js): insula [data-bd] de sub limba interfeței, cu SegmentedControl-ul temei. */
.rpp-profile-appearance {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm) var(--bd-space-md);
  margin-top: var(--bd-space-xs);
}
.rpp-profile-appearance-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--bd-label-2);
}
.rpp-profile-appearance-hint {
  flex-basis: 100%;
  margin: 0;
  font-size: 12px;
  line-height: 16px;
  color: var(--bd-label-3);
}
@media (pointer: coarse) {
  .rpp-profile-appearance-label {
    font-size: 15px;
  }
  .rpp-profile-appearance-hint {
    font-size: 13px;
    line-height: 18px;
  }
}
/* Pe telefon, eroul profilului e centrat (15-profile-academy.css): insula la fel. */
@media (max-width: 760px) {
  .rpp-profile-appearance {
    justify-content: center;
    text-align: center;
  }
}

/* Cititorul scriptului: butonul de fundal are acum iconița lunii sau a soarelui (bd-icon de 14 px, cât textul butoanelor
   vecine A− și A+), centrată; înainte scria „Dark” / „Light”. */
.rpp-script-reader-actions [data-script-reader-theme] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Weekful 0.16: acțiunea din toast („Anulează”, „Deschide”) avea 25 px pe telefon (semnalat de Academy, faza A). Pe
   ecrane tactile ținta minimă e --bd-touch-min (44 px); pe desktop rămâne compactă, ca în sistemul de design. */
@media (pointer: coarse) {
  .bd-toast__action {
    display: inline-flex;
    align-items: center;
    min-height: var(--bd-touch-min);
    padding-inline: var(--bd-space-md);
  }
}

/* =========================================================
   v0.15.0 (Etapa 2.3) — shell-ul nou, Weekful: sidebar-ul de sticlă (desktop), bara și sidebar-ul care se ascunde
   (regular), bara de sus și tab bar-ul plutitor (telefon), rândul de toolbar, paleta ⌘K, ecranele noi (calendarul filtrat,
   Echipa) și foile (contul, Creează).
   Strat „strict” (fără declarații forțate). Doar tokeni --bd-* și clase bd-* din design-system; sticla vine numai din
   clasele lui (bd-glass, bd-sheet, bd-menu), stratul acesta nu adaugă blur.
   Totul stă în afara .rpp-app, pe gazde [data-bd]. Excepțiile, la nivel de pagină: header-ul temei (#brx-header) se ascunde,
   locul navigației se rezervă pe <body> și lățimea .rpp-app se potrivește lângă sidebar. Clasa de ecran
   (html[data-rpp-shell]) o pune scriptul de pornire din PHP, înainte de prima
   pictare, apoi shell/shell.js (compact < 600 px; regular 600–1023 px sau tactil; desktop ≥ 1024 px cu mouse).
   ========================================================= */

/* ---- Pagina: header-ul vechi iese, locul navigației e rezervat ---- */
html.rpp-shell-on #brx-header {
  display: none;
}
html.rpp-shell-on[data-rpp-shell='desktop'] body {
  --rpp-shell-gutter: var(--bd-space-md);
  padding-top: var(--bd-space-md);
  padding-inline-start: calc(var(--bd-sidebar-w) + var(--bd-space-md) + env(safe-area-inset-left, 0px));
}
html.rpp-shell-on[data-rpp-shell='regular'] body {
  --rpp-shell-gutter: var(--bd-gutter-regular);
  padding-top: calc(var(--bd-toolbar-h) + var(--bd-space-md) * 2 + env(safe-area-inset-top, 0px));
}
html.rpp-shell-on[data-rpp-shell='compact'] body {
  --rpp-toast-bottom: calc(
    var(--bd-tabbar-h) + var(--bd-space-lg) + var(--bd-space-md) + env(safe-area-inset-bottom, 0px)
  );
  padding-top: calc(var(--bd-toolbar-h) + env(safe-area-inset-top, 0px));
  padding-bottom: calc(var(--bd-tabbar-h) + var(--bd-space-lg) * 2 + env(safe-area-inset-bottom, 0px));
}
/* Weekful 0.1.2: pe telefon, tab bar-ul plutitor (cu Creează alături) acoperă marginea de jos a ecranului. Pagina (containerul
   derulat e documentul) păstrează sub el înălțimea barei + zona sigură: padding-bottom-ul de mai sus lasă orice rând să urce
   deasupra barei, iar scroll-padding-ul face ca scrollIntoView, focusul din tastatură și ancorele să oprească rândul deasupra ei */
html.rpp-shell-on[data-rpp-shell='compact'] {
  scroll-padding-bottom: calc(var(--bd-tabbar-h) + var(--bd-space-lg) * 2 + env(safe-area-inset-bottom, 0px));
}
/* Aplicația veche ocupă locul de lângă sidebar, la space-md de el și de marginea ferestrei, ca în machetă (lățimea ei de azi,
   din 06-typography-scale.css, păstra marginile paginii fără sidebar). Doar lățimea: restul .rpp-app rămâne neatins. */
html.rpp-shell-on[data-rpp-shell='desktop'] body .rpp-app,
html.rpp-shell-on[data-rpp-shell='regular'] body .rpp-app {
  width: min(calc(100% - var(--rpp-shell-gutter) * 2), 1600px);
}
/* o foaie, meniul contului sau paleta deschise: pagina din spate nu mai derulează */
html.rpp-shell-modal-open {
  overflow: hidden;
}

/* ---- Logotipul Weekful (ui/brand.js, 28-brand.css): aici doar mărimea; culorile (simbolul în accent, literele în label,
   după temă) le dă stratul mărcii ---- */
.rpp-appshell-brand .rpp-appshell-logo {
  width: auto;
  height: 20px;
}
/* spațiul liber: cel puțin un sfert din înălțimea simbolului (≈ 5 px la 20 px), iar ținta rămâne de 44 px pe ecranele tactile */
.rpp-appshell-brand {
  display: inline-flex;
  align-items: center;
  flex: none;
  min-height: 32px;
  padding: 6px;
  border-radius: var(--bd-radius-sm);
  color: var(--bd-label);
  text-decoration: none;
}
.rpp-appshell-brand:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 1px;
}

/* ---- Sidebar-ul (desktop: fix; regular: se ascunde și se deschide peste conținut) ---- */
.rpp-appshell-sidebar {
  position: fixed;
  z-index: var(--bd-z-chrome);
  top: var(--bd-space-md);
  bottom: var(--bd-space-md);
  left: calc(var(--bd-space-md) + env(safe-area-inset-left, 0px));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
html[data-rpp-shell='regular'] .rpp-appshell-sidebar {
  z-index: var(--bd-z-popover);
  top: calc(var(--bd-space-md) + env(safe-area-inset-top, 0px));
  visibility: hidden;
  transform: translateX(calc(-100% - var(--bd-space-2xl)));
  transition:
    transform var(--bd-dur-base) var(--bd-ease-exit),
    visibility 0s linear var(--bd-dur-base);
}
html[data-rpp-shell='regular'] .rpp-appshell-sidebar.is-open {
  visibility: visible;
  transform: none;
  transition:
    transform var(--bd-dur-sheet) var(--bd-ease-spring),
    visibility 0s;
}
.rpp-appshell-scrim {
  position: fixed;
  z-index: calc(var(--bd-z-popover) - 1);
}
body.admin-bar .rpp-appshell-sidebar {
  top: calc(var(--bd-space-md) + var(--wp-admin--admin-bar--height, 32px));
}
.rpp-appshell-sidebar__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--bd-space-sm);
  padding: 0 0 0 var(--bd-space-xs);
}
.rpp-appshell-close {
  min-width: var(--bd-touch-min);
  min-height: var(--bd-touch-min);
}
.rpp-appshell-sidebar .bd-sideitem,
.rpp-appshell-tabbar .bd-tab {
  text-decoration: none;
}
html[data-rpp-shell='regular'] .rpp-appshell-sidebar .bd-sideitem,
html[data-rpp-shell='regular'] .rpp-appshell-sidebar .rpp-appshell-brand {
  min-height: var(--bd-touch-min);
}
/* Weekful 0.1.2: pe laptopurile cu ecran scund (1280 × 800, 1024 × 768), sidebar-ul cu șase rubrici avea nevoie de 786 px în 774 /
   742 px, deci contul de jos ieșea tăiat, la câțiva pixeli de rama sidebar-ului. Sub 900 px înălțime rândurile au 28 px (ca în
   Finder) și secțiunile 8 px între ele: încap și șase rubrici, iar cu mai multe sidebar-ul derulează ca înainte. */
@media (max-height: 900px) {
  html[data-rpp-shell='desktop'] .rpp-appshell-sidebar.bd-sidebar {
    gap: var(--bd-space-sm);
  }
  html[data-rpp-shell='desktop'] .rpp-appshell-sidebar .bd-sideitem {
    height: 28px;
  }
}

/* căutarea din sidebar: câmpul de căutare din design-system, ca buton care deschide paleta */
.rpp-appshell-search {
  display: flex;
  flex-direction: row;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: start;
  cursor: pointer;
}
.rpp-appshell-search .bd-field__box {
  flex: 1 1 auto;
  min-width: 0;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-appshell-search:hover .bd-field__box {
  background: var(--bd-fill-2);
}
.rpp-appshell-search:focus-visible {
  outline: none;
}
.rpp-appshell-search:focus-visible .bd-field__box {
  box-shadow: 0 0 0 2px var(--bd-focus);
}
.rpp-appshell-search__label {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  color: var(--bd-label-2);
}
/* label-3 pe umplutura câmpului, peste sticlă, dă 4,3:1; textul și scurtătura butonului de căutare folosesc label-2 */
.rpp-appshell-search .bd-kbd {
  color: var(--bd-label-2);
}
html[data-rpp-shell='regular'] .rpp-appshell-search .bd-field__box {
  height: var(--bd-touch-min);
}

/* aspectul și contul, jos */
.rpp-appshell-sidebar__foot {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--bd-separator);
}
.rpp-appshell-appearance {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 2px var(--bd-space-sm);
  padding: 0 6px;
}
.rpp-appshell-appearance__label {
  font: var(--bd-d-section);
  color: var(--bd-label-3);
}
.rpp-appshell-appearance__caption {
  font: var(--bd-d-footnote);
  color: var(--bd-label-3);
}
.rpp-appshell-sidebar .rpp-theme-control,
.rpp-appshell-sheet .rpp-theme-control {
  display: grid;
  width: 100%;
}
html[data-rpp-shell='regular'] .rpp-appshell-sidebar .bd-seg__opt {
  height: var(--bd-touch-min);
}
.rpp-appshell-account {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: var(--bd-touch-min);
  padding: 6px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: transparent;
  color: var(--bd-label);
  font: inherit;
  text-align: start;
  cursor: pointer;
}
.rpp-appshell-account:hover {
  background: var(--bd-fill-4);
}
.rpp-appshell-account:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-appshell-account__text {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.rpp-appshell-account__name {
  font-size: 13px;
  font-weight: 600;
  line-height: 17px;
  overflow-wrap: anywhere;
}
.rpp-appshell-account__meta {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  line-height: 16px;
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-appshell-account__chev {
  color: var(--bd-label-3);
}

/* ---- Bara fixă: regular (plutitoare, cu butonul sidebar-ului) și compact (sus, pe toată lățimea) ---- */
.rpp-appshell-bar {
  position: fixed;
  z-index: var(--bd-z-chrome);
  display: flex;
  align-items: center;
  gap: var(--bd-space-xs);
  box-sizing: border-box;
}
html[data-rpp-shell='regular'] .rpp-appshell-bar {
  top: calc(var(--bd-space-md) + env(safe-area-inset-top, 0px));
  right: calc(var(--bd-space-md) + env(safe-area-inset-right, 0px));
  left: calc(var(--bd-space-md) + env(safe-area-inset-left, 0px));
  height: var(--bd-toolbar-h);
  padding: 0 var(--bd-space-xs);
  border-radius: var(--bd-radius-xl);
}
html[data-rpp-shell='compact'] .rpp-appshell-bar {
  top: 0;
  right: 0;
  left: 0;
  height: calc(var(--bd-toolbar-h) + env(safe-area-inset-top, 0px));
  padding: env(safe-area-inset-top, 0px) max(var(--bd-space-xs), env(safe-area-inset-right, 0px)) 0
    max(var(--bd-space-sm), env(safe-area-inset-left, 0px));
  border-width: 0 0 1px;
  border-radius: 0;
}
body.admin-bar .rpp-appshell-bar {
  top: calc(var(--bd-space-md) + var(--wp-admin--admin-bar--height, 32px));
}
@media (max-width: 600px) {
  body.admin-bar .rpp-appshell-bar {
    top: 0;
  }
}
.rpp-appshell-bar .rpp-appshell-brand .rpp-appshell-logo {
  height: 22px;
}
.rpp-appshell-bar .rpp-appshell-brand {
  min-height: var(--bd-touch-min);
  padding: 0 6px;
}
.rpp-appshell-bar__spacer {
  flex: 1;
  min-width: 0;
}
.rpp-appshell-bar .bd-btn {
  min-width: var(--bd-touch-min);
  min-height: var(--bd-touch-min);
}
.rpp-appshell-bar .bd-btn--filled {
  min-height: 36px;
  margin-inline: var(--bd-space-xs);
}
/* Weekful 0.1.2: pe tabletă, butoanele din bara plutitoare au 44 px (ținta tactilă), iar bara avea 52 px, deci „Creează” stătea la
   3 px de ramele ei. Pe ecranele tactile bara are 60 px: 44 px de țintă, 7 px de aer sus și jos și marginea de sticlă. Pagina,
   derularea Traducerilor și bara kitului mărcii citesc aceeași variabilă, deci se mută împreună. */
@media (pointer: coarse) {
  html[data-rpp-shell='regular'] {
    --bd-toolbar-h: 60px;
  }
}
.rpp-appshell-bar__account {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--bd-touch-min);
  height: var(--bd-touch-min);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.rpp-appshell-bar__account:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 1px;
}

/* ---- Tab bar-ul plutitor (telefon): la 16 px de margini, deasupra zonei sigure de jos ---- */
.rpp-appshell-tabbar {
  position: fixed;
  z-index: var(--bd-z-chrome);
  right: max(var(--bd-space-lg), env(safe-area-inset-right, 0px));
  bottom: max(var(--bd-space-lg), calc(env(safe-area-inset-bottom, 0px) + var(--bd-space-sm)));
  left: max(var(--bd-space-lg), env(safe-area-inset-left, 0px));
}
.rpp-appshell-tabbar .bd-tab__label {
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: center;
}

/* ---- Rândul de toolbar (în pagină, deasupra conținutului) și gazda ecranelor noi, aliniate cu .rpp-app ---- */
.rpp-appshell-main {
  display: block;
  width: 100%;
}
.rpp-appshell-toolbar,
.rpp-appshell-view {
  box-sizing: border-box;
  width: min(calc(100% - var(--rpp-shell-gutter, 12px) * 2), 1600px);
  margin-inline: auto;
}
html[data-rpp-shell='compact'] .rpp-appshell-toolbar,
html[data-rpp-shell='compact'] .rpp-appshell-view {
  width: auto;
  margin-inline: max(var(--bd-gutter-compact), env(safe-area-inset-left, 0px))
    max(var(--bd-gutter-compact), env(safe-area-inset-right, 0px));
}
.rpp-appshell-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding-top: var(--bd-space-xs);
}
.rpp-appshell-toolbar[hidden],
.rpp-appshell-view[hidden] {
  display: none;
}
.rpp-appshell-toolbar__titles {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-inline-start: 6px;
}
.rpp-appshell-toolbar__title {
  margin: 0;
  font: var(--bd-d-title-1);
  letter-spacing: var(--bd-d-title-1-tracking);
  color: var(--bd-label);
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.rpp-appshell-toolbar__subtitle {
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-appshell-toolbar__spacer {
  flex: 1 1 0;
}
.rpp-appshell-toolbar .bd-toolbtn {
  text-decoration: none;
}
html[data-rpp-shell='regular'] .rpp-appshell-toolbar__title {
  font: var(--bd-t-title-1);
  letter-spacing: var(--bd-t-title-1-tracking);
}
html[data-rpp-shell='compact'] .rpp-appshell-toolbar {
  padding-top: var(--bd-space-md);
}
html[data-rpp-shell='compact'] .rpp-appshell-toolbar__titles {
  flex-basis: 100%;
  margin-inline-start: 4px;
}
html[data-rpp-shell='compact'] .rpp-appshell-toolbar__title {
  font: var(--bd-t-large-title);
  letter-spacing: var(--bd-t-large-title-tracking);
}
html[data-rpp-shell='compact'] .rpp-appshell-toolbar__subtitle {
  font: var(--bd-t-subheadline);
}
html[data-rpp-shell='compact'] .rpp-appshell-toolbar__spacer {
  display: none;
}
@media (pointer: coarse) {
  .rpp-appshell-toolbar .bd-toolbtn {
    min-height: var(--bd-touch-min);
  }
}
html:not([data-rpp-shell='desktop']) .rpp-appshell-toolbar .bd-toolgroup {
  height: auto;
  min-height: var(--bd-touch-min);
}
html:not([data-rpp-shell='desktop']) .rpp-appshell-toolbar .bd-toolbtn,
html:not([data-rpp-shell='desktop']) .rpp-appshell-queues .bd-seg__opt {
  min-height: var(--bd-touch-min);
}
.rpp-appshell-queues .bd-seg__opt {
  text-decoration: none;
}
/* pe telefon, cozile Sarcinilor ocupă tot rândul, în trei părți egale (Montaj · Aprobare · Postare încap și la 320 px) */
html[data-rpp-shell='compact'] .rpp-appshell-queues {
  display: grid;
  width: 100%;
}
html[data-rpp-shell='compact'] .rpp-appshell-queues .bd-seg__opt {
  padding: 0 var(--bd-space-xs);
}

/* ---- Ecranele noi: conținut opac (surface), secțiuni la space-2xl ---- */
.rpp-appshell-view {
  margin-top: var(--bd-space-md);
  padding-bottom: var(--bd-space-2xl);
}
.rpp-appshell-stack {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
}
.rpp-appshell-view .bd-row {
  text-decoration: none;
}
.rpp-appshell-view .bd-row__sub,
.rpp-appshell-view .bd-row__title {
  min-width: 0;
}
.rpp-appshell-row--focus {
  background: var(--bd-accent-tint);
}
.rpp-appshell-flags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
  margin-top: 2px;
}
.rpp-appshell-note {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--bd-space-md);
  padding: var(--bd-space-xl);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  color: var(--bd-label-2);
}
.rpp-appshell-note p {
  margin: 0;
  font: var(--bd-d-body);
  overflow-wrap: anywhere;
}
@media (pointer: coarse) {
  .rpp-appshell-note p {
    font: var(--bd-t-body);
  }
}

/* ---- Meniurile (contul, Creează) și foile ---- */
.rpp-appshell-menu {
  position: fixed;
  z-index: var(--bd-z-popover);
  max-width: calc(100vw - 16px);
}
.rpp-appshell-menu .bd-menu__item {
  text-decoration: none;
}
.rpp-appshell-sheet .bd-sheet--center {
  width: min(540px, 100%);
}
.rpp-appshell-sheet .bd-row {
  text-decoration: none;
}
.rpp-appshell-account-head {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  /* inelul „tu” al avatarului (4 px în afara lui) nu se taie la marginea de sus a corpului foii, care derulează */
  padding: var(--bd-space-xs) 0 0 var(--bd-space-xs);
}
.rpp-appshell-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
}
.rpp-appshell-appearance--sheet {
  padding: 0 4px;
}
.rpp-appshell-logout {
  width: 100%;
}

/* ---- Paleta ⌘K: foaia din design-system, sus în centru (pe telefon, pe tot ecranul) ---- */
.rpp-palette-layer {
  align-items: flex-start;
  padding-top: min(12vh, 120px);
}
.rpp-palette {
  width: min(640px, 100%);
  max-height: min(72vh, 600px);
}
.rpp-palette__head {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-md) var(--bd-space-md) var(--bd-space-sm);
}
.rpp-palette__field {
  flex: 1;
  min-width: 0;
}
.rpp-palette__field .bd-field__box {
  height: var(--bd-touch-min);
}
.rpp-palette__field .bd-field__box input {
  font-size: 16px;
}
.rpp-palette-layer:not(.is-compact) .rpp-palette__cancel {
  display: none;
}
.rpp-palette__cancel {
  min-height: var(--bd-touch-min);
}
.rpp-palette__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 var(--bd-space-sm) var(--bd-space-sm);
}
.rpp-palette__group + .rpp-palette__group {
  margin-top: var(--bd-space-xs);
}
.rpp-palette__group-title {
  padding: var(--bd-space-sm) 10px var(--bd-space-xs);
  font: var(--bd-d-section);
  color: var(--bd-label-3);
}
.rpp-palette__option {
  min-height: var(--bd-touch-min);
  padding: 6px 10px;
  gap: 10px;
  border-radius: var(--bd-radius-md);
  cursor: pointer;
}
.rpp-palette__option + .rpp-palette__option::before {
  display: none;
}
.rpp-palette__option.is-active,
.rpp-palette__option.is-active:hover {
  background: var(--bd-accent);
  color: var(--bd-on-accent);
}
.rpp-palette__option.is-active .bd-row__sub,
.rpp-palette__option.is-active .bd-row__trail {
  color: var(--bd-on-accent);
}
.rpp-palette__glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: var(--bd-radius-sm);
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
}
.rpp-palette__option.is-active .rpp-palette__glyph {
  background: color-mix(in srgb, var(--bd-on-accent) 18%, transparent);
  color: var(--bd-on-accent);
}
.rpp-palette__enter {
  visibility: hidden;
}
.rpp-palette__option.is-active .rpp-palette__enter {
  visibility: visible;
  color: var(--bd-on-accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bd-on-accent) 55%, transparent);
}
.rpp-palette__empty {
  margin: 0;
  padding: var(--bd-space-xl) var(--bd-space-md);
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  text-align: center;
  overflow-wrap: anywhere;
}
.rpp-palette__empty[hidden] {
  display: none;
}
.rpp-palette__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: var(--bd-space-sm) var(--bd-space-lg);
  border-top: 1px solid var(--bd-separator);
  font: var(--bd-d-footnote);
  color: var(--bd-label-3);
}
.rpp-palette-layer.is-compact {
  align-items: stretch;
  padding: 0;
}
.rpp-palette-layer.is-compact .rpp-palette {
  width: 100%;
  height: 100%;
  max-height: none;
  padding-top: env(safe-area-inset-top, 0px);
  border: 0;
  border-radius: 0;
}
.rpp-palette-layer.is-compact .rpp-palette__foot,
.rpp-palette-layer.is-compact .rpp-palette__enter {
  display: none;
}
@media (pointer: coarse) {
  .rpp-palette__field .bd-field__box input {
    font-size: 17px;
  }
  .rpp-palette__group-title {
    font: var(--bd-t-caption-2);
  }
}

/* ---- Pagina de pornire din Profil (shellStartPageHtml): insula de lângă Aspect, cu meniul nativ al sistemului pe tokeni ---- */
.rpp-profile-start__select {
  max-width: 100%;
  height: 32px;
  padding: 0 var(--bd-space-md);
  border: 0;
  border-radius: var(--bd-radius-sm);
  background: var(--bd-fill-2);
  color: var(--bd-label);
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.rpp-profile-start__select:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
@media (pointer: coarse) {
  .rpp-profile-start__select {
    height: var(--bd-touch-min);
    font-size: 16px;
  }
}

/* Pe ecranele tactile, țintele shell-ului au cel puțin 44 px (design-system: touch-min), și în foi: butonul de închidere și
   segmentele aspectului, care în componentele de bază au 36 px. */
@media (pointer: coarse) {
  .rpp-appshell-sheet .bd-sheet__close {
    width: var(--bd-touch-min);
    height: var(--bd-touch-min);
  }
  .rpp-appshell-sheet .bd-seg__opt {
    height: var(--bd-touch-min);
  }
}

/* Cu „Reducere mișcare”, shell-global.css scurtează orice tranziție la 0,01 ms. Elementele fără tranziții proprii
   (transition-property: all) ar anima atunci și visibility moștenit: sidebar-ul deschis ar rămâne ascuns până la cadrul
   următor, iar focusul n-ar putea intra în el. În sidebar nu rulează nicio tranziție. */
@media (prefers-reduced-motion: reduce) {
  html[data-rpp-shell='regular'] .rpp-appshell-sidebar,
  html[data-rpp-shell='regular'] .rpp-appshell-sidebar.is-open,
  html[data-rpp-shell='regular'] .rpp-appshell-sidebar * {
    transition: none;
  }
}

/* ---- Weekful 0.1.0: comutatorul spațiilor de lucru (doar de la două spații în sus; cu unul singur nu se schimbă nimic) ---- */
/* marca spațiului activ în bara laterală și în bara de sus: logo-ul întreg din kit (pe temă), altfel semnul / monograma + numele */
.rpp-appshell-wsbrand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  max-width: 220px;
}
.rpp-appshell-wsbrand__logo {
  display: block;
  width: auto;
  height: 24px;
  max-width: 180px;
  object-fit: contain;
}
.rpp-appshell-wsbrand__logo.is-mark {
  max-width: 24px;
  border-radius: 6px;
}
.rpp-appshell-wsbrand__logo.is-dark {
  display: none;
}
html[data-rpp-theme='dark'] .rpp-appshell-wsbrand__logo.is-light {
  display: none;
}
html[data-rpp-theme='dark'] .rpp-appshell-wsbrand__logo.is-dark {
  display: block;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-rpp-theme]) .rpp-appshell-wsbrand__logo.is-light,
  :root[data-rpp-theme='auto'] .rpp-appshell-wsbrand__logo.is-light {
    display: none;
  }
  :root:not([data-rpp-theme]) .rpp-appshell-wsbrand__logo.is-dark,
  :root[data-rpp-theme='auto'] .rpp-appshell-wsbrand__logo.is-dark {
    display: block;
  }
}
.rpp-appshell-wsbrand__mono {
  display: inline-grid;
  flex: none;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  background: var(--bd-accent);
  color: var(--bd-on-accent);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.rpp-appshell-wsbrand__name {
  min-width: 0;
  overflow: hidden;
  color: var(--bd-label);
  font-size: 15px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* lista din meniul contului (desktop) și din foaia contului (telefon, rânduri de cel puțin 44 px) */
.rpp-appshell-menu__title {
  padding: 6px 12px 4px;
  color: var(--bd-label-2);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.rpp-appshell-menu__check {
  margin-left: auto;
  color: var(--bd-accent);
}
.bd-menu__item[aria-checked='false'] .rpp-appshell-menu__check {
  visibility: hidden;
}
.rpp-appshell-ws {
  margin-bottom: var(--bd-space-md);
}
.rpp-appshell-ws .bd-listgroup__head {
  margin-bottom: var(--bd-space-sm);
}
.rpp-appshell-ws__row {
  min-height: max(52px, var(--bd-touch-min));
  text-align: start;
}
.rpp-appshell-ws__check {
  color: var(--bd-accent);
}

/* =========================================================
   v0.15.0 — Weekful: marca în aplicație (js/ui/brand.js; în PHP, RPP_Brand)
   Strat nou, „strict” (fără declarații forțate). Culorile vin din ghidul mărcii (brand/weekful/README.md) prin tokenii
   sistemului de design: simbolul W e accentul (#0071e3; pe întunecat #4da3ff, albastrul mărcii: din Weekful 0.1.1 accent-ink
   e mai deschis, #69b3ff, pentru contrastul textului, iar simbolul rămâne pe culoarea din ghid), literele sunt label
   (#1d1d1f / #f5f5f7). Minimele mărcii: logotipul de cel puțin 80 px, simbolul de cel puțin 16 px; în jur rămâne un spațiu
   liber de cel puțin un sfert din înălțimea simbolului.
   ========================================================= */

/* Logotipul inline: brandLogo() în aplicație, RPP_Brand::logo_svg() pe poarta randată de PHP. Fără alte reguli, 120 px. */
.rpp-brand-logo {
  --rpp-brand-mark: var(--bd-accent);
  --rpp-brand-ink: var(--bd-label);
  display: block;
  width: 120px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 375.22 / 74.2;
  overflow: visible;
}
.rpp-brand-logo--mark {
  width: 24px;
  aspect-ratio: 96.2 / 63.2;
}
html[data-rpp-theme='dark'] .rpp-brand-logo {
  --rpp-brand-mark: #4da3ff;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-rpp-theme]) .rpp-brand-logo,
  :root[data-rpp-theme='auto'] .rpp-brand-logo {
    --rpp-brand-mark: #4da3ff;
  }
}

/* Girul „by BethanyDEV” (brandEndorsement(), RPP_Brand::endorsement_svg()): fiecare ecran are un singur logotip Weekful (al
   navigației), deci aici stă doar girul. La 104 px, „by” arată ca un text de ~13,5 px. „by” = label-2 (#5e5e63 / #aeaeb2, ca în
   semnătura oficială), „BethanyDEV” = label pe luminos și cremul din logo-ul BethanyDev (#f5e8d7) pe întunecat. */
.rpp-brand-endorsement {
  --rpp-brand-by: var(--bd-label-2);
  --rpp-brand-bdev: var(--bd-label);
  display: block;
  width: 104px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 199.36 / 25.69;
  overflow: visible;
}
html[data-rpp-theme='dark'] .rpp-brand-endorsement {
  --rpp-brand-bdev: #f5e8d7;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-rpp-theme]) .rpp-brand-endorsement,
  :root[data-rpp-theme='auto'] .rpp-brand-endorsement {
    --rpp-brand-bdev: #f5e8d7;
  }
}

/* Profil: girul „by BethanyDEV” și versiunea aplicației, la capătul paginii (insula [data-bd] din ecranul vechi). */
.rpp-brand-about {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--bd-space-sm);
  margin: var(--bd-space-4xl) auto 0;
  padding: var(--bd-space-lg) var(--bd-space-lg) var(--bd-space-2xl);
  text-align: center;
}
.rpp-brand-about__version {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-3);
}
@media (pointer: coarse) {
  .rpp-brand-about__version {
    font: var(--bd-t-footnote);
  }
}

/* Poarta aplicației (RPP_Shortcodes::app, în afara .rpp-app, pe fundalul porții care urmează tema). Pentru vizitator,
   logotipul e titlul porții; când contul așteaptă aprobarea sau a fost respins, stă mai mic deasupra titlului. Regulile
   vechi ale porții (.rpp-app-gate h1) au specificitate (0,1,1): selectorii de aici au două clase. */
.rpp-app-gate .rpp-app-gate-brand {
  display: flex;
  justify-content: center;
  margin: 0 0 var(--bd-space-xs);
}
.rpp-app-gate .rpp-app-gate-brand.is-compact {
  margin-bottom: var(--bd-space-2xl);
}
.rpp-app-gate .rpp-app-gate-logo {
  width: clamp(208px, 24vw, 320px);
}
.rpp-app-gate .rpp-app-gate-brand.is-compact .rpp-app-gate-logo {
  width: clamp(132px, 12vw, 168px);
}

/* =========================================================
   v0.15.0 — Rapoartele slavei (Praise Reports) pe sistemul de design: rândul din pagina Traduceri, ecranul propriu
   (lista lunii cu filtre și căutare, editorul EN | RO, progresul real al traducerii automate), foile și pagina-sursă mărită.
   Strat „strict” (fără declarații forțate). Doar tokeni --bd-* și clase bd-* din design-system; fără blur propriu.
   Insula stă în #rpp-app, dar pe o gazdă [data-bd] și în afara containerelor vechi (.rpp-tl-shell, cardurile): regulile
   vechi nu ajung la ea (README, „Unde stă UI-ul nou”). Foile și vizualizatorul sunt portaluri [data-bd] pe <body>.
   Pe ecranele tactile: textul din grupul Touch, ținte de cel puțin 44 px, câmpuri de 17 px (iOS nu mărește pagina).
   Textul nu se taie nicăieri: titlurile lungi se rup pe mai multe rânduri, filtrele trec pe al doilea rând.
   ========================================================= */

/* ---- Rândul „Rapoartele slavei” din pagina Traduceri ---- */
.rpp-pr-entry {
  min-width: 0;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-pr-entry__row {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  width: 100%;
  min-height: 64px;
  box-sizing: border-box;
  margin: 0;
  padding: var(--bd-space-md) var(--bd-space-lg);
  border: 0;
  border-radius: var(--bd-radius-lg);
  background: transparent;
  color: var(--bd-label);
  font: var(--bd-d-body);
  text-align: start;
  cursor: pointer;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-pr-entry__row:hover {
  background: var(--bd-fill-4);
}
.rpp-pr-entry__row:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-pr-entry__tile {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-indigo);
  color: #ffffff;
}
.rpp-pr-entry__text {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-pr-entry__text strong {
  font: var(--bd-d-title-3);
  color: var(--bd-label);
}
.rpp-pr-entry__text > span {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-pr-entry__text > .rpp-pr-entry__hint {
  font: var(--bd-d-footnote);
  color: var(--bd-label-3);
}
.rpp-pr-entry__trail {
  display: flex;
  flex: none;
  align-items: center;
  gap: var(--bd-space-sm);
  color: var(--bd-label-3);
}
.rpp-pr-entry__progress {
  padding: 0 var(--bd-space-lg) var(--bd-space-lg);
}
.rpp-pr-entry__progress .bd-progress,
.rpp-pr-batch .bd-progress {
  padding: 0;
  background: transparent;
  box-shadow: none;
}

/* ---- Ecranul: antetul ---- */
.rpp-pr {
  display: grid;
  gap: var(--bd-space-xl);
  min-width: 0;
  color: var(--bd-label);
}
.rpp-pr-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--bd-space-md) var(--bd-space-xl);
  min-width: 0;
}
.rpp-pr-head__nav {
  flex-basis: 100%;
  margin-bottom: calc(var(--bd-space-sm) * -1);
}
.rpp-pr-back {
  justify-content: flex-start;
  padding-inline-start: 4px;
}
.rpp-pr-head__titles {
  flex: 1 1 320px;
  min-width: 0;
}
.rpp-pr-head__titles h1 {
  margin: 0;
  font: var(--bd-d-large-title);
  letter-spacing: var(--bd-d-large-title-tracking);
  color: var(--bd-label);
  text-wrap: balance;
}
.rpp-pr-head__titles p {
  max-width: 70ch;
  margin: var(--bd-space-xs) 0 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
}
.rpp-pr-head__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-md);
  min-width: 0;
}
.rpp-pr-month {
  display: inline-flex;
  align-items: center;
  gap: var(--bd-space-xs);
}
.rpp-pr-month__label {
  min-width: 9.5em;
  font: var(--bd-d-body-strong);
  font-variant-numeric: tabular-nums;
  text-align: center;
}

/* ---- Progresul lunii ---- */
.rpp-pr-summary {
  display: grid;
  gap: var(--bd-space-md);
  min-width: 0;
  padding: var(--bd-space-lg) var(--bd-space-xl);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-pr-summary__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--bd-space-sm) var(--bd-space-lg);
}
.rpp-pr-summary__head > div:first-child {
  flex: 1 1 260px;
  min-width: 0;
}
.rpp-pr-summary__big {
  display: block;
  font: var(--bd-d-title-1);
  letter-spacing: var(--bd-d-title-1-tracking);
  font-variant-numeric: tabular-nums;
}
.rpp-pr-summary__line {
  display: block;
  max-width: 72ch;
  margin-top: 2px;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
.rpp-pr-summary__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}
/* „x din y gata” e o stare, nu o operație în curs: umplutură verde, fără strălucirea „încă lucrează”. */
.rpp-pr-summary__fill {
  background: var(--bd-success-fill);
}
.rpp-pr-summary__fill::after {
  content: none;
}

/* ---- Lista și editorul ---- */
.rpp-pr-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--bd-space-xl);
  align-items: start;
  min-width: 0;
}
.rpp-pr-listpane,
.rpp-pr-detail {
  display: grid;
  gap: var(--bd-space-md);
  min-width: 0;
}
.rpp-pr-filters {
  display: grid;
  gap: var(--bd-space-sm);
}
.rpp-pr-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}
.rpp-pr-chip .rpp-pr-count {
  font-variant-numeric: tabular-nums;
  opacity: 0.78;
}
.rpp-pr-search .bd-field__box input {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  box-shadow: none;
}
.rpp-pr-row .bd-row__title,
.rpp-pr-row .bd-row__sub {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: break-word;
}
.rpp-pr-row__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px var(--bd-space-sm);
  min-width: 0;
}
.rpp-pr-row.is-selected {
  background: var(--bd-accent-tint);
}
.rpp-pr-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
}
.rpp-pr-dot.is-running {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-pr-dot.is-review {
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
}
.rpp-pr-dot.is-done {
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
}
.rpp-pr-dot.is-error {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.rpp-pr-none {
  margin: 0;
  padding: var(--bd-space-lg);
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  text-align: center;
}
@media (min-width: 1100px) {
  .rpp-pr-layout {
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  }
  .rpp-pr-layout.is-empty {
    grid-template-columns: minmax(0, 1fr);
  }
  .rpp-pr-row-chev,
  .rpp-pr-back-list {
    display: none;
  }
}
/* Sub 1.100 px: lista SAU raportul (ca Mail pe iPhone); butonul „Rapoartele lunii” revine la listă. */
@media (max-width: 1099px) {
  .rpp-pr-layout.has-selection .rpp-pr-listpane,
  .rpp-pr-layout:not(.has-selection) .rpp-pr-detail {
    display: none;
  }
}

/* ---- Raportul: antet, bannere, cele două limbi ---- */
.rpp-pr-doc,
.rpp-pr-placeholder {
  min-width: 0;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-pr-doc {
  display: grid;
  gap: var(--bd-space-lg);
  padding: var(--bd-space-xl);
}
.rpp-pr-placeholder {
  display: grid;
  place-items: center;
  align-content: center;
  gap: var(--bd-space-sm);
  min-height: 320px;
  padding: var(--bd-space-3xl);
  color: var(--bd-label-2);
  text-align: center;
}
.rpp-pr-placeholder p {
  margin: 0;
  font: var(--bd-d-body);
}
.rpp-pr-back-list {
  justify-self: start;
  padding-inline-start: 4px;
}
.rpp-pr-doc__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--bd-space-md) var(--bd-space-xl);
}
.rpp-pr-doc__titles {
  display: grid;
  flex: 1 1 260px;
  gap: var(--bd-space-xs);
  min-width: 0;
}
.rpp-pr-doc__kicker {
  font: var(--bd-d-section);
  color: var(--bd-label-2);
}
.rpp-pr-doc__titles h2 {
  margin: 0;
  font: var(--bd-d-title-1);
  letter-spacing: var(--bd-d-title-1-tracking);
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.rpp-pr-doc__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}
.rpp-pr-doc__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm);
}
.rpp-pr-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--bd-space-sm) var(--bd-space-md);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-4);
  color: var(--bd-label);
}
.rpp-pr-banner > .bd-icon {
  margin-top: 1px;
}
.rpp-pr-banner > div {
  display: grid;
  flex: 1 1 220px;
  gap: 2px;
  min-width: 0;
}
.rpp-pr-banner strong {
  font: var(--bd-d-body-strong);
}
.rpp-pr-banner span {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
.rpp-pr-banner.is-info {
  background: var(--bd-accent-tint);
}
.rpp-pr-banner.is-info > .bd-icon {
  color: var(--bd-accent-ink);
}
.rpp-pr-banner.is-warning {
  background: var(--bd-orange-tint);
}
.rpp-pr-banner.is-warning > .bd-icon {
  color: var(--bd-orange-ink);
}
.rpp-pr-banner.is-danger {
  background: var(--bd-red-tint);
}
.rpp-pr-banner.is-danger > .bd-icon {
  color: var(--bd-red-ink);
}
.rpp-pr-banner > div.rpp-pr-banner__actions {
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-pr-panes-switch {
  display: none;
}
.rpp-pr-panes {
  display: grid;
  gap: var(--bd-space-lg);
  min-width: 0;
}
.rpp-pr-pane {
  display: grid;
  align-content: start;
  gap: var(--bd-space-md);
  min-width: 0;
  padding: var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
}
.rpp-pr-pane--en {
  background: var(--bd-surface-2);
}
.rpp-pr-pane--ro {
  background: var(--bd-surface);
  box-shadow: inset 0 0 0 1px var(--bd-separator);
}
.rpp-pr-pane__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--bd-space-sm);
}
.rpp-pr-pane__head h3 {
  margin: 0;
  font: var(--bd-d-section);
  color: var(--bd-label-2);
}
.rpp-pr-source__title {
  margin: 0;
  font: var(--bd-d-body-strong);
  overflow-wrap: anywhere;
}
.rpp-pr-source {
  font: 400 15px/1.6 var(--bd-font-sans);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-pr-thumb {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: #ffffff;
  box-shadow: inset 0 0 0 1px var(--bd-separator);
  cursor: zoom-in;
}
.rpp-pr-thumb img {
  display: block;
  width: 100%;
  height: 200px;
  border-radius: var(--bd-radius-md);
  object-fit: cover;
  object-position: top center;
}
.rpp-pr-thumb__zoom {
  position: absolute;
  right: var(--bd-space-sm);
  bottom: var(--bd-space-sm);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: var(--bd-radius-pill);
  background: rgba(0, 0, 0, 0.66);
  color: #ffffff;
  font: var(--bd-d-footnote);
  font-weight: 600;
}
.rpp-pr-thumb:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
@media (min-width: 760px) {
  .rpp-pr-panes {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}
/* Sub 760 px, o singură limbă odată: comutatorul Engleză | Română (implicit româna, cea de lucru). */
@media (max-width: 759px) {
  .rpp-pr-panes-switch {
    display: grid;
    width: 100%;
    box-sizing: border-box;
  }
  .rpp-pr-panes[data-pane='ro'] .rpp-pr-pane--en,
  .rpp-pr-panes[data-pane='en'] .rpp-pr-pane--ro {
    display: none;
  }
}
@media (min-width: 1100px) {
  .rpp-pr-source {
    max-height: min(60vh, 720px);
    overflow: auto;
  }
}

/* ---- Câmpurile și ce e de verificat ---- */
.rpp-pr-field {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.rpp-pr-field > span {
  font: var(--bd-d-footnote);
  font-weight: 600;
  color: var(--bd-label-2);
}
.rpp-pr-field input,
.rpp-pr-field textarea {
  display: block;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin: 0;
  padding: 10px 12px;
  border: 0;
  border-radius: var(--bd-radius-md);
  -webkit-appearance: none;
  appearance: none;
  background: var(--bd-fill-3);
  box-shadow: none;
  color: var(--bd-label);
  font: 400 15px/1.55 var(--bd-font-sans);
  outline: none;
  transition: box-shadow var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-pr-field input {
  min-height: var(--bd-control-lg);
}
.rpp-pr-field textarea {
  min-height: 280px;
  resize: vertical;
}
.rpp-pr-field input:focus,
.rpp-pr-field textarea:focus {
  box-shadow: 0 0 0 2px var(--bd-focus);
}
.rpp-pr-field input::placeholder,
.rpp-pr-field textarea::placeholder {
  color: var(--bd-label-3);
}
.rpp-pr-field [readonly] {
  background: var(--bd-fill-4);
}
@media (min-width: 1100px) {
  .rpp-pr .rpp-pr-field textarea {
    min-height: min(52vh, 560px);
  }
}
.rpp-pr-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--bd-space-xs) var(--bd-space-md);
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-pr-save.is-saving {
  color: var(--bd-accent-ink);
}
.rpp-pr-save.is-error {
  color: var(--bd-red-ink);
  font-weight: 600;
}
.rpp-pr-spell {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.rpp-pr-muted {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-3);
}
.rpp-pr-review {
  display: grid;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-4);
}
.rpp-pr-review h4 {
  margin: 0;
  font: var(--bd-d-section);
  color: var(--bd-label-2);
}
.rpp-pr-review ul {
  display: grid;
  gap: var(--bd-space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-pr-review li {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  min-width: 0;
  font: var(--bd-d-callout);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-pr-review li .bd-icon {
  margin-top: 1px;
  color: var(--bd-label-2);
}
.rpp-pr-running .bd-progress {
  box-shadow: inset 0 0 0 1px var(--bd-separator);
}

/* ---- Starea goală ---- */
.rpp-pr-empty {
  display: grid;
  justify-items: center;
  gap: var(--bd-space-md);
  padding: var(--bd-space-4xl) var(--bd-space-xl);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  text-align: center;
}
.rpp-pr-empty__tile {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-pr-empty h2 {
  margin: 0;
  font: var(--bd-d-title-2);
  letter-spacing: var(--bd-d-title-2-tracking);
  text-wrap: balance;
}
.rpp-pr-empty p {
  max-width: 46ch;
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
}

/* ---- Foile și pagina-sursă mărită (portaluri pe <body>) ---- */
.rpp-pr-sheet-layer {
  z-index: 2147483050;
}
.rpp-pr-sheet .bd-sheet__body {
  gap: var(--bd-space-md);
}
.rpp-pr-sheet textarea {
  min-height: 220px;
}
.rpp-pr-confirm {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label);
}
.rpp-pr-viewer {
  position: fixed;
  z-index: 2147483060;
  inset: 0;
  display: flex;
  flex-direction: column;
  background: rgba(0, 0, 0, 0.88);
  color: #ffffff;
  font-family: var(--bd-font-sans);
}
.rpp-pr-viewer__bar {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  padding: max(var(--bd-space-md), env(safe-area-inset-top, 0px)) var(--bd-space-lg) var(--bd-space-md);
}
.rpp-pr-viewer__bar > span {
  flex: 1;
  min-width: 0;
  font: var(--bd-d-body-strong);
  color: #ffffff;
}
.rpp-pr-viewer__stage {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: var(--bd-space-lg);
  overflow: auto;
  cursor: zoom-out;
}
.rpp-pr-viewer__stage img {
  max-width: 100%;
  max-height: 100%;
  border-radius: var(--bd-radius-sm);
  background: #ffffff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
  object-fit: contain;
  cursor: default;
}
.rpp-pr-viewer__stage.is-actual {
  align-items: flex-start;
  justify-content: flex-start;
}
.rpp-pr-viewer__stage.is-actual img {
  max-width: none;
  max-height: none;
}

/* ---- Telefon: margini mai mici, o coloană, butoanele principale pe toată lățimea ---- */
@media (max-width: 599px) {
  .rpp-pr {
    gap: var(--bd-space-lg);
  }
  .rpp-pr-head__actions {
    width: 100%;
  }
  .rpp-pr-month {
    flex: 1 1 auto;
    justify-content: space-between;
  }
  .rpp-pr-month__label {
    flex: 1;
    min-width: 0;
  }
  .rpp-pr-head__actions > .bd-btn--filled {
    flex: 1 1 100%;
  }
  .rpp-pr-summary,
  .rpp-pr-doc {
    padding: var(--bd-space-lg);
  }
  .rpp-pr-pane {
    padding: var(--bd-space-md);
  }
  .rpp-pr-doc__actions {
    width: 100%;
  }
  .rpp-pr-doc__actions > .bd-btn:not(.bd-btn--icon) {
    flex: 1 1 auto;
  }
  .rpp-pr-entry__trail .bd-badge {
    display: none;
  }
}

/* ---- Ecrane tactile: grupul Touch al tipografiei și ținte de 44 px ---- */
@media (pointer: coarse) {
  .rpp-pr-entry__text strong {
    font: var(--bd-t-headline);
  }
  .rpp-pr-entry__text > span {
    font: var(--bd-t-subheadline);
  }
  .rpp-pr-entry__text > .rpp-pr-entry__hint {
    font: var(--bd-t-footnote);
  }
  .rpp-pr-head__titles h1 {
    font: var(--bd-t-large-title);
    letter-spacing: var(--bd-t-large-title-tracking);
  }
  .rpp-pr-head__titles p,
  .rpp-pr-summary__line,
  .rpp-pr-banner span,
  .rpp-pr-review li,
  .rpp-pr-none,
  .rpp-pr-empty p,
  .rpp-pr-placeholder p,
  .rpp-pr-confirm {
    font: var(--bd-t-callout);
  }
  .rpp-pr-month__label,
  .rpp-pr-banner strong,
  .rpp-pr-source__title {
    font: var(--bd-t-headline);
  }
  .rpp-pr-summary__big,
  .rpp-pr-doc__titles h2 {
    font: var(--bd-t-title-2);
    letter-spacing: var(--bd-t-title-2-tracking);
  }
  .rpp-pr-doc__kicker,
  .rpp-pr-pane__head h3,
  .rpp-pr-review h4,
  .rpp-pr-field > span,
  .rpp-pr-foot,
  .rpp-pr-muted {
    font: var(--bd-t-footnote);
  }
  .rpp-pr-empty h2 {
    font: var(--bd-t-title-3);
  }
  .rpp-pr-source {
    font: 400 17px/1.55 var(--bd-font-sans);
  }
  .rpp-pr-field input,
  .rpp-pr-field textarea {
    font: 400 17px/1.5 var(--bd-font-sans);
  }
  .rpp-pr-field input {
    min-height: var(--bd-touch-min);
  }
  .rpp-pr-chip,
  .rpp-pr-panes-switch .bd-seg__opt {
    height: var(--bd-touch-min);
    min-width: var(--bd-touch-min);
  }
  .rpp-pr-sheet-layer .bd-sheet__close {
    width: var(--bd-touch-min);
    height: var(--bd-touch-min);
  }
  .rpp-pr-thumb__zoom {
    font: var(--bd-t-caption-2);
  }
}

/* =========================================================
   v0.15.0 (Etapa 2.4) — pagina „Azi”, ecranul de pornire (js/today/*.js).
   Weekful 0.1.2 — panoul „Azi” (cererea lui Beni, 28.09.2026: pagina era „micuță, timidă”): antetul cu salutul, data mare,
   numerele care cer o acțiune și „Săptămâna ta”; apoi widgeturile pe o grilă de două coloane (desktop) sau una (telefon),
   centrată la cel mult 1440 px: „Necesită atenție” / „Urmează”, listele rolului, „Azi · de postat”, „Mâine · de pregătit”,
   „Echipa acum”, „Programate pe rețele”, Traduceri, „Zilele următoare”. Lățimea e coloana centrată a shell-ului (cel mult
   1600 px, aliniată cu toolbar-ul „Azi · Creează”); rândurile de text rămân scurte, pentru că fiecare widget are o coloană.
   Strat „strict” (fără declarații forțate), doar tokeni --bd-* și clase bd-* din design-system; totul în gazda [data-bd]
   a shell-ului (.rpp-appshell-view), în afara .rpp-app. Fără blur: pagina e conținut (surface), nu navigare. Fără dungi
   colorate pe laterale: urgența stă în iconiță, în etichetă și, cel mult, într-o nuanță de fundal.
   Pe lățimea paginii decid interogările de container (gazda .rpp-today-host și fiecare widget), nu ecranul: aceeași pagină
   stă lângă sidebar (desktop) sau pe tot ecranul. Trepte: telefon (< 600 px), tabletă (600–1099), desktop (≥ 1100),
   4K / 27" (≥ 1500): textul și spațiile cresc; fiecare widget rămâne sub ~800 px (fără rânduri ultra-lungi).
   ========================================================= */

.rpp-today-host {
  container: rpp-today-host / inline-size;
}

/* ---- Grila: antetul pe toată lățimea, apoi widgeturile (o coloană; două de la 900 px de pagină) ---- */
.rpp-today {
  --today-gap: var(--bd-space-lg);
  --today-pad: var(--bd-space-lg);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--today-gap);
  align-items: stretch;
  width: 100%;
}
.rpp-today > * {
  min-width: 0;
}
.rpp-today > .rpp-today-hero,
.rpp-today > .rpp-today-week,
.rpp-today > .rpp-today-upcoming,
.rpp-today > .rpp-today-progress,
.rpp-today > .rpp-today-skel--hero,
.rpp-today > .rpp-today-skel--week {
  grid-column: 1 / -1;
}
@container rpp-today-host (max-width: 359px) {
  .rpp-today {
    --today-pad: var(--bd-space-md);
  }
}
@container rpp-today-host (min-width: 600px) {
  .rpp-today {
    --today-pad: var(--bd-space-xl);
  }
}
@container rpp-today-host (min-width: 900px) {
  .rpp-today {
    --today-gap: var(--bd-space-xl);
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* un widget singur pe ultimul rând ia tot rândul (today-view.js: todayBalance), ca grila să nu aibă goluri */
  .rpp-today > .is-wide {
    grid-column: 1 / -1;
  }
}
@container rpp-today-host (min-width: 1500px) {
  .rpp-today {
    --today-gap: var(--bd-space-3xl);
    --today-pad: var(--bd-space-2xl);
  }
}

/* ---- Antetul: salutul, data mare, numerele care cer o acțiune ---- */
.rpp-today-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--bd-space-md) var(--bd-space-2xl);
  padding-inline: var(--bd-space-xs);
}
/* pe telefon: data e sub titlul mare „Azi” (toolbar-ul shell-ului, ca în iOS), numerele sunt chiar în „Necesită atenție” / „Ce
   urmează”, iar „Săptămâna ta” vine după ele; acțiunea următoare rămâne pe primul ecran, deasupra tab bar-ului */
html[data-rpp-shell='compact'] .rpp-today > .rpp-today-hero {
  display: none;
}
html[data-rpp-shell='compact'] .rpp-today > .rpp-today-week {
  order: 1;
}
html[data-rpp-shell='compact'] .rpp-today > :not(.rpp-today-hero, .rpp-today-next, .rpp-today-week) {
  order: 2;
}
.rpp-today-hero__text {
  min-width: 0;
}
.rpp-today-hero__greet {
  margin: 0;
  font: 600 15px/20px var(--bd-font-sans);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-today-hero__date {
  margin: var(--bd-space-2xs) 0 0;
  font: var(--bd-t-title-2);
  letter-spacing: var(--bd-t-title-2-tracking);
  color: var(--bd-label);
  text-wrap: balance;
  overflow-wrap: anywhere;
}
@container rpp-today-host (min-width: 600px) {
  .rpp-today-hero__greet {
    font-size: 17px;
    line-height: 22px;
  }
  .rpp-today-hero__date {
    font: var(--bd-t-large-title);
    letter-spacing: var(--bd-t-large-title-tracking);
  }
}
@container rpp-today-host (min-width: 1100px) {
  .rpp-today-hero__greet {
    font-size: 19px;
    line-height: 24px;
  }
  .rpp-today-hero__date {
    font-size: 40px;
    line-height: 48px;
  }
}
.rpp-today-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
/* pe telefon, cel mult două numere (restul sunt în „Necesită atenție”, chiar dedesubt): acțiunea următoare rămâne pe primul ecran */
@container rpp-today-host (max-width: 599px) {
  .rpp-today-hero__chips > :nth-child(n + 3) {
    display: none;
  }
}
/* pe telefon, „Săptămâna ta” e banda de zile din iOS: pe toată lățimea (la 6 px de marginea ecranului), fără card, fiecare zi o
   țintă de cel puțin 44 px chiar și la 320 px; titlul rămâne numele benzii pentru cititorul de ecran (aria-labelledby) */
html[data-rpp-shell='compact'] .rpp-today > .rpp-today-week {
  margin-inline: calc(6px - var(--bd-gutter-compact));
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
html[data-rpp-shell='compact'] .rpp-today-week__head {
  display: none;
}
html[data-rpp-shell='compact'] .rpp-today-week__days {
  gap: 0;
}
.rpp-today-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  box-sizing: border-box;
  padding: 0 var(--bd-space-md);
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font: 600 14px/18px var(--bd-font-sans);
  white-space: nowrap;
  text-decoration: none;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-today-chip .bd-icon {
  flex: none;
}
.rpp-today-chip--danger {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.rpp-today-chip--accent {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-today-chip--warning {
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
}
.rpp-today-chip--success {
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
}
a.rpp-today-chip:hover {
  box-shadow: inset 0 0 0 1px currentColor;
}
a.rpp-today-chip:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}

/* ---- „Săptămâna ta”: luni–duminică, starea fiecărei zile (iconiță + etichetă), azi nuanțat cu un inel fin ---- */
.rpp-today-week {
  box-sizing: border-box;
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-today-week__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--bd-space-md);
  padding: 0 var(--bd-space-xs) var(--bd-space-sm) var(--bd-space-sm);
}
.rpp-today-week__title {
  margin: 0;
  font: var(--bd-d-title-3);
  color: var(--bd-label);
}
.rpp-today-week__days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: var(--bd-space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-today-week__item {
  min-width: 0;
}
.rpp-today-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--bd-space-2xs);
  height: 100%;
  min-height: 44px;
  box-sizing: border-box;
  padding: var(--bd-space-sm) var(--bd-space-2xs) var(--bd-space-md);
  border-radius: var(--bd-radius-lg);
  color: var(--bd-label);
  text-align: center;
  text-decoration: none;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-today-day:hover {
  background: var(--bd-fill-4);
}
.rpp-today-day:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-today-day.is-today {
  background: var(--bd-accent-tint);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bd-accent) 30%, transparent);
}
.rpp-today-day.is-prep {
  background: color-mix(in srgb, var(--bd-orange-tint) 60%, transparent);
}
.rpp-today-day__wd {
  font: 600 12px/16px var(--bd-font-sans);
  color: var(--bd-label-2);
}
.rpp-today-day__num {
  position: relative;
  font: 700 20px/26px var(--bd-font-display);
  font-variant-numeric: tabular-nums;
  color: var(--bd-label);
}
.rpp-today-day.is-past .rpp-today-day__num {
  color: var(--bd-label-2);
}
.rpp-today-day.is-today .rpp-today-day__wd,
.rpp-today-day.is-today .rpp-today-day__num {
  color: var(--bd-accent-ink);
}
.rpp-today-day__mine {
  position: absolute;
  top: 3px;
  right: -9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--bd-accent);
}
.rpp-today-day__state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--bd-space-xs);
  max-width: 100%;
  min-height: 16px;
  font: 600 12px/16px var(--bd-font-sans);
  color: var(--bd-label-2);
}
.rpp-today-day__state .bd-icon {
  flex: none;
}
.rpp-today-day__label {
  display: none;
  min-width: 0;
  text-wrap: balance;
}
.rpp-today-day.is-posted .rpp-today-day__state,
.rpp-today-day.is-prepared .rpp-today-day__state {
  color: var(--bd-green-ink);
}
.rpp-today-day.is-late .rpp-today-day__state {
  color: var(--bd-red-ink);
}
.rpp-today-day.is-today .rpp-today-day__state,
.rpp-today-day.is-free .rpp-today-day__state {
  color: var(--bd-accent-ink);
}
.rpp-today-day.is-prep .rpp-today-day__state {
  color: var(--bd-orange-ink);
}
.rpp-today-day.is-empty .rpp-today-day__state {
  color: var(--bd-label-3);
}
@container rpp-today-host (min-width: 760px) {
  .rpp-today-day__label {
    display: inline;
  }
  .rpp-today-day__num {
    font-size: 24px;
    line-height: 30px;
  }
}
@container rpp-today-host (min-width: 1500px) {
  .rpp-today-day__wd,
  .rpp-today-day__state {
    font-size: 13px;
    line-height: 18px;
  }
  .rpp-today-day__num {
    font-size: 26px;
    line-height: 32px;
  }
}

/* ---- Widgetul: cardul (surface, colțuri mari), capul cu iconița colorată, titlul, meta și linkul ---- */
.rpp-today-widget {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  min-width: 0;
  box-sizing: border-box;
  padding: var(--today-pad);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-today-widget:focus {
  outline: none;
}
.rpp-today-widget__head {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  min-height: 32px;
}
.rpp-today-widget__titles {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}
.rpp-today-widget__title {
  margin: 0;
  font: 650 19px/24px var(--bd-font-sans);
  letter-spacing: -0.01em;
  color: var(--bd-label);
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.rpp-today-widget__meta {
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-today-widget__link {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 2px;
  min-height: 32px;
  box-sizing: border-box;
  padding: 0 var(--bd-space-sm) 0 var(--bd-space-md);
  border-radius: var(--bd-radius-pill);
  color: var(--bd-accent-ink);
  font: 600 14px/18px var(--bd-font-sans);
  white-space: nowrap;
  text-decoration: none;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-today-widget__link:hover {
  background: var(--bd-accent-tint);
}
.rpp-today-widget__link:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 1px;
}
.rpp-today-widget__foot {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-today-widget__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-today-widget__actions .bd-btn,
.rpp-today-feature__actions .bd-btn {
  text-decoration: none;
}

/* iconița din capul widgetului: pătrat colorat plin, ca în Setări (albul trece de 3:1; pe portocaliu, iconița e închisă) */
.rpp-today-glyph {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: var(--bd-radius-sm);
  background: var(--bd-accent);
  color: #ffffff;
}
.rpp-today-glyph .bd-icon {
  stroke-width: 2;
}
.rpp-today-glyph--danger {
  background: var(--bd-badge);
}
.rpp-today-glyph--success {
  background: var(--bd-success-fill);
}
.rpp-today-glyph--warning {
  background: var(--bd-orange);
  color: #1c1c1e;
}
.rpp-today-glyph--indigo {
  background: var(--bd-indigo);
}
.rpp-today-glyph--neutral {
  background: var(--bd-fill-2);
  color: var(--bd-label-2);
}

/* starea goală: iconița pe nuanța ei și o propoziție (niciodată o cutie goală) */
.rpp-today-empty {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  padding: var(--bd-space-sm) 0;
}
.rpp-today-empty .rpp-today-glyph {
  width: 40px;
  height: 40px;
  border-radius: var(--bd-radius-md);
}
.rpp-today-empty__text {
  min-width: 0;
}
.rpp-today-empty__title {
  margin: 0;
  font: 650 16px/21px var(--bd-font-sans);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-today-empty__sub {
  margin: 2px 0 0;
  font: 400 14px/19px var(--bd-font-sans);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}

/* ---- „Necesită atenție” / „Urmează”: cardurile NextUp, mari, grupate (fundalul nuanțat al grupului, fără umbră) ---- */
.rpp-today-next__list {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
}
.rpp-today-card.bd-nextup {
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--bd-space-md) var(--bd-space-lg);
  padding: var(--bd-space-lg);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface-2);
  box-shadow: none;
}
.rpp-today-card .bd-nextup__tile {
  width: 44px;
  height: 44px;
}
.rpp-today-card .bd-nextup__text {
  flex: 1 1 0;
  min-width: 0;
  gap: var(--bd-space-xs);
}
.rpp-today-card .bd-nextup__kicker {
  font: 650 13px/18px var(--bd-font-sans);
}
.rpp-today-card .bd-nextup__title {
  margin: 0;
  font: 650 19px/24px var(--bd-font-sans);
  letter-spacing: -0.01em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.rpp-today-card .bd-nextup__body {
  margin: 0;
  font: 400 15px/20px var(--bd-font-sans);
  overflow-wrap: anywhere;
}
.rpp-today-card__action {
  flex: none;
  align-self: center;
  margin-inline-start: auto;
  text-decoration: none;
}
@container (max-width: 479px) {
  .rpp-today-card.bd-nextup {
    gap: var(--bd-space-md);
    padding: 14px;
  }
  .rpp-today-card .bd-nextup__tile {
    width: 40px;
    height: 40px;
  }
  .rpp-today-card__action {
    flex: 1 1 100%;
  }
}

/* rândurile cu iconițe: pentru cine / cine lucrează, termenul (roșu când a trecut), rețelele */
.rpp-today-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs) var(--bd-space-lg);
  margin: var(--bd-space-2xs) 0 0;
  padding: 0;
  list-style: none;
}
.rpp-today-meta__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  font: 400 14px/19px var(--bd-font-sans);
  color: var(--bd-label-2);
}
.rpp-today-meta__item > span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-today-meta__item > .bd-icon,
.rpp-today-meta__icon {
  flex: none;
  color: var(--bd-label-2);
}
.rpp-today-meta__icon {
  display: inline-flex;
}
.rpp-today-meta__item.is-late,
.rpp-today-meta__item.is-late > .bd-icon {
  color: var(--bd-red-ink);
  font-weight: 600;
}

/* ---- „Azi · de postat” / „Mâine · de pregătit”: postarea din față (afișul, rubrica, titlul, cine, termenul, etapa, acțiunea) ---- */
.rpp-today-feature {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--bd-space-lg);
  align-items: start;
}
.rpp-today-feature.is-muted .rpp-today-feature__title {
  color: var(--bd-label-2);
}
.rpp-today-poster {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--bd-space-sm);
  width: 84px;
  aspect-ratio: 4 / 5;
  box-sizing: border-box;
  padding: var(--bd-space-sm);
  overflow: hidden;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface-2);
  box-shadow: inset 0 0 0 1px var(--bd-separator);
}
.rpp-today-poster__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rpp-today-poster.has-image .rpp-today-poster__tile,
.rpp-today-poster.has-image .rpp-today-poster__cap {
  visibility: hidden;
}
.rpp-today-poster__tile {
  display: inline-flex;
}
.rpp-today-poster__cap {
  font: 600 12px/15px var(--bd-font-sans);
  color: var(--bd-label-2);
  text-align: center;
  overflow-wrap: anywhere;
}
.rpp-today-feature__body {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-xs);
  min-width: 0;
}
.rpp-today-feature__chip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 0;
  font: 600 13px/18px var(--bd-font-sans);
  color: var(--bd-label-2);
}
.rpp-today-feature__series {
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-today-feature__time {
  font-variant-numeric: tabular-nums;
}
.rpp-today-feature__time::before {
  content: '·';
  margin-inline-end: 6px;
}
.rpp-today-feature__title {
  margin: 0;
  font: 650 18px/23px var(--bd-font-sans);
  letter-spacing: -0.01em;
  color: var(--bd-label);
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.rpp-today-feature__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
  margin-top: var(--bd-space-sm);
}
.rpp-today-meta__who .bd-avatar {
  flex: none;
}
@container (min-width: 460px) {
  .rpp-today-poster {
    width: 108px;
  }
  .rpp-today-feature__title {
    font-size: 20px;
    line-height: 25px;
  }
}

/* etapa în cinci pași (Stage, varianta stepper), compactă: barele și eticheta etapei cu rețelele */
.rpp-today-steps {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-xs) var(--bd-space-md);
  margin-top: var(--bd-space-xs);
}
.rpp-today-steps__bars.bd-stepper {
  flex: 0 1 220px;
  min-width: 140px;
}
.rpp-today-steps__bars .bd-stepper__bar {
  height: 6px;
}
.rpp-today-steps__label {
  display: inline-flex;
  align-items: center;
  gap: var(--bd-space-xs);
  font: 600 13px/18px var(--bd-font-sans);
  color: var(--bd-label-2);
  white-space: nowrap;
}
.rpp-today-steps__label .rpp-today-nets::before {
  content: '· ';
}

/* ---- Rândurile: tipul, titlul, cine e la rând, termenul (roșu când a trecut), etapa; semnalele pe rândul lor ---- */
.rpp-today-rows {
  display: flex;
  flex-direction: column;
  margin-inline: calc(var(--bd-space-md) * -1);
}
.rpp-today-rows > .bd-row {
  padding-inline: var(--bd-space-md);
  border-radius: var(--bd-radius-md);
}
.rpp-today-row {
  text-decoration: none;
}
.rpp-today-row.bd-row:has(> .rpp-today-flags) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  grid-template-areas:
    'lead text trail chev'
    '. flags flags flags';
  column-gap: var(--bd-space-md);
  row-gap: var(--bd-space-xs);
}
.rpp-today-row.bd-row:has(> .rpp-today-flags) > .bd-row__lead {
  grid-area: lead;
}
.rpp-today-row.bd-row:has(> .rpp-today-flags) > .bd-row__text {
  grid-area: text;
}
.rpp-today-row.bd-row:has(> .rpp-today-flags) > .bd-row__trail {
  grid-area: trail;
}
.rpp-today-row.bd-row:has(> .rpp-today-flags) > .bd-row__chev {
  grid-area: chev;
}
.rpp-today-row.bd-row > .rpp-today-flags {
  grid-area: flags;
  margin-top: 0;
}
.rpp-today-row--free.bd-row:has(> .rpp-today-flags) {
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    'lead text trail'
    '. flags flags';
}
@container (min-width: 520px) {
  .rpp-today .bd-row__title {
    font-size: 15px;
    line-height: 20px;
  }
  .rpp-today .bd-row__sub {
    font-size: 14px;
    line-height: 19px;
  }
}
.rpp-today-due {
  font-size: 13px;
  line-height: 17px;
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-today-due.is-late {
  color: var(--bd-red-ink);
  font-weight: 600;
}
/* Weekful 0.1.2: „Mâine · De pregătit” / „Pregătit”, ca în calendar (cal2PrepState) */
.rpp-today-prep {
  font-weight: 650;
  color: var(--bd-orange-ink);
}
.rpp-today-prep.is-done {
  color: var(--bd-green-ink);
}
.rpp-today-late {
  font-weight: 650;
  color: var(--bd-red-ink);
}
.rpp-today-flags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
  margin-top: var(--bd-space-2xs);
}
.rpp-today-flags .bd-flag,
.rpp-today-flags .bd-badge {
  white-space: nowrap;
}
.rpp-today-stage {
  display: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--bd-label-2);
  white-space: nowrap;
}
/* rețelele bifate, lângă etapă: „0/4” lângă inel; cu eticheta vizibilă, „Gata de postare · 0/4” (niciodată tăiate) */
.rpp-today-nets {
  font-size: 13px;
  font-weight: 600;
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
@container (min-width: 520px) {
  .rpp-today-stage {
    display: inline;
  }
  .rpp-today-stage + .rpp-today-nets {
    margin-inline-start: calc(var(--bd-space-xs) * -1);
  }
  .rpp-today-stage + .rpp-today-nets::before {
    content: '· ';
  }
}
/* o zi liberă: data se rupe pe două rânduri lângă „Rezervă”, nu se taie cu „…” */
.rpp-today-row--free .bd-row__title {
  white-space: normal;
  overflow-wrap: anywhere;
}
.rpp-today-row--free .bd-row__trail .bd-btn {
  flex: none;
}
.rpp-today-more {
  font: 600 13px/18px var(--bd-font-sans);
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.rpp-today-person .bd-row__trail .bd-flag {
  white-space: nowrap;
}

/* ---- „Programate pe rețele”: conexiunea de refăcut, cu nuanța ei ---- */
.rpp-today-alert {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  min-height: 40px;
  box-sizing: border-box;
  padding: var(--bd-space-sm) var(--bd-space-md);
  border-radius: var(--bd-radius-md);
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
  font: 600 14px/19px var(--bd-font-sans);
  text-decoration: none;
}
.rpp-today-alert:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-today-job .rpp-today-glyph {
  width: 28px;
  height: 28px;
}

/* ---- Traduceri · zilele: câte zile nu au încă scriptul (numărul care cere o acțiune), bara, prima zi ---- */
.rpp-today-stat {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
}
.rpp-today-stat__n {
  margin: 0;
  font: 700 40px/44px var(--bd-font-display);
  letter-spacing: -0.02em;
  color: var(--bd-orange-ink);
  font-variant-numeric: tabular-nums;
}
.rpp-today-stat__text {
  min-width: 0;
}
.rpp-today-stat__label {
  margin: 0;
  font: 650 16px/21px var(--bd-font-sans);
  color: var(--bd-label);
}
.rpp-today-stat__sub {
  margin: 2px 0 0;
  font: 400 14px/19px var(--bd-font-sans);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-today-meter {
  height: 8px;
  overflow: hidden;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-3);
}
.rpp-today-meter > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--bd-accent);
}
.rpp-today-scripts__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--bd-space-md);
}
/* widgetul lat (pe tot rândul): numărul, bara cu rândul de sub ea și acțiunea, alăturate */
@container (min-width: 760px) {
  .rpp-today-scripts__body {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      'stat meter actions'
      'stat foot actions';
    align-items: center;
    column-gap: var(--bd-space-2xl);
    row-gap: var(--bd-space-sm);
  }
  .rpp-today-scripts__body > .rpp-today-stat {
    grid-area: stat;
  }
  .rpp-today-scripts__body > .rpp-today-meter {
    grid-area: meter;
    align-self: end;
  }
  .rpp-today-scripts__body > .rpp-today-widget__foot {
    grid-area: foot;
    align-self: start;
  }
  .rpp-today-scripts__body > .rpp-today-widget__actions {
    grid-area: actions;
  }
}

/* ---- „Zilele următoare”: cinci zile, pe rând (telefon) sau alăturate (desktop) ---- */
.rpp-today-up__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--bd-space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-today-up {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    'day tiles'
    'note tiles';
  align-items: center;
  gap: 2px var(--bd-space-md);
  min-height: 44px;
  box-sizing: border-box;
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface-2);
  color: var(--bd-label);
  text-decoration: none;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-today-up:hover {
  background: var(--bd-fill-3);
}
.rpp-today-up:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-today-up__day {
  grid-area: day;
  font: 650 15px/20px var(--bd-font-sans);
  overflow-wrap: anywhere;
}
.rpp-today-up__tiles {
  display: flex;
  grid-area: tiles;
  align-items: center;
  gap: var(--bd-space-xs);
  min-height: 22px;
}
.rpp-today-up__note {
  grid-area: note;
  font: 600 13px/18px var(--bd-font-sans);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-today-up.is-danger .rpp-today-up__note {
  color: var(--bd-red-ink);
}
.rpp-today-up.is-accent .rpp-today-up__note,
.rpp-today-up.is-indigo .rpp-today-up__note {
  color: var(--bd-accent-ink);
}
@container (min-width: 700px) {
  .rpp-today-up__list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .rpp-today-up {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      'day'
      'note'
      'tiles';
    align-content: start;
    gap: var(--bd-space-xs);
    height: 100%;
  }
  .rpp-today-up__tiles {
    margin-top: var(--bd-space-xs);
  }
}

/* ---- Noutăți (posts-parity: ppTodayAttach, după „Ce urmează”): tot un widget al grilei ---- */
.rpp-today > .bd-listgroup.rpp-pp-notifs {
  gap: var(--bd-space-md);
  box-sizing: border-box;
  padding: var(--today-pad);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-today > .rpp-pp-notifs .bd-listgroup__head {
  padding: 0;
}
.rpp-today > .rpp-pp-notifs .bd-listgroup__title {
  font: 650 19px/24px var(--bd-font-sans);
}
.rpp-today > .rpp-pp-notifs .bd-listgroup__body {
  margin-inline: calc(var(--bd-space-md) * -1);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* ---- 4K / 27" (pagina ≥ 1500 px): textul și spațiile cresc, lățimea rămâne cel mult 1440 px ---- */
@container rpp-today-host (min-width: 1500px) {
  .rpp-today-widget__title,
  .rpp-today > .rpp-pp-notifs .bd-listgroup__title {
    font-size: 21px;
    line-height: 26px;
  }
  .rpp-today-widget__meta,
  .rpp-today-widget__link,
  .rpp-today-meta__item {
    font-size: 15px;
    line-height: 20px;
  }
  .rpp-today-glyph {
    width: 34px;
    height: 34px;
  }
  .rpp-today-card .bd-nextup__tile {
    width: 48px;
    height: 48px;
  }
  .rpp-today-card .bd-nextup__title {
    font-size: 21px;
    line-height: 27px;
  }
  .rpp-today-card .bd-nextup__body {
    font-size: 16px;
    line-height: 22px;
  }
  .rpp-today-chip {
    min-height: 36px;
    font-size: 15px;
  }
  .rpp-today .bd-row__title {
    font-size: 16px;
    line-height: 21px;
  }
  .rpp-today .bd-row__sub,
  .rpp-today-due {
    font-size: 15px;
    line-height: 20px;
  }
}
@container rpp-today-host (min-width: 1500px) {
  .rpp-today-poster {
    width: 124px;
  }
  .rpp-today-feature__title {
    font-size: 22px;
    line-height: 28px;
  }
  .rpp-today-up__day {
    font-size: 16px;
    line-height: 21px;
  }
}

/* ---- Ecranele tactile: textul grupului Touch și ținte de cel puțin 44 px ---- */
@media (pointer: coarse) {
  .rpp-today-due,
  .rpp-today-stage,
  .rpp-today-nets {
    font-size: 15px;
    line-height: 20px;
  }
  .rpp-today-chip,
  .rpp-today-widget__link,
  .rpp-today-alert {
    min-height: var(--bd-touch-min);
  }
  .rpp-today-widget__title {
    font: var(--bd-t-title-3);
  }
  .rpp-today-card .bd-nextup__title {
    font-size: 18px;
    line-height: 23px;
  }
  .rpp-today-meta__item {
    font-size: 15px;
    line-height: 20px;
  }
  .rpp-today-day {
    min-height: 60px;
  }
}

/* ---- Încărcarea: scheletul (fără strălucire cu „Reducere mișcare”) și bara de progres, după 2,5 s ---- */
.rpp-today-progress[hidden] {
  display: none;
}
.rpp-today-skel {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  overflow: hidden;
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-today-skel--hero {
  gap: var(--bd-space-md);
  padding: var(--bd-space-sm) var(--bd-space-xs);
  background: transparent;
  box-shadow: none;
}
.rpp-today-skel--week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: var(--bd-space-sm);
  min-height: 96px;
  box-sizing: border-box;
  padding: var(--bd-space-md);
}
.rpp-today-skel--card {
  min-height: 220px;
  box-sizing: border-box;
  padding: var(--bd-space-xl);
}
.rpp-today-skel i,
.rpp-today-skel b {
  display: block;
  height: 12px;
  border-radius: var(--bd-radius-xs);
  background: var(--bd-fill-3);
}
.rpp-today-skel--hero i {
  width: 160px;
  height: 14px;
}
.rpp-today-skel--hero b {
  width: min(60%, 360px);
  height: 34px;
  border-radius: var(--bd-radius-sm);
}
.rpp-today-skel--week i {
  height: 64px;
  border-radius: var(--bd-radius-lg);
}
.rpp-today-skel--card i {
  width: 32%;
}
.rpp-today-skel--card b {
  width: 72%;
  height: 16px;
}
.rpp-today-skel__row {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  min-height: 60px;
}
.rpp-today-skel__row i {
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 9px;
}
.rpp-today-skel__row b {
  flex: 1;
  max-width: 60%;
}
.rpp-today-skel::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, var(--bd-fill-4), transparent);
  transform: translateX(-100%);
  animation: rpp-today-shimmer 1.6s var(--bd-ease-standard) infinite;
}
.rpp-today-skel--hero::after {
  display: none;
}
@keyframes rpp-today-shimmer {
  to {
    transform: translateX(100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .rpp-today-skel::after {
    display: none;
    animation: none;
  }
}

/* ---- Notele (eroarea, modelul nemigrat) și foaia de confirmare ---- */
.rpp-today-note-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-today-note-actions .bd-btn,
.rpp-today-host .rpp-appshell-note .bd-btn {
  text-decoration: none;
}
.rpp-today-sheet__text {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-today-sheet__text + .rpp-today-sheet__text {
  margin-top: var(--bd-space-sm);
}
@media (pointer: coarse) {
  .rpp-today-sheet__text {
    font: var(--bd-t-callout);
  }
}

/* =========================================================
   v0.15.0 (Etapa 2.5) — calendarul nou: săptămâna (7 coloane cu PostCard), luna (câte un marcaj pe postare: culoarea
   tipului + inelul etapei), agenda de pe telefon (ListGroup pe zile, cu azi și mâine sus), filtrele (pastilele de pe
   telefon, cipurile filtrelor active), starea (progresul încărcării, erorile, luna negenerată) și comenzile din toolbar.
   Strat „strict” (fără declarații forțate). Doar tokeni --bd-* și clase bd-* din design-system; sticla vine numai din
   clasele lui (bd-glass pe capsulele din toolbar), stratul acesta nu adaugă blur.
   Totul stă în gazda ecranelor noi (.rpp-appshell-view, [data-bd]) și în toolbar-ul shell-ului, în afara .rpp-app.
   Pe ecranele tactile: ținte de cel puțin 44 px (celula lunii e ea însăși butonul), textul din grupul Touch.
   ========================================================= */

.rpp-cal.rpp-appshell-stack {
  gap: var(--bd-space-lg);
}

/* ---- „Ce urmează” (vorbitorii): cel mult două carduri NextUp deasupra tablei, alăturate când au loc (≥ 880 px); pe
   telefon, un grup de rânduri (rândul întreg e acțiunea), ca Azi și Mâine să rămână pe primul ecran ---- */
.rpp-cal-next {
  container-type: inline-size;
  min-width: 0;
}
.rpp-cal-next__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--bd-space-md);
}
@container (min-width: 880px) {
  .rpp-cal-next__grid.is-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.rpp-cal-nextcard .bd-nextup__title {
  margin: 0;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.rpp-cal-nextcard .bd-nextup__body {
  margin: 0;
  overflow-wrap: anywhere;
}
.rpp-cal-next__action {
  flex: none;
  text-decoration: none;
}
.rpp-cal-nextrow {
  text-decoration: none;
}
.rpp-cal-nextrow .bd-row__title,
.rpp-cal-nextrow .bd-row__sub {
  white-space: normal;
  overflow-wrap: anywhere;
}
/* telefoanele scunde (≤ 700 px): un singur rând (titlul, cel mult două rânduri de text) și „+1” pentru restul */
.rpp-cal-nextline {
  flex-direction: row;
  align-items: center;
}
.rpp-cal-nextline > .rpp-cal-nextrow {
  flex: 1 1 auto;
  min-width: 0;
}
/* telefoanele scunde: spații mai strânse deasupra zilelor, ca Azi și primul lui rând să încapă pe primul ecran */
.rpp-cal.is-short.rpp-appshell-stack {
  gap: var(--bd-space-sm);
}
.rpp-cal.is-short .rpp-cal-agenda {
  gap: var(--bd-space-md);
}
.rpp-cal.is-short .rpp-cal-past {
  margin: -10px 0;
}
.rpp-cal-next.is-short .rpp-cal-nextrow .bd-row__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.rpp-cal-nextmore {
  flex: none;
  min-width: var(--bd-touch-min);
  min-height: var(--bd-touch-min);
  margin-inline-end: 10px;
  padding: 0 10px;
  border: 0;
  border-radius: 22px;
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font: 650 15px/20px var(--bd-font-sans);
  font-variant-numeric: tabular-nums;
  cursor: pointer;
}
.rpp-cal-nextmore:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-cal-nexttile {
  width: 32px;
  height: 32px;
  border-radius: 9px;
}
.rpp-cal-next__skel {
  display: block;
  height: 88px;
  border-radius: var(--bd-radius-xl);
  background: var(--bd-fill-4);
  animation: rpp-cal-pulse 1.4s var(--bd-ease-standard) infinite;
}
.rpp-cal-next--loading.is-rows .rpp-cal-next__skel {
  height: 150px;
}

/* ---- Tabla (săptămâna și luna): conținut opac, ca în Finder ---- */
.rpp-cal-board {
  position: relative;
  min-width: 0;
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  overflow: hidden;
}
.rpp-cal-board[aria-busy='true'] .rpp-cal-count {
  visibility: hidden;
}

/* ---- Săptămâna ---- */
.rpp-cal-week {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  min-height: var(--rpp-cal-fill, 560px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-cal-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-inline-start: 1px solid var(--bd-separator);
}
.rpp-cal-col:first-child {
  border-inline-start: 0;
}
/* Weekful 0.1.1: azi se vede de departe — coloana nuanțată (accent-tint: mai puternic pe întunecat), marginea de sus în accent
   (3 px, pseudo-element: evidențierea zilei alese animă box-shadow și nu o acoperă), numărul pe cercul plin și „Azi” în capul
   coloanei; când coloana e îngustă (< 140 px), „Azi” ia locul zilei săptămânii (aria-label-ul spune tot). */
.rpp-cal-col.is-today {
  position: relative;
  background: color-mix(in srgb, var(--bd-accent-tint) 60%, transparent);
}
.rpp-cal-col.is-today::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--bd-accent);
  pointer-events: none;
}
.rpp-cal-col.is-today .rpp-cal-dayhead {
  container-type: inline-size;
}
.rpp-cal-colhead {
  margin: 0;
  /* Weekful 0.1.2: 10 px sus, ca pe coloana de azi capul să stea la 7 px sub marginea de accent (3 px), la fel pe toate */
  padding: 10px 6px 4px;
  border-bottom: 1px solid var(--bd-separator);
  font: inherit;
}
.rpp-cal-dayhead {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-height: 36px;
  box-sizing: border-box;
  margin: 0;
  padding: 4px 6px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: transparent;
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  text-align: start;
  cursor: pointer;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-cal-dayhead:hover {
  background: var(--bd-fill-4);
}
.rpp-cal-dayhead:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-cal-dow {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--bd-label-2);
}
.rpp-cal-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  box-sizing: border-box;
  padding: 0 4px;
  border-radius: 14px;
  font-size: 15px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.rpp-cal-col.is-today .rpp-cal-num {
  background: var(--bd-accent);
  color: var(--bd-on-accent);
}
.rpp-cal-col.is-today .rpp-cal-dow {
  color: var(--bd-accent-ink);
}
.rpp-cal-todaytag {
  flex: none;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1;
  color: var(--bd-accent-ink);
  white-space: nowrap;
}
@container (max-width: 139px) {
  .rpp-cal-col.is-today .rpp-cal-dow {
    display: none;
  }
}
/* Weekful 0.1.2: mâine, „De pregătit” (ce era „Urmează la postare” în calendarul vechi): nuanța caldă și marginea de sus subțire
   (2 px, orange-ink: ≥ 3:1 pe ambele teme; azi are accentul și 3 px), eticheta în cap; după FINAL, „Pregătit” în verde, fără
   nuanță și fără margine. În coloanele înguste (< 160 px), eticheta ia locul zilei săptămânii; sub 120 px rămân nuanța, marginea
   și aria-label-ul. */
.rpp-cal-col.is-prep,
.rpp-cal-cell.is-prep {
  position: relative;
  background: color-mix(in srgb, var(--bd-orange-tint) 60%, transparent);
}
.rpp-cal-col.is-prep::before,
.rpp-cal-cell.is-prep::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 2px;
  background: var(--bd-orange-ink);
  pointer-events: none;
}
.rpp-cal-preptag {
  flex: none;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: var(--bd-orange-ink);
  white-space: nowrap;
}
.is-prepared .rpp-cal-preptag {
  color: var(--bd-green-ink);
}
.rpp-cal-col.is-prep .rpp-cal-dayhead,
.rpp-cal-col.is-prepared .rpp-cal-dayhead {
  container-type: inline-size;
}
@container (max-width: 159px) {
  .rpp-cal-col.is-prep .rpp-cal-dow,
  .rpp-cal-col.is-prepared .rpp-cal-dow {
    display: none;
  }
}
@container (max-width: 119px) {
  .rpp-cal-dayhead .rpp-cal-preptag {
    display: none;
  }
}
.rpp-cal-col.is-past .rpp-cal-num {
  color: var(--bd-label-2);
  font-weight: 600;
}
.rpp-cal-count {
  margin-inline-start: auto;
  font-size: 12px;
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-cal-list {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0;
  padding: 10px 8px 14px;
  list-style: none;
}
.rpp-cal-empty {
  margin: 0;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 16px;
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}

/* ---- Cardul unei postări (PostCard ca link: hover și focus ca varianta buton din design-system) ---- */
.rpp-cal-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  container-type: inline-size;
}
/* coloane înguste (tabletă, 1024 px): tipul e deja în tile, subtitlul arată doar cine se ocupă (tipul rămâne pentru
   cititorul de ecran, în .bd-sr; copia vizibilă e aria-hidden) */
@container (max-width: 132px) {
  .rpp-cal-subtype {
    display: none;
  }
}
.rpp-cal-card.is-child {
  margin-inline-start: 10px;
}
/* Mini-Rapsodia sub Rapsodia ei: o linie mică de legătură, ca un rând copil în Finder */
.rpp-cal-card.is-child::before {
  content: '';
  position: absolute;
  top: -6px;
  left: -8px;
  width: 6px;
  height: 20px;
  border-inline-start: 1.5px solid var(--bd-separator-opaque);
  border-bottom: 1.5px solid var(--bd-separator-opaque);
  border-end-start-radius: 6px;
}
.rpp-cal-post {
  min-width: 0;
  text-decoration: none;
  cursor: pointer;
}
.rpp-cal-post:hover {
  transform: translateY(-1px);
  box-shadow: var(--bd-shadow-popover);
}
.rpp-cal-post:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-cal-post .bd-postcard__title {
  overflow-wrap: anywhere;
}
/* ce te privește (rândul tău, un pas liber al rolului tău): o bară de accent la stânga și subtitlul „tu verifici” în accent */
/* Weekful 0.1.2: fără dunga colorată din stânga (Beni: fără bare pe carduri) — suprafața ușor nuanțată și un inel de 1 px */
.rpp-cal-card.is-concern .rpp-cal-post:not(.is-selected) {
  background:
    linear-gradient(
      color-mix(in srgb, var(--bd-accent-tint) 50%, transparent),
      color-mix(in srgb, var(--bd-accent-tint) 50%, transparent)
    ),
    var(--bd-surface);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--bd-accent) 40%, transparent),
    var(--bd-shadow-card);
}
.rpp-cal-card.is-concern .rpp-cal-post:not(.is-selected):hover {
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--bd-accent) 40%, transparent),
    var(--bd-shadow-popover);
}
.rpp-cal-you {
  color: var(--bd-accent-ink);
  font-weight: 600;
}
.rpp-cal-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 6px;
  min-width: 0;
  font-size: 11.5px;
  line-height: 15px;
  color: var(--bd-label-2);
}
.rpp-cal-speaker {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  min-width: 0;
  max-width: 100%;
}
.rpp-cal-speaker .bd-icon {
  flex: none;
}
.rpp-cal-speaker__name {
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-cal-meta .rpp-cal-file {
  height: 18px;
  padding: 0 6px;
  font-size: 10.5px;
}
.rpp-cal-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.rpp-cal-flags .bd-flag,
.rpp-cal-flags .bd-badge {
  gap: 3px;
  height: auto;
  min-height: 18px;
  max-width: 100%;
  box-sizing: border-box;
  padding: 2px 7px;
  font-size: 10.5px;
  line-height: 13px;
  /* Weekful 0.1.2: pe un rând (rândul etichetelor se rupe el); forma scurtă în cardurile înguste, „…” doar ca plasă */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rpp-cal-flag-short {
  display: none;
}
/* Weekful 0.1.2: cardurile înguste (săptămâna la 820–1024 px): rândul de sus (tipul, ora, inelul etapei) încape în card, iar
   inelul nu mai atinge marginea tablei; etichetele pierd iconița (sensul rămâne în text) */
@container (max-width: 132px) {
  .rpp-cal-post.bd-postcard {
    padding-inline: 6px;
  }
  .rpp-cal-post .bd-postcard__top {
    gap: 3px;
  }
  .rpp-cal-flags .bd-flag > .bd-icon,
  .rpp-cal-flags .bd-badge > .bd-icon {
    display: none;
  }
}
/* și mai îngust (o postare derivată, sub părintele ei, la 1024 px; tableta între 600 și 820 px): fără distanțier, inelul
   împins la capăt; sub 86 px ora iese din vedere (rămâne pentru cititorul de ecran), ca tipul și etapa să încapă întregi */
@container (max-width: 90px) {
  .rpp-cal-post .bd-postcard__top {
    gap: 2px;
  }
  .rpp-cal-post .bd-postcard__spacer {
    display: none;
  }
  .rpp-cal-post .bd-postcard__top > .bd-stage {
    margin-inline-start: auto;
  }
}
@container (max-width: 85px) {
  .rpp-cal-post .bd-postcard__time {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
@container (max-width: 140px) {
  .rpp-cal-flags .rpp-cal-flag-long {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .rpp-cal-flags .rpp-cal-flag-short {
    display: inline;
  }
}
.rpp-cal-flags .bd-icon {
  flex: none;
}
.rpp-cal-acts {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
/* butoanele din card cresc pe înălțime când textul se rupe pe două rânduri (coloanele înguste de pe tabletă) */
.rpp-cal-act {
  flex: 1 1 auto;
  min-width: 0;
  height: auto;
  min-height: var(--bd-control-sm);
  padding-block: 4px;
  white-space: normal;
  text-align: center;
}
.rpp-cal-act span {
  overflow-wrap: break-word;
}
@container (max-width: 132px) {
  .rpp-cal-act .bd-icon {
    display: none;
  }
  .rpp-cal-act {
    padding-inline: 6px;
  }
}
.rpp-cal-skel {
  height: 62px;
  border-radius: 12px;
  background: var(--bd-fill-4);
  animation: rpp-cal-pulse 1.4s var(--bd-ease-standard) infinite;
}
@keyframes rpp-cal-pulse {
  0%,
  100% {
    opacity: 0.55;
  }
  50% {
    opacity: 1;
  }
}
@keyframes rpp-cal-flash {
  from {
    box-shadow: inset 0 0 0 2px var(--bd-accent);
  }
  to {
    box-shadow: inset 0 0 0 2px transparent;
  }
}
.rpp-cal-col.is-highlight,
.rpp-cal-cell.is-highlight {
  animation: rpp-cal-flash 2.4s var(--bd-ease-standard) 1 both;
}

/* ---- Luna ---- */
.rpp-cal-mhead {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-bottom: 1px solid var(--bd-separator);
}
.rpp-cal-mdow {
  min-width: 0;
  padding: 8px 10px 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--bd-label-2);
}
.rpp-cal-month {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  grid-auto-rows: var(--rpp-cal-cell, 120px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-cal-cell {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  box-sizing: border-box;
  /* Weekful 0.1.2: 10 px sus în fiecare celulă, ca numărul (și pastila „26 Azi”) să stea la 6 px sub marginea de accent, și
     6 px pe laterale (pastila plină a zilei de azi nu mai atinge rama celulei) */
  padding: 10px 6px 3px;
  border-inline-start: 1px solid var(--bd-separator);
  border-top: 1px solid var(--bd-separator);
  overflow: hidden;
  container-type: inline-size;
}
.rpp-cal-cell:nth-child(7n + 1) {
  border-inline-start: 0;
}
.rpp-cal-cell:nth-child(-n + 7) {
  border-top: 0;
}
.rpp-cal-cell.is-out {
  background: var(--bd-surface-2);
}
/* Weekful 0.1.1: celula de azi — nuanța și marginea de sus, ca în săptămână; numărul pe cercul plin, cu „Azi” pe pastilă
   (pe desktop doar în celulele de cel puțin 200 px, vezi mai jos; primul marcaj se mută atunci după pastilă, iar inelul de
   focus rămâne în afara lui) */
.rpp-cal-cell.is-today {
  position: relative;
  background: color-mix(in srgb, var(--bd-accent-tint) 60%, transparent);
}
.rpp-cal-cell.is-today::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--bd-accent);
  pointer-events: none;
}
.rpp-cal-cellnum {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  min-width: 28px;
  height: 28px;
  box-sizing: border-box;
  margin: 0;
  padding: 0 5px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: var(--bd-label);
  font: 650 12.5px/1 var(--bd-font-sans);
  font-variant-numeric: tabular-nums;
  cursor: pointer;
}
button.rpp-cal-cellnum:hover {
  background: var(--bd-fill-4);
}
.rpp-cal-cellnum:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 1px;
}
.rpp-cal-cell.is-out .rpp-cal-cellnum {
  color: var(--bd-label-2);
  font-weight: 500;
}
.rpp-cal-cell.is-today .rpp-cal-cellnum,
.rpp-cal-cell.is-today button.rpp-cal-cellnum:hover {
  background: var(--bd-accent);
  color: var(--bd-on-accent);
}
.rpp-cal-cellnum .rpp-cal-todaytag,
.rpp-cal-cellnum .rpp-cal-preptag {
  display: none;
  color: inherit;
  font-size: 12px;
}
.rpp-cal-cellnum .rpp-cal-preptag {
  color: var(--bd-orange-ink);
}
.is-prepared .rpp-cal-cellnum .rpp-cal-preptag {
  color: var(--bd-green-ink);
}
.rpp-cal-month:not(.is-inline) .rpp-cal-cell.is-prep .rpp-cal-cellnum,
.rpp-cal-month:not(.is-inline) .rpp-cal-cell.is-prepared .rpp-cal-cellnum {
  gap: 5px;
}
.rpp-cal-month:not(.is-inline) .rpp-cal-cell.is-prep .rpp-cal-preptag,
.rpp-cal-month:not(.is-inline) .rpp-cal-cell.is-prepared .rpp-cal-preptag {
  display: inline;
}
/* numărul are rândul lui (zilele libere, ecranele tactile): „26 Azi” pe pastila plină */
.rpp-cal-month:not(.is-inline) .rpp-cal-cell.is-today .rpp-cal-cellnum {
  gap: 3px;
  padding: 0 8px;
}
.rpp-cal-month:not(.is-inline) .rpp-cal-cell.is-today .rpp-cal-todaytag {
  display: inline;
}
/* desktop: numărul stă în stânga primului marcaj; „Azi” intră pe pastilă doar când celula are loc (≥ 200 px), ca primul
   marcaj al zilei să nu se strângă (sub 200 px: cercul, nuanța și marginea de sus) */
@container (min-width: 200px) {
  .rpp-cal-month.is-inline .rpp-cal-cell.is-today .rpp-cal-cellnum {
    gap: 3px;
    padding: 0 8px;
  }
  .rpp-cal-month.is-inline .rpp-cal-cell.is-today .rpp-cal-todaytag {
    display: inline;
  }
  .rpp-cal-month.is-inline .rpp-cal-cell.is-today .rpp-cal-marks > li:first-child,
  .rpp-cal-month.is-inline .rpp-cal-cell.is-today .rpp-cal-skelmark {
    margin-inline-start: 70px;
  }
}
/* mâine, pe desktop: „27 De pregătit” încape lângă primul marcaj doar în celulele largi (≥ 260 px) */
@container (min-width: 260px) {
  .rpp-cal-month.is-inline .rpp-cal-cell.is-prep .rpp-cal-cellnum,
  .rpp-cal-month.is-inline .rpp-cal-cell.is-prepared .rpp-cal-cellnum {
    gap: 5px;
  }
  .rpp-cal-month.is-inline .rpp-cal-cell.is-prep .rpp-cal-preptag,
  .rpp-cal-month.is-inline .rpp-cal-cell.is-prepared .rpp-cal-preptag {
    display: inline;
  }
  .rpp-cal-month.is-inline .rpp-cal-cell.is-prep .rpp-cal-marks > li:first-child,
  .rpp-cal-month.is-inline .rpp-cal-cell.is-prepared .rpp-cal-marks > li:first-child {
    margin-inline-start: 124px;
  }
}
.rpp-cal-marks {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-cal-mark {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  min-height: 22px;
  box-sizing: border-box;
  padding: 1px 4px;
  border-radius: 6px;
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  text-decoration: none;
}
/* marcajele pe care se apasă (desktop): ținta e rândul întreg de 28 px (DS: cel puțin 28 px), transparent; desenul compact
   de 22–24 px e pastila dinăuntru (rpp-cal-markrow). Țintele stau lipite, fără să se suprapună; inelul de focus e în țintă. */
a.rpp-cal-mark,
button.rpp-cal-mfree {
  min-height: 28px;
  padding: 0;
  gap: 0;
  border-radius: 8px;
  cursor: pointer;
}
a.rpp-cal-mark:focus-visible,
button.rpp-cal-mfree:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-cal-markrow {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  gap: 5px;
  min-width: 0;
  min-height: 22px;
  box-sizing: border-box;
  padding: 1px 4px;
  border-radius: 6px;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
a.rpp-cal-mark:hover .rpp-cal-markrow {
  background: var(--bd-fill-4);
}
a.rpp-cal-mark.is-selected .rpp-cal-markrow,
span.rpp-cal-mark.is-selected {
  background: var(--bd-accent-tint);
}
.rpp-cal-dot {
  flex: none;
  width: 7px;
  height: 7px;
  border-radius: 4px;
}
.rpp-cal-mtime {
  flex: none;
  font-size: 11px;
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-cal-mtitle {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 11.5px;
  font-weight: 550;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rpp-cal-mark.is-done .rpp-cal-mtitle {
  font-weight: 400;
  color: var(--bd-label-2);
}
.rpp-cal-mark.is-concern .rpp-cal-mtitle {
  font-weight: 650;
  color: var(--bd-accent-ink);
}
.rpp-cal-mark.is-late .rpp-cal-mtime {
  color: var(--bd-red-ink);
}
.rpp-cal-alert {
  display: inline-flex;
  flex: none;
  color: var(--bd-red-ink);
}
.rpp-cal-mark .bd-stage {
  flex: none;
}
@container (max-width: 132px) {
  .rpp-cal-mtime {
    display: none;
  }
  /* celule înguste (1024 px): câțiva pixeli în plus pentru titlu, mai ales pe rândul de lângă numărul zilei */
  .rpp-cal-markrow {
    gap: 4px;
    padding-inline: 3px;
  }
}
/* celule late (2560 px): textul marcajelor crește puțin, ca să se citească de la distanță */
@container (min-width: 200px) {
  .rpp-cal-mark,
  .rpp-cal-markrow {
    min-height: 24px;
  }
  a.rpp-cal-mark,
  button.rpp-cal-mfree {
    min-height: 28px;
  }
  .rpp-cal-mtime {
    font-size: 12px;
  }
  .rpp-cal-mtitle {
    font-size: 12.5px;
  }
}
.rpp-cal-more {
  align-self: flex-start;
  min-height: 22px;
  min-width: 28px;
  margin: 0;
  padding: 0 5px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--bd-label-2);
  font: 600 11px/1.2 var(--bd-font-sans);
  cursor: pointer;
}
button.rpp-cal-more {
  min-height: 28px;
}
button.rpp-cal-more:hover {
  background: var(--bd-fill-4);
  color: var(--bd-label);
}
button.rpp-cal-more:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-cal-mreserve {
  width: 100%;
  justify-content: flex-start;
}
/* vorbitorii, în luna obișnuită: ziua liberă e butonul „Rezervă”, cât un marcaj (numărul de marcaje din celulă rămâne) */
button.rpp-cal-mfree {
  width: 100%;
  margin: 0;
  border: 0;
  background: none;
  color: var(--bd-accent-ink);
  text-align: start;
}
/* opac (nu accent-tint): contrastul textului rămâne ≥ 4,5:1 și în celulele din afara lunii, care au alt fundal */
.rpp-cal-mfree .rpp-cal-markrow {
  background: color-mix(in srgb, var(--bd-accent) 14%, var(--bd-surface));
}
button.rpp-cal-mfree:hover .rpp-cal-markrow {
  background: color-mix(in srgb, var(--bd-accent) 20%, var(--bd-surface));
}
/* în lucru (aria-disabled, nu disabled: butonul își păstrează focusul cât se trimite cererea) */
button.rpp-cal-mfree[aria-disabled='true'],
.rpp-cal-act[aria-disabled='true'],
.rpp-cal-mreserve[aria-disabled='true'] {
  cursor: progress;
  opacity: 0.6;
}
.rpp-cal-mfree .rpp-cal-mtime,
.rpp-cal-mfree .rpp-cal-mtitle {
  color: var(--bd-accent-ink);
}
.rpp-cal-mfree .rpp-cal-mtitle {
  font-weight: 650;
}
.rpp-cal-mfree .bd-icon {
  flex: none;
}
.rpp-cal-skelmark {
  display: block;
  height: 20px;
  margin-top: 2px;
  border-radius: 6px;
  background: var(--bd-fill-4);
  animation: rpp-cal-pulse 1.4s var(--bd-ease-standard) infinite;
}
/* luna pe desktop (is-inline): rândurile de 28 px stau lipite (fără goluri, fără suprapuneri), iar numărul zilei (tot 28 px,
   inelul de focus la 1 px) stă în stânga primului rând: rândul lui nu mai ține loc de un marcaj */
.rpp-cal-month.is-inline .rpp-cal-cell {
  position: relative;
  gap: 0;
  padding: 10px 6px 1px;
}
.rpp-cal-month.is-inline .rpp-cal-cellnum {
  position: absolute;
  top: 9px;
  inset-inline-start: 6px;
}
.rpp-cal-month.is-inline .rpp-cal-marks {
  gap: 0;
}
.rpp-cal-month.is-inline .rpp-cal-marks > li:first-child,
.rpp-cal-month.is-inline .rpp-cal-skelmark {
  margin-inline-start: 32px;
}
.rpp-cal-month.is-inline .rpp-cal-skelmark {
  margin-top: 4px;
}
/* pe ecranele tactile, celula întreagă e un buton (ținta de 44 px) care deschide săptămâna zilei */
.rpp-cal-cellbtn {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2px;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 44px;
  box-sizing: border-box;
  margin: 0;
  padding: 2px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: transparent;
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  text-align: start;
  cursor: pointer;
  overflow: hidden;
}
.rpp-cal-cellbtn:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-cal-cellbtn .rpp-cal-cellnum {
  cursor: inherit;
}
.rpp-cal-cellbtn .rpp-cal-mark {
  min-height: 20px;
}
.rpp-cal-cellbtn .rpp-cal-more {
  min-height: 0;
}

/* ---- Agenda (telefonul): ListGroup pe zile, PostRow ---- */
.rpp-cal-agenda {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
}
/* Weekful 0.1.1: grupul de azi — cercul plin cu numărul zilei înaintea titlului (în accent; 26 px, cât rândul titlului, ca
   primul rând al zilei să rămână deasupra barei de taburi pe telefoanele scunde) și cardul nuanțat; din 0.1.2 fără marginea de
   sus (fără bare colorate pe carduri): sensul stă în titlu (azi: cercul și „Azi”; mâine: „De pregătit”) */
.rpp-cal-group.is-today .bd-listgroup__title {
  display: inline-flex;
  align-items: center;
  gap: var(--bd-space-sm);
  color: var(--bd-accent-ink);
}
.rpp-cal-todaynum {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  box-sizing: border-box;
  padding: 0 5px;
  border-radius: 13px;
  background: var(--bd-accent);
  color: var(--bd-on-accent);
  font: 700 15px/1 var(--bd-font-sans);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
.rpp-cal-group.is-prep .bd-listgroup__title .rpp-cal-preptag,
.rpp-cal-group.is-prepared .bd-listgroup__title .rpp-cal-preptag {
  margin-inline-start: var(--bd-space-sm);
  font: 700 13px/1 var(--bd-font-sans);
  letter-spacing: 0;
}
.rpp-cal-group.is-prep .bd-listgroup__body {
  background:
    linear-gradient(
      color-mix(in srgb, var(--bd-orange-tint) 60%, transparent),
      color-mix(in srgb, var(--bd-orange-tint) 60%, transparent)
    ),
    var(--bd-surface);
}
.rpp-cal-group.is-today .bd-listgroup__body {
  background:
    linear-gradient(
      color-mix(in srgb, var(--bd-accent-tint) 60%, transparent),
      color-mix(in srgb, var(--bd-accent-tint) 60%, transparent)
    ),
    var(--bd-surface);
}
.rpp-cal-row {
  text-decoration: none;
  container-type: inline-size;
}
/* telefoanele înguste (320 px): subtitlul rândului păstrează cine se ocupă; tipul rămâne în tile și pentru cititorul de ecran */
@container (max-width: 330px) {
  .rpp-cal-row .rpp-cal-subtype {
    display: none;
  }
}
.rpp-cal-row.is-child {
  padding-inline-start: 26px;
}
.rpp-cal-row.is-selected {
  background: var(--bd-accent-tint);
}
.rpp-cal-row .rpp-cal-meta {
  margin-top: 2px;
  font-size: 13px;
  line-height: 17px;
}
.rpp-cal-row .rpp-cal-flags {
  margin-top: 4px;
}
.rpp-cal-rowacts {
  padding: 0 16px 12px 96px;
}
.rpp-cal-rowacts .rpp-cal-acts {
  gap: 8px;
}
.rpp-cal-rowacts .rpp-cal-act {
  flex: 0 1 auto;
}
.rpp-cal-none {
  margin: 0;
  padding: 14px 16px;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
}
.rpp-cal-latebar {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: var(--bd-touch-min);
  box-sizing: border-box;
  margin: 0;
  padding: 10px 16px;
  border: 0;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
  font: 600 15px/20px var(--bd-font-sans);
  text-align: start;
  cursor: pointer;
}
.rpp-cal-latebar span {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-cal-latebar .bd-icon {
  flex: none;
}
.rpp-cal-latebar:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-cal-past {
  align-self: flex-start;
  margin: calc(-1 * var(--bd-space-md)) 0;
}
.rpp-cal-later {
  align-self: center;
}
.rpp-cal-up {
  transform: rotate(180deg);
}
.rpp-cal-skelrow {
  height: 60px;
  margin: 0 16px;
  border-bottom: 1px solid var(--bd-separator);
  background: linear-gradient(90deg, var(--bd-fill-4), var(--bd-fill-3), var(--bd-fill-4));
  animation: rpp-cal-pulse 1.4s var(--bd-ease-standard) infinite;
}
.rpp-cal-sentinel {
  display: block;
  height: 1px;
}

/* ---- Filtrele: pastilele de pe telefon (un rând care se derulează lateral, până la marginile ecranului), cipurile ---- */
.rpp-cal-pills {
  margin: 0 calc(-1 * var(--bd-gutter-compact));
  padding: 4px var(--bd-gutter-compact);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.rpp-cal-pills::-webkit-scrollbar {
  display: none;
}
.rpp-cal-pills__row {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  width: max-content;
}
.rpp-cal-pills__div {
  flex: none;
  width: 1px;
  height: 24px;
  background: var(--bd-separator);
}
.rpp-cal-pill {
  flex: none;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: var(--bd-touch-min);
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0 15px;
  border: 0;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  color: var(--bd-label);
  font: 600 15px/20px var(--bd-font-sans);
  text-align: start;
  cursor: pointer;
}
.rpp-cal-pill.is-on {
  background: var(--bd-label);
  color: var(--bd-bg);
  box-shadow: none;
}
.rpp-cal-pill:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-cal-pill__dot {
  flex: none;
  width: 8px;
  height: 8px;
  border-radius: 4px;
}
.rpp-cal-pill .bd-icon {
  flex: none;
}
.rpp-cal-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm);
}
.rpp-cal-chips__label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
.rpp-cal-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: var(--bd-control-md);
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0 10px 0 12px;
  border: 0;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font: 600 13px/18px var(--bd-font-sans);
  text-align: start;
  cursor: pointer;
}
.rpp-cal-chip span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-cal-chip .bd-icon {
  flex: none;
}
.rpp-cal-chip:hover {
  filter: brightness(1.04);
}
.rpp-cal-chip:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}

/* ---- Starea: progresul încărcării, erorile, luna negenerată ---- */
.rpp-cal-note {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--bd-space-lg) var(--bd-space-xl);
}
.rpp-cal-note p {
  flex: 1 1 260px;
  min-width: 0;
}
.rpp-cal-progress .bd-progress__status,
.rpp-cal-progress .bd-progress__times {
  overflow-wrap: anywhere;
}
.rpp-cal-confirm {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}

/* ---- Comenzile din toolbar-ul shell-ului (‹ Azi ›, Săptămână | Lună, „Doar ale mele”, Drive) ---- */
.rpp-appshell-toolbar .rpp-cal-seg {
  flex: none;
}
.rpp-appshell-toolbar .rpp-cal-tools {
  flex: none;
}

/* ---- Ecranele tactile (tabletă, telefon): textul din grupul Touch, ținte de 44 px ---- */
@media (pointer: coarse) {
  .rpp-cal-dayhead {
    min-height: var(--bd-touch-min);
  }
  .rpp-cal-act.bd-btn--md {
    min-height: var(--bd-touch-min);
  }
  .rpp-cal-act.bd-btn--sm {
    min-height: 36px;
  }
  .rpp-cal-dow {
    font-size: 13px;
  }
  .rpp-cal-empty {
    font-size: 13px;
    line-height: 18px;
  }
  .rpp-cal-chip {
    min-height: var(--bd-touch-min);
    font-size: 15px;
    line-height: 20px;
  }
  .rpp-cal-chips__label,
  .rpp-cal-none {
    font: var(--bd-t-subheadline);
  }
  .rpp-cal-row .rpp-cal-meta {
    font-size: 15px;
    line-height: 20px;
  }
  .rpp-cal-confirm {
    font: var(--bd-t-body);
  }
  .rpp-cal-cell {
    padding: 9px 2px 2px;
  }
  .rpp-cal-mtitle {
    font-size: 12px;
  }
}
html:not([data-rpp-shell='desktop']) .rpp-appshell-toolbar .rpp-cal-tools .bd-toolbtn {
  min-width: var(--bd-touch-min);
  min-height: var(--bd-touch-min);
}
html:not([data-rpp-shell='desktop']) .rpp-appshell-toolbar .rpp-cal-seg .bd-seg__opt {
  min-height: var(--bd-touch-min);
}
html:not([data-rpp-shell='desktop']) .rpp-appshell-toolbar .rpp-cal-tools.bd-toolgroup--round {
  width: auto;
  padding: 0 2px;
}
html[data-rpp-shell='compact'] .rpp-cal-rowacts {
  padding-inline-start: 16px;
}

@media (prefers-reduced-motion: reduce) {
  .rpp-cal-skel,
  .rpp-cal-skelmark,
  .rpp-cal-skelrow,
  .rpp-cal-next__skel,
  .rpp-cal-col.is-highlight,
  .rpp-cal-cell.is-highlight {
    animation: none;
  }
  .rpp-cal-post:hover {
    transform: none;
  }
}

/* =========================================================
   v0.15.0 (Etapa 2.6) — pagina postării (js/post/*.js): foaia design-system (Sheet) peste ecranul de dedesubt — „side”
   pe desktop și tabletă (calendarul sau Azi rămân în spate, sub voal), „bottom” cu mâner pe telefon, aproape tot ecranul.
   În ordine: ce e de făcut acum (cu lista de postare), motivul corecțiilor / refilmării, playerul FINAL-ului cu notele
   pe timecode (mărimea din raportul real al fișierului: 9:16, 16:9, 1:1, 4:5), etapa (Stage, varianta stepper), oamenii,
   fișierele, Studio, rețelele, istoricul (restrâns). Plus foile de confirmare și de notă, deschise peste ea.
   Strat „strict” (fără declarații forțate), doar tokeni --bd-* și clase bd-* din design-system; totul pe body, în afara
   .rpp-app, în stratul [data-bd]. Sticla vine doar din clasele design-system-ului (bd-sheet, bd-menu); conținutul e opac.
   Pe ecranele tactile, fiecare țintă are cel puțin 44 px (touch-min).
   ========================================================= */

/* foaia deschisă: pagina din spate nu mai derulează */
html.rpp-post-open {
  overflow: hidden;
}

/* ---- Stratul și foaia ---- */
.rpp-post-layer {
  --rpp-post-maxh: min(52vh, 480px);
}
body.admin-bar .rpp-post-layer {
  top: var(--wp-admin--admin-bar--height, 32px);
}
.rpp-post-layer .bd-sheet--side {
  width: min(480px, 100%);
}
.rpp-post-layer .bd-sheet--bottom {
  height: calc(100% - var(--bd-space-5xl) + var(--bd-space-md) - env(safe-area-inset-top, 0px));
  max-height: none;
  touch-action: pan-y;
}
.rpp-post-layer.bd-sheet-layer--bottom {
  --rpp-post-maxh: 40vh;
  --rpp-post-maxh: 40dvh;
}
.rpp-post-sheet {
  transition: transform var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-post-grabber {
  cursor: grab;
}

/* ---- Capul: tile-ul tipului, kicker-ul (tipul · ziua · ora), titlul, „⋯” și × ---- */
.rpp-post-head {
  align-items: center;
}
.rpp-post-head .bd-sheet__titles {
  min-width: 0;
}
.rpp-post-head .bd-sheet__kicker,
.rpp-post-title {
  overflow-wrap: anywhere;
}
/* titlul primește focusul la deschidere (cititorul de ecran îl anunță); nu e un control, deci fără inel */
.rpp-post-title:focus {
  outline: none;
}
.rpp-post-tile-skel {
  width: 44px;
  height: 44px;
  flex: none;
  border-radius: 13px;
  background: var(--bd-fill-3);
}
.rpp-post-more {
  flex: none;
  color: var(--bd-label-2);
}

/* ---- Corpul ---- */
.rpp-post-body {
  overscroll-behavior: contain;
  gap: var(--bd-space-lg);
  padding-bottom: calc(var(--bd-space-2xl) + env(safe-area-inset-bottom, 0px));
}
.bd-sheet--bottom .rpp-post-body {
  padding-inline: var(--bd-gutter-compact);
}
.rpp-post-layer .bd-row {
  text-decoration: none;
}
.rpp-post-layer .bd-row__title,
.rpp-post-layer .bd-row__sub {
  min-width: 0;
}
.rpp-post-empty {
  margin: 0;
  padding: 0 var(--bd-space-xs);
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-post-calm {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
}
.rpp-post-calm .bd-icon {
  margin-top: 1px;
  color: var(--bd-label-2);
}

/* etichetele scurte de sub cap: formatele, rețelele, „Întârziată” */
.rpp-post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: calc(var(--bd-space-xs) * -1);
}
.rpp-post-chip {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 10px;
  border-radius: var(--bd-radius-sm);
  background: var(--bd-fill-3);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--bd-label-2);
}
.rpp-post-chip.is-late {
  background: var(--bd-surface);
  color: var(--bd-red-ink);
  box-shadow: inset 0 0 0 1px var(--bd-red-ink);
}

/* butoanele paginii: textul se rupe pe două rânduri pe ecranele înguste, nu iese din buton */
.rpp-post-btn {
  min-width: 0;
  height: auto;
  white-space: normal;
  text-decoration: none;
  text-align: center;
}
.rpp-post-btn.bd-btn--lg {
  min-height: var(--bd-control-lg);
  padding-block: 6px;
}
.rpp-post-btn.bd-btn--md {
  min-height: var(--bd-control-md);
  padding-block: 4px;
}
.rpp-post-btn__text {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* ---- 1. Ce e de făcut acum ---- */
.rpp-post-now {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  padding: 14px 16px;
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-post-now__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-post-now__kicker {
  font-size: 12px;
  font-weight: 650;
  color: var(--bd-label-2);
}
.rpp-post-now--accent .rpp-post-now__kicker {
  color: var(--bd-accent-ink);
}
.rpp-post-now--danger .rpp-post-now__kicker {
  color: var(--bd-red-ink);
}
.rpp-post-now--success .rpp-post-now__kicker {
  color: var(--bd-green-ink);
}
.rpp-post-now__title {
  margin: 0;
  font: var(--bd-d-title-3);
  color: var(--bd-label);
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.rpp-post-now__body {
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-post-now__body.is-late {
  color: var(--bd-red-ink);
  font-weight: 600;
}
/* Weekful 0.1.2: rândul acțiunilor e flex (nu coloane egale): un buton își păstrează eticheta pe un rând și trece întreg pe rândul
   următor când nu mai are loc (coloanele egale rupeau „Cere corecții” / „Request changes” la 390 și la 820 px) */
.rpp-post-now__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-post-now__actions > .rpp-post-btn {
  flex: 1 1 auto;
}
.rpp-post-now__actions.is-stacked > .rpp-post-btn {
  flex-basis: 100%;
}
/* Weekful 0.1.12: urcarea RAW la vedere stă pe rândul ei, sub acțiunile de acum (și când celelalte stau alăturate) */
.rpp-post-now__actions > [data-post-raw] {
  flex-basis: 100%;
}
/* Weekful 0.1.2: „Mod citire” singur (fără o acțiune a omului acum) nu se întinde pe toată lățimea foii pe ecranele late */
@media (min-width: 600px) {
  .rpp-post-now__actions > [data-post-reader]:only-child {
    flex: 0 0 auto;
    min-width: 180px;
  }
}

/* ---- Lista de postare ---- */
.rpp-post-check {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  margin: 0;
  padding: var(--bd-space-md) 0 0;
  border-top: 1px solid var(--bd-separator);
  list-style: none;
}
.rpp-post-check__item {
  display: flex;
  gap: var(--bd-space-md);
  min-width: 0;
}
.rpp-post-check__mark {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-top: 1px;
  border-radius: 50%;
  background: var(--bd-fill-3);
  font-size: 12px;
  font-weight: 700;
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-post-check__item.is-done .rpp-post-check__mark {
  background: var(--bd-success-fill);
  color: var(--bd-on-accent);
}
.rpp-post-check__main {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.rpp-post-check__title {
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-post-check__count {
  font-weight: 400;
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-post-check__sub,
.rpp-post-check__hint {
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-post-check__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm) var(--bd-space-md);
}
.rpp-post-save {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-post-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.rpp-post-field__label {
  font: var(--bd-d-section);
  color: var(--bd-label-2);
}
.rpp-post-field textarea,
.rpp-post-caption {
  box-sizing: border-box;
  width: 100%;
  min-height: 88px;
  margin: 0;
  padding: 10px 12px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font: var(--bd-d-body);
  resize: vertical;
}
.rpp-post-caption--note {
  min-height: 60px;
}
.rpp-post-field textarea:focus,
.rpp-post-caption:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--bd-focus);
}
.rpp-post-caption[readonly] {
  background: var(--bd-fill-4);
  color: var(--bd-label-2);
}
.rpp-post-note summary {
  display: flex;
  align-items: center;
  min-height: 32px;
  font: var(--bd-d-callout);
  color: var(--bd-accent-ink);
  cursor: pointer;
}
.rpp-post-note summary:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
  border-radius: var(--bd-radius-xs);
}

/* o rețea: bifa (marchează fără link / scoate bifa), câmpul în care se lipește linkul, linkul postării */
.rpp-post-nets {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  margin: var(--bd-space-2xs) 0 0;
  padding: 0;
  list-style: none;
}
.rpp-post-net {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  min-width: 0;
}
.rpp-post-net.is-busy {
  opacity: 0.6;
}
.rpp-post-net__toggle {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: var(--bd-control-lg);
  height: var(--bd-control-lg);
  margin-top: 20px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--bd-on-accent);
  cursor: pointer;
}
.rpp-post-net__toggle::before {
  content: '';
  position: absolute;
  width: 22px;
  height: 22px;
  box-sizing: border-box;
  border: 2px solid var(--bd-control-edge);
  border-radius: 50%;
}
.rpp-post-net__toggle {
  position: relative;
}
.rpp-post-net__toggle .bd-icon {
  position: relative;
}
.rpp-post-net.is-posted .rpp-post-net__toggle::before {
  border-color: var(--bd-success-fill);
  background: var(--bd-success-fill);
}
.rpp-post-net__toggle:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-post-net__toggle[disabled] {
  cursor: default;
  opacity: var(--bd-opacity-disabled);
}
.rpp-post-net__field {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.rpp-post-net__name {
  font: var(--bd-d-section);
  color: var(--bd-label-2);
}
.rpp-post-net__input {
  box-sizing: border-box;
  width: 100%;
  height: var(--bd-control-lg);
  margin: 0;
  padding: 0 12px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  font-size: 14px;
}
.rpp-post-net__input::placeholder {
  color: var(--bd-label-3);
}
.rpp-post-net__input:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--bd-focus);
}
.rpp-post-net.has-error .rpp-post-net__input {
  box-shadow: 0 0 0 2px var(--bd-red-ink);
}
.rpp-post-net__error {
  font: var(--bd-d-footnote);
  color: var(--bd-red-ink);
  overflow-wrap: anywhere;
}
.rpp-post-net__open {
  flex: none;
  margin-top: 20px;
  text-decoration: none;
}

/* ---- 2. Motivul corecțiilor / refilmării ---- */
.rpp-post-reason {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-red-tint);
}
.rpp-post-reason__title {
  margin: 0;
  font: inherit;
}
/* eticheta roșie stă pe fondul roșu al blocului: pe suprafața opacă, ca să-și păstreze contrastul (AA) */
.rpp-post-reason .bd-flag {
  background: var(--bd-surface);
}
.rpp-post-reason__text {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-post-reason__who {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}

/* ---- 3. Playerul FINAL-ului și notele pe timecode ---- */
.rpp-post-review {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  min-width: 0;
}
.rpp-post-sechead {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 2px var(--bd-space-md);
  padding: 0 var(--bd-space-xs);
}
.rpp-post-sechead__title {
  margin: 0;
  font: var(--bd-d-title-3);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-post-sechead__meta {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-post-review__stage {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
}
/* cutia ia raportul real al fișierului (--rpp-post-ratio, pus din post-review.js); lățimea nu depășește înălțimea permisă */
.rpp-post-player {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: min(100%, calc(var(--rpp-post-maxh) * var(--rpp-post-ratio, 0.5625)));
  aspect-ratio: var(--rpp-post-ratio, 0.5625);
  margin-inline: auto;
  overflow: hidden;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-video-well);
  color: var(--bd-on-accent);
}
.rpp-post-player__video,
.rpp-post-player__frame {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: var(--bd-video-well);
  object-fit: contain;
}
.rpp-post-player__msg {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--bd-space-md);
  padding: var(--bd-space-lg);
  font: var(--bd-d-callout);
  text-align: center;
  overflow-wrap: anywhere;
}
.rpp-post-ticks__track {
  position: relative;
  height: 14px;
  margin: 0 var(--bd-space-sm);
  border-radius: 7px;
  background: var(--bd-fill-3);
}
.rpp-post-tick,
.rpp-post-ticks__head {
  position: absolute;
  top: 3px;
  width: 8px;
  height: 8px;
  margin-left: -4px;
  border-radius: 50%;
  background: var(--bd-red);
}
.rpp-post-tick.is-resolved {
  background: var(--bd-control-edge);
}
.rpp-post-ticks__head {
  top: 0;
  width: 2px;
  height: 14px;
  margin-left: -1px;
  border-radius: 1px;
  background: var(--bd-label);
}
.rpp-post-review__notice,
.rpp-post-review__status {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-xs) var(--bd-space-md);
  margin: 0;
  padding: 8px 12px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-accent-tint);
  font: var(--bd-d-callout);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-post-review__status.is-error {
  background: var(--bd-red-tint);
}
.rpp-post-review__bar,
.rpp-post-review__open {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm);
}
.rpp-post-composer {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  padding: 12px 14px;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-post-composer__title {
  margin: 0;
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
}
.rpp-post-composer__time {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
}
.rpp-post-composer__field {
  display: flex;
  flex: 1;
  min-width: 0;
}
.rpp-post-composer__field input {
  box-sizing: border-box;
  width: 100%;
  height: var(--bd-control-md);
  padding: 0 10px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.rpp-post-composer__field input:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--bd-focus);
}
.rpp-post-composer__error {
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-red-ink);
}
.rpp-post-composer__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--bd-space-sm);
}
.rpp-post-notes {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  list-style: none;
}
.rpp-post-noterow {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  padding: 8px 12px 8px 6px;
}
.rpp-post-noterow + .rpp-post-noterow {
  border-top: 1px solid var(--bd-separator);
}
.rpp-post-noterow.is-resolved .rpp-post-noterow__text {
  color: var(--bd-label-2);
  text-decoration: line-through;
}
.rpp-post-noterow__time {
  flex: none;
  min-width: 64px;
  min-height: var(--bd-control-md);
  padding: 0 6px;
  border: 0;
  border-radius: var(--bd-radius-sm);
  background: transparent;
  color: var(--bd-accent-ink);
  font-family: var(--bd-font-sans);
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
}
.rpp-post-noterow__time:hover {
  background: var(--bd-fill-4);
}
.rpp-post-noterow__time:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-post-noterow__main {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  padding-top: 6px;
}
.rpp-post-noterow__text,
.rpp-post-noterow__meta {
  margin: 0;
  overflow-wrap: anywhere;
}
.rpp-post-noterow__text {
  font: var(--bd-d-body);
  color: var(--bd-label);
}
.rpp-post-noterow__meta {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-post-noterow__studio {
  align-self: flex-start;
  font: var(--bd-d-callout);
  color: var(--bd-accent-ink);
}
/* „Rezolvat”: căsuța nativă acoperă toată eticheta (ținta de atingere), iar bifa vizibilă e un pătrat desenat alături */
.rpp-post-noterow__resolve {
  position: relative;
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 6px;
  min-height: var(--bd-control-md);
  padding: 0 4px;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  cursor: pointer;
}
.rpp-post-noterow__check {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.rpp-post-noterow__box {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 2px solid var(--bd-control-edge);
  border-radius: 6px;
  color: transparent;
}
.rpp-post-noterow__box .bd-icon {
  visibility: hidden;
}
.rpp-post-noterow__check:checked + .rpp-post-noterow__box .bd-icon {
  visibility: visible;
}
.rpp-post-noterow__check:checked + .rpp-post-noterow__box {
  border-color: var(--bd-success-fill);
  background: var(--bd-success-fill);
  color: var(--bd-on-accent);
}
.rpp-post-noterow__check:focus-visible + .rpp-post-noterow__box {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}

/* ---- 4. Etapa (Stage, varianta stepper), o singură dată ---- */
.rpp-post-stage {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  padding: 14px 16px;
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-post-stage__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-xs) var(--bd-space-sm);
}
.rpp-post-stage__title {
  flex: 1 1 auto;
  margin: 0;
  font: var(--bd-d-title-3);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-post-stage .bd-stepper__label {
  overflow-wrap: anywhere;
}
.rpp-post-stage__detail {
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}

/* ---- 5. Oamenii, fișierele, Studio, rețelele (ListGroup) ---- */
.rpp-post-group .bd-listgroup__title {
  font: var(--bd-d-title-2);
}
.rpp-post-group .bd-listgroup__foot {
  overflow-wrap: anywhere;
}
.rpp-post-empty-avatar,
.rpp-post-file__icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--bd-radius-sm);
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
}
.rpp-post-empty-avatar {
  border-radius: 50%;
}
.rpp-post-file__icon--final {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-post-file__btn {
  text-decoration: none;
}
/* Weekful 0.1.12: coșul de pe rândul unui fișier RAW, lângă „Descarcă”: pătrat și pe ecranele tactile (acolo .bd-btn--md își
   pune spațiu lateral). Pe telefon, rândul cu două butoane le ține doar cu iconița (au aria-label), ca numele fișierului să
   rămână întreg: cu ambele texte, „IMG_4811.MOV” ajungea „IMG_4…”, iar omul nu mai vedea ce șterge. */
.rpp-post-file__delete {
  padding-inline: 0;
  aspect-ratio: 1;
}
@media (max-width: 599.98px) {
  .rpp-post-file--tools .rpp-post-file__btn {
    padding-inline: 0;
    aspect-ratio: 1;
  }
  .rpp-post-file--tools .rpp-post-file__btn .rpp-post-btn__text {
    display: none;
  }
}
/* Weekful 0.1.9: cum a urcat fișierul (durata, viteza, dispozitivul, fundalul): o linie pe toată lățimea rândului, sub nume
   și sub buton (aliniată cu numele: iconița de 32 px + spațiul de 12 px), ca să nu se înghesuie lângă „Descarcă” pe telefon */
.rpp-file-row--stats {
  flex-wrap: wrap;
  row-gap: 2px;
}
.rpp-file-upload-stats {
  flex: 1 0 100%;
  box-sizing: border-box;
  padding: 0 0 4px 44px;
  font-size: 13px;
  line-height: 17px;
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.rpp-post-studio__open {
  display: flex;
}
.rpp-post-studio__open .rpp-post-btn {
  flex: 1 1 auto;
}

/* ---- 6. Istoricul (restrâns) ---- */
.rpp-post-history {
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-post-history__summary {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  min-height: 48px;
  padding: 0 14px;
  list-style: none;
  cursor: pointer;
}
.rpp-post-history__summary::-webkit-details-marker {
  display: none;
}
.rpp-post-history__summary:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
  border-radius: var(--bd-radius-lg);
}
.rpp-post-history__label {
  flex: 1;
  font: var(--bd-d-title-3);
  color: var(--bd-label);
}
.rpp-post-history__count {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
.rpp-post-history__chev {
  color: var(--bd-label-2);
  transition: transform var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-post-history[open] .rpp-post-history__chev {
  transform: rotate(180deg);
}
.rpp-post-history__list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0 14px 12px;
  list-style: none;
}
.rpp-post-history__item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 0;
  border-top: 1px solid var(--bd-separator);
}
.rpp-post-history__title {
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
}
.rpp-post-history__text {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-post-history__meta {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-post-history > .rpp-post-empty {
  padding: 0 14px 12px;
}

/* ---- Încărcarea și eroarea ---- */
.rpp-post-loading {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-lg);
}
.rpp-post-skel {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  min-height: 72px;
  box-sizing: border-box;
  padding: var(--bd-space-lg);
  overflow: hidden;
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-post-skel--now {
  min-height: 150px;
}
.rpp-post-skel i,
.rpp-post-skel b,
.rpp-post-skel s {
  display: block;
  height: 12px;
  border-radius: var(--bd-radius-xs);
  background: var(--bd-fill-3);
}
.rpp-post-skel i {
  width: 30%;
}
.rpp-post-skel b {
  width: 76%;
  height: 16px;
}
.rpp-post-skel s {
  width: 48%;
  height: 38px;
  margin-top: var(--bd-space-sm);
  border-radius: var(--bd-radius-md);
}
.rpp-post-skel::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, var(--bd-fill-4), transparent);
  transform: translateX(-100%);
  animation: rpp-post-shimmer 1.6s var(--bd-ease-standard) infinite;
}
@keyframes rpp-post-shimmer {
  to {
    transform: translateX(100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .rpp-post-skel::after {
    display: none;
    animation: none;
  }
  .rpp-post-sheet,
  .rpp-post-history__chev {
    transition: none;
  }
}
.rpp-post-error__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}

/* ---- „⋯” (peste foaie) și foile de confirmare / notă ---- */
/* un meniu al shell-ului deschis cât stă foaia (meniul „⋯” al ei) stă deasupra foii, nu sub voal */
.rpp-appshell-menu.rpp-post-menu,
html.rpp-post-open .rpp-appshell-menu {
  z-index: calc(var(--bd-z-sheet) + 1);
}
.rpp-post-sheet__text {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-post-sheet__list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
  font: var(--bd-d-callout);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-post-sheet__list b {
  color: var(--bd-accent-ink);
  font-variant-numeric: tabular-nums;
}
.rpp-post-sheet__error {
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-red-ink);
}
.rpp-post-confirm .bd-sheet__body {
  gap: var(--bd-space-md);
}

/* ---- Ecranele tactile: textele după scala iOS, țintele de cel puțin 44 px, câmpurile de cel puțin 16 px ---- */
@media (pointer: coarse) {
  .rpp-post-layer .bd-sheet__close,
  .rpp-post-more {
    width: var(--bd-touch-min);
    height: var(--bd-touch-min);
  }
  .rpp-post-now__kicker {
    font-size: 13px;
  }
  .rpp-post-now__title {
    font: var(--bd-t-headline);
  }
  .rpp-post-now__body,
  .rpp-post-check__sub,
  .rpp-post-check__hint,
  .rpp-post-reason__text,
  .rpp-post-noterow__text,
  .rpp-post-stage__detail,
  .rpp-post-empty,
  .rpp-post-sheet__text {
    font: var(--bd-t-subheadline);
  }
  .rpp-post-check__title,
  .rpp-post-composer__title,
  .rpp-post-history__title {
    font: var(--bd-t-headline);
  }
  .rpp-post-sechead__title,
  .rpp-post-stage__title,
  .rpp-post-history__label,
  .rpp-post-group .bd-listgroup__title {
    font: var(--bd-t-headline);
  }
  .rpp-post-field textarea,
  .rpp-post-caption,
  .rpp-post-net__input,
  .rpp-post-composer__field input {
    font-size: 17px;
  }
  .rpp-post-net__input {
    height: var(--bd-touch-min);
  }
  .rpp-post-composer__field input {
    height: var(--bd-touch-min);
  }
  .rpp-post-net__toggle {
    width: var(--bd-touch-min);
    height: var(--bd-touch-min);
    margin-top: 20px;
  }
  .rpp-post-btn.bd-btn--md,
  .rpp-post-layer .bd-btn--md,
  .rpp-post-confirm .bd-btn--md {
    min-height: var(--bd-touch-min);
  }
  .rpp-post-noterow__time,
  .rpp-post-noterow__resolve,
  .rpp-post-note summary {
    min-height: var(--bd-touch-min);
  }
  .rpp-post-noterow__studio {
    display: inline-flex;
    align-items: center;
    min-height: var(--bd-touch-min);
  }
  .rpp-post-noterow__box {
    width: 22px;
    height: 22px;
  }
  .rpp-post-btn.bd-btn--lg {
    min-height: 50px;
  }
  .rpp-post-history__summary {
    min-height: 56px;
  }
  .rpp-post-chip {
    font-size: 13px;
  }
}

/* [hidden] câștigă peste display-ul de mai sus (mânerul pe desktop, compozitorul închis, erorile goale) */
.rpp-post-layer [hidden],
.rpp-post-confirm [hidden] {
  display: none;
}

/* =========================================================
   v0.15.0 (Etapa 2.7) — „Creează” (js/create/*.js): foaia shell-ului cu cardurile mari (desktop, tabletă) sau rândurile
   (telefon), formularele (titlu, zi și oră, cine se ocupă; reels: sursa și zilele), Mini-Rapsodia (automată), pornirea unei
   rubrici (adminii), bara de progres și toast-ul cu două acțiuni.
   Strat „strict” (fără declarații forțate), doar tokeni --bd-* și clase bd-* / rpp-create-*; totul stă în foaia shell-ului
   (.rpp-appshell-sheet, gazdă [data-bd]) și în stratul toast-ului, în afara .rpp-app. Fără blur nou: sticla e a foii.
   Pe telefon, orice țintă are cel puțin 44 px (--bd-touch-min).
   ========================================================= */

/* ---- Foaia: pe desktop și tabletă, în centru, cu loc de patru carduri pe rând ---- */
.rpp-create-sheet .bd-sheet--center {
  width: min(680px, 100%);
}
.rpp-create-sheet .bd-sheet__sub {
  margin: 2px 0 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
.rpp-create-lead,
.rpp-create-text {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
  text-wrap: pretty;
}
.rpp-create-text {
  color: var(--bd-label);
}

/* ---- Cardurile (desktop, tabletă): TypeTile, numele, exemplul, formatul și ora ---- */
.rpp-create-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 140px), 1fr));
  gap: var(--bd-space-md);
}
.rpp-create-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  min-width: 0;
  min-height: 156px;
  box-sizing: border-box;
  margin: 0;
  padding: 14px;
  border: 0;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  text-align: left;
  cursor: pointer;
  transition:
    transform var(--bd-dur-fast) var(--bd-ease-standard),
    box-shadow var(--bd-dur-base) var(--bd-ease-standard);
}
.rpp-create-card:hover {
  transform: translateY(-1px);
  box-shadow: var(--bd-shadow-popover);
}
.rpp-create-card:active {
  transform: scale(0.98);
}
.rpp-create-card:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-create-card[disabled] {
  opacity: var(--bd-opacity-disabled);
  cursor: default;
  transform: none;
}
.rpp-create-card__name {
  font: var(--bd-d-title-3);
  letter-spacing: -0.005em;
  overflow-wrap: anywhere;
}
.rpp-create-card__desc {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-create-card__meta,
.rpp-create-row__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-xs) var(--bd-space-sm);
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-create-card__meta {
  margin-top: auto;
}

/* ---- Rândurile (telefon, Rapsodia, tipurile oprite): textul se rupe pe rânduri, nu se taie cu „…” ---- */
.rpp-create-group .bd-row {
  text-decoration: none;
}
.rpp-create-row .bd-row__title,
.rpp-create-row .bd-row__sub {
  white-space: normal;
  overflow-wrap: anywhere;
}
.rpp-create-row__meta {
  margin-top: var(--bd-space-2xs);
}
.rpp-create-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
}

/* ---- Adminii: tipurile oprite, sub un buton discret ---- */
.rpp-create-more {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--bd-space-sm);
}
.rpp-create-more__toggle {
  margin-left: calc(-1 * var(--bd-space-sm));
}
.rpp-create-more .rpp-create-group {
  align-self: stretch;
}
/* lista închisă: .bd-listgroup are display: flex, care ar bate regula [hidden] a browserului */
.rpp-create-more .rpp-create-group[hidden] {
  display: none;
}
.rpp-create-more .bd-listgroup__foot {
  text-wrap: pretty;
}
/* numărul tipurilor oprite: pe sticla foii, în întunecat, label-2 pe fill-3 iese la 4,49:1; cu label trece de AA */
.rpp-create-more__toggle .bd-badge {
  color: var(--bd-label);
}

/* ---- Formularele ---- */
.rpp-create-form,
.rpp-create-auto,
.rpp-create-activate,
.rpp-create-choose {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-lg);
  min-width: 0;
}
.rpp-create-backrow {
  display: flex;
  margin: calc(-1 * var(--bd-space-sm)) 0 calc(-1 * var(--bd-space-xs)) calc(-1 * var(--bd-space-md));
}
.rpp-create-intro {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
}
.rpp-create-intro__text {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xs);
  min-width: 0;
}
.rpp-create-intro__desc,
.rpp-create-intro__meta {
  margin: 0;
  overflow-wrap: anywhere;
}
.rpp-create-intro__desc {
  font: var(--bd-d-body);
  color: var(--bd-label);
}
.rpp-create-intro__meta {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-create-field {
  min-width: 0;
}
.rpp-create-field .bd-field__box input {
  min-width: 0;
}
.rpp-create-when {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--bd-space-md);
}
.rpp-create-hint {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-create-when + .rpp-create-hint {
  margin-top: calc(-1 * var(--bd-space-sm));
}
.rpp-create-error {
  margin: 0;
  font: var(--bd-d-callout);
  font-weight: 600;
  color: var(--bd-red-ink);
  overflow-wrap: anywhere;
}
.rpp-create-error[hidden] {
  display: none;
}
.rpp-create-field .bd-field__box:has(input[aria-invalid='true']),
.rpp-create-day .bd-field__box:has(input[aria-invalid='true']) {
  box-shadow: 0 0 0 2px var(--bd-red-ink);
}
.rpp-create-who,
.rpp-create-count,
.rpp-create-days-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.rpp-create-seg {
  display: grid;
  width: 100%;
  box-sizing: border-box;
}
.rpp-create-seg .bd-seg__opt {
  min-width: 0;
}
.rpp-create-seg .bd-seg__opt span {
  min-width: 0;
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
}
.rpp-create-note {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-create-note--soon {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-md);
  background: var(--bd-accent-tint);
  color: var(--bd-label);
}
.rpp-create-note--soon .bd-icon {
  flex: none;
  margin-top: 1px;
  color: var(--bd-accent-ink);
}

/* ---- Reels: zilele propuse, fiecare cu data ei și numele zilei ---- */
.rpp-create-days {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-create-day {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--bd-space-sm) var(--bd-space-md);
}
.rpp-create-day__n {
  min-width: 30px;
  font: var(--bd-d-body-strong);
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-create-day__text {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-create-day .bd-field__box input {
  min-width: 0;
}

/* ---- Pornirea unei rubrici: ce face, cine, unde ---- */
.rpp-create-fact .bd-row__text {
  padding: var(--bd-space-2xs) 0;
}
.rpp-create-fact__text {
  font: var(--bd-d-body);
  color: var(--bd-label);
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

/* ---- Progresul: aceeași bară ca în Azi și în Rapoartele slavei ---- */
.rpp-create-progress[hidden] {
  display: none;
}
.rpp-create-progress .bd-progress__status {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* ---- Toast-ul „Creat. …”: „Anulează” lângă „Deschide”; pe telefon, rândul acțiunilor sub text ---- */
.rpp-create-toast .bd-toast__action {
  white-space: nowrap;
}
@media (max-width: 599px) {
  .rpp-toast-layer .rpp-create-toast.has-action {
    flex-wrap: wrap;
    justify-content: flex-end;
    row-gap: 0;
    border-radius: var(--bd-radius-xl);
  }
  .rpp-toast-layer .rpp-create-toast .bd-toast__text {
    flex: 1 1 calc(100% - 40px);
  }
}

/* ---- Ecranele tactile: textul crește ca iOS, țintele au cel puțin 44 px ---- */
@media (pointer: coarse) {
  .rpp-create-sheet .bd-sheet__sub,
  .rpp-create-card__desc,
  .rpp-create-day__text {
    font: var(--bd-t-footnote);
  }
  .rpp-create-lead,
  .rpp-create-text,
  .rpp-create-intro__desc,
  .rpp-create-fact__text {
    font: var(--bd-t-subheadline);
  }
  .rpp-create-card__name {
    font: var(--bd-t-headline);
  }
  .rpp-create-card__meta,
  .rpp-create-row__meta,
  .rpp-create-intro__meta,
  .rpp-create-hint,
  .rpp-create-note {
    font: var(--bd-t-footnote);
  }
  .rpp-create-error {
    font: var(--bd-t-footnote);
    font-weight: 600;
  }
  .rpp-create-day__n {
    font: var(--bd-t-headline);
  }
  .rpp-create-seg .bd-seg__opt,
  .rpp-toast-layer .rpp-create-toast .bd-toast__action {
    min-height: var(--bd-touch-min);
  }
  .rpp-toast-layer .rpp-create-toast .bd-toast__action {
    padding: 0 var(--bd-space-md);
    font-size: 15px;
  }
}

/* ---- Telefonul: zilele reels-urilor pe două rânduri (numărul și data, apoi numele zilei) ---- */
@media (max-width: 599px) {
  .rpp-create-day {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .rpp-create-day__text {
    grid-column: 2;
    margin-top: calc(-1 * var(--bd-space-xs));
  }
}

@media (prefers-reduced-motion: reduce) {
  .rpp-create-card {
    transition: none;
  }
  .rpp-create-card:hover,
  .rpp-create-card:active {
    transform: none;
  }
}

/* =========================================================
   v0.16 — Traduceri pe sistemul de design (js/translations2/*): lista lunii (Ce urmează, progresul lunii, filtrele,
   lecțiile pe săptămâni, dedesubt Rapoartele slavei, fișierele lunii și traducerea AI), editorul lecției (engleza și româna
   una lângă alta pe desktop, EN | RO pe telefon, bara de jos cu acțiunea principală), foile (import, Sheet, setări,
   confirmări) și progresul real.
   Strat „strict” (fără declarații forțate), doar tokeni --bd-* și clase bd-* din design-system; totul în gazda [data-bd]
   a shell-ului (.rpp-appshell-view), în afara .rpp-app. Sticla vine doar din clasele design-system-ului (bd-glass pe capul
   coloanelor și pe bara de jos, care plutesc peste conținut); stratul acesta nu adaugă blur.
   Lățimea paginii decide prin interogări de container (.rpp-tr-host): aceeași pagină stă lângă sidebar sau pe tot ecranul.
   ========================================================= */

.rpp-tr-host {
  container-type: inline-size;
}
.rpp-tr {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-xl);
  min-width: 0;
}

/* ---- „Ce urmează”: un card pe rând; două alăturate când pagina are loc ---- */
.rpp-tr-next:focus {
  outline: none;
}
.rpp-tr-next__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--bd-space-md);
}
@container (min-width: 880px) {
  .rpp-tr-next__grid.is-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.rpp-tr-card .bd-nextup__title {
  margin: 0;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.rpp-tr-card .bd-nextup__body {
  margin: 0;
  overflow-wrap: anywhere;
}
.rpp-tr-card__action {
  flex: none;
  text-decoration: none;
}
label.rpp-tr-card__action,
label.rpp-tr-actrow {
  cursor: pointer;
}

/* ---- Operațiile lungi (Tradu tot, exportul) ---- */
.rpp-tr-activity {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
}
.rpp-tr-activity:empty {
  display: none;
}
.rpp-tr-progress .bd-progress__steplabel,
.rpp-tr-progress .bd-progress__status {
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-tr-progress .bd-progress__meta {
  flex-wrap: wrap;
}

/* ---- Progresul lunii ---- */
.rpp-tr-month {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-lg) var(--bd-space-lg) var(--bd-space-md);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-tr-month__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--bd-space-xs) var(--bd-space-md);
}
.rpp-tr-month__big {
  font: var(--bd-d-title-2);
  letter-spacing: var(--bd-d-title-2-tracking);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-tr-month__sheet {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
.rpp-tr-meter {
  display: flex;
  gap: 2px;
  height: 10px;
  overflow: hidden;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-3);
}
.rpp-tr-meter__seg {
  flex: 0 1 auto;
  min-width: 4px;
  height: 100%;
}
.rpp-tr-meter__seg.is-aprobat,
.rpp-tr-dot.is-aprobat {
  background: var(--bd-stage-ready);
}
.rpp-tr-meter__seg.is-verificat,
.rpp-tr-dot.is-verificat {
  background: var(--bd-stage-review);
}
.rpp-tr-meter__seg.is-ciorna,
.rpp-tr-dot.is-ciorna {
  background: var(--bd-stage-work);
}
.rpp-tr-meter__seg.is-netradus,
.rpp-tr-dot.is-netradus {
  background: var(--bd-stage-todo);
}
.rpp-tr-dot {
  flex: none;
  width: 9px;
  height: 9px;
  border-radius: 50%;
}

/* ---- Filtrele și căutarea ---- */
.rpp-tr-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm) var(--bd-space-md);
}
.rpp-tr-chips {
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
  min-width: 0;
}
.rpp-tr-chip {
  gap: 6px;
}
.rpp-tr-chip__count {
  font-variant-numeric: tabular-nums;
}
.rpp-tr-chip:not(.is-on) .rpp-tr-chip__count {
  color: var(--bd-label-2);
}
.rpp-tr-search {
  flex: 1 1 240px;
  min-width: 0;
  max-width: 360px;
}
@container (max-width: 599px) {
  .rpp-tr-search {
    flex-basis: 100%;
    max-width: none;
  }
  /* pe telefon, filtrele stau pe un singur rând, care se derulează lateral (ca pastilele calendarului) */
  .rpp-tr-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding: 3px 2px;
    scrollbar-width: none;
  }
  .rpp-tr-chips::-webkit-scrollbar {
    display: none;
  }
  .rpp-tr-chip {
    flex: none;
  }
}
/* pe telefon, „Ce urmează” rămâne un singur card: primul lucru de făcut, apoi lecțiile */
html[data-rpp-shell='compact'] .rpp-tr-next__grid > .rpp-tr-card + .rpp-tr-card {
  display: none;
}

/* ---- Lecțiile, pe săptămâni (coloane de cel puțin 420 px; una pe telefon și tabletă) ---- */
.rpp-tr-weeks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  align-items: start;
  gap: var(--bd-space-2xl) var(--bd-space-xl);
}
.rpp-tr-week {
  min-width: 0;
}
.rpp-tr-row {
  color: inherit;
  text-decoration: none;
}
.rpp-tr-row .bd-row__title,
.rpp-tr-row .bd-row__sub,
.rpp-tr-wrap {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  overflow-wrap: anywhere;
}
.rpp-tr-row__title {
  letter-spacing: 0.01em;
}
.rpp-tr-row__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px var(--bd-space-sm);
}
.rpp-tr-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  width: 40px;
  height: 40px;
  border-radius: 11px;
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  line-height: 1;
}
.rpp-tr-day b {
  font: 700 16px/18px var(--bd-font-sans);
  font-variant-numeric: tabular-nums;
}
.rpp-tr-day small {
  font: 600 10px/12px var(--bd-font-sans);
}
.rpp-tr-day.is-done {
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
}
.rpp-tr-none {
  margin: 0;
  padding: var(--bd-space-2xl);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  color: var(--bd-label-2);
  text-align: center;
}

/* ---- Dedesubt: Rapoartele slavei, fișierele lunii, traducerea AI ---- */
.rpp-tr-more {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  align-items: start;
  gap: var(--bd-space-2xl) var(--bd-space-xl);
  margin-top: var(--bd-space-md);
}
.rpp-tr-more__praise {
  grid-column: 1 / -1;
}
.rpp-tr-actrow {
  color: inherit;
  text-decoration: none;
}
.rpp-tr-actrow[disabled] {
  cursor: default;
}
.rpp-tr-actrow[disabled]:hover {
  background: transparent;
}
.rpp-tr-actrow[disabled] .bd-row__title {
  color: var(--bd-label-2);
}
.rpp-tr-glyph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: var(--bd-fill-3);
  color: var(--bd-accent-ink);
}
.rpp-tr-inforow__value {
  max-width: 50%;
  text-align: end;
}

/* ---- Luna în bara de sus ---- */
.rpp-tr-monthnav__label {
  min-width: 9.5em;
  padding: 0 6px;
  font: 600 13px/18px var(--bd-font-sans);
  color: var(--bd-label);
  text-align: center;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* ---- Încărcarea: scheletul (fără strălucire cu „Reducere mișcare”) și bara de progres, după 2,5 s ---- */
.rpp-tr-loading {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-xl);
}
.rpp-tr-skel {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  overflow: hidden;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-tr-skel i,
.rpp-tr-skel b {
  display: block;
  height: 12px;
  border-radius: var(--bd-radius-xs);
  background: var(--bd-fill-3);
}
.rpp-tr-skel--card,
.rpp-tr-skel--meter,
.rpp-tr-skel--nav {
  box-sizing: border-box;
  padding: var(--bd-space-lg);
}
.rpp-tr-skel--card {
  min-height: 104px;
  border-radius: var(--bd-radius-xl);
}
.rpp-tr-skel--card i {
  width: 30%;
}
.rpp-tr-skel--card b {
  width: 70%;
  height: 16px;
}
.rpp-tr-skel--meter b {
  width: 100%;
  height: 10px;
}
.rpp-tr-skel--nav {
  box-shadow: none;
  background: transparent;
}
.rpp-tr-skel--nav i {
  width: 120px;
}
.rpp-tr-skel--nav b {
  width: 45%;
  height: 18px;
}
.rpp-tr-skel--list {
  gap: 0;
}
.rpp-tr-skel__row {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  min-height: 60px;
  padding: 0 var(--bd-space-lg);
}
.rpp-tr-skel__row i {
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 11px;
}
.rpp-tr-skel__row b {
  flex: 1;
  max-width: 60%;
}
.rpp-tr-skel--pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--bd-space-xl);
  padding: var(--bd-space-lg);
}
.rpp-tr-skel--pair > div {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
}
.rpp-tr-skel--pair i {
  width: 30%;
}
.rpp-tr-skel--pair b:last-child {
  width: 80%;
}
.rpp-tr-skel::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, var(--bd-fill-4), transparent);
  transform: translateX(-100%);
  animation: rpp-tr-shimmer 1.6s var(--bd-ease-standard) infinite;
}
.rpp-tr-skel--nav::after {
  display: none;
}
@keyframes rpp-tr-shimmer {
  to {
    transform: translateX(100%);
  }
}
.rpp-tr-load-progress[hidden] {
  display: none;
}

/* ---- Notele (erorile), cu „Reîncearcă” ---- */
.rpp-tr-note {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--bd-space-md);
  padding: var(--bd-space-xl);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  color: var(--bd-label);
}
.rpp-tr-note p {
  margin: 0;
  overflow-wrap: anywhere;
}
.rpp-tr-note__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-tr-note__actions .bd-btn {
  text-decoration: none;
}

/* ---- Bannerele (conflict, recuperat, citire, EN schimbat, observația) ---- */
.rpp-tr-alerts {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
}
.rpp-tr-alerts:empty,
.rpp-tr-alerts[hidden] {
  display: none;
}
.rpp-tr-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--bd-space-sm) var(--bd-space-md);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  color: var(--bd-label);
}
.rpp-tr-banner.is-warning {
  background: var(--bd-orange-tint);
  box-shadow: none;
}
.rpp-tr-banner.is-danger {
  background: var(--bd-red-tint);
  box-shadow: none;
}
.rpp-tr-banner.is-success {
  background: var(--bd-green-tint);
  box-shadow: none;
}
.rpp-tr-banner.is-accent {
  background: var(--bd-accent-tint);
  box-shadow: none;
}
.rpp-tr-banner__icon {
  flex: none;
  margin-top: 1px;
  color: var(--bd-accent-ink);
}
.rpp-tr-banner.is-warning .rpp-tr-banner__icon {
  color: var(--bd-orange-ink);
}
.rpp-tr-banner.is-danger .rpp-tr-banner__icon {
  color: var(--bd-red-ink);
}
.rpp-tr-banner.is-success .rpp-tr-banner__icon {
  color: var(--bd-green-ink);
}
.rpp-tr-banner__text {
  display: flex;
  flex: 1 1 240px;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-tr-banner__text strong {
  font: var(--bd-d-body-strong);
}
.rpp-tr-banner__text span {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  white-space: pre-line;
}
.rpp-tr-banner.is-warning .rpp-tr-banner__text span,
.rpp-tr-banner.is-danger .rpp-tr-banner__text span,
.rpp-tr-banner.is-accent .rpp-tr-banner__text span,
.rpp-tr-banner.is-success .rpp-tr-banner__text span {
  color: var(--bd-label);
}
.rpp-tr-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}

/* ---- Editorul ---- */
.rpp-tr-editor {
  gap: var(--bd-space-lg);
}
.rpp-tr-ednav {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  min-width: 0;
}
.rpp-tr-back {
  margin-inline-start: -8px;
  text-decoration: none;
}
.rpp-tr-ednav__titles,
.rpp-tr-ednav__more {
  display: none;
}
.rpp-tr-ednav__title {
  margin: 0;
  font: var(--bd-t-title-3);
  color: var(--bd-label);
}
.rpp-tr-ednav__sub {
  margin: 0;
  font: var(--bd-t-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
html[data-rpp-shell='compact'] .rpp-tr-ednav__titles {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
html[data-rpp-shell='compact'] .rpp-tr-ednav__more {
  display: inline-flex;
  flex: none;
}
html[data-rpp-shell='compact'] .rpp-tr-back {
  flex: none;
  aspect-ratio: 1;
  padding: 0;
  margin-inline-start: -6px;
}
html[data-rpp-shell='compact'] .rpp-tr-back span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* capul coloanelor: pe desktop cele două limbi și salvarea; pe telefon EN | RO. Rămâne sus cât derulezi, dar nu prin
   position: sticky: html și body au overflow-x: hidden (14-viewport-reader-raw.css), deci body e containerul de derulare al
   lui sticky și nu derulează niciodată. tr-editor.js (trStickHead) îl face fix sub bara shell-ului (.is-stuck), cu locul
   păstrat în pagină (.rpp-tr-colslot). */
.rpp-tr-colslot {
  min-width: 0;
}
.rpp-tr-colhead {
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: var(--bd-space-lg);
  min-height: 40px;
  box-sizing: border-box;
  padding: var(--bd-space-2xs) var(--bd-space-lg);
  border-radius: var(--bd-radius-pill);
}
.rpp-tr-colhead.is-stuck {
  position: fixed;
  z-index: 9;
}
.rpp-tr-colhead__en,
.rpp-tr-colhead__ro {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  font: var(--bd-d-section);
  color: var(--bd-label-2);
}
.rpp-tr-colhead__ro {
  justify-content: space-between;
}
.rpp-tr-panes {
  display: none;
}
.rpp-tr-save {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  font: 600 12px/16px var(--bd-font-sans);
  color: var(--bd-label-2);
  white-space: nowrap;
}
.rpp-tr-save.is-saved .bd-icon {
  color: var(--bd-green-ink);
}
.rpp-tr-save.is-saving .bd-icon {
  color: var(--bd-accent-ink);
  animation: rpp-tr-spin 1s linear infinite;
}
.rpp-tr-save.is-dirty .bd-icon {
  color: var(--bd-orange-ink);
}
.rpp-tr-save.is-error {
  color: var(--bd-red-ink);
}

.rpp-tr-pairs {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
}
.rpp-tr-pair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-tr-en,
.rpp-tr-ro {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  min-width: 0;
  padding: var(--bd-space-md) var(--bd-space-lg) var(--bd-space-lg);
}
.rpp-tr-en {
  /* coloana sursei se întinde cât câmpul românesc (rândurile rămân aliniate), dar conținutul ei stă sus, iar restul e o
     suprafață liniștită, fără ramă */
  justify-content: flex-start;
  align-content: start;
  border-radius: var(--bd-radius-lg) 0 0 var(--bd-radius-lg);
  background: var(--bd-surface-2);
  transition:
    background-color var(--bd-dur-base) var(--bd-ease-standard),
    box-shadow var(--bd-dur-base) var(--bd-ease-standard);
}
/* sursa câmpului în care scrii: o nuanță de accent și un contur subțire pe tot cardul, eticheta la contrast plin; fără dungă
   colorată pe o latură (Beni, 28.09: dungile laterale arată ca „AI slop”, dev-harness/dark-contrast/stripe-lint.cjs) */
.rpp-tr-en.is-source-active {
  background: color-mix(in srgb, var(--bd-accent-tint) 55%, var(--bd-surface-2));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bd-accent) 35%, transparent);
}
.rpp-tr-en.is-source-active .rpp-tr-label {
  color: var(--bd-label);
}
.rpp-tr-en__head,
.rpp-tr-ro__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-xs);
  min-height: 28px;
}
.rpp-tr-label {
  margin: 0;
  font: var(--bd-d-section);
  color: var(--bd-label-2);
}
.rpp-tr-lang {
  padding: 1px 6px;
  border-radius: var(--bd-radius-xs);
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
  font: 650 11px/14px var(--bd-font-sans);
  letter-spacing: 0.04em;
}
.rpp-tr-entype {
  margin-inline-start: auto;
}
.rpp-tr-ro__state {
  flex: 1 1 120px;
  min-width: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  text-align: end;
  overflow-wrap: anywhere;
}
/* fără stare, „⋯” rămâne pe rândul etichetei, la dreapta; pe coloana îngustă starea coboară pe rândul ei */
.rpp-tr-ro__state:empty {
  display: none;
}
@container (max-width: 719px) {
  .rpp-tr-ro__state {
    order: 5;
    flex-basis: 100%;
    text-align: start;
  }
}
.rpp-tr-ro__state.is-busy,
.rpp-tr-ro__state.is-info {
  color: var(--bd-accent-ink);
}
.rpp-tr-ro__state.is-ok {
  color: var(--bd-green-ink);
}
.rpp-tr-ro__state.is-error {
  color: var(--bd-red-ink);
}
.rpp-tr-fieldmenu {
  flex: none;
  margin-inline-start: auto;
}
/* Weekful 0.1.3: câte paragrafe are româna față de engleză, sub conținut (portocaliu când diferă) */
.rpp-tr-paras {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 6px 0 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-tr-paras .bd-icon {
  flex: none;
  color: var(--bd-green-ink);
}
.rpp-tr-paras.is-warn,
.rpp-tr-paras.is-warn .bd-icon {
  color: var(--bd-orange-ink);
}
/* Weekful 0.1.4: verificarea sensului, sub conținut: starea, butonul, progresul și locurile de privit (fără dungi laterale) */
.rpp-tr-fid {
  margin: 14px 0 0;
  padding: 12px 14px;
  border: 1px solid var(--bd-separator-opaque);
  border-radius: var(--bd-radius-md);
  background: var(--bd-surface);
  container-type: inline-size; /* rândul de butoane se scurtează după lățimea panoului (mai jos) */
}
.rpp-tr-fid:empty {
  display: none;
}
.rpp-tr-fid__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.rpp-tr-fid__head h4 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font: var(--bd-d-subhead);
  color: var(--bd-label);
}
.rpp-tr-fid__state {
  flex: 1 1 180px;
  min-width: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-tr-fid__progress {
  margin-top: 10px;
}
.rpp-tr-fid__list {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
}
.rpp-tr-fid__item {
  padding: 10px 0;
  border-top: 1px solid var(--bd-separator-opaque);
}
.rpp-tr-fid__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-tr-fid__en,
.rpp-tr-fid__ro,
.rpp-tr-fid__why {
  margin: 6px 0 0;
  font: 400 14px/1.5 var(--bd-font-sans);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-tr-fid__why {
  color: var(--bd-label-2);
}
.rpp-tr-fid__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  /* textul primului buton stă pe aceeași verticală cu textul locului de deasupra */
  margin: 6px 0 0 -8px;
}
/* Weekful 0.1.4: pe telefon, butoanele mici au 14 px de umplutură; cu 8 px, „Arată · Aplică propunerea · Ignoră” încap pe un
   rând de la 390 px, iar sub ~280 px utili „Aplică propunerea” devine „Aplică” (fără butoane rupte pe două rânduri) */
.rpp-tr-fid__actions .bd-btn {
  padding-inline: 8px;
}
.rpp-tr-fid__short {
  display: none;
}
@container (max-width: 279px) {
  .rpp-tr-fid__long {
    display: none;
  }
  .rpp-tr-fid__short {
    display: inline;
  }
}
.rpp-tr-memory-sheet > .bd-listgroup {
  margin-top: 16px;
}
.rpp-tr-memory__import {
  margin-top: 14px;
}
@media (pointer: coarse) {
  .rpp-tr-fid .bd-btn {
    min-height: var(--bd-touch-min);
  }
}
.rpp-tr-en__text {
  font: 400 15px/1.6 var(--bd-font-sans);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-tr-sent {
  border-radius: 4px;
  transition: background-color var(--bd-dur-base) var(--bd-ease-standard);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.rpp-tr-sent.is-hl {
  background: var(--bd-orange-tint);
}
.rpp-tr-empty {
  color: var(--bd-label-2);
  font-style: italic;
}
.rpp-tr-input {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid var(--bd-separator-opaque);
  border-radius: var(--bd-radius-md);
  background: var(--bd-surface);
  color: var(--bd-label);
  font: 400 15px/1.6 var(--bd-font-sans);
  resize: none;
  transition:
    border-color var(--bd-dur-fast) var(--bd-ease-standard),
    box-shadow var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-tr-input:focus {
  outline: none;
  border-color: var(--bd-accent);
  box-shadow: 0 0 0 3px var(--bd-accent-tint);
}
.rpp-tr-input[readonly] {
  padding-inline: 0;
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}
.rpp-tr-input--title {
  font-weight: 650;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}
.rpp-tr-text {
  min-height: 44px;
  overflow: hidden;
}
.rpp-tr-lecture {
  align-self: flex-start;
  max-width: 100%;
}

/* versetele: raportul surselor și bifa cerută înainte de „Verificat de echipă” */
.rpp-tr-verses {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-md);
  background: var(--bd-surface-2);
}
.rpp-tr-verses__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 4px var(--bd-space-md);
}
.rpp-tr-verses__head h4 {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
}
.rpp-tr-verses__head > span {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-tr-verses__list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-tr-verse {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  font: var(--bd-d-callout);
  color: var(--bd-label);
}
.rpp-tr-verse__icon {
  flex: none;
  margin-top: 1px;
  color: var(--bd-green-ink);
}
.rpp-tr-verse.is-check .rpp-tr-verse__icon {
  color: var(--bd-orange-ink);
}
.rpp-tr-verse__text {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-tr-verse__text small {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-tr-verse.is-empty {
  color: var(--bd-label-2);
}
.rpp-tr-verses__team {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}

/* comutatorul (checkbox nativ, desenat ca Switch-ul design-system-ului: cititorul de ecran aude „switch, bifat”) */
.rpp-tr-switch {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
  cursor: pointer;
}
.rpp-tr-switch input {
  position: relative;
  flex: none;
  width: 42px;
  height: 26px;
  margin: 0;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-1);
  box-shadow: inset 0 0 0 1px var(--bd-control-edge);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background-color var(--bd-dur-base) var(--bd-ease-standard);
}
.rpp-tr-switch input::before {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.25),
    0 0 0 0.5px rgba(0, 0, 0, 0.05);
  transition: transform var(--bd-dur-base) var(--bd-ease-spring);
}
.rpp-tr-switch input:checked {
  background: var(--bd-green);
  box-shadow: none;
}
.rpp-tr-switch input:checked::before {
  transform: translateX(16px);
}
.rpp-tr-switch input:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-tr-switch input:disabled {
  opacity: var(--bd-opacity-disabled);
  cursor: default;
}

.rpp-tr-memory {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  text-align: center;
  overflow-wrap: anywhere;
}
.rpp-tr-memory:empty {
  display: none;
}

/* verificarea finală: textul românesc mare, ca o pagină (Pastorul Răzvan: „text mare, editare direct în text”) */
.rpp-tr-editor[data-mode='pastor'] .rpp-tr-input {
  font-size: 17px;
  line-height: 1.65;
}
.rpp-tr-editor[data-mode='pastor'] .rpp-tr-en__text {
  font-size: 16px;
}

/* bara de jos: mereu pe ecran (fixă, nu sticky: vezi capul coloanelor), centrată peste coloana conținutului (desktop: în
   dreapta sidebar-ului). Pe telefon ține locul tab bar-ului, ascuns cât editorul e deschis (ca în iOS: o bară de unelte și
   un tab bar nu stau împreună); „‹ Lecțiile lunii” duce înapoi. */
html.rpp-tr-bar-on {
  --rpp-tr-bar-h: 52px;
  scroll-padding-top: 64px;
  scroll-padding-bottom: calc(var(--rpp-tr-bar-h) + var(--bd-space-2xl));
}
html.rpp-tr-bar-on[data-rpp-shell='regular'] {
  scroll-padding-top: calc(var(--bd-toolbar-h) + var(--bd-space-md) + env(safe-area-inset-top, 0px) + 64px);
}
html.rpp-tr-bar-on[data-rpp-shell='compact'] {
  scroll-padding-top: calc(var(--bd-toolbar-h) + env(safe-area-inset-top, 0px) + 72px);
}
.rpp-tr-bar {
  position: fixed;
  z-index: 9;
  right: calc(var(--bd-space-md) + env(safe-area-inset-right, 0px));
  bottom: calc(var(--bd-space-md) + env(safe-area-inset-bottom, 0px));
  left: calc(var(--bd-space-md) + env(safe-area-inset-left, 0px));
  display: flex;
  justify-content: center;
  pointer-events: none;
}
html[data-rpp-shell='desktop'] .rpp-tr-bar {
  left: calc(var(--bd-sidebar-w) + var(--bd-space-md) * 2 + env(safe-area-inset-left, 0px));
}
html[data-rpp-shell='compact'] .rpp-tr-bar {
  right: max(var(--bd-space-lg), env(safe-area-inset-right, 0px));
  bottom: max(var(--bd-space-lg), calc(env(safe-area-inset-bottom, 0px) + var(--bd-space-sm)));
  left: max(var(--bd-space-lg), env(safe-area-inset-left, 0px));
}
html.rpp-tr-bar-on[data-rpp-shell='compact'] .rpp-appshell-tabbar {
  display: none;
}
/* locul barei la capătul paginii (pe telefon îl rezervă deja body-ul, pentru tab bar) */
.rpp-tr-editor {
  padding-bottom: calc(var(--rpp-tr-bar-h, 52px) + var(--bd-space-lg));
}
html[data-rpp-shell='compact'] .rpp-tr-editor {
  padding-bottom: 0;
}
.rpp-tr-bar__inner {
  display: flex;
  align-items: center;
  gap: var(--bd-space-xs);
  max-width: 100%;
  box-sizing: border-box;
  /* 8 px: butoanele nu mai stau la 5 px de marginea capsulei de sticlă (audit 28.09, regula ≥ 6 px); pilula rămâne concentrică */
  padding: var(--bd-space-sm);
  border-radius: var(--bd-radius-pill);
  pointer-events: auto;
}
.rpp-tr-bar__primary {
  min-width: 0;
  border-radius: var(--bd-radius-pill);
}
.rpp-tr-bar__primary span {
  overflow-wrap: anywhere;
  white-space: normal;
  text-align: center;
}
.rpp-tr-bar__nav {
  flex: none;
  border-radius: 50%;
}
.rpp-tr-bar__pos {
  padding: 0 var(--bd-space-sm);
  font: 600 12px/16px var(--bd-font-sans);
  color: var(--bd-label-2);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.rpp-tr-bar__state {
  padding: 0 var(--bd-space-md);
  font: var(--bd-d-body-strong);
  color: var(--bd-label-2);
  text-align: center;
}
html[data-rpp-shell='compact'] .rpp-tr-bar__inner {
  width: 100%;
}
html[data-rpp-shell='compact'] .rpp-tr-bar__primary,
html[data-rpp-shell='compact'] .rpp-tr-bar__state {
  flex: 1;
}
html[data-rpp-shell='compact'] .rpp-tr-bar__pos {
  display: none;
}
/* 320 px: lângă săgețile zilelor, „Generează ciorna AI” se rupea pe două rânduri (158 px din 218); săgețile trec în „⋯”
   (Ziua anterioară / următoare, tr-editor.js), iar acțiunea principală ia toată bara */
@media (max-width: 359px) {
  html[data-rpp-shell='compact'] .rpp-tr-bar__nav {
    display: none;
  }
}
/* cu bara pe ecran, toast-ul urcă deasupra ei */
html.rpp-tr-bar-on body {
  --rpp-toast-bottom: calc(
    var(--bd-space-md) + var(--rpp-tr-bar-h, 52px) + var(--bd-space-sm) + env(safe-area-inset-bottom, 0px)
  );
}
html.rpp-tr-bar-on[data-rpp-shell='compact'] body {
  --rpp-toast-bottom: calc(
    max(var(--bd-space-lg), calc(env(safe-area-inset-bottom, 0px) + var(--bd-space-sm))) + var(--rpp-tr-bar-h, 52px) +
      var(--bd-space-sm)
  );
}

.rpp-tr-spin {
  animation: rpp-tr-spin 1s linear infinite;
}
@keyframes rpp-tr-spin {
  to {
    transform: rotate(360deg);
  }
}

/* sub 420 px, starea salvării rămâne iconița (textul, pentru cititorul de ecran și în titlu) */
@container (max-width: 420px) {
  .rpp-tr-save__text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}
/* foile pe telefon: butoanele unul sub altul, acțiunea principală sus (textele lungi nu se taie) */
html[data-rpp-shell='compact'] .rpp-tr-sheet .bd-sheet__foot {
  flex-direction: column-reverse;
}
html[data-rpp-shell='compact'] .rpp-tr-sheet .bd-sheet__foot .bd-btn {
  width: 100%;
}
.rpp-tr-sheet .bd-sheet__foot .bd-btn {
  height: auto;
  min-height: var(--bd-control-md);
  white-space: normal;
  text-align: center;
}

/* telefonul și tableta îngustă: o singură coloană, EN | RO */
@container (max-width: 719px) {
  .rpp-tr-colhead {
    display: flex;
    justify-content: space-between;
    /* EN | RO nu mai stă lipit de marginile barei (audit 28.09: 4 px sus și jos la 390 px) */
    padding: var(--bd-space-sm);
  }
  .rpp-tr-panes {
    display: inline-grid;
    flex: 1 1 auto;
    max-width: 320px;
  }
  .rpp-tr-colhead__en,
  .rpp-tr-colhead__ro > span:first-child {
    display: none;
  }
  .rpp-tr-colhead__ro {
    flex: none;
    padding-inline-end: var(--bd-space-sm);
  }
  .rpp-tr-pair {
    grid-template-columns: minmax(0, 1fr);
  }
  .rpp-tr-en {
    border-radius: var(--bd-radius-lg);
  }
  .rpp-tr-editor[data-pane='ro'] .rpp-tr-en,
  .rpp-tr-editor[data-pane='en'] .rpp-tr-ro {
    display: none;
  }
  .rpp-tr-en {
    background: var(--bd-surface);
  }
}

/* ---- Foile: import, Sheet, setări, confirmări, scurtături ---- */
.rpp-tr-sheet .bd-sheet--center {
  width: min(760px, 100%);
}
.rpp-tr-sheet__text {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-tr-muted {
  color: var(--bd-label-2);
}
.rpp-tr-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.rpp-tr-field > span {
  font: 600 13px/18px var(--bd-font-sans);
  color: var(--bd-label-2);
}
.rpp-tr-field input,
.rpp-tr-field textarea,
.rpp-tr-select {
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid var(--bd-separator-opaque);
  border-radius: var(--bd-radius-md);
  background: var(--bd-surface);
  color: var(--bd-label);
  font: 400 14px/1.45 var(--bd-font-sans);
}
.rpp-tr-field textarea {
  resize: vertical;
}
.rpp-tr-field input:focus,
.rpp-tr-field textarea:focus,
.rpp-tr-select:focus {
  outline: none;
  border-color: var(--bd-accent);
  box-shadow: 0 0 0 3px var(--bd-accent-tint);
}
.rpp-tr-field__hint {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-tr-period {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--bd-space-md);
}
.rpp-tr-import__summary {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rpp-tr-import__summary strong {
  font: var(--bd-d-title-2);
  letter-spacing: var(--bd-d-title-2-tracking);
}
.rpp-tr-import__summary span {
  color: var(--bd-label-2);
}
.rpp-tr-import__group {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
}
.rpp-tr-import__group h3 {
  margin: 0;
  font: var(--bd-d-title-3);
}
.rpp-tr-import__list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  list-style: none;
}
.rpp-tr-import__lesson,
.rpp-tr-import__annex {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-xs);
  padding: var(--bd-space-sm) var(--bd-space-md);
}
.rpp-tr-import__lesson + .rpp-tr-import__lesson,
.rpp-tr-import__annex + .rpp-tr-import__annex {
  border-top: 1px solid var(--bd-separator);
}
.rpp-tr-import__row {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
}
.rpp-tr-import__text {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-tr-import__text small {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-tr-import__warnings {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  font: var(--bd-d-callout);
  color: var(--bd-label);
}
.rpp-tr-import__warnings li {
  display: flex;
  gap: 6px;
  overflow-wrap: anywhere;
}
.rpp-tr-import__warnings .bd-icon {
  flex: none;
  margin-top: 2px;
  color: var(--bd-orange-ink);
}
.rpp-tr-import__fix summary {
  min-height: 32px;
  font: var(--bd-d-body-strong);
  color: var(--bd-accent-ink);
  cursor: pointer;
}
.rpp-tr-import__fields {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  min-width: 0;
  padding-top: var(--bd-space-xs);
}
.rpp-tr-import__annexbody {
  display: grid;
  grid-template-columns: minmax(0, 200px) minmax(0, 1fr);
  gap: var(--bd-space-md);
}
.rpp-tr-import__annexbody img {
  width: 100%;
  height: auto;
  border-radius: var(--bd-radius-sm);
  box-shadow: var(--bd-shadow-card);
}
@container (max-width: 599px) {
  .rpp-tr-import__annexbody {
    grid-template-columns: minmax(0, 1fr);
  }
}
.rpp-tr-keys {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-tr-keys__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--bd-space-md);
  min-height: 40px;
  border-bottom: 1px solid var(--bd-separator);
}
.rpp-tr-keys__row span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-tr-keys__row .bd-kbd {
  flex: none;
  color: var(--bd-label-2);
  font-size: 12px;
}
.rpp-tr-settings__group {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
}
.rpp-tr-settings__group + .rpp-tr-settings__group {
  padding-top: var(--bd-space-md);
  border-top: 1px solid var(--bd-separator);
}
.rpp-tr-settings__group h3 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px var(--bd-space-sm);
  margin: 0;
  font: var(--bd-d-title-3);
}
.rpp-tr-settings__group .bd-btn,
.rpp-tr-sheet .rpp-tr-note .bd-btn {
  align-self: flex-start;
}

/* ---- Ecranele tactile: textul grupului Touch, ținte de 44 px, câmpuri de cel puțin 16 px (iOS nu mărește) ---- */
@media (pointer: coarse) {
  html.rpp-tr-bar-on {
    --rpp-tr-bar-h: 62px;
  }
  .rpp-tr-sheet .bd-sheet__foot .bd-btn {
    min-height: var(--bd-touch-min);
  }
  .rpp-tr-chip {
    min-height: var(--bd-touch-min);
  }
  .rpp-tr-panes .bd-seg__opt,
  .rpp-tr-lecture .bd-seg__opt {
    height: var(--bd-touch-min);
    min-width: var(--bd-touch-min);
  }
  .rpp-tr-toolbtn.bd-toolbtn {
    width: auto;
    min-width: var(--bd-touch-min);
    height: var(--bd-touch-min);
  }
  .bd-toolgroup--round:has(.rpp-tr-toolbtn) {
    width: auto;
    min-width: var(--bd-touch-min);
  }
  .rpp-tr-sheet .bd-sheet__close {
    width: var(--bd-touch-min);
    height: var(--bd-touch-min);
  }
  .rpp-tr-month__big {
    font: var(--bd-t-headline);
  }
  .rpp-tr-month__sheet {
    font: var(--bd-t-footnote);
  }
  .rpp-tr-day {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }
  .rpp-tr-day b {
    font-size: 17px;
  }
  .rpp-tr-day small {
    font-size: 11px;
  }
  .rpp-tr-monthnav__label {
    font-size: 15px;
  }
  .rpp-tr-label,
  .rpp-tr-colhead__en,
  .rpp-tr-colhead__ro {
    font: 650 13px/18px var(--bd-font-sans);
  }
  .rpp-tr-en__text {
    font-size: 17px;
  }
  .rpp-tr-input {
    font-size: 17px;
    min-height: var(--bd-touch-min);
  }
  .rpp-tr-editor[data-mode='pastor'] .rpp-tr-input {
    font-size: 19px;
  }
  .rpp-tr-editor[data-mode='pastor'] .rpp-tr-en__text {
    font-size: 18px;
  }
  .rpp-tr-fieldmenu {
    min-width: var(--bd-touch-min);
    min-height: var(--bd-touch-min);
  }
  .rpp-tr-switch {
    font: var(--bd-t-body);
  }
  .rpp-tr-switch input {
    width: 51px;
    height: 31px;
  }
  .rpp-tr-switch input::before {
    width: 27px;
    height: 27px;
  }
  .rpp-tr-switch input:checked::before {
    transform: translateX(20px);
  }
  .rpp-tr-verse,
  .rpp-tr-banner__text span,
  .rpp-tr-sheet__text {
    font: var(--bd-t-subheadline);
  }
  .rpp-tr-banner__text strong {
    font: var(--bd-t-headline);
  }
  .rpp-tr-save {
    font-size: 13px;
  }
  .rpp-tr-field > span {
    font-size: 15px;
  }
  .rpp-tr-field input,
  .rpp-tr-field textarea,
  .rpp-tr-select {
    min-height: var(--bd-touch-min);
    font-size: 17px;
  }
  .rpp-tr-import__fix summary {
    display: flex;
    align-items: center;
    min-height: var(--bd-touch-min);
  }
  .rpp-tr-keys__row {
    min-height: var(--bd-touch-min);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rpp-tr-skel::after {
    display: none;
    animation: none;
  }
  .rpp-tr-spin,
  .rpp-tr-save.is-saving .bd-icon {
    animation: none;
  }
  .rpp-tr-sent,
  .rpp-tr-en,
  .rpp-tr-input,
  .rpp-tr-switch input,
  .rpp-tr-switch input::before {
    transition: none;
  }
}

/* ---- Weekful 0.1.1: scripturile trimise la zile (js/translations2/tr-send.js) ---- */
/* „Trimite” lângă rândul lecției: rândul rămâne linkul lecției, butonul stă alături (nu în link) */
.rpp-tr-rowwrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  padding-right: 14px;
}
.rpp-tr-rowwrap > .rpp-tr-row {
  flex: 1 1 auto;
  min-width: 0;
  padding-right: 0;
}
.rpp-tr-rowwrap > .rpp-tr-row .bd-row__chev {
  display: none;
}
.rpp-tr-rowwrap + .rpp-tr-rowwrap::before,
.bd-row + .rpp-tr-rowwrap::before,
.rpp-tr-rowwrap + .bd-row::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: var(--row-inset, 14px);
  height: 1px;
  background: var(--bd-separator);
}
.rpp-tr-rowsend {
  flex: none;
  gap: 6px;
}
@container (max-width: 599px) {
  .rpp-tr-rowsend {
    padding: 0;
    aspect-ratio: 1;
    justify-content: center;
  }
  .rpp-tr-rowsend__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

/* insignele zilei („Netrimis la zi”, „Ziua are alt script”) se rup pe rânduri când coloana e îngustă (320 px, cu „Trimite”) */
.rpp-tr-row .bd-badge.rpp-tr-badge--wrap {
  height: auto;
  min-height: 22px;
  max-width: 100%;
  padding-top: 3px;
  padding-bottom: 3px;
  line-height: 16px;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* selecția: rândurile devin căsuțe; cele care nu se pot trimite rămân vizibile, cu motivul, dar nu se aleg */
.rpp-tr-pick {
  width: 100%;
  font: inherit;
}
.rpp-tr-pick:disabled {
  cursor: default;
}
.rpp-tr-pick:disabled .bd-row__title,
.rpp-tr-pick:disabled .rpp-tr-day {
  opacity: var(--bd-opacity-disabled);
}
.rpp-tr-pick:disabled .bd-row__sub {
  color: var(--bd-label-2);
}
.rpp-tr-check {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1.5px var(--bd-label-3);
  color: #ffffff;
}
.rpp-tr-pick.is-on .rpp-tr-check {
  background: var(--bd-accent);
  box-shadow: none;
}
.rpp-tr-pick:disabled .rpp-tr-check {
  box-shadow: inset 0 0 0 1.5px var(--bd-fill-1);
}
.rpp-tr-selecttools {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}
.rpp-tr-selecttool {
  gap: 6px;
}
.rpp-tr-list.is-selecting {
  padding-bottom: calc(var(--rpp-tr-bar-h, 52px) + var(--bd-space-2xl));
}
html[data-rpp-shell='compact'] .rpp-tr-list.is-selecting {
  padding-bottom: var(--bd-space-lg);
}
.rpp-tr-selbar__count {
  display: inline;
}
html[data-rpp-shell='compact'] .rpp-tr-selbar .rpp-tr-selbar__count {
  display: none;
}
.rpp-tr-selbar__cancel {
  flex: none;
  gap: 6px;
}
/* pe telefon, „Anulează” e doar ×: butonul principal („Trimite zilele 1–10”) ia restul barei */
html[data-rpp-shell='compact'] .rpp-tr-selbar__cancel {
  width: var(--bd-touch-min);
  padding: 0;
  border-radius: 50%;
}
html[data-rpp-shell='compact'] .rpp-tr-selbar__cancel-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* foaia trimiterii: planul (ce primește fiecare zi, ce se înlocuiește), progresul, rezultatul pe zile */
.rpp-tr-send {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
}
.rpp-tr-sendlist {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-tr-sendrow {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--bd-space-xs) var(--bd-space-sm);
  padding: var(--bd-space-sm) var(--bd-space-md);
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-4);
}
.rpp-tr-sendrow__icon {
  flex: none;
  margin-top: 2px;
  color: var(--bd-label-2);
}
.rpp-tr-sendrow.is-accent .rpp-tr-sendrow__icon {
  color: var(--bd-accent-ink);
}
.rpp-tr-sendrow.is-warning .rpp-tr-sendrow__icon {
  color: var(--bd-orange-ink);
}
.rpp-tr-sendrow.is-success .rpp-tr-sendrow__icon {
  color: var(--bd-green-ink);
}
.rpp-tr-sendrow.is-danger {
  background: var(--bd-red-tint);
}
.rpp-tr-sendrow.is-danger .rpp-tr-sendrow__icon,
.rpp-tr-sendrow.is-danger .rpp-tr-sendrow__status {
  color: var(--bd-red-ink);
}
.rpp-tr-sendrow__text {
  display: flex;
  flex: 1 1 220px;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  overflow-wrap: anywhere;
  font: var(--bd-d-callout);
  color: var(--bd-label);
}
.rpp-tr-sendrow__title {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-tr-sendrow__status {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-tr-sendrow__replace {
  flex: none;
  margin-left: auto;
  font: var(--bd-d-callout);
}
.rpp-tr-diff {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-xs);
  margin: var(--bd-space-xs) 0 0;
  padding: 0;
  list-style: none;
}
.rpp-tr-diff__row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rpp-tr-diff__head {
  display: flex;
  flex-wrap: wrap;
  gap: 2px var(--bd-space-sm);
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-tr-diff__head b {
  color: var(--bd-label);
}
.rpp-tr-diff__was,
.rpp-tr-diff__now {
  display: block;
  padding: 4px 8px;
  border-radius: var(--bd-radius-sm);
  font: var(--bd-d-footnote);
  color: var(--bd-label);
}
.rpp-tr-diff__was {
  background: var(--bd-red-tint);
  text-decoration: line-through;
  text-decoration-color: var(--bd-red-ink);
}
.rpp-tr-diff__now {
  background: var(--bd-green-tint);
}
.rpp-tr-send__note {
  color: var(--bd-label-2);
}

@media (pointer: coarse) {
  .rpp-tr-rowsend,
  .rpp-tr-selecttool {
    min-height: var(--bd-touch-min);
  }
  .rpp-tr-rowsend {
    min-width: var(--bd-touch-min);
  }
  .rpp-tr-check {
    width: 24px;
    height: 24px;
  }
  .rpp-tr-sendrow__text {
    font: var(--bd-t-subheadline);
  }
  .rpp-tr-sendrow__title,
  .rpp-tr-sendrow__status,
  .rpp-tr-diff__head,
  .rpp-tr-diff__was,
  .rpp-tr-diff__now {
    font: var(--bd-t-footnote);
  }
}

/* =========================================================
   v0.16 — Profil, Setări, Echipa și Administrare pe sistemul de design (js/profile/profile-view.js, js/settings/*,
   js/team/*, js/admin/*): listele grupate ca în Setările din iOS, pătratele colorate ale secțiunilor, lista + detaliul
   alături pe desktop (System Settings, Contacte) și ca pagini pe telefon, foile, luna următoare, bara de progres.
   Strat „strict” (fără declarații forțate), doar tokeni --bd-* și clase bd-* din design-system; totul în gazda [data-bd]
   a shell-ului (.rpp-appshell-view), în afara .rpp-app. Fără blur: paginile sunt conținut (surface), nu navigare.
   Pe lățimea paginii decid interogările de container (gazda .rpp-set-host): aceeași pagină stă lângă sidebar sau pe tot
   ecranul. Pe ecranele tactile, orice țintă are cel puțin 44 px.
   ========================================================= */

.rpp-set-host {
  container-type: inline-size;
}
.rpp-set {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
  min-width: 0;
}

/* ---- Rândurile: textul se rupe (în română e cu ~25% mai lung), nu se taie ---- */
.rpp-set-row .bd-row__title,
.rpp-set-row .bd-row__sub {
  white-space: normal;
  overflow-wrap: anywhere;
  text-overflow: clip;
}
.rpp-set-row .bd-row__sub {
  display: flex;
  flex-wrap: wrap;
  gap: 2px 6px;
}
.rpp-set-row .bd-row__trail {
  flex-shrink: 1;
  min-width: 0;
  justify-content: flex-end;
}
.rpp-set-row.is-selected {
  background: var(--bd-accent-tint);
}
.rpp-set-row.is-selected .bd-row__title {
  color: var(--bd-accent-ink);
}
.rpp-set-row--danger .bd-row__title {
  color: var(--bd-red-ink);
}
.rpp-set-row--text {
  align-items: flex-start;
}
.rpp-set-multiline {
  display: block;
  flex-basis: 100%;
  color: var(--bd-label);
  white-space: normal;
}
.rpp-set-foot {
  overflow-wrap: anywhere;
}
.rpp-set-group .bd-listgroup__title {
  overflow-wrap: anywhere;
}
.rpp-set-count {
  font-weight: 650;
  color: var(--bd-label);
  font-variant-numeric: tabular-nums;
}
.rpp-set-ok {
  color: var(--bd-green-ink);
  font-weight: 600;
}
.rpp-set-warn {
  color: var(--bd-red-ink);
  font-weight: 600;
}

/* ---- Pătratul colorat al unei secțiuni (iOS): iconița albă pe culoarea sistemului; pe culorile deschise, iconița e
   închisă, ca să treacă de 3:1 în ambele teme ---- */
.rpp-set-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--bd-gray);
  color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.rpp-set-glyph--blue {
  background: var(--bd-blue);
}
.rpp-set-glyph--red {
  background: var(--bd-red);
}
.rpp-set-glyph--green {
  background: var(--bd-success-fill);
}
.rpp-set-glyph--indigo {
  background: var(--bd-indigo);
}
.rpp-set-glyph--pink {
  background: var(--bd-pink);
}
.rpp-set-glyph--purple {
  background: var(--bd-purple);
}
.rpp-set-glyph--brown {
  background: var(--bd-brown);
}
.rpp-set-glyph--orange,
.rpp-set-glyph--teal,
.rpp-set-glyph--cyan {
  color: #1c1c1e;
}
.rpp-set-glyph--orange {
  background: var(--bd-orange);
}
.rpp-set-glyph--teal {
  background: var(--bd-teal);
}
.rpp-set-glyph--cyan {
  background: var(--bd-cyan);
}
.rpp-set-glyph .bd-icon {
  stroke-width: 2;
}
@media (pointer: coarse) {
  .rpp-set-glyph {
    width: 32px;
    height: 32px;
  }
}

/* ---- Avatarul: poza în același cerc ---- */
.rpp-set-avatar.has-photo {
  overflow: hidden;
  background: var(--bd-fill-2);
}
.rpp-set-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* ---- Controalele din rânduri: selectul nativ ca valoarea din dreapta, comutatorul ---- */
.rpp-set-select {
  max-width: 100%;
  min-height: 32px;
  padding: 0 28px 0 10px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font: var(--bd-d-body);
  text-overflow: ellipsis;
  cursor: pointer;
}
.rpp-set-select:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-set-select[disabled] {
  opacity: var(--bd-opacity-disabled);
  cursor: default;
}
.rpp-set-row .bd-row__trail .rpp-set-select {
  max-width: min(260px, 52cqi);
}
.bd-field__box .rpp-set-select {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding: 0;
  background: transparent;
}
.rpp-set-switch {
  flex: none;
}
.rpp-set-switch:focus-visible .bd-switch__track {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
@media (pointer: coarse) {
  .rpp-set-select {
    min-height: var(--bd-touch-min);
    font: var(--bd-t-body);
  }
  .rpp-set-switch {
    min-width: 51px;
    min-height: var(--bd-touch-min);
    justify-content: center;
  }
  .rpp-set-btn.bd-btn--sm {
    min-height: var(--bd-touch-min);
  }
}
.rpp-set-btn {
  text-decoration: none;
}
.rpp-set-btn.is-busy {
  cursor: progress;
  opacity: 0.8;
}
.rpp-set-btn[disabled] {
  pointer-events: none;
}

/* ---- Câmpurile, cardurile de formular, acțiunile ---- */
.rpp-set-card {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-lg);
  padding: var(--bd-space-lg);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-set-field .bd-field__box input,
.rpp-set-field .bd-field__box select {
  min-width: 0;
}
.rpp-set-field.has-error .bd-field__box {
  box-shadow: 0 0 0 2px var(--bd-red);
}
.rpp-set-error {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-red-ink);
  overflow-wrap: anywhere;
}
.rpp-set-error[hidden] {
  display: none;
}
.rpp-set-textarea {
  width: 100%;
  min-height: 96px;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font: var(--bd-d-body);
  resize: vertical;
}
.rpp-set-textarea:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 0;
}
.rpp-set-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--bd-space-sm);
}
.rpp-set-actions .bd-btn {
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
.rpp-set-subtitle {
  margin: var(--bd-space-md) 0 0;
  font: var(--bd-d-title-3);
  color: var(--bd-label);
}
@media (pointer: coarse) {
  .rpp-set-textarea {
    font: var(--bd-t-body);
  }
  .rpp-set-error {
    font: var(--bd-t-footnote);
  }
}

/* ---- Lista + detaliul: pe desktop alături (System Settings), altfel pagini una după alta ---- */
.rpp-set--split .rpp-set-split__detail {
  display: none;
}
.rpp-set--split.is-detail .rpp-set-split__list {
  display: none;
}
.rpp-set--split.is-detail .rpp-set-split__detail {
  display: flex;
}
.rpp-set-split__list,
.rpp-set-split__detail {
  flex-direction: column;
  gap: var(--bd-space-2xl);
  min-width: 0;
}
.rpp-set-split__list {
  display: flex;
}
@container (min-width: 860px) {
  .rpp-set-split {
    display: grid;
    grid-template-columns: minmax(290px, 340px) minmax(0, 1fr);
    gap: var(--bd-space-3xl);
    align-items: start;
  }
  .rpp-set--split .rpp-set-split__list,
  .rpp-set--split.is-detail .rpp-set-split__list {
    display: flex;
    position: sticky;
    top: var(--bd-space-md);
  }
  .rpp-set--split .rpp-set-split__detail,
  .rpp-set--split.is-detail .rpp-set-split__detail {
    display: flex;
    max-width: 760px;
  }
}
.rpp-set-back {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 2px;
  min-height: var(--bd-control-md);
  margin: 0 0 calc(var(--bd-space-lg) * -1) -6px;
  padding: 0 8px 0 2px;
  border-radius: var(--bd-radius-md);
  color: var(--bd-accent-ink);
  font: var(--bd-d-body-strong);
  text-decoration: none;
}
.rpp-set-back:hover {
  background: var(--bd-fill-4);
}
.rpp-set-back:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 1px;
}
.rpp-set-pane__title {
  margin: 0;
  font: var(--bd-d-title-1);
  letter-spacing: var(--bd-d-title-1-tracking);
  color: var(--bd-label);
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.rpp-set-pane__title:focus {
  outline: none;
}
.rpp-set-pane {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
  min-width: 0;
}
.rpp-set-pane__foot {
  margin: 0;
  padding: 0 4px;
  font: var(--bd-d-footnote);
  color: var(--bd-label-3);
  overflow-wrap: anywhere;
}
@media (pointer: coarse) {
  .rpp-set-back {
    min-height: var(--bd-touch-min);
    font: var(--bd-t-body);
    font-weight: 600;
  }
  .rpp-set-pane__title {
    font: var(--bd-t-title-1);
    letter-spacing: var(--bd-t-title-1-tracking);
  }
  .rpp-set-pane__foot {
    font: var(--bd-t-footnote);
  }
}
/* pe telefon, titlul mare stă deja în bara de sus a shell-ului: pagina unei secțiuni nu-l repetă vizual */
@container (max-width: 859px) {
  .rpp-set--split .rpp-set-pane__title {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

/* ---- Cardul contului (sus în Setări) ---- */
.rpp-set-account {
  min-height: 76px;
}
.rpp-set-account .bd-row__title {
  font-size: 17px;
  line-height: 22px;
}

/* ---- Foile ---- */
.rpp-set-sheet__text {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-set-sheet__note {
  display: flex;
  gap: 6px;
  align-items: flex-start;
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-set-sheet__note .bd-icon {
  flex: none;
  margin-top: 2px;
}
.rpp-set-sheet .bd-sheet__head .bd-avatar,
.rpp-set-sheet .bd-sheet__head .bd-tile {
  margin-top: 2px;
}
.rpp-set-sheet .bd-sheet__foot .bd-btn {
  white-space: normal;
  text-align: center;
}
.rpp-set-sheet .bd-sheet__title:focus {
  outline: none;
}
.rpp-set-confirm .bd-sheet--center {
  width: min(480px, 100%);
}
.rpp-set-steps {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  margin: 0;
  padding-left: 22px;
  font: var(--bd-d-body);
  color: var(--bd-label);
}
@media (pointer: coarse) {
  .rpp-set-sheet__text,
  .rpp-set-steps {
    font: var(--bd-t-body);
  }
  .rpp-set-sheet__note {
    font: var(--bd-t-footnote);
  }
}

/* ---- Bara de progres (Progress) în pagină ---- */
.rpp-set-progress[hidden] {
  display: none;
}

/* ---- Profil ---- */
.rpp-prof {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
}
.rpp-prof-id {
  display: flex;
  align-items: center;
  gap: var(--bd-space-xl);
  padding: var(--bd-space-xl);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-prof-id__avatar {
  position: relative;
  flex: none;
  padding: 4px;
}
.rpp-prof-photo {
  position: absolute;
  right: -2px;
  bottom: -2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 2px solid var(--bd-surface);
  border-radius: 50%;
  background: var(--bd-accent);
  color: var(--bd-on-accent);
  cursor: pointer;
}
.rpp-prof-photo:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-prof-photo__progress {
  position: absolute;
  inset: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--bd-scrim);
  color: #ffffff;
  font: var(--bd-d-body-strong);
  font-variant-numeric: tabular-nums;
}
.rpp-prof-photo__progress[hidden] {
  display: none;
}
.rpp-prof-id__text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.rpp-prof-id__name {
  margin: 0;
  font: var(--bd-d-title-1);
  letter-spacing: var(--bd-d-title-1-tracking);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-prof-id__meta,
.rpp-prof-id__note {
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-prof-id__note {
  font: var(--bd-d-footnote);
  color: var(--bd-label-3);
}
.rpp-prof-id__roles {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}
.rpp-prof-id__roles .bd-badge {
  white-space: normal;
  height: auto;
  min-height: 22px;
}
@container (max-width: 480px) {
  .rpp-prof-id {
    flex-direction: column;
    text-align: center;
  }
  .rpp-prof-id__roles {
    justify-content: center;
  }
}
@media (pointer: coarse) {
  .rpp-prof-photo {
    width: var(--bd-touch-min);
    height: var(--bd-touch-min);
    right: -6px;
    bottom: -6px;
  }
  .rpp-prof-id__name {
    font: var(--bd-t-title-1);
    letter-spacing: var(--bd-t-title-1-tracking);
  }
  .rpp-prof-id__meta {
    font: var(--bd-t-subheadline);
  }
  .rpp-prof-id__note {
    font: var(--bd-t-footnote);
  }
}
.rpp-prof-appearance {
  flex-wrap: wrap;
}
.rpp-prof-appearance .bd-row__trail {
  flex: 0 1 auto;
}
@container (max-width: 520px) {
  .rpp-prof-appearance .bd-row__trail {
    flex-basis: 100%;
    padding-left: 42px;
    justify-content: flex-start;
  }
}
@media (pointer: coarse) {
  .rpp-prof-appearance .bd-seg__opt {
    min-height: var(--bd-touch-min);
    min-width: var(--bd-touch-min);
  }
}
.rpp-profile-start .bd-row__title {
  cursor: default;
}
/* pe telefon, meniul paginii de pornire („Automat (după rol)”) trece sub text, ca aspectul: textul nu se înghesuie */
.rpp-profile-start {
  flex-wrap: wrap;
}
@container (max-width: 520px) {
  .rpp-profile-start .bd-row__trail {
    flex-basis: 100%;
    padding-left: 42px;
    justify-content: flex-start;
  }
  .rpp-profile-start .bd-row__trail .rpp-set-select {
    max-width: 100%;
  }
}

/* inelul scorului (mic în rând, mare în foaie) */
.rpp-prof-ring {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.rpp-prof-ring svg {
  display: block;
}
.rpp-prof-ring__track,
.rpp-prof-ring__fill {
  fill: none;
  stroke-width: 3;
}
.rpp-prof-ring__track {
  stroke: var(--bd-fill-2);
}
.rpp-prof-ring__fill {
  stroke: var(--bd-orange);
  stroke-linecap: round;
}
.rpp-prof-ring.is-green .rpp-prof-ring__fill {
  stroke: var(--bd-success-fill);
}
.rpp-prof-ring.is-red .rpp-prof-ring__fill {
  stroke: var(--bd-red);
}
.rpp-prof-ring__value {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  color: var(--bd-label);
  font-variant-numeric: tabular-nums;
}
.rpp-prof-scorebox {
  display: flex;
  align-items: center;
  gap: var(--bd-space-xl);
}
.rpp-prof-scorebox .rpp-prof-ring__value {
  font-size: 24px;
}
.rpp-prof-scorebox > div {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-xs);
  min-width: 0;
}
.rpp-prof-scorebox__tier {
  margin: 0;
  font: var(--bd-d-title-3);
  color: var(--bd-label);
}
.rpp-prof-points {
  margin-inline-start: 4px;
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-prof-bar {
  display: block;
  flex-basis: 100%;
  height: 5px;
  margin: 4px 0 2px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-2);
  overflow: hidden;
}
.rpp-prof-bar > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--bd-accent);
}
.rpp-prof-delta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 26px;
  padding: 0 8px;
  box-sizing: border-box;
  border-radius: var(--bd-radius-pill);
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.rpp-prof-delta.is-plus {
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
}
.rpp-prof-delta.is-minus {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.rpp-prof .rpp-brand-about {
  margin-top: var(--bd-space-md);
}

/* ---- Setări: rubricile ---- */
.rpp-set-series {
  padding: 0;
}
.rpp-set-series__open {
  display: flex;
  flex: 1;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: inherit;
  padding: 8px 4px 8px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.rpp-set-series__open:hover {
  background: var(--bd-fill-4);
}
.rpp-set-series__open:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-set-series > .bd-row__trail {
  padding: 0 14px 0 4px;
}
.rpp-set-series.is-off .bd-tile {
  filter: saturate(0.35);
  opacity: var(--bd-opacity-done);
}
@media (pointer: coarse) {
  .rpp-set-series__open {
    padding: 10px 4px 10px 16px;
  }
  .rpp-set-series > .bd-row__trail {
    padding-right: 16px;
  }
}
.rpp-set-appicon {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 8px;
}

/* culoarea, frecvența, zilele, rețelele, formatele (editorul rubricii) */
.rpp-set-swatches,
.rpp-set-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-set-swatch {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--rpp-swatch, var(--bd-gray));
  color: #ffffff;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}
.rpp-set-swatch.is-on {
  box-shadow:
    0 0 0 2px var(--bd-surface),
    0 0 0 4px var(--bd-label);
}
.rpp-set-swatch:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 4px;
}
.rpp-set-swatch[disabled] {
  cursor: default;
  opacity: var(--bd-opacity-disabled);
}
.rpp-set-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 30px;
  padding: 0 12px;
  border: 0;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font: var(--bd-d-callout);
  font-weight: 600;
  cursor: pointer;
}
.rpp-set-chip.is-on {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-set-chip:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-set-chip[disabled] {
  cursor: default;
  opacity: var(--bd-opacity-disabled);
}
.rpp-set-seg {
  display: grid;
  width: 100%;
}
.rpp-set-seg .bd-seg__opt {
  height: auto;
  min-height: 28px;
  padding: 4px 8px;
  white-space: normal;
  text-align: center;
  line-height: 1.15;
}
@media (pointer: coarse) {
  .rpp-set-swatch {
    width: var(--bd-touch-min);
    height: var(--bd-touch-min);
  }
  .rpp-set-chip,
  .rpp-set-seg .bd-seg__opt {
    min-height: var(--bd-touch-min);
    font: var(--bd-t-subheadline);
    font-weight: 600;
  }
  .rpp-set-chip {
    min-width: var(--bd-touch-min);
    justify-content: center;
  }
}

/* ---- Echipa ---- */
.rpp-team-search .bd-field__box {
  height: var(--bd-control-lg);
}
.rpp-team-search input {
  font: var(--bd-d-body);
}
.rpp-team-search input::-webkit-search-cancel-button {
  cursor: pointer;
}
@media (pointer: coarse) {
  .rpp-team-search .bd-field__box {
    height: var(--bd-touch-min);
  }
  .rpp-team-search input {
    font: var(--bd-t-body);
  }
}
.rpp-team-groups {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
}
.rpp-team-row .bd-row__title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rpp-team-rowwrap {
  position: relative;
  display: flex;
  align-items: center;
}
.rpp-team-rowwrap + .rpp-team-rowwrap::before,
.rpp-team-rowwrap + .bd-row::before,
.bd-row + .rpp-team-rowwrap::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  left: var(--row-inset, 66px);
  height: 1px;
  background: var(--bd-separator);
}
.rpp-team-rowwrap > .bd-row {
  flex: 1;
  min-width: 0;
}
.rpp-team-quick {
  flex: none;
  padding-right: 14px;
}
.rpp-team-you {
  display: inline-flex;
  align-items: center;
  height: 18px;
  padding: 0 6px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font-size: 11.5px;
  font-weight: 650;
  vertical-align: 1px;
}
.rpp-team-head {
  display: flex;
  align-items: center;
  gap: var(--bd-space-xl);
  padding: var(--bd-space-xl);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-team-head__text {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.rpp-team-head__name {
  margin: 0;
  font: var(--bd-d-title-1);
  letter-spacing: var(--bd-d-title-1-tracking);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-team-head__name:focus {
  outline: none;
}
.rpp-team-head__roles {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}
.rpp-team-head__roles .bd-badge {
  white-space: normal;
  height: auto;
  min-height: 22px;
}
.rpp-team-head__meta {
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
@container (max-width: 480px) {
  .rpp-team-head {
    flex-direction: column;
    text-align: center;
  }
  .rpp-team-head__roles {
    justify-content: center;
  }
}
@media (pointer: coarse) {
  .rpp-team-head__name {
    font: var(--bd-t-title-1);
    letter-spacing: var(--bd-t-title-1-tracking);
  }
  .rpp-team-head__meta {
    font: var(--bd-t-subheadline);
  }
}
.rpp-team-detail {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
}
.rpp-team-ask {
  flex-wrap: wrap;
}
.rpp-team-ask .bd-nextup__title,
.rpp-team-ask .bd-nextup__body {
  overflow-wrap: anywhere;
}
.rpp-team-ask__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
@container (max-width: 560px) {
  .rpp-team-ask__actions {
    flex-basis: 100%;
  }
  .rpp-team-ask__actions .bd-btn {
    flex: 1;
  }
}
.rpp-team-step {
  font-weight: 600;
  color: var(--bd-label-2);
}
.rpp-team-step.is-turn {
  color: var(--bd-accent-ink);
}
.rpp-team-week .bd-row {
  text-decoration: none;
}
.rpp-team-diff {
  margin: 0;
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
@media (pointer: coarse) {
  .rpp-team-diff {
    font: var(--bd-t-headline);
  }
}

/* ---- Administrare ---- */
.rpp-adm-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--bd-space-2xl);
  align-items: start;
}
.rpp-adm-main,
.rpp-adm-side {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
  min-width: 0;
}
.rpp-adm-main {
  container-type: inline-size;
}
@container (min-width: 960px) {
  .rpp-adm-grid {
    grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr);
    gap: var(--bd-space-3xl);
  }
}
.rpp-adm-item {
  align-items: flex-start;
}
.rpp-adm-item .bd-row__lead {
  margin-top: 2px;
}
.rpp-adm-item .bd-row__title {
  font-weight: 650;
}
.rpp-adm-item__act {
  align-self: center;
}
.rpp-adm-item__act .bd-btn {
  white-space: nowrap;
}
@container (max-width: 560px) {
  .rpp-adm-item {
    flex-wrap: wrap;
  }
  .rpp-adm-item .bd-row__text {
    flex-basis: calc(100% - 42px);
  }
  .rpp-adm-item__act {
    flex-basis: 100%;
    padding-left: 42px;
    justify-content: flex-start;
  }
}
.rpp-adm-clear .bd-nextup__title,
.rpp-adm-clear .bd-nextup__body {
  overflow-wrap: anywhere;
}
.rpp-adm-month {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  padding: var(--bd-space-xl);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-adm-month__head {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  flex-wrap: wrap;
}
.rpp-adm-month__titles {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
}
.rpp-adm-month__kicker {
  font: var(--bd-d-footnote);
  font-weight: 650;
  color: var(--bd-label-2);
}
.rpp-adm-month__title {
  margin: 0;
  font: var(--bd-d-title-2);
  letter-spacing: var(--bd-d-title-2-tracking);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-adm-month__title:focus {
  outline: none;
}
.rpp-adm-month__text {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-adm-month .bd-badge {
  white-space: normal;
  height: auto;
  min-height: 22px;
}
@media (pointer: coarse) {
  .rpp-adm-month__kicker {
    font: var(--bd-t-footnote);
    font-weight: 650;
  }
  .rpp-adm-month__title {
    font: var(--bd-t-title-2);
    letter-spacing: var(--bd-t-title-2-tracking);
  }
  .rpp-adm-month__text {
    font: var(--bd-t-body);
  }
}
.rpp-adm-review {
  width: 100%;
}
.rpp-adm-review__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--bd-space-2xl);
  align-items: start;
}
.rpp-adm-review__col {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
  min-width: 0;
}
@container (min-width: 960px) {
  .rpp-adm-review__grid {
    grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.2fr);
  }
}
.rpp-adm-day {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  line-height: 1;
}
.rpp-adm-day__wd {
  font-size: 10.5px;
  font-weight: 650;
  color: var(--bd-label-2);
  text-transform: lowercase;
}
.rpp-adm-day__n {
  font-size: 16px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.rpp-adm-script.is-missing .rpp-adm-day {
  background: var(--bd-red-tint);
}
.rpp-adm-scripts .bd-listgroup__body {
  --row-inset: 66px;
}
.rpp-adm-warn {
  display: flex;
  gap: var(--bd-space-sm);
  align-items: flex-start;
  margin: 0;
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-md);
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
  font: var(--bd-d-callout);
  font-weight: 600;
  overflow-wrap: anywhere;
}
.rpp-adm-warn .bd-icon {
  flex: none;
  margin-top: 2px;
}
.rpp-adm-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-lg);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-adm-bar .bd-btn {
  white-space: normal;
  text-align: center;
}
.rpp-adm-bar__text {
  flex: 1;
  min-width: 200px;
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
}
.rpp-adm-bar__why {
  flex-basis: 100%;
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  text-align: right;
}
/* pe telefon, „Confirmă luna” stă jos, în zona degetului, deasupra tab bar-ului. Fix, nu sticky: html și body au
   overflow-x: hidden (14-viewport-reader-raw.css), deci sticky n-ar avea ce derula; pagina își lasă loc dedesubt
   (--rpp-adm-bar-h, măsurat de admin-view.js). */
html[data-rpp-shell='compact'] .rpp-adm-review .rpp-adm-bar {
  position: fixed;
  right: var(--bd-space-lg);
  bottom: calc(var(--bd-tabbar-h) + var(--bd-space-2xl) + env(safe-area-inset-bottom, 0px));
  left: var(--bd-space-lg);
  z-index: 5;
  box-shadow: var(--bd-shadow-popover);
}
html[data-rpp-shell='compact'] .rpp-adm-review {
  padding-bottom: calc(var(--rpp-adm-bar-h, 120px) + var(--bd-space-lg));
}
@media (pointer: coarse) {
  .rpp-adm-warn,
  .rpp-adm-bar__text {
    font: var(--bd-t-callout);
    font-weight: 600;
  }
  .rpp-adm-bar__why {
    font: var(--bd-t-footnote);
  }
  .rpp-adm-bar .bd-btn {
    flex: 1 1 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rpp-set-series__open,
  .rpp-set-chip,
  .rpp-set-swatch {
    transition: none;
  }
}

/* foaia contului (shell): cu „Administrare” și „Setări” pentru admini, pe un telefon mic (320 × 640) conținutul e mai înalt
   decât foaia; butonul „Deconectează-te” nu se mai strânge sub 44 px (se derulează corpul foii) */
.rpp-appshell-sheet .rpp-appshell-logout {
  flex: none;
}

/* ---- Weekful 0.1.0: Setări › Spații de lucru (operatorul) — foaia „Spațiu de lucru nou”, starea de final ---- */
.rpp-wsp-form {
  display: grid;
  gap: var(--bd-space-md);
}
.rpp-wsp-done {
  display: grid;
  gap: var(--bd-space-sm);
}
.rpp-wsp-done__icon {
  color: var(--bd-green, var(--bd-accent));
}

/* =========================================================
   v0.16 (paritatea postărilor, „conținut de orice tip”) — js/posts-parity/*.js și js/onboarding/*.js:
   - în pagina postării (foaia din 32-post.css): secțiunea „Fișiere” a postărilor care nu sunt ale Rapsodiei (grila
     imaginilor în ordine, cu numărul și semnul „ALT” când lipsește textul alternativ; uploadurile cu progres real; cele
     întrerupte, de reluat), „Remindere” și „Puncte”;
   - în „Azi”: „Noutăți” (notificările postărilor, necitite întâi);
   - tava uploadurilor (colțul ecranului; pe telefon deasupra barei de taburi), foaia formatului, foaia textului alternativ;
   - ghidul de pornire al unui spațiu nou (trei pași: tipurile de conținut, rețelele, oamenii).
   Strat „strict” (fără declarații forțate), doar tokeni --bd-* și clase bd-* din design-system. Pe ecranele tactile,
   fiecare țintă are cel puțin 44 px (touch-min); nimic nu iese din ecran la 320 px.
   ========================================================= */

/* ---- Fișierele postării ---- */
.rpp-pp-files {
  border-radius: var(--bd-radius-lg);
  transition: box-shadow var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-pp-files.is-drop {
  box-shadow: 0 0 0 2px var(--bd-accent);
}
.rpp-pp-uploads {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
}
.rpp-pp-upload {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-pp-upload__bar {
  flex: 1 1 220px;
  min-width: 0;
}
.rpp-pp-upload__actions {
  display: flex;
  flex: none;
  gap: var(--bd-space-xs);
}
.rpp-pp-upload .bd-progress {
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.rpp-pp-upload .bd-progress__title,
.rpp-pp-upload .bd-progress__status {
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-pp-upload.is-error .bd-progress__status,
.rpp-pp-progress.is-error .bd-progress__status {
  color: var(--bd-red-ink);
}
.rpp-pp-upload.is-done .bd-progress__fill {
  background: var(--bd-success-fill);
}
.rpp-pp-progress.is-stale .bd-progress__status {
  color: var(--bd-orange-ink);
}

/* un upload oprit la o încărcare anterioară: „Continuă” (alegi din nou același fișier) */
.rpp-pp-stopped {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm) var(--bd-space-md);
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: inset 0 0 0 1px var(--bd-orange-ink);
}
.rpp-pp-stopped__icon {
  display: inline-flex;
  flex: none;
  color: var(--bd-orange-ink);
}
.rpp-pp-stopped__text {
  display: flex;
  flex: 1 1 200px;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-pp-stopped__name {
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-pp-stopped__sub {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-pp-stopped__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}

/* grila imaginilor (carusel, citat, story): în ordinea postării, cu numărul fiecăreia */
.rpp-pp-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
  gap: var(--bd-space-sm);
  margin: 0;
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  list-style: none;
}
.rpp-pp-thumb {
  min-width: 0;
}
.rpp-pp-thumb__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 4 / 5;
  min-height: var(--bd-touch-min);
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
  cursor: pointer;
}
.rpp-pp-grid--1x1 .rpp-pp-thumb__btn {
  aspect-ratio: 1 / 1;
}
.rpp-pp-grid--9x16 .rpp-pp-thumb__btn {
  aspect-ratio: 9 / 16;
}
.rpp-pp-grid--16x9 .rpp-pp-thumb__btn {
  aspect-ratio: 16 / 9;
}
.rpp-pp-thumb__btn:focus-visible {
  outline: 3px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-pp-thumb__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rpp-pp-thumb__n {
  position: absolute;
  top: 6px;
  left: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-button);
  font: var(--bd-d-caption);
  font-weight: 700;
  color: var(--bd-label);
}
.rpp-pp-thumb__noalt {
  position: absolute;
  right: 6px;
  bottom: 6px;
  padding: 1px 6px;
  border-radius: var(--bd-radius-xs);
  background: var(--bd-surface);
  font: var(--bd-d-caption);
  font-weight: 700;
  color: var(--bd-orange-ink);
}
.rpp-pp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-pp-actions .rpp-pp-btn {
  flex: 0 1 auto;
}
.rpp-pp-btn {
  text-decoration: none;
}
.rpp-post-file__icon--raw {
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
}
.rpp-post-file__icon--extra {
  background: var(--bd-fill-2);
  color: var(--bd-label-2);
}

/* alegerea fișierelor: câmpul nu se vede (butoanele paginii îl deschid) */
.rpp-pp-picker {
  position: fixed;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* foaia formatului suplimentar */
.rpp-pp-formats {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: var(--bd-space-sm);
}
.rpp-pp-format {
  justify-content: flex-start;
}

/* ---- Remindere, Puncte ---- */
.rpp-pp-icon--late {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.rpp-pp-points {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 28px;
  padding: 0 8px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-green-tint);
  font: var(--bd-d-callout);
  font-weight: 700;
  color: var(--bd-green-ink);
}
.rpp-pp-points.is-minus {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.rpp-pp-points.is-next {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}

/* ---- Azi: Noutăți ---- */
.rpp-pp-notifs .bd-listgroup__head {
  flex-wrap: wrap;
  align-items: center;
}
.rpp-pp-notif__readall {
  margin-left: auto;
}
.rpp-pp-notif__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: var(--bd-radius-sm);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-pp-notif__icon--danger {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.rpp-pp-notif .bd-row__title,
.rpp-pp-notif .bd-row__sub {
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-pp-notif.is-unread .bd-row__title {
  font-weight: 700;
}
.rpp-pp-notif__ago {
  font: var(--bd-d-caption);
  color: var(--bd-label-3);
}
.rpp-pp-notif__dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--bd-accent);
}

/* ---- Tava uploadurilor ---- */
.rpp-pp-tray {
  position: fixed;
  right: var(--bd-space-lg);
  bottom: var(--bd-space-lg);
  z-index: var(--bd-z-popover);
  width: min(380px, calc(100vw - var(--bd-space-lg) * 2));
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-popover);
}
.rpp-pp-tray[hidden] {
  display: none;
}
.rpp-pp-tray__inner {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-xs);
}
.rpp-pp-tray .bd-progress {
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.rpp-pp-tray__open {
  align-self: flex-end;
  text-decoration: none;
}
body.admin-bar .rpp-pp-tray {
  bottom: var(--bd-space-lg);
}
@media (max-width: 600px) {
  .rpp-pp-tray {
    right: var(--bd-gutter-compact);
    left: var(--bd-gutter-compact);
    bottom: calc(var(--bd-tabbar-h) + var(--bd-space-md) + env(safe-area-inset-bottom, 0px));
    width: auto;
  }
}
html.rpp-post-open .rpp-pp-tray {
  z-index: var(--bd-z-toast);
}

/* ---- Ghidul de pornire ---- */
.rpp-guide-layer .bd-sheet--center {
  width: min(600px, calc(100vw - var(--bd-space-lg) * 2));
  max-height: min(820px, calc(100vh - var(--bd-space-2xl) * 2));
  max-height: min(820px, calc(100dvh - var(--bd-space-2xl) * 2));
}
.rpp-guide-layer .bd-sheet--bottom {
  max-height: calc(100% - var(--bd-space-3xl));
}
.rpp-guide-body {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-lg);
  overscroll-behavior: contain;
}
.rpp-guide-foot {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--bd-space-sm);
}
.rpp-guide-foot .bd-btn {
  flex: 1 1 140px;
  max-width: 260px;
}
.rpp-guide-stepper {
  margin-bottom: var(--bd-space-2xs);
}
.rpp-guide-lead {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
}
.rpp-guide-block {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  min-width: 0;
}
.rpp-guide-label {
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
}
.rpp-guide-hint {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-guide-error {
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-red-ink);
}
.rpp-guide-seg {
  width: 100%;
}
.rpp-guide-seg .bd-seg__opt {
  flex: 1 1 0;
  min-width: 0;
}
.rpp-guide-options {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: var(--bd-space-sm);
}
.rpp-guide-option {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  min-width: 0;
  min-height: 64px;
  padding: var(--bd-space-sm) var(--bd-space-md);
  border: 0;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: inset 0 0 0 1px var(--bd-separator);
  color: var(--bd-label);
  text-align: left;
  cursor: pointer;
}
.rpp-guide-option.is-on {
  box-shadow: inset 0 0 0 2px var(--bd-accent);
}
.rpp-guide-option:focus-visible,
.rpp-guide-chip:focus-visible {
  outline: 3px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-guide-option__text {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-guide-option__title {
  font: var(--bd-d-body-strong);
}
.rpp-guide-option__sub {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-guide-option__check {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px var(--bd-separator-opaque);
  color: var(--bd-on-accent);
}
.rpp-guide-option.is-on .rpp-guide-option__check {
  background: var(--bd-accent);
  box-shadow: none;
}
.rpp-guide-nets .bd-row {
  min-height: var(--bd-touch-min);
}
.rpp-guide-preview {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-guide-preview__item {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-guide-preview__item strong {
  color: var(--bd-label);
}
.rpp-guide-roles {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-guide-roles strong {
  color: var(--bd-label);
}
.rpp-guide-invite {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-guide-invite select {
  width: 100%;
  min-height: 36px;
  border: 0;
  background: transparent;
  font: var(--bd-d-body);
  color: var(--bd-label);
}
.rpp-guide-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}
.rpp-guide-chip {
  min-height: 36px;
  padding: 0 14px;
  border: 0;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-3);
  font: var(--bd-d-callout);
  font-weight: 600;
  color: var(--bd-label);
  cursor: pointer;
}
.rpp-guide-chip.is-on {
  background: var(--bd-accent);
  color: var(--bd-on-accent);
}
.rpp-guide-send {
  align-self: flex-start;
}
.rpp-guide-layer [hidden] {
  display: none;
}

/* ---- Ecranele tactile: țintele de cel puțin 44 px, câmpurile de cel puțin 16 px ---- */
@media (pointer: coarse) {
  .rpp-guide-layer .bd-sheet__close {
    width: var(--bd-touch-min);
    height: var(--bd-touch-min);
  }
  .rpp-pp-btn.bd-btn--md,
  .rpp-pp-btn.bd-btn--sm,
  .rpp-pp-notif__readall,
  .rpp-pp-tray__open,
  .rpp-guide-chip,
  .rpp-guide-invite select {
    min-height: var(--bd-touch-min);
  }
  .rpp-guide-invite input,
  .rpp-guide-invite select {
    font-size: 17px;
  }
  .rpp-pp-stopped__sub,
  .rpp-guide-hint,
  .rpp-guide-preview__item,
  .rpp-guide-roles {
    font: var(--bd-t-subheadline);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rpp-pp-files {
    transition: none;
  }
}

/* =========================================================
   Etapa 4 — kitul mărcii al spațiului de lucru (js/brand/*): cartea de vizită a mărcii, secțiunile grupate ca în Setările
   iOS, formularele (culori cu pastilă + hex, fonturi cu specimen, logo-uri pe fundal luminos / întunecat, referințe),
   previzualizările în marca clientului (cadrul cu subtitrare, end card-ul, postarea cu citat) și bara de salvare.
   Strat „strict” (fără declarații forțate), în gazda [data-bd] a shell-ului, în afara .rpp-app. Culorile interfeței sunt
   tokeni --bd-*; culorile clientului intră doar în previzualizări, prin variabilele puse inline de JS (--bk-*, --cap-*,
   --ec-*, --q-*, --mo-*). Pe lățimea paginii decid interogările de container (gazda .rpp-bk-host). Pe ecranele tactile,
   orice țintă are cel puțin 44 px.
   ========================================================= */

.rpp-bk-host {
  container-type: inline-size;
}
.rpp-bk {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
  min-width: 0;
}
.rpp-bk-layout {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
  min-width: 0;
}
.rpp-bk-main,
.rpp-bk-section,
.rpp-bk-list {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
  min-width: 0;
}

/* telefon și tabletă îngustă: cartea de vizită, apoi previzualizarea, apoi secțiunile (pe pagina unei secțiuni: titlul,
   explicația, previzualizarea, formularul) */
@container (max-width: 979px) {
  .rpp-bk-main,
  .rpp-bk-section {
    display: contents;
  }
  .rpp-bk-section > * {
    order: 4;
  }
  .rpp-bk-section > .rpp-bk-title {
    order: 1;
  }
  .rpp-bk-section > .rpp-bk-intro {
    order: 2;
  }
  .rpp-bk-hero {
    order: 1;
  }
  .rpp-bk-preview {
    order: 3;
  }
  .rpp-bk-list {
    order: 4;
  }
  /* titlul mare stă deja în bara de sus a shell-ului: pe pagina îngustă nu-l repetăm vizual */
  .rpp-bk-title {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }
}
/* desktop: formularul la stânga, previzualizarea lipită în dreapta */
@container (min-width: 980px) {
  .rpp-bk-layout {
    display: grid;
    grid-template-columns: minmax(0, 760px) 320px;
    gap: var(--bd-space-3xl);
    align-items: start;
  }
  .rpp-bk-main {
    max-width: 760px;
  }
  .rpp-bk-preview {
    position: sticky;
    top: calc(var(--bd-toolbar-h) + var(--bd-space-lg) + env(safe-area-inset-top, 0px));
  }
}
@container (min-width: 1280px) {
  .rpp-bk-layout {
    grid-template-columns: minmax(0, 760px) 360px;
  }
}

.rpp-bk-title {
  margin: 0;
}
.rpp-bk-intro {
  margin: calc(var(--bd-space-lg) * -1) 0 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-bk-note p {
  margin: 0;
}
.rpp-bk-empty {
  margin: 0;
  padding: var(--bd-space-lg);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-bk-dirty {
  color: var(--bd-orange-ink);
  font-weight: 650;
}
.rpp-bk-dirty::after {
  content: '·';
  margin-left: 6px;
  color: var(--bd-label-3);
  font-weight: 400;
}

/* ---- Cartea de vizită a mărcii ---- */
.rpp-bk-hero {
  display: flex;
  align-items: center;
  gap: var(--bd-space-lg);
  padding: var(--bd-space-lg);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  min-width: 0;
}
.rpp-bk-hero__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border-radius: 18px;
  background: var(--bk-tile, var(--bd-fill-3));
  color: var(--bk-tile-ink, var(--bd-label));
  font-size: 32px;
  font-weight: 800;
  line-height: 1;
}
.rpp-bk-hero__logo.has-logo {
  background: var(--bd-fill-4);
  box-shadow: inset 0 0 0 1px var(--bd-separator);
}
.rpp-bk-hero__logo img {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  padding: 8px;
  object-fit: contain;
}
.rpp-bk-hero__text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.rpp-bk-hero__name {
  margin: 0;
  font: var(--bd-d-title-2);
  letter-spacing: var(--bd-d-title-2-tracking);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-bk-hero__line,
.rpp-bk-hero__fonts,
.rpp-bk-hero__status {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-bk-hero__swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 4px 0;
}
.rpp-bk-swatch {
  display: inline-block;
  flex: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--bk-sw);
  box-shadow: inset 0 0 0 1px var(--bd-separator-opaque);
}
@container (max-width: 420px) {
  .rpp-bk-hero {
    align-items: flex-start;
  }
  .rpp-bk-hero__logo {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    font-size: 26px;
  }
}

/* ---- Previzualizarea ---- */
.rpp-bk-preview {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  padding: var(--bd-space-lg);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  min-width: 0;
}
.rpp-bk-preview__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--bd-space-sm);
}
.rpp-bk-preview__title {
  margin: 0;
  font: var(--bd-d-title-3);
  color: var(--bd-label);
}
.rpp-bk-preview__kinds {
  width: 100%;
}
.rpp-bk-preview__stage {
  display: flex;
  justify-content: center;
}
.rpp-bk-preview__note {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  text-align: center;
  overflow-wrap: anywhere;
}

/* ---- Butoanele segmentate. Weekful 0.1.2: textul unei opțiuni nu se mai rupe (Beni: „butoane strânse pe multe rânduri”).
   Opțiunile împart lățimea în mod egal cât încap; una mai lungă ia cât îi trebuie, iar când nu mai încap pe un rând trec
   împreună pe rândul următor, în aceeași pistă. Ținta rămâne de 44 px pe ecranele tactile. ---- */
.rpp-bk-seg {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
}
.rpp-bk-seg__opt {
  flex: 1 1 0;
  min-width: max-content;
  height: auto;
  min-height: 28px;
  padding: 4px 10px;
  white-space: nowrap;
  text-align: center;
  line-height: 1.2;
}
.rpp-bk-seg__opt[disabled] {
  cursor: default;
  opacity: var(--bd-opacity-disabled);
}
.rpp-bk-segfield {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.rpp-bk-segfield .rpp-bk-seg {
  width: 100%;
}
.rpp-bk-langbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--bd-space-sm);
}
.rpp-bk-langbar__label {
  font: var(--bd-d-footnote);
  font-weight: 600;
  color: var(--bd-label-2);
}

/* ---- Câmpurile ---- */
.rpp-bk-card {
  min-width: 0;
}
.rpp-bk-field {
  min-width: 0;
}
.rpp-bk-hint {
  display: flex;
  justify-content: space-between;
  gap: var(--bd-space-sm);
  color: var(--bd-label-2);
}
.rpp-bk-hint > span:first-child {
  overflow-wrap: anywhere;
}
.rpp-bk-count {
  flex: none;
  font-variant-numeric: tabular-nums;
}
.rpp-bk-area {
  min-height: 0;
}
.rpp-bk-area[disabled],
.rpp-bk .bd-field__box input[disabled] {
  cursor: default;
  opacity: 0.75;
}
.rpp-bk-grid2,
.rpp-bk-grid3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--bd-space-md);
  min-width: 0;
}
.rpp-bk-grid3 {
  padding: var(--bd-space-md) 14px;
}
.rpp-bk-actions {
  justify-content: flex-start;
}
.rpp-bk-progress {
  min-width: 0;
}
.rpp-bk-progress[hidden] {
  display: none;
}
.rpp-bk-range {
  width: 100%;
  min-height: 32px;
  accent-color: var(--bd-accent);
}
.rpp-bk-switch {
  flex: none;
}
.rpp-bk-switch:focus-visible .bd-switch__track {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-bk-switch[disabled] {
  cursor: default;
  opacity: var(--bd-opacity-disabled);
}
.rpp-bk-switchrow .bd-row__title,
.rpp-bk-switchrow .bd-row__sub {
  white-space: normal;
  overflow-wrap: anywhere;
}

/* ---- Culorile: pastila (selectorul nativ), codul hex, „Automat” ---- */
.rpp-bk-color {
  flex-wrap: wrap;
}
.rpp-bk-color .bd-row__text {
  flex: 1 1 140px;
}
.rpp-bk-color .bd-row__title,
.rpp-bk-color .bd-row__sub {
  white-space: normal;
  overflow-wrap: anywhere;
}
.rpp-bk-color__trail {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--bd-space-sm);
  margin-left: auto;
}
.rpp-bk-color__well {
  display: block;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: none;
  cursor: pointer;
}
.rpp-bk-color__well::-webkit-color-swatch-wrapper {
  padding: 0;
}
.rpp-bk-color__well::-webkit-color-swatch {
  border: 0;
  border-radius: 12px;
  box-shadow: inset 0 0 0 1px var(--bd-separator-opaque);
}
.rpp-bk-color__well::-moz-color-swatch {
  border: 0;
  border-radius: 12px;
}
.rpp-bk-color__well:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-bk-color__well[disabled],
.rpp-bk-hexin[disabled] {
  cursor: default;
  opacity: 0.55;
}
.rpp-bk-hexin {
  box-sizing: border-box;
  width: 96px;
  height: 36px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font: 600 14px/1 var(--bd-font-mono);
  text-transform: uppercase;
}
.rpp-bk-hexin:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 0;
}
.rpp-bk-hexin[aria-invalid] {
  box-shadow: 0 0 0 2px var(--bd-red);
}
.rpp-bk-auto {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.rpp-bk-auto__label {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-bk-contrast .bd-row__title,
.rpp-bk-contrast .bd-row__sub {
  white-space: normal;
  overflow-wrap: anywhere;
}
.rpp-bk-contrast__sample {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 32px;
  border-radius: 8px;
  background: var(--bk-bg);
  box-shadow: inset 0 0 0 1px var(--bd-separator-opaque);
}
.rpp-bk-contrast__sample::before {
  content: 'Aa';
  color: var(--bk-fg);
  font: 700 15px/1 var(--bd-font-sans);
}
.rpp-bk-derived {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
}
.rpp-bk-derived .rpp-set-subtitle {
  margin: 0;
}
.rpp-bk-derived ul {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm) var(--bd-space-lg);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-bk-derived__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-bk-derived__item code {
  font: 600 12px/1 var(--bd-font-mono);
  color: var(--bd-label);
}

/* ---- Logo-urile: fiecare pe fundalul pe care va sta (nu după tema interfeței) ---- */
.rpp-bk-logos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: var(--bd-space-md);
}
.rpp-bk-logo {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  min-width: 0;
}
.rpp-bk-logo__well {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: var(--bd-radius-md);
  background: #f4f1ea;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}
.rpp-bk-logo--dark .rpp-bk-logo__well {
  background: #101419;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
}
.rpp-bk-logo--mark .rpp-bk-logo__well {
  background: var(--bd-fill-3);
  box-shadow: none;
}
.rpp-bk-logo__well img {
  max-width: 80%;
  max-height: 72%;
  object-fit: contain;
}
.rpp-bk-logo--mark .rpp-bk-logo__well img {
  width: 58%;
  max-width: none;
  max-height: 86%;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
}
.rpp-bk-logo__empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  color: #53575e;
  font: 600 13px/1.2 var(--bd-font-sans);
}
.rpp-bk-logo--dark .rpp-bk-logo__empty {
  color: #c9cdd3;
}
.rpp-bk-logo--mark .rpp-bk-logo__empty {
  color: var(--bd-label-2);
}
.rpp-bk-logo__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-bk-logo__title {
  margin: 0;
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-bk-logo__sub,
.rpp-bk-logo__meta {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-bk-logo__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}

/* ---- Fonturile ---- */
.rpp-bk-fonts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: var(--bd-space-md);
}
.rpp-bk-font {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  min-width: 0;
}
.rpp-bk-font__head {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rpp-bk-font__title {
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
}
.rpp-bk-font__sub,
.rpp-bk-font__license {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-bk-font__license:empty {
  display: none;
}
.rpp-bk-font__specimen {
  margin: 0;
  min-height: 2.5em;
  font-size: 22px;
  line-height: 1.25;
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-bk-font__aa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font-size: 18px;
  font-weight: 600;
}

/* ---- Alegerile cu carduri (stilul subtitrărilor, șablonul end card-ului) ---- */
.rpp-bk-choices {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: var(--bd-space-sm);
}
.rpp-bk-choice {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  min-height: 64px;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 0;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  text-align: left;
  cursor: pointer;
  transition:
    background-color var(--bd-dur-fast) var(--bd-ease-standard),
    box-shadow var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-bk-choice:hover {
  background: var(--bd-fill-4);
}
.rpp-bk-choice.is-on {
  background: var(--bd-accent-tint);
  box-shadow:
    inset 0 0 0 2px var(--bd-accent),
    var(--bd-shadow-card);
}
.rpp-bk-choice:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-bk-choice[disabled] {
  cursor: default;
}
.rpp-bk-choice__title {
  font: var(--bd-d-body-strong);
  overflow-wrap: anywhere;
}
.rpp-bk-choice.is-on .rpp-bk-choice__title {
  color: var(--bd-accent-ink);
}
.rpp-bk-choice__sub {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}

/* ---- Referințele vizuale ---- */
.rpp-bk-refs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: var(--bd-space-md);
}
.rpp-bk-ref {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  margin: 0;
  padding: var(--bd-space-sm);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  min-width: 0;
}
.rpp-bk-ref img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--bd-radius-md);
  object-fit: cover;
}
.rpp-bk-ref figcaption {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

/* ---- B-roll, Motion ---- */
.rpp-bk-palettes-box {
  padding: 0 14px var(--bd-space-md);
}
.rpp-bk-palettes {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0 0 0 1.4em;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-bk-motion {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
}
.rpp-bk-motion__sw {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-bk-reset {
  display: flex;
  justify-content: flex-start;
}

/* ---- Foaia fontului ---- */
.rpp-bk-sheet__body {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-lg);
}
.rpp-bk-filepick {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm);
}
.rpp-bk-filepick__name {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-bk-license {
  padding: 0;
}
.rpp-bk-license .bd-row__title,
.rpp-bk-license .bd-row__sub {
  white-space: normal;
  overflow-wrap: anywhere;
}

/* ---- Bara de salvare: mereu pe ecran (administratorii), deasupra tab bar-ului pe telefon ---- */
.rpp-bk-bar {
  position: sticky;
  z-index: 6;
  bottom: calc(var(--bd-space-md) + env(safe-area-inset-bottom, 0px));
  display: flex;
  justify-content: center;
  pointer-events: none;
}
html[data-rpp-shell='compact'] .rpp-bk-bar {
  bottom: calc(
    var(--bd-tabbar-h) + max(var(--bd-space-lg), calc(env(safe-area-inset-bottom, 0px) + var(--bd-space-sm))) +
      var(--bd-space-sm)
  );
}
.rpp-bk-bar__inner {
  display: flex;
  align-items: center;
  gap: var(--bd-space-xs);
  max-width: 100%;
  box-sizing: border-box;
  /* Weekful 0.1.2: 8 px în jurul butoanelor (cu 6 px, marginea de sticlă de 1 px le lăsa la 5 px de ramă) */
  padding: var(--bd-space-sm) var(--bd-space-sm) var(--bd-space-sm) var(--bd-space-lg);
  border-radius: var(--bd-radius-pill);
  pointer-events: auto;
}
.rpp-bk-bar__state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  padding-right: var(--bd-space-xs);
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-bk-bar__state .bd-icon {
  flex: none;
  color: var(--bd-green-ink);
}
.rpp-bk-bar.is-dirty .rpp-bk-bar__state {
  color: var(--bd-label);
  font-weight: 600;
}
.rpp-bk-bar .bd-btn {
  flex: none;
  border-radius: var(--bd-radius-pill);
}
@container (max-width: 560px) {
  .rpp-bk-bar__inner {
    width: 100%;
  }
  .rpp-bk-bar__state {
    flex: 1;
  }
}
html.rpp-bk-bar-on body {
  --rpp-toast-bottom: calc(var(--bd-space-md) + 64px + env(safe-area-inset-bottom, 0px));
}
html.rpp-bk-bar-on[data-rpp-shell='compact'] body {
  --rpp-toast-bottom: calc(
    var(--bd-tabbar-h) + var(--bd-space-lg) + var(--bd-space-sm) + 64px + env(safe-area-inset-bottom, 0px)
  );
}

/* ---- Previzualizările: cadrele în marca clientului (valorile vin din kit, prin variabilele inline) ---- */
.rpp-bk-frame {
  position: relative;
  width: min(100%, 240px);
  aspect-ratio: 9 / 16;
  overflow: hidden;
  isolation: isolate;
  border-radius: 22px;
  box-shadow:
    0 0 0 1px var(--bd-separator),
    var(--bd-shadow-card);
  container-type: inline-size;
  color: #fff;
}
@container (min-width: 980px) {
  .rpp-bk-frame {
    width: min(100%, 272px);
  }
}
.rpp-bk-frame > * {
  position: absolute;
}

/* cadrul cu subtitrare: un „video” de probă (sau prima referință), vorbitorul, subtitrarea */
.rpp-bk-frame--caption {
  background: linear-gradient(165deg, color-mix(in srgb, var(--bk-primary) 55%, #7d8a9c), #0c1016 78%);
}
.rpp-bk-frame__video {
  inset: 0;
  background-position: center;
  background-size: cover;
}
.rpp-bk-frame__video::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 38%, rgba(0, 0, 0, 0.62));
}
.rpp-bk-frame__speaker {
  z-index: 2;
  left: 50%;
  bottom: 0;
  width: 84cqi;
  transform: translateX(-50%);
  fill: rgba(9, 11, 15, 0.86);
}
.rpp-bk-cap {
  z-index: 3;
  left: 7cqi;
  right: 7cqi;
  bottom: 22%;
  color: var(--cap-color);
  font-family: var(--cap-normal-font);
  font-size: 8.6cqi;
  font-weight: var(--cap-normal-weight);
  line-height: 1.16;
  text-align: center;
  text-shadow: 0 0.4cqi 1.8cqi rgba(0, 0, 0, 0.6);
  overflow-wrap: anywhere;
}
.rpp-bk-frame--caption.is-behind .rpp-bk-cap {
  z-index: 1;
  bottom: 47%;
  font-size: 10cqi;
}
.rpp-bk-cap__w.is-key {
  color: var(--cap-special);
}
.rpp-bk-cap--rhapsody-impact .rpp-bk-cap__w.is-key {
  font-family: var(--cap-special-font);
  font-size: 1.3em;
  font-weight: var(--cap-special-weight);
}
.rpp-bk-cap--rhapsody-impact .rpp-bk-cap__w.is-key.is-gradient {
  background: linear-gradient(180deg, var(--cap-grad-top), var(--cap-grad-bottom));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: none;
}
.rpp-bk-cap__w.is-key.is-x-ray {
  color: transparent;
  -webkit-text-stroke: 0.4cqi var(--cap-special);
  text-shadow: none;
}
.rpp-bk-cap--rsl-modern .rpp-bk-cap__w.is-key.is-pill {
  padding: 0 0.26em;
  border-radius: 0.24em;
  background: var(--cap-special);
  color: var(--cap-pill-text);
  text-shadow: none;
  -webkit-text-stroke: 0;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.rpp-bk-cap--rsl-animated .rpp-bk-cap__w.is-key {
  display: inline-block;
  color: var(--cap-special);
  font-size: calc(1em * var(--cap-key-scale));
  line-height: 1.02;
  text-shadow: 0 0.6cqi 1.6cqi rgba(0, 0, 0, 0.45);
}
/* Motion AI: cadrul animației pe paleta Motion */
.rpp-bk-frame--motion {
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(120% 85% at 50% 18%, var(--mo-bg), var(--mo-deep));
}
.rpp-bk-mo {
  position: static;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1cqi;
  padding: 10cqi;
  color: var(--mo-ink);
  font-family: var(--cap-normal-font);
  font-size: 9cqi;
  font-weight: 800;
  line-height: 1.04;
  text-align: center;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.rpp-bk-mo__w.is-key {
  color: var(--mo-accent);
  font-size: 1.5em;
}

/* end card-ul: aceleași poziții ca în canvasul Studio (9:16, unitatea = lățimea cadrului) */
.rpp-bk-frame--endcard {
  background: linear-gradient(155deg, var(--ec-bg0) 0%, var(--ec-bg1) 56%, var(--ec-bg2) 100%);
}
.rpp-bk-ec__glow {
  border-radius: 50%;
  pointer-events: none;
}
.rpp-bk-ec__glow.is-one {
  left: -24cqi;
  top: calc(14% - 42cqi);
  width: 84cqi;
  height: 84cqi;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--ec-accent) 33%, transparent), transparent);
}
.rpp-bk-ec__glow.is-two {
  left: 45cqi;
  top: calc(86% - 38cqi);
  width: 76cqi;
  height: 76cqi;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--ec-accent2) 27%, transparent), transparent);
}
.rpp-bk-frame--endcard.is-clean .rpp-bk-ec__glow {
  display: none;
}
.rpp-bk-ec__band {
  display: none;
}
.rpp-bk-frame--endcard.is-band .rpp-bk-ec__band {
  display: block;
  left: 0;
  right: 0;
  top: 48.6%;
  height: 24.8%;
  background: color-mix(in srgb, var(--ec-accent) 17%, transparent);
  border-block: 0.3cqi solid color-mix(in srgb, var(--ec-accent) 45%, transparent);
}
.rpp-bk-frame--endcard.is-band .rpp-bk-ec__glow.is-two {
  display: none;
}
.rpp-bk-ec__logo {
  left: 50%;
  top: 22.5%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25cqi;
  height: 25cqi;
  box-sizing: border-box;
  border: 0.66cqi solid var(--ec-ring);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.075);
  transform: translate(-50%, -50%);
  font-family: var(--ec-normal);
  font-size: 11.8cqi;
  font-weight: 700;
  line-height: 1;
}
.rpp-bk-ec__logo::after {
  content: '';
  position: absolute;
  inset: -3.6cqi;
  border: 0.28cqi solid color-mix(in srgb, var(--ec-ring) 24%, transparent);
  border-radius: 50%;
}
.rpp-bk-ec__logo img {
  width: 22.4cqi;
  height: 22.4cqi;
  border-radius: 50%;
  object-fit: cover;
}
.rpp-bk-ec__brand,
.rpp-bk-ec__wordmark,
.rpp-bk-ec__head,
.rpp-bk-ec__sub {
  left: 5cqi;
  right: 5cqi;
  text-align: center;
  transform: translateY(-50%);
  overflow-wrap: anywhere;
}
.rpp-bk-ec__brand {
  top: 34.8%;
  color: rgba(255, 255, 255, 0.6);
  font: 700 2.5cqi/1.2 var(--ec-normal);
  letter-spacing: 0.6cqi;
  text-transform: uppercase;
}
.rpp-bk-ec__wordmark {
  top: calc(34.8% + 5.5cqi);
  color: rgba(255, 255, 255, 0.92);
  font: 800 4.2cqi/1.1 var(--ec-normal);
  letter-spacing: 0.9cqi;
}
.rpp-bk-ec__head,
.rpp-bk-ec__sub {
  display: flex;
  flex-direction: column;
  text-shadow: 0 0 2.8cqi rgba(0, 0, 0, 0.32);
}
.rpp-bk-ec__head {
  top: 54.2%;
  color: #fff;
  font: 800 9.2cqi/14.2cqi var(--ec-normal);
}
.rpp-bk-ec__sub {
  top: 64.8%;
  color: var(--ec-ring);
  font: italic 700 7.5cqi/12.8cqi var(--ec-special);
}
.rpp-bk-ec__line {
  left: 30cqi;
  right: 30cqi;
  top: 74.2%;
  height: 0.5cqi;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), var(--ec-ring), rgba(255, 255, 255, 0));
}

/* postarea cu citat (Etapa 5): suprafața, textura, fotografia, semnul citatului, semnătura */
.rpp-bk-frame--quote {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  aspect-ratio: 4 / 5;
  padding: 9cqi 9cqi 8cqi;
  background: var(--q-surface);
  color: var(--q-text);
}
.rpp-bk-frame--quote.is-square {
  aspect-ratio: 1;
}
.rpp-bk-frame--quote > * {
  position: relative;
}
.rpp-bk-frame--quote > .rpp-bk-q__texture {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.rpp-bk-frame--quote.is-grain .rpp-bk-q__texture {
  background-image: radial-gradient(rgba(0, 0, 0, 0.13) 0.5px, transparent 0.7px);
  background-size: 3px 3px;
}
.rpp-bk-frame--quote.is-grain.is-dark .rpp-bk-q__texture {
  background-image: radial-gradient(rgba(255, 255, 255, 0.09) 0.5px, transparent 0.7px);
}
.rpp-bk-frame--quote.is-paper .rpp-bk-q__texture {
  background:
    radial-gradient(120% 90% at 30% 8%, rgba(255, 255, 255, 0.35), transparent 60%),
    linear-gradient(0deg, rgba(120, 90, 40, 0.1), rgba(120, 90, 40, 0.02));
}
.rpp-bk-q__photo {
  z-index: 1;
  flex: none;
  height: 40%;
  margin: -9cqi -9cqi 5cqi;
  background-position: center;
  background-size: cover;
}
.rpp-bk-q__photo.is-mono {
  filter: grayscale(1) contrast(1.05);
}
.rpp-bk-q__mark {
  z-index: 1;
  height: 13cqi;
  color: var(--q-accent);
  font: 400 30cqi/0.62 var(--q-display);
}
.rpp-bk-frame--quote.has-photo .rpp-bk-q__mark {
  height: 9cqi;
  font-size: 20cqi;
}
.rpp-bk-q__text {
  z-index: 1;
  flex: 1;
  font: 600 7.4cqi/1.14 var(--q-display);
  overflow-wrap: anywhere;
}
.rpp-bk-frame--quote.has-photo .rpp-bk-q__text {
  font-size: 6cqi;
}
.rpp-bk-frame--quote.is-square .rpp-bk-q__text {
  font-size: 6.4cqi;
}
.rpp-bk-q__foot {
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 3cqi;
  margin-top: 4cqi;
  min-width: 0;
}
.rpp-bk-q__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 10cqi;
  height: 10cqi;
  overflow: hidden;
  border-radius: 50%;
  background: var(--q-accent);
  color: var(--q-on-accent);
  font: 800 4cqi/1 var(--q-display);
}
.rpp-bk-q__logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rpp-bk-q__who {
  min-width: 0;
  color: var(--q-muted);
  font: 700 3.2cqi/1.25 var(--q-body);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

/* ---- Ecranele tactile: fiecare țintă are cel puțin 44 px ---- */
@media (pointer: coarse) {
  .rpp-bk-seg__opt {
    min-width: var(--bd-touch-min);
    min-height: var(--bd-touch-min);
    font-size: 15px;
  }
  .rpp-bk .bd-btn--sm,
  .rpp-bk-sheet .bd-btn--sm {
    min-height: var(--bd-touch-min);
  }
  .rpp-bk-switch {
    min-width: 51px;
    min-height: var(--bd-touch-min);
    justify-content: center;
  }
  .rpp-bk-color__well {
    width: 44px;
    height: 44px;
  }
  .rpp-bk-hexin {
    width: 108px;
    height: var(--bd-touch-min);
    font-size: 17px;
  }
  .rpp-bk-range {
    min-height: var(--bd-touch-min);
  }
  .rpp-bk-intro {
    font: var(--bd-t-body);
  }
  .rpp-bk-hero__line,
  .rpp-bk-hero__fonts,
  .rpp-bk-hero__status,
  .rpp-bk-preview__note,
  .rpp-bk-choice__sub,
  .rpp-bk-logo__sub,
  .rpp-bk-logo__meta,
  .rpp-bk-font__sub,
  .rpp-bk-font__license {
    font: var(--bd-t-footnote);
  }
}
@media (prefers-reduced-motion: reduce) {
  .rpp-bk-choice {
    transition: none;
  }
}

/* =========================================================
   Weekful 0.1.0 — Academy nouă (js/academy/academy-*.js) și turul ghidat nou (js/tour/tour-engine.js):
   - lista: Continuă + Turul platformei (NextUp), căutarea și dispozitivul, „Pentru rolul tău”, categoriile (ListGroup) cu inelul
     progresului, modul Organizează al adminilor, rezultatele căutării, scheletul;
   - vizualizatorul pașilor: lista pașilor (stânga pe desktop, foaie pe telefon), imaginea în raportul ei real (ramă de telefon
     pentru capturile înalte), video 16:9 sau 9:16, textul pe rânduri, nota „încă netradus”, acțiunile, finalul;
   - foile Academy (video, imaginea mărită, pașii, confirmările) și editorul adminilor (Română | English, părțile, câmpurile,
     încărcarea imaginii cu progres, ciorna restaurabilă);
   - turul: voalul și inelul în jurul țintei, blocajele, cardul (popover cu săgeată pe desktop, foaie jos sau sus pe telefon).
   Strat „strict” (fără declarații forțate), doar tokeni --bd-* și clase bd-* din design-system, totul în afara .rpp-app, pe gazde
   [data-bd]. Fără blur: cardul turului și foile proprii sunt opace (lizibilitatea peste voal); sticla vine doar din bd-sheet.
   Lățimea paginii decide prin interogări de container: aceeași pagină stă lângă sidebar sau pe tot ecranul.
   ========================================================= */

.rpp-acad,
.rpp-acad-viewer {
  container-type: inline-size;
}
.rpp-acad [hidden],
.rpp-acad-viewer [hidden],
.rpp-acad-sheet [hidden],
.rpp-tour2 [hidden] {
  display: none;
}

/* ---- Sus: „Continuă de unde ai rămas” și „Turul platformei” (NextUp), unul lângă altul când pagina are loc ---- */
.rpp-acad-top__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--bd-space-md);
}
@container (min-width: 760px) {
  .rpp-acad-top__grid.is-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.rpp-acad-card {
  min-width: 0;
}
.rpp-acad-card .bd-nextup__title,
.rpp-acad-card .bd-nextup__body {
  margin: 0;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.rpp-acad-card--tour .bd-nextup__tile {
  background: var(--bd-purple);
}
.rpp-acad-card__action {
  flex: none;
  text-decoration: none;
}
@container (max-width: 420px) {
  .rpp-acad-card {
    flex-wrap: wrap;
  }
  .rpp-acad-card__action {
    flex: 1 1 100%;
  }
}

/* ---- Căutarea și dispozitivul ---- */
.rpp-acad-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm) var(--bd-space-md);
}
.rpp-acad-search {
  flex: 1 1 260px;
  min-width: 0;
}
.rpp-acad-search .bd-field__box input {
  font-size: 15px;
}
.rpp-acad-search .bd-field__box input::-webkit-search-cancel-button {
  cursor: pointer;
}
.rpp-acad-devices {
  flex: 0 1 auto;
  max-width: 100%;
}
.rpp-acad-devices .bd-seg__opt {
  min-width: 0;
}
.rpp-acad-devices .bd-seg__opt span {
  overflow: hidden;
  text-overflow: ellipsis;
}
@container (max-width: 520px) {
  .rpp-acad-devices {
    display: grid;
    width: 100%;
  }
  .rpp-acad-devices .bd-seg__opt {
    padding: 0 var(--bd-space-xs);
  }
}
@media (pointer: coarse) {
  .rpp-acad-search .bd-field__box input {
    font-size: 17px;
  }
  .rpp-acad-devices .bd-seg__opt {
    min-height: var(--bd-touch-min);
  }
}

/* ---- Rândurile: inelul progresului, titlul pe două rânduri, insignele, starea ---- */
.rpp-acad-row {
  text-decoration: none;
  color: var(--bd-label);
}
.rpp-acad-row .bd-row__title {
  white-space: normal;
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.rpp-acad-row .bd-row__sub {
  white-space: normal;
  overflow-wrap: anywhere;
}
.rpp-acad-badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
  margin-top: var(--bd-space-2xs);
}
.rpp-acad-badge .bd-icon {
  flex: none;
}
.rpp-acad-state {
  font-size: 13px;
  font-weight: 650;
  color: var(--bd-label-2);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.rpp-acad-state.is-done {
  color: var(--bd-green-ink);
}
.rpp-acad-state.is-new {
  color: var(--bd-accent-ink);
}
.rpp-acad-ring {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: var(--bd-label-2);
}
.rpp-acad-ring__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.rpp-acad-ring__track {
  fill: var(--bd-fill-4);
  stroke: var(--bd-fill-2);
  stroke-width: 2.5;
}
.rpp-acad-ring__arc {
  fill: none;
  stroke: var(--bd-accent);
  stroke-width: 2.5;
  stroke-linecap: round;
}
.rpp-acad-ring.is-started {
  color: var(--bd-accent-ink);
}
.rpp-acad-ring.is-done {
  color: var(--bd-on-accent);
}
.rpp-acad-ring.is-done .rpp-acad-ring__track {
  fill: var(--bd-success-fill);
  stroke: var(--bd-success-fill);
}
.rpp-acad-ring.is-video {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-acad-ring__icon {
  position: relative;
}
.rpp-acad-stepnum {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.rpp-acad-snippet {
  font-size: 13px;
  line-height: 18px;
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
@media (pointer: coarse) {
  .rpp-acad-state,
  .rpp-acad-snippet {
    font-size: 15px;
    line-height: 20px;
  }
}

/* ---- Organizează (adminii): săgețile, Editează, Șterge, cu ținte de 44 px pe ecranele tactile ---- */
.rpp-acad-organize {
  gap: var(--bd-space-xs);
}
.rpp-acad-row--organize:focus {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-acad-flip {
  transform: rotate(180deg);
}
.rpp-acad-organize-note {
  margin: 0;
  padding: var(--bd-space-sm) var(--bd-space-md);
  border-radius: var(--bd-radius-md);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font-size: 13px;
  line-height: 18px;
}
.rpp-acad-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
@container (max-width: 520px) {
  .rpp-acad-row--organize {
    flex-wrap: wrap;
  }
  .rpp-acad-row--organize .rpp-acad-organize {
    flex: 1 1 100%;
    justify-content: flex-end;
  }
}
@media (pointer: coarse) {
  .rpp-acad-sheet .bd-sheet__close {
    width: var(--bd-touch-min);
    height: var(--bd-touch-min);
  }
  .rpp-acad-ed__restore .bd-btn,
  .rpp-acad-organize .bd-btn,
  .rpp-acad-ed__steptools .bd-btn,
  .rpp-acad-ed__imageactions .bd-btn,
  .rpp-acad-tip .bd-btn,
  .rpp-acad-complete__todo .bd-btn {
    min-height: var(--bd-touch-min);
    min-width: var(--bd-touch-min);
  }
}

/* ---- Notele (eroarea, lista goală) și scheletul ---- */
.rpp-acad-note-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-acad-note-actions .bd-btn {
  text-decoration: none;
}
.rpp-acad--loading {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
}
.rpp-acad-progress[hidden] {
  display: none;
}
.rpp-acad-skel {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  overflow: hidden;
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-acad-skel--card {
  min-height: 96px;
  box-sizing: border-box;
  padding: var(--bd-space-lg);
}
.rpp-acad-skel--step {
  min-height: 320px;
  box-sizing: border-box;
  padding: var(--bd-space-xl);
}
.rpp-acad-skel i,
.rpp-acad-skel b {
  display: block;
  height: 12px;
  border-radius: var(--bd-radius-xs);
  background: var(--bd-fill-3);
}
.rpp-acad-skel--card i,
.rpp-acad-skel--step i {
  width: 32%;
}
.rpp-acad-skel--card b,
.rpp-acad-skel--step b {
  width: 72%;
  height: 16px;
}
.rpp-acad-skel--list {
  gap: 0;
  border-radius: var(--bd-radius-lg);
}
.rpp-acad-skel__row {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  min-height: 60px;
  padding: 0 var(--bd-space-lg);
}
.rpp-acad-skel__row i {
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
}
.rpp-acad-skel__row b {
  flex: 1;
  max-width: 60%;
}
.rpp-acad-skel::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, var(--bd-fill-4), transparent);
  transform: translateX(-100%);
  animation: rpp-acad-shimmer 1.6s var(--bd-ease-standard) infinite;
}
@keyframes rpp-acad-shimmer {
  to {
    transform: translateX(100%);
  }
}

/* =========================================================
   Vizualizatorul pașilor
   ========================================================= */
.rpp-acad-viewer {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-lg);
}
.rpp-acad-viewer__bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm);
}
.rpp-acad-viewer__spacer {
  flex: 1 1 0;
}
.rpp-acad-back {
  margin-inline-start: calc(var(--bd-space-sm) * -1);
  text-decoration: none;
}
.rpp-acad-steps-btn {
  display: none;
}
.rpp-acad-steps-btn__count {
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-acad-viewer__head {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xs);
  max-width: 72ch;
}
.rpp-acad-viewer__meta,
.rpp-acad-viewer__desc {
  margin: 0;
}
.rpp-acad-viewer__meta {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-acad-viewer__desc {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-acad-viewer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--bd-space-xl);
  align-items: start;
}
@container (min-width: 860px) {
  .rpp-acad-viewer__grid {
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  }
  .rpp-acad-viewer__grid > .rpp-acad-steps {
    position: sticky;
    top: var(--bd-space-lg);
  }
}
@container (max-width: 859px) {
  .rpp-acad-viewer__grid > .rpp-acad-steps {
    display: none;
  }
  .rpp-acad-steps-btn {
    display: inline-flex;
  }
}
@media (pointer: coarse) {
  .rpp-acad-viewer__meta {
    font: var(--bd-t-footnote);
  }
  .rpp-acad-viewer__desc {
    font: var(--bd-t-callout);
  }
}

/* ---- Sfatul „Nou” (o singură dată) ---- */
.rpp-acad-tip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-xs) var(--bd-space-sm);
  margin: 0;
  padding: var(--bd-space-sm) var(--bd-space-sm) var(--bd-space-sm) var(--bd-space-md);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font-size: 13px;
  line-height: 18px;
}
.rpp-acad-tip > span {
  flex: 1 1 220px;
  min-width: 0;
}
@media (pointer: coarse) {
  .rpp-acad-tip {
    font-size: 15px;
    line-height: 20px;
  }
}

/* ---- Lista pașilor ---- */
.rpp-acad-steps {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-md);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-acad-steps--sheet {
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.rpp-acad-steps__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0 var(--bd-space-xs);
}
.rpp-acad-steps__count {
  font-size: 13px;
  font-weight: 650;
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-acad-steps__bar {
  position: relative;
  display: block;
  height: 6px;
  overflow: hidden;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-3);
}
.rpp-acad-steps__bar span {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: inherit;
  background: var(--bd-success-fill);
  transition: width var(--bd-dur-base) var(--bd-ease-standard);
}
.rpp-acad-steps__list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-acad-steps__item {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  width: 100%;
  min-height: 36px;
  box-sizing: border-box;
  padding: 6px var(--bd-space-sm);
  border: 0;
  border-radius: var(--bd-radius-md);
  background: transparent;
  color: var(--bd-label);
  font: inherit;
  font-size: 13.5px;
  line-height: 18px;
  text-align: start;
  cursor: pointer;
}
.rpp-acad-steps__item:hover {
  background: var(--bd-fill-4);
}
.rpp-acad-steps__item:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-acad-steps__item.is-current {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font-weight: 650;
}
.rpp-acad-steps__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.rpp-acad-steps__item.is-current .rpp-acad-steps__num {
  background: var(--bd-accent);
  color: var(--bd-on-accent);
}
.rpp-acad-steps__item.is-done .rpp-acad-steps__num {
  background: var(--bd-success-fill);
  color: var(--bd-on-accent);
}
.rpp-acad-steps__title {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (pointer: coarse) {
  .rpp-acad-steps__item {
    min-height: var(--bd-touch-min);
    font-size: 17px;
    line-height: 22px;
  }
  .rpp-acad-steps__count {
    font-size: 15px;
  }
}

/* ---- Pasul: media, textul, acțiunile ---- */
.rpp-acad-step {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-lg);
  padding: var(--bd-space-lg);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  touch-action: pan-y pinch-zoom;
}
.rpp-acad-step.is-enter-next {
  animation: rpp-acad-enter-next var(--bd-dur-base) var(--bd-ease-standard);
}
.rpp-acad-step.is-enter-prev {
  animation: rpp-acad-enter-prev var(--bd-dur-base) var(--bd-ease-standard);
}
@keyframes rpp-acad-enter-next {
  from {
    opacity: 0;
    transform: translateX(24px);
  }
}
@keyframes rpp-acad-enter-prev {
  from {
    opacity: 0;
    transform: translateX(-24px);
  }
}
.rpp-acad-media {
  --rpp-acad-ratio: 1.6;
  display: flex;
  justify-content: center;
  margin: 0;
}
.rpp-acad-media__zoom {
  display: block;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: zoom-in;
  border-radius: var(--bd-radius-lg);
}
.rpp-acad-media__zoom:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 3px;
}
.rpp-acad-media--image img {
  display: block;
  max-width: 100%;
  max-height: min(62vh, 640px);
  width: auto;
  height: auto;
  aspect-ratio: var(--rpp-acad-ratio);
  object-fit: contain;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface-2);
  box-shadow: 0 0 0 1px var(--bd-separator);
}
/* capturile de telefon: rama unui telefon (colțuri mari, marginea în label), ca omul să recunoască ecranul lui */
.rpp-acad-media--image.is-tall img {
  max-height: min(66vh, 620px);
  border-radius: 28px;
  box-shadow:
    0 0 0 6px var(--bd-label),
    var(--bd-shadow-card);
}
.rpp-acad-media--image.is-tall .rpp-acad-media__zoom {
  border-radius: 28px;
  margin: 6px;
}
.rpp-acad-media.is-broken {
  display: none;
}
.rpp-acad-media--video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-video-well);
}
.rpp-acad-media--video.is-vertical {
  width: min(100%, 360px);
  aspect-ratio: 9 / 16;
  margin-inline: auto;
}
.rpp-acad-media--video.is-file {
  aspect-ratio: auto;
  display: block;
}
.rpp-acad-media--video iframe,
.rpp-acad-media--video video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.rpp-acad-media--video.is-file video {
  height: auto;
  max-height: 62vh;
}
.rpp-acad-step__text {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  max-width: 68ch;
}
.rpp-acad-step__kicker {
  margin: 0;
  font-size: 12.5px;
  font-weight: 650;
  color: var(--bd-accent-ink);
  font-variant-numeric: tabular-nums;
}
.rpp-acad-step__title {
  margin: 0;
  font: var(--bd-d-title-2);
  letter-spacing: var(--bd-d-title-2-tracking);
  color: var(--bd-label);
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.rpp-acad-step__title:focus {
  outline: none;
}
.rpp-acad-step__title:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 3px;
  border-radius: var(--bd-radius-xs);
}
.rpp-acad-step__body {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  font-size: 15px;
  line-height: 23px;
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-acad-step__body p,
.rpp-acad-step__list {
  margin: 0;
}
.rpp-acad-step__list {
  padding-inline-start: 1.25em;
}
.rpp-acad-step__list li + li {
  margin-top: var(--bd-space-2xs);
}
.rpp-acad-note {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  margin: 0;
  padding: var(--bd-space-sm) var(--bd-space-md);
  border-radius: var(--bd-radius-md);
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
  font-size: 13px;
  line-height: 18px;
}
.rpp-acad-note .bd-icon {
  flex: none;
  margin-top: 1px;
}
.rpp-acad-step__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm);
  padding-top: var(--bd-space-md);
  border-top: 1px solid var(--bd-separator);
}
.rpp-acad-step__spacer {
  flex: 1 1 0;
}
.rpp-acad-done.is-done {
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
}
@container (max-width: 520px) {
  .rpp-acad-step {
    padding: var(--bd-space-md);
  }
  .rpp-acad-step__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .rpp-acad-step__spacer {
    display: none;
  }
  .rpp-acad-done {
    grid-column: 1 / -1;
  }
}
@media (pointer: coarse) {
  .rpp-acad-step__title {
    font: var(--bd-t-title-2);
    letter-spacing: var(--bd-t-title-2-tracking);
  }
  .rpp-acad-step__body {
    font-size: 17px;
    line-height: 25px;
  }
  .rpp-acad-step__kicker {
    font-size: 15px;
  }
  .rpp-acad-note {
    font-size: 15px;
    line-height: 20px;
  }
}

/* ---- Finalul ---- */
.rpp-acad-complete {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--bd-space-md);
  padding: var(--bd-space-2xl) var(--bd-space-xl);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-acad-complete:focus {
  outline: none;
}
.rpp-acad-complete__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
}
.rpp-acad-complete.is-all .rpp-acad-complete__badge {
  background: var(--bd-success-fill);
  color: var(--bd-on-accent);
}
.rpp-acad-complete__title {
  margin: 0;
  font: var(--bd-d-title-1);
  letter-spacing: var(--bd-d-title-1-tracking);
  text-wrap: balance;
}
.rpp-acad-complete__text {
  margin: 0;
  max-width: 60ch;
  color: var(--bd-label-2);
  font-size: 15px;
  line-height: 22px;
}
.rpp-acad-complete__todo {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-acad-complete__todo .bd-btn {
  justify-content: flex-start;
  white-space: normal;
  text-align: start;
  height: auto;
  min-height: var(--bd-control-sm);
}
@media (pointer: coarse) {
  .rpp-acad-complete__todo .bd-btn {
    min-height: var(--bd-touch-min);
  }
}
.rpp-acad-complete__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-acad-complete__actions .bd-btn {
  text-decoration: none;
  white-space: normal;
  text-align: center;
  height: auto;
  min-height: var(--bd-control-md);
}
@media (pointer: coarse) {
  .rpp-acad-complete__title {
    font: var(--bd-t-title-1);
    letter-spacing: var(--bd-t-title-1-tracking);
  }
  .rpp-acad-complete__text {
    font-size: 17px;
    line-height: 24px;
  }
  .rpp-acad-complete__actions .bd-btn {
    min-height: var(--bd-touch-min);
  }
}

/* =========================================================
   Foile Academy (stiva proprie: video, imaginea mărită, pașii, confirmările, editorul)
   ========================================================= */
.rpp-acad-sheet {
  z-index: calc(var(--bd-z-sheet) + 2);
}
.rpp-acad-sheet .bd-sheet {
  background: var(--bd-material-solid);
}
.rpp-acad-sheet__text {
  margin: 0;
  color: var(--bd-label-2);
  font-size: 15px;
  line-height: 22px;
  overflow-wrap: anywhere;
}
.rpp-acad-sheet--confirm .bd-sheet--center {
  width: min(460px, 100%);
}
.rpp-acad-sheet--confirm {
  z-index: calc(var(--bd-z-sheet) + 4);
}
.rpp-acad-sheet--video .bd-sheet--center {
  width: min(420px, 100%);
}
.rpp-acad-sheet__video {
  width: min(100%, 360px);
}
.rpp-acad-sheet--zoom .bd-sheet--center {
  width: min(1100px, 100%);
}
.rpp-acad-zoom {
  display: flex;
  justify-content: center;
  overflow: auto;
}
.rpp-acad-zoom img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: var(--bd-radius-md);
}
.rpp-acad-sheet--steps .bd-sheet--center {
  width: min(480px, 100%);
}
@media (pointer: coarse) {
  .rpp-acad-sheet__text {
    font-size: 17px;
    line-height: 24px;
  }
}

/* ---- Editorul: mare în centru pe desktop și tabletă, pe toată înălțimea pe telefon ---- */
.rpp-acad-sheet--editor .bd-sheet--center {
  width: min(1040px, 100%);
  height: min(860px, 100%);
}
.rpp-acad-sheet--editor .bd-sheet--bottom {
  height: calc(100% - 24px);
  max-height: calc(100% - 24px);
}
.rpp-acad-sheet--editor .bd-sheet__body {
  padding-bottom: var(--bd-space-lg);
}
.rpp-acad-ed {
  container-type: inline-size;
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  min-height: 0;
}
.rpp-acad-ed__restore {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-sm) var(--bd-space-md);
  border-radius: var(--bd-radius-md);
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
  font-size: 13px;
}
.rpp-acad-ed__restore > span {
  flex: 1 1 200px;
}
.rpp-acad-ed__langbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-xs) var(--bd-space-md);
}
.rpp-acad-ed__lang .bd-seg__opt {
  gap: 6px;
}
.rpp-acad-ed__langcount {
  font-size: 11.5px;
  font-weight: 650;
  color: var(--bd-orange-ink);
  font-variant-numeric: tabular-nums;
}
.rpp-acad-ed__langok {
  color: var(--bd-green-ink);
}
/* pe opțiunea aleasă (fundalul gri al cursorului, mai ales pe întunecat) culoarea etichetei: contrastul rămâne AA */
.rpp-acad-ed__lang .bd-seg__opt.is-on .rpp-acad-ed__langok,
.rpp-acad-ed__lang .bd-seg__opt.is-on .rpp-acad-ed__langcount {
  color: var(--bd-label);
}
.rpp-acad-ed__langhint {
  flex: 1 1 240px;
  margin: 0;
  font-size: 12.5px;
  line-height: 17px;
  color: var(--bd-label-2);
}
.rpp-acad-ed__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--bd-space-lg);
  align-items: start;
}
@container (min-width: 700px) {
  .rpp-acad-ed__grid {
    grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
  }
  .rpp-acad-ed__back {
    display: none;
  }
}
@container (max-width: 699px) {
  .rpp-acad-ed.is-pane-list .rpp-acad-ed__form,
  .rpp-acad-ed.is-pane-form .rpp-acad-ed__nav {
    display: none;
  }
}
.rpp-acad-ed__nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--bd-space-sm);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-acad-ed__navtitle {
  margin: var(--bd-space-sm) var(--bd-space-sm) 2px;
  font-size: 12px;
  font-weight: 650;
  color: var(--bd-label-2);
}
.rpp-acad-ed__steps {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-acad-ed__item {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  width: 100%;
  min-height: 36px;
  box-sizing: border-box;
  padding: 6px var(--bd-space-sm);
  border: 0;
  border-radius: var(--bd-radius-md);
  background: transparent;
  color: var(--bd-label);
  font: inherit;
  font-size: 13.5px;
  text-align: start;
  cursor: pointer;
}
.rpp-acad-ed__item:hover {
  background: var(--bd-fill-4);
}
.rpp-acad-ed__item:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-acad-ed__item.is-current {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font-weight: 650;
}
/* Weekful 0.1.2: pasul cu o problemă nu mai are dungă roșie în stânga (principiul „fără dungi colorate laterale”, SYNC.md);
   semnul e cifra pasului pe roșu, ca o bulină de stare lângă titlu, iar la „Detalii” iconița devine roșie. */
.rpp-acad-ed__item.has-error .rpp-acad-ed__num {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--bd-red) 45%, transparent);
}
.rpp-acad-ed__item--details.has-error > .bd-icon {
  color: var(--bd-red-ink);
}
.rpp-acad-ed__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
  font-size: 12px;
  font-weight: 700;
}
.rpp-acad-ed__itemtitle {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rpp-acad-ed__dots {
  display: inline-flex;
  gap: 3px;
  flex: none;
}
.rpp-acad-ed__dots i {
  padding: 1px 4px;
  border-radius: var(--bd-radius-xs);
  background: var(--bd-fill-3);
  color: var(--bd-label-3);
  font-size: 9.5px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.rpp-acad-ed__dots i.is-on {
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
}
.rpp-acad-ed__add {
  align-self: flex-start;
  margin-top: var(--bd-space-xs);
}
.rpp-acad-ed__form {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  min-width: 0;
}
.rpp-acad-ed__back {
  align-self: flex-start;
  margin-inline-start: calc(var(--bd-space-sm) * -1);
}
.rpp-acad-ed__formhead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm);
}
.rpp-acad-ed__formtitle {
  flex: 1 1 auto;
  margin: 0;
  font: var(--bd-d-title-3);
  color: var(--bd-label);
}
.rpp-acad-ed__formtitle:focus {
  outline: none;
}
.rpp-acad-ed__steptools {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}
.rpp-acad-ed__field .bd-field__box {
  height: auto;
  min-height: var(--bd-control-lg);
}
.rpp-acad-ed__field.is-multiline .bd-field__box {
  align-items: stretch;
  padding: 10px 12px;
}
.rpp-acad-ed__field textarea,
.rpp-acad-ed__field input,
.rpp-acad-ed__field select {
  flex: 1;
  min-width: 0;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--bd-label);
  font-family: inherit;
  font-size: 14px;
  line-height: 20px;
  outline: none;
}
.rpp-acad-ed__field textarea {
  resize: vertical;
  min-height: 84px;
}
.rpp-acad-ed__field input::placeholder,
.rpp-acad-ed__field textarea::placeholder {
  color: var(--bd-label-3);
}
.rpp-acad-ed__field [aria-invalid='true'] {
  color: var(--bd-label);
}
.rpp-acad-ed__field .bd-field__box:has([aria-invalid='true']) {
  box-shadow: 0 0 0 2px var(--bd-red);
}
.rpp-acad-ed__selectbox {
  position: relative;
}
.rpp-acad-ed__selectbox select {
  appearance: none;
  height: var(--bd-control-lg);
  padding-inline-end: 22px;
  cursor: pointer;
}
.rpp-acad-ed__selectbox .bd-icon {
  position: absolute;
  right: 12px;
  pointer-events: none;
  color: var(--bd-label-2);
}
.rpp-acad-ed__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
  gap: var(--bd-space-md);
}
.rpp-acad-ed__ref {
  margin: 2px 0 0;
  padding: 6px 10px;
  border-radius: var(--bd-radius-sm);
  background: var(--bd-fill-4);
  color: var(--bd-label-2);
  font-size: 12.5px;
  line-height: 17px;
  overflow-wrap: anywhere;
  white-space: pre-line;
}
.rpp-acad-ed__ref span {
  font-weight: 650;
}
.rpp-acad-ed__error {
  margin: 0;
  color: var(--bd-red-ink);
  font-size: 12.5px;
  font-weight: 600;
}
.rpp-acad-ed__publish {
  align-self: flex-start;
  align-items: center;
  text-align: start;
}
.rpp-acad-ed__publishtext {
  display: flex;
  flex-direction: column;
}
.rpp-acad-ed__publishhint {
  font-size: 12.5px;
  font-weight: 400;
  color: var(--bd-label-2);
}
.rpp-acad-ed__media {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
}
.rpp-acad-ed__imagebox {
  display: flex;
  gap: var(--bd-space-md);
  align-items: flex-start;
}
.rpp-acad-ed__thumb,
.rpp-acad-ed__noimg {
  flex: none;
  width: 88px;
  height: 88px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  object-fit: cover;
  box-shadow: 0 0 0 1px var(--bd-separator);
}
.rpp-acad-ed__noimg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bd-label-3);
}
.rpp-acad-ed__imagefields {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  flex: 1;
  min-width: 0;
}
.rpp-acad-ed__imageactions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
}
@container (max-width: 420px) {
  .rpp-acad-ed__imagebox {
    flex-direction: column;
  }
}
.rpp-acad-ed__foot {
  align-items: center;
}
.rpp-acad-ed__status {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13px;
  color: var(--bd-label-2);
}
.rpp-acad-ed__status.is-dirty {
  color: var(--bd-orange-ink);
  font-weight: 600;
}
@media (pointer: coarse) {
  .rpp-acad-ed__item {
    min-height: var(--bd-touch-min);
    font-size: 17px;
  }
  .rpp-acad-ed__field textarea,
  .rpp-acad-ed__field input,
  .rpp-acad-ed__field select {
    font-size: 17px;
    line-height: 24px;
  }
  .rpp-acad-ed__field .bd-field__box,
  .rpp-acad-ed__field input,
  .rpp-acad-ed__selectbox select {
    min-height: var(--bd-touch-min);
  }
  .rpp-acad-ed__lang .bd-seg__opt {
    min-height: var(--bd-touch-min);
  }
  .rpp-acad-ed__langhint,
  .rpp-acad-ed__ref,
  .rpp-acad-ed__error,
  .rpp-acad-ed__publishhint,
  .rpp-acad-ed__restore,
  .rpp-acad-ed__status {
    font-size: 15px;
    line-height: 20px;
  }
  .rpp-acad-ed__publish {
    min-height: var(--bd-touch-min);
  }
  .rpp-acad-ed__foot .rpp-acad-ed__status {
    flex-basis: 100%;
  }
}

/* =========================================================
   Turul ghidat nou (tour-engine.js)
   ========================================================= */
html.rpp-tour2-open {
  overflow: hidden;
}
.rpp-tour2 {
  position: fixed;
  inset: 0;
  z-index: calc(var(--bd-z-sheet) + 6);
  pointer-events: none;
}
.rpp-tour2__block {
  position: fixed;
  pointer-events: auto;
  background: transparent;
}
.rpp-tour2.is-center .rpp-tour2__block[data-t2-block='top'] {
  background: var(--bd-scrim);
}
.rpp-tour2__ring {
  position: fixed;
  border-radius: var(--bd-radius-lg);
  box-shadow:
    0 0 0 2px var(--bd-accent),
    0 0 0 6px var(--bd-accent-tint),
    0 0 0 100vmax var(--bd-scrim);
  pointer-events: none;
  transition:
    left var(--bd-dur-base) var(--bd-ease-standard),
    top var(--bd-dur-base) var(--bd-ease-standard),
    width var(--bd-dur-base) var(--bd-ease-standard),
    height var(--bd-dur-base) var(--bd-ease-standard),
    opacity var(--bd-dur-fast);
}
.rpp-tour2__pop {
  position: fixed;
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  box-sizing: border-box;
  width: 360px;
  max-width: calc(100vw - 24px);
  padding: var(--bd-space-md) var(--bd-space-lg) var(--bd-space-md);
  border-radius: var(--bd-radius-xl);
  border: 1px solid var(--bd-separator);
  background: var(--bd-material-solid);
  box-shadow: var(--bd-shadow-popover);
  color: var(--bd-label);
  pointer-events: auto;
  transition:
    left var(--bd-dur-base) var(--bd-ease-standard),
    top var(--bd-dur-base) var(--bd-ease-standard);
}
.rpp-tour2__pop:focus {
  outline: none;
}
.rpp-tour2__pop:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-tour2__pop.is-nudge {
  animation: rpp-tour2-nudge 0.32s var(--bd-ease-standard);
}
@keyframes rpp-tour2-nudge {
  30% {
    transform: translateY(-4px);
  }
  60% {
    transform: translateY(2px);
  }
}
.rpp-tour2__arrow {
  position: absolute;
  width: 14px;
  height: 14px;
  margin: -7px;
  background: var(--bd-material-solid);
  border: 1px solid var(--bd-separator);
  transform: rotate(45deg);
}
.rpp-tour2__arrow[data-side='bottom'] {
  top: 0;
  border-right: 0;
  border-bottom: 0;
}
.rpp-tour2__arrow[data-side='top'] {
  top: 100%;
  border-left: 0;
  border-top: 0;
}
.rpp-tour2__arrow[data-side='right'] {
  left: 0;
  border-top: 0;
  border-right: 0;
}
.rpp-tour2__arrow[data-side='left'] {
  left: 100%;
  border-bottom: 0;
  border-left: 0;
}
.rpp-tour2__head {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
}
.rpp-tour2__count {
  flex: 1;
  font-size: 12.5px;
  font-weight: 650;
  color: var(--bd-accent-ink);
  font-variant-numeric: tabular-nums;
}
.rpp-tour2__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
  cursor: pointer;
}
.rpp-tour2__close:hover {
  background: var(--bd-fill-2);
  color: var(--bd-label);
}
.rpp-tour2__close:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-tour2__title {
  margin: 0;
  font: var(--bd-d-title-3);
  color: var(--bd-label);
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.rpp-tour2__body {
  margin: 0;
  font-size: 14px;
  line-height: 20px;
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-tour2__dots {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.rpp-tour2__dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--bd-fill-2);
}
.rpp-tour2__dots i.is-past {
  background: var(--bd-accent-tint);
}
.rpp-tour2__dots i.is-on {
  width: 16px;
  border-radius: 3px;
  background: var(--bd-accent);
}
.rpp-tour2__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-xs);
  margin-top: var(--bd-space-2xs);
}
.rpp-tour2__actions .bd-btn--plain {
  margin-inline-start: calc(var(--bd-space-sm) * -1);
}
.rpp-tour2__spacer {
  flex: 1 1 0;
}
/* telefonul: o foaie plutitoare, pe lățimea ecranului minus marginile, deasupra tab bar-ului (sau sub bara de sus, când ținta e
   jos): navigarea și butonul Creează rămân la vedere */
.rpp-tour2__pop.is-sheet {
  max-width: none;
  padding: var(--bd-space-lg) var(--bd-space-lg) var(--bd-space-md);
  border-radius: var(--bd-radius-2xl);
}
.rpp-tour2__pop.is-sheet .rpp-tour2__arrow {
  display: none;
}
@media (pointer: coarse) {
  .rpp-tour2__close {
    width: var(--bd-touch-min);
    height: var(--bd-touch-min);
  }
  .rpp-tour2__count {
    font-size: 15px;
  }
  .rpp-tour2__title {
    font: var(--bd-t-title-3);
  }
  .rpp-tour2__body {
    font-size: 17px;
    line-height: 24px;
  }
}
.rpp-tour2__pop.is-sheet .rpp-tour2__actions .bd-btn--filled {
  flex: 1 1 auto;
}

/* ---- Mișcarea redusă: fără glisări, fără strălucire, fără tranziții ---- */
@media (prefers-reduced-motion: reduce) {
  .rpp-acad-skel::after {
    display: none;
    animation: none;
  }
  .rpp-acad-step.is-enter-next,
  .rpp-acad-step.is-enter-prev,
  .rpp-tour2__pop.is-nudge {
    animation: none;
  }
  .rpp-acad-steps__bar span,
  .rpp-tour2__ring,
  .rpp-tour2__pop {
    transition: none;
  }
}

/* spațiul de derulare pus de turul de pe telefon sub pagină (doar cât e deschis) */
.rpp-tour2-room {
  display: block;
  flex: none;
  pointer-events: none;
}

/* =========================================================
   v0.16 (A3) — publicarea automată (js/autopost/*.js): rândul de sub câmpul linkului din lista de postare (starea, ora,
   contul, progresul real, butoanele), propoziția din grupul „Rețele”, foile (programarea pe YouTube, Facebook, Instagram
   și TikTok după regulile TikTok, detaliile cu jurnalul) și Setări › Rețele (aprobările, conturile, destinațiile, cota,
   cron-ul, alegerile implicite, publicările, jurnalul).
   Strat „strict” (fără declarații forțate), doar tokeni --bd-* și clase bd-* din design-system; totul în gazdele [data-bd]
   (foaia postării, foile shell-ului, pagina Setărilor), în afara .rpp-app. Pe ecranele tactile, orice țintă are ≥ 44 px.
   ========================================================= */

/* ---- Rândul unei rețele din lista de postare: pe rândul lui, aliniat cu câmpul linkului ---- */
.rpp-post-net:has(> .rpp-ap-line) {
  flex-wrap: wrap;
}
.rpp-ap-line {
  --rpp-ap-indent: calc(var(--bd-control-lg) + var(--bd-space-sm));
  display: flex;
  flex: 0 0 calc(100% - var(--rpp-ap-indent));
  gap: var(--bd-space-sm);
  box-sizing: border-box;
  min-width: 0;
  max-width: calc(100% - var(--rpp-ap-indent));
  margin: 2px 0 0 var(--rpp-ap-indent);
  padding: 10px 12px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-4);
  color: var(--bd-label);
}
.rpp-ap-line--accent {
  background: var(--bd-accent-tint);
}
.rpp-ap-line--success {
  background: var(--bd-green-tint);
}
.rpp-ap-line--warning {
  background: var(--bd-orange-tint);
}
.rpp-ap-line--danger {
  background: var(--bd-red-tint);
}
.rpp-ap-line__icon {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: var(--bd-label-2);
}
.rpp-ap-line--accent .rpp-ap-line__icon {
  color: var(--bd-accent-ink);
}
.rpp-ap-line--success .rpp-ap-line__icon {
  color: var(--bd-green-ink);
}
.rpp-ap-line--warning .rpp-ap-line__icon {
  color: var(--bd-orange-ink);
}
.rpp-ap-line--danger .rpp-ap-line__icon {
  color: var(--bd-red-ink);
}
.rpp-ap-line__main {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.rpp-ap-line__title {
  margin: 0;
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-ap-line__sub,
.rpp-ap-line__note {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-ap-line--danger .rpp-ap-line__note {
  color: var(--bd-red-ink);
}
.rpp-ap-line--warning .rpp-ap-line__note {
  color: var(--bd-orange-ink);
}
.rpp-ap-line__link {
  align-self: flex-start;
  font: var(--bd-d-footnote);
  font-weight: 600;
  color: var(--bd-accent-ink);
  overflow-wrap: anywhere;
}
.rpp-ap-line__link:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
  border-radius: 4px;
}
.rpp-ap-badge {
  margin-left: 6px;
  vertical-align: 1px;
}
/* insigna stă pe o bază opacă: nuanța rândului de sub ea nu-i mai scade contrastul */
.rpp-ap-badge.bd-badge--warning {
  background: linear-gradient(var(--bd-orange-tint), var(--bd-orange-tint)), var(--bd-surface);
}
.rpp-ap-line__progress .bd-progress {
  padding: 10px 12px;
  background: var(--bd-surface);
  box-shadow: none;
}
.rpp-ap-line__progress .bd-progress__meta {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.rpp-ap-line__progress .bd-progress__status,
.rpp-ap-line__progress .bd-progress__times {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}
.rpp-ap-line__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
  margin-top: 4px;
}
.rpp-ap-btn {
  height: auto;
  min-height: var(--bd-control-md);
  max-width: 100%;
  padding-block: 6px;
  white-space: normal;
  text-align: left;
}
.rpp-ap-btn.is-busy {
  cursor: progress;
}

/* ---- Grupul „Rețele” (doar citire): o propoziție sub rețea ---- */
.rpp-ap-sub {
  white-space: normal;
  overflow-wrap: anywhere;
}
.rpp-ap-sub--danger {
  color: var(--bd-red-ink);
}
.rpp-ap-sub--warning {
  color: var(--bd-orange-ink);
}
.rpp-ap-sub--success {
  color: var(--bd-green-ink);
}

/* ---- Foile: programarea, detaliile ---- */
.rpp-ap-form {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-lg);
  min-width: 0;
}
.rpp-ap-account {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  min-width: 0;
  padding: 10px 12px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-4);
}
.rpp-ap-account__pic {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
}
.rpp-ap-account__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.rpp-ap-account__label {
  font: var(--bd-d-caption);
  color: var(--bd-label-2);
}
.rpp-ap-account__name {
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-ap-account__handle {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-ap-note {
  display: flex;
  gap: 6px;
  align-items: flex-start;
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-ap-note .bd-icon {
  flex: none;
  margin-top: 1px;
}
.rpp-ap-note--warning {
  padding: 8px 10px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
}
.rpp-ap-field,
.rpp-ap-fieldset {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.rpp-ap-field__label {
  padding: 0;
  font-size: 13px;
  font-weight: 600;
  color: var(--bd-label-2);
}
.rpp-ap-field__hint {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-ap-seg {
  display: grid;
  width: 100%;
  box-sizing: border-box;
}
.rpp-ap-seg .bd-seg__opt {
  min-width: 0;
  padding: 0 8px;
  white-space: normal;
  text-align: center;
  line-height: 1.15;
}
.rpp-ap-opt {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  min-width: 0;
}
.rpp-ap-opt__text {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-ap-opt__title {
  font: var(--bd-d-body);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-ap-opt__sub {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-ap-switch {
  flex: none;
}
.rpp-ap-switch:focus-visible .bd-switch__track {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-ap-error {
  margin: 0;
  font: var(--bd-d-footnote);
  font-weight: 600;
  color: var(--bd-red-ink);
  overflow-wrap: anywhere;
}
.rpp-ap-textfield.has-error .bd-field__box,
.rpp-ap-textfield.has-error .rpp-ap-textarea {
  box-shadow: 0 0 0 2px var(--bd-red);
}
.rpp-ap-textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 96px;
  padding: 10px 12px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font: var(--bd-d-body);
  resize: vertical;
}
.rpp-ap-textarea:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 0;
}
.rpp-ap-caption {
  margin: 0;
  padding: 10px 12px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-4);
  font: var(--bd-d-body);
  color: var(--bd-label);
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.rpp-ap-choices {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-ap-choices--indent {
  margin-left: var(--bd-space-lg);
  gap: 6px;
}
.rpp-ap-choice {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  min-height: 32px;
  padding: 4px 0;
  cursor: pointer;
}
.rpp-ap-choice input {
  flex: none;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--bd-accent);
}
.rpp-ap-choice input:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-ap-choice.is-disabled {
  cursor: default;
}
.rpp-ap-choice.is-disabled .rpp-ap-choice__text > span:first-child {
  color: var(--bd-label-2);
}
.rpp-ap-choice__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  font: var(--bd-d-body);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-ap-choice__sub {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-ap-choice__sub a {
  color: var(--bd-accent-ink);
  font-weight: 600;
}
.rpp-ap-consent {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-4);
}
.rpp-ap-sheet [data-ap-submit].is-waiting {
  opacity: var(--bd-opacity-disabled);
}
.rpp-ap-sheet .bd-sheet__foot .bd-btn {
  height: auto;
  min-height: var(--bd-control-md);
  padding-block: 6px;
  white-space: normal;
  text-align: center;
}
.rpp-ap-sheet .bd-sheet__foot {
  flex-wrap: wrap;
}
.rpp-ap-kvs {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}
.rpp-ap-kv {
  display: grid;
  grid-template-columns: minmax(90px, 32%) minmax(0, 1fr);
  gap: var(--bd-space-sm);
}
.rpp-ap-kv dt {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-ap-kv dd {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-ap-kvlink {
  margin: 0;
}
.rpp-ap-kvlink a {
  font-weight: 600;
  color: var(--bd-accent-ink);
}
.rpp-ap-subtitle {
  margin: var(--bd-space-sm) 0 0;
  font: var(--bd-d-section);
  color: var(--bd-label-2);
}
.rpp-ap-muted,
.rpp-ap-empty {
  margin: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-ap-empty {
  padding: 12px 16px;
}
.rpp-ap-log {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-ap-log__item {
  display: flex;
  gap: 8px;
  min-width: 0;
}
.rpp-ap-log__icon {
  display: inline-flex;
  flex: none;
  margin-top: 2px;
  color: var(--bd-green-ink);
}
.rpp-ap-log__item--warn .rpp-ap-log__icon {
  color: var(--bd-orange-ink);
}
.rpp-ap-log__item--error .rpp-ap-log__icon {
  color: var(--bd-red-ink);
}
.rpp-ap-log__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-ap-log__msg {
  font: var(--bd-d-body);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-ap-log__meta {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-ap-log__meta code {
  font-family: var(--bd-font-mono);
  font-size: 12px;
}

/* ---- Setări › Rețele ---- */
.rpp-ap-settings {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
  min-width: 0;
}
.rpp-ap-rowactions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
  padding: 4px 16px 12px 58px;
}
.rpp-ap-rowactions .bd-btn {
  height: auto;
  min-height: var(--bd-control-md);
  max-width: 100%;
  padding-block: 6px;
  white-space: normal;
  text-align: center;
}
.rpp-ap-targethead {
  margin: 0;
  padding: 12px 16px 4px;
  font: var(--bd-d-section);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-ap-target {
  width: 100%;
  border: 0;
  background: transparent;
  font: inherit;
  text-align: left;
  color: inherit;
}
.rpp-ap-target.is-selected {
  background: var(--bd-accent-tint);
}
.rpp-ap-target.is-selected .bd-row__title {
  color: var(--bd-accent-ink);
}
.rpp-ap-target[disabled] {
  cursor: default;
  opacity: var(--bd-opacity-disabled);
}
.rpp-ap-targetpic {
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  object-fit: cover;
  background: var(--bd-fill-3);
}
.rpp-ap-check {
  display: inline-flex;
  color: var(--bd-accent-ink);
}
.rpp-ap-segrow {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 16px;
}
.rpp-ap-segrow__label {
  font: var(--bd-d-body);
  color: var(--bd-label);
}
.rpp-ap-filters {
  padding: 12px 16px 6px;
}
.rpp-ap-logbox {
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-ap-logbox__summary {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  min-height: 48px;
  padding: 0 16px;
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
  list-style: none;
  cursor: pointer;
}
.rpp-ap-logbox__summary::-webkit-details-marker {
  display: none;
}
.rpp-ap-logbox__summary:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
  border-radius: var(--bd-radius-lg);
}
.rpp-ap-logbox__count {
  margin-left: auto;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-ap-logbox__chev {
  flex: none;
  color: var(--bd-label-2);
  transition: transform var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-ap-logbox[open] .rpp-ap-logbox__chev {
  transform: rotate(180deg);
}
.rpp-ap-logbox__body {
  padding: 4px 16px 16px;
}
.rpp-ap-progressbox:empty {
  display: none;
}

/* ---- Ecranele tactile: țintele de cel puțin 44 px, textele după scala iOS ---- */
@media (pointer: coarse) {
  .rpp-ap-line {
    --rpp-ap-indent: calc(var(--bd-touch-min) + var(--bd-space-sm));
  }
  .rpp-ap-btn,
  .rpp-ap-rowactions .bd-btn,
  .rpp-ap-sheet .bd-sheet__foot .bd-btn {
    min-height: var(--bd-touch-min);
  }
  .rpp-ap-line__link,
  .rpp-ap-kvlink a {
    display: inline-flex;
    align-items: center;
    min-height: var(--bd-touch-min);
  }
  .rpp-ap-seg .bd-seg__opt {
    min-height: var(--bd-touch-min);
  }
  .rpp-ap-switch {
    min-width: 51px;
    min-height: var(--bd-touch-min);
    justify-content: center;
  }
  .rpp-ap-choice {
    min-height: var(--bd-touch-min);
    align-items: center;
  }
  .rpp-ap-choice input {
    width: 22px;
    height: 22px;
    margin: 0;
  }
  .rpp-ap-choice__sub a {
    display: inline-flex;
    align-items: center;
    min-height: var(--bd-touch-min);
  }
  .rpp-ap-line__title,
  .rpp-ap-account__name {
    font: var(--bd-t-headline);
  }
  .rpp-ap-line__sub,
  .rpp-ap-line__note,
  .rpp-ap-note,
  .rpp-ap-field__hint,
  .rpp-ap-opt__sub,
  .rpp-ap-choice__sub,
  .rpp-ap-log__meta {
    font: var(--bd-t-subheadline);
  }
  .rpp-ap-opt__title,
  .rpp-ap-choice__text,
  .rpp-ap-caption,
  .rpp-ap-log__msg,
  .rpp-ap-kv dd {
    font: var(--bd-t-body);
  }
  .rpp-ap-textarea {
    font-size: 17px;
  }
  .rpp-ap-logbox__summary {
    min-height: 56px;
  }
}

/* ---- Ecranele înguste: rândul ocupă toată lățimea (după regulile tactile, care schimbă indentarea) ---- */
@media (max-width: 480px) {
  .rpp-ap-line {
    --rpp-ap-indent: 0px;
  }
  .rpp-ap-rowactions {
    padding-left: 16px;
  }
}

/* [hidden] câștigă peste display-ul de mai sus (erorile goale, bara de progres încă ascunsă) */
.rpp-ap-line [hidden],
.rpp-ap-sheet [hidden],
.rpp-ap-settings [hidden] {
  display: none;
}

/* =========================================================
   Weekful 0.1.1 — „Sarcini” (js/tasks/*.js): cozile (SegmentedControl pe tabletă și desktop, pastile pe telefon), căutarea
   și filtrele, lista pe grupuri (ListGroup + ListRow pe telefon; ca în Finder pe ecranele late: coloanele Postare · Rubrică ·
   Cine · Termen, cu capul lor), acțiunea principală a rândului, foaia filtrelor și cea de confirmare, scheletul și bara de
   progres, pagina postării alături de listă pe desktop lat (≥ 1440 px, html[data-rpp-tasks-dock]).
   Strat „strict” (fără declarații forțate), doar tokeni --bd-* și clase bd-* din design-system; totul în gazda [data-bd] a
   shell-ului, în afara .rpp-app. Fără blur: lista e conținut (surface). Pe ecranele tactile, fiecare țintă are 44 px.
   Așezarea o decide lățimea paginii (container rpp-tasks): aceeași pagină stă lângă sidebar, lângă foaia postării sau pe tot
   ecranul.
   ========================================================= */

.rpp-tasks {
  container: rpp-tasks / inline-size;
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-lg);
  min-width: 0;
}
.rpp-tasks-controls {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  min-width: 0;
}

/* ---- Cozile: SegmentedControl (tabletă, desktop), cu numărul fiecăreia ---- */
.rpp-tasks-queues {
  align-self: flex-start;
  max-width: 100%;
}
.rpp-tasks-queues .bd-seg__opt {
  gap: var(--bd-space-sm);
  text-decoration: none;
}
html:not([data-rpp-shell='desktop']) .rpp-tasks-queues .bd-seg__opt {
  min-height: var(--bd-touch-min);
}
.rpp-tasks-count {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  box-sizing: border-box;
  padding: 0 6px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font-size: 12px;
  font-weight: 650;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
/* coada aleasă: bulina plină de accent; cu întârziate: bulina roșie (badge), ca insigna Sarcinilor (alb pe ele ≥ 4,5:1) */
.is-on > .rpp-tasks-count {
  background: var(--bd-accent);
  color: var(--bd-on-accent);
}
.rpp-tasks-count.is-late,
.is-on > .rpp-tasks-count.is-late {
  background: var(--bd-badge);
  color: var(--bd-on-accent);
}
.rpp-tasks-single {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  margin: 0;
  font: var(--bd-d-title-2);
  color: var(--bd-label);
}

/* ---- Pastilele: cozile pe telefon (un rând care se derulează lateral), „Doar ale mele” și rubricile, cipurile filtrelor ---- */
.rpp-tasks-qpills {
  margin: 0 calc(-1 * var(--bd-gutter-compact));
  padding: 2px var(--bd-gutter-compact);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.rpp-tasks-qpills::-webkit-scrollbar {
  display: none;
}
.rpp-tasks-qpills__row {
  display: flex;
  gap: var(--bd-space-sm);
  width: max-content;
}
.rpp-tasks-qpill,
.rpp-tasks-pill,
.rpp-tasks-chip {
  display: inline-flex;
  flex: none;
  align-items: center;
  gap: 6px;
  min-height: var(--bd-control-md);
  box-sizing: border-box;
  margin: 0;
  padding: 0 14px;
  border: 0;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font: 600 13px/1.2 var(--bd-font-sans);
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--bd-dur-fast) var(--bd-ease-standard);
}
.rpp-tasks-qpill:hover,
.rpp-tasks-pill:hover {
  background: var(--bd-fill-2);
}
.rpp-tasks-qpill.is-on,
.rpp-tasks-pill.is-on,
.rpp-tasks-chip {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-tasks-qpill:focus-visible,
.rpp-tasks-pill:focus-visible,
.rpp-tasks-chip:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-tasks-qpill .bd-icon,
.rpp-tasks-pill .bd-icon,
.rpp-tasks-chip .bd-icon {
  flex: none;
}
.rpp-tasks-dot {
  display: inline-block;
  flex: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* ---- Căutarea și filtrele ---- */
.rpp-tasks-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm);
  min-width: 0;
}
.rpp-tasks-search {
  flex: 1 1 240px;
  min-width: 0;
  max-width: 420px;
}
.rpp-tasks.is-compact .rpp-tasks-search {
  flex-basis: 0;
  max-width: none;
}
.rpp-tasks-search input {
  font-size: 14px;
}
.rpp-tasks-series {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-tasks-filterbtn {
  position: relative;
  flex: none;
  min-width: var(--bd-control-md);
  padding: 0;
}
.rpp-tasks-filterbtn.is-on {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-tasks-filterbtn__n {
  position: absolute;
  top: 3px;
  inset-inline-end: 3px;
  min-width: 16px;
  height: 16px;
  box-sizing: border-box;
  padding: 0 4px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-accent);
  color: var(--bd-on-accent);
  font: 700 11px/16px var(--bd-font-sans);
  text-align: center;
}
.rpp-tasks-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}

/* ---- Lista: grupurile (ListGroup), rândurile (ListRow): tot rândul deschide postarea, butonul e acțiunea ---- */
.rpp-tasks-list {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-2xl);
  min-width: 0;
}
.rpp-tasks-rows {
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-tasks-row {
  align-items: center;
}
.rpp-tasks-row .bd-row__lead {
  align-self: flex-start;
  padding-top: 2px;
}
.rpp-tasks-main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
/* linkul acoperă tot rândul (tile-ul inclus); inelul de focus e al rândului întreg */
.rpp-tasks-main::after {
  content: '';
  position: absolute;
  inset: 0;
}
.rpp-tasks-main:focus-visible {
  outline: none;
}
.rpp-tasks-main:focus-visible::after {
  outline: 2px solid var(--bd-focus);
  outline-offset: -2px;
}
.rpp-tasks-row:hover {
  background: var(--bd-fill-4);
}
.rpp-tasks-row.is-selected {
  background: var(--bd-accent-tint);
}
.rpp-tasks-trail {
  position: relative;
  z-index: 1;
}
.rpp-tasks-act {
  flex: none;
  text-decoration: none;
  white-space: nowrap;
}
/* telefonul: două acțiuni (Verifică · Aprobă) stau pe rândul lor, sub text, la dreapta; textul păstrează toată lățimea */
.rpp-tasks.is-compact .rpp-tasks-row.has-two {
  flex-wrap: wrap;
}
.rpp-tasks.is-compact .rpp-tasks-row.has-two .rpp-tasks-trail {
  flex: 1 1 100%;
  justify-content: flex-end;
}
.rpp-tasks-cell--title {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-tasks-title,
.rpp-tasks-cell--title .bd-row__sub {
  white-space: normal;
  overflow-wrap: anywhere;
}
.rpp-tasks-due {
  font-size: 13px;
  line-height: 17px;
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-tasks-due.is-late {
  color: var(--bd-red-ink);
  font-weight: 600;
}
.rpp-tasks-flags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-xs);
  margin-top: var(--bd-space-2xs);
}
.rpp-tasks-nets {
  font-size: 13px;
  line-height: 17px;
  font-weight: 600;
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-tasks-wide {
  display: none;
}
.rpp-tasks-avatar {
  display: inline-flex;
  flex: none;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
}
@media (pointer: coarse) {
  .rpp-tasks-qpill,
  .rpp-tasks-pill,
  .rpp-tasks-chip {
    min-height: var(--bd-touch-min);
    font-size: 15px;
  }
  .rpp-tasks-filterbtn {
    min-width: var(--bd-touch-min);
  }
  .rpp-tasks-search input {
    font-size: 17px;
  }
  .rpp-tasks-due,
  .rpp-tasks-nets {
    font-size: 15px;
    line-height: 20px;
  }
  .rpp-tasks-row:hover {
    background: transparent;
  }
  .rpp-tasks-row.is-selected {
    background: var(--bd-accent-tint);
  }
}

/* ---- Ecranele late: ca în Finder — un singur card, capul coloanelor, grupurile ca rânduri de titlu, coloanele ---- */
@container rpp-tasks (min-width: 840px) {
  .rpp-tasks-narrow {
    display: none;
  }
  .rpp-tasks-list.has-rows {
    gap: 0;
    overflow: hidden;
    border-radius: var(--bd-radius-lg);
    background: var(--bd-surface);
    box-shadow: var(--bd-shadow-card);
  }
  .rpp-tasks-colhead {
    display: grid;
    grid-template-columns:
      32px minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 1.2fr) minmax(0, 1.7fr)
      184px;
    column-gap: 12px;
    align-items: center;
    padding: 10px 14px 8px;
    border-bottom: 1px solid var(--bd-separator);
    font: var(--bd-d-caption);
    color: var(--bd-label-2);
  }
  .rpp-tasks-group {
    gap: 0;
  }
  .rpp-tasks-group + .rpp-tasks-group {
    border-top: 1px solid var(--bd-separator);
  }
  .rpp-tasks-group .bd-listgroup__head {
    align-items: center;
    padding: 8px 14px;
    background: var(--bd-surface-2);
  }
  .rpp-tasks-group .bd-listgroup__title {
    font: var(--bd-d-body-strong);
  }
  .rpp-tasks-group--late .bd-listgroup__title {
    color: var(--bd-red-ink);
  }
  .rpp-tasks-group .bd-listgroup__meta {
    font: var(--bd-d-footnote);
  }
  .rpp-tasks-group .bd-listgroup__body {
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .rpp-tasks-group .bd-listgroup__foot {
    padding: 2px 14px 10px 58px;
  }
  .rpp-tasks-main {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) minmax(0, 1.2fr) minmax(0, 1.7fr);
    column-gap: 12px;
    align-items: center;
  }
  .rpp-tasks-row .bd-row__lead {
    align-self: center;
    padding-top: 0;
  }
  .rpp-tasks-trail {
    justify-content: flex-end;
    width: 184px;
  }
  .rpp-tasks-cell.rpp-tasks-wide {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    min-width: 0;
    font-size: 13px;
    line-height: 17px;
    color: var(--bd-label-2);
    overflow-wrap: anywhere;
  }
  .rpp-tasks-cell.rpp-tasks-cell--who {
    color: var(--bd-label);
  }
  .rpp-tasks-cell.rpp-tasks-cell--due {
    flex-direction: column;
    align-items: flex-start;
  }
}
@container rpp-tasks (min-width: 840px) {
  @media (pointer: coarse) {
    .rpp-tasks-cell.rpp-tasks-wide {
      font-size: 15px;
      line-height: 20px;
    }
    .rpp-tasks-colhead {
      font: var(--bd-t-footnote);
    }
  }
}

/* ---- Foaia filtrelor (telefonul) și foaia de confirmare ---- */
.rpp-tasks-sheet {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
}
.rpp-tasks-sheet__title {
  margin: var(--bd-space-sm) 0 0;
  padding: 0 4px;
  font: var(--bd-t-headline);
  color: var(--bd-label);
}
.rpp-tasks-sheet__sub {
  white-space: normal;
}
.rpp-tasks-srow {
  min-height: var(--bd-touch-min);
}
.rpp-tasks-srow__check {
  color: var(--bd-accent-ink);
}
.rpp-tasks-sheet__text {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-tasks-sheet__text + .rpp-tasks-sheet__text {
  margin-top: var(--bd-space-sm);
}
@media (pointer: coarse) {
  .rpp-tasks-sheet__text {
    font: var(--bd-t-callout);
  }
}

/* ---- Încărcarea: scheletul (fără strălucire cu „Reducere mișcare”), bara de progres după 2,5 s, notele ---- */
.rpp-tasks--loading {
  gap: var(--bd-space-2xl);
}
.rpp-tasks-progress[hidden] {
  display: none;
}
.rpp-tasks-skel {
  position: relative;
  overflow: hidden;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-tasks-skel--bar {
  width: min(100%, 420px);
  height: 36px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  box-shadow: none;
}
.rpp-tasks-skel__row {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  min-height: 60px;
  padding: 0 var(--bd-space-lg);
}
.rpp-tasks-skel__row i,
.rpp-tasks-skel__row b {
  display: block;
  border-radius: var(--bd-radius-xs);
  background: var(--bd-fill-3);
}
.rpp-tasks-skel__row i {
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 9px;
}
.rpp-tasks-skel__row b {
  flex: 1;
  max-width: 60%;
  height: 12px;
}
.rpp-tasks-skel::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent, var(--bd-fill-4), transparent);
  transform: translateX(-100%);
  animation: rpp-tasks-shimmer 1.6s var(--bd-ease-standard) infinite;
}
@keyframes rpp-tasks-shimmer {
  to {
    transform: translateX(100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .rpp-tasks-skel::after {
    display: none;
    animation: none;
  }
}
.rpp-tasks-note-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-tasks-host .rpp-appshell-note .bd-btn {
  text-decoration: none;
}

/* ---- Desktop lat (≥ 1440 px, html[data-rpp-tasks-dock], pus de tasks-view.js): pagina postării stă lângă listă, ca panoul
   de detalii din Finder — fără voal, lista rămâne de folosit și nu stă sub foaie; foaia e nemodală (post-view.js) ---- */
html.rpp-post-open[data-rpp-tasks-dock] {
  overflow: visible;
}
html.rpp-post-open[data-rpp-tasks-dock] body {
  padding-inline-end: calc(480px + var(--bd-space-md) * 2);
}
html[data-rpp-tasks-dock] .rpp-post-layer {
  inset-inline-start: auto;
  width: calc(480px + var(--bd-space-md) * 2);
}
html[data-rpp-tasks-dock] .rpp-post-layer > .bd-scrim {
  display: none;
}

/* =========================================================
   Weekful 0.1.1 — pagina întreagă și ecranele contului, pe sistemul de design.
   Strat „strict” (fără declarații forțate). Doar tokeni --bd-* și clase bd-*; sticla nu apare aici.
   1. Pagina platformei (html.rpp-page, RPP_Pages + templates/rpp-page.php): fundalul --bd-bg, textul, fără marginile temei.
      Header-ul și footer-ul Bricks sunt goale; regulile vechi de fundal (shell-global.css, shell-fixes.css) ocolesc .rpp-page.
   2. Ecranele contului (RPP_Auth_UI, clasele rpp-acct*): autentificarea, contul nou, parola uitată și cea nouă (și invitația),
      „verifică-ți e-mailul”, contul în așteptare sau respins, deconectarea. Un card în centru, logotipul deasupra, o singură
      acțiune principală, erorile sub câmp, zona sigură a telefonului, ținte de 44 px pe ecranele tactile.
   3. wp-login.php (paginile WordPress rămase: autentificarea adminilor, deconectarea WordPress): logotipul și culorile Weekful.
   ========================================================= */

/* ---- 1. Pagina platformei ---- */
html.rpp-page {
  background: var(--bd-bg);
  color-scheme: light;
}
html.rpp-page[data-rpp-theme='dark'] {
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  html.rpp-page:not([data-rpp-theme]),
  html.rpp-page[data-rpp-theme='auto'] {
    color-scheme: dark;
  }
}
html.rpp-page body {
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  background: var(--bd-bg);
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
/* scrim-ul barei de stare din PWA (shell-global.css) nu e nevoie pe ecranele contului: acolo fundalul e al paginii */
html.rpp-page--auth::before {
  content: none;
}

/* ---- 2. Ecranele contului ---- */
.rpp-acct,
.rpp-acct *,
.rpp-acct *::before,
.rpp-acct *::after {
  box-sizing: border-box;
}
.rpp-acct {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 100vh;
  min-height: 100dvh;
  padding: max(var(--bd-space-4xl), env(safe-area-inset-top, 0px))
    max(var(--bd-gutter-compact), env(safe-area-inset-right, 0px))
    max(var(--bd-space-3xl), env(safe-area-inset-bottom, 0px))
    max(var(--bd-gutter-compact), env(safe-area-inset-left, 0px));
  background: var(--bd-bg);
  color: var(--bd-label);
}
@media (min-height: 760px) {
  .rpp-acct {
    align-items: center;
  }
}
.rpp-acct__wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--bd-space-xl);
  width: min(100%, 400px);
}
.rpp-acct[data-rpp-acct='signup'] .rpp-acct__wrap {
  width: min(100%, 460px);
}
.rpp-acct__brand {
  display: flex;
  justify-content: center;
}
.rpp-acct__home {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: var(--bd-space-sm);
  border-radius: var(--bd-radius-md);
  color: var(--bd-label);
  text-decoration: none;
}
.rpp-acct__home:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-acct__logo.rpp-brand-logo {
  width: 136px;
}

/* cardul: suprafața opacă a conținutului, fără sticlă */
.rpp-acct__card {
  width: 100%;
  padding: var(--bd-space-3xl) var(--bd-space-2xl) var(--bd-space-2xl);
  border-radius: var(--bd-radius-2xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-acct__glyph {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin: 0 auto var(--bd-space-lg);
  border-radius: 50%;
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-acct__glyph--success {
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
}
.rpp-acct__glyph--warning {
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
}
.rpp-acct__glyph--danger {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.rpp-acct__kicker {
  margin: 0 0 var(--bd-space-xs);
  font: var(--bd-d-footnote);
  font-weight: 600;
  color: var(--bd-accent-ink);
  text-align: center;
}
.rpp-acct__title {
  margin: 0;
  font: var(--bd-d-title-1);
  letter-spacing: var(--bd-d-title-1-tracking);
  color: var(--bd-label);
  text-align: center;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.rpp-acct__lead {
  margin: var(--bd-space-sm) 0 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  text-align: center;
  text-wrap: pretty;
  overflow-wrap: anywhere;
}
.rpp-acct__lead strong {
  font-weight: 600;
  color: var(--bd-label);
}

/* anunțul de sus: ce s-a întâmplat (deconectat, link expirat, o blocare) */
.rpp-acct__notice {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  margin-top: var(--bd-space-lg);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font: var(--bd-d-callout);
  font-weight: 500;
  overflow-wrap: anywhere;
}
.rpp-acct__notice .bd-icon {
  flex: none;
  margin-top: 0;
}
.rpp-acct__notice--success {
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
}
.rpp-acct__notice--danger {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}

/* formularele */
.rpp-acct__form {
  display: grid;
  gap: var(--bd-space-lg);
  margin: var(--bd-space-2xl) 0 0;
}
.rpp-acct__form--inline {
  margin-top: var(--bd-space-lg);
}
.rpp-acct__pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--bd-space-md);
}
@media (max-width: 440px) {
  .rpp-acct__pair {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--bd-space-lg);
  }
}
.rpp-acct .bd-field__label {
  color: var(--bd-label);
}
.rpp-acct .bd-field__box {
  position: relative;
  height: 44px;
  padding: 0 var(--bd-space-md);
}
.rpp-acct .bd-field__box input,
.rpp-acct .bd-field__box select {
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--bd-label);
  font-family: inherit;
  font-size: 15px;
  outline: none;
  box-shadow: none;
}
.rpp-acct .bd-field__box input:-webkit-autofill {
  -webkit-text-fill-color: var(--bd-label);
  box-shadow: 0 0 0 40px var(--bd-surface-2) inset;
  caret-color: var(--bd-label);
}
.rpp-acct .bd-field__box input[readonly] {
  color: var(--bd-label-2);
}
.rpp-acct-field--select .bd-field__box select {
  appearance: none;
  -webkit-appearance: none;
  padding-inline-end: var(--bd-space-2xl);
  cursor: pointer;
}
/* săgeata listei (popup button): desenată din margini, în culoarea temei */
.rpp-acct-field--select .bd-field__box::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 16px;
  width: 7px;
  height: 7px;
  margin-top: -6px;
  border-right: 1.75px solid var(--bd-label-2);
  border-bottom: 1.75px solid var(--bd-label-2);
  transform: rotate(45deg);
  pointer-events: none;
}
.rpp-acct-field.is-invalid .bd-field__box {
  box-shadow: inset 0 0 0 1.5px var(--bd-red);
}
.rpp-acct-field.is-invalid .bd-field__box:focus-within {
  box-shadow:
    inset 0 0 0 1.5px var(--bd-red),
    0 0 0 2px var(--bd-focus);
}
.rpp-acct-field__error {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  font: var(--bd-d-footnote);
  font-weight: 500;
  color: var(--bd-red-ink);
  overflow-wrap: anywhere;
}
.rpp-acct-field__error:empty {
  display: none;
}
.rpp-acct-field__error .bd-icon {
  flex: none;
  width: 14px;
  height: 14px;
  margin-top: 1px;
}
.rpp-acct .bd-field__hint {
  margin: 0;
  color: var(--bd-label-2);
}
.rpp-acct-field.is-invalid .bd-field__hint {
  display: none;
}

/* „Arată parola”: ochiul; apăsat, o linie peste el (ochiul tăiat), ca în câmpurile de parolă din iOS */
.rpp-acct-reveal {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 32px;
  height: 32px;
  margin-inline-end: -6px;
  border: 0;
  padding: 0;
  border-radius: var(--bd-radius-sm);
  background: transparent;
  color: var(--bd-label-2);
  cursor: pointer;
}
.rpp-acct-reveal[hidden] {
  display: none;
}
.rpp-acct-reveal:hover {
  color: var(--bd-label);
}
.rpp-acct-reveal:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 0;
}
.rpp-acct-reveal[aria-pressed='true']::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 22px;
  height: 1.75px;
  border-radius: 1px;
  background: currentColor;
  box-shadow: 0 0 0 1.5px var(--bd-fill-3);
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* „Ține-mă minte”: Switch-ul sistemului de design peste o căsuță nativă (trimite rememberme ca înainte) */
.rpp-acct__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--bd-space-sm) var(--bd-space-lg);
}
.rpp-acct-remember {
  position: relative;
  min-height: 32px;
  color: var(--bd-label);
}
.rpp-acct-remember__input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.rpp-acct-remember__input:checked + .bd-switch__track {
  background: var(--bd-green);
  box-shadow: none;
}
.rpp-acct-remember__input:checked + .bd-switch__track .bd-switch__knob {
  transform: translateX(16px);
}
.rpp-acct-remember__input:focus-visible + .bd-switch__track {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}

/* linkurile: accent-ink, subliniate la hover */
.rpp-acct__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border-radius: var(--bd-radius-xs);
  color: var(--bd-accent-ink);
  font-weight: 600;
  text-decoration: none;
}
.rpp-acct__link:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.rpp-acct__link:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}

/* butoanele: principalul pe toată lățimea; în timpul trimiterii, un cerc care se rotește (fără el cu mișcare redusă) */
.rpp-acct__submit,
.rpp-acct__secondary {
  width: 100%;
  height: 44px;
  font-size: 15px;
}
.rpp-acct__submit[data-busy] {
  cursor: progress;
  opacity: 0.86;
}
.rpp-acct__submit[data-busy]::before {
  content: '';
  width: 16px;
  height: 16px;
  flex: none;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: rpp-acct-spin 0.8s linear infinite;
}
@keyframes rpp-acct-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .rpp-acct__submit[data-busy]::before {
    animation: none;
    border-right-color: currentColor;
    opacity: 0.6;
  }
}
.rpp-acct__actions {
  display: grid;
  gap: var(--bd-space-sm);
  margin-top: var(--bd-space-2xl);
}

/* contul (autentificat sau pentru care se schimbă parola) */
.rpp-acct__account {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  margin-top: var(--bd-space-xl);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-surface-2);
  color: var(--bd-label-2);
  font: var(--bd-d-callout);
  overflow-wrap: anywhere;
}
.rpp-acct__form .rpp-acct__account {
  margin-top: 0;
}
.rpp-acct__account .bd-icon {
  flex: none;
}
/* numele contului pentru managerul de parole (ecranul parolei noi): prezent în formular, nevăzut */
.rpp-acct__username {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  font-size: 16px;
  white-space: nowrap;
}
.rpp-acct__note {
  margin: var(--bd-space-xl) 0 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  text-align: center;
  text-wrap: pretty;
}

/* sub card: „Nu ai încă un cont?”, „Înapoi la autentificare” */
.rpp-acct__below {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  text-align: center;
}
.rpp-acct__back .bd-icon {
  margin-inline-start: -4px;
}

/* jos: limba (SegmentedControl cu linkuri) și girul „by BethanyDEV” */
.rpp-acct__foot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--bd-space-lg);
  margin-top: var(--bd-space-sm);
}
.rpp-acct__lang .bd-seg__opt {
  text-decoration: none;
}
.rpp-acct__endorsement.rpp-brand-endorsement {
  width: 104px;
}

/* ecranele tactile: textul grupului Touch, ținte de cel puțin 44 px, câmpuri de 17 px (iOS nu mărește pagina) */
@media (pointer: coarse) {
  .rpp-acct__title {
    font: var(--bd-t-title-1);
    letter-spacing: var(--bd-t-title-1-tracking);
  }
  .rpp-acct__lead,
  .rpp-acct__below {
    font: var(--bd-t-subheadline);
  }
  .rpp-acct__notice,
  .rpp-acct__account,
  .rpp-acct__note {
    font: var(--bd-t-footnote);
    font-size: 15px;
  }
  .rpp-acct .bd-field__label {
    font-size: 15px;
  }
  .rpp-acct .bd-field__box {
    height: 50px;
  }
  .rpp-acct .bd-field__box input,
  .rpp-acct .bd-field__box select {
    font-size: 17px;
  }
  .rpp-acct-field__error,
  .rpp-acct .bd-field__hint {
    font: var(--bd-t-footnote);
  }
  .rpp-acct-reveal {
    width: 44px;
    height: 44px;
    margin-inline-end: -10px;
  }
  .rpp-acct-remember {
    min-height: 44px;
  }
  .rpp-acct__link {
    min-height: 44px;
  }
  .rpp-acct__submit,
  .rpp-acct__secondary {
    height: 50px;
    font-size: 17px;
  }
  .rpp-acct__lang .bd-seg__opt {
    height: 44px;
    padding: 0 var(--bd-space-lg);
  }
}
@media (max-width: 599px) {
  .rpp-acct {
    padding-top: max(var(--bd-space-3xl), env(safe-area-inset-top, 0px));
  }
  .rpp-acct__card {
    padding: var(--bd-space-2xl) var(--bd-space-lg) var(--bd-space-xl);
    border-radius: var(--bd-radius-xl);
  }
}

/* ---- 3. wp-login.php în marca Weekful (RPP_Auth: login_enqueue_scripts, login_head, clasa rpp-wp-login) ---- */
body.login.rpp-wp-login {
  background: var(--bd-bg);
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
}
body.rpp-wp-login #login {
  width: min(100% - 32px, 380px);
  padding: max(8vh, env(safe-area-inset-top, 0px)) 0 var(--bd-space-3xl);
}
body.rpp-wp-login h1 a {
  width: 168px;
  height: 44px;
  margin: 0 auto var(--bd-space-xl);
  background-image: url('../brand/weekful-logo.svg');
  background-size: 168px 34px;
  background-position: center;
}
html[data-rpp-theme='dark'] body.rpp-wp-login h1 a {
  background-image: url('../brand/weekful-logo-on-dark.svg');
}
@media (prefers-color-scheme: dark) {
  html:not([data-rpp-theme]) body.rpp-wp-login h1 a,
  html[data-rpp-theme='auto'] body.rpp-wp-login h1 a {
    background-image: url('../brand/weekful-logo-on-dark.svg');
  }
}
body.rpp-wp-login form {
  margin-top: 0;
  padding: var(--bd-space-2xl);
  border: 0;
  border-radius: var(--bd-radius-2xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  color: var(--bd-label);
}
body.rpp-wp-login label {
  color: var(--bd-label);
  font-size: 14px;
  font-weight: 600;
}
body.rpp-wp-login form input[type='text'],
body.rpp-wp-login form input[type='password'],
body.rpp-wp-login form input[type='email'] {
  min-height: 44px;
  border: 0;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  box-shadow: none;
  color: var(--bd-label);
  font-size: 16px;
}
body.rpp-wp-login form input[type='text']:focus,
body.rpp-wp-login form input[type='password']:focus,
body.rpp-wp-login form input[type='email']:focus {
  box-shadow: 0 0 0 2px var(--bd-focus);
  outline: none;
}
body.rpp-wp-login .button.wp-hide-pw {
  min-height: 44px;
  color: var(--bd-label-2);
}
body.rpp-wp-login .button.wp-hide-pw:focus {
  box-shadow: 0 0 0 2px var(--bd-focus);
}
body.rpp-wp-login.wp-core-ui .button-primary {
  min-height: 44px;
  padding: 0 var(--bd-space-xl);
  border: 0;
  border-radius: 12px;
  background: var(--bd-accent);
  box-shadow: var(--bd-shadow-button);
  color: var(--bd-on-accent);
  font-size: 15px;
  font-weight: 600;
  text-shadow: none;
}
body.rpp-wp-login.wp-core-ui .button-primary:hover,
body.rpp-wp-login.wp-core-ui .button-primary:focus {
  background: var(--bd-accent);
  color: var(--bd-on-accent);
  filter: brightness(1.08);
}
body.rpp-wp-login.wp-core-ui .button-primary:focus {
  box-shadow:
    0 0 0 2px var(--bd-bg),
    0 0 0 4px var(--bd-focus);
}
body.rpp-wp-login #nav,
body.rpp-wp-login #backtoblog,
body.rpp-wp-login .privacy-policy-page-link {
  padding: 0;
  text-align: center;
}
body.rpp-wp-login #nav a,
body.rpp-wp-login #backtoblog a,
body.rpp-wp-login .privacy-policy-page-link a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--bd-accent-ink);
  font-weight: 600;
  text-decoration: none;
}
body.rpp-wp-login #nav a:hover,
body.rpp-wp-login #backtoblog a:hover {
  color: var(--bd-accent-ink);
  text-decoration: underline;
}
body.rpp-wp-login .message,
body.rpp-wp-login .notice,
body.rpp-wp-login #login_error {
  margin-bottom: var(--bd-space-lg);
  border: 0;
  border-radius: var(--bd-radius-md);
  background: var(--bd-accent-tint);
  box-shadow: none;
  color: var(--bd-accent-ink);
}
body.rpp-wp-login #login_error,
body.rpp-wp-login .notice-error {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
body.rpp-wp-login #login_error a,
body.rpp-wp-login .message a {
  color: inherit;
}
body.rpp-wp-login .forgetmenot label {
  font-weight: 500;
}
body.rpp-wp-login input[type='checkbox'] {
  border-color: var(--bd-control-edge);
  background: var(--bd-surface-2);
  accent-color: var(--bd-accent);
}
body.rpp-wp-login .wp-tooltip__toggle {
  color: var(--bd-label-2);
}
/* ecranele tactile: ținte de 44 px și textul butonului de 17 px și pe paginile WordPress */
@media (pointer: coarse) {
  body.rpp-wp-login .button.wp-hide-pw,
  body.rpp-wp-login .wp-tooltip__toggle {
    min-width: 44px;
    min-height: 44px;
  }
  body.rpp-wp-login.wp-core-ui .button-primary {
    min-height: 50px;
    font-size: 17px;
  }
}

/* =========================================================
   Weekful 0.1.1 — ecranele vechi care trăiesc în UI-ul nou, pe sistemul de design.
   Strat „strict” (fără declarații forțate). Doar tokeni --bd-* și clase bd-*; sticla doar pe foi (bd-sheet), din design-system.
   Portalurile (upload, ZIP, notă, confirmarea, cititorul cu teleprompterul, „Revizuiește”, pilula corectorului DEX) sunt foi
   bd-sheet pe <body>, cu gazda [data-bd]; clasele lor vechi rămân în markup doar drept cârlige (JS, verificări), iar regulile
   vechi ale acestor clase au ieșit din straturile 01–23 (dev-harness/platform-legacy-ds/strip-legacy-css.cjs, lista în
   removed-0.1.1.json). Pagina zilei e o insulă [data-bd] în .rpp-app, cu clasele ei noi (rpp-day2-*).
   Ordinea z-index de dinainte rămâne: cititorul și „Revizuiește” (999999) < uploadul (2147483000) < toast-ul (2147483100) <
   ZIP-ul (2147483200) < nota (2147483300) < confirmarea (2147483400).
   ========================================================= */

/* ---- Rama comună a portalurilor vechi (legacySheetHtml în core/url-modals.js) ---- */
.rpp-legacy-sheet {
  z-index: 2147483000;
}
.rpp-legacy-sheet.rpp-zip-sheet {
  z-index: 2147483200;
}
.rpp-legacy-sheet.rpp-note-sheet {
  z-index: 2147483300;
}
.rpp-legacy-sheet.rpp-legacy-confirm {
  z-index: 2147483400;
}
.rpp-legacy-sheet.bd-sheet-layer--center {
  padding: max(var(--bd-space-2xl), env(safe-area-inset-top, 0px))
    max(var(--bd-space-2xl), env(safe-area-inset-right, 0px)) max(var(--bd-space-2xl), env(safe-area-inset-bottom, 0px))
    max(var(--bd-space-2xl), env(safe-area-inset-left, 0px));
}
.rpp-legacy-sheet .bd-sheet--center {
  width: min(560px, 100%);
}
.rpp-legacy-sheet.rpp-legacy-confirm .bd-sheet--center {
  width: min(440px, 100%);
}
.rpp-legacy-sheet .bd-sheet--bottom {
  max-height: calc(100% - 24px - env(safe-area-inset-top, 0px));
}
/* o foaie redesenată pe loc (uploadul la fiecare fișier) nu se mai animă */
.rpp-legacy-sheet.is-settled .bd-sheet,
.rpp-legacy-sheet.is-settled .bd-scrim {
  animation: none;
}
.rpp-legacy-sheet .bd-sheet__close[disabled] {
  opacity: var(--bd-opacity-disabled);
  cursor: default;
}
.rpp-legacy-sheet .bd-sheet__sub {
  text-wrap: pretty;
}
.rpp-legacy-text {
  margin: 0;
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  text-wrap: pretty;
}
@media (pointer: coarse) {
  .rpp-legacy-text {
    font: var(--bd-t-callout);
  }
  .rpp-legacy-sheet .bd-sheet__close {
    width: 44px;
    height: 44px;
    margin: -4px -8px 0 0;
  }
}

/* câmpurile foilor (TextField): eticheta, cutia (și pentru textarea), eroarea sub câmp */
.rpp-legacy-field .bd-field__label small {
  font-weight: 500;
  color: var(--bd-label-3);
}
.rpp-legacy-field__area {
  height: auto;
  min-height: 120px;
  padding: var(--bd-space-md);
  align-items: stretch;
}
.rpp-legacy-field__area textarea {
  flex: 1;
  width: 100%;
  min-height: 96px;
  border: 0;
  padding: 0;
  resize: vertical;
  background: transparent;
  color: var(--bd-label);
  font: var(--bd-d-body);
  outline: none;
}
.rpp-legacy-field .bd-field__box input {
  font-size: 15px;
}
.rpp-legacy-field.is-invalid .bd-field__box {
  box-shadow: inset 0 0 0 1.5px var(--bd-red);
}
.rpp-legacy-field__error {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin: 0;
  font: var(--bd-d-footnote);
  font-weight: 500;
  color: var(--bd-red-ink);
}
.rpp-legacy-field__error[hidden] {
  display: none;
}
.rpp-legacy-field__error .bd-icon {
  flex: none;
  margin-top: 1px;
}
@media (pointer: coarse) {
  .rpp-legacy-field__area textarea,
  .rpp-legacy-field .bd-field__box input {
    font-size: 17px;
    line-height: 22px;
  }
}

/* ---- Uploadul (RAW / FINAL, direct în Google Drive) ---- */
.rpp-file-picker {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.rpp-file-picker input[type='file'] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.rpp-file-picker.is-disabled {
  opacity: var(--bd-opacity-disabled);
  pointer-events: none;
}
.rpp-file-picker:focus-within {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-upload-message {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
  font: var(--bd-d-callout);
  font-weight: 500;
  overflow-wrap: anywhere;
}
.rpp-upload-message.is-error {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
/* Weekful 0.1.9: sfatul de pe telefon (pagina deschisă, ecranul aprins) și întoarcerea din fundal în timpul urcării */
.rpp-upload-message.is-info {
  background: var(--bd-fill-4);
  color: var(--bd-label-2);
  font-weight: 400;
}
.rpp-upload-message.is-warning {
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
}
.rpp-upload-message .bd-icon {
  flex: none;
  margin-top: 1px;
}
.rpp-upload-list {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-upload-row {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
}
.rpp-upload-row-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-upload-row.is-done .rpp-upload-row-icon {
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
}
.rpp-upload-row.is-error .rpp-upload-row-icon {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.rpp-upload-file {
  flex: 1;
  min-width: 0;
  padding: var(--bd-space-md) var(--bd-space-lg);
}
.rpp-upload-file .bd-progress__title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rpp-upload-file .bd-progress__meta {
  flex-wrap: wrap;
  row-gap: 2px;
}
.rpp-upload-file .bd-progress__times {
  white-space: normal;
}
.rpp-upload-row.is-error .rpp-upload-state {
  color: var(--bd-red-ink);
  font-weight: 600;
}
.rpp-upload-row.is-done .bd-progress__fill {
  background: var(--bd-green);
}
.rpp-upload-remove {
  display: grid;
  place-items: center;
  flex: none;
  width: 32px;
  height: 32px;
  border: 0;
  padding: 0;
  border-radius: 50%;
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
  cursor: pointer;
}
.rpp-upload-remove:hover {
  background: var(--bd-fill-2);
  color: var(--bd-label);
}
.rpp-upload-remove:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-upload-empty {
  margin: 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
  text-align: center;
  text-wrap: pretty;
}
@media (pointer: coarse) {
  .rpp-upload-remove {
    width: 44px;
    height: 44px;
  }
  .rpp-upload-message,
  .rpp-upload-empty {
    font: var(--bd-t-footnote);
    font-size: 15px;
  }
}
@media (max-width: 420px) {
  .rpp-upload-row-icon {
    display: none;
  }
}

/* ---- Nota (Solicită corecții / refilmare / notă internă) ---- */
.rpp-note-modal-review {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-orange-tint);
}
.rpp-note-modal-review-title {
  font: var(--bd-d-callout);
  font-weight: 600;
  color: var(--bd-orange-ink);
}
.rpp-note-modal-review-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 200px;
  margin: 0;
  padding: 0;
  overflow: auto;
  list-style: none;
}
.rpp-note-modal-review-list li {
  display: flex;
  align-items: baseline;
  gap: var(--bd-space-sm);
  font: var(--bd-d-callout);
  color: var(--bd-label);
}
.rpp-note-modal-review-time {
  flex: none;
  padding: 1px 7px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-surface);
  color: var(--bd-label);
  font: var(--bd-mono-time);
  font-size: 12px;
}
.rpp-note-modal-review-text {
  min-width: 0;
  overflow-wrap: anywhere;
}
.rpp-note-modal-review-slot:empty {
  display: none;
}
.rpp-note-modal-error {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  margin: 0 var(--bd-space-2xl) var(--bd-space-md);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
  font: var(--bd-d-callout);
  font-weight: 500;
}
@media (pointer: coarse) {
  .rpp-note-modal-review-list li,
  .rpp-note-modal-review-title,
  .rpp-note-modal-error {
    font: var(--bd-t-footnote);
    font-size: 15px;
  }
}

/* ---- ZIP-ul RAW (descărcarea locală, cu progres real) ---- */
.rpp-zip-package {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface-2);
}
.rpp-zip-package-icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-zip-package-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-zip-package-text strong {
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-zip-package-text small {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-zip-progress-wrap .bd-progress__meta {
  flex-wrap: wrap;
  row-gap: 2px;
}
.rpp-zip-progress-wrap .bd-progress__times {
  white-space: normal;
}
.rpp-zip-sheet.is-complete .bd-progress__fill {
  background: var(--bd-green);
}
.rpp-zip-sheet.is-complete .bd-progress__fill::after,
.rpp-zip-sheet.is-error .bd-progress__fill::after {
  animation: none;
}
.rpp-zip-sheet.is-error .bd-progress__fill {
  background: var(--bd-red);
}
.rpp-zip-sheet.is-error .bd-sheet__title {
  color: var(--bd-red-ink);
}
.rpp-zip-modal-foot {
  align-items: center;
  justify-content: space-between;
}
.rpp-zip-foot-text {
  flex: 1;
  min-width: 0;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  text-wrap: pretty;
}
@media (pointer: coarse) {
  .rpp-zip-modal-foot {
    flex-wrap: wrap;
  }
  .rpp-zip-foot-text {
    flex-basis: 100%;
    font: var(--bd-t-footnote);
  }
}
@media (prefers-reduced-motion: reduce) {
  .rpp-legacy-sheet .bd-progress__fill::after {
    animation: none;
  }
}

/* ---- Cititorul scriptului și teleprompterul (openScriptReader în day/reader-teleprompter.js) ----
   Ecran întreg: bara de sus, bara teleprompterului și textul. Culorile urmează fundalul ales în cititor (butonul lună / soare,
   clasa is-dark), nu aspectul contului: pe sticla unui teleprompter textul trebuie să fie deschis pe negru oricum ar fi contul.
   De aceea cititorul își ține paleta lui, --rpp-reader-* (aceleași valori ca tokenii sistemului de design, luminos / întunecat;
   fundalul de citire e alb, respectiv negru). */
.rpp-script-reader-backdrop {
  --rpp-reader-bg: #ffffff;
  --rpp-reader-chrome: #f6f6f8;
  --rpp-reader-ink: #1d1d1f;
  --rpp-reader-ink-2: #5e5e63;
  --rpp-reader-line: rgba(60, 60, 67, 0.2);
  --rpp-reader-fill: rgba(118, 118, 128, 0.12);
  --rpp-reader-fill-strong: rgba(120, 120, 128, 0.2);
  --rpp-reader-accent: #0071e3;
  --rpp-reader-focus: #005fbf;
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  background: var(--rpp-reader-bg);
  color: var(--rpp-reader-ink);
  font-family: var(--bd-font-sans);
  color-scheme: light;
  -webkit-font-smoothing: antialiased;
}
.rpp-script-reader-backdrop.is-dark {
  --rpp-reader-bg: #000000;
  --rpp-reader-chrome: #1c1c1e;
  --rpp-reader-ink: #f5f5f7;
  --rpp-reader-ink-2: #aeaeb2;
  --rpp-reader-line: rgba(84, 84, 88, 0.65);
  --rpp-reader-fill: rgba(118, 118, 128, 0.24);
  --rpp-reader-fill-strong: rgba(120, 120, 128, 0.36);
  --rpp-reader-accent: #0071e3;
  --rpp-reader-focus: #69b3ff;
  color-scheme: dark;
}
.rpp-script-reader-backdrop *,
.rpp-script-reader-backdrop *::before,
.rpp-script-reader-backdrop *::after {
  box-sizing: border-box;
}
.rpp-script-reader-modal {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
  min-height: 0;
  max-height: 100%;
}
.rpp-script-reader-head {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  flex: none;
  padding: max(var(--bd-space-md), env(safe-area-inset-top, 0px))
    max(var(--bd-space-lg), env(safe-area-inset-right, 0px)) var(--bd-space-md)
    max(var(--bd-space-lg), env(safe-area-inset-left, 0px));
  background: var(--rpp-reader-chrome);
}
.rpp-script-reader-head > div:first-child {
  flex: 1;
  min-width: 0;
}
.rpp-script-reader-kicker {
  font: var(--bd-d-footnote);
  font-weight: 600;
  color: var(--rpp-reader-ink-2);
}
.rpp-script-reader-head h2 {
  margin: 2px 0 0;
  font: var(--bd-d-title-3);
  color: var(--rpp-reader-ink);
  overflow-wrap: anywhere;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.rpp-script-reader-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: none;
}
.rpp-script-reader-actions button,
.rpp-reader-tool {
  display: inline-grid;
  place-items: center;
  min-width: 36px;
  height: 36px;
  border: 0;
  padding: 0 10px;
  border-radius: var(--bd-radius-pill);
  background: var(--rpp-reader-fill);
  color: var(--rpp-reader-ink);
  font: 600 14px/1 var(--bd-font-sans);
  font-variant-numeric: tabular-nums;
  cursor: pointer;
}
.rpp-script-reader-actions button:hover,
.rpp-reader-tool:hover {
  background: var(--rpp-reader-fill-strong);
}
.rpp-script-reader-backdrop button:focus-visible,
.rpp-script-reader-backdrop input:focus-visible {
  outline: 2px solid var(--rpp-reader-focus);
  outline-offset: 2px;
}
.rpp-script-reader-actions [data-script-reader-close] {
  padding: 0;
}

/* bara teleprompterului: nu derulează (corpul derulează), rămâne la îndemână */
.rpp-prompter-bar {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--bd-space-sm) var(--bd-space-md);
  flex: none;
  padding: var(--bd-space-sm) max(var(--bd-space-lg), env(safe-area-inset-right, 0px)) calc(var(--bd-space-sm) + 3px)
    max(var(--bd-space-lg), env(safe-area-inset-left, 0px));
  background: var(--rpp-reader-chrome);
  border-bottom: 1px solid var(--rpp-reader-line);
  color: var(--rpp-reader-ink);
}
.rpp-prompter-bar button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 36px;
  border: 0;
  padding: 0 var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--rpp-reader-fill);
  color: var(--rpp-reader-ink);
  font: 600 14px/1.2 var(--bd-font-sans);
  cursor: pointer;
}
.rpp-prompter-bar .rpp-prompter-play {
  min-width: 118px;
  background: var(--rpp-reader-accent);
  color: #ffffff;
}
.rpp-prompter-bar .rpp-prompter-play:hover {
  filter: brightness(1.08);
}
.rpp-prompter-bar .rpp-prompter-restart {
  min-width: 36px;
  padding: 0;
  border-radius: var(--bd-radius-pill);
}
.rpp-prompter-bar .rpp-prompter-mirror.is-on {
  background: var(--rpp-reader-accent);
  color: #ffffff;
}
/* semnul de pauză: două bare, în culoarea textului */
.rpp-prompter-pause-glyph {
  display: inline-block;
  width: 10px;
  height: 12px;
  border-left: 3px solid currentColor;
  border-right: 3px solid currentColor;
}
.rpp-prompter-speed {
  display: inline-flex;
  align-items: center;
  gap: var(--bd-space-sm);
  font: 600 13px/1 var(--bd-font-sans);
  color: var(--rpp-reader-ink-2);
}
.rpp-prompter-speed input[type='range'] {
  width: clamp(96px, 22vw, 160px);
  accent-color: var(--rpp-reader-accent);
}
.rpp-prompter-speed output {
  min-width: 42px;
  font: 600 14px/1 var(--bd-font-sans);
  font-variant-numeric: tabular-nums;
  color: var(--rpp-reader-ink);
}
.rpp-prompter-remaining {
  margin-left: auto;
  font: 600 14px/1 var(--bd-font-sans);
  font-variant-numeric: tabular-nums;
  color: var(--rpp-reader-ink-2);
}
.rpp-prompter-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: var(--rpp-reader-fill);
}
.rpp-prompter-progress-fill {
  width: 0%;
  height: 100%;
  background: var(--rpp-reader-accent);
}
.rpp-prompter-countdown {
  position: absolute;
  inset: 0;
  z-index: 9;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.55);
  color: #ffffff;
  font: 800 clamp(84px, 22vw, 150px) / 1 var(--bd-font-display);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
}

/* textul: coloana de citit, mărimea din A− / A+ (--rpp-reader-scale) */
.rpp-script-reader-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: var(--bd-space-3xl) max(var(--bd-space-2xl), env(safe-area-inset-right, 0px))
    max(var(--bd-space-4xl), env(safe-area-inset-bottom, 0px)) max(var(--bd-space-2xl), env(safe-area-inset-left, 0px));
  background: var(--rpp-reader-bg);
  color: var(--rpp-reader-ink);
}
/* spațiul de ieșire: ultimele rânduri pot urca în zona de citit înainte de oprire */
.rpp-script-reader-body::after {
  content: '';
  display: block;
  height: 44vh;
}
.rpp-script-reader-body.is-mirrored {
  transform: scaleX(-1);
}
.rpp-script-flow {
  display: flex;
  flex-direction: column;
  width: min(100%, 780px);
  margin: 0 auto;
  background: transparent;
}
.rpp-script-step {
  padding: var(--bd-space-2xl) 0;
  border-bottom: 1px solid var(--rpp-reader-line, var(--bd-separator));
}
.rpp-script-step:first-child {
  padding-top: 0;
}
.rpp-script-step:last-child {
  border-bottom: 0;
}
.rpp-script-label {
  margin: 0 0 var(--bd-space-sm);
  font: 600 13px/18px var(--bd-font-sans);
  color: var(--rpp-reader-ink-2, var(--bd-label-2));
}
.rpp-script-text {
  font-family: var(--bd-font-sans);
  font-size: calc(26px * var(--rpp-reader-scale, 1));
  font-weight: 500;
  line-height: 1.5;
  color: var(--rpp-reader-ink, var(--bd-label));
  overflow-wrap: anywhere;
}
.rpp-script-verse-text {
  font-weight: 650;
}
.rpp-script-paragraph {
  margin: 0 0 0.7em;
}
.rpp-script-paragraph:last-child {
  margin-bottom: 0;
}
.rpp-script-text em {
  color: var(--rpp-reader-ink-2, var(--bd-label-2));
}
.rpp-script-type-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: var(--bd-radius-pill);
  background: var(--rpp-reader-fill, var(--bd-fill-3));
  color: var(--rpp-reader-ink, var(--bd-label));
  font: 700 calc(15px * var(--rpp-reader-scale, 1)) / 1.2 var(--bd-font-sans);
}
@media (max-width: 780px) {
  .rpp-script-reader-head h2 {
    font: var(--bd-t-headline);
  }
  .rpp-script-reader-body {
    padding-top: var(--bd-space-2xl);
    padding-left: max(var(--bd-space-lg), env(safe-area-inset-left, 0px));
    padding-right: max(var(--bd-space-lg), env(safe-area-inset-right, 0px));
  }
  .rpp-script-text {
    font-size: calc(22px * var(--rpp-reader-scale, 1));
  }
  .rpp-prompter-bar .rpp-prompter-play {
    min-width: 104px;
  }
}
@media (pointer: coarse) {
  .rpp-script-reader-actions button,
  .rpp-reader-tool,
  .rpp-prompter-bar button {
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }
  .rpp-prompter-speed input[type='range'] {
    height: 44px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rpp-script-reader-body {
    scroll-behavior: auto;
  }
}

/* ---- „Revizuiește” (portalul FINAL-ului cu notele pe timecode, review/notes.js) și rândurile notelor ----
   Aceeași așezare ca înainte (playerul sus pe telefon, cel mult 44dvh; alături de note pe desktop, coloana de 380 px),
   pe tokenii sistemului de design; ecran complet pe telefon, cu zonele sigure. */
body.rpp-review-open {
  overflow: hidden;
  overscroll-behavior: none;
}
.rpp-review-backdrop[data-rpp-review-portal] {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(var(--bd-space-lg), env(safe-area-inset-top, 0px))
    max(var(--bd-space-lg), env(safe-area-inset-right, 0px)) max(var(--bd-space-lg), env(safe-area-inset-bottom, 0px))
    max(var(--bd-space-lg), env(safe-area-inset-left, 0px));
  background: var(--bd-scrim);
  overscroll-behavior: contain;
  color: var(--bd-label);
  font-family: var(--bd-font-sans);
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  animation: bd-fade var(--bd-dur-base) var(--bd-ease-standard);
}
.rpp-review-backdrop *,
.rpp-review-backdrop *::before,
.rpp-review-backdrop *::after {
  box-sizing: border-box;
}
.rpp-review-modal {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(760px, 100%);
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  border: 1px solid var(--bd-separator);
  border-radius: var(--bd-radius-2xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-sheet);
  color: var(--bd-label);
  animation: bd-pop var(--bd-dur-sheet) var(--bd-ease-spring);
}
.rpp-review-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--bd-space-md);
  flex: none;
  padding: var(--bd-space-lg) var(--bd-space-lg) var(--bd-space-md) var(--bd-space-xl);
  border-bottom: 1px solid var(--bd-separator);
  background: var(--bd-surface);
}
.rpp-review-head-copy {
  min-width: 0;
}
.rpp-review-kicker {
  font: var(--bd-d-footnote);
  font-weight: 600;
  color: var(--bd-accent-ink);
}
.rpp-review-backdrop .rpp-review-head h2 {
  margin: 2px 0 0;
  padding: 0;
  font: var(--bd-d-title-2);
  letter-spacing: var(--bd-d-title-2-tracking);
  color: var(--bd-label);
  text-transform: none;
}
.rpp-review-file {
  margin-top: 2px;
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-review-close {
  display: grid;
  place-items: center;
  flex: none;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
  cursor: pointer;
}
.rpp-review-close:hover {
  background: var(--bd-fill-2);
  color: var(--bd-label);
}
.rpp-review-backdrop button:focus-visible,
.rpp-review-backdrop a:focus-visible,
.rpp-review-backdrop input:focus-visible,
.rpp-review-backdrop textarea:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-review-layout {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.rpp-review-stage {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  min-width: 0;
  padding: var(--bd-space-lg) var(--bd-space-xl);
  background: var(--bd-surface-2);
}
.rpp-review-side {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  min-width: 0;
  padding: var(--bd-space-lg) var(--bd-space-xl) var(--bd-space-xl);
  background: var(--bd-surface);
}
/* cutia ia raportul REAL al FINAL-ului (--rpp-review-ratio, pus de review/notes.js la loadedmetadata); până atunci 9:16 */
.rpp-review-media {
  position: relative;
  align-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, calc(50vh * var(--rpp-review-ratio, 0.5625)));
  width: min(100%, calc(50dvh * var(--rpp-review-ratio, 0.5625)));
  max-width: 100%;
  aspect-ratio: var(--rpp-review-ratio, 0.5625);
  max-height: 50vh;
  max-height: 50dvh;
  overflow: hidden;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-video-well);
  color: #f5f5f7;
}
.rpp-review-video,
.rpp-review-iframe {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  margin: 0;
  border: 0;
  background: #000000;
  object-fit: contain;
}
.rpp-review-loading,
.rpp-review-media-error {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--bd-space-md);
  padding: var(--bd-space-lg);
  color: #f5f5f7;
  font: var(--bd-d-callout);
  font-weight: 600;
  text-align: center;
  overflow-wrap: anywhere;
}
.rpp-review-loading span {
  width: 26px;
  height: 26px;
  border: 3px solid rgba(245, 245, 247, 0.25);
  border-top-color: #f5f5f7;
  border-radius: 50%;
  animation: rpp-acct-spin 0.9s linear infinite;
}
.rpp-review-notice {
  display: grid;
  gap: var(--bd-space-sm);
}
.rpp-review-notice-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--bd-space-sm) var(--bd-space-md);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font: var(--bd-d-callout);
  font-weight: 500;
  overflow-wrap: anywhere;
}
.rpp-review-notice-row > div {
  flex: 1 1 220px;
  min-width: 0;
}
/* linia de timp cu notele: semnele (portocaliu = deschisă, verde = rezolvată, accent = cea aleasă) */
.rpp-review-ticks {
  padding: var(--bd-space-sm) var(--bd-space-md) 2px;
}
.rpp-review-ticks-track {
  position: relative;
  height: 10px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-2);
}
.rpp-review-playhead {
  position: absolute;
  top: -5px;
  left: 0;
  width: 2px;
  height: 20px;
  margin-left: -1px;
  border-radius: 2px;
  background: var(--bd-label);
  pointer-events: none;
}
.rpp-review-tick {
  position: absolute;
  top: -11px;
  width: 24px;
  height: 32px;
  margin: 0 0 0 -12px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.rpp-review-tick::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 7px;
  width: 4px;
  height: 18px;
  border-radius: 2px;
  background: var(--bd-orange);
}
.rpp-review-tick.is-resolved::before {
  background: var(--bd-green);
}
.rpp-review-tick.is-focus::before {
  left: 9px;
  width: 6px;
  background: var(--bd-accent);
}
.rpp-review-capture {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
}
.rpp-review-capture-btn {
  width: 100%;
}
.rpp-review-capture-btn b {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
/* compunerea notei */
.rpp-review-composer {
  display: grid;
  gap: var(--bd-space-md);
  padding: var(--bd-space-lg);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-accent-tint);
}
.rpp-review-composer-title {
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
}
.rpp-review-timebox {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: end;
  gap: var(--bd-space-sm);
}
.rpp-review-nudge {
  min-width: 56px;
  font-variant-numeric: tabular-nums;
}
.rpp-review-time-field,
.rpp-review-field {
  display: grid;
  gap: 6px;
  min-width: 0;
  margin: 0;
}
.rpp-review-time-field span,
.rpp-review-field span {
  font: var(--bd-d-footnote);
  font-weight: 600;
  color: var(--bd-label-2);
}
.rpp-review-time-field input,
.rpp-review-field textarea {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: var(--bd-space-sm) var(--bd-space-md);
  border: 0;
  border-radius: var(--bd-radius-md);
  background: var(--bd-surface);
  box-shadow: inset 0 0 0 1px var(--bd-separator);
  color: var(--bd-label);
  font: 400 16px/1.45 var(--bd-font-sans);
  -webkit-appearance: none;
  appearance: none;
}
.rpp-review-time-field input {
  min-height: 38px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.rpp-review-field textarea {
  min-height: 108px;
  resize: vertical;
}
.rpp-review-time-field input:focus,
.rpp-review-field textarea:focus {
  outline: none;
  box-shadow: 0 0 0 2px var(--bd-focus);
}
.rpp-review-composer-meta {
  display: flex;
  justify-content: flex-end;
}
.rpp-review-composer-meta small {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-review-composer-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--bd-space-sm);
}
.rpp-review-error,
.rpp-review-status {
  display: grid;
  gap: var(--bd-space-sm);
  justify-items: start;
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
  font: var(--bd-d-callout);
  font-weight: 500;
  overflow-wrap: anywhere;
}
.rpp-review-error,
.rpp-review-status.is-error {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.rpp-review-list-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 4px var(--bd-space-md);
}
.rpp-review-list-head strong {
  font: var(--bd-d-title-3);
  color: var(--bd-label);
}
.rpp-review-list-head span {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-review-empty {
  padding: var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-surface-2);
  color: var(--bd-label-2);
  font: var(--bd-d-callout);
  text-wrap: pretty;
}
.rpp-review-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--bd-space-sm) var(--bd-space-lg);
  flex: none;
  padding: var(--bd-space-md) var(--bd-space-xl);
  border-top: 1px solid var(--bd-separator);
  background: var(--bd-surface);
}
.rpp-review-foot-hint {
  flex: 1 1 260px;
  min-width: 0;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
.rpp-review-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
  font: 700 12px/1 var(--bd-font-sans);
  font-variant-numeric: tabular-nums;
}

/* rândul unei note: comun portalului și panoului din pagina zilei */
.rpp-review-note-list {
  display: grid;
  gap: var(--bd-space-sm);
}
.rpp-review-note-row {
  display: grid;
  gap: 6px;
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: inset 0 0 0 1px var(--bd-separator);
  color: var(--bd-label);
}
.rpp-review-note-row.is-focus {
  box-shadow:
    inset 0 0 0 1px var(--bd-separator),
    0 0 0 2px var(--bd-accent);
}
/* Weekful 0.1.2: fără dungă colorată pe margine (Beni): nota rezolvată se vede din bifa verde „Rezolvat” și din textul stins */
.rpp-review-note-row.is-old-version {
  opacity: 0.85;
}
.rpp-review-note-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.rpp-review-time {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 0;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font: var(--bd-mono-time);
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}
.rpp-review-version,
.rpp-review-flag {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 8px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font: 600 12px/1 var(--bd-font-sans);
}
.rpp-review-version.is-old {
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
}
.rpp-review-flag.is-sent {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-review-flag.is-resolved {
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
}
.rpp-review-note-text {
  font: var(--bd-d-body);
  font-size: 15px;
  line-height: 21px;
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-review-note-row.is-resolved .rpp-review-note-text {
  color: var(--bd-label-2);
  text-decoration: line-through;
  text-decoration-color: var(--bd-label-3);
}
.rpp-review-note-meta {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-review-note-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px var(--bd-space-sm);
  margin-top: 2px;
}
/* „Rezolvat”: o bifă mare, cu eticheta ca țintă; căsuța nativă rămâne (evenimentul change, tastatura) */
.rpp-review-resolve {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 12px 0 8px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-fill-4);
  color: var(--bd-label);
  font: 600 13px/1 var(--bd-font-sans);
  cursor: pointer;
}
.rpp-review-resolve input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}
.rpp-review-resolve-box {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1.5px var(--bd-control-edge);
  color: transparent;
}
.rpp-review-resolve input:checked + .rpp-review-resolve-box {
  background: var(--bd-green);
  box-shadow: none;
  color: #ffffff;
}
.rpp-review-resolve:has(input:checked) {
  background: var(--bd-green-tint);
  color: var(--bd-label);
}
.rpp-review-resolve:has(input:focus-visible) {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-review-action.is-danger {
  color: var(--bd-red-ink);
}
.rpp-review-action.is-danger:hover {
  background: var(--bd-red-tint);
}
@media (pointer: coarse) {
  .rpp-review-close {
    width: 44px;
    height: 44px;
  }
  .rpp-review-time,
  .rpp-review-resolve,
  .rpp-review-action.bd-btn {
    min-height: 44px;
  }
  .rpp-review-time {
    padding: 0 14px;
    font-size: 15px;
  }
  .rpp-review-resolve {
    font-size: 15px;
  }
  .rpp-review-tick {
    top: -17px;
    width: 32px;
    height: 44px;
    margin-left: -16px;
  }
  .rpp-review-tick::before {
    left: 14px;
    top: 13px;
  }
  .rpp-review-tick.is-focus::before {
    left: 13px;
  }
  .rpp-review-time-field input {
    min-height: 44px;
  }
  .rpp-review-note-text {
    font-size: 17px;
    line-height: 23px;
  }
  .rpp-review-foot-hint,
  .rpp-review-notice-row,
  .rpp-review-error,
  .rpp-review-status,
  .rpp-review-empty {
    font: var(--bd-t-footnote);
    font-size: 15px;
  }
}
/* telefon: ecran complet, zonele sigure (notch / bara home) */
@media (max-width: 680px) {
  .rpp-review-backdrop[data-rpp-review-portal] {
    align-items: stretch;
    padding: 0;
  }
  .rpp-review-modal {
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px) 0 env(safe-area-inset-left, 0px);
  }
  .rpp-review-head {
    padding: var(--bd-space-md) var(--bd-space-lg) var(--bd-space-sm);
  }
  .rpp-review-stage {
    padding: var(--bd-space-md) var(--bd-space-lg);
  }
  .rpp-review-side {
    padding: var(--bd-space-md) var(--bd-space-lg) var(--bd-space-lg);
  }
  .rpp-review-media {
    width: min(100%, calc(44vh * var(--rpp-review-ratio, 0.5625)));
    width: min(100%, calc(44dvh * var(--rpp-review-ratio, 0.5625)));
    max-height: 44vh;
    max-height: 44dvh;
  }
  .rpp-review-foot {
    padding: var(--bd-space-md) var(--bd-space-lg) max(var(--bd-space-md), env(safe-area-inset-bottom, 0px));
  }
  .rpp-review-foot .bd-btn,
  .rpp-review-composer-actions .bd-btn,
  .rpp-review-notice-row .bd-btn {
    width: 100%;
    white-space: normal;
  }
  .rpp-review-composer-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
/* desktop: două coloane, playerul în stânga, notele în dreapta (380 px) */
@media (min-width: 981px) {
  .rpp-review-modal {
    width: min(1180px, 100%);
    height: min(900px, 100%);
  }
  .rpp-review-head {
    padding: var(--bd-space-lg) var(--bd-space-lg) var(--bd-space-md) var(--bd-space-2xl);
  }
  .rpp-review-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    overflow: hidden;
  }
  .rpp-review-stage {
    min-height: 0;
    overflow-y: auto;
    padding: var(--bd-space-lg) var(--bd-space-2xl);
  }
  .rpp-review-side {
    min-height: 0;
    overflow-y: auto;
    border-left: 1px solid var(--bd-separator);
  }
  .rpp-review-media {
    width: min(100%, calc(max(260px, min(calc(100vh - 330px), 640px)) * var(--rpp-review-ratio, 0.5625)));
    width: min(100%, calc(max(260px, min(calc(100dvh - 330px), 640px)) * var(--rpp-review-ratio, 0.5625)));
    height: auto;
    max-height: none;
  }
  .rpp-review-capture {
    align-self: center;
    width: min(100%, 460px);
  }
  .rpp-review-foot {
    padding: var(--bd-space-md) var(--bd-space-2xl);
  }
}
@media (prefers-reduced-motion: reduce) {
  .rpp-review-loading span {
    animation: none;
  }
}

/* panoul „Note pe timecode” din pagina zilei */
.rpp-review-panel-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm) var(--bd-space-lg);
  margin: 0 0 var(--bd-space-md);
}
.rpp-review-panel-summary {
  font: var(--bd-d-callout);
  font-weight: 600;
  color: var(--bd-label-2);
  font-variant-numeric: tabular-nums;
}
.rpp-review-panel-hint {
  margin: 0 0 var(--bd-space-md);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font: var(--bd-d-callout);
  font-weight: 500;
  overflow-wrap: anywhere;
}

/* ---- Pagina zilei (?rpp_day=ID): insula .rpp-day2 [data-bd] în #rpp-app (day/render.js, day/files.js) ----
   Ramele vechi ale containerului .rpp-app o ocolesc (fence-app-container.cjs), iar regulile vechi ale claselor-cârlig păstrate în
   markup o ocolesc și ele (fence-day-page.cjs). Pagina e conținut: carduri opace (surface), fără sticlă. */
.rpp-day2 {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-lg);
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 0 var(--bd-space-3xl);
  box-sizing: border-box;
  font: var(--bd-d-body);
  color: var(--bd-label);
}
.rpp-day2 *,
.rpp-day2 *::before,
.rpp-day2 *::after {
  box-sizing: border-box;
}
.rpp-day2 h1,
.rpp-day2 h2,
.rpp-day2 p {
  margin: 0;
  text-transform: none;
  letter-spacing: normal;
}
.rpp-day2 .rpp-person-link {
  display: inline;
  padding: 0;
  border: 0;
  background: none;
  color: var(--bd-accent-ink);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.rpp-day2 .rpp-person-link:hover {
  text-decoration: underline;
}
.rpp-day2 a:focus-visible,
.rpp-day2 button:focus-visible,
.rpp-day2 summary:focus-visible,
.rpp-day2 select:focus-visible {
  outline: 2px solid var(--bd-focus);
  outline-offset: 2px;
}
.rpp-day2__top {
  display: flex;
}
.rpp-day2__back {
  margin-inline-start: -8px;
}
.rpp-day2-kicker {
  font: var(--bd-d-footnote);
  font-weight: 600;
  color: var(--bd-label-2);
}
/* capul: data, cine filmează, etapa (Stage) */
.rpp-day2-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--bd-space-md) var(--bd-space-lg);
}
.rpp-day2-hero__titles {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-day2-hero__title {
  font: var(--bd-d-large-title);
  letter-spacing: var(--bd-d-large-title-tracking);
  color: var(--bd-label);
  text-wrap: balance;
}
.rpp-day2-hero__sub {
  font: var(--bd-d-body);
  color: var(--bd-label-2);
}
.rpp-day2-status {
  display: inline-flex;
  align-items: center;
  gap: var(--bd-space-sm);
  min-height: 32px;
  padding: 0 var(--bd-space-md) 0 var(--bd-space-sm);
  border-radius: var(--bd-radius-pill);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
  font: var(--bd-d-callout);
  font-weight: 600;
  color: var(--bd-label);
  white-space: nowrap;
}
.rpp-day2-status.is-flag .rpp-day2-status__label {
  color: var(--bd-stage-flag);
}
.rpp-day2-notice {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-md);
  background: var(--bd-green-tint);
  color: var(--bd-green-ink);
  font: var(--bd-d-callout);
  font-weight: 500;
  overflow-wrap: anywhere;
}
.rpp-day2-notice.is-error {
  background: var(--bd-red-tint);
  color: var(--bd-red-ink);
}
.rpp-day2-notice .bd-icon {
  flex: none;
}
/* următorul pas (ca NextUp): ce e de făcut, acțiunile pe rol, rezumatul */
.rpp-day2-next {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--bd-space-lg) var(--bd-space-2xl);
  align-items: start;
  padding: var(--bd-space-xl);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-day2-next__copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.rpp-day2-next__kicker {
  font: var(--bd-d-footnote);
  font-weight: 600;
  color: var(--bd-accent-ink);
}
.rpp-day2-next__title {
  font: var(--bd-d-title-2);
  letter-spacing: var(--bd-d-title-2-tracking);
  color: var(--bd-label);
  text-wrap: balance;
}
.rpp-day2-next__text {
  font: var(--bd-d-body);
  color: var(--bd-label-2);
  text-wrap: pretty;
}
.rpp-day2-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
  margin-top: var(--bd-space-md);
}
.rpp-day2-actions .bd-btn {
  white-space: normal;
  text-align: center;
}
.rpp-day2-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  margin-inline-start: 2px;
  padding: 0 6px;
  border-radius: var(--bd-radius-pill);
  background: var(--bd-orange-tint);
  color: var(--bd-orange-ink);
  font: 700 12px/1 var(--bd-font-sans);
  font-variant-numeric: tabular-nums;
}
.rpp-day2-count[hidden] {
  display: none;
}
.rpp-day2-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(64px, auto));
  gap: var(--bd-space-sm);
}
.rpp-day2-stats > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: var(--bd-space-md) var(--bd-space-sm);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface-2);
}
.rpp-day2-stats strong {
  font: var(--bd-d-title-2);
  font-variant-numeric: tabular-nums;
  color: var(--bd-label);
}
.rpp-day2-stats span {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
/* cardurile: scriptul, etapele, editorul, ghidul */
.rpp-day2-card {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  padding: var(--bd-space-lg) var(--bd-space-xl);
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-day2-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--bd-space-sm) var(--bd-space-lg);
}
.rpp-day2-card__title {
  font: var(--bd-d-title-3);
  color: var(--bd-label);
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.rpp-day2-card__meta {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-day2-card__text {
  font: var(--bd-d-body);
  color: var(--bd-label-2);
}
.rpp-day2-script__titles {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-day2-script__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
.rpp-day2-script__note {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-md);
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface-2);
}
.rpp-day2-script__glyph {
  display: grid;
  place-items: center;
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
  font: 700 16px/1 var(--bd-font-display);
}
.rpp-day2-script__note strong {
  font: var(--bd-d-body-strong);
}
.rpp-day2-script__note p {
  margin-top: 2px;
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
.rpp-day2-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: var(--bd-space-sm);
}
.rpp-day2-stepper {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--bd-space-sm);
}
.rpp-day2-stepper .bd-stepper__label {
  display: flex;
  flex-direction: column;
  gap: 1px;
  font-size: 13px;
  line-height: 17px;
  color: var(--bd-label-2);
}
.rpp-day2-stepper .bd-stepper__label small {
  font-size: 12px;
  color: var(--bd-label-2);
}
.rpp-day2-stepper .is-current .bd-stepper__label strong {
  color: var(--bd-label);
}
.rpp-day2-editor {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm) var(--bd-space-md);
}
.rpp-day2-editor__who {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1 1 200px;
  min-width: 0;
}
.rpp-day2-editor__label {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-day2-select select {
  min-width: 200px;
  height: var(--bd-control-md);
  border: 0;
  padding: 0 var(--bd-space-md);
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label);
  font: var(--bd-d-body);
}
.rpp-day2-guide {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: var(--bd-space-lg);
  align-items: start;
}
.rpp-day2-tutorial {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 240px);
  gap: var(--bd-space-lg);
  align-items: start;
}
.rpp-day2-tutorial__copy {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  color: var(--bd-label-2);
}
.rpp-day2-tutorial__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--bd-space-sm);
}
/* Weekful 0.1.2: pe un telefon îngust (320 px, EN) eticheta lungă se rupe în buton, nu iese din card */
.rpp-day2 .rpp-day2-tutorial__links .bd-btn {
  max-width: 100%;
  height: auto;
  min-height: var(--bd-control-md);
  padding-block: var(--bd-space-sm);
  white-space: normal;
  text-align: start;
}
@media (pointer: coarse) {
  .rpp-day2 .rpp-day2-tutorial__links .bd-btn {
    min-height: 44px;
  }
}
.rpp-day2-video {
  aspect-ratio: 9 / 16;
  overflow: hidden;
  border-radius: var(--bd-radius-lg);
  background: var(--bd-video-well);
}
.rpp-day2-video iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.rpp-day2-checklist {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-day2-checklist li {
  display: flex;
  align-items: flex-start;
  gap: var(--bd-space-sm);
  color: var(--bd-label);
}
.rpp-day2-checklist .bd-icon {
  flex: none;
  margin-top: 2px;
  color: var(--bd-green-ink);
}
/* secțiunile care se deschid (details): capul ca un rând de listă, corpul dedesubt */
.rpp-day2-section {
  border-radius: var(--bd-radius-xl);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-card);
}
.rpp-day2-section__head {
  display: flex;
  align-items: center;
  gap: var(--bd-space-md);
  min-height: 56px;
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-xl);
  list-style: none;
  cursor: pointer;
}
.rpp-day2-section__head::-webkit-details-marker {
  display: none;
}
.rpp-day2-section__icon {
  display: grid;
  place-items: center;
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-day2-section__titles {
  display: flex;
  flex-direction: column;
  gap: 1px;
  flex: 1;
  min-width: 0;
}
.rpp-day2-section__title {
  font: var(--bd-d-body-strong);
  color: var(--bd-label);
}
.rpp-day2-section__sub {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-day2-section__badge {
  flex: none;
}
.rpp-day2-section__chev {
  flex: none;
  color: var(--bd-label-3);
  transition: transform var(--bd-dur-base) var(--bd-ease-standard);
}
.rpp-day2-section[open] > summary .rpp-day2-section__chev {
  transform: rotate(180deg);
}
.rpp-day2-section__body {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-md);
  padding: 0 var(--bd-space-lg) var(--bd-space-lg);
}
.rpp-day2-section__body > .bd-btn {
  align-self: flex-start;
}
.rpp-day2-empty {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
/* fișierele RAW / FINAL */
.rpp-day2-files {
  display: flex;
  flex-direction: column;
  container-type: inline-size;
}
.rpp-day2-files__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm) var(--bd-space-md);
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-day2-file {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--bd-space-md);
  align-items: center;
  padding: var(--bd-space-md) 0;
  border-top: 1px solid var(--bd-separator);
}
.rpp-day2-file:first-child {
  border-top: 0;
}
.rpp-day2-file__icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: var(--bd-radius-md);
  background: var(--bd-fill-3);
  color: var(--bd-label-2);
}
.rpp-day2-file.is-active .rpp-day2-file__icon {
  background: var(--bd-accent-tint);
  color: var(--bd-accent-ink);
}
.rpp-day2-file__main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.rpp-day2-file__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 2px;
}
.rpp-day2-file__name {
  font: var(--bd-d-body-strong);
  overflow-wrap: anywhere;
}
.rpp-day2-file__meta,
.rpp-day2-file__source,
.rpp-day2-file__upload {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
  overflow-wrap: anywhere;
}
.rpp-day2-file__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
/* Weekful 0.1.2: când lista e îngustă (tabletă, fereastră mică), acțiunile trec sub nume: altfel împingeau numele și sursa
   („Încărcat prin platformă de …”) într-o coloană de câțiva zeci de pixeli */
@container (max-width: 760px) {
  .rpp-day2-file {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .rpp-day2-file__actions {
    grid-column: 2 / -1;
    justify-content: flex-start;
  }
}
.rpp-day2-file__actions .rpp-file-delete {
  color: var(--bd-red-ink);
}
.rpp-day2-file__actions .rpp-file-delete:hover {
  background: var(--bd-red-tint);
}
/* notele echipei, fluxul complet, istoricul */
.rpp-day2-notes {
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
}
.rpp-day2-note {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: var(--bd-space-md) var(--bd-space-lg);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface-2);
}
.rpp-day2-note__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--bd-space-sm);
}
.rpp-day2-note__text {
  font: var(--bd-d-body);
  color: var(--bd-label);
  overflow-wrap: anywhere;
}
.rpp-day2-note__meta {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
.rpp-day2-flow__head {
  font: var(--bd-d-callout);
  font-weight: 600;
  color: var(--bd-label-2);
}
.rpp-day2-flow__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 6px var(--bd-space-md);
  margin: var(--bd-space-sm) 0 0;
  padding: 0;
  list-style: none;
}
.rpp-day2-flow__step {
  display: flex;
  align-items: center;
  gap: var(--bd-space-sm);
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
.rpp-day2-flow__dot {
  display: grid;
  place-items: center;
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1.5px var(--bd-separator-opaque);
  font: 600 11px/1 var(--bd-font-sans);
  font-variant-numeric: tabular-nums;
}
.rpp-day2-flow__step.is-done {
  color: var(--bd-label);
}
.rpp-day2-flow__step.is-done .rpp-day2-flow__dot {
  background: var(--bd-success-fill);
  box-shadow: none;
  color: var(--bd-on-accent);
}
.rpp-day2-flow__step.is-current {
  color: var(--bd-label);
  font-weight: 600;
}
.rpp-day2-flow__step.is-current .rpp-day2-flow__dot {
  background: var(--bd-accent);
  box-shadow: none;
  color: var(--bd-on-accent);
}
.rpp-day2-flow__step.is-branch .rpp-day2-flow__dot {
  box-shadow: inset 0 0 0 1.5px var(--bd-stage-flag);
}
.rpp-day2-timeline {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.rpp-day2-timeline__item {
  position: relative;
  display: flex;
  gap: var(--bd-space-md);
  padding: 0 0 var(--bd-space-md) 0;
}
.rpp-day2-timeline__item::before {
  content: '';
  position: absolute;
  top: 14px;
  bottom: 0;
  left: 5px;
  width: 2px;
  background: var(--bd-separator);
}
.rpp-day2-timeline__item:last-child::before {
  display: none;
}
.rpp-day2-timeline__dot {
  flex: none;
  width: 12px;
  height: 12px;
  margin-top: 4px;
  border-radius: 50%;
  background: var(--bd-accent);
}
.rpp-day2-timeline__item strong {
  font: var(--bd-d-body-strong);
}
.rpp-day2-timeline__item p {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
.rpp-day2-timeline__item small {
  font: var(--bd-d-footnote);
  color: var(--bd-label-2);
}
/* panoul „Note pe timecode” în insulă: rândurile vin din stilul notelor de mai sus */
.rpp-day2 .rpp-review-notes-disclosure .rpp-review-note-row {
  background: var(--bd-surface);
}
@media (max-width: 900px) {
  .rpp-day2-next {
    grid-template-columns: minmax(0, 1fr);
  }
  .rpp-day2-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .rpp-day2-guide {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 600px) {
  .rpp-day2 {
    gap: var(--bd-space-md);
  }
  .rpp-day2-hero__title {
    font: var(--bd-t-large-title);
    letter-spacing: var(--bd-t-large-title-tracking);
  }
  .rpp-day2-next,
  .rpp-day2-card {
    padding: var(--bd-space-lg);
  }
  .rpp-day2-tutorial {
    grid-template-columns: minmax(0, 1fr);
  }
  .rpp-day2-video {
    max-width: 260px;
  }
  .rpp-day2-file {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .rpp-day2-file__actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
  .rpp-day2-stepper .bd-stepper__label small {
    display: none;
  }
  .rpp-day2-actions .bd-btn {
    flex: 1 1 auto;
  }
  .rpp-day2-section__body > .bd-btn {
    align-self: stretch;
  }
}
@media (pointer: coarse) {
  .rpp-day2 {
    font: var(--bd-t-body);
  }
  .rpp-day2-section__head {
    min-height: 60px;
  }
  .rpp-day2-section__title,
  .rpp-day2-file__name,
  .rpp-day2-timeline__item strong,
  .rpp-day2-script__note strong {
    font: var(--bd-t-headline);
  }
  .rpp-day2-hero__sub,
  .rpp-day2-next__text,
  .rpp-day2-card__text,
  .rpp-day2-note__text {
    font: var(--bd-t-callout);
  }
  .rpp-day2-section__sub,
  .rpp-day2-file__meta,
  .rpp-day2-file__source,
  .rpp-day2-file__upload,
  .rpp-day2-note__meta,
  .rpp-day2-timeline__item small,
  .rpp-day2-card__meta,
  .rpp-day2-kicker,
  .rpp-day2-script__note p,
  .rpp-day2-empty,
  .rpp-day2-flow__step {
    font: var(--bd-t-footnote);
  }
  /* butoanele mici ale sistemului de design au 36 px pe touch; pe pagina zilei fiecare țintă are 44 px */
  .rpp-day2 .bd-btn--sm {
    height: 44px;
  }
  /* numele (buton) rămâne în rândul textului: ținta de 44 px vine din padding, marginile negative țin rândul la înălțimea lui */
  .rpp-day2 .rpp-person-link {
    display: inline-block;
    min-height: 44px;
    padding-block: 14px;
    margin-block: -14px;
    vertical-align: baseline;
  }
  /* în cardul editorului numele stă singur pe rând: o țintă de 44 px întreagă, fără margini negative (nu atinge rama) */
  .rpp-day2-editor .rpp-person-link {
    display: inline-flex;
    align-items: center;
    padding-block: 0;
    margin-block: 0;
    vertical-align: middle;
  }
  .rpp-day2-select select {
    height: 44px;
    font-size: 17px;
  }
  .rpp-day2-status {
    min-height: 44px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rpp-day2-section__chev {
    transition: none;
  }
}

/* ---- Corectorul DEX: pill-ul de sub cuvântul subliniat (rpp-spell.js, pe body, gazdă [data-bd]) ----
   Un meniu mic, OPAC (textul de dedesubt nu are voie să se vadă prin el): nota, sugestiile (tinted), „Ignoră” și „Adaugă în
   dicționar”. z-index-ul de dinainte (9999) rămâne: peste foile Traducerilor. */
.rpp-spell-pill {
  position: absolute;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: var(--bd-space-sm);
  box-sizing: border-box;
  max-width: min(340px, calc(100vw - 16px));
  padding: var(--bd-space-md);
  border: 1px solid var(--bd-separator);
  border-radius: var(--bd-radius-lg);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-popover);
  font: var(--bd-d-callout);
  color: var(--bd-label);
}
html[data-rpp-theme='dark'] .rpp-spell-pill {
  background: var(--bd-surface-2);
}
.rpp-spell-pill-note {
  font: var(--bd-d-footnote);
  font-weight: 600;
  color: var(--bd-label-2);
}
.rpp-spell-pill-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.rpp-spell-apply {
  max-width: 100%;
  font-weight: 700;
  overflow-wrap: anywhere;
  white-space: normal;
}
.rpp-spell-none {
  font: var(--bd-d-callout);
  color: var(--bd-label-2);
}
.rpp-spell-pill-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  padding-top: var(--bd-space-sm);
  border-top: 1px solid var(--bd-separator);
}
.rpp-spell-ignore {
  color: var(--bd-label-2);
}
@media (pointer: coarse) {
  .rpp-spell-pill .bd-btn {
    min-height: 44px;
  }
  .rpp-spell-pill {
    font: var(--bd-t-callout);
  }
  .rpp-spell-pill-note {
    font: var(--bd-t-footnote);
    font-weight: 600;
  }
}

