:root {
  --bg: #f4f7fb;
  --surface: #ffffff;
  --surface-muted: #eef3f9;
  --border: #d6deea;
  --text: #142033;
  --text-muted: #607089;
  --primary: #1d4ed8;
  --primary-hover: #1e40af;
  --success-bg: #ecfdf3;
  --success-border: #9dd7b8;
  --success-text: #0f5132;
  --danger-bg: #fef2f2;
  --danger-border: #f2b8b5;
  --danger-text: #842029;
  --warning-bg: #fff8e6;
  --warning-border: #efd38d;
  --warning-text: #7a5d00;
  --info-bg: #eff6ff;
  --info-border: #a7c4ff;
  --info-text: #1e3a8a;
  --shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
  --radius: 14px;
}

/* Cinémathèque — bibliothèque */
.cinematheque-library { --cinematheque-panel: rgba(7, 17, 29, .76); --cinematheque-panel-strong: #08111d; --cinematheque-line: rgba(128, 206, 224, .2); }
.cinematheque-library-controls { display: flex; flex-wrap: wrap; align-items: end; gap: .65rem; margin: 1rem 0 1.15rem; padding: .7rem; border: 1px solid var(--cinematheque-line); border-radius: 12px; background: linear-gradient(120deg, var(--cinematheque-panel), rgba(8, 25, 38, .92)); }
.cinematheque-library-controls label { display: block; margin: 0 0 .25rem; color: var(--dashboard-text-muted); font-size: .72rem; font-weight: 700; }
.cinematheque-library-controls input, .cinematheque-library-controls select { min-height: 2.4rem; margin: 0; border-color: var(--cinematheque-line); background: rgba(2, 10, 18, .72); color: var(--dashboard-text); }
.cinematheque-library-search { flex: 1 1 15rem; min-width: min(100%, 13rem); }
.cinematheque-library-search input { width: 100%; }
.cinematheque-library-select { flex: 0 1 10.5rem; min-width: 8.25rem; }
.cinematheque-library-select select { width: 100%; }
.cinematheque-library-submit, .cinematheque-library-add { min-height: 2.4rem; white-space: nowrap; }
.cinematheque-library-count { margin: 0 .15rem; color: var(--dashboard-text-muted); font-size: .78rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.cinematheque-library-views { display: inline-flex; overflow: hidden; border: 1px solid var(--cinematheque-line); border-radius: 8px; }
.cinematheque-library-views a { min-height: 2.35rem; padding: .52rem .7rem; color: var(--dashboard-text-muted); font-size: .78rem; font-weight: 700; text-decoration: none; }
.cinematheque-library-views a + a { border-left: 1px solid var(--cinematheque-line); }
.cinematheque-library-views a.is-active { background: rgba(0, 229, 255, .16); color: var(--dashboard-primary); }
.cinematheque-library-views a:focus-visible, .cinematheque-library-icon-action:focus-visible, .cinematheque-library-overlay a:focus-visible { outline: 2px solid var(--dashboard-primary); outline-offset: -2px; }
.cinematheque-library-catalog { display: grid; gap: .75rem; }
.cinematheque-library-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cinematheque-library-card { position: relative; min-width: 0; border: 1px solid var(--cinematheque-line); border-radius: 11px; background: var(--cinematheque-panel-strong); }
.cinematheque-library-list .cinematheque-library-card { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: .75rem; min-height: 98px; padding: .55rem; }
.cinematheque-library-poster { position: relative; min-width: 0; aspect-ratio: 2 / 3; overflow: hidden; border-radius: 7px; background: rgba(0, 229, 255, .07); }
.cinematheque-library-poster img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cinematheque-library-copy { min-width: 0; }
.cinematheque-library-copy h2 { margin: .05rem 4.5rem .15rem 0; color: var(--dashboard-text); font-size: .93rem; line-height: 1.35; overflow-wrap: anywhere; }
.cinematheque-library-year, .cinematheque-library-meta { margin: 0; color: var(--dashboard-text-muted); font-size: .76rem; line-height: 1.45; overflow-wrap: anywhere; }
.cinematheque-library-meta { margin-top: .18rem; }
.cinematheque-library-detail-link { min-height: 2rem; margin-top: .45rem; padding: .38rem .58rem; font-size: .76rem; }
.cinematheque-library-badges { position: absolute; top: .35rem; left: .35rem; z-index: 1; display: flex; flex-wrap: wrap; gap: .25rem; }
.cinematheque-library-badges span { padding: .15rem .36rem; border: 1px solid rgba(0, 229, 255, .25); border-radius: 999px; background: rgba(2, 14, 23, .8); color: var(--dashboard-primary); font-size: .62rem; font-weight: 750; }
.cinematheque-library-list-actions { position: absolute; top: .45rem; right: .45rem; display: flex; gap: .2rem; }
.cinematheque-library-list-actions form { margin: 0; }
.cinematheque-library-icon-action { display: inline-grid; width: 2rem; min-height: 2rem; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--dashboard-text-muted); font: inherit; font-size: .9rem; line-height: 1; text-decoration: none; cursor: pointer; }
.cinematheque-library-icon-action:hover { border-color: var(--cinematheque-line); background: rgba(255, 255, 255, .05); }
.cinematheque-library-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.cinematheque-library-grid .cinematheque-library-card { overflow: hidden; background: transparent; }
.cinematheque-library-grid .cinematheque-library-poster { border-radius: 0; }
.cinematheque-library-grid .cinematheque-library-copy { padding: .5rem .55rem .6rem; background: var(--cinematheque-panel-strong); }
.cinematheque-library-grid .cinematheque-library-copy h2 { display: -webkit-box; margin: 0; overflow: hidden; font-size: .84rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.cinematheque-library-grid .cinematheque-library-year { margin-top: .16rem; }
.cinematheque-library-overlay { position: absolute; inset: 0; display: grid; place-items: center; padding: .5rem; background: rgba(1, 8, 15, .76); opacity: 0; transition: opacity .15s ease; }
.cinematheque-library-grid .cinematheque-library-card:hover .cinematheque-library-overlay, .cinematheque-library-grid .cinematheque-library-card:focus-within .cinematheque-library-overlay { opacity: 1; }
.cinematheque-library-overlay a { min-height: 2.1rem; padding: .42rem .58rem; font-size: .76rem; }
@media (min-width: 768px) { .cinematheque-library-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .cinematheque-library-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .cinematheque-library-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 767px) { .cinematheque-library-list { grid-template-columns: 1fr; } .cinematheque-library-controls { align-items: stretch; } .cinematheque-library-submit, .cinematheque-library-add { flex: 1 1 auto; text-align: center; } }

/* Cinémathèque — résultats de recherche TMDB */
.movie-search-loading {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0.8rem 0 0;
  color: var(--dashboard-text-muted);
  font-size: 0.9rem;
}

.movie-search-loading[hidden] {
  display: none;
}

.movie-soundtrack {
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--dashboard-border, rgba(255, 255, 255, 0.16));
  border-radius: 1rem;
  background: rgba(20, 25, 35, 0.82);
  box-shadow: none;
  backdrop-filter: none;
}

.movie-soundtrack-heading,
.movie-soundtrack-details,
.movie-soundtrack-candidates article {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.movie-soundtrack-search-terms { display: grid; gap: .25rem; max-width: 32rem; }
.movie-soundtrack-search-terms input { width: 100%; }
.movie-soundtrack-source { display: block; margin-bottom: .25rem; color: var(--dashboard-primary); font-size: .72rem; font-weight: 750; text-transform: uppercase; }
.movie-soundtrack-candidate-cover { width: 4.25rem; aspect-ratio: 1; object-fit: cover; border-radius: 7px; }
.movie-youtube-player { margin: 1rem 0; padding: 1rem; border: 1px solid var(--dashboard-border); border-radius: 12px; background: rgba(3, 12, 22, .52); }
.movie-youtube-player-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.movie-youtube-player p { color: var(--dashboard-text-muted); }
.movie-youtube-embed { width: 100%; aspect-ratio: 16 / 9; background: #02070c; }
.movie-youtube-embed iframe { display: block; width: 100%; height: 100%; border: 0; }

/* Cinémathèque — fiche film */
.movie-detail { min-width: 0; }
.movie-detail-header { display: grid; gap: 0.7rem; }
.movie-detail-header > .dashboard-button-secondary { justify-self: start; }
.movie-detail-header h1 { margin: 0; color: var(--dashboard-text); }
.movie-detail-original-title { margin: 0; color: var(--dashboard-text-muted); font-style: italic; }
.movie-detail-statuses,
.movie-detail-actions,
.movie-detail-danger-zone { display: flex; flex-wrap: wrap; gap: 0.7rem; align-items: center; }
.movie-detail-status { padding: 0.38rem 0.7rem; border: 1px solid var(--dashboard-border); border-radius: 999px; color: var(--dashboard-text-muted); font-size: 0.78rem; font-weight: 750; }
.movie-detail-status.is-active { border-color: rgba(69, 224, 168, 0.42); color: var(--dashboard-success); }
.movie-detail-status.is-favorite { border-color: rgba(201, 168, 76, 0.5); color: #efd583; }
.movie-detail-hero { display: grid; grid-template-columns: minmax(180px, 280px) minmax(0, 1fr); gap: clamp(1.2rem, 3vw, 2.5rem); margin-top: 1.5rem; }
.movie-detail-poster { align-self: start; aspect-ratio: 2 / 3; overflow: hidden; border: 1px solid var(--dashboard-border); border-radius: 14px; background: rgba(0, 229, 255, 0.06); }
.movie-detail-poster img { display: block; width: 100%; height: 100%; object-fit: cover; }
.movie-detail-summary { display: grid; align-content: start; gap: 1.25rem; min-width: 0; }
.movie-detail-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem; margin: 0; }
.movie-detail-meta div { min-width: 0; padding: 0.8rem; border-left: 2px solid var(--dashboard-border-cyan); background: rgba(255, 255, 255, 0.03); }
.movie-detail-meta-wide { grid-column: 1 / -1; }
.movie-detail-meta dt,
.movie-soundtrack-album-copy dt { color: var(--dashboard-text-muted); font-size: 0.75rem; font-weight: 700; text-transform: uppercase; }
.movie-detail-meta dd,
.movie-soundtrack-album-copy dd { margin: 0.2rem 0 0; color: var(--dashboard-text); overflow-wrap: anywhere; }
.movie-detail-copy h2 { margin: 0 0 0.45rem; color: var(--dashboard-text); font-size: 1rem; }
.movie-detail-copy p { margin: 0; color: var(--dashboard-text-muted); line-height: 1.55; }
.movie-detail-actions form,
.movie-detail-danger-zone form { margin: 0; }
.movie-detail-tools { display: grid; gap: .55rem; margin-top: .5rem; padding: .85rem 1rem; border-left: 2px solid var(--dashboard-border-cyan); background: rgba(3, 12, 22, .42); }
.movie-detail-tools h2 { margin: 0; font-size: .92rem; }
.movie-detail-tools form { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin: 0; }
.movie-metadata-help { color: var(--dashboard-text-muted); cursor: help; font-size: .92rem; }
.movie-metadata-loading { flex-basis: 100%; margin: 0; color: var(--dashboard-text-muted); font-size: .86rem; }
.movie-credits { margin-top: 1.5rem; }
.movie-credits-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; margin-top: 1rem; }
.movie-credit-panel { min-width: 0; padding: 1rem; border: 1px solid var(--dashboard-border); border-radius: 12px; background: rgba(3, 12, 22, 0.52); }
.movie-credit-panel h3 { margin: 0 0 .7rem; color: var(--dashboard-text); font-size: .95rem; }
.movie-credit-panel p { margin: 0; }
.movie-credit-name-list { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; color: var(--dashboard-text-muted); }
.movie-credit-name-list li { overflow-wrap: anywhere; }
.movie-credit-panel-cast { grid-column: 1 / -1; }
.movie-cast-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.movie-cast-card { display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: .65rem; min-width: 0; align-items: center; }
.movie-cast-photo { width: 3.5rem; aspect-ratio: 2 / 3; overflow: hidden; border-radius: 7px; background: rgba(0, 229, 255, .08); }
.movie-cast-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.movie-cast-copy { min-width: 0; }
.movie-cast-copy h4 { margin: 0; color: var(--dashboard-text); font-size: .84rem; overflow-wrap: anywhere; }
.movie-cast-copy p { margin: .2rem 0 0; color: var(--dashboard-text-muted); font-size: .76rem; overflow-wrap: anywhere; }
.movie-soundtrack-album { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 1rem; margin: 1rem 0; padding: 1rem; border: 1px solid var(--dashboard-border); border-radius: 12px; background: rgba(3, 12, 22, 0.52); }
.movie-soundtrack-cover { display: grid; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: rgba(0, 229, 255, 0.08); place-items: center; color: var(--dashboard-primary); font-size: 2.5rem; }
.movie-soundtrack-cover img { width: 100%; height: 100%; object-fit: cover; }
.movie-soundtrack-album-copy h3,
.movie-soundtrack-album-copy p { margin: 0; }
.movie-soundtrack-album-copy > p { margin-top: 0.35rem; color: var(--dashboard-text-muted); }
.movie-soundtrack-album-copy dl { display: flex; flex-wrap: wrap; gap: 0.8rem 1.3rem; margin: 0.9rem 0; }
.movie-soundtrack-album-copy dl div { min-width: 5rem; }
.movie-soundtrack-tracklist { margin: 1rem 0; }
.movie-soundtrack-tracklist summary { cursor: pointer; color: var(--dashboard-text); font-weight: 750; }
.movie-soundtrack-tracklist ol { display: grid; gap: 0.15rem; margin: 0.8rem 0 0; padding: 0; list-style: none; }
.movie-soundtrack-tracklist li { display: grid; grid-template-columns: 1.5rem minmax(0, 1fr) auto auto; gap: 0.7rem; align-items: center; padding: 0.65rem 0; border-bottom: 1px solid var(--dashboard-border); }
.movie-soundtrack-track-number,
.movie-soundtrack-track-duration { color: var(--dashboard-text-muted); font-variant-numeric: tabular-nums; }
.movie-soundtrack-track-title { min-width: 0; overflow-wrap: anywhere; }
.movie-soundtrack-empty { margin: 1rem 0; padding: 1.1rem; border: 1px dashed var(--dashboard-border); border-radius: 10px; }
.movie-soundtrack-empty h3,
.movie-soundtrack-empty p { margin: 0; }
.movie-soundtrack-empty p { margin-top: 0.35rem; color: var(--dashboard-text-muted); }
.movie-manual-soundtrack { margin-top: 1rem; padding: 1rem; border: 1px dashed var(--dashboard-border); border-radius: 10px; background: rgba(3, 12, 22, 0.34); }
.movie-manual-soundtrack summary { cursor: pointer; color: var(--dashboard-text); font-weight: 750; }
.movie-manual-soundtrack > p { color: var(--dashboard-text-muted); }
.movie-manual-soundtrack form { display: grid; gap: .65rem; }
.movie-manual-soundtrack form p { display: grid; gap: .25rem; margin: 0; }
.movie-manual-soundtrack fieldset { display: grid; gap: .6rem; min-width: 0; border: 1px solid var(--dashboard-border); border-radius: 8px; }
.movie-manual-track { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem; padding-top: .6rem; border-top: 1px solid var(--dashboard-border); }
.movie-manual-track label { color: var(--dashboard-text-muted); font-size: .72rem; }
.movie-detail-danger-zone { margin-top: 1.5rem; padding: 1rem; border: 1px solid rgba(255, 113, 137, 0.35); border-radius: 12px; background: rgba(255, 113, 137, 0.06); }
.movie-detail-danger-zone h2 { width: 100%; margin: 0; color: var(--dashboard-text); font-size: 0.95rem; }
.movie-detail-delete-button { border-color: rgba(255, 113, 137, 0.6); color: var(--dashboard-danger); }

@media (max-width: 640px) {
  .movie-detail-hero { grid-template-columns: 1fr; }
  .movie-detail-poster { width: min(100%, 260px); }
  .movie-detail-meta { grid-template-columns: 1fr; }
  .movie-detail-meta-wide { grid-column: auto; }
  .movie-credits-grid { grid-template-columns: 1fr; }
  .movie-credit-panel-cast { grid-column: auto; }
  .movie-cast-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .movie-soundtrack-album { grid-template-columns: 92px minmax(0, 1fr); }
  .movie-soundtrack-tracklist li { grid-template-columns: 1.25rem minmax(0, 1fr) auto; }
  .movie-soundtrack-tracklist li > .dashboard-muted { grid-column: 2 / -1; }
  .movie-soundtrack-tracklist li > .dashboard-button-secondary { grid-column: 2 / -1; width: 100%; }
  .movie-manual-track { grid-template-columns: 1fr; }
}

.movie-soundtrack-details {
  margin: 1rem 0;
  justify-content: flex-start;
}

.movie-soundtrack-details img {
  width: 112px;
  max-height: 112px;
  object-fit: cover;
  border-radius: 0.5rem;
}

.movie-soundtrack-tracks {
  max-width: 46rem;
  margin: 1rem 0;
  padding-left: 1.5rem;
}

.movie-soundtrack-tracks li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--dashboard-border, rgba(255, 255, 255, 0.12));
}

.movie-audio-player {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.75rem;
  max-width: 46rem;
  margin: 1rem 0;
  padding: 0.8rem;
  border: 1px solid var(--dashboard-border, rgba(255, 255, 255, 0.16));
  border-radius: 0.5rem;
}

.movie-audio-player progress { width: 100%; }

.movie-audio-control { white-space: nowrap; }

.movie-soundtrack-tracks span {
  color: var(--dashboard-text-muted, #b4bdcc);
  white-space: nowrap;
}

.movie-soundtrack-candidates {
  display: grid;
  gap: 0.75rem;
  margin: 1rem 0;
}

.movie-soundtrack-candidates article {
  padding: 1rem;
  border: 1px solid var(--dashboard-border, rgba(255, 255, 255, 0.16));
  border-radius: 0.75rem;
  background: rgba(12, 16, 24, 0.55);
  box-shadow: none;
  backdrop-filter: none;
}

@media (max-width: 640px) {
  .movie-soundtrack-heading,
  .movie-soundtrack-candidates article {
    align-items: stretch;
    flex-direction: column;
  }
  .movie-youtube-player-heading { align-items: stretch; flex-direction: column; }

  .movie-audio-player { grid-template-columns: 1fr; }
}

.movie-search-spinner {
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(0, 229, 255, 0.25);
  border-top-color: var(--dashboard-primary);
  border-radius: 50%;
  animation: movie-search-spin 0.7s linear infinite;
}

@keyframes movie-search-spin {
  to { transform: rotate(360deg); }
}

.movie-search-results {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}

.movie-search-card {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--dashboard-border);
  border-radius: 14px;
  background: rgba(3, 12, 22, 0.68);
}

.movie-search-poster {
  aspect-ratio: 2 / 3;
  overflow: hidden;
  background: rgba(0, 229, 255, 0.06);
}

.movie-search-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.movie-search-card-content {
  display: grid;
  align-content: start;
  gap: 0.55rem;
  padding: 1rem;
}

.movie-search-card h3,
.movie-search-card p {
  margin: 0;
}

