/* Round 12: final pass (booking). Loaded after the r7 files. */
/* The appointment request form on the booking page, its confirmation, the
   home page booking card's link to it, and (section 6) the Booking requests
   screens in the dashboard, which load this file too.

   Scoping: the booking page's rules carry .page-template-template-booking;
   the form's own classes (.bkf-*) exist only there; the home page rules sit
   under .booking-entry, the booking card's own wrapper. */


/* ==========================================================================
   1. Home page booking card (brief item 4): no rule under the telephone
      box, and a short link to the request form in place of the note.
   ========================================================================== */

.premium-inner .booking-entry .booking-help { padding-top: 0; border-top: 0; }
.premium-inner .booking-entry .booking-help--form {
  display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.45rem;
  margin: 1.15rem 0 0; color: var(--body); font-size: 0.9375rem; line-height: 1.5;
}
.premium-inner .booking-help__link {
  display: inline-flex; align-items: center; gap: 0.35rem; color: var(--ortho); font-weight: 700;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.22em;
}
.premium-inner .booking-help__link svg { flex: none; transition: transform 0.2s ease; }
.premium-inner .booking-help__link:hover { color: var(--ink); }
.premium-inner .booking-help__link:hover svg { transform: translateX(3px); }


/* ==========================================================================
   2. The booking page around the form
   ========================================================================== */

