.video-showcase.home-videos-empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 36px;
  padding-bottom: 24px;
}
.home-videos-empty h2 { margin: 0; font-size: clamp(20px, 2.3vw, 28px); color: #662c44; }
.home-videos-empty p { margin: 10px 0 0; font-size: 14px; line-height: 1.8; color: #765365; }
.home-videos-empty .primary-button { flex-shrink: 0; min-height: 44px; }
[data-home-video-count="1"] .beauty-video-track { grid-template-columns: minmax(0, 420px); }
[data-home-video-count="1"] .beauty-video-layout { max-width: 760px; margin-inline: auto; }
[data-home-video-count="2"] .beauty-video-track { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 852px; }
[data-home-video-count] .home-video { min-width: 0; }
/* Keep the full STORIES word inside its own column, including its letter spacing. */
@media (min-width: 901px) {
  .seg-home .beauty-video-layout {
    grid-template-columns: minmax(min-content, clamp(230px, 22vw, 290px)) minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  [data-home-video-count] .beauty-video-track .home-video { flex: 0 0 86%; min-width: 0; scroll-snap-align: start; }
  .video-showcase.home-videos-empty { align-items: flex-start; flex-direction: column; gap: 16px; padding-top: 28px; }
  [data-home-video-count="1"] .beauty-video-track { display: block; overflow: visible; }
  [data-home-video-count="1"] .beauty-video-track .home-video { min-width: 0; width: 100%; }
}
.beauty-video-track .home-video[data-home-video-id] .home-video-image {
  height: auto;
  aspect-ratio: 16 / 9;
}
@media (max-width: 767px) {
  .public-site .pop-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .public-site .pop-hero-copy { min-height: 0; padding: 44px 20px 28px; }
  .public-site .beauty-wordmark { top: 78px; left: 20px; font-size: 30px; }
  .public-site .quick-trust { margin-top: 20px; }
  .public-site .pop-hero-media { min-width: 0; width: 100%; min-height: 0; height: auto; aspect-ratio: 3 / 2; }
  .public-site .pop-hero-media-inner { inset: 0; }
  .public-site .pop-hero-media-inner img { object-fit: contain; object-position: center; }
}
.home-video-swipe-hint { display: none; }
/* The breathing animation replaces transform and displaces the centered circle. */
.beauty-video-track .home-video-image > span { animation: none; }
/* SEG TOP only: keep the cast's face clear; the whole card remains clickable. */
.seg-home #work .home-video-image > span {
  inset: auto auto 12px 12px;
  width: 44px;
  height: 44px;
  transform: none;
  border: 1px solid rgba(255,255,255,.9);
  background: rgba(150,53,88,.94);
  backdrop-filter: none;
  box-shadow: 0 3px 10px rgba(79,29,52,.16);
  font-size: 14px;
}
.seg-home #work .home-video:hover .home-video-image > span { transform: scale(1.04); }
@media (max-width: 767px) {
  .home-video-swipe-hint { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 8px 0 0; color: #78364f; font-size: 12px; line-height: 1.6; }
}

:root {
  --sr-rose: #d93f79;
  --sr-rose-dark: #8c284e;
  --sr-ink: #2f2230;
  --sr-line: #eadde5;
  --sr-soft: #fff8fb;
}

* { box-sizing: border-box; }
.message { position: relative; margin: 20px 0 0; padding: 14px 18px; border: 1px solid #d7c7d1; border-radius: 12px; background: #fff; color: #4b3544; font-size: 14px; }
.message.success { border-color: #aad5c4; background: #edf9f4; color: #255c49; }
.message.error { border-color: #e8aabd; background: #fff0f4; color: #862947; }
.message button { position: absolute; top: 8px; right: 9px; border: 0; background: transparent; color: inherit; cursor: pointer; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.video-filters a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border: 1px solid #ead5df; border-radius: 999px; background: #fff; color: #694556; text-decoration: none; font-size: 13px; font-weight: 700; transition: transform .2s ease, background-color .2s ease, color .2s ease; }
.video-filters a:hover { transform: translateY(-2px); }
.video-filters a:active { transform: translateY(0) scale(.98); }
.video-filters a.is-active { border-color: var(--sr-rose); background: var(--sr-rose); color: #fff; }
.video-library-heading h2 span { display: block; white-space: nowrap; }
.video-search-row { display: flex; align-items: center; justify-content: flex-start; gap: 10px; }
.video-search-row .video-result-count { margin-left: auto; }
.video-search-submit { min-height: 48px; padding: 0 22px; border: 0; border-radius: 10px; background: var(--sr-rose); color: #fff; cursor: pointer; font-weight: 750; white-space: nowrap; }
.video-search-submit:active { transform: scale(.98); }
.video-tools { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 20px; padding: 14px 0; border-top: 1px solid #ecd9e1; border-bottom: 1px solid #ecd9e1; }
.video-view-tabs { display: flex; align-items: center; gap: 4px; padding: 4px; border-radius: 12px; background: #f9edf2; }
.video-view-tabs a, .video-view-tabs button { min-height: 40px; display: inline-flex; align-items: center; gap: 7px; padding: 0 15px; border: 0; border-radius: 9px; background: transparent; color: #775263; cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.video-view-tabs .is-active { background: #fff; box-shadow: 0 7px 20px rgba(111,43,70,.1); color: #9d3159; }
.video-view-tabs span { min-width: 22px; height: 22px; display: grid; place-items: center; padding: 0 6px; border-radius: 999px; background: #f2d5df; color: #963255; font-size: 10px; font-variant-numeric: tabular-nums; }
.video-sort { display: flex; align-items: center; gap: 9px; margin: 0; }
.video-sort label { color: #8b6b79; font-size: 11px; font-weight: 750; white-space: nowrap; }
.video-sort select { min-height: 40px; padding: 0 34px 0 12px; border: 1px solid #dec8d2; border-radius: 9px; background: #fff; color: #643b4e; cursor: pointer; font: inherit; font-size: 12px; font-weight: 750; }
.video-sort button { min-height: 40px; padding: 0 14px; border: 1px solid #d9bdc9; border-radius: 9px; background: #fff; color: #743c55; cursor: pointer; font-size: 11px; font-weight: 800; }
.js .video-sort button { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.video-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 56px; }
.video-pagination a { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #ead5df; border-radius: 10px; color: #694556; text-decoration: none; font-family: ui-monospace, monospace; }
.video-pagination a.is-current { border-color: var(--sr-rose); background: var(--sr-rose); color: #fff; }
.video-empty a { display: inline-flex; margin-top: 18px; color: var(--sr-rose-dark); font-weight: 750; }

.admin-store { margin: auto 8px 0; padding-top: 28px; display: grid; gap: 6px; border-top: 1px solid rgba(255,255,255,.12); }
.admin-store small, .admin-store span { color: #b9afbd; font-size: 11px; }
.admin-store strong { font-size: 13px; }
.admin-logout { margin: 12px 8px 0; color: #d9ccd8; font-size: 12px; text-decoration: none; }
.admin-sidebar { display: flex; min-height: 100dvh; flex-direction: column; }
.admin-sidebar nav { width: 100%; }
.admin-public-page-link {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  padding: 0 13px;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 10px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 12px;
  font-weight: 750;
  text-decoration: none;
}
.admin-public-page-link:hover { border-color: rgba(255,255,255,.52); background: rgba(255,255,255,.12); }
.admin-public-page-link:focus-visible { outline: 3px solid rgba(235,101,151,.55); outline-offset: 3px; }
.admin-public-page-link:active { transform: translateY(1px); }
.admin-public-page-link + strong { margin-top: 14px; }

/* Store-bound essential information: intentionally not a page builder. */
.essential-admin-main { width: auto; min-width: 0; max-width: 1240px; }
.essential-public-link { min-height: 44px; display: inline-flex; align-items: center; padding: 0 16px; border: 1px solid #d9c5cf; border-radius: 9px; color: #7e3150; font-size: 11px; font-weight: 800; text-decoration: none; }
.essential-admin-lead { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(320px, 1.2fr); align-items: end; gap: 44px; margin: 28px 0 22px; padding: 26px 28px; border-left: 4px solid var(--sr-rose-dark); background: #fff8fb; }
.essential-admin-lead small { color: var(--sr-rose-dark); font-size: 9px; font-weight: 850; letter-spacing: .16em; }
.essential-admin-lead h2 { margin: 7px 0 0; color: #352831; font-size: clamp(24px, 2.7vw, 37px); line-height: 1.28; }
.essential-admin-lead p { margin: 0; color: #75646e; font-size: 12px; line-height: 1.9; }
.essential-admin-form { display: grid; gap: 16px; }
.essential-section { padding: 25px 28px 28px; border: 1px solid #e7dae1; border-radius: 15px; background: #fff; box-shadow: 0 9px 28px rgba(75,37,56,.045); }
.essential-section-heading { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
.essential-section-heading > span { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; border-radius: 50%; background: #f7e7ee; color: #8c284e; font: 800 10px/1 ui-monospace, monospace; }
.essential-section-heading h2 { margin: 0; color: #3b2e36; font-size: 20px; }
.essential-section-heading p { margin: 5px 0 0; color: #887680; font-size: 10px; }
.essential-fields { display: grid; gap: 17px; }
.essential-fields-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.essential-fields label { min-width: 0; display: grid; gap: 7px; color: #574650; font-size: 11px; font-weight: 800; }
.essential-fields input, .essential-fields textarea { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #d8cbd2; border-radius: 9px; background: #fdfcfd; color: #30252c; font: inherit; font-size: 13px; outline: none; }
.essential-fields textarea { resize: vertical; line-height: 1.7; }
.essential-fields input:focus, .essential-fields textarea:focus { border-color: var(--sr-rose); box-shadow: 0 0 0 3px rgba(217,63,121,.11); }
.essential-field-wide { grid-column: 1 / -1; }
.essential-save-bar { position: sticky; z-index: 4; bottom: 14px; display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 15px 18px; border: 1px solid #decbd4; border-radius: 13px; background: rgba(255,255,255,.96); box-shadow: 0 14px 38px rgba(73,35,53,.15); backdrop-filter: blur(10px); }
.essential-save-bar p { display: grid; gap: 3px; margin: 0; }
.essential-save-bar strong { color: #493943; font-size: 12px; }
.essential-save-bar span { color: #8a7882; font-size: 10px; }
.essential-save-bar button { min-height: 46px; padding: 0 22px; border: 0; border-radius: 9px; background: var(--sr-rose-dark); color: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 850; }
.recruitment-review-dates { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 0 0 14px; color: #574650; font-size: 13px; }
.recruitment-review-dates > div { display: flex; flex-wrap: wrap; gap: 6px 12px; }
.recruitment-review-dates dd { margin: 0; }
.recruitment-review-check { display: flex; align-items: center; gap: 10px; min-height: 44px; color: #493943; font-size: 14px; cursor: pointer; }
.recruitment-review-check input { flex: 0 0 20px; width: 20px; height: 20px; accent-color: var(--sr-rose-dark); }
.recruitment-review-note { margin: 8px 0 0; color: #705d68; font-size: 12px; line-height: 1.8; }

@media (max-width: 1100px) {
  .essential-admin-lead { grid-template-columns: 1fr; gap: 14px; }
}

@media (max-width: 760px) {
  .essential-admin-lead { grid-template-columns: 1fr; gap: 14px; padding: 22px 20px; }
  .essential-fields-two { grid-template-columns: 1fr; }
  .essential-field-wide { grid-column: auto; }
  .essential-section { padding: 21px 18px 24px; }
  .essential-save-bar { bottom: 8px; align-items: stretch; flex-direction: column; }
  .essential-save-bar button { width: 100%; }
}
.admin-list-head > div { display: grid; gap: 5px; }
.admin-list-head small { color: #8c7e89; font-size: 11px; }
.admin-row { grid-template-columns: 54px minmax(180px, 1fr) 72px 120px 132px; }
.admin-row > div:nth-child(2) small { color: #a07385; font-size: 10px; font-weight: 750; }
.admin-thumb { overflow: hidden; }
.admin-thumb img { width: 100%; height: 100%; object-fit: cover; }
.admin-video-edit-link { width: max-content; color: #8c284e; font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.admin-status-form { margin: 0; }
.admin-status-form select { width: 100%; min-height: 38px; padding: 0 28px 0 10px; border: 1px solid #d9d0dc; border-radius: 8px; background: #faf9fb; color: #4a3c4d; cursor: pointer; font-size: 12px; }
.admin-empty { padding: 52px 24px; text-align: center; }
.admin-empty p { margin: 8px 0 0; color: #7b6e7d; font-size: 13px; }
.upload-area { position: relative; padding: 18px; text-align: center; }
.upload-area:focus-within { outline: 3px solid rgba(217,63,121,.2); border-color: var(--sr-rose); }
.upload-area-input { width: min(100%, 300px) !important; margin-top: 8px; padding: 8px !important; background: #fff !important; cursor: pointer; font-size: 11px; }
.upload-note { margin: 10px 0 0; color: #806f79; font-size: 10px; line-height: 1.7; }
.video-delete-controls { min-width: 0; }
.video-delete-controls > small { color: #9a8d95; font-size: 9px; line-height: 1.5; }
.video-delete-request, .video-delete-confirm summary { color: #85314f; cursor: pointer; font-size: 10px; font-weight: 800; text-decoration: none; }
.video-delete-confirm { position: relative; }
.video-delete-confirm[open] form { width: min(320px, 82vw); position: absolute; z-index: 8; top: 26px; right: 0; padding: 16px; border: 1px solid #dec6d0; border-radius: 12px; background: #fff; box-shadow: 0 16px 44px rgba(76,36,55,.18); }
.video-delete-confirm p { margin: 0 0 12px; color: #6d565f; font-size: 10px; line-height: 1.6; }
.video-delete-confirm label { display: flex; align-items: center; gap: 7px; margin-top: 9px; color: #56464d; font-size: 10px; }
.video-delete-confirm label:last-of-type { display: grid; }
.video-delete-confirm input[type="checkbox"] { width: 18px; height: 18px; }
.video-delete-confirm input:not([type="checkbox"]) { width: 100%; min-height: 38px; padding: 0 10px; border: 1px solid #d6c6cc; border-radius: 8px; }
.video-delete-confirm button { width: 100%; min-height: 40px; margin-top: 12px; border: 0; border-radius: 8px; background: #8b2028; color: #fff; cursor: pointer; font-weight: 800; }

/* Store-bound video editing */
.admin-video-edit-main { width: 100%; max-width: 1320px; }
.admin-video-edit-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.admin-video-edit-heading > div:first-child { display: grid; gap: 6px; }
.admin-video-edit-heading > div:first-child > a { width: max-content; color: #765767; font-size: 11px; font-weight: 750; }
.admin-video-edit-heading p { margin: 0; color: var(--sr-rose); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.admin-video-edit-heading h1 { margin: 0; font-size: 36px; }
.admin-video-edit-heading > div:last-child { display: flex; align-items: center; gap: 10px; }
.admin-video-edit-heading .publish-state { display: inline-flex; align-items: center; }
.admin-thumbnail-regenerate { min-height: 44px; display: inline-flex; align-items: center; padding: 0 14px; border: 1px solid #ceb8c3; border-radius: 9px; background: #fff; color: #743c55; font-size: 10px; font-weight: 800; text-decoration: none; }
.admin-video-edit-form { margin-top: 24px; }
.admin-video-current { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(420px, 1.28fr); align-items: center; gap: 30px; padding: 24px; border: 1px solid #e8dce3; border-radius: 16px; background: #fff; box-shadow: 0 10px 32px rgba(76,36,55,.06); }
.admin-video-current > div { display: grid; gap: 8px; }
.admin-video-current p { margin: 0; color: #9b3b60; font-size: 10px; font-weight: 800; }
.admin-video-current h2 { margin: 0; color: #382b33; font-size: 22px; line-height: 1.4; }
.admin-video-current span { color: #806f79; font-size: 11px; line-height: 1.7; }
.admin-video-current video, .admin-video-current img { width: 100%; aspect-ratio: 16 / 9; display: block; border-radius: 12px; background: #2d242a; object-fit: cover; }
.admin-video-current .admin-bunny-player {
  display: block;
  border: 0;
  border-radius: 12px;
  width: min(100%, calc(65svh * var(--video-ratio)));
  height: auto;
  aspect-ratio: var(--video-ratio);
  justify-self: center;
  background: #2d242a;
}
.admin-video-edit-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; margin-top: 18px; }
.admin-video-edit-section { min-width: 0; padding: 24px; border: 1px solid #e8dce3; border-radius: 16px; background: #fff; }
.admin-video-section-heading { margin-bottom: 20px; }
.admin-video-section-heading h2 { margin: 0; color: #3c2f37; font-size: 20px; }
.admin-video-section-heading p { margin: 6px 0 0; color: #84727c; font-size: 11px; line-height: 1.7; }
.admin-thumbnail-spec { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: -2px 0 18px; padding: 12px; border: 1px solid #ead7e0; border-radius: 11px; background: #fff8fb; }
.admin-thumbnail-spec > div { display: grid; gap: 2px; padding: 10px 12px; border-radius: 8px; background: #fff; }
.admin-thumbnail-spec span { color: #94717f; font-size: 9px; font-weight: 800; }
.admin-thumbnail-spec strong { color: #8f2f55; font-size: 16px; line-height: 1.35; }
.admin-thumbnail-spec p { grid-column: 1 / -1; margin: 2px 2px 0; color: #75636c; font-size: 10px; line-height: 1.7; }
.admin-video-edit-section > label { display: grid; gap: 7px; margin-top: 16px; color: #574650; font-size: 12px; font-weight: 800; }
.admin-video-edit-section > label:first-of-type { margin-top: 0; }
.admin-video-edit-section input:not([type="radio"]), .admin-video-edit-section select, .admin-video-edit-section textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #d9cbd2; border-radius: 9px; background: #fff; color: #352a31; font: inherit; }
.admin-video-edit-section textarea { min-height: 126px; resize: vertical; }
.admin-video-edit-section label small { color: #8a7982; font-size: 10px; font-weight: 500; line-height: 1.6; }
.video-thumbnail-choices { min-width: 0; margin: 0; padding: 0; border: 0; }
.video-thumbnail-choices legend { margin-bottom: 10px; color: #574650; font-size: 12px; font-weight: 800; }
.video-thumbnail-choices > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.video-thumbnail-choices label { min-width: 0; position: relative; display: grid; gap: 7px; padding: 6px; border: 1px solid #ddcbd4; border-radius: 10px; color: #71485a; cursor: pointer; font-size: 10px; font-weight: 800; }
.video-thumbnail-choices input { position: absolute; top: 10px; left: 10px; width: 20px; height: 20px; accent-color: var(--sr-rose); }
.video-thumbnail-choices img { width: 100%; height: auto; aspect-ratio: 16 / 9; display: block; border-radius: 6px; object-fit: cover; }
.video-thumbnail-choices label:has(input:checked) { border-color: var(--sr-rose); box-shadow: 0 0 0 2px rgba(217,63,121,.15); }
.video-thumbnail-choices label:focus-within { outline: 3px solid rgba(217,63,121,.22); outline-offset: 2px; }
.admin-thumbnail-upload { padding-top: 17px; border-top: 1px solid #f0e5ea; }
.admin-video-empty-note { margin: 0; padding: 14px; border-radius: 9px; background: #faf4f7; color: #806a75; font-size: 11px; line-height: 1.7; }
.admin-video-replace { grid-column: 1 / -1; }
.admin-video-replace .upload-area { margin-top: 0; }
.admin-video-replacement-preview[hidden] { display: none; }
.admin-video-replacement-preview { margin-top: 16px; display: grid; gap: 10px; padding: 16px; border: 1px solid #d9c7d0; border-radius: 12px; background: #fff9fb; }
.admin-video-replacement-preview strong { color: #573746; font-size: 12px; }
.admin-video-replacement-preview video { width: min(100%, 720px); aspect-ratio: 16 / 9; display: block; border-radius: 10px; background: #2d242a; }
.admin-video-replacement-preview button { width: max-content; min-height: 44px; padding: 0 14px; border: 1px solid #c7b8bf; border-radius: 8px; background: #fff; color: #5d4e55; cursor: pointer; font-weight: 750; }
.admin-video-edit-actions { position: sticky; bottom: 0; z-index: 5; margin: 18px -8px 0; display: flex; justify-content: flex-end; gap: 10px; padding: 14px; border: 1px solid #e1d5db; border-radius: 14px; background: rgba(255,255,255,.96); box-shadow: 0 -10px 28px rgba(65,39,52,.08); }
.admin-video-edit-actions a, .admin-video-edit-actions button { min-width: 150px; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; font: inherit; font-size: 12px; font-weight: 800; text-decoration: none; }
.admin-video-edit-actions a { border: 1px solid #d4c7cd; background: #fff; color: #67535d; }
.admin-video-edit-actions button { border: 1px solid var(--sr-rose-dark); background: var(--sr-rose-dark); color: #fff; cursor: pointer; }
.admin-video-edit-actions button:disabled { cursor: wait; opacity: .7; }
.admin-video-edit-section input:focus-visible, .admin-video-edit-section select:focus-visible, .admin-video-edit-section textarea:focus-visible, .admin-thumbnail-regenerate:focus-visible, .admin-video-edit-actions a:focus-visible, .admin-video-edit-actions button:focus-visible { outline: 3px solid rgba(217,63,121,.24); outline-offset: 2px; }
.admin-video-delete-zone { margin-top: 22px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); gap: 24px; align-items: start; padding: 22px; border: 1px solid #e6cbd2; border-radius: 14px; background: #fffafb; }
.admin-video-delete-zone small { color: #9a5367; font-size: 9px; font-weight: 850; letter-spacing: .12em; }
.admin-video-delete-zone h2 { margin: 5px 0 7px; color: #70253a; font-size: 18px; }
.admin-video-delete-zone p { margin: 0; color: #725e66; font-size: 10px; line-height: 1.75; }
.admin-video-delete-step, .admin-video-delete-confirm { min-width: 0; display: grid; gap: 11px; padding: 15px; border: 1px solid #ead8dd; border-radius: 11px; background: #fff; }
.admin-video-delete-confirm label { display: grid; gap: 7px; color: #57464e; font-size: 10px; font-weight: 750; }
.admin-video-delete-confirm label:first-of-type { grid-template-columns: 20px minmax(0, 1fr); align-items: center; }
.admin-video-delete-confirm input[type="checkbox"] { width: 20px; height: 20px; accent-color: #8b2028; }
.admin-video-delete-confirm input:not([type="checkbox"]) { width: 100%; min-height: 44px; padding: 0 11px; border: 1px solid #d9c5cb; border-radius: 8px; background: #fff; color: #352a31; }
.admin-video-delete-step button, .admin-video-delete-confirm button { min-height: 46px; padding: 0 16px; border: 1px solid #8b2028; border-radius: 9px; background: #fff; color: #8b2028; cursor: pointer; font: inherit; font-size: 11px; font-weight: 850; }
.admin-video-delete-confirm button { background: #8b2028; color: #fff; }
.admin-video-delete-step button:focus-visible, .admin-video-delete-confirm button:focus-visible, .admin-video-delete-confirm input:focus-visible { outline: 3px solid rgba(139,32,40,.22); outline-offset: 2px; }

/* Store-bound anonymous consultation management */
.consultation-admin-main, .consultation-detail-main { width: 100%; max-width: 1280px; }
.consultation-total { padding: 9px 14px; border: 1px solid #ded5df; border-radius: 999px; background: #fff; color: #6d5a68; font-size: 11px; font-weight: 750; }
.consultation-admin-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 30px 0 18px; }
.consultation-admin-stats a { min-height: 128px; display: grid; grid-template-columns: 1fr auto; align-items: start; gap: 8px 16px; padding: 22px; border: 1px solid #e5dde4; border-radius: 16px; background: #fff; color: #463942; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.consultation-admin-stats a:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(73,43,59,.08); }
.consultation-admin-stats span { color: #745d6b; font-size: 11px; font-weight: 800; }
.consultation-admin-stats strong { grid-row: 1 / 3; grid-column: 2; color: #8d294f; font-family: Georgia, serif; font-size: 38px; font-weight: 500; line-height: 1; }
.consultation-admin-stats small { color: #9a8993; font-size: 10px; }
.consultation-application-setting { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 18px; padding: 17px 20px; border: 1px solid #e5d7de; border-radius: 14px; background: #fff; }
.consultation-application-setting strong { color: #5f3245; font-size: 13px; }
.consultation-application-setting p { margin: 4px 0 0; color: #86727d; font-size: 10px; }
.consultation-application-setting form { margin: 0; }
.consultation-application-setting button { min-height: 40px; padding: 0 15px; border: 1px solid #d8b6c3; border-radius: 9px; background: #fff; color: #7e3450; cursor: pointer; font: inherit; font-size: 10px; font-weight: 800; white-space: nowrap; }
.consultation-application-setting button.is-enabled { border-color: #c44872; background: #fff0f5; color: #9b2e55; }
.consultation-admin-panel { overflow: hidden; border: 1px solid #e5dde4; border-radius: 17px; background: #fff; }
.consultation-admin-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 24px; padding: 22px 24px; border-bottom: 1px solid #ece6eb; }
.consultation-admin-toolbar h2 { margin: 0; font-size: 20px; }
.consultation-admin-toolbar p { margin: 6px 0 0; color: #897983; font-size: 11px; }
.consultation-admin-tools { display: flex; align-items: flex-end; gap: 8px; }
.consultation-admin-filter { display: flex; gap: 8px; margin: 0; }
.consultation-admin-filter select, .consultation-admin-filter input { min-height: 40px; padding: 0 12px; border: 1px solid #dcd2d9; border-radius: 9px; background: #fbfafb; color: #463a42; font: inherit; font-size: 11px; }
.consultation-admin-filter input { width: 210px; }
.consultation-admin-filter button { min-height: 40px; padding: 0 16px; border: 0; border-radius: 9px; background: #772744; color: #fff; cursor: pointer; font-size: 11px; font-weight: 800; }
.consultation-bulk-mode-button { min-height: 40px; padding: 0 14px; border: 1px solid #c8c2c5; border-radius: 9px; background: #f4f2f3; color: #544c50; cursor: pointer; font: inherit; font-size: 10px; font-weight: 800; white-space: nowrap; }
.consultation-bulk-mode-button:hover { border-color: #999094; background: #eae7e8; color: #322d30; }
.consultation-bulk-bar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 24px; border-bottom: 1px solid #d9c8cf; background: #f6f2f4; }
.consultation-bulk-bar[hidden] { display: none; }
.consultation-bulk-bar > div:first-child { display: grid; gap: 3px; }
.consultation-bulk-bar strong { color: #40373b; font-size: 12px; }
.consultation-bulk-bar small { color: #786d72; font-size: 9px; }
.consultation-bulk-bar > div:last-child { display: flex; align-items: center; gap: 7px; }
.consultation-bulk-bar button { min-height: 38px; padding: 0 11px; border: 1px solid #c8c2c5; border-radius: 8px; background: #fff; color: #544c50; cursor: pointer; font: inherit; font-size: 9px; font-weight: 800; white-space: nowrap; }
.consultation-bulk-bar button:hover { border-color: #999094; background: #eae7e8; color: #322d30; }
.consultation-bulk-bar button.is-danger { border-color: #8b2028; background: #8b2028; color: #fff; }
.consultation-bulk-bar button.is-danger:hover { border-color: #741820; background: #741820; color: #fff; }
.consultation-bulk-bar button:disabled { border-color: #d5cfd2; background: #e5e1e3; color: #91888c; cursor: not-allowed; }
.consultation-admin-list { display: grid; }
.consultation-admin-row-wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; border-bottom: 1px solid #eee9ed; transition: background-color .2s ease; }
.consultation-admin-row-wrap:last-child { border-bottom: 0; }
.consultation-admin-row-wrap:hover { background: #fff9fb; }
.consultation-row-select { display: none; min-height: 100%; place-items: center; cursor: pointer; }
.consultation-row-select input { width: 20px; height: 20px; margin: 0; accent-color: #5e5559; cursor: pointer; }
.consultation-admin-list.is-bulk-selecting .consultation-admin-row-wrap { grid-template-columns: 52px minmax(0, 1fr); }
.consultation-admin-list.is-bulk-selecting .consultation-row-select { display: grid; }
.consultation-admin-list.is-bulk-selecting .consultation-row-delete { display: none; }
.consultation-admin-list.is-bulk-selecting .consultation-admin-row { padding-left: 4px; cursor: pointer; }
.consultation-admin-row-wrap.is-selected { background: #f0edef; box-shadow: inset 4px 0 0 #5e5559; }
.consultation-admin-row { display: grid; grid-template-columns: 82px minmax(220px, 1fr) auto 24px; align-items: center; gap: 18px; min-height: 92px; padding: 18px 14px 18px 22px; color: #453741; text-decoration: none; }
.consultation-row-delete { min-width: 54px; min-height: 40px; margin-right: 18px; border: 1px solid #c8c2c5; border-radius: 9px; background: #f4f2f3; color: #544c50; cursor: pointer; font: inherit; font-size: 10px; font-weight: 800; }
.consultation-row-delete:hover { border-color: #999094; background: #eae7e8; color: #322d30; }
.consultation-row-delete:focus-visible { outline: 3px solid rgba(84,76,80,.2); outline-offset: 2px; }
.consultation-row-delete:active { transform: scale(.98); }
.consultation-state { min-height: 30px; display: inline-grid; place-items: center; padding: 0 10px; border-radius: 999px; background: #f1edf0; color: #6e6169; font-size: 10px; font-weight: 850; white-space: nowrap; }
.consultation-state.is-new, .consultation-state.is-waiting_admin { background: #fff0f4; color: #a32653; }
.consultation-state.is-waiting_visitor { background: #edf7f4; color: #276b58; }
.consultation-state.is-closed { background: #efedef; color: #746b71; }
.consultation-row-main { min-width: 0; }
.consultation-row-main strong { display: flex; align-items: baseline; gap: 10px; }
.consultation-row-main strong small { color: #8c7d86; font-size: 10px; font-weight: 600; }
.consultation-row-main strong em { padding: 4px 7px; border-radius: 6px; background: #fff0f5; color: #a32e57; font-size: 9px; font-style: normal; font-weight: 850; }
.consultation-row-main p { margin: 8px 0 0; overflow: hidden; color: #715f69; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.consultation-row-meta { display: grid; justify-items: end; gap: 5px; color: #756771; font-size: 10px; }
.consultation-row-meta small { color: #a0959c; font-family: ui-monospace, monospace; }
.consultation-row-arrow { color: #b06a84; font-size: 25px; }
.consultation-detail-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.consultation-detail-heading a { display: inline-block; margin-bottom: 28px; color: #83516a; font-size: 11px; }
.consultation-detail-heading p { margin: 0 0 6px; color: #a64a70; font-size: 9px; letter-spacing: .14em; }
.consultation-detail-heading h1 { margin: 0; font-size: clamp(24px, 3vw, 36px); }
.consultation-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 18px; }
.consultation-thread-admin { overflow: hidden; border: 1px solid #e5dde4; border-radius: 17px; background: #fff; }
.consultation-thread-head { display: flex; align-items: end; justify-content: space-between; padding: 22px 24px; border-bottom: 1px solid #eee8ed; }
.consultation-thread-head small, .consultation-detail-side section > small { color: #b0446c; font-family: Georgia, serif; font-size: 8px; letter-spacing: .18em; }
.consultation-thread-head h2 { margin: 5px 0 0; font-size: 20px; }
.consultation-thread-head > span { color: #887985; font-size: 10px; }
.consultation-thread-live-meta { display: grid; justify-items: end; gap: 4px; color: #887985; font-size: 10px; }
.consultation-thread-live-meta small { color: #b0446c; font-family: inherit; font-size: 8px; font-weight: 750; letter-spacing: 0; }
.consultation-thread-messages { display: grid; align-content: start; gap: 14px; height: min(68dvh, 660px); min-height: 420px; overflow-y: auto; overscroll-behavior: contain; padding: 24px; background: #faf7f9; scrollbar-gutter: stable; }
.consultation-message-admin { width: min(88%, 620px); padding: 15px 17px; border: 1px solid #e4dce1; border-radius: 5px 16px 16px 16px; background: #fff; }
.consultation-message-admin.is-admin { justify-self: end; border-color: #ead0db; border-radius: 16px 5px 16px 16px; background: #fff1f6; }
.consultation-message-admin.is-system { width: min(94%, 680px); justify-self: center; border-color: #dfc1cd; border-radius: 13px; background: #fff8fb; }
.consultation-message-admin.is-restriction-notice { border-color: #b9d7c5; background: #f4faf6; }
.consultation-message-admin.is-restriction-notice strong { color: #355e48; }
.consultation-page .consultation-message.is-restriction-notice > p { border-color: #b9d7c5; background: #f4faf6; color: #304b3c; }
.consultation-page .consultation-message.is-restriction-notice > div strong { color: #355e48; }
.consultation-message-admin > div { display: flex; justify-content: space-between; gap: 16px; }
.consultation-message-admin strong { color: #7a3552; font-size: 10px; }
.consultation-message-admin time { color: #a0939b; font-size: 9px; }
.consultation-message-admin p { margin: 10px 0 0; color: #493d44; font-size: 13px; line-height: 1.8; white-space: pre-wrap; }
.consultation-message-url { color: #973657; text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.consultation-message-url:hover, .consultation-message-url:focus-visible { color: #622139; }
.consultation-message-image { display: block; width: min(100%, 420px); margin-top: 12px; overflow: hidden; border: 1px solid #ead7df; border-radius: 12px; background: #f3edf0; }
.consultation-message-image img { display: block; width: 100%; max-height: 520px; object-fit: contain; }
.consultation-reply-form { display: grid; gap: 9px; padding: 22px 24px; border-top: 1px solid #ebe4e9; }
.consultation-reply-form label { color: #594650; font-size: 11px; font-weight: 800; }
.consultation-reply-form textarea { width: 100%; padding: 14px; resize: vertical; border: 1px solid #d9ced5; border-radius: 11px; color: #362b32; font: inherit; font-size: 13px; line-height: 1.8; outline: none; }
.consultation-reply-form textarea:focus { border-color: #d94379; box-shadow: 0 0 0 3px rgba(217,67,121,.1); }
.consultation-reply-form > div { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.consultation-reply-form small { color: #978892; font-size: 9px; }
.consultation-image-picker { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 7px 12px; padding: 12px; border: 1px dashed #d9bdc8; border-radius: 10px; background: #fff9fb; }
.consultation-image-picker span { color: #7c3b55; font-size: 10px; font-weight: 850; }
.consultation-image-picker input { min-width: 0; color: #6e5d66; font-size: 10px; }
.consultation-image-picker small { grid-column: 1 / -1; line-height: 1.6; }
.consultation-reply-form button, .consultation-status-actions button { min-height: 44px; padding: 0 18px; border: 0; border-radius: 9px; background: #d94379; color: #fff; cursor: pointer; font-size: 11px; font-weight: 850; }
.consultation-reply-form button:disabled { cursor: wait; opacity: .68; }
.consultation-reply-status { margin: 2px 0 0; padding: 10px 12px; border: 1px solid #d9eedf; border-radius: 9px; background: #f4fbf6; color: #28633b; font-size: 11px; font-weight: 700; line-height: 1.6; }
.consultation-reply-status.is-error { border-color: #efc9d5; background: #fff3f7; color: #9d3156; }
.consultation-history-control { position: sticky; top: -1px; z-index: 2; display: grid; justify-items: center; gap: 5px; padding: 6px 0 10px; background: linear-gradient(#faf7f9 72%, rgba(250,247,249,0)); }
.consultation-history-control button, .consultation-new-messages { min-height: 40px; padding: 0 15px; border: 1px solid #d8afbf; border-radius: 10px; background: #fff; color: #823451; cursor: pointer; font: inherit; font-size: 10px; font-weight: 800; }
.consultation-history-control button:focus-visible, .consultation-new-messages:focus-visible { outline: 3px solid rgba(189,60,104,.24); outline-offset: 2px; }
.consultation-history-control button:disabled, .consultation-new-messages:disabled { cursor: wait; opacity: .66; }
.consultation-history-control span { min-height: 14px; color: #89747f; font-size: 9px; }
.consultation-new-messages { position: relative; z-index: 3; display: block; width: fit-content; margin: -56px auto 12px; border-color: #bd3c68; background: #bd3c68; color: #fff; box-shadow: 0 10px 28px rgba(119,39,69,.2); }
.consultation-new-messages[hidden], .consultation-history-control[hidden] { display: none; }
.consultation-closed-note { margin: 22px; padding: 18px; border-radius: 12px; background: #f2eef1; color: #62565e; text-align: center; }
.consultation-closed-note p { margin: 7px 0 0; font-size: 11px; }
.consultation-detail-side { display: grid; gap: 12px; }
.consultation-detail-side section { padding: 20px; border: 1px solid #e5dde4; border-radius: 15px; background: #fff; }
.consultation-detail-side h2 { margin: 8px 0 14px; font-size: 16px; }
.consultation-detail-side p { margin: -4px 0 12px; color: #756872; font-size: 11px; line-height: 1.7; }
.consultation-detail-side dl { display: grid; gap: 0; margin: 0; }
.consultation-detail-side dl div { display: grid; grid-template-columns: 70px 1fr; gap: 9px; padding: 10px 0; border-top: 1px solid #eee8ec; font-size: 10px; }
.consultation-detail-side dt { color: #94858e; }
.consultation-detail-side dd { margin: 0; color: #4d4048; line-height: 1.6; }
.consultation-email { display: block; overflow-wrap: anywhere; color: #6f5362; font-size: 10px; }
.consultation-visitor-preview-card label { display: block; margin-bottom: 6px; color: #78616c; font-size: 9px; font-weight: 800; }
.consultation-visitor-preview-url { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.consultation-visitor-preview-url input { width: 100%; min-width: 0; min-height: 40px; padding: 0 9px; border: 1px solid #d9c7ce; border-radius: 8px; background: #fffafb; color: #68515c; font: inherit; font-size: 9px; }
.consultation-visitor-preview-url button { min-height: 40px; padding: 0 10px; border: 1px solid #d5adbc; border-radius: 8px; background: #fff; color: #853451; cursor: pointer; font: inherit; font-size: 9px; font-weight: 850; }
.consultation-visitor-preview-card > span { display: block; min-height: 15px; margin-top: 5px; color: #8c707c; font-size: 9px; }
.consultation-visitor-preview-link { min-height: 44px; display: grid; place-items: center; padding: 8px 12px; border-radius: 9px; background: #bd3c68; color: #fff; font-size: 10px; font-weight: 850; line-height: 1.5; text-align: center; text-decoration: none; }
.consultation-detail-side .consultation-visitor-preview-note { margin: 10px 0 0; color: #927c86; font-size: 9px; }
.consultation-status-actions { margin: 0; }
#consultation-restriction summary { min-height: 44px; padding: 12px 0; cursor: pointer; }
#consultation-restriction form { display: grid; gap: 12px; }
#consultation-restriction select { display: block; width: 100%; min-height: 44px; font: inherit; font-size: 13px; }
#consultation-restriction label { display: block; min-height: 44px; }
.consultation-reply-form[hidden], .consultation-application[hidden], .consultation-appointment[hidden], [data-consultation-restriction-notice][hidden] { display: none; }
.consultation-status-actions button { width: 100%; background: #776b73; }
.consultation-status-actions button.is-close { background: #776b73; }
.consultation-detail-side .consultation-danger-zone { border-color: #ead0d6; background: #fffafb; }
.consultation-detail-side .consultation-application-admin { border-color: #ddb9c7; background: #fff9fb; }
.consultation-detail-side .consultation-appointment-admin { border-color: #ddb9c7; background: #fff9fb; }
.consultation-application-admin .application-admin-intent { margin: -6px 0 14px; padding: 9px 10px; border-radius: 8px; background: #fff0f5; color: #85344f; font-weight: 750; }
.application-consultation-note, .application-private-error { margin: 0; padding: 11px; border-radius: 8px; background: #fff7e9; color: #765827; font-size: 9px; line-height: 1.7; }
.application-private-error { background: #fff0f3; color: #8e304e; }
.consultation-detail-side .application-private-details { display: grid; gap: 0; margin: 0; padding: 0; border: 1px solid #ead7de; border-radius: 9px; background: #fff; }
.consultation-detail-side .application-private-details div { display: grid; grid-template-columns: 72px 1fr; gap: 8px; padding: 9px 10px; border-bottom: 1px solid #f0e5e9; }
.consultation-detail-side .application-private-details div:last-child { border-bottom: 0; }
.consultation-detail-side .application-private-details dt { color: #8b7180; font-size: 8px; font-weight: 800; }
.consultation-detail-side .application-private-details dd { min-width: 0; overflow-wrap: anywhere; color: #49363f; font-size: 10px; font-weight: 750; }
.application-schedule-form { display: grid; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #ead8df; }
.application-schedule-form label { color: #6f5361; font-size: 9px; font-weight: 800; }
.application-schedule-form input, .application-schedule-form select { width: 100%; min-height: 42px; padding: 0 9px; border: 1px solid #d7c6cd; border-radius: 8px; background: #fff; color: #493840; font: inherit; font-size: 11px; }
.application-schedule-form button, .application-stage-actions button { min-height: 42px; border: 0; border-radius: 8px; background: #bd3c68; color: #fff; cursor: pointer; font: inherit; font-size: 10px; font-weight: 850; }
.application-stage-actions { display: grid; gap: 7px; margin-top: 8px; }
.application-stage-actions button.is-muted { background: #776b73; }
.appointment-confirm-form { display: grid; gap: 8px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #ead8df; }
.appointment-confirm-form fieldset { display: grid; gap: 6px; margin: 0 0 6px; padding: 0; border: 0; }
.appointment-confirm-form legend, .appointment-confirm-form > label { color: #6f5361; font-size: 9px; font-weight: 800; }
.appointment-confirm-form fieldset label { min-height: 40px; display: flex; align-items: center; gap: 8px; padding: 8px; border: 1px solid #e1ccd4; border-radius: 8px; color: #5e4650; font-size: 9px; }
.appointment-confirm-form input[type="radio"] { width: 17px; height: 17px; accent-color: #bd3c68; }
.appointment-confirm-form input[type="datetime-local"], .appointment-confirm-form select { width: 100%; min-height: 42px; padding: 0 9px; border: 1px solid #d7c6cd; border-radius: 8px; background: #fff; color: #493840; font: inherit; font-size: 11px; }
.appointment-confirm-form button, .appointment-admin-actions button { min-height: 42px; border: 0; border-radius: 8px; background: #bd3c68; color: #fff; cursor: pointer; font: inherit; font-size: 10px; font-weight: 850; }
.appointment-purpose-badge { display: inline-flex; min-height: 28px; align-items: center; margin-top: 10px; padding: 5px 9px; border: 1px solid #d9b8c5; border-radius: 999px; background: #fff; color: #82324f; font-size: 9px; font-weight: 850; }
.appointment-admin-waiting, .appointment-proposal-intro { margin: 12px 0; padding: 11px; border-radius: 9px; background: #fff6e8; color: #674f28; }
.appointment-proposal-intro { background: #fff0f5; color: #713248; }
.appointment-admin-waiting strong, .appointment-proposal-intro strong { display: block; font-size: 10px; }
.consultation-detail-side .appointment-admin-waiting p, .consultation-detail-side .appointment-proposal-intro p { margin: 4px 0 0; color: inherit; font-size: 9px; }
.appointment-admin-candidates { display: grid; gap: 6px; margin: 10px 0 14px; padding: 0; list-style: none; }
.appointment-admin-candidates li { display: grid; grid-template-columns: 54px 1fr; gap: 7px; padding: 9px; border: 1px solid #ead7de; border-radius: 8px; background: #fff; }
.appointment-admin-candidates span { color: #9c4966; font-size: 8px; font-weight: 850; }
.appointment-admin-candidates time { color: #503b44; font-size: 10px; font-weight: 800; }
.appointment-proposal-form { display: grid; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #ead8df; }
.appointment-proposal-form fieldset { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; }
.appointment-proposal-form legend, .appointment-proposal-form > label { margin-bottom: 2px; color: #6f5361; font-size: 9px; font-weight: 800; }
.appointment-proposal-form select { width: 100%; min-height: 44px; padding: 0 9px; border: 1px solid #d7c6cd; border-radius: 8px; background: #fff; color: #493840; font: inherit; font-size: 11px; }
.appointment-proposal-form > button { min-height: 44px; border: 0; border-radius: 8px; background: #bd3c68; color: #fff; cursor: pointer; font: inherit; font-size: 10px; font-weight: 850; }
.appointment-reproposal { margin-top: 12px; border-top: 1px solid #ead8df; padding-top: 12px; }
.appointment-reproposal > summary { min-height: 44px; display: grid; place-items: center; border: 1px solid #d6b6c2; border-radius: 8px; background: #fff; color: #7f3550; cursor: pointer; font-size: 9px; font-weight: 850; list-style: none; }
.appointment-reproposal > summary::-webkit-details-marker { display: none; }
.appointment-admin-actions { display: grid; gap: 7px; margin-top: 12px; }
.confirmed-datetime-field { display: grid; gap: 7px; }
.confirmed-datetime-label { color: #6f5361; font-size: 9px; font-weight: 800; }
.confirmed-datetime-editor { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.confirmed-datetime-editor[hidden], .confirmed-datetime-value[hidden], .confirmed-datetime-error[hidden] { display: none; }
.confirmed-datetime-editor input { min-width: 0; }
.confirmed-datetime-editor button { padding-inline: 11px; white-space: nowrap; }
.confirmed-datetime-field.is-enhanced .confirmed-datetime-editor { grid-template-columns: 1fr; }
.confirmed-datetime-field.is-enhanced [data-datetime-input] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.confirmed-datetime-field.is-enhanced [data-datetime-open] { width: 100%; }
.confirmed-datetime-value { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 9px 8px 12px; border: 1px solid #c9dcd5; border-radius: 9px; background: #f2f8f6; }
.confirmed-datetime-value strong { color: #315f51; font-size: 10px; line-height: 1.5; }
.confirmed-datetime-value button { min-height: 34px; padding: 0 9px; border: 1px solid #b9ccc6; border-radius: 7px; background: #fff; color: #41695d; font: inherit; font-size: 9px; font-weight: 800; white-space: nowrap; }
.confirmed-datetime-error { color: #9c293d; font-size: 9px; font-weight: 750; line-height: 1.6; }
.confirmed-datetime-field.is-error .confirmed-datetime-editor input { border-color: #b72b42; outline: 3px solid rgba(183,43,66,.12); }
.datetime-calendar-dialog { width: min(430px, calc(100% - 28px)); max-height: min(720px, calc(100dvh - 28px)); padding: 0; overflow: auto; border: 1px solid #dfcbd3; border-radius: 16px; background: #fffafb; color: #46343c; box-shadow: 0 24px 80px rgba(83,37,54,.25); }
.datetime-calendar-dialog::backdrop { background: rgba(37,20,28,.48); backdrop-filter: blur(3px); }
.datetime-calendar-shell { display: grid; gap: 15px; padding: 20px; }
.datetime-calendar-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.datetime-calendar-heading small { display: block; margin-bottom: 3px; color: #a35470; font-size: 10px; font-weight: 850; }
.datetime-calendar-heading h2 { margin: 0; color: #5a2639; font-size: 19px; line-height: 1.35; }
.datetime-calendar-heading button { min-height: 36px; padding: 0 12px; border: 1px solid #d9c5cd; border-radius: 8px; background: #fff; color: #674b56; cursor: pointer; font: inherit; font-size: 10px; font-weight: 800; }
.datetime-calendar-month { display: grid; grid-template-columns: 80px 1fr 80px; align-items: center; gap: 8px; }
.datetime-calendar-month strong { text-align: center; color: #552b3a; font-size: 14px; }
.datetime-calendar-month button { min-height: 38px; border: 1px solid #dcc8d0; border-radius: 8px; background: #fff; color: #714b5a; cursor: pointer; font: inherit; font-size: 9px; font-weight: 800; }
.datetime-calendar-month button:disabled { cursor: default; opacity: .35; }
.datetime-calendar-weekdays, .datetime-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.datetime-calendar-weekdays span { padding-block: 3px; color: #8b6d78; text-align: center; font-size: 9px; font-weight: 800; }
.datetime-calendar-days button, .datetime-calendar-days .is-empty { aspect-ratio: 1; min-width: 0; }
.datetime-calendar-days button { border: 1px solid transparent; border-radius: 9px; background: #fff; color: #4f3b43; cursor: pointer; font: inherit; font-size: 11px; font-weight: 750; }
.datetime-calendar-days button:hover:not(:disabled) { border-color: #dca8ba; background: #fff1f5; }
.datetime-calendar-days button.is-today { border-color: #d5b3bf; }
.datetime-calendar-days button.is-selected { border-color: #8b2147; background: #8b2147; color: #fff; }
.datetime-calendar-days button:disabled { background: transparent; color: #cdbfc4; cursor: default; }
.datetime-calendar-time { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 14px; padding: 13px 14px; border-radius: 10px; background: #f8edf1; }
.datetime-calendar-time span { color: #654452; font-size: 11px; font-weight: 850; }
.datetime-calendar-time input, .datetime-calendar-time select { width: 100%; min-height: 44px; padding: 0 11px; border: 1px solid #d2b7c1; border-radius: 8px; background: #fff; color: #432f37; font: inherit; font-size: 16px; }
.datetime-calendar-error { margin: 0; padding: 10px 12px; border-radius: 8px; background: #fff0f2; color: #92283d; font-size: 10px; font-weight: 800; line-height: 1.6; }
.datetime-calendar-error[hidden] { display: none; }
.datetime-calendar-actions { display: grid; grid-template-columns: 1fr 1.65fr; gap: 9px; }
.datetime-calendar-actions button { min-height: 50px; border: 1px solid #d4bec7; border-radius: 10px; background: #fff; color: #684b56; cursor: pointer; font: inherit; font-size: 11px; font-weight: 850; }
.datetime-calendar-actions [data-calendar-confirm] { border-color: #8b2147; background: #8b2147; color: #fff; }
.datetime-calendar-actions button:active, .datetime-calendar-days button:active:not(:disabled) { transform: translateY(1px); }
.appointment-admin-actions { display: grid; gap: 7px; }
.consultation-danger-zone h2 { color: #7d2942; }
.consultation-delete-dialog { width: min(480px, calc(100% - 32px)); padding: 0; overflow: hidden; border: 1px solid #e1cbd2; border-radius: 16px; background: #fff; color: #44343c; box-shadow: 0 28px 90px rgba(72,31,46,.24); }
.consultation-delete-dialog::backdrop { background: rgba(43,28,36,.58); backdrop-filter: blur(3px); }
.consultation-delete-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 22px 24px 18px; border-bottom: 1px solid #eee3e7; }
.consultation-delete-dialog-head small { color: #8b2028; font-size: 9px; font-weight: 850; }
.consultation-delete-dialog-head h2 { margin: 5px 0 0; color: #652d40; font-size: 20px; }
.consultation-delete-dialog-head > button { min-height: 36px; padding: 0 11px; border: 1px solid #c8c2c5; border-radius: 8px; background: #f4f2f3; color: #544c50; cursor: pointer; font: inherit; font-size: 10px; font-weight: 750; }
.consultation-delete-dialog-head > button:hover { border-color: #999094; background: #eae7e8; color: #322d30; }
.consultation-delete-dialog-head > button:focus-visible { outline: 3px solid rgba(84,76,80,.2); outline-offset: 2px; }
.consultation-delete-dialog > p { margin: 18px 24px 0; color: #65545c; font-size: 11px; line-height: 1.75; }
.consultation-delete-dialog .consultation-delete-dialog-warning { margin-top: 8px; color: #8b2028; font-weight: 750; }
.consultation-list-delete-form { margin: 18px 24px 24px; }
.consultation-bulk-delete-targets { max-height: 152px; display: grid; gap: 5px; margin: 14px 24px 0; overflow-y: auto; }
.consultation-bulk-delete-targets span { padding: 7px 9px; border-radius: 7px; background: #f5f2f3; color: #574a50; font-size: 9px; font-weight: 700; }
.consultation-danger-zone details { margin-top: 14px; }
.consultation-danger-zone summary { min-height: 40px; display: grid; place-items: center; padding: 0 12px; border: 1px solid #d8b5bf; border-radius: 9px; color: #85324b; cursor: pointer; font-size: 10px; font-weight: 850; list-style: none; }
.consultation-danger-zone summary::-webkit-details-marker { display: none; }
.consultation-delete-form { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #ecdce1; }
.consultation-delete-form label { color: #664d56; font-size: 9px; font-weight: 750; line-height: 1.6; }
.consultation-delete-form label:first-child { display: flex; align-items: flex-start; gap: 7px; }
.consultation-delete-form input[type="checkbox"] { width: 17px; height: 17px; flex: 0 0 auto; margin: 0; accent-color: #8b2028; }
.consultation-delete-form input[type="text"] { width: 100%; min-height: 40px; padding: 0 11px; border: 1px solid #d9bdc5; border-radius: 8px; background: #fff; color: #3d3035; font: inherit; font-size: 11px; }
.consultation-delete-form input[type="text"]:focus { border-color: #8b2028; outline: 3px solid rgba(139,32,40,.14); outline-offset: 1px; }
.consultation-delete-form button { min-height: 42px; border: 0; border-radius: 9px; background: #8b2028; color: #fff; cursor: pointer; font-size: 10px; font-weight: 850; }
.consultation-delete-form button:not(:disabled):hover { background: #741820; }
.consultation-delete-form button:focus-visible { outline: 3px solid rgba(139,32,40,.24); outline-offset: 2px; }
.consultation-delete-form button:disabled { background: #d5c8cc; color: #8e7e83; cursor: not-allowed; }

.login-page { margin: 0; background: #f8f2f6; color: var(--sr-ink); font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; }
.login-shell { min-height: 100dvh; display: grid; grid-template-columns: minmax(420px, 1.08fr) minmax(420px, .92fr); }
.login-brand { position: relative; min-height: 100dvh; overflow: hidden; background: linear-gradient(145deg, #fff8fb 0%, #f7dde8 100%); }
.login-brand::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.9), transparent 24%), linear-gradient(115deg, transparent 45%, rgba(217,63,121,.1)); }
.login-brand-copy { position: relative; z-index: 2; width: min(620px, 88%); padding: clamp(48px, 8vw, 105px) 0 0 clamp(36px, 7vw, 100px); }
.login-brand-copy > span { display: block; color: #8d2d53; font-family: Georgia, "Yu Mincho", serif; font-size: clamp(24px, 2.8vw, 40px); letter-spacing: .12em; }
.login-brand-copy small { display: block; margin-top: 4px; color: #bd6687; font-size: 10px; font-weight: 700; letter-spacing: .3em; }
.login-brand-copy h1 { margin: clamp(38px, 7vh, 74px) 0 20px; color: #54283b; font-family: Georgia, "Yu Mincho", serif; font-size: clamp(48px, 5vw, 70px); font-weight: 500; line-height: 1.08; letter-spacing: -.05em; }
.login-brand-copy p { max-width: 30em; margin: 0; color: #795d6b; line-height: 1.9; }
.login-brand img { position: absolute; z-index: 1; left: clamp(36px, 7vw, 100px); right: clamp(36px, 6vw, 86px); bottom: clamp(28px, 4.5vh, 54px); width: auto; height: clamp(180px, 36vh, 340px); max-height: none; border: 1px solid rgba(141,45,83,.14); border-radius: 18px; object-fit: cover; object-position: center 44%; opacity: .94; box-shadow: 0 24px 54px rgba(83,37,58,.16); }
.login-form-wrap { min-height: 100dvh; display: grid; place-items: center; padding: 40px; background: #fff; }
.login-form-card { width: min(100%, 430px); }
.login-wordmark { display: inline-flex; align-items: baseline; gap: 10px; color: #8d2d53; text-decoration: none; font-family: Georgia, "Yu Mincho", serif; font-size: 20px; letter-spacing: .08em; }
.login-wordmark small { color: #bd6687; font-family: inherit; font-size: 8px; letter-spacing: .22em; }
.login-form-card h2 { margin: 48px 0 10px; font-size: 30px; letter-spacing: -.03em; }
.login-form-card > p { margin: 0 0 30px; color: #756a72; font-size: 14px; line-height: 1.7; }
.login-form { display: grid; }
.login-form label { margin: 20px 0 8px; color: #493b45; font-size: 12px; font-weight: 750; }
.login-form .input { margin: 0; }
.login-form input { width: 100%; height: 52px; padding: 0 15px; border: 1px solid #d9ccd4; border-radius: 10px; background: #fcfafb; color: #30232c; font-size: 16px; outline: none; }
.login-form input::placeholder { color: #81727c; }
.login-form input:focus { border-color: var(--sr-rose); box-shadow: 0 0 0 3px rgba(217,63,121,.13); }
.login-submit { min-height: 52px; margin-top: 28px; border: 0; border-radius: 10px; background: var(--sr-rose); color: #fff; cursor: pointer; font-size: 15px; font-weight: 800; }
.login-submit:active { transform: scale(.98); }
.login-back { display: inline-block; margin-top: 24px; color: #755265; font-size: 12px; }

@media (prefers-reduced-motion: reduce) {
  .video-filters a { transition: none; }
  .video-library.is-loading .video-grid,
  .video-library.is-loading .video-pagination,
  .video-library.is-loading .video-empty { transition: none; }
}

@media (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .video-filters a { border-color: #654c5a; background: #251c22; color: #f1dfe7; }
  :where(:root:not([data-public-theme="light"])) .video-filters a.is-active { border-color: #dc628f; background: #dc628f; color: #25121a; }
  :where(:root:not([data-public-theme="light"])) .video-tools { border-color: #59404c; }
  :where(:root:not([data-public-theme="light"])) .video-view-tabs { background: #2d2027; }
  :where(:root:not([data-public-theme="light"])) .video-view-tabs a, :where(:root:not([data-public-theme="light"])) .video-view-tabs button { color: #d7bdc9; }
  :where(:root:not([data-public-theme="light"])) .video-view-tabs .is-active { background: #49303c; color: #ffdce9; }
  :where(:root:not([data-public-theme="light"])) .video-view-tabs span { background: #5d3445; color: #ffdce9; }
  :where(:root:not([data-public-theme="light"])) .video-sort label { color: #c8adb9; }
  :where(:root:not([data-public-theme="light"])) .video-sort select, :where(:root:not([data-public-theme="light"])) .video-sort button { border-color: #654453; background: #251c22; color: #f1dfe7; }
  :where(:root:not([data-public-theme="light"])) .video-library-status { border-color: #654453; background: rgba(37,28,34,.96); color: #ffdce9; }
  :where(:root:not([data-public-theme="light"])) .admin-status-form select { border-color: #4e4052; background: #171319; color: #f4edf3; }
}

@media (max-width: 900px) {
  .login-shell { grid-template-columns: 1fr; }
  .login-brand { display: none; }
  .login-form-wrap { padding: 28px 20px; }
  .admin-sidebar { min-height: 0; flex-direction: row; align-items: center; padding: 12px 16px; }
  .admin-sidebar > strong { margin: 0; white-space: nowrap; }
  .admin-store { margin: 0 0 0 auto; padding: 0 12px 0 0; border: 0; }
  .admin-store small, .admin-store span, .admin-sidebar .admin-back-link { display: none; }
  .admin-sidebar .admin-logout { width: auto; margin: 0; padding: 8px 0; white-space: nowrap; }
  .consultation-detail-grid { grid-template-columns: 1fr; }
  .consultation-detail-side { grid-template-columns: repeat(3, 1fr); }
}

@media (max-height: 720px) and (min-width: 901px) {
  .login-brand-copy { padding-top: 38px; }
  .login-brand-copy h1 { margin-top: 24px; font-size: 44px; }
  .login-brand img { bottom: 24px; height: 28vh; }
}

@media (max-width: 767px) {
  .admin-shell { max-width: 100%; overflow-x: clip; }
  .consultation-admin-main, .consultation-detail-main { min-width: 0; }
  .video-library-heading h2 span { white-space: normal; }
  .video-search-row { align-items: stretch; flex-wrap: wrap; }
  .video-search { flex: 1 1 calc(100% - 86px); }
  .video-search-submit { flex: 0 0 76px; padding: 0 12px; }
  .video-search-row .video-result-count { width: 100%; margin-left: 0; }
  .video-tools { align-items: stretch; flex-direction: column; gap: 12px; }
  .video-view-tabs { display: grid; grid-template-columns: 1fr 1fr; }
  .video-view-tabs a, .video-view-tabs button { justify-content: center; padding: 0 10px; }
  .video-sort { justify-content: flex-end; }
  .admin-row { grid-template-columns: 46px minmax(0, 1fr) 90px; }
  .admin-row > .publish-state { display: none; }
  .admin-status-form { grid-column: 3; }
  .video-delete-controls { grid-column: 2 / -1; }
  .admin-video-edit-main { padding: 26px 16px 96px; }
  .admin-video-edit-heading { align-items: stretch; flex-direction: column; gap: 16px; }
  .admin-video-edit-heading h1 { font-size: 28px; }
  .admin-video-edit-heading > div:last-child { justify-content: space-between; }
  .admin-video-current { grid-template-columns: 1fr; gap: 18px; padding: 18px; }
  .admin-video-current h2 { font-size: 19px; }
  .admin-video-edit-grid { grid-template-columns: 1fr; }
  .admin-video-edit-section { padding: 18px; }
  .admin-thumbnail-spec { grid-template-columns: 1fr 1fr; }
  .admin-thumbnail-spec > div { padding: 9px 10px; }
  .admin-thumbnail-spec strong { font-size: 14px; }
  .admin-video-replace { grid-column: auto; }
  .video-thumbnail-choices > div { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .video-thumbnail-choices label { align-content: start; min-height: 88px; gap: 6px; padding: 5px; text-align: center; }
  .video-thumbnail-choices input { top: 8px; left: 8px; z-index: 1; width: 18px; height: 18px; }
  .video-thumbnail-choices span { min-height: 28px; display: grid; place-items: center; line-height: 1.35; }
  .admin-video-edit-actions { left: 0; right: 0; bottom: 0; margin: 18px 0 0; padding: 10px 0 calc(10px + env(safe-area-inset-bottom)); border-right: 0; border-bottom: 0; border-left: 0; border-radius: 0; }
  .admin-video-edit-actions a, .admin-video-edit-actions button { min-width: 0; flex: 1; }
  .admin-video-delete-zone { grid-template-columns: 1fr; gap: 16px; margin-top: 16px; padding: 18px; }
  .admin-store strong { max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .consultation-total { display: none; }
  .consultation-admin-stats { grid-template-columns: 1fr; }
  .consultation-admin-stats a { min-height: 94px; }
  .consultation-admin-toolbar { align-items: stretch; flex-direction: column; }
  .consultation-admin-tools { align-items: stretch; flex-direction: column; }
  .consultation-admin-filter { display: grid; grid-template-columns: 1fr 1fr; }
  .consultation-admin-filter input { width: 100%; }
  .consultation-admin-filter button { grid-column: 1 / -1; }
  .consultation-bulk-mode-button { width: 100%; }
  .consultation-bulk-bar { align-items: stretch; flex-direction: column; padding: 14px 16px; }
  .consultation-bulk-bar > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
  .consultation-bulk-bar button { min-height: 44px; white-space: normal; }
  .consultation-bulk-bar button.is-danger { grid-column: 1 / -1; grid-row: 1; }
  .consultation-admin-row-wrap { grid-template-columns: minmax(0, 1fr) 48px; }
  .consultation-admin-list.is-bulk-selecting .consultation-admin-row-wrap { grid-template-columns: 44px minmax(0, 1fr); }
  .consultation-admin-row { grid-template-columns: 72px minmax(0, 1fr) 18px; gap: 12px; padding: 16px 8px 16px 16px; }
  .consultation-admin-list.is-bulk-selecting .consultation-admin-row { padding-left: 0; }
  .consultation-row-delete { min-width: 44px; margin-right: 4px; padding: 0 6px; }
  .consultation-row-meta { grid-column: 2; grid-row: 2; justify-items: start; }
  .consultation-row-arrow { grid-column: 3; grid-row: 1 / 3; }
  .consultation-detail-heading { align-items: start; }
  .consultation-detail-heading a { margin-bottom: 18px; }
  .consultation-detail-side { grid-template-columns: 1fr; }
  .consultation-thread-messages { height: min(60dvh, 580px); min-height: 360px; padding: 16px; }
  .consultation-message-admin { width: 94%; }
  .consultation-reply-form { padding: 18px 16px; }
  .consultation-reply-form > div { align-items: stretch; flex-direction: column; }
  .consultation-reply-form button { width: 100%; }
}

/* Conversion path: sticky navigation, guided answers, mobile contact actions */
.public-site { overflow-x: clip; }
.public-site .site-header {
  position: sticky;
  inset: auto;
  top: 0;
  z-index: 80;
  height: 76px;
  border-bottom: 1px solid rgba(205, 149, 170, .32);
  background: rgba(255, 250, 251, .92);
  box-shadow: 0 8px 30px rgba(102, 35, 62, .07);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}
.public-site .pop-hero { padding-top: 0; }
.public-site .video-page-hero, .public-site .video-detail { padding-top: 58px; }
.quick-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.guide-chat-escalation {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 22px 0 0 38px;
  padding-top: 17px;
  border-top: 1px solid #efd7e0;
}
.guide-chat-escalation p {
  grid-column: 1 / -1;
  margin: 0 0 2px;
  color: #8f6575;
  font-size: 10px;
  font-weight: 750;
}
.guide-chat-escalation a {
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 8px 10px;
  border: 1px solid #dfb9c8;
  border-radius: 10px;
  background: #fff;
  color: #782d4a;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
}
.guide-chat-escalation .guide-chat-escalation-primary {
  border-color: #c83f70;
  background: #c83f70;
  color: #fff;
}

.mobile-contact-bar { display: none; }

@media (prefers-reduced-transparency: reduce) {
  .public-site .site-header { background: #fffafb; backdrop-filter: none; -webkit-backdrop-filter: none; }
}

@media (max-width: 900px) {
  .public-site .site-header { position: sticky; height: 64px; }
  .public-site .pop-hero { padding-top: 0; }
  .public-site .video-page-hero, .public-site .video-detail { padding-top: 36px; }
}

@media (max-width: 767px) {
  .public-site { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .site-footer { padding-bottom: calc(50px + env(safe-area-inset-bottom)); }
  .site-header > .header-cta { display: none; }
  .quick-trust { grid-template-columns: 1fr; }
  .quick-trust > div { min-height: 82px; border-right: 0; border-bottom: 1px solid var(--line); }
  .quick-trust > div:last-child { border-bottom: 0; }

  .mobile-contact-bar {
    position: fixed;
    z-index: 88;
    right: 0;
    bottom: 0;
    left: 0;
    min-height: calc(74px + env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, .95fr) 74px;
    gap: 5px;
    padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(188, 104, 136, .24);
    background: rgba(255, 250, 252, .96);
    box-shadow: 0 -12px 34px rgba(86, 29, 52, .13);
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
  }
  .mobile-contact-bar a {
    min-width: 0;
    min-height: 52px;
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: 6px;
    padding: 6px 7px;
    border-radius: 12px;
  }
  .mobile-contact-bar a > span:last-child { min-width: 0; display: grid; gap: 1px; }
  .mobile-contact-bar small { overflow: hidden; font-size: 7px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-contact-bar strong { overflow: hidden; font-size: 10px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-contact-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; font-size: 14px; }
  .mobile-contact-phone { grid-template-columns: 28px minmax(0, 1fr) !important; justify-items: center; gap: 3px !important; padding-inline: 5px !important; border: 1px solid #dfbdca; background: #fff; color: #733048; }
  .mobile-contact-phone > span:last-child { display: block; text-align: center; line-height: 1; }
  .mobile-contact-phone strong { display: block; font-size: 9px; }
  .mobile-contact-phone .mobile-contact-icon { background: #fff0f5; color: #c84372; }
  .mobile-contact-phone small { color: #9c6f80; }
  .mobile-contact-primary { border: 1px solid #bd3968; background: linear-gradient(135deg, #df5b89, #b92f5c); color: #fff; box-shadow: inset 0 1px rgba(255,255,255,.32); }
  .mobile-contact-primary .mobile-contact-icon { background: rgba(255,255,255,.17); }
  .mobile-contact-primary small { color: #ffe2ec; }
  .mobile-contact-anonymous strong { font-size: 11px; }
  .mobile-contact-line { border: 1px solid #d9aebe; background: #fff; color: #732d48; }
  .mobile-contact-line .mobile-contact-icon { background: #f3e4ea; color: #8d3153; font-size: 7px; font-weight: 900; }
  .mobile-contact-line small { color: #9b7080; }

  .guide-chat { right: 10px; bottom: calc(86px + env(safe-area-inset-bottom)); }
  .guide-chat-launcher,
  .video-page + .guide-chat .guide-chat-launcher {
    width: 144px;
    min-width: 144px;
  }
  .guide-chat-panel {
    inset: auto 8px calc(78px + env(safe-area-inset-bottom));
    height: min(70dvh, 610px);
  }
  .guide-chat-escalation { margin-left: 36px; grid-template-columns: 1fr; }
  .guide-chat-escalation p { grid-column: auto; }
}

@media (prefers-reduced-transparency: reduce) and (max-width: 767px) {
  .mobile-contact-bar { background: #fffafb; backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* Guided recruitment chat */
.guide-chat { --chat-rose: #d94379; --chat-wine: #68223f; position: fixed; z-index: 90; right: clamp(16px, 2.4vw, 36px); bottom: clamp(16px, 2.4vw, 30px); font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; }
body.consultation-form-open .guide-chat { visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(12px); }
.guide-chat-launcher { position: relative; min-width: 218px; min-height: 68px; display: grid; grid-template-columns: 44px 1fr 24px; align-items: center; gap: 11px; padding: 9px 14px 9px 10px; overflow: hidden; border: 1px solid rgba(255,255,255,.76); border-radius: 17px; background: linear-gradient(112deg, #fff 0 55%, #fff1f6 100%); box-shadow: 0 18px 45px rgba(91,28,55,.2), 0 3px 10px rgba(91,28,55,.08); color: var(--chat-wine); cursor: pointer; text-align: left; }
.guide-chat-launcher::after { content: ""; position: absolute; width: 82px; height: 82px; right: -42px; top: -45px; border: 18px solid rgba(230,109,152,.11); border-radius: 50%; }
.guide-chat-mark, .guide-chat-avatar, .guide-chat-intro > span, .guide-chat-answer > span { display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: linear-gradient(145deg, #f06c9d, #b82e62); box-shadow: inset 0 0 0 1px rgba(255,255,255,.4); color: #fff; font-family: Georgia, serif; letter-spacing: .04em; }
.guide-chat-mark { width: 44px; height: 44px; font-size: 12px; }
.guide-chat-launcher > span:nth-child(2) { display: grid; gap: 2px; }
.guide-chat-launcher small { color: #a16b80; font-size: 9px; font-weight: 700; letter-spacing: .06em; }
.guide-chat-launcher strong { font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 16px; letter-spacing: .04em; }
.guide-chat-launcher > i { position: relative; z-index: 1; color: #e55a8b; font-size: 20px; font-style: normal; }
.guide-chat-panel { position: absolute; right: 0; bottom: 0; width: min(390px, calc(100vw - 32px)); height: min(620px, calc(100dvh - 32px)); display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; border: 1px solid #f3d8e2; border-radius: 24px; background: #fffafd; box-shadow: 0 32px 90px rgba(81,24,50,.28); transform-origin: 90% 100%; }
.guide-chat-header { position: relative; display: grid; grid-template-columns: 47px 1fr 38px; align-items: center; gap: 12px; min-height: 88px; padding: 14px 16px; overflow: hidden; background: linear-gradient(120deg, #6a233f, #9b315b 72%, #c34774); color: #fff; }
.guide-chat-header::after { content: "♡"; position: absolute; right: 47px; top: -23px; color: rgba(255,255,255,.06); font-family: Georgia, serif; font-size: 92px; }
.guide-chat-avatar { width: 47px; height: 47px; background: rgba(255,255,255,.14); font-size: 12px; }
.guide-chat-header > div:nth-child(2) { position: relative; z-index: 1; display: grid; gap: 2px; }
.guide-chat-header small { color: #f4cad9; font-family: Georgia, serif; font-size: 8px; letter-spacing: .18em; }
.guide-chat-header strong { font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 17px; letter-spacing: .08em; }
.guide-chat-header span { color: #f8dce6; font-size: 9px; }
.guide-chat-header span i { display: inline-block; width: 6px; height: 6px; margin-right: 2px; border-radius: 50%; background: #9be7bd; box-shadow: 0 0 0 3px rgba(155,231,189,.12); }
.guide-chat-header button { position: relative; z-index: 1; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; font-size: 22px; font-weight: 300; }
.guide-chat-body { overflow-y: auto; padding: 24px 18px 20px; background: linear-gradient(#fffafd, #fff 68%); scrollbar-width: thin; scrollbar-color: #efc9d8 transparent; }
.guide-chat-intro, .guide-chat-answer { display: flex; align-items: flex-start; gap: 9px; }
.guide-chat-intro > span, .guide-chat-answer > span { width: 29px; height: 29px; margin-top: 4px; font-size: 8px; }
.guide-chat-intro p, .guide-chat-answer > div { max-width: calc(100% - 43px); margin: 0; padding: 13px 15px; border: 1px solid #f2dce5; border-radius: 4px 17px 17px 17px; background: #fff; box-shadow: 0 6px 22px rgba(106,35,63,.06); color: #593b48; font-size: 13px; line-height: 1.75; }
.guide-chat-search { display: grid; gap: 7px; margin: 19px 0 0 38px; padding-bottom: 18px; border-bottom: 1px solid #f0dce4; }
.guide-chat-search label { color: #762a48; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 13px; font-weight: 700; }
.guide-chat-search > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px; }
.guide-chat-search input { min-width: 0; min-height: 46px; padding: 9px 11px; border: 1px solid #e5c8d4; border-radius: 11px; background: #fff; color: #593b48; font: inherit; font-size: 12px; outline: none; }
.guide-chat-search input:focus { border-color: #d94379; box-shadow: 0 0 0 3px rgba(217,67,121,.12); }
.guide-chat-search input[aria-invalid="true"] { border-color: #a3314b; }
.guide-chat-search button { min-height: 46px; padding: 0 13px; border: 0; border-radius: 11px; background: #8c2e53; color: #fff; cursor: pointer; font-size: 11px; font-weight: 800; }
.guide-chat-search > small { color: #a77c8c; font-size: 9px; line-height: 1.55; }
.guide-chat-search-result { display: grid; gap: 10px; margin: 18px 0 0 38px; padding: 17px; border: 1px solid #ebcbd7; border-radius: 15px; background: #fff; box-shadow: 0 8px 28px rgba(106,35,63,.07); color: #593b48; }
.guide-chat-search-result[hidden] { display: none; }
.guide-chat-search-result > * { margin: 0; }
.guide-chat-search-result h3 { color: #672741; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 17px; line-height: 1.55; }
.guide-chat-search-result > p { font-size: 12px; line-height: 1.75; }
.guide-search-source { color: #bd3d6c; font-size: 9px; font-weight: 800; letter-spacing: .09em; }
.guide-search-status { color: #9b7181; font-size: 10px !important; font-weight: 700; }
.guide-search-source-link, .guide-search-consult { min-height: 44px; display: flex; align-items: center; justify-content: center; padding: 9px 12px; border: 0; border-radius: 10px; background: linear-gradient(100deg, #d94379, #ee719e); color: #fff; cursor: pointer; font-size: 11px; font-weight: 800; text-align: center; text-decoration: none; }
.guide-search-consult-secondary { border: 1px solid #dca6ba; background: #fff6f9; color: #85304f; }
.guide-search-related { display: grid; gap: 7px; padding-top: 4px; }
.guide-search-related small { color: #a77c8c; font-size: 9px; font-weight: 700; }
.guide-search-related button { min-height: 44px; padding: 9px 11px; border: 1px solid #ead1db; border-radius: 9px; background: #fffafd; color: #672741; cursor: pointer; font-size: 11px; font-weight: 700; text-align: left; }
.is-guide-target { outline: 3px solid rgba(217,67,121,.34); outline-offset: 5px; transition: outline-color .35s ease; }
.guide-chat-search-result .guide-chat-reset { width: 100%; margin-top: 0; }
.guide-chat-choices { display: grid; gap: 8px; margin: 22px 0 0 38px; }
.guide-chat-choices > small { margin: 0 0 3px 4px; color: #a77c8c; font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.guide-chat-choices > button { width: 100%; min-height: 47px; display: grid; grid-template-columns: 1fr 22px; align-items: center; gap: 8px; padding: 10px 10px 10px 15px; border: 1px solid #ebcbd7; border-radius: 13px; background: rgba(255,255,255,.9); color: #672741; cursor: pointer; font-size: 12px; font-weight: 700; text-align: left; }
.guide-chat-choices > button i { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: #fff0f5; color: #d94379; font-size: 17px; font-style: normal; }
.guide-chat-categories { display: grid; gap: 9px; margin: 22px 0 0 38px; }
.guide-chat-categories > small { margin: 0 0 3px 4px; color: #a77c8c; font-size: 9px; font-weight: 700; letter-spacing: .1em; }
.guide-chat-categories > button { width: 100%; min-height: 58px; display: grid; grid-template-columns: 1fr 24px; align-items: center; gap: 10px; padding: 10px 11px 10px 15px; border: 1px solid #ebcbd7; border-radius: 13px; background: linear-gradient(105deg, #fff, #fff8fb); color: #672741; cursor: pointer; text-align: left; }
.guide-chat-categories > button > span { display: grid; gap: 3px; }
.guide-chat-categories > button strong { font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 13px; letter-spacing: .02em; }
.guide-chat-categories > button small { color: #9b7181; font-size: 9px; }
.guide-chat-categories > button i { display: grid; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #fff0f5; color: #d94379; font-size: 17px; font-style: normal; }
.guide-chat-question-group { margin-top: 19px; }
.guide-chat-question-group > p { margin: 13px 0 0 38px; color: #762a48; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 15px; font-weight: 700; }
.guide-chat-question-group .guide-chat-choices { margin-top: 11px; }
.guide-chat-back { display: inline-flex; align-items: center; gap: 5px; margin-left: 38px; padding: 0; border: 0; background: transparent; color: #9b667b; cursor: pointer; font-size: 10px; font-weight: 700; }
.guide-chat-back span { font-size: 18px; line-height: 1; }
.guide-chat-user { display: flex; justify-content: flex-end; margin: 18px 0 16px; }
.guide-chat-user p { max-width: 86%; margin: 0; padding: 11px 14px; border-radius: 16px 4px 16px 16px; background: #8c2e53; color: #fff; font-size: 12px; line-height: 1.55; }
.guide-chat-answer p { margin: 0; }
.guide-chat-answer a { min-height: 43px; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; padding: 0 13px; border-radius: 10px; background: linear-gradient(100deg, #d94379, #ee719e); color: #fff; text-decoration: none; font-size: 11px; font-weight: 800; }
.guide-chat-answer a i { font-size: 17px; font-style: normal; }
.guide-chat-reset { min-height: 40px; display: block; margin: 18px auto 0; padding: 0 18px; border: 1px solid #e5c8d4; border-radius: 999px; background: #fff; color: #85304f; cursor: pointer; font-size: 11px; font-weight: 750; }
.guide-chat-footer { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 43px; padding: 8px 14px; border-top: 1px solid #f0dce4; background: #fff; color: #a27888; font-size: 9px; line-height: 1.45; text-align: center; }
.guide-chat-footer span { color: #db4c80; }
.guide-chat :focus-visible { outline: 3px solid rgba(217,67,121,.28); outline-offset: 2px; }

/* Editable chat content in the shared admin */
.admin-sidebar nav a { width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 13px; border-radius: 10px; color: #bbb2c0; text-decoration: none; font-size: 13px; }
.admin-sidebar nav a.is-current { background: #3a2e41; color: #fff; }
.admin-heading-actions { display: flex; align-items: center; gap: 10px; }
.admin-secondary-action { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid #d8c8d0; border-radius: 999px; background: #fff; color: #743c55; font-size: 11px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.admin-secondary-action:hover { border-color: #b77e95; background: #fff8fb; color: #743c55; }

/* Store-bound video category management */
.video-category-admin-main { width: 100%; max-width: 1180px; }
.video-category-admin-main .admin-heading > div:first-child { display: grid; gap: 5px; }
.video-category-admin-main .admin-heading > div:first-child > span { color: #806f79; font-size: 11px; }
.video-category-guide { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(320px, 1.15fr); gap: 28px; align-items: center; margin-top: 28px; padding: 24px; border: 1px solid #e7d8df; border-radius: 16px; background: #fff; }
.video-category-guide small { color: var(--sr-rose); font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.video-category-guide h2 { margin: 5px 0 0; color: #513643; font-size: 20px; line-height: 1.45; }
.video-category-guide p { margin: 0; color: #806d77; font-size: 11px; line-height: 1.8; }
.video-category-create { margin-top: 18px; overflow: hidden; border: 1px solid #e6d8df; border-radius: 16px; background: #fff; }
.video-category-create > summary { min-height: 78px; display: flex; align-items: center; gap: 14px; padding: 18px 22px; cursor: pointer; list-style: none; }
.video-category-create > summary::-webkit-details-marker { display: none; }
.video-category-create > summary > span { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #fff0f5; color: var(--sr-rose); font-size: 20px; }
.video-category-create > summary > div { display: grid; gap: 4px; }
.video-category-create > summary strong { color: #533845; font-size: 14px; }
.video-category-create > summary small { color: #8d7b84; font-size: 10px; }
.video-category-create > summary i { margin-left: auto; color: #9a6d80; font-style: normal; transition: transform .2s ease; }
.video-category-create[open] > summary i { transform: rotate(180deg); }
.video-category-form { display: grid; grid-template-columns: minmax(220px, 1fr) 150px minmax(190px, auto) auto; gap: 14px; align-items: end; margin: 0; padding: 0 22px 22px; border-top: 1px solid #f0e7eb; }
.video-category-form > label { display: grid; gap: 7px; margin-top: 18px; color: #604b55; font-size: 10px; font-weight: 800; }
.video-category-form input:not([type="checkbox"]), .video-category-edit-form input { width: 100%; min-height: 44px; padding: 0 11px; border: 1px solid #d8c9d0; border-radius: 9px; background: #fff; color: #382b32; font: inherit; }
.video-category-form label small { color: #95828b; font-size: 9px; font-weight: 500; }
.video-category-form .video-category-check { min-height: 44px; display: flex; flex-direction: row; align-items: center; gap: 9px; margin: 18px 0 0; padding: 0 12px; border: 1px solid #ead8e0; border-radius: 9px; background: #fff8fb; }
.video-category-check input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--sr-rose); }
.video-category-form > button, .video-category-save { min-height: 44px; padding: 0 16px; border: 0; border-radius: 9px; background: var(--sr-rose-dark); color: #fff; cursor: pointer; font: inherit; font-size: 10px; font-weight: 850; white-space: nowrap; }
.video-category-list { margin-top: 18px; overflow: hidden; border: 1px solid #e6d8df; border-radius: 16px; background: #fff; }
.video-category-list-heading { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 22px; border-bottom: 1px solid #eee4e9; }
.video-category-list-heading h2 { margin: 0; color: #4d3742; font-size: 18px; }
.video-category-list-heading p { margin: 5px 0 0; color: #8b7881; font-size: 10px; }
.video-category-list-heading > span { padding: 7px 11px; border-radius: 999px; background: #fff0f5; color: #8e3153; font-size: 10px; font-weight: 800; }
.video-category-reorder-form { display: none; }
.video-category-sort-status { padding: 10px 22px; border-bottom: 1px solid #f0e8ec; background: #fffafb; color: #806d77; font-size: 9px; }
.video-category-sort-status.is-saving { color: #8a5369; }
.video-category-sort-status.is-success { color: #2c6d58; }
.video-category-sort-status.is-error { color: #a3314b; }
.video-category-drag-help { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.video-category-row { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 14px 22px 14px 12px; border-bottom: 1px solid #f0e8ec; transition: box-shadow .16s ease, opacity .16s ease, transform .16s ease; }
.video-category-row:last-child { border-bottom: 0; }
.video-category-row.is-inactive { background: #faf8f9; }
.video-category-row.is-dragging { z-index: 2; opacity: .78; background: #fff7fa; box-shadow: 0 12px 30px rgba(91,38,61,.16); transform: scale(.995); }
.video-category-table[aria-busy="true"] { opacity: .72; }
.video-category-drag-handle { width: 44px; min-height: 52px; display: grid; place-items: center; gap: 1px; padding: 5px; border: 1px solid #e1d3da; border-radius: 10px; background: #fff; color: #8b5369; cursor: grab; touch-action: none; }
.video-category-drag-handle:active { cursor: grabbing; }
.video-category-drag-handle > span { font-size: 20px; line-height: 1; }
.video-category-drag-handle > small { color: #9b8791; font-size: 8px; font-weight: 800; }
.video-category-edit-form { display: grid; grid-template-columns: minmax(210px, 1fr) 110px 150px auto; gap: 12px; align-items: end; margin: 0; }
.video-category-edit-form > label { display: grid; gap: 6px; color: #76616b; font-size: 9px; font-weight: 800; }
.video-category-meta { min-height: 44px; display: grid; grid-template-columns: auto auto; align-content: center; column-gap: 8px; }
.video-category-meta strong { color: #573746; font-size: 13px; }
.video-category-meta small { grid-column: 1 / -1; color: #928089; font-size: 8px; }
.video-category-state { align-self: center; padding: 4px 7px; border-radius: 999px; background: #e5f5ee; color: #2c6d58; font-size: 8px; font-weight: 850; }
.video-category-state.is-inactive { background: #eee9ec; color: #766b70; }
.video-category-toggle-form { margin: 0; }
.video-category-toggle-form button { min-height: 40px; padding: 0 12px; border: 1px solid #d9c5ce; border-radius: 8px; background: #fff; color: #7c4057; cursor: pointer; font: inherit; font-size: 9px; font-weight: 800; white-space: nowrap; }
.video-category-row.is-inactive .video-category-toggle-form button { border-color: #b9d6ca; color: #2e6855; }
.video-category-form input:focus-visible, .video-category-form button:focus-visible, .video-category-edit-form input:focus-visible, .video-category-edit-form button:focus-visible, .video-category-toggle-form button:focus-visible, .video-category-drag-handle:focus-visible, .admin-secondary-action:focus-visible { outline: 3px solid rgba(217,63,121,.23); outline-offset: 2px; }

@media (max-width: 960px) {
  .video-category-form { grid-template-columns: minmax(220px, 1fr) 130px; }
  .video-category-form .video-category-check { margin-top: 0; }
  .video-category-edit-form { grid-template-columns: minmax(180px, 1fr) 100px 135px; }
  .video-category-save { grid-column: 1 / -1; width: max-content; }
}

@media (max-width: 767px) {
  .admin-heading:has(.admin-heading-actions) { align-items: flex-start; flex-wrap: wrap; }
  .admin-heading-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
  .admin-secondary-action { min-height: 42px; padding: 0 11px; }
  .admin-heading-actions .admin-add { justify-content: center; }
  .video-category-admin-main .admin-heading { align-items: flex-start; }
  .video-category-admin-main .admin-heading > div:first-child > span { display: none; }
  .video-category-guide { grid-template-columns: 1fr; gap: 12px; margin-top: 20px; padding: 18px; }
  .video-category-guide h2 { font-size: 17px; }
  .video-category-create > summary { min-height: 70px; padding: 15px 16px; }
  .video-category-form { grid-template-columns: 1fr; padding: 0 16px 18px; }
  .video-category-form > label, .video-category-form .video-category-check { margin-top: 14px; }
  .video-category-form > button { width: 100%; }
  .video-category-list-heading { padding: 16px; }
  .video-category-sort-status { padding: 10px 16px; }
  .video-category-row { grid-template-columns: 44px minmax(0, 1fr); padding: 14px 16px 14px 8px; }
  .video-category-drag-handle { align-self: start; height: 72px; min-height: 72px; }
  .video-category-edit-form { grid-template-columns: minmax(0, 1fr) 86px; }
  .video-category-edit-form, .video-category-toggle-form { grid-column: 2; }
  .video-category-meta { grid-column: 1 / -1; }
  .video-category-save { width: 100%; }
  .video-category-toggle-form button { width: 100%; }
}
.chat-admin-main { max-width: 1240px; width: 100%; }
.chat-admin-count { padding: 9px 13px; border: 1px solid #ded5df; border-radius: 999px; background: #fff; color: #6d5a68; font-size: 11px; font-weight: 750; }
.chat-admin-lead { min-height: 190px; display: grid; grid-template-columns: 1fr minmax(280px, .7fr); align-items: end; gap: 40px; margin: 32px 0 20px; padding: 34px 40px; overflow: hidden; border-radius: 20px; background: radial-gradient(circle at 95% 5%, rgba(255,255,255,.27), transparent 25%), linear-gradient(120deg, #792949, #c34876); color: #fff; }
.chat-admin-lead small { color: #fac9db; font-family: Georgia, serif; font-size: 9px; letter-spacing: .22em; }
.chat-admin-lead h2 { margin: 12px 0 0; font-family: "Yu Mincho", serif; font-size: clamp(26px, 3vw, 40px); font-weight: 500; line-height: 1.28; }
.chat-admin-lead p { margin: 0; color: #ffeaf2; font-size: 12px; line-height: 1.9; }
.chat-admin-create, .chat-admin-item { border: 1px solid #e3dce4; border-radius: 15px; background: #fff; }
.chat-admin-create > summary, .chat-admin-item > summary { display: grid; grid-template-columns: 40px 1fr 30px; align-items: center; gap: 13px; padding: 18px 20px; cursor: pointer; list-style: none; }
.chat-admin-create > summary::-webkit-details-marker, .chat-admin-item > summary::-webkit-details-marker { display: none; }
.chat-admin-create > summary > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: #fff0f5; color: #d94379; font-size: 20px; }
.chat-admin-create summary div, .chat-admin-item summary div { display: grid; gap: 4px; }
.chat-admin-create summary small, .chat-admin-item summary small { color: #8e7f89; font-size: 10px; }
.chat-admin-create summary > i, .chat-admin-item summary > i { color: #9c8793; font-size: 18px; font-style: normal; transition: transform .2s ease; }
.chat-admin-create[open] summary > i, .chat-admin-item[open] summary > i { transform: rotate(180deg); }
.chat-admin-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 24px; border-top: 1px solid #eee8ef; background: #fcfafc; }
.chat-admin-form label { display: grid; gap: 7px; color: #4e4049; font-size: 11px; font-weight: 750; }
.chat-admin-form label > span { color: #958792; font-size: 9px; font-weight: 500; }
.chat-admin-form input:not([type="checkbox"]), .chat-admin-form textarea { width: 100%; padding: 11px 12px; border: 1px solid #d9d0da; border-radius: 9px; background: #fff; color: #30252c; font: inherit; font-size: 13px; outline: none; }
.chat-admin-form input:not([type="checkbox"]) { min-height: 44px; }
.chat-admin-form textarea { resize: vertical; line-height: 1.7; }
.chat-admin-form input:focus, .chat-admin-form textarea:focus { border-color: #d94379; box-shadow: 0 0 0 3px rgba(217,67,121,.1); }
.chat-form-wide { grid-column: 1 / -1; }
.chat-admin-check { display: flex !important; align-items: center; align-self: end; min-height: 44px; }
.chat-admin-check input { width: 18px; height: 18px; accent-color: #d94379; }
.chat-admin-check span { color: #4e4049 !important; font-size: 11px !important; font-weight: 750 !important; }
.chat-admin-save { min-height: 44px; align-self: end; border: 0; border-radius: 9px; background: #d94379; color: #fff; cursor: pointer; font-weight: 800; }
.chat-admin-list-heading { display: flex; align-items: end; justify-content: space-between; margin: 38px 4px 14px; }
.chat-admin-list-heading h2 { margin: 0; font-size: 20px; }
.chat-admin-list-heading p { margin: 6px 0 0; color: #887985; font-size: 11px; }
.chat-admin-list-heading > span { color: #9b8a96; font-size: 9px; }
.chat-admin-list { display: grid; gap: 9px; }
.chat-admin-row { position: relative; }
.chat-admin-item > summary { min-height: 72px; grid-template-columns: 42px 1fr 30px; padding-right: 210px; }
.chat-item-order { color: #c13d6d; font-family: Georgia, serif; font-size: 17px; }
.chat-admin-item.is-hidden { opacity: .62; }
.chat-admin-item.is-hidden summary small { color: #9b536d; }
.chat-central-form { position: absolute; z-index: 2; top: 11px; right: 51px; min-height: 50px; display: flex; align-items: center; gap: 8px; }
.chat-central-toggle { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 4px 7px; border-radius: 10px; color: #715e69; cursor: pointer; font-size: 10px; font-weight: 800; white-space: nowrap; }
.chat-central-toggle:hover { background: #fcf5f8; }
.chat-central-toggle input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.chat-central-track { width: 38px; height: 22px; display: inline-flex; align-items: center; padding: 2px; border: 1px solid #cfc3ca; border-radius: 999px; background: #e9e3e7; transition: background-color .16s ease, border-color .16s ease; }
.chat-central-track i { width: 16px; height: 16px; display: block; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(49,30,40,.2); transition: transform .16s ease; }
.chat-central-toggle input:checked + .chat-central-track { border-color: #c63d6f; background: #d94379; }
.chat-central-toggle input:checked + .chat-central-track i { transform: translateX(16px); }
.chat-central-toggle input:focus-visible + .chat-central-track { outline: 3px solid rgba(217,67,121,.24); outline-offset: 3px; }
.chat-central-form[aria-busy="true"] { opacity: .58; }
.chat-central-status { min-width: 42px; color: #896f7c; font-size: 9px; line-height: 1.2; }
.chat-central-status.is-success { color: #39765a; }
.chat-central-status.is-error { color: #a3314b; }
.chat-admin-item-body { border-top: 1px solid #eee8ef; }
.chat-admin-item-body .chat-admin-form { border: 0; }
.chat-admin-toggle { display: inline-flex; margin: 0 24px 22px; color: #8a5369; font-size: 10px; }
.chat-admin-item-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 24px 22px; }
.chat-admin-item-actions .chat-admin-toggle { margin: 0; }
.chat-admin-delete { display: inline-flex; min-height: 44px; align-items: center; padding: 0 14px; border: 1px solid #d9cbd1; border-radius: 9px; background: #fff; color: #785d68; font-size: 10px; font-weight: 750; text-decoration: none; }
.chat-admin-delete:hover { border-color: #a33b50; color: #8f2039; }
.chat-contact-settings { margin: 20px 0 38px; padding: 25px 28px; border: 1px solid #e3dce4; border-radius: 15px; background: #fff; }
.chat-setting-heading { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 13px; }
.chat-setting-heading > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #fff0f5; color: #c63d6f; font-size: 10px; font-weight: 800; }
.chat-setting-heading h2 { margin: 0; font-size: 17px; }
.chat-setting-heading p { margin: 5px 0 0; color: #887985; font-size: 10px; }
.chat-contact-form { display: grid; grid-template-columns: 130px 28px 130px minmax(230px, 1fr) 150px; align-items: end; gap: 12px; margin-top: 22px; }
.chat-contact-form label { display: grid; gap: 7px; color: #4e4049; font-size: 10px; font-weight: 750; }
.chat-contact-form input, .chat-admin-form select, .chat-category-edit input { width: 100%; min-height: 43px; padding: 0 11px; border: 1px solid #d9d0da; border-radius: 9px; background: #fff; color: #30252c; font: inherit; font-size: 12px; outline: none; }
.chat-contact-form input:focus, .chat-admin-form select:focus, .chat-category-edit input:focus { border-color: #d94379; box-shadow: 0 0 0 3px rgba(217,67,121,.1); }
.chat-time-separator { align-self: center; padding-top: 17px; color: #9a8a95; font-size: 10px; text-align: center; }
.chat-contact-form button, .chat-category-edit button { min-height: 43px; border: 0; border-radius: 9px; background: #752947; color: #fff; cursor: pointer; font-size: 11px; font-weight: 800; }
.chat-time-note { display: block; margin-top: 13px; color: #9a8793; font-size: 9px; }
.chat-category-admin { margin-bottom: 38px; }
.chat-category-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.chat-category-item { border: 1px solid #e3dce4; border-radius: 13px; background: #fff; }
.chat-category-item.is-hidden { opacity: .62; }
.chat-category-item > summary { display: grid; grid-template-columns: 34px 1fr 20px; align-items: center; gap: 10px; padding: 14px 16px; cursor: pointer; list-style: none; }
.chat-category-item > summary::-webkit-details-marker { display: none; }
.chat-category-item > summary > span { color: #c13d6d; font-family: Georgia, serif; font-size: 14px; }
.chat-category-item summary div { display: grid; gap: 4px; }
.chat-category-item summary small { overflow: hidden; color: #93838e; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.chat-category-item summary > i { color: #9c8793; font-style: normal; transition: transform .2s ease; }
.chat-category-item[open] summary > i { transform: rotate(180deg); }
.chat-category-item > div { border-top: 1px solid #eee8ef; }
.chat-category-edit { display: grid; grid-template-columns: 1fr 1.2fr 72px 100px; align-items: end; gap: 9px; padding: 14px; }
.chat-category-edit label { display: grid; gap: 5px; color: #65535f; font-size: 9px; font-weight: 750; }
.chat-category-item .chat-admin-toggle { margin: 0 14px 14px; }
@media (max-width: 560px) {
  .chat-admin-item-actions { align-items: stretch; flex-direction: column; }
  .chat-admin-item-actions a { justify-content: center; }
}
.chat-question-create { margin-top: 20px; }
.chat-secondary-settings { display: grid; gap: 10px; margin-top: 48px; padding-top: 8px; }
.chat-secondary-heading { margin-top: 0; }
.chat-settings-panel { overflow: hidden; border: 1px solid #e3dce4; border-radius: 15px; background: #fff; }
.chat-settings-panel > summary { min-height: 72px; display: grid; grid-template-columns: 42px 1fr 28px; align-items: center; gap: 13px; padding: 14px 20px; cursor: pointer; list-style: none; }
.chat-settings-panel > summary::-webkit-details-marker { display: none; }
.chat-settings-panel > summary > div { display: grid; gap: 4px; }
.chat-settings-panel > summary strong { color: #493942; font-size: 14px; }
.chat-settings-panel > summary small { color: #8e7f89; font-size: 10px; }
.chat-settings-panel > summary > i { color: #9c8793; font-size: 18px; font-style: normal; transition: transform .2s ease; }
.chat-settings-panel[open] > summary > i { transform: rotate(180deg); }
.chat-settings-link { min-height: 72px; display: grid; grid-template-columns: 42px 1fr 28px; align-items: center; gap: 13px; padding: 14px 20px; color: inherit; text-decoration: none; }
.chat-settings-link > div { display: grid; gap: 4px; }
.chat-settings-link strong { color: #493942; font-size: 14px; }
.chat-settings-link small { color: #8e7f89; font-size: 10px; }
.chat-settings-link > i { color: #9c8793; font-size: 18px; font-style: normal; }
.chat-settings-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #f6f1f4; color: #8c5e70; font-size: 10px; font-weight: 800; }
.chat-settings-panel-body { margin: 0; padding: 22px 24px 24px; border: 0; border-top: 1px solid #eee8ef; border-radius: 0; background: #fcfafc; }
.chat-settings-panel-body .chat-admin-list-heading { margin-top: 0; }
.chat-settings-panel-body .chat-admin-list-heading h3, .chat-settings-panel-body .chat-setting-heading h3 { margin: 0; font-size: 17px; }
.chat-settings-panel-body.chat-category-admin, .chat-settings-panel-body.chat-contact-settings { margin-bottom: 0; }

@media (prefers-reduced-motion: no-preference) {
  .guide-chat-panel { animation: guide-chat-in .42s cubic-bezier(.2,.8,.2,1) both; }
  .guide-chat-launcher, .guide-chat-choices > button { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
  .guide-chat-launcher:hover { transform: translateY(-3px); box-shadow: 0 23px 52px rgba(91,28,55,.25); }
  .guide-chat-choices > button:hover { transform: translateX(-3px); border-color: #dc7c9e; box-shadow: 0 7px 20px rgba(100,33,59,.08); }
  .guide-chat-categories > button { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
  .guide-chat-categories > button:hover { transform: translateX(-3px); border-color: #dc7c9e; box-shadow: 0 7px 20px rgba(100,33,59,.08); }
  .guide-chat-user, .guide-chat-answer { animation: guide-message-in .3s ease both; }
  @keyframes guide-chat-in { from { opacity: 0; transform: translateY(18px) scale(.94); } to { opacity: 1; transform: none; } }
  @keyframes guide-message-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
}

@media (max-width: 900px) {
  .admin-sidebar { flex-wrap: wrap; }
  .admin-public-page-link { min-height: 44px; margin: 0 0 0 12px; white-space: nowrap; }
  .admin-sidebar nav { display: flex; order: 5; width: 100%; overflow-x: auto; }
  .admin-sidebar nav a { width: auto; flex: 0 0 auto; white-space: nowrap; }
  .chat-admin-lead { grid-template-columns: 1fr; align-items: start; gap: 22px; }
}

@media (max-width: 560px) {
  .admin-sidebar {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
  }
  .admin-sidebar > strong,
  .admin-store { display: none; }
  .admin-public-page-link { min-width: 0; margin: 0; padding-inline: 10px; font-size: 10px; }
  .admin-sidebar .admin-logout { margin: 0; padding: 8px 4px; font-size: 10px; }
  .admin-sidebar nav { grid-column: 1 / -1; min-width: 0; scrollbar-width: none; }
  .admin-sidebar nav::-webkit-scrollbar { display: none; }
}

@media (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .chat-admin-count, :where(:root:not([data-public-theme="light"])) .chat-admin-create, :where(:root:not([data-public-theme="light"])) .chat-admin-item { border-color: #493c4c; background: #211a23; color: #f4edf3; }
  :where(:root:not([data-public-theme="light"])) .chat-admin-create > summary > span { background: #3d2330; }
  :where(:root:not([data-public-theme="light"])) .chat-admin-create summary small, :where(:root:not([data-public-theme="light"])) .chat-admin-item summary small, :where(:root:not([data-public-theme="light"])) .chat-admin-list-heading p { color: #b9aab5; }
  :where(:root:not([data-public-theme="light"])) .chat-admin-form { border-color: #493c4c; background: #19151b; }
  :where(:root:not([data-public-theme="light"])) .chat-admin-form label, :where(:root:not([data-public-theme="light"])) .chat-admin-check span { color: #eee4eb !important; }
  :where(:root:not([data-public-theme="light"])) .chat-admin-form input:not([type="checkbox"]), :where(:root:not([data-public-theme="light"])) .chat-admin-form textarea { border-color: #4e4052; background: #171319; color: #f4edf3; }
  :where(:root:not([data-public-theme="light"])) .chat-admin-form select, :where(:root:not([data-public-theme="light"])) .chat-contact-form input, :where(:root:not([data-public-theme="light"])) .chat-category-edit input { border-color: #4e4052; background: #171319; color: #f4edf3; }
  :where(:root:not([data-public-theme="light"])) .chat-central-toggle { color: #eee4eb; }
  :where(:root:not([data-public-theme="light"])) .chat-central-toggle:hover { background: #332731; }
  :where(:root:not([data-public-theme="light"])) .chat-central-track { border-color: #625561; background: #4b4249; }
  :where(:root:not([data-public-theme="light"])) .chat-central-status { color: #c4b5bf; }
  :where(:root:not([data-public-theme="light"])) .chat-contact-settings, :where(:root:not([data-public-theme="light"])) .chat-category-item, :where(:root:not([data-public-theme="light"])) .chat-settings-panel { border-color: #493c4c; background: #211a23; color: #f4edf3; }
  :where(:root:not([data-public-theme="light"])) .chat-settings-panel > summary strong { color: #f4edf3; }
  :where(:root:not([data-public-theme="light"])) .chat-settings-panel > summary small { color: #b9aab5; }
  :where(:root:not([data-public-theme="light"])) .chat-settings-link strong { color: #f4edf3; }
  :where(:root:not([data-public-theme="light"])) .chat-settings-link small { color: #b9aab5; }
  :where(:root:not([data-public-theme="light"])) .chat-settings-icon { background: #332731; color: #e8bed0; }
  :where(:root:not([data-public-theme="light"])) .chat-settings-panel-body { border-color: #493c4c; background: #19151b; }
  :where(:root:not([data-public-theme="light"])) .guide-chat-categories > button { border-color: #5f3e4d; background: #2c2026; color: #f7eaf0; }
  :where(:root:not([data-public-theme="light"])) .guide-chat-categories > button i { background: #472534; }
  :where(:root:not([data-public-theme="light"])) .guide-chat-panel, :where(:root:not([data-public-theme="light"])) .guide-chat-body, :where(:root:not([data-public-theme="light"])) .guide-chat-footer { border-color: #543645; background: #21171d; color: #f7eaf0; }
  :where(:root:not([data-public-theme="light"])) .guide-chat-intro p, :where(:root:not([data-public-theme="light"])) .guide-chat-answer > div, :where(:root:not([data-public-theme="light"])) .guide-chat-choices > button { border-color: #5f3e4d; background: #2c2026; color: #f7eaf0; }
  :where(:root:not([data-public-theme="light"])) .guide-chat-search { border-color: #543645; }
  :where(:root:not([data-public-theme="light"])) .guide-chat-search label, :where(:root:not([data-public-theme="light"])) .guide-chat-search-result h3 { color: #f4dce7; }
  :where(:root:not([data-public-theme="light"])) .guide-chat-search input, :where(:root:not([data-public-theme="light"])) .guide-chat-search-result, :where(:root:not([data-public-theme="light"])) .guide-search-related button { border-color: #5f3e4d; background: #2c2026; color: #f7eaf0; }
  :where(:root:not([data-public-theme="light"])) .guide-search-consult-secondary { border-color: #7f5368; background: #35222b; color: #f3cede; }
  :where(:root:not([data-public-theme="light"])) .guide-chat-choices > button i { background: #472534; }
}

@media (max-width: 600px) {
  .guide-chat { right: 12px; bottom: 12px; }
  .guide-chat-launcher { min-width: 190px; min-height: 60px; grid-template-columns: 39px 1fr 20px; border-radius: 15px; }
  .guide-chat-mark { width: 39px; height: 39px; }
  .guide-chat-panel { position: fixed; inset: auto 10px 10px; width: auto; height: min(76dvh, 620px); border-radius: 22px; }
  .guide-chat-header { min-height: 79px; }
  .guide-chat-body { padding: 19px 14px 17px; }
  .guide-chat-search, .guide-chat-search-result { margin-left: 36px; }
  .guide-chat-search > div { grid-template-columns: 1fr; }
  .guide-chat-search button { min-height: 44px; }
  .guide-chat-choices { margin-left: 36px; }
  .chat-admin-main { padding-top: 24px; }
  .chat-admin-lead { min-height: 0; padding: 26px 24px; }
  .chat-admin-form { grid-template-columns: 1fr; padding: 18px; }
  .chat-form-wide { grid-column: auto; }
  .chat-admin-create > summary, .chat-admin-item > summary { padding: 15px; }
  .chat-admin-item > summary { min-height: 70px; padding-right: 15px; }
  .chat-admin-row .chat-admin-item { border-radius: 15px 15px 0 0; }
  .chat-central-form { position: relative; inset: auto; min-height: 52px; justify-content: flex-start; margin-top: -1px; padding: 4px 15px; border: 1px solid #e3dce4; border-radius: 0 0 15px 15px; background: #fff; }
  .chat-central-status { min-width: 48px; flex: 1; }
  .chat-admin-count { display: none; }
  .chat-contact-settings { padding: 20px 18px; }
  .chat-contact-form { grid-template-columns: 1fr 24px 1fr; }
  .chat-email-field, .chat-contact-form button { grid-column: 1 / -1; }
  .chat-category-list { grid-template-columns: 1fr; }
  .chat-category-edit { grid-template-columns: 1fr; }
  .chat-secondary-settings { margin-top: 38px; }
  .chat-settings-panel > summary { min-height: 76px; padding: 14px 15px; }
  .chat-settings-panel-body { padding: 18px 15px 20px; }
}

@media (max-width: 600px) and (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .chat-central-form { border-color: #493c4c; background: #211a23; }
}

/* Compact video discovery and non-obstructive guided chat */
.video-page-hero {
  min-height: 0;
  padding: 112px clamp(24px, 8vw, 130px) 46px;
}
.video-page-hero p { margin-bottom: 10px; }
.video-page-hero h1 { font-size: clamp(44px, 5vw, 62px); }
.video-page-hero span { max-width: 34em; margin-top: 16px; line-height: 1.7; }
.video-library { padding-top: 38px; padding-bottom: 100px; }
.video-library-heading { max-width: 780px; }
.video-library-heading h2 { font-size: clamp(38px, 3.8vw, 50px); }
.video-library-heading h2 span { display: inline; white-space: normal; }
.video-library-heading p { margin-top: 12px; }
.video-search-row { margin-top: 22px; }
.video-grid { margin-top: 30px; }

.guide-chat.is-open .guide-chat-launcher {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.video-page + .guide-chat .guide-chat-launcher {
  width: 148px;
  min-width: 148px;
  min-height: 58px;
  grid-template-columns: 38px 1fr;
  gap: 9px;
  padding: 9px 14px 9px 9px;
  border-radius: 17px;
}
.video-page + .guide-chat .guide-chat-launcher > span:nth-child(2) { display: grid; }
.video-page + .guide-chat .guide-chat-launcher small,
.video-page + .guide-chat .guide-chat-launcher > i { display: none; }
.video-page + .guide-chat .guide-chat-mark { width: 38px; height: 38px; font-size: 18px; }
.video-page + .guide-chat .guide-chat-launcher strong { white-space: nowrap; font-size: 14px; }

@media (prefers-reduced-motion: no-preference) {
  .guide-chat-launcher { transition: opacity .2s ease, visibility .2s ease, transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
}

@media (max-width: 767px) {
  .video-page-hero { padding: 88px 20px 30px; }
  .video-page-hero p { margin-bottom: 8px; }
  .video-page-hero h1 { font-size: clamp(38px, 10.5vw, 44px); line-height: 1.08; }
  .video-page-hero span { margin-top: 12px; font-size: 14px; }
  .video-library { padding: 26px 16px 64px; }
  .video-library-heading h2 { font-size: clamp(27px, 8vw, 34px); line-height: 1.2; }
  .video-library-heading h2 span { display: block; white-space: nowrap; }
  .video-library-heading p { margin-top: 10px; font-size: 14px; line-height: 1.7; }
  .video-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 76px;
    align-items: stretch;
    gap: 10px;
    margin-top: 18px;
  }
  .video-search { width: auto; min-width: 0; min-height: 48px; }
  .video-search-submit { width: 76px; min-height: 48px; }
  .video-search-row .video-result-count { grid-column: 1 / -1; width: auto; margin: 0; }
  .video-filters {
    flex-wrap: nowrap;
    gap: 8px;
    margin-right: -16px;
    overflow-x: auto;
    padding: 0 16px 7px 0;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .video-filters::-webkit-scrollbar { display: none; }
  .video-filters a { flex: 0 0 auto; min-height: 38px; scroll-snap-align: start; }
  .video-grid { margin-top: 22px; }
}

@media (max-width: 600px) {
  .guide-chat { right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); }
  .guide-chat-launcher,
  .video-page + .guide-chat .guide-chat-launcher {
    width: 134px;
    min-width: 134px;
    min-height: 56px;
    grid-template-columns: 38px 1fr;
    gap: 8px;
    padding: 8px 12px 8px 8px;
    border-radius: 16px;
  }
  .guide-chat-launcher > span:nth-child(2) { display: grid; }
  .guide-chat-launcher small,
  .guide-chat-launcher > i { display: none; }
  .guide-chat-mark,
  .video-page + .guide-chat .guide-chat-mark { width: 38px; height: 38px; font-size: 18px; }
  .guide-chat-launcher strong,
  .video-page + .guide-chat .guide-chat-launcher strong { white-space: nowrap; font-size: 13px; }
  .guide-chat-panel { inset: auto 8px max(8px, env(safe-area-inset-bottom)); height: min(78dvh, 620px); }
}

/* Store-bound video detail */
.video-card-link { display: block; color: inherit; text-decoration: none; }
.video-card-link .video-poster { display: block; }
.video-card-link:focus-visible { outline: 3px solid rgba(201,71,114,.42); outline-offset: 6px; border-radius: 16px; }
.video-item-copy .video-item-meta { grid-column: 1 / 3; color: #c94772; font-size: 11px; font-weight: 800; }
.video-item-copy strong { min-width: 0; color: #5c283f; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 21px; font-weight: 600; line-height: 1.5; }

.video-detail { max-width: 1320px; margin: 0 auto; padding: 118px clamp(24px, 6vw, 84px) 82px; }
.video-breadcrumb { display: flex; align-items: center; gap: 11px; margin-bottom: 25px; color: #9b6a7e; font-size: 12px; }
.video-breadcrumb a { color: inherit; text-decoration: none; }
.video-breadcrumb a:hover { color: #c94772; }
.video-detail-layout { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(310px, .8fr); align-items: start; gap: clamp(34px, 5vw, 72px); }
.video-detail-player { position: relative; overflow: hidden; aspect-ratio: 16 / 9; border: 1px solid #e5c8d3; border-radius: 16px; background: #f7e7ed; box-shadow: 0 24px 70px rgba(126,48,78,.13); }
.video-detail-player iframe { width: 100%; height: 100%; display: block; border: 0; }
.video-detail-player > video { width: 100%; height: 100%; display: block; background: #160f13; object-fit: contain; }
.video-detail-placeholder { position: relative; width: 100%; height: 100%; }
.video-detail-placeholder::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(52,17,32,.04), rgba(52,17,32,.5)); }
.video-detail-placeholder img { object-fit: cover; }
.video-detail-placeholder > div { position: absolute; z-index: 1; inset: 0; display: grid; place-content: center; justify-items: center; gap: 8px; padding: 24px; background: rgba(56,19,36,.2); color: #fff; text-align: center; text-shadow: 0 2px 14px rgba(46,13,28,.7); }
.video-detail-placeholder .icon-text { width: 64px; height: 64px; display: grid; place-items: center; margin-bottom: 5px; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; background: rgba(201,71,114,.9); box-shadow: 0 14px 38px rgba(72,19,42,.28); }
.video-detail-placeholder strong { font-size: 18px; }
.video-detail-placeholder small { font-size: 12px; line-height: 1.7; }
.video-detail-copy { padding-top: 8px; }
.video-detail-copy > p:first-child { margin: 0 0 13px; color: #c94772; font-size: 12px; font-weight: 800; }
.video-detail-copy h1 { margin: 0; color: #5c283f; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(34px, 3.5vw, 54px); font-weight: 500; line-height: 1.28; letter-spacing: .02em; }
.video-detail-facts { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 24px; padding: 16px 0; border-top: 1px solid #ecd8e0; border-bottom: 1px solid #ecd8e0; color: #917382; font-size: 11px; }
.video-detail-facts span { display: flex; align-items: baseline; gap: 8px; }
.video-detail-facts b { color: #5c283f; font-size: 13px; font-variant-numeric: tabular-nums; }
.video-detail-description { margin: 24px 0 0; color: #715565; font-size: 14px; line-height: 1.95; }
.video-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.video-related { max-width: 1320px; margin: 0 auto; padding: 0 clamp(24px, 6vw, 84px) 100px; }
.video-related > div:first-child { max-width: 620px; }
.video-related h2 { margin: 0; color: #5c283f; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(30px, 3vw, 44px); font-weight: 500; }
.video-related > div:first-child p { margin: 9px 0 0; color: #8b7280; font-size: 13px; }
.video-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.video-related-grid article { min-width: 0; }
.video-related-grid a { display: grid; gap: 7px; color: inherit; text-decoration: none; }
.video-related-grid img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border: 1px solid #e5c8d3; border-radius: 14px; box-shadow: 0 14px 36px rgba(126,48,78,.08); transition: transform .45s cubic-bezier(.16,1,.3,1); }
.video-related-grid a:hover img { transform: translateY(-4px); }
.video-related-grid span { margin-top: 4px; color: #c94772; font-size: 10px; font-weight: 800; }
.video-related-grid strong { color: #5c283f; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 17px; font-weight: 600; line-height: 1.55; }

@media (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .video-item-copy strong, :where(:root:not([data-public-theme="light"])) .video-detail-copy h1, :where(:root:not([data-public-theme="light"])) .video-detail-facts b, :where(:root:not([data-public-theme="light"])) .video-related h2, :where(:root:not([data-public-theme="light"])) .video-related-grid strong { color: #f4e8ee; }
  :where(:root:not([data-public-theme="light"])) .video-detail-description, :where(:root:not([data-public-theme="light"])) .video-related > div:first-child p { color: #c4adb8; }
  :where(:root:not([data-public-theme="light"])) .video-detail-facts { border-color: #59404c; color: #bda6b1; }
  :where(:root:not([data-public-theme="light"])) .video-detail-player, :where(:root:not([data-public-theme="light"])) .video-related-grid img { border-color: #5b3d4b; background: #2b1e25; }
}

@media (max-width: 900px) {
  .video-detail-layout { grid-template-columns: 1fr; }
  .video-detail-copy { max-width: 680px; }
}

@media (max-width: 767px) {
  .video-detail { padding: 91px 16px 58px; }
  .video-breadcrumb { margin-bottom: 17px; }
  .video-detail-layout { gap: 26px; }
  .video-detail-player { border-radius: 14px; }
  .video-detail-placeholder .icon-text { width: 52px; height: 52px; }
  .video-detail-placeholder strong { font-size: 15px; }
  .video-detail-placeholder small { max-width: 18em; font-size: 10px; }
  .video-detail-copy h1 { font-size: clamp(31px, 9vw, 42px); }
  .video-detail-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .video-related { padding: 0 16px 74px; }
  .video-related-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}

/* Shared FAQ data and transparent salary examples */
.salary-breakdown { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 28px; padding: 19px 0; border-top: 1px solid #e7ccd7; border-bottom: 1px solid #e7ccd7; }
.salary-breakdown > div { min-width: 0; padding: 0 24px; }
.salary-breakdown > div + div { border-left: 1px solid #e7ccd7; }
.salary-breakdown dt { color: #9b6f80; font-size: 10px; font-weight: 800; }
.salary-breakdown dd { margin: 7px 0 0; color: #684052; font-size: 12px; font-variant-numeric: tabular-nums; }
.salary-breakdown dd b { color: #c94772; font-size: 14px; }
.faq-empty { padding: 22px 0; border-top: 1px solid #ead7df; border-bottom: 1px solid #ead7df; color: #735a67; font-size: 13px; line-height: 1.8; }
.faq-empty p { margin: 0; }

@media (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .salary-breakdown { border-color: #59404c; }
  :where(:root:not([data-public-theme="light"])) .salary-breakdown > div + div { border-color: #59404c; }
  :where(:root:not([data-public-theme="light"])) .salary-breakdown dt { color: #bda6b1; }
  :where(:root:not([data-public-theme="light"])) .salary-breakdown dd { color: #e7d7df; }
  :where(:root:not([data-public-theme="light"])) .faq-empty { border-color: #59404c; color: #c4adb8; }
}

@media (max-width: 767px) {
  .salary-breakdown { grid-template-columns: 1fr; padding: 0; }
  .salary-breakdown > div { padding: 15px 2px; }
  .salary-breakdown > div + div { border-top: 1px solid #e7ccd7; border-left: 0; }
}

/* Application journey */
.application-section { padding: 92px clamp(24px, 6vw, 92px); background: linear-gradient(135deg, #fff 0%, #fff6f9 58%, #fbe8ef 100%); }
.application-heading { max-width: 680px; }
.application-heading h2 { margin: 0; color: #5c283f; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(36px, 4vw, 58px); font-weight: 500; line-height: 1.28; }
.application-heading p { margin: 13px 0 0; color: #876c79; font-size: 14px; line-height: 1.8; }
.application-flow { display: grid; grid-template-columns: 1.15fr 1fr 1fr .85fr; margin: 42px 0 0; padding: 0; border-top: 1px solid #ddb8c6; list-style: none; }
.application-flow li { min-width: 0; padding: 25px 25px 5px 0; }
.application-flow li + li { padding-left: 25px; border-left: 1px solid #e8ced8; }
.application-flow span { color: #c94772; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.application-flow h3 { margin: 10px 0 0; color: #623246; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 20px; font-weight: 600; line-height: 1.5; }
.application-flow p { margin: 10px 0 0; color: #806873; font-size: 12px; line-height: 1.85; }

@media (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .application-section { background: linear-gradient(135deg, #1d1519, #281920); }
  :where(:root:not([data-public-theme="light"])) .application-heading h2, :where(:root:not([data-public-theme="light"])) .application-flow h3 { color: #f4e8ee; }
  :where(:root:not([data-public-theme="light"])) .application-heading p, :where(:root:not([data-public-theme="light"])) .application-flow p { color: #c4adb8; }
  :where(:root:not([data-public-theme="light"])) .application-flow { border-color: #6d4355; }
  :where(:root:not([data-public-theme="light"])) .application-flow li + li { border-color: #543644; }
}

@media (max-width: 900px) {
  .application-flow { grid-template-columns: 1fr 1fr; }
  .application-flow li:nth-child(3) { padding-left: 0; border-left: 0; border-top: 1px solid #e8ced8; }
  .application-flow li:nth-child(4) { border-top: 1px solid #e8ced8; }
}

@media (max-width: 600px) {
  .application-section { padding: 66px 20px; }
  .application-heading h2 { font-size: clamp(31px, 9vw, 40px); }
  .application-flow { grid-template-columns: 1fr; margin-top: 30px; }
  .application-flow li, .application-flow li + li { padding: 20px 0; border-top: 1px solid #e8ced8; border-left: 0; }
  .application-flow li:first-child { border-top: 0; }
}

@media (prefers-color-scheme: dark) and (max-width: 900px) {
  :where(:root:not([data-public-theme="light"])) .application-flow li:nth-child(3), :where(:root:not([data-public-theme="light"])) .application-flow li:nth-child(4), :where(:root:not([data-public-theme="light"])) .application-flow li + li { border-color: #543644; }
}

/* Anonymous 30-second work-style diagnosis */
.diagnosis-section { position: relative; isolation: isolate; max-width: 1240px; display: grid; grid-template-columns: minmax(0, .82fr) minmax(440px, 1.18fr); align-items: center; gap: clamp(38px, 7vw, 96px); margin: 0 auto; padding: 80px 32px 94px; }
.diagnosis-section::before { content: ""; position: absolute; z-index: -1; width: min(52vw, 620px); aspect-ratio: 1; right: -12%; top: 4%; border-radius: 50%; background: radial-gradient(circle, rgba(225,92,137,.13), rgba(255,245,248,0) 66%); pointer-events: none; }
.diagnosis-copy { max-width: 500px; }
.diagnosis-mark { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 22px; border: 1px solid #e6bdcb; border-radius: 50%; background: #fff; color: #c74672; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 25px; box-shadow: 0 12px 34px rgba(124,43,74,.09); }
.diagnosis-copy h2 { margin: 0; color: #5a263d; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(39px, 4.2vw, 59px); font-weight: 500; line-height: 1.22; letter-spacing: -.035em; }
.diagnosis-copy > p { max-width: 32em; margin: 20px 0 0; color: #826575; font-size: 14px; line-height: 1.85; }
.diagnosis-copy ul { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 25px 0 0; padding: 18px 0 0; border-top: 1px solid #ebd5de; color: #98657a; font-size: 11px; font-weight: 750; list-style: none; }
.diagnosis-copy li { margin: 0; }
.diagnosis-copy li::before { content: "✓"; margin-right: 6px; color: #d14b79; }
.diagnosis-card { min-height: 530px; display: grid; align-items: stretch; padding: clamp(24px, 3vw, 40px); overflow: hidden; border: 1px solid rgba(227,190,203,.86); border-radius: 18px; background: rgba(255,255,255,.93); box-shadow: 0 28px 78px rgba(112,38,68,.14), inset 0 1px rgba(255,255,255,.9); }
.diagnosis-start, .diagnosis-result { align-self: center; display: grid; justify-items: center; text-align: center; }
.diagnosis-heart { width: 70px; height: 70px; display: grid; place-items: center; margin-bottom: 18px; border: 1px solid #ecc5d2; border-radius: 50% 50% 47% 53%; background: linear-gradient(145deg, #fff, #f8dfe7); color: #c73d6d; font-size: 30px; box-shadow: 0 14px 34px rgba(130,44,76,.11); }
.diagnosis-start > p, .diagnosis-result > p:first-of-type { margin: 0; color: #bd456e; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.diagnosis-start > strong { margin-top: 5px; color: #702b48; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(45px, 5.3vw, 68px); font-weight: 500; line-height: 1.15; }
.diagnosis-start > span:not(.diagnosis-heart) { margin-top: 23px; color: #755664; font-size: 12px; }
.diagnosis-start > button, .diagnosis-result-actions > button { width: min(100%, 410px); min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 26px; padding: 10px 20px; border: 0; border-radius: 12px; background: linear-gradient(135deg, #e56691, #bf345f); box-shadow: 0 16px 34px rgba(183,47,92,.23), inset 0 1px rgba(255,255,255,.36); color: #fff; cursor: pointer; font: inherit; font-size: 15px; font-weight: 800; text-decoration: none; }
.diagnosis-start > button i { font-size: 24px; font-style: normal; font-weight: 400; }
.diagnosis-quiz { align-self: stretch; }
.diagnosis-progress { display: flex; flex-direction: column-reverse; gap: 9px; }
.diagnosis-progress > div { height: 5px; overflow: hidden; border-radius: 999px; background: #f4dfe6; }
.diagnosis-progress > div span { width: 100%; height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #dc5b86, #b82f5b); transform: scaleX(.25); transform-origin: left center; }
.diagnosis-progress p { margin: 0; color: #ad4469; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 14px; letter-spacing: .08em; }
.diagnosis-progress b { font-size: 20px; font-weight: 500; }
.diagnosis-question h3 { margin: 31px 0 21px; color: #57273b; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(24px, 2.3vw, 32px); font-weight: 500; line-height: 1.5; outline: none; }
.diagnosis-options { display: grid; gap: 10px; }
.diagnosis-options button { width: 100%; min-height: 58px; display: grid; grid-template-columns: 1fr 28px; align-items: center; gap: 12px; padding: 11px 13px 11px 19px; border: 1px solid #e3bdcb; border-radius: 12px; background: #fffdfd; color: #71374e; cursor: pointer; font: inherit; font-size: 14px; font-weight: 750; line-height: 1.5; text-align: left; }
.diagnosis-options button span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #fae9ef; color: #c3406d; font-size: 21px; font-weight: 400; }
.diagnosis-options button.is-selected { border-color: #ce4b77; background: #fff2f6; color: #8e2d52; }
.diagnosis-navigation { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; }
.diagnosis-back, .diagnosis-reset { min-height: 44px; padding: 0 8px; border: 0; background: transparent; color: #8d6b7a; cursor: pointer; font: inherit; font-size: 12px; font-weight: 750; }
.diagnosis-reset { text-decoration: underline; text-underline-offset: 4px; }
.diagnosis-result h3 { max-width: 14em; margin: 4px 0 0; color: #632740; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(25px, 2.7vw, 36px); font-weight: 500; line-height: 1.45; outline: none; }
.diagnosis-result > p[data-diagnosis-result-copy] { max-width: 35em; margin: 18px 0 0; color: #735764; font-size: 13px; line-height: 1.85; }
.diagnosis-result > ul { width: min(100%, 430px); display: grid; gap: 8px; margin: 19px 0 0; padding: 0; color: #704156; font-size: 12px; line-height: 1.55; list-style: none; text-align: left; }
.diagnosis-result > ul li { margin: 0; }
.diagnosis-result > ul li::before { content: "✓"; margin-right: 8px; color: #cf4775; font-weight: 800; }
.diagnosis-answer-summary { width: min(100%, 430px); margin-top: 18px; padding: 15px 17px; border: 1px solid #ead3dc; border-radius: 12px; background: #fff8fa; color: #654554; text-align: left; }
.diagnosis-answer-summary > p { margin: 0 0 9px; color: #a64064; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.diagnosis-answer-summary dl { display: grid; grid-template-columns: minmax(82px, .75fr) minmax(0, 1.25fr); gap: 6px 13px; margin: 0; font-size: 10px; line-height: 1.55; }
.diagnosis-answer-summary dt, .diagnosis-answer-summary dd { margin: 0; }
.diagnosis-answer-summary dt { color: #9a7282; font-weight: 750; }
.diagnosis-answer-summary dd { color: #62404e; font-weight: 700; }
.diagnosis-answer-summary > div { display: grid; gap: 4px; margin-top: 12px; padding-top: 11px; border-top: 1px solid #eed8e0; }
.diagnosis-answer-summary > div span { color: #9a7282; font-size: 9px; font-weight: 750; }
.diagnosis-answer-summary > div strong { color: #852d50; font-size: 11px; line-height: 1.65; }
.diagnosis-result-actions { width: min(100%, 430px); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: 10px; margin-top: 22px; }
.diagnosis-result-actions > button, .diagnosis-result-actions > a { min-height: 58px; display: flex; align-items: center; justify-content: center; margin: 0; padding: 10px 15px; border-radius: 12px; cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; line-height: 1.4; text-align: center; text-decoration: none; }
.diagnosis-result-actions > button { width: 100%; grid-column: 1 / -1; }
.diagnosis-result-actions > a { border: 1px solid #dcaabd; background: #fff; color: #8b3154; }
.diagnosis-result > .diagnosis-channel-note { max-width: 38em; margin: 13px 0 0; color: #714e5e; font-size: 10px; font-weight: 650; line-height: 1.7; }
.diagnosis-result > .diagnosis-copy-status { max-width: 34em; min-height: 18px; margin: 10px 0 0; color: #8a6575; font-size: 10px; line-height: 1.65; }
.diagnosis-result > button { min-height: 42px; margin-top: 10px; padding: 0 12px; border: 0; background: transparent; color: #8f6577; cursor: pointer; font: inherit; font-size: 11px; font-weight: 750; text-decoration: underline; text-underline-offset: 4px; }

@media (prefers-reduced-motion: no-preference) {
  .diagnosis-start > button, .diagnosis-result-actions > button, .diagnosis-result-actions > a, .diagnosis-options button { transition: transform .22s cubic-bezier(.16,1,.3,1), border-color .22s ease, background .22s ease, box-shadow .22s ease; }
  .diagnosis-start > button:hover, .diagnosis-result-actions > button:hover, .diagnosis-result-actions > a:hover { transform: translateY(-2px); box-shadow: 0 20px 42px rgba(183,47,92,.22), inset 0 1px rgba(255,255,255,.36); }
  .diagnosis-start > button:active, .diagnosis-result-actions > button:active, .diagnosis-result-actions > a:active, .diagnosis-options button:active { transform: scale(.98); }
  .diagnosis-options button:hover { transform: translateX(3px); border-color: #d7688e; background: #fff7f9; }
  .diagnosis-progress > div span { transition: transform .38s cubic-bezier(.16,1,.3,1); }
  .diagnosis-question:not([hidden]), .diagnosis-result:not([hidden]) { animation: diagnosis-enter .34s cubic-bezier(.16,1,.3,1) both; }
}
@keyframes diagnosis-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

@media (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .diagnosis-copy h2, :where(:root:not([data-public-theme="light"])) .diagnosis-question h3, :where(:root:not([data-public-theme="light"])) .diagnosis-result h3, :where(:root:not([data-public-theme="light"])) .diagnosis-start > strong { color: #f5e9ee; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-copy > p, :where(:root:not([data-public-theme="light"])) .diagnosis-result > p[data-diagnosis-result-copy] { color: #c6aebb; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-result > .diagnosis-copy-status { color: #bda2af; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-result > .diagnosis-channel-note { color: #dbc1cd; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-copy ul { border-color: #5a3c49; color: #d1aebd; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-mark, :where(:root:not([data-public-theme="light"])) .diagnosis-card { border-color: #5d3d4b; background: #21191e; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-heart { border-color: #6b4354; background: linear-gradient(145deg, #35252c, #4a2936); color: #f087aa; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-progress > div { background: #523340; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-options button { border-color: #634251; background: #2a2025; color: #eedce4; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-options button span { background: #4c2d3a; color: #f080a6; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-options button.is-selected { border-color: #dd7096; background: #3b2530; color: #fff0f6; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-back, :where(:root:not([data-public-theme="light"])) .diagnosis-reset, :where(:root:not([data-public-theme="light"])) .diagnosis-result > button { color: #c2a5b2; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-result > ul { color: #d8bfca; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-answer-summary { border-color: #5f404d; background: #2d2027; color: #ead7df; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-answer-summary dt, :where(:root:not([data-public-theme="light"])) .diagnosis-answer-summary > div span { color: #c8a8b6; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-answer-summary dd { color: #f0dee6; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-answer-summary > div { border-color: #593b48; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-answer-summary > div strong { color: #f1b8cc; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-result-actions > a { border-color: #704858; background: #2b2026; color: #f1c9d9; }
}

@media (max-width: 900px) {
  .diagnosis-section { grid-template-columns: 1fr; gap: 30px; padding: 72px 24px 82px; }
  .diagnosis-copy { max-width: 650px; }
  .diagnosis-card { width: min(100%, 680px); min-height: 510px; }
}

@media (max-width: 767px) {
  .diagnosis-section { gap: 25px; padding: 64px 16px 72px; }
  .diagnosis-mark { width: 42px; height: 42px; margin-bottom: 17px; font-size: 21px; }
  .diagnosis-copy h2 { max-width: 9em; font-size: clamp(34px, 9.8vw, 42px); line-height: 1.24; }
  .diagnosis-copy > p { margin-top: 15px; font-size: 13px; line-height: 1.78; }
  .diagnosis-copy ul { gap: 7px 15px; margin-top: 19px; padding-top: 15px; font-size: 10px; }
  .diagnosis-card { min-height: 500px; padding: 22px 17px; border-radius: 16px; scroll-margin-top: 74px; }
  .diagnosis-heart { width: 58px; height: 58px; margin-bottom: 14px; font-size: 25px; }
  .diagnosis-start > strong { font-size: clamp(43px, 13vw, 56px); }
  .diagnosis-start > span:not(.diagnosis-heart) { margin-top: 18px; font-size: 11px; }
  .diagnosis-start > button { min-height: 58px; margin-top: 22px; padding: 9px 14px; font-size: 14px; }
  .diagnosis-progress p { font-size: 13px; }
  .diagnosis-question h3 { margin: 25px 1px 17px; font-size: clamp(23px, 6.7vw, 28px); line-height: 1.45; }
  .diagnosis-options { gap: 9px; }
  .diagnosis-options button { min-height: 57px; padding: 10px 10px 10px 15px; font-size: 13px; }
  .diagnosis-navigation { margin-top: 10px; }
  .diagnosis-back, .diagnosis-reset { padding-inline: 3px; }
  .diagnosis-result h3 { font-size: clamp(25px, 7.4vw, 31px); }
  .diagnosis-result > p[data-diagnosis-result-copy] { margin-top: 15px; font-size: 12px; line-height: 1.75; }
  .diagnosis-result > ul { gap: 7px; margin-top: 16px; font-size: 11px; }
  .diagnosis-answer-summary { margin-top: 16px; padding: 14px; }
  .diagnosis-answer-summary dl { grid-template-columns: 80px minmax(0, 1fr); gap: 7px 10px; }
  .diagnosis-result-actions { grid-template-columns: 1fr; gap: 9px; margin-top: 19px; }
  .diagnosis-result-actions > button { grid-column: auto; }
  .diagnosis-result-actions > button, .diagnosis-result-actions > a { min-height: 56px; font-size: 13px; }
}

/* Anonymous device-only video favorites */
.video-item { position: relative; }
.video-favorite { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid #e5c8d3; border-radius: 999px; background: rgba(255,255,255,.92); box-shadow: 0 8px 24px rgba(126,48,78,.12); color: #8b5d70; cursor: pointer; font: inherit; }
.video-item > .video-favorite { position: absolute; z-index: 2; top: 11px; right: 11px; padding: 0 12px; }
.video-favorite span { color: #c94772; font-size: 17px; line-height: 1; }
.video-favorite b { font-size: 10px; white-space: nowrap; }
.video-favorite.is-saved { border-color: #c94772; background: #c94772; color: #fff; }
.video-favorite.is-saved span { color: #fff; }
.video-favorite:focus-visible { outline: 3px solid rgba(201,71,114,.36); outline-offset: 3px; }
.video-favorite-detail { padding: 0 17px; }

@media (prefers-reduced-motion: no-preference) {
  .video-favorite { transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease; }
  .video-favorite:hover { transform: translateY(-2px); }
  .video-favorite:active { transform: scale(.97); }
}

@media (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .video-favorite { border-color: #654453; background: rgba(35,25,30,.94); color: #e5d1da; }
  :where(:root:not([data-public-theme="light"])) .video-favorite.is-saved { border-color: #d95784; background: #d95784; color: #fff; }
}

@media (max-width: 600px) {
  .video-item > .video-favorite { top: 9px; right: 9px; }
  .video-detail-actions { grid-template-columns: 1fr; }
  .video-favorite-detail { width: 100%; }
}

/* Anonymous consultation form */
.anonymous-consultation { position: relative; isolation: isolate; width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 92px 0 104px; }
.anonymous-consultation::before { content: ""; position: absolute; z-index: -1; inset: 34px -5vw 40px; border-radius: 22px; background: linear-gradient(122deg, rgba(255,247,250,.96), rgba(252,229,238,.72)); box-shadow: inset 0 1px rgba(255,255,255,.9); }
.anonymous-consultation-intro { width: min(100%, 720px); margin: 0 auto; text-align: center; }
.anonymous-consultation-mark { width: 52px; height: 52px; display: grid; place-items: center; margin: 0 auto 20px; border: 1px solid #e7bdcc; border-radius: 50%; background: #fff; box-shadow: 0 13px 34px rgba(117,38,69,.09); color: #c74270; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 25px; }
.anonymous-consultation-label { margin: 0 0 11px; color: #b84169; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.anonymous-consultation-intro h2 { margin: 0; color: #62273f; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(40px, 5.5vw, 64px); font-weight: 500; line-height: 1.2; letter-spacing: -.04em; }
.anonymous-consultation-intro > p:not(.anonymous-consultation-label) { max-width: 35em; margin: 22px auto 0; color: #765764; font-size: 14px; line-height: 1.85; }
.anonymous-consultation-intro ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 23px; margin: 25px 0 0; padding: 18px 0 0; border-top: 1px solid #e8ccd6; color: #895e70; font-size: 11px; font-weight: 750; list-style: none; }
.anonymous-consultation-intro li::before { content: "✓"; margin-right: 6px; color: #c94471; }
.anonymous-consultation-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 30px; }
.anonymous-consultation-actions :is(button, a) { min-width: min(100%, 290px); min-height: 58px; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 10px 24px; border: 0; border-radius: 12px; background: linear-gradient(135deg, #df5a88, #b82f5b); box-shadow: 0 16px 35px rgba(160,38,82,.22), inset 0 1px rgba(255,255,255,.35); color: #fff; cursor: pointer; font: inherit; font-size: 15px; font-weight: 800; text-decoration: none; }
.anonymous-consultation-actions :is(button, a) span { font-size: 24px; font-weight: 400; }
.anonymous-consultation-actions .anonymous-consultation-apply { border: 1px solid #c84873; background: rgba(255,255,255,.9); box-shadow: 0 12px 30px rgba(115,39,68,.1); color: #8c2d51; }
.anonymous-consultation-actions :is(button, a):focus-visible { outline: 3px solid #842b4f; outline-offset: 3px; }
.anonymous-apply-preview-note { display: block; margin-top: 12px; color: #765764; font-size: 12px; line-height: 1.6; }
.anonymous-consultation:not(.is-open) { width: min(980px, calc(100% - 48px)); padding: 58px 0 70px; }
.anonymous-consultation:not(.is-open)::before { inset-block: 22px 26px; }
.anonymous-consultation:not(.is-open) .anonymous-consultation-mark { width: 44px; height: 44px; margin-bottom: 15px; font-size: 20px; }
.anonymous-consultation:not(.is-open) .anonymous-consultation-intro h2 { font-size: clamp(31px, 4.1vw, 47px); }
.anonymous-consultation:not(.is-open) .anonymous-consultation-intro > p:not(.anonymous-consultation-label) { margin-top: 15px; font-size: 12px; }
.anonymous-consultation:not(.is-open) .anonymous-consultation-intro ul { margin-top: 18px; padding-top: 14px; }
.anonymous-consultation:not(.is-open) .anonymous-consultation-actions { margin-top: 23px; }
.anonymous-consultation:not(.is-open) .anonymous-consultation-actions :is(button, a) { min-height: 54px; font-size: 13px; }
.anonymous-consultation.is-open { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.28fr); align-items: start; gap: clamp(34px, 5.5vw, 76px); }
.anonymous-consultation.is-open .anonymous-consultation-intro { position: sticky; top: 110px; text-align: left; }
.anonymous-consultation.is-open .anonymous-consultation-mark { margin-left: 0; }
.anonymous-consultation.is-open .anonymous-consultation-intro h2 { font-size: clamp(39px, 4.4vw, 57px); }
@media (min-width: 901px) {
  .anonymous-consultation.is-open .anonymous-consultation-intro .consultation-apply-heading { font-size: clamp(36px, 3.7vw, 49px); }
}
.anonymous-consultation.is-open .anonymous-consultation-intro > p:not(.anonymous-consultation-label) { margin-left: 0; }
.anonymous-consultation.is-open .anonymous-consultation-intro ul { justify-content: flex-start; }
.anonymous-consultation.is-open .anonymous-consultation-actions { display: none; }
.anonymous-consultation.is-open .anonymous-apply-preview-note { display: none; }
.anonymous-consultation-panel { overflow: hidden; border: 1px solid #e6c4d0; border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 28px 72px rgba(103,32,61,.14), inset 0 1px rgba(255,255,255,.95); }
.anonymous-consultation-panel-head { min-height: 86px; display: grid; grid-template-columns: 1fr 44px; align-items: center; gap: 18px; padding: 18px 22px; background: linear-gradient(120deg, #6d2642, #9a3159 72%, #bd426e); color: #fff; }
.anonymous-consultation-panel-head p { margin: 0 0 3px; color: #f2c9d7; font-family: Georgia, serif; font-size: 8px; letter-spacing: .16em; }
.anonymous-consultation-panel-head h3 { margin: 0; color: #fff; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 21px; font-weight: 500; letter-spacing: .03em; }
.anonymous-consultation-panel-head button { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.26); border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; cursor: pointer; font: inherit; font-size: 24px; }
.anonymous-consultation-note { margin: 0; padding: 17px 24px; border-bottom: 1px solid #eed9e1; background: #fff8fa; color: #765664; font-size: 11px; line-height: 1.75; }
.diagnosis-handoff { display: grid; gap: 10px; margin: 19px 24px 0; padding: 16px 18px; border: 1px solid #e4bdcc; border-radius: 12px; background: linear-gradient(135deg, #fff8fa, #fff0f5); color: #684754; }
.diagnosis-handoff[hidden] { display: none; }
.diagnosis-handoff > div { display: flex; align-items: center; gap: 9px; }
.diagnosis-handoff > div span { width: 24px; height: 24px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #c84471; color: #fff; font-size: 12px; font-weight: 800; }
.diagnosis-handoff > div p, .diagnosis-handoff > p { margin: 0; }
.diagnosis-handoff > div p { color: #923155; font-size: 11px; font-weight: 800; }
.diagnosis-handoff > strong { color: #5f3043; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 18px; font-weight: 600; }
.diagnosis-handoff > ul { display: grid; gap: 4px; margin: 0; padding: 10px 0 0; border-top: 1px solid #ead0da; color: #725462; font-size: 10px; line-height: 1.55; list-style: none; }
.diagnosis-handoff > ul li::before { content: "✓"; margin-right: 7px; color: #c84471; font-weight: 800; }
.diagnosis-handoff > p { color: #876c78; font-size: 9px; line-height: 1.65; }
.anonymous-consultation-form { display: grid; gap: 25px; padding: 28px 24px 30px; }
.anonymous-form-error-summary { padding: 13px 15px; border: 1px solid #d87a98; border-radius: 10px; background: #fff0f4; color: #812746; font-size: 12px; font-weight: 750; line-height: 1.65; }
.anonymous-form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.anonymous-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.anonymous-field[hidden] { display: none; }
.anonymous-field > label, .anonymous-field > legend { display: block; margin: 0 0 9px; padding: 0; color: #4f3541; font-size: 12px; font-weight: 800; }
.anonymous-field label em, .anonymous-field legend em { margin-left: 7px; color: #bd3c68; font-size: 9px; font-style: normal; }
.anonymous-field label > span:not(:only-child) { color: #967483; font-size: 9px; font-weight: 700; }
.anonymous-field input[type="text"], .anonymous-field input[type="email"], .anonymous-field input[type="tel"], .anonymous-field select, .anonymous-field textarea { width: 100%; border: 1px solid #d9c4cd; border-radius: 10px; background: #fffdfd; color: #3f2d36; font: inherit; font-size: 16px; outline: none; }
.anonymous-field input[type="text"], .anonymous-field input[type="email"], .anonymous-field input[type="tel"], .anonymous-field select { min-height: 52px; padding: 0 14px; }
.anonymous-field textarea { min-height: 124px; padding: 13px 14px; line-height: 1.7; resize: vertical; }
.anonymous-field input::placeholder, .anonymous-field textarea::placeholder { color: #887680; opacity: 1; }
.anonymous-field input:focus, .anonymous-field select:focus, .anonymous-field textarea:focus { border-color: #c84873; box-shadow: 0 0 0 3px rgba(200,72,115,.13); }
.anonymous-field small { display: block; margin-top: 7px; color: #826b76; font-size: 10px; line-height: 1.65; }
.anonymous-field-error { display: block; min-height: 0; margin-top: 6px; color: #a62750; font-size: 10px; font-weight: 750; line-height: 1.5; }
.anonymous-field-error:empty { display: none; }
.anonymous-field.is-invalid input, .anonymous-field.is-invalid select, .anonymous-field.is-invalid textarea, fieldset.anonymous-field.is-invalid .anonymous-choice-row span, fieldset.anonymous-field.is-invalid .anonymous-choice-grid span { border-color: #c83f6d; }
.anonymous-field-narrow { max-width: 240px; }
.anonymous-choice-row, .anonymous-choice-grid { display: grid; gap: 9px; }
.anonymous-choice-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.anonymous-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.anonymous-choice-row label, .anonymous-choice-grid label { position: relative; cursor: pointer; }
.anonymous-choice-row input, .anonymous-choice-grid input { position: absolute; opacity: 0; pointer-events: none; }
.anonymous-choice-row label > span, .anonymous-choice-grid label > span { min-height: 48px; display: flex; align-items: center; justify-content: center; padding: 8px 10px; border: 1px solid #ddc4ce; border-radius: 10px; background: #fffdfd; color: #704356; font-size: 11px; font-weight: 750; line-height: 1.45; text-align: center; }
.anonymous-choice-row input:checked + span, .anonymous-choice-grid input:checked + span { border-color: #c64672; background: #fff0f5; box-shadow: inset 0 0 0 1px #c64672; color: #922b51; }
.anonymous-choice-row input:focus-visible + span, .anonymous-choice-grid input:focus-visible + span { outline: 3px solid rgba(200,72,115,.22); outline-offset: 2px; }
.anonymous-mode-field { padding: 16px; border: 1px solid #ead2db; border-radius: 12px; background: #fff8fa; }
.anonymous-mode-choice label > span { min-height: 68px; flex-direction: column; gap: 3px; }
.anonymous-mode-choice label > span small { color: #98707f; font-size: 9px; font-weight: 700; }
.anonymous-mode-choice input:checked + span small { color: #a23b61; }
.anonymous-field label > [data-anonymous-message-label] { color: #4f3541; font-size: 12px; font-weight: 800; }
.anonymous-contact-choice { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.anonymous-consent { display: grid; grid-template-columns: 22px 1fr; align-items: start; gap: 10px; color: #614653; cursor: pointer; font-size: 11px; font-weight: 700; line-height: 1.7; }
.anonymous-consent input { width: 20px; height: 20px; margin: 0; accent-color: #bd3c68; }
.anonymous-consent-error { margin-top: -20px; }
.anonymous-form-submit { width: 100%; min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 18px; padding: 10px 22px; border: 0; border-radius: 12px; background: linear-gradient(135deg, #df5a88, #b82f5b); box-shadow: 0 15px 32px rgba(160,38,82,.2), inset 0 1px rgba(255,255,255,.34); color: #fff; cursor: pointer; font: inherit; font-size: 14px; font-weight: 800; }
.anonymous-form-submit span { font-size: 22px; font-weight: 400; }
.anonymous-form-submit:disabled { cursor: wait; opacity: .72; transform: none; box-shadow: 0 10px 24px rgba(160,38,82,.14), inset 0 1px rgba(255,255,255,.25); }
.anonymous-consultation-form[aria-busy="true"] { cursor: progress; }
.anonymous-form-privacy { margin: -13px 0 0; color: #876f79; font-size: 9px; line-height: 1.65; text-align: center; }
.anonymous-consultation-confirmation { min-height: 580px; display: grid; align-content: center; justify-items: center; padding: 38px 28px; text-align: center; }
.anonymous-consultation-confirmation > span { width: 62px; height: 62px; display: grid; place-items: center; margin-bottom: 17px; border: 1px solid #e5bcca; border-radius: 50%; background: #fff0f5; color: #be3c68; font-size: 26px; }
.anonymous-consultation-confirmation > p:first-of-type { margin: 0; color: #ba4169; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.anonymous-consultation-confirmation h3 { margin: 7px 0 0; color: #64283f; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(28px, 3vw, 38px); font-weight: 500; line-height: 1.4; }
.anonymous-consultation-confirmation dl { width: min(100%, 430px); display: grid; grid-template-columns: 110px 1fr; margin: 25px 0 0; padding: 17px 19px; border-radius: 12px; background: #fff5f8; color: #674452; font-size: 11px; line-height: 1.65; text-align: left; }
.anonymous-consultation-confirmation dt, .anonymous-consultation-confirmation dd { margin: 0; padding: 6px 0; }
.anonymous-consultation-confirmation dt { color: #9a667a; font-weight: 750; }
.anonymous-consultation-confirmation dd { overflow-wrap: anywhere; }
.anonymous-consultation-confirmation > p:last-of-type { max-width: 38em; margin: 20px 0 0; color: #7b6470; font-size: 10px; line-height: 1.75; }
.anonymous-consultation-confirmation > button { min-height: 48px; margin-top: 20px; padding: 0 22px; border: 1px solid #d6aebd; border-radius: 10px; background: #fff; color: #842b4f; cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; }

@media (prefers-reduced-motion: no-preference) {
  .anonymous-consultation-actions :is(button, a), .anonymous-form-submit, .anonymous-consultation-panel-head button, .anonymous-consultation-confirmation > button, .anonymous-choice-row label > span, .anonymous-choice-grid label > span { transition: transform .22s cubic-bezier(.16,1,.3,1), box-shadow .22s ease, border-color .22s ease, background .22s ease; }
  .anonymous-consultation-actions :is(button, a):hover, .anonymous-form-submit:hover { transform: translateY(-2px); box-shadow: 0 20px 42px rgba(160,38,82,.27), inset 0 1px rgba(255,255,255,.35); }
  .anonymous-consultation-actions :is(button, a):active, .anonymous-form-submit:active, .anonymous-consultation-panel-head button:active, .anonymous-consultation-confirmation > button:active, .anonymous-choice-row label:active > span, .anonymous-choice-grid label:active > span { transform: scale(.98); }
  .anonymous-consultation-panel:not([hidden]) { animation: anonymous-panel-enter .38s cubic-bezier(.16,1,.3,1) both; }
  .anonymous-consultation-confirmation:not([hidden]) { animation: anonymous-panel-enter .32s cubic-bezier(.16,1,.3,1) both; }
}
@keyframes anonymous-panel-enter { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

@media (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .anonymous-consultation::before { background: linear-gradient(122deg, rgba(38,28,34,.97), rgba(64,35,46,.92)); }
  :where(:root:not([data-public-theme="light"])) .anonymous-consultation-mark, :where(:root:not([data-public-theme="light"])) .anonymous-consultation-panel { border-color: #624150; background: #21191e; }
  :where(:root:not([data-public-theme="light"])) .anonymous-consultation-intro h2, :where(:root:not([data-public-theme="light"])) .anonymous-consultation-panel-head h3, :where(:root:not([data-public-theme="light"])) .anonymous-consultation-confirmation h3 { color: #f5e8ee; }
  :where(:root:not([data-public-theme="light"])) .anonymous-consultation-intro > p:not(.anonymous-consultation-label), :where(:root:not([data-public-theme="light"])) .anonymous-form-privacy, :where(:root:not([data-public-theme="light"])) .anonymous-consultation-confirmation > p:last-of-type { color: #c8afba; }
  :where(:root:not([data-public-theme="light"])) .anonymous-apply-preview-note { color: #d8b8c5; }
  :where(:root:not([data-public-theme="light"])) .anonymous-consultation-intro ul { border-color: #5b3c49; color: #d8b8c5; }
  :where(:root:not([data-public-theme="light"])) .anonymous-consultation-note { border-color: #593b48; background: #2d2027; color: #cfb4c0; }
  :where(:root:not([data-public-theme="light"])) .anonymous-consultation-actions .anonymous-consultation-apply { border-color: #d76d94; background: #2a2025; color: #f4d7e2; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-handoff { border-color: #694655; background: linear-gradient(135deg, #2e2027, #39232d); color: #ead9e1; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-handoff > div p, :where(:root:not([data-public-theme="light"])) .diagnosis-handoff > strong { color: #f1c7d6; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-handoff > ul { border-color: #5d3e4b; color: #dbc3cd; }
  :where(:root:not([data-public-theme="light"])) .diagnosis-handoff > p { color: #c6aeba; }
  :where(:root:not([data-public-theme="light"])) .anonymous-field > label, :where(:root:not([data-public-theme="light"])) .anonymous-field > legend, :where(:root:not([data-public-theme="light"])) .anonymous-consent { color: #eadbe2; }
  :where(:root:not([data-public-theme="light"])) .anonymous-field input[type="text"], :where(:root:not([data-public-theme="light"])) .anonymous-field input[type="email"], :where(:root:not([data-public-theme="light"])) .anonymous-field input[type="tel"], :where(:root:not([data-public-theme="light"])) .anonymous-field select, :where(:root:not([data-public-theme="light"])) .anonymous-field textarea, :where(:root:not([data-public-theme="light"])) .anonymous-choice-row label > span, :where(:root:not([data-public-theme="light"])) .anonymous-choice-grid label > span { border-color: #654552; background: #2a2025; color: #f2e5eb; }
  :where(:root:not([data-public-theme="light"])) .anonymous-field input::placeholder, :where(:root:not([data-public-theme="light"])) .anonymous-field textarea::placeholder, :where(:root:not([data-public-theme="light"])) .anonymous-field small { color: #c2a8b4; }
  :where(:root:not([data-public-theme="light"])) .anonymous-choice-row input:checked + span, :where(:root:not([data-public-theme="light"])) .anonymous-choice-grid input:checked + span { border-color: #e06a94; background: #442633; color: #ffe9f1; }
  :where(:root:not([data-public-theme="light"])) .anonymous-consultation-confirmation dl { background: #2d2027; color: #ead7df; }
  :where(:root:not([data-public-theme="light"])) .anonymous-consultation-confirmation dt { color: #cea5b6; }
  :where(:root:not([data-public-theme="light"])) .anonymous-consultation-confirmation > button { border-color: #704b5b; background: #2a2025; color: #f1cede; }
}

@media (max-width: 900px) {
  .anonymous-consultation.is-open { grid-template-columns: 1fr; gap: 34px; }
  .anonymous-consultation.is-open .anonymous-consultation-intro { position: static; max-width: 680px; }
  .anonymous-consultation-panel { width: min(100%, 680px); margin-inline: auto; }
}

@media (max-width: 767px) {
  .anonymous-consultation { width: calc(100% - 32px); padding: 68px 0 76px; }
  .anonymous-consultation::before { inset: 24px -16px 28px; border-radius: 0; }
  .anonymous-consultation-intro { text-align: left; }
  .anonymous-consultation-mark { width: 44px; height: 44px; margin: 0 0 17px; font-size: 21px; }
  .anonymous-consultation-intro h2 { font-size: clamp(36px, 11vw, 47px); }
  .anonymous-consultation-intro > p:not(.anonymous-consultation-label) { margin: 17px 0 0; font-size: 13px; }
  .anonymous-consultation-intro ul { justify-content: flex-start; gap: 7px 14px; margin-top: 19px; padding-top: 15px; font-size: 10px; }
  .anonymous-consultation-actions { display: grid; grid-template-columns: 1fr; margin-top: 24px; }
  .anonymous-consultation-actions :is(button, a) { width: 100%; min-width: 0; }
  .anonymous-consultation.is-open { gap: 27px; }
  .anonymous-consultation.is-open .anonymous-consultation-intro h2 { font-size: clamp(34px, 10vw, 43px); }
  .anonymous-consultation-panel { border-radius: 16px; scroll-margin-top: 78px; }
  .anonymous-consultation-panel-head { min-height: 78px; padding: 14px 15px 14px 18px; }
  .anonymous-consultation-panel-head h3 { font-size: 19px; }
  .anonymous-consultation-note { padding: 14px 17px; font-size: 10px; }
  .anonymous-consultation-form { gap: 23px; padding: 23px 17px 25px; }
  .anonymous-field-narrow { max-width: none; }
  .anonymous-choice-row { grid-template-columns: 1fr; }
  .anonymous-contact-choice, .anonymous-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .anonymous-choice-row label > span, .anonymous-choice-grid label > span { min-height: 52px; padding: 9px 7px; }
  .anonymous-consultation-confirmation { min-height: 540px; padding: 32px 17px; }
  .anonymous-consultation-confirmation dl { grid-template-columns: 88px 1fr; padding: 14px; }
  .anonymous-consultation:not(.is-open) { width: calc(100% - 32px); padding: 50px 0 60px; }
  .anonymous-consultation:not(.is-open)::before { inset: 20px -16px 24px; }
  .anonymous-consultation:not(.is-open) .anonymous-consultation-intro h2 { font-size: clamp(30px, 9vw, 39px); }
  .anonymous-consultation:not(.is-open) .anonymous-consultation-intro > p:not(.anonymous-consultation-label) { font-size: 12px; }
  .diagnosis-handoff { margin: 16px 17px 0; padding: 14px; }
}

@media (max-width: 380px) {
  .anonymous-contact-choice, .anonymous-choice-grid { grid-template-columns: 1fr; }
}

/* Secret consultation page */
.consultation-page { min-height: 100dvh; background: linear-gradient(145deg, #fffafb, #fff3f7 48%, #f9e5ed); color: #3e2a34; font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; }
.consultation-preview-bar { position: sticky; top: 0; z-index: 10; min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 8px max(24px, calc((100vw - 1120px) / 2)); border-bottom: 1px solid #6f263f; background: #542033; color: #fff; box-shadow: 0 8px 24px rgba(67,24,40,.16); }
.consultation-preview-bar div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 14px; }
.consultation-preview-bar strong { font-size: 12px; }
.consultation-preview-bar span { color: #ead0da; font-size: 9px; }
.consultation-preview-bar a { min-height: 36px; display: grid; place-items: center; padding: 0 14px; border: 1px solid rgba(255,255,255,.4); border-radius: 8px; color: #fff; font-size: 10px; font-weight: 800; text-decoration: none; }
.consultation-header { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 max(24px, calc((100vw - 1120px) / 2)); border-bottom: 1px solid #ecd7df; background: rgba(255,252,253,.9); }
.consultation-header > a { display: grid; color: #8d2d53; font-family: var(--font-beauty-serif), "Yu Mincho", serif; text-decoration: none; letter-spacing: .12em; }
.consultation-header > a span { font-size: 18px; }
.consultation-header > a small { margin-top: 2px; color: #bf6687; font-size: 7px; letter-spacing: .28em; }
.consultation-header > span { color: #865b6e; font-size: 11px; font-weight: 800; }
.consultation-header > .consultation-preview-brand { display: grid; color: #8d2d53; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-weight: 500; letter-spacing: .12em; }
.consultation-preview-brand > span { font-size: 18px; }
.consultation-preview-brand > small { margin-top: 2px; color: #bf6687; font-size: 7px; letter-spacing: .28em; }
.consultation-hero, .consultation-summary, .consultation-notification, .consultation-application, .consultation-messages, .consultation-appointment, .consultation-footer, .consultation-page > .message { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.consultation-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); align-items: center; gap: clamp(42px, 8vw, 110px); padding: 78px 0 68px; }
.consultation-hero > div > p { margin: 0 0 15px; color: #b5456c; font-size: 10px; font-weight: 800; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.consultation-hero h1 { margin: 0; color: #61273f; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(39px, 5vw, 62px); font-weight: 500; line-height: 1.23; letter-spacing: -.04em; }
.consultation-status { display: inline-flex; align-items: center; min-height: 34px; margin-top: 24px; padding: 0 14px; border: 1px solid #d9aabc; border-radius: 999px; background: #fff; color: #8e3154; font-size: 10px; font-weight: 800; }
.consultation-status.status-waiting-visitor { border-color: #c33f6d; background: #c33f6d; color: #fff; }
.consultation-status.status-closed { border-color: #cfc3c8; background: #eee8eb; color: #665b60; }
.consultation-hero aside { padding: 26px 28px; border: 1px solid #e5c7d2; border-radius: 16px; background: rgba(255,255,255,.88); box-shadow: 0 22px 60px rgba(100,35,61,.1), inset 0 1px rgba(255,255,255,.9); }
.consultation-hero aside strong { color: #652c44; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 20px; font-weight: 600; }
.consultation-hero aside p { margin: 11px 0 18px; color: #755966; font-size: 12px; line-height: 1.75; }
.consultation-url-label { display: block; margin-bottom: 7px; color: #8d536b; font-size: 10px; font-weight: 800; }
.consultation-url-copy { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.consultation-url-copy input { width: 100%; min-width: 0; min-height: 46px; padding: 0 12px; border: 1px solid #dfc3ce; border-radius: 10px; background: #fffafb; color: #654554; font: inherit; font-size: 10px; }
.consultation-hero aside button { min-height: 46px; padding: 0 17px; border: 1px solid #d3a6b7; border-radius: 10px; background: #fff; color: #852e50; cursor: pointer; font: inherit; font-size: 11px; font-weight: 800; }
.consultation-hero aside > span { display: block; min-height: 17px; margin-top: 7px; color: #976f80; font-size: 9px; }
.consultation-page > .message { margin-top: 0; }
.consultation-summary, .consultation-notification, .consultation-messages { margin-top: 24px; padding: clamp(25px, 4vw, 42px); border: 1px solid #e8ced8; border-radius: 18px; background: rgba(255,255,255,.93); box-shadow: 0 22px 70px rgba(103,35,62,.08); }
.consultation-summary { display: grid; grid-template-columns: minmax(230px, .65fr) minmax(0, 1.35fr); gap: 40px; }
.consultation-summary > div > p, .consultation-section-heading > p { margin: 0 0 7px; color: #b7466d; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.consultation-summary h2, .consultation-section-heading h2 { margin: 0; color: #62283f; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(25px, 3vw, 34px); font-weight: 500; line-height: 1.45; }
.consultation-summary dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 28px; margin: 0; }
.consultation-summary dl div { min-width: 0; padding-bottom: 12px; border-bottom: 1px solid #eddde3; }
.consultation-summary dt { margin: 0 0 5px; color: #95717f; font-size: 9px; font-weight: 750; }
.consultation-summary dd { margin: 0; color: #513844; font-size: 13px; font-weight: 750; line-height: 1.65; overflow-wrap: anywhere; }
.consultation-section-heading { margin-bottom: 26px; }
.consultation-live-state { display: inline-flex; align-items: center; min-height: 28px; margin: -12px 0 22px; padding: 0 11px; border-radius: 999px; background: #fff0f5; color: #a43b62; font-size: 9px; font-weight: 750; }
.consultation-live-state::before { width: 6px; height: 6px; margin-right: 7px; border-radius: 50%; background: #d44778; box-shadow: 0 0 0 4px rgba(212,71,120,.1); content: ""; }
.consultation-live-state.is-preview::before { background: #7c6670; box-shadow: 0 0 0 4px rgba(124,102,112,.1); }
.consultation-preview-total { margin: 15px 0 0; color: #8c727e; font-size: 9px; text-align: right; }
.notification-state { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 15px; padding: 19px 21px; border-radius: 13px; background: #fff5f8; }
.notification-state > span { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid #e6bdcc; border-radius: 50%; background: #fff; color: #b93d68; font-family: Georgia, serif; font-size: 10px; font-weight: 800; }
.notification-state strong { color: #612d43; font-size: 13px; }
.notification-state p { margin: 5px 0 0; color: #765d68; font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
.notification-state.is-verified { background: #f3f8f5; }
.notification-state.is-verified > span { border-color: #a9c8b7; color: #3d7259; }
.notification-state.is-pending { background: #fff8eb; }
.notification-actions { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 12px; margin-top: 17px; }
.notification-actions form { margin: 0; }
.notification-actions button, .notification-register summary, .notification-actions summary { min-height: 44px; display: inline-flex; align-items: center; padding: 0 16px; border: 1px solid #d8b5c3; border-radius: 10px; background: #fff; color: #7d2e4d; cursor: pointer; font: inherit; font-size: 10px; font-weight: 800; list-style: none; }
.notification-actions details, .notification-register { width: 100%; }
.notification-actions details[open] summary, .notification-register[open] summary { margin-bottom: 15px; }
.notification-register { margin-top: 17px; }
.notification-email-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; max-width: 580px; }
.notification-email-form label { grid-column: 1 / -1; color: #5a3d4a; font-size: 10px; font-weight: 800; }
.notification-email-form input { min-width: 0; min-height: 48px; padding: 0 14px; border: 1px solid #d9c1ca; border-radius: 10px; background: #fff; color: #402d36; font: inherit; font-size: 16px; }
.notification-email-form button { min-height: 48px; padding: 0 18px; border: 0; border-radius: 10px; background: #bd3c68; color: #fff; cursor: pointer; font: inherit; font-size: 11px; font-weight: 800; white-space: nowrap; }
.notification-email-form small { grid-column: 1 / -1; color: #806773; font-size: 9px; line-height: 1.6; }
.development-email-link { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin: 17px 0 0; padding: 12px 14px; border-radius: 10px; background: #f1edf7; color: #655774; font-size: 10px; }
.development-email-link a { color: #7b3159; font-weight: 800; }
.consultation-application { display: grid; grid-template-columns: minmax(0, .8fr) minmax(440px, 1.2fr); align-items: center; gap: clamp(34px, 6vw, 76px); margin-top: 24px; padding: clamp(34px, 5vw, 58px); border: 1px solid #e6c5d2; border-radius: 18px; background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,239,245,.96)); box-shadow: 0 22px 70px rgba(103,35,62,.08); }
.consultation-application-copy > p:first-child { margin: 0 0 9px; color: #b7466d; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.consultation-application-copy h2 { max-width: 9em; margin: 0; color: #62283f; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(30px, 3.8vw, 46px); font-weight: 500; line-height: 1.35; }
.consultation-application-copy > p:last-of-type { max-width: 38em; margin: 18px 0 0; color: #715461; font-size: 12px; line-height: 1.85; }
.consultation-application-copy ul { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 23px 0 0; padding: 18px 0 0; border-top: 1px solid #e9d3dc; color: #855368; font-size: 10px; font-weight: 750; list-style: none; }
.consultation-application-copy li::before { margin-right: 6px; color: #c34b75; content: "✓"; }
.consultation-application-card { min-height: 370px; display: grid; align-content: center; padding: clamp(24px, 4vw, 38px); border: 1px solid #e5cbd5; border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 18px 48px rgba(105,40,65,.1), inset 0 1px rgba(255,255,255,.95); }
.consultation-application-card [data-application-screen] { display: grid; justify-items: center; text-align: center; }
.consultation-application-card [hidden] { display: none; }
.application-card-icon { width: 54px; height: 54px; display: grid; place-items: center; margin-bottom: 16px; border: 1px solid #e4b9c9; border-radius: 50%; background: #fff1f6; color: #bb3c68; font-family: Georgia, serif; font-size: 26px; }
.application-card-icon.is-complete { border-color: #b9d1c2; background: #f1f8f3; color: #3f7255; }
.consultation-application-card small { margin-bottom: 7px; color: #a63a62; font-size: 9px; font-weight: 850; }
.consultation-application-card [data-application-screen] > strong { color: #612d43; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(21px, 2.5vw, 29px); font-weight: 600; line-height: 1.5; }
.consultation-application-card [data-application-screen] > p { margin: 10px 0 0; color: #755966; font-size: 11px; line-height: 1.8; }
.consultation-application-card form { width: 100%; margin: 22px 0 0; }
.application-intent-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.application-intent-options button, .application-response-actions button { min-height: 52px; padding: 10px 12px; border: 1px solid #d9b4c2; border-radius: 11px; background: #fff; color: #7a2f4d; cursor: pointer; font: inherit; font-size: 11px; font-weight: 800; line-height: 1.55; }
.application-intent-options button:disabled, .application-response-actions button:disabled { cursor: wait; opacity: .64; }
.application-schedule-summary { width: 100%; display: grid; gap: 7px; margin-top: 20px; padding: 19px; border-radius: 12px; background: #fff2f6; color: #69374a; }
.application-schedule-summary time { font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(20px, 2.5vw, 27px); font-weight: 600; }
.application-schedule-summary span { color: #8d6574; font-size: 10px; }
.application-response-actions { display: grid; gap: 9px; }
.application-response-actions button.is-primary { border-color: #b93461; background: #bd3c68; color: #fff; }
.application-direct-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 22px; }
.application-direct-actions a { min-height: 48px; display: grid; place-items: center; padding: 8px 12px; border: 1px solid #d8b4c2; border-radius: 10px; color: #7d2e4d; font-size: 10px; font-weight: 800; text-decoration: none; }
.application-direct-actions a:first-child { border-color: #39a85d; background: #39a85d; color: #fff; }
.application-text-link { margin-top: 15px; color: #7d2e4d; font-size: 10px; font-weight: 800; }
.formal-application-next-actions { width: 100%; display: grid; gap: 9px; margin-top: 18px; }
.formal-application-next-actions .application-text-link { min-height: 48px; display: grid; place-items: center; margin: 0; padding: 10px 14px; border: 1px solid #d8b4c2; border-radius: 10px; text-decoration: none; }
.formal-application-next-actions .application-text-link.is-primary { border-color: #b93461; background: #bd3c68; color: #fff; }
.formal-application-entry { width: 100%; margin-top: 22px; border-top: 1px solid #ead4dd; padding-top: 17px; text-align: left; }
.formal-application-entry > summary { min-height: 52px; display: grid; place-items: center; padding: 10px 18px; border: 1px solid #b93461; border-radius: 11px; background: #bd3c68; color: #fff; cursor: pointer; font-size: 12px; font-weight: 850; list-style: none; text-align: center; }
.formal-application-entry > summary::-webkit-details-marker { display: none; }
.formal-application-entry[open] > summary { border-color: #d7b6c3; background: #fff; color: #7b304c; }
.formal-application-intro { margin-top: 18px; padding: 15px; border-radius: 11px; background: #fff5f8; color: #654450; }
.formal-application-intro strong { font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 18px; }
.formal-application-intro p { margin: 7px 0 0; font-size: 10px; line-height: 1.7; }
.consultation-application-card .formal-application-form { display: grid; gap: 14px; margin-top: 16px; }
.formal-application-form > label:not(.formal-application-consent) { display: grid; gap: 7px; color: #60414e; font-size: 10px; font-weight: 800; }
.formal-application-form em { color: #b8325d; font-size: 9px; font-style: normal; }
.formal-application-form input:not([type="checkbox"]), .formal-application-form select { width: 100%; min-height: 52px; padding: 0 13px; border: 1px solid #d8bdc8; border-radius: 10px; background: #fff; color: #402e36; font: inherit; font-size: 16px; }
.formal-application-consent { min-height: 48px; display: grid; grid-template-columns: 22px 1fr; align-items: start; gap: 9px; color: #654a55; font-size: 10px; line-height: 1.7; }
.formal-application-consent input { width: 22px; height: 22px; margin: 0; accent-color: #bd3c68; }
.formal-application-form > button { min-height: 54px; border: 0; border-radius: 11px; background: #7f2949; color: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 850; }
.formal-application-form > button:disabled { cursor: wait; opacity: .64; }
.formal-application-form > small, .formal-application-private-note { color: #8f7180 !important; font-size: 9px !important; line-height: 1.7 !important; }
.application-submit-state { margin: 17px 0 0; padding: 11px 13px; border: 1px solid #cfe5d5; border-radius: 10px; background: #f3faf5; color: #2b6039; font-size: 10px; font-weight: 750; line-height: 1.6; text-align: center; }
.application-submit-state.is-error { border-color: #e7bdca; background: #fff1f5; color: #973556; }
.consultation-application[aria-busy="true"] { cursor: progress; }
.consultation-message-list { display: grid; align-content: start; gap: 16px; height: min(68dvh, 680px); min-height: 420px; overflow-y: auto; overscroll-behavior: contain; padding: 4px 10px 14px 0; scrollbar-gutter: stable; }
.consultation-message-list .consultation-history-control { background: linear-gradient(rgba(255,255,255,.98) 72%, rgba(255,255,255,0)); }
.consultation-message { width: min(86%, 680px); }
.consultation-message.is-visitor { justify-self: end; }
.consultation-message > div { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0 8px 6px; }
.consultation-message strong { color: #744255; font-size: 10px; }
.consultation-message time { color: #9d828d; font-size: 9px; font-variant-numeric: tabular-nums; }
.consultation-message > p { margin: 0; padding: 16px 18px; border: 1px solid #ead5dd; border-radius: 4px 15px 15px 15px; background: #fff9fb; color: #4d3540; font-size: 13px; line-height: 1.8; overflow-wrap: anywhere; white-space: pre-wrap; }
.consultation-message.is-visitor > p { border-radius: 15px 4px 15px 15px; border-color: #dcaabd; background: #fae9f0; }
.consultation-message.is-system { width: min(94%, 760px); justify-self: center; }
.consultation-message.is-system > div { justify-content: flex-start; }
.consultation-message.is-system > div::before { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; background: #f8dce7; color: #a83b61; content: "✓"; font-size: 9px; font-weight: 900; }
.consultation-message.is-system > p { border-color: #e5c2d0; border-radius: 13px; background: linear-gradient(135deg, #fff, #fff3f7); color: #644151; }
.reply-notification { margin-top: 26px; padding: clamp(20px, 3vw, 28px); border: 1px solid #e5c2d0; border-radius: 15px; background: linear-gradient(135deg, #fffafb, #fff1f6); }
.reply-notification-copy { display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 14px; margin-bottom: 17px; }
.reply-notification-copy > span { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #e1b5c6; border-radius: 50%; background: #fff; color: #b33a64; font-family: Georgia, serif; font-size: 18px; }
.reply-notification-copy strong { display: block; color: #632c43; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(18px, 2.2vw, 23px); }
.reply-notification-copy p { margin: 6px 0 0; color: #755966; font-size: 10px; line-height: 1.75; }
.reply-notification-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.reply-notification-choices > details, .reply-notification-choices > form { margin: 0; }
.reply-notification-choices summary, .reply-notification-choices > form button { width: 100%; min-height: 52px; display: grid; place-items: center; padding: 10px 14px; border: 1px solid #c44a74; border-radius: 11px; background: #bd3c68; color: #fff; cursor: pointer; font: inherit; font-size: 11px; font-weight: 800; line-height: 1.5; list-style: none; text-align: center; }
.reply-notification-choices > form button { border-color: #d9b8c5; background: #fff; color: #74324b; }
.reply-notification-choices details[open] { grid-column: 1 / -1; padding: 16px; border: 1px solid #e6c8d3; border-radius: 12px; background: #fff; }
.reply-notification-choices details[open] summary { margin-bottom: 14px; }
.consultation-appointment { display: grid; grid-template-columns: minmax(0, .82fr) minmax(440px, 1.18fr); gap: clamp(34px, 6vw, 74px); margin-top: 24px; padding: clamp(34px, 5vw, 58px); border: 1px solid #e4c3d0; border-radius: 18px; background: linear-gradient(135deg, rgba(255,248,251,.98), rgba(255,255,255,.97)); box-shadow: 0 22px 70px rgba(103,35,62,.08); }
.consultation-appointment-copy > p:first-child { margin: 0 0 9px; color: #b7466d; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.consultation-appointment-copy h2 { margin: 0; color: #62283f; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(30px, 3.8vw, 46px); font-weight: 500; line-height: 1.35; }
.consultation-appointment-copy > p:last-child { margin: 18px 0 0; color: #715461; font-size: 12px; line-height: 1.85; }
.consultation-appointment-card { align-self: start; padding: clamp(22px, 3vw, 32px); border: 1px solid #e4c8d3; border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 16px 44px rgba(105,40,65,.08); }
.consultation-appointment .appointment-request-form { display: grid; gap: 15px; }
.consultation-appointment .appointment-request-form fieldset { display: grid; gap: 10px; margin: 0; padding: 0; border: 0; }
.consultation-appointment .appointment-request-form legend { margin-bottom: 3px; color: #5d3a49; font-size: 11px; font-weight: 850; }
.consultation-appointment .appointment-request-form label { display: grid; gap: 6px; color: #644452; font-size: 10px; font-weight: 800; }
.consultation-appointment .appointment-request-form input, .consultation-appointment .appointment-request-form textarea { width: 100%; min-height: 50px; padding: 0 13px; border: 1px solid #d8bdc7; border-radius: 10px; background: #fff; color: #402e36; font: inherit; font-size: 16px; }
.consultation-appointment .confirmed-datetime-label { color: #644452; font-size: 10px; }
.consultation-appointment .confirmed-datetime-editor button { min-width: 124px; padding-inline: 12px; }
.consultation-appointment .confirmed-datetime-value { min-height: 52px; padding-left: 14px; }
.consultation-appointment .confirmed-datetime-value strong { font-size: 13px; }
.consultation-appointment .confirmed-datetime-value button { min-height: 38px; background: #fff; color: #41695d; }
.appointment-request-form textarea { min-height: 90px; padding-block: 12px; resize: vertical; }
.consultation-appointment .appointment-request-form button, .appointment-response-form button, .appointment-cancel-form button { min-height: 52px; border: 0; border-radius: 11px; background: #bd3c68; color: #fff; cursor: pointer; font: inherit; font-size: 11px; font-weight: 850; }
.appointment-state-note { margin-bottom: 18px; padding: 17px; border-radius: 11px; background: #fff3f7; color: #674150; }
.appointment-state-note strong { font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 19px; }
.appointment-state-note p { margin: 7px 0 0; font-size: 10px; line-height: 1.7; }
.appointment-state-note.is-waiting { background: #fff8eb; }
.appointment-state-note.is-action { border: 1px solid #d7e6dd; background: #f2f8f4; }
.appointment-candidates { display: grid; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.appointment-candidates li { display: grid; grid-template-columns: 76px 1fr; gap: 10px; padding: 12px; border-radius: 9px; background: #fff5f8; }
.appointment-candidates span { color: #a14163; font-size: 9px; font-weight: 850; }
.appointment-candidates time { color: #543743; font-size: 12px; font-weight: 800; }
.appointment-confirmed { display: grid; justify-items: center; text-align: center; }
.appointment-confirmed > span { width: 50px; height: 50px; display: grid; place-items: center; margin-bottom: 13px; border-radius: 50%; background: #f0f7f2; color: #3d7258; font-size: 18px; }
.appointment-confirmed > strong { color: #632c43; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 22px; }
.appointment-confirmed time { margin-top: 11px; color: #8f3154; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: clamp(20px, 2.5vw, 28px); font-weight: 650; }
.appointment-confirmed p { margin: 10px 0 0; color: #765866; font-size: 10px; line-height: 1.8; }
.appointment-response-form { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 20px; }
.appointment-response-form button:last-child, .appointment-cancel-form button, .appointment-admin-actions button.is-muted { border: 1px solid #d8b8c4; background: #fff; color: #74334c; }
.appointment-cancel-form { margin: 0; }
.appointment-proposal-response-form { display: grid; gap: 12px; }
.appointment-proposal-response-form fieldset { display: grid; gap: 9px; margin: 0; padding: 0; border: 0; }
.appointment-proposal-response-form legend { margin-bottom: 3px; color: #5d3a49; font-size: 11px; font-weight: 850; }
.appointment-proposal-response-form fieldset label { min-height: 58px; display: grid; grid-template-columns: 24px 1fr; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid #ddc0cb; border-radius: 11px; background: #fff; cursor: pointer; }
.appointment-proposal-response-form input[type="radio"] { width: 21px; height: 21px; margin: 0; accent-color: #bd3c68; }
.appointment-proposal-response-form label span { display: grid; gap: 3px; }
.appointment-proposal-response-form label strong { color: #9d3e60; font-size: 9px; }
.appointment-proposal-response-form label time { color: #543743; font-size: 13px; font-weight: 800; }
.appointment-proposal-response-form > button, .appointment-secondary-actions button { min-height: 52px; border: 1px solid #d7b4c1; border-radius: 11px; background: #fff; color: #733149; cursor: pointer; font: inherit; font-size: 11px; font-weight: 850; }
.appointment-proposal-response-form > button.is-primary { border-color: #b93461; background: #bd3c68; color: #fff; }
.appointment-secondary-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.consultation-reply-form { display: grid; gap: 9px; margin-top: 30px; padding-top: 26px; border-top: 1px solid #ead7de; }
.consultation-reply-form label { color: #563a47; font-size: 11px; font-weight: 800; }
.consultation-reply-form textarea { min-height: 128px; padding: 14px; border: 1px solid #d8c0ca; border-radius: 11px; background: #fff; color: #3f2d35; font: inherit; font-size: 16px; line-height: 1.7; resize: vertical; }
.consultation-reply-form button { justify-self: end; min-width: 190px; min-height: 50px; border: 0; border-radius: 11px; background: #bd3c68; color: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; }
.consultation-reply-form button:disabled { cursor: wait; opacity: .68; }
.consultation-reply-status { justify-self: stretch; width: 100%; margin: 2px 0 0; padding: 11px 13px; border: 1px solid #cfe5d5; border-radius: 11px; background: #f3faf5; color: #2b6039; font-size: 11px; font-weight: 750; line-height: 1.7; }
.consultation-reply-status.is-error { border-color: #e7bdca; background: #fff1f5; color: #973556; }
.consultation-closed { margin: 28px 0 0; padding: 16px; border-radius: 11px; background: #f1edef; color: #66575d; font-size: 12px; }
.consultation-footer { display: flex; justify-content: space-between; gap: 20px; padding: 42px 0 60px; color: #886b78; font-size: 10px; }
.consultation-footer a { color: #7d2d4c; font-weight: 800; }
.consultation-footer p { margin: 0; }

@media (prefers-reduced-motion: no-preference) {
  .consultation-message.is-live-arrival, .consultation-message-admin.is-live-arrival { animation: consultation-message-arrival .42s cubic-bezier(.16,1,.3,1) both; }
  .consultation-hero aside button, .notification-actions button, .notification-actions summary, .notification-register summary, .notification-email-form button, .reply-notification-choices summary, .reply-notification-choices button, .consultation-reply-form button, .application-intent-options button, .application-response-actions button, .application-direct-actions a, .appointment-request-form button, .appointment-response-form button { transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s ease; }
  .consultation-hero aside button:active, .notification-actions button:active, .notification-actions summary:active, .notification-register summary:active, .notification-email-form button:active, .reply-notification-choices summary:active, .reply-notification-choices button:active, .consultation-reply-form button:active, .application-intent-options button:active, .application-response-actions button:active, .application-direct-actions a:active, .appointment-request-form button:active, .appointment-response-form button:active { transform: scale(.98); }
  .consultation-application-card [data-application-screen]:not([hidden]) { animation: consultation-application-enter .34s cubic-bezier(.16,1,.3,1) both; }
}
@keyframes consultation-message-arrival { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes consultation-application-enter { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }

@media (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .consultation-page { background: linear-gradient(145deg, #1d171b, #2b1d24 48%, #33202a); color: #ecdee5; }
  :where(:root:not([data-public-theme="light"])) .consultation-header { border-color: #533943; background: rgba(29,23,27,.94); }
  :where(:root:not([data-public-theme="light"])) .consultation-header > .consultation-preview-brand { color: #f1cad9; }
  :where(:root:not([data-public-theme="light"])) .consultation-preview-brand > small { color: #d58aa6; }
  :where(:root:not([data-public-theme="light"])) .consultation-hero h1, :where(:root:not([data-public-theme="light"])) .consultation-summary h2, :where(:root:not([data-public-theme="light"])) .consultation-section-heading h2 { color: #f6e9ef; }
  :where(:root:not([data-public-theme="light"])) .consultation-hero aside, :where(:root:not([data-public-theme="light"])) .consultation-summary, :where(:root:not([data-public-theme="light"])) .consultation-notification, :where(:root:not([data-public-theme="light"])) .consultation-application, :where(:root:not([data-public-theme="light"])) .consultation-messages, :where(:root:not([data-public-theme="light"])) .consultation-appointment { border-color: #5c3d4a; background: rgba(34,25,30,.96); }
  :where(:root:not([data-public-theme="light"])) .consultation-hero aside strong, :where(:root:not([data-public-theme="light"])) .notification-state strong { color: #f2dce5; }
  :where(:root:not([data-public-theme="light"])) .consultation-hero aside p, :where(:root:not([data-public-theme="light"])) .notification-state p, :where(:root:not([data-public-theme="light"])) .consultation-footer { color: #c5acb7; }
  :where(:root:not([data-public-theme="light"])) .consultation-hero aside button, :where(:root:not([data-public-theme="light"])) .notification-actions button, :where(:root:not([data-public-theme="light"])) .notification-actions summary, :where(:root:not([data-public-theme="light"])) .notification-register summary { border-color: #694552; background: #2c2026; color: #f3d5e0; }
  :where(:root:not([data-public-theme="light"])) .consultation-summary dl div, :where(:root:not([data-public-theme="light"])) .consultation-reply-form { border-color: #523944; }
  :where(:root:not([data-public-theme="light"])) .consultation-summary dt, :where(:root:not([data-public-theme="light"])) .consultation-message time { color: #bea4af; }
  :where(:root:not([data-public-theme="light"])) .consultation-summary dd, :where(:root:not([data-public-theme="light"])) .notification-email-form label, :where(:root:not([data-public-theme="light"])) .consultation-reply-form label { color: #eedfe6; }
  :where(:root:not([data-public-theme="light"])) .notification-state, :where(:root:not([data-public-theme="light"])) .notification-state.is-verified, :where(:root:not([data-public-theme="light"])) .notification-state.is-pending { background: #302229; }
  :where(:root:not([data-public-theme="light"])) .notification-state > span { border-color: #694554; background: #251b20; }
  :where(:root:not([data-public-theme="light"])) .notification-email-form input, :where(:root:not([data-public-theme="light"])) .consultation-reply-form textarea { border-color: #654653; background: #291f24; color: #f3e7ed; }
  :where(:root:not([data-public-theme="light"])) .consultation-reply-status { border-color: #41614b; background: #22352a; color: #d8f0de; }
  :where(:root:not([data-public-theme="light"])) .consultation-reply-status.is-error { border-color: #774254; background: #3b2530; color: #ffd9e6; }
  :where(:root:not([data-public-theme="light"])) .consultation-history-control { background: linear-gradient(#22191e 72%, rgba(34,25,30,0)); }
  :where(:root:not([data-public-theme="light"])) .consultation-message-list .consultation-history-control { background: linear-gradient(rgba(34,25,30,.98) 72%, rgba(34,25,30,0)); }
  :where(:root:not([data-public-theme="light"])) .consultation-history-control button { border-color: #765162; background: #30232a; color: #f3dbe4; }
  :where(:root:not([data-public-theme="light"])) .consultation-history-control span { color: #c3a9b4; }
  :where(:root:not([data-public-theme="light"])) .consultation-message > p { border-color: #5e404c; background: #291f24; color: #f0e2e8; }
  :where(:root:not([data-public-theme="light"])) .consultation-message.is-visitor > p { border-color: #794858; background: #442733; }
  :where(:root:not([data-public-theme="light"])) .consultation-message.is-system > p, :where(:root:not([data-public-theme="light"])) .reply-notification { border-color: #684654; background: #302229; color: #efdce4; }
  :where(:root:not([data-public-theme="light"])) .reply-notification-copy strong, :where(:root:not([data-public-theme="light"])) .consultation-appointment-copy h2, :where(:root:not([data-public-theme="light"])) .appointment-confirmed > strong { color: #f6e9ef; }
  :where(:root:not([data-public-theme="light"])) .reply-notification-copy p, :where(:root:not([data-public-theme="light"])) .consultation-appointment-copy > p:last-child, :where(:root:not([data-public-theme="light"])) .appointment-confirmed p { color: #c5acb7; }
  :where(:root:not([data-public-theme="light"])) .reply-notification-choices > form button, :where(:root:not([data-public-theme="light"])) .reply-notification-choices details[open], :where(:root:not([data-public-theme="light"])) .consultation-appointment-card { border-color: #654451; background: #2b2026; color: #f1d6e0; }
  :where(:root:not([data-public-theme="light"])) .appointment-state-note.is-action { border-color: #45665c; background: #22372f; color: #d8eee6; }
  :where(:root:not([data-public-theme="light"])) .appointment-proposal-response-form legend { color: #eedfe6; }
  :where(:root:not([data-public-theme="light"])) .appointment-proposal-response-form fieldset label { border-color: #654451; background: #291f24; }
  :where(:root:not([data-public-theme="light"])) .appointment-proposal-response-form label time { color: #f1dfe7; }
  :where(:root:not([data-public-theme="light"])) .appointment-proposal-response-form > button:not(.is-primary), :where(:root:not([data-public-theme="light"])) .appointment-secondary-actions button { border-color: #694552; background: #2c2026; color: #f3d5e0; }
  :where(:root:not([data-public-theme="light"])) .appointment-request-form legend, :where(:root:not([data-public-theme="light"])) .appointment-request-form label { color: #eedfe6; }
  :where(:root:not([data-public-theme="light"])) .appointment-request-form input, :where(:root:not([data-public-theme="light"])) .appointment-request-form textarea { border-color: #654653; background: #291f24; color: #f3e7ed; }
  :where(:root:not([data-public-theme="light"])) .consultation-appointment .confirmed-datetime-label { color: #eedfe6; }
  :where(:root:not([data-public-theme="light"])) .confirmed-datetime-value { border-color: #45665c; background: #22372f; }
  :where(:root:not([data-public-theme="light"])) .confirmed-datetime-value strong { color: #d8eee6; }
  :where(:root:not([data-public-theme="light"])) .confirmed-datetime-value button, :where(:root:not([data-public-theme="light"])) .consultation-appointment .confirmed-datetime-value button { border-color: #56766b; background: #2b453c; color: #e1f2ec; }
  :where(:root:not([data-public-theme="light"])) .confirmed-datetime-error { color: #ffbdca; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-dialog { border-color: #674451; background: #251c21; color: #f1e4e9; box-shadow: 0 24px 80px rgba(0,0,0,.52); }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-heading small { color: #e7a8bd; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-heading h2, :where(:root:not([data-public-theme="light"])) .datetime-calendar-month strong { color: #fae8ef; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-heading button, :where(:root:not([data-public-theme="light"])) .datetime-calendar-month button, :where(:root:not([data-public-theme="light"])) .datetime-calendar-days button, :where(:root:not([data-public-theme="light"])) .datetime-calendar-actions button { border-color: #674a55; background: #302329; color: #f0dde4; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-weekdays span { color: #c7aeb8; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-days button:hover:not(:disabled) { border-color: #b96784; background: #432a34; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-days button.is-today { border-color: #9c6478; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-days button.is-selected, :where(:root:not([data-public-theme="light"])) .datetime-calendar-actions [data-calendar-confirm] { border-color: #d75a85; background: #d75a85; color: #20151a; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-days button:disabled { background: transparent; color: #725e66; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-time { background: #35252c; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-time span { color: #ead6de; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-time input, :where(:root:not([data-public-theme="light"])) .datetime-calendar-time select { border-color: #6d4c58; background: #21191d; color: #f5e9ee; }
  :where(:root:not([data-public-theme="light"])) .datetime-calendar-error { background: #4b2630; color: #ffc0ce; }
  :where(:root:not([data-public-theme="light"])) .appointment-state-note, :where(:root:not([data-public-theme="light"])) .appointment-candidates li { background: #3a2730; color: #f0dce4; }
  :where(:root:not([data-public-theme="light"])) .consultation-closed { background: #30282c; color: #cab7c0; }
  :where(:root:not([data-public-theme="light"])) .consultation-application-copy h2, :where(:root:not([data-public-theme="light"])) .consultation-application-card [data-application-screen] > strong { color: #f6e9ef; }
  :where(:root:not([data-public-theme="light"])) .consultation-application-copy > p:last-of-type, :where(:root:not([data-public-theme="light"])) .consultation-application-card [data-application-screen] > p { color: #c5acb7; }
  :where(:root:not([data-public-theme="light"])) .consultation-application-copy ul { border-color: #5b3c49; color: #d8b8c5; }
  :where(:root:not([data-public-theme="light"])) .consultation-application-card { border-color: #654451; background: #2b2026; box-shadow: none; }
  :where(:root:not([data-public-theme="light"])) .application-intent-options button, :where(:root:not([data-public-theme="light"])) .application-response-actions button, :where(:root:not([data-public-theme="light"])) .application-direct-actions a { border-color: #704b5b; background: #30232a; color: #f1d6e0; }
  :where(:root:not([data-public-theme="light"])) .formal-application-entry { border-color: #5b3c49; }
  :where(:root:not([data-public-theme="light"])) .formal-application-entry[open] > summary, :where(:root:not([data-public-theme="light"])) .formal-application-intro { border-color: #704b5b; background: #30232a; color: #f1d6e0; }
  :where(:root:not([data-public-theme="light"])) .formal-application-form > label:not(.formal-application-consent), :where(:root:not([data-public-theme="light"])) .formal-application-consent { color: #eedfe6; }
  :where(:root:not([data-public-theme="light"])) .formal-application-form input:not([type="checkbox"]), :where(:root:not([data-public-theme="light"])) .formal-application-form select { border-color: #654653; background: #291f24; color: #f3e7ed; }
  :where(:root:not([data-public-theme="light"])) .application-response-actions button.is-primary { border-color: #d85682; background: #bd3c68; color: #fff; }
  :where(:root:not([data-public-theme="light"])) .application-schedule-summary { background: #3a2730; color: #f0dce4; }
}

@media (max-width: 767px) {
  .consultation-preview-bar { align-items: stretch; flex-direction: column; gap: 8px; padding: 10px 16px; }
  .consultation-preview-bar div { display: grid; gap: 3px; }
  .consultation-preview-bar a { min-height: 42px; }
  .consultation-header { min-height: 64px; padding-inline: 16px; }
  .consultation-hero, .consultation-summary, .consultation-notification, .consultation-application, .consultation-messages, .consultation-appointment, .consultation-footer, .consultation-page > .message { width: calc(100% - 32px); }
  .consultation-hero { grid-template-columns: 1fr; gap: 28px; padding: 52px 0 36px; }
  .consultation-hero h1 { font-size: clamp(30px, 8.3vw, 36px); line-height: 1.34; }
  .consultation-hero aside { padding: 21px 18px; }
  .consultation-url-copy { grid-template-columns: 1fr; }
  .consultation-url-copy button { width: 100%; }
  .consultation-summary, .consultation-notification, .consultation-messages { margin-top: 16px; padding: 23px 17px; border-radius: 15px; }
  .consultation-application { grid-template-columns: 1fr; gap: 28px; margin-top: 16px; padding: 30px 17px 17px; border-radius: 15px; }
  .consultation-appointment { grid-template-columns: 1fr; gap: 26px; margin-top: 16px; padding: 30px 17px 17px; border-radius: 15px; }
  .consultation-appointment-card { padding: 21px 13px; border-radius: 13px; }
  .reply-notification { padding: 18px 13px; }
  .reply-notification-choices, .appointment-response-form, .appointment-secondary-actions { grid-template-columns: 1fr; }
  .reply-notification-choices summary, .reply-notification-choices > form button, .appointment-request-form button, .appointment-response-form button, .appointment-cancel-form button { min-height: 56px; font-size: 12px; }
  .consultation-application-copy h2 { max-width: none; font-size: clamp(30px, 9vw, 39px); }
  .consultation-application-copy > p:last-of-type { font-size: 12px; }
  .consultation-application-card { min-height: 0; padding: 25px 14px; border-radius: 13px; }
  .application-intent-options { grid-template-columns: 1fr; }
  .application-intent-options button, .application-response-actions button { min-height: 56px; font-size: 12px; }
  .application-direct-actions { grid-template-columns: 1fr; }
  .consultation-summary { grid-template-columns: 1fr; gap: 24px; }
  .consultation-summary dl { grid-template-columns: 1fr; gap: 12px; }
  .consultation-section-heading { margin-bottom: 21px; }
  .notification-state { grid-template-columns: 42px 1fr; padding: 16px 13px; }
  .notification-state > span { width: 42px; height: 42px; }
  .notification-email-form { grid-template-columns: 1fr; }
  .notification-email-form button { width: 100%; }
  .consultation-message { width: 94%; }
  .consultation-message > p { padding: 14px; font-size: 12px; }
  .consultation-message-list { height: min(62dvh, 560px); min-height: 360px; padding-right: 5px; }
  .consultation-reply-form button { width: 100%; justify-self: stretch; }
  .consultation-footer { flex-direction: column; padding: 32px 0 44px; }
}

@media (max-width: 420px) {
  .confirmed-datetime-editor { grid-template-columns: 1fr; }
  .confirmed-datetime-editor button { width: 100%; }
  .datetime-calendar-dialog { width: 100%; max-width: none; max-height: calc(100dvh - 18px); margin: auto 0 0; border-width: 1px 0 0; border-radius: 18px 18px 0 0; }
  .datetime-calendar-shell { gap: 13px; padding: 17px 15px calc(18px + env(safe-area-inset-bottom)); }
  .datetime-calendar-days button { border-radius: 8px; font-size: 12px; }
  .datetime-calendar-actions { grid-template-columns: 1fr 1.55fr; }
}

/* Keep the guided answers above the persistent mobile actions. */
@media (max-width: 767px) {
  .guide-chat { right: 10px; bottom: calc(80px + env(safe-area-inset-bottom)); }
  .guide-chat-panel { inset: auto 8px calc(78px + env(safe-area-inset-bottom)); height: min(70dvh, 610px); }
}

/* Keep the question entry visually distinct from the contact actions. */
.guide-chat-launcher {
  min-width: 196px;
  border-color: rgba(255,255,255,.56);
  background: linear-gradient(135deg, #cf4777, #8f2d53);
  box-shadow: 0 18px 45px rgba(91,28,55,.28), inset 0 1px rgba(255,255,255,.28);
  color: #fff;
}
.guide-chat-launcher::after { border-color: rgba(255,255,255,.08); }
.guide-chat-launcher .guide-chat-mark { background: rgba(255,255,255,.17); }
.guide-chat-launcher small { color: #ffe1ec; }
.guide-chat-launcher > i { color: #fff; }

@media (max-width: 600px) {
  .guide-chat-launcher,
  .video-page + .guide-chat .guide-chat-launcher {
    width: max-content;
    min-width: 150px;
    border-radius: 16px;
  }
  .guide-chat-launcher strong,
  .video-page + .guide-chat .guide-chat-launcher strong { color: #fff; font-size: 13px; }
}
.admin-notification {
  position: fixed;
  z-index: 1200;
  right: 20px;
  bottom: 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 15px;
  border-radius: 999px;
  background: #751f3d;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(66, 15, 34, .24);
}

.admin-notification[hidden] { display: none; }
.admin-notification strong {
  min-width: 25px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #fff;
  color: #751f3d;
  text-align: center;
}

/* 2026-08 decision-first public redesign */
.decision-salary,
.decision-conditions,
.decision-support {
  color: #5b263d;
}

.decision-salary {
  max-width: 1240px;
  margin: 0 auto;
  padding: 82px 32px 72px;
}

.decision-section-heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  margin-bottom: 34px;
  text-align: left;
}

.decision-section-heading > div > p,
.decision-conditions-title > p,
.decision-support-heading > p {
  margin: 0 0 7px;
  color: #c94772;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}

.decision-section-heading h2,
.decision-conditions-title h2,
.decision-support-heading h2 {
  margin: 0;
  color: #5b263d;
  font-family: var(--font-beauty-serif), "Yu Mincho", serif;
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 500;
  line-height: 1.24;
  letter-spacing: -.035em;
}

.decision-daily-pay {
  width: 92px;
  height: 92px;
  flex: 0 0 auto;
  display: grid;
  place-content: center;
  border: 1px solid #e5b7c7;
  border-radius: 50%;
  background: linear-gradient(145deg, #fff, #fff0f5);
  box-shadow: 0 15px 38px rgba(116, 36, 67, .1);
  color: #c84070;
  font-family: var(--font-beauty-serif), "Yu Mincho", serif;
  font-size: 20px;
  line-height: 1.25;
  text-align: center;
}

.decision-salary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.decision-salary-card {
  min-height: 154px;
  display: grid;
  align-content: center;
  justify-items: center;
  padding: 24px 16px;
  border: 1px solid #e6bdcb;
  border-radius: 15px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 13px 34px rgba(118, 37, 68, .07);
  text-align: center;
}

.decision-salary-card-featured {
  background: linear-gradient(145deg, #fff, #fff6f9);
}

.decision-salary-card > span {
  color: #7f4059;
  font-size: 13px;
  font-weight: 800;
}

.decision-salary-card small {
  margin-top: 5px;
  color: #a06c80;
  font-size: 11px;
}

.decision-salary-card strong {
  margin-top: 10px;
  color: #6a2943;
  font-family: var(--font-beauty-serif), "Yu Mincho", serif;
  font-size: 18px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  white-space: nowrap;
}

.decision-salary-card strong b {
  color: #b92f5d;
  font-size: clamp(37px, 4vw, 54px);
  font-weight: 500;
  letter-spacing: -.045em;
}

.decision-fee {
  display: grid;
  grid-template-columns: auto auto 1fr;
  align-items: center;
  gap: 18px;
  margin-top: 14px;
  padding: 16px 22px;
  border: 1px solid #ebcbd6;
  border-radius: 12px;
  background: #fff9fb;
}

.decision-fee > span { color: #bd456e; font-weight: 800; }
.decision-fee strong { color: #b92f5d; font-size: 20px; font-variant-numeric: tabular-nums; }
.decision-fee small { justify-self: end; color: #8d7180; line-height: 1.65; }

.decision-conditions {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 7vw, 96px);
  padding: 78px max(32px, calc((100vw - 1176px) / 2));
  background: linear-gradient(135deg, #fffafb, #fff1f5);
}

@media (min-width: 901px) {
  .seg-home .decision-conditions-title h2 {
    font-size: clamp(30px, 3vw, 42px);
  }
}

.decision-conditions-title > span {
  max-width: 32em;
  display: block;
  margin-top: 18px;
  color: #826573;
  font-size: 13px;
  line-height: 1.8;
}
.seg-home .decision-conditions-details { min-width: 0; }
.seg-home .recruitment-content-dates { display: flex; flex-wrap: wrap; gap: 2px 16px; margin-top: 10px; color: #76525f; font-size: 12px; line-height: 1.8; }
.seg-home .recruitment-content-dates p { margin: 0; }

.decision-facts {
  margin: 0;
  overflow: hidden;
  border: 1px solid #e6c6d1;
  border-radius: 16px;
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 18px 48px rgba(116, 36, 67, .08);
}

.decision-facts > div {
  display: grid;
  grid-template-columns: 126px 1fr;
  min-height: 62px;
  align-items: center;
  padding: 0 22px;
}

.decision-facts > div + div { border-top: 1px solid #eed8e0; }
.decision-facts dt { color: #b6436b; font-size: 12px; font-weight: 800; }
.decision-facts dd { margin: 0; color: #573748; font-size: 14px; font-weight: 700; }
.decision-facts dd small { margin-left: 8px; color: #917483; font-size: 11px; font-weight: 500; }

.decision-condition-tags {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: -16px;
}

.decision-condition-tags span {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 7px 15px;
  border: 1px solid #e6c2cf;
  border-radius: 999px;
  background: rgba(255, 255, 255, .8);
  color: #8b4a63;
  font-size: 11px;
  font-weight: 750;
}

.decision-support {
  max-width: 1240px;
  margin: 0 auto;
  padding: 86px 32px 76px;
}

.decision-support-heading { text-align: center; }
.decision-support-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 36px;
}

.decision-support-grid article {
  min-height: 210px;
  padding: 26px 24px;
  border: 1px solid #e8c9d4;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 14px 38px rgba(118, 37, 68, .06);
}

.decision-support-grid article:nth-child(2),
.decision-support-grid article:nth-child(5) { background: #fff5f8; }
.decision-support-grid article:nth-child(3),
.decision-support-grid article:nth-child(6) { background: linear-gradient(145deg, #fff, #fff8fa); }
.decision-support-grid article > span {
  width: 45px;
  height: 45px;
  display: grid;
  place-content: center;
  border: 1px solid #e9bccc;
  border-radius: 50%;
  background: #fff;
  color: #c84270;
  font-size: 20px;
}
.decision-support-grid h3 { margin: 18px 0 0; color: #642a42; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 19px; font-weight: 600; }
.decision-support-grid p { margin: 9px 0 0; color: #816876; font-size: 12px; line-height: 1.75; }

.decision-remote-note {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-top: 14px;
  padding: 18px 22px;
  border-radius: 12px;
  background: #fff4f7;
  color: #75485b;
  font-size: 12px;
  line-height: 1.7;
}
.decision-remote-note strong { color: #b43b64; }

/* The diagnosis remains functional, but now reads as a next step after conditions. */
.decision-support + .diagnosis-section { padding-top: 54px; }

/* Video pages share the same editorial, decision-first visual language. */
.video-page-hero {
  min-height: 390px;
  display: grid;
  align-content: center;
  justify-items: start;
  padding: 112px clamp(24px, 8vw, 130px) 66px;
  background: radial-gradient(circle at 84% 20%, rgba(255,255,255,.95), transparent 25%), linear-gradient(135deg, #fffafb, #fbeaf0);
}
.video-page-hero::after { opacity: .28; }
.video-page-hero > p { margin: 0 0 10px; color: #c94772; font-family: var(--font-beauty-serif), "Yu Mincho", serif; font-size: 14px; letter-spacing: .16em; }
.video-page-hero > h1 { max-width: 9em; color: #5a233b; font-size: clamp(46px, 5.2vw, 70px); line-height: 1.08; }
.video-page-hero > span { max-width: 38em; margin-top: 18px; color: #7d5c6b; font-size: 14px; line-height: 1.8; }
.video-page-hero > a {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
  padding: 0 20px;
  border: 1px solid #dcacc0;
  border-radius: 10px;
  background: rgba(255,255,255,.78);
  color: #8b3455;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}
.video-page-hero > a span { margin: 0; color: inherit; }
.video-library { position: relative; max-width: 1240px; padding-top: 58px; scroll-margin-top: 76px; overflow-anchor: none; }
.video-library-status {
  position: fixed;
  top: 76px;
  left: 50%;
  z-index: 4;
  width: fit-content;
  margin: 0;
  padding: 9px 14px;
  border: 1px solid #edc5d4;
  border-radius: 999px;
  background: rgba(255, 250, 252, .96);
  box-shadow: 0 8px 24px rgba(104, 29, 58, .1);
  color: #8b3455;
  font-size: 12px;
  font-weight: 800;
  transform: translateX(-50%);
}
.video-library.is-loading .video-grid,
.video-library.is-loading .video-pagination,
.video-library.is-loading .video-empty {
  opacity: .72;
  pointer-events: none;
  transition: opacity .16s ease;
}
.video-library-heading > p { margin: 0 0 8px; color: #c94772; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.video-library-heading > span { max-width: 48em; display: block; margin-top: 14px; color: #806573; font-size: 13px; line-height: 1.75; }
.video-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 38px 18px; }
.video-item,
.video-item:nth-child(1),
.video-item:nth-child(4),
.video-item:nth-child(3n + 1) { grid-column: auto; }
.video-poster,
.video-item:nth-child(1) .video-poster,
.video-item:nth-child(4) .video-poster,
.video-item:nth-child(3n + 1) .video-poster { height: auto; aspect-ratio: 16 / 10; border-radius: 14px; }
.video-item-copy strong { font-size: 18px; }
.video-contact { border-top: 1px solid #edd6df; background: linear-gradient(135deg, #fff, #fff4f7); }
.video-detail { padding-top: 112px; }
.video-detail-player { border-radius: 14px; box-shadow: 0 18px 54px rgba(104, 29, 58, .11); }
.video-detail-copy { padding: 10px 0 0; }
.video-detail-copy h1 { font-size: clamp(32px, 3.2vw, 48px); }

@media (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .decision-salary-card,
  :where(:root:not([data-public-theme="light"])) .decision-facts,
  :where(:root:not([data-public-theme="light"])) .decision-support-grid article { border-color: #5d3b49; background: #2b1d24; box-shadow: none; }
  :where(:root:not([data-public-theme="light"])) .decision-salary-card-featured,
  :where(:root:not([data-public-theme="light"])) .decision-support-grid article:nth-child(2),
  :where(:root:not([data-public-theme="light"])) .decision-support-grid article:nth-child(3),
  :where(:root:not([data-public-theme="light"])) .decision-support-grid article:nth-child(5),
  :where(:root:not([data-public-theme="light"])) .decision-support-grid article:nth-child(6) { background: #321f28; }
  :where(:root:not([data-public-theme="light"])) .decision-section-heading h2,
  :where(:root:not([data-public-theme="light"])) .decision-conditions-title h2,
  :where(:root:not([data-public-theme="light"])) .decision-support-heading h2,
  :where(:root:not([data-public-theme="light"])) .decision-support-grid h3,
  :where(:root:not([data-public-theme="light"])) .decision-salary-card strong,
  :where(:root:not([data-public-theme="light"])) .decision-facts dd { color: #f4e7ed; }
  :where(:root:not([data-public-theme="light"])) .decision-fee,
  :where(:root:not([data-public-theme="light"])) .decision-remote-note { border-color: #5d3b49; background: #301f27; color: #d6bdc8; }
  :where(:root:not([data-public-theme="light"])) .decision-conditions { background: linear-gradient(135deg, #1d1519, #281920); }
  :where(:root:not([data-public-theme="light"])) .decision-condition-tags span { border-color: #67404f; background: #2b1d24; color: #deb5c5; }
}

@media (max-width: 900px) {
  .decision-conditions { grid-template-columns: 1fr; gap: 34px; }
  .decision-conditions-title { max-width: 650px; }
  .decision-condition-tags { margin-top: 0; }
  .decision-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .decision-salary { padding: 58px 16px 50px; }
  .decision-section-heading { justify-content: flex-start; gap: 15px; margin-bottom: 25px; }
  .decision-daily-pay { width: 68px; height: 68px; font-size: 15px; }
  .decision-section-heading h2,
  .decision-conditions-title h2,
  .decision-support-heading h2 { font-size: clamp(29px, 8.5vw, 38px); }
  .decision-salary-grid { grid-template-columns: 1fr; gap: 10px; }
  .decision-salary-card { min-height: 126px; grid-template-columns: 1fr auto; justify-items: start; align-items: center; padding: 20px; text-align: left; }
  .decision-salary-card > span { align-self: end; }
  .decision-salary-card small { align-self: start; margin: 4px 0 0; }
  .decision-salary-card strong { grid-column: 2; grid-row: 1 / 3; justify-self: end; margin: 0; }
  .decision-salary-card strong b { font-size: clamp(37px, 11vw, 48px); }
  .decision-fee { grid-template-columns: auto 1fr; gap: 8px 16px; padding: 15px 17px; }
  .decision-fee strong { justify-self: end; }
  .decision-fee small { grid-column: 1 / -1; justify-self: start; }
  .decision-conditions { gap: 28px; padding: 58px 16px; }
  .decision-conditions-title > span { margin-top: 13px; }
  .decision-facts > div { grid-template-columns: 92px 1fr; min-height: 58px; padding: 0 15px; }
  .decision-facts dd { font-size: 12px; }
  .decision-facts dd small { display: block; margin: 2px 0 0; }
  .decision-condition-tags { justify-content: flex-start; flex-wrap: nowrap; margin-right: -16px; overflow-x: auto; padding-right: 16px; scrollbar-width: none; }
  .decision-condition-tags::-webkit-scrollbar { display: none; }
  .decision-condition-tags span { flex: 0 0 auto; }
  .decision-support { padding: 60px 16px 52px; }
  .decision-support-heading { text-align: left; }
  .decision-support-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 26px; }
  .decision-support-grid article { min-height: 196px; padding: 18px 14px; }
  .decision-support-grid article > span { width: 39px; height: 39px; }
  .decision-support-grid h3 { margin-top: 14px; font-size: 15px; line-height: 1.45; }
  .decision-support-grid p { font-size: 10px; }
  .decision-remote-note { grid-template-columns: 1fr; gap: 4px; padding: 15px 17px; }
  .decision-support + .diagnosis-section { padding-top: 38px; }
  .video-page-hero { min-height: 370px; padding: 104px 20px 48px; }
  .video-page-hero > h1 { font-size: clamp(39px, 11vw, 48px); }
  .video-page-hero > span { font-size: 13px; }
  .video-library { padding: 40px 16px 70px; }
  .video-library-heading > span { font-size: 12px; }
  .video-grid { grid-template-columns: 1fr; gap: 30px; }
  .video-item-copy strong { font-size: 17px; }
  .video-detail { padding-top: 92px; }
}

@media (max-width: 340px) {
  .decision-salary-card { grid-template-columns: 1fr; }
  .decision-salary-card strong { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 10px; }
  .decision-support-grid { grid-template-columns: 1fr; }
  .decision-support-grid article { min-height: 0; }
}

/* SEG library: keep the introduction short so videos, not repeated headings, lead. */
.public-site.video-page--compact .video-page-hero { min-height: 0; padding: 28px max(32px, calc((100% - 1176px) / 2)) 24px; }
.video-page--compact .video-page-hero > h1 { max-width: none; font-size: 42px; line-height: 1.2; }
.video-page--compact .video-page-hero > span { margin-top: 12px; }
.video-page--compact .video-library { padding-top: 20px; }
.video-page--compact .video-search-row { margin-top: 0; }
.video-page--compact .video-tools { margin-top: 12px; padding: 8px 0; gap: 8px; }
.video-page--compact .video-tools > .video-result-count { margin-left: auto; }
.video-page--compact .video-filters { margin-top: 12px; }
.video-page--compact .video-filters a,
.video-page--compact .video-view-tabs a,
.video-page--compact .video-view-tabs button,
.video-page--compact .video-sort select,
.video-page--compact .video-sort button { min-height: 44px; }
.video-page--compact .video-grid { margin-top: 16px; }
@media (max-width: 767px) {
  .public-site.video-page--compact .video-page-hero { padding: 12px 16px; }
  .video-page--compact .video-page-hero > p { margin-bottom: 6px; font-size: 11px; }
  .video-page--compact .video-page-hero > h1 { font-size: clamp(26px, 7.5vw, 30px); line-height: 1.25; letter-spacing: -.035em; }
  .video-page--compact .video-page-hero > span { margin-top: 8px; font-size: 14px; line-height: 1.6; }
  .video-page--compact .video-library { padding-top: 12px; }
  .video-page--compact .video-search-row { grid-template-columns: minmax(0, 1fr) 60px; gap: 6px 8px; }
  .video-page--compact .video-search input { min-width: 0; font-size: 16px; }
  .video-page--compact .video-tools { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; margin-top: 8px; padding: 4px 0; gap: 4px 12px; }
  .video-page--compact .video-view-tabs { grid-column: 1 / -1; padding: 2px; }
  .video-page--compact .video-tools > .video-result-count { margin: 0; }
  .public-site.video-page--compact .video-tools .video-sort { padding-right: 0; }
  .video-page--compact .video-sort select { min-width: 0; max-width: 100%; font-size: 16px; }
  .video-page--compact .video-filters { flex-wrap: nowrap; overflow-x: auto; gap: 8px; margin-top: 8px; padding: 2px 2px 6px; scroll-padding-inline: 2px; }
  .video-page--compact .video-grid { margin-top: 8px; }
}

/* Store video operations: dense, server-driven lists with explicit destructive states. */
.admin-video-list-head,
.admin-performer-list-head { align-items: start; gap: 18px; }
.admin-video-filter { display: grid; grid-template-columns: minmax(150px, 1.2fr) repeat(4, minmax(120px, .8fr)) auto; gap: 8px; width: min(920px, 100%); }
.admin-performer-list-head .admin-video-filter { grid-template-columns: minmax(180px, 1fr) 180px auto; width: min(560px, 100%); }
.admin-video-filter input,
.admin-video-filter select,
.admin-video-filter button { min-height: 44px; border: 1px solid #d9cfd5; border-radius: 8px; background: #fff; color: #44373f; font: inherit; font-size: 12px; }
.admin-video-filter input,
.admin-video-filter select { padding: 0 11px; }
.admin-video-filter button { border-color: #772744; background: #772744; color: #fff; font-weight: 800; cursor: pointer; }
.admin-status-feedback { min-height: 16px; display: block; margin-top: 4px; color: #796d74; font-size: 9px; }
.admin-status-feedback.is-success { color: #28725d; }
.admin-status-feedback.is-error { color: #a02846; }
.admin-status-form[aria-busy="true"] select { opacity: .68; cursor: progress; }
.admin-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 20px; }
.admin-pagination a,
.admin-pagination span { display: inline-grid; min-width: 44px; min-height: 44px; place-items: center; border: 1px solid #ded4da; border-radius: 8px; color: #5d3a49; text-decoration: none; }
.admin-pagination .active { border-color: #772744; background: #772744; color: #fff; }
.admin-performer-main .admin-heading > div > span { display: block; margin-top: 8px; color: #796d74; font-size: 12px; }
.admin-performer-guide { margin-bottom: 18px; padding: 18px 20px; border-left: 4px solid #772744; background: #fff; box-shadow: 0 12px 32px rgba(91, 46, 64, .08); }
.admin-performer-guide ol { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 10px 0; padding-left: 20px; color: #51444b; font-size: 12px; }
.admin-performer-guide p { margin: 0; color: #776a71; font-size: 11px; }
.admin-performer-row { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(260px, 1.5fr) 110px minmax(210px, 1fr); align-items: center; gap: 18px; padding: 18px 22px; border-bottom: 1px solid #ece5e9; }
.admin-performer-row:last-child { border-bottom: 0; }
.admin-performer-row > div:first-child { display: grid; gap: 7px; }
.admin-performer-row > div:first-child > strong { font-size: 15px; }
.performer-state { width: fit-content; color: #28725d; font-size: 10px; font-weight: 800; }
.performer-state.is-departed { color: #a02846; }
.admin-performer-row dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
.admin-performer-row dl div { padding: 2px 14px; border-left: 1px solid #e4dbe0; }
.admin-performer-row dt { color: #82747c; font-size: 10px; }
.admin-performer-row dd { margin: 4px 0 0; color: #3d3038; font-size: 16px; font-weight: 800; }
.performer-video-link { min-height: 44px; display: grid; place-items: center; border: 1px solid #bbaab3; border-radius: 8px; color: #5f3547; font-size: 11px; font-weight: 800; text-decoration: none; }
.performer-retire-form { margin: 0; }
.performer-retire-form p,
.performer-restore-form p { margin: 0 0 6px; color: #796c73; font-size: 10px; }
.performer-archived-actions { display: grid; gap: 8px; }
.performer-restore-form { margin: 0; }
.performer-restore-form button { min-height: 44px; width: 100%; border: 1px solid #2f7664; border-radius: 8px; background: #eaf7f2; color: #215d4e; font-weight: 800; cursor: pointer; }
.performer-retire-form button,
.performer-delete-confirm button { min-height: 44px; width: 100%; border: 1px solid #765b66; border-radius: 8px; background: #fff; color: #624251; font-weight: 800; cursor: pointer; }
.performer-delete-confirm summary { min-height: 44px; display: flex; align-items: center; color: #9b2749; cursor: pointer; font-size: 11px; font-weight: 800; }
.performer-delete-confirm form { display: grid; gap: 10px; margin-top: 10px; padding: 14px; border: 1px solid #dcb5c2; border-radius: 8px; background: #fff7f9; }
.performer-delete-confirm p,
.performer-delete-confirm label { margin: 0; color: #634d57; font-size: 10px; line-height: 1.6; }
.performer-delete-confirm input[type="text"],
.performer-delete-confirm input:not([type]) { min-height: 44px; width: 100%; margin-top: 5px; padding: 0 10px; border: 1px solid #cfadb9; border-radius: 6px; }
.performer-delete-confirm button { border-color: #9b2749; background: #9b2749; color: #fff; }

@media (max-width: 1050px) {
  .admin-video-filter { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-video-filter button { grid-column: 1 / -1; }
  .admin-performer-row { grid-template-columns: minmax(160px, 1fr) minmax(240px, 1.4fr) 100px; }
  .admin-performer-row > form,
  .admin-performer-row > details,
  .admin-performer-row > .performer-archived-actions { grid-column: 1 / -1; }
}

@media (max-width: 767px) {
  .admin-video-filter,
  .admin-performer-list-head .admin-video-filter { grid-template-columns: 1fr; width: 100%; }
  .admin-video-filter button { grid-column: auto; }
  .admin-performer-guide ol { display: grid; }
  .admin-performer-row { grid-template-columns: 1fr; gap: 14px; padding: 18px 16px; }
  .admin-performer-row dl { order: 2; }
  .admin-performer-row .performer-video-link { order: 3; }
  .admin-performer-row > form,
  .admin-performer-row > details,
  .admin-performer-row > .performer-archived-actions { grid-column: auto; order: 4; }
}

/* SEG mobile primary actions must not disappear while scrolling. */
@media (max-width: 767px) {
  .mobile-contact-bar {
    display: grid;
    visibility: visible;
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }

  body:not(.consultation-form-open) .guide-chat {
    visibility: visible;
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
}

/* Store dashboard: attention-first, store-scoped operational summary. */
.admin-dashboard-main { width: 100%; max-width: 1240px; }
.admin-dashboard-heading > div > span { display: block; margin-top: 8px; color: #796d74; font-size: 12px; }
.admin-dashboard-heading > time { color: #806f78; font-size: 12px; font-weight: 700; }
.dashboard-priority,
.dashboard-summary,
.dashboard-panel { margin-top: 30px; }
.dashboard-section-heading { min-height: 52px; display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 13px; }
.dashboard-section-heading h2 { margin: 0; color: #41343b; font-size: 19px; }
.dashboard-section-heading p { margin: 5px 0 0; color: #8a7b83; font-size: 10px; }
.dashboard-section-heading > a { min-height: 44px; display: inline-flex; align-items: center; color: #78384f; font-size: 11px; font-weight: 800; text-decoration: none; }
.dashboard-priority-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: hidden; border: 1px solid #dfd5da; border-radius: 14px; background: #dfd5da; gap: 1px; }
.dashboard-priority-item { min-height: 132px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; gap: 8px 16px; padding: 22px; background: #fff; color: #493b42; text-decoration: none; }
.dashboard-priority-item > span { font-size: 11px; font-weight: 800; }
.dashboard-priority-item > strong { grid-column: 2; grid-row: 1 / 3; align-self: center; color: #5d3a49; font-size: 29px; line-height: 1; }
.dashboard-priority-item > small { align-self: end; color: #8c7b83; font-size: 10px; }
.dashboard-priority-item.is-urgent { box-shadow: inset 4px 0 0 #a3264d; background: #fff9fb; }
.dashboard-priority-item.is-urgent > strong { color: #a3264d; }
.dashboard-priority-item.is-caution { box-shadow: inset 4px 0 0 #a76a24; background: #fffaf4; }
.dashboard-priority-item.is-caution > strong { color: #8e571d; }
.dashboard-metric-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); overflow: hidden; border: 1px solid #e1d8dd; border-radius: 14px; background: #e1d8dd; gap: 1px; }
.dashboard-metric-grid > a { min-height: 118px; display: flex; flex-direction: column; padding: 18px 16px; background: #fff; color: #4a3b43; text-decoration: none; }
.dashboard-metric-grid span { color: #786a72; font-size: 10px; font-weight: 800; }
.dashboard-metric-grid strong { margin-top: 10px; color: #5d3345; font-size: 26px; line-height: 1; }
.dashboard-metric-grid small { margin-top: auto; color: #94858d; font-size: 8px; line-height: 1.45; }
.dashboard-lower-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 16px; }
.dashboard-panel { padding: 22px; border: 1px solid #e2d9de; border-radius: 14px; background: #fff; }
.dashboard-lower-grid .dashboard-panel { min-height: 300px; }
.dashboard-schedule-list { border-top: 1px solid #e8e0e4; }
.dashboard-schedule-list > a { min-height: 66px; display: grid; grid-template-columns: 76px minmax(0, 1fr) 20px; align-items: center; gap: 12px; border-bottom: 1px solid #eee7ea; color: #493b42; text-decoration: none; }
.dashboard-schedule-list time { display: flex; align-items: baseline; gap: 7px; color: #812d4d; }
.dashboard-schedule-list time strong { font-size: 17px; }
.dashboard-schedule-list time span { font-size: 10px; }
.dashboard-schedule-list > a > span { display: grid; gap: 3px; min-width: 0; }
.dashboard-schedule-list > a > span strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-schedule-list > a > span small { color: #8b7c84; font-size: 9px; }
.dashboard-schedule-list i { color: #9c6b7e; font-size: 20px; font-style: normal; }
.dashboard-inline-notice { min-height: 44px; display: flex; align-items: center; margin-top: 12px; padding: 0 13px; border-radius: 8px; background: #fff2f6; color: #8d2d50; font-size: 10px; font-weight: 800; text-decoration: none; }
.dashboard-system-list { margin: 0; border-top: 1px solid #e8e0e4; }
.dashboard-system-list > div { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #eee7ea; }
.dashboard-system-list dt { display: grid; gap: 2px; color: #594951; font-size: 10px; font-weight: 700; }
.dashboard-system-list dt small { color: #9a8b92; font-size: 8px; font-weight: 500; }
.dashboard-system-list dd { margin: 0; color: #4f3e46; font-size: 14px; font-weight: 850; }
.dashboard-system-list dd a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: flex-end; color: inherit; text-decoration: none; }
.dashboard-system-list dd.is-alert { color: #a3264d; }
.dashboard-system-ok,
.dashboard-system-warning { margin: 14px 0 0; padding: 11px 12px; border-radius: 8px; font-size: 9px; line-height: 1.6; }
.dashboard-system-ok { background: #eef7f3; color: #2d6957; }
.dashboard-system-warning { background: #fff0f4; color: #922d4e; }
.dashboard-audit { margin-bottom: 30px; }
.dashboard-audit-list { border-top: 1px solid #e8e0e4; }
.dashboard-audit-list > div { min-height: 52px; display: grid; grid-template-columns: 90px minmax(0, 1fr) minmax(100px, auto); align-items: center; gap: 14px; border-bottom: 1px solid #eee7ea; }
.dashboard-audit-list time { color: #85767e; font-size: 9px; }
.dashboard-audit-list strong { color: #493a42; font-size: 11px; }
.dashboard-audit-list span { color: #897981; font-size: 9px; text-align: right; }
.dashboard-empty { min-height: 150px; display: grid; place-content: center; gap: 6px; padding: 24px; text-align: center; }
.dashboard-empty strong { color: #5b4a52; font-size: 12px; }
.dashboard-empty p { margin: 0; color: #94868d; font-size: 9px; }
.dashboard-priority-item:focus-visible,
.dashboard-metric-grid > a:focus-visible,
.dashboard-schedule-list > a:focus-visible,
.dashboard-section-heading > a:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(163,38,77,.28); outline-offset: -3px; }
.consultation-work-filter { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 16px; border-top: 1px solid #eadde3; border-bottom: 1px solid #eadde3; background: #fff7fa; color: #6e3a4e; font-size: 10px; font-weight: 750; }
.consultation-work-filter a { min-height: 44px; display: inline-flex; align-items: center; color: #8b2c4e; font-weight: 850; }

@media (prefers-reduced-motion: no-preference) {
  .dashboard-priority-item,
  .dashboard-metric-grid > a,
  .dashboard-schedule-list > a { transition: background .15s ease, transform .15s ease; }
  .dashboard-priority-item:hover,
  .dashboard-metric-grid > a:hover,
  .dashboard-schedule-list > a:hover { background: #fff8fb; }
  .dashboard-priority-item:active,
  .dashboard-metric-grid > a:active,
  .dashboard-schedule-list > a:active { transform: translateY(1px); }
}

@media (max-width: 1100px) {
  .dashboard-metric-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
  .dashboard-lower-grid { grid-template-columns: 1fr; }
  .dashboard-priority-grid { grid-template-columns: 1fr; }
  .dashboard-priority-item { min-height: 96px; }
}

@media (max-width: 560px) {
  .admin-dashboard-main { padding-inline: 16px; }
  .admin-dashboard-heading { align-items: start; }
  .admin-dashboard-heading > time { margin-top: 5px; }
  .dashboard-priority,
  .dashboard-summary,
  .dashboard-panel { margin-top: 22px; }
  .dashboard-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-metric-grid > a { min-height: 108px; padding: 15px 13px; }
  .dashboard-panel { padding: 17px; }
  .dashboard-section-heading { align-items: start; }
  .dashboard-audit-list > div { grid-template-columns: 64px minmax(0, 1fr); gap: 9px; padding: 8px 0; }
  .dashboard-audit-list span { grid-column: 2; text-align: left; }
  .consultation-work-filter { align-items: start; flex-direction: column; gap: 0; }
}

@media (prefers-color-scheme: dark) {
  :where(:root:not([data-public-theme="light"])) .dashboard-section-heading h2 { color: #f1e8ed; }
  :where(:root:not([data-public-theme="light"])) .dashboard-section-heading p,
  :where(:root:not([data-public-theme="light"])) .admin-dashboard-heading > div > span,
  :where(:root:not([data-public-theme="light"])) .admin-dashboard-heading > time { color: #b9aab3; }
  :where(:root:not([data-public-theme="light"])) .dashboard-priority-grid,
  :where(:root:not([data-public-theme="light"])) .dashboard-metric-grid { border-color: #4b3d45; background: #4b3d45; }
  :where(:root:not([data-public-theme="light"])) .dashboard-priority-item,
  :where(:root:not([data-public-theme="light"])) .dashboard-metric-grid > a,
  :where(:root:not([data-public-theme="light"])) .dashboard-panel { border-color: #4b3d45; background: #211a23; color: #f0e7ec; }
  :where(:root:not([data-public-theme="light"])) .dashboard-priority-item.is-urgent { background: #2b1c23; }
  :where(:root:not([data-public-theme="light"])) .dashboard-priority-item.is-caution { background: #29221b; }
  :where(:root:not([data-public-theme="light"])) .dashboard-priority-item > strong,
  :where(:root:not([data-public-theme="light"])) .dashboard-metric-grid strong { color: #e0b5c6; }
  :where(:root:not([data-public-theme="light"])) .dashboard-priority-item > small,
  :where(:root:not([data-public-theme="light"])) .dashboard-metric-grid span,
  :where(:root:not([data-public-theme="light"])) .dashboard-metric-grid small { color: #b8a8b1; }
  :where(:root:not([data-public-theme="light"])) .dashboard-schedule-list,
  :where(:root:not([data-public-theme="light"])) .dashboard-system-list,
  :where(:root:not([data-public-theme="light"])) .dashboard-audit-list { border-color: #493c43; }
  :where(:root:not([data-public-theme="light"])) .dashboard-schedule-list > a,
  :where(:root:not([data-public-theme="light"])) .dashboard-system-list > div,
  :where(:root:not([data-public-theme="light"])) .dashboard-audit-list > div { border-color: #493c43; color: #f0e7ec; }
  :where(:root:not([data-public-theme="light"])) .dashboard-schedule-list > a > span small,
  :where(:root:not([data-public-theme="light"])) .dashboard-system-list dt,
  :where(:root:not([data-public-theme="light"])) .dashboard-audit-list time,
  :where(:root:not([data-public-theme="light"])) .dashboard-audit-list span { color: #b7a8b0; }
  :where(:root:not([data-public-theme="light"])) .dashboard-system-list dd,
  :where(:root:not([data-public-theme="light"])) .dashboard-audit-list strong,
  :where(:root:not([data-public-theme="light"])) .dashboard-empty strong { color: #f0e7ec; }
  :where(:root:not([data-public-theme="light"])) .dashboard-empty p { color: #b7a8b0; }
}
/* Shared video presentation, enabled per store. Equal frames never crop portrait thumbnails. */
body[data-video-orientation-enabled] .video-poster.static-video-poster,
body[data-video-orientation-enabled] .video-item:nth-child(n) .video-poster {
  height: auto;
  aspect-ratio: 16 / 9;
}
body[data-video-orientation-enabled] .video-poster img,
body[data-video-orientation-enabled] .video-related-grid img,
body[data-video-orientation-enabled] .admin-thumb img,
body[data-video-orientation-enabled] .admin-video-current video,
body[data-video-orientation-enabled] .admin-video-current img,
body[data-video-orientation-enabled] .video-thumbnail-choices img,
body[data-video-orientation-enabled] [data-video-replacement-preview] {
  object-fit: contain;
}
body[data-video-orientation-enabled] .video-related-grid img { aspect-ratio: 16 / 9; }
body[data-video-orientation-enabled] .video-sort { flex-wrap: wrap; }
body[data-video-orientation-enabled] .video-sort select { min-height: 44px; }
.video-orientation-label { display: inline-block; margin-left: .5em; font-size: 12px; font-weight: 600; }
.publish-state .video-orientation-label { display: block; margin: 4px 0 0; }
body[data-video-orientation-enabled] .video-detail-player[data-video-player] {
  --player-room: min(720px, calc(100svh - 160px));
  width: min(100%, calc(var(--player-room) * var(--video-ratio)));
  aspect-ratio: var(--video-ratio);
  justify-self: center;
  background: #231d21;
}
@media (max-width: 700px) {
  body[data-video-orientation-enabled] .video-detail-player[data-video-player] {
    /* Reserve header, breadcrumb and always-visible contact/question controls. Stable on browser-bar changes. */
    --player-room: max(180px, calc(100svh - 270px));
  }
  body[data-video-orientation-enabled] .video-tools .video-sort {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    width: 100%;
    box-sizing: border-box;
    padding-right: 140px;
  }
  body[data-video-orientation-enabled] .video-sort select { width: 100%; min-width: 0; }
  body[data-video-orientation-enabled] .video-sort button { grid-column: 2; }
}