.movie-search-card h3 { color: var(--dashboard-text); font-size: 1rem; }
.movie-search-original-title,
.movie-search-meta { color: var(--dashboard-text-muted); font-size: 0.84rem; }
.movie-search-original-title { font-style: italic; }
.movie-search-synopsis {
  display: -webkit-box;
  overflow: hidden;
  color: var(--dashboard-text-muted);
  font-size: 0.88rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.movie-search-card form { padding: 0 1rem 1rem; }
.movie-search-card form .dashboard-button-primary { width: 100%; min-height: 2.75rem; }
.movie-search-empty { text-align: center; }

/* Cinémathèque — ajout et édition, sans les effets coûteux du shell Dashboard. */
.dashboard-home-body .movie-collection-form {
  display: grid;
  gap: 1.5rem;
  background: var(--dashboard-surface-secondary);
  box-shadow: none;
  backdrop-filter: none;
}

.movie-collection-form > section {
  min-width: 0;
  padding: clamp(1rem, 2vw, 1.4rem);
  border: 1px solid var(--dashboard-border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
}

.movie-collection-form h2 { margin-top: 0; }
.movie-collection-form p { margin: 0 0 1rem; }
.movie-collection-form input:not([type="checkbox"]),
.movie-collection-form select,
.movie-collection-form textarea { width: 100%; }

.movie-film-information {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.movie-film-information-copy { min-width: 0; }
.movie-film-poster {
  width: min(100%, 13rem);
  aspect-ratio: 2 / 3;
  border-radius: 10px;
  object-fit: cover;
  background: rgba(0, 229, 255, 0.06);
}

.movie-film-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.7rem 1rem;
  margin: 0 0 1rem;
}

.movie-film-summary div { min-width: 0; }
.movie-film-summary dt { color: var(--dashboard-text-muted); font-size: 0.78rem; }
.movie-film-summary dd { margin: 0.1rem 0 0; color: var(--dashboard-text); overflow-wrap: anywhere; }
.movie-film-synopsis { color: var(--dashboard-text-muted); line-height: 1.55; }

.movie-collection-toggles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0 0 1rem;
}

.movie-collection-toggle {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 3rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 10px;
  cursor: pointer;
}

.movie-collection-toggle input { width: 1.2rem; height: 1.2rem; accent-color: var(--dashboard-primary); }
.movie-collection-toggle:has(input:checked) { border-color: var(--dashboard-border-cyan); background: var(--dashboard-primary-soft); }

.movie-collection-form details {
  padding-top: 0.25rem;
  border-top: 1px solid var(--dashboard-border);
}

.movie-collection-form summary { padding: 0.75rem 0; color: var(--dashboard-primary); cursor: pointer; font-weight: 700; }

@media (min-width: 700px) {
  .movie-film-information { grid-template-columns: minmax(10rem, 13rem) minmax(0, 1fr); align-items: start; }
  .movie-film-information > h2 { grid-column: 1 / -1; }
}

@media (max-width: 1023px) {
  .movie-search-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .movie-search-results { grid-template-columns: 1fr; }
  .movie-film-summary,
  .movie-collection-toggles { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .movie-search-spinner { animation: none; }
  .movie-collection-form *,
  .movie-collection-form *::before,
  .movie-collection-form *::after { scroll-behavior: auto; transition-duration: 0.01ms !important; }
}

/* Minimal, touch-first routine view for adolescents. */
.teen-routine-body {
  background: linear-gradient(155deg, #eaf3ff 0%, #f7fbff 45%, #edf7f2 100%);
}

.teen-routine-main {
  width: min(100%, 38rem);
  min-height: 100vh;
  margin: 0 auto;
  padding: calc(clamp(1.5rem, 6vw, 3rem) + env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(2rem, calc(1.5rem + env(safe-area-inset-bottom))) max(1.25rem, env(safe-area-inset-left));
}

.teen-routine {
  display: grid;
  gap: 1.4rem;
}

.teen-routine-header h1,
.teen-mission-card h2,
.teen-finished h2 {
  margin: 0;
  color: #112c4d;
  line-height: 1.08;
}

.teen-routine-header h1 { font-size: clamp(2.25rem, 10vw, 3.5rem); }
.teen-routine-header p:last-child { margin: 0.75rem 0 0; color: #52708e; }

.teen-routine-kicker,
.teen-mission-label {
  margin: 0 0 0.45rem;
  color: #1d65ae;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.teen-progress {
  padding: 1rem 1.1rem;
  border: 1px solid #cce0f4;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.72);
}

.teen-progress div { display: flex; justify-content: space-between; gap: 1rem; color: #52708e; font-size: 0.9rem; }
.teen-progress strong { color: #173f6b; }
.teen-progress progress { width: 100%; height: 0.7rem; margin-top: 0.75rem; accent-color: #1d7ed5; }

.teen-xp-progress { display: grid; gap: 0.45rem; padding: 0 0.2rem; color: #52708e; font-size: 0.85rem; }
.teen-xp-progress div, .routine-xp-summary div { display: flex; justify-content: space-between; gap: 1rem; }
.teen-xp-progress strong, .routine-xp-summary strong { color: #173f6b; }
.teen-xp-progress progress, .routine-xp-summary progress { width: 100%; height: 0.45rem; accent-color: #31946d; }
.routine-xp-summary { margin-bottom: 1rem; }
.routine-xp-summary p { margin: 0.5rem 0 0; }

.motorcycle-progress { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 1rem; align-items: center; padding: 1rem; border: 1px solid #cfe0ef; border-radius: 1rem; background: rgba(255, 255, 255, 0.7); }
.motorcycle-progress-copy h2 { margin: 0.15rem 0; color: #173f6b; font-size: 1.15rem; }
.motorcycle-project-name, .motorcycle-next-step { margin: 0; color: #52708e; font-size: 0.82rem; }
.motorcycle-progress-copy > p:not(.motorcycle-project-name):not(.motorcycle-next-step) { margin: 0.35rem 0; color: #254764; }
.motorcycle-progress progress { width: 100%; height: 0.45rem; accent-color: #31946d; }
.motorcycle-visual { position: relative; width: 7.5rem; height: 4.75rem; color: #8494a4; }
.motorcycle-visual span { position: absolute; display: block; border-color: currentColor; }
.motorcycle-wheel { bottom: 0; width: 2.25rem; height: 2.25rem; border: 0.42rem solid; border-radius: 50%; }
.motorcycle-wheel-back { left: 0.3rem; }.motorcycle-wheel-front { right: 0.3rem; }
.motorcycle-frame { bottom: 1.7rem; left: 2.05rem; width: 3.55rem; height: 1.25rem; border-bottom: 0.4rem solid; border-left: 0.4rem solid; transform: skewX(-27deg); }
.motorcycle-engine { bottom: 1.15rem; left: 3.05rem; width: 1.65rem; height: 1.35rem; border: 0.32rem solid; border-radius: 0.3rem; }
.motorcycle-tank { bottom: 2.4rem; left: 3.75rem; width: 2rem; height: 1rem; border: 0.35rem solid; border-radius: 0.9rem 0.65rem 0.25rem 0.25rem; }
.motorcycle-seat { bottom: 2.55rem; left: 2.25rem; width: 1.65rem; border-top: 0.42rem solid; transform: skewX(24deg); }
.motorcycle-handlebar { bottom: 3.2rem; right: 1.15rem; width: 1rem; height: 0.9rem; border-top: 0.3rem solid; border-right: 0.3rem solid; }
.motorcycle-stage-2 .motorcycle-frame, .motorcycle-stage-3 .motorcycle-frame, .motorcycle-stage-4 .motorcycle-frame, .motorcycle-stage-5 .motorcycle-frame, .motorcycle-stage-6 .motorcycle-frame, .motorcycle-stage-7 .motorcycle-frame { color: #3b7b69; }
.motorcycle-stage-3 .motorcycle-wheel, .motorcycle-stage-4 .motorcycle-wheel, .motorcycle-stage-5 .motorcycle-wheel, .motorcycle-stage-6 .motorcycle-wheel, .motorcycle-stage-7 .motorcycle-wheel { color: #40566b; }
.motorcycle-stage-4 .motorcycle-engine, .motorcycle-stage-5 .motorcycle-engine, .motorcycle-stage-6 .motorcycle-engine, .motorcycle-stage-7 .motorcycle-engine { color: #3f6479; }
.motorcycle-stage-5 .motorcycle-tank, .motorcycle-stage-6 .motorcycle-tank, .motorcycle-stage-7 .motorcycle-tank { color: #1d72a9; }
.motorcycle-stage-6 .motorcycle-seat, .motorcycle-stage-6 .motorcycle-handlebar, .motorcycle-stage-7 .motorcycle-seat, .motorcycle-stage-7 .motorcycle-handlebar { color: #2d455c; }
.motorcycle-stage-7 { color: #245b76; }.motorcycle-detail-link { display: block; margin: -0.75rem 0 0; color: #1d65ae; font-weight: 700; text-align: right; }.motorcycle-progress-detailed { grid-template-columns: 1fr; }.motorcycle-progress-detailed .motorcycle-visual { margin: 0 auto; transform: scale(1.35); }.motorcycle-steps { display: grid; gap: 0.55rem; margin: 0.35rem 0 0; padding: 0; list-style: none; }.motorcycle-steps li { padding: 0.75rem 0.9rem; border: 1px solid #d9e7f5; border-radius: 0.75rem; color: #7890a4; }.motorcycle-steps .is-unlocked { border-color: #b8dcc8; background: #f1faf5; color: #28704e; }.motorcycle-back-link { text-decoration: none; }

@media (max-width: 420px) { .motorcycle-progress { grid-template-columns: 1fr; }.motorcycle-visual { margin: 0 auto; } }

.routine-reward-parent { margin: 1rem 0; }.routine-reward-heading, .routine-reward-row, .routine-reward-actions { display: flex; gap: 0.75rem; }.routine-reward-heading, .routine-reward-row { align-items: flex-start; justify-content: space-between; }.routine-reward-heading h2 { margin: 0; }.routine-reward-list, .teen-reward-list { display: grid; gap: 0.75rem; margin-top: 1rem; }.routine-reward-row { padding: 0.9rem 0; border-top: 1px solid var(--border); }.routine-reward-row p { margin: 0.25rem 0 0; }.routine-reward-actions { flex-wrap: wrap; justify-content: flex-end; }.routine-reward-actions form { display: inline-flex; }.teen-reward-card { padding: 1.2rem; border: 1px solid #cfe0ef; border-radius: 1rem; background: rgba(255, 255, 255, 0.78); }.teen-reward-card > p:first-child { margin: 0; color: #1d65ae; font-size: 0.85rem; font-weight: 800; }.teen-reward-card h2 { margin: 0.35rem 0; color: #173f6b; }.teen-reward-card form { margin-top: 1rem; }.teen-reward-locked { opacity: 0.72; }.teen-reward-state { margin: 1rem 0 0; color: #52708e; font-weight: 700; }

@media (max-width: 640px) { .routine-reward-row, .routine-reward-heading { flex-direction: column; }.routine-reward-actions { justify-content: flex-start; } }

.teen-mission-card,
.teen-finished {
  padding: clamp(1.5rem, 7vw, 2.5rem);
  border: 1px solid #bfd9f3;
  border-radius: 1.5rem;
  background: #fff;
  box-shadow: 0 18px 44px rgba(41, 92, 139, 0.13);
}

.teen-mission-card h2 { font-size: clamp(1.8rem, 8vw, 2.8rem); }
.teen-mission-description { margin: 1rem 0 0; color: #52708e; font-size: 1.08rem; }
.teen-mission-card form { margin-top: 1.75rem; }

.teen-action {
  width: 100%;
  min-height: 4rem;
  border-radius: 1rem;
  background: #1d72c5;
  font-size: 1.2rem;
  font-weight: 800;
}

.teen-action:hover,
.teen-action:focus { background: #155da4; }
.teen-action:disabled { cursor: not-allowed; opacity: 0.45; }

.teen-checklist { display: grid; gap: 0.8rem; }
.teen-checklist label { display: flex; align-items: center; gap: 0.8rem; min-height: 3.25rem; padding: 0.75rem 0.9rem; border: 1px solid #d9e7f5; border-radius: 0.85rem; color: #254764; font-size: 1.05rem; font-weight: 650; }
.teen-checklist input { width: 1.4rem; height: 1.4rem; flex: 0 0 auto; accent-color: #1d7ed5; }
.teen-checklist label:has(input:checked) { border-color: #a9d5bf; background: #f0fcf5; color: #207049; }

.teen-timer { margin-top: 1.5rem; color: #173f6b; font-size: clamp(3rem, 18vw, 5.5rem); font-variant-numeric: tabular-nums; font-weight: 800; letter-spacing: 0.04em; text-align: center; }
.teen-finished { text-align: center; }
.teen-finished > p:first-child { margin: 0 0 0.75rem; color: #e5a623; font-size: 4rem; line-height: 1; }
.teen-finished p:last-child { margin: 0.8rem 0 0; color: #52708e; font-size: 1.1rem; }

*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
.dashboard-body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  background: linear-gradient(180deg, #eef4fb 0%, #f7f9fc 100%);
  color: var(--text);
  font-family:
    "Segoe UI",
    -apple-system,
    BlinkMacSystemFont,
    "Helvetica Neue",
    sans-serif;
  line-height: 1.5;
}

a {
  color: var(--primary);
  text-decoration: none;
}

a:hover,
a:focus {
  text-decoration: underline;
}

.site-header {
  border-bottom: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
}

.container {
  width: min(1120px, calc(100% - 2rem));
  margin: 0 auto;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  padding: 1rem 0;
}

.brand {
  display: inline-block;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--text);
}

.header-copy {
  margin: 0.25rem 0 0;
}

.site-nav,
nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
}

.nav-link {
  color: var(--text);
  font-weight: 500;
}

.nav-meta,
.muted {
  color: var(--text-muted);
  font-size: 0.95rem;
}

.page-shell {
  padding: 2rem 0 max(3rem, calc(1.5rem + env(safe-area-inset-bottom)));
}

.page-header {
  margin-bottom: 1.5rem;
}

.page-title {
  margin: 0;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  line-height: 1.15;
}

.page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}

.grid {
  display: grid;
  gap: 1rem;
}

.grid.grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid.grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.card {
  padding: 1.25rem;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.card h2,
.card h3,
.card p:first-child {
  margin-top: 0;
}

.button,
button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0.7rem 1rem;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  font-weight: 600;
  font-size: 0.95rem;
  cursor: pointer;
}

.button:hover,
button:hover,
.button:focus,
button:focus {
  background: var(--primary-hover);
  color: #fff;
  text-decoration: none;
}

.button-secondary {
  background: #fff;
  border-color: var(--border);
  color: var(--text);
}

.button-secondary:hover,
.button-secondary:focus {
  background: var(--surface-muted);
  color: var(--text);
}

.inline-form,
form {
  margin: 0;
}

form {
  display: grid;
  gap: 0.85rem;
}

input,
select,
textarea {
  width: 100%;
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  color: var(--text);
  font: inherit;
}

@media (max-width: 767px) {
  input,
  select,
  textarea {
    font-size: 16px;
  }
}

input:focus,
select:focus,
textarea:focus {
  outline: 2px solid rgba(29, 78, 216, 0.2);
  border-color: var(--primary);
}

table {
  width: 100%;
  border-collapse: collapse;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

th,
td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}

thead th {
  background: var(--surface-muted);
  font-size: 0.92rem;
}

tbody tr:last-child td {
  border-bottom: 0;
}

.flash-stack {
  display: grid;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}

.flash {
  padding: 0.9rem 1rem;
  border: 1px solid var(--info-border);
  border-radius: 12px;
  background: var(--info-bg);
  color: var(--info-text);
}

.flash-success {
  border-color: var(--success-border);
  background: var(--success-bg);
  color: var(--success-text);
}

.flash-error,
.flash-danger {
  border-color: var(--danger-border);
  background: var(--danger-bg);
  color: var(--danger-text);
}

.flash-warning {
  border-color: var(--warning-border);
  background: var(--warning-bg);
  color: var(--warning-text);
}

.stat-value {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
}

.list-reset {
  margin: 0;
  padding-left: 1.1rem;
}

.project-list {
  display: grid;
  gap: 0.9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.project-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
}

.status-badge {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: var(--surface-muted);
  color: var(--text-muted);
  font-size: 0.85rem;
  font-weight: 600;
}

.project-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  align-items: center;
  margin-top: 1rem;
}

.project-live-status { color: var(--success-text); font-weight: 700; margin: .65rem 0 0; }
.project-live-status span { font-size: 1.1rem; }
.project-summary-grid { display: grid; grid-template-columns: minmax(250px, .85fr) minmax(0, 1.5fr); gap: 1rem; }
.project-status-card h2 { margin-bottom: 1rem; }
.project-status-list { display: grid; gap: .75rem; margin: 0; }
.project-status-list div { display: grid; gap: .15rem; padding-bottom: .75rem; border-bottom: 1px solid var(--border); }
.project-status-list div:last-child { padding-bottom: 0; border-bottom: 0; }
.project-status-list dt { color: var(--text-muted); font-size: .9rem; font-weight: 600; }
.project-status-list dd { margin: 0; font-weight: 700; }
.project-primary-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.project-primary-actions form { display: contents; }
.project-primary-action { display: grid; align-content: center; min-height: 132px; padding: 1.25rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); color: var(--text); text-align: left; }
.project-primary-action:hover, .project-primary-action:focus { border-color: var(--primary); color: var(--text); text-decoration: none; }
.project-primary-action strong { font-size: 1.08rem; }
.project-primary-action span { margin-top: .35rem; color: var(--text-muted); font-size: .92rem; font-weight: 400; }
button.project-primary-action { width: 100%; font: inherit; cursor: pointer; }
.project-primary-action-publish { border-color: var(--primary); background: var(--primary); color: #fff; }
.project-primary-action-publish:hover, .project-primary-action-publish:focus { background: var(--primary-hover); color: #fff; }
.project-primary-action-publish span { color: rgba(255,255,255,.84); }
.advanced-tools { margin-top: 1.5rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.advanced-tools summary { padding: 1rem 1.25rem; cursor: pointer; font-weight: 700; }
.advanced-tools-content { display: grid; gap: 1rem; padding: 0 1.25rem 1.25rem; }
.advanced-configuration h3 { margin-top: 1.5rem; }
.block-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .35fr) auto; align-items: end; gap: 1rem; }
.block-filters label { display: grid; gap: .35rem; font-weight: 600; }
.table-card { margin-top: 1rem; }
.table-scroll { overflow-x: auto; }
.pagination { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1rem; }

.stack-actions {
  display: grid;
  gap: 0.85rem;
}

.stack-actions .button,
.stack-actions form,
.stack-actions p {
  margin: 0;
}

.notice-inline {
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--info-border);
  border-radius: 12px;
  background: var(--info-bg);
  color: var(--info-text);
}

.detail-list {
  display: grid;
  gap: 0.85rem;
  margin: 0;
}

.detail-list div {
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--border);
}

.detail-list div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.detail-list dt {
  margin: 0 0 0.2rem;
  color: var(--text-muted);
  font-size: 0.9rem;
  font-weight: 600;
}

.detail-list dd {
  margin: 0;
  word-break: break-word;
}

.edit-form-grid {
  display: grid;
  gap: 1rem;
}

.editable-card {
  padding: 1rem;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

.editable-card-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 0.85rem;
}

.editable-card-header label {
  display: inline-block;
  margin-bottom: 0.25rem;
}

.editable-card-header .muted {
  margin: 0;
}

.field-help {
  display: grid;
  gap: 0.3rem;
  min-width: 180px;
  color: var(--text-muted);
  font-size: 0.92rem;
}

[data-editable-block-key]:target {
  outline: 2px solid #2563eb;
  background: #eff6ff;
  scroll-margin-top: 24px;
}

.preview-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.5rem;
}

.preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.selected-block-panel {
  border-color: var(--info-border);
  background: linear-gradient(180deg, #ffffff 0%, #f2f8ff 100%);
}

.selected-block-panel strong[data-selected-editable-key] {
  display: inline-block;
  margin-top: 0.25rem;
  font-size: 1.05rem;
}

.preview-frame {
  width: 100%;
  margin-top: 1rem;
}

.page-shell:has(.client-studio) { width: min(1480px, calc(100% - 2rem)); }
.client-studio { display: grid; gap: 1rem; }
.client-studio-header, .client-studio-save {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1rem;
}
.client-studio-header { padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.client-studio-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.client-studio-status, .client-project-draft { color: var(--warning-text); font-weight: 700; }
.client-studio-settings { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); }
.client-studio-settings h2 { width: 100%; margin: 0; font-size: 1.1rem; }
.client-studio-area { display: grid; grid-template-columns: minmax(0, 2.15fr) minmax(320px, .95fr); gap: 1rem; align-items: start; }
.client-studio-preview, .client-studio-editor { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.client-studio-preview iframe { display: block; width: 100%; min-height: clamp(620px, 80vh, 920px); border: 0; background: #fff; }
.client-studio-empty-preview { display: grid; place-items: center; min-height: 520px; padding: 2rem; text-align: center; }
.client-studio-empty-preview h2 { margin: 0; font-size: 1.25rem; }
.client-studio-empty-preview p { max-width: 34rem; color: var(--text-muted); }
.client-studio-editor { padding: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; position: sticky; top: 1rem; }
.client-studio-field-title { font-size: 1.1rem; font-weight: 700; }
.client-studio-boolean-field { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: 0; padding: 0; border: 0; }
.client-studio-boolean-field legend { width: 100%; margin-bottom: .5rem; }
.client-studio-boolean-field label { display: inline-flex; align-items: center; gap: .4rem; }
.client-studio-save { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border); justify-content: flex-start; }
.client-studio-draft-summary { padding: 1rem 1.25rem; border: 1px solid var(--info-border); border-radius: var(--radius); background: var(--info-bg); }
.client-studio-draft-summary h2 { margin: 0; font-size: 1.1rem; }
.client-studio-draft-summary ul { margin: .65rem 0 0; padding-left: 1.25rem; }
.client-studio-draft-summary p { margin: .65rem 0 0; }
.client-studio-draft-summary form { margin-top: .9rem; }
.client-studio-publish { display: grid; justify-items: end; gap: 1rem; }
.client-publication-progress { width: min(100%, 620px); padding: 1.25rem; border: 1px solid var(--info-border); border-radius: var(--radius); background: var(--info-bg); color: var(--info-text); }
.client-publication-progress h2, .client-publication-progress p { margin-top: 0; }
.publication-steps { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.publication-steps li { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; gap: .75rem; align-items: center; color: var(--text-muted); }
.publication-steps li > span { display: grid; place-items: center; width: 2rem; height: 2rem; border: 1px solid currentColor; border-radius: 50%; font-weight: 700; }
.publication-steps strong { font-size: .85rem; }
.publication-steps li[data-state="active"] { color: var(--primary); font-weight: 700; }
.publication-steps li[data-state="done"] { color: var(--success-text); }
.publication-steps li[data-state="failed"] { color: var(--danger-text); font-weight: 700; }
.publication-steps li[data-state="done"] > span::before { content: "✓"; }
.publication-steps li[data-state="done"] > span { font-size: 0; }
.publication-steps li[data-state="done"] > span::before { font-size: 1rem; }
.client-publication-dialog { width: min(30rem, calc(100% - 2rem)); border: 1px solid var(--border); border-radius: var(--radius); box-shadow: var(--shadow); color: var(--text); }
.client-publication-dialog::backdrop { background: rgba(15, 23, 42, .48); }
.client-publication-dialog h2 { margin-top: 0; }
[aria-disabled="true"] { pointer-events: none; opacity: .55; }
.client-project-home { width: min(760px, 100%); margin: 1.5rem auto; }
.client-project-live { color: var(--success-text); font-weight: 700; }
.client-project-actions { display: grid; gap: .85rem; }
.client-project-action { display: flex; align-items: center; gap: 1rem; padding: 1.1rem 1.25rem; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); color: var(--text); }
.client-project-action:hover, .client-project-action:focus { text-decoration: none; border-color: var(--primary); }
.client-project-action.is-disabled { cursor: not-allowed; opacity: .6; }
.client-project-action > span:first-child { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--surface-muted); color: var(--primary); font-size: 1.25rem; }
.client-project-action strong, .client-project-action small { display: block; }
.client-project-action small { margin-top: .15rem; color: var(--text-muted); }
.client-project-action-primary { border-color: var(--primary); background: var(--primary); color: #fff; }
.client-project-action-primary > span:first-child { background: rgba(255,255,255,.18); color: #fff; }
.client-project-action-primary small { color: rgba(255,255,255,.84); }
.client-project-help { margin-top: 1rem; }

@media (max-width: 780px) {
  .header-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .site-nav {
    justify-content: flex-start;
  }

  .grid.grid-2,
  .grid.grid-3 {
    grid-template-columns: 1fr;
  }

  .project-summary-grid,
  .project-primary-actions,
  .block-filters { grid-template-columns: 1fr; }

  .project-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .preview-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .client-studio-area { grid-template-columns: 1fr; }
  .client-studio-editor { position: static; max-height: none; }
  .client-studio-preview iframe { min-height: min(70vh, 620px); }
  .publication-steps li { grid-template-columns: 2rem minmax(0, 1fr); }
  .publication-steps strong { grid-column: 2; }
}

/* Dark Luxury dashboard home. These selectors are intentionally scoped so
   every non-migrated page keeps the legacy shell and palette. */
.dashboard-home-body {
  --dashboard-background: #070b14;
  --dashboard-surface: rgba(255, 255, 255, 0.04);
  --dashboard-surface-secondary: rgba(255, 255, 255, 0.025);
  --dashboard-border: rgba(255, 255, 255, 0.08);
  --dashboard-border-cyan: rgba(0, 229, 255, 0.28);
  --dashboard-primary: #00e5ff;
  --dashboard-primary-soft: rgba(0, 229, 255, 0.14);
  --dashboard-text: #f8fafc;
  --dashboard-text-muted: #94a3b8;
  --dashboard-danger: #ff7189;
  --dashboard-success: #45e0a8;
  --dashboard-warning: #efd583;
  --dashboard-glow: 0 0 40px rgba(0, 229, 255, 0.12);
  --dashboard-shell-background: rgba(2, 7, 15, 0.72);
  --dashboard-shell-border: rgba(255, 255, 255, 0.14);
  --dashboard-shell-shadow: 0 18px 48px rgba(0, 0, 0, 0.32);
  --dashboard-sidebar-background: linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.018)), rgba(5, 10, 18, 0.74);
  --dashboard-header-background: rgba(7, 11, 20, 0.86);
  --dashboard-header-desktop-background: rgba(4, 9, 17, 0.52);
  --dashboard-mobile-nav-background: rgba(7, 11, 20, 0.72);
  --dashboard-account-menu-background: rgba(7, 11, 20, 0.98);
  --dashboard-account-menu-shadow: 0 14px 32px rgba(0, 0, 0, 0.28);
  --dashboard-priority-card-surface: rgba(7, 16, 27, 0.72);
  --dashboard-priority-card-shadow: 0 16px 38px rgba(0, 0, 0, 0.2);
  --dashboard-priority-card-overlay: linear-gradient(90deg, rgba(4, 10, 19, 0.94), rgba(6, 15, 25, 0.8));
  --dashboard-priority-accent-surface: rgba(0, 229, 255, 0.06);
  --dashboard-priority-accent-line: rgba(0, 229, 255, 0.14);
  --dashboard-priority-action-border: rgba(0, 229, 255, 0.62);
  --dashboard-priority-action-background: linear-gradient(135deg, #1bf1f7, #00cde8);
  --dashboard-priority-action-background-hover: linear-gradient(135deg, #54f7fb, #00d8f2);
  --dashboard-priority-action-shadow: 0 8px 30px rgba(0, 229, 255, 0.18);
  --dashboard-priority-action-shadow-hover: 0 10px 36px rgba(0, 229, 255, 0.28);
  --dashboard-priority-action-text: #031117;
  --dashboard-priority-visual-glow: radial-gradient(circle at 48% 46%, rgba(0, 229, 255, 0.85), rgba(0, 106, 157, 0.24) 38%, transparent 68%);
  --dashboard-priority-visual-shadow: 0 0 54px rgba(0, 229, 255, 0.18);
  --dashboard-priority-orbit: rgba(0, 229, 255, 0.25);
  --dashboard-priority-monogram-shadow: 0 0 20px rgba(0, 229, 255, 0.55);
  --dashboard-priority-warning-surface: rgba(201, 168, 76, 0.12);
  --dashboard-priority-warning-border: rgba(201, 168, 76, 0.45);
  --dashboard-priority-success-surface: rgba(69, 224, 168, 0.11);
  --dashboard-priority-success-border: rgba(69, 224, 168, 0.42);
  --dashboard-settings-surface: linear-gradient(135deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)), var(--dashboard-surface);
  --dashboard-settings-shadow: 0 18px 46px rgba(0, 0, 0, 0.2);
  --dashboard-settings-input-background: rgba(2, 8, 16, 0.7);
  --dashboard-settings-action-text: #031117;
  --dashboard-settings-status-surface: var(--dashboard-primary-soft);
  --dashboard-settings-color-scheme: dark;
  --dashboard-status-info-surface: rgba(0, 229, 255, 0.1);
  --dashboard-status-info-border: rgba(0, 229, 255, 0.28);
  --dashboard-status-success-surface: rgba(69, 224, 168, 0.1);
  --dashboard-status-success-border: rgba(69, 224, 168, 0.35);
  --dashboard-status-danger-surface: rgba(255, 113, 137, 0.1);
  --dashboard-status-danger-border: rgba(255, 113, 137, 0.4);
  --dashboard-status-warning-surface: rgba(201, 168, 76, 0.12);
  --dashboard-status-warning-border: rgba(201, 168, 76, 0.45);
  min-width: 320px;
  scroll-behavior: smooth;
  background:
    radial-gradient(circle at 82% 10%, rgba(0, 229, 255, 0.2), transparent 23rem),
    radial-gradient(circle at 8% 74%, rgba(21, 110, 143, 0.2), transparent 28rem),
    radial-gradient(circle at 62% 88%, rgba(107, 76, 196, 0.12), transparent 24rem),
    linear-gradient(145deg, #02050b 0%, var(--dashboard-background) 46%, #081322 100%);
  color: var(--dashboard-text);
}

.dashboard-home-body::before,
.dashboard-home-body::after {
  position: fixed;
  z-index: -1;
  border-radius: 50%;
  pointer-events: none;
  content: "";
}

.dashboard-home-body::before {
  top: 8%;
  right: 7%;
  width: 7px;
  height: 7px;
  background: var(--dashboard-primary);
  box-shadow:
    -31vw 8vh 0 -2px rgba(0, 229, 255, 0.8),
    -18vw 58vh 0 -1px rgba(248, 250, 252, 0.55),
    5vw 42vh 0 -2px rgba(0, 229, 255, 0.75),
    -65vw 71vh 0 -2px rgba(201, 168, 76, 0.65),
    -74vw 16vh 0 -2px rgba(248, 250, 252, 0.7);
  filter: drop-shadow(0 0 8px rgba(0, 229, 255, 0.9));
}

.dashboard-home-body::after {
  right: -12rem;
  bottom: -14rem;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgba(0, 229, 255, 0.08);
  box-shadow: inset 0 0 100px rgba(0, 229, 255, 0.05);
}

.dashboard-shell {
  min-height: 100vh;
  background: var(--dashboard-shell-background);
}

.dashboard-workspace {
  min-width: 0;
}

.dashboard-sidebar {
  display: none;
}

.dashboard-brand,
.dashboard-mobile-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--dashboard-text);
  font-size: 1.1rem;
  font-weight: 750;
  letter-spacing: -0.025em;
}

.dashboard-brand:hover,
.dashboard-brand:focus,
.dashboard-mobile-brand:hover,
.dashboard-mobile-brand:focus {
  color: var(--dashboard-text);
  text-decoration: none;
}

.dashboard-brand-mark {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.55rem;
  height: 2.55rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(0, 229, 255, 0.18), rgba(255, 255, 255, 0.025));
  box-shadow: 0 0 24px rgba(0, 229, 255, 0.12);
  color: var(--dashboard-primary);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-shadow: 0 0 12px rgba(0, 229, 255, 0.72);
}

.dashboard-sidebar-nav {
  display: grid;
  align-items: stretch;
  justify-content: stretch;
  gap: 0.45rem;
}

.dashboard-nav-link {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 2.9rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--dashboard-text-muted);
  font-size: 0.92rem;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.dashboard-nav-link:hover,
.dashboard-nav-link:focus,
.dashboard-nav-link.is-active {
  border-color: rgba(0, 229, 255, 0.12);
  background: linear-gradient(90deg, var(--dashboard-primary-soft), transparent);
  color: var(--dashboard-text);
  text-decoration: none;
}

.dashboard-nav-link.is-active::after {
  position: absolute;
  right: 0.85rem;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--dashboard-primary);
  box-shadow: 0 0 10px rgba(0, 229, 255, 0.9);
  content: "";
}

.dashboard-nav-indicator {
  width: 3px;
  height: 1.15rem;
  margin-right: 0.7rem;
  border-radius: 999px;
  background: var(--dashboard-primary);
  box-shadow: 0 0 10px rgba(0, 229, 255, 0.8);
}

.dashboard-sidebar-footer {
  display: grid;
  gap: 0.35rem;
  margin-top: auto;
  padding-top: 1.5rem;
  border-top: 1px solid var(--dashboard-border);
  font-size: 0.82rem;
}

.dashboard-settings-appearance {
  display: grid;
  gap: 0.55rem;
  margin: 0.1rem 0.35rem 0.35rem 1rem;
  padding: 0.65rem 0 0.15rem 0.8rem;
  border-left: 1px solid var(--dashboard-border);
}

.dashboard-settings-appearance .dashboard-theme-toggle {
  width: 100%;
  justify-content: space-between;
}

.dashboard-mobile-nav .dashboard-settings-appearance {
  grid-column: 1 / -1;
  min-width: min(100%, 12rem);
  margin: 0.2rem 0 0;
  padding: 0.65rem 0 0.15rem;
  border-top: 1px solid var(--dashboard-border);
  border-left: 0;
}

.dashboard-sidebar-footer a {
  color: var(--dashboard-text-muted);
}

.dashboard-sidebar-kicker {
  color: var(--dashboard-primary);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.dashboard-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  padding: calc(1.15rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) 1.15rem max(1rem, env(safe-area-inset-left));
  border-bottom: 1px solid var(--dashboard-border);
  background: var(--dashboard-header-background);
  backdrop-filter: blur(18px);
}

.dashboard-header-heading {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.dashboard-header-title {
  display: none;
  margin: 0;
  color: var(--dashboard-text);
  font-size: clamp(1.5rem, 2.1vw, 2rem);
  font-weight: 650;
  letter-spacing: -0.04em;
}

.dashboard-account {
  position: relative;
  min-width: 0;
}

.dashboard-account-trigger {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 42px;
  padding: 0.45rem 0.65rem 0.45rem 0.8rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 999px;
  color: var(--dashboard-text);
  cursor: pointer;
  list-style: none;
}

.dashboard-account-trigger::-webkit-details-marker { display: none; }

.dashboard-account-trigger:hover,
.dashboard-account[open] .dashboard-account-trigger {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
}

.dashboard-account-email {
  max-width: 22rem;
  overflow: hidden;
  color: var(--dashboard-text);
  font-size: 0.9rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-account-chevron {
  color: var(--dashboard-primary);
  font-size: 0.58rem;
  transition: transform 160ms ease;
}

.dashboard-account[open] .dashboard-account-chevron { transform: rotate(180deg); }

.dashboard-account-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 0.45rem);
  right: 0;
  min-width: 11rem;
  padding: 0.35rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 0.75rem;
  background: var(--dashboard-account-menu-background);
  box-shadow: var(--dashboard-account-menu-shadow);
}

.dashboard-logout-form {
  display: block;
}

.dashboard-logout-form button {
  width: 100%;
  min-height: 40px;
  padding: 0.5rem 0.65rem;
  border: 0;
  border-radius: 0.5rem;
  background: transparent;
  color: var(--dashboard-text-muted);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.dashboard-logout-form button:hover,
.dashboard-logout-form button:focus-visible {
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-text);
}

.dashboard-mobile-nav {
  display: grid;
  grid-template-columns: repeat(4, auto);
  justify-content: start;
  gap: 0.35rem;
  padding: 0.75rem max(1rem, env(safe-area-inset-right)) 0.75rem max(1rem, env(safe-area-inset-left));
  overflow-x: auto;
  border-bottom: 1px solid var(--dashboard-border);
  background: var(--dashboard-mobile-nav-background);
}

.dashboard-mobile-nav a {
  display: flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 0.75rem;
  border: 1px solid transparent;
  border-radius: 999px;
  color: var(--dashboard-text-muted);
  font-size: 0.78rem;
  white-space: nowrap;
}

.dashboard-mobile-nav a:hover,
.dashboard-mobile-nav a:focus,
.dashboard-mobile-nav a.is-active {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-text);
  text-decoration: none;
}

.dashboard-main {
  display: grid;
  gap: 1.5rem;
  width: 100%;
  max-width: 1380px;
  margin: 0 auto;
  padding: 1.5rem max(1rem, env(safe-area-inset-right)) max(3rem, calc(1.5rem + env(safe-area-inset-bottom))) max(1rem, env(safe-area-inset-left));
}

.dashboard-main .flash-stack {
  margin: 0;
}

.dashboard-main .flash {
  border-color: var(--dashboard-status-info-border);
  background: var(--dashboard-status-info-surface);
  color: var(--dashboard-text);
}

.dashboard-main .flash-success {
  border-color: var(--dashboard-status-success-border);
  background: var(--dashboard-status-success-surface);
  color: var(--dashboard-success);
}

.dashboard-main .flash-danger,
.dashboard-main .flash-error {
  border-color: var(--dashboard-status-danger-border);
  background: var(--dashboard-status-danger-surface);
  color: var(--dashboard-danger);
}

.dashboard-main .flash-warning {
  border-color: var(--dashboard-status-warning-border);
  background: var(--dashboard-status-warning-surface);
  color: var(--dashboard-warning);
}

/* Installation sur l’écran d’accueil — limité à l’accueil client et au mobile. */
.dashboard-install-onboarding {
  display: none;
  position: fixed;
  z-index: 30;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  left: max(1rem, env(safe-area-inset-left));
  gap: 0.9rem;
  max-width: 28rem;
  padding: 1.1rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 20px;
  background: var(--dashboard-surface, #101a29);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
  color: var(--dashboard-text);
  animation: dashboard-install-enter 180ms ease-out both;
}

@keyframes dashboard-install-enter {
  from { opacity: 0; transform: scale(0.97); }
  to { opacity: 1; transform: scale(1); }
}

@media (max-width: 767px) {
  .dashboard-install-onboarding:not([hidden]) {
    display: grid;
  }
}

.dashboard-install-onboarding-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: start;
}

.dashboard-install-onboarding .dashboard-eyebrow {
  margin-bottom: 0.2rem;
}

.dashboard-install-onboarding h2,
.dashboard-install-onboarding p {
  margin: 0;
}

.dashboard-install-onboarding h2 {
  color: var(--dashboard-text);
  font-size: 1rem;
  letter-spacing: -0.02em;
}

.dashboard-install-onboarding > :not(.dashboard-install-onboarding-heading) > p {
  color: var(--dashboard-text-muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.dashboard-install-onboarding-mark {
  display: grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 50%;
  color: var(--dashboard-primary);
  font-size: 1.15rem;
}

.dashboard-install-dismiss {
  display: grid;
  width: 2.25rem;
  min-height: 2.25rem;
  place-items: center;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 50%;
  background: transparent;
  color: var(--dashboard-text-muted);
  font: inherit;
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
}

.dashboard-install-dismiss:hover,
.dashboard-install-dismiss:focus-visible {
  border-color: var(--dashboard-border);
  background: rgba(255, 255, 255, 0.06);
  color: var(--dashboard-text);
}

.dashboard-install-steps {
  display: grid;
  gap: 0.55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dashboard-install-steps li {
  display: grid;
  grid-template-columns: 1.6rem minmax(0, 1fr);
  gap: 0.5rem;
  align-items: center;
  color: var(--dashboard-text-muted);
  font-size: 0.84rem;
}

.dashboard-install-steps li > span:first-child {
  display: grid;
  width: 1.35rem;
  height: 1.35rem;
  place-items: center;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 50%;
  color: var(--dashboard-primary);
  font-size: 0.75rem;
}

.dashboard-install-steps strong { color: var(--dashboard-text); }

.dashboard-install-action {
  min-height: 2.5rem;
  padding: 0.6rem 0.9rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 10px;
  background: var(--dashboard-primary);
  color: #031117;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 800;
  cursor: pointer;
}

.dashboard-install-action:disabled { cursor: wait; opacity: 0.65; }

.dashboard-install-later {
  min-height: 2.5rem;
  border: 0;
  background: transparent;
  color: var(--dashboard-text-muted);
  font: inherit;
  font-size: 0.84rem;
  font-weight: 700;
  cursor: pointer;
}

.dashboard-install-later {
  justify-self: start;
  padding: 0.25rem 0;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.dashboard-install-later:focus-visible,
.dashboard-install-action:focus-visible {
  outline: 2px solid var(--dashboard-primary);
  outline-offset: 3px;
}

/* Uniquement la carte d’installation prend les codes doux du Baby Journal. */
.dashboard-install-onboarding--baby {
  border-color: #c9a87c;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(75, 61, 49, 0.15);
  color: #2c2c2a;
}

.dashboard-install-onboarding--baby h2,
.dashboard-install-onboarding--baby strong { color: #2c2c2a; }
.dashboard-install-onboarding--baby > :not(.dashboard-install-onboarding-heading) > p,
.dashboard-install-onboarding--baby .dashboard-install-steps li { color: #746d65; }
.dashboard-install-onboarding--baby .dashboard-eyebrow,
.dashboard-install-onboarding--baby .dashboard-install-onboarding-mark,
.dashboard-install-onboarding--baby .dashboard-install-steps li > span:first-child { color: #aa7758; }
.dashboard-install-onboarding--baby .dashboard-install-onboarding-mark,
.dashboard-install-onboarding--baby .dashboard-install-steps li > span:first-child { border-color: #e5cfbb; background: #fbf3eb; }
.dashboard-install-onboarding--baby .dashboard-install-dismiss { color: #887b70; }
.dashboard-install-onboarding--baby .dashboard-install-dismiss:hover,
.dashboard-install-onboarding--baby .dashboard-install-dismiss:focus-visible { border-color: #e5cfbb; background: #fbf3eb; color: #5b493d; }
.dashboard-install-onboarding--baby .dashboard-install-action { border-color: #e8b4a0; background: #e8b4a0; color: #2c2c2a; }
.dashboard-install-onboarding--baby .dashboard-install-later { color: #746d65; }
.dashboard-install-onboarding--baby .dashboard-install-later:focus-visible,
.dashboard-install-onboarding--baby .dashboard-install-action:focus-visible { outline-color: #c9a87c; }

.dashboard-home-intro,
.dashboard-section-heading,
.dashboard-card-heading,
.dashboard-project-heading,
.dashboard-project-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.dashboard-home-intro h1,
.dashboard-project-hero h2,
.dashboard-project-list-section h2,
.dashboard-modules h2,
.dashboard-empty-state h2,
.dashboard-module-card h3 {
  margin: 0;
  color: var(--dashboard-text);
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.dashboard-home-intro h1 {
  font-size: clamp(1.85rem, 4vw, 3rem);
}

.dashboard-home-intro > div > p:last-child,
.dashboard-project-description,
.dashboard-module-copy p,
.dashboard-empty-state > p:last-child {
  color: var(--dashboard-text-muted);
}

.dashboard-home-intro > div > p:last-child {
  max-width: 42rem;
  margin: 0.65rem 0 0;
}

html[data-dashboard-section="account"] [data-dashboard-panel="dashboard"],
html[data-dashboard-section="dashboard"] [data-dashboard-panel="account"],
[data-dashboard-panel][hidden] {
  display: none !important;
}

.dashboard-home-intro,
.dashboard-project-hero,
.dashboard-empty-state,
.dashboard-modules {
  scroll-margin-top: 1rem;
}

.dashboard-eyebrow {
  margin: 0 0 0.45rem;
  color: var(--dashboard-primary);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.dashboard-glass-card {
  position: relative;
  border: 1px solid var(--dashboard-border);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.065), rgba(255, 255, 255, 0.018)),
    var(--dashboard-surface);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(22px);
}

.dashboard-project-count {
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 999px;
  background: var(--dashboard-surface-secondary);
  color: var(--dashboard-text-muted);
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.dashboard-project-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(240px, 0.7fr);
  min-height: 18rem;
  overflow: hidden;
  align-self: end;
  border-color: var(--dashboard-border);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
}

.dashboard-project-hero::before {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--dashboard-priority-card-overlay);
  content: "";
}

.dashboard-project-hero-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 4vw, 3.4rem);
}

.dashboard-project-heading {
  align-items: flex-start;
}

.dashboard-project-hero h2 {
  font-size: clamp(2rem, 4.5vw, 3.8rem);
}

.dashboard-project-description {
  max-width: 35rem;
  margin: 1.15rem 0;
  font-size: 1rem;
}

.dashboard-project-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  margin-bottom: 1.4rem;
  color: var(--dashboard-text-muted);
  font-size: 0.78rem;
}

.dashboard-project-meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.dashboard-project-meta span::before {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--dashboard-primary);
  box-shadow: 0 0 8px rgba(0, 229, 255, 0.75);
  content: "";
}

.dashboard-project-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.dashboard-button-primary,
.dashboard-button-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  padding: 0.72rem 1.15rem;
  border: 1px solid transparent;
  border-radius: 13px;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.1;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background-color 160ms ease;
}

.dashboard-button-primary {
  border-color: rgba(0, 229, 255, 0.62);
  background: linear-gradient(135deg, #1bf1f7, #00cde8);
  box-shadow: 0 8px 30px rgba(0, 229, 255, 0.18), inset 0 1px rgba(255, 255, 255, 0.45);
  color: #031117;
}

.dashboard-button-secondary {
  border-color: var(--dashboard-border);
  background: rgba(255, 255, 255, 0.045);
  color: var(--dashboard-text);
}

.dashboard-button-primary:hover,
.dashboard-button-primary:focus,
.dashboard-button-secondary:hover,
.dashboard-button-secondary:focus {
  transform: translateY(-1px);
  text-decoration: none;
}

.dashboard-button-primary:hover,
.dashboard-button-primary:focus {
  background: linear-gradient(135deg, #54f7fb, #00d8f2);
  box-shadow: 0 10px 36px rgba(0, 229, 255, 0.28);
  color: #031117;
}

.dashboard-button-secondary:hover,
.dashboard-button-secondary:focus {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-text);
}

.dashboard-home-body :where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(0, 229, 255, 0.72);
  outline-offset: 3px;
}

.dashboard-badge-draft,
.dashboard-badge-live {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.45rem;
  padding: 0.38rem 0.68rem;
  border: 1px solid;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.dashboard-badge-draft {
  border-color: var(--dashboard-status-warning-border);
  background: var(--dashboard-status-warning-surface);
  color: var(--dashboard-warning);
}

.dashboard-badge-live {
  border-color: var(--dashboard-status-success-border);
  background: var(--dashboard-status-success-surface);
  color: var(--dashboard-success);
}

.dashboard-badge-draft > span,
.dashboard-badge-live > span {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 7px currentColor;
}

.dashboard-hero-visual {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  min-height: 17rem;
  overflow: hidden;
}

.dashboard-hero-visual::before {
  position: absolute;
  width: 15rem;
  height: 15rem;
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 35%, rgba(248, 250, 252, 0.8), transparent 3%),
    var(--dashboard-priority-visual-glow);
  box-shadow: var(--dashboard-priority-visual-shadow);
  filter: blur(0.2px);
  content: "";
}

.dashboard-hero-orbit {
  position: absolute;
  border: 1px solid var(--dashboard-priority-orbit);
  border-radius: 50%;
  transform: rotate(-24deg);
}

.dashboard-hero-orbit-one {
  width: 18rem;
  height: 7rem;
}

.dashboard-hero-orbit-two {
  width: 19rem;
  height: 10rem;
  transform: rotate(42deg);
}

.dashboard-hero-monogram {
  position: relative;
  z-index: 2;
  color: var(--dashboard-text);
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 250;
  letter-spacing: -0.08em;
  text-shadow: var(--dashboard-priority-monogram-shadow);
}

.dashboard-priority-cards .dashboard-badge-draft {
  border-color: var(--dashboard-status-info-border);
  background: var(--dashboard-status-info-surface);
  color: var(--dashboard-primary);
}

.dashboard-card-heading {
  align-items: flex-start;
}

.dashboard-card-heading > a {
  color: var(--dashboard-primary);
  font-size: 0.8rem;
  font-weight: 700;
}

.dashboard-section-heading h2 {
  font-size: clamp(1.4rem, 2.2vw, 2rem);
}

.dashboard-project-list-section,
.dashboard-modules {
  display: grid;
  gap: 1rem;
  padding-top: 0.75rem;
  scroll-margin-top: 1rem;
}

.dashboard-priority-cards {
  display: grid;
  gap: 1.5rem;
}

.dashboard-priority-card-group {
  display: grid;
  min-width: 0;
  height: 100%;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0.85rem;
}

.dashboard-priority-card-group > .dashboard-module-card,
.dashboard-priority-card-group > .dashboard-project-hero {
  height: 100%;
  min-height: 24rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 18px;
  background: var(--dashboard-priority-card-surface);
  box-shadow: var(--dashboard-priority-card-shadow);
}

.dashboard-priority-cards > .dashboard-project-list-section,
.dashboard-priority-cards > .dashboard-empty-state {
  grid-column: 1 / -1;
}

@media (min-width: 1024px) {
  .dashboard-priority-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
}

.dashboard-section-heading > span {
  color: var(--dashboard-text-muted);
  font-size: 0.8rem;
}

.dashboard-project-list {
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dashboard-project-list > li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border-radius: 17px;
}

.dashboard-project-list > li > div {
  display: grid;
  min-width: 0;
  gap: 0.35rem;
}

.dashboard-project-list h3 {
  margin: 0;
  overflow: hidden;
  color: var(--dashboard-text);
  font-size: 1rem;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-project-list p {
  margin: 0;
  color: var(--dashboard-text-muted);
  font-size: 0.8rem;
}

.dashboard-secondary-project-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.75rem;
}

.dashboard-module-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.dashboard-module-card::after {
  position: absolute;
  top: -9rem;
  right: -6rem;
  width: 22rem;
  height: 22rem;
  border-radius: 50%;
  background: radial-gradient(circle, var(--dashboard-priority-accent-surface), transparent 67%);
  pointer-events: none;
  content: "";
}

.dashboard-module-mark {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 4.7rem;
  aspect-ratio: 1;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 50%;
  background: var(--dashboard-priority-accent-surface);
  box-shadow: inset 0 0 18px rgba(255, 255, 255, 0.025);
}

.dashboard-module-mark svg {
  width: 2.15rem;
  height: 2.15rem;
  color: var(--dashboard-text);
}

.dashboard-priority-card-content {
  position: relative;
  z-index: 1;
  display: grid;
  flex: 1;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 1.15rem;
  padding: 1.5rem;
}

.dashboard-module-copy {
  position: relative;
  z-index: 1;
}

.dashboard-module-card h3 {
  font-size: clamp(1.3rem, 2.5vw, 1.8rem);
}

.dashboard-module-copy p {
  max-width: 42rem;
  margin: 0.65rem 0 0;
}

.dashboard-module-empty {
  max-width: 42rem;
  margin: 0;
  color: var(--dashboard-text-muted);
}

.dashboard-module-shortcuts {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--dashboard-priority-accent-line);
}

.dashboard-module-shortcuts a {
  min-width: 0;
  padding: 1rem 0.45rem;
  color: var(--dashboard-text);
  font-size: 0.78rem;
  font-weight: 700;
  text-align: center;
}

.dashboard-module-shortcuts a + a {
  border-left: 1px solid var(--dashboard-priority-accent-line);
}

.dashboard-module-shortcuts a:hover,
.dashboard-module-shortcuts a:focus {
  background: var(--dashboard-priority-accent-surface);
  color: var(--dashboard-primary);
  text-decoration: none;
}

.dashboard-module-card > .dashboard-button-primary,
.dashboard-project-hero > .dashboard-button-primary {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 3.25rem;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  justify-content: space-between;
  padding-inline: 1.35rem;
}

.dashboard-priority-card-group > :is(.dashboard-module-card, .dashboard-project-hero) > .dashboard-button-primary {
  border-color: var(--dashboard-priority-action-border);
  background: var(--dashboard-priority-action-background);
  box-shadow: var(--dashboard-priority-action-shadow), inset 0 1px rgba(255, 255, 255, 0.45);
  color: var(--dashboard-priority-action-text);
}

.dashboard-priority-card-group > :is(.dashboard-module-card, .dashboard-project-hero) > .dashboard-button-primary:hover,
.dashboard-priority-card-group > :is(.dashboard-module-card, .dashboard-project-hero) > .dashboard-button-primary:focus {
  background: var(--dashboard-priority-action-background-hover);
  box-shadow: var(--dashboard-priority-action-shadow-hover);
  color: var(--dashboard-priority-action-text);
}

.dashboard-project-hero .dashboard-badge-draft {
  border-color: var(--dashboard-priority-warning-border);
  background: var(--dashboard-priority-warning-surface);
  color: var(--dashboard-warning);
}

.dashboard-project-hero .dashboard-badge-live {
  border-color: var(--dashboard-priority-success-border);
  background: var(--dashboard-priority-success-surface);
  color: var(--dashboard-success);
}

.dashboard-module-card > .dashboard-button-primary {
  border-radius: 0 0 17px 17px;
}

/* Baby Journal — premium UI (scoped to the module). */
.baby-dashboard-card::after { display: none; }
.baby-dashboard-card { min-height: 0; }
.baby-dashboard-card-link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 5.75rem; padding: 1rem 1.25rem; color: var(--dashboard-text); text-decoration: none; }
.baby-dashboard-card-link:hover, .baby-dashboard-card-link:focus { background: rgba(255, 255, 255, 0.045); color: var(--dashboard-text); text-decoration: none; }
.baby-dashboard-card-copy strong, .baby-dashboard-card-copy small { display: block; }
.baby-dashboard-card-copy strong { font-size: 1rem; letter-spacing: -0.015em; }
.baby-dashboard-card-copy small { margin-top: 0.22rem; color: var(--dashboard-text-muted); font-size: .82rem; }
.baby-dashboard-card-cta { display: inline-flex; align-items: center; gap: .4rem; color: var(--dashboard-primary); font-size: .82rem; font-weight: 750; white-space: nowrap; }

.baby-kicker { margin: 0 0 .45rem; color: var(--dashboard-primary); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.baby-journal-hero, .baby-profile-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; padding: clamp(1.25rem, 3vw, 2.25rem); border: 1px solid var(--dashboard-border); border-radius: 18px; background: linear-gradient(120deg, rgba(255, 255, 255, .055), rgba(255, 255, 255, .018)); box-shadow: 0 18px 45px rgba(0, 0, 0, .12); }
.baby-journal-hero .page-title, .baby-profile-hero .page-title, .baby-form-heading .page-title { margin: 0; color: var(--dashboard-text); letter-spacing: -.045em; }
.baby-journal-intro, .baby-form-heading .muted { max-width: 38rem; margin: .65rem 0 0; color: var(--dashboard-text-muted); line-height: 1.65; }
.baby-primary-action { flex: 0 0 auto; }
.baby-profile-section, .baby-content-section, .baby-form-page { display: grid; gap: 1rem; margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.baby-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.baby-section-heading h2, .baby-section-heading h3 { margin: 0; color: var(--dashboard-text); letter-spacing: -.025em; }
.baby-section-heading > span { color: var(--dashboard-text-muted); font-size: .78rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.baby-profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.baby-profile-card { display: grid; grid-template-columns: minmax(5.25rem, .4fr) minmax(0, 1fr); min-height: 12rem; margin: 0; padding: 0; overflow: hidden; }
.baby-profile-card-cover, .baby-profile-portrait { position: relative; overflow: hidden; background: linear-gradient(145deg, rgba(160, 137, 99, .24), rgba(74, 91, 98, .16)); }
.baby-profile-card-cover::before, .baby-profile-card-cover::after, .baby-profile-portrait::before, .baby-profile-portrait::after { position: absolute; border: 1px solid rgba(255, 255, 255, .24); border-radius: 50%; content: ""; }
.baby-profile-card-cover::before { width: 5.5rem; height: 5.5rem; top: 1.3rem; left: -2.3rem; }
.baby-profile-card-cover::after { width: 3rem; height: 3rem; right: -1rem; bottom: 1rem; }
.baby-profile-card-content { display: flex; flex-direction: column; align-items: flex-start; padding: 1.15rem; }
.baby-profile-card h3 { margin: 0; color: var(--dashboard-text); font-size: 1.35rem; letter-spacing: -.03em; }
.baby-profile-age { margin: .32rem 0 1rem; color: var(--dashboard-text-muted); }
.baby-profile-card .button { margin-top: auto; }
.baby-empty-state { display: grid; justify-items: start; gap: .55rem; padding: clamp(1.35rem, 3vw, 2.2rem); }
.baby-empty-state h2, .baby-empty-state p { margin: 0; }
.baby-empty-state .button { margin-top: .35rem; }

.baby-profile-hero { align-items: center; }
.baby-profile-identity { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.baby-profile-portrait { width: 5.25rem; min-width: 5.25rem; aspect-ratio: 1; border: 1px solid var(--dashboard-border); border-radius: 50%; }
.baby-profile-portrait::before { width: 3.3rem; height: 3.3rem; top: .75rem; left: .95rem; }
.baby-profile-portrait::after { width: 1.6rem; height: 1.6rem; right: -.2rem; bottom: .45rem; }
.baby-profile-age { margin: .38rem 0 .1rem; color: var(--dashboard-text); font-size: 1.05rem; font-weight: 700; }
.baby-profile-birth { margin: 0; color: var(--dashboard-text-muted); }
.baby-profile-actions { justify-content: flex-end; }
.baby-text-link { display: inline-flex; align-items: center; gap: .35rem; min-height: 2.4rem; padding: .35rem .15rem; border: 0; background: transparent; color: var(--dashboard-primary); font: inherit; font-size: .84rem; font-weight: 750; text-decoration: none; cursor: pointer; }
.baby-text-link:hover, .baby-text-link:focus { color: var(--dashboard-text); text-decoration: none; }
.baby-delete-action { color: var(--dashboard-text-muted); }
.baby-inline-actions { align-items: center; gap: .7rem; }
.baby-inline-actions form { margin: 0; }

.baby-timeline-list { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.baby-timeline-item { position: relative; padding-left: 1.65rem; }
.baby-timeline-item::before { position: absolute; top: 1.1rem; bottom: -1.9rem; left: .37rem; width: 1px; background: var(--dashboard-border); content: ""; }
.baby-timeline-item:last-child::before { display: none; }
.baby-timeline-marker { position: absolute; z-index: 1; top: 1rem; left: 0; width: .78rem; height: .78rem; border: 3px solid var(--dashboard-surface, #111827); border-radius: 50%; background: #a08963; box-shadow: 0 0 0 1px rgba(160, 137, 99, .5); }
.baby-timeline-card { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin: 0; padding: 1.15rem; }
.baby-timeline-card-copy { min-width: 0; }
.baby-timeline-card h3 { margin: 0; color: var(--dashboard-text); font-size: 1.02rem; }
.baby-timeline-card .muted { margin: .45rem 0 0; line-height: 1.6; }
.baby-event-photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: 1rem; }
.baby-event-photo-item { display: grid; gap: .45rem; align-content: start; }
.baby-event-photo-item form { display: block; margin: 0; }
.baby-event-photo-item .button { width: 100%; padding: .55rem .75rem; font-size: .8rem; }
.baby-event-photo-grid-single { grid-template-columns: minmax(0, 25rem); }
.baby-event-photo-link { display: block; overflow: hidden; border: 1px solid var(--dashboard-border); border-radius: 10px; background: rgba(255, 255, 255, .04); aspect-ratio: 4 / 3; }
.baby-event-photo-link:focus-visible { outline: 2px solid var(--dashboard-primary); outline-offset: 2px; }
.baby-event-photo-link img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .18s ease; }
.baby-event-photo-link:hover img { transform: scale(1.025); }
.baby-event-edit-photos { display: grid; gap: .6rem; padding-top: .15rem; }
.baby-event-edit-photos h2 { margin: 0; color: var(--dashboard-text); font-size: .95rem; }
.baby-entry-date { margin: 0 0 .3rem; color: var(--dashboard-text-muted); font-size: .76rem; font-variant-numeric: tabular-nums; letter-spacing: .025em; }
.baby-inline-empty { min-height: 8.5rem; place-content: center; }

.baby-measurement-form-card { display: grid; grid-template-columns: minmax(11rem, .55fr) minmax(0, 1.45fr); gap: 1.25rem; margin: 0; padding: 1.2rem; }
.baby-measurement-form-card h3 { margin: 0; color: var(--dashboard-text); font-size: 1rem; }
.baby-measurement-form-card .muted { margin: .45rem 0 0; line-height: 1.55; }
.baby-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem 1rem; }
.baby-form-grid label, .baby-form-card form > label { display: grid; gap: .38rem; color: var(--dashboard-text); font-size: .85rem; font-weight: 700; }
.baby-form-grid input, .baby-form-card textarea { width: 100%; }
.baby-form-card { max-width: 48rem; padding: clamp(1.15rem, 3vw, 1.75rem); }
.baby-form-card form { display: grid; gap: 1rem; }
.baby-form-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .25rem; }
.baby-danger-zone { max-width: 48rem; border-color: rgba(255, 173, 75, .35); background: rgba(255, 173, 75, .045); }
.baby-danger-zone > summary { cursor: pointer; color: var(--dashboard-text); font-weight: 750; }
.baby-danger-zone-content { display: grid; gap: .85rem; padding-top: 1rem; }
.baby-danger-zone-content p { margin: 0; color: var(--dashboard-text-muted); line-height: 1.55; }
.baby-danger-zone-content form { display: grid; gap: .55rem; max-width: 30rem; }
.baby-danger-zone-content label { color: var(--dashboard-text); font-size: .85rem; font-weight: 700; }
.baby-delete-profile-button { justify-self: start; border-color: rgba(255, 113, 137, .55); color: var(--dashboard-danger); }
.baby-delete-profile-button:disabled { cursor: not-allowed; opacity: .55; }
.baby-growth-summary { padding: 1.15rem 1.25rem; border: 1px solid rgba(160, 137, 99, .38); border-radius: 14px; background: linear-gradient(115deg, rgba(160, 137, 99, .14), rgba(255, 255, 255, .025)); }
.baby-growth-summary dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: .65rem 0 0; }
.baby-growth-summary dt { color: var(--dashboard-text-muted); font-size: .75rem; font-weight: 700; }
.baby-growth-summary dd { margin: .22rem 0 0; color: var(--dashboard-text); font-size: 1.08rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.baby-measurement-history { display: grid; gap: .65rem; }
.baby-measurement-list { display: grid; gap: 0; margin: 0; padding: 0; border-top: 1px solid var(--dashboard-border); list-style: none; }
.baby-measurement-list > li { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: .95rem 0; border-bottom: 1px solid var(--dashboard-border); }
.baby-measurement-list p { margin: .12rem 0; color: var(--dashboard-text-muted); font-size: .88rem; }
.baby-measurement-list strong { color: var(--dashboard-text); font-weight: 700; }

@media (max-width: 760px) {
  .baby-journal-hero, .baby-profile-hero { align-items: stretch; flex-direction: column; }
  .baby-profile-actions { justify-content: flex-start; }
  .baby-measurement-form-card { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .baby-dashboard-card-link { min-height: 0; padding: .9rem 1rem; }
  .baby-profile-grid, .baby-form-grid, .baby-growth-summary dl { grid-template-columns: 1fr; }
  .baby-profile-card { grid-template-columns: 4.5rem minmax(0, 1fr); min-height: 10.5rem; }
  .baby-section-heading { align-items: flex-start; }
  .baby-timeline-card, .baby-measurement-list > li { flex-direction: column; }
  .baby-event-photo-grid-single { grid-template-columns: 1fr; }
  .baby-inline-actions { margin-top: -.35rem; }
}

.dashboard-project-hero {
  grid-template-columns: minmax(0, 1.25fr) minmax(155px, 0.75fr);
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: 24rem;
  padding: 0;
}

.dashboard-project-hero-copy {
  padding: 1.5rem;
}

.dashboard-project-hero h2 {
  margin-top: 0.9rem;
  font-size: clamp(1.35rem, 2.6vw, 1.95rem);
}

.dashboard-project-description {
  margin: 0.75rem 0;
  font-size: 0.88rem;
}

.dashboard-project-meta {
  margin-bottom: 0;
}

.dashboard-project-hero > .dashboard-button-primary {
  grid-column: 1 / -1;
  border-radius: 0 0 17px 17px;
}

.dashboard-empty-state {
  display: grid;
  justify-items: center;
  min-height: 22rem;
  padding: clamp(2rem, 6vw, 4rem);
  scroll-margin-top: 1rem;
  place-content: center;
  text-align: center;
}

.dashboard-main [data-dashboard-panel="dashboard"] .dashboard-empty-state {
  border-color: var(--dashboard-status-info-border);
  background: var(--dashboard-status-info-surface);
  box-shadow: var(--dashboard-glow);
}

.dashboard-empty-state > p:last-child {
  max-width: 35rem;
}

.dashboard-empty-symbol {
  display: grid;
  place-items: center;
  width: 3.8rem;
  height: 3.8rem;
  margin-bottom: 1.2rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 50%;
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-primary);
  font-size: 1.65rem;
  box-shadow: var(--dashboard-glow);
}

/* Dark Luxury project detail. The rules remain under the home shell root so
   studio, versions, publication, administration and public pages stay legacy. */
.dashboard-home-body .dashboard-project-detail {
  display: grid;
  gap: 1.5rem;
}

.dashboard-home-body .dashboard-project-detail-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.dashboard-home-body .dashboard-project-detail-intro h1,
.dashboard-home-body .dashboard-project-detail h2 {
  margin: 0;
  color: var(--dashboard-text);
  line-height: 1.12;
  letter-spacing: -0.04em;
}

.dashboard-home-body .dashboard-project-detail-intro h1 {
  font-size: clamp(2rem, 4vw, 3.35rem);
}

.dashboard-home-body .dashboard-project-detail-intro > div > p:last-child,
.dashboard-home-body .dashboard-project-detail-description,
.dashboard-home-body .dashboard-project-preview-card > p:not(.dashboard-eyebrow) {
  max-width: 44rem;
  margin: 0.65rem 0 0;
  color: var(--dashboard-text-muted);
}

.dashboard-home-body .dashboard-project-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(15rem, 0.55fr);
  min-height: 19rem;
  overflow: hidden;
  border-color: var(--dashboard-border-cyan);
  box-shadow: var(--dashboard-glow), 0 28px 90px rgba(0, 0, 0, 0.3);
}

.dashboard-home-body .dashboard-project-detail-hero::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4, 10, 19, 0.96) 0%, rgba(6, 15, 25, 0.78) 56%, rgba(0, 229, 255, 0.08) 100%),
    radial-gradient(circle at 78% 45%, rgba(0, 229, 255, 0.2), transparent 40%);
  content: "";
}

.dashboard-home-body .dashboard-project-detail-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 4vw, 3.2rem);
}

.dashboard-home-body .dashboard-project-detail-hero h2 {
  font-size: clamp(1.9rem, 4vw, 3.45rem);
}

.dashboard-home-body .dashboard-project-detail-description {
  margin: 1rem 0;
}

.dashboard-home-body .dashboard-project-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.2rem;
  margin-bottom: 1.4rem;
  color: var(--dashboard-text-muted);
  font-size: 0.78rem;
}

.dashboard-home-body .dashboard-project-detail-meta span {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  gap: 0.45rem;
}

.dashboard-home-body .dashboard-project-detail-meta span::before {
  width: 5px;
  height: 5px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--dashboard-primary);
  box-shadow: 0 0 8px rgba(0, 229, 255, 0.75);
  content: "";
}

.dashboard-home-body .dashboard-project-url {
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-home-body .dashboard-project-detail-monogram {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  min-height: 100%;
  overflow: hidden;
}

.dashboard-home-body .dashboard-project-detail-monogram::before,
.dashboard-home-body .dashboard-project-detail-monogram::after {
  position: absolute;
  border: 1px solid rgba(0, 229, 255, 0.25);
  border-radius: 50%;
  content: "";
}

.dashboard-home-body .dashboard-project-detail-monogram::before {
  width: 18rem;
  height: 9rem;
  transform: rotate(-25deg);
}

.dashboard-home-body .dashboard-project-detail-monogram::after {
  width: 15rem;
  height: 15rem;
  background: radial-gradient(circle at 40% 35%, rgba(248, 250, 252, 0.76), rgba(0, 229, 255, 0.34) 17%, rgba(0, 92, 137, 0.2) 45%, transparent 69%);
  box-shadow: 0 0 86px rgba(0, 229, 255, 0.28);
}

.dashboard-home-body .dashboard-project-detail-monogram span {
  position: relative;
  z-index: 1;
  color: var(--dashboard-text);
  font-size: clamp(2.7rem, 6vw, 5rem);
  font-weight: 250;
  letter-spacing: -0.08em;
  text-shadow: 0 0 30px rgba(0, 229, 255, 0.9);
}

.dashboard-home-body .dashboard-project-detail-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
}

.dashboard-home-body .dashboard-project-preview-card,
.dashboard-home-body .dashboard-content-management {
  padding: clamp(1.3rem, 3vw, 2rem);
}

.dashboard-home-body .dashboard-project-preview-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-height: 23rem;
  overflow: hidden;
  border-color: rgba(0, 229, 255, 0.2);
}

.dashboard-home-body .dashboard-project-preview-card::before {
  position: absolute;
  right: -7rem;
  bottom: -8rem;
  width: 24rem;
  height: 24rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 229, 255, 0.2), transparent 66%);
  content: "";
}

.dashboard-home-body .dashboard-project-preview-mark {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: clamp(5.5rem, 13vw, 8rem);
  aspect-ratio: 1;
  margin-bottom: 1.5rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 50%;
  background: radial-gradient(circle at 38% 35%, rgba(248, 250, 252, 0.6), rgba(0, 229, 255, 0.22) 24%, rgba(0, 69, 99, 0.2) 61%, transparent 70%);
  box-shadow: 0 0 55px rgba(0, 229, 255, 0.18);
  color: var(--dashboard-text);
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 300;
  letter-spacing: -0.07em;
}

.dashboard-home-body .dashboard-project-preview-card > :not(.dashboard-project-preview-mark) {
  position: relative;
  z-index: 1;
}

.dashboard-home-body .dashboard-project-preview-card h2,
.dashboard-home-body .dashboard-content-management h2 {
  font-size: clamp(1.45rem, 2.2vw, 2.1rem);
}

.dashboard-home-body .dashboard-project-preview-card .dashboard-button-secondary {
  margin-top: 1.5rem;
}

.dashboard-home-body .dashboard-content-management {
  display: flex;
  flex-direction: column;
  border-color: rgba(255, 255, 255, 0.11);
}

.dashboard-home-body .dashboard-content-management-list {
  display: grid;
  gap: 0.75rem;
  margin-top: 1.35rem;
}

.dashboard-home-body .dashboard-content-management-action {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
  padding: 0.95rem 1rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.025);
  color: var(--dashboard-text);
  font: inherit;
  text-align: left;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.dashboard-home-body .dashboard-content-management-action:hover,
.dashboard-home-body .dashboard-content-management-action:focus {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-text);
  text-decoration: none;
  transform: translateY(-1px);
}

.dashboard-home-body .dashboard-content-management-form {
  margin: 0;
}

.dashboard-home-body .dashboard-content-management-icon {
  display: grid;
  place-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(201, 168, 76, 0.34);
  border-radius: 10px;
  background: rgba(201, 168, 76, 0.1);
  color: #efd583;
  font-weight: 750;
}

.dashboard-home-body .dashboard-content-management-action strong,
.dashboard-home-body .dashboard-content-management-action small {
  display: block;
}

.dashboard-home-body .dashboard-content-management-action strong {
  font-size: 0.88rem;
}

.dashboard-home-body .dashboard-content-management-action small {
  margin-top: 0.22rem;
  color: var(--dashboard-text-muted);
  font-size: 0.73rem;
  line-height: 1.35;
}

.dashboard-home-body .dashboard-content-management-arrow {
  color: var(--dashboard-primary);
  font-size: 1.1rem;
}

.dashboard-home-body .dashboard-project-status-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.dashboard-home-body .dashboard-project-status-card {
  min-height: 8.5rem;
  padding: 1.2rem 1.3rem;
  border-color: rgba(255, 255, 255, 0.11);
}

.dashboard-home-body .dashboard-project-status-card p {
  margin: 0 0 0.6rem;
  color: var(--dashboard-text-muted);
  font-size: 0.74rem;
}

.dashboard-home-body .dashboard-project-status-card strong {
  color: var(--dashboard-text);
  font-size: clamp(1rem, 1.8vw, 1.3rem);
  line-height: 1.2;
}

/*
 * The client shell scrolls as one document. Compositing several large blurred
 * cards over fixed decoration forces browsers to repaint those layers on every
 * scroll frame. Keep the same surfaces, borders and shadows without the blur.
 */
.dashboard-home-body::before,
.dashboard-home-body::after {
  display: none;
}

.dashboard-home-body .dashboard-glass-card {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

@media (min-width: 1024px) {
  .dashboard-home-body {
    padding: 1.5rem;
  }

  .dashboard-shell {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    width: min(1580px, 100%);
    min-height: calc(100vh - 3rem);
    margin: 0 auto;
    overflow: clip;
    border: 1px solid var(--dashboard-shell-border);
    border-radius: 28px;
    box-shadow: var(--dashboard-shell-shadow);
    backdrop-filter: none;
  }

  .dashboard-home-body .dashboard-glass-card {
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.2);
  }

  .dashboard-sidebar {
    position: sticky;
    top: 0;
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 3rem);
    padding: 2rem 1.35rem 1.5rem;
    border-right: 1px solid var(--dashboard-border);
    background: var(--dashboard-sidebar-background);
  }

  .dashboard-sidebar .dashboard-brand {
    margin: 0 0 2.5rem 0.15rem;
  }

  .dashboard-header {
    padding: 1.6rem 2.6rem 1.3rem;
    background: var(--dashboard-header-desktop-background);
  }

  .dashboard-header-title {
    display: block;
  }

  .dashboard-mobile-brand,
  .dashboard-mobile-nav {
    display: none;
  }

  .dashboard-main {
    gap: 1.75rem;
    padding: 2rem 2.6rem 3.5rem;
  }

  .dashboard-settings-layout {
    display: grid;
    grid-template-columns: minmax(13rem, 0.7fr) minmax(0, 1.3fr);
    align-items: start;
  }

  .dashboard-settings-layout > div,
  .dashboard-settings-panel {
    min-width: 0;
  }
}

@media (max-width: 1199px) and (min-width: 1024px) {
  .dashboard-shell { grid-template-columns: 210px minmax(0, 1fr); }
  .dashboard-project-hero { grid-template-columns: minmax(0, 1.25fr) minmax(200px, 0.6fr); }
}

.dashboard-settings-panel {
  display: grid;
  min-width: 0;
  gap: 1rem;
}

.dashboard-settings-panel .instant-panel {
  padding: 1rem 1.15rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 16px;
  background: var(--dashboard-settings-surface);
  box-shadow: var(--dashboard-settings-shadow);
  color: var(--dashboard-text);
}

.dashboard-settings-panel .instant-section-heading {
  gap: 0.75rem;
}

.dashboard-settings-panel .instant-section-heading h2,
.dashboard-settings-panel .instant-panel > h2 {
  color: var(--dashboard-text);
  font-size: 1.15rem;
}

.dashboard-settings-panel .instant-panel > .muted,
.dashboard-settings-panel .muted {
  color: var(--dashboard-text-muted);
  margin: 0.55rem 0 0;
  font-size: 0.75rem;
}

.dashboard-settings-panel .form-grid {
  gap: 0.6rem;
  margin-top: 0.8rem;
}

.dashboard-settings-panel .form-grid > label:first-of-type {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--dashboard-text);
  font-size: 0.78rem;
  font-weight: 700;
}

.dashboard-settings-panel .form-grid > label:first-of-type input {
  width: auto;
  margin: 0;
  accent-color: var(--dashboard-primary);
}

.dashboard-settings-panel .instant-form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
  margin-top: 0.45rem;
}

.dashboard-settings-panel .instant-field {
  display: grid;
  gap: 0.25rem;
  color: var(--dashboard-text-muted);
  font-size: 0.68rem;
  font-weight: 700;
}

.dashboard-settings-panel .instant-field input {
  min-width: 0;
  padding: 0.45rem 0.55rem;
  border-color: var(--dashboard-border);
  border-radius: 9px;
  background: var(--dashboard-settings-input-background);
  color: var(--dashboard-text);
  color-scheme: var(--dashboard-settings-color-scheme);
  font-size: 0.82rem;
}

.dashboard-settings-panel .instant-field input:focus {
  border-color: var(--dashboard-border-cyan);
  outline: 2px solid var(--dashboard-primary-soft);
  outline-offset: 1px;
}

.dashboard-settings-panel .instant-field + .muted,
.dashboard-settings-panel .form-grid > div > .muted {
  margin: 0.35rem 0 0;
  font-size: 0.7rem;
}

.dashboard-settings-panel .form-grid > .button,
.dashboard-settings-panel .instant-panel > .button {
  justify-self: start;
  padding: 0.55rem 0.85rem;
  border-color: var(--dashboard-primary);
  background: var(--dashboard-primary);
  color: var(--dashboard-settings-action-text);
  font-size: 0.78rem;
}

.dashboard-settings-panel .button:hover,
.dashboard-settings-panel .button:focus {
  background: var(--dashboard-primary);
  color: var(--dashboard-settings-action-text);
}

.dashboard-settings-panel .button.button-secondary {
  border-color: var(--dashboard-border);
  background: var(--dashboard-surface-secondary);
  color: var(--dashboard-text);
}

.dashboard-settings-panel .button.button-secondary:hover,
.dashboard-settings-panel .button.button-secondary:focus {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-text);
}

.dashboard-settings-panel .button:disabled {
  border-color: var(--dashboard-border);
  background: var(--dashboard-surface-secondary);
  color: var(--dashboard-text-muted);
  cursor: not-allowed;
  opacity: 0.7;
}

.dashboard-settings-panel #push-settings {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.65rem;
}

.dashboard-settings-panel #push-settings h2,
.dashboard-settings-panel #push-settings #push-status,
.dashboard-settings-panel #push-settings .muted,
.dashboard-settings-panel #push-settings noscript {
  flex-basis: 100%;
}

.dashboard-settings-panel #push-settings #push-status {
  margin: 0;
  padding: 0.6rem 0.7rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 10px;
  background: var(--dashboard-settings-status-surface);
  color: var(--dashboard-text);
  font-size: 0.75rem;
}

.dashboard-settings-panel #push-settings > .button,
.dashboard-settings-panel #push-settings > form {
  width: auto;
}

.dashboard-settings-panel #push-settings > .button,
.dashboard-settings-panel #push-settings > form .button {
  padding: 0.5rem 0.75rem;
  font-size: 0.74rem;
}

@media (max-width: 767px) {
  .dashboard-settings-panel .instant-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 479px) {
  .dashboard-settings-panel .instant-panel {
    padding: 0.85rem 0.9rem;
  }
}

/* Optional light palette for the client dashboard. The admin shell stays dark. */
html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) {
  --dashboard-background: #edf1f4;
  --dashboard-surface: rgba(255, 255, 255, 0.88);
  --dashboard-surface-secondary: rgba(245, 247, 249, 0.94);
  --dashboard-border: rgba(53, 69, 84, 0.16);
  --dashboard-border-cyan: rgba(0, 137, 158, 0.34);
  --dashboard-primary: #007f95;
  --dashboard-primary-soft: rgba(0, 137, 158, 0.1);
  --dashboard-text: #1b2733;
  --dashboard-text-muted: #657483;
  --dashboard-danger: #c43d58;
  --dashboard-success: #177d5b;
  --dashboard-warning: #8a5a00;
  --dashboard-glow: 0 0 30px rgba(0, 127, 149, 0.08);
  --dashboard-shell-background: rgba(255, 255, 255, 0.58);
  --dashboard-shell-border: rgba(53, 69, 84, 0.18);
  --dashboard-shell-shadow: 0 18px 48px rgba(37, 52, 67, 0.12);
  --dashboard-sidebar-background: linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(239, 243, 246, 0.88));
  --dashboard-header-background: rgba(248, 250, 251, 0.88);
  --dashboard-header-desktop-background: rgba(248, 250, 251, 0.88);
  --dashboard-mobile-nav-background: rgba(248, 250, 251, 0.88);
  --dashboard-account-menu-background: rgba(255, 255, 255, 0.98);
  --dashboard-account-menu-shadow: 0 14px 32px rgba(37, 52, 67, 0.16);
  --dashboard-priority-card-surface: rgba(255, 255, 255, 0.92);
  --dashboard-priority-card-shadow: 0 16px 38px rgba(37, 52, 67, 0.12);
  --dashboard-priority-card-overlay: linear-gradient(90deg, rgba(255, 255, 255, 0.96), rgba(238, 245, 247, 0.86));
  --dashboard-priority-accent-surface: rgba(0, 127, 149, 0.08);
  --dashboard-priority-accent-line: rgba(0, 127, 149, 0.18);
  --dashboard-priority-action-border: #007f95;
  --dashboard-priority-action-background: linear-gradient(135deg, #008da5, #00758a);
  --dashboard-priority-action-background-hover: linear-gradient(135deg, #009bb5, #00677a);
  --dashboard-priority-action-shadow: 0 8px 24px rgba(0, 127, 149, 0.18);
  --dashboard-priority-action-shadow-hover: 0 10px 30px rgba(0, 127, 149, 0.24);
  --dashboard-priority-action-text: #ffffff;
  --dashboard-priority-visual-glow: radial-gradient(circle at 48% 46%, rgba(0, 127, 149, 0.5), rgba(87, 170, 184, 0.16) 38%, transparent 68%);
  --dashboard-priority-visual-shadow: 0 0 42px rgba(0, 127, 149, 0.12);
  --dashboard-priority-orbit: rgba(0, 127, 149, 0.26);
  --dashboard-priority-monogram-shadow: 0 0 20px rgba(0, 127, 149, 0.2);
  --dashboard-priority-warning-surface: rgba(138, 90, 0, 0.1);
  --dashboard-priority-warning-border: rgba(138, 90, 0, 0.3);
  --dashboard-priority-success-surface: rgba(23, 125, 91, 0.1);
  --dashboard-priority-success-border: rgba(23, 125, 91, 0.3);
  --dashboard-settings-surface: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 249, 0.92));
  --dashboard-settings-shadow: 0 16px 38px rgba(37, 52, 67, 0.1);
  --dashboard-settings-input-background: rgba(255, 255, 255, 0.98);
  --dashboard-settings-action-text: #ffffff;
  --dashboard-settings-status-surface: rgba(0, 127, 149, 0.08);
  --dashboard-settings-color-scheme: light;
  --dashboard-status-info-surface: rgba(0, 127, 149, 0.08);
  --dashboard-status-info-border: rgba(0, 127, 149, 0.24);
  --dashboard-status-success-surface: rgba(23, 125, 91, 0.1);
  --dashboard-status-success-border: rgba(23, 125, 91, 0.3);
  --dashboard-status-danger-surface: rgba(196, 61, 88, 0.1);
  --dashboard-status-danger-border: rgba(196, 61, 88, 0.3);
  --dashboard-status-warning-surface: rgba(138, 90, 0, 0.1);
  --dashboard-status-warning-border: rgba(138, 90, 0, 0.3);
  background:
    radial-gradient(circle at 82% 8%, rgba(0, 174, 198, 0.12), transparent 25rem),
    radial-gradient(circle at 8% 78%, rgba(126, 153, 177, 0.14), transparent 28rem),
    linear-gradient(145deg, #f8fafb 0%, var(--dashboard-background) 54%, #e5eaee 100%);
  color: var(--dashboard-text);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-glass-card {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(245, 248, 250, 0.9));
  box-shadow: 0 20px 50px rgba(37, 52, 67, 0.1);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-detail-hero {
  box-shadow: var(--dashboard-glow), 0 22px 56px rgba(37, 52, 67, 0.12);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-detail-hero::before {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(242, 248, 249, 0.88) 56%, var(--dashboard-primary-soft) 100%),
    radial-gradient(circle at 78% 45%, rgba(0, 137, 158, 0.14), transparent 40%);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-detail-meta span::before {
  box-shadow: var(--dashboard-glow);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-detail-monogram::before {
  border-color: var(--dashboard-border-cyan);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-detail-monogram::after,
html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-preview-mark {
  background: radial-gradient(circle at 40% 35%, rgba(255, 255, 255, 0.9), rgba(0, 137, 158, 0.2) 22%, rgba(125, 211, 252, 0.12) 48%, transparent 70%);
  box-shadow: 0 0 42px rgba(0, 137, 158, 0.14);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-detail-monogram span {
  text-shadow: 0 0 24px rgba(0, 137, 158, 0.24);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-preview-card,
html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-content-management,
html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-status-card {
  border-color: var(--dashboard-border);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-preview-card::before {
  background: radial-gradient(circle, rgba(0, 137, 158, 0.12), transparent 66%);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-content-management-action {
  background: var(--dashboard-surface-secondary);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-content-management-icon {
  border-color: var(--dashboard-status-warning-border);
  background: var(--dashboard-status-warning-surface);
  color: var(--dashboard-warning);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-detail .dashboard-button-primary {
  border-color: var(--dashboard-priority-action-border);
  background: var(--dashboard-priority-action-background);
  box-shadow: var(--dashboard-priority-action-shadow);
  color: var(--dashboard-priority-action-text);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-detail .dashboard-button-secondary {
  background: var(--dashboard-surface-secondary);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-theme-toggle {
  border-color: var(--dashboard-border);
  background: rgba(255, 255, 255, 0.78);
  color: var(--dashboard-text);
}

.dashboard-theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.25rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--dashboard-text-muted);
  font-size: 0.72rem;
  font-weight: 750;
  white-space: nowrap;
}

.dashboard-theme-toggle:hover,
.dashboard-theme-toggle:focus-visible {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-text);
}

.dashboard-theme-toggle span:first-child {
  color: var(--dashboard-primary);
  font-size: 0.95rem;
  line-height: 1;
}

@media (max-width: 767px) {
  .dashboard-settings-appearance .dashboard-theme-toggle {
    min-width: 2.25rem;
    justify-content: center;
    width: fit-content;
    padding: 0.4rem 0.65rem;
  }

  .dashboard-theme-toggle [data-dashboard-theme-label] {
    display: inline;
  }
}

.dashboard-motivations-inline {
  margin-top: 1.75rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--dashboard-border);
}

.dashboard-motivations-heading h2 {
  margin: 0;
  color: var(--dashboard-text);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  letter-spacing: -0.035em;
}

.dashboard-motivation-list {
  display: grid;
  gap: 0.55rem;
  margin: 0.9rem 0 0;
  padding: 0;
  list-style: none;
}

.dashboard-motivation-list li {
  display: grid;
  gap: 0.25rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
}

.dashboard-motivation-list q {
  color: var(--dashboard-text);
  font-size: 0.88rem;
  line-height: 1.4;
}

.dashboard-motivation-list span,
.dashboard-motivations-empty {
  color: var(--dashboard-text-muted);
  font-size: 0.72rem;
}

.dashboard-motivations-empty {
  margin: 0.9rem 0 0;
}

@media (max-width: 1023px) {
  .dashboard-header {
    position: sticky;
    z-index: 10;
    top: 0;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .dashboard-project-hero {
    grid-template-columns: minmax(0, 1.35fr) minmax(190px, 0.65fr);
  }

  .dashboard-home-body .dashboard-project-detail-workspace {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .dashboard-header {
    align-items: flex-start;
  }

  .dashboard-account {
    display: flex;
    max-width: 58%;
    align-items: flex-end;
    flex-direction: column;
    gap: 0;
  }

  .dashboard-account-email { max-width: 100%; font-size: 0.76rem; }
  .dashboard-account-trigger { max-width: 100%; }

  .dashboard-mobile-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }

  .dashboard-mobile-nav a { text-align: center; }

  .dashboard-home-intro {
    align-items: flex-start;
  }

  .dashboard-project-hero { grid-template-columns: 1fr; }
  .dashboard-priority-card-group > .dashboard-module-card { min-height: 0; }
  .dashboard-project-hero-copy { padding-bottom: 0.5rem; }
  .dashboard-hero-visual { min-height: 11rem; }
  .dashboard-hero-visual::before { width: 11rem; height: 11rem; }
  .dashboard-hero-orbit-one { width: 14rem; }
  .dashboard-hero-orbit-two { width: 14rem; }
  .dashboard-home-body .dashboard-project-detail-intro {
    align-items: flex-start;
  }

  .dashboard-home-body .dashboard-project-detail-hero {
    grid-template-columns: 1fr;
  }

  .dashboard-home-body .dashboard-project-detail-monogram {
    min-height: 11rem;
  }

  .dashboard-home-body .dashboard-project-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-module-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .dashboard-module-card > .dashboard-button-primary {
    grid-column: 1 / -1;
    width: 100%;
  }

  .dashboard-module-shortcuts a {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
  }

  .dashboard-module-shortcuts-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 479px) {
  .dashboard-header { padding: calc(0.9rem + env(safe-area-inset-top)) max(0.8rem, env(safe-area-inset-right)) 0.9rem max(0.8rem, env(safe-area-inset-left)); }
  .dashboard-mobile-brand > span:last-child { display: none; }
  .dashboard-main { gap: 1rem; padding: 1.2rem max(0.8rem, env(safe-area-inset-right)) max(2.5rem, calc(1.2rem + env(safe-area-inset-bottom))) max(0.8rem, env(safe-area-inset-left)); }
  .dashboard-home-intro { display: grid; }
  .dashboard-project-count { justify-self: start; }
  .dashboard-project-heading { display: grid; }
  .dashboard-project-hero h2 { font-size: 2rem; }
  .dashboard-project-actions { display: grid; grid-template-columns: 1fr; }
  .dashboard-project-actions > * { width: 100%; }
  .dashboard-glass-card { border-radius: 19px; }
  .dashboard-project-list > li { align-items: flex-start; flex-direction: column; }
  .dashboard-secondary-project-actions { width: 100%; justify-content: space-between; }
  .dashboard-home-body .dashboard-project-detail { gap: 1rem; }
  .dashboard-home-body .dashboard-project-detail-intro { display: grid; }
  .dashboard-home-body .dashboard-project-detail-intro > .dashboard-badge-draft,
  .dashboard-home-body .dashboard-project-detail-intro > .dashboard-badge-live { justify-self: start; }
  .dashboard-home-body .dashboard-project-detail-copy { padding: 1.3rem; }
  .dashboard-home-body .dashboard-project-detail-meta { display: grid; }
  .dashboard-home-body .dashboard-project-detail-monogram { min-height: 9rem; }
  .dashboard-home-body .dashboard-project-detail-monogram::before { width: 14rem; }
  .dashboard-home-body .dashboard-project-detail-monogram::after { width: 11rem; height: 11rem; }
  .dashboard-home-body .dashboard-project-status-grid { grid-template-columns: 1fr; }
  .dashboard-home-body .dashboard-project-status-card { min-height: auto; }
  .dashboard-home-body .dashboard-content-management-action { padding: 0.85rem; }
  .dashboard-home-body .dashboard-content-management-action small { font-size: 0.71rem; }
  .dashboard-module-card { grid-template-columns: 1fr; text-align: center; }
  .dashboard-module-mark { justify-self: center; }
  .dashboard-module-card > .dashboard-button-primary { grid-column: 1; }
}

/* Instant d'Elle gift cards */
.instant-module-body .instant-status-badge[data-status="active"] {
  border-color: rgba(69, 224, 168, 0.36);
  background: rgba(69, 224, 168, 0.1);
  color: var(--dashboard-success);
}

.instant-module-body .instant-status-badge[data-status="cancelled"] {
  border-color: rgba(255, 108, 126, 0.4);
  background: rgba(255, 108, 126, 0.1);
  color: #ff9aaa;
}

.instant-module-body .instant-status-badge[data-status="used"] {
  border-color: rgba(0, 229, 255, 0.38);
  background: rgba(0, 229, 255, 0.1);
  color: var(--dashboard-primary);
}

.instant-module-body .instant-status-badge[data-status="expired"] {
  border-color: rgba(201, 168, 76, 0.42);
  background: rgba(201, 168, 76, 0.12);
  color: #efd583;
}

.instant-module-body .instant-status-badge[data-status="archived"] {
  border-color: rgba(154, 164, 178, 0.34);
  background: rgba(154, 164, 178, 0.08);
  color: #b9c0ca;
}

.instant-module-body .instant-gift-card-filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0;
}

.instant-module-body .instant-gift-card-filters a {
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 999px;
  color: var(--dashboard-text-muted);
  font-size: 0.72rem;
  font-weight: 750;
}

.instant-module-body .instant-gift-card-filters a:is(:hover, :focus, .is-active) {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-primary);
  text-decoration: none;
}

.instant-module-body .gift-card-lifecycle-panel {
  padding: clamp(1rem, 3vw, 1.6rem);
  border-radius: 20px;
}

.instant-module-body .gift-card-lifecycle-panel dd {
  margin: 0;
  color: var(--dashboard-text);
}

.instant-module-body .gift-card-transition-zone .instant-page-actions,
.instant-module-body .gift-card-transition-zone form {
  margin: 0;
}

.instant-module-body .gift-card-transition-zone .dashboard-button-primary {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-primary);
}

.instant-module-body .instant-table-card,
.instant-module-body .gift-card-preview-panel {
  padding: clamp(1rem, 3vw, 1.6rem);
  border-radius: 20px;
}

.gift-card-art {
  position: relative;
  container-type: inline-size;
  width: min(100%, 1120px);
  aspect-ratio: 1216 / 848;
  margin-inline: auto;
  overflow: hidden;
  color: #2e2925;
  font-family: Georgia, "Times New Roman", serif;
}

.gift-card-art > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.gift-card-art-demo {
  display: grid;
  align-content: space-between;
  padding: clamp(1.5rem, 7cqw, 5.5rem);
  border: 1px solid #7e6f61;
  border-radius: 4px;
  background: linear-gradient(135deg, #f2e8d8, #d7e6df 58%, #f8f3ea);
  color: #29483f;
}

.gift-card-demo-brand,
.gift-card-demo-title,
.gift-card-demo-message,
.gift-card-demo-details {
  margin: 0;
}

.gift-card-demo-brand {
  color: #5d776a;
  font-family: "Trebuchet MS", Arial, sans-serif;
  font-size: clamp(11px, 2.1cqw, 24px);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.gift-card-demo-title {
  max-width: 72%;
  font-size: clamp(20px, 5cqw, 58px);
  line-height: 1.05;
}

.gift-card-demo-message {
  max-width: 66%;
  font-size: clamp(11px, 2.15cqw, 25px);
  line-height: 1.4;
}

.gift-card-demo-details {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: #46675b;
  font-family: "Trebuchet MS", Arial, sans-serif;
  font-size: clamp(9px, 1.65cqw, 18px);
}

.gift-card-art .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.gift-card-value,
.gift-card-reference,
.gift-card-cancelled-mark {
  position: absolute;
  z-index: 1;
  margin: 0;
}

.gift-card-value {
  overflow: hidden;
  color: #49191a !important;
  font-family: "Trebuchet MS", Arial, sans-serif;
  font-size: clamp(9px, 2.15cqw, 24px);
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.gift-card-service,
.gift-card-recipient,
.gift-card-sender {
  max-height: 6.2%;
}

.gift-card-service {
  top: 37.8%;
  left: 22.2%;
  width: 55.7%;
}

.gift-card-recipient {
  top: 46%;
  left: 22.2%;
  width: 65.3%;
}

.gift-card-message {
  top: 52.2%;
  left: 26.6%;
  width: 59.8%;
  max-height: 5.5em;
  white-space: pre-line;
  font-size: clamp(8px, 1.85cqw, 21px);
  line-height: 2.75;
}

.gift-card-sender {
  top: 70.4%;
  left: 36.2%;
  width: 51.4%;
}

.gift-card-expiration {
  top: 79.1%;
  left: 26.1%;
  width: 18%;
  max-height: 4.2%;
  font-size: clamp(8px, 1.65cqw, 18px);
  white-space: nowrap;
}

.gift-card-value.is-long {
  font-size: clamp(8px, 1.65cqw, 18px);
}

.gift-card-value.is-very-long {
  font-size: clamp(7px, 1.25cqw, 14px);
  line-height: 1.05;
}

.gift-card-message.is-long {
  font-size: clamp(7px, 1.35cqw, 15px);
  max-height: 7.8em;
  line-height: 3.9;
}

.gift-card-message.is-very-long {
  font-size: clamp(6px, 1.05cqw, 12px);
  max-height: 9.3em;
  line-height: 4.65;
}

.gift-card-reference {
  right: 9.5%;
  bottom: 6.4%;
  max-width: 24%;
  overflow: hidden;
  color: rgba(73, 25, 26, 0.76);
  font: 700 clamp(6px, 1cqw, 11px)/1.2 Arial, sans-serif;
  letter-spacing: 0.08em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gift-card-cancelled-mark {
  inset: 42% auto auto 50%;
  padding: 0.35em 0.7em;
  transform: translate(-50%, -50%) rotate(-9deg);
  border: 0.18em solid #a2192f;
  color: #a2192f;
  background: rgba(255, 255, 255, 0.78);
  font: 900 clamp(14px, 4cqw, 44px)/1 Arial, sans-serif;
  letter-spacing: 0.08em;
}

.gift-card-preview-panel .gift-card-art {
  margin-top: 1rem;
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.3);
}

.gift-card-print-page {
  page: gift-card;
  min-height: 100vh;
  margin: 0;
  padding: 1.2rem;
  background: #ece8e2;
  color: #27221f;
  font-family: Arial, sans-serif;
}

.gift-card-print-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: min(100%, 1120px);
  margin: 0 auto 1rem;
}

.gift-card-print-toolbar p { margin: 0; }

.gift-card-print-sheet {
  display: grid;
  place-items: center;
  width: min(100%, 1120px);
  margin: 0 auto;
}

@page gift-card {
  size: A4 landscape;
  margin: 10mm;
}

@media print {
  html,
  .gift-card-print-page {
    width: 100%;
    min-height: 0;
    padding: 0;
    background: #fff;
  }

  .gift-card-print-toolbar { display: none !important; }

  .gift-card-print-sheet,
  .gift-card-print-sheet .gift-card-art {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .gift-card-print-sheet .gift-card-art,
  .gift-card-print-sheet .gift-card-art > img {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}

@media (max-width: 640px) {
  .gift-card-print-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dashboard-home-body *,
  .dashboard-home-body *::before,
  .dashboard-home-body *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Administration, authentication and internal public entry — Dark Luxury. */
.admin-dark-body,
.auth-dark-body,
.public-dark-body {
  --admin-bg: #070b14;
  --admin-panel: rgba(13, 21, 36, 0.88);
  --admin-panel-strong: rgba(17, 28, 46, 0.96);
  --admin-border: rgba(82, 211, 235, 0.2);
  --admin-border-strong: rgba(82, 211, 235, 0.42);
  --admin-cyan: #5ed9ec;
  --admin-cyan-soft: #a3edf6;
  --admin-gold: #d9bd7b;
  --admin-text: #f4f8fc;
  --admin-muted: #a4b2c6;
  --admin-danger: #ff9b9b;
  --admin-radius: 18px;
  background:
    radial-gradient(circle at 72% 0%, rgba(30, 126, 154, 0.12), transparent 34rem),
    linear-gradient(145deg, #070b14 0%, #090f1b 52%, #070b14 100%);
  color: var(--admin-text);
}

.admin-dark-body {
  min-width: 320px;
}

/* The admin palette is intentionally separate from the client dashboard.
   Both themes keep the same cyan semantic accents without sharing component
   selectors or changing the public/auth shells. */
html[data-dashboard-theme="light"] .admin-dark-body {
  --admin-bg: #edf1f4;
  --admin-panel: rgba(255, 255, 255, 0.92);
  --admin-panel-strong: #ffffff;
  --admin-border: rgba(53, 69, 84, 0.16);
  --admin-border-strong: rgba(0, 127, 149, 0.36);
  --admin-cyan: #007f95;
  --admin-cyan-soft: #00677a;
  --admin-gold: #8a6a2c;
  --admin-text: #202b35;
  --admin-muted: #657483;
  --admin-danger: #b73752;
  background:
    radial-gradient(circle at 78% 0%, rgba(0, 174, 198, 0.12), transparent 34rem),
    linear-gradient(145deg, #f8fafb 0%, var(--admin-bg) 54%, #e5eaee 100%);
  color: var(--admin-text);
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-sidebar {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(239, 243, 246, 0.94));
  box-shadow: 18px 0 48px rgba(37, 52, 67, 0.1);
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-header,
html[data-dashboard-theme="light"] .admin-dark-body .admin-mobile-nav {
  background: rgba(248, 250, 251, 0.92);
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main > section:not(.page-header):not(.project-summary-grid):not(.project-primary-actions):not(.preview-frame),
html[data-dashboard-theme="light"] .admin-dark-body .admin-main .card,
html[data-dashboard-theme="light"] .admin-dark-body .admin-main .advanced-tools {
  box-shadow: 0 18px 50px rgba(37, 52, 67, 0.1);
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main input,
html[data-dashboard-theme="light"] .admin-dark-body .admin-main select,
html[data-dashboard-theme="light"] .admin-dark-body .admin-main textarea {
  background: rgba(255, 255, 255, 0.98);
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main .project-row,
html[data-dashboard-theme="light"] .admin-dark-body .admin-main .editable-card,
html[data-dashboard-theme="light"] .admin-dark-body .admin-main .admin-blocks-table tr {
  background: rgba(248, 250, 251, 0.9);
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main pre {
  background: #f4f7f9;
  color: #263b48;
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main .button-secondary,
html[data-dashboard-theme="light"] .admin-dark-body .admin-account .admin-button-secondary {
  background: rgba(255, 255, 255, 0.78);
  color: var(--admin-cyan-soft);
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main .status-badge {
  background: rgba(0, 127, 149, 0.08);
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main .project-primary-action {
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 16px 38px rgba(37, 52, 67, 0.08);
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main .project-primary-action-publish {
  border-color: rgba(138, 106, 44, 0.36);
  background: linear-gradient(135deg, #f1e4bd, #d9bd7b);
  color: #4d3b16;
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main .flash {
  border-color: rgba(0, 127, 149, 0.24);
  background: rgba(0, 127, 149, 0.08);
  color: #145366;
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main .flash-success {
  border-color: rgba(23, 125, 91, 0.3);
  background: rgba(23, 125, 91, 0.1);
  color: #166044;
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main .flash-error,
html[data-dashboard-theme="light"] .admin-dark-body .admin-main .flash-danger {
  border-color: rgba(196, 61, 88, 0.3);
  background: rgba(196, 61, 88, 0.1);
  color: #8e2940;
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-main .flash-warning {
  border-color: rgba(138, 90, 0, 0.3);
  background: rgba(138, 90, 0, 0.1);
  color: #694800;
}

.admin-theme-toggle {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.5rem 0.7rem;
  border: 1px solid var(--admin-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--admin-muted);
  font-size: 0.76rem;
  font-weight: 700;
  white-space: nowrap;
}

.admin-theme-toggle:hover,
.admin-theme-toggle:focus {
  border-color: var(--admin-border-strong);
  background: rgba(94, 217, 236, 0.1);
  color: var(--admin-text);
}

html[data-dashboard-theme="light"] .admin-dark-body .admin-theme-toggle {
  background: rgba(255, 255, 255, 0.78);
  color: var(--admin-text);
}

.admin-dark-body a,
.auth-dark-body a,
.public-dark-body a {
  color: var(--admin-cyan-soft);
}

.admin-dark-body a:focus-visible,
.admin-dark-body button:focus-visible,
.admin-dark-body input:focus-visible,
.admin-dark-body select:focus-visible,
.admin-dark-body textarea:focus-visible,
.auth-dark-body a:focus-visible,
.auth-dark-body button:focus-visible,
.auth-dark-body input:focus-visible,
.public-dark-body a:focus-visible {
  outline: 3px solid rgba(94, 217, 236, 0.72);
  outline-offset: 3px;
}

.admin-shell {
  display: grid;
  grid-template-columns: 252px minmax(0, 1fr);
  min-height: 100vh;
}

.admin-sidebar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 1.4rem 1rem;
  border-right: 1px solid var(--admin-border);
  background: rgba(6, 11, 20, 0.92);
  box-shadow: 18px 0 48px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(18px);
}

.admin-brand,
.admin-mobile-brand,
.auth-brand,
.public-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  color: var(--admin-text);
  font-weight: 700;
  letter-spacing: 0.01em;
}

.admin-brand:hover,
.admin-brand:focus,
.admin-mobile-brand:hover,
.admin-mobile-brand:focus,
.auth-brand:hover,
.auth-brand:focus,
.public-brand:hover,
.public-brand:focus {
  color: var(--admin-text);
  text-decoration: none;
}

.admin-brand > span:last-child {
  display: grid;
  line-height: 1.15;
}

.admin-brand small {
  margin-top: 0.22rem;
  color: var(--admin-gold);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.admin-brand-mark,
.auth-brand-mark,
.public-brand-mark {
  display: inline-grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid var(--admin-border-strong);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(94, 217, 236, 0.16), rgba(217, 189, 123, 0.09));
  color: var(--admin-cyan-soft);
  box-shadow: inset 0 0 20px rgba(94, 217, 236, 0.05);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
}

.admin-sidebar-nav {
  display: grid;
  align-items: stretch;
  justify-content: stretch;
  gap: 0.3rem;
  margin-top: 2rem;
}

.admin-nav-link {
  position: relative;
  display: flex;
  min-height: 42px;
  align-items: center;
  padding: 0.68rem 0.75rem;
  border: 1px solid transparent;
  border-radius: 11px;
  color: var(--admin-muted);
  font-size: 0.91rem;
  font-weight: 600;
}

.admin-nav-link:hover,
.admin-nav-link:focus,
.admin-nav-link.is-active {
  border-color: var(--admin-border);
  background: rgba(94, 217, 236, 0.08);
  color: var(--admin-text);
  text-decoration: none;
}

.admin-nav-link.is-active::before {
  position: absolute;
  top: 0.7rem;
  bottom: 0.7rem;
  left: -1px;
  width: 2px;
  border-radius: 2px;
  background: var(--admin-cyan);
  box-shadow: 0 0 10px rgba(94, 217, 236, 0.55);
  content: "";
}

.admin-nav-group {
  margin: 1.05rem 0 0.25rem;
  padding: 0 0.75rem;
  color: var(--admin-gold);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.admin-sidebar-footer {
  display: grid;
  gap: 0.35rem;
  margin-top: auto;
  padding: 1rem 0.75rem 0;
  border-top: 1px solid var(--admin-border);
  color: var(--admin-muted);
  font-size: 0.78rem;
}

.admin-workspace {
  min-width: 0;
}

.admin-header {
  position: sticky;
  top: 0;
  z-index: 15;
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: calc(1rem + env(safe-area-inset-top)) max(clamp(1.25rem, 3vw, 2.75rem), env(safe-area-inset-right)) 1rem max(clamp(1.25rem, 3vw, 2.75rem), env(safe-area-inset-left));
  border-bottom: 1px solid var(--admin-border);
  background: rgba(7, 12, 21, 0.86);
  backdrop-filter: blur(18px);
}

@media (min-width: 1051px) {
  .admin-sidebar,
  .admin-header {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

.admin-header-heading,
.admin-account,
.admin-account > span {
  display: flex;
  align-items: center;
}

.admin-header-heading {
  gap: 1rem;
}

.admin-mobile-brand {
  display: none;
}

.admin-header-kicker,
.admin-account small {
  color: var(--admin-gold);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.admin-header-title {
  margin: 0.15rem 0 0;
  color: var(--admin-text);
  font-size: 1rem;
  font-weight: 700;
}

.admin-account {
  gap: 1rem;
}

.admin-account > span {
  align-items: flex-end;
  flex-direction: column;
  color: var(--admin-text);
  font-size: 0.84rem;
}

.admin-account .admin-button-secondary {
  min-height: 44px;
  border-color: var(--admin-border-strong);
  background: rgba(94, 217, 236, 0.05);
  color: var(--admin-cyan-soft);
}

.admin-button-secondary:hover,
.admin-button-secondary:focus {
  border-color: var(--admin-cyan);
  background: rgba(94, 217, 236, 0.12);
  color: var(--admin-text);
}

.admin-mobile-nav {
  display: none;
}

.admin-main {
  width: min(1460px, 100%);
  min-height: calc(100vh - 82px);
  margin: 0 auto;
  padding: clamp(1.35rem, 3vw, 2.75rem) max(clamp(1.35rem, 3vw, 2.75rem), env(safe-area-inset-right)) max(clamp(1.35rem, 3vw, 2.75rem), calc(1.35rem + env(safe-area-inset-bottom))) max(clamp(1.35rem, 3vw, 2.75rem), env(safe-area-inset-left));
}

.admin-main .page-header,
.admin-main > section:first-child {
  margin: 0 0 1.25rem;
}

.admin-main > section:not(.page-header):not(.project-summary-grid):not(.project-primary-actions):not(.preview-frame),
.admin-main .card,
.admin-main .advanced-tools {
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  background: var(--admin-panel);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.2);
  color: var(--admin-text);
}

.admin-main > section:not(.page-header):not(.project-summary-grid):not(.project-primary-actions):not(.preview-frame) {
  padding: clamp(1rem, 2vw, 1.5rem);
}

.admin-main > section + section,
.admin-main > section + details {
  margin-top: 1rem;
}

.admin-main .page-title,
.admin-main h1,
.admin-main h2,
.admin-main h3,
.admin-main strong,
.admin-main dt {
  color: var(--admin-text);
}

.admin-main h1 {
  max-width: 24ch;
  margin: 0;
  font-size: clamp(1.8rem, 3.2vw, 3rem);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.admin-main h2 {
  font-size: clamp(1.08rem, 1.8vw, 1.35rem);
}

.admin-main .muted,
.admin-main .field-help,
.admin-main dd,
.admin-main p {
  color: var(--admin-muted);
}

.admin-main .page-header > .muted:first-child {
  margin-bottom: 0.6rem;
  color: var(--admin-gold);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.admin-main .grid {
  align-items: stretch;
}

.admin-main .card {
  padding: clamp(1rem, 2vw, 1.4rem);
}

.admin-main .stat-value {
  color: var(--admin-cyan-soft);
  font-size: clamp(2rem, 4vw, 3.2rem);
  text-shadow: 0 0 24px rgba(94, 217, 236, 0.16);
}

.admin-main .button,
.admin-main button,
.admin-main input[type="submit"] {
  min-height: 42px;
  border-color: rgba(94, 217, 236, 0.35);
  background: linear-gradient(135deg, rgba(33, 145, 166, 0.95), rgba(24, 105, 130, 0.96));
  color: #f8fdff;
  box-shadow: 0 8px 22px rgba(0, 130, 153, 0.14);
}

.admin-main .button:hover,
.admin-main .button:focus,
.admin-main button:hover,
.admin-main button:focus,
.admin-main input[type="submit"]:hover,
.admin-main input[type="submit"]:focus {
  border-color: var(--admin-cyan);
  background: linear-gradient(135deg, rgba(41, 166, 188, 0.98), rgba(28, 122, 148, 0.98));
  color: #fff;
}

.admin-main .button-secondary {
  border-color: var(--admin-border);
  background: rgba(255, 255, 255, 0.035);
  color: var(--admin-cyan-soft);
  box-shadow: none;
}

.admin-main form:not(.inline-form) {
  gap: 1rem;
}

.admin-main .admin-form {
  width: min(100%, 760px);
}

.admin-main .admin-form-wide {
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.25rem;
}

.admin-main .admin-form-wide > .page-actions {
  grid-column: 1 / -1;
}

.admin-main form:not(.inline-form) > div,
.admin-main form:not(.inline-form) > p {
  display: grid;
  gap: 0.42rem;
  margin: 0;
}

.admin-main label {
  color: var(--admin-text);
  font-size: 0.88rem;
  font-weight: 650;
}

.admin-main input,
.admin-main select,
.admin-main textarea {
  border-color: var(--admin-border);
  background: rgba(5, 12, 22, 0.8);
  color: var(--admin-text);
}

.admin-main input::placeholder,
.admin-main textarea::placeholder {
  color: #78879c;
}

.admin-main input:focus,
.admin-main select:focus,
.admin-main textarea:focus {
  border-color: var(--admin-cyan);
  outline: 3px solid rgba(94, 217, 236, 0.18);
}

.admin-main input[type="checkbox"],
.admin-main input[type="radio"] {
  width: 1.05rem;
  height: 1.05rem;
  accent-color: var(--admin-cyan);
}

.admin-main .admin-checkbox-field label,
.admin-main form p > label:has(input[type="checkbox"]) {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.admin-main .table-scroll,
.admin-main .admin-table-scroll {
  overflow-x: auto;
  border: 1px solid var(--admin-border);
  border-radius: 14px;
}

.admin-main table {
  min-width: 680px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--admin-text);
}

.admin-main th,
.admin-main td {
  border-color: rgba(82, 211, 235, 0.12);
}

.admin-main thead th {
  background: rgba(94, 217, 236, 0.08);
  color: var(--admin-cyan-soft);
}

.admin-main tbody tr:hover {
  background: rgba(94, 217, 236, 0.035);
}

.admin-main code,
.admin-main pre {
  color: #d8f7fb;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.admin-main code {
  overflow-wrap: anywhere;
}

.admin-main pre {
  max-width: 100%;
  max-height: 34rem;
  margin: 0;
  padding: 1rem;
  overflow: auto;
  border: 1px solid var(--admin-border);
  border-radius: 12px;
  background: #050a12;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.admin-main ul:not(.list-reset):not(.project-list),
.admin-main ol {
  display: grid;
  gap: 0.6rem;
  padding-left: 1.25rem;
}

.admin-main .project-list {
  gap: 0.7rem;
}

.admin-main .project-row,
.admin-main .editable-card {
  padding: 1rem;
  border: 1px solid rgba(82, 211, 235, 0.13);
  border-radius: 13px;
  background: rgba(4, 11, 20, 0.44);
}

.admin-main [data-editable-block-key]:target {
  border-color: var(--admin-cyan);
  outline: 3px solid rgba(94, 217, 236, 0.22);
  background: rgba(94, 217, 236, 0.08);
  scroll-margin-top: 7rem;
}

.admin-main .project-live-status {
  color: #7ee2b8;
}

.admin-main .project-live-status.is-draft {
  color: var(--admin-gold);
}

.admin-main .status-badge {
  border: 1px solid var(--admin-border);
  background: rgba(94, 217, 236, 0.07);
  color: var(--admin-cyan-soft);
}

.admin-main .project-status-list div {
  border-color: var(--admin-border);
}

.admin-main .project-primary-action {
  border-color: var(--admin-border);
  background: var(--admin-panel);
  color: var(--admin-text);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.18);
}

.admin-main .project-primary-action:hover,
.admin-main .project-primary-action:focus {
  border-color: var(--admin-cyan);
  background: rgba(94, 217, 236, 0.08);
  color: var(--admin-text);
}

.admin-main .project-primary-action-publish {
  border-color: rgba(217, 189, 123, 0.5);
  background: linear-gradient(135deg, rgba(137, 109, 53, 0.86), rgba(89, 73, 42, 0.92));
}

.admin-main .advanced-tools summary {
  color: var(--admin-cyan-soft);
}

.admin-main .advanced-tools-content {
  border-top: 1px solid var(--admin-border);
  padding-top: 1.25rem;
}

.admin-main .flash {
  border-color: var(--admin-border-strong);
  background: rgba(32, 95, 119, 0.2);
  color: #dffbff;
}

.admin-main .flash-success {
  border-color: rgba(91, 205, 151, 0.42);
  background: rgba(23, 105, 70, 0.2);
  color: #c7f6df;
}

.admin-main .flash-error,
.admin-main .flash-danger {
  border-color: rgba(255, 125, 125, 0.42);
  background: rgba(130, 39, 50, 0.24);
  color: #ffd5d5;
}

.admin-main .flash-warning {
  border-color: rgba(217, 189, 123, 0.48);
  background: rgba(112, 87, 37, 0.24);
  color: #f7e3b5;
}

.admin-main .admin-technical-table {
  width: 100%;
  max-width: 100%;
}

.admin-main .preview-frame iframe,
.admin-main .admin-preview-iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 78vh;
  min-height: 640px;
  border: 1px solid var(--admin-border-strong);
  border-radius: 16px;
  background: #fff;
}

.auth-main,
.public-main {
  min-height: 100vh;
}

.auth-main {
  display: grid;
  place-items: center;
  padding: max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));
}

.auth-shell {
  display: grid;
  width: min(100%, 440px);
  gap: 1.1rem;
}

.auth-brand {
  justify-self: center;
}

.auth-card {
  padding: clamp(1.4rem, 5vw, 2.25rem);
  border: 1px solid var(--admin-border);
  border-radius: 24px;
  background: rgba(12, 20, 34, 0.9);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(18px);
}

.auth-card-heading {
  margin-bottom: 1.5rem;
}

.auth-eyebrow,
.public-eyebrow {
  color: var(--admin-gold);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.auth-card h1,
.public-hero h1 {
  margin: 0.55rem 0 0;
  color: var(--admin-text);
  letter-spacing: -0.04em;
}

.auth-card h1 {
  font-size: clamp(2rem, 8vw, 2.8rem);
}

.auth-card p,
.public-hero p {
  color: var(--admin-muted);
}

.auth-form,
.auth-field {
  display: grid;
  gap: 0.48rem;
}

.auth-form {
  gap: 1rem;
}

.auth-field label,
.auth-remember {
  color: var(--admin-text);
  font-size: 0.88rem;
  font-weight: 650;
}

.auth-field input {
  border-color: var(--admin-border);
  background: rgba(4, 10, 19, 0.72);
  color: var(--admin-text);
}

.auth-field input:focus {
  border-color: var(--admin-cyan);
  outline: 3px solid rgba(94, 217, 236, 0.18);
}

.auth-remember {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  cursor: pointer;
}

.auth-remember input {
  width: 1rem;
  height: 1rem;
  accent-color: var(--admin-cyan);
}

.auth-field-error {
  color: var(--admin-danger);
  font-size: 0.82rem;
}

.auth-submit {
  width: 100%;
  min-height: 48px;
  margin-top: 0.25rem;
  border-color: rgba(94, 217, 236, 0.55);
  background: linear-gradient(135deg, #1791a9, #11647c);
  color: #f7fdff;
  font-weight: 700;
  box-shadow: 0 12px 30px rgba(0, 177, 205, 0.18);
}

.auth-submit:hover,
.auth-submit:focus {
  background: linear-gradient(135deg, #22a8c0, #16758d);
  color: #fff;
}

.auth-back-link {
  justify-self: center;
  color: var(--admin-muted);
  font-size: 0.86rem;
}

.public-main {
  padding: max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-top)) max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-right)) max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-bottom)) max(clamp(1.25rem, 4vw, 3rem), env(safe-area-inset-left));
}

.public-shell {
  display: grid;
  min-height: calc(100vh - clamp(2.5rem, 8vw, 6rem));
  grid-template-rows: auto 1fr auto;
  width: min(1180px, 100%);
  margin: 0 auto;
}

.public-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.public-login-link,
.public-primary-action {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.1rem;
  border: 1px solid var(--admin-border-strong);
  border-radius: 999px;
  color: var(--admin-cyan-soft);
  font-weight: 700;
}

.public-primary-action {
  border-color: rgba(217, 189, 123, 0.46);
  background: linear-gradient(135deg, rgba(137, 109, 53, 0.88), rgba(91, 74, 42, 0.94));
  color: #fff8e8;
}

.public-login-link:hover,
.public-login-link:focus,
.public-primary-action:hover,
.public-primary-action:focus {
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}

.public-hero {
  align-self: center;
  max-width: 760px;
  padding: clamp(3rem, 9vw, 7rem) 0;
}

.public-hero h1 {
  max-width: 15ch;
  font-size: clamp(2.8rem, 8vw, 6rem);
  line-height: 0.98;
}

.public-hero p {
  max-width: 54ch;
  margin: 1.25rem 0 1.75rem;
  font-size: clamp(1rem, 2vw, 1.2rem);
}

.public-footer {
  padding-top: 1rem;
  border-top: 1px solid var(--admin-border);
  color: var(--admin-muted);
  font-size: 0.8rem;
}

@media (max-width: 1050px) {
  .admin-shell {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    display: none;
  }

  .admin-header {
    position: static;
  }

  .admin-mobile-brand,
  .admin-mobile-nav {
    display: flex;
  }

  .admin-mobile-nav {
    position: sticky;
    top: 0;
    z-index: 14;
    justify-content: flex-start;
    gap: 0.25rem;
    padding: 0.7rem max(clamp(1rem, 3vw, 2rem), env(safe-area-inset-right)) 0.7rem max(clamp(1rem, 3vw, 2rem), env(safe-area-inset-left));
    overflow-x: auto;
    border-bottom: 1px solid var(--admin-border);
    background: rgba(7, 12, 21, 0.94);
    scrollbar-width: thin;
  }

  .admin-mobile-nav a {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0.55rem 0.75rem;
    border-radius: 9px;
    color: var(--admin-muted);
    font-size: 0.82rem;
    font-weight: 650;
  }

  .admin-mobile-nav a.is-active {
    background: rgba(94, 217, 236, 0.1);
    color: var(--admin-cyan-soft);
  }
}

@media (max-width: 767px) {
  .admin-header {
    align-items: flex-start;
    flex-direction: column;
    padding: calc(0.9rem + env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) 0.9rem max(1rem, env(safe-area-inset-left));
  }

  .admin-header-heading {
    width: 100%;
    justify-content: space-between;
  }

  .admin-account {
    width: 100%;
    justify-content: space-between;
  }

  .admin-account > span {
    align-items: flex-start;
  }

  .admin-main {
    padding: 1rem;
  }

  .admin-main .grid.grid-2,
  .admin-main .grid.grid-3,
  .admin-main .project-summary-grid,
  .admin-main .project-primary-actions,
  .admin-main .block-filters,
  .admin-main .edit-form-grid,
  .admin-main .admin-form-wide {
    grid-template-columns: 1fr;
  }

  .admin-main .admin-form-wide > .page-actions {
    grid-column: auto;
  }

  .admin-main .page-actions,
  .admin-main .page-actions > *,
  .admin-main .project-primary-actions > *,
  .admin-main .project-primary-actions form,
  .admin-main .project-row form,
  .admin-main .project-row button {
    width: 100%;
  }

  .admin-main .project-row {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-main .preview-frame iframe,
  .admin-main .admin-preview-iframe {
    height: 62vh;
    min-height: 440px;
  }

  .admin-main .admin-blocks-table-wrapper {
    overflow: visible;
    border: 0;
  }

  .admin-main .admin-blocks-table,
  .admin-main .admin-blocks-table tbody,
  .admin-main .admin-blocks-table tr,
  .admin-main .admin-blocks-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .admin-main .admin-blocks-table thead {
    display: none;
  }

  .admin-main .admin-blocks-table tr {
    margin-bottom: 0.85rem;
    padding: 0.8rem;
    border: 1px solid var(--admin-border);
    border-radius: 14px;
    background: rgba(4, 11, 20, 0.44);
  }

  .admin-main .admin-blocks-table td {
    display: grid;
    grid-template-columns: minmax(6rem, 0.38fr) minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.55rem 0;
    border: 0;
    overflow-wrap: anywhere;
  }

  .admin-main .admin-blocks-table td::before {
    color: var(--admin-muted);
    content: attr(data-label);
    font-size: 0.7rem;
    font-weight: 700;
  }

  .admin-main .admin-block-edit-link {
    justify-self: start;
  }

  .admin-main .editable-boolean-option {
    gap: 0.65rem;
    padding: 0.45rem 0;
  }
}

@media (max-width: 899px) {
  .admin-main .admin-block-edit-link,
  .admin-main .block-filters button,
  .admin-main .editable-boolean-option,
  .dashboard-home-body.admin-dark-body .admin-main .studio-device-toggle button,
  .dashboard-home-body.admin-dark-body .admin-main .client-studio-settings .button,
  .dashboard-home-body.admin-dark-body .admin-main .client-studio-preview > form button,
  .dashboard-home-body.admin-dark-body .admin-main .client-studio-empty-preview form button,
  .dashboard-home-body.admin-dark-body .admin-main .studio-publication-panel > button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }
}

@media (max-width: 479px) {
  .admin-header-kicker,
  .admin-header-title {
    display: none;
  }

  .admin-account {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-account form,
  .admin-account button {
    width: 100%;
  }

  .auth-main {
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  }

  .auth-card {
    border-radius: 18px;
  }

  .public-main {
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  }

  .public-header {
    align-items: flex-start;
  }

  .public-brand {
    font-size: 0.92rem;
  }

  .public-hero h1 {
    font-size: clamp(2.5rem, 15vw, 4rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .admin-dark-body *,
  .auth-dark-body *,
  .public-dark-body * {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }
}

/* Instant d’Elle client module — isolated Dark Luxury treatment. */
.instant-module-body .instant-module-shell {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
  color: var(--dashboard-text);
}

.instant-module-body .instant-module-shell :where(h1, h2, h3, p) {
  margin-top: 0;
}

.instant-module-body .instant-module-shell :where(h1, h2, h3) {
  color: var(--dashboard-text);
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.instant-module-body .instant-module-shell :where(p, small, dt) {
  color: var(--dashboard-text-muted);
}

.instant-module-body .instant-module-shell .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.instant-module-body .instant-module-hero,
.instant-module-body .instant-panel,
.instant-module-body .instant-filter-bar,
.instant-module-body .instant-form-section,
.instant-module-body .instant-danger-zone {
  border: 1px solid var(--dashboard-border);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015)),
    var(--dashboard-surface);
  box-shadow: 0 22px 64px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(18px);
}

/* Keep glass on compact controls; long Instant d’Elle surfaces scroll as document content. */
.instant-module-body .instant-panel {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.22);
}

.instant-module-body .instant-module-hero,
.instant-module-body .instant-form-section {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
}

.instant-module-body .instant-module-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 15rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  overflow: hidden;
  border-color: rgba(201, 168, 76, 0.34);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 30%, rgba(201, 168, 76, 0.16), transparent 24rem),
    radial-gradient(circle at 72% 80%, rgba(0, 229, 255, 0.1), transparent 22rem),
    linear-gradient(135deg, rgba(17, 23, 34, 0.96), rgba(5, 13, 23, 0.9));
}

.instant-module-body .instant-module-hero h1,
.instant-module-body .instant-page-header h1 {
  margin-bottom: 0.65rem;
  font-size: clamp(2rem, 4.5vw, 3.7rem);
}

.instant-module-body .instant-module-hero > div:first-child > p:not(.dashboard-eyebrow) {
  max-width: 42rem;
  margin-bottom: 1rem;
  font-size: 1rem;
}

.instant-module-body .instant-hero-meta,
.instant-module-body .instant-title-row,
.instant-module-body .instant-page-actions,
.instant-module-body .instant-row-actions,
.instant-module-body .instant-form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem;
}

.instant-module-body .instant-hero-meta span {
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--dashboard-text-muted);
  font-size: 0.75rem;
}

.instant-module-body .instant-hero-mark {
  display: grid;
  place-items: center;
  width: clamp(6rem, 12vw, 9rem);
  height: clamp(6rem, 12vw, 9rem);
  border: 1px solid rgba(201, 168, 76, 0.42);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201, 168, 76, 0.22), rgba(0, 229, 255, 0.04) 60%, transparent 62%);
  color: #efd583;
  font-size: clamp(1.8rem, 4vw, 3.2rem);
  font-weight: 300;
  letter-spacing: 0.04em;
  box-shadow: 0 0 50px rgba(201, 168, 76, 0.09);
}

.instant-module-body .instant-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.instant-module-body .instant-stats-grid.instant-stats-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.instant-module-body .instant-kpi-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.instant-module-body .instant-kpi-grid .instant-stat-card small { display: block; margin-top: .55rem; color: var(--dashboard-text-muted); }
.instant-module-body .instant-kpi-grid .positive { color: var(--dashboard-success) !important; }
.instant-module-body .instant-kpi-grid .negative { color: #ff9aaa !important; }
.instant-module-body .instant-periods { justify-content: flex-start; margin: 1rem 0 .65rem; }
.instant-module-body .instant-periods a { padding: .4rem .65rem; border: 1px solid var(--dashboard-border); border-radius: 999px; color: var(--dashboard-text-muted); font-size: .76rem; }
.instant-module-body .instant-periods a.is-active { border-color: var(--dashboard-primary); background: var(--dashboard-primary-soft); color: var(--dashboard-primary); }
.instant-module-body .instant-custom-period { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; }
.instant-module-body .instant-custom-period label { display: grid; gap: .2rem; color: var(--dashboard-text-muted); font-size: .7rem; }
.instant-module-body .instant-custom-period input { min-width: 8rem; padding: .4rem; }
.instant-module-body .instant-custom-period button { padding: .55rem .8rem; }
.instant-module-body .instant-alert-list, .instant-module-body .instant-bars { display: grid; gap: .65rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.instant-module-body .instant-alert-list li { border-left: 3px solid var(--dashboard-primary); padding: .65rem .8rem; background: rgba(255,255,255,.025); }
.instant-module-body .instant-alert-list li[data-level="urgent"] { border-color: #ff7d85; }
.instant-module-body .instant-alert-list li[data-level="important"] { border-color: #efd583; }
.instant-module-body .instant-alert-list a { color: var(--dashboard-text); font-size: .82rem; }
.instant-module-body .instant-alert-list strong { display: block; margin-bottom: .2rem; color: var(--dashboard-text-muted); font-size: .64rem; text-transform: uppercase; }
.instant-module-body .instant-bars li { display: grid; grid-template-columns: minmax(7rem, .9fr) minmax(3rem, 1fr) auto; gap: .6rem; align-items: center; color: var(--dashboard-text-muted); font-size: .78rem; }
.instant-module-body .instant-bars b { display: block; height: .5rem; min-width: .4rem; border-radius: 999px; background: linear-gradient(90deg, var(--dashboard-primary), #efd583); }
.instant-module-body .instant-bars em { color: var(--dashboard-text); font-style: normal; font-weight: 700; }

.instant-module-body .instant-stat-card {
  padding: 1.15rem 1.3rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 18px;
  background: var(--dashboard-surface-secondary);
}

.instant-module-body .instant-stat-card span {
  color: var(--dashboard-text);
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  font-weight: 750;
}

.instant-module-body .instant-stat-card p {
  margin: 0.25rem 0 0;
  font-size: 0.78rem;
}

.instant-module-body .instant-section,
.instant-module-body .instant-form-layout {
  display: grid;
  gap: 1rem;
}

.instant-module-body .instant-section-heading,
.instant-module-body .instant-page-header,
.instant-module-body .instant-invoice-line header,
.instant-module-body .instant-danger-zone {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.instant-module-body .instant-section-heading h2,
.instant-module-body .instant-panel > h2 {
  margin-bottom: 0;
  font-size: clamp(1.25rem, 2.2vw, 1.75rem);
}

.instant-module-body .instant-section-heading > a {
  color: var(--dashboard-primary);
  font-size: 0.8rem;
  font-weight: 750;
}

.instant-module-body .instant-quick-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
}

.instant-module-body .instant-quick-actions a {
  display: grid;
  min-height: 9rem;
  padding: 1.1rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 18px;
  background: var(--dashboard-surface-secondary);
  color: var(--dashboard-text);
}

.instant-module-body .instant-quick-actions a:hover,
.instant-module-body .instant-quick-actions a:focus {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
  text-decoration: none;
}

.instant-module-body .instant-quick-actions a > span {
  color: var(--dashboard-primary);
  font-size: 0.68rem;
  font-weight: 800;
}

.instant-module-body .instant-quick-actions strong {
  align-self: end;
}

.instant-module-body .instant-quick-actions small {
  margin-top: 0.3rem;
  line-height: 1.4;
}

.instant-module-body .instant-dashboard-grid,
.instant-module-body .instant-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.instant-module-body .instant-panel {
  padding: clamp(1rem, 2.5vw, 1.5rem);
  border-radius: 22px;
}

.instant-module-body .instant-data-list,
.instant-module-body .instant-data-list > li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.instant-module-body .instant-data-list {
  display: grid;
  gap: 0.6rem;
  margin-top: 1rem;
}

.instant-module-body .instant-data-list > li > a,
.instant-module-body .instant-session-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  padding: 0.85rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.025);
  color: var(--dashboard-text);
}

.instant-module-body .instant-data-list > li > a:hover,
.instant-module-body .instant-data-list > li > a:focus {
  border-color: var(--dashboard-border-cyan);
  text-decoration: none;
}

.instant-module-body .instant-data-list strong,
.instant-module-body .instant-data-list small {
  display: block;
}

.instant-module-body .instant-data-list small {
  margin-top: 0.25rem;
}

.instant-module-body .instant-data-list.instant-upcoming-appointments > li {
  display: grid;
  grid-template-columns: minmax(7rem, 0.7fr) minmax(0, 1fr) auto auto;
  gap: 1rem;
  align-items: center;
  padding: 0.9rem 1rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
}

.instant-module-body .instant-upcoming-appointments time {
  display: grid;
  gap: 0.2rem;
  color: var(--dashboard-text);
  font-style: normal;
}

.instant-module-body .instant-upcoming-appointments time span {
  color: var(--dashboard-text-muted);
  font-size: 0.86rem;
}

.instant-module-body .instant-appointment-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.55rem;
}

.instant-module-body .instant-appointment-actions a {
  color: var(--dashboard-primary);
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
}

.instant-module-body .instant-appointment-actions a:hover,
.instant-module-body .instant-appointment-actions a:focus-visible {
  text-decoration: underline;
}

.instant-module-body .instant-avatar {
  display: grid;
  place-items: center;
  width: 2.7rem;
  height: 2.7rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 13px;
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-primary);
  font-size: 0.72rem;
  font-weight: 800;
}

.instant-module-body .instant-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.8rem;
  padding: 0.35rem 0.6rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--dashboard-text-muted);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.instant-module-body .instant-status-badge:is([data-status="actif"], [data-status="paye"], [data-status="offert"]) {
  border-color: rgba(69, 224, 168, 0.36);
  background: rgba(69, 224, 168, 0.1);
  color: var(--dashboard-success);
}

.instant-module-body .instant-status-badge:is([data-status="nouveau"], [data-status="regulier"], [data-status="en_attente"], [data-status="partiel"]) {
  border-color: rgba(201, 168, 76, 0.38);
  background: rgba(201, 168, 76, 0.11);
  color: #efd583;
}

.instant-module-body .instant-empty-state {
  display: grid;
  justify-items: center;
  min-height: 16rem;
  padding: 2rem;
  text-align: center;
  place-content: center;
}

.instant-module-body .instant-empty-state.compact { min-height: 12rem; }
.instant-module-body .instant-empty-state > span { color: var(--dashboard-primary); font-size: 2rem; }
.instant-module-body .instant-empty-state h3 { margin: 0.65rem 0 0.4rem; }
.instant-module-body .instant-empty-state p { max-width: 28rem; }

.instant-module-body .instant-page-header {
  align-items: flex-end;
  padding: 0.4rem 0 0.8rem;
  border-bottom: 1px solid var(--dashboard-border);
}

.instant-module-body .instant-page-header > div,
.instant-module-body .instant-page-actions,
.instant-module-body .instant-page-actions > * {
  min-width: 0;
}

.instant-module-body .instant-page-header > div:first-child > p:last-child {
  margin-bottom: 0;
}

/* Global Booking sections share the existing module surface without adding a new UI framework. */
.instant-module-body .booking-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.instant-module-body .booking-tabs > input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.instant-module-body .booking-tabs > label {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 1rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 12px;
  background: var(--dashboard-surface-secondary);
  color: var(--dashboard-text-muted);
  font-size: 0.78rem;
  font-weight: 750;
  cursor: pointer;
}

.instant-module-body .booking-tabs > label:hover,
.instant-module-body .booking-tabs > input:focus-visible + label {
  border-color: var(--dashboard-border-cyan);
  color: var(--dashboard-text);
}

.instant-module-body .booking-tabs > input:checked + label {
  border-color: var(--dashboard-primary);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-primary);
}

.instant-module-body .booking-tabs > label:nth-of-type(1) { grid-column: 1; }
.instant-module-body .booking-tabs > label:nth-of-type(2) { grid-column: 2; }
.instant-module-body .booking-tabs > label:nth-of-type(3) { grid-column: 3; }
.instant-module-body .booking-tabs > label:nth-of-type(4) { grid-column: 4; }
.instant-module-body .booking-tabs > input:nth-of-type(1) + label { grid-row: 1; }
.instant-module-body .booking-tabs > input:nth-of-type(2) + label { grid-row: 1; }
.instant-module-body .booking-tabs > input:nth-of-type(3) + label { grid-row: 1; }
.instant-module-body .booking-tabs > input:nth-of-type(4) + label { grid-row: 1; }

.instant-module-body .booking-tab-panels { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
.instant-module-body .booking-tab-panel { display: none; gap: 1rem; min-width: 0; }
.instant-module-body .booking-tabs > input:nth-of-type(1):checked ~ .booking-tab-panels .booking-tab-panel-planning,
.instant-module-body .booking-tabs > input:nth-of-type(2):checked ~ .booking-tab-panels .booking-tab-panel-new-appointment,
.instant-module-body .booking-tabs > input:nth-of-type(3):checked ~ .booking-tab-panels .booking-tab-panel-services,
.instant-module-body .booking-tabs > input:nth-of-type(4):checked ~ .booking-tab-panels .booking-tab-panel-availability { display: grid; }
.instant-module-body .booking-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
.instant-module-body .booking-service-card { display: grid; align-content: start; gap: 1rem; padding: 1.15rem; }
.instant-module-body .booking-service-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.8rem; }
.instant-module-body .booking-service-card h3 { margin: 0; font-size: 1.05rem; }
.instant-module-body .booking-service-description { margin: 0.35rem 0 0; color: var(--dashboard-text-muted); font-size: 0.82rem; line-height: 1.45; }
.instant-module-body .booking-service-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; margin: 0; }
.instant-module-body .booking-service-details div { padding: 0.65rem; border: 1px solid var(--dashboard-border); border-radius: 12px; }
.instant-module-body .booking-service-details dt { color: var(--dashboard-text-muted); font-size: 0.66rem; }
.instant-module-body .booking-service-details dd { margin: 0.25rem 0 0; color: var(--dashboard-text); font-size: 0.82rem; font-weight: 750; }
.instant-module-body .booking-service-card .instant-row-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.instant-module-body .booking-service-card .instant-row-actions form { margin: 0; }
.instant-module-body .instant-form-section fieldset { display: grid; gap: 0.8rem; margin: 0 0 1.1rem; padding: 1rem; border: 1px solid var(--dashboard-border); border-radius: 14px; }
.instant-module-body .instant-form-section fieldset legend { padding: 0 0.35rem; color: var(--dashboard-text); font-size: 0.85rem; font-weight: 800; }
.instant-module-body .instant-form-section fieldset p { margin: 0; }
.instant-module-body .booking-service-total { display: block; color: var(--dashboard-text-muted); font-size: 0.8rem; }
.instant-module-body .booking-service-total strong { color: var(--dashboard-primary); }
.instant-module-body .booking-service-form-details { display: grid; gap: 1rem; margin-top: 1rem; }
.instant-module-body .booking-service-form-details > summary { width: fit-content; cursor: pointer; list-style: none; }
.instant-module-body .booking-service-form-details > summary::-webkit-details-marker { display: none; }
.instant-module-body .booking-service-form-details[open] > summary { margin-bottom: 0.1rem; }
.instant-module-body .booking-appointment-filter { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.6rem; }
.instant-module-body .booking-appointment-filter form { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 0.55rem; }
.instant-module-body .booking-appointment-filter label { color: var(--dashboard-text-muted); font-size: 0.72rem; }
.instant-module-body .booking-appointment-filter .is-danger { color: var(--dashboard-danger); }

.instant-module-body .booking-weekly-planner { display: grid; gap: 1rem; }
.instant-module-body .booking-week-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.7rem; }
.instant-module-body .booking-day-card { display: grid; align-content: start; gap: 0.75rem; min-width: 0; padding: 0.9rem; border: 1px solid var(--dashboard-border); border-radius: 16px; background: var(--dashboard-surface-secondary); }
.instant-module-body .booking-day-card.is-closed { opacity: 0.78; }
.instant-module-body .booking-day-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.5rem; }
.instant-module-body .booking-day-card h3 { margin: 0; font-size: 0.9rem; }
.instant-module-body .booking-day-status { display: block; margin-top: 0.2rem; color: var(--dashboard-text-muted); font-size: 0.68rem; }
.instant-module-body .booking-day-count { color: var(--dashboard-text-muted); font-size: 0.65rem; text-align: right; }
.instant-module-body .booking-day-windows { display: grid; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.instant-module-body .booking-day-windows li { display: grid; gap: 0.45rem; padding: 0.6rem; border: 1px solid var(--dashboard-border); border-radius: 11px; color: var(--dashboard-text); font-size: 0.75rem; }
.instant-module-body .booking-window-actions { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.instant-module-body .booking-window-actions :where(a, button) { color: var(--dashboard-primary); font-size: 0.68rem; font-weight: 750; }
.instant-module-body .booking-window-actions button { border: 0; background: transparent; cursor: pointer; font: inherit; }
.instant-module-body .booking-window-actions .is-danger { color: var(--dashboard-danger); }
.instant-module-body .booking-day-empty { min-height: 2.7rem; margin: 0; color: var(--dashboard-text-muted); font-size: 0.75rem; }
.instant-module-body .booking-day-add { width: 100%; justify-content: center; padding: 0.5rem; font-size: 0.7rem; }
.instant-module-body .booking-day-picker { display: grid; gap: 0.55rem; margin: 0 0 1rem; padding: 0; border: 0; }
.instant-module-body .booking-day-picker legend { width: 100%; margin-bottom: 0.15rem; color: var(--dashboard-text); font-size: 0.78rem; font-weight: 750; }
.instant-module-body .booking-day-picker-options { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.55rem; }
.instant-module-body .booking-day-picker-option { position: relative; min-width: 0; cursor: pointer; }
.instant-module-body .booking-day-picker-option input { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.instant-module-body .booking-day-picker-option span { display: grid; min-height: 2.7rem; place-items: center; padding: 0.45rem 0.35rem; border: 1px solid var(--dashboard-border); border-radius: 10px; background: var(--dashboard-surface-secondary); color: var(--dashboard-text); font-size: 0.74rem; font-weight: 750; text-align: center; transition: border-color 160ms ease, background 160ms ease, color 160ms ease, box-shadow 160ms ease; }
.instant-module-body .booking-day-picker-option:hover span { border-color: var(--dashboard-primary); }
.instant-module-body .booking-day-picker-option input:checked + span { border-color: var(--dashboard-primary); background: var(--dashboard-primary-soft); color: var(--dashboard-primary); box-shadow: 0 0 0 1px var(--dashboard-primary); }
.instant-module-body .booking-day-picker-option input:focus-visible + span { outline: 3px solid var(--dashboard-primary); outline-offset: 2px; }
.instant-module-body .booking-exceptions-panel { display: grid; gap: 1rem; }
.instant-module-body .booking-exception-list { display: grid; gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.instant-module-body .booking-exception-list li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.8rem; border: 1px solid var(--dashboard-border); border-radius: 13px; background: var(--dashboard-surface-secondary); }
.instant-module-body .booking-exception-list strong, .instant-module-body .booking-exception-list small { display: block; }
.instant-module-body .booking-exception-list small { margin-top: 0.2rem; color: var(--dashboard-text-muted); }
.instant-module-body .booking-exception-form { display: grid; gap: 0.8rem; padding-top: 0.4rem; border-top: 1px solid var(--dashboard-border); }
.instant-module-body .booking-availability-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; }
.instant-module-body .booking-availability-nav a { padding: 0.65rem 0.8rem; border: 1px solid var(--dashboard-border); border-radius: 12px; background: var(--dashboard-surface-secondary); color: var(--dashboard-text-muted); font-size: 0.76rem; font-weight: 750; text-align: center; text-decoration: none; }
.instant-module-body .booking-availability-nav a:hover, .instant-module-body .booking-availability-nav a:focus-visible { border-color: var(--dashboard-border-cyan); color: var(--dashboard-text); }
.instant-module-body .booking-month-calendar { display: grid; gap: 1rem; }
.instant-module-body .booking-month-calendar-header { align-items: flex-start; }
.instant-module-body .booking-month-navigation { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.45rem; }
.instant-module-body .booking-month-navigation a { padding: 0.5rem 0.7rem; font-size: 0.68rem; }
.instant-module-body .booking-calendar-weekdays, .instant-module-body .booking-month-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.55rem; }
.instant-module-body .booking-calendar-weekdays { color: var(--dashboard-text-muted); font-size: 0.67rem; font-weight: 800; letter-spacing: 0.04em; text-align: center; text-transform: uppercase; }
.instant-module-body .booking-month-day-card { display: grid; align-content: start; gap: 0.5rem; min-width: 0; min-height: 8.5rem; padding: 0.7rem; border: 1px solid var(--dashboard-border); border-radius: 14px; background: var(--dashboard-surface-secondary); }
.instant-module-body .booking-month-day-card.is-closed { opacity: 0.72; }
.instant-module-body .booking-month-day-card.is-today { border-color: var(--dashboard-primary); box-shadow: 0 0 0 1px var(--dashboard-primary-soft); }
.instant-module-body .booking-month-day-card > header { display: flex; align-items: baseline; justify-content: space-between; gap: 0.35rem; }
.instant-module-body .booking-month-day-card time { color: var(--dashboard-text); font-size: 1rem; font-weight: 800; }
.instant-module-body .booking-month-day-card header span { color: var(--dashboard-text-muted); font-size: 0.62rem; }
.instant-module-body .booking-month-day-status { display: flex; align-items: center; gap: 0.35rem; margin: 0; color: var(--dashboard-text-muted); font-size: 0.67rem; }
.instant-module-body .booking-calendar-dot { display: inline-block; width: 0.5rem; height: 0.5rem; flex: 0 0 auto; border-radius: 50%; background: var(--dashboard-success); }
.instant-module-body .booking-calendar-dot.is-closed { background: var(--dashboard-border); }
.instant-module-body .booking-calendar-dot.is-closure { background: var(--dashboard-danger); }
.instant-module-body .booking-calendar-dot.is-opening { background: var(--dashboard-primary); }
.instant-module-body .booking-month-exceptions, .instant-module-body .booking-calendar-legend { display: grid; gap: 0.3rem; margin: 0; padding: 0; list-style: none; }
.instant-module-body .booking-month-exceptions li { padding: 0.3rem 0.4rem; border-left: 2px solid var(--dashboard-danger); color: var(--dashboard-text-muted); font-size: 0.62rem; line-height: 1.3; }
.instant-module-body .booking-month-exceptions li.is-opening { border-left-color: var(--dashboard-primary); }
.instant-module-body .booking-calendar-legend { display: flex; flex-wrap: wrap; gap: 0.8rem 1.2rem; color: var(--dashboard-text-muted); font-size: 0.68rem; }
.instant-module-body .booking-calendar-legend li { display: inline-flex; align-items: center; gap: 0.4rem; }
.instant-module-body .booking-month-day-empty { min-height: 8.5rem; border: 1px dashed var(--dashboard-border); border-radius: 14px; opacity: 0.35; }
.instant-module-body .booking-month-weeks { display: grid; gap: 1rem; }
.instant-module-body .booking-month-week { display: grid; gap: 0.55rem; }
.instant-module-body .booking-month-week-header { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; }
.instant-module-body .booking-month-week-header h3 { margin: 0; color: var(--dashboard-text); font-size: 0.82rem; }
.instant-module-body .booking-week-close { padding: 0.45rem 0.65rem; font-size: 0.66rem; }
.instant-module-body .booking-exceptions-stack { display: grid; gap: 1rem; }

@media (max-width: 1100px) {
  .instant-module-body .instant-stats-grid.instant-stats-three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .instant-module-body .booking-week-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .instant-module-body .booking-tabs { grid-template-columns: minmax(0, 1fr); grid-auto-flow: row; }
  .instant-module-body .booking-tabs > label,
  .instant-module-body .booking-tabs > label:nth-of-type(1),
  .instant-module-body .booking-tabs > label:nth-of-type(2),
  .instant-module-body .booking-tabs > label:nth-of-type(3),
  .instant-module-body .booking-tabs > label:nth-of-type(4) { grid-column: 1 / -1; width: 100%; }
  .instant-module-body .booking-tabs > input:nth-of-type(1) + label { grid-row: 1; }
  .instant-module-body .booking-tabs > input:nth-of-type(2) + label { grid-row: 2; }
  .instant-module-body .booking-tabs > input:nth-of-type(3) + label { grid-row: 3; }
  .instant-module-body .booking-tabs > input:nth-of-type(4) + label { grid-row: 4; }
  .instant-module-body .booking-tab-panels { grid-column: 1; grid-row: 5; }
  .instant-module-body .booking-dashboard-shell > .instant-page-header .dashboard-button-secondary { width: 100%; justify-content: center; }
  .instant-module-body .booking-week-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .instant-module-body .booking-appointment-filter,
  .instant-module-body .booking-appointment-filter form { align-items: stretch; justify-content: flex-start; width: 100%; }
  .instant-module-body .booking-appointment-filter .dashboard-button-secondary { width: 100%; justify-content: center; }
  .instant-module-body .booking-service-form-details > summary { width: 100%; justify-content: center; }
  .instant-module-body .booking-service-card .instant-row-actions,
  .instant-module-body .booking-service-card .instant-row-actions form { display: grid; width: 100%; }
  .instant-module-body .booking-service-card .instant-row-actions :where(a, button) { width: 100%; min-height: 2.75rem; justify-content: center; }
  .instant-module-body .booking-tab-panel .instant-form-actions,
  .instant-module-body .booking-tab-panel .instant-form-actions > * { width: 100%; }
  .instant-module-body .booking-exception-list li { align-items: flex-start; flex-direction: column; }
  .instant-module-body .booking-exception-list li form { width: 100%; }
  .instant-module-body .booking-exception-list li button { width: 100%; min-height: 2.75rem; }
  .instant-module-body .booking-availability-nav { grid-template-columns: 1fr; }
  .instant-module-body .booking-day-picker-options { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .instant-module-body .booking-month-calendar-header { gap: 0.8rem; }
  .instant-module-body .booking-month-navigation { justify-content: flex-start; }
  .instant-module-body .booking-month-navigation a { flex: 1 1 7rem; text-align: center; }
  .instant-module-body .booking-month-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .instant-module-body .booking-calendar-weekdays { display: none; }
  .instant-module-body .booking-month-week-header { align-items: flex-start; flex-direction: column; }
  .instant-module-body .booking-week-close { width: 100%; }
}

@media (max-width: 420px) {
  .instant-module-body .booking-week-grid { grid-template-columns: 1fr; }
  .instant-module-body .booking-day-picker-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .instant-module-body .booking-month-grid { grid-template-columns: 1fr; }
  .instant-module-body .booking-month-day-empty { display: none; }
}

.instant-module-body .instant-motivation-card { max-width: 52rem; }
.instant-module-body .instant-motivation-card blockquote { margin: 0; font-size: clamp(1.25rem, 2.6vw, 1.8rem); line-height: 1.55; }
.instant-module-body .instant-motivation-author { margin: 1rem 0 1.5rem; color: var(--dashboard-primary); font-weight: 700; }
.instant-module-body .instant-motivation-list li a { display: flex; justify-content: space-between; gap: 1rem; }
.instant-module-body .instant-motivation-list small, .instant-module-body .instant-motivation-list time { display: block; color: var(--dashboard-text-muted); font-size: 0.78rem; }

.instant-module-body .instant-title-row h1 { margin-bottom: 0; }

.instant-module-body .instant-filter-bar {
  padding: 1rem;
  border-radius: 18px;
}

.instant-module-body .instant-filter-bar form,
.instant-module-body .instant-filter-bar form > div {
  display: flex;
  align-items: end;
  gap: 0.7rem;
}

.instant-module-body .instant-filter-bar form {
  flex-wrap: wrap;
  justify-content: flex-start;
}

.instant-module-body .instant-filter-bar form > div {
  flex: 1 1 14rem;
  min-width: 0;
}

.instant-module-body .instant-filter-bar label,
.instant-module-body .instant-field label {
  color: var(--dashboard-text);
  font-size: 0.78rem;
  font-weight: 750;
}

.instant-module-body .instant-filter-bar :where(input, select),
.instant-module-body .instant-field :where(input, select, textarea) {
  width: 100%;
  border: 1px solid var(--dashboard-border);
  border-radius: 12px;
  background: rgba(2, 8, 16, 0.7);
  color: var(--dashboard-text);
}

.instant-module-body .instant-filter-bar :where(input, select) {
  min-width: 0;
}

.instant-module-body .instant-table-wrapper {
  margin-top: 1rem;
  overflow-x: auto;
}

.instant-module-body .instant-data-table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
  border-radius: 0;
  background: transparent;
}

.instant-module-body .instant-data-table thead th {
  background: rgba(2, 8, 16, 0.5);
}

.instant-module-body .instant-data-table tbody tr {
  background: rgba(255, 255, 255, 0.018);
}

.instant-module-body .instant-data-table th,
.instant-module-body .instant-data-table td {
  padding: 0.85rem 0.7rem;
  border-bottom: 1px solid var(--dashboard-border);
  text-align: left;
  vertical-align: middle;
}

.instant-module-body .instant-data-table th {
  color: var(--dashboard-text-muted);
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.instant-module-body .instant-data-table td {
  color: var(--dashboard-text);
  font-size: 0.8rem;
}

.instant-module-body .instant-data-table td > small,
.instant-module-body .instant-data-table td > span {
  display: block;
  margin-top: 0.2rem;
}

.instant-module-body .instant-person-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--dashboard-text);
}

.instant-module-body .instant-row-actions {
  justify-content: flex-end;
}

.instant-module-body .instant-row-actions :where(a, button) {
  min-height: 2.25rem;
  padding: 0.45rem 0.65rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--dashboard-text);
  font: inherit;
  font-size: 0.7rem;
  cursor: pointer;
}

.instant-module-body .instant-row-actions form { margin: 0; }
.instant-module-body .instant-row-actions .is-danger { color: #ff9aaa; }

.instant-module-body .instant-form-section {
  padding: clamp(1rem, 3vw, 1.6rem);
  border-radius: 20px;
}

.instant-module-body .instant-form-section > header {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  margin-bottom: 1.25rem;
}

.instant-module-body .instant-form-section > header > span {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 10px;
  color: var(--dashboard-primary);
  font-size: 0.65rem;
  font-weight: 800;
}

.instant-module-body .instant-form-section h2 { margin-bottom: 0.25rem; font-size: 1.2rem; }
.instant-module-body .instant-form-section header p { margin-bottom: 0; font-size: 0.78rem; }

.instant-module-body .instant-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.instant-module-body .instant-field {
  display: grid;
  align-content: start;
  gap: 0.45rem;
}

.instant-module-body .instant-field input[type="time"] {
  min-height: 2.7rem;
  color-scheme: dark;
  cursor: text;
  appearance: auto;
  -webkit-appearance: auto;
}

.instant-module-body .instant-field input[type="time"]::-webkit-calendar-picker-indicator {
  filter: none;
  opacity: 1;
  cursor: pointer;
}

.instant-module-body .instant-field input[type="time"]:focus {
  border-color: var(--dashboard-border-cyan);
  outline: 2px solid var(--dashboard-primary-soft);
  outline-offset: 1px;
}

.instant-module-body .instant-field-wide { grid-column: 1 / -1; }
.instant-module-body .instant-field textarea { min-height: 7rem; resize: vertical; }
.instant-module-body .instant-field-error { color: var(--dashboard-danger); font-size: 0.72rem; }

.instant-module-body .instant-form-actions {
  justify-content: flex-end;
  padding: 0.4rem 0;
}

.instant-module-body .instant-detail-list {
  display: grid;
  gap: 0;
  margin: 1rem 0 0;
}

.instant-module-body .instant-detail-list > div {
  display: grid;
  grid-template-columns: minmax(8rem, 0.4fr) minmax(0, 1fr);
  gap: 1rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--dashboard-border);
}

.instant-module-body .instant-detail-list dt { font-size: 0.72rem; }
.instant-module-body .instant-detail-list dd { margin: 0; color: var(--dashboard-text); overflow-wrap: anywhere; }
.instant-module-body .instant-price { color: #efd583; font-size: 1.2rem; font-weight: 800; }

.instant-module-body .instant-session-row {
  grid-template-columns: auto minmax(0, 1fr) auto auto;
}

.instant-module-body .instant-session-date {
  display: grid;
  min-width: 5.5rem;
  gap: 0.2rem;
  color: var(--dashboard-text);
  font-weight: 800;
}

.instant-module-body .instant-session-copy p { margin: 0.2rem 0; font-size: 0.76rem; }
.instant-module-body .instant-session-copy a { color: var(--dashboard-text); }

.instant-module-body .instant-invoice-total {
  color: #efd583;
  font-size: 1rem;
}

.instant-module-body .instant-invoice-line-list {
  display: grid;
  gap: 0.8rem;
  margin-top: 1rem;
}

.instant-module-body .instant-invoice-line {
  padding: 1rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.025);
}

.instant-module-body .instant-invoice-line-fields,
.instant-module-body .instant-add-line form {
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) minmax(7rem, 0.3fr) minmax(8rem, 0.35fr) auto;
  align-items: end;
  gap: 0.7rem;
}

.instant-module-body .instant-line-delete {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.7rem;
  margin-top: 0.65rem;
}

.instant-module-body .instant-line-delete button,
.instant-module-body .instant-danger-zone button {
  min-height: 2.4rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(255, 113, 137, 0.34);
  border-radius: 11px;
  background: rgba(255, 113, 137, 0.07);
  color: #ff9aaa;
  font: inherit;
  font-size: 0.72rem;
  cursor: pointer;
}

.instant-module-body .instant-line-delete button:disabled { opacity: 0.5; cursor: not-allowed; }
.instant-module-body .instant-line-delete p { margin: 0; font-size: 0.72rem; }

.instant-module-body .instant-add-line {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px dashed var(--dashboard-border-cyan);
  border-radius: 16px;
  background: rgba(0, 229, 255, 0.025);
}

.instant-module-body .instant-add-line h3 { margin-bottom: 0.8rem; font-size: 1rem; }

.instant-module-body .instant-danger-zone {
  padding: 1rem 1.2rem;
  border-color: rgba(255, 113, 137, 0.22);
  border-radius: 18px;
  box-shadow: none;
}

.instant-module-body .instant-danger-zone h2 { margin-bottom: 0.25rem; font-size: 1rem; }
.instant-module-body .instant-danger-zone p { margin-bottom: 0; font-size: 0.75rem; }

html[data-dashboard-theme="light"] .instant-module-body .instant-module-hero,
html[data-dashboard-theme="light"] .instant-module-body .instant-panel,
html[data-dashboard-theme="light"] .instant-module-body .instant-filter-bar,
html[data-dashboard-theme="light"] .instant-module-body .instant-form-section {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 248, 250, 0.9)),
    var(--dashboard-surface);
  box-shadow: 0 16px 38px rgba(37, 52, 67, 0.1);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-module-hero {
  border-color: var(--dashboard-border-cyan);
  background:
    radial-gradient(circle at 88% 30%, rgba(0, 137, 158, 0.12), transparent 24rem),
    radial-gradient(circle at 72% 80%, rgba(125, 211, 252, 0.16), transparent 22rem),
    linear-gradient(135deg, #ffffff, #eef7f9);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-hero-meta span,
html[data-dashboard-theme="light"] .instant-module-body .instant-stat-card,
html[data-dashboard-theme="light"] .instant-module-body .instant-quick-actions a,
html[data-dashboard-theme="light"] .instant-module-body .instant-data-list > li > a,
html[data-dashboard-theme="light"] .instant-module-body .instant-session-row,
html[data-dashboard-theme="light"] .instant-module-body .instant-data-list.instant-upcoming-appointments > li,
html[data-dashboard-theme="light"] .instant-module-body .instant-invoice-line,
html[data-dashboard-theme="light"] .instant-module-body .instant-row-actions :where(a, button),
html[data-dashboard-theme="light"] .instant-module-body .dashboard-button-secondary {
  background: var(--dashboard-surface-secondary);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-hero-mark {
  border-color: var(--dashboard-status-warning-border);
  background: radial-gradient(circle, var(--dashboard-status-warning-surface), var(--dashboard-primary-soft) 60%, transparent 62%);
  color: var(--dashboard-warning);
  box-shadow: 0 0 32px rgba(0, 137, 158, 0.1);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-alert-list li {
  background: var(--dashboard-surface-secondary);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-status-badge {
  background: var(--dashboard-surface-secondary);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-status-badge:is([data-status="actif"], [data-status="paye"], [data-status="offert"]) {
  border-color: var(--dashboard-status-success-border);
  background: var(--dashboard-status-success-surface);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-status-badge:is([data-status="nouveau"], [data-status="regulier"], [data-status="en_attente"], [data-status="partiel"]) {
  border-color: var(--dashboard-status-warning-border);
  background: var(--dashboard-status-warning-surface);
  color: var(--dashboard-warning);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-status-badge[data-status="active"] {
  border-color: var(--dashboard-status-success-border);
  background: var(--dashboard-status-success-surface);
  color: var(--dashboard-success);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-status-badge[data-status="cancelled"] {
  border-color: var(--dashboard-status-danger-border);
  background: var(--dashboard-status-danger-surface);
  color: var(--dashboard-danger);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-status-badge[data-status="used"] {
  border-color: var(--dashboard-status-info-border);
  background: var(--dashboard-status-info-surface);
  color: var(--dashboard-primary);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-status-badge[data-status="expired"] {
  border-color: var(--dashboard-status-warning-border);
  background: var(--dashboard-status-warning-surface);
  color: var(--dashboard-warning);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-status-badge[data-status="archived"] {
  border-color: var(--dashboard-border);
  background: var(--dashboard-surface-secondary);
  color: var(--dashboard-text-muted);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-motivation-list li {
  background: var(--dashboard-surface-secondary);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-filter-bar :where(input, select),
html[data-dashboard-theme="light"] .instant-module-body .instant-field :where(input, select, textarea) {
  background: rgba(255, 255, 255, 0.96);
  color-scheme: light;
}

html[data-dashboard-theme="light"] .instant-module-body .instant-field input[type="time"] {
  color-scheme: light;
}

html[data-dashboard-theme="light"] .instant-module-body .instant-field input[type="time"]::-webkit-calendar-picker-indicator {
  filter: none;
  opacity: 0.7;
}

html[data-dashboard-theme="light"] .instant-module-body .instant-data-table thead th {
  background: var(--dashboard-primary-soft);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-data-table tbody tr {
  background: rgba(255, 255, 255, 0.64);
}

html[data-dashboard-theme="light"] .instant-module-body .instant-price,
html[data-dashboard-theme="light"] .instant-module-body .instant-invoice-total {
  color: var(--dashboard-warning);
}

@media (max-width: 1023px) {
  .instant-module-body .instant-quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .instant-module-body .instant-invoice-line-fields,
  .instant-module-body .instant-add-line form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .instant-module-body .instant-invoice-line-fields > button,
  .instant-module-body .instant-add-line form > input[type="submit"] { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .instant-module-body .instant-module-hero,
  .instant-module-body .instant-dashboard-grid,
  .instant-module-body .instant-detail-grid,
  .instant-module-body .instant-stats-grid.instant-stats-three { grid-template-columns: 1fr; }
  .instant-module-body .instant-hero-mark { display: none; }
  .instant-module-body .instant-page-header,
  .instant-module-body .instant-danger-zone { align-items: flex-start; flex-direction: column; }
  .instant-module-body .instant-filter-bar form,
  .instant-module-body .instant-filter-bar form > div { align-items: stretch; flex-direction: column; width: 100%; }
  .instant-module-body .instant-filter-bar input { min-width: 0; }
  .instant-module-body .instant-form-grid { grid-template-columns: 1fr; }
  .instant-module-body .booking-service-details { grid-template-columns: 1fr; }
  .instant-module-body .instant-field-wide { grid-column: auto; }
  .instant-module-body .instant-session-row { grid-template-columns: 1fr auto; }
  .instant-module-body .instant-session-copy { grid-column: 1 / -1; }
  .instant-module-body .instant-session-row .instant-row-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .instant-module-body .instant-data-table thead { display: none; }
  .instant-module-body .instant-data-table,
  .instant-module-body .instant-data-table tbody,
  .instant-module-body .instant-data-table tr,
  .instant-module-body .instant-data-table td { display: block; width: 100%; }
  .instant-module-body .instant-data-table tr { margin-bottom: 0.8rem; padding: 0.75rem; border: 1px solid var(--dashboard-border); border-radius: 15px; background: rgba(255, 255, 255, 0.025); }
  html[data-dashboard-theme="light"] .instant-module-body .instant-data-table tr { background: var(--dashboard-surface-secondary); }
  .instant-module-body .instant-data-table td { display: grid; grid-template-columns: minmax(6.5rem, 0.35fr) minmax(0, 1fr); gap: 0.7rem; padding: 0.55rem 0; border: 0; }
  .instant-module-body .instant-data-table td::before { color: var(--dashboard-text-muted); content: attr(data-label); font-size: 0.68rem; font-weight: 750; }
  .instant-module-body .instant-row-actions { justify-content: flex-start; }
}

@media (max-width: 899px) {
  .instant-module-body .instant-client-table .instant-person-link,
  .instant-module-body .instant-client-table .instant-row-actions :where(a, button) {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
  }

  .instant-module-body .instant-client-table .instant-open-client {
    display: none;
  }
}

@media (min-width: 768px) and (max-width: 899px) {
  .instant-module-body .instant-client-table thead { display: none; }
  .instant-module-body .instant-client-table,
  .instant-module-body .instant-client-table tbody,
  .instant-module-body .instant-client-table tr,
  .instant-module-body .instant-client-table td { display: block; width: 100%; }
  .instant-module-body .instant-client-table tr { margin-bottom: 0.8rem; padding: 0.75rem; border: 1px solid var(--dashboard-border); border-radius: 15px; background: rgba(255, 255, 255, 0.025); }
  .instant-module-body .instant-client-table td { display: grid; grid-template-columns: minmax(6.5rem, 0.35fr) minmax(0, 1fr); gap: 0.7rem; padding: 0.55rem 0; border: 0; }
  .instant-module-body .instant-client-table td::before { color: var(--dashboard-text-muted); content: attr(data-label); font-size: 0.68rem; font-weight: 750; }
  .instant-module-body .instant-client-table .instant-row-actions { justify-content: flex-start; }
}

@media (max-width: 479px) {
  .instant-module-body .instant-stats-grid,
  .instant-module-body .instant-quick-actions { grid-template-columns: 1fr; }
  .instant-module-body .instant-page-actions,
  .instant-module-body .instant-page-actions > *,
  .instant-module-body .instant-form-actions,
  .instant-module-body .instant-form-actions > *,
  .instant-module-body .instant-danger-zone form,
  .instant-module-body .instant-danger-zone button { width: 100%; }
  .instant-module-body .instant-invoice-line-fields,
  .instant-module-body .instant-add-line form { grid-template-columns: 1fr; }
  .instant-module-body .instant-invoice-line-fields > button,
  .instant-module-body .instant-add-line form > input[type="submit"] { grid-column: auto; width: 100%; }
  .instant-module-body .instant-detail-list > div { grid-template-columns: 1fr; gap: 0.25rem; }
  .instant-module-body .instant-data-table td { grid-template-columns: 1fr; gap: 0.2rem; }
  .instant-module-body .instant-data-list > li > a { grid-template-columns: auto minmax(0, 1fr); }
  .instant-module-body .instant-data-list > li > a .instant-status-badge { grid-column: 2; justify-self: start; }
  .instant-module-body .instant-data-list.instant-upcoming-appointments > li { grid-template-columns: minmax(0, 1fr); gap: 0.65rem; }
  .instant-module-body .instant-data-list.instant-upcoming-appointments > li .instant-status-badge { justify-self: start; }
  .instant-module-body .instant-appointment-actions { grid-column: auto; justify-content: flex-start; }
}

/* Dark Luxury version history and version detail. */
.dashboard-home-body .dashboard-versions-page,
.dashboard-home-body .dashboard-version-detail-page {
  display: grid;
  gap: 1.5rem;
}

.dashboard-home-body .dashboard-back-link {
  display: inline-flex;
  margin-bottom: 0.9rem;
  color: var(--dashboard-text-muted);
  font-size: 0.8rem;
  font-weight: 650;
}

.dashboard-home-body .dashboard-back-link:hover,
.dashboard-home-body .dashboard-back-link:focus {
  color: var(--dashboard-primary);
  text-decoration: none;
}

.dashboard-home-body .dashboard-versions-intro,
.dashboard-home-body .dashboard-version-detail-intro {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
}

.dashboard-home-body .dashboard-versions-intro h1,
.dashboard-home-body .dashboard-version-detail-intro h1 {
  margin: 0;
  color: var(--dashboard-text);
  font-size: clamp(1.9rem, 4vw, 3.15rem);
  letter-spacing: -0.05em;
  line-height: 1.05;
}

.dashboard-home-body .dashboard-versions-intro > div > p:last-child,
.dashboard-home-body .dashboard-version-detail-intro > div > p:last-child {
  max-width: 42rem;
  margin: 0.7rem 0 0;
  color: var(--dashboard-text-muted);
}

.dashboard-home-body .dashboard-project-status {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.4rem 0.75rem;
  border: 1px solid rgba(69, 224, 168, 0.42);
  border-radius: 999px;
  background: rgba(69, 224, 168, 0.1);
  color: var(--dashboard-success);
  font-size: 0.7rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dashboard-home-body .dashboard-project-status-draft,
.dashboard-home-body .dashboard-project-status-paused {
  border-color: rgba(201, 168, 76, 0.45);
  background: rgba(201, 168, 76, 0.12);
  color: #efd583;
}

.dashboard-home-body .dashboard-versions-project-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-color: var(--dashboard-border-cyan);
  box-shadow: var(--dashboard-glow), 0 24px 70px rgba(0, 0, 0, 0.28);
}

.dashboard-home-body .dashboard-versions-project-card h2,
.dashboard-home-body .dashboard-version-identity h2,
.dashboard-home-body .dashboard-version-content-card h2,
.dashboard-home-body .dashboard-version-restore-card h2,
.dashboard-home-body .dashboard-versions-list h2,
.dashboard-home-body .dashboard-version-empty-state h2 {
  margin: 0;
  color: var(--dashboard-text);
  font-size: clamp(1.3rem, 2.5vw, 2.05rem);
  letter-spacing: -0.04em;
  line-height: 1.1;
}

.dashboard-home-body .dashboard-versions-project-meta,
.dashboard-home-body .dashboard-version-row-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1.2rem;
  margin-top: 0.8rem;
  color: var(--dashboard-text-muted);
  font-size: 0.76rem;
}

.dashboard-home-body .dashboard-versions-project-meta span,
.dashboard-home-body .dashboard-version-row-meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.dashboard-home-body .dashboard-versions-project-meta span::before,
.dashboard-home-body .dashboard-version-row-meta span::before {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--dashboard-primary);
  box-shadow: 0 0 7px rgba(0, 229, 255, 0.7);
  content: "";
}

.dashboard-home-body .dashboard-versions-project-actions,
.dashboard-home-body .dashboard-version-row-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.65rem;
}

.dashboard-home-body .dashboard-versions-project-actions > *,
.dashboard-home-body .dashboard-version-row-actions > *,
.dashboard-home-body .dashboard-version-row-actions form {
  margin: 0;
}

.dashboard-home-body .dashboard-versions-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}

.dashboard-home-body .dashboard-version-summary-card {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  min-height: 7rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 18px;
  background: var(--dashboard-surface-secondary);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
}

.dashboard-home-body .dashboard-version-summary-card-active {
  border-color: var(--dashboard-border-cyan);
  background: linear-gradient(135deg, rgba(0, 229, 255, 0.13), rgba(255, 255, 255, 0.025));
}

.dashboard-home-body .dashboard-version-summary-card-gold {
  border-color: rgba(201, 168, 76, 0.34);
}

.dashboard-home-body .dashboard-version-summary-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.45rem;
  height: 2.45rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 12px;
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-primary);
  font-weight: 800;
}

.dashboard-home-body .dashboard-version-summary-card-gold .dashboard-version-summary-icon {
  border-color: rgba(201, 168, 76, 0.44);
  background: rgba(201, 168, 76, 0.12);
  color: #efd583;
}

.dashboard-home-body .dashboard-version-summary-card p {
  margin: 0 0 0.3rem;
  color: var(--dashboard-text-muted);
  font-size: 0.72rem;
}

.dashboard-home-body .dashboard-version-summary-card strong {
  color: var(--dashboard-text);
  font-size: 1.08rem;
  line-height: 1.1;
}

.dashboard-home-body .dashboard-versions-list {
  display: grid;
  gap: 1rem;
}

.dashboard-home-body .dashboard-versions-list-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
}

.dashboard-home-body .dashboard-versions-list-heading > span {
  color: var(--dashboard-text-muted);
  font-size: 0.78rem;
}

.dashboard-home-body .dashboard-versions-timeline {
  display: grid;
  gap: 0.8rem;
  margin: 0;
  padding: 0 0 0 1rem;
  list-style: none;
}

.dashboard-home-body .dashboard-version-timeline-item {
  position: relative;
  padding-left: 1.25rem;
}

.dashboard-home-body .dashboard-version-timeline-item::before {
  position: absolute;
  top: 0.75rem;
  bottom: -0.8rem;
  left: 0.18rem;
  width: 1px;
  background: linear-gradient(var(--dashboard-border-cyan), var(--dashboard-border));
  content: "";
}

.dashboard-home-body .dashboard-version-timeline-item:last-child::before {
  bottom: 50%;
}

.dashboard-home-body .dashboard-version-timeline-marker {
  position: absolute;
  z-index: 1;
  top: 1rem;
  left: 0;
  width: 0.5rem;
  height: 0.5rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 50%;
  background: #07101d;
  box-shadow: 0 0 10px rgba(0, 229, 255, 0.35);
}

.dashboard-home-body .dashboard-version-timeline-item.is-active .dashboard-version-timeline-marker {
  border-color: var(--dashboard-primary);
  background: var(--dashboard-primary);
  box-shadow: 0 0 14px rgba(0, 229, 255, 0.8);
}

.dashboard-home-body .dashboard-version-row {
  display: grid;
  gap: 0.85rem;
  padding: clamp(1rem, 2vw, 1.35rem);
  border: 1px solid var(--dashboard-border);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
    var(--dashboard-surface-secondary);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.2);
}

.dashboard-home-body .dashboard-version-timeline-item.is-active .dashboard-version-row {
  border-color: var(--dashboard-border-cyan);
  box-shadow: var(--dashboard-glow), 0 20px 58px rgba(0, 0, 0, 0.26);
}

.dashboard-home-body .dashboard-version-row-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.dashboard-home-body .dashboard-version-row-heading h3 {
  margin: 0;
  color: var(--dashboard-text);
  font-size: 1.05rem;
  letter-spacing: -0.025em;
}

.dashboard-home-body .dashboard-version-status-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 1.7rem;
  padding: 0.32rem 0.65rem;
  border: 1px solid rgba(201, 168, 76, 0.46);
  border-radius: 999px;
  background: rgba(201, 168, 76, 0.13);
  color: #efd583;
  font-size: 0.66rem;
  font-weight: 750;
  letter-spacing: 0.04em;
}

.dashboard-home-body .dashboard-version-status-badge.is-active {
  border-color: rgba(0, 229, 255, 0.55);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-primary);
}

.dashboard-home-body .dashboard-version-restore-button {
  display: inline-flex;
  min-height: 2.6rem;
  align-items: center;
  justify-content: center;
  padding: 0.62rem 0.95rem;
  border: 1px solid rgba(201, 168, 76, 0.56);
  border-radius: 12px;
  background: linear-gradient(135deg, #f4d98b, #c9a84c);
  box-shadow: 0 8px 25px rgba(201, 168, 76, 0.13), inset 0 1px rgba(255, 255, 255, 0.52);
  color: #17130b;
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.1;
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease;
}

.dashboard-home-body .dashboard-version-restore-button:hover,
.dashboard-home-body .dashboard-version-restore-button:focus {
  color: #17130b;
  filter: brightness(1.06);
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 10px 30px rgba(201, 168, 76, 0.22);
}

.dashboard-home-body .dashboard-version-empty-state {
  display: grid;
  justify-items: center;
  min-height: 20rem;
  padding: clamp(2rem, 6vw, 4rem);
  text-align: center;
  place-content: center;
}

.dashboard-home-body .dashboard-version-empty-state > p:not(.dashboard-eyebrow) {
  max-width: 34rem;
  margin: 0.8rem 0 1.3rem;
  color: var(--dashboard-text-muted);
}

.dashboard-home-body .dashboard-version-detail-intro > .dashboard-version-status-badge {
  margin-bottom: 0.25rem;
}

.dashboard-home-body .dashboard-version-identity {
  display: grid;
  grid-template-columns: minmax(13rem, 0.85fr) minmax(0, 1.4fr) auto;
  align-items: center;
  gap: 1.25rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-color: rgba(201, 168, 76, 0.3);
}

.dashboard-home-body .dashboard-version-identity-copy > p:not(.dashboard-eyebrow) {
  margin: 0.5rem 0 0;
  color: var(--dashboard-text-muted);
}

.dashboard-home-body .dashboard-version-identity-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem 1.25rem;
  margin: 0;
}

.dashboard-home-body .dashboard-version-identity-meta div {
  min-width: 0;
}

.dashboard-home-body .dashboard-version-identity-meta dt {
  margin-bottom: 0.25rem;
  color: var(--dashboard-text-muted);
  font-size: 0.66rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.dashboard-home-body .dashboard-version-identity-meta dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--dashboard-text);
  font-size: 0.82rem;
}

.dashboard-home-body .dashboard-version-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.dashboard-home-body .dashboard-version-content-card {
  display: grid;
  gap: 1.25rem;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.dashboard-home-body .dashboard-version-content-mark {
  color: #efd583;
  font-size: 1.35rem;
  text-shadow: 0 0 18px rgba(201, 168, 76, 0.65);
}

.dashboard-home-body .dashboard-version-content-honest {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: clamp(1.15rem, 3vw, 1.7rem);
  border: 1px solid rgba(201, 168, 76, 0.28);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(201, 168, 76, 0.1), rgba(255, 255, 255, 0.025));
}

.dashboard-home-body .dashboard-version-content-icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 2.55rem;
  height: 2.55rem;
  border: 1px solid rgba(201, 168, 76, 0.48);
  border-radius: 13px;
  background: rgba(201, 168, 76, 0.13);
  color: #efd583;
  font-weight: 800;
}

.dashboard-home-body .dashboard-version-content-honest h3 {
  margin: 0;
  color: var(--dashboard-text);
  font-size: 1.08rem;
}

.dashboard-home-body .dashboard-version-content-honest p {
  max-width: 54rem;
  margin: 0.55rem 0 0;
  color: var(--dashboard-text-muted);
  font-size: 0.86rem;
  line-height: 1.55;
}

.dashboard-home-body .dashboard-version-restore-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 1.25rem;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(201, 168, 76, 0.46);
  border-radius: 22px;
  background:
    radial-gradient(circle at 85% 10%, rgba(201, 168, 76, 0.16), transparent 18rem),
    linear-gradient(135deg, rgba(201, 168, 76, 0.11), rgba(255, 255, 255, 0.025));
  box-shadow: 0 22px 62px rgba(0, 0, 0, 0.23);
}

.dashboard-home-body .dashboard-version-restore-card > div > p:last-child {
  max-width: 52rem;
  margin: 0.55rem 0 0;
  color: var(--dashboard-text-muted);
  font-size: 0.86rem;
  line-height: 1.55;
}

@media (max-width: 1023px) {
  .dashboard-home-body .dashboard-version-identity {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
  }

  .dashboard-home-body .dashboard-version-identity > .dashboard-button-secondary {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .dashboard-home-body .dashboard-version-restore-card {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .dashboard-home-body .dashboard-version-restore-card > .dashboard-button-secondary {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 767px) {
  .dashboard-home-body .dashboard-versions-intro,
  .dashboard-home-body .dashboard-version-detail-intro,
  .dashboard-home-body .dashboard-versions-project-card {
    align-items: flex-start;
    flex-direction: column;
  }

  .dashboard-home-body .dashboard-versions-project-actions,
  .dashboard-home-body .dashboard-version-row-actions {
    justify-content: flex-start;
  }

  .dashboard-home-body .dashboard-versions-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-home-body .dashboard-version-identity {
    grid-template-columns: 1fr;
  }

  .dashboard-home-body .dashboard-version-identity > .dashboard-button-secondary {
    grid-column: auto;
  }

  .dashboard-home-body .dashboard-version-identity-meta {
    grid-template-columns: 1fr;
  }

  .dashboard-home-body .dashboard-version-restore-card {
    grid-template-columns: 1fr;
  }

  .dashboard-home-body .dashboard-version-restore-card > .dashboard-button-secondary {
    grid-column: auto;
  }

  .dashboard-home-body .dashboard-version-restore-card form,
  .dashboard-home-body .dashboard-version-restore-card form > button {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .dashboard-home-body .dashboard-versions-summary {
    grid-template-columns: 1fr;
  }

  .dashboard-home-body .dashboard-versions-project-actions,
  .dashboard-home-body .dashboard-version-row-actions {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr;
  }

  .dashboard-home-body .dashboard-versions-project-actions > *,
  .dashboard-home-body .dashboard-version-row-actions > *,
  .dashboard-home-body .dashboard-version-row-actions form,
  .dashboard-home-body .dashboard-version-row-actions form > button {
    width: 100%;
  }

  .dashboard-home-body .dashboard-version-row-heading {
    display: grid;
  }

  .dashboard-home-body .dashboard-version-row-heading .dashboard-version-status-badge {
    justify-self: start;
  }

  .dashboard-home-body .dashboard-version-content-honest {
    flex-direction: column;
  }

  .dashboard-home-body .dashboard-versions-timeline {
    padding-left: 0.65rem;
  }

  .dashboard-home-body .dashboard-version-timeline-item {
    padding-left: 1rem;
  }
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-project-status {
  border-color: var(--dashboard-status-success-border);
  background: var(--dashboard-status-success-surface);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) :is(.dashboard-project-status-draft, .dashboard-project-status-paused, .dashboard-version-status-badge, .dashboard-version-summary-card-gold) {
  border-color: var(--dashboard-status-warning-border);
  background: var(--dashboard-status-warning-surface);
  color: var(--dashboard-warning);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-status-badge.is-active {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-primary);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-versions-project-card {
  box-shadow: var(--dashboard-glow), 0 20px 50px rgba(37, 52, 67, 0.12);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-versions-project-meta span::before,
html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-row-meta span::before {
  box-shadow: var(--dashboard-glow);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-summary-card {
  box-shadow: 0 14px 34px rgba(37, 52, 67, 0.1);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-summary-card-active {
  background: linear-gradient(135deg, var(--dashboard-primary-soft), var(--dashboard-surface-secondary));
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-summary-card-gold .dashboard-version-summary-icon,
html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-content-icon {
  border-color: var(--dashboard-status-warning-border);
  background: var(--dashboard-status-warning-surface);
  color: var(--dashboard-warning);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-timeline-marker {
  background: var(--dashboard-surface);
  box-shadow: 0 0 10px rgba(0, 137, 158, 0.18);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-timeline-item.is-active .dashboard-version-timeline-marker {
  box-shadow: var(--dashboard-glow);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-row {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.92), var(--dashboard-surface-secondary));
  box-shadow: 0 14px 34px rgba(37, 52, 67, 0.1);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-timeline-item.is-active .dashboard-version-row {
  box-shadow: var(--dashboard-glow), 0 16px 40px rgba(37, 52, 67, 0.12);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-identity {
  border-color: var(--dashboard-status-warning-border);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-content-mark {
  color: var(--dashboard-warning);
  text-shadow: 0 0 14px rgba(138, 90, 0, 0.22);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-content-honest {
  border-color: var(--dashboard-status-warning-border);
  background: linear-gradient(135deg, var(--dashboard-status-warning-surface), var(--dashboard-surface-secondary));
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-restore-card {
  border-color: var(--dashboard-status-warning-border);
  background:
    radial-gradient(circle at 85% 10%, var(--dashboard-status-warning-surface), transparent 18rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), var(--dashboard-surface-secondary));
  box-shadow: 0 18px 46px rgba(37, 52, 67, 0.12);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-version-restore-button {
  border-color: var(--dashboard-warning);
  background: var(--dashboard-warning);
  box-shadow: 0 8px 22px rgba(138, 90, 0, 0.18);
  color: var(--dashboard-priority-action-text);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) .dashboard-versions-project-actions .dashboard-button-primary {
  border-color: var(--dashboard-priority-action-border);
  background: var(--dashboard-priority-action-background);
  box-shadow: var(--dashboard-priority-action-shadow);
  color: var(--dashboard-priority-action-text);
}

html[data-dashboard-theme="light"] .dashboard-home-body:not(.admin-dark-body) :is(.dashboard-versions-project-actions, .dashboard-version-row-actions, .dashboard-version-identity, .dashboard-version-restore-card, .dashboard-version-empty-state) .dashboard-button-secondary {
  background: var(--dashboard-surface-secondary);
}

/* Shared studio structure. The Dark Luxury treatment stays client-scoped. */
.studio-shell .studio-shell-grid {
  display: grid;
  gap: 1rem;
}

.dashboard-home-body .studio-shell {
  display: grid;
  gap: 0.9rem;
  min-width: 0;
}

.dashboard-home-body .studio-shell .studio-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 0 0 0.9rem;
  border-bottom-color: var(--dashboard-border);
}

.dashboard-home-body .studio-shell .studio-header-copy {
  min-width: 0;
}

.dashboard-home-body .studio-shell .studio-header h1 {
  margin: 0;
  color: var(--dashboard-text);
  font-size: clamp(1.8rem, 3.25vw, 2.6rem);
  letter-spacing: -0.055em;
  line-height: 1.05;
}

.dashboard-home-body .studio-shell .studio-header-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1rem;
  margin-top: 0.75rem;
  color: var(--dashboard-text-muted);
  font-size: 0.74rem;
}

.dashboard-home-body .studio-shell .studio-header-meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.dashboard-home-body .studio-shell .studio-header-meta span::before {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--dashboard-primary);
  box-shadow: 0 0 7px rgba(0, 229, 255, 0.75);
  content: "";
}

.dashboard-home-body .studio-shell .client-studio-actions {
  justify-content: flex-end;
}

.dashboard-home-body .studio-shell .client-studio-status {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.4rem 0.75rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 999px;
  background: transparent;
  color: var(--dashboard-text-muted);
  font-size: 0.7rem;
  letter-spacing: 0.04em;
}

.dashboard-home-body .studio-shell .studio-publication-steps {
  width: 100%;
  padding: 0.8rem 0.9rem;
  border-color: var(--dashboard-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
  color: var(--dashboard-text);
  box-shadow: none;
}

.dashboard-home-body .studio-shell .studio-publication-steps h2 {
  margin-bottom: 0.8rem;
  color: var(--dashboard-text);
  font-size: 1.05rem;
}

.dashboard-home-body .studio-shell .studio-publication-steps .publication-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.dashboard-home-body .studio-shell .studio-publication-steps .publication-steps li {
  grid-template-columns: 1.85rem minmax(0, 1fr);
  gap: 0.5rem;
  padding: 0.65rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.025);
  font-size: 0.72rem;
}

.dashboard-home-body .studio-shell .studio-publication-steps .publication-steps li > span {
  width: 1.85rem;
  height: 1.85rem;
}

.dashboard-home-body .studio-shell .studio-publication-steps .publication-steps strong {
  grid-column: 2;
  font-size: 0.68rem;
}

.dashboard-home-body .studio-shell .studio-publication-steps > p {
  margin: 0.65rem 0 0;
  color: var(--dashboard-text-muted);
  font-size: 0.76rem;
}

.dashboard-home-body .studio-shell .studio-action-sections {
  display: grid;
  gap: 0.85rem;
}

.dashboard-home-body .studio-shell .studio-action-section {
  min-width: 0;
  padding: 0.9rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.02);
}

.dashboard-home-body .studio-shell .studio-action-section-heading {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  margin-bottom: 0.8rem;
}

.dashboard-home-body .studio-shell .studio-action-section-heading .dashboard-eyebrow {
  margin: 0;
}

.dashboard-home-body .studio-shell .studio-action-section-heading h2 {
  margin: 0;
  color: var(--dashboard-text);
  font-size: 1rem;
  letter-spacing: -0.02em;
}

.dashboard-home-body .studio-shell .studio-shell-grid {
  grid-template-columns: minmax(190px, 0.62fr) minmax(0, 2.55fr);
  align-items: start;
  gap: 1rem;
}

.dashboard-home-body .studio-shell .studio-navigation-panel,
.dashboard-home-body .studio-shell .studio-preview-panel,
.dashboard-home-body .studio-shell .studio-editor-panel,
.dashboard-home-body .studio-shell .studio-publication-panel {
  border: 1px solid var(--dashboard-border);
  border-radius: 12px;
  background: var(--dashboard-surface);
  box-shadow: none;
  backdrop-filter: none;
}

.dashboard-home-body .studio-shell .studio-navigation-panel {
  display: grid;
  gap: 1rem;
  max-height: calc(100vh - 3rem);
  padding: 1rem;
  overflow-y: auto;
  position: sticky;
  top: 1rem;
}

.dashboard-home-body .studio-shell .studio-navigation-panel h2,
.dashboard-home-body .studio-shell .studio-preview-toolbar h2,
.dashboard-home-body .studio-shell .studio-editor-panel h2,
.dashboard-home-body .studio-shell .studio-publication-panel h2 {
  margin: 0;
  color: var(--dashboard-text);
  font-size: 1.08rem;
  letter-spacing: -0.025em;
}

.dashboard-home-body .studio-shell .studio-navigation-panel header > p:last-child,
.dashboard-home-body .studio-shell .studio-editor-panel header > p,
.dashboard-home-body .studio-shell .studio-empty-state p {
  margin: 0.45rem 0 0;
  color: var(--dashboard-text-muted);
  font-size: 0.74rem;
  line-height: 1.45;
}

.dashboard-home-body .studio-shell .studio-page-list {
  display: grid;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dashboard-home-body .studio-shell .studio-page-list a {
  display: grid;
  gap: 0.2rem;
  min-height: 2.8rem;
  padding: 0.65rem 0.75rem;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 11px;
  color: var(--dashboard-text-muted);
}

.dashboard-home-body .studio-shell .studio-page-list a:hover,
.dashboard-home-body .studio-shell .studio-page-list a:focus,
.dashboard-home-body .studio-shell .studio-page-list a.is-active {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-text);
  text-decoration: none;
}

.dashboard-home-body .studio-shell .studio-page-list span,
.dashboard-home-body .studio-shell .studio-page-list small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-home-body .studio-shell .studio-page-list span {
  font-size: 0.76rem;
  font-weight: 700;
}

.dashboard-home-body .studio-shell .studio-page-list small {
  color: var(--dashboard-text-muted);
  font-size: 0.62rem;
}

.dashboard-home-body .studio-shell .client-studio-settings,
.dashboard-home-body .studio-shell .client-studio-draft-summary {
  padding: 0.85rem;
  border-color: var(--dashboard-border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
  color: var(--dashboard-text);
}

.dashboard-home-body .studio-shell .client-studio-settings h2,
.dashboard-home-body .studio-shell .client-studio-draft-summary h2 {
  font-size: 0.88rem;
}

.dashboard-home-body .studio-shell .client-studio-settings .button,
.dashboard-home-body .studio-shell .client-studio-draft-summary .button {
  width: 100%;
  min-height: 2.4rem;
  padding: 0.55rem 0.65rem;
  font-size: 0.68rem;
}

.dashboard-home-body .studio-shell .client-studio-draft-summary ul,
.dashboard-home-body .studio-shell .client-studio-draft-summary p {
  color: var(--dashboard-text-muted);
  font-size: 0.7rem;
}

.dashboard-home-body .studio-shell .client-studio-area {
  grid-template-columns: minmax(0, 1.75fr) minmax(265px, 0.82fr);
  gap: 1rem;
  min-width: 0;
}

.dashboard-home-body .studio-shell .client-studio-simple-grid {
  grid-template-columns: minmax(0, 1fr);
}

.dashboard-home-body .studio-shell .admin-studio-simple-grid {
  grid-template-columns: minmax(0, 1fr);
}

.dashboard-home-body .studio-shell .client-studio-simple-grid .client-studio-area {
  grid-template-columns: minmax(0, 2.2fr) minmax(285px, 0.8fr);
}

.dashboard-home-body .studio-shell .admin-studio-simple-grid .client-studio-area {
  grid-template-columns: minmax(0, 2.2fr) minmax(285px, 0.8fr);
}

.dashboard-home-body .studio-shell .studio-preview-panel {
  min-width: 0;
  overflow: hidden;
  border-color: var(--dashboard-border);
  box-shadow: none;
}

.dashboard-home-body .studio-shell .studio-preview-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border-bottom: 1px solid var(--dashboard-border);
  background: rgba(4, 10, 18, 0.82);
}

.dashboard-home-body .studio-shell .studio-preview-url {
  max-width: 34rem;
  margin: 0.35rem 0 0;
  overflow: hidden;
  color: var(--dashboard-text-muted);
  font-size: 0.68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-home-body .demo-content-studio .studio-shell-grid {
  grid-template-columns: minmax(0, 2.2fr) minmax(285px, 0.8fr);
}

.dashboard-home-body .demo-content-studio .demo-site-preview {
  display: grid;
  gap: 1.35rem;
  min-height: 34rem;
  padding: clamp(1.4rem, 4vw, 4rem);
  background: linear-gradient(145deg, #e9ddd0, #d5e5db 55%, #f6f0e8);
  color: #26483f;
}

.dashboard-home-body .demo-content-studio .demo-site-kicker,
.dashboard-home-body .demo-content-studio .demo-site-section .dashboard-eyebrow,
.dashboard-home-body .demo-content-studio .demo-site-service .dashboard-eyebrow {
  margin: 0;
  color: #5a756a;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.dashboard-home-body .demo-content-studio .demo-site-preview h3,
.dashboard-home-body .demo-content-studio .demo-site-preview h4,
.dashboard-home-body .demo-content-studio .demo-site-preview p {
  margin: 0;
}

.dashboard-home-body .demo-content-studio .demo-site-preview h3 {
  max-width: 38rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.2rem, 5vw, 4.5rem);
  line-height: 0.98;
}

.dashboard-home-body .demo-content-studio .demo-site-subtitle,
.dashboard-home-body .demo-content-studio .demo-site-section > p:last-child {
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.6;
}

.dashboard-home-body .demo-content-studio .demo-site-section,
.dashboard-home-body .demo-content-studio .demo-site-service {
  display: grid;
  gap: 0.65rem;
  max-width: 38rem;
  padding: 1.1rem;
  border: 1px solid rgba(38, 72, 63, 0.2);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.36);
}

.dashboard-home-body .demo-content-studio .demo-site-service h4 {
  font-size: 1.35rem;
}

.dashboard-home-body .demo-content-studio .demo-site-editable {
  border: 1px dashed transparent;
  border-radius: 6px;
  cursor: text;
  outline: none;
  transition: border-color 160ms ease, background 160ms ease;
}

.dashboard-home-body .demo-content-studio .demo-site-editable:hover,
.dashboard-home-body .demo-content-studio .demo-site-editable:focus,
.dashboard-home-body .demo-content-studio .demo-site-editable.is-selected {
  border-color: rgba(38, 72, 63, 0.7);
  background: rgba(255, 255, 255, 0.52);
}

.dashboard-home-body .demo-content-studio .demo-site-cta {
  justify-self: start;
  padding: 0.8rem 1.1rem;
  border: 1px solid #26483f;
  color: #fff;
  background: #26483f;
  font: inherit;
  font-weight: 700;
}

@media (max-width: 840px) {
  .dashboard-home-body .demo-content-studio .studio-shell-grid {
    grid-template-columns: 1fr;
  }
}

.dashboard-home-body .studio-shell .studio-device-toggle {
  display: inline-flex;
  gap: 0.35rem;
  padding: 0.25rem;
  border: 1px solid var(--dashboard-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
}

.dashboard-home-body .studio-shell .studio-device-toggle button {
  min-height: 2.2rem;
  padding: 0.45rem 0.7rem;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--dashboard-text-muted);
  font: inherit;
  font-size: 0.68rem;
  font-weight: 700;
  cursor: pointer;
}

.dashboard-home-body .studio-shell .studio-device-toggle button[aria-pressed="true"] {
  border-color: var(--dashboard-border-cyan);
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-primary);
}

.dashboard-home-body .studio-shell .client-studio-preview iframe {
  display: block;
  min-height: clamp(580px, 72vh, 860px);
  margin-inline: auto;
  border: 0;
  background: #fff;
  transition: width 180ms ease;
}

.dashboard-home-body .studio-shell .client-studio-preview > p,
.dashboard-home-body .studio-shell .client-studio-preview > form {
  margin: 0;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--dashboard-border);
}

.dashboard-home-body .studio-shell .client-studio-preview > form button,
.dashboard-home-body .studio-shell .client-studio-empty-preview form button {
  min-height: 2.5rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 10px;
  background: var(--dashboard-primary);
  color: #031117;
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
}

.dashboard-home-body .studio-shell .client-studio-empty-preview {
  min-height: clamp(420px, 62vh, 700px);
  background: rgba(2, 8, 16, 0.56);
}

.dashboard-home-body .studio-shell .client-studio-empty-preview h2 {
  color: var(--dashboard-text);
  font-size: clamp(1.25rem, 2.4vw, 1.8rem);
}

.dashboard-home-body .studio-shell .studio-editor-panel {
  display: grid;
  gap: 0.8rem;
  padding: 0.85rem;
  position: sticky;
  top: 1rem;
}

.dashboard-home-body .studio-shell .client-studio-popup-control {
  display: grid;
  gap: 0.7rem;
  padding: 0.9rem;
  border: 1px solid rgba(0, 229, 255, 0.3);
  border-radius: 14px;
  background: rgba(0, 229, 255, 0.055);
}

.dashboard-home-body .studio-shell .client-studio-popup-control h3,
.dashboard-home-body .studio-shell .client-studio-popup-control p {
  margin: 0;
}

.dashboard-home-body .studio-shell .client-studio-popup-control h3 {
  color: var(--dashboard-text);
  font-size: 0.96rem;
}

.dashboard-home-body .studio-shell .client-studio-popup-control > p:not(.dashboard-eyebrow) {
  color: var(--dashboard-text-muted);
  font-size: 0.76rem;
}

.dashboard-home-body .studio-shell .client-studio-popup-control form {
  display: grid;
  gap: 0.75rem;
}

.dashboard-home-body .studio-shell .client-studio-popup-control .client-studio-boolean-field {
  gap: 0.55rem 0.9rem;
}

.dashboard-home-body .studio-shell .client-studio-popup-control .button {
  width: 100%;
}

.dashboard-home-body .studio-shell .client-studio-editor {
  max-height: calc(100vh - 11rem);
  padding: 0;
  overflow-y: auto;
  position: static;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.dashboard-home-body .studio-shell .client-studio-editor input[type="text"],
.dashboard-home-body .studio-shell .client-studio-editor textarea {
  width: 100%;
  margin-top: 0.55rem;
  border-color: var(--dashboard-border);
  background: rgba(2, 8, 16, 0.72);
  color: var(--dashboard-text);
}

.dashboard-home-body .studio-shell .client-studio-editor input[type="text"]:focus,
.dashboard-home-body .studio-shell .client-studio-editor textarea:focus {
  border-color: var(--dashboard-primary);
  box-shadow: 0 0 0 3px rgba(0, 229, 255, 0.13);
}

.dashboard-home-body .studio-shell .client-studio-field-title {
  color: var(--dashboard-text);
  font-size: 0.92rem;
}

.dashboard-home-body .studio-shell .client-studio-save {
  display: grid;
  grid-template-columns: 1fr;
  border-color: var(--dashboard-border);
}

.dashboard-home-body .studio-shell .client-studio-save > * {
  width: 100%;
}

.dashboard-home-body .studio-shell .studio-empty-state {
  display: grid;
  justify-items: center;
  min-height: 18rem;
  padding: 1.5rem;
  text-align: center;
  place-content: center;
}

.dashboard-home-body .studio-shell .studio-empty-state > span {
  display: grid;
  place-items: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.9rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 50%;
  background: var(--dashboard-primary-soft);
  color: var(--dashboard-primary);
}

.dashboard-home-body .studio-shell .studio-empty-state h3 {
  margin: 0;
  color: var(--dashboard-text);
  font-size: 1rem;
}

.dashboard-home-body .studio-shell .studio-publication-panel {
  justify-items: stretch;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.dashboard-home-body .studio-shell .studio-publication-panel > button,
.dashboard-home-body .studio-shell .studio-publication-panel > a {
  justify-self: end;
  min-height: 2.6rem;
  padding: 0.6rem 0.9rem;
  border: 1px solid var(--dashboard-border-cyan);
  border-radius: 10px;
  background: var(--dashboard-primary);
  color: #031117;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 800;
}

.dashboard-home-body .studio-shell .studio-publication-panel > button:disabled {
  border-color: var(--dashboard-border);
  background: rgba(255, 255, 255, 0.04);
  color: var(--dashboard-text-muted);
  cursor: not-allowed;
}

.dashboard-home-body .studio-shell .studio-publication-panel .client-publication-progress {
  width: 100%;
  border-color: var(--dashboard-border);
  background: rgba(2, 8, 16, 0.58);
  color: var(--dashboard-text);
}

.dashboard-home-body .studio-shell .studio-dialog {
  border-color: rgba(201, 168, 76, 0.46);
  background: #111722;
  color: var(--dashboard-text);
}

.dashboard-home-body .studio-shell .studio-dialog::backdrop {
  background: rgba(1, 5, 12, 0.78);
  backdrop-filter: blur(5px);
}

@media (max-width: 1199px) {
  .dashboard-home-body .studio-shell .studio-shell-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-home-body .studio-shell .studio-navigation-panel {
    max-height: none;
    position: static;
  }

  .dashboard-home-body .studio-shell .studio-page-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .dashboard-home-body .studio-shell .client-studio-area {
    grid-template-columns: 1fr;
  }

  .dashboard-home-body .studio-shell .client-studio-simple-grid .client-studio-area {
    grid-template-columns: 1fr;
  }

  .dashboard-home-body .studio-shell .admin-studio-simple-grid .client-studio-area {
    grid-template-columns: 1fr;
  }

  .dashboard-home-body .studio-shell .studio-editor-panel {
    position: static;
  }

  .dashboard-home-body .studio-shell .client-studio-editor {
    max-height: none;
  }

  .dashboard-home-body .studio-shell .studio-publication-steps .publication-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-home-body .studio-shell .client-studio-preview > form button,
  .dashboard-home-body .studio-shell .client-studio-empty-preview form button,
  .dashboard-home-body .studio-shell .studio-publication-panel > button {
    min-height: 44px;
  }
}

@media (max-width: 767px) {
  .dashboard-home-body .studio-shell .studio-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .dashboard-home-body .studio-shell .client-studio-actions {
    justify-content: flex-start;
  }

  .dashboard-home-body .studio-shell .studio-publication-steps .publication-steps,
  .dashboard-home-body .studio-shell .studio-page-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-home-body .studio-shell .studio-preview-toolbar {
    flex-direction: column;
  }

  .dashboard-home-body .studio-shell .client-studio-preview iframe {
    min-height: min(62vh, 560px);
  }

  .dashboard-home-body .studio-shell .client-studio-empty-preview {
    min-height: min(22rem, 46vh);
  }
}

@media (max-width: 479px) {
  .dashboard-home-body .studio-shell .client-studio-actions,
  .dashboard-home-body .studio-shell .client-studio-actions > *,
  .dashboard-home-body .studio-shell .studio-device-toggle,
  .dashboard-home-body .studio-shell .studio-publication-panel > button,
  .dashboard-home-body .studio-shell .studio-publication-panel > a {
    width: 100%;
  }

  .dashboard-home-body .studio-shell .studio-publication-steps .publication-steps,
  .dashboard-home-body .studio-shell .studio-page-list {
    grid-template-columns: 1fr;
  }

  .dashboard-home-body .studio-shell .studio-device-toggle button {
    flex: 1;
  }

  .dashboard-home-body .studio-shell .client-studio-preview iframe {
    min-height: 420px;
  }

  .dashboard-home-body .studio-shell .studio-navigation-panel,
  .dashboard-home-body .studio-shell .studio-editor-panel,
  .dashboard-home-body .studio-shell .studio-publication-panel {
    border-radius: 16px;
  }
}