/* The fast alternative under the title: call the office. */
.page-template-template-booking .bk-alt.bk-call {
  display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 0.85rem 1rem;
  padding: 0.95rem 1rem; border: 1px solid color-mix(in srgb, var(--bk-l) 16%, #e5e1ea); border-radius: 1.1rem; background: var(--bk-lt2);
}
.page-template-template-booking .bk-alt__ic {
  display: grid; place-items: center; width: 2.6rem; height: 2.6rem; border-radius: 0.8rem;
  background: #fff; color: var(--bk-l); box-shadow: 0 6px 16px -10px rgba(26, 18, 54, 0.4);
}
.page-template-template-booking .bk-alt__txt { display: grid; gap: 0.1rem; margin: 0; color: var(--body); font-size: 0.88rem; line-height: 1.4; }
.page-template-template-booking .bk-alt__txt strong { color: var(--ink); font-size: 0.98rem; font-weight: 700; }
.page-template-template-booking .bk-alt__btn { grid-column: 1 / -1; width: 100%; background: #fff; }
.page-template-template-booking .bk-alt__btn:hover { background: var(--ink); color: #fff; }
@media (min-width: 40rem) {
  .page-template-template-booking .bk-alt.bk-call { grid-template-columns: auto minmax(0, 1fr) auto; padding: 0.85rem 0.85rem 0.85rem 1rem; }
  .page-template-template-booking .bk-alt__btn { grid-column: auto; width: auto; white-space: nowrap; }
}

/* Beside the form (under it on a phone and tablet): what happens next, then
   what the first visit holds. On a phone and tablet it comes before the
   office card, closer to the form it explains. */
.page-template-template-booking .bk-next {
  display: grid; gap: 1.35rem; min-width: 0; padding: clamp(1.25rem, 1rem + 1vw, 1.6rem);
  border: 1px solid var(--line-soft, #e5e1ea); border-radius: 1.5rem; background: #fff;
  box-shadow: 0 30px 70px -56px rgba(26, 18, 54, 0.5);
}
.page-template-template-booking .bk-next[hidden],
.page-template-template-booking [data-bk-next-steps][hidden],
.page-template-template-booking .bk-visit__col[hidden] { display: none; }
.page-template-template-booking .bk-next__k {
  margin: 0 0 1rem; color: var(--muted, #6b6478); font-family: var(--text); font-size: 0.72rem; font-weight: 800;
  letter-spacing: 0.13em; line-height: 1.2; text-transform: uppercase;
}
.page-template-template-booking .bk-next__steps { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.page-template-template-booking .bk-next__steps li { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); align-items: start; gap: 0.8rem; margin: 0; }
.page-template-template-booking .bk-next__n { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 0.7rem; background: var(--bk-lt); color: var(--bk-l); }
.page-template-template-booking .bk-next__t { display: grid; gap: 0.12rem; color: var(--body); font-size: 0.88rem; line-height: 1.45; }
.page-template-template-booking .bk-next__t strong { color: var(--ink); font-size: 0.96rem; font-weight: 700; line-height: 1.3; }
.page-template-template-booking .bk-next .bk-visit__col { padding: 1.1rem 1.2rem 1.2rem; }

@media (max-width: 79.99rem) {
  .page-template-template-booking .bk--form .bk-next { order: -1; }
}
@media (min-width: 48rem) and (max-width: 79.99rem) {
  .page-template-template-booking .bk-next__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
  .page-template-template-booking .bk-next__steps li { grid-template-columns: 1fr; gap: 0.65rem; }
}

/* Two columns from 80rem: the office card keeps its photograph's ratio (the
   form is far taller than it, so the photograph no longer stretches to the
   form's height), and the "after you send it" card stays in view beside the
   form as it is filled in. */
@media (min-width: 80rem) {
  .page-template-template-booking .bk--form .bk-aside { display: flex; flex-direction: column; gap: 1rem; }
  .page-template-template-booking .bk--form .bk-place { flex: none; }
  .page-template-template-booking .bk--form .bk-aside .bk-place__photo { flex: none; aspect-ratio: 16 / 10; }
  .page-template-template-booking .bk--form .bk-next { position: sticky; top: calc(var(--header-h, 81px) + 1.25rem); }
  .page-template-template-booking .bk-next .bk-visit--both { grid-template-columns: 1fr; }
  .page-template-template-booking .bk-next .bk-visit:not(.bk-visit--both) .bk-visit__list { grid-template-columns: 1fr; gap: 0.65rem; }
}


/* ==========================================================================
   3. The form
   ========================================================================== */

.bkf { display: grid; gap: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); min-width: 0; scroll-margin-top: calc(var(--header-h, 81px) + 1rem); }
.bkf .bk-steps { gap: clamp(2rem, 1.6rem + 1.4vw, 2.6rem); }
.bkf-set { min-width: 0; min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.bkf-legend { display: block; width: 100%; margin: 0; padding: 0; }
.bkf-set > .bkf-error { margin: -0.35rem 0 0.8rem; }

/* The honeypot, out of sight and out of reach. */
.bkf-hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Two columns from 40rem; wide fields span both. */
.bkf-grid { display: grid; gap: 1.2rem; min-width: 0; }
@media (min-width: 40rem) {
  .bkf-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.3rem 1.1rem; }
  .bkf-field--full { grid-column: 1 / -1; }
}

/* A pair that shares a row only while both halves show: the patient and the
   parent (a child's visit), the insurance and its name ("Other"). */
.bkf-duo { display: grid; gap: 1.2rem; min-width: 0; }
@media (min-width: 40rem) {
  .bkf-duo { grid-column: 1 / -1; gap: 1.3rem 1.1rem; }
  .bkf-duo:has(> .bkf-field + .bkf-field:not([hidden])) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.bkf-field { display: grid; gap: 0.45rem; align-content: start; min-width: 0; min-inline-size: 0; margin: 0; padding: 0; border: 0; }
.bkf-field[hidden] { display: none; }
fieldset.bkf-field { display: block; }
fieldset.bkf-field > legend { display: block; width: 100%; padding: 0 0 0.45rem; }
fieldset.bkf-field > .bkf-error { margin-top: 0.45rem; }

.bkf-label { display: block; margin: 0; color: var(--ink); font-size: 0.92rem; font-weight: 700; line-height: 1.35; letter-spacing: -0.005em; }
.bkf-opt { color: var(--muted, #6b6478); font-weight: 500; }
.bkf-hint { margin: 0; color: var(--body); font-size: 0.84rem; line-height: 1.45; }
.bkf-hint--split { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.bkf-count { flex: none; color: var(--muted, #6b6478); font-variant-numeric: tabular-nums; }
.bkf-count[hidden] { display: none; }

/* Inputs: the site's field style (search form), a touch taller for thumbs,
   16px text so a phone does not zoom in. */
.bkf-input {
  display: block; width: 100%; min-width: 0; min-height: 3.35rem; margin: 0; padding: 0.8rem 1rem;
  border: 1.5px solid #dcd6e5; border-radius: 0.85rem; background: #fff; box-shadow: 0 1px 2px rgba(26, 18, 54, 0.04);
  color: var(--ink); font-family: var(--text); font-size: 1rem; line-height: 1.4;
  -webkit-appearance: none; appearance: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.bkf-input::placeholder { color: #9a95ab; opacity: 1; }
.bkf-input:hover { border-color: #c7bfd4; }
.bkf-input:focus { outline: none; border-color: var(--bk-l); box-shadow: 0 0 0 4px color-mix(in srgb, var(--bk-l) 16%, transparent); }
.bkf-input:disabled { background: var(--mist); }
.bkf-input--note { min-height: 6.75rem; resize: vertical; }
.bkf-input--date::-webkit-date-and-time-value { text-align: left; }
.bkf-input--date::-webkit-calendar-picker-indicator { opacity: 0.7; cursor: pointer; }
.bkf-select { position: relative; display: block; min-width: 0; }
.bkf-select::after {
  content: ""; position: absolute; top: 50%; right: 1.1rem; width: 0.5rem; height: 0.5rem;
  border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); transform: translateY(-70%) rotate(45deg); pointer-events: none;
}
.bkf-select .bkf-input { padding-right: 2.75rem; text-overflow: ellipsis; cursor: pointer; }

/* Errors: a red border, a line under the field, and a summary on top. */
.bkf-error { display: flex; align-items: flex-start; gap: 0.45rem; margin: 0; color: #b3261e; font-size: 0.86rem; font-weight: 600; line-height: 1.4; }
.bkf-error::before {
  content: "!"; display: grid; place-items: center; flex: none; width: 1.1rem; height: 1.1rem; margin-top: 0.08rem;
  border-radius: 999px; background: #b3261e; color: #fff; font-size: 0.72rem; font-weight: 800; line-height: 1;
}
.bkf-error[hidden] { display: none; }
.is-invalid .bkf-input,
.bkf-input[aria-invalid="true"] { border-color: #b3261e; background: #fffbfa; }
.is-invalid .bkf-input:focus { box-shadow: 0 0 0 4px rgba(179, 38, 30, 0.14); }

.bkf-summary, .bkf-alert {
  padding: 1.05rem 1.2rem; border: 1.5px solid #ecbcb7; border-left-width: 5px; border-left-color: #b3261e;
  border-radius: 1rem; background: #fff7f6; color: #8c1d18;
}
.bkf-summary[hidden], .bkf-alert[hidden] { display: none; }
.bkf-summary { scroll-margin-top: calc(var(--header-h, 81px) + 1rem); }
.bkf-summary:focus { outline: 3px solid rgba(179, 38, 30, 0.35); outline-offset: 2px; }
.bkf-summary .bkf-summary__title { margin: 0 0 0.45rem; color: #8c1d18; font-family: var(--text); font-size: 1rem; font-weight: 800; line-height: 1.3; letter-spacing: 0; }
.bkf-summary__list { display: grid; gap: 0.3rem; margin: 0; padding-left: 1.15rem; }
.bkf-summary__list li { margin: 0; }
.bkf-summary__list a { color: #8c1d18; font-size: 0.9rem; font-weight: 600; text-decoration: underline; text-underline-offset: 0.18em; }
.bkf-summary__list a:hover { color: #5e110d; }
.bkf-alert { display: flex; align-items: flex-start; gap: 0.7rem; font-size: 0.92rem; font-weight: 600; line-height: 1.5; }
.bkf-alert p { margin: 0; }
.bkf-alert__ic {
  display: grid; place-items: center; flex: none; width: 1.4rem; height: 1.4rem; margin-top: 0.05rem;
  border-radius: 999px; background: #b3261e; color: #fff; font-size: 0.8rem; font-weight: 800; line-height: 1;
}

/* A dental emergency: call rather than send a request. */
.bkf-notice {
  display: flex; align-items: flex-start; gap: 0.6rem; margin: 0.15rem 0 0; padding: 0.85rem 1rem;
  border-radius: 0.85rem; background: #fff6e6; color: #5e4210; font-size: 0.88rem; line-height: 1.45;
}
.bkf-notice[hidden] { display: none; }
.bkf-notice svg { flex: none; margin-top: 0.12rem; color: #9a6a12; }
.bkf-notice a { color: inherit; font-weight: 800; text-decoration: underline; text-underline-offset: 0.18em; white-space: nowrap; }

/* Step 1: the lane cards are the care radios. */
.page-template-template-booking .bkf .bk-lane { cursor: pointer; }
.bkf-lane-input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.page-template-template-booking .bkf .bk-lane:has(.bkf-lane-input:checked) { border-color: var(--l); background: var(--lt2); box-shadow: inset 0 0 0 1px var(--l); }
.page-template-template-booking .bkf .bk-lane:has(.bkf-lane-input:checked) .bk-lane__icon { background: var(--l); color: #fff; }
.page-template-template-booking .bkf .bk-lane:has(.bkf-lane-input:checked) .bk-lane__check { border-color: var(--l); background: var(--l); color: #fff; }
.page-template-template-booking .bkf .bk-lane:has(.bkf-lane-input:focus-visible) { outline: 3px solid var(--l); outline-offset: 3px; }
.page-template-template-booking .bkf .is-invalid .bk-lane { border-color: #e3aaa4; }

/* New or existing, and the time of day: pill choices. */
.bkf-pills { display: grid; gap: 0.6rem; }
.bkf-pills--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bkf-pills--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bkf-pill { position: relative; display: block; min-width: 0; margin: 0; cursor: pointer; }
.bkf-pill input { position: absolute; top: 0; left: 0; width: 1px; height: 1px; margin: 0; opacity: 0; }
.bkf-pill span {
  display: flex; align-items: center; justify-content: center; min-height: 3.35rem; padding: 0.55rem 0.7rem;
  border: 1.5px solid #dcd6e5; border-radius: 0.85rem; background: #fff; box-shadow: 0 1px 2px rgba(26, 18, 54, 0.04);
  color: var(--body-strong, #484159); font-size: 0.95rem; font-weight: 650; line-height: 1.25; text-align: center;
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
.bkf-pill:hover span { border-color: color-mix(in srgb, var(--bk-l) 45%, #dcd6e5); }
.bkf-pill input:checked + span { border-color: var(--bk-l); background: var(--bk-lt2); box-shadow: inset 0 0 0 1px var(--bk-l); color: var(--bk-l); }
.bkf-pill input:focus-visible + span { outline: 3px solid var(--bk-l); outline-offset: 2px; }
.is-invalid .bkf-pill span { border-color: #e3aaa4; }

/* Consent. */
.bkf-check {
  position: relative; display: grid; grid-template-columns: 1.5rem minmax(0, 1fr); align-items: start; gap: 0.8rem;
  margin: 0; padding: 1rem 1.1rem; border: 1.5px solid var(--line-soft, #e5e1ea); border-radius: 1rem; background: var(--bk-lt2); cursor: pointer;
}
.bkf-check input { position: absolute; top: 1rem; left: 1.1rem; width: 1px; height: 1px; margin: 0; opacity: 0; }
.bkf-check__box {
  display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border: 1.5px solid #b9b1c9; border-radius: 0.45rem;
  background: #fff; color: transparent; transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.bkf-check__box svg { width: 0.85rem; height: 0.85rem; }
.bkf-check input:checked + .bkf-check__box { border-color: var(--bk-l); background: var(--bk-l); color: #fff; }
.bkf-check input:focus-visible + .bkf-check__box { outline: 3px solid var(--bk-l); outline-offset: 2px; }
.bkf-check__text { color: var(--body-strong, #484159); font-size: 0.9rem; line-height: 1.5; }
.is-invalid .bkf-check { border-color: #e3aaa4; background: #fff7f6; }

/* Send. */
.bkf-submit { display: grid; justify-items: start; gap: 0.85rem; }
.bkf-send { min-width: min(100%, 19rem); gap: 0.6rem; }
.bkf-send svg { flex: none; transition: transform 0.2s ease; }
.bkf-send:hover svg { transform: translateX(3px); }
.bkf-send.is-busy, .bkf-send:disabled { cursor: progress; opacity: 0.85; transform: none; }
.bkf-send__spin {
  display: none; flex: none; width: 1.05rem; height: 1.05rem; border: 2px solid rgba(255, 255, 255, 0.4); border-top-color: #fff; border-radius: 999px;
  animation: bkf-spin 0.8s linear infinite;
}
.bkf-send.is-busy .bkf-send__spin { display: inline-block; }
.bkf-send.is-busy svg { display: none; }
@keyframes bkf-spin { to { transform: rotate(360deg); } }
.bkf-fine { max-width: 54ch; margin: 0; color: var(--body); font-size: 0.86rem; line-height: 1.5; }
.bkf-fine a { color: var(--bk-l); font-weight: 600; text-decoration: underline; text-underline-offset: 0.18em; white-space: nowrap; }
@media (max-width: 39.99rem) {
  .bkf-submit { justify-items: stretch; }
  .bkf-send { width: 100%; }
}


/* ==========================================================================
   4. The confirmation
   ========================================================================== */

.bkf-done { display: grid; gap: 1.4rem; min-width: 0; scroll-margin-top: calc(var(--header-h, 81px) + 1rem); }
.bkf-done:focus { outline: none; }
.bkf-done__head { display: flex; align-items: center; gap: 1.1rem; }
.bkf-done__icon {
  display: grid; place-items: center; flex: none; width: 3.25rem; height: 3.25rem; border-radius: 999px;
  background: var(--bk-l); color: #fff; box-shadow: 0 0 0 7px var(--bk-lt);
}
.bkf-done__titles { min-width: 0; }
.bkf-done__eyebrow { margin: 0; color: var(--bk-l); font-size: 0.74rem; font-weight: 800; letter-spacing: 0.13em; line-height: 1.2; text-transform: uppercase; }
.bkf-done .bkf-done__title { margin: 0.3rem 0 0; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.8rem); line-height: 1.2; letter-spacing: -0.025em; text-wrap: balance; }
.bkf-done__msg { max-width: 58ch; margin: 0; color: var(--body-strong, #484159); font-size: var(--fs-lede); line-height: 1.55; text-wrap: pretty; }
.bkf-done__ref {
  display: grid; justify-items: start; gap: 0.15rem; padding: 1.05rem 1.25rem;
  border: 1.5px dashed color-mix(in srgb, var(--bk-l) 38%, #e5e1ea); border-radius: 1rem; background: var(--bk-lt2);
}
.bkf-done .bkf-done__ref-k, .bkf-done .bkf-done__k { color: var(--muted, #6b6478); font-family: var(--text); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.13em; line-height: 1.2; text-transform: uppercase; }
.bkf-done__ref-v { color: var(--ink); font-family: var(--display); font-size: clamp(1.45rem, 1.2rem + 1.1vw, 1.9rem); font-weight: 700; letter-spacing: 0.03em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.bkf-done__ref-note { color: var(--body); font-size: 0.84rem; line-height: 1.4; }
.bkf-done .bkf-done__k { margin: 0 0 0.75rem; }
.bkf-done__list { margin: 0; padding: 0.2rem 1.1rem; border: 1px solid var(--line-soft, #e5e1ea); border-radius: 1rem; background: #fff; }
.bkf-done__row { display: grid; gap: 0.1rem 1rem; padding: 0.75rem 0; border-bottom: 1px solid #efecf3; }
.bkf-done__row:last-child { border-bottom: 0; }
.bkf-done__row dt { color: var(--muted, #6b6478); font-size: 0.8rem; font-weight: 700; line-height: 1.4; }
.bkf-done__row dd { margin: 0; color: var(--ink); font-size: 0.95rem; font-weight: 600; line-height: 1.45; overflow-wrap: anywhere; }
.bkf-done__row { grid-template-columns: minmax(6.25rem, 36%) minmax(0, 1fr); align-items: baseline; }
@media (min-width: 40rem) {
  .bkf-done__row { grid-template-columns: minmax(8rem, 32%) minmax(0, 1fr); }
}
.bkf-done__mailed { margin: 0.75rem 0 0; color: var(--body); font-size: 0.88rem; }
.bkf-done__steps { display: grid; gap: 0.65rem; margin: 0; padding: 0; list-style: none; counter-reset: bkf-done; }
.bkf-done__steps li { position: relative; margin: 0; padding-left: 2.3rem; color: var(--body-strong, #484159); font-size: 0.95rem; line-height: 1.5; counter-increment: bkf-done; }
.bkf-done__steps li::before {
  content: counter(bkf-done); position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 1.55rem; height: 1.55rem;
  border-radius: 999px; background: var(--bk-lt); color: var(--bk-l); font-size: 0.78rem; font-weight: 800; line-height: 1;
}
.bkf-done__acts { display: flex; flex-wrap: wrap; align-items: center; gap: 0.85rem 1.4rem; }
.bkf-done__call { background: #fff; }
.bkf-done__again { color: var(--bk-l); font-weight: 700; text-decoration: underline; text-underline-offset: 0.2em; }
.bkf-done__again:hover { color: var(--ink); }
@media (max-width: 39.99rem) {
  .bkf-done__acts { flex-direction: column; align-items: stretch; text-align: center; }
}


/* ==========================================================================
   5. Hidden states the page sets
   ========================================================================== */

.page-template-template-booking [data-bk-alt][hidden],
.page-template-template-booking [data-bk-intro][hidden],
.page-template-template-booking [data-bk-for][hidden] { display: none; }


/* ==========================================================================
   6. Dashboard: Booking requests (the list and one request)
   ========================================================================== */

.bk-admin-muted { color: #646970; font-size: 12px; }
.bk-admin-status, .bk-admin-mail__status {
  display: inline-block; padding: 2px 9px; border-radius: 999px; background: #f0f0f1; color: #3c434a;
  font-size: 12px; font-weight: 600; line-height: 1.6; white-space: nowrap;
}
.bk-admin-status--new { background: #fcefd4; color: #7a4a00; }
.bk-admin-status--contacted { background: #e2edfb; color: #174a8c; }
.bk-admin-status--booked { background: #ddf3e2; color: #1b6632; }
.bk-admin-status--closed { background: #ecebef; color: #50575e; }
.bk-admin-mail__status--sent { background: #ddf3e2; color: #1b6632; }
.bk-admin-mail__status--failed { background: #fbe3e1; color: #9e1c16; }
.bk-admin-mail__status--staging { background: #fcefd4; color: #7a4a00; }
.bk-admin-care { font-weight: 600; }
.bk-admin-care--ortho { color: #462d88; }
.bk-admin-care--ped { color: #0b6f7d; }
.post-type-elite_booking .wp-list-table .column-title { width: 12em; }
.post-type-elite_booking .wp-list-table .column-bk_status { width: 8em; }
.post-type-elite_booking .wp-list-table .column-bk_care { width: 10em; }
.post-type-elite_booking .wp-list-table .column-title .row-title { font-family: Consolas, Menlo, monospace; letter-spacing: 0.02em; }

.bk-admin-lead { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 6px 0 4px; font-size: 14px; }
.bk-admin-h { margin: 18px 0 6px; color: #1d2327; font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; }
.bk-admin-table { width: 100%; border-collapse: collapse; }
.bk-admin-table th { width: 28%; padding: 8px 12px 8px 0; color: #50575e; font-weight: 600; text-align: left; vertical-align: top; }
.bk-admin-table td { padding: 8px 0; vertical-align: top; overflow-wrap: anywhere; }
.bk-admin-table tr + tr > * { border-top: 1px solid #f0f0f1; }
.bk-admin-label { display: block; margin: 12px 0 4px; font-weight: 600; }
.bk-admin-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; }
.bk-admin-actions .submitdelete { color: #b32d2e; }
.bk-admin-history { margin: 0; color: #646970; font-size: 12px; }
.bk-admin-history li { margin: 0 0 4px; }
.bk-admin-mail { margin: 0 0 10px; border: 1px solid #dcdcde; border-radius: 6px; background: #fff; }
.bk-admin-mail summary { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 10px 12px; cursor: pointer; }
.bk-admin-mail[open] summary { border-bottom: 1px solid #f0f0f1; }
.bk-admin-mail > :not(summary) { margin-right: 12px; margin-left: 12px; }
.bk-admin-mail > .bk-admin-table { width: calc(100% - 24px); }
.bk-admin-frame { display: block; width: calc(100% - 24px); height: 620px; border: 1px solid #dcdcde; border-radius: 6px; background: #f4f2f8; }
.bk-admin-text { max-height: 340px; margin-bottom: 12px; padding: 10px 12px; overflow: auto; border-radius: 6px; background: #f6f7f7; font-size: 12px; white-space: pre-wrap; }
.bk-admin-resend { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 14px 0 2px; }
