:root {
  --burgundy: #8f2d45;
  --burgundy-dark: #6f2034;
  --sage: #667f73;
  --sage-dark: #4e655c;
  --ink: #17211e;
  --muted: #66716c;
  --cream: #f7f5f1;
  --white: #ffffff;
  --line: #e7e5df;
  --shadow: 0 24px 60px rgba(23, 33, 30, 0.1);
  --radius: 24px;
  --max: 1180px;
}

/* Marketing OS · canonical contacts and segmentation */
.admin-marketing-tabs {
  display: flex;
  gap: 6px;
  margin: -12px 0 28px;
  padding: 6px;
  overflow-x: auto;
  border: 1px solid var(--mr-line);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  scrollbar-width: none;
}
.admin-marketing-tabs::-webkit-scrollbar { display: none; }
.admin-marketing-tabs button {
  flex: 0 0 auto;
  min-height: 40px;
  padding: 9px 14px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--mr-muted);
  font-size: .66rem;
  font-weight: 800;
  cursor: pointer;
}
.admin-marketing-tabs button:hover { background: var(--mr-blush); color: var(--mr-wine); }
.admin-marketing-tabs button.active { background: var(--mr-wine); color: #fff; }
.admin-marketing-hero {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) minmax(260px,.5fr);
  gap: 28px;
  margin-bottom: 22px;
  padding: clamp(28px,4vw,54px);
  border-radius: 32px;
  background: linear-gradient(135deg,#fff 0%,var(--mr-blush) 56%,var(--mr-sage-50) 100%);
  box-shadow: var(--mr-shadow-sm);
}
.admin-marketing-hero h2 { max-width: 760px; margin: 8px 0 14px; font-size: clamp(2rem,4vw,4rem); line-height: .98; }
.admin-marketing-hero p { max-width: 720px; margin: 0 0 24px; }
.admin-marketing-hero > div > div { display: flex; flex-wrap: wrap; gap: 9px; }
.admin-marketing-hero aside {
  display: grid;
  align-content: center;
  padding: 30px;
  border-radius: 24px;
  background: var(--mr-wine);
  color: #fff;
}
.admin-marketing-hero aside span,.admin-marketing-hero aside small { color: rgba(255,255,255,.74); }
.admin-marketing-hero aside strong { margin: 9px 0; font-family: var(--mr-serif); font-size: clamp(3rem,6vw,5.5rem); line-height: .9; }
.admin-marketing-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 22px; }
.admin-marketing-metrics article,.admin-source-summary article {
  display: grid; gap: 6px; padding: 24px; border: 1px solid var(--mr-line); border-radius: 22px; background: var(--mr-workspace);
}
.admin-marketing-metrics strong,.admin-source-summary strong { font-family: var(--mr-serif); font-size: 2.25rem; }
.admin-source-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.admin-marketing-dashboard-grid { margin-top: 22px; }
.admin-marketing-growth { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:10px;height:190px;padding-top:18px; }
.admin-marketing-growth article { display:grid;grid-template-rows:auto 1fr auto;align-items:end;gap:7px;height:100%;text-align:center; }
.admin-marketing-growth strong { color:var(--mr-wine);font:700 .72rem var(--mr-sans); }
.admin-marketing-growth i { display:block;min-height:5px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--mr-wine),#b96f7d); }
.admin-marketing-growth span { color:var(--mr-muted);font-size:.58rem;font-weight:750; }
.admin-marketing-subsection { margin-top:24px;padding-top:20px;border-top:1px solid var(--mr-line); }
.admin-integration-state { padding: 22px; border-radius: 20px; background: var(--mr-sage-50); }
.admin-integration-state span { color: var(--mr-sage-700); font-size: .62rem; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.admin-integration-state strong { display: block; margin: 8px 0; font-size: 1.2rem; }
.admin-contact-assurance { display: flex; gap: 10px 20px; align-items: center; margin-bottom: 18px; padding: 15px 18px; border-radius: 17px; background: var(--mr-sage-50); }
.admin-contact-assurance span { color: var(--mr-muted); font-size: .72rem; }
.admin-marketing-filterbar { grid-template-columns: minmax(260px,1.4fr) repeat(3,minmax(145px,.65fr)) auto; }
.admin-marketing-filterbar.advanced { grid-template-columns: repeat(3,minmax(170px,1fr)); margin-top:-8px; }
.admin-marketing-pills { display: flex; flex-wrap: wrap; gap: 5px; }
.admin-marketing-pills span { padding: 5px 8px; border-radius: 999px; background: var(--mr-sage-50); color: var(--mr-sage-700); font-size: .57rem; font-weight: 800; }
.admin-marketing-pills.tags span { background: var(--mr-blush); color: var(--mr-wine); }
.admin-pagination-note { display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 4px 0;font-size:.63rem;color:var(--mr-muted); }
.admin-pagination-note>div { display:flex;gap:8px; }
.admin-pagination-note .admin-secondary { min-height:38px;padding:8px 14px; }
.admin-segment-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.admin-segment-grid > article { padding: 24px; border: 1px solid var(--mr-line); border-radius: 24px; background: var(--mr-workspace); box-shadow: var(--mr-shadow-sm); }
.admin-segment-grid article header { display: flex; align-items: center; justify-content: space-between; }
.admin-segment-grid article header button { border: 0; background: transparent; color: var(--mr-muted); font-size: .6rem; cursor: pointer; }
.admin-segment-grid h3 { margin: 20px 0 8px; font-size: 1.5rem; }
.admin-segment-grid article > div { margin-top: 20px; padding: 14px; border-radius: 14px; background: var(--mr-cream); }
.admin-segment-grid code { display: block; margin-top: 6px; overflow-wrap: anywhere; color: var(--mr-wine-700); font-size: .63rem; }
.admin-segment-builder { overflow: hidden !important; }
.admin-segment-builder-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,360px); min-height: 0; height: calc(100% - 166px); }
.admin-segment-builder-layout > main { min-width: 0; padding: 22px; overflow: auto; }
.admin-segment-builder-layout > aside { display: grid; align-content: start; gap: 16px; padding: 24px; overflow: auto; border-left: 1px solid var(--mr-line); background: var(--mr-sage-50); }
.admin-rule-workspace { min-height: 440px; }
.admin-rule-group { padding: 16px; border: 1px solid var(--mr-line); border-radius: 20px; background: var(--mr-workspace); }
.admin-rule-group.depth-1 { margin: 12px 0 0 18px; background: var(--mr-sage-50); }
.admin-rule-group.depth-2 { margin: 12px 0 0 18px; background: var(--mr-blush); }
.admin-rule-group > header { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 12px; }
.admin-rule-group > header .admin-inline-actions { margin-left: auto; }
.admin-rule-group > div { display: grid; gap: 10px; }
.admin-rule-condition { display: grid; grid-template-columns: 26px minmax(150px,1fr) minmax(130px,.7fr) minmax(150px,1fr) 42px; gap: 8px; align-items: center; padding: 10px; border: 1px solid var(--mr-line); border-radius: 15px; background: #fff; }
.admin-rule-condition select,.admin-rule-condition input { width: 100%; min-width: 0; height: 44px; padding: 0 11px; border: 1px solid var(--mr-line); border-radius: 11px; background: var(--mr-workspace); color: var(--mr-ink); font: inherit; font-size: .68rem; }
.admin-rule-drag { color: var(--mr-muted); font-size: .8rem; text-align: center; }
.admin-rule-not { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 11px; border-radius: 11px; background: var(--mr-blush); color: var(--mr-wine); font-size: .64rem; font-weight: 850; }
.admin-rule-empty { color: var(--mr-muted); font-size: .65rem; }
.admin-rule-placeholder { margin: 0; padding: 18px; border: 1px dashed var(--mr-line); border-radius: 14px; color: var(--mr-muted); text-align: center; }
.admin-segment-preview { padding: 22px; border-radius: 20px; background: var(--mr-workspace); box-shadow: var(--mr-shadow-sm); }
.admin-segment-preview > strong { display: block; margin-bottom: 14px; font-family: var(--mr-serif); font-size: 2rem; }
.admin-segment-preview > p { margin: 0; color: var(--mr-muted); }
.admin-segment-preview dl { display: grid; gap: 8px; margin: 0; }
.admin-segment-preview dl div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--mr-line); }
.admin-segment-preview dt,.admin-segment-preview dd { margin: 0; font-size: .68rem; }
.admin-segment-preview dd { font-weight: 850; }
.admin-segment-type-picker { overflow: hidden !important; }
.admin-segment-type-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; padding: clamp(28px,5vw,72px); }
.admin-segment-type-grid > button { display: grid; align-content: start; min-height: 320px; padding: 34px; border: 1px solid var(--mr-line); border-radius: 28px; background: var(--mr-workspace); color: var(--mr-ink); text-align: left; cursor: pointer; transition: transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.admin-segment-type-grid > button:hover { transform: translateY(-3px); border-color: var(--mr-wine); box-shadow: var(--mr-shadow-md); }
.admin-segment-type-grid > button > span { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 34px; border-radius: 18px; background: var(--mr-blush); color: var(--mr-wine); font-family: var(--mr-serif); font-size: 1.8rem; }
.admin-segment-type-grid strong { font-family: var(--mr-serif); font-size: clamp(1.7rem,3vw,2.6rem); }
.admin-segment-type-grid p { max-width: 480px; color: var(--mr-muted); line-height: 1.65; }
.admin-segment-type-grid small { margin-top: auto; color: var(--mr-sage-700); font-weight: 800; }
.admin-static-segment-builder { overflow: hidden !important; }
.admin-static-segment-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,390px); min-height: 0; height: calc(100% - 166px); }
.admin-static-segment-layout > main { min-width: 0; padding: 22px; overflow: auto; }
.admin-static-segment-layout > aside { display: grid; align-content: start; gap: 16px; padding: 24px; overflow: auto; border-left: 1px solid var(--mr-line); background: var(--mr-sage-50); }
.admin-static-filterbar { grid-template-columns: 1fr; margin-bottom: 12px; }
.admin-static-candidates { display: grid; gap: 7px; min-height: 260px; }
.admin-static-contact { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 12px; align-items: center; min-height: 66px; padding: 10px 14px; border: 1px solid var(--mr-line); border-radius: 15px; background: #fff; cursor: pointer; }
.admin-static-contact:hover { border-color: var(--mr-wine); background: var(--mr-blush); }
.admin-static-contact input { width: 19px; height: 19px; accent-color: var(--mr-wine); }
.admin-static-contact > span { display: grid; gap: 3px; min-width: 0; }
.admin-static-contact strong,.admin-static-contact small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-static-contact small { color: var(--mr-muted); font-size: .62rem; }
.admin-static-pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; color: var(--mr-muted); font-size: .64rem; }
.admin-static-pagination div { display: flex; gap: 6px; }
.admin-static-pagination button { min-height: 38px; padding: 0 12px; border: 1px solid var(--mr-line); border-radius: 11px; background: #fff; color: var(--mr-ink); font-weight: 750; cursor: pointer; }
.admin-static-pagination button:disabled { opacity: .4; cursor: default; }
.admin-static-import-result { margin-top: 14px; padding: 14px; border-radius: 14px; background: var(--mr-cream); }
.admin-static-import-result strong,.admin-static-import-result span { display: block; font-size: .68rem; }
.admin-static-import-result p { margin: 7px 0 0; color: var(--mr-muted); font-size: .62rem; overflow-wrap: anywhere; }
body:has(#marketing-editor:not(:empty)) { overflow: hidden !important; }
#marketing-editor:not(:empty) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 3700 !important;
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: minmax(0,1fr) !important;
  place-items: center !important;
  width: 100vw !important;
  height: 100dvh !important;
  padding: clamp(14px,1.65vw,26px) !important;
  background: rgba(34,25,25,.58) !important;
  backdrop-filter: blur(10px) !important;
}
#marketing-editor > .admin-editor {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: auto !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: clamp(24px,2.2vw,34px) !important;
  background: var(--mr-workspace) !important;
  box-shadow: 0 28px 90px rgba(28,17,19,.32) !important;
}
#marketing-editor > .admin-editor > .admin-form-title { position: sticky !important; top: 0 !important; z-index: 8; margin: 0 !important; border-radius: 30px 30px 0 0; background: rgba(255,255,255,.96) !important; backdrop-filter: blur(12px); }
.admin-marketing-profile-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 22px; padding: 22px; }
.admin-marketing-profile-grid main,.admin-marketing-profile-grid aside { display: grid; align-content: start; gap: 16px; }
.admin-marketing-identity { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.admin-marketing-identity div { padding: 14px; border-radius: 14px; background: var(--mr-cream); }
.admin-marketing-identity dt { color: var(--mr-muted); font-size: .57rem; font-weight: 800; text-transform: uppercase; }
.admin-marketing-identity dd { margin: 5px 0 0; font-size: .73rem; font-weight: 750; }
.admin-vocative-form { display:flex; align-items:end; gap:12px; margin-top:16px; padding:16px; border:1px solid var(--mr-line); border-radius:14px; background:#fff; }
.admin-vocative-form label { flex:1; display:grid; gap:6px; font-size:.72rem; font-weight:750; }
.admin-vocative-form input { width:100%; }
.admin-vocative-form small { color:var(--mr-muted); font-weight:500; }
.admin-consent-ledger { display: grid; gap: 8px; }
.admin-consent-ledger article { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 13px; background: var(--mr-cream); }
.admin-consent-ledger article div { display: grid; gap: 3px; }
.admin-tag-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.admin-tag-picker label { cursor: pointer; }
.admin-tag-picker input { position: absolute; opacity: 0; }
.admin-tag-picker span { display: block; padding: 10px 12px; border: 1px solid var(--mr-line); border-radius: 12px; background: #fff; font-size: .65rem; font-weight: 750; }
.admin-tag-picker input:checked + span { border-color: var(--mr-wine); background: var(--mr-blush); color: var(--mr-wine); }
.admin-marketing-custom-fields { display: grid; gap: 12px; }
.admin-marketing-custom-fields label { display: grid; gap: 6px; color: var(--admin-muted); font-size: .7rem; font-weight: 750; }
.admin-marketing-custom-fields select[multiple] { min-height: 112px; }
.admin-custom-field-settings { margin-bottom: 22px; }
.admin-marketing-tag-settings { display:grid;gap:9px;margin-bottom:20px; }
.admin-marketing-tag-settings form { display:grid;grid-template-columns:18px minmax(150px,1fr) minmax(130px,.6fr) minmax(190px,1.4fr) auto auto;align-items:end;gap:10px;padding:12px;border-radius:16px;background:var(--mr-cream); }
.admin-marketing-tag-settings label { display:grid;gap:5px;color:var(--mr-muted);font-size:.6rem;font-weight:800; }
.admin-marketing-tag-settings strong { align-self:center;color:var(--mr-muted);font-size:.64rem;white-space:nowrap; }
.admin-marketing-tag-swatch { align-self:center;width:14px;height:14px;border-radius:50%;background:var(--mr-wine); }
.admin-marketing-tag-swatch.sage { background:var(--mr-sage-700); }
.admin-marketing-tag-swatch.blush { background:#dbaeb7; }
.admin-marketing-tag-swatch.cream { background:#d5bd9f; }
.admin-marketing-tag-swatch.neutral { background:#7c8580; }
.admin-custom-field-list { display: grid; gap: 8px; margin-bottom: 18px; }
.admin-custom-field-list article { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 14px; border-radius: 14px; background: var(--mr-cream); }
.admin-custom-field-list article div { display: grid; gap: 3px; }
.admin-lead-magnet-settings { display: grid; gap: 10px; margin-top: 16px; }
.admin-suppression-card.active { background: var(--mr-blush) !important; }
@media (max-width:1100px) {
  .admin-marketing-tag-settings form { grid-template-columns:18px repeat(2,minmax(0,1fr)); }
  .admin-marketing-tag-settings form label:nth-of-type(3) { grid-column:2/4; }
  .admin-marketing-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-segment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-marketing-profile-grid { grid-template-columns: 1fr; }
  .admin-segment-builder-layout { grid-template-columns: 1fr; height: auto; }
  .admin-segment-builder-layout > aside { border-top: 1px solid var(--mr-line); border-left: 0; }
  .admin-rule-condition { grid-template-columns: 22px 1fr 1fr; }
  .admin-rule-condition > :nth-child(4) { grid-column: 2/4; }
  .admin-static-segment-layout { grid-template-columns: 1fr; height: auto; }
  .admin-static-segment-layout > aside { border-top: 1px solid var(--mr-line); border-left: 0; }
  .admin-marketing-filterbar,.admin-marketing-filterbar.advanced { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .admin-marketing-hero,.admin-marketing-metrics,.admin-source-summary,.admin-segment-grid,.admin-marketing-identity { grid-template-columns: 1fr; }
  .admin-contact-assurance { align-items: flex-start; flex-direction: column; }
  .admin-vocative-form { align-items:stretch; flex-direction:column; }
  .admin-marketing-filterbar,.admin-marketing-filterbar.advanced { grid-template-columns: 1fr; }
  #marketing-editor:not(:empty) { padding: 0 !important; }
  #marketing-editor > .admin-editor { border: 0 !important; border-radius: 0 !important; }
  .admin-marketing-profile-grid { padding: 14px; }
  .admin-segment-type-grid { grid-template-columns: 1fr; padding: 16px; }
  .admin-segment-type-grid > button { min-height: 240px; }
  .admin-static-contact { grid-template-columns: 24px minmax(0,1fr); }
  .admin-static-contact > em { grid-column: 2; justify-self: start; }
}

/* Marketing settings and the public GDPR preference centre */
.admin-marketing-settings { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:18px; align-items:start; }
.admin-marketing-settings > main,.admin-marketing-settings > aside { display:grid; gap:18px; }
.admin-marketing-settings > .admin-form-actions { grid-column:1/-1; margin:0; border-radius:20px; background:var(--mr-workspace); }
.admin-preference-preview { display:grid; gap:18px; background:linear-gradient(145deg,var(--mr-workspace),var(--mr-blush)) !important; }
.admin-preference-preview > img { width:180px; height:auto; }
.admin-preference-preview h2 { margin:4px 0 0; font-size:2rem; }
.admin-preference-preview p { margin:0; color:var(--mr-muted); }
.admin-preference-preview > div { display:flex; justify-content:space-between; gap:16px; padding:16px; border-radius:16px; background:var(--mr-sage-50); }
.admin-preference-preview > div span { font-size:.7rem; font-weight:750; }
.admin-preference-preview > div strong { color:var(--mr-sage-700); font-size:.68rem; }
.admin-preference-preview > small { color:var(--mr-muted); line-height:1.55; }

.email-preference-page { min-height:calc(100dvh - 90px); background:radial-gradient(circle at 15% 20%,#f2e3e6 0,transparent 36%),linear-gradient(145deg,#fffdf9,#eef2ee); }
.email-preference-shell { width:min(760px,calc(100% - 32px)); margin:0 auto; padding:clamp(56px,9vw,110px) 0; }
.email-preference-card { display:grid; justify-items:start; gap:20px; padding:clamp(28px,6vw,62px); border:1px solid #eadfd7; border-radius:34px; background:#fffdf9; box-shadow:0 28px 80px rgba(83,46,48,.12); }
.email-preference-card > img { width:min(210px,60%); height:auto; margin-bottom:12px; }
.email-preference-card h1 { max-width:620px; margin:0; font:600 clamp(2.35rem,7vw,4.6rem)/.98 Georgia,serif; letter-spacing:-.045em; color:#29312d; }
.email-preference-lead { max-width:610px; margin:0; color:#69736d; font-size:1.05rem; line-height:1.7; }
.email-preference-identity { display:grid; gap:5px; width:100%; padding:18px 20px; border-radius:18px; background:#f5efe9; }
.email-preference-identity span,.email-preference-choice small { color:#69736d; font-size:.76rem; }
.email-preference-choice { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; padding:20px; border:1px solid #dfe7e1; border-radius:20px; background:#eef2ee; }
.email-preference-choice > div { display:grid; gap:6px; }
.email-preference-choice > div > span { color:#29312d; font-weight:800; }
.email-preference-state { flex:0 0 auto; padding:8px 11px; border-radius:999px; background:#dce6df; color:#4e655c; font-size:.72rem; font-weight:850; }
.email-preference-state.off { background:#f0e2e5; color:#8a3240; }
.email-preference-unsubscribe { color:#8a3240 !important; border-color:#d8b8bf !important; }
.email-preference-confirmed { width:100%; padding:18px 20px; border-radius:18px; background:#eef2ee; color:#4e655c; font-weight:800; }
.email-preference-transactional { margin:0; padding-left:18px; border-left:3px solid #617969; color:#69736d; font-size:.84rem; line-height:1.65; }
.email-preference-legal { padding-top:18px; border-top:1px solid #eadfd7; color:#69736d; line-height:1.55; }
.email-preference-loading { display:flex; gap:7px; padding:12px 0; }
.email-preference-loading i { width:9px; height:9px; border-radius:50%; background:#8a3240; animation:emailPreferencePulse 1s ease-in-out infinite alternate; }
.email-preference-loading i:nth-child(2){animation-delay:.16s}.email-preference-loading i:nth-child(3){animation-delay:.32s}
@keyframes emailPreferencePulse{to{opacity:.28;transform:translateY(-5px)}}
@media(max-width:1000px){.admin-marketing-settings{grid-template-columns:1fr}.admin-marketing-settings>.admin-form-actions{grid-column:auto}}
@media(max-width:620px){.email-preference-shell{width:min(100% - 20px,760px);padding:22px 0}.email-preference-card{border-radius:26px}.email-preference-choice{align-items:flex-start;flex-direction:column}}

/* Clear, compact quiz authoring controls. */
.admin-quiz-editor {
  width: min(900px, 100%) !important;
}
.admin-quiz-settings {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr 0.8fr 1.1fr;
  gap: 11px;
  align-items: start;
  margin: 18px 0;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fafaf8;
}
.admin-quiz-settings > label:not(.admin-check),
.admin-quiz-question-fields > label,
.admin-quiz-question-fields > div {
  display: grid;
  gap: 6px;
  color: #626d67;
  font-size: 0.62rem;
  font-weight: 850;
}
.admin-quiz-settings input,
.admin-quiz-settings select,
.admin-quiz-question-fields input {
  width: 100%;
  min-width: 0;
  border: 1px solid #dcdad4;
  border-radius: 10px;
  background: #fff;
  padding: 10px 11px;
  color: var(--ink);
}
.admin-quiz-settings small {
  color: #8a918d;
  font-size: 0.53rem;
  font-weight: 600;
}
.admin-quiz-settings .admin-check {
  grid-column: 1/-1;
  margin: 0;
}
.admin-quiz-question {
  padding: 17px;
}
.admin-quiz-question-fields {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 15px;
  align-items: end;
}
.admin-quiz-type-picker {
  display: flex;
  overflow: hidden;
  border: 1px solid #d9d5cf;
  border-radius: 10px;
  background: #fff;
  padding: 3px;
}
.admin-quiz-type-picker button {
  border: 0;
  border-radius: 7px;
  background: transparent;
  padding: 9px 11px;
  color: #707a74;
  font-size: 0.59rem;
  font-weight: 850;
  cursor: pointer;
  white-space: nowrap;
}
.admin-quiz-type-picker button.active {
  background: var(--burgundy);
  color: #fff;
  box-shadow: 0 3px 10px rgba(127, 34, 58, 0.2);
}
.admin-quiz-answers {
  margin: 15px 0;
}
.admin-quiz-answers label {
  padding: 6px;
  border: 1px solid transparent;
  border-radius: 10px;
}
.admin-quiz-answers label:has([data-answer-correct]:checked) {
  border-color: #d8bdc4;
  background: #fbf2f4;
}
.admin-quiz-answers [data-answer-correct] {
  accent-color: var(--burgundy);
}
.admin-add-question {
  width: 100%;
  border-style: dashed !important;
  padding: 12px !important;
}
.admin-quiz-editor [data-quiz-save-state] {
  margin-right: auto;
  color: #a13b51;
  font-size: 0.62rem;
  font-weight: 750;
}
@media (max-width: 760px) {
  .admin-quiz-settings {
    grid-template-columns: 1fr;
  }
  .admin-quiz-settings .admin-check {
    grid-column: auto;
  }
  .admin-quiz-question-fields {
    grid-template-columns: 1fr;
  }
  .admin-quiz-type-picker {
    width: 100%;
  }
  .admin-quiz-type-picker button {
    flex: 1;
    white-space: normal;
  }
  .admin-quiz-editor .admin-form-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-quiz-editor [data-quiz-save-state] {
    margin: 0;
  }
  .admin-quiz-editor .admin-primary {
    width: 100%;
  }
}

/* Marketing contact transfer workspace */
.admin-contact-import-workspace .admin-contact-import-layout {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.8fr);
  gap: 24px;
  padding: 24px 30px 120px;
  min-height: 0;
  overflow: auto;
}
.admin-contact-import-workspace .admin-contact-import-layout > main { display: grid; align-content: start; gap: 20px; }
.admin-upload-area {
  min-height: 150px;
  display: grid;
  place-content: center;
  gap: 8px;
  text-align: center;
  padding: 24px;
  border: 1px dashed rgba(138, 50, 64, .32);
  border-radius: 20px;
  background: rgba(228, 215, 207, .2);
  cursor: pointer;
}
.admin-upload-area:hover { border-color: var(--admin-wine); background: rgba(138, 50, 64, .06); }
.admin-import-mapping { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin-import-mapping label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, .9fr);
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--admin-off-white);
}
.admin-import-mapping label > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.admin-import-preview .admin-error-state,
.admin-import-preview .admin-success-state { display: grid; gap: 6px; margin-top: 16px; padding: 18px; border-radius: 16px; }
.admin-import-preview .admin-error-state { background: rgba(138, 50, 64, .08); color: var(--admin-wine); }
.admin-import-preview .admin-success-state { background: rgba(97, 121, 105, .12); color: var(--admin-sage-dark); }
@media (max-width: 920px) {
  .admin-contact-import-workspace .admin-contact-import-layout { grid-template-columns: 1fr; }
  .admin-import-mapping { grid-template-columns: 1fr; }
}

@media (max-width: 1100px) {
  .admin-email-builder-layout { grid-template-columns: 190px minmax(480px, 1fr) 240px !important; }
}
@media (max-width: 900px) {
  .admin-email-builder { overflow-y: auto !important; }
  .admin-email-builder-layout { grid-template-columns: 1fr !important; }
  .admin-email-library, .admin-email-inspector { max-height: none; }
  .admin-email-paper { width: min(680px, 100%); }
}

.admin-campaign-wizard { display: grid !important; grid-template-rows: auto auto minmax(0,1fr) auto; }
.admin-step-navigation { display: flex; gap: 8px; padding: 12px 24px; overflow-x: auto; border-bottom: 1px solid var(--mr-line); background: var(--mr-workspace); }
.admin-step-navigation :is(span,button) { flex: 1 0 auto; padding: 9px 12px; border: 0; border-radius: 999px; background: var(--mr-cream); color: var(--mr-muted); font-size: .65rem; font-weight: 800; text-align: center; }
.admin-step-navigation button { cursor: pointer; }
.admin-step-navigation button:disabled { opacity: .52; cursor: not-allowed; }
.admin-step-navigation :is(span,button).active { background: var(--mr-blush); color: var(--mr-wine); }
.admin-campaign-workspace { min-height: 0; display: grid; grid-template-columns: minmax(0,1fr) 330px; overflow: hidden; }
.admin-campaign-workspace > main { min-height: 0; overflow-y: auto; padding: 26px; background: var(--mr-workspace-soft); }
.admin-campaign-workspace > aside { min-height: 0; overflow-y: auto; padding: 28px; border-left: 1px solid var(--mr-line); background: var(--mr-workspace); }
.admin-campaign-workspace > aside h3 { margin: 8px 0 18px; font: 600 1.5rem var(--mr-serif); }
.admin-campaign-workspace [data-campaign-step][hidden],
.admin-campaign-step-actions [hidden] { display: none !important; }
.admin-campaign-document-preview { display: grid; gap: 5px; margin-top: 18px; padding: 18px; border-radius: 16px; background: var(--mr-sage-soft); }
.admin-campaign-document-preview strong { color: var(--mr-text); }
.admin-campaign-document-preview span { color: var(--mr-muted); font-size: .72rem; }
.admin-campaign-final-review .admin-marketing-identity { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.admin-campaign-final-review .admin-marketing-identity > div { min-width: 0; padding: 16px; border: 1px solid var(--mr-line); border-radius: 15px; background: #fff; }
.admin-automation-run-detail { grid-template-rows: auto auto minmax(0,1fr) auto !important; }
.admin-automation-execution-timeline { min-height: 0; overflow-y: auto; display: grid; align-content: start; gap: 10px; padding: 24px; background: var(--mr-workspace-soft); }
.admin-automation-execution-timeline > div:not(.admin-empty) { display: grid; grid-template-columns: 110px 1fr; gap: 14px; align-items: start; padding: 16px; border: 1px solid var(--mr-line); border-radius: 16px; background: #fff; }
.admin-automation-execution-timeline p { display: grid; gap: 5px; margin: 0; }
.admin-automation-execution-timeline small { color: var(--mr-muted); }
.admin-audience-preview { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin-top: 14px; }
.admin-audience-preview article { padding: 16px; border-radius: 16px; background: var(--mr-sage-soft); }
.admin-audience-preview article:nth-child(n+2) { background: var(--mr-cream); }
.admin-audience-preview strong { display: block; font: 600 1.55rem var(--mr-serif); color: var(--mr-text); }
.admin-audience-preview span { color: var(--mr-muted); font-size: .62rem; }
.admin-campaign-checklist { display: grid; gap: 10px; margin: 0 0 24px; padding: 0; list-style: none; }
.admin-campaign-checklist li { padding: 11px 13px; border-radius: 12px; background: var(--mr-sage-soft); color: var(--mr-sage); font-size: .69rem; font-weight: 750; }
.admin-campaign-checklist li.blocked { background: var(--mr-blush); color: var(--mr-wine); }
.admin-campaign-review,.admin-campaign-test,.admin-campaign-recipients { display:grid!important;grid-template-rows:auto minmax(0,1fr) auto; }
.admin-campaign-review-grid,.admin-campaign-test-layout { min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px;overflow:hidden;background:var(--mr-workspace-soft); }
.admin-campaign-review-grid>main,.admin-campaign-test-layout>main { min-height:0;overflow-y:auto;padding:26px; }
.admin-campaign-review-grid>aside,.admin-campaign-test-layout>aside { min-height:0;overflow-y:auto;padding:26px;border-left:1px solid var(--mr-line);background:var(--mr-workspace); }
.admin-campaign-review-grid .admin-form-section,.admin-campaign-test-layout .admin-form-section { margin-bottom:16px;padding:22px;border:1px solid var(--mr-line);border-radius:22px;background:var(--mr-surface); }
.admin-campaign-review-grid h3,.admin-campaign-test-layout h3 { margin:7px 0 10px;font:600 1.45rem var(--mr-serif); }
.admin-campaign-review-grid p,.admin-campaign-test-layout p { color:var(--mr-muted); }
.admin-campaign-review-grid .admin-audience-preview { grid-template-columns:repeat(3,1fr);margin-bottom:14px; }
.admin-campaign-activation { background:var(--mr-sage-soft)!important; }
.admin-campaign-activation button { width:100%; }
.admin-campaign-test-layout textarea { width:100%;min-height:120px;resize:vertical; }
.admin-campaign-test-layout .admin-integration-state { position:sticky;top:0; }
.admin-campaign-recipients>.admin-contact-assurance { margin:20px 24px 0; }
.admin-campaign-recipients>.admin-table-wrap { margin:18px 24px;overflow:auto; }
.admin-automation-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.admin-automation-grid>article { padding:22px;border:1px solid var(--mr-line);border-radius:22px;background:var(--mr-surface); }
.admin-automation-grid article header { display:flex;justify-content:space-between;gap:12px; }
.admin-automation-grid h3 { margin:18px 0 7px;font:600 1.35rem var(--mr-serif); }
.admin-automation-grid p { min-height:42px;color:var(--mr-muted);font-size:.7rem; }
.admin-automation-grid dl { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 0; }
.admin-automation-grid dl div { padding:10px;border-radius:12px;background:var(--mr-cream); }
.admin-automation-grid dt { color:var(--mr-muted);font-size:.55rem;text-transform:uppercase;letter-spacing:.08em; }
.admin-automation-grid dd { margin:4px 0 0;font-weight:800;font-size:.7rem; }
.admin-automation-template-picker { display:grid!important;grid-template-rows:auto minmax(0,1fr); }
.admin-automation-template-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:28px;overflow:auto; }
.admin-automation-template-grid>button { display:flex;gap:14px;min-height:180px;padding:22px;border:1px solid rgba(97,121,105,.2);border-radius:22px;background:#fff;color:var(--mr-text);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.admin-automation-template-grid>button:hover { transform:translateY(-2px);border-color:var(--mr-wine);box-shadow:0 18px 38px rgba(83,46,48,.09); }
.admin-automation-template-grid>button.blank { background:var(--mr-wine-soft);border-color:rgba(138,50,64,.24); }
.admin-automation-template-grid i { display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:var(--mr-sage-soft);font-style:normal;font-size:1.15rem; }
.admin-automation-template-grid strong { display:block;font:700 1rem/1.25 var(--mr-serif); }
.admin-automation-template-grid p { margin:9px 0 14px;color:var(--mr-muted);font-size:.76rem;line-height:1.55; }
.admin-automation-template-grid small { color:var(--mr-sage);font-weight:800; }
.admin-automation-builder { display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto; }
.admin-automation-toolbar { display:grid;grid-template-columns:1fr 1.5fr auto;gap:12px;align-items:end;padding:12px 22px;border-bottom:1px solid var(--mr-line);background:var(--mr-workspace); }
.admin-automation-toolbar label,.admin-automation-inspector label { display:grid;gap:6px;color:var(--mr-muted);font-size:.62rem;font-weight:800; }
.admin-automation-toolbar input,.admin-automation-inspector :is(input,select) { min-height:42px;border:1px solid var(--mr-line);border-radius:12px;padding:9px 11px;background:#fff;color:var(--mr-text); }
.admin-automation-toolbar>span { padding-bottom:12px;color:var(--mr-muted);font-size:.65rem; }
.admin-automation-workspace { min-height:0;display:grid;grid-template-columns:220px minmax(520px,1fr) 280px;overflow:hidden; }
.admin-automation-workspace>aside { min-height:0;overflow-y:auto;padding:20px;border-right:1px solid var(--mr-line);background:var(--mr-workspace); }
.admin-automation-workspace>aside:first-child button { width:100%;display:flex;align-items:center;gap:10px;margin-top:9px;padding:12px;border:1px solid var(--mr-line);border-radius:13px;background:var(--mr-cream);color:var(--mr-text);text-align:left;cursor:grab; }
.admin-automation-workspace>aside:first-child i { width:25px;color:var(--mr-wine);font:700 1rem var(--mr-serif);text-align:center; }
.admin-automation-workspace>aside:first-child span { font-size:.66rem;font-weight:800; }
.admin-automation-workspace>main { min-height:0;overflow:auto;padding:28px;background:radial-gradient(circle at 1px 1px,rgba(138,50,64,.09) 1px,transparent 0);background-size:22px 22px; }
.admin-automation-canvas { width:min(560px,100%);margin:0 auto;display:grid; }
.admin-automation-flow-node { display:grid;place-items:center; }
.admin-automation-connector { height:34px;display:grid;place-items:center;color:var(--mr-wine);font-size:.58rem;font-weight:850; }
.admin-automation-flow-node article { width:100%;display:grid;grid-template-columns:44px 1fr 34px;align-items:center;gap:12px;padding:15px;border:1px solid var(--mr-line);border-radius:18px;background:var(--mr-surface);box-shadow:var(--mr-shadow-xs);cursor:pointer; }
.admin-automation-flow-node.selected article { border-color:var(--mr-wine);box-shadow:0 0 0 4px rgba(138,50,64,.08); }
.admin-automation-flow-node article>i { width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:var(--mr-blush);color:var(--mr-wine);font:700 1.2rem var(--mr-serif); }
.admin-automation-flow-node article small,.admin-automation-flow-node article strong { display:block; }
.admin-automation-flow-node article small { color:var(--mr-muted);font-size:.55rem;text-transform:uppercase;letter-spacing:.08em; }
.admin-automation-flow-node article strong { margin-top:4px;font-size:.75rem; }
.admin-automation-flow-node article em { display:block;margin-top:5px;color:var(--mr-muted);font-size:.58rem;font-style:normal;line-height:1.35; }
.admin-automation-flow-node article button { border:0;background:transparent;color:var(--mr-muted);cursor:grab; }
.admin-automation-inspector { border:0!important;border-left:1px solid var(--mr-line)!important; }
.admin-automation-inspector h3 { margin:8px 0 20px;font:600 1.4rem var(--mr-serif); }
.admin-automation-inspector label { margin-bottom:14px; }
.admin-automation-node-actions { display:grid;gap:10px;margin-top:18px; }
.admin-automation-node-actions .admin-secondary,
.admin-automation-node-actions .admin-danger { width:100%; }
.admin-automation-builder [data-automation-save-state] { min-width:108px;text-align:center; }
.admin-automation-builder .admin-form-title .admin-inline-actions { align-items:center; }
.admin-marketing-form-builder { display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto; }
.admin-form-builder-toolbar { display:grid;grid-template-columns:1.1fr .8fr .75fr 1fr;gap:12px;align-items:end;padding:12px 22px;border-bottom:1px solid var(--mr-line);background:var(--mr-workspace); }
.admin-form-builder-toolbar label,.admin-form-builder-workspace>aside>label { display:grid;gap:6px;color:var(--mr-muted);font-size:.62rem;font-weight:800; }
.admin-form-builder-toolbar :is(input,select),.admin-form-builder-workspace>aside :is(input,textarea) { min-height:42px;border:1px solid var(--mr-line);border-radius:12px;padding:9px 11px;background:#fff;color:var(--mr-text); }
.admin-form-builder-toolbar>span { padding-bottom:12px;color:var(--mr-muted);font-size:.62rem; }
.admin-form-builder-workspace { min-height:0;display:grid;grid-template-columns:250px minmax(440px,1fr) 310px;overflow:hidden;background:var(--mr-surface); }
.admin-form-builder-workspace>aside { min-height:0;overflow-y:auto;padding:20px;border-right:1px solid var(--mr-line);background:var(--mr-workspace); }
.admin-form-builder-workspace>aside:last-child { border-right:0;border-left:1px solid var(--mr-line); }
.admin-form-builder-workspace>aside h3 { margin:7px 0 16px;font:600 1.35rem var(--mr-serif); }
.admin-form-builder-workspace>aside>label { margin:12px 0; }
.admin-form-builder-workspace>main { min-height:0;overflow:auto;padding:28px;background:var(--mr-offwhite); }
.admin-form-field-list { display:grid;gap:8px;margin:14px 0 28px; }
.admin-form-field-list article { padding:11px;border:1px solid var(--mr-line);border-radius:13px;background:#fff; }
.admin-form-field-list article,.admin-form-field-list label { display:flex;align-items:center;justify-content:space-between;gap:8px; }
.admin-form-field-list label { color:var(--mr-text);font-size:.64rem;font-weight:750; }
.admin-form-field-list .admin-form-required { color:var(--mr-muted);font-size:.55rem; }
.admin-form-preview-shell { width:min(680px,100%);margin:0 auto; }
.admin-public-form-preview { margin-top:12px;padding:clamp(26px,5vw,54px);border:1px solid var(--mr-line);border-radius:30px;background:#fff;box-shadow:var(--mr-shadow-sm); }
.admin-public-form-preview h2 { margin:10px 0;font:600 clamp(2rem,4vw,3.4rem)/1 var(--mr-serif); }
.admin-public-form-preview>p { margin:0 0 24px;color:var(--mr-muted); }
.admin-public-form-preview>div { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.admin-public-form-preview>div>label { display:grid;gap:6px;color:var(--mr-text);font-size:.62rem;font-weight:800; }
.admin-public-form-preview input:not([type="checkbox"]) { min-height:48px;border:1px solid var(--mr-line);border-radius:14px;padding:11px 13px;background:var(--mr-offwhite); }
.admin-public-form-preview .admin-preview-consent { grid-column:1/-1;display:flex;align-items:flex-start;justify-content:flex-start; }
.admin-public-form-preview>button { margin-top:18px; }
.admin-public-form-preview>small { display:block;margin-top:14px;color:var(--mr-muted); }
.admin-form-submissions { margin-top:22px; }
.admin-email-analytics-metrics strong { font-size:clamp(1.9rem,3vw,3rem); }
.admin-email-health-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0; }
.admin-email-health-list { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px; }
.admin-email-health-list article { padding:15px;border-radius:16px;background:var(--mr-cream); }
.admin-email-health-list span,.admin-email-health-list strong { display:block; }
.admin-email-health-list span { color:var(--mr-muted);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em; }
.admin-email-health-list strong { margin-top:6px;font:600 1.8rem var(--mr-serif); }
.admin-analytics-table { margin-top:22px; }
.admin-analytics-table .admin-section-heading { margin-bottom:14px; }
.admin-email-health-grid .admin-table a { display:block;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mr-wine); }
@media(max-width:1000px){.admin-automation-workspace{grid-template-columns:180px minmax(440px,1fr) 240px}.admin-automation-grid,.admin-automation-template-grid{grid-template-columns:1fr 1fr}}
@media (max-width: 900px) {
  .admin-campaign-workspace { grid-template-columns: 1fr; overflow: visible; }
  .admin-campaign-workspace > main, .admin-campaign-workspace > aside { overflow: visible; border: 0; }
  .admin-audience-preview { grid-template-columns: 1fr 1fr; }
  .admin-automation-workspace{grid-template-columns:1fr;overflow:visible}.admin-automation-workspace>*{overflow:visible!important}.admin-automation-grid{grid-template-columns:1fr}.admin-automation-toolbar{grid-template-columns:1fr}
  .admin-automation-template-grid{grid-template-columns:1fr;padding:16px}
  .admin-form-builder-workspace{grid-template-columns:1fr;overflow:visible}.admin-form-builder-workspace>*{overflow:visible!important}.admin-form-builder-toolbar{grid-template-columns:1fr}.admin-public-form-preview>div{grid-template-columns:1fr}
  .admin-email-health-grid{grid-template-columns:1fr}
  .admin-campaign-review-grid,.admin-campaign-test-layout{grid-template-columns:1fr;overflow:visible}.admin-campaign-review-grid>main,.admin-campaign-review-grid>aside,.admin-campaign-test-layout>main,.admin-campaign-test-layout>aside{overflow:visible;border:0}.admin-campaign-review-grid .admin-audience-preview{grid-template-columns:1fr}
}

/* Large modal windows: full-screen overlay, inset rounded popup above the sidebar. */
:is(
  #wbs-editor:not(:empty),
  #workshop-editor:not(:empty),
  #inventory-editor:not(:empty),
  #invoice-editor:not(:empty),
  #course-editor:not(:empty),
  #speaker-editor:not(:empty),
  #program-editor:not(:empty),
  #participant-editor:not(:empty),
  #partner-editor:not(:empty),
  #doorcard-editor:not(:empty),
  #contract-detail:has(> form),
  #crm-detail:has(> form),
  #emailing-editor:not(:empty)
) {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  place-items: center !important;
  padding: clamp(14px, 1.65vw, 26px) !important;
  background: rgba(34, 25, 25, 0.58) !important;
  backdrop-filter: blur(10px) !important;
  animation: mrFade 160ms ease;
}

:is(
  #wbs-editor,
  #workshop-editor,
  #inventory-editor,
  #invoice-editor,
  #course-editor,
  #speaker-editor,
  #program-editor,
  #participant-editor,
  #partner-editor,
  #doorcard-editor,
  #contract-detail,
  #crm-detail
) > .admin-editor {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: clamp(24px, 2.2vw, 34px) !important;
  background: var(--mr-workspace) !important;
  box-shadow: 0 28px 90px rgba(28, 17, 19, 0.32) !important;
  animation: mrDialog 220ms ease;
}

/* Keep sticky editor chrome clipped inside the rounded modal. */
:is(
  #wbs-editor,
  #workshop-editor,
  #inventory-editor,
  #invoice-editor,
  #course-editor,
  #speaker-editor,
  #program-editor,
  #participant-editor,
  #partner-editor,
  #doorcard-editor,
  #contract-detail,
  #crm-detail
) > .admin-editor > .admin-form-title {
  border-radius: clamp(23px, 2.1vw, 33px) clamp(23px, 2.1vw, 33px) 0 0 !important;
}

#course-editor > .admin-lesson-editor {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: clamp(24px, 2.2vw, 34px) !important;
  background: var(--mr-workspace-soft) !important;
  box-shadow: 0 28px 90px rgba(28, 17, 19, 0.32) !important;
}
#course-editor > .admin-lesson-editor > .admin-lesson-editor-head {
  border-radius: clamp(23px, 2.1vw, 33px) clamp(23px, 2.1vw, 33px) 0 0 !important;
}

#emailing-editor:not(:empty) {
  width: 100vw !important;
  height: 100dvh !important;
  overflow: hidden !important;
}
#emailing-editor > .admin-email-builder {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: clamp(24px, 2.2vw, 34px) !important;
  background: var(--mr-workspace-soft) !important;
  box-shadow: 0 28px 90px rgba(28, 17, 19, 0.32) !important;
  animation: mrDialog 220ms ease;
}
#emailing-editor .admin-email-builder-head {
  border-radius: clamp(23px, 2.1vw, 33px) clamp(23px, 2.1vw, 33px) 0 0 !important;
}

.admin-settings-backdrop,
.admin-lesson-preview-overlay {
  box-sizing: border-box !important;
  padding: clamp(14px, 1.65vw, 26px) !important;
  background: rgba(34, 25, 25, 0.58) !important;
  backdrop-filter: blur(10px) !important;
}
.admin-settings-dialog,
.admin-lesson-preview-window {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: clamp(24px, 2.2vw, 34px) !important;
  background: var(--mr-workspace) !important;
  box-shadow: 0 28px 90px rgba(28, 17, 19, 0.32) !important;
}

.admin-automation-runs {
  margin-top: 28px;
  padding: clamp(22px, 2.4vw, 34px);
  border-radius: var(--radius-card, 24px);
  background: var(--mr-workspace, #fffdf9);
}
.admin-automation-runs .admin-section-heading {
  align-items: center;
  margin-bottom: 18px;
}
.admin-automation-runs td small {
  display: block;
  max-width: 360px;
  margin-top: 4px;
  color: var(--mr-muted, #69736d);
  white-space: normal;
}
.admin-internal-notification-inbox {
  margin-top: 28px;
  padding: clamp(22px, 2.4vw, 34px);
  border-radius: var(--radius-card, 24px);
  background: var(--mr-workspace, #fffdf9);
}
.admin-internal-notification-inbox .admin-section-heading {
  align-items: center;
  margin-bottom: 18px;
}
.admin-internal-notification-list {
  display: grid;
  gap: 10px;
}
.admin-internal-notification-list > article {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--mr-line);
  border-radius: 16px;
  background: #fff;
}
.admin-internal-notification-list > article.is-read { opacity: 0.72; }
.admin-notification-marker {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--mr-line);
}
.admin-internal-notification-list > article.is-unread .admin-notification-marker {
  background: var(--mr-wine);
  box-shadow: 0 0 0 4px rgba(138, 50, 64, 0.1);
}
.admin-internal-notification-list header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
}
.admin-internal-notification-list header span,
.admin-internal-notification-list small { color: var(--mr-muted); font-size: 0.72rem; }
.admin-internal-notification-list p { margin: 6px 0; line-height: 1.5; }
@media (max-width: 760px) {
  .admin-internal-notification-list > article { grid-template-columns: 10px minmax(0, 1fr); }
  .admin-internal-notification-list .admin-row-actions { grid-column: 2; justify-content: flex-start; }
  .admin-internal-notification-list header { display: grid; gap: 4px; }
}
.admin-inspector-note {
  margin: 4px 0 16px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(138, 50, 64, 0.08);
  color: #6f2935;
  font-size: 0.82rem;
  line-height: 1.45;
}
.admin-settings-dialog > header,
.admin-lesson-preview-window > header {
  border-radius: clamp(23px, 2.1vw, 33px) clamp(23px, 2.1vw, 33px) 0 0 !important;
}
.admin-settings-layout {
  height: calc(100% - 76px) !important;
}
.admin-lesson-preview-canvas {
  max-height: calc(100% - 70px) !important;
}

@media (max-width: 760px) {
  :is(
    #wbs-editor:not(:empty),
    #workshop-editor:not(:empty),
    #inventory-editor:not(:empty),
    #invoice-editor:not(:empty),
    #course-editor:not(:empty),
    #speaker-editor:not(:empty),
    #program-editor:not(:empty),
    #participant-editor:not(:empty),
    #partner-editor:not(:empty),
    #doorcard-editor:not(:empty),
    #contract-detail:has(> form),
    #crm-detail:has(> form),
    #emailing-editor:not(:empty),
    .admin-settings-backdrop,
    .admin-lesson-preview-overlay
  ) {
    padding: 0 !important;
  }
  :is(
    #wbs-editor,
    #workshop-editor,
    #inventory-editor,
    #invoice-editor,
    #course-editor,
    #speaker-editor,
    #program-editor,
    #participant-editor,
    #partner-editor,
    #doorcard-editor,
    #contract-detail,
    #crm-detail
  ) > .admin-editor,
  #course-editor > .admin-lesson-editor,
  #emailing-editor > .admin-email-builder,
  .admin-settings-dialog,
  .admin-lesson-preview-window {
    border: 0 !important;
    border-radius: 0 !important;
  }
}

/* Final responsive email workspace override. */
@media (max-width: 1100px) {
  .admin-email-builder-layout { grid-template-columns: 190px minmax(480px, 1fr) 240px !important; }
}
@media (max-width: 900px) {
  #emailing-editor > .admin-email-builder { overflow-y: auto !important; }
  .admin-email-builder-layout { grid-template-columns: 1fr !important; }
  .admin-email-library, .admin-email-inspector { max-height: none; }
  .admin-email-paper { width: min(680px, 100%); }
}

/* Conference operations suite */
.admin-ops-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 18px;
  margin: 22px 0;
}
.admin-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 18px;
}
.admin-section-heading h2 {
  margin: 4px 0 0;
}
.admin-operation-list {
  display: grid;
  gap: 10px;
}
.admin-operation-list article {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  padding: 15px 16px;
  border-radius: 16px;
  background: #faf5f1;
}
.admin-operation-list article > div {
  display: grid;
  gap: 4px;
}
.admin-operation-list small {
  color: #796966;
}
.admin-operation-list.compact {
  max-height: 520px;
  overflow: auto;
}
.admin-switch {
  position: relative;
  width: 46px;
  height: 27px;
  flex: 0 0 auto;
}
.admin-switch input {
  position: absolute;
  opacity: 0;
}
.admin-switch span {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: #d8c5c4;
  transition: 0.2s ease;
}
.admin-switch span::after {
  content: "";
  position: absolute;
  width: 21px;
  height: 21px;
  top: 3px;
  left: 3px;
  border-radius: 50%;
  background: #fffaf6;
  transition: 0.2s ease;
  box-shadow: 0 2px 6px rgba(83, 46, 48, 0.18);
}
.admin-switch input:checked + span {
  background: #617969;
}
.admin-switch input:checked + span::after {
  transform: translateX(19px);
}
.admin-wbs-dependencies {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  max-height: 190px;
  overflow: auto;
}
.admin-wbs-dependencies label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px;
  border-radius: 12px;
  background: #faf5f1;
}
.admin-wbs-dependencies input {
  accent-color: #8a3240;
}
.admin-profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.admin-profile-card {
  padding: 24px;
  border-radius: 24px;
  background: #fffaf7;
  border: 1px solid rgba(138, 50, 64, 0.12);
}
.admin-profile-card h3 {
  margin: 16px 0 4px;
  font-size: 1.45rem;
}
.admin-profile-card p {
  color: #796966;
}
.admin-profile-card dl {
  display: grid;
  gap: 9px;
  margin: 20px 0;
}
.admin-profile-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.admin-profile-card dt {
  color: #8a7773;
}
.admin-profile-card dd {
  margin: 0;
  font-weight: 700;
}
.admin-hero-surface {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  padding: clamp(28px, 4vw, 46px);
  margin-bottom: 20px;
  border-radius: 30px;
  color: #fffaf6;
  background: linear-gradient(135deg, #8a3240, #702936);
}
.admin-hero-surface h2 {
  color: inherit;
  font-size: clamp(2rem, 4vw, 3.4rem);
  margin: 7px 0;
}
.admin-hero-surface .admin-eyebrow,
.admin-hero-surface p {
  color: #ead7d5;
}
.admin-hero-facts {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.admin-hero-facts span {
  display: grid;
  min-width: 140px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255, 250, 246, 0.12);
}
.admin-hero-facts b {
  font:
    700 2rem Georgia,
    serif;
}
.admin-milestone-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.admin-milestone-grid form {
  display: grid;
  gap: 12px;
  padding: 20px;
  border-radius: 20px;
  background: #faf5f1;
}
.admin-milestone-grid form > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.admin-milestone-grid label {
  display: grid;
  gap: 6px;
  font-size: 0.78rem;
  color: #6c5956;
}
.admin-data-list {
  display: grid;
  gap: 8px;
}
.admin-data-list > div {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(138, 50, 64, 0.1);
}
.admin-doorcard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.admin-doorcard-preview {
  aspect-ratio: 16/9;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 28px;
  border-radius: 26px;
  color: #fffaf6;
  background: linear-gradient(135deg, #8a3240, #702936);
  box-shadow: 0 18px 50px rgba(83, 46, 48, 0.12);
}
.admin-doorcard-preview h3 {
  color: inherit;
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  margin: 12px 0 5px;
}
.admin-doorcard-preview p,
.admin-doorcard-preview span {
  color: #ead7d5;
}
.admin-doorcard-preview > div:last-child {
  display: flex;
  gap: 9px;
}
@media (max-width: 980px) {
  .admin-ops-grid,
  .admin-profile-grid {
    grid-template-columns: 1fr 1fr;
  }
  .admin-doorcard-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 720px) {
  .admin-ops-grid,
  .admin-profile-grid,
  .admin-milestone-grid {
    grid-template-columns: 1fr;
  }
  .admin-hero-surface {
    display: grid;
  }
  .admin-data-list > div {
    display: grid;
    gap: 4px;
  }
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  color: var(--ink);
  background: #fff;
  line-height: 1.6;
}
a {
  color: inherit;
  text-decoration: none;
}
.admin-readiness {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 0 0 18px;
}
.admin-readiness > div {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 9px;
  align-items: center;
  padding: 14px 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}
.admin-readiness > div > .admin-status {
  grid-row: 1/3;
}
.admin-readiness strong {
  font-size: 0.76rem;
}
.admin-readiness small {
  font-size: 0.68rem;
  color: #7d8782;
  line-height: 1.4;
}
.admin-form-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}
body .admin-inline-price {
  grid-template-columns: 1fr 1fr 1fr auto auto auto;
}
.admin-inline-price .admin-check {
  align-self: center;
  display: flex;
  gap: 7px;
  align-items: center;
  white-space: nowrap;
}
.admin-inline-price .admin-check input {
  width: auto;
}
.admin-price-list.discounts > div {
  flex-wrap: wrap;
}
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 17px;
  margin-bottom: 17px;
  align-items: start;
}
.admin-dashboard-grid.lower {
  grid-template-columns: 1fr 1fr;
}
.admin-preflight {
  display: grid;
  gap: 3px;
  margin-top: 14px;
}
.admin-preflight > div {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #eceae5;
}
.admin-preflight > div:last-child {
  border: 0;
}
.admin-preflight strong,
.admin-preflight small {
  display: block;
}
.admin-preflight strong {
  font-size: 0.74rem;
}
.admin-preflight small {
  font-size: 0.66rem;
  color: #7d8782;
  margin-top: 1px;
}
.admin-recent-list {
  display: grid;
  margin-top: 8px;
}
.admin-recent-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid #eceae5;
}
.admin-recent-list strong,
.admin-recent-list small {
  display: block;
}
.admin-recent-list strong {
  font-size: 0.78rem;
}
.admin-recent-list small {
  font-size: 0.67rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-quick.stacked {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.admin-participant-ops {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 20px;
}
.admin-participant-ops .admin-form-section {
  margin: 0;
}
.admin-participant-ops textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid #dcdad4;
  border-radius: 11px;
  padding: 10px 12px;
  color: var(--ink);
  background: #fff;
}
.admin-participant-ops .admin-form-section > div:last-child {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 9px;
}
.admin-participant-ops small {
  font-size: 0.67rem;
  color: #7d8782;
}
.admin-timeline {
  display: grid;
  gap: 0;
  margin-top: 10px;
}
.admin-timeline > div {
  display: grid;
  grid-template-columns: 14px 1fr;
  gap: 9px;
  min-height: 48px;
  position: relative;
}
.admin-timeline > div > span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #aeb6b2;
  margin-top: 5px;
  position: relative;
}
.admin-timeline > div:not(:last-child) > span:after {
  content: "";
  position: absolute;
  left: 4px;
  top: 10px;
  width: 2px;
  height: 38px;
  background: #e3e5e2;
}
.admin-timeline > div.current > span {
  background: var(--burgundy);
}
.admin-timeline p {
  margin: 0;
}
.admin-timeline strong,
.admin-timeline small {
  display: block;
}
.admin-timeline strong {
  font-size: 0.75rem;
}
.admin-timeline small {
  font-size: 0.66rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-discount-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 3px 0 12px;
}
.admin-discount-toolbar input {
  flex: 1;
  min-width: 0;
  border: 1px solid #dcdad4;
  border-radius: 10px;
  padding: 9px 11px;
}
.admin-discount-toolbar span {
  font-size: 0.68rem;
  color: #7d8782;
  white-space: nowrap;
}
.admin-discount-metric {
  color: var(--sage) !important;
  font-weight: 700;
}
.admin-price-list > div[hidden] {
  display: none;
}
.admin-audit-note {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 17px;
}
.admin-audit-note span {
  font-size: 0.72rem;
  color: #6f7873;
}
.admin-audit-table {
  min-width: 820px;
}
@media (max-width: 900px) {
  .admin-readiness {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .admin-dashboard-grid,
  .admin-dashboard-grid.lower {
    grid-template-columns: 1fr;
  }
  .admin-participant-ops {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  body .admin-inline-price {
    grid-template-columns: 1fr;
  }
  .admin-form-actions {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-quick.stacked {
    grid-template-columns: 1fr;
  }
  .admin-audit-note {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-participant-ops .admin-form-section > div:last-child {
    align-items: flex-start;
    flex-direction: column;
  }
}

img {
  max-width: 100%;
  display: block;
}
button,
input,
textarea {
  font: inherit;
}
.container {
  width: min(calc(100% - 40px), var(--max));
  margin: auto;
}
.kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 800;
  color: var(--burgundy);
}
.kicker:before {
  content: "";
  width: 26px;
  height: 2px;
  background: var(--burgundy);
}
h1,
h2,
h3 {
  line-height: 1.08;
  letter-spacing: -0.035em;
  margin: 0;
}
h1 {
  font-size: clamp(2.9rem, 7vw, 6rem);
  max-width: 920px;
}
h2 {
  font-size: clamp(2rem, 4.2vw, 3.75rem);
}
h3 {
  font-size: 1.35rem;
}
p {
  margin: 0;
  color: var(--muted);
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 20px;
  border-radius: 999px;
  font-weight: 800;
  border: 1px solid transparent;
  transition: 0.2s ease;
  cursor: pointer;
}
.btn-primary {
  background: var(--burgundy);
  color: #fff;
  box-shadow: 0 12px 30px rgba(143, 45, 69, 0.18);
}
.btn-primary:hover {
  transform: translateY(-2px);
  background: var(--burgundy-dark);
}
.btn-secondary {
  border-color: #d7d9d5;
  background: #fff;
}
.btn-secondary:hover {
  border-color: var(--sage);
  color: var(--sage-dark);
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(231, 229, 223, 0.8);
}
.nav {
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.logo {
  width: 172px;
  min-width: 145px;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 24px;
  font-weight: 700;
  font-size: 0.93rem;
}
.nav-links a:hover {
  color: var(--burgundy);
}
.menu-group {
  position: relative;
}
.menu-group > a:after {
  content: "⌄";
  margin-left: 5px;
  font-size: 0.9em;
}
.dropdown {
  position: absolute;
  top: 35px;
  left: -18px;
  width: 340px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 10px;
  box-shadow: var(--shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: 0.18s;
}
.menu-group:hover .dropdown {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.dropdown a {
  display: block;
  padding: 10px 12px;
  border-radius: 10px;
  font-weight: 650;
}
.dropdown a:hover {
  background: var(--cream);
}
.nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.mobile-toggle {
  display: none;
  background: transparent;
  border: 0;
  font-size: 1.5rem;
}
.hero {
  padding: 74px 0 84px;
  overflow: hidden;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  gap: 56px;
}
.hero-copy {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.hero-copy p {
  font-size: 1.15rem;
  max-width: 680px;
}
.hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.hero-visual {
  position: relative;
  min-height: 560px;
}
.hero-photo {
  position: absolute;
  inset: 0 0 40px 35px;
  border-radius: 32px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.hero-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-badge {
  position: absolute;
  left: 0;
  bottom: 0;
  max-width: 270px;
  background: #fff;
  padding: 22px;
  border-radius: 20px;
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
}
.hero-badge strong {
  display: block;
  font-size: 2rem;
  color: var(--burgundy);
  line-height: 1;
}
.hero-badge span {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 0.9rem;
}
.trust-strip {
  padding: 28px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--cream);
}
.trust-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.trust-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.trust-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #fff;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  font-size: 1.1rem;
}
.trust-item strong {
  display: block;
}
.trust-item span {
  color: var(--muted);
  font-size: 0.88rem;
}
.section {
  padding: 96px 0;
}
.section-soft {
  background: var(--cream);
}
.section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 44px;
}
.section-head > div {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.section-head p {
  max-width: 660px;
}
.cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}
.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px;
  transition: 0.2s ease;
  display: flex;
  flex-direction: column;
  min-height: 290px;
}
.card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow);
}
.card-icon {
  width: 54px;
  height: 54px;
  border-radius: 17px;
  background: rgba(102, 127, 115, 0.12);
  display: grid;
  place-items: center;
  font-size: 1.45rem;
  margin-bottom: 26px;
}
.card h3 {
  margin-bottom: 12px;
}
.card p {
  flex: 1;
}
.card-link {
  margin-top: 28px;
  color: var(--burgundy);
  font-weight: 800;
}
.card-link:after {
  content: " →";
}
.card-accent {
  background: var(--burgundy);
  color: #fff;
  border: 0;
}
.card-accent p,
.card-accent .card-link {
  color: rgba(255, 255, 255, 0.83);
}
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
.split-media {
  border-radius: 30px;
  overflow: hidden;
  min-height: 430px;
  background: #e8e9e5;
  box-shadow: var(--shadow);
}
.split-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.split-copy {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.bullets {
  display: grid;
  gap: 14px;
  margin-top: 8px;
}
.bullet {
  display: flex;
  gap: 12px;
}
.check {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(102, 127, 115, 0.15);
  color: var(--sage-dark);
  display: grid;
  place-items: center;
  font-size: 0.8rem;
  font-weight: 900;
  flex: 0 0 auto;
}
.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.stat {
  padding: 28px;
  border-left: 2px solid var(--burgundy);
}
.stat strong {
  font-size: 2.4rem;
  display: block;
  letter-spacing: -0.05em;
}
.stat span {
  color: var(--muted);
}
.cta {
  background: var(--ink);
  color: #fff;
  border-radius: 34px;
  padding: 56px;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 48px;
  align-items: center;
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 28px 70px rgba(23, 33, 30, 0.14);
}
.cta p {
  color: #c9cfcb;
  max-width: 650px;
  margin-top: 18px;
}
.cta .cta-kicker {
  width: max-content;
  background: var(--burgundy);
  color: #fff;
  padding: 8px 13px;
  border-radius: 999px;
  letter-spacing: 0.1em;
  box-shadow: 0 8px 22px rgba(143, 45, 69, 0.24);
}
.cta .cta-kicker:before {
  display: none;
}
.cta h2 {
  margin-top: 18px;
}
.cta-side {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 30px;
  border-radius: 26px;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.105),
    rgba(255, 255, 255, 0.045)
  );
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07);
  transition:
    transform 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease;
}
.cta-side:hover {
  transform: translateY(-4px);
  border-color: rgba(255, 255, 255, 0.25);
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.13),
    rgba(255, 255, 255, 0.055)
  );
}
.cta-side:before {
  content: "";
  width: 42px;
  height: 4px;
  border-radius: 999px;
  background: var(--burgundy);
  margin-bottom: 10px;
}
.cta-side-eyebrow {
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 800;
  color: #aeb9b3;
}
.cta-side strong {
  font-size: 1.3rem;
  line-height: 1.25;
  letter-spacing: -0.02em;
}
.cta-side-note {
  color: #c9cfcb;
  font-size: 0.9rem;
  line-height: 1.5;
}
.cta-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 12px;
}
.cta .btn-secondary {
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
  border-color: #64706b;
}
.cta .btn-secondary:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #89948f;
  color: #fff;
}
.conference-price-periods {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  max-width: 650px;
  margin-top: 26px;
}
.conference-price-period {
  position: relative;
  display: grid;
  align-content: center;
  gap: 6px;
  min-height: 104px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.06);
}
.conference-price-period-meta {
  display: grid;
  gap: 6px;
}
.conference-price-period small {
  color: #c9cfcb;
  font-size: 0.72rem;
  line-height: 1.35;
}
.conference-price-period strong {
  color: #fff;
  font-size: 1.35rem;
  line-height: 1.1;
}
.conference-price-period.is-current {
  padding-top: 32px;
  border-color: #fff;
  background: #fff;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.2);
}
.conference-price-period.is-current small {
  color: #68736d;
}
.conference-price-period.is-current strong {
  color: var(--ink);
}
.conference-price-current {
  position: absolute;
  top: 0;
  left: 14px;
  padding: 5px 10px;
  border-radius: 0 0 10px 10px;
  background: var(--burgundy);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.conference-price-empty {
  grid-column: 1 / -1;
  margin: 0 !important;
  color: #c9cfcb;
  font-size: 0.86rem;
}
@media (max-width: 640px) {
  .conference-registration-cta {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }
  .conference-registration-cta > * {
    min-width: 0;
    max-width: 100%;
  }
  .conference-registration-cta p {
    overflow-wrap: anywhere;
  }
  .conference-price-periods {
    grid-template-columns: 1fr;
    width: 100%;
    max-width: none;
  }
  .conference-price-period {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    align-content: initial;
    min-height: 0;
    padding: 15px 17px;
    box-sizing: border-box;
  }
  .conference-price-period.is-current {
    padding: 15px 17px;
  }
  .conference-price-period-meta {
    min-width: 0;
  }
  .conference-price-period small {
    font-size: 0.76rem;
  }
  .conference-price-period strong {
    font-size: 1.25rem;
    white-space: nowrap;
  }
  .conference-price-current {
    position: static;
    width: max-content;
    margin-bottom: 2px;
    border-radius: 999px;
  }
  .conference-registration-cta .cta-side {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .conference-registration-cta .cta-side .btn {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    white-space: nowrap;
  }
}
.page-hero {
  padding: 68px 0 58px;
  background: linear-gradient(180deg, var(--cream), #fff);
}
.page-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 50px;
  align-items: center;
}
.page-hero h1 {
  font-size: clamp(2.65rem, 5.8vw, 5rem);
}
.page-hero p {
  font-size: 1.1rem;
  max-width: 760px;
  margin-top: 20px;
}
.page-hero-art {
  min-height: 330px;
  display: grid;
  place-items: center;
}
.page-hero-art img {
  max-height: 320px;
  object-fit: contain;
}
.meta-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}
.pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.86rem;
}
.course-overview {
  display: grid;
  grid-template-columns: 1fr 0.42fr;
  gap: 42px;
}
.rich-copy {
  font-size: 1.03rem;
}
.rich-copy p + p {
  margin-top: 16px;
}
.info-panel {
  padding: 28px;
  border-radius: 24px;
  background: var(--cream);
  height: max-content;
  position: sticky;
  top: 105px;
}
.info-panel h3 {
  margin-bottom: 18px;
}
.info-list {
  display: grid;
  gap: 13px;
}
.info-list div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-bottom: 1px solid #deddd7;
  padding-bottom: 12px;
}
.info-list span {
  color: var(--muted);
}
.feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.feature {
  padding: 25px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
}
.feature .card-icon {
  margin-bottom: 18px;
}
.feature p {
  font-size: 0.92rem;
  margin-top: 9px;
}
.download-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 25px;
  align-items: center;
  background: var(--sage);
  color: #fff;
  padding: 36px;
  border-radius: 28px;
}
.download-box p {
  color: rgba(255, 255, 255, 0.8);
  margin-top: 10px;
}
.inline-form {
  display: flex;
  gap: 10px;
}
.inline-form input {
  min-width: 250px;
  padding: 13px 16px;
  border-radius: 999px;
  border: 0;
  outline: none;
}
.inline-form button {
  white-space: nowrap;
}
.course-guide-section { background: #fff; }
.course-guide-card {
  display: grid;
  grid-template-columns: minmax(180px, .72fr) minmax(280px, 1.15fr) minmax(330px, 1.1fr);
  gap: clamp(26px, 4vw, 54px);
  align-items: center;
  padding: clamp(26px, 4vw, 54px);
  border: 1px solid #e4d7cf;
  border-radius: 32px;
  background: linear-gradient(135deg, #f8f3ee 0%, #fffdf9 52%, #edf2ee 100%);
  box-shadow: 0 24px 70px rgba(69, 44, 45, .09);
}
.course-guide-preview {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 20px 45px rgba(52, 39, 39, .16);
  transform: rotate(-1.5deg);
}
.course-guide-preview img { display: block; width: 100%; height: auto; }
.course-guide-preview span {
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 7px 10px;
  border-radius: 999px;
  background: #8a3240;
  color: #fff;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.course-guide-copy h2 {
  margin: 12px 0 16px;
  font-size: clamp(1.9rem, 3vw, 3rem);
  line-height: 1.04;
}
.course-guide-copy > p { margin: 0; color: #5f6862; }
.course-guide-copy ul {
  display: grid;
  gap: 9px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}
.course-guide-copy li {
  position: relative;
  padding-left: 24px;
  font-size: .88rem;
  font-weight: 750;
  color: #33453b;
}
.course-guide-copy li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #8a3240;
  font-weight: 900;
}
.course-guide-form {
  display: grid;
  gap: 16px;
  padding: 26px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(54, 45, 42, .1);
}
.course-guide-form-head { display: grid; gap: 3px; }
.course-guide-form-head strong { color: #26342d; font-size: 1.05rem; }
.course-guide-form-head span,
.course-guide-form > small,
.course-guide-success small { color: #6f7772; font-size: .76rem; }
.course-guide-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.course-guide-fields label {
  display: grid;
  gap: 6px;
  color: #29312d;
  font-size: .75rem;
  font-weight: 850;
}
.course-guide-fields .span-2 { grid-column: 1 / -1; }
.course-guide-fields input {
  width: 100%;
  min-height: 48px;
  border: 1px solid #d9ddd9;
  border-radius: 13px;
  padding: 11px 13px;
  color: #29312d;
  background: #fff;
  font: inherit;
}
.course-guide-fields input:focus {
  outline: 3px solid rgba(138, 50, 64, .14);
  border-color: #8a3240;
}
.course-guide-consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: start;
  color: #606963;
  font-size: .72rem;
  line-height: 1.5;
}
.course-guide-consent input { margin-top: 3px; }
.course-guide-form > .btn { width: 100%; }
.course-guide-success { display: grid; justify-items: start; gap: 14px; }
.course-guide-success > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  background: #e6eee8;
  color: #496353;
  font-size: 1.4rem;
  font-weight: 900;
}
.course-guide-success strong { display: block; color: #29312d; font-size: 1.12rem; }
.course-guide-success p { margin: 5px 0 0; color: #617069; font-size: .86rem; }

@media (max-width: 1060px) {
  .course-guide-card { grid-template-columns: minmax(150px, .6fr) 1.4fr; }
  .course-guide-form { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .course-guide-card { grid-template-columns: 1fr; padding: 22px; border-radius: 25px; }
  .course-guide-preview { width: min(78%, 310px); justify-self: center; }
  .course-guide-form { grid-column: auto; padding: 20px; }
  .course-guide-fields { grid-template-columns: 1fr; }
  .course-guide-fields .span-2 { grid-column: auto; }
}
.team-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.person {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
}
.person-img {
  aspect-ratio: 1/1;
  background: var(--cream);
}
.person-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.person-copy {
  padding: 20px;
}
.person-copy p {
  font-size: 0.9rem;
  margin-top: 4px;
}
.partner-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.partner {
  min-height: 120px;
  border: 1px solid var(--line);
  border-radius: 18px;
  display: grid;
  place-items: center;
  padding: 20px;
  background: #fff;
  color: var(--muted);
  font-weight: 800;
  text-align: center;
}
.partners-gold-section {
  background: linear-gradient(180deg, #fffdf9 0%, #fff 100%);
}
.partners-logo-grid {
  display: grid;
  gap: 18px;
}
.partners-logo-grid-gold {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width: 940px;
  margin: 12px auto 0;
  gap: 28px;
}
.partners-logo-grid-all {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 12px;
}
.partner-logo-card {
  min-width: 0;
  min-height: 164px;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 30px;
  border: 1px solid rgba(97, 121, 105, 0.18);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(47, 41, 38, 0.06);
}
.partner-logo-card img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 82px;
  object-fit: contain;
}
.partner-logo-card-gold {
  min-height: 230px;
  padding: 42px;
  border-color: rgba(168, 127, 50, 0.28);
  box-shadow: 0 18px 44px rgba(91, 67, 26, 0.09);
}
.partner-logo-card-gold img {
  max-width: 88%;
  max-height: 124px;
}
footer {
  background: #111815;
  color: #fff;
  padding: 64px 0 32px;
  margin-top: 80px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.58fr 0.72fr 1.2fr;
  gap: 38px;
}
.footer-logo {
  width: 180px;
  filter: brightness(10);
}
.footer-col h3 {
  font-size: 1rem;
  margin-bottom: 16px;
}
.footer-col a,
.footer-col p {
  display: block;
  color: #aeb8b3;
  font-size: 0.92rem;
  margin: 8px 0;
}
.footer-newsletter h3 {
  font-size: 1rem;
  margin: 0 0 10px;
}
.footer-newsletter > p {
  color: #aeb8b3;
  font-size: 0.9rem;
  margin: 0 0 15px;
}
.footer-newsletter form > div:first-of-type {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.footer-newsletter input[type="email"] {
  width: 100%;
  min-width: 0;
  border: 1px solid #39433e;
  border-radius: 12px;
  background: #1b2420;
  color: #fff;
  padding: 12px 13px;
}
.footer-newsletter button {
  border: 0;
  border-radius: 12px;
  background: var(--primary);
  color: #fff;
  font-weight: 800;
  padding: 0 15px;
  cursor: pointer;
}
.footer-newsletter button:disabled,
.footer-newsletter input:disabled { opacity: 0.6; cursor: wait; }
.footer-newsletter-consent {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: start;
  margin-top: 11px;
  color: #89948f;
  font-size: 0.72rem;
  line-height: 1.45;
}
.footer-newsletter-consent input { margin-top: 2px; accent-color: var(--primary); }
.footer-newsletter-consent a { color: #d8dfdc; }
.footer-newsletter form > small {
  display: block;
  min-height: 1.2em;
  margin-top: 9px;
  color: #89948f;
  font-size: 0.7rem;
}
.footer-newsletter-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.footer-newsletter-success { display: grid !important; grid-template-columns: 1fr !important; gap: 5px !important; padding: 14px; border: 1px solid #385749; border-radius: 13px; background: #17251e; }
.footer-newsletter-success strong { color: #fff; }
.footer-newsletter-success span { color: #aeb8b3; font-size: 0.82rem; }
.footer-bottom {
  border-top: 1px solid #2c3531;
  margin-top: 42px;
  padding-top: 22px;
  color: #89948f;
  font-size: 0.86rem;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.notice {
  padding: 14px 18px;
  background: #fff5f6;
  border: 1px solid #f0d6dd;
  border-radius: 14px;
  color: #6d2436;
  font-size: 0.92rem;
}
.conference-hero {
  padding: 92px 0;
  background: linear-gradient(135deg, #f7f5f1 0%, #fff 58%);
}
.conference-hero-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 60px;
  align-items: center;
}
.conference-hero h1 {
  font-size: clamp(3.2rem, 7vw, 6.4rem);
  margin: 15px 0 24px;
}
.conference-hero p {
  font-size: 1.12rem;
  max-width: 720px;
}
.conference-hero .hero-actions {
  margin-top: 30px;
}
.conference-hero-card {
  background: var(--ink);
  color: #fff;
  border-radius: 32px;
  padding: 42px;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.conference-hero-card:before {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  border-radius: 50%;
  background: var(--burgundy);
  right: -60px;
  top: -70px;
  opacity: 0.85;
}
.conference-hero-card > span {
  color: #b8c2bd;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.conference-hero-card > strong {
  font-size: clamp(2rem, 3.3vw, 3.1rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  margin: 18px 0;
}
.conference-hero-card p {
  color: #b8c2bd;
  font-size: 0.95rem;
}
.year-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.year-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 26px;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  transition: 0.2s ease;
}
.year-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow);
  border-color: #d9d4cb;
}
.year-card.current {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
  grid-column: span 2;
}
.year-card.current p,
.year-card.current .card-link {
  color: #c8d0cc;
}
.year-card-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 800;
  color: var(--muted);
}
.year-card.current .year-card-top {
  color: #b8c2bd;
}
.year-status {
  background: var(--cream);
  padding: 5px 9px;
  border-radius: 999px;
}
.year-card.current .year-status {
  background: var(--burgundy);
  color: #fff;
}
.year-number {
  display: block;
  font-size: 3.4rem;
  line-height: 1;
  letter-spacing: -0.06em;
  margin: 32px 0 18px;
}
.year-card h3 {
  font-size: 1.15rem;
}
.year-card p {
  font-size: 0.88rem;
  margin-top: 10px;
}
.year-card .card-link {
  margin-top: auto;
  padding-top: 22px;
}
.conference-year-hero {
  padding: 50px 0 72px;
  background: linear-gradient(180deg, var(--cream), #fff);
}
.year-nav {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 44px;
}
.year-nav a {
  padding: 8px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  font-weight: 800;
  font-size: 0.88rem;
}
.year-nav a:hover {
  border-color: var(--burgundy);
  color: var(--burgundy);
}
.year-nav a.active {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
}
.conference-year-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 60px;
  align-items: center;
}
.conference-year-grid h1 {
  font-size: clamp(2.8rem, 5.8vw, 5.2rem);
  margin: 16px 0 22px;
}
.conference-year-grid > div > p {
  font-size: 1.08rem;
  max-width: 760px;
}
.conference-meta {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 26px 0;
}
.conference-meta > span {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 0.84rem;
  font-weight: 750;
}
.conference-year-art {
  min-height: 330px;
  position: relative;
  display: grid;
  place-items: center;
}
.conference-year-art img {
  max-height: 300px;
}
.conference-year-art strong {
  position: absolute;
  right: 0;
  bottom: 0;
  background: var(--ink);
  color: #fff;
  font-size: 2rem;
  letter-spacing: -0.04em;
  padding: 12px 18px;
  border-radius: 16px;
  box-shadow: var(--shadow);
}
.program-section {
  padding-top: 86px;
}
.program-timeline {
  display: grid;
  gap: 18px;
}
.program-row {
  display: grid;
  grid-template-columns: 155px 1fr;
  gap: 28px;
  align-items: start;
  padding: 10px 0;
}
.program-time {
  padding: 18px 0 18px 18px;
  border-left: 3px solid var(--burgundy);
  position: sticky;
  top: 105px;
}
.program-time strong {
  display: block;
  font-size: 1rem;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.program-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}
.program-card {
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 20px;
  background: #fff;
  min-height: 220px;
  transition: 0.2s ease;
}
.program-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(23, 33, 30, 0.08);
}
.program-card-top {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-bottom: 16px;
}
.program-avatar {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
  background: var(--cream);
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px var(--line);
}
.program-avatar-empty {
  display: grid;
  place-items: center;
  color: var(--burgundy);
  font-family: var(--serif);
  font-size: 1.15rem;
  font-weight: 800;
}
.program-speaker-list {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 18px;
  margin-top: 17px;
}
.program-speaker {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: min(100%, 165px);
  flex: 1 1 165px;
}
.program-speaker > span:last-child {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.3;
}
.program-type {
  display: inline-flex;
  width: max-content;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 0.68rem;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 850;
}
.program-type.lecture {
  background: #f5e7eb;
  color: var(--burgundy-dark);
}
.program-type.workshop {
  background: #e9f0ec;
  color: var(--sage-dark);
}
.program-type.panel {
  background: #ecebea;
  color: #3d4642;
}
.program-card .program-type.panel {
  width: min-content;
  flex-shrink: 0;
  padding-left: 12px;
  padding-right: 8px;
}
.program-card h4 {
  font-size: 1.05rem;
  line-height: 1.3;
  letter-spacing: -0.02em;
  margin: 0;
}
.program-card p {
  font-size: 0.85rem;
  font-weight: 750;
  color: var(--muted);
  margin-top: 14px;
}
.program-row.break .program-time {
  border-left-color: #cfcac2;
}
.program-row.break,
.program-row.service {
  padding-top: 2px;
  padding-bottom: 2px;
}
.program-service {
  background: var(--cream);
  border-radius: 18px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  min-height: 58px;
}
.program-service strong {
  font-size: 0.96rem;
}
.program-coming {
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--cream);
  padding: 42px;
}
.program-coming h3 {
  font-size: 2rem;
  margin: 18px 0 12px;
}
.program-coming > p {
  max-width: 700px;
}
.program-preview-times {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 28px;
}
.program-preview-times span {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  font-weight: 750;
  font-size: 0.83rem;
}
.experience-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.experience-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 26px;
  overflow: hidden;
}
.experience-card.experience-wide {
  grid-column: span 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.experience-card img {
  width: 100%;
  height: 270px;
  object-fit: cover;
}
.experience-wide img {
  height: 100%;
  min-height: 320px;
}
.experience-card > div {
  padding: 28px;
}
.experience-card h3 {
  font-size: 1.5rem;
  margin: 16px 0 10px;
}
.experience-card p {
  font-size: 0.93rem;
}
.archive-next {
  display: flex;
  justify-content: space-between;
  gap: 36px;
  align-items: center;
}
.archive-next > div {
  max-width: 760px;
}
.archive-next h2 {
  margin: 14px 0;
}
.archive-next .btn {
  white-space: nowrap;
}
@media (max-width: 980px) {
  .nav-links,
  .nav-actions .btn-secondary {
    display: none;
  }
  .mobile-toggle {
    display: block;
  }
  .mobile-open .nav-links {
    display: flex;
    position: absolute;
    top: 78px;
    left: 0;
    right: 0;
    background: #fff;
    padding: 24px;
    flex-direction: column;
    align-items: flex-start;
    border-bottom: 1px solid var(--line);
  }
  .menu-group {
    width: 100%;
  }
  .dropdown {
    position: static;
    box-shadow: none;
    border: 0;
    padding-left: 8px;
    width: 100%;
    opacity: 1;
    visibility: visible;
    display: none;
  }
  .menu-group.open .dropdown {
    display: block;
  }
  .hero-grid,
  .page-hero-grid,
  .split,
  .course-overview,
  .cta {
    grid-template-columns: 1fr;
  }
  .hero-visual {
    min-height: 470px;
  }
  .cards {
    grid-template-columns: repeat(2, 1fr);
  }
  .feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .team-grid,
  .partner-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .partners-logo-grid-all {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .trust-grid,
  .stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .cta-actions {
    justify-content: flex-start;
  }
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .container {
    width: min(calc(100% - 28px), var(--max));
  }
  .hero,
  .section {
    padding: 64px 0;
  }
  .hero-grid {
    gap: 35px;
  }
  .hero-visual {
    min-height: 370px;
  }
  .hero-photo {
    inset: 0 0 30px 16px;
  }
  .hero-badge {
    padding: 16px;
    max-width: 230px;
  }
  .cards,
  .feature-grid,
  .team-grid,
  .partner-grid,
  .trust-grid,
  .stats {
    grid-template-columns: 1fr;
  }
  .partners-logo-grid-gold {
    grid-template-columns: 1fr;
  }
  .partners-logo-grid-all {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .partner-logo-card {
    min-height: 132px;
    padding: 22px;
  }
  .partner-logo-card-gold {
    min-height: 190px;
    padding: 34px;
  }
  .section-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .download-box {
    grid-template-columns: 1fr;
  }
  .inline-form {
    flex-direction: column;
  }
  .inline-form input {
    min-width: 0;
    width: 100%;
  }
  .cta {
    padding: 32px 24px;
    gap: 30px;
  }
  .cta-side {
    padding: 24px;
    border-radius: 22px;
  }
  .cta-side .btn {
    width: 100%;
  }
  .cta-actions {
    width: 100%;
  }
  .page-hero-art {
    min-height: 220px;
  }
  .page-hero-art img {
    max-height: 210px;
  }
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .nav-actions .btn-primary {
    display: none;
  }
}
@media (max-width: 980px) {
  .conference-hero-grid,
  .conference-year-grid {
    grid-template-columns: 1fr;
  }
  .conference-hero-card {
    min-height: 300px;
  }
  .year-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .year-card.current {
    grid-column: span 2;
  }
  .program-row {
    grid-template-columns: 130px 1fr;
  }
  .program-time {
    position: static;
  }
  .experience-card.experience-wide {
    grid-template-columns: 1fr 1fr;
  }
  .archive-next {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 640px) {
  .conference-hero {
    padding: 64px 0;
  }
  .conference-hero-card {
    padding: 30px;
    min-height: 280px;
  }
  .year-grid {
    grid-template-columns: 1fr;
  }
  .year-card.current {
    grid-column: auto;
  }
  .conference-year-hero {
    padding: 34px 0 56px;
  }
  .year-nav {
    margin-bottom: 30px;
  }
  .conference-year-art {
    min-height: 240px;
  }
  .conference-year-art img {
    max-height: 220px;
  }
  .program-row {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 8px 0;
  }
  .program-time {
    padding: 8px 0 6px 12px;
  }
  .program-grid {
    grid-template-columns: 1fr;
  }
  .program-card {
    min-height: 0;
  }
  .program-service {
    padding: 15px 17px;
  }
  .program-coming {
    padding: 28px 22px;
  }
  .program-preview-times {
    grid-template-columns: 1fr;
  }
  .experience-grid {
    grid-template-columns: 1fr;
  }
  .experience-card.experience-wide {
    grid-column: auto;
    grid-template-columns: 1fr;
  }
  .experience-wide img {
    min-height: 240px;
  }
  .archive-next .btn {
    width: 100%;
  }
}

.registration-hero {
  padding: 72px 0 58px;
  background: linear-gradient(180deg, var(--cream), #fff);
}
.registration-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 56px;
  align-items: end;
}
.registration-hero h1 {
  font-size: clamp(2.8rem, 5.8vw, 5.2rem);
  margin: 14px 0 18px;
}
.registration-hero p {
  max-width: 720px;
  font-size: 1.04rem;
}
.registration-price-card {
  background: var(--ink);
  color: #fff;
  border-radius: 24px;
  padding: 28px;
  box-shadow: var(--shadow);
}
.registration-price-card span,
.registration-price-card small {
  display: block;
  color: #b9c2bd;
}
.registration-price-card strong {
  display: block;
  font-size: 2.25rem;
  margin: 12px 0 7px;
}
.registration-price-card span {
  font-size: 0.75rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.registration-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 26px;
  align-items: start;
}
.registration-form {
  display: grid;
  gap: 16px;
}
.registration-block {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 26px;
}
.registration-block-head {
  display: flex;
  gap: 14px;
  margin-bottom: 22px;
}
.registration-block-head > span {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 10px;
  background: #f3e5e9;
  color: var(--burgundy);
  display: grid;
  place-items: center;
  font-size: 0.72rem;
  font-weight: 900;
}
.registration-block-head h2 {
  font-size: 1.25rem;
  margin: 1px 0 3px;
}
.registration-block-head p {
  font-size: 0.8rem;
}
.registration-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.registration-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.registration-grid > * {
  min-width: 0;
}
.registration-grid label {
  font-size: 0.76rem;
  font-weight: 800;
  color: #59635e;
}
.registration-grid input,
.registration-grid select,
.registration-grid textarea,
.discount-entry input {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 7px;
  border: 1px solid #dcdad4;
  border-radius: 11px;
  background: #fff;
  color: var(--ink);
  padding: 11px 12px;
  font: inherit;
  outline: none;
}
.registration-grid input[type="date"] {
  display: block;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.registration-grid .span-2 {
  grid-column: span 2;
}
.billing-choice,
.diet-grid {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.billing-choice label,
.diet-grid label {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  background: #faf9f7;
  font-size: 0.78rem;
  font-weight: 750;
}
.input-with-action,
.discount-entry {
  display: flex;
  gap: 7px;
  align-items: flex-end;
}
.input-with-action input {
  min-width: 0;
  flex: 1;
}
.input-with-action button,
.discount-entry button {
  height: 42px;
  flex: 0 0 auto;
  white-space: nowrap;
  border: 0;
  background: var(--burgundy);
  color: #fff;
  border-radius: 11px;
  padding: 0 13px;
  font: inherit;
  font-size: 0.72rem;
  font-weight: 850;
  cursor: pointer;
}
.input-with-action button {
  margin-top: 7px;
}
.form-status {
  min-height: 20px;
  margin-top: 10px;
  color: var(--burgundy);
  font-size: 0.78rem;
  font-weight: 750;
}
.discount-entry {
  gap: 9px;
}
.discount-entry input {
  margin: 0;
  flex: 1;
}
.price-summary {
  display: grid;
  gap: 8px;
  margin-top: 20px;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}
.price-summary > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  font-size: 0.82rem;
}
.price-summary .total {
  font-size: 1rem;
  padding-top: 10px;
  border-top: 1px dashed #d9d5ce;
}
.registration-consent {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  background: #f5f2ed;
  border-radius: 13px;
  padding: 14px;
  font-size: 0.76rem;
  line-height: 1.5;
}
.registration-consent input {
  width: 19px;
  height: 19px;
  margin-top: 2px;
  accent-color: #8a3240;
  flex: 0 0 auto;
}
.registration-consent a {
  color: #8a3240;
  font-weight: 750;
}
.legal-page {
  background: #faf7f3;
}
.legal-hero {
  padding-bottom: 52px;
}
.legal-document {
  max-width: 920px;
  background: #fffdfb;
  border: 1px solid rgba(138, 50, 64, 0.12);
  border-radius: 30px;
  padding: clamp(28px, 5vw, 64px);
  box-shadow: 0 24px 70px rgba(80, 46, 43, 0.07);
}
.legal-document h2 {
  margin: 2.4rem 0 0.75rem;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}
.legal-document h2:first-child {
  margin-top: 0;
}
.legal-document p,
.legal-document li {
  color: #5f5350;
  line-height: 1.75;
}
.legal-document a {
  color: #8a3240;
}
.legal-contact {
  display: grid;
  gap: 5px;
  margin-top: 42px;
  padding: 24px;
  border-radius: 20px;
  background: #f1e7e6;
}
.portal-shell {
  max-width: 920px;
}
.portal-card,
.portal-error {
  background: #fffdfb;
  border: 1px solid rgba(138, 50, 64, 0.12);
  border-radius: 30px;
  padding: clamp(24px, 4vw, 48px);
  box-shadow: 0 24px 70px rgba(80, 46, 43, 0.07);
}
.portal-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}
.portal-card h2 {
  font-size: clamp(2rem, 4vw, 3.2rem);
  margin: 8px 0;
}
.marketing-public-form-page .registration-hero { padding-bottom: 54px; }
.hosted-marketing-form { display: grid; gap: 24px; }
.hosted-marketing-form header p { margin: 0; color: #6f625f; line-height: 1.65; }
.hosted-marketing-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.hosted-marketing-form-grid > label:not(.registration-consent) { display: grid; gap: 7px; color: var(--ink); font-size: .78rem; font-weight: 800; }
.hosted-marketing-form-grid input:not([type="checkbox"]),
.hosted-marketing-form-grid select { width: 100%; min-height: 48px; border: 1px solid #dcdad4; border-radius: 12px; background: #fff; padding: 11px 13px; color: var(--ink); font: inherit; }
.hosted-marketing-form-grid select[multiple] { min-height: 112px; }
.hosted-marketing-form-grid .registration-consent { grid-column: 1 / -1; }
.hosted-marketing-form-legal { margin: 0; color: #746865; font-size: .76rem; line-height: 1.6; }
.hosted-marketing-form-legal a { color: var(--burgundy); font-weight: 800; }
.hosted-marketing-form > .btn { justify-self: start; }
.hosted-marketing-form-success { display: grid; justify-items: start; gap: 14px; }
.hosted-marketing-form-success h2,.hosted-marketing-form-success p { margin: 0; }
.hosted-marketing-form-check { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #e5ece7; color: #40594a; font-size: 1.5rem; font-weight: 900; }
.portal-status {
  display: inline-flex;
  padding: 9px 14px;
  border-radius: 999px;
  background: #efe3e5;
  color: #702835;
  font-weight: 800;
  font-size: 0.78rem;
}
.portal-status.paid {
  background: #e5ece7;
  color: #40594a;
}
.portal-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 34px 0;
}
.portal-facts > div {
  padding: 20px;
  border-radius: 20px;
  background: #f7f1ec;
  display: grid;
  gap: 6px;
}
.portal-facts span,
.portal-facts small {
  color: #766a66;
}
.portal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.portal-participant-navigation {
  display: grid;
  gap: 12px;
  margin: 22px 0 0;
}
.portal-participant-link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 20px 22px;
  border: 1px solid rgba(138, 50, 64, 0.18);
  border-radius: 22px;
  background: #fffdfb;
  color: var(--ink);
  box-shadow: 0 14px 34px rgba(80, 46, 43, 0.05);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.portal-participant-link:hover {
  transform: translateY(-2px);
  border-color: var(--burgundy);
  box-shadow: 0 18px 42px rgba(80, 46, 43, 0.09);
}
.portal-participant-link > span:not(.portal-participant-link-icon) { display: grid; gap: 3px; min-width: 0; }
.portal-participant-link small { color: var(--burgundy); font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.portal-participant-link strong { font-size: 1.15rem; line-height: 1.3; }
.portal-participant-link em { color: #766a66; font-size: .9rem; font-style: normal; }
.portal-participant-link > .btn { justify-self: end; white-space: nowrap; }
.portal-participant-link-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--burgundy);
  color: #fff;
  font-weight: 900;
}
.portal-participant-link.secondary { border-color: rgba(97, 121, 105, .25); }
.portal-participant-link.secondary .portal-participant-link-icon { background: var(--sage); }
.portal-participant-link.secondary small { color: var(--sage); }
.portal-programme { scroll-margin-top: 24px; }
.portal-page-back { display: inline-flex; margin: 0 0 18px; color: var(--burgundy); font-weight: 850; text-decoration: none; }
.portal-page-back:hover { text-decoration: underline; }
.portal-cancel-form {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid rgba(138, 50, 64, 0.12);
}
.portal-cancel-form label {
  display: grid;
  gap: 8px;
}
.feedback-form {
  display: grid;
  gap: 24px;
}
.portal-feedback-shell {
  width: min(calc(100% - 48px), 1240px);
}
.feedback-anonymous-banner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
  padding: 22px 24px;
  border: 1px solid #bdd6c4;
  border-radius: 20px;
  background: #e8f3eb;
  color: #315744;
}
.feedback-anonymous-banner > span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #617969;
  color: white;
  font-size: 1.3rem;
  font-weight: 900;
}
.feedback-anonymous-banner strong {
  display: block;
  margin-bottom: 4px;
  font-size: 1.18rem;
}
.feedback-anonymous-banner p { margin: 0; color: #4f6b5c; }
.feedback-section {
  display: grid;
  gap: 18px;
  padding: 26px;
  border: 1px solid #e5dcde;
  border-radius: 22px;
  background: #fffdfb;
}
.feedback-section h3 { margin: -8px 0 0; font-size: clamp(1.45rem, 3vw, 2rem); }
.feedback-section > p { margin: -8px 0 2px; color: #6b6260; }
.feedback-section > label,
.feedback-programme-rating > label {
  display: grid;
  gap: 8px;
  color: #4f403e;
  font-weight: 700;
}
.feedback-section textarea,
.feedback-section input[type="text"],
.feedback-section input:not([type]) {
  width: 100%;
}
.feedback-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
}
.feedback-checklist legend,
.feedback-binary legend { grid-column: 1 / -1; margin-bottom: 4px; font-weight: 800; }
.feedback-checklist label,
.feedback-binary label {
  display: flex;
  gap: 9px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid #e2d8d9;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
}
.feedback-binary { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; border: 0; }
.feedback-binary label { min-width: 120px; }
.feedback-likert-grid { align-items: stretch; }
.feedback-likert-grid .feedback-rating { display: flex; flex-direction: column; justify-content: space-between; }
.feedback-programme .program-timeline { display: grid; gap: 22px; }
.feedback-programme-block { padding: 0; }
.feedback-programme-block .program-content { min-width: 0; }
.feedback-programme-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.feedback-programme-rating {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(300px, 1.2fr);
  gap: 16px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e5dcde;
}
.feedback-programme-rating .feedback-rating { background: #f5f0eb; }
.feedback-submit-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.feedback-submit-row .form-status { margin: 0; }
.feedback-form > label {
  display: grid;
  gap: 9px;
  color: #4f403e;
  font-weight: 700;
}
.feedback-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.feedback-rating {
  margin: 0;
  padding: 18px;
  border: 0;
  border-radius: 18px;
  background: #f7f1ec;
}
.feedback-rating legend {
  font-weight: 800;
  padding: 0 0 10px;
}
.feedback-rating > div {
  display: flex;
  gap: 7px;
}
.feedback-rating label {
  position: relative;
}
.feedback-rating input {
  position: absolute;
  opacity: 0;
}
.feedback-rating span {
  display: grid;
  place-items: center;
  width: 39px;
  height: 39px;
  border-radius: 12px;
  background: #fffaf7;
  border: 1px solid rgba(138, 50, 64, 0.15);
  color: #8a3240;
  cursor: pointer;
}
.feedback-rating input:checked + span {
  background: #8a3240;
  color: #fffaf7;
}
.feedback-rating input:focus-visible + span {
  outline: 3px solid rgba(97, 121, 105, 0.3);
  outline-offset: 2px;
}
.feedback-rating small {
  display: block;
  margin-top: 8px;
  color: #82726e;
}
@media (max-width: 760px) {
  .hosted-marketing-form-grid {
    grid-template-columns: 1fr;
  }
  .portal-card header {
    display: grid;
  }
  .portal-facts {
    grid-template-columns: 1fr;
  }
  .portal-participant-link { grid-template-columns: auto minmax(0, 1fr); padding: 18px; }
  .portal-participant-link > .btn { grid-column: 1 / -1; justify-self: stretch; width: 100%; }
  .legal-document {
    border-radius: 24px;
  }
  .feedback-grid {
    grid-template-columns: 1fr;
  }
  .portal-feedback-shell { width: min(calc(100% - 28px), 1240px); }
  .feedback-anonymous-banner { grid-template-columns: 1fr; padding: 18px; }
  .feedback-section { padding: 18px; }
  .feedback-checklist,
  .feedback-programme-options,
  .feedback-programme-rating { grid-template-columns: 1fr; }
  .feedback-programme-block { grid-template-columns: 1fr; }
  .feedback-programme-block .program-time { position: static; }
}
.registration-submit {
  justify-self: start;
}
.registration-submit:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.registration-side {
  position: sticky;
  top: 105px;
  background: #f1eee8;
  border-radius: 22px;
  padding: 25px;
}
.registration-side h3 {
  font-size: 1.45rem;
  margin: 11px 0 18px;
}
.registration-side ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 16px;
}
.registration-side li {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 9px;
  font-size: 0.8rem;
  line-height: 1.55;
}
.registration-side-note {
  margin: 18px 0 0;
  padding-top: 16px;
  border-top: 1px solid #ddd7cf;
  font-size: 0.73rem;
  line-height: 1.55;
  color: #6f7873;
}
.registration-success {
  padding: 24px 4px;
}
.registration-success > span {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #e5efe9;
  color: #315c47;
  font-size: 1.5rem;
}
.registration-success h2 {
  font-size: 2rem;
  margin: 18px 0 9px;
}
.registration-success > p {
  margin: 14px 0 0;
  line-height: 1.65;
}
.registration-success-summary {
  background: var(--cream);
  border-radius: 14px;
  padding: 16px;
  margin: 22px 0;
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
.registration-payment-notice {
  margin-top: 18px !important;
  padding: 14px 16px;
  border-left: 4px solid var(--sage);
  border-radius: 0 12px 12px 0;
  background: #eef2ee;
  color: var(--ink);
}
.registration-success-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 24px;
}
.registration-success-actions .btn {
  margin: 0;
}
.hp-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}
@media (max-width: 980px) {
  .registration-hero-grid,
  .registration-layout {
    grid-template-columns: 1fr;
  }
  .registration-side {
    position: static;
  }
  .registration-grid.four {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .registration-grid,
  .registration-grid.four {
    grid-template-columns: 1fr;
  }
  .registration-grid .span-2 {
    grid-column: auto;
  }
  .registration-block {
    padding: 20px 17px;
  }
  .discount-entry {
    flex-direction: row;
  }
  .discount-entry button {
    width: auto;
  }
  .registration-success-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .registration-success-actions .btn {
    width: 100%;
    text-align: center;
  }
}
.registration-grid input:focus,
.registration-grid select:focus,
.registration-grid textarea:focus,
.discount-entry input:focus {
  border-color: #b57a89;
  box-shadow: 0 0 0 3px rgba(143, 45, 69, 0.08);
}
.billing-choice input[type="radio"] {
  accent-color: var(--burgundy);
}
.input-with-action input,
.discount-entry input,
.input-with-action button,
.discount-entry button {
  height: 44px;
}
.input-with-action button:disabled,
.discount-entry button:disabled {
  opacity: 0.55;
  cursor: wait;
}
.form-hint {
  margin: 10px 0 0;
  color: #7b837f;
  font-size: 0.72rem;
}
.form-status.compact {
  margin-bottom: -8px;
}

/* MedicRise Conference Management */
.footer-admin-link {
  margin-top: 18px !important;
  font-size: 0.78rem !important;
  opacity: 0.62;
}
.admin-page {
  background: #f5f4f1;
  color: var(--ink);
  overflow-x: hidden;
}
.admin-page * {
  box-sizing: border-box;
}
.admin-page button,
.admin-page input,
.admin-page select,
.admin-page textarea {
  font: inherit;
}
.admin-login {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
  background:
    radial-gradient(
      circle at 80% 10%,
      rgba(143, 45, 69, 0.08),
      transparent 35%
    ),
    #f4f3ef;
}
.admin-login-card {
  width: min(100%, 480px);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 42px;
  box-shadow: 0 28px 70px rgba(23, 33, 30, 0.09);
}
.admin-login-card img {
  width: 164px;
  margin-bottom: 42px;
}
.admin-login-card h1 {
  font-size: 2.35rem;
  margin: 8px 0 13px;
}
.admin-login-card > p {
  font-size: 0.94rem;
  line-height: 1.65;
}
.admin-login-card form {
  display: grid;
  gap: 15px;
  margin-top: 30px;
}
.admin-login-card label,
.admin-form label {
  display: grid;
  gap: 7px;
  font-size: 0.78rem;
  font-weight: 800;
  color: #5c6661;
}
.admin-login-card input,
.admin-form input,
.admin-form select,
.admin-form textarea,
.admin-edition-picker select {
  width: 100%;
  border: 1px solid #dcdad4;
  background: #fff;
  border-radius: 12px;
  padding: 11px 13px;
  outline: none;
  color: var(--ink);
  transition:
    border 0.15s,
    box-shadow 0.15s;
}
.admin-login-card input:focus,
.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus,
.admin-edition-picker select:focus {
  border-color: var(--sage);
  box-shadow: 0 0 0 3px rgba(102, 127, 115, 0.1);
}
.admin-primary,
.admin-secondary {
  appearance: none;
  border: 0;
  border-radius: 11px;
  padding: 11px 16px;
  font-weight: 800;
  cursor: pointer;
  transition: 0.16s;
}
.admin-primary {
  background: var(--burgundy);
  color: #fff;
}
.admin-primary:hover {
  background: var(--burgundy-dark);
  transform: translateY(-1px);
}
.admin-secondary {
  background: #fff;
  border: 1px solid #d9d7d1;
  color: var(--ink);
}
.admin-link-btn,
.admin-text-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--burgundy);
  font-weight: 800;
  cursor: pointer;
  padding: 4px 0;
  text-align: left;
}
.admin-back {
  display: inline-block;
  margin-top: 25px;
  color: #7d8782;
  font-size: 0.86rem;
}
.admin-login-note {
  min-height: 22px !important;
  margin-top: 16px;
  color: var(--burgundy) !important;
  font-weight: 700;
}
.admin-login-help {
  margin-top: 18px;
  padding: 13px 14px;
  border-radius: 12px;
  background: #f6f3ee;
  color: #6d7671 !important;
  font-size: 0.74rem !important;
  line-height: 1.55 !important;
}
.admin-login-help strong {
  color: var(--ink);
}
.admin-eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.69rem;
  font-weight: 900;
  color: var(--burgundy);
}
.admin-google-login {
  width: 100%;
  margin-top: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid #d9d7d1;
  border-radius: 12px;
  padding: 12px 16px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(23, 33, 30, 0.04);
  transition: 0.16s;
}
.admin-google-login:hover {
  border-color: #c7c3bc;
  background: #faf9f7;
  transform: translateY(-1px);
}
.admin-google-mark {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: 800;
  color: #8a3240;
  background: #fff;
  border: 1px solid #e5e5e5;
}
.admin-login-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0;
  color: #969c98;
  font-size: 0.7rem;
  font-weight: 800;
}
.admin-login-divider:before,
.admin-login-divider:after {
  content: "";
  height: 1px;
  flex: 1;
  background: #e4e1dc;
}
.admin-login-card #admin-email-form,
.admin-login-card #admin-code-form {
  margin-top: 0;
}
.admin-login-card form .admin-primary {
  width: 100%;
  justify-content: center;
}
.admin-login-card form[hidden] {
  display: none;
}
.admin-login-card input[inputmode="numeric"] {
  font-size: 1.25rem;
  letter-spacing: 0.28em;
  text-align: center;
  font-weight: 850;
}
.admin-login-card button:disabled {
  opacity: 0.58;
  cursor: wait;
}
.admin-app {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
}
.admin-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  padding: 0 18px 20px;
  background: #17211d;
  color: #fff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.admin-brand {
  height: 76px;
  padding: 10px 7px;
  border-bottom: 1px solid #303b36;
  display: flex;
  align-items: center;
}
.admin-brand > span {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 44px;
  padding: 7px 10px;
  background: #fff;
  border-radius: 12px;
}
.admin-brand img {
  display: block;
  width: 142px;
  max-height: 31px;
  object-fit: contain;
  filter: none;
}
.admin-edition-picker {
  padding: 22px 8px 16px;
}
.admin-edition-picker label {
  display: block;
  color: #98a49e;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.62rem;
  font-weight: 900;
  margin-bottom: 7px;
}
.admin-edition-picker select {
  background: #222e29;
  border-color: #36423d;
  color: #fff;
  font-size: 0.82rem;
  padding: 9px 10px;
}
.admin-sidebar nav {
  display: grid;
  gap: 3px;
  margin-top: 3px;
}
.admin-nav-item {
  border: 0;
  background: transparent;
  color: #aeb8b3;
  border-radius: 10px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 8px;
  text-align: left;
  align-items: center;
  cursor: pointer;
  font-weight: 720;
  font-size: 0.84rem;
}
.admin-nav-item:hover,
.admin-nav-item.active {
  background: #27332e;
  color: #fff;
}
.admin-nav-item small {
  font-size: 0.56rem;
  color: #77847e;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.admin-sidebar-bottom {
  margin-top: auto;
  border-top: 1px solid #303b36;
  padding: 18px 10px 0;
  display: grid;
  gap: 7px;
}
.admin-sidebar-bottom span {
  font-size: 0.72rem;
  color: #8e9b95;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-sidebar-bottom button {
  border: 0;
  background: transparent;
  color: #fff;
  text-align: left;
  padding: 0;
  font-weight: 800;
  font-size: 0.75rem;
  cursor: pointer;
}
.admin-main {
  min-width: 0;
}
.admin-topbar {
  height: 76px;
  border-bottom: 1px solid #e2e0da;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(12px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 34px;
  position: sticky;
  top: 0;
  z-index: 20;
}
.admin-topbar > div {
  display: grid;
  gap: 2px;
}
.admin-topbar strong {
  font-size: 0.92rem;
}
.admin-topbar a {
  font-size: 0.78rem;
  font-weight: 800;
  color: #606a65;
}
.admin-screen {
  padding: 38px 36px 70px;
  max-width: 1360px;
  margin: 0 auto;
}
.admin-screen-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  margin-bottom: 30px;
}
.admin-screen-head h1 {
  font-size: 2.4rem;
  margin: 5px 0 5px;
}
.admin-screen-head p {
  font-size: 0.91rem;
}
.admin-head-actions {
  display: flex;
  gap: 9px;
}
.admin-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 13px;
  margin-bottom: 17px;
}
.admin-stats article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 20px;
}
.admin-stats span,
.admin-stats small {
  display: block;
  color: #7d8782;
  font-size: 0.72rem;
}
.admin-stats strong {
  display: block;
  font-size: 1.45rem;
  margin: 10px 0 4px;
  letter-spacing: -0.035em;
}
.admin-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 24px;
}
.admin-panel-head,
.admin-form-title {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
}
.admin-panel-head h2,
.admin-form-title h2 {
  font-size: 1.25rem;
  margin: 0 0 4px;
}
.admin-panel-head p {
  font-size: 0.84rem;
}
.admin-status {
  display: inline-flex;
  align-items: center;
  width: max-content;
  border-radius: 999px;
  padding: 5px 8px;
  font-size: 0.65rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}
.admin-status.green {
  background: #e5efe9;
  color: #315c47;
}
.admin-status.grey {
  background: #eeece8;
  color: #6e756f;
}
.admin-progress {
  height: 7px;
  background: #edece8;
  border-radius: 99px;
  margin: 26px 0;
  overflow: hidden;
}
.admin-progress span {
  display: block;
  height: 100%;
  background: var(--burgundy);
  border-radius: 99px;
}
.admin-quick {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.admin-quick button {
  border: 1px solid var(--line);
  background: #faf9f7;
  border-radius: 9px;
  padding: 8px 11px;
  font-size: 0.76rem;
  font-weight: 800;
  cursor: pointer;
}
.admin-split {
  display: grid;
  grid-template-columns: minmax(260px, 0.7fr) minmax(440px, 1.3fr);
  gap: 18px;
  align-items: start;
}
.admin-list {
  display: grid;
  gap: 8px;
}
.admin-list-row {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 14px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.admin-list-row.selected {
  border-color: #aa7985;
  box-shadow: 0 0 0 2px rgba(143, 45, 69, 0.06);
}
.admin-list-row strong,
.admin-list-row small {
  display: block;
}
.admin-list-row small {
  font-size: 0.7rem;
  color: #7d8782;
  margin-top: 3px;
}
.admin-form {
  display: grid;
  gap: 23px;
}
.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}
.admin-form-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.admin-form .span-2 {
  grid-column: span 2;
}
.admin-form .span-4 {
  grid-column: span 4;
}
.admin-form textarea {
  resize: vertical;
  line-height: 1.5;
}
.admin-form-section {
  border-top: 1px solid var(--line);
  padding-top: 20px;
  display: grid;
  gap: 16px;
}
.admin-form-section.private {
  background: #f8f3f4;
  border: 1px solid #eadcdf;
  border-radius: 15px;
  padding: 18px;
}
.admin-form-section.private > div:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}
.admin-form-section h3 {
  font-size: 0.96rem;
}
.admin-private-note {
  font-size: 0.62rem;
  background: #fff;
  color: var(--burgundy);
  border: 1px solid #e9d5da;
  border-radius: 999px;
  padding: 4px 7px;
  font-weight: 900;
  text-transform: uppercase;
}
.admin-check {
  display: flex !important;
  grid-template-columns: 18px 1fr !important;
  align-items: center !important;
}
.admin-check input {
  width: 16px;
  height: 16px;
}
.admin-editor {
  margin-top: 26px;
  scroll-margin-top: 100px;
}
.admin-field-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}
.admin-field-action .admin-inline-action {
  white-space: nowrap;
  border-radius: 12px;
  padding: 10px 13px;
  font-size: 0.7rem;
}
.admin-field-status {
  min-height: 14px;
  color: var(--sage);
  font-size: 0.61rem;
  font-weight: 750;
}
.admin-person-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
}
.admin-person-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 108px 1fr;
  min-height: 150px;
}
.admin-person-card > img,
.admin-avatar-empty {
  width: 108px;
  height: 100%;
  min-height: 150px;
  object-fit: cover;
  background: #eceae5;
  display: grid;
  place-items: center;
  font-size: 2rem;
  color: #9ea6a1;
}
.admin-person-card > div:last-child {
  padding: 15px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.admin-person-card h3 {
  font-size: 0.98rem;
  margin: 9px 0 3px;
}
.admin-person-card p,
.admin-person-card small {
  font-size: 0.72rem;
  line-height: 1.4;
}
.admin-person-card small {
  color: #7d8782;
  margin-top: 3px;
}
.admin-person-card .admin-text-btn {
  font-size: 0.72rem;
  margin-top: auto;
}
.admin-program-list {
  display: grid;
  gap: 8px;
}
.admin-program-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  gap: 17px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 15px;
  padding: 14px 15px;
}
.admin-program-time {
  border-left: 3px solid var(--burgundy);
  padding-left: 12px;
}
.admin-program-time strong,
.admin-program-time span {
  display: block;
  font-variant-numeric: tabular-nums;
}
.admin-program-time span {
  font-size: 0.72rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-program-body h3 {
  font-size: 0.92rem;
  margin: 5px 0 3px;
}
.admin-program-body p {
  font-size: 0.72rem;
}
.admin-chip {
  display: inline-flex;
  background: #f1eeea;
  border-radius: 6px;
  padding: 3px 6px;
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 900;
  color: #626b66;
}
.admin-row-actions {
  display: flex;
  gap: 5px;
}
.admin-row-actions button {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 6px 8px;
  font-size: 0.68rem;
  font-weight: 800;
  cursor: pointer;
}
.admin-row-actions .danger {
  color: #9b304a;
}
.admin-speaker-checks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.admin-speaker-checks label {
  display: grid;
  grid-template-columns: 18px 40px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 9px;
  background: #faf9f7;
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}
.admin-speaker-checks label.selected,
.admin-speaker-checks label:has(input:checked) {
  border-color: rgba(132, 42, 64, 0.45);
  background: #fff7f8;
  box-shadow: inset 0 0 0 1px rgba(132, 42, 64, 0.08);
}
.admin-speaker-checks input {
  width: 15px;
}
.admin-speaker-checks img,
.admin-speaker-check-avatar {
  width: 40px;
  height: 40px;
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
  background: #f1eeea;
}
.admin-speaker-check-avatar {
  display: grid;
  place-items: center;
}
.admin-speaker-choice-name {
  min-width: 0;
  font-weight: 750;
  line-height: 1.25;
}
.admin-program-guide {
  display: flex;
  align-items: center;
  gap: 15px;
  margin: -7px 0 22px;
  padding: 13px 16px;
  border-radius: 14px;
  background: #f7f3f1;
  color: #66706b;
}
.admin-program-guide > span {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #eadce0;
  color: var(--burgundy);
  font-size: 0.65rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}
.admin-program-guide p {
  font-size: 0.75rem;
}
.admin-program-timeline {
  display: grid;
  gap: 10px;
  position: relative;
}
.admin-schedule-row {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}
.admin-schedule-time {
  border-left: 3px solid var(--burgundy);
  padding: 15px 0 15px 16px;
}
.admin-schedule-time strong,
.admin-schedule-time span {
  display: block;
  font-variant-numeric: tabular-nums;
}
.admin-schedule-time strong {
  font-size: 0.84rem;
}
.admin-schedule-time span {
  font-size: 0.69rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-schedule-row.service .admin-schedule-time {
  border-left-color: #d7d1c9;
}
.admin-schedule-service {
  min-height: 62px;
  display: flex;
  align-items: center;
  gap: 11px;
  background: #f1efeb;
  border-radius: 16px;
  padding: 13px 18px;
  color: #59635e;
}
.admin-schedule-service > span {
  width: 27px;
  height: 27px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--burgundy);
  font-size: 0.75rem;
}
.admin-schedule-service strong {
  font-size: 0.83rem;
}
.admin-schedule-content {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 18px;
}
.admin-schedule-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 13px;
}
.admin-schedule-heading > div > strong {
  display: block;
  margin-top: 4px;
  font-size: 0.72rem;
  color: #7d8782;
}
.admin-add-contribution {
  border: 0;
  background: var(--burgundy);
  color: #fff;
  border-radius: 10px;
  padding: 9px 12px;
  font-size: 0.7rem;
  font-weight: 850;
  cursor: pointer;
}
.admin-add-contribution:hover {
  background: var(--burgundy-dark);
}
.admin-program-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.admin-program-card {
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 15px;
  min-width: 0;
  background: #fdfdfc;
}
.admin-program-card-top {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.admin-card-actions {
  display: flex;
  gap: 4px;
}
.admin-card-actions button {
  border: 0;
  background: transparent;
  color: #6f7873;
  padding: 3px 5px;
  font-size: 0.66rem;
  font-weight: 800;
  cursor: pointer;
}
.admin-card-actions .danger {
  color: #9b304a;
}
.admin-program-card h3 {
  font-size: 0.94rem;
  line-height: 1.35;
  margin: 13px 0 11px;
}
.admin-program-speakers {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  font-size: 0.7rem;
  font-weight: 800;
  color: #59635e;
}
.admin-program-speaker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px 3px 3px;
  border-radius: 999px;
  background: #f5f2ef;
}
.admin-program-speakers img,
.admin-program-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  background: #f1eeea;
  display: grid;
  place-items: center;
}
.admin-program-no-speaker {
  color: #9a7b82;
  font-weight: 700;
}
.admin-program-card > small {
  display: block;
  margin-top: 10px;
  color: #7d8782;
}
.admin-program-slot-empty {
  grid-column: 1/-1;
  border: 1px dashed #d6d1c9;
  border-radius: 14px;
  padding: 20px;
  color: #8b918d;
  font-size: 0.74rem;
  text-align: center;
  background: #faf9f7;
}
.admin-form-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 15px;
}
.admin-form-section-head p {
  font-size: 0.7rem;
  margin-top: 3px;
}
.admin-empty {
  background: #fff;
  border: 1px dashed #ccc8bf;
  border-radius: 18px;
  padding: 30px;
  color: #7d8782;
  text-align: center;
}
.admin-empty.large {
  padding: 80px 30px;
}
.admin-toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 100;
  background: #1e2924;
  color: #fff;
  border-radius: 12px;
  padding: 12px 16px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.16);
  font-size: 0.8rem;
  font-weight: 800;
}
.admin-toast.error {
  background: #8f2d45;
}
.admin-fatal {
  min-height: 100vh;
  display: grid;
  place-items: center;
  text-align: center;
  padding: 30px;
}
.admin-fatal button {
  padding: 10px 14px;
}
.admin-stats-3 {
  grid-template-columns: repeat(3, 1fr);
}
.admin-table-wrap {
  overflow: auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
}
.admin-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 900px;
}
.admin-table th,
.admin-table td {
  padding: 13px 15px;
  border-bottom: 1px solid #eceae5;
  text-align: left;
  vertical-align: top;
  font-size: 0.75rem;
}
.admin-table th {
  background: #faf9f7;
  color: #707a75;
  text-transform: uppercase;
  letter-spacing: 0.045em;
  font-size: 0.62rem;
}
.admin-table td strong,
.admin-table td small {
  display: block;
}
.admin-table td small {
  color: #7d8782;
  margin-top: 3px;
  font-size: 0.68rem;
}
.admin-empty-cell {
  text-align: center !important;
  color: #7d8782;
  padding: 35px !important;
}
.admin-pricing-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
  align-items: start;
}
.admin-inline-price {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 10px;
  align-items: end;
  margin: 22px 0;
}
.admin-inline-price label,
.admin-discount-form label {
  display: grid;
  gap: 6px;
  font-size: 0.72rem;
  font-weight: 800;
  color: #626c67;
}
.admin-inline-price input,
.admin-discount-form input,
.admin-discount-form select {
  width: 100%;
  border: 1px solid #dcdad4;
  border-radius: 10px;
  padding: 9px 10px;
  background: #fff;
  font: inherit;
}
.admin-discount-form {
  display: grid;
  gap: 14px;
  margin: 22px 0;
}
.admin-price-list {
  display: grid;
  border-top: 1px solid var(--line);
}
.admin-price-list > div {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px 2px;
  border-bottom: 1px solid #eceae5;
}
.admin-price-list > div > span:first-child {
  margin-right: auto;
}
.admin-price-list strong,
.admin-price-list small {
  display: block;
}
.admin-price-list small {
  font-size: 0.68rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-price-list button {
  border: 0;
  background: transparent;
  color: var(--burgundy);
  font-size: 0.7rem;
  font-weight: 800;
  cursor: pointer;
}
.admin-muted {
  font-size: 0.77rem;
  padding: 18px 0;
  color: #7d8782;
}
.admin-status.amber {
  background: #f5e7eb;
  color: #8a3240;
}
.admin-status.red {
  background: #f7e2e5;
  color: #8f2d45;
}
.admin-table-action {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 6px 9px;
  color: var(--burgundy);
  font-size: 0.7rem;
  font-weight: 800;
  cursor: pointer;
}
.admin-invoice-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, 0.7fr);
  gap: 17px;
  align-items: start;
}
.admin-invoice-grid > div:first-child {
  display: grid;
  gap: 17px;
}
.admin-invoice-create {
  padding-bottom: 14px;
}
.admin-invoice-reg-list {
  display: grid;
  margin-top: 18px;
  border-top: 1px solid var(--line);
}
.admin-invoice-reg-list button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 16px;
  align-items: center;
  width: 100%;
  padding: 13px 2px;
  border: 0;
  border-bottom: 1px solid #eceae5;
  background: transparent;
  text-align: left;
  cursor: pointer;
  color: var(--ink);
}
.admin-invoice-reg-list strong,
.admin-invoice-reg-list small {
  display: block;
}
.admin-invoice-reg-list small {
  margin-top: 3px;
  color: #7d8782;
  font-size: 0.68rem;
}
.admin-invoice-reg-list b {
  font-size: 0.78rem;
}
.admin-invoice-reg-list em {
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 800;
  color: var(--burgundy);
}
.admin-invoice-table .admin-table {
  min-width: 720px;
}
.admin-form-hint {
  font-size: 0.72rem;
  line-height: 1.55;
  color: #747d78;
  background: #f7f6f3;
  border-radius: 11px;
  padding: 11px 13px;
}
.admin-invoice-heading {
  display: flex;
  align-items: center;
  gap: 15px;
}
.admin-invoice-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.admin-invoice-detail-grid .admin-form-section {
  margin-top: 0;
}
.admin-invoice-item-grid {
  display: grid;
  grid-template-columns: minmax(280px, 2fr) 0.6fr 0.8fr 0.55fr;
  gap: 12px;
}
.admin-invoice-item-grid label {
  display: grid;
  gap: 7px;
  font-size: 0.78rem;
  font-weight: 800;
  color: #5c6661;
}
.admin-invoice-item-grid input {
  width: 100%;
  border: 1px solid #dcdad4;
  background: #fff;
  border-radius: 12px;
  padding: 11px 13px;
  color: var(--ink);
}
.admin-invoice-totals {
  display: flex;
  justify-content: flex-end;
  gap: 22px;
  margin-top: 13px;
}
.admin-invoice-totals span {
  font-size: 0.72rem;
  color: #7d8782;
}
.admin-invoice-totals strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 0.92rem;
}
.admin-invoice-actions {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}
.admin-invoice-actions .danger {
  margin-left: auto;
  color: #9b304a;
}
.admin-primary:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}
.admin-warning {
  padding: 11px 13px;
  border-radius: 11px;
  background: #f5e7eb;
  color: #8a3240;
  font-size: 0.73rem;
  font-weight: 700;
}
.admin-participant-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 180px 190px auto;
  gap: 12px;
  align-items: end;
  margin: 18px 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.admin-participant-toolbar label {
  display: grid;
  gap: 6px;
}
.admin-participant-toolbar label > span,
.admin-filter-result span {
  font-size: 0.66rem;
  font-weight: 800;
  color: #7d8782;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.admin-participant-toolbar input,
.admin-participant-toolbar select {
  width: 100%;
  border: 1px solid #dcdad4;
  border-radius: 10px;
  background: #fff;
  padding: 9px 11px;
  color: var(--ink);
  outline: none;
}
.admin-filter-result {
  min-width: 72px;
  text-align: right;
  padding: 4px 5px;
}
.admin-filter-result strong {
  display: block;
  font-size: 1.25rem;
}
.admin-participant-table {
  min-width: 980px;
}
.admin-participant-table tr[hidden] {
  display: none;
}
.admin-participant-table td:nth-child(1) {
  min-width: 170px;
}
.admin-participant-table td:last-child {
  text-align: right;
}
.admin-participant-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.admin-participant-heading .admin-link-btn {
  margin-left: 8px;
}
.admin-participant-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
  gap: 24px;
}
.admin-participant-detail-grid > .admin-form-section,
.admin-participant-detail-grid > div > .admin-form-section:first-child {
  margin-top: 0;
}
.admin-diet-checks {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 14px;
}
.admin-participant-finance {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--line);
}
.admin-participant-finance > div {
  padding: 12px;
  background: #fff;
}
.admin-participant-finance .total {
  grid-column: 1/-1;
  background: #f7f3f1;
}
.admin-participant-finance span,
.admin-participant-finance small {
  display: block;
  font-size: 0.68rem;
  color: #7d8782;
}
.admin-participant-finance strong {
  display: block;
  margin-top: 3px;
  font-size: 1rem;
}
.admin-participant-invoice {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
  border-radius: 13px;
  background: #f7f6f3;
}
.admin-participant-invoice > div {
  min-width: 0;
  margin-right: auto;
}
.admin-participant-invoice span,
.admin-participant-invoice small,
.admin-participant-invoice strong {
  display: block;
}
.admin-participant-invoice > div > span,
.admin-participant-invoice small {
  font-size: 0.68rem;
  color: #7d8782;
}
.admin-participant-invoice strong {
  margin: 2px 0;
}
.admin-participant-save {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-top: 20px;
}
.admin-participant-save span {
  font-size: 0.7rem;
  color: #7d8782;
}
.admin-payment-info {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 17px;
}
.admin-payment-info > div {
  display: grid;
  gap: 4px;
}
.admin-payment-info > div span {
  font-size: 0.72rem;
  color: #7d8782;
}
.admin-payment-info p {
  max-width: 650px;
  font-size: 0.73rem;
  line-height: 1.55;
  color: #6f7873;
}
.admin-payment-info + .admin-table-wrap .admin-table {
  min-width: 760px;
}

/* MedicRise OS */
.admin-main-nav {
  margin-top: 20px !important;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  padding-right: 4px;
  scrollbar-width: thin;
  scrollbar-color: #47564f transparent;
}
.admin-nav-group {
  display: grid;
}
.admin-subnav {
  display: grid;
  gap: 2px;
  margin: 2px 0 8px 42px;
  padding-left: 9px;
  border-left: 1px solid #35423c;
}
.admin-nav-group.collapsed .admin-subnav {
  display: none;
}
.admin-conference-nav small {
  transition: transform 0.16s ease;
}
.admin-nav-group.collapsed .admin-conference-nav small {
  transform: rotate(-90deg);
}
.admin-subnav-item {
  border: 0;
  background: transparent;
  color: #8f9b95;
  border-radius: 7px;
  padding: 6px 8px;
  text-align: left;
  font-size: 0.7rem;
  font-weight: 720;
  cursor: pointer;
}
.admin-subnav-item:hover,
.admin-subnav-item.active {
  color: #fff;
  background: #26322d;
}
.admin-conference-nav.active {
  background: #27332e;
  color: #fff;
}
.admin-edition-compact {
  margin-top: 10px;
  padding: 14px 8px 10px;
  border-top: 1px solid #303b36;
}
.admin-edition-compact select {
  width: 100%;
}
.admin-sidebar-bottom {
  margin-top: 0;
}
.admin-sidebar-user {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}
.admin-sidebar-user > span {
  min-width: 0;
}
.admin-sidebar-user strong,
.admin-sidebar-user small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-sidebar-user strong {
  font-size: 0.75rem;
  color: #fff;
}
.admin-sidebar-user small {
  font-size: 0.61rem;
  color: #7f8c85;
  margin-top: 1px;
}
.admin-user-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  background: #eadde0;
  color: var(--burgundy);
  font-size: 0.65rem;
  font-weight: 900;
}
.admin-user-avatar.lg {
  width: 46px;
  height: 46px;
  font-size: 0.85rem;
}
.admin-os-dashboard {
  max-width: 1440px;
}
.admin-os-metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 17px;
}
.admin-os-metrics > button {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 17px;
  padding: 18px;
  text-align: left;
  cursor: pointer;
  color: var(--ink);
  transition: 0.15s;
}
.admin-os-metrics > button:hover {
  border-color: #cdbbc0;
  transform: translateY(-1px);
}
.admin-os-metrics span,
.admin-os-metrics small {
  display: block;
  color: #7d8782;
  font-size: 0.69rem;
}
.admin-os-metrics strong {
  display: block;
  font-size: 1.45rem;
  margin: 9px 0 4px;
}
.admin-os-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 17px;
  margin-bottom: 17px;
}
.admin-os-list {
  display: grid;
  margin-top: 12px;
}
.admin-os-list > button {
  display: grid;
  grid-template-columns: 46px 1fr auto;
  gap: 11px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #eceae5;
  background: transparent;
  padding: 10px 0;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
}
.admin-os-list > button:last-child {
  border-bottom: 0;
}
.admin-os-list strong,
.admin-os-list small {
  display: block;
}
.admin-os-list strong {
  font-size: 0.78rem;
}
.admin-os-list small {
  font-size: 0.67rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-date-tile {
  width: 40px;
  height: 42px;
  border-radius: 10px;
  background: #f6ecef;
  display: grid;
  place-items: center;
  align-content: center;
}
.admin-date-tile b {
  font-size: 0.9rem;
  color: var(--burgundy);
}
.admin-date-tile small {
  font-size: 0.55rem !important;
  text-transform: uppercase;
}
.admin-soft-alert {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding: 11px 13px;
  border-radius: 12px;
  background: #edf1ed;
  color: #40594a;
  font-size: 0.7rem;
}
.admin-soft-alert button {
  border: 0;
  background: transparent;
  color: #8a3240;
  font-weight: 850;
  cursor: pointer;
}
.admin-attention-list {
  display: grid;
  margin-top: 12px;
}
.admin-attention-list > button {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  border: 0;
  border-bottom: 1px solid #eceae5;
  background: transparent;
  padding: 13px 0;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
}
.admin-attention-list strong,
.admin-attention-list small {
  display: block;
}
.admin-attention-list strong {
  font-size: 0.74rem;
}
.admin-attention-list small {
  font-size: 0.65rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-attention-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  margin-top: 4px;
  background: #b9bebb;
}
.admin-attention-dot.green {
  background: #617969;
}
.admin-attention-dot.amber {
  background: #b56778;
}
.admin-attention-dot.red {
  background: #b54858;
}
.admin-team-panel {
  margin-top: 17px;
}
.admin-team-list {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.admin-team-list > div {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 260px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
}
.admin-team-list > div > span:nth-child(2) {
  margin-right: auto;
}
.admin-team-list strong,
.admin-team-list small {
  display: block;
}
.admin-team-list small {
  font-size: 0.65rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-photo-change {
  position: relative;
  color: var(--burgundy);
  font-size: 0.65rem;
  font-weight: 850;
  cursor: pointer;
}
.admin-photo-change input {
  position: absolute;
  inset: 0;
  opacity: 0;
  width: 100%;
  cursor: pointer;
}

.admin-wbs {
  display: grid;
  gap: 14px;
}
.admin-wbs-phase {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 17px 18px;
  box-shadow: 0 5px 22px rgba(23, 33, 30, 0.025);
}
.admin-wbs-phase > header {
  display: grid;
  grid-template-columns: auto minmax(170px, 1fr) auto auto auto;
  gap: 13px;
  align-items: center;
}
.admin-wbs-phase h2 {
  font-size: 1rem;
  margin: 2px 0 0;
}
.admin-collapse {
  border: 0;
  background: #f4f2ee;
  border-radius: 8px;
  width: 28px;
  height: 28px;
  cursor: pointer;
}
.admin-wbs-owner {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.7rem;
  font-weight: 800;
  color: #65706a;
}
.admin-wbs-progress {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 14px 0 11px;
}
.admin-wbs-progress > span {
  height: 5px;
  flex: 1;
  background: #eeece8;
  border-radius: 99px;
  overflow: hidden;
}
.admin-wbs-progress i {
  display: block;
  height: 100%;
  background: var(--burgundy);
  border-radius: 99px;
}
.admin-wbs-progress b {
  width: 38px;
  text-align: right;
  font-size: 0.67rem;
}
.admin-wbs-note {
  margin: 0 0 10px;
  padding: 9px 11px;
  border-radius: 9px;
  background: #faf9f7;
  font-size: 0.69rem;
}
.admin-wbs-tasks {
  display: grid;
  border-top: 1px solid #eceae5;
}
.admin-wbs-task {
  display: grid;
  grid-template-columns: 18px 24px minmax(180px, 1fr) 30px 92px 106px 32px;
  gap: 8px;
  align-items: center;
  min-height: 48px;
  border-bottom: 1px solid #eceae5;
}
.admin-drag-handle {
  color: #b6bbb8;
  cursor: grab;
}
.admin-task-check {
  width: 20px;
  height: 20px;
  border: 1px solid #cfd3d0;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  color: #fff;
}
.admin-task-check.done {
  background: var(--sage);
  border-color: var(--sage);
}
.admin-task-main strong,
.admin-task-main small {
  display: block;
}
.admin-task-main strong {
  font-size: 0.74rem;
}
.admin-task-main small {
  font-size: 0.62rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-task-date {
  font-size: 0.65rem;
  color: #737b77;
}
.admin-task-date.late {
  color: #a13548;
  font-weight: 800;
}
.admin-icon-btn {
  border: 0;
  background: transparent;
  color: #69716d;
  cursor: pointer;
}
.admin-wbs-empty {
  padding: 14px 4px;
  color: #969d99;
  font-size: 0.68rem;
}
.admin-add-task {
  border: 0;
  background: transparent;
  color: var(--burgundy);
  font-size: 0.69rem;
  font-weight: 850;
  margin-top: 10px;
  cursor: pointer;
}
.admin-wbs-phase.collapsed .admin-wbs-tasks,
.admin-wbs-phase.collapsed .admin-wbs-note,
.admin-wbs-phase.collapsed .admin-add-task {
  display: none;
}
.admin-wbs-phase.collapsed .admin-collapse {
  transform: rotate(-90deg);
}
.admin-wbs-phase-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.admin-wbs-phase-heading > div {
  min-width: 0;
}
.admin-wbs-phase-emoji {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 10px;
  background: #f6f2ef;
  font-size: 1.05rem;
}
.admin-wbs-status {
  border: 0;
  cursor: pointer;
  transition:
    transform 0.14s ease,
    box-shadow 0.14s ease;
}
.admin-wbs-phase > header > .admin-wbs-status {
  padding: 4px 8px;
  font-size: 0.59rem;
  line-height: 1;
  font-weight: 900;
}
.admin-wbs-status:hover {
  transform: translateY(-1px);
  box-shadow: 0 3px 9px rgba(24, 31, 28, 0.08);
}
.admin-wbs-progress i {
  transition: width 0.75s cubic-bezier(0.22, 0.8, 0.27, 1);
}
.admin-task-check {
  display: grid;
  place-items: center;
  padding: 0;
  line-height: 1;
}
.admin-task-check > span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 0.72rem;
  line-height: 1;
  transform: translateY(-0.25px);
}
.admin-wbs-editor {
  margin-top: 0;
}
.admin-wbs-fieldset {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 13px 14px;
  min-width: 0;
}
.admin-wbs-fieldset legend {
  padding: 0 5px;
  font-size: 0.7rem;
  font-weight: 850;
  color: #626c67;
}
.admin-wbs-status-picker {
  display: flex;
  gap: 7px;
  align-items: center;
  flex-wrap: wrap;
}
.admin-wbs-status-picker label {
  display: block;
  cursor: pointer;
}
.admin-wbs-status-picker input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.admin-wbs-status-picker .admin-status {
  opacity: 0.48;
  cursor: pointer;
  transition: 0.15s ease;
}
.admin-wbs-status-picker input:checked + .admin-status {
  opacity: 1;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px #d9d3ce;
}
.admin-emoji-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.admin-emoji-picker label {
  display: block;
  cursor: pointer;
}
.admin-emoji-picker label:first-child {
  display: none;
}
.admin-emoji-picker input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.admin-emoji-picker span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid #dedbd5;
  border-radius: 10px;
  background: #faf9f7;
  font-size: 1.05rem;
  transition: 0.14s ease;
}
.admin-emoji-picker label:hover span {
  background: #f3efeb;
  transform: translateY(-1px);
}
.admin-emoji-picker input:checked + span {
  border-color: #9f5b6c;
  background: #f5e9ec;
  box-shadow: 0 0 0 2px rgba(127, 34, 58, 0.08);
}
.admin-wbs-owner-multi {
  min-width: 120px;
}
.admin-owner-avatars {
  display: flex;
  align-items: center;
}
.admin-owner-avatars .admin-avatar + .admin-avatar {
  margin-left: -7px;
  box-shadow: 0 0 0 2px #fff;
}
.admin-wbs-owner-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.admin-wbs-owner-picker label {
  cursor: pointer;
}
.admin-wbs-owner-picker input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.admin-wbs-owner-picker label > span {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px 7px 7px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #faf9f7;
  color: #66706b;
  transition: 0.14s ease;
}
.admin-wbs-owner-picker label > span b {
  font-size: 0.72rem;
}
.admin-wbs-owner-picker input:checked + span {
  border-color: #a76c7b;
  background: #f7ecef;
  color: var(--burgundy);
  box-shadow: 0 0 0 2px rgba(127, 34, 58, 0.06);
}
.admin-wbs-owner-picker + .admin-wbs-fieldset small,
.admin-wbs-fieldset > small {
  display: block;
  margin-top: 8px;
  color: #8a928e;
  font-size: 0.62rem;
}
.admin-wbs-task {
  cursor: grab;
  transition:
    opacity 0.14s ease,
    background-color 0.14s ease,
    box-shadow 0.14s ease;
}
.admin-wbs-task:active {
  cursor: grabbing;
}
.admin-wbs-task.dragging {
  opacity: 0.35;
}
.admin-wbs-task.drag-over {
  background: #faf1f3;
  box-shadow: inset 0 2px 0 var(--burgundy);
}

.admin-module-search {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.admin-module-search input {
  flex: 1;
  min-width: 0;
  border: 1px solid #dcdad4;
  border-radius: 11px;
  padding: 10px 12px;
  background: #fff;
  outline: none;
}
.admin-module-search span {
  font-size: 0.68rem;
  color: #7d8782;
  white-space: nowrap;
}
.admin-crm-layout {
  display: grid;
  grid-template-columns: minmax(370px, 0.8fr) minmax(430px, 1.2fr);
  gap: 18px;
  align-items: start;
}
.admin-crm-list {
  display: grid;
  gap: 7px;
}
.admin-crm-row {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 58px 65px 12px;
  gap: 10px;
  align-items: center;
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 14px;
  padding: 11px;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
}
.admin-crm-row.selected {
  border-color: #b88a95;
  box-shadow: 0 0 0 2px rgba(143, 45, 69, 0.05);
}
.admin-client-mark {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #f2e7ea;
  color: var(--burgundy);
  display: grid;
  place-items: center;
  font-size: 0.67rem;
  font-weight: 900;
}
.admin-crm-row strong,
.admin-crm-row small,
.admin-crm-row b {
  display: block;
}
.admin-crm-row > span:nth-child(2) strong {
  font-size: 0.76rem;
}
.admin-crm-row small {
  font-size: 0.61rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-crm-row > span:nth-child(3),
.admin-crm-row > span:nth-child(4) {
  text-align: center;
}
.admin-crm-row b {
  font-size: 0.8rem;
}
.admin-crm-detail {
  position: sticky;
  top: 95px;
}
.admin-client-meta {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin: 20px 0;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 13px;
  overflow: hidden;
}
.admin-client-meta > span {
  padding: 11px 12px;
  background: #fff;
  min-width: 0;
}
.admin-client-meta small,
.admin-client-meta strong {
  display: block;
}
.admin-client-meta small {
  font-size: 0.58rem;
  color: #7d8782;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.admin-client-meta strong {
  font-size: 0.72rem;
  margin-top: 3px;
  overflow-wrap: anywhere;
}
.admin-client-note {
  padding: 11px 13px;
  border-radius: 11px;
  background: #faf8f5;
  font-size: 0.7rem;
}
.admin-crm-section {
  border-top: 1px solid var(--line);
  padding-top: 17px;
  margin-top: 19px;
}
.admin-crm-section h3 {
  font-size: 0.87rem;
}
.admin-contact-list {
  display: grid;
  margin-top: 8px;
}
.admin-contact-list > button {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  gap: 9px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #eceae5;
  background: transparent;
  padding: 9px 0;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
}
.admin-contact-list strong,
.admin-contact-list small {
  display: block;
}
.admin-contact-list strong {
  font-size: 0.7rem;
}
.admin-contact-list small {
  font-size: 0.62rem;
  color: #7d8782;
}
.admin-contact-list em {
  font-style: normal;
  font-size: 0.57rem;
  color: var(--burgundy);
  font-weight: 850;
}
.admin-relation-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 11px;
}
.admin-relation-grid > button {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #faf9f7;
  padding: 12px;
  text-align: left;
  cursor: pointer;
}
.admin-relation-grid span,
.admin-relation-grid strong,
.admin-relation-grid small {
  display: block;
}
.admin-relation-grid strong {
  font-size: 0.7rem;
  margin: 7px 0 2px;
}
.admin-relation-grid small {
  font-size: 0.6rem;
  color: #7d8782;
}

.admin-contract-table {
  min-width: 900px;
}
.admin-contract-workshops {
  border-top: 1px solid var(--line);
  margin-top: 18px;
  padding-top: 17px;
}
.admin-contract-workshops > .admin-panel-head {
  margin-bottom: 8px;
}
.admin-contract-workshops > .admin-panel-head strong {
  font-size: 0.74rem;
}
.admin-contract-workshops > button {
  display: grid;
  grid-template-columns: 25px 1fr auto;
  gap: 9px;
  align-items: center;
  width: 100%;
  border: 0;
  border-bottom: 1px solid #eceae5;
  background: transparent;
  padding: 11px 1px;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
}
.admin-contract-workshops > button strong,
.admin-contract-workshops > button small {
  display: block;
}
.admin-contract-workshops > button strong {
  font-size: 0.72rem;
}
.admin-contract-workshops > button small {
  font-size: 0.62rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-head-actions .admin-link-btn {
  padding: 9px 2px;
}

.admin-workshop-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 13px;
}
.admin-workshop-toolbar > div:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
}
.admin-workshop-toolbar > div:first-child button {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 9px;
  width: 32px;
  height: 32px;
  cursor: pointer;
}
.admin-workshop-toolbar strong {
  text-transform: capitalize;
  font-size: 0.84rem;
}
.admin-segmented {
  display: flex;
  background: #eceae5;
  border-radius: 10px;
  padding: 3px;
}
.admin-segmented button {
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 0.68rem;
  font-weight: 800;
  color: #69726d;
  cursor: pointer;
}
.admin-segmented button.active {
  background: #fff;
  color: var(--ink);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.admin-workshop-layout {
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.admin-unscheduled {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 17px;
  padding: 14px;
  position: sticky;
  top: 95px;
  transition: 0.14s ease;
}
.admin-unscheduled.drag-over {
  border-color: #ad6174;
  background: #fbf4f6;
  box-shadow: inset 0 0 0 2px rgba(127, 34, 58, 0.16);
}
.admin-unscheduled > div:first-child {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.admin-unscheduled > div:first-child > strong {
  font-size: 1.2rem;
  color: var(--burgundy);
}
.admin-unscheduled > p {
  font-size: 0.65rem;
  color: #7d8782;
  margin: 7px 0 12px;
}
.admin-unscheduled > div:last-child {
  display: grid;
  gap: 7px;
}
.admin-calendar-wrap {
  min-width: 0;
}
.admin-calendar {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
}
.admin-calendar > header {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  background: #faf9f7;
  border-bottom: 1px solid var(--line);
}
.admin-calendar > header span {
  text-align: center;
  padding: 9px;
  font-size: 0.6rem;
  font-weight: 850;
  color: #737c77;
}
.admin-calendar > div {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.admin-calendar-day {
  min-height: 116px;
  border-right: 1px solid #eceae5;
  border-bottom: 1px solid #eceae5;
  padding: 7px;
  transition: 0.12s;
}
.admin-calendar-day:nth-child(7n) {
  border-right: 0;
}
.admin-calendar-day.outside {
  background: #faf9f7;
  color: #a4aaa6;
}
.admin-calendar-day.drag-over {
  background: #f7eef1;
  box-shadow: inset 0 0 0 2px #c78c9b;
}
.admin-calendar-day > span {
  display: block;
  font-size: 0.62rem;
  font-weight: 800;
  margin-bottom: 5px;
}
.admin-workshop-chip {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: #f1e7ea;
  color: var(--ink);
  padding: 6px 7px;
  margin: 4px 0;
  text-align: left;
  cursor: grab;
}
.admin-workshop-chip strong,
.admin-workshop-chip small {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin-workshop-chip strong {
  font-size: 0.6rem;
}
.admin-workshop-chip small {
  font-size: 0.55rem;
  color: #7b6b70;
  margin-top: 2px;
}
.admin-week-calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 7px;
}
.admin-week-calendar > div {
  min-height: 240px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 9px;
}
.admin-week-calendar header {
  display: flex;
  justify-content: space-between;
  gap: 5px;
  border-bottom: 1px solid #eceae5;
  margin-bottom: 8px;
  padding-bottom: 7px;
  font-size: 0.64rem;
}
.admin-week-calendar > div > small {
  font-size: 0.58rem;
  color: #9aa09c;
}
.admin-agenda {
  display: grid;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
}
.admin-agenda > button {
  display: grid;
  grid-template-columns: 95px 1fr auto auto;
  gap: 13px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #eceae5;
  background: #fff;
  padding: 13px;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
}
.admin-agenda time {
  font-size: 0.68rem;
  font-weight: 850;
}
.admin-agenda strong,
.admin-agenda small {
  display: block;
}
.admin-agenda strong {
  font-size: 0.73rem;
}
.admin-agenda small {
  font-size: 0.62rem;
  color: #7d8782;
  margin-top: 2px;
}
.admin-link-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  background: #f7f3f1;
  border-radius: 11px;
  font-size: 0.68rem;
}
.admin-link-strip button {
  border: 0;
  background: transparent;
  color: var(--burgundy);
  font-weight: 850;
  cursor: pointer;
}

.admin-stock-alert {
  margin: -8px 0 16px;
}
.admin-inventory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
}
.admin-inventory-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
}
.admin-inventory-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 13px;
}
.admin-stock-icon {
  width: 35px;
  height: 35px;
  border-radius: 10px;
  background: #f3f1ed;
  display: grid;
  place-items: center;
}
.admin-inventory-card > small {
  font-size: 0.59rem;
  color: #7d8782;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.admin-inventory-card h3 {
  font-size: 0.88rem;
  margin: 4px 0 14px;
}
.admin-stock-count {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin-bottom: 13px;
}
.admin-stock-count strong {
  font-size: 2rem;
  letter-spacing: -0.05em;
}
.admin-stock-count span {
  font-size: 0.7rem;
  color: #7d8782;
}
.admin-inventory-card > .admin-primary {
  width: 100%;
}
.admin-inventory-card details {
  border-top: 1px solid #eceae5;
  margin-top: 15px;
  padding-top: 11px;
}
.admin-inventory-card summary {
  font-size: 0.65rem;
  font-weight: 850;
  color: #67716c;
  cursor: pointer;
}
.admin-stock-history {
  display: grid;
  margin-top: 7px;
}
.admin-stock-history > div {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid #f0efec;
  padding: 7px 0;
}
.admin-stock-history .plus {
  color: #2f7151;
  font-weight: 900;
}
.admin-stock-history .minus {
  color: #a0394d;
  font-weight: 900;
}
.admin-stock-history strong,
.admin-stock-history small {
  display: block;
}
.admin-stock-history strong {
  font-size: 0.62rem;
}
.admin-stock-history small {
  font-size: 0.56rem;
  color: #8a918d;
}
.admin-stock-history b {
  font-size: 0.62rem;
}
.admin-billing-settings {
  margin-top: 18px;
}
.admin-billing-settings > summary {
  font-weight: 850;
  font-size: 0.78rem;
  cursor: pointer;
}
.admin-billing-settings > form {
  margin-top: 18px;
}
.admin-inventory-toolbar {
  display: grid;
  grid-template-columns:
    minmax(240px, 1.4fr) minmax(170px, 0.7fr) minmax(190px, 0.8fr)
    auto;
  gap: 12px;
  align-items: end;
  margin: 0 0 16px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.admin-inventory-toolbar label {
  display: grid;
  gap: 6px;
}
.admin-inventory-toolbar label > span {
  font-size: 0.62rem;
  font-weight: 850;
  color: #7d8782;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}
.admin-inventory-toolbar input,
.admin-inventory-toolbar select {
  width: 100%;
  border: 1px solid #dcdad4;
  border-radius: 10px;
  background: #fff;
  padding: 9px 11px;
  color: var(--ink);
  outline: none;
}
.admin-inventory-toolbar input:focus,
.admin-inventory-toolbar select:focus {
  border-color: #b88a95;
  box-shadow: 0 0 0 3px rgba(127, 34, 58, 0.06);
}
.admin-inventory-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-height: 24px;
}
.admin-inventory-labels > span {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 7px;
  font-size: 0.57rem;
  font-weight: 850;
}
.admin-inventory-category {
  background: #eee9e3;
  color: #626963;
}
.admin-inventory-topic {
  background: #f2e5e9;
  color: var(--burgundy);
}
.admin-inventory-card h3 {
  margin: 9px 0 12px;
}
.admin-stock-count {
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.admin-stock-count .admin-status {
  margin-left: auto;
}
.admin-stock-threshold {
  display: block !important;
  margin: 0 0 13px;
  color: #7d8782 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.admin-inventory-topic-picker {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px 15px;
}
.admin-inventory-topic-picker legend {
  padding: 0 5px;
  font-size: 0.78rem;
  font-weight: 850;
  color: #5c6661;
}
.admin-inventory-topic-picker > p {
  font-size: 0.67rem;
  color: #7d8782;
  margin-bottom: 10px;
}
.admin-inventory-topic-picker > div {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}
.admin-inventory-topic-picker > div > label {
  display: flex;
  align-items: center;
  gap: 7px;
  border: 1px solid #ddd8d2;
  border-radius: 999px;
  padding: 7px 10px;
  background: #faf9f7;
  cursor: pointer;
  font-size: 0.68rem;
}
.admin-inventory-topic-picker input {
  width: 14px;
  height: 14px;
  accent-color: var(--burgundy);
}
.admin-inventory-form-actions {
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}
.admin-taxonomy-intro {
  margin: 4px 0 20px;
  padding: 11px 13px;
  border-radius: 11px;
  background: #f7f3f1;
  color: #69726d;
  font-size: 0.72rem;
}
.admin-taxonomy-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}
.admin-taxonomy-grid > section {
  min-width: 0;
}
.admin-taxonomy-grid h3 {
  font-size: 0.93rem;
}
.admin-taxonomy-grid > section > p {
  min-height: 34px;
  margin: 4px 0 12px;
  color: #7d8782;
  font-size: 0.66rem;
}
.admin-taxonomy-add {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  margin-bottom: 10px;
}
.admin-taxonomy-add input,
.admin-taxonomy-list input {
  min-width: 0;
  width: 100%;
  border: 1px solid #dcdad4;
  border-radius: 10px;
  padding: 9px 11px;
  background: #fff;
  color: var(--ink);
}
.admin-taxonomy-list {
  display: grid;
  gap: 6px;
}
.admin-taxonomy-list > form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 6px;
  align-items: center;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #faf9f7;
}
.admin-taxonomy-list .admin-secondary,
.admin-taxonomy-list .admin-link-btn {
  padding: 8px 9px;
  font-size: 0.66rem;
}
.admin-taxonomy-list .danger {
  color: #9b304a;
}
.admin-inventory-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.admin-inventory-labels {
  display: grid;
  justify-items: start;
  align-content: start;
  gap: 5px;
  min-height: 86px;
}
.admin-inventory-labels > span {
  max-width: 100%;
  white-space: normal;
  line-height: 1.25;
  border: 1px solid hsl(var(--tag-h) 38% 83%);
  background: hsl(var(--tag-h) 52% 93%);
  color: hsl(var(--tag-h) 42% 31%);
}
.admin-inventory-category {
  font-weight: 900;
}
.admin-inventory-topic {
  font-weight: 800;
}
.admin-inventory-card h3 {
  min-height: 42px;
  margin: 10px 0 12px;
  line-height: 1.35;
}
.admin-inventory-card > .admin-primary {
  margin-top: auto;
}
.admin-inventory-topic-picker > div > label {
  border-color: hsl(var(--tag-h) 35% 82%);
  background: hsl(var(--tag-h) 50% 95%);
  color: hsl(var(--tag-h) 40% 30%);
}
.admin-inventory-topic-picker > div > label:has(input:checked) {
  background: hsl(var(--tag-h) 52% 90%);
  border-color: hsl(var(--tag-h) 42% 70%);
}
.admin-mobile-head {
  display: contents;
}
.admin-mobile-toggle {
  display: none;
}
.admin-mobile-menu {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}
.admin-sidebar-links {
  display: grid;
  gap: 7px;
}
.admin-sidebar-links a {
  color: #d5ddd9;
  font-size: 0.7rem;
  font-weight: 800;
}
@media (max-width: 1100px) {
  .admin-stats {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-person-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-form-grid.four {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-form .span-4 {
    grid-column: span 2;
  }
  .admin-pricing-grid {
    grid-template-columns: 1fr;
  }
  .admin-invoice-grid {
    grid-template-columns: 1fr;
  }
  .admin-invoice-detail-grid {
    grid-template-columns: 1fr;
  }
  .admin-invoice-item-grid {
    grid-template-columns: 2fr 0.7fr 1fr 1fr;
  }
  .admin-payment-info {
    display: grid;
  }
  .admin-os-metrics {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-os-grid {
    grid-template-columns: 1fr;
  }
  .admin-crm-layout {
    grid-template-columns: 1fr;
  }
  .admin-crm-detail {
    position: static;
  }
  .admin-workshop-layout {
    grid-template-columns: 200px minmax(0, 1fr);
  }
  .admin-inventory-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-wbs-task {
    grid-template-columns: 18px 24px minmax(160px, 1fr) 30px 90px 32px;
  }
  .admin-wbs-task > .admin-status {
    display: none;
  }
  .admin-client-meta {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 760px) {
  .admin-app {
    grid-template-columns: 1fr;
  }
  .admin-sidebar {
    position: static;
    height: auto;
    padding: 15px;
  }
  .admin-brand {
    border: 0;
    padding: 3px 8px 14px;
  }
  .admin-brand img {
    width: 125px;
  }
  .admin-sidebar nav {
    display: flex;
    overflow-x: auto;
    padding-bottom: 3px;
  }
  .admin-nav-item {
    flex: 0 0 auto;
    display: flex;
  }
  .admin-sidebar-bottom {
    display: none;
  }
  .admin-edition-picker {
    padding: 10px 7px;
  }
  .admin-topbar {
    height: auto;
    min-height: 64px;
    padding: 12px 17px;
  }
  .admin-topbar a {
    display: none;
  }
  .admin-screen {
    padding: 26px 16px 55px;
  }
  .admin-screen-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-screen-head h1 {
    font-size: 2rem;
  }
  .admin-stats {
    grid-template-columns: 1fr 1fr;
  }
  .admin-split {
    grid-template-columns: 1fr;
  }
  .admin-person-grid {
    grid-template-columns: 1fr;
  }
  .admin-form-grid,
  .admin-form-grid.four {
    grid-template-columns: 1fr;
  }
  .admin-form .span-2,
  .admin-form .span-4 {
    grid-column: auto;
  }
  .admin-program-row {
    grid-template-columns: 72px 1fr;
  }
  .admin-row-actions {
    grid-column: 2;
  }
  .admin-speaker-checks {
    grid-template-columns: 1fr;
  }
  .admin-login-card {
    padding: 30px 23px;
    border-radius: 22px;
  }
  .admin-head-actions {
    width: 100%;
    flex-wrap: wrap;
  }
  .admin-inline-price {
    grid-template-columns: 1fr;
  }
  .admin-stats-3 {
    grid-template-columns: 1fr;
  }
  .admin-invoice-item-grid {
    grid-template-columns: 1fr;
  }
  .admin-invoice-totals {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .admin-invoice-reg-list button {
    grid-template-columns: 1fr auto;
  }
  .admin-invoice-reg-list em {
    grid-column: 1/-1;
  }
  .admin-invoice-actions .danger {
    margin-left: 0;
  }
  .admin-participant-toolbar {
    grid-template-columns: 1fr;
  }
  .admin-filter-result {
    text-align: left;
  }
  .admin-participant-detail-grid {
    grid-template-columns: 1fr;
  }
  .admin-diet-checks {
    grid-template-columns: 1fr;
  }
  .admin-participant-invoice {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-participant-save {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-program-guide {
    display: grid;
  }
  .admin-schedule-row {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .admin-schedule-time {
    padding: 8px 0 5px 12px;
  }
  .admin-schedule-service {
    min-height: 52px;
  }
  .admin-schedule-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-add-contribution {
    width: 100%;
  }
  .admin-program-cards {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .admin-sidebar .admin-main-nav {
    display: grid !important;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: 52vh;
    margin-top: 0 !important;
    gap: 4px;
    padding-right: 3px;
  }
  .admin-nav-group {
    display: grid;
  }
  .admin-subnav {
    display: grid;
    margin-left: 31px;
  }
  .admin-nav-group.collapsed .admin-subnav {
    display: none;
  }
  .admin-edition-compact {
    display: none;
  }
  .admin-os-metrics {
    grid-template-columns: 1fr 1fr;
  }
  .admin-os-metrics > button {
    padding: 14px;
  }
  .admin-os-grid {
    grid-template-columns: 1fr;
  }
  .admin-team-list {
    display: grid;
  }
  .admin-team-list > div {
    min-width: 0;
  }
  .admin-wbs-phase {
    padding: 14px;
  }
  .admin-wbs-phase > header {
    grid-template-columns: auto 1fr auto;
  }
  .admin-wbs-phase > header .admin-wbs-owner {
    grid-column: 2;
  }
  .admin-wbs-phase > header > .admin-status {
    grid-column: 3;
    grid-row: 1;
  }
  .admin-wbs-phase > header > .admin-row-actions {
    grid-column: 2/4;
  }
  .admin-wbs-task {
    grid-template-columns: 16px 22px minmax(0, 1fr) 28px 28px;
    gap: 6px;
    padding: 7px 0;
  }
  .admin-wbs-task > .admin-task-date,
  .admin-wbs-task > .admin-status {
    display: none;
  }
  .admin-crm-layout {
    grid-template-columns: 1fr;
  }
  .admin-crm-row {
    grid-template-columns: 38px minmax(0, 1fr) 42px 12px;
  }
  .admin-crm-row > span:nth-child(4) {
    display: none;
  }
  .admin-client-meta {
    grid-template-columns: 1fr 1fr;
  }
  .admin-relation-grid {
    grid-template-columns: 1fr;
  }
  .admin-workshop-toolbar {
    align-items: flex-start;
    gap: 10px;
    flex-direction: column;
  }
  .admin-workshop-layout {
    grid-template-columns: 1fr;
  }
  .admin-unscheduled {
    position: static;
  }
  .admin-unscheduled > div:last-child {
    display: flex;
    overflow-x: auto;
  }
  .admin-unscheduled .admin-workshop-chip {
    min-width: 190px;
  }
  .admin-calendar-wrap {
    overflow-x: auto;
  }
  .admin-calendar {
    min-width: 720px;
  }
  .admin-week-calendar {
    min-width: 720px;
  }
  .admin-inventory-grid {
    grid-template-columns: 1fr;
  }
  .admin-agenda > button {
    grid-template-columns: 80px 1fr auto;
  }
  .admin-agenda > button > .admin-status {
    display: none;
  }
  .admin-module-search {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-os-list > button {
    grid-template-columns: 42px 1fr auto;
  }
  .admin-field-action {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
@media (max-width: 900px) {
  .admin-inventory-toolbar {
    grid-template-columns: 1fr 1fr;
  }
  .admin-inventory-toolbar .admin-filter-result {
    text-align: left;
  }
  .admin-taxonomy-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .admin-inventory-toolbar {
    grid-template-columns: 1fr;
  }
  .admin-inventory-form-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-inventory-form-actions button {
    width: 100%;
  }
  .admin-taxonomy-list > form {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .admin-taxonomy-list .danger {
    grid-column: 1/-1;
    justify-self: start;
  }
  .admin-taxonomy-add {
    grid-template-columns: 1fr;
  }
  .admin-taxonomy-add button {
    width: 100%;
  }
}
@media (max-width: 1100px) and (min-width: 761px) {
  .admin-wbs-task {
    grid-template-columns: 18px 24px minmax(140px, 1fr) 30px 82px 100px 32px;
  }
  .admin-wbs-task > .admin-wbs-status {
    display: inline-flex;
  }
}
@media (max-width: 760px) {
  .admin-wbs-task > .admin-wbs-status {
    display: inline-flex;
    grid-column: 3/5;
    grid-row: 2;
    margin: 0 0 5px;
  }
  .admin-wbs-phase-heading {
    gap: 8px;
  }
  .admin-wbs-phase-emoji {
    width: 32px;
    height: 32px;
  }
  .admin-wbs-status-picker {
    align-items: flex-start;
  }
  .admin-wbs-editor .admin-form-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-wbs-editor .admin-form-actions button {
    width: 100%;
  }
}

/* Mobile admin: compact shell + touch-friendly layouts across all modules */
@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }
  .admin-app,
  .admin-main,
  #admin-view,
  .admin-screen {
    min-width: 0;
    max-width: 100%;
  }
  body.admin-menu-open {
    overflow: hidden;
  }
  .admin-sidebar {
    position: sticky;
    top: 0;
    z-index: 100;
    height: 64px;
    padding: 0 15px;
    overflow: visible;
    background: #17211d;
    box-shadow: 0 1px 0 #303b36;
  }
  .admin-mobile-head {
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  .admin-brand {
    display: flex;
    align-items: center;
    padding: 0;
    border: 0;
  }
  .admin-brand img {
    width: 122px;
  }
  .admin-mobile-toggle {
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 11px;
    background: #27332e;
    display: grid;
    place-content: center;
    gap: 5px;
    padding: 0;
    cursor: pointer;
  }
  .admin-mobile-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 99px;
    background: #fff;
    transition:
      transform 0.18s ease,
      opacity 0.18s ease;
  }
  .admin-sidebar.mobile-open .admin-mobile-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  .admin-sidebar.mobile-open .admin-mobile-toggle span:nth-child(2) {
    opacity: 0;
  }
  .admin-sidebar.mobile-open .admin-mobile-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }
  .admin-mobile-menu {
    display: none;
    position: fixed;
    inset: 64px 0 0;
    background: #17211d;
    padding: 11px 15px 18px;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .admin-sidebar.mobile-open .admin-mobile-menu {
    display: flex;
  }
  .admin-sidebar .admin-main-nav {
    display: grid !important;
    flex: 0 0 auto;
    max-height: none;
    overflow: visible;
    margin: 0 !important;
    padding: 0 0 10px;
    gap: 4px;
  }
  .admin-nav-item {
    width: 100%;
    min-height: 44px;
    padding: 11px 12px;
    display: grid;
    grid-template-columns: 24px 1fr auto;
    font-size: 0.86rem;
  }
  .admin-subnav {
    margin: 1px 0 8px 34px;
    padding-left: 9px;
  }
  .admin-subnav-item {
    min-height: 39px;
    padding: 9px 10px;
    font-size: 0.74rem;
  }
  .admin-edition-compact {
    display: block;
    margin-top: 0;
    padding: 14px 8px;
    border-top: 1px solid #303b36;
  }
  .admin-edition-compact select {
    min-height: 43px;
  }
  .admin-sidebar-bottom {
    display: flex;
    margin-top: auto;
    padding: 15px 8px 3px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  .admin-sidebar-user {
    min-width: 0;
    flex: 1;
  }
  .admin-sidebar-user > span {
    min-width: 0;
  }
  .admin-sidebar-links {
    flex: 0 0 auto;
    text-align: right;
  }
  .admin-sidebar-links a {
    display: block;
  }
  .admin-sidebar-bottom button {
    font-size: 0.7rem;
    color: #d5ddd9;
  }
  .admin-topbar {
    top: 64px;
    min-height: 52px;
    height: 52px;
    padding: 9px 15px;
    z-index: 30;
  }
  .admin-topbar > div {
    min-width: 0;
  }
  .admin-topbar strong {
    display: none;
  }
  .admin-topbar .admin-eyebrow {
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 0.62rem;
  }
  .admin-screen {
    padding: 21px 14px 52px;
  }
  .admin-screen-head {
    gap: 13px;
    margin-bottom: 20px;
  }
  .admin-screen-head h1 {
    font-size: 1.85rem;
    line-height: 1.08;
    margin-top: 5px;
  }
  .admin-screen-head p {
    font-size: 0.8rem;
    line-height: 1.5;
  }
  .admin-screen-head > .admin-primary,
  .admin-screen-head > .admin-secondary,
  .admin-head-actions {
    width: 100%;
  }
  .admin-head-actions > * {
    flex: 1;
  }
  .admin-panel {
    padding: 16px;
    border-radius: 16px;
  }
  .admin-panel-head,
  .admin-form-title {
    gap: 10px;
    flex-wrap: wrap;
  }
  .admin-panel-head h2,
  .admin-form-title h2 {
    font-size: 1.08rem;
  }
  .admin-panel-head p {
    font-size: 0.75rem;
  }
  .admin-form {
    gap: 17px;
  }
  .admin-form-grid {
    gap: 12px;
  }
  .admin-form input,
  .admin-form select,
  .admin-form textarea {
    max-width: 100%;
    min-width: 0;
  }
  .admin-form input[type="date"],
  .admin-form input[type="time"] {
    width: 100%;
    min-width: 0;
  }
  .admin-primary,
  .admin-secondary {
    min-height: 42px;
  }
  .admin-form-actions {
    width: 100%;
    align-items: stretch;
  }
  .admin-form-actions button {
    width: 100%;
  }
  .admin-stats,
  .admin-os-metrics {
    grid-template-columns: 1fr 1fr;
    gap: 9px;
  }
  .admin-stats article,
  .admin-os-metrics > button {
    min-width: 0;
    padding: 14px;
    border-radius: 14px;
  }
  .admin-stats strong,
  .admin-os-metrics strong {
    font-size: 1.15rem;
    overflow-wrap: anywhere;
  }
  .admin-dashboard-grid,
  .admin-dashboard-grid.lower,
  .admin-os-grid {
    gap: 12px;
  }
  .admin-os-list > button {
    grid-template-columns: 42px minmax(0, 1fr) auto;
  }
  .admin-soft-alert {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-team-list {
    gap: 9px;
  }
  .admin-team-list > div {
    width: 100%;
    min-width: 0;
    padding: 10px;
  }
  .admin-photo-change {
    white-space: nowrap;
  }
  .admin-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    border-radius: 14px;
  }
  .admin-table th,
  .admin-table td {
    padding: 11px 12px;
  }
  .admin-table-wrap:focus-within {
    outline: 2px solid rgba(127, 34, 58, 0.12);
    outline-offset: 1px;
  }
  .admin-module-search {
    gap: 8px;
  }
  .admin-module-search input {
    min-height: 42px;
  }
  .admin-list-row {
    padding: 12px;
    align-items: flex-start;
  }
  .admin-person-card {
    grid-template-columns: 88px minmax(0, 1fr);
    min-height: 132px;
  }
  .admin-person-card > img,
  .admin-avatar-empty {
    width: 88px;
    min-height: 132px;
  }
  .admin-person-card > div:last-child {
    padding: 12px;
  }
  .admin-program-row {
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }
  .admin-program-row .admin-row-actions {
    grid-column: 2;
    justify-self: start;
    flex-wrap: wrap;
  }
  .admin-program-time {
    padding-left: 8px;
  }
  .admin-program-guide {
    padding: 12px;
  }
  .admin-schedule-content {
    padding: 13px;
    border-radius: 16px;
  }
  .admin-program-card {
    padding: 13px;
  }
  .admin-participant-toolbar,
  .admin-inventory-toolbar {
    padding: 12px;
    gap: 10px;
  }
  .admin-participant-finance {
    grid-template-columns: 1fr;
  }
  .admin-participant-finance .total {
    grid-column: auto;
  }
  .admin-participant-invoice,
  .admin-participant-save {
    width: 100%;
  }
  .admin-participant-invoice .admin-secondary,
  .admin-participant-save .admin-primary {
    width: 100%;
  }
  .admin-diet-checks {
    grid-template-columns: 1fr;
  }
  .admin-discount-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-discount-toolbar span {
    white-space: normal;
  }
  .admin-price-list > div {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .admin-price-list > div > span:first-child {
    flex: 1 1 65%;
  }
  .admin-wbs-phase {
    padding: 12px;
    border-radius: 16px;
  }
  .admin-wbs-phase > header {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 8px;
  }
  .admin-wbs-phase-heading {
    min-width: 0;
  }
  .admin-wbs-phase-heading h2 {
    overflow-wrap: anywhere;
  }
  .admin-wbs-phase > header .admin-wbs-owner {
    grid-column: 2/4;
    min-width: 0;
    flex-wrap: wrap;
  }
  .admin-wbs-phase > header > .admin-row-actions {
    grid-column: 2/4;
    flex-wrap: wrap;
  }
  .admin-wbs-progress {
    margin: 11px 0 9px;
  }
  .admin-wbs-task {
    min-height: 54px;
    grid-template-columns: 13px 22px minmax(0, 1fr) 28px 28px;
    gap: 6px;
  }
  .admin-wbs-task > .admin-wbs-status {
    grid-column: 3/6;
    justify-self: start;
  }
  .admin-task-main {
    min-width: 0;
  }
  .admin-task-main strong,
  .admin-task-main small {
    overflow-wrap: anywhere;
  }
  .admin-wbs-owner-picker {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .admin-wbs-owner-picker label > span {
    min-height: 44px;
  }
  .admin-emoji-picker span {
    width: 42px;
    height: 42px;
  }
  .admin-crm-row {
    grid-template-columns: 38px minmax(0, 1fr) 38px 12px;
    padding: 10px;
    gap: 8px;
  }
  .admin-crm-row > span:nth-child(4) {
    display: none;
  }
  .admin-crm-row > span:nth-child(3) small {
    display: none;
  }
  .admin-client-meta {
    grid-template-columns: 1fr 1fr;
  }
  .admin-contact-list > button {
    grid-template-columns: 30px minmax(0, 1fr) auto;
  }
  .admin-relation-grid {
    grid-template-columns: 1fr;
  }
  .admin-field-action {
    grid-template-columns: 1fr;
  }
  .admin-field-action .admin-inline-action {
    width: 100%;
    min-height: 42px;
  }
  .admin-contract-workshops > button {
    grid-template-columns: 24px minmax(0, 1fr);
  }
  .admin-contract-workshops > button > .admin-status {
    grid-column: 2;
    justify-self: start;
  }
  .admin-link-strip {
    align-items: flex-start;
    flex-direction: column;
  }
  .admin-workshop-toolbar {
    gap: 11px;
  }
  .admin-workshop-toolbar > div:first-child {
    width: 100%;
    justify-content: space-between;
  }
  .admin-segmented {
    width: 100%;
  }
  .admin-segmented button {
    flex: 1;
    min-height: 38px;
  }
  .admin-workshop-layout {
    gap: 11px;
  }
  .admin-unscheduled {
    padding: 12px;
  }
  .admin-unscheduled > div:last-child {
    padding-bottom: 4px;
  }
  .admin-calendar-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .admin-agenda > button {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 8px;
  }
  .admin-agenda > button > .admin-status,
  .admin-agenda > button > em {
    grid-column: 2;
    justify-self: start;
  }
  .admin-calendar,
  .admin-week-calendar {
    max-width: none;
  }
  .admin-inventory-grid {
    gap: 10px;
  }
  .admin-inventory-card {
    padding: 15px;
    border-radius: 16px;
  }
  .admin-inventory-labels {
    min-height: 0;
  }
  .admin-inventory-card h3 {
    min-height: 0;
  }
  .admin-stock-history > div {
    grid-template-columns: 30px minmax(0, 1fr) auto;
  }
  .admin-taxonomy-list > form {
    padding: 8px;
  }
  .admin-inventory-topic-picker {
    padding: 12px;
  }
  .admin-inventory-topic-picker > div {
    gap: 6px;
  }
  .admin-invoice-grid {
    gap: 12px;
  }
  .admin-invoice-reg-list button {
    gap: 9px;
  }
  .admin-invoice-detail-grid {
    gap: 14px;
  }
  .admin-invoice-item-grid {
    gap: 10px;
  }
  .admin-invoice-totals {
    gap: 14px;
  }
  .admin-invoice-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-invoice-actions button {
    width: 100%;
    margin: 0 !important;
  }
  .admin-payment-info {
    gap: 12px;
  }
  .admin-payment-info p {
    font-size: 0.69rem;
  }
  .admin-audit-note {
    padding: 14px;
  }
}

/* LMS commerce, certificates and learner account */
.course-store-actions {
  display: flex;
  gap: 9px;
  align-items: center;
  margin-top: 16px;
}
.course-store-actions > * {
  flex: 1;
}
.course-detail-dialog {
  width: min(780px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  border-radius: 24px;
  background: #fff;
}
.course-detail-cover {
  height: 230px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, #f5e6ea, #efeee9);
}
.course-detail-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.course-detail-cover span {
  font-size: 4rem;
}
.course-detail-body {
  padding: 28px;
}
.course-detail-lead {
  color: #65706a;
  font-size: 0.8rem;
  line-height: 1.7;
}
.course-detail-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 22px 0;
}
.course-detail-facts > div {
  padding: 14px;
  border-radius: 13px;
  background: #f5f4f0;
  color: #737d77;
  font-size: 0.62rem;
}
.course-detail-facts strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 0.76rem;
}
.lms-account-nav {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  gap: 5px;
  padding: 10px 5vw;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(10px);
}
.lms-account-nav button {
  border: 0;
  border-radius: 10px;
  background: transparent;
  padding: 9px 13px;
  color: #68726d;
  font-weight: 850;
  cursor: pointer;
}
.lms-account-nav button:hover,
.lms-account-nav button.active {
  background: #f3e6e9;
  color: var(--burgundy);
}
.lms-account-section {
  scroll-margin-top: 75px;
  margin-top: 42px;
}
.lms-account-section > header {
  margin-bottom: 17px;
}
.lms-account-section > header p {
  color: #737c77;
}
.lms-certificate-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.lms-certificate-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 19px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
}
.lms-certificate-card h3 {
  font-size: 0.86rem;
}
.lms-certificate-card p {
  margin-top: 4px;
  color: #7b847f;
  font-size: 0.62rem;
}
.lms-profile-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 19px;
  background: #fff;
}
.lms-profile-form label {
  display: grid;
  gap: 6px;
  font-size: 0.64rem;
  font-weight: 850;
}
.lms-profile-form input {
  width: 100%;
  border: 1px solid #dad8d2;
  border-radius: 11px;
  padding: 12px;
}
.lms-profile-form button {
  justify-self: start;
}
.admin-manual-certificate {
  display: flex;
  align-items: end;
  gap: 9px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.admin-manual-certificate label {
  flex: 1;
  display: grid;
  gap: 5px;
  font-size: 0.62rem;
  font-weight: 850;
}
.admin-manual-certificate select {
  width: 100%;
  border: 1px solid #d9d7d1;
  border-radius: 10px;
  padding: 10px;
}
.admin-import-preview {
  max-height: 190px;
  overflow: auto;
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fafaf8;
  padding: 10px;
  font-size: 0.62rem;
}
.admin-certificate-preview {
  width: min(900px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  border-radius: 24px;
  background: #f0efeb;
  padding: 24px;
}
.certificate-preview-sheet {
  aspect-ratio: 1.414/1;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  padding: 8%;
  border: 1px solid #dedbd4;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 12px 38px rgba(25, 35, 30, 0.13);
}
.certificate-preview-sheet .admin-eyebrow {
  color: var(--burgundy);
}
.certificate-preview-sheet h1 {
  margin: 3% 0;
  font-family: Georgia, serif;
  font-size: clamp(1.7rem, 4vw, 3.5rem);
}
.certificate-preview-sheet h2 {
  margin: 2% 0;
  font-size: clamp(1.1rem, 2.6vw, 2.2rem);
}
.certificate-preview-sheet p {
  max-width: 650px;
  color: #66716b;
}
.certificate-preview-signature {
  margin-top: 6%;
  padding-top: 12px;
  border-top: 1px solid #aaa;
  min-width: 210px;
}
.admin-order-number {
  border: 0;
  background: transparent;
  color: var(--burgundy);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
@media (max-width: 760px) {
  .course-store-actions {
    flex-direction: column;
  }
  .course-store-actions > * {
    width: 100%;
  }
  .course-detail-cover {
    height: 160px;
  }
  .course-detail-body {
    padding: 20px;
  }
  .course-detail-facts {
    grid-template-columns: 1fr;
  }
  .lms-account-nav {
    overflow-x: auto;
    padding-inline: 5vw;
  }
  .lms-account-nav button {
    flex: 0 0 auto;
  }
  .lms-certificate-grid {
    grid-template-columns: 1fr;
  }
  .lms-certificate-card {
    align-items: flex-start;
    flex-direction: column;
  }
  .lms-profile-form {
    grid-template-columns: 1fr;
    padding: 17px;
  }
  .admin-manual-certificate {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-certificate-preview {
    padding: 10px;
  }
  .certificate-preview-sheet {
    min-height: 520px;
    aspect-ratio: auto;
  }
  .course-store-grid {
    grid-template-columns: 1fr;
  }
}
.lms-certificate-grid > article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 19px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
}
.lms-certificate-grid > article small {
  display: block;
  margin-top: 4px;
  color: #7b847f;
  font-size: 0.62rem;
}
@media (max-width: 760px) {
  .lms-certificate-grid > article {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* LMS image and two-column blocks */
.admin-image-fields {
  display: grid;
  grid-template-columns: minmax(190px, 0.8fr) 1fr;
  gap: 10px;
}
.admin-image-picker {
  grid-row: span 2;
  min-height: 112px;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  border: 1px dashed #bfbab2;
  border-radius: 12px;
  background: #faf9f6;
  color: var(--burgundy);
  cursor: pointer;
}
.admin-image-picker span {
  font-weight: 900;
}
.admin-image-picker small {
  margin-top: 4px;
  color: #7c8580;
}
.admin-image-picker input {
  display: none;
}
.admin-image-upload-state {
  grid-column: 1/-1;
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border-radius: 9px;
  background: #f5f4f0;
  color: #65706a;
  font-size: 0.6rem;
}
.admin-image-upload-state img {
  width: 46px;
  height: 32px;
  object-fit: cover;
  border-radius: 6px;
}
.admin-layout-json {
  display: none;
}
.admin-columns-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.admin-column-side {
  min-width: 0;
  padding: 12px;
  border: 1px solid #e1ded8;
  border-radius: 13px;
  background: #fafaf8;
}
.admin-column-kind {
  display: flex;
  gap: 4px;
  margin-bottom: 10px;
}
.admin-column-kind button {
  flex: 1;
  border: 0;
  border-radius: 8px;
  background: #eceae5;
  padding: 7px 5px;
  color: #68716d;
  font-size: 0.56rem;
  font-weight: 850;
  cursor: pointer;
}
.admin-column-kind button.active {
  background: var(--burgundy);
  color: #fff;
}
.admin-column-side [data-column-panel="button"] {
  display: grid;
  gap: 8px;
}
.admin-column-editor {
  min-height: 130px;
  border-radius: 10px;
}
.lms-course-image-block {
  margin: 24px 0;
}
.lms-course-image-block img {
  display: block;
  width: 100%;
  max-height: 680px;
  object-fit: cover;
  border-radius: 18px;
  background: #efeee9;
}
.lms-course-image-block.contain img {
  height: auto;
  max-height: none;
  object-fit: contain;
}
.lms-course-image-block figcaption {
  margin-top: 9px;
  text-align: center;
  color: #737d77;
  font-size: 0.62rem;
}
.lms-course-image-block.image-error {
  min-height: 170px;
  display: grid;
  place-items: center;
  border: 1px dashed #cfcac3;
  border-radius: 16px;
  background: #f7f6f2;
}
.lms-course-image-block.image-error:after {
  content: "Obrázek se nepodařilo načíst";
  color: #7c8580;
  font-size: 0.65rem;
}
.lms-two-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: start;
  margin: 26px 0;
}
.lms-two-columns > div {
  min-width: 0;
}
.lms-two-columns .lms-course-image-block {
  margin: 0;
}
.lms-inline-image {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 18px auto;
  border-radius: 14px;
}
.admin-rich-editor .lms-inline-image:not([src]) {
  min-height: 120px;
  background: #eee;
}
.admin-special-block .admin-block-body {
  padding: 14px;
}
@media (max-width: 760px) {
  .admin-image-fields,
  .admin-columns-editor,
  .lms-two-columns {
    grid-template-columns: 1fr;
  }
  .admin-image-picker {
    grid-row: auto;
  }
  .lms-two-columns {
    gap: 18px;
  }
  .lms-course-image-block img {
    border-radius: 12px;
  }
}
.admin-audio-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.admin-audio-picker {
  grid-column: 1/-1;
  min-height: 86px;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  border: 1px dashed #bfbab2;
  border-radius: 12px;
  background: #faf9f6;
  color: var(--burgundy);
  cursor: pointer;
}
.admin-audio-picker span {
  font-weight: 900;
}
.admin-audio-picker small {
  margin-top: 4px;
  color: #7c8580;
}
.admin-audio-picker input {
  display: none;
}
.admin-audio-upload-state {
  grid-column: 1/-1;
  display: grid;
  gap: 6px;
  padding: 10px;
  border-radius: 11px;
  background: #f5f4f0;
  color: #65706a;
  font-size: 0.6rem;
}
.admin-audio-upload-state audio {
  width: 100%;
}
.lms-audio-block {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin: 24px 0;
  padding: 20px;
  border: 1px solid #dedbd5;
  border-radius: 18px;
  background: #fff;
}
.lms-audio-block > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #f3e5e8;
  color: var(--burgundy);
  font-size: 1.15rem;
}
.lms-audio-block strong {
  display: block;
  margin: 2px 0 5px;
  font-size: 0.82rem;
}
.lms-audio-block p {
  margin: 0 0 12px;
  color: #6e7872;
  font-size: 0.67rem;
}
.lms-audio-block audio {
  width: 100%;
  height: 42px;
  accent-color: var(--burgundy);
}
.lms-audio-block.media-error audio {
  display: none;
}
.lms-audio-block.media-error div:after {
  content: "Nahrávku se nepodařilo načíst.";
  color: var(--burgundy);
  font-size: 0.62rem;
}
@media (max-width: 760px) {
  .admin-audio-fields {
    grid-template-columns: 1fr;
  }
  .lms-audio-block {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 15px;
  }
  .lms-audio-block > span {
    width: 34px;
    height: 34px;
  }
}

/* LMS operations suite */
.admin-publication-grid,
.admin-license-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.admin-publication-checks {
  display: grid;
  gap: 8px;
  margin: 18px 0;
}
.admin-publication-checks > div {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 11px;
  background: #f5f4f0;
}
.admin-publication-checks > div > span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-weight: 900;
}
.admin-publication-checks .ok > span {
  background: #dcecdf;
  color: #245d36;
}
.admin-publication-checks .missing > span {
  background: #f4e1e5;
  color: var(--burgundy);
}
.admin-version-list {
  display: grid;
}
.admin-version-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}
.admin-version-list strong,
.admin-version-list small {
  display: block;
}
.admin-version-list small {
  color: #7d8782;
  font-size: 0.58rem;
}
.admin-license-grid article {
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #fff;
}
.admin-license-grid article h3 {
  margin: 6px 0 15px;
}
.admin-license-grid article .admin-mini-progress {
  width: 100%;
}
.admin-license-grid article p {
  margin: 9px 0 14px;
  color: #68736d;
  font-size: 0.68rem;
}
.lms-video {
  height: auto;
  aspect-ratio: auto;
  overflow: visible;
  background: transparent;
}
.lms-video mux-player {
  display: block;
  aspect-ratio: 16/9;
  border-radius: 18px;
  overflow: hidden;
  background: #121815;
}
.lms-video-progress {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
  color: #68736d;
  font-size: 0.58rem;
}
.lms-video-progress i {
  height: 5px;
  border-radius: 99px;
  background: #e5e3df;
  overflow: hidden;
}
.lms-video-progress b {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: var(--burgundy);
  transition: width 0.25s ease;
}
@media (max-width: 760px) {
  .admin-publication-grid,
  .admin-license-grid {
    grid-template-columns: 1fr;
  }
  .admin-head-actions {
    flex-wrap: wrap;
  }
  .admin-course-tabs {
    scrollbar-width: none;
  }
  .lms-video mux-player {
    border-radius: 12px;
  }
}

/* On-line courses admin */
.admin-course-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.admin-course-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
}
.admin-course-cover {
  height: 145px;
  background: linear-gradient(135deg, #f5e9ec, #f1eee7);
  display: grid;
  place-items: center;
}
.admin-course-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.admin-course-cover > span {
  font-size: 2.7rem;
}
.admin-course-card-body {
  padding: 18px;
}
.admin-course-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.admin-course-card-top small {
  color: #7d8782;
  font-size: 0.62rem;
}
.admin-course-card h2 {
  font-size: 1.05rem;
  margin: 13px 0 7px;
}
.admin-course-card p {
  min-height: 38px;
  color: #707973;
  font-size: 0.7rem;
}
.admin-course-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin: 16px 0;
}
.admin-course-metrics span {
  font-size: 0.58rem;
  color: #7d8782;
}
.admin-course-metrics b {
  display: block;
  color: var(--ink);
  font-size: 0.82rem;
}
.admin-course-card .admin-primary {
  width: 100%;
}
.admin-back-link {
  border: 0;
  background: transparent;
  color: var(--burgundy);
  font-weight: 850;
  margin-bottom: 15px;
  cursor: pointer;
}
.admin-course-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 18px;
}
.admin-course-summary span {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  color: #7d8782;
  font-size: 0.64rem;
}
.admin-course-summary b {
  display: block;
  color: var(--ink);
  font-size: 1.1rem;
}
.admin-course-tabs {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  border-bottom: 1px solid var(--line);
  margin-bottom: 18px;
}
.admin-course-tabs button {
  flex: 0 0 auto;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  padding: 11px 13px;
  color: #747d78;
  font-weight: 850;
  cursor: pointer;
}
.admin-course-tabs button.active {
  border-color: var(--burgundy);
  color: var(--burgundy);
}
.admin-course-builder {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  padding: 18px;
}
.admin-course-builder-head {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 16px;
  margin-bottom: 16px;
}
.admin-course-builder-head p {
  color: #7d8782;
  font-size: 0.68rem;
  margin-top: 3px;
}
.admin-course-outline {
  display: grid;
  gap: 11px;
}
.admin-course-section {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fbfbf9;
  overflow: hidden;
}
.admin-course-section.dragging,
.admin-course-lesson.dragging,
.admin-block-row.dragging {
  opacity: 0.45;
}
.admin-course-section > header {
  display: grid;
  grid-template-columns: 20px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 13px;
}
.admin-course-section header small {
  font-size: 0.56rem;
  color: #8a918d;
  text-transform: uppercase;
}
.admin-course-section header h3 {
  font-size: 0.83rem;
  margin-top: 2px;
}
.admin-drag-handle {
  cursor: grab;
  color: #9aa09d;
}
.admin-course-lessons {
  display: grid;
  border-top: 1px solid var(--line);
  background: #fff;
}
.admin-course-lesson {
  display: grid;
  grid-template-columns: 18px 25px minmax(0, 1fr) auto auto;
  gap: 9px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #eeece8;
  background: #fff;
  padding: 11px 13px;
  text-align: left;
  color: var(--ink);
  cursor: pointer;
}
.admin-course-lesson:last-child {
  border-bottom: 0;
}
.admin-course-lesson small,
.admin-course-lesson strong {
  display: block;
}
.admin-course-lesson small {
  font-size: 0.55rem;
  color: #8a918d;
}
.admin-course-lesson strong {
  font-size: 0.72rem;
  margin-top: 2px;
}
.admin-course-lesson em {
  font-style: normal;
  color: var(--burgundy);
  font-size: 0.62rem;
  font-weight: 850;
}
.admin-course-empty {
  padding: 14px;
  color: #8a918d;
  font-size: 0.67rem;
}
.admin-mini-progress {
  width: 110px;
  height: 6px;
  border-radius: 99px;
  background: #ecebe7;
  overflow: hidden;
  margin-bottom: 5px;
}
.admin-mini-progress span,
.admin-mini-progress i {
  display: block;
  height: 100%;
  background: var(--burgundy);
  border-radius: 99px;
}
.admin-lesson-analytics {
  display: grid;
  margin-top: 15px;
}
.admin-lesson-analytics > div {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 200px 45px;
  gap: 14px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  font-size: 0.7rem;
}
.admin-lesson-analytics .admin-mini-progress {
  width: 100%;
  margin: 0;
}
.admin-block-editor {
  display: grid;
  gap: 8px;
  margin: 18px 0;
}
.admin-block-row {
  display: grid;
  grid-template-columns: 18px 70px minmax(0, 1fr) 28px;
  gap: 8px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 9px;
  background: #fff;
}
.admin-block-row strong {
  font-size: 0.63rem;
}
.admin-block-row textarea {
  min-height: 58px;
  resize: vertical;
  border: 1px solid #dedcd6;
  border-radius: 9px;
  padding: 9px;
  font: inherit;
}
.admin-block-row > button {
  border: 0;
  background: transparent;
  color: #9a5263;
  font-size: 1.2rem;
  cursor: pointer;
}
.admin-block-divider {
  height: 1px;
  background: var(--line);
}
.admin-block-toolbar {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 12px;
  border-radius: 12px;
  background: #f3f2ee;
}
.admin-block-toolbar span {
  font-size: 0.62rem;
  font-weight: 850;
  margin-right: 4px;
}
.admin-block-toolbar button {
  border: 1px solid #dcdad4;
  background: #fff;
  border-radius: 8px;
  padding: 7px 9px;
  font-weight: 800;
  font-size: 0.6rem;
  cursor: pointer;
}
#course-editor:not(:empty) {
  position: fixed;
  inset: 0;
  z-index: 260;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 36px;
  background: rgba(13, 20, 17, 0.52);
  overflow-y: auto;
  backdrop-filter: blur(2px);
}
#course-editor > .admin-editor {
  width: min(920px, 100%);
  margin: auto;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.24);
}

/* Learner LMS */
.lms-page {
  background: #f7f7f4;
  color: var(--ink);
  min-height: 100vh;
}
.lms-auth {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 22px;
  background:
    radial-gradient(circle at top left, #f4e4e8, transparent 42%), #f7f7f4;
}
.lms-auth-card {
  width: min(470px, 100%);
  padding: 38px;
  border: 1px solid var(--line);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 22px 70px rgba(28, 40, 34, 0.12);
}
.lms-logo span {
  display: inline-grid;
  place-items: center;
  padding: 8px 12px;
  border-radius: 12px;
  background: #fff;
}
.lms-logo img {
  width: 150px;
  display: block;
}
.lms-auth-card > .admin-eyebrow {
  display: block;
  margin-top: 26px;
}
.lms-auth-card h1 {
  font-size: 2.2rem;
  margin: 7px 0 10px;
}
.lms-auth-card > p {
  color: #727b76;
}
.lms-auth-card form {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}
.lms-auth-card label {
  display: grid;
  gap: 6px;
  font-size: 0.7rem;
  font-weight: 850;
}
.lms-auth-card input {
  width: 100%;
  border: 1px solid #d9d8d2;
  border-radius: 11px;
  padding: 13px;
}
.lms-auth-card button {
  width: 100%;
}
.lms-link {
  border: 0;
  background: transparent;
  color: var(--burgundy);
  font-weight: 850;
  padding: 8px;
}
.lms-message {
  min-height: 20px;
  font-size: 0.68rem;
  margin-top: 14px;
}
.lms-shell {
  min-height: 100vh;
}
.lms-top {
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5vw;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.lms-top > div {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 0.72rem;
  font-weight: 800;
}
.lms-top button {
  border: 0;
  background: transparent;
  color: var(--burgundy);
  font-weight: 850;
}
.lms-dashboard {
  width: min(1180px, 90vw);
  margin: auto;
  padding: 54px 0 80px;
}
.lms-hero {
  margin-bottom: 32px;
}
.lms-hero h1 {
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  margin: 8px 0;
}
.lms-hero p {
  color: #737c77;
}
.lms-course-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.lms-course-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
}
.lms-course-image {
  height: 180px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #f4e5e9, #f0eee7);
}
.lms-course-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.lms-course-image > span {
  font-size: 3rem;
}
.lms-course-card > div:last-child {
  padding: 20px;
}
.lms-chip {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 99px;
  background: #f4e7ea;
  color: var(--burgundy);
  font-size: 0.58rem;
  font-weight: 900;
}
.lms-course-card h2 {
  font-size: 1.05rem;
  margin: 12px 0 7px;
}
.lms-course-card p {
  min-height: 42px;
  color: #737c77;
  font-size: 0.7rem;
}
.lms-progress {
  height: 7px;
  border-radius: 99px;
  background: #e8e8e4;
  overflow: hidden;
  margin: 16px 0 6px;
}
.lms-progress i {
  display: block;
  height: 100%;
  border-radius: 99px;
  background: var(--burgundy);
  transition: width 0.5s ease;
}
.lms-course-card small {
  color: #7c8580;
  font-size: 0.62rem;
}
.lms-course-card button {
  width: 100%;
  margin-top: 17px;
}
.lms-empty {
  grid-column: 1/-1;
  text-align: center;
  border: 1px dashed #d6d5cf;
  border-radius: 20px;
  padding: 55px;
  background: #fff;
}
.lms-empty > span {
  font-size: 2.4rem;
}
.lms-empty h2 {
  margin: 12px 0 6px;
}
.lms-empty p {
  color: #737c77;
}
.lms-course-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
}
.lms-course-nav {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  padding: 20px;
  background: #1e2924;
  color: #fff;
}
.lms-course-brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.lms-course-brand .lms-logo span {
  padding: 7px 10px;
}
.lms-course-brand .lms-logo img {
  width: 125px;
}
.lms-nav-close {
  display: none;
}
.lms-back {
  display: block;
  color: #aeb9b3;
  font-size: 0.66rem;
  margin: 28px 0 17px;
}
.lms-course-nav > h2 {
  font-size: 1rem;
}
.lms-course-nav > .lms-progress {
  background: #3a4741;
}
.lms-course-nav > small {
  color: #a7b2ac;
  font-size: 0.6rem;
}
.lms-course-nav nav {
  display: grid;
  gap: 20px;
  margin-top: 28px;
}
.lms-course-nav nav h3 {
  font-size: 0.68rem;
  margin-bottom: 7px;
  color: #dce3df;
}
.lms-course-nav nav button {
  width: 100%;
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 7px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #aeb9b3;
  padding: 8px;
  text-align: left;
  font-size: 0.64rem;
  cursor: pointer;
}
.lms-course-nav nav button.active {
  background: #303c36;
  color: #fff;
}
.lms-course-nav nav button:disabled {
  opacity: 0.45;
}
.lms-lesson {
  min-width: 0;
}
.lms-lesson > header {
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  color: #727b76;
  font-size: 0.65rem;
}
.lms-nav-toggle {
  display: none;
}
.lms-lesson-content {
  width: min(820px, calc(100% - 42px));
  margin: 0 auto;
  padding: 55px 0 90px;
}
.lms-lesson-content > h1 {
  font-size: clamp(2rem, 4vw, 3.25rem);
  margin: 8px 0 5px;
}
.lms-estimate {
  color: #7a837e;
  font-size: 0.68rem;
}
.lms-blocks {
  display: grid;
  gap: 20px;
  margin: 38px 0;
}
.lms-blocks h2 {
  font-size: 1.55rem;
}
.lms-rich {
  font-size: 1rem;
  line-height: 1.75;
  color: #333d38;
}
.lms-blocks hr {
  width: 100%;
  border: 0;
  border-top: 1px solid var(--line);
}
.lms-video {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: 18px;
  background: #121815;
}
.lms-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.lms-download {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}
.lms-download > span {
  font-size: 1.6rem;
}
.lms-download strong,
.lms-download small {
  display: block;
}
.lms-download small {
  color: #7b847f;
  font-size: 0.62rem;
}
.lms-download button {
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 8px 11px;
}
.lms-quiz-placeholder {
  border: 1px solid #e0ced3;
  border-radius: 16px;
  background: #fbf2f4;
  padding: 20px;
}
.lms-quiz-placeholder > span {
  font-size: 1.5rem;
}
.lms-notes {
  margin-top: 42px;
  padding: 20px;
  border-radius: 16px;
  background: #f0f0ec;
}
.lms-notes h3 {
  font-size: 0.85rem;
  margin-bottom: 9px;
}
.lms-notes textarea {
  width: 100%;
  min-height: 110px;
  border: 1px solid #d9d8d2;
  border-radius: 10px;
  padding: 11px;
  resize: vertical;
}
.lms-notes small {
  color: #7a837e;
  font-size: 0.58rem;
}
.lms-lesson-content footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
  margin-top: 34px;
}
.lms-lesson-content footer button:last-child {
  justify-self: end;
}
.lms-secondary {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  padding: 11px 14px;
  font-weight: 850;
  color: var(--ink);
}

@media (max-width: 1050px) {
  .admin-course-grid,
  .lms-course-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .admin-course-grid,
  .lms-course-grid {
    grid-template-columns: 1fr;
  }
  .admin-course-summary {
    grid-template-columns: 1fr 1fr;
  }
  .admin-course-builder {
    padding: 12px;
  }
  .admin-course-builder-head {
    display: grid;
  }
  .admin-course-section > header {
    grid-template-columns: 18px 1fr;
  }
  .admin-course-section > header .admin-row-actions {
    grid-column: 2;
    justify-content: flex-start;
  }
  .admin-course-lesson {
    grid-template-columns: 16px 24px minmax(0, 1fr);
  }
  .admin-course-lesson > .admin-status,
  .admin-course-lesson > em {
    grid-column: 3;
    justify-self: start;
  }
  .admin-block-row {
    grid-template-columns: 16px 55px 1fr 25px;
  }
  .admin-lesson-analytics > div {
    grid-template-columns: 1fr 45px;
  }
  .admin-lesson-analytics .admin-mini-progress {
    grid-column: 1/-1;
    grid-row: 2;
  }
  #course-editor:not(:empty) {
    padding: 12px;
    align-items: flex-end;
  }
  #course-editor > .admin-editor {
    width: 100%;
    max-height: 92dvh;
    overflow-y: auto;
    margin: auto 0 0;
    border-radius: 18px;
  }
  .lms-auth-card {
    padding: 28px 22px;
  }
  .lms-top {
    height: 68px;
    padding: 0 16px;
  }
  .lms-top .lms-logo img {
    width: 120px;
  }
  .lms-top > div > span {
    display: none;
  }
  .lms-dashboard {
    width: calc(100% - 28px);
    padding: 35px 0 65px;
  }
  .lms-course-grid {
    gap: 12px;
  }
  .lms-course-shell {
    display: block;
  }
  .lms-course-nav {
    position: fixed;
    inset: 0 12% 0 0;
    z-index: 200;
    transform: translateX(-110%);
    transition: transform 0.22s ease;
    box-shadow: 20px 0 50px rgba(0, 0, 0, 0.25);
  }
  .lms-course-nav.open {
    transform: translateX(0);
  }
  .lms-nav-close {
    display: block;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 1.6rem;
  }
  .lms-lesson > header {
    height: 60px;
    padding: 0 16px;
  }
  .lms-nav-toggle {
    display: block;
    border: 0;
    background: transparent;
    color: var(--burgundy);
    font-weight: 850;
  }
  .lms-lesson-content {
    width: calc(100% - 28px);
    padding: 35px 0 70px;
  }
  .lms-lesson-content footer {
    grid-template-columns: 1fr 1fr;
  }
  .lms-lesson-content footer [data-complete] {
    grid-column: 1/-1;
    grid-row: 1;
    width: 100%;
  }
  .lms-download {
    grid-template-columns: 38px 1fr;
  }
  .lms-download button {
    grid-column: 2;
    justify-self: start;
  }
  .lms-video {
    border-radius: 12px;
  }
}

/* LMS lesson navigation must not inherit the dark public-site footer. */
.lms-lesson-content footer {
  margin: 34px 0 0;
  padding: 0;
  background: transparent;
  color: var(--ink);
}

.admin-block-row:has([data-configure-quiz]) {
  grid-template-columns: 18px 70px minmax(0, 1fr) auto 28px;
}
.admin-block-row [data-configure-quiz] {
  font-size: 0.58rem;
  white-space: nowrap;
}
.admin-quiz-question-list {
  display: grid;
  gap: 12px;
  margin: 18px 0;
}
.admin-quiz-question {
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fafaf8;
}
.admin-quiz-answers {
  display: grid;
  gap: 7px;
  margin: 12px 0;
}
.admin-quiz-answers label {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
}
.admin-quiz-answers input[data-answer-text] {
  width: 100%;
  border: 1px solid #dcdad4;
  border-radius: 9px;
  padding: 9px;
}
.lms-quiz-form {
  display: grid;
  gap: 18px;
}
.lms-quiz-form fieldset {
  display: grid;
  gap: 8px;
  border: 1px solid #decfd3;
  border-radius: 13px;
  padding: 15px;
}
.lms-quiz-form legend {
  padding: 0 6px;
  font-weight: 850;
  font-size: 0.78rem;
}
.lms-quiz-form fieldset label {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px;
  border-radius: 9px;
  background: #fff;
  font-size: 0.7rem;
}
.lms-quiz-result {
  display: grid;
  gap: 4px;
  padding: 13px;
  border-radius: 11px;
}
.lms-quiz-result.passed {
  background: #e8f3ec;
  color: #296346;
}
.lms-quiz-result.failed {
  background: #f8e9ec;
  color: #8f2d45;
}
.lms-quiz-result span {
  font-size: 0.68rem;
}
@media (max-width: 760px) {
  .admin-block-row:has([data-configure-quiz]) {
    grid-template-columns: 16px 55px minmax(0, 1fr) 25px;
  }
  .admin-block-row [data-configure-quiz] {
    grid-column: 3;
    justify-self: start;
  }
}

.admin-block-row:has(.admin-file-block-fields) {
  align-items: start;
}
.admin-file-block-fields {
  display: grid;
  grid-template-columns: 1fr 150px;
  gap: 8px;
}
.admin-file-block-fields label {
  display: grid;
  gap: 4px;
  font-size: 0.57rem;
  font-weight: 850;
  color: #69726d;
}
.admin-file-block-fields input {
  width: 100%;
  min-width: 0;
  border: 1px solid #dcdad4;
  border-radius: 8px;
  background: #fff;
  padding: 8px;
}
.admin-file-block-fields .admin-file-picker {
  grid-column: 1/-1;
  position: relative;
  display: block;
  border: 1px dashed #cabdc0;
  border-radius: 9px;
  padding: 10px;
  color: var(--burgundy);
  text-align: center;
  cursor: pointer;
}
.admin-file-picker input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.admin-file-block-fields > small {
  grid-column: 1/-1;
  color: #7d8782;
  font-size: 0.56rem;
}
.lms-download button:not(:disabled) {
  background: var(--burgundy);
  border-color: var(--burgundy);
  color: #fff;
  cursor: pointer;
}
.lms-certificate-ready {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin: 34px 0;
  padding: 18px;
  border: 1px solid #dcc8ce;
  border-radius: 17px;
  background: #fbf1f4;
}
.lms-certificate-ready > span {
  font-size: 2rem;
}
.lms-certificate-ready strong {
  font-size: 0.86rem;
}
.lms-certificate-ready p {
  color: #7b6670;
  font-size: 0.66rem;
  margin-top: 3px;
}
.admin-block-row:has(.admin-video-block-fields) {
  align-items: start;
}
.admin-video-block-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.admin-video-block-fields > label:first-child {
  display: grid;
  gap: 4px;
  font-size: 0.57rem;
  font-weight: 850;
  color: #69726d;
}
.admin-video-block-fields input[type="text"],
.admin-video-block-fields input:not([type]) {
  width: 100%;
  min-width: 0;
  border: 1px solid #dcdad4;
  border-radius: 8px;
  background: #fff;
  padding: 8px;
}
.admin-video-picker {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  place-items: initial;
  align-items: center;
  column-gap: 10px;
  min-height: 58px;
  border: 1px dashed #cabdc0;
  border-radius: 10px;
  padding: 9px 12px;
  color: var(--burgundy);
  font-size: 0.62rem;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}
.admin-video-picker-icon {
  grid-row: 1/3;
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #f5e7eb;
  font-size: 0.9rem;
}
.admin-video-picker [data-video-picker-copy] {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-video-picker small {
  display: block;
  min-width: 0;
  color: #7d8782;
  font-size: 0.52rem;
  font-weight: 650;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-video-picker.selected,
.admin-video-picker.has-video {
  border-style: solid;
  border-color: #b97989;
  background: #fff8fa;
}
.admin-video-picker input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.admin-video-state,
.admin-upload-progress {
  grid-column: 1/-1;
}
.admin-video-state {
  min-height: 18px;
  font-size: 0.6rem;
  color: #68736d;
}
.admin-video-state.ready {
  color: #276746;
  font-weight: 850;
}
.admin-video-state.errored {
  color: #a03b4e;
  font-weight: 850;
}
.admin-upload-progress {
  position: relative;
  height: 24px;
  border-radius: 99px;
  background: #e6e4df;
  overflow: hidden;
}
.admin-upload-progress i {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--burgundy), #b14d66);
  transition: width 0.2s ease;
}
.admin-upload-progress span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #17211e;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
  font-size: 0.56rem;
  font-weight: 900;
}
.lms-video mux-player {
  display: block;
  width: 100%;
  height: 100%;
  --media-accent-color: #8f2d45;
}
.lms-video-loading {
  height: 100%;
  display: grid;
  place-items: center;
  padding: 24px;
  color: #d6ddd9;
  font-size: 0.7rem;
  text-align: center;
}
@media (max-width: 760px) {
  .admin-file-block-fields,
  .admin-video-block-fields {
    grid-template-columns: 1fr;
  }
  .admin-file-block-fields .admin-file-picker,
  .admin-file-block-fields > small,
  .admin-video-state,
  .admin-upload-progress {
    grid-column: auto;
  }
  .lms-certificate-ready {
    grid-template-columns: 42px 1fr;
  }
  .lms-certificate-ready .btn {
    grid-column: 1/-1;
    width: 100%;
  }
}
@media (max-width: 390px) {
  .admin-stats,
  .admin-os-metrics {
    grid-template-columns: 1fr;
  }
  .admin-client-meta {
    grid-template-columns: 1fr;
  }
  .admin-wbs-owner-picker {
    grid-template-columns: 1fr;
  }
  .admin-screen {
    padding-left: 12px;
    padding-right: 12px;
  }
  .admin-panel {
    padding: 14px;
  }
}
@media (max-width: 480px) {
  .admin-os-metrics {
    grid-template-columns: 1fr;
  }
  .admin-client-meta {
    grid-template-columns: 1fr;
  }
  .admin-screen {
    overflow-x: hidden;
  }
  .admin-topbar strong {
    font-size: 0.78rem;
  }
  .admin-os-dashboard .admin-screen-head {
    margin-bottom: 20px;
  }
}

/* Profile menu, system settings and consistent modal editors */
body.admin-modal-open {
  overflow: hidden;
}
.admin-profile-wrap {
  position: relative;
  width: 100%;
}
.admin-sidebar-user {
  width: 100%;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  text-align: left;
}
.admin-sidebar-user > span {
  flex: 1;
}
.admin-sidebar-user > em {
  font-style: normal;
  color: #84918b;
  font-size: 0.68rem;
}
.admin-profile-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 10px);
  z-index: 130;
  padding: 7px;
  border: 1px solid #3b4842;
  border-radius: 13px;
  background: #202b26;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.25);
}
.admin-profile-menu.open {
  display: grid;
}
.admin-profile-menu button,
.admin-profile-menu a,
.admin-profile-menu label {
  position: relative;
  display: block;
  border: 0;
  background: transparent;
  color: #e7ece9;
  padding: 9px 10px;
  border-radius: 8px;
  text-align: left;
  font-size: 0.7rem;
  font-weight: 800;
  cursor: pointer;
}
.admin-profile-menu button:hover,
.admin-profile-menu a:hover,
.admin-profile-menu label:hover {
  background: #2c3933;
}
.admin-profile-menu input {
  position: absolute;
  inset: 0;
  width: 100%;
  opacity: 0;
  cursor: pointer;
}
.admin-settings-backdrop {
  position: fixed;
  inset: 0;
  z-index: 300;
  background: rgba(13, 20, 17, 0.55);
  display: grid;
  place-items: center;
  padding: 22px;
  backdrop-filter: blur(3px);
}
.admin-settings-dialog {
  width: min(1040px, 100%);
  max-height: min(760px, calc(100vh - 44px));
  overflow: hidden;
  border-radius: 22px;
  background: #f7f7f4;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.28);
}
.admin-settings-dialog > header {
  height: 76px;
  padding: 0 24px;
  border-bottom: 1px solid var(--line);
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.admin-settings-dialog h2 {
  font-size: 1.25rem;
  margin-top: 3px;
}
.admin-settings-close {
  font-size: 1.65rem !important;
}
.admin-settings-layout {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  min-height: 520px;
  max-height: calc(100vh - 120px);
}
.admin-settings-layout > nav {
  padding: 18px 12px;
  border-right: 1px solid var(--line);
  background: #f0f0ec;
}
.admin-settings-layout > nav button {
  width: 100%;
  border: 0;
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  padding: 11px 12px;
  text-align: left;
  font-weight: 850;
}
.admin-settings-layout > main {
  min-width: 0;
  overflow-y: auto;
  padding: 25px;
}
.admin-settings-heading {
  margin-bottom: 17px;
}
.admin-settings-heading h3 {
  font-size: 1.08rem;
}
.admin-settings-heading p {
  font-size: 0.72rem;
  color: #7d8782;
  margin-top: 4px;
}
.admin-account-list {
  display: grid;
  gap: 11px;
}
.admin-account-row {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) 120px;
  gap: 17px;
  align-items: start;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.admin-account-photo {
  display: grid;
  justify-items: center;
  gap: 7px;
}
.admin-account-photo label {
  position: relative;
  color: var(--burgundy);
  font-size: 0.62rem;
  font-weight: 850;
  cursor: pointer;
}
.admin-account-photo input {
  position: absolute;
  inset: 0;
  width: 100%;
  opacity: 0;
  cursor: pointer;
}
.admin-account-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.admin-account-fields label {
  display: grid;
  gap: 5px;
  font-size: 0.61rem;
  font-weight: 850;
  color: #69726d;
}
.admin-account-fields input,
.admin-account-fields select {
  width: 100%;
  min-width: 0;
  border: 1px solid #dcdad4;
  border-radius: 10px;
  background: #fff;
  padding: 9px 10px;
  color: var(--ink);
}
.admin-account-actions {
  display: grid;
  justify-items: end;
  gap: 12px;
}
.admin-account-actions .admin-primary {
  width: 100%;
}
#wbs-editor:not(:empty),
#workshop-editor:not(:empty),
#inventory-editor:not(:empty),
#invoice-editor:not(:empty),
#speaker-editor:not(:empty),
#program-editor:not(:empty),
#participant-editor:not(:empty),
#contract-detail:has(form),
#crm-detail:has(form) {
  position: fixed;
  inset: 0;
  z-index: 250;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 36px;
  background: rgba(13, 20, 17, 0.5);
  overflow-y: auto;
  overscroll-behavior: contain;
  backdrop-filter: blur(2px);
}
#wbs-editor > .admin-editor,
#workshop-editor > .admin-editor,
#inventory-editor > .admin-editor,
#invoice-editor > .admin-editor,
#speaker-editor > .admin-editor,
#program-editor > .admin-editor,
#participant-editor > .admin-editor,
#contract-detail > form.admin-editor,
#crm-detail > form.admin-editor {
  width: min(900px, 100%);
  max-height: none;
  margin: auto;
  box-shadow: 0 26px 80px rgba(0, 0, 0, 0.24);
}
.admin-workshop-toolbar button:disabled {
  opacity: 0.35;
  cursor: default;
}
.admin-calendar-wrap {
  max-width: 100%;
}
.admin-unscheduled {
  min-width: 0;
}
.admin-unscheduled > * {
  min-width: 0;
}
.admin-unscheduled .admin-workshop-chip {
  max-width: 100%;
}
@media (max-width: 760px) {
  .admin-brand {
    height: 64px;
  }
  .admin-brand > span {
    width: 136px;
    min-height: 42px;
    padding: 6px 8px;
    border-radius: 10px;
  }
  .admin-brand img {
    width: 118px;
  }
  .admin-profile-menu {
    position: static;
    margin-top: 10px;
  }
  .admin-settings-backdrop {
    padding: 0;
    align-items: end;
  }
  .admin-settings-dialog {
    width: 100%;
    max-height: 94vh;
    border-radius: 20px 20px 0 0;
  }
  .admin-settings-dialog > header {
    height: 66px;
    padding: 0 17px;
  }
  .admin-settings-layout {
    grid-template-columns: 1fr;
    max-height: calc(94vh - 66px);
  }
  .admin-settings-layout > nav {
    padding: 9px 14px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .admin-settings-layout > main {
    padding: 16px;
  }
  .admin-account-row {
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 12px;
    padding: 13px;
  }
  .admin-account-fields {
    grid-template-columns: 1fr;
  }
  .admin-account-actions {
    grid-column: 1/-1;
    grid-template-columns: 1fr 1fr;
    align-items: center;
  }
  .admin-account-actions .admin-primary {
    justify-self: end;
  }
  .admin-account-photo .admin-user-avatar.lg {
    width: 54px;
    height: 54px;
  }
  .admin-account-photo label {
    text-align: center;
  }
  .admin-workshop-layout {
    min-width: 0;
    width: 100%;
  }
  .admin-unscheduled {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
  .admin-unscheduled > div:last-child {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }
  .admin-calendar-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
  }
  .admin-calendar,
  .admin-week-calendar {
    min-width: 680px;
  }
  #wbs-editor:not(:empty),
  #workshop-editor:not(:empty),
  #inventory-editor:not(:empty),
  #invoice-editor:not(:empty),
  #speaker-editor:not(:empty),
  #program-editor:not(:empty),
  #participant-editor:not(:empty),
  #contract-detail:has(form),
  #crm-detail:has(form) {
    padding: 12px;
    align-items: flex-end;
  }
  #wbs-editor > .admin-editor,
  #workshop-editor > .admin-editor,
  #inventory-editor > .admin-editor,
  #invoice-editor > .admin-editor,
  #speaker-editor > .admin-editor,
  #program-editor > .admin-editor,
  #participant-editor > .admin-editor,
  #contract-detail > form.admin-editor,
  #crm-detail > form.admin-editor {
    width: 100%;
    max-height: 92vh;
    overflow-y: auto;
    margin: auto 0 0;
    border-radius: 18px;
  }
}

/* Dialog surfaces must remain opaque above the dimmed admin backdrop. */
.admin-editor {
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  color: var(--ink);
}
@media (max-width: 760px) {
  .admin-editor {
    padding: 20px 16px;
  }
}

.admin-video-state.selected {
  color: var(--burgundy);
  font-weight: 850;
}
.admin-video-state.uploading {
  color: #8a3240;
  font-weight: 850;
}
.admin-video-state.processing {
  color: #276746;
  font-weight: 850;
}
.admin-video-picker:has(input:focus-visible) {
  outline: 3px solid rgba(143, 45, 69, 0.18);
  outline-offset: 2px;
}
.admin-video-picker:hover {
  border-color: var(--burgundy);
  background: #fbf4f6;
}
.admin-rich-block {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.admin-rich-toolbar {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.admin-rich-toolbar button {
  border: 1px solid #ddd8d4;
  border-radius: 7px;
  background: #f8f7f4;
  padding: 5px 8px;
  color: #4c5651;
  font-size: 0.56rem;
  font-weight: 800;
  cursor: pointer;
}
.admin-rich-toolbar button:hover {
  border-color: var(--burgundy);
  color: var(--burgundy);
}
.admin-rich-block small {
  color: #818986;
  font-size: 0.52rem;
}
.admin-button-block-fields {
  display: grid;
  grid-template-columns: minmax(120px, 0.7fr) minmax(180px, 1.3fr);
  gap: 8px;
}
.admin-button-block-fields label {
  display: grid;
  gap: 4px;
  color: #69726d;
  font-size: 0.57rem;
  font-weight: 850;
}
.admin-button-block-fields input {
  width: 100%;
  min-width: 0;
  border: 1px solid #dcdad4;
  border-radius: 8px;
  padding: 8px;
}
.admin-quiz-answers label {
  grid-template-columns: 22px minmax(0, 1fr) 28px;
}
.admin-quiz-answers [data-remove-answer] {
  border: 0;
  background: transparent;
  color: #9a5263;
  font-size: 1rem;
  cursor: pointer;
}
.admin-quiz-question-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.admin-quiz-question-actions .admin-secondary {
  padding: 7px 10px;
  font-size: 0.58rem;
}

/* LMS operations and storefront */
.admin-clickable-table tbody tr[data-open-enrollment] {
  cursor: pointer;
}
.admin-clickable-table tbody tr[data-open-enrollment]:hover {
  background: #faf5f6;
}
.admin-enrollment-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 0.55rem;
  font-weight: 850;
  white-space: nowrap;
}
.admin-enrollment-status.active,
.admin-enrollment-status.completed {
  background: #e2f0e5;
  color: #27613b;
}
.admin-enrollment-status.pending {
  background: #f5e7eb;
  color: #8a3240;
}
.admin-enrollment-status.expired,
.admin-enrollment-status.revoked {
  background: #eeeae8;
  color: #685f5b;
}
.admin-enrollment-detail {
  width: min(900px, 100%);
}
.admin-enrollment-progress,
.admin-enrollment-attempts {
  display: grid;
  gap: 7px;
}
.admin-enrollment-progress h3,
.admin-enrollment-attempts h3 {
  margin-bottom: 4px;
}
.admin-enrollment-progress > div,
.admin-enrollment-attempts > div {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  border-radius: 10px;
  background: #f7f6f2;
}
.admin-enrollment-progress small,
.admin-enrollment-attempts small {
  color: #78817c;
}
.admin-certificate-note {
  padding: 13px;
  border-radius: 12px;
  background: #f7eaee;
  color: var(--burgundy);
  font-weight: 750;
}
.course-store-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.course-store-card {
  overflow: hidden;
  border: 1px solid #e5e0dc;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 15px 40px rgba(28, 40, 34, 0.06);
}
.course-store-cover {
  display: grid;
  place-items: center;
  aspect-ratio: 16/9;
  background: #eef0eb;
  font-size: 3rem;
}
.course-store-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.course-store-card > div:last-child {
  display: grid;
  align-content: start;
  gap: 13px;
  padding: 24px;
}
.course-store-card h3 {
  font-size: 1.35rem;
}
.course-store-card p {
  min-height: 3.6em;
  color: #67726d;
}
.course-store-price {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.course-store-price s {
  color: #8b918e;
}
.course-store-price strong {
  font-size: 1.45rem;
  color: var(--burgundy);
}
.course-store-loading,
.course-store-empty {
  grid-column: 1/-1;
  padding: 45px;
  border-radius: 20px;
  background: #f4f4f0;
  text-align: center;
}
.course-order-open {
  overflow: hidden;
}
.course-order-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(15, 27, 21, 0.58);
  backdrop-filter: blur(8px);
}
.course-order-dialog {
  width: min(760px, 100%);
  max-height: 94vh;
  overflow-y: auto;
  padding: 27px;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.22);
}
.course-order-dialog > header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}
.course-order-dialog > header button {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: #f0eeeb;
  font-size: 1.3rem;
  cursor: pointer;
}
.course-order-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 14px 0;
}
.course-order-grid label,
.course-discount-box label {
  display: grid;
  gap: 6px;
  font-size: 0.72rem;
  font-weight: 800;
}
.course-order-grid input,
.course-discount-box input {
  width: 100%;
  border: 1px solid #d9d6d1;
  border-radius: 11px;
  padding: 12px;
  font: inherit;
}
.course-order-grid .span-2 {
  grid-column: 1/-1;
}
.course-discount-box {
  padding: 15px;
  border-radius: 14px;
  background: #f5f4f0;
}
.course-discount-box label > div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}
.course-discount-box button {
  border: 0;
  border-radius: 11px;
  background: var(--burgundy);
  padding: 0 15px;
  color: #fff;
  font-weight: 800;
}
.course-discount-box small {
  display: block;
  margin-top: 7px;
  color: var(--burgundy);
}
.course-order-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 18px 0;
  padding: 17px 0;
  border-block: 1px solid #e2ded9;
}
.course-order-total strong {
  font-size: 1.55rem;
  color: var(--burgundy);
}
.course-order-submit {
  width: 100%;
}
.course-order-success {
  display: grid;
  justify-items: center;
  gap: 15px;
  padding: 30px;
  text-align: center;
}
.course-order-success > span {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #e4f0e6;
  color: #28613b;
  font-size: 1.6rem;
  font-weight: 900;
}
.course-order-success > div {
  display: grid;
  gap: 3px;
  padding: 15px 30px;
  border-radius: 14px;
  background: #f4f3ef;
}
.course-order-success > div strong {
  font-size: 1.4rem;
  color: var(--burgundy);
}
@media (max-width: 900px) {
  .course-store-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 620px) {
  .course-store-grid {
    grid-template-columns: 1fr;
  }
  .course-order-backdrop {
    padding: 0;
    align-items: end;
  }
  .course-order-dialog {
    max-height: 96vh;
    border-radius: 22px 22px 0 0;
    padding: 20px 16px;
  }
  .course-order-grid {
    grid-template-columns: 1fr;
  }
  .course-order-grid .span-2 {
    grid-column: auto;
  }
  .course-discount-box label > div {
    grid-template-columns: 1fr;
  }
  .course-discount-box button {
    min-height: 44px;
  }
  .admin-enrollment-progress > div,
  .admin-enrollment-attempts > div {
    grid-template-columns: 24px 1fr;
  }
  .admin-enrollment-progress small,
  .admin-enrollment-attempts small {
    grid-column: 2;
  }
}
@media (max-width: 760px) {
  .admin-button-block-fields {
    grid-template-columns: 1fr;
  }
  .admin-rich-toolbar button {
    padding: 7px 9px;
  }
  .admin-quiz-question-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Live lesson preview and migration-friendly quiz ordering. */
.admin-lesson-preview-overlay {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: grid;
  place-items: center;
  padding: 28px;
  background: rgba(13, 20, 17, 0.72);
  backdrop-filter: blur(5px);
}
.admin-lesson-preview-window {
  width: min(980px, 100%);
  max-height: 92dvh;
  overflow: hidden;
  border-radius: 22px;
  background: #f7f7f4;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.34);
}
.admin-lesson-preview-window > header {
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.admin-lesson-preview-window > header > div {
  display: grid;
  gap: 2px;
}
.admin-lesson-preview-window > header strong {
  font-size: 0.82rem;
}
.admin-lesson-preview-window > header button {
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  font-size: 1.25rem;
  cursor: pointer;
}
.admin-lesson-preview-canvas {
  max-height: calc(92dvh - 70px);
  overflow-y: auto;
}
.admin-lesson-preview-canvas .lms-lesson-content {
  padding-bottom: 55px;
}
.admin-lesson-preview-canvas .lms-video video {
  width: 100%;
  height: 100%;
  display: block;
  background: #111;
}
.admin-preview-placeholder {
  display: grid;
  place-items: center;
  min-height: 260px;
  border-radius: 18px;
  background: #121815;
  color: #fff;
  font-weight: 850;
}
.admin-preview-quiz {
  display: grid;
  gap: 12px;
  border: 1px solid #e0ced3;
  border-radius: 16px;
  background: #fbf2f4;
  padding: 20px;
}
.admin-preview-quiz fieldset {
  display: grid;
  gap: 7px;
  border: 1px solid #e0ced3;
  border-radius: 12px;
  padding: 13px;
  background: #fff;
}
.admin-preview-quiz legend {
  padding: 0 5px;
  font-size: 0.72rem;
  font-weight: 850;
}
.admin-preview-quiz fieldset label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.68rem;
}
.admin-quiz-drag {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: -4px 0 12px;
  color: #737c77;
  font-size: 0.58rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.admin-quiz-drag .admin-drag-handle {
  font-size: 1rem;
}
.admin-quiz-drag .admin-quiz-duplicate {
  margin-left: auto;
  border: 0;
  background: transparent;
  color: var(--wine);
  font: 700 12px/1 var(--font-sans);
  cursor: pointer;
  padding: 7px 9px;
  border-radius: 9px;
  text-transform: none;
  letter-spacing: 0;
}
.admin-quiz-drag .admin-quiz-duplicate:hover {
  background: rgba(153, 42, 76, 0.08);
}
.admin-quiz-question.dragging {
  opacity: 0.45;
}
.admin-quiz-question[data-order-ready="true"] {
  transition: box-shadow 0.18s ease;
}
.admin-quiz-question[data-order-ready="true"]:hover {
  box-shadow: 0 8px 24px rgba(30, 41, 36, 0.06);
}
@media (max-width: 760px) {
  .admin-lesson-preview-overlay {
    padding: 0;
  }
  .admin-lesson-preview-window {
    height: 100dvh;
    max-height: none;
    border-radius: 0;
  }
  .admin-lesson-preview-canvas {
    max-height: calc(100dvh - 64px);
  }
  .admin-lesson-preview-window > header {
    height: 64px;
    padding: 0 14px;
  }
  .admin-lesson-preview-canvas .lms-lesson-content {
    padding-top: 28px;
  }
  .admin-preview-placeholder {
    min-height: 190px;
  }
}

/* Full visual LMS lesson studio. */
#course-editor > .admin-lesson-editor {
  width: min(1480px, 100%);
  padding: 0;
  overflow: hidden;
  background: #f5f5f2;
}
.admin-lesson-editor-head {
  position: sticky;
  top: 0;
  z-index: 12;
  margin: 0;
  padding: 18px 22px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.admin-lesson-editor-head > div:last-child {
  display: flex;
  align-items: center;
  gap: 9px;
}
.admin-lesson-settings {
  margin: 16px 20px 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}
.admin-lesson-settings summary {
  padding: 12px 15px;
  cursor: pointer;
  color: #59645e;
  font-size: 0.68rem;
  font-weight: 850;
}
.admin-lesson-settings > .admin-form-grid {
  padding: 4px 15px 15px;
}
.admin-lesson-workspace {
  display: grid;
  grid-template-columns: minmax(520px, 1.05fr) minmax(420px, 0.95fr);
  gap: 16px;
  align-items: start;
  padding: 16px 20px 92px;
}
.admin-lesson-compose {
  min-width: 0;
}
.admin-block-library {
  position: sticky;
  top: 88px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  margin-bottom: 13px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 7px 22px rgba(30, 40, 35, 0.06);
  backdrop-filter: blur(9px);
}
.admin-block-library > div {
  min-width: 135px;
  margin-right: 2px;
}
.admin-block-library > div strong,
.admin-block-library > div small {
  display: block;
}
.admin-block-library > div strong {
  font-size: 0.7rem;
}
.admin-block-library > div small {
  font-size: 0.52rem;
  color: #858d89;
}
.admin-block-library > button {
  flex: 0 0 auto;
  display: grid;
  justify-items: center;
  gap: 3px;
  min-width: 58px;
  border: 1px solid #dedbd5;
  border-radius: 10px;
  background: #fff;
  padding: 7px 8px;
  color: #525d57;
  font-size: 0.55rem;
  font-weight: 850;
  cursor: grab;
}
.admin-block-library > button:hover {
  border-color: #b56b7d;
  background: #fcf4f6;
  color: var(--burgundy);
  transform: translateY(-1px);
}
.admin-block-library > button > span {
  font-family: Georgia, serif;
  font-size: 0.8rem;
}
.admin-block-editor {
  min-height: 280px;
  margin: 0;
  padding: 4px;
  border: 1px dashed transparent;
  border-radius: 17px;
  transition: 0.18s;
}
.admin-block-editor.library-drag-over {
  border-color: var(--burgundy);
  background: #f9edf0;
}
.admin-block-empty {
  min-height: 270px;
  display: grid;
  place-items: center;
  align-content: center;
  text-align: center;
  border: 1px dashed #cfcac3;
  border-radius: 15px;
  background: #fff;
  color: #7b837f;
}
.admin-block-empty > span {
  font-size: 1.7rem;
  color: var(--burgundy);
}
.admin-block-empty strong {
  font-size: 0.84rem;
  margin-top: 8px;
}
.admin-block-empty p {
  font-size: 0.62rem;
  margin-top: 3px;
}
.admin-block-row {
  position: relative;
  display: block;
  padding: 0;
  border-radius: 15px;
  overflow: visible;
  box-shadow: 0 2px 8px rgba(30, 40, 35, 0.025);
  transition:
    opacity 0.16s,
    transform 0.16s,
    box-shadow 0.16s;
}
.admin-block-row:hover {
  border-color: #c9b8bd;
  box-shadow: 0 8px 26px rgba(30, 40, 35, 0.07);
}
.admin-block-row.just-added {
  animation: adminBlockIn 0.65s ease;
}
.admin-block-row.removing {
  opacity: 0;
  transform: scale(0.97);
}
.admin-block-row.drop-before:before,
.admin-block-row.drop-after:after {
  content: "";
  position: absolute;
  z-index: 5;
  left: 8px;
  right: 8px;
  height: 3px;
  border-radius: 99px;
  background: var(--burgundy);
  box-shadow: 0 0 0 3px rgba(143, 45, 69, 0.12);
}
.admin-block-row.drop-before:before {
  top: -6px;
}
.admin-block-row.drop-after:after {
  bottom: -6px;
}
@keyframes adminBlockIn {
  0% {
    transform: translateY(12px);
    opacity: 0.25;
  }
  100% {
    transform: none;
    opacity: 1;
  }
}
.admin-block-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border-bottom: 1px solid #efede9;
  background: #fafaf8;
  border-radius: 15px 15px 0 0;
}
.admin-block-head .admin-drag-handle {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 7px;
  font-size: 1rem;
}
.admin-block-head .admin-drag-handle:hover {
  background: #eceae5;
  color: var(--burgundy);
}
.admin-block-icon {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 7px;
  background: #f1e5e8;
  color: var(--burgundy);
  font-family: Georgia, serif;
  font-size: 0.68rem;
  font-weight: 850;
}
.admin-block-head > strong {
  font-size: 0.61rem;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}
.admin-block-head > div {
  display: flex;
  margin-left: auto;
}
.admin-block-head button {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #7a837e;
  font-size: 0.9rem;
  cursor: pointer;
}
.admin-block-head button:hover {
  background: #f0ece9;
  color: var(--burgundy);
}
.admin-block-body {
  padding: 12px;
}
.admin-block-row[data-block-type="divider"] .admin-block-body {
  padding: 20px 15px;
}
.admin-rich-block {
  gap: 0;
}
.admin-rich-toolbar {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 3px;
  padding: 7px;
  border: 1px solid #dedbd5;
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  background: #f8f7f4;
}
.admin-rich-toolbar > span {
  width: 1px;
  height: 22px;
  background: #ddd9d3;
  margin: 0 2px;
}
.admin-rich-toolbar button,
.admin-rich-toolbar select {
  height: 30px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  padding: 5px 7px;
  color: #46524c;
  font-size: 0.61rem;
  font-weight: 800;
  cursor: pointer;
}
.admin-rich-toolbar button:hover,
.admin-rich-toolbar select:hover {
  background: #eae7e1;
  color: var(--burgundy);
}
.admin-rich-toolbar select {
  width: 91px;
}
.admin-rich-editor {
  min-height: 180px;
  border: 1px solid #dedbd5;
  border-radius: 0 0 10px 10px;
  background: #fff;
  padding: 17px 18px;
  outline: none;
  color: var(--ink);
  font-size: 0.73rem;
  line-height: 1.7;
}
.admin-rich-editor:focus {
  border-color: #b97989;
  box-shadow: 0 0 0 3px rgba(143, 45, 69, 0.07);
}
.admin-rich-editor:empty:before {
  content: attr(data-placeholder);
  color: #a1a6a3;
}
.admin-rich-editor p {
  margin: 0 0 0.75em;
}
.admin-rich-editor h2 {
  font-size: 1.28rem;
  margin: 1em 0 0.45em;
}
.admin-rich-editor h3 {
  font-size: 1rem;
  margin: 1em 0 0.4em;
}
.admin-rich-editor ul,
.admin-rich-editor ol {
  padding-left: 24px;
  margin: 8px 0;
}
.admin-rich-editor blockquote {
  margin: 12px 0;
  padding: 9px 13px;
  border-left: 3px solid var(--burgundy);
  background: #faf2f4;
  color: #5e6963;
}
.admin-live-preview {
  position: sticky;
  top: 88px;
  min-width: 0;
  height: calc(100dvh - 160px);
  overflow: hidden;
  border: 1px solid #d9d7d1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(30, 40, 35, 0.08);
}
.admin-live-preview > header {
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  border-bottom: 1px solid var(--line);
  background: #fafaf8;
}
.admin-live-preview > header > div {
  display: flex;
  align-items: center;
  gap: 7px;
}
.admin-live-preview > header strong {
  font-size: 0.65rem;
}
.admin-live-preview > header small {
  color: #89908c;
  font-size: 0.53rem;
}
.admin-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #45a06e;
  box-shadow: 0 0 0 4px rgba(69, 160, 110, 0.12);
}
.admin-live-preview-scroll {
  height: calc(100% - 55px);
  overflow: auto;
}
.admin-live-preview .lms-lesson-content {
  width: min(620px, calc(100% - 44px));
  padding: 38px 0 80px;
}
.admin-live-preview .lms-lesson-content h1 {
  font-size: 1.85rem;
}
.admin-live-preview .lms-video {
  min-height: 230px;
}
.admin-live-empty {
  display: grid;
  justify-items: center;
  text-align: center;
  padding: 58px 18px;
  border: 1px dashed #d7d2cb;
  border-radius: 15px;
  color: #7c8580;
}
.admin-live-empty > span {
  color: var(--burgundy);
  font-size: 1.5rem;
}
.admin-live-empty strong {
  font-size: 0.78rem;
  margin-top: 7px;
}
.admin-live-empty p {
  font-size: 0.6rem;
  margin-top: 3px;
}
.admin-lesson-savebar {
  position: sticky;
  z-index: 20;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 13px 21px;
  border-top: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -10px 30px rgba(30, 40, 35, 0.08);
  backdrop-filter: blur(9px);
}
.admin-lesson-savebar > span {
  font-size: 0.61rem;
  color: #7c8580;
}
.admin-lesson-savebar > div {
  display: flex;
  gap: 9px;
}
.admin-lesson-savebar .admin-primary {
  min-width: 150px;
}
@media (max-width: 1050px) {
  .admin-lesson-workspace {
    grid-template-columns: 1fr;
  }
  .admin-live-preview {
    position: relative;
    top: auto;
    height: 650px;
  }
  .admin-block-library {
    top: 78px;
  }
}
@media (max-width: 760px) {
  #course-editor > .admin-lesson-editor {
    max-height: 96dvh;
    border-radius: 18px 18px 0 0;
  }
  .admin-lesson-editor-head {
    padding: 13px 14px;
  }
  .admin-lesson-editor-head [data-full-preview] {
    display: none;
  }
  .admin-lesson-settings {
    margin: 10px 10px 0;
  }
  .admin-lesson-workspace {
    padding: 10px 10px 100px;
  }
  .admin-block-library {
    top: 67px;
  }
  .admin-block-library > div {
    display: none;
  }
  .admin-block-library > button {
    min-width: 54px;
  }
  .admin-live-preview {
    height: 560px;
  }
  .admin-live-preview .lms-lesson-content {
    width: calc(100% - 28px);
    padding-top: 28px;
  }
  .admin-block-body {
    padding: 9px;
  }
  .admin-rich-toolbar {
    overflow-x: auto;
    flex-wrap: nowrap;
  }
  .admin-rich-toolbar button,
  .admin-rich-toolbar select {
    flex: 0 0 auto;
  }
  .admin-lesson-savebar {
    padding: 11px 12px;
  }
  .admin-lesson-savebar > span {
    display: none;
  }
  .admin-lesson-savebar > div {
    width: 100%;
  }
  .admin-lesson-savebar .admin-primary {
    flex: 1;
  }
  .admin-file-block-fields,
  .admin-video-block-fields,
  .admin-button-block-fields {
    grid-template-columns: 1fr;
  }
}

/* Management settings: fixed viewport shell with independently scrollable content. */
.admin-settings-dialog {
  height: min(760px, calc(100dvh - 44px));
  max-height: calc(100dvh - 44px);
  display: grid;
  grid-template-rows: 76px minmax(0, 1fr);
}
.admin-settings-dialog > header {
  height: auto;
}
.admin-settings-layout {
  min-height: 0;
  max-height: none;
  height: 100%;
  overflow: hidden;
}
.admin-settings-layout > nav {
  display: grid;
  align-content: start;
  gap: 6px;
}
.admin-settings-layout > nav button {
  background: transparent;
}
.admin-settings-layout > nav button.active {
  background: #fff;
  color: var(--burgundy);
  box-shadow: 0 1px 5px rgba(24, 37, 31, 0.08);
}
.admin-settings-layout > main {
  min-height: 0;
  height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
  padding-bottom: 42px;
}
.admin-settings-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.admin-settings-layout #system-invoice-settings-form {
  margin: 0;
  box-shadow: none;
}
.admin-settings-layout #system-invoice-settings-form .admin-form-title {
  display: none;
}
.admin-billing-settings {
  display: none;
}
.admin-wbs-task > .admin-wbs-status {
  padding: 4px 8px;
  font-size: 0.59rem;
  line-height: 1;
  font-weight: 900;
}

@media (max-width: 760px) {
  .admin-settings-dialog {
    height: 94dvh;
    max-height: 94dvh;
    grid-template-rows: 66px minmax(0, 1fr);
  }
  .admin-settings-layout {
    height: 100%;
    max-height: none;
    min-height: 0;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
  }
  .admin-settings-layout > nav {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    padding: 9px 14px;
  }
  .admin-settings-layout > nav button {
    width: auto;
    min-width: max-content;
  }
  .admin-settings-layout > main {
    min-height: 0;
    height: 100%;
    overflow-y: auto;
    padding: 16px 16px 38px;
  }
  .admin-settings-heading {
    display: block;
  }
}

/* ================================================================
   MEDICRISE OPERATING SYSTEM — unified administration design layer
   ================================================================ */
:root {
  --mr-wine: #8a3240;
  --mr-wine-700: #702635;
  --mr-wine-100: #f2e3e7;
  --mr-wine-50: #fbf3f5;
  --mr-sage: #617969;
  --mr-sage-700: #465d4e;
  --mr-sage-100: #e4ebe5;
  --mr-sage-50: #f2f6f2;
  --mr-cream: #f7f3ee;
  --mr-warm: #fcfaf7;
  --mr-blush: #f7edef;
  --mr-apricot: #f2e8e4;
  --mr-blue: #edf1ed;
  --mr-ink: #202923;
  --mr-text: #344139;
  --mr-muted: #6f7973;
  --mr-line: #e5dfd8;
  --mr-line-strong: #d7cfc6;
  --mr-white: #fff;
  --mr-shadow-xs: 0 1px 2px rgba(42, 34, 29, 0.035);
  --mr-shadow-sm: 0 10px 30px rgba(56, 43, 36, 0.055);
  --mr-shadow-md: 0 22px 58px rgba(56, 43, 36, 0.1);
  --mr-shadow-modal: 0 36px 100px rgba(30, 24, 21, 0.22);
  --mr-r-sm: 11px;
  --mr-r-input: 14px;
  --mr-r-card: 24px;
  --mr-r-lg: 30px;
  --mr-r-modal: 34px;
  --mr-space-1: 4px;
  --mr-space-2: 8px;
  --mr-space-3: 12px;
  --mr-space-4: 16px;
  --mr-space-5: 20px;
  --mr-space-6: 24px;
  --mr-space-8: 32px;
  --mr-space-10: 40px;
  --mr-space-12: 48px;
  --mr-serif:
    Iowan Old Style, Palatino Linotype, Book Antiqua, Palatino, Georgia, serif;
  --mr-sans:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  --mr-sidebar: 276px;
  --mr-content: 1500px;
  --mr-transition: 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
  --burgundy: var(--mr-wine);
  --burgundy-dark: var(--mr-wine-700);
  --sage: var(--mr-sage);
  --sage-dark: var(--mr-sage-700);
  --ink: var(--mr-ink);
  --muted: var(--mr-muted);
  --cream: var(--mr-cream);
  --line: var(--mr-line);
  --radius: var(--mr-r-card);
}

body:has(.admin-app),
body:has(.admin-login) {
  font-family: var(--mr-sans);
  color: var(--mr-text);
  background: var(--mr-cream);
}
body:has(.admin-app) {
  overflow: hidden;
}
.admin-app,
.admin-app * {
  scrollbar-width: thin;
  scrollbar-color: #cfc6bd transparent;
}
.admin-app button,
.admin-app a,
.admin-app input,
.admin-app select,
.admin-app textarea {
  transition:
    border-color var(--mr-transition),
    background var(--mr-transition),
    color var(--mr-transition),
    box-shadow var(--mr-transition),
    transform var(--mr-transition),
    opacity var(--mr-transition);
}
.admin-app :focus-visible,
.admin-login :focus-visible,
.admin-confirm-dialog :focus-visible {
  outline: 3px solid rgba(138, 50, 64, 0.2) !important;
  outline-offset: 2px !important;
}
.admin-app h1,
.admin-app h2,
.admin-app h3,
.admin-editor h2,
.admin-confirm-dialog h2 {
  font-family: var(--mr-serif);
  font-weight: 600;
  color: var(--mr-ink);
  letter-spacing: -0.035em;
}
.admin-app p {
  color: var(--mr-muted);
}
.admin-ui-icon {
  display: block;
  width: 20px;
  height: 20px;
}

/* App shell */
.admin-app {
  height: 100dvh;
  display: grid;
  grid-template-columns: var(--mr-sidebar) minmax(0, 1fr);
  background:
    radial-gradient(
      circle at 90% 0,
      rgba(228, 215, 207, 0.55),
      transparent 31%
    ),
    linear-gradient(145deg, #f8f3ee 0%, #fbfaf7 44%, #f2f5f1 100%);
}
.admin-sidebar {
  position: relative;
  z-index: 40;
  width: auto;
  height: 100dvh;
  padding: 18px 14px 14px;
  background: rgba(252, 250, 247, 0.94);
  border-right: 1px solid rgba(215, 207, 198, 0.85);
  box-shadow: 7px 0 30px rgba(67, 53, 45, 0.025);
  backdrop-filter: blur(18px);
}
.admin-mobile-head {
  height: 76px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 9px 10px 17px;
  border-bottom: 1px solid rgba(229, 223, 216, 0.85);
}
.admin-brand {
  display: grid;
  gap: 7px;
}
.admin-brand > span {
  display: block;
  width: 156px;
}
.admin-brand small {
  font-size: 0.58rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.19em;
  color: #8d817a;
  font-weight: 800;
}
.admin-mobile-menu {
  height: calc(100dvh - 108px);
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  overflow: hidden;
}
.admin-main-nav {
  min-height: 0;
  display: block;
  overflow-y: auto;
  padding: 17px 3px 10px;
}
.admin-nav-item {
  width: 100%;
  min-height: 46px;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin: 2px 0;
  padding: 6px 10px;
  border: 0;
  border-radius: 14px;
  background: transparent;
  color: #55615a;
  text-align: left;
  cursor: pointer;
}
.admin-nav-item > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #758079;
}
.admin-nav-item > b {
  font-size: 0.76rem;
  font-weight: 760;
  letter-spacing: -0.01em;
}
.admin-nav-item > small {
  font-size: 0.58rem;
  color: #9a928d;
}
.admin-nav-item:hover {
  background: rgba(242, 227, 231, 0.56);
  color: var(--mr-wine);
}
.admin-nav-item:hover > span {
  color: var(--mr-wine);
}
.admin-nav-item.active {
  background: var(--mr-wine-100);
  color: var(--mr-wine-700);
  box-shadow: inset 0 0 0 1px rgba(138, 50, 64, 0.05);
}
.admin-nav-item.active > span {
  background: rgba(255, 255, 255, 0.7);
  color: var(--mr-wine);
}
.admin-nav-group {
  margin: 8px 0;
  padding-bottom: 7px;
  border-bottom: 1px solid rgba(229, 223, 216, 0.8);
}
.admin-conference-nav > small {
  font-size: 0.8rem;
  transition: transform var(--mr-transition);
}
.admin-nav-group.collapsed .admin-conference-nav > small {
  transform: rotate(-90deg);
}
.admin-subnav {
  display: grid;
  gap: 1px;
  margin: 3px 0 3px 42px;
  padding-left: 9px;
  border-left: 1px solid #ded5cd;
  max-height: 390px;
  overflow: hidden;
  transition:
    max-height 260ms ease,
    opacity 180ms ease;
}
.admin-nav-group.collapsed .admin-subnav {
  max-height: 0;
  opacity: 0;
}
.admin-subnav-item {
  min-height: 33px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  padding: 6px 10px;
  color: #7b817d;
  text-align: left;
  font-size: 0.66rem;
  font-weight: 700;
  cursor: pointer;
}
.admin-subnav-item:hover,
.admin-subnav-item.active {
  background: var(--mr-wine-50);
  color: var(--mr-wine);
}
.admin-edition-compact {
  margin: 8px 5px 13px;
  padding: 13px;
  border: 1px solid var(--mr-line);
  border-radius: 16px;
  background: var(--mr-sage-50);
}
.admin-edition-compact label {
  display: block;
  margin: 0 0 6px;
  color: var(--mr-sage-700);
  font-size: 0.57rem;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.admin-edition-compact select {
  width: 100%;
  height: 38px;
  border: 1px solid #d5ddd6;
  border-radius: 10px;
  background: #fff;
  padding: 0 10px;
  color: var(--mr-ink);
  font-size: 0.7rem;
  font-weight: 750;
}
.admin-sidebar-bottom {
  padding: 9px 4px 0;
  border-top: 1px solid var(--mr-line);
}
.admin-sidebar-user {
  width: 100%;
  min-height: 54px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 15px;
  background: transparent;
  padding: 7px;
  text-align: left;
  cursor: pointer;
}
.admin-sidebar-user:hover {
  background: #fff;
  box-shadow: var(--mr-shadow-xs);
}
.admin-sidebar-user span strong,
.admin-sidebar-user span small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-sidebar-user strong {
  font-size: 0.69rem;
}
.admin-sidebar-user small {
  font-size: 0.56rem;
  color: #8a918d;
}
.admin-sidebar-user em {
  font-style: normal;
  color: #8a918d;
}
.admin-profile-menu {
  bottom: 67px;
  left: 4px;
  right: 4px;
  padding: 8px;
  border: 1px solid var(--mr-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: var(--mr-shadow-md);
}
.admin-profile-menu label,
.admin-profile-menu button,
.admin-profile-menu a {
  min-height: 40px;
  border-radius: 10px;
  padding: 9px 11px;
  font-size: 0.66rem;
  font-weight: 720;
}
.admin-profile-menu > *:hover {
  background: var(--mr-cream);
}
.admin-main {
  min-width: 0;
  height: 100dvh;
  overflow: hidden;
}
.admin-topbar {
  position: relative;
  z-index: 30;
  height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(22px, 3vw, 44px);
  border-bottom: 1px solid rgba(215, 207, 198, 0.72);
  background: rgba(252, 250, 247, 0.8);
  backdrop-filter: blur(18px);
}
.admin-topbar > div:first-child {
  display: grid;
  gap: 2px;
}
.admin-topbar strong {
  font-size: 0.68rem;
  color: #7b817d;
  font-weight: 650;
}
.admin-topbar .admin-eyebrow {
  font-size: 0.61rem;
}
.admin-topbar-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}
.admin-topbar-actions > a {
  padding: 9px 13px;
  border: 1px solid var(--mr-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.7);
  font-size: 0.65rem;
  font-weight: 750;
}
.admin-topbar-actions > a:hover {
  border-color: #cbbac0;
  color: var(--mr-wine);
}
.admin-system-state {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #64716a;
  font-size: 0.6rem;
  font-weight: 750;
}
.admin-system-state i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #63a477;
  box-shadow: 0 0 0 4px rgba(99, 164, 119, 0.12);
}
#admin-view {
  height: calc(100dvh - 76px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: clamp(28px, 4vw, 54px) clamp(22px, 3vw, 48px) 90px;
}
.admin-screen {
  width: min(100%, var(--mr-content));
  margin: 0 auto;
  animation: mrReveal 260ms ease both;
}
@keyframes mrReveal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Page headers and section rhythm */
.admin-screen-head,
.admin-page-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin: 0 0 34px;
  padding: 0 2px;
  border: 0;
  background: transparent;
}
.admin-screen-head > div:first-child {
  display: grid;
  gap: 8px;
  max-width: 840px;
}
.admin-screen-head h1 {
  font-size: clamp(2.35rem, 4vw, 4.15rem);
  line-height: 0.98;
}
.admin-screen-head p {
  max-width: 720px;
  font-size: 0.84rem;
  line-height: 1.65;
}
.admin-eyebrow {
  color: var(--mr-wine) !important;
  font-size: 0.59rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase;
}
.admin-panel-head,
.admin-form-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 20px;
}
.admin-panel-head h2,
.admin-form-section-head h3 {
  font-size: 1.48rem;
}
.admin-panel-head p,
.admin-form-section-head p {
  margin-top: 5px;
  font-size: 0.72rem;
}

/* Shared surfaces */
.admin-panel,
.admin-form-section,
.admin-crm-section,
.admin-inventory-card,
.admin-course-card,
.admin-wbs-phase,
.admin-program-card,
.admin-person-card,
.admin-stock-alert,
.admin-soft-alert,
.admin-warning,
.admin-readiness > div,
.admin-participant-summary > article,
.admin-os-list > article,
.admin-os-metrics > article,
.admin-dashboard-stats > article {
  border: 1px solid var(--mr-line) !important;
  border-radius: var(--mr-r-card) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: var(--mr-shadow-xs) !important;
}
.admin-panel,
.admin-form-section,
.admin-crm-section {
  padding: clamp(20px, 2.4vw, 30px) !important;
}
.admin-panel:hover,
.admin-course-card:hover,
.admin-inventory-card:hover,
.admin-person-card:hover {
  border-color: #d9cec6 !important;
  box-shadow: var(--mr-shadow-sm) !important;
}
.admin-dashboard-grid,
.admin-os-grid,
.admin-pricing-grid,
.admin-invoice-grid,
.admin-relation-grid {
  gap: 20px !important;
}
.admin-dashboard-stats,
.admin-stats,
.admin-stats-3,
.admin-course-metrics,
.admin-os-metrics {
  gap: 14px !important;
}
.admin-dashboard-stats > article:nth-child(4n + 1),
.admin-os-metrics > article:nth-child(4n + 1) {
  background: var(--mr-blush) !important;
}
.admin-dashboard-stats > article:nth-child(4n + 2),
.admin-os-metrics > article:nth-child(4n + 2) {
  background: var(--mr-sage-50) !important;
}
.admin-dashboard-stats > article:nth-child(4n + 3),
.admin-os-metrics > article:nth-child(4n + 3) {
  background: var(--mr-apricot) !important;
}
.admin-dashboard-stats > article:nth-child(4n),
.admin-os-metrics > article:nth-child(4n) {
  background: var(--mr-blue) !important;
}
.admin-dashboard-stats strong,
.admin-stats strong,
.admin-course-metrics strong,
.admin-os-metrics strong {
  font-family: var(--mr-serif);
  font-weight: 600;
  color: var(--mr-ink);
  font-size: clamp(1.55rem, 2.4vw, 2.25rem);
  letter-spacing: -0.045em;
}
[data-admin-view="overview"] .admin-os-dashboard > [class*="hero"],
[data-admin-view="conference-overview"] .admin-os-dashboard > [class*="hero"] {
  border-radius: var(--mr-r-lg);
  background: linear-gradient(135deg, #7b2938 0%, #8a3240 44%, #667c6d 130%);
  color: #fff;
  box-shadow: 0 26px 70px rgba(112, 38, 53, 0.19);
}

/* Buttons */
.admin-primary,
.admin-secondary,
.admin-danger,
.admin-text-btn,
.admin-table-action,
.admin-row-actions button,
.admin-card-actions button,
.admin-inline-action,
.admin-add-task {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 13px !important;
  padding: 9px 16px !important;
  font-family: var(--mr-sans);
  font-size: 0.67rem !important;
  font-weight: 800 !important;
  line-height: 1.1;
  cursor: pointer;
}
.admin-primary {
  border: 1px solid var(--mr-wine) !important;
  background: var(--mr-wine) !important;
  color: #fff !important;
  box-shadow: 0 9px 20px rgba(138, 50, 64, 0.15);
}
.admin-primary:hover {
  background: var(--mr-wine-700) !important;
  border-color: var(--mr-wine-700) !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(138, 50, 64, 0.2);
}
.admin-secondary,
.admin-row-actions button,
.admin-card-actions button,
.admin-table-action,
.admin-add-task {
  border: 1px solid var(--mr-line-strong) !important;
  background: #fff !important;
  color: var(--mr-text) !important;
  box-shadow: none !important;
}
.admin-secondary:hover,
.admin-row-actions button:hover,
.admin-card-actions button:hover,
.admin-table-action:hover,
.admin-add-task:hover {
  border-color: #c9b6bc !important;
  background: var(--mr-wine-50) !important;
  color: var(--mr-wine) !important;
}
.admin-danger,
.admin-row-actions .danger {
  border: 1px solid #efd5da !important;
  background: #fff4f6 !important;
  color: #8e2d3f !important;
}
.admin-danger:hover,
.admin-row-actions .danger:hover {
  background: #8e2d3f !important;
  border-color: #8e2d3f !important;
  color: #fff !important;
}
.admin-icon-btn,
.admin-settings-close {
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center;
  border: 1px solid var(--mr-line) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--mr-text) !important;
  font-size: 1rem !important;
  cursor: pointer;
}
.admin-icon-btn:hover,
.admin-settings-close:hover {
  border-color: #cbb8be !important;
  background: var(--mr-wine-50) !important;
  color: var(--mr-wine) !important;
  transform: rotate(2deg);
}
button:disabled,
.admin-primary:disabled,
.admin-secondary:disabled {
  opacity: 0.48 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Forms and filter bars */
.admin-form {
  display: grid;
  gap: 22px;
}
.admin-form-grid {
  gap: 16px !important;
}
.admin-form label,
.admin-form-grid > label,
.admin-account-fields > label,
.admin-image-fields > label,
.admin-audio-fields > label,
.admin-column-side > div > label {
  gap: 7px !important;
  color: #59645d !important;
  font-size: 0.63rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.005em;
}
.admin-form label small,
.admin-form-hint {
  color: #89908c;
  font-size: 0.56rem;
  line-height: 1.45;
}
.admin-form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.admin-form select,
.admin-form textarea,
.admin-search,
.admin-module-search,
.admin-discount-toolbar input,
.admin-inventory-toolbar input,
.admin-inventory-toolbar select,
.admin-invoice-toolbar input,
.admin-invoice-toolbar select,
.admin-participant-toolbar input,
.admin-participant-toolbar select,
.admin-account-fields input,
.admin-account-fields select {
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--mr-line-strong) !important;
  border-radius: var(--mr-r-input) !important;
  background: #fffdfb !important;
  padding: 11px 14px !important;
  color: var(--mr-ink) !important;
  font-family: var(--mr-sans);
  font-size: 0.72rem !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
.admin-form textarea {
  min-height: 118px;
  resize: vertical;
}
.admin-form input::placeholder,
.admin-form textarea::placeholder,
.admin-search::placeholder {
  color: #a39d98;
}
.admin-form input:hover,
.admin-form select:hover,
.admin-form textarea:hover,
.admin-search:hover {
  border-color: #cbbfb5 !important;
}
.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus,
.admin-search:focus {
  border-color: #b46978 !important;
  box-shadow: 0 0 0 4px rgba(138, 50, 64, 0.08) !important;
  outline: 0 !important;
}
.admin-check {
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 12px;
  background: var(--mr-warm);
}
.admin-check input,
.admin-wbs-status-picker input {
  accent-color: var(--mr-wine);
}
.admin-segmented {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--mr-line);
  border-radius: 14px;
  background: #f0ece7;
}
.admin-segmented button {
  min-height: 35px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  padding: 7px 12px;
  color: #69736d;
  font-size: 0.62rem;
  font-weight: 800;
}
.admin-segmented button.active {
  background: #fff;
  color: var(--mr-wine);
  box-shadow: var(--mr-shadow-xs);
}
.admin-participant-toolbar,
.admin-inventory-toolbar,
.admin-invoice-toolbar,
.admin-workshop-toolbar,
.admin-discount-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
  padding: 12px;
  border: 1px solid var(--mr-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.7);
}
.admin-module-search,
.admin-search {
  min-width: min(100%, 280px);
}

/* Tables and lists */
.admin-table-wrap {
  overflow: auto;
  border: 1px solid var(--mr-line) !important;
  border-radius: var(--mr-r-card) !important;
  background: rgba(255, 255, 255, 0.9) !important;
  box-shadow: var(--mr-shadow-xs);
}
.admin-table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
}
.admin-table thead {
  position: sticky;
  top: 0;
  z-index: 2;
}
.admin-table th {
  height: 48px;
  border: 0 !important;
  border-bottom: 1px solid var(--mr-line) !important;
  background: #f7f3ee !important;
  padding: 10px 16px !important;
  color: #7a7f7b !important;
  font-size: 0.55rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  white-space: nowrap;
}
.admin-table td {
  height: 62px;
  border: 0 !important;
  border-bottom: 1px solid #eee9e3 !important;
  padding: 11px 16px !important;
  color: #4b5650;
  font-size: 0.68rem !important;
  vertical-align: middle;
}
.admin-table tbody tr:last-child td {
  border-bottom: 0 !important;
}
.admin-table tbody tr {
  transition: background var(--mr-transition);
}
.admin-table tbody tr:hover {
  background: var(--mr-wine-50) !important;
}
.admin-table td strong {
  display: block;
  color: var(--mr-ink);
  font-size: 0.72rem;
}
.admin-table td small {
  color: #8b918d;
  font-size: 0.58rem;
}
.admin-list,
.admin-recent-list,
.admin-contact-list {
  border-radius: 18px;
  overflow: hidden;
}
.admin-list-row,
.admin-recent-list > div,
.admin-contact-list > div {
  border-bottom: 1px solid #ece6df !important;
  padding: 14px 4px !important;
}
.admin-list-row:last-child,
.admin-recent-list > div:last-child,
.admin-contact-list > div:last-child {
  border-bottom: 0 !important;
}

/* Status and progress */
.admin-status,
.admin-enrollment-status,
.admin-chip,
.admin-inventory-category,
.admin-inventory-topic {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 5px 10px !important;
  font-size: 0.55rem !important;
  font-weight: 850 !important;
  line-height: 1.1;
  white-space: nowrap;
  box-shadow: none !important;
}
.admin-status.green,
.admin-enrollment-status.active,
.admin-enrollment-status.completed,
.admin-status.success {
  background: #e5f0e7 !important;
  color: #326347 !important;
  border-color: #d6e6d9 !important;
}
.admin-status.amber,
.admin-enrollment-status.pending,
.admin-status.warning {
  background: #f5e7eb !important;
  color: #8a3240 !important;
  border-color: #e3d1ce !important;
}
.admin-status.red,
.admin-status.danger {
  background: #f7e3e7 !important;
  color: #8a3040 !important;
  border-color: #eccfd5 !important;
}
.admin-status.grey,
.admin-enrollment-status.expired,
.admin-enrollment-status.revoked {
  background: #eeece9 !important;
  color: #686c69 !important;
  border-color: #e1ddd8 !important;
}
.admin-status.blue,
.admin-status.info {
  background: #e5ece7 !important;
  color: #40594a !important;
  border-color: #d5ddd9 !important;
}
.admin-progress,
.admin-mini-progress,
.admin-wbs-progress > span {
  height: 9px !important;
  overflow: hidden;
  border-radius: 999px !important;
  background: #ebe6df !important;
}
.admin-progress i,
.admin-mini-progress i,
.admin-wbs-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--mr-wine), #b56778) !important;
  transition: width 600ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.admin-wbs-progress {
  display: flex;
  align-items: center;
  gap: 13px;
}
.admin-wbs-progress > b {
  font-family: var(--mr-serif);
  color: var(--mr-wine);
  font-size: 1rem;
}

/* Conference, WBS, calendar and CRM */
.admin-program-timeline {
  position: relative;
  display: grid;
  gap: 12px;
}
.admin-program-card {
  padding: 18px 20px !important;
}
.admin-program-card.service,
.admin-schedule-service {
  background: var(--mr-sage-50) !important;
}
.admin-program-card.content,
.admin-schedule-content {
  background: #fff !important;
}
.admin-program-card-top,
.admin-schedule-row {
  gap: 18px;
}
.admin-schedule-time,
.admin-program-card time {
  font-family: var(--mr-serif);
  font-size: 1.05rem;
  color: var(--mr-wine);
}
.admin-wbs {
  display: grid;
  gap: 20px;
}
.admin-wbs-phase {
  overflow: hidden;
  padding: 0 !important;
}
.admin-wbs-phase > header {
  padding: 20px 22px;
  background: linear-gradient(90deg, var(--mr-warm), #fff);
  border-bottom: 1px solid var(--mr-line);
}
.admin-wbs-phase h2 {
  font-size: 1.45rem;
}
.admin-wbs-progress {
  padding: 15px 22px 5px;
}
.admin-wbs-tasks {
  padding: 10px 14px;
}
.admin-wbs-task {
  min-height: 58px;
  border: 1px solid transparent;
  border-radius: 14px;
  padding: 8px 10px;
}
.admin-wbs-task:hover {
  border-color: var(--mr-line);
  background: var(--mr-warm);
}
.admin-wbs-task.dragging {
  opacity: 0.5;
  transform: scale(0.99);
}
.admin-task-check {
  border: 1px solid #d8d1ca !important;
  background: #fff !important;
}
.admin-task-check.done {
  background: var(--mr-sage) !important;
  border-color: var(--mr-sage) !important;
  color: #fff;
}
.admin-add-task {
  margin: 4px 14px 16px !important;
  border-style: dashed !important;
}
.admin-calendar-wrap,
.admin-week-calendar,
.admin-agenda {
  border: 1px solid var(--mr-line) !important;
  border-radius: var(--mr-r-card) !important;
  background: #fff;
  overflow: hidden;
  box-shadow: var(--mr-shadow-xs);
}
.admin-calendar-day {
  min-height: 118px;
  border-color: #eee8e1 !important;
  background: #fff !important;
}
.admin-calendar-day:hover {
  background: var(--mr-warm) !important;
}
.admin-workshop-chip {
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--mr-sage-100) !important;
  color: var(--mr-sage-700) !important;
  padding: 7px 9px !important;
  box-shadow: inset 3px 0 0 var(--mr-sage);
}
.admin-unscheduled {
  border: 1px dashed #d8c8bd !important;
  border-radius: 20px !important;
  background: var(--mr-apricot) !important;
  padding: 18px !important;
}
.admin-crm-layout {
  gap: 22px !important;
}
.admin-crm-list,
.admin-crm-detail {
  border-radius: var(--mr-r-card) !important;
}
.admin-crm-row {
  min-height: 74px;
  padding: 13px 15px !important;
  border: 1px solid transparent !important;
  border-radius: 15px !important;
}
.admin-crm-row:hover,
.admin-crm-row.active {
  border-color: #ddcbd0 !important;
  background: var(--mr-wine-50) !important;
}
.admin-crm-detail > .admin-panel:first-child,
.admin-course-detail > .admin-panel:first-child {
  background: linear-gradient(135deg, var(--mr-blush), #fff 70%) !important;
}
.admin-timeline > div {
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 12px !important;
  min-height: 62px !important;
}
.admin-timeline > div > span {
  width: 11px !important;
  height: 11px !important;
  border: 3px solid #fff;
  box-shadow: 0 0 0 1px #cfc7c0;
  background: #aaa19a !important;
}
.admin-timeline > div.current > span {
  background: var(--mr-wine) !important;
  box-shadow: 0 0 0 2px rgba(138, 50, 64, 0.14);
}
.admin-timeline > div:not(:last-child) > span:after {
  left: 2px !important;
  top: 11px !important;
  height: 51px !important;
  background: #ddd5cd !important;
}

/* Inventory, invoicing and course management */
.admin-inventory-grid,
.admin-course-grid {
  gap: 20px !important;
}
.admin-inventory-card,
.admin-course-card {
  overflow: hidden;
}
.admin-inventory-card {
  padding: 22px !important;
}
.admin-stock-count {
  font-family: var(--mr-serif);
  color: var(--mr-ink);
  font-size: 2rem !important;
}
.admin-stock-alert {
  background: var(--mr-apricot) !important;
  border-color: #eedacc !important;
}
.admin-invoice-detail-grid {
  gap: 22px !important;
}
.admin-invoice-heading {
  padding: 24px !important;
  border-radius: var(--mr-r-card);
  background: linear-gradient(135deg, var(--mr-blue), #fff);
  border: 1px solid var(--mr-line);
}
.admin-invoice-totals {
  border-radius: 18px !important;
  background: var(--mr-cream) !important;
  padding: 18px !important;
}
.admin-payment-info {
  border-radius: 20px !important;
  background: var(--mr-sage-50) !important;
  border-color: #dae3dc !important;
}
.admin-course-card-top {
  min-height: 170px;
  background: linear-gradient(
    145deg,
    var(--mr-sage-50),
    var(--mr-blush)
  ) !important;
}
.admin-course-cover {
  border-radius: 0 !important;
}
.admin-course-card-body {
  padding: 22px !important;
}
.admin-course-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 5px;
  border: 1px solid var(--mr-line);
  border-radius: 16px;
  background: #eee9e3;
}
.admin-course-tabs button {
  min-width: max-content;
  border: 0;
  border-radius: 11px;
  background: transparent;
  padding: 10px 13px;
  color: #69736d;
  font-size: 0.61rem;
  font-weight: 800;
}
.admin-course-tabs button.active {
  background: #fff;
  color: var(--mr-wine);
  box-shadow: var(--mr-shadow-xs);
}
.admin-course-builder {
  border: 1px solid var(--mr-line) !important;
  border-radius: var(--mr-r-card) !important;
  background: #fff !important;
  overflow: hidden;
}
.admin-course-builder-head {
  padding: 20px 22px !important;
  background: var(--mr-warm) !important;
  border-bottom: 1px solid var(--mr-line);
}
.admin-course-outline {
  background: #f4f0eb !important;
  border-color: var(--mr-line) !important;
}
.admin-course-section {
  border: 1px solid var(--mr-line) !important;
  border-radius: 16px !important;
  background: #fff !important;
}
.admin-course-lesson {
  border-radius: 11px !important;
}
.admin-course-lesson:hover {
  background: var(--mr-wine-50) !important;
}

/* LMS block studio */
#course-editor > .admin-lesson-editor {
  border-radius: var(--mr-r-modal) !important;
  background: #f4f0eb !important;
  box-shadow: var(--mr-shadow-modal) !important;
}
.admin-lesson-editor-head {
  min-height: 82px !important;
  padding: 18px 24px !important;
  background: rgba(255, 253, 251, 0.96) !important;
}
.admin-lesson-editor-head h2 {
  font-size: 1.6rem;
}
.admin-lesson-workspace {
  gap: 20px !important;
  padding: 20px 22px 104px !important;
}
.admin-block-library {
  border-radius: 18px !important;
  padding: 11px !important;
  background: rgba(255, 253, 251, 0.95) !important;
  box-shadow: var(--mr-shadow-sm) !important;
}
.admin-block-library > button {
  min-width: 68px !important;
  min-height: 58px;
  border-color: var(--mr-line) !important;
  border-radius: 13px !important;
  background: #fffdfb !important;
}
.admin-block-library > button:hover {
  border-color: #c8aeb5 !important;
  background: var(--mr-wine-50) !important;
}
.admin-block-row {
  margin-bottom: 12px !important;
  border: 1px solid var(--mr-line) !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: var(--mr-shadow-xs) !important;
}
.admin-block-row:hover {
  border-color: #d2bec4 !important;
  box-shadow: var(--mr-shadow-sm) !important;
}
.admin-block-head {
  min-height: 48px;
  padding: 9px 12px !important;
  border-radius: 17px 17px 0 0 !important;
  background: #faf7f3 !important;
}
.admin-block-icon {
  background: var(--mr-wine-100) !important;
  color: var(--mr-wine) !important;
}
.admin-block-body {
  padding: 16px !important;
}
.admin-rich-toolbar {
  border-color: var(--mr-line-strong) !important;
  border-radius: 13px 13px 0 0 !important;
  background: #f5f1ec !important;
}
.admin-rich-editor {
  min-height: 190px;
  border-color: var(--mr-line-strong) !important;
  border-radius: 0 0 13px 13px !important;
  padding: 20px !important;
  font-size: 0.75rem !important;
}
.admin-live-preview {
  border-radius: 22px !important;
  box-shadow: var(--mr-shadow-md) !important;
}
.admin-live-preview > header {
  background: var(--mr-warm) !important;
}
.admin-lesson-savebar {
  padding: 14px 24px !important;
  background: rgba(255, 253, 251, 0.96) !important;
}
.admin-image-picker,
.admin-audio-picker,
.admin-file-picker,
.admin-video-picker {
  min-height: 112px;
  border: 1px dashed #cbbfb5 !important;
  border-radius: 17px !important;
  background: var(--mr-warm) !important;
}
.admin-image-picker:hover,
.admin-audio-picker:hover,
.admin-file-picker:hover,
.admin-video-picker:hover {
  border-color: var(--mr-wine) !important;
  background: var(--mr-wine-50) !important;
}
.admin-columns-editor {
  gap: 16px !important;
}
.admin-column-side {
  border: 1px solid var(--mr-line) !important;
  border-radius: 18px !important;
  background: #fffdfb !important;
  padding: 14px !important;
}
.admin-column-kind {
  padding: 4px;
  border-radius: 12px;
  background: #eee9e3;
}
.admin-column-kind button {
  border-radius: 9px !important;
}
.admin-column-kind button.active {
  background: #fff !important;
  color: var(--mr-wine) !important;
  box-shadow: var(--mr-shadow-xs);
}

/* Dialogs, drawers, toasts and system feedback */
.admin-settings-backdrop,
#wbs-editor:not(:empty),
#workshop-editor:not(:empty),
#inventory-editor:not(:empty),
#invoice-editor:not(:empty),
#course-editor:not(:empty),
#speaker-editor:not(:empty),
#program-editor:not(:empty),
#participant-editor:not(:empty),
#contract-detail:has(form),
#crm-detail:has(form) {
  background: rgba(39, 32, 28, 0.48) !important;
  backdrop-filter: blur(8px) !important;
}
.admin-editor,
.admin-settings-dialog,
.course-order-dialog,
.admin-lesson-preview-window {
  border: 1px solid rgba(255, 255, 255, 0.75) !important;
  border-radius: var(--mr-r-modal) !important;
  background: #fcfaf7 !important;
  box-shadow: var(--mr-shadow-modal) !important;
  color: var(--mr-text) !important;
}
.admin-editor {
  padding: clamp(22px, 3vw, 34px) !important;
}
.admin-form-title,
.admin-settings-dialog > header,
.admin-lesson-preview-window > header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin: -1px -1px 24px;
  padding: 2px 2px 20px;
  border-bottom: 1px solid var(--mr-line);
  background: #fcfaf7;
}
.admin-form-title h2,
.admin-settings-dialog h2 {
  font-size: clamp(1.65rem, 3vw, 2.25rem) !important;
}
.admin-form-actions {
  position: sticky;
  bottom: -34px;
  z-index: 8;
  margin: 8px -34px -34px;
  padding: 16px 34px;
  border-top: 1px solid var(--mr-line);
  background: rgba(252, 250, 247, 0.97);
  backdrop-filter: blur(12px);
}
.admin-confirm-backdrop {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(39, 32, 28, 0.5);
  backdrop-filter: blur(9px);
  animation: mrFade 160ms ease;
}
.admin-confirm-dialog {
  position: relative;
  width: min(510px, 100%);
  padding: 34px;
  border: 1px solid rgba(255, 255, 255, 0.76);
  border-radius: var(--mr-r-modal);
  background: #fcfaf7;
  box-shadow: var(--mr-shadow-modal);
  animation: mrDialog 220ms ease;
}
.admin-confirm-dialog h2 {
  margin: 10px 0 12px;
  font-size: 2rem;
}
.admin-confirm-dialog p {
  max-width: 390px;
  color: var(--mr-muted);
  font-size: 0.78rem;
  line-height: 1.65;
}
.admin-confirm-dialog > div {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 28px;
}
.admin-confirm-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  border: 1px solid var(--mr-line);
  border-radius: 50%;
  background: #fff;
  color: var(--mr-text);
  font-size: 1.1rem;
  cursor: pointer;
}
@keyframes mrFade {
  from {
    opacity: 0;
  }
}
@keyframes mrDialog {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.985);
  }
}
.admin-toast {
  position: fixed !important;
  right: 24px !important;
  bottom: 24px !important;
  z-index: 5000 !important;
  width: min(380px, calc(100% - 32px));
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 10px;
  padding: 12px 13px !important;
  border: 1px solid #dbe4dd !important;
  border-radius: 17px !important;
  background: #fff !important;
  color: var(--mr-text) !important;
  box-shadow: var(--mr-shadow-md) !important;
  opacity: 0;
  transform: translateY(12px) scale(0.98);
}
.admin-toast.visible {
  opacity: 1;
  transform: none;
}
.admin-toast > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  background: var(--mr-sage-100);
  color: var(--mr-sage-700);
  font-weight: 900;
}
.admin-toast p {
  color: inherit !important;
  font-size: 0.68rem;
  font-weight: 750;
}
.admin-toast button {
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #7a817d;
  cursor: pointer;
}
.admin-toast.error {
  border-color: #edd3d8 !important;
}
.admin-toast.error > span {
  background: var(--mr-wine-100);
  color: var(--mr-wine);
}
[data-tooltip] {
  position: relative;
}
[data-tooltip]:hover:after,
[data-tooltip]:focus-visible:after {
  content: attr(data-tooltip);
  position: absolute;
  z-index: 200;
  left: 50%;
  bottom: calc(100% + 9px);
  width: max-content;
  max-width: 230px;
  transform: translateX(-50%);
  padding: 7px 10px;
  border-radius: 9px;
  background: #28312c;
  color: #fff;
  font-size: 0.55rem;
  font-weight: 650;
  line-height: 1.35;
  box-shadow: var(--mr-shadow-sm);
  pointer-events: none;
}
.admin-empty {
  min-height: 190px !important;
  display: grid !important;
  place-items: center !important;
  align-content: center !important;
  gap: 6px !important;
  border: 1px dashed #d7cec5 !important;
  border-radius: var(--mr-r-card) !important;
  background: rgba(255, 255, 255, 0.56) !important;
  padding: 30px !important;
  text-align: center !important;
  color: var(--mr-muted) !important;
}
.admin-empty-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: var(--mr-wine-100);
  color: var(--mr-wine);
  font-size: 1.35rem;
}
.admin-empty h3 {
  margin-top: 6px;
  font-size: 1.18rem;
}
.admin-empty p {
  max-width: 430px;
  font-size: 0.69rem;
}
.admin-fatal {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 14px;
  padding: 24px;
  text-align: center;
  background: radial-gradient(
    circle at 50% 20%,
    var(--mr-blush),
    var(--mr-cream)
  );
}
.admin-fatal h1 {
  font-family: var(--mr-serif);
  font-size: 2.5rem;
}
.admin-fatal p {
  color: var(--mr-muted);
}
.admin-fatal button {
  min-height: 44px;
  border: 0;
  border-radius: 13px;
  background: var(--mr-wine);
  padding: 10px 18px;
  color: #fff;
  font-weight: 800;
}

/* Login */
.admin-login {
  min-height: 100dvh;
  display: grid;
  place-items: center;
  padding: 30px;
  background:
    radial-gradient(
      circle at 20% 10%,
      rgba(228, 215, 207, 0.85),
      transparent 35%
    ),
    radial-gradient(
      circle at 90% 90%,
      rgba(97, 121, 105, 0.18),
      transparent 35%
    ),
    var(--mr-cream);
}
.admin-login-card {
  width: min(520px, 100%);
  padding: clamp(30px, 5vw, 52px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-radius: 36px;
  background: rgba(255, 253, 251, 0.92);
  box-shadow: var(--mr-shadow-md);
  backdrop-filter: blur(18px);
}
.admin-login-card > a:first-child {
  display: block;
  width: 185px;
  margin-bottom: 34px;
}
.admin-login-card h1 {
  margin: 12px 0 13px;
  font-family: var(--mr-serif);
  font-size: clamp(2.4rem, 6vw, 3.6rem);
  font-weight: 600;
  letter-spacing: -0.045em;
}
.admin-login-card > p {
  font-size: 0.76rem;
  line-height: 1.65;
}
.admin-google-login,
.admin-login-card .admin-primary {
  width: 100%;
  min-height: 48px;
  margin-top: 22px;
  border-radius: 14px;
}
.admin-login-card label {
  display: grid;
  gap: 7px;
  margin-top: 15px;
  color: #59645d;
  font-size: 0.64rem;
  font-weight: 800;
}
.admin-login-card input {
  min-height: 48px;
  border: 1px solid var(--mr-line-strong);
  border-radius: 14px;
  background: #fff;
  padding: 11px 14px;
}
.admin-login-help {
  margin-top: 24px !important;
  padding: 15px;
  border-radius: 15px;
  background: var(--mr-sage-50);
}

/* Responsive admin behavior */
@media (max-width: 1100px) {
  :root {
    --mr-sidebar: 244px;
  }
  .admin-screen-head h1 {
    font-size: 2.8rem;
  }
  .admin-dashboard-stats,
  .admin-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .admin-lesson-workspace {
    grid-template-columns: 1fr !important;
  }
  .admin-live-preview {
    position: relative !important;
    top: auto !important;
    height: 620px !important;
  }
}
@media (max-width: 760px) {
  body:has(.admin-app) {
    overflow: hidden;
  }
  .admin-app {
    display: block;
  }
  .admin-sidebar {
    position: fixed;
    inset: 0 0 auto 0;
    width: 100%;
    height: 67px;
    padding: 0 12px;
    border: 0;
    border-bottom: 1px solid var(--mr-line);
    box-shadow: 0 8px 25px rgba(50, 38, 32, 0.06);
  }
  .admin-mobile-head {
    height: 66px;
    align-items: center;
    padding: 8px 4px;
    border: 0;
  }
  .admin-brand {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .admin-brand > span {
    width: 138px;
  }
  .admin-brand small {
    display: none;
  }
  .admin-mobile-toggle {
    display: grid !important;
    width: 42px;
    height: 42px;
    place-content: center;
    gap: 5px;
    border: 1px solid var(--mr-line) !important;
    border-radius: 13px !important;
    background: #fff !important;
  }
  .admin-mobile-toggle > span {
    width: 19px;
    height: 2px;
    border-radius: 2px;
    background: var(--mr-text);
  }
  .admin-mobile-menu {
    position: fixed;
    inset: 66px 0 0 0;
    height: auto;
    padding: 12px 14px 18px;
    background: rgba(252, 250, 247, 0.98);
    transform: translateX(-102%);
    transition: transform 240ms ease;
    box-shadow: var(--mr-shadow-md);
  }
  .admin-sidebar.mobile-open .admin-mobile-menu {
    transform: none;
  }
  .admin-main-nav {
    padding-top: 4px;
  }
  .admin-nav-item {
    min-height: 48px;
  }
  .admin-main {
    height: 100dvh;
    padding-top: 66px;
  }
  .admin-topbar {
    display: none;
  }
  #admin-view {
    height: calc(100dvh - 66px);
    padding: 25px 14px 90px;
  }
  .admin-screen-head,
  .admin-page-header {
    display: grid;
    gap: 18px;
    margin-bottom: 24px;
  }
  .admin-screen-head h1 {
    font-size: 2.45rem;
  }
  .admin-screen-head p {
    font-size: 0.76rem;
  }
  .admin-head-actions {
    display: flex;
    flex-wrap: wrap;
  }
  .admin-head-actions > * {
    flex: 1 1 auto;
  }
  .admin-dashboard-stats,
  .admin-stats,
  .admin-stats-3,
  .admin-course-metrics,
  .admin-os-metrics,
  .admin-dashboard-grid,
  .admin-dashboard-grid.lower,
  .admin-os-grid,
  .admin-pricing-grid,
  .admin-invoice-grid,
  .admin-relation-grid,
  .admin-participant-summary {
    grid-template-columns: 1fr !important;
  }
  .admin-panel,
  .admin-form-section,
  .admin-crm-section {
    padding: 19px !important;
  }
  .admin-table-wrap {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible;
  }
  .admin-table thead {
    display: none;
  }
  .admin-table,
  .admin-table tbody {
    display: block;
  }
  .admin-table tr {
    display: grid;
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid var(--mr-line);
    border-radius: 17px;
    background: #fff;
    box-shadow: var(--mr-shadow-xs);
  }
  .admin-table td {
    height: auto !important;
    display: grid;
    grid-template-columns: minmax(90px, 0.42fr) 1fr;
    gap: 10px;
    border-bottom: 1px solid #eee9e3 !important;
    padding: 9px 2px !important;
    text-align: left !important;
  }
  .admin-table td:last-child {
    border: 0 !important;
  }
  .admin-table td:before {
    content: attr(data-label);
    color: #8a8f8b;
    font-size: 0.54rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.06em;
  }
  .admin-participant-toolbar,
  .admin-inventory-toolbar,
  .admin-invoice-toolbar,
  .admin-workshop-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .admin-participant-toolbar > *,
  .admin-inventory-toolbar > *,
  .admin-invoice-toolbar > *,
  .admin-workshop-toolbar > * {
    width: 100% !important;
  }
  .admin-crm-layout,
  .admin-workshop-layout,
  .admin-invoice-detail-grid {
    grid-template-columns: 1fr !important;
  }
  #wbs-editor:not(:empty),
  #workshop-editor:not(:empty),
  #inventory-editor:not(:empty),
  #invoice-editor:not(:empty),
  #course-editor:not(:empty),
  #speaker-editor:not(:empty),
  #program-editor:not(:empty),
  #participant-editor:not(:empty),
  #contract-detail:has(form),
  #crm-detail:has(form) {
    padding: 0 !important;
    align-items: end !important;
  }
  .admin-editor,
  .admin-settings-dialog,
  .course-order-dialog {
    width: 100% !important;
    max-height: 96dvh !important;
    margin: 0 !important;
    border-radius: 24px 24px 0 0 !important;
    padding: 22px 16px !important;
  }
  .admin-form-actions {
    bottom: -22px;
    margin: 8px -16px -22px;
    padding: 13px 16px;
  }
  .admin-form-actions > * {
    flex: 1;
  }
  .admin-confirm-backdrop {
    padding: 0;
    align-items: end;
  }
  .admin-confirm-dialog {
    border-radius: 24px 24px 0 0;
    padding: 30px 20px 24px;
  }
  .admin-confirm-dialog > div > * {
    flex: 1;
  }
  .admin-toast {
    right: 16px !important;
    bottom: 16px !important;
  }
  .admin-columns-editor {
    grid-template-columns: 1fr !important;
  }
  .admin-lesson-workspace {
    padding: 12px 10px 96px !important;
  }
  .admin-lesson-editor-head {
    min-height: 68px !important;
    padding: 13px 15px !important;
  }
  .admin-block-library {
    border-radius: 15px !important;
  }
  .admin-live-preview {
    height: 540px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .admin-app *,
  .admin-confirm-dialog,
  .admin-toast {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* MedicRise palette lock + floating burgundy navigation shell */
body:has(.admin-app) {
  background: #f4eee9;
}
.admin-app {
  grid-template-columns: 292px minmax(0, 1fr);
  padding: 14px 0 14px 14px;
  background:
    radial-gradient(
      circle at 88% 5%,
      rgba(228, 215, 207, 0.62),
      transparent 32%
    ),
    linear-gradient(145deg, #f7f1ec 0%, #fcfaf7 48%, #edf1ed 100%);
}
.admin-sidebar {
  width: 264px;
  height: calc(100dvh - 28px);
  padding: 18px 14px 14px;
  border: 0;
  border-radius: 30px;
  background: var(--mr-wine);
  box-shadow: 0 22px 55px rgba(112, 38, 53, 0.22);
  overflow: hidden;
}
.admin-mobile-head {
  border-color: rgba(255, 255, 255, 0.14);
}
.admin-brand > span img {
  filter: brightness(0) invert(1);
}
.admin-brand small {
  color: rgba(255, 255, 255, 0.62);
}
.admin-nav-item {
  color: rgba(255, 255, 255, 0.78);
}
.admin-nav-item > span {
  color: rgba(255, 255, 255, 0.65);
}
.admin-nav-item > small {
  color: rgba(255, 255, 255, 0.52);
}
.admin-nav-item:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.admin-nav-item:hover > span {
  color: #fff;
}
.admin-nav-item.active {
  background: #fff;
  color: var(--mr-wine-700);
  box-shadow: 0 8px 22px rgba(69, 18, 31, 0.16);
}
.admin-nav-item.active > span {
  background: var(--mr-wine-100);
  color: var(--mr-wine);
}
.admin-nav-group {
  border-color: rgba(255, 255, 255, 0.13);
}
.admin-subnav {
  border-color: rgba(255, 255, 255, 0.2);
}
.admin-subnav-item {
  color: rgba(255, 255, 255, 0.67);
}
.admin-subnav-item:hover {
  background: rgba(255, 255, 255, 0.09);
  color: #fff;
}
.admin-subnav-item.active {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}
.admin-edition-compact {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.09);
}
.admin-edition-compact label {
  color: rgba(255, 255, 255, 0.66);
}
.admin-edition-compact select {
  border-color: rgba(255, 255, 255, 0.28);
  background: #fff;
  color: var(--mr-wine-700);
}
.admin-sidebar-bottom {
  border-color: rgba(255, 255, 255, 0.14);
}
.admin-sidebar-user {
  color: #fff;
}
.admin-sidebar-user:hover {
  background: rgba(255, 255, 255, 0.1);
  box-shadow: none;
}
.admin-sidebar-user strong {
  color: #fff;
}
.admin-sidebar-user small,
.admin-sidebar-user em {
  color: rgba(255, 255, 255, 0.62);
}
.admin-user-avatar {
  border-color: rgba(255, 255, 255, 0.35) !important;
  background: var(--mr-wine-100) !important;
  color: var(--mr-wine-700) !important;
}
.admin-topbar {
  height: 76px;
  border: 0;
  background: transparent;
  backdrop-filter: none;
}
.admin-topbar-actions > a {
  border-color: rgba(138, 50, 64, 0.15);
  background: rgba(255, 255, 255, 0.62);
}
.admin-system-state i {
  background: var(--mr-sage);
  box-shadow: 0 0 0 4px rgba(97, 121, 105, 0.14);
}
#admin-view {
  height: calc(100dvh - 76px);
}

/* All semantic states stay inside the MedicRise wine / sage family. */
.admin-dashboard-stats > article:nth-child(4n + 3),
.admin-os-metrics > article:nth-child(4n + 3) {
  background: #f2e8e4 !important;
}
.admin-dashboard-stats > article:nth-child(4n),
.admin-os-metrics > article:nth-child(4n) {
  background: var(--mr-sage-50) !important;
}
.admin-status.amber,
.admin-status.warning,
.admin-enrollment-status.pending {
  background: #eee3df !important;
  color: var(--mr-wine-700) !important;
  border-color: #e3d1ce !important;
}
.admin-status.blue,
.admin-status.info {
  background: var(--mr-sage-100) !important;
  color: var(--mr-sage-700) !important;
  border-color: #d6e1d8 !important;
}
.admin-warning,
.admin-stock-alert {
  background: #f2e8e4 !important;
  border-color: #e3d1ce !important;
  color: var(--mr-wine-700) !important;
}
.admin-soft-alert {
  background: var(--mr-sage-50) !important;
  border-color: #d6e1d8 !important;
  color: var(--mr-sage-700) !important;
}
.admin-soft-alert button {
  color: var(--mr-sage-700) !important;
}
.admin-google-mark {
  border-color: #dacbd0 !important;
  background: var(--mr-wine-50) !important;
  color: var(--mr-wine) !important;
}
.admin-video-state.selected {
  color: var(--mr-wine) !important;
}
.admin-video-state.uploading {
  color: var(--mr-wine-700) !important;
}
.admin-video-state.processing {
  color: var(--mr-sage-700) !important;
}
.admin-live-dot {
  background: var(--mr-sage) !important;
  box-shadow: 0 0 0 4px rgba(97, 121, 105, 0.14) !important;
}
.admin-attention-dot {
  background: var(--mr-wine) !important;
}
.admin-attention-dot.green {
  background: var(--mr-sage) !important;
}
.admin-attention-dot.amber {
  background: #bfa69e !important;
}
.admin-attention-dot.red {
  background: var(--mr-wine) !important;
}
.admin-date-tile,
.admin-client-mark,
.admin-stock-icon,
.admin-lesson-icon {
  background: var(--mr-wine-100) !important;
  color: var(--mr-wine) !important;
}
.admin-program-card.service,
.admin-schedule-service,
.admin-workshop-chip {
  background: var(--mr-sage-100) !important;
  color: var(--mr-sage-700) !important;
}
.admin-payment-info,
.admin-course-card-top {
  background: linear-gradient(
    145deg,
    var(--mr-sage-50),
    var(--mr-blush)
  ) !important;
}
.admin-invoice-heading {
  background: linear-gradient(135deg, var(--mr-sage-50), #fff) !important;
}
.admin-progress i,
.admin-mini-progress i,
.admin-wbs-progress i {
  background: linear-gradient(90deg, var(--mr-wine), #b56778) !important;
}
.admin-rich-editor mark,
.admin-rich-editor [style*="background-color"],
.admin-live-preview mark,
.admin-live-preview [style*="background-color"] {
  background-color: var(--mr-wine-100) !important;
  color: var(--mr-wine-700) !important;
}

@media (max-width: 760px) {
  .admin-app {
    padding: 0;
    background: linear-gradient(145deg, #f7f1ec, #edf1ed);
  }
  .admin-sidebar {
    inset: 0 0 auto 0;
    width: 100%;
    height: 67px;
    padding: 0 12px;
    border-radius: 0 0 22px 22px;
    background: var(--mr-wine);
    box-shadow: 0 10px 30px rgba(112, 38, 53, 0.18);
    overflow: visible;
  }
  .admin-mobile-head {
    border: 0;
  }
  .admin-mobile-toggle {
    border-color: rgba(255, 255, 255, 0.2) !important;
    background: rgba(255, 255, 255, 0.1) !important;
  }
  .admin-mobile-toggle > span {
    background: #fff;
  }
  .admin-mobile-menu {
    background: var(--mr-wine);
    box-shadow: 0 20px 45px rgba(112, 38, 53, 0.24);
  }
  .admin-main {
    padding-top: 67px;
  }
}

/* Sidebar brand card: aligned with navigation and separated by one centered rule. */
@media (min-width: 761px) {
  .admin-mobile-head {
    height: 88px;
    padding: 0 3px 16px;
    border: 0;
  }
  .admin-brand {
    width: 100%;
    min-height: 72px;
    display: grid;
    place-items: center;
    padding: 12px 18px;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(69, 18, 31, 0.12);
  }
  .admin-brand > span {
    width: 158px;
    display: grid;
    place-items: center;
  }
  .admin-brand > span img {
    display: block;
    width: 100%;
    max-height: 42px;
    object-fit: contain;
    filter: none;
  }
  .admin-mobile-menu {
    height: calc(100% - 88px);
  }
  .admin-main-nav {
    padding: 16px 3px 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
  }
}

@media (max-width: 760px) {
  .admin-mobile-head {
    height: 66px;
    padding: 8px 4px;
  }
  .admin-brand {
    width: 154px;
    min-height: 46px;
    display: grid;
    place-items: center;
    padding: 6px 12px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(69, 18, 31, 0.12);
  }
  .admin-brand > span {
    width: 130px;
    display: grid;
    place-items: center;
  }
  .admin-brand > span img {
    display: block;
    width: 100%;
    max-height: 31px;
    object-fit: contain;
    filter: none;
  }
  .admin-sidebar .admin-main-nav {
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
  }
}
.admin-invoice-document {
  background: linear-gradient(
    145deg,
    rgba(228, 215, 207, 0.42),
    rgba(255, 252, 248, 0.9)
  );
  border-color: rgba(138, 50, 64, 0.14);
}
.admin-invoice-document .admin-form-title {
  margin-bottom: 18px;
}
.admin-invoice-document-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.admin-invoice-document-meta > span {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(138, 50, 64, 0.1);
}
.admin-invoice-document-meta small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.admin-invoice-document-meta strong {
  color: var(--ink);
  font-size: 14px;
}
.admin-invoice-document-meta em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}
.admin-delivery-history {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.admin-delivery-history > div {
  display: grid;
  grid-template-columns: auto minmax(140px, 0.55fr) 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.55);
}
.admin-delivery-history strong,
.admin-delivery-history small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.admin-delivery-history small {
  color: var(--muted);
}
.admin-delivery-offline {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  margin: 0 0 20px;
  padding: 18px 20px;
  border: 1px solid rgba(138, 50, 64, 0.14);
  border-radius: 20px;
  background: linear-gradient(
    135deg,
    rgba(228, 215, 207, 0.58),
    rgba(255, 252, 248, 0.92)
  );
  color: var(--ink);
}
.admin-delivery-offline > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(97, 121, 105, 0.14);
  color: #4d6354;
  font-size: 0.68rem;
  font-weight: 850;
  white-space: nowrap;
}
.admin-delivery-offline strong {
  display: block;
  margin-bottom: 4px;
  font-family: var(--mr-serif);
  font-size: 1.02rem;
}
.admin-delivery-offline p {
  margin: 0;
  color: var(--muted);
  font-size: 0.73rem;
  line-height: 1.55;
}
@media (max-width: 720px) {
  .admin-invoice-document-meta {
    grid-template-columns: 1fr;
  }
  .admin-delivery-history > div {
    grid-template-columns: auto 1fr;
  }
  .admin-delivery-history small {
    grid-column: 1/-1;
    white-space: normal;
  }
}
@media (max-width: 560px) {
  .admin-delivery-offline {
    grid-template-columns: 1fr;
  }
  .admin-delivery-offline > span {
    justify-self: start;
  }
}

/* Inline WYSIWYG email canvas */
.admin-email-builder-layout { grid-template-columns: 218px minmax(560px, 1fr) 286px; }
.admin-email-canvas { padding: 18px 28px 38px; overflow-x: auto; }
.admin-email-paper {
  width: min(680px, 100%);
  margin: 0 auto;
  padding: 0 46px 34px;
  border: 1px solid var(--mr-line);
  border-radius: 28px;
  background: #fffdf9;
  box-shadow: 0 24px 60px rgba(61, 42, 40, .12);
  transition: width 220ms ease;
}
.admin-email-paper.mobile { width: 390px; padding-inline: 24px; }
.admin-email-paper-brand { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 30px 2px 24px; border-top: 9px solid var(--mr-wine); }
.admin-email-paper-brand img { width: 168px; max-height: 58px; object-fit: contain; object-position: left center; }
.admin-email-paper-brand span { color: var(--mr-sage); font-size: .58rem; font-weight: 850; letter-spacing: .14em; }
.admin-email-paper-footer { display: grid; gap: 5px; margin-top: 28px; padding: 24px; border-radius: 17px; background: var(--mr-sage-soft); color: var(--mr-muted); font-size: .68rem; }
.admin-email-paper-footer strong { color: var(--mr-text); }
.admin-email-block-list { gap: 0; }
.admin-email-wysiwyg-block { position: relative; margin: 0; padding: 8px; border: 1px solid transparent; border-radius: 14px; transition: border-color 160ms ease, box-shadow 160ms ease; }
.admin-email-wysiwyg-block:hover { border-color: rgba(138,50,64,.22); }
.admin-email-wysiwyg-block.selected { border-color: var(--mr-wine); box-shadow: 0 0 0 3px rgba(138,50,64,.08); }
.admin-email-wysiwyg-block.is-hidden { border-style: dashed; border-color: rgba(97,121,105,.45); opacity: .56; }
.admin-email-wysiwyg-block.is-hidden::after { content: "Tento blok se do výsledného e-mailu nevyrenderuje"; display: block; margin: 6px 0 0; color: var(--mr-sage); font-size: .62rem; font-weight: 800; text-align: center; }
.admin-email-block-toolbar { position: absolute; z-index: 4; top: -31px; right: 8px; display: flex; align-items: center; gap: 3px; padding: 3px; border-radius: 9px; background: var(--mr-wine); color: #fff; opacity: 0; pointer-events: none; transform: translateY(4px); transition: 150ms ease; }
.admin-email-wysiwyg-block:hover .admin-email-block-toolbar,
.admin-email-wysiwyg-block.selected .admin-email-block-toolbar { opacity: 1; pointer-events: auto; transform: translateY(0); }
.admin-email-block-toolbar span { padding: 0 6px; font-size: .56rem; font-weight: 800; }
.admin-email-block-toolbar em { padding: 3px 6px; border-radius: 999px; background: rgba(255,255,255,.18); font-size: .52rem; font-style: normal; font-weight: 850; letter-spacing: .02em; }
.admin-email-block-toolbar button { width: 25px; height: 25px; border: 0; border-radius: 7px; background: transparent; color: #fff; }
.admin-email-block-toolbar button:hover { background: rgba(255,255,255,.18); }
.admin-email-image-actions { display: flex; align-items: stretch; gap: 8px; }
.admin-email-image-actions > * { flex: 1; }
.admin-email-media-library { display: grid; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--mr-line); }
.admin-email-media-library header { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.admin-email-media-library header small { color: var(--mr-muted); font-size: .62rem; }
.admin-email-media-library > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; max-height: 330px; overflow: auto; }
.admin-email-media-library button { display: grid; gap: 5px; padding: 5px; border: 1px solid var(--mr-line); border-radius: 10px; background: #fff; color: var(--mr-text); text-align: left; }
.admin-email-media-library button:hover { border-color: var(--mr-wine); }
.admin-email-media-library img { width: 100%; aspect-ratio: 4/3; border-radius: 7px; object-fit: cover; background: var(--mr-sand-soft); }
.admin-email-media-library span { overflow: hidden; padding: 0 3px 2px; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
[contenteditable="true"] { outline: none; cursor: text; }
[contenteditable="true"]:empty::before { content: attr(data-placeholder); color: var(--mr-muted); }
.email-canvas-heading { margin: 8px 0 16px; font: 600 1.9rem/1.12 var(--mr-serif); color: var(--mr-text); }
.email-canvas-text { min-height: 24px; white-space: pre-wrap; font-size: .9rem; line-height: 1.7; color: var(--mr-text); }
.email-canvas-button { display: inline-block; margin: 12px 0; padding: 14px 22px; border-radius: 13px; background: var(--mr-wine); color: #fff; font-size: .75rem; font-weight: 850; }
.email-canvas-icon { margin: 12px 0; padding: 10px; font-weight: 700; line-height: 1; }
.email-canvas-one-column { display: grid; gap: 8px; margin: 8px 0; padding: 22px; border-radius: 18px; background: var(--mr-sand-soft); }
.email-canvas-one-column strong { font: 600 1.25rem/1.2 var(--mr-serif); }
.email-canvas-personalized { display: grid; gap: 8px; margin: 8px 0; padding: 20px; border-left: 4px solid var(--mr-wine); background: var(--mr-sand-soft); }
.email-canvas-personalized > span { color: var(--mr-wine); font-size: .58rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.admin-email-wysiwyg-block > img { display: block; width: 100%; border-radius: 18px; }
.email-canvas-image-placeholder { min-height: 150px; display: grid; place-items: center; align-content: center; gap: 7px; border: 1px dashed rgba(138,50,64,.32); border-radius: 18px; background: var(--mr-blush); color: var(--mr-wine); cursor: pointer; }
.email-canvas-image-placeholder input { position: absolute; opacity: 0; pointer-events: none; }
.email-canvas-callout { display: grid; gap: 8px; margin: 8px 0; padding: 22px; border-radius: 18px; background: var(--mr-sage-soft); }
.email-canvas-callout strong { color: var(--mr-sage); }
.email-canvas-divider { height: 1px; margin: 20px 0; background: var(--mr-sand); }
.email-canvas-spacer { display: grid; place-items: center; border-radius: 8px; background: repeating-linear-gradient(135deg, transparent, transparent 6px, rgba(138,50,64,.035) 6px, rgba(138,50,64,.035) 12px); color: var(--mr-muted); font-size: .56rem; }
.email-canvas-hero { display: grid; gap: 10px; margin: 4px 0 18px; padding: 30px; border-radius: 22px; background: var(--mr-blush); }
.email-canvas-hero h2 { margin: 0; font: 600 2rem/1.08 var(--mr-serif); }
.email-canvas-eyebrow { color: var(--mr-wine); font-size: .58rem; font-weight: 850; letter-spacing: .14em; }
.email-canvas-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.email-canvas-columns > div { display: grid; align-content: start; gap: 8px; padding: 20px; border-radius: 17px; background: var(--mr-cream); }
.email-canvas-columns > div + div { background: var(--mr-sage-soft); }
.email-canvas-columns-three { grid-template-columns: repeat(3, 1fr); }
.email-canvas-media { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 18px; }
.email-canvas-media > img { display: block; width: 100%; border-radius: 18px; }
.email-canvas-media > div { display: grid; gap: 9px; }
.email-canvas-media > div strong { font: 600 1.3rem var(--mr-serif); }
.email-canvas-cta { display: grid; justify-items: center; gap: 9px; padding: 28px; border-radius: 20px; background: var(--mr-wine); color: #fff; text-align: center; }
.email-canvas-cta h3 { margin: 0; font: 600 1.65rem var(--mr-serif); }
.email-canvas-cta .email-canvas-button { background: #fff; color: var(--mr-wine); }
.email-canvas-content-card { display: grid; gap: 7px; padding: 23px; border: 1px solid var(--mr-line); border-radius: 19px; }
.email-canvas-content-card > span { color: var(--mr-sage); font-size: .56rem; font-weight: 850; letter-spacing: .14em; }
.email-canvas-content-card h3 { margin: 0; font: 600 1.35rem var(--mr-serif); }
.email-canvas-content-card small { color: var(--mr-wine); font-weight: 750; }
.email-canvas-social { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; padding: 16px; color: var(--mr-wine); font-size: .72rem; }
.email-canvas-social strong { flex-basis: 100%; color: var(--mr-text); text-align: center; }
.email-canvas-logo { display: grid; place-items: center; padding: 18px; }
.email-canvas-logo img { display: block; width: min(190px, 100%); max-height: 80px; object-fit: contain; }
.email-canvas-html { padding: 18px; border: 1px dashed var(--mr-sage); border-radius: 16px; background: var(--mr-sage-soft); }
.email-canvas-html code { color: var(--mr-wine); font-size: .6rem; font-weight: 850; }
.email-canvas-html pre { margin: 8px 0 0; overflow: hidden; white-space: pre-wrap; color: var(--mr-muted); font-size: .68rem; }
.email-canvas-legal { padding: 10px; color: var(--mr-sage); font-size: .68rem; text-align: center; text-decoration: underline; }
.email-canvas-footer { display: grid; gap: 5px; padding: 22px; border-radius: 17px; background: var(--mr-sage-soft); text-align: center; }
.email-canvas-footer small { color: var(--mr-muted); }
.email-canvas-event { display: grid; grid-template-columns: 112px 1fr; overflow: hidden; border: 1px solid var(--mr-line); border-radius: 19px; }
.email-canvas-event > strong { padding: 22px; background: var(--mr-wine); color: #fff; }
.email-canvas-event > div { display: grid; gap: 7px; padding: 20px; }
.email-canvas-event h3 { margin: 0; font: 600 1.25rem var(--mr-serif); }
.email-canvas-event span { color: var(--mr-sage); }
.admin-email-wysiwyg-block blockquote { margin: 10px 0; padding: 8px 0 8px 20px; border-left: 4px solid var(--mr-wine); font: italic 1.25rem/1.45 var(--mr-serif); }
.admin-email-wysiwyg-block blockquote small { display: block; margin-top: 10px; color: var(--mr-sage); font: 700 .68rem var(--mr-sans); }
.admin-email-insert-zone { position: relative; z-index: 3; height: 12px; margin: -2px 0; display: grid; place-items: center; cursor: pointer; }
.admin-email-insert-zone span { position: absolute; padding: 4px 9px; border-radius: 999px; background: var(--mr-wine); color: #fff; font-size: .52rem; font-weight: 800; opacity: 0; transform: scale(.9); transition: 140ms ease; }
.admin-email-insert-zone:hover span, .admin-email-insert-zone.active span { opacity: 1; transform: scale(1); }
.admin-email-insert-zone.active { height: 40px; border: 1px dashed var(--mr-wine); border-radius: 10px; background: var(--mr-blush); }
.admin-email-insert-zone.final { height: 34px; margin-top: 8px; border: 1px dashed rgba(138,50,64,.24); border-radius: 11px; }
.admin-email-insert-zone.final span { opacity: .72; background: transparent; color: var(--mr-wine); }
.admin-email-inspector { border-left: 1px solid var(--mr-line); background: #fffdf9; }
.admin-email-inspector-head { margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid var(--mr-line); }
.admin-email-inspector-head h3 { margin: 7px 0 0; font: 600 1.5rem var(--mr-serif); }
.admin-email-inspector label { display: grid; gap: 7px; margin-bottom: 14px; color: var(--mr-muted); font-size: .65rem; font-weight: 800; }
.admin-email-inspector :is(input,textarea) { min-height: 44px; width: 100%; border: 1px solid var(--mr-line); border-radius: 12px; padding: 10px; background: #fff; color: var(--mr-text); }
.admin-email-inspector textarea { resize: vertical; font: 500 .68rem/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; }
.admin-email-inspector-note, .admin-email-inspector-help p { color: var(--mr-muted); font-size: .69rem; line-height: 1.65; }
.admin-email-inspector-help { margin-top: 24px; padding: 17px; border-radius: 16px; background: var(--mr-sage-soft); }
.admin-email-ai-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin-top: 12px; }
.admin-email-ai-actions button { border: 1px solid rgba(138,50,64,.18); border-radius: 11px; padding: 9px 10px; background: #fff; color: var(--mr-wine); font: 700 .66rem/1.2 var(--mr-sans); text-align: left; cursor: pointer; }
.admin-email-ai-actions button:hover { background: var(--mr-wine-soft); border-color: rgba(138,50,64,.34); }
.admin-email-design-settings { margin-top: 22px; border-top: 1px solid var(--mr-line); padding-top: 18px; }
.admin-email-design-settings summary { cursor: pointer; color: var(--mr-wine); font-size: .72rem; font-weight: 850; }
.admin-email-design-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; margin-top: 16px; }
.admin-email-design-grid label { min-width: 0; margin: 0; }
.admin-email-design-grid input[type="color"] { min-height: 40px; padding: 4px; cursor: pointer; }
.admin-email-design-grid input[type="range"] { min-height: 28px; padding: 0; accent-color: var(--mr-wine); }
.admin-email-design-grid label:has(input[type="range"]) { grid-column: 1 / -1; }
.admin-email-design-grid output { justify-self: end; color: var(--mr-text); font-weight: 700; }
.admin-email-inspector-empty { padding: 30px 10px; text-align: center; }
.admin-email-inspector-empty > span { display: block; color: var(--mr-wine); font-size: 1.8rem; }

@media (max-width: 1180px) {
  .admin-email-builder-layout { grid-template-columns: 190px minmax(500px, 1fr) 250px; }
  .admin-email-paper { padding-inline: 30px; }
}
@media (max-width: 720px) {
  .email-canvas-columns,
  .email-canvas-columns-three,
  .email-canvas-media { grid-template-columns: 1fr; }
}

/* Conference operations refinement · one calm MedicRise visual language */
@media (min-width: 761px) {
  .admin-sidebar {
    position: relative !important;
    top: auto !important;
    align-self: center;
    margin-block: auto;
  }
  .admin-sidebar nav {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
  }
  .admin-subnav {
    max-height: 760px !important;
  }
  .admin-nav-group.collapsed .admin-subnav {
    max-height: 0 !important;
  }
  .admin-subnav-item {
    min-height: 32px;
    padding-block: 7px;
  }
}

.admin-screen-head,
.admin-form-title {
  position: static !important;
  top: auto !important;
  transform: none !important;
}
.admin-list-row.selected,
.admin-edition-list .selected {
  border: 1px solid #d8e1da !important;
  background: var(--mr-sage-50) !important;
  color: var(--mr-text) !important;
  box-shadow: none !important;
  outline: 0 !important;
}
.admin-hero-surface,
.admin-hero-surface-light {
  border: 1px solid var(--mr-line) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(228, 215, 207, 0.58), transparent 34%),
    linear-gradient(140deg, #fffdf9, var(--mr-sage-50)) !important;
  color: var(--mr-text) !important;
  box-shadow: var(--mr-shadow-sm) !important;
}
.admin-hero-surface :is(h1, h2, h3, strong),
.admin-hero-surface-light :is(h1, h2, h3, strong) {
  color: var(--mr-text) !important;
}
.admin-hero-surface :is(p, small, span),
.admin-hero-surface-light :is(p, small, span) {
  color: var(--mr-muted) !important;
}
.admin-hero-surface .admin-eyebrow,
.admin-hero-surface-light .admin-eyebrow {
  color: var(--mr-wine) !important;
}

#speaker-editor:not(:empty),
#program-editor:not(:empty),
#participant-editor:not(:empty),
#wbs-editor:not(:empty),
#workshop-editor:not(:empty),
#inventory-editor:not(:empty),
#invoice-editor:not(:empty) {
  align-items: center !important;
  overflow: hidden !important;
  padding: 28px !important;
}
#speaker-editor > .admin-editor,
#program-editor > .admin-editor,
#participant-editor > .admin-editor,
#wbs-editor > .admin-editor,
#workshop-editor > .admin-editor,
#inventory-editor > .admin-editor,
#invoice-editor > .admin-editor {
  max-height: calc(100dvh - 56px) !important;
  margin: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

.admin-course-card-top {
  min-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.admin-course-card-body > h2 {
  margin-top: 14px !important;
}

.admin-doorcard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 390px), 1fr));
  gap: 22px;
}
.admin-doorcard-preview {
  overflow: hidden;
  border: 1px solid #ded5ce;
  border-radius: 28px;
  background: #fffdf9;
  box-shadow: var(--mr-shadow-sm);
}
.admin-doorcard-preview-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 1px solid #e6ddd6;
}
.admin-doorcard-wordmark {
  color: var(--mr-wine);
  font-size: 1.25rem;
  font-weight: 900;
}
.admin-doorcard-wordmark span { color: var(--mr-sage); }
.admin-doorcard-preview-top small {
  color: var(--mr-sage-700);
  font-size: 0.62rem;
  font-weight: 850;
  letter-spacing: 0.12em;
}
.admin-doorcard-preview-main {
  min-height: 245px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 0.7fr);
  align-items: center;
  gap: 24px;
  padding: 34px 28px;
  background:
    radial-gradient(circle at 100% 0, rgba(228, 215, 207, 0.7), transparent 42%),
    var(--mr-cream);
}
.admin-doorcard-kind {
  color: var(--mr-wine);
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.admin-doorcard-preview-main h3 {
  margin: 12px 0 10px;
  font-family: var(--mr-serif);
  font-size: clamp(1.8rem, 4vw, 3.1rem);
  line-height: 1.02;
}
.admin-doorcard-preview-main p { color: var(--mr-muted); }
.admin-doorcard-preview-main ol {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.admin-doorcard-preview-main li {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #ded7d0;
}
.admin-doorcard-preview-main time { color: var(--mr-wine); font-weight: 900; }
.admin-doorcard-preview-main li strong { font-size: 0.75rem; line-height: 1.35; }
.admin-doorcard-arrow {
  color: var(--mr-wine);
  font-family: var(--mr-serif);
  font-size: 7rem;
  line-height: 1;
  text-align: center;
}
.admin-doorcard-preview-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding: 18px 22px;
}

.admin-email-guideline {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(250px, 0.6fr);
  gap: 32px;
  background: linear-gradient(135deg, #fffdf9, var(--mr-blush)) !important;
}
.admin-email-guideline h2 { margin: 10px 0; }
.admin-email-guideline-tokens { display: grid; gap: 10px; align-content: center; }
.admin-email-guideline-tokens span {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--mr-muted);
  font-size: 0.75rem;
}
.admin-email-guideline-tokens i {
  width: 24px;
  height: 24px;
  border: 1px solid rgba(70, 58, 51, 0.1);
  border-radius: 8px;
}
.admin-automation-list article { align-items: flex-start !important; }
.admin-automation-list dl { display: grid; gap: 6px; margin: 12px 0 0; }
.admin-automation-list dl div { display: grid; grid-template-columns: 72px 1fr; gap: 8px; }
.admin-automation-list dt {
  color: var(--mr-wine);
  font-size: 0.63rem;
  font-weight: 850;
  text-transform: uppercase;
}
.admin-automation-list dd { margin: 0; color: var(--mr-muted); font-size: 0.72rem; }
.admin-email-composer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.8fr);
  gap: 28px;
}
.admin-email-composer aside {
  position: sticky;
  top: 20px;
  align-self: start;
}
.admin-email-composer iframe {
  width: 100%;
  min-height: 690px;
  margin-top: 12px;
  border: 1px solid var(--mr-line);
  border-radius: 22px;
  background: var(--mr-cream);
}

.admin-partner-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 390px), 1fr));
  gap: 22px;
}
.admin-partner-card {
  padding: 24px;
  border: 1px solid var(--mr-line);
  border-radius: 25px;
  background: #fffdf9;
  box-shadow: var(--mr-shadow-xs);
}
.admin-partner-card header {
  display: grid;
  grid-template-columns: 96px 1fr;
  align-items: center;
  gap: 18px;
}
.admin-partner-logo {
  width: 96px;
  height: 72px;
  display: grid;
  place-items: center;
  padding: 10px;
  border: 1px solid var(--mr-line);
  border-radius: 16px;
  background: #fff;
}
.admin-partner-logo img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: grayscale(1);
}
.admin-partner-logo span { color: var(--mr-muted); font-size: 0.65rem; text-align: center; }
.admin-partner-card h3 { margin: 8px 0 2px; }
.admin-partner-card header p { margin: 0; font-size: 0.72rem; }
.admin-partner-progress { margin: 22px 0 16px; }
.admin-partner-progress > div { display: flex; justify-content: space-between; gap: 10px; font-size: 0.72rem; }
.admin-partner-progress i {
  height: 8px;
  display: block;
  overflow: hidden;
  margin-top: 9px;
  border-radius: 999px;
  background: var(--mr-sage-100);
}
.admin-partner-progress b { height: 100%; display: block; border-radius: inherit; background: var(--mr-sage); }
.admin-partner-checklist { display: grid; gap: 8px; }
.admin-partner-checklist label {
  display: grid;
  grid-template-columns: 20px 1fr;
  align-items: center;
  gap: 9px;
  color: var(--mr-text);
  font-size: 0.73rem;
}
.admin-partner-card dl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin: 20px 0;
}
.admin-partner-card dl div { min-width: 0; padding: 11px; border-radius: 13px; background: var(--mr-cream); }
.admin-partner-card dt { color: var(--mr-muted); font-size: 0.6rem; }
.admin-partner-card dd { margin: 4px 0 0; overflow: hidden; font-size: 0.69rem; font-weight: 750; text-overflow: ellipsis; }

.conference-partners-section { background: linear-gradient(180deg, #fffdf9, #f4eee9); }
.conference-partner-levels { display: grid; gap: 34px; }
.conference-partner-tier {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(26px, 5vw, 66px);
}
.conference-partner-tier figure {
  display: grid;
  flex: 0 0 var(--conference-logo-width);
  width: var(--conference-logo-width);
  height: var(--conference-logo-height);
  place-items: center;
  margin: 0;
}
.conference-partner-tier img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  filter: grayscale(1);
}
.conference-partner-tier.tier-1 {
  --conference-logo-width: min(360px, 78vw);
  --conference-logo-height: min(140px, 30vw);
}
.conference-partner-tier.tier-2 {
  --conference-logo-width: min(190px, 40vw);
  --conference-logo-height: min(74px, 16vw);
  gap: clamp(24px, 4vw, 48px);
}
.conference-partner-tier.tier-3 {
  --conference-logo-width: min(72px, 16vw);
  --conference-logo-height: min(28px, 6.2vw);
  gap: clamp(20px, 3vw, 34px);
}
.conference-partner-tier figure[data-partner-name="Nakladatelství Portál"] img {
  transform: scale(0.58);
}
.conference-partners-empty { text-align: center; color: #69736d; }

@media (max-width: 900px) {
  .admin-email-guideline,
  .admin-email-composer-grid { grid-template-columns: 1fr; }
  .admin-email-composer aside { position: static; }
}
@media (max-width: 760px) {
  #speaker-editor:not(:empty),
  #program-editor:not(:empty),
  #participant-editor:not(:empty) { padding: 0 !important; }
  #speaker-editor > .admin-editor,
  #program-editor > .admin-editor,
  #participant-editor > .admin-editor {
    width: 100% !important;
    max-height: 100dvh !important;
    min-height: 100dvh;
    border-radius: 0 !important;
  }
  .admin-doorcard-preview-main { grid-template-columns: 1fr; }
  .admin-doorcard-arrow { text-align: left; }
  .admin-partner-card dl { grid-template-columns: 1fr; }
}

/* MedicRise visual email builder */
#emailing-editor:not(:empty) {
  position: fixed;
  inset: 0;
  z-index: 3200;
  overflow: hidden;
  background: #f4eee9;
}
.admin-email-builder {
  height: 100dvh;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  color: var(--mr-text);
}
.admin-email-builder-head,
.admin-email-builder-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 24px;
  border-bottom: 1px solid var(--mr-line);
  background: rgba(255, 253, 249, 0.97);
}
.admin-email-builder-head h2 { margin: 4px 0; font-family: var(--mr-serif); font-size: 1.75rem; }
.admin-email-builder-head p { margin: 0; font-size: 0.72rem; }
.admin-email-builder-head > div:last-child { display: flex; gap: 9px; }
.admin-email-builder-meta {
  display: grid;
  grid-template-columns: 1fr 1fr 1.35fr 1.2fr 0.9fr 0.9fr;
  gap: 10px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--mr-line);
  background: #fbf8f4;
}
.admin-email-document-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.admin-email-document-grid > article {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--mr-line);
  border-radius: 22px;
  background: var(--mr-surface, #fffdf9);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.admin-email-document-grid > article:hover {
  transform: translateY(-2px);
  border-color: rgba(138, 50, 64, .28);
  box-shadow: 0 14px 30px rgba(61, 42, 40, .06);
}
.admin-email-document-grid article header,
.admin-email-document-grid article > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
}
.admin-email-document-grid article h3 {
  margin: 18px 0 7px;
  font: 600 1.25rem/1.16 var(--mr-serif);
  color: var(--mr-ink);
}
.admin-email-document-grid article p {
  min-height: 42px;
  margin: 0 0 18px;
  color: var(--mr-muted);
  font-size: .72rem;
  line-height: 1.55;
}
.admin-email-save-state {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 58px;
  padding: 9px 13px;
  border-radius: 14px;
  background: var(--mr-sage-soft, #eef2ee);
}
.admin-email-save-state span { color: var(--mr-sage); font-weight: 800; font-size: .7rem; }
.admin-email-save-state small { margin-top: 3px; color: var(--mr-muted); font-size: .6rem; }
.admin-email-builder-head .admin-icon-btn:disabled { opacity: .35; cursor: not-allowed; }
.admin-email-builder-meta label,
.admin-email-block-fields label {
  display: grid;
  gap: 6px;
  color: var(--mr-muted);
  font-size: 0.64rem;
  font-weight: 800;
}
.admin-email-builder-meta :is(input,select),
.admin-email-block-fields :is(input,textarea) {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--mr-line);
  border-radius: 12px;
  background: #fff;
  color: var(--mr-text);
  padding: 9px 11px;
  font: 500 0.73rem/1.45 var(--mr-sans);
}
.admin-email-builder-layout {
  min-height: 0;
  display: grid;
  grid-template-columns: 236px minmax(390px, 0.82fr) minmax(420px, 1.18fr);
}
.admin-email-library,
.admin-email-canvas,
.admin-email-live {
  min-height: 0;
  overflow-y: auto;
  padding: 20px;
}
.admin-email-library { border-right: 1px solid var(--mr-line); background: #fffdf9; }
.admin-email-library-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0 26px; }
.admin-email-library-grid button {
  min-height: 76px;
  display: grid;
  place-items: center;
  gap: 5px;
  border: 1px solid var(--mr-line);
  border-radius: 15px;
  background: var(--mr-cream);
  color: var(--mr-text);
  cursor: grab;
}
.admin-email-library-grid button:hover { border-color: var(--mr-wine); background: var(--mr-blush); transform: translateY(-1px); }
.admin-email-library-grid i { color: var(--mr-wine); font: 700 1.25rem var(--mr-serif); }
.admin-email-library-grid span { font-size: 0.66rem; font-weight: 800; }
.admin-email-variables { display: grid; gap: 7px; margin-top: 12px; }
.admin-email-variables button {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid var(--mr-line);
  border-radius: 11px;
  background: #fff;
  color: var(--mr-text);
  text-align: left;
}
.admin-email-variables span { font-size: 0.65rem; font-weight: 750; }
.admin-email-variables code { color: var(--mr-sage-700); font-size: 0.59rem; }
.admin-email-library-note { margin-top: 16px; font-size: 0.64rem; line-height: 1.5; }
.admin-email-canvas { background: #f2ede7; }
.admin-email-canvas-head,
.admin-email-live > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
}
.admin-email-canvas-head strong { display: block; margin-top: 4px; }
.admin-email-canvas-head small { color: var(--mr-muted); }
.admin-email-block-list { display: grid; gap: 11px; }
.admin-email-block {
  border: 1px solid var(--mr-line);
  border-radius: 17px;
  background: #fffdf9;
  box-shadow: var(--mr-shadow-xs);
  transition: 180ms ease;
}
.admin-email-block.dragging { opacity: 0.46; }
.admin-email-block.drag-over { border-color: var(--mr-wine); transform: translateY(4px); }
.admin-email-block > header {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border-bottom: 1px solid var(--mr-line);
}
.admin-email-block > header strong { font-size: 0.7rem; }
.admin-email-block > header div { display: flex; gap: 4px; }
.admin-email-block > header button {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--mr-muted);
}
.admin-email-drag { cursor: grab !important; }
.admin-email-block-fields { display: grid; gap: 9px; padding: 12px; }
.admin-email-block-fields textarea { resize: vertical; }
.admin-email-image-upload input { padding: 7px; }
.admin-email-add-bottom {
  width: 100%;
  min-height: 46px;
  margin-top: 12px;
  border: 1px dashed rgba(138, 50, 64, 0.35);
  border-radius: 14px;
  background: rgba(255,255,255,.5);
  color: var(--mr-wine);
  font-weight: 800;
}
.admin-email-live { border-left: 1px solid var(--mr-line); background: #e9e4de; }
.admin-email-live iframe {
  display: block;
  width: 100%;
  height: calc(100% - 46px);
  min-height: 580px;
  margin-inline: auto;
  border: 0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(64, 49, 42, 0.12);
  transition: width 220ms ease;
}
.admin-email-live iframe.mobile { width: min(390px, 100%); }
.admin-email-device-switch { display: flex; gap: 4px; padding: 3px; border-radius: 10px; background: #dcd5ce; }
.admin-email-device-switch button { border: 0; border-radius: 8px; padding: 7px 10px; background: transparent; color: var(--mr-muted); font-size: 0.64rem; }
.admin-email-device-switch button.active { background: #fff; color: var(--mr-wine); box-shadow: var(--mr-shadow-xs); }
.admin-email-builder-footer {
  border-top: 1px solid var(--mr-line);
  border-bottom: 0;
}
.admin-email-builder-footer span { color: var(--mr-muted); font-size: 0.7rem; }
.admin-inline-actions { display: flex; align-items: center; gap: 6px; }

@media (max-width: 1180px) {
  .admin-email-builder-meta { grid-template-columns: repeat(3, 1fr); }
  .admin-email-builder-layout { grid-template-columns: 205px minmax(330px, .85fr) minmax(360px, 1.15fr); }
}
@media (max-width: 900px) {
  .admin-email-document-grid { grid-template-columns: 1fr; }
  .admin-email-builder { overflow-y: auto; display: block; }
  .admin-email-builder-meta { grid-template-columns: 1fr 1fr; }
  .admin-email-builder-layout { display: grid; grid-template-columns: 1fr; }
  .admin-email-library, .admin-email-canvas, .admin-email-live { overflow: visible; border: 0; }
  .admin-email-library-grid { grid-template-columns: repeat(4, 1fr); }
  .admin-email-live iframe { min-height: 680px; }
  .admin-email-builder-footer { position: sticky; bottom: 0; }
}
@media (max-width: 560px) {
  .admin-email-builder-head { align-items: flex-start; padding: 13px; }
  .admin-email-builder-head p, .admin-email-builder-head [data-preview-builder] { display: none; }
  .admin-email-builder-meta { grid-template-columns: 1fr; padding: 12px; }
  .admin-email-library-grid { grid-template-columns: repeat(2, 1fr); }
  .admin-email-builder-footer { padding: 12px; }
  .admin-email-builder-footer span { display: none; }
  .admin-email-builder-footer button { width: 100%; }
}

/* Unified full-screen admin workspaces — editors use the entire viewport. */
:root {
  --mr-workspace: #fffdf9;
  --mr-workspace-soft: #fbfaf7;
}

body:has(#wbs-editor:not(:empty)),
body:has(#workshop-editor:not(:empty)),
body:has(#inventory-editor:not(:empty)),
body:has(#invoice-editor:not(:empty)),
body:has(#course-editor:not(:empty)),
body:has(#speaker-editor:not(:empty)),
body:has(#program-editor:not(:empty)),
body:has(#participant-editor:not(:empty)),
body:has(#partner-editor:not(:empty)),
body:has(#doorcard-editor:not(:empty)),
.admin-template-filterbar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0;
  padding: 14px 18px;
  border: 1px solid var(--mr-line);
  border-radius: 18px;
  background: var(--mr-surface, #fffdfb);
}
.admin-template-filterbar label {
  color: var(--mr-muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.admin-template-filterbar select {
  min-width: 210px;
  min-height: 44px;
  border: 1px solid var(--mr-line);
  border-radius: 13px;
  background: #fff;
  color: var(--mr-text);
  padding: 0 14px;
}
.admin-template-filterbar > span { margin-left: auto; color: var(--mr-muted); }
.admin-json-template-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 18px;
}
.admin-json-template-card {
  overflow: hidden;
  border: 1px solid var(--mr-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(62, 39, 43, .06);
}
.admin-json-template-card[hidden] { display: none; }
.admin-json-template-preview {
  min-height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
  padding: 24px;
  background: linear-gradient(145deg, #f0e2e5, #f7f2ed 62%, #eef2ee);
  border-bottom: 1px solid var(--mr-line);
}
.admin-json-template-preview span {
  color: #8a3240;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.admin-json-template-preview strong {
  max-width: 25ch;
  color: var(--mr-text);
  font-family: var(--mr-serif);
  font-size: 1.45rem;
  line-height: 1.12;
}
.admin-json-template-preview small { color: var(--mr-muted); }
.admin-json-template-body { padding: 22px; }
.admin-json-template-body > div:first-child { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.admin-json-template-body h3 { margin: 16px 0 7px; font-family: var(--mr-serif); font-size: 1.35rem; }
.admin-json-template-body p { min-height: 3.4em; margin: 0 0 18px; color: var(--mr-muted); line-height: 1.55; }
.admin-json-template-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.admin-json-template-actions .admin-primary { width: 100%; justify-content: center; }
.admin-json-template-actions .danger { color: #8a3240; }
.admin-template-archive { margin-top: 24px; border-top: 1px solid var(--mr-line); padding-top: 18px; }
.admin-template-archive summary { cursor: pointer; color: var(--mr-muted); font-weight: 800; }
.admin-template-archive > div { display: grid; gap: 8px; margin-top: 12px; }
.admin-template-archive article { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 12px 15px; border-radius: 14px; background: #f7f2ed; }
.admin-legacy-template-panel { margin-top: 24px; }

@media (max-width: 720px) {
  .admin-template-filterbar { align-items: stretch; flex-direction: column; }
  .admin-template-filterbar > span { margin-left: 0; }
  .admin-template-filterbar select { width: 100%; }
  .admin-template-archive article { grid-template-columns: 1fr; }
}

body:has(#emailing-editor:not(:empty)),
body:has(#system-settings-root:not(:empty)),
body:has(#contract-detail > form),
body:has(#crm-detail > form) {
  overflow: hidden !important;
}

:is(
  #wbs-editor:not(:empty),
  #workshop-editor:not(:empty),
  #inventory-editor:not(:empty),
  #invoice-editor:not(:empty),
  #course-editor:not(:empty),
  #speaker-editor:not(:empty),
  #program-editor:not(:empty),
  #participant-editor:not(:empty),
  #partner-editor:not(:empty),
  #doorcard-editor:not(:empty),
  #contract-detail:has(> form),
  #crm-detail:has(> form)
) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 3500 !important;
  display: block !important;
  width: 100vw !important;
  height: 100dvh !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--mr-workspace) !important;
  backdrop-filter: none !important;
}

:is(
  #wbs-editor,
  #workshop-editor,
  #inventory-editor,
  #invoice-editor,
  #course-editor,
  #speaker-editor,
  #program-editor,
  #participant-editor,
  #partner-editor,
  #doorcard-editor,
  #contract-detail,
  #crm-detail
) > .admin-editor {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  max-height: 100dvh !important;
  margin: 0 !important;
  padding: clamp(24px, 3vw, 46px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--mr-workspace) !important;
  box-shadow: none !important;
  overscroll-behavior: contain;
}

/* Sticky chrome belongs only to actual modal workspaces, never ordinary cards. */
.admin-form-title,
.admin-form-actions {
  position: static !important;
}

:is(
  #wbs-editor,
  #workshop-editor,
  #inventory-editor,
  #invoice-editor,
  #course-editor,
  #speaker-editor,
  #program-editor,
  #participant-editor,
  #partner-editor,
  #doorcard-editor,
  #contract-detail,
  #crm-detail
) > .admin-editor > .admin-form-title {
  position: sticky !important;
  top: calc(clamp(24px, 3vw, 46px) * -1) !important;
  z-index: 30 !important;
  margin: calc(clamp(24px, 3vw, 46px) * -1) calc(clamp(24px, 3vw, 46px) * -1) 30px !important;
  padding: 22px clamp(24px, 3vw, 46px) !important;
  border-bottom: 1px solid var(--mr-line) !important;
  background: rgba(255, 253, 249, 0.98) !important;
  backdrop-filter: blur(14px);
}

:is(
  #wbs-editor,
  #workshop-editor,
  #inventory-editor,
  #invoice-editor,
  #course-editor,
  #speaker-editor,
  #program-editor,
  #participant-editor,
  #partner-editor,
  #doorcard-editor,
  #contract-detail,
  #crm-detail
) > .admin-editor > .admin-form-actions {
  position: sticky !important;
  bottom: calc(clamp(24px, 3vw, 46px) * -1) !important;
  z-index: 25 !important;
  margin: 30px calc(clamp(24px, 3vw, 46px) * -1) calc(clamp(24px, 3vw, 46px) * -1) !important;
  padding: 17px clamp(24px, 3vw, 46px) !important;
  border-top: 1px solid var(--mr-line) !important;
  background: rgba(255, 253, 249, 0.98) !important;
  backdrop-filter: blur(14px);
}

/* System settings are a workspace too. */
.admin-settings-backdrop {
  padding: 0 !important;
  background: var(--mr-workspace) !important;
  backdrop-filter: none !important;
}
.admin-settings-dialog {
  width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--mr-workspace) !important;
  box-shadow: none !important;
}
.admin-settings-dialog > header {
  position: relative !important;
  margin: 0 !important;
  background: var(--mr-workspace) !important;
}
.admin-settings-layout {
  height: calc(100dvh - 76px) !important;
  max-height: none !important;
}
.admin-settings-layout > nav,
.admin-settings-layout > main {
  background: var(--mr-workspace-soft) !important;
}

.admin-lesson-preview-overlay {
  z-index: 4200 !important;
  padding: 0 !important;
  background: var(--mr-workspace) !important;
  backdrop-filter: none !important;
}
.admin-lesson-preview-window {
  width: 100vw !important;
  max-width: none !important;
  height: 100dvh !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--mr-workspace) !important;
  box-shadow: none !important;
}
.admin-lesson-preview-window > header {
  position: relative !important;
  margin: 0 !important;
  background: var(--mr-workspace) !important;
}
.admin-lesson-preview-canvas {
  max-height: calc(100dvh - 70px) !important;
  overflow-y: auto !important;
  background: var(--mr-workspace-soft) !important;
}

/* Lesson studio: four fixed rows, independently scrolling compose and preview panes. */
#course-editor > .admin-lesson-editor {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--mr-workspace-soft) !important;
}
#course-editor > .admin-lesson-editor > .admin-lesson-editor-head {
  position: relative !important;
  top: auto !important;
  margin: 0 !important;
  padding: 18px 26px !important;
  background: var(--mr-workspace) !important;
}
#course-editor > .admin-lesson-editor .admin-lesson-settings {
  margin: 14px 22px 0 !important;
  background: var(--mr-workspace) !important;
}
#course-editor > .admin-lesson-editor .admin-lesson-workspace {
  min-height: 0 !important;
  padding: 18px 22px !important;
  overflow: hidden !important;
}
#course-editor > .admin-lesson-editor .admin-lesson-compose,
#course-editor > .admin-lesson-editor .admin-live-preview {
  min-height: 0 !important;
  height: 100% !important;
  overflow-y: auto !important;
  background: var(--mr-workspace) !important;
}
#course-editor > .admin-lesson-editor .admin-block-library {
  top: 0 !important;
  background: rgba(255, 253, 249, 0.98) !important;
}
#course-editor > .admin-lesson-editor .admin-lesson-savebar {
  position: relative !important;
  bottom: auto !important;
  background: var(--mr-workspace) !important;
}

/* Clean white/off-white content surfaces; no accidental beige strips. */
.admin-panel,
.admin-form-section,
.admin-crm-section,
.admin-course-builder,
.admin-course-builder-head,
.admin-course-outline,
.admin-course-section,
.admin-course-lessons,
.admin-course-empty,
.admin-block-toolbar,
.admin-block-head,
.admin-email-library,
.admin-email-canvas,
.admin-email-live,
.admin-email-library-grid button {
  background: var(--mr-workspace) !important;
}
.admin-course-outline {
  padding: 18px !important;
}
.admin-course-builder-head {
  margin: 0 !important;
}

/* Pricing and discounts get a full-width, stable form layout. */
.admin-pricing-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}
.admin-inline-price {
  grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr) minmax(170px, .8fr) auto auto auto !important;
  align-items: end !important;
}
.admin-inline-price :is(input[type="date"], input[type="number"]) {
  min-width: 170px !important;
  min-height: 48px !important;
  font-size: 0.78rem !important;
}
.admin-discount-form .admin-form-grid {
  grid-template-columns: repeat(4, minmax(170px, 1fr)) !important;
}
.admin-discount-form .admin-form-actions {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.admin-discount-form .admin-form-actions .admin-primary {
  min-width: 160px;
}

/* Full-screen email studio with comfortable editing and preview widths. */
#emailing-editor:not(:empty) {
  z-index: 3600 !important;
  background: var(--mr-workspace-soft) !important;
}
.admin-email-builder {
  width: 100vw !important;
  height: 100dvh !important;
  background: var(--mr-workspace-soft) !important;
}
.admin-email-builder-head,
.admin-email-builder-meta,
.admin-email-builder-footer {
  background: var(--mr-workspace) !important;
}
.admin-email-builder-footer {
  margin: 0 !important;
}
.admin-email-builder-layout {
  grid-template-columns: 218px minmax(560px, 1fr) 286px !important;
}
.admin-email-library,
.admin-email-canvas,
.admin-email-live {
  scrollbar-gutter: stable;
}

.admin-marketing-nav > small {
  font-size: 0.8rem;
  transition: transform var(--mr-transition);
}
.admin-nav-group.collapsed .admin-marketing-nav > small {
  transform: rotate(-90deg);
}
.admin-main-nav > .admin-nav-group {
  margin: 2px 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

@media (max-width: 1320px) {
  .admin-email-builder-layout {
    grid-template-columns: 225px minmax(410px, .95fr) minmax(430px, 1.05fr) !important;
  }
  .admin-discount-form .admin-form-grid {
    grid-template-columns: repeat(3, minmax(170px, 1fr)) !important;
  }
}

@media (max-width: 1040px) {
  .admin-inline-price {
    grid-template-columns: repeat(3, minmax(170px, 1fr)) !important;
  }
  .admin-email-builder-layout {
    grid-template-columns: 205px minmax(380px, 1fr) !important;
  }
  .admin-email-live {
    grid-column: 1 / -1;
    min-height: 760px !important;
    border-top: 1px solid var(--mr-line);
  }
}

@media (max-width: 760px) {
  :is(
    #wbs-editor,
    #workshop-editor,
    #inventory-editor,
    #invoice-editor,
    #course-editor,
    #speaker-editor,
    #program-editor,
    #participant-editor,
    #partner-editor,
    #doorcard-editor,
    #contract-detail,
    #crm-detail
  ) > .admin-editor {
    padding: 18px !important;
  }
  .admin-inline-price,
  .admin-discount-form .admin-form-grid {
    grid-template-columns: 1fr !important;
  }
  .admin-inline-price :is(input[type="date"], input[type="number"]) {
    min-width: 0 !important;
  }
  #course-editor > .admin-lesson-editor .admin-lesson-workspace {
    display: block !important;
    overflow-y: auto !important;
  }
  #course-editor > .admin-lesson-editor .admin-lesson-compose,
  #course-editor > .admin-lesson-editor .admin-live-preview {
    height: auto !important;
    overflow: visible !important;
  }
}

/* Final modal contract: fullscreen overlay with an inset rounded popup. */
/* A transformed ancestor becomes the containing block for position:fixed.
   Keep every open editor anchored to the browser viewport, never to the page card. */
body.admin-modal-open .admin-screen {
  animation: none !important;
  transform: none !important;
}

:is(
  #wbs-editor:not(:empty), #workshop-editor:not(:empty),
  #inventory-editor:not(:empty), #invoice-editor:not(:empty),
  #course-editor:not(:empty), #speaker-editor:not(:empty),
  #program-editor:not(:empty), #participant-editor:not(:empty),
  #partner-editor:not(:empty), #doorcard-editor:not(:empty),
  #contract-detail:has(> form), #crm-detail:has(> form),
  #emailing-editor:not(:empty)
) {
  box-sizing: border-box !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  place-items: center !important;
  padding: clamp(14px, 1.65vw, 26px) !important;
  background: rgba(34, 25, 25, 0.58) !important;
  backdrop-filter: blur(10px) !important;
}

:is(
  #wbs-editor, #workshop-editor, #inventory-editor, #invoice-editor,
  #course-editor, #speaker-editor, #program-editor, #participant-editor,
  #partner-editor, #doorcard-editor, #contract-detail, #crm-detail
) > .admin-editor {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: clamp(24px, 2.2vw, 34px) !important;
  background: var(--mr-workspace) !important;
  box-shadow: 0 28px 90px rgba(28, 17, 19, 0.32) !important;
}

:is(
  #wbs-editor, #workshop-editor, #inventory-editor, #invoice-editor,
  #course-editor, #speaker-editor, #program-editor, #participant-editor,
  #partner-editor, #doorcard-editor, #contract-detail, #crm-detail
) > .admin-editor > .admin-form-title,
#course-editor > .admin-lesson-editor > .admin-lesson-editor-head,
#emailing-editor .admin-email-builder-head,
.admin-settings-dialog > header,
.admin-lesson-preview-window > header {
  border-radius: clamp(23px, 2.1vw, 33px) clamp(23px, 2.1vw, 33px) 0 0 !important;
}

#course-editor > .admin-lesson-editor,
#emailing-editor > .admin-email-builder {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: clamp(24px, 2.2vw, 34px) !important;
  background: var(--mr-workspace-soft) !important;
  box-shadow: 0 28px 90px rgba(28, 17, 19, 0.32) !important;
}

.admin-settings-backdrop,
.admin-lesson-preview-overlay {
  box-sizing: border-box !important;
  padding: clamp(14px, 1.65vw, 26px) !important;
  background: rgba(34, 25, 25, 0.58) !important;
  backdrop-filter: blur(10px) !important;
}
.admin-settings-dialog,
.admin-lesson-preview-window {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.72) !important;
  border-radius: clamp(24px, 2.2vw, 34px) !important;
  background: var(--mr-workspace) !important;
  box-shadow: 0 28px 90px rgba(28, 17, 19, 0.32) !important;
}
.admin-settings-layout { height: calc(100% - 76px) !important; }
.admin-lesson-preview-canvas { max-height: calc(100% - 70px) !important; }

@media (max-width: 760px) {
  :is(
    #wbs-editor:not(:empty), #workshop-editor:not(:empty),
    #inventory-editor:not(:empty), #invoice-editor:not(:empty),
    #course-editor:not(:empty), #speaker-editor:not(:empty),
    #program-editor:not(:empty), #participant-editor:not(:empty),
    #partner-editor:not(:empty), #doorcard-editor:not(:empty),
    #contract-detail:has(> form), #crm-detail:has(> form),
    #emailing-editor:not(:empty), .admin-settings-backdrop,
    .admin-lesson-preview-overlay
  ) { padding: 0 !important; }
  :is(
    #wbs-editor, #workshop-editor, #inventory-editor, #invoice-editor,
    #course-editor, #speaker-editor, #program-editor, #participant-editor,
    #partner-editor, #doorcard-editor, #contract-detail, #crm-detail
  ) > .admin-editor,
  #course-editor > .admin-lesson-editor,
  #emailing-editor > .admin-email-builder,
  .admin-settings-dialog,
  .admin-lesson-preview-window {
    border: 0 !important;
    border-radius: 0 !important;
  }
}

/* Lesson editor single-scroll contract: the whole form scrolls on every viewport. */
#course-editor > .admin-lesson-editor {
  display: block !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
#course-editor > .admin-lesson-editor > .admin-lesson-editor-head {
  position: sticky !important;
  top: 0 !important;
  min-height: 0 !important;
  padding: 14px 22px !important;
}
#course-editor > .admin-lesson-editor > .admin-lesson-editor-head h2 {
  margin: 2px 0 3px !important;
  font-size: 1.45rem !important;
}
#course-editor > .admin-lesson-editor .admin-lesson-workspace {
  min-height: 0 !important;
  align-items: start !important;
  overflow: visible !important;
  padding-bottom: 24px !important;
}
#course-editor > .admin-lesson-editor .admin-lesson-compose {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
#course-editor > .admin-lesson-editor .admin-block-library {
  top: 92px !important;
}
#course-editor > .admin-lesson-editor .admin-live-preview {
  top: 92px !important;
  height: min(760px, calc(100dvh - 190px)) !important;
  max-height: none !important;
  overflow: hidden !important;
}
#course-editor > .admin-lesson-editor .admin-lesson-savebar {
  position: sticky !important;
  bottom: 0 !important;
}

@media (max-width: 1050px) {
  #course-editor > .admin-lesson-editor .admin-lesson-workspace {
    display: block !important;
  }
  #course-editor > .admin-lesson-editor .admin-live-preview {
    position: relative !important;
    top: auto !important;
    height: min(650px, 70dvh) !important;
    margin-top: 18px;
  }
}

@media (max-width: 760px) {
  #course-editor > .admin-lesson-editor > .admin-lesson-editor-head {
    padding: 11px 13px !important;
  }
  #course-editor > .admin-lesson-editor .admin-block-library {
    top: 70px !important;
  }
  #course-editor > .admin-lesson-editor .admin-lesson-workspace {
    padding-bottom: 16px !important;
  }
  #course-editor > .admin-lesson-editor .admin-live-preview {
    height: min(560px, 68dvh) !important;
  }
}
.footer-socials{display:flex;gap:10px;margin-top:20px}.footer-socials a{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:inherit;transition:.2s ease}.footer-socials a:hover{background:#fff;color:#8f2d45;transform:translateY(-2px)}.footer-socials svg{display:block;width:19px;height:19px;overflow:visible;fill:currentColor}.footer-socials .social-icon-facebook{width:12px}
.home-conference-section{overflow:hidden}.home-conference{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:center;gap:clamp(32px,6vw,88px);padding:clamp(32px,5vw,64px);border-radius:32px;background:linear-gradient(135deg,#fff 0%,#f7ecef 100%);box-shadow:0 24px 70px rgba(76,31,43,.09)}.home-conference h2{margin:.4em 0}.home-conference-art{position:relative;display:grid;place-items:center}.home-conference-art img{width:min(100%,520px);height:auto}.home-conference-year{position:absolute;right:2%;bottom:6%;font-size:clamp(42px,8vw,86px);font-weight:900;color:#8f2d45;opacity:.14}
.team-leads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:42px}.team-lead-card{display:grid;grid-template-columns:190px 1fr;align-items:center;gap:30px;padding:30px;border-radius:28px;background:#fff;box-shadow:0 18px 55px rgba(40,31,33,.08)}.team-lead-card img{width:190px;aspect-ratio:1;border-radius:50%;object-fit:contain}.team-lead-card h3{margin:.35em 0 .25em;font-size:1.65rem}.team-lead-card p{margin:0 0 12px;color:#6d6265}.team-lead-card a{color:#8f2d45;font-weight:700;overflow-wrap:anywhere}.team-compact-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;margin-top:42px}.team-person-small{text-align:center}.team-person-small img{display:block;width:100%;aspect-ratio:1;border-radius:50%;object-fit:contain;margin-bottom:13px}.team-person-small strong{display:block;line-height:1.3}
.conference-accreditation{background:#f7ecef!important;color:#772239!important;border:1px solid rgba(143,45,69,.2)!important;font-weight:750}.experience-grid-2026{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.afterparty-card{grid-column:1/-1}.afterparty-card p{max-width:900px}
.audit-page{background:#fff}.audit-hero{padding:clamp(72px,9vw,128px) 0;background:linear-gradient(135deg,#fff 0%,#f8edef 100%)}.audit-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:clamp(40px,7vw,92px)}.audit-hero h1{max-width:820px;margin:.35em 0;font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.02}.audit-hero p{max-width:720px;font-size:1.12rem}.audit-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.audit-points span{padding:10px 15px;border-radius:999px;background:#fff;color:#702238;font-weight:700;box-shadow:0 8px 24px rgba(80,32,45,.06)}.audit-video{aspect-ratio:16/9;overflow:hidden;border-radius:28px;background:#241d1f;box-shadow:0 25px 65px rgba(49,25,31,.2)}.audit-video mux-player{width:100%;height:100%}.audit-video-placeholder{height:100%;display:grid;place-content:center;justify-items:center;gap:10px;padding:28px;text-align:center;color:#fff;background:radial-gradient(circle at 50% 30%,#9b3c55,#4d1726)}.audit-video-placeholder span{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:#fff;color:#8f2d45;font-size:28px;padding-left:5px}.audit-video-placeholder small{color:rgba(255,255,255,.75)}.audit-video-unavailable{opacity:.88}.audit-form-layout,.audit-consultation{display:grid;grid-template-columns:minmax(0,.75fr) minmax(480px,1fr);gap:clamp(40px,7vw,90px);align-items:start}.audit-form-card{padding:clamp(26px,4vw,42px);border-radius:28px;background:#fff;box-shadow:0 20px 65px rgba(55,32,37,.1)}.audit-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.audit-fields label{display:grid;gap:8px;font-weight:700}.audit-fields input,.audit-fields textarea{width:100%;border:1px solid #d9d0d2;border-radius:12px;padding:13px 14px;background:#fff;font:inherit}.audit-fields input:focus,.audit-fields textarea:focus{outline:2px solid rgba(143,45,69,.25);border-color:#8f2d45}.audit-field-wide{grid-column:1/-1}.audit-form-card .registration-consent{margin:22px 0}.audit-form-card .btn{width:100%;margin-top:18px}.audit-form-card small{display:block;margin-top:14px;color:#71676a}.audit-form-success{text-align:center;padding:24px}.audit-form-success>span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin:0 auto 20px;background:#e7f4ec;color:#287347;font-size:30px}.audit-download-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px}.audit-download-card,.audit-tip-card{padding:clamp(28px,4vw,48px);border-radius:28px}.audit-download-card{background:#f7ecef}.audit-tip-card{display:grid;align-content:center;background:#eaf3ed}.audit-tip-card strong{font-size:1.4rem;color:#305c45}.audit-hero-content{text-align:center}.audit-hero-content>.container{max-width:960px}.audit-hero-content .audit-video{margin-top:40px;text-align:left}
@media(max-width:1050px){.team-lead-card{grid-template-columns:130px 1fr}.team-lead-card img{width:130px}.team-compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.home-conference,.audit-hero-grid,.audit-form-layout,.audit-consultation,.audit-download-grid,.experience-grid-2026{grid-template-columns:1fr}.team-leads{grid-template-columns:1fr}.team-lead-card{grid-template-columns:1fr;align-items:start;gap:22px;padding:24px}.team-lead-card img{width:100%;max-width:none}.team-lead-card h3{font-size:clamp(1.25rem,6vw,1.65rem);white-space:nowrap}.team-lead-card a{display:block;font-size:clamp(.72rem,3.55vw,.95rem);white-space:nowrap;overflow-wrap:normal}.team-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.audit-fields{grid-template-columns:1fr}.audit-field-wide{grid-column:auto}.audit-form-layout,.audit-consultation{gap:28px}.audit-form-card{padding:24px 20px}}
.admin-audit-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0}.admin-audit-video-card{display:flex;flex-direction:column;gap:18px}.admin-audit-upload{display:grid;gap:6px;padding:28px;border:1.5px dashed #b8aeb1;border-radius:18px;background:#faf7f8;text-align:center;cursor:pointer;transition:.2s ease}.admin-audit-upload:hover{border-color:#8f2d45;background:#f8edef}.admin-audit-upload strong{color:#8f2d45}.admin-audit-upload small{color:#71676a}.admin-audit-video-card .admin-upload-progress{position:relative;height:28px;overflow:hidden;border-radius:999px;background:#ece6e8}.admin-audit-video-card .admin-upload-progress i{display:block;height:100%;width:0;background:#8f2d45;transition:width .2s}.admin-audit-video-card .admin-upload-progress span{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:800;color:#241d1f}.admin-audit-video-card>.admin-secondary{align-self:flex-start}@media(max-width:800px){.admin-audit-video-grid{grid-template-columns:1fr}}

/* Conference participant programme */
.portal-programme{margin-top:26px}.portal-programme-window{margin:0 0 24px;padding:12px 15px;border-radius:12px;background:#f3eee9;color:#5f5557;font-size:.92rem}.portal-programme-list{display:grid;gap:18px}.portal-programme-block{padding:20px;border:1px solid #e5dcde;border-radius:20px;background:#fbf9f7}.portal-programme-block>header{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px;padding:0;border:0}.portal-programme-block>header span{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#8a3240}.portal-programme-block.common{background:#eaf0eb;border-color:#d7e2da}.portal-programme-block.common article h4{margin:6px 0;font-size:1.2rem}.portal-programme-block.common article p,.portal-programme-block.common article small{margin:0;color:#617969}.portal-programme-options{display:grid;gap:10px}.portal-programme-option{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;width:100%;padding:17px 18px;border:1px solid #d9d0d2;border-radius:15px;background:#fff;color:#263238;text-align:left;font:inherit;cursor:pointer;transition:.18s ease}.portal-programme-option:hover:not(:disabled){border-color:#8a3240;transform:translateY(-1px)}.portal-programme-option.selected{border:2px solid #8a3240;background:#f8ecef}.portal-programme-option:disabled:not(.selected){cursor:not-allowed;opacity:.62}.portal-programme-option span{display:grid;gap:4px}.portal-programme-option small{color:#617969;font-weight:700}.portal-programme-option strong{font-size:1rem;line-height:1.35}.portal-programme-option em{color:#686064;font-style:normal;font-size:.9rem}.portal-programme-option>b{color:#8a3240;font-size:.86rem;white-space:nowrap}.portal-programme-remove{margin-top:11px;border:0;background:transparent;color:#8a3240;font:700 .9rem inherit;cursor:pointer}.portal-programme-remove:disabled{opacity:.5}.portal-programme .form-status{margin-top:16px}
@media(max-width:760px){.portal-programme-option{grid-template-columns:1fr;gap:10px}.portal-programme-option>b{white-space:normal}.portal-programme-block{padding:16px}.portal-programme-block>header{align-items:flex-start;gap:12px}}

/* Conference programme administration and registration desk */
.admin-registration-desk-nav{display:none!important}.admin-desk-only .admin-registration-desk-nav{display:flex!important}.admin-desk-only .admin-main-nav>.admin-nav-item:not(.admin-registration-desk-nav),.admin-desk-only .admin-main-nav>.admin-nav-group{display:none!important}
.admin-programme-settings{display:grid;grid-template-columns:minmax(260px,1fr) repeat(2,minmax(190px,.5fr)) auto;gap:18px;align-items:end;margin-bottom:24px}.admin-programme-settings label{display:grid;gap:7px}.admin-programme-settings input{width:100%}.admin-programme-settings .admin-switch-row{display:flex;align-items:center;align-self:center}.admin-programme-capacity-grid{display:grid;gap:22px}.admin-programme-capacity-block>header{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:12px}.admin-programme-capacity-block>header h2{margin:.25rem 0 0}.admin-programme-capacity-row{display:grid;grid-template-columns:minmax(280px,1fr) 120px 120px auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid #e5e0dc}.admin-programme-capacity-row>div:first-child{display:grid;gap:3px}.admin-programme-capacity-row>div:first-child span,.admin-programme-capacity-row>div:first-child small{color:#66706b}.admin-capacity-count{display:grid}.admin-capacity-count.low{color:#9b6a00}.admin-capacity-count.full{color:#a32f3f}
.admin-booth-search-toolbar{grid-template-columns:minmax(0,1fr)}.admin-booth-search-toolbar .admin-search{width:100%}.admin-booth-table th:last-child,.admin-booth-table td:last-child{text-align:right}.admin-booth-table td:last-child{width:1%;min-width:250px;white-space:nowrap}.admin-booth-row-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.admin-modal-backdrop{position:fixed;inset:0;z-index:1000;background:rgba(20,28,24,.58);display:grid;place-items:center;padding:24px}.admin-booth-modal{width:min(920px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:24px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.admin-booth-modal>header{display:flex;justify-content:space-between;gap:20px;align-items:start}.admin-booth-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.admin-booth-detail-grid>div{padding:13px;border-radius:12px;background:#f5f3f0}.admin-booth-detail-grid dt{font-size:.75rem;color:#66706b;text-transform:uppercase;letter-spacing:.08em}.admin-booth-detail-grid dd{margin:4px 0 0;font-weight:700}.admin-booth-blocks{display:grid;gap:18px;margin:20px 0}.admin-booth-blocks fieldset{border:1px solid #dedbd6;border-radius:18px;padding:16px;display:grid;gap:10px}.admin-booth-blocks legend{display:flex;gap:12px;align-items:center;padding:0 8px}.admin-booth-choice,.admin-booth-empty{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid #d7d5d0;border-radius:14px;padding:12px;cursor:pointer}.admin-booth-choice>span{display:grid;gap:2px}.admin-booth-choice em{font-style:normal;color:#66706b}.admin-booth-choice.low{border-color:#e0ad3d;background:#fff9e8}.admin-booth-choice.full{border-color:#c95c68;background:#fff0f2;color:#8a3240;cursor:not-allowed}.admin-booth-choice:has(input:checked),.admin-booth-empty:has(input:checked){outline:2px solid #8a3240;border-color:#8a3240}.admin-booth-actions{display:flex;justify-content:flex-end;gap:12px;position:sticky;bottom:-26px;background:#fff;padding:18px 0 2px}
@media(max-width:900px){.admin-programme-settings{grid-template-columns:1fr 1fr}.admin-programme-settings>div{grid-column:1/-1}.admin-programme-capacity-row{grid-template-columns:1fr 110px}.admin-programme-capacity-row .admin-capacity-count{grid-column:1}.admin-booth-table td:last-child{min-width:210px}}
@media(max-width:620px){.admin-programme-settings{grid-template-columns:1fr}.admin-programme-settings>div{grid-column:auto}.admin-programme-capacity-row{grid-template-columns:1fr}.admin-programme-capacity-row .admin-capacity-count{grid-column:auto}.admin-modal-backdrop{padding:8px}.admin-booth-modal{padding:18px;border-radius:18px;max-height:calc(100vh - 16px)}.admin-booth-detail-grid{grid-template-columns:1fr}.admin-booth-choice{grid-template-columns:auto 1fr}.admin-booth-choice>b{grid-column:2}.admin-booth-actions{flex-direction:column-reverse}.admin-booth-actions button{width:100%}}

/* One conference-programme visual language across public, portal and admin. */
.admin-programme-selection .admin-screen-head h1{font-size:clamp(2rem,4vw,3.7rem);line-height:1.02}
.admin-programme-control{display:grid;gap:22px;margin-bottom:28px;padding:clamp(22px,3vw,34px)}
.admin-programme-now{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.admin-programme-now h2{margin:.3rem 0;font-size:clamp(1.45rem,2.4vw,2.15rem)}
.admin-programme-now p{margin:0;max-width:760px}
.admin-programme-schedule{display:grid;grid-template-columns:minmax(240px,1fr) minmax(190px,.55fr) minmax(190px,.55fr) auto;align-items:end;gap:16px}
.admin-programme-schedule label{display:grid;gap:7px;font-weight:750}.admin-programme-schedule input{width:100%}
.admin-programme-capacity-grid .program-time{position:static}.admin-programme-capacity-grid .program-time small{display:block;margin-top:7px;color:var(--muted)}
.programme-choice-card{position:relative;display:flex;flex-direction:column;min-width:0}
.programme-choice-card.selected{border:2px solid var(--burgundy);background:#f9eef1;box-shadow:0 12px 28px rgba(143,45,69,.12)}
.programme-choice-card.low{border-color:#d49a24;background:#fffaf0}.programme-choice-card.full{border-color:#c95c68;background:#fff3f4}
.programme-choice-badge{display:inline-flex;margin-left:auto;padding:5px 8px;border-radius:999px;background:#f3eee9;color:var(--ink);font-size:.7rem;font-weight:850;white-space:nowrap}
.programme-choice-card.selected .programme-choice-badge{background:var(--burgundy);color:#fff}.programme-choice-card.low .programme-choice-badge{background:#fff0bd;color:#765000}.programme-choice-card.full .programme-choice-badge{background:#f4d5d9;color:#8a2433}
.programme-speaker-name{grid-template-columns:42px minmax(0,1fr)}.programme-speaker-name .program-avatar{width:42px;height:42px;flex-basis:42px}
.programme-card-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px 12px;width:100%;min-width:0;margin-top:auto;padding-top:18px}
.programme-card-controls label{display:grid;grid-column:1/-1;gap:5px;min-width:0}.programme-card-controls label span{font-size:.75rem;font-weight:800;color:var(--muted)}.programme-card-controls input{box-sizing:border-box;width:100%;min-width:0;max-width:100%}
.programme-card-controls>button{justify-self:end;max-width:100%}.admin-capacity-count{min-width:0}.admin-capacity-count span{font-size:.76rem;color:var(--muted)}
.programme-card-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.programme-card-button>.program-card{display:flex;height:100%}.programme-card-button:not(:disabled):hover>.program-card{transform:translateY(-3px);box-shadow:0 14px 36px rgba(23,33,30,.08)}.programme-card-button:disabled{cursor:not-allowed}.programme-card-button:disabled>.program-card:not(.selected){opacity:.72}
.programme-card-title{font-size:1.05rem;line-height:1.3;letter-spacing:-.02em}.programme-card-room{display:block;margin-top:14px;color:var(--muted);font-size:.85rem;font-weight:750}
.portal-programme-block{padding:10px 0;border:0;border-radius:0;background:transparent}.portal-programme-block.common{background:transparent;border:0}.portal-programme-block .program-time span{display:block;margin-bottom:5px;color:var(--burgundy);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.portal-programme-remove{margin-top:12px}.admin-booth-blocks fieldset.program-row{display:grid;margin:0;padding:10px 0;border:0;border-radius:0}.admin-booth-blocks legend.program-time{display:block;padding:18px 0 18px 18px}.admin-booth-blocks .admin-booth-empty{display:flex;margin-bottom:12px;background:#f7f3ef}.programme-card-radio{display:block;cursor:pointer}.programme-card-radio>input{position:absolute;opacity:0;pointer-events:none}.programme-card-radio:focus-within .program-card{outline:3px solid rgba(143,45,69,.25);outline-offset:2px}.programme-card-radio:has(input:disabled){cursor:not-allowed}

@media(max-width:900px){.admin-programme-schedule{grid-template-columns:1fr 1fr}.admin-programme-schedule>div,.admin-programme-schedule>button{grid-column:1/-1}.admin-programme-now{align-items:flex-start;flex-direction:column}.admin-programme-now button{width:100%}}
@media(max-width:640px){.admin-programme-schedule{grid-template-columns:1fr}.admin-programme-schedule>*{grid-column:auto!important}.programme-card-controls{grid-template-columns:1fr}.programme-card-controls button{width:100%}.programme-choice-badge{white-space:normal}.admin-booth-blocks legend.program-time{padding:8px 0 6px 12px}}

/* Full-page registration desk and spacious participant portal. */
body.admin-modal-open{overflow:hidden}
body>#registration-desk-editor:not(:empty){position:fixed!important;inset:0!important;z-index:2147483000!important;display:block!important;width:100vw!important;height:100dvh!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important;transform:none!important;isolation:isolate}
#registration-desk-editor .admin-modal-backdrop{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;padding:14px;overflow:hidden}
#registration-desk-editor .admin-booth-modal{display:flex;flex-direction:column;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;overflow:hidden;border-radius:26px}
#registration-desk-editor .admin-booth-modal:not(.admin-booth-process){overflow-y:auto}
#registration-desk-editor .admin-booth-modal>header{position:relative;z-index:3;flex:0 0 auto;margin:0;padding:22px 28px 18px;border-bottom:1px solid var(--line);background:#fff}
#registration-desk-editor .admin-booth-modal>header h2{margin:.25rem 0 .2rem;font-size:clamp(1.8rem,3vw,3rem)}
.admin-booth-selection-status{display:inline-flex;margin-top:12px;white-space:nowrap}
#registration-desk-editor .admin-booth-blocks{flex:1 1 auto;min-height:0;margin:0;padding:20px 28px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
#registration-desk-editor .admin-booth-blocks .booth-program-row{display:grid;grid-template-columns:155px minmax(0,1fr);width:100%;min-width:0;margin:0;padding:10px 0;border:0}
#registration-desk-editor .admin-booth-blocks .booth-program-row>.program-time{display:block;padding:18px 0 18px 18px}
#registration-desk-editor .admin-booth-blocks .program-content{min-width:0;overflow:visible;padding-bottom:0}
#registration-desk-editor .admin-booth-blocks .program-grid{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0}
#registration-desk-editor .admin-booth-blocks .programme-card-radio{width:100%;min-width:0;height:100%}
#registration-desk-editor .admin-booth-blocks .program-card{height:100%}
#registration-desk-editor .admin-booth-actions{position:relative;bottom:auto;z-index:3;flex:0 0 auto;margin:0;padding:18px 28px;border-top:1px solid var(--line);background:#fff}
#registration-desk-editor .admin-booth-modal>.form-status{flex:0 0 auto;margin:0;padding:0 28px;background:#fff}
#registration-desk-editor .admin-booth-detail-grid,#registration-desk-editor .admin-booth-modal>section,#registration-desk-editor .admin-booth-modal>.admin-secondary{margin-left:28px;margin-right:28px}
.portal-shell.portal-registration-shell{width:min(calc(100% - 40px),var(--max));max-width:var(--max)}
.portal-programme-state{white-space:nowrap}
.portal-programme-window{margin:28px 0 24px;font-weight:800}
.portal-programme-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.portal-programme-options .program-card-top{justify-content:space-between;flex-wrap:wrap}
.portal-programme-options .programme-choice-badge{margin-left:0}
.portal-programme-saved{display:inline-flex;align-items:center;align-self:flex-start;margin:22px 0 0;padding:11px 15px;border-radius:999px;background:#e5ece7;color:#40594a;font-weight:850}
.portal-invoice-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:18px 20px;border-radius:18px;background:#f7f1ec}
.portal-invoice-panel>div{display:grid;gap:3px}.portal-invoice-panel small,.portal-invoice-panel>div>span{color:#766a66}
.portal-status.overdue{background:#f4d5d9;color:#8a2433}
@media(max-width:760px){#registration-desk-editor .admin-modal-backdrop{padding:6px}#registration-desk-editor .admin-booth-modal{border-radius:18px}#registration-desk-editor .admin-booth-modal>header,#registration-desk-editor .admin-booth-blocks,#registration-desk-editor .admin-booth-actions{padding-left:16px;padding-right:16px}.admin-booth-selection-status{white-space:normal}#registration-desk-editor .admin-booth-blocks .booth-program-row{grid-template-columns:1fr;gap:10px}#registration-desk-editor .admin-booth-blocks .booth-program-row>.program-time{position:static;padding:8px 0 6px 12px}#registration-desk-editor .admin-booth-blocks .program-grid,.portal-programme-options{grid-template-columns:1fr}.portal-shell.portal-registration-shell{width:min(calc(100% - 28px),var(--max))}.portal-invoice-panel{align-items:flex-start;flex-direction:column}.portal-programme-state{white-space:nowrap}}

/* Unified MedicRise client portal */
.site-portal-link{color:var(--charcoal);font-size:.9rem;font-weight:800;text-decoration:none;white-space:nowrap}.site-portal-link:hover{color:var(--burgundy)}.nav-portal-mobile{display:none}
.portal-page{margin:0;background:#f5f3f1;color:#263238;font-family:Poppins,Arial,sans-serif}.portal-page *{box-sizing:border-box}.portal-page button,.portal-page input{font:inherit}.portal-page a:focus-visible,.portal-page button:focus-visible,.portal-page input:focus-visible{outline:3px solid rgba(138,50,64,.28);outline-offset:3px}
.portal-login-page{min-height:100vh;background:linear-gradient(145deg,#f7f3f2 0 56%,#e5d7cf 56% 100%)}.portal-login{display:grid;min-height:100vh;place-items:center;padding:32px 18px}.portal-login-card{width:min(100%,520px);padding:46px;border:1px solid #e4d9d5;border-radius:26px;background:#fff;box-shadow:0 24px 80px rgba(38,50,56,.12)}.portal-login-logo{display:inline-flex;margin-bottom:36px}.portal-login-logo img{width:156px;height:auto}.portal-kicker{display:block;color:#8a3240;font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.portal-login-card h1{margin:12px 0 14px;font-size:clamp(2rem,6vw,3rem);line-height:1.08}.portal-login-card>p{margin:0 0 30px;color:#64706b;font-size:1rem;line-height:1.65}.portal-login-card form{display:grid;gap:12px}.portal-login-card label,.portal-profile-form label{font-size:.9rem;font-weight:750}.portal-login-card input,.portal-profile-form input{width:100%;min-height:52px;margin-top:7px;padding:0 15px;border:1px solid #d6cecb;border-radius:12px;background:#fff;color:#263238;font-size:1rem}.portal-login-card .btn{width:100%;min-height:52px;margin-top:5px}.portal-text-button{border:0;background:transparent;color:#8a3240;font-weight:750;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.portal-login-message{min-height:24px;margin:16px 0 0;color:#617969;font-weight:650}.portal-login-back{display:inline-flex;margin-top:22px;color:#68716d;font-size:.9rem;font-weight:650;text-decoration:none}
.portal-app{min-height:100vh}.portal-sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;width:252px;flex-direction:column;padding:28px 20px 22px;border-right:1px solid #e2dedb;background:#fff}.portal-brand{display:flex;align-items:center;gap:10px;padding:0 10px 28px;text-decoration:none}.portal-brand img{width:128px}.portal-brand span{padding-left:9px;border-left:1px solid #d9d1ce;color:#617969;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portal-sidebar nav{display:grid;gap:5px}.portal-sidebar nav a{display:flex;min-height:45px;align-items:center;padding:0 13px;border-radius:11px;color:#4e5955;font-size:.94rem;font-weight:700;text-decoration:none}.portal-sidebar nav a:hover{background:#f7f3f2;color:#8a3240}.portal-sidebar nav a.active{background:#f4e8eb;color:#8a3240}.portal-sidebar-account{display:grid;gap:9px;margin-top:auto;padding:18px 12px 0;border-top:1px solid #eee8e5}.portal-sidebar-account span{overflow:hidden;color:#43504b;font-size:.86rem;font-weight:750;text-overflow:ellipsis}.portal-sidebar-account button{padding:0;border:0;background:transparent;color:#7b706c;font-size:.84rem;text-align:left;cursor:pointer}.portal-main{width:calc(100% - 252px);max-width:1280px;min-height:100vh;margin-left:252px;padding:50px clamp(28px,5vw,72px) 90px}.portal-mobile-header,.portal-mobile-nav{display:none}
.portal-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:0 0 34px}.portal-page-header h1{max-width:820px;margin:9px 0 8px;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.035em}.portal-page-header p{max-width:720px;margin:0;color:#66716d;font-size:1rem;line-height:1.65}.portal-overview-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:20px}.portal-feature-card,.portal-empty-card,.portal-info-card,.portal-action-card,.portal-material-suggestion,.portal-loading-card,.portal-error-card{border:1px solid #e2dcda;border-radius:22px;background:#fff;box-shadow:0 8px 28px rgba(38,50,56,.045)}.portal-feature-card{display:flex;min-height:300px;align-items:flex-end;padding:30px;overflow:hidden;position:relative}.portal-feature-card:before{content:"";position:absolute;right:-70px;top:-80px;width:220px;height:220px;border:42px solid rgba(138,50,64,.07);border-radius:50%}.portal-feature-card.course:before{border-color:rgba(97,121,105,.09)}.portal-feature-card>div{position:relative;z-index:1;width:100%}.portal-feature-card h2,.portal-empty-card h2,.portal-material-suggestion h2{margin:10px 0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.22}.portal-feature-card p,.portal-empty-card p,.portal-material-suggestion p{color:#65706b;line-height:1.55}.portal-card-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:25px}.portal-status{display:inline-flex;min-height:30px;align-items:center;padding:5px 10px;border-radius:999px;background:#eef0ef;color:#56615d;font-size:.78rem;font-weight:800;white-space:nowrap}.portal-status.success{background:#e5eee8;color:#365b43}.portal-status.warning,.portal-status.waiting{background:#f5ead4;color:#76531a}.portal-status.cancelled{background:#f4dfe2;color:#852c3a}.portal-status.neutral{background:#efedec;color:#68615e}.portal-progress{height:7px;margin:20px 0 7px;overflow:hidden;border-radius:999px;background:#ebe7e4}.portal-progress i{display:block;height:100%;border-radius:inherit;background:#8a3240}.portal-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.portal-summary-grid a{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:3px 12px;padding:22px 24px;border:1px solid #e2dcda;border-radius:18px;background:#fff;color:#263238;text-decoration:none}.portal-summary-grid strong{grid-row:1/3;color:#8a3240;font-size:2rem}.portal-summary-grid span{font-weight:750}.portal-summary-grid small{color:#6b746f}.portal-material-suggestion{padding:28px}.portal-material-suggestion .btn{margin-top:8px}
.portal-section{margin-top:38px}.portal-section>h2{margin:0 0 15px;font-size:1.25rem}.portal-list-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:12px;padding:24px 26px;border:1px solid #e2dcda;border-radius:18px;background:#fff;color:#263238;text-decoration:none;transition:.18s ease}.portal-list-card:hover{border-color:#c9b2b8;transform:translateY(-1px)}.portal-list-card h2{margin:7px 0 5px;font-size:1.25rem}.portal-list-card p{margin:0;color:#69736f}.portal-empty-card{padding:30px}.portal-empty-card h3{margin-top:0}.portal-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portal-info-card{padding:28px}.portal-info-card h2,.portal-action-card h2{margin:0 0 18px;font-size:1.25rem}.portal-info-card dl{display:grid;gap:13px;margin:0 0 20px}.portal-info-card dl>div{display:flex;justify-content:space-between;gap:18px;padding-bottom:12px;border-bottom:1px solid #eee9e6}.portal-info-card dt{color:#6c7571}.portal-info-card dd{margin:0;font-weight:750;text-align:right}.portal-action-card{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:26px}.portal-action-card>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#8a3240;color:#fff;font-weight:800}.portal-action-card p{color:#68726e;line-height:1.55}.portal-practical{margin-top:18px}.portal-practical>div{display:grid;gap:5px}.portal-practical span{color:#69736f}
.portal-conference-summary{display:grid;grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr);gap:18px;align-items:start}.portal-conference-actions{display:grid;gap:18px}.portal-conference-actions .portal-action-card{min-height:178px}.portal-invoice-action{display:flex;align-items:stretch;flex-direction:column;gap:14px;margin-top:22px;padding:18px;border-radius:16px;background:#f7f3f2}.portal-invoice-action>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.portal-invoice-action span{color:#6c7571;font-size:.85rem;white-space:nowrap}.portal-invoice-action strong{font-size:1.08rem;white-space:nowrap}.portal-invoice-action .btn{width:100%}.portal-back-link{display:inline-flex;margin:0 0 24px;color:#8a3240;font-size:.92rem;font-weight:800;text-decoration:none}.portal-back-link:hover{text-decoration:underline;text-underline-offset:4px}.portal-program-notice{display:grid;gap:8px;margin:-8px 0 26px;padding:22px 24px;border:1px solid #ded8d5;border-radius:18px;background:#fff}.portal-program-notice.payment{border-color:#ead7b6;background:#fff9ed}.portal-program-notice strong{font-size:1.1rem}.portal-program-notice p{max-width:760px;margin:0;color:#65706b;line-height:1.55}.portal-program-notice .btn{justify-self:start;margin-top:6px}.portal-program-common-card{padding:22px;border:1px solid #d8e3db;border-radius:18px;background:#fff}.portal-program-option{display:block!important;min-height:250px!important;padding:22px!important}.portal-program-card{display:flex!important;height:100%;min-width:0;flex-direction:column;align-items:flex-start;gap:16px}.portal-program-card-top{display:flex!important;width:100%;align-items:center;justify-content:space-between;gap:12px}.portal-program-card>strong{font-size:1.18rem;line-height:1.35}.portal-program-card>small{margin-top:auto;color:#69736f}.portal-program-card-state{display:inline-flex!important;min-height:30px;align-items:center;padding:5px 10px;border-radius:999px;background:#f3eee9;color:#665d59;font-size:.76rem;font-weight:850;white-space:nowrap}.portal-program-option.selected .portal-program-card-state{background:#8a3240;color:#fff}.portal-program-speakers{display:grid!important;gap:10px}.portal-program-speaker{display:grid!important;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:12px}.portal-program-speaker img,.portal-program-speaker i{width:52px;height:52px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #dccfcb;object-fit:cover}.portal-program-speaker i{display:grid;place-items:center;background:#e5ece7;color:#40594a;font-style:normal;font-weight:850}.portal-program-speaker b{color:#617969;font-size:.94rem}.portal-feedback-form{max-width:none;margin:0}.portal-feedback-form .portal-program-speakers{margin-top:16px}
.portal-program-list{display:grid;gap:16px}.portal-program-block{padding:24px;border:1px solid #e1dcda;border-radius:20px;background:#fff}.portal-program-block.common{background:#edf2ee;border-color:#d8e3db}.portal-program-block header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.portal-program-block header span{color:#8a3240;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portal-program-block h3{margin:0 0 6px}.portal-program-block p{margin:0;color:#617969}.portal-program-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-program-options button{display:flex;min-height:104px;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #dcd4d2;border-radius:15px;background:#fff;color:#263238;text-align:left;cursor:pointer}.portal-program-options button:hover:not(:disabled){border-color:#8a3240}.portal-program-options button.selected{border:2px solid #8a3240;background:#f8ecef}.portal-program-options button:disabled:not(.selected){cursor:not-allowed;opacity:.6}.portal-program-options button span{display:grid;gap:6px}.portal-program-options button small{color:#69736f}.portal-program-options button em{color:#8a3240;font-size:.83rem;font-style:normal;font-weight:800}.portal-program-block>.portal-text-button{margin-top:12px}.portal-form-status{min-height:24px;color:#617969;font-weight:700}
.portal-course-grid,.portal-material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portal-course-card{overflow:hidden;border:1px solid #e1dcda;border-radius:20px;background:#fff}.portal-course-cover{display:grid;min-height:170px;place-items:center;overflow:hidden;background:#e9eeea;color:#617969;font-weight:800}.portal-course-cover img{width:100%;height:190px;object-fit:cover}.portal-course-card>div:last-child{padding:24px}.portal-course-card h2{margin:9px 0;font-size:1.32rem}.portal-course-card p{min-height:48px;color:#69736f;line-height:1.55}.portal-course-card small{display:block;margin-bottom:17px;color:#69736f}.portal-course-card .btn{width:100%}.portal-course-card .btn.disabled{pointer-events:none;opacity:.5}.portal-discovery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-discovery-card,.portal-material-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px;border:1px solid #e1dcda;border-radius:18px;background:#fff}.portal-discovery-card h3,.portal-material-card h2{margin:8px 0}.portal-discovery-card p,.portal-material-card p{margin:0;color:#69736f;line-height:1.5}.portal-material-card{min-height:190px;align-items:flex-end}.portal-material-card .btn{flex:0 0 auto}.portal-certificate-list{display:grid;gap:12px}.portal-certificate-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 24px;border:1px solid #e1dcda;border-radius:17px;background:#fff}.portal-certificate-card>span{color:#8a3240;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portal-certificate-card h2{margin:0 0 5px;font-size:1.12rem}.portal-certificate-card p{margin:0;color:#69736f;font-size:.9rem}.portal-profile-form{max-width:780px;padding:30px;border:1px solid #e1dcda;border-radius:22px;background:#fff}.portal-profile-form>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portal-profile-form label small{display:block;margin-top:7px;color:#77716e;font-size:.78rem;font-weight:500;line-height:1.45}.portal-profile-form>.btn{margin-top:24px}.portal-loading-card,.portal-error-card{padding:34px}.portal-loading-card{color:#617969;font-weight:700}.portal-error-card h2{margin-top:0}
@media(max-width:980px){.portal-sidebar{width:220px}.portal-main{width:calc(100% - 220px);margin-left:220px;padding-left:28px;padding-right:28px}.portal-overview-grid,.portal-detail-grid,.portal-conference-summary,.portal-course-grid,.portal-material-grid{grid-template-columns:1fr}.portal-program-options{grid-template-columns:1fr}.portal-discovery-grid{grid-template-columns:1fr}}
@media(max-width:760px){.site-portal-link{display:none}.portal-sidebar{display:none}.portal-mobile-header{position:sticky;top:0;z-index:30;display:flex;height:66px;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #e5dfdc;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.portal-mobile-header img{width:128px}.portal-mobile-header button{min-width:48px;min-height:42px;border:0;border-radius:10px;background:#f4ecee;color:#8a3240;font-weight:750}.portal-main{width:100%;margin:0;padding:28px 16px 100px}.portal-mobile-nav{position:fixed;right:8px;bottom:8px;left:8px;z-index:40;display:grid;grid-template-columns:repeat(5,1fr);padding:6px;border:1px solid #ded7d4;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px rgba(38,50,56,.18);backdrop-filter:blur(14px)}.portal-mobile-nav a{display:grid;min-height:48px;place-items:center;border-radius:12px;color:#626b67;font-size:.68rem;font-weight:750;text-decoration:none}.portal-mobile-nav a.active{background:#f2e5e8;color:#8a3240}.portal-menu-open .portal-sidebar{position:fixed;inset:66px 0 0 0;z-index:29;display:flex;width:auto;padding-bottom:88px}.portal-menu-open .portal-sidebar .portal-brand{display:none}.portal-page-header{display:grid;margin-bottom:26px}.portal-page-header h1{font-size:2.15rem}.portal-page-header>.portal-status{justify-self:start}.portal-overview-grid{gap:14px}.portal-feature-card{min-height:260px;padding:24px}.portal-card-footer{align-items:flex-start;flex-direction:column}.portal-card-footer .btn{width:100%}.portal-summary-grid{grid-template-columns:1fr}.portal-list-card{align-items:flex-start;flex-direction:column}.portal-detail-grid{gap:12px}.portal-info-card,.portal-action-card{padding:22px}.portal-info-card dl>div{display:grid;gap:3px}.portal-info-card dd{text-align:left}.portal-invoice-action{align-items:stretch;flex-direction:column}.portal-invoice-action .btn{width:100%}.portal-program-block{padding:18px}.portal-program-options button{min-height:116px;align-items:flex-start;flex-direction:column}.portal-program-option{min-height:0!important}.portal-program-card-top{align-items:flex-start;flex-direction:column}.portal-program-card-state{white-space:normal}.portal-program-speaker{grid-template-columns:46px minmax(0,1fr)}.portal-program-speaker img,.portal-program-speaker i{width:46px;height:46px}.portal-program-notice .btn{width:100%}.portal-course-grid,.portal-material-grid{gap:14px}.portal-discovery-card,.portal-material-card{align-items:stretch;flex-direction:column}.portal-material-card{min-height:0}.portal-certificate-card{grid-template-columns:1fr;gap:10px}.portal-certificate-card .btn{width:100%}.portal-profile-form{padding:22px}.portal-profile-form>div{grid-template-columns:1fr}.portal-login-card{padding:32px 24px;border-radius:22px}.portal-login-page{background:#f7f3f2}}

@media(max-width:980px){.nav-links .nav-portal-mobile{display:flex;width:100%;min-height:46px;align-items:center;justify-content:center;margin-top:4px;border-radius:12px;background:var(--burgundy);color:#fff}.nav-links .nav-portal-mobile:hover{color:#fff;background:var(--burgundy-dark)}}

/* Portal visual refresh: the public MedicRise brand, adapted for daily use. */
.portal-page{background:#f7f3f2}
.portal-page .btn{min-height:48px;border-radius:10px;font-weight:800}
.portal-page .btn-primary{border-color:#8a3240;background:#8a3240;color:#fff;box-shadow:0 8px 20px rgba(138,50,64,.16)}
.portal-page .btn-primary:hover{border-color:#6f2632;background:#6f2632;transform:translateY(-1px)}
.portal-page .btn-secondary{border-color:#8a3240;background:#fff;color:#8a3240}
.portal-page .btn-secondary:hover{background:#f8ecef;color:#762936}
.portal-main{max-width:1440px;padding-top:58px}
.portal-page-header{margin-bottom:38px}
.portal-page-header h1{font-weight:800;letter-spacing:-.045em}
.portal-page-header p{font-size:1.02rem}
.portal-feature-card,.portal-empty-card,.portal-info-card,.portal-action-card,.portal-material-suggestion,.portal-loading-card,.portal-error-card,.portal-course-card,.portal-discovery-card,.portal-material-card,.portal-certificate-card,.portal-profile-form{border-color:#e5d7cf;border-radius:24px;box-shadow:0 12px 34px rgba(38,50,56,.06)}
.portal-feature-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(180px,.92fr);min-height:340px;align-items:stretch;padding:0}
.portal-feature-card:before{display:none}
.portal-feature-card>.portal-feature-copy{z-index:1;display:flex;width:auto;min-width:0;flex-direction:column;justify-content:center;padding:32px}
.portal-feature-card h2{font-size:clamp(1.45rem,2.3vw,2.2rem)}
.portal-feature-card .portal-card-footer{margin-top:auto;padding-top:24px}
.portal-feature-media{min-width:0;overflow:hidden;background:#e5d7cf}
.portal-feature-media img{width:100%;height:100%;min-height:340px;object-fit:cover}
.portal-feature-media.portal-illustration{display:grid;place-items:center;background:#f1e5df}
.portal-feature-media.portal-illustration img{width:92%;height:92%;min-height:0;object-fit:contain}
.portal-feature-card.course{grid-template-columns:minmax(190px,.92fr) minmax(0,1.08fr)}
.portal-feature-card.course .portal-feature-media{order:0}
.portal-feature-card.course .portal-feature-copy{order:1}
.portal-feature-card.course .portal-progress{margin-top:22px}
.portal-summary-grid a{border-color:#e5d7cf;border-radius:20px;box-shadow:0 10px 28px rgba(38,50,56,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.portal-summary-grid a:hover{border-color:#cbaeb5;box-shadow:0 14px 34px rgba(38,50,56,.08);transform:translateY(-2px)}
.portal-material-suggestion{display:grid;grid-template-columns:190px minmax(0,1fr);align-items:center;gap:34px;padding:26px 34px;overflow:hidden}
.portal-material-suggestion-cover{align-self:stretch;display:grid;min-height:230px;place-items:center;padding:18px;border-radius:18px;background:#e5d7cf}
.portal-material-suggestion-cover img{width:100%;height:100%;max-height:245px;object-fit:contain;filter:drop-shadow(0 12px 15px rgba(38,50,56,.14))}
.portal-material-suggestion .btn{margin-top:12px}
.portal-course-grid{gap:24px}
.portal-course-card{display:flex;min-width:0;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
.portal-course-card:hover{box-shadow:0 18px 42px rgba(38,50,56,.1);transform:translateY(-3px)}
.portal-course-cover{min-height:0;aspect-ratio:16/9;background:#e5d7cf}
.portal-course-cover img{width:100%;height:100%;object-fit:cover}
.portal-course-body{display:flex!important;flex:1;flex-direction:column;padding:28px!important}
.portal-course-card h2{font-size:1.45rem;line-height:1.25}
.portal-course-card p{min-height:0;margin-bottom:22px}
.portal-course-progress{margin-top:auto}
.portal-course-progress .portal-progress{margin-top:0}
.portal-discovery-grid{gap:20px}
.portal-discovery-card{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:stretch;padding:0;overflow:hidden}
.portal-discovery-cover{min-height:220px;background:#e5d7cf}
.portal-discovery-cover img{width:100%;height:100%;object-fit:cover}
.portal-discovery-body{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:25px}
.portal-discovery-body h3{font-size:1.2rem;line-height:1.3}
.portal-discovery-body p{margin-bottom:22px}
.portal-discovery-body .btn{margin-top:auto}
.portal-library-section{margin-top:36px}
.portal-library-section>h2{margin:0 0 18px;font-size:1.3rem}
.portal-material-grid{gap:24px}
.portal-material-card{display:grid;grid-template-columns:minmax(180px,.82fr) minmax(0,1.18fr);min-height:320px;align-items:stretch;padding:0;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.portal-material-card:hover{box-shadow:0 18px 42px rgba(38,50,56,.1);transform:translateY(-3px)}
.portal-material-cover{display:grid;place-items:center;padding:24px;background:#e5d7cf}
.portal-material-cover img{width:100%;height:100%;max-height:290px;object-fit:contain;filter:drop-shadow(0 13px 16px rgba(38,50,56,.16))}
.portal-material-body{display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:30px}
.portal-material-body h2{font-size:1.55rem;line-height:1.25}
.portal-material-body p{margin-bottom:24px}
.portal-material-body .btn{margin-top:auto}
.portal-material-consent{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;margin:4px 0 20px;color:#5f6965;font-size:.78rem;line-height:1.5;cursor:pointer}
.portal-material-consent input{width:18px;height:18px;margin:1px 0 0;accent-color:#8a3240}
.portal-material-consent input:focus-visible{outline:3px solid rgba(138,50,64,.25);outline-offset:2px}
.portal-material-status{min-height:20px;margin:10px 0 0;color:#8a3240;font-size:.78rem;font-weight:700;line-height:1.45}
.portal-sidebar nav a.active{background:#8a3240;color:#fff;box-shadow:0 8px 18px rgba(138,50,64,.14)}
.portal-sidebar nav a.active:hover{background:#762936;color:#fff}
.portal-progress{height:8px;background:#e9e2de}
.portal-progress i{background:#8a3240}
@media(max-width:1180px){.portal-feature-card{grid-template-columns:1fr}.portal-feature-card.course{grid-template-columns:1fr}.portal-feature-media,.portal-feature-card.course .portal-feature-media{order:0;max-height:230px}.portal-feature-card>.portal-feature-copy,.portal-feature-card.course .portal-feature-copy{order:1}.portal-feature-media img{min-height:230px}.portal-feature-media.portal-illustration img{height:210px}.portal-discovery-card{grid-template-columns:140px minmax(0,1fr)}.portal-material-card{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:760px){.portal-main{padding-top:32px}.portal-page-header{margin-bottom:28px}.portal-feature-card,.portal-feature-card.course{grid-template-columns:1fr;min-height:0}.portal-feature-media,.portal-feature-card.course .portal-feature-media{height:205px;max-height:none}.portal-feature-media img{min-height:205px}.portal-feature-media.portal-illustration img{height:190px}.portal-feature-card>.portal-feature-copy{padding:25px}.portal-feature-card .portal-card-footer{padding-top:18px}.portal-material-suggestion{grid-template-columns:112px minmax(0,1fr);gap:20px;padding:20px}.portal-material-suggestion-cover{min-height:170px;padding:10px}.portal-material-suggestion .btn{width:100%}.portal-course-body{padding:24px!important}.portal-discovery-card{grid-template-columns:1fr}.portal-discovery-cover{min-height:0;aspect-ratio:16/9}.portal-material-card{grid-template-columns:122px minmax(0,1fr);min-height:270px}.portal-material-cover{padding:14px}.portal-material-body{padding:22px}.portal-material-body h2{font-size:1.3rem}.portal-material-body .btn{width:100%;padding-left:12px;padding-right:12px}}
@media(max-width:430px){.portal-material-suggestion{grid-template-columns:1fr}.portal-material-suggestion-cover{max-height:240px}.portal-material-card{grid-template-columns:1fr}.portal-material-cover{height:260px}.portal-material-body{min-height:260px}}

.admin-programme-export{margin-left:auto;align-self:center}
.admin-feedback-privacy{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;margin-bottom:22px;background:#eef4ef;border-color:#cfdfd3}
.admin-feedback-privacy h2{margin:0 0 7px}.admin-feedback-privacy p{margin:0;color:#617069;line-height:1.6}
.admin-feedback-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}
.admin-feedback-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-feedback-metrics>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;background:#f7f3ef}
.admin-feedback-metrics span{color:#6f7771}.admin-feedback-metrics strong{font-size:1.25rem;color:#8a3240}
.admin-feedback-sources{display:flex;flex-wrap:wrap;gap:9px}
.admin-feedback-sources>span{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #e4d9da;border-radius:999px;background:#fff}
.admin-feedback-sources b{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#8a3240;color:#fff}
.admin-feedback-comments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-feedback-comments blockquote{margin:0;padding:18px;border-left:4px solid #8a3240;border-radius:0 16px 16px 0;background:#f8f3ef}
.admin-feedback-comments blockquote span{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8a3240}
.admin-feedback-comments blockquote p{margin:8px 0 0;line-height:1.55}
@media(max-width:900px){.admin-feedback-grid{grid-template-columns:1fr}.admin-feedback-comments{grid-template-columns:1fr}.admin-feedback-privacy{grid-template-columns:1fr}.admin-programme-export{margin-left:0}}

/* 2026-09 admin IA consolidation: denser working surface and scannable navigation. */
body:has(.admin-app),
body:has(.admin-login) {
  font-family: "Poppins", Arial, sans-serif;
}
.admin-app {
  background: var(--mr-cream);
}
.admin-app h1,
.admin-app h2,
.admin-app h3,
.admin-editor h2,
.admin-confirm-dialog h2 {
  font-family: "Poppins", Arial, sans-serif;
  letter-spacing: -0.025em;
}
.admin-screen-head h1 {
  font-size: clamp(2rem, 3vw, 3.1rem);
  line-height: 1.05;
}
.admin-screen-head,
.admin-page-header {
  align-items: center;
  margin-bottom: 28px;
}
.admin-nav-section-label {
  display: block;
  margin: 18px 10px 6px;
  color: #8b8f8c;
  font-size: .57rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.admin-subnav {
  gap: 2px;
  max-height: 720px;
}
.admin-subnav-heading {
  display: block;
  margin: 10px 10px 3px;
  color: #9a9d9b;
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.admin-subnav-heading:first-child {
  margin-top: 6px;
}
.admin-subnav-item {
  min-height: 35px;
  font-size: .68rem;
}
.admin-course-tabs {
  display: flex;
  gap: 5px;
  overflow-x: auto;
  scrollbar-width: thin;
}
.admin-course-tabs button {
  flex: 0 0 auto;
}
.admin-course-workspace-stack {
  display: grid;
  gap: 24px;
}
.admin-course-workspace-stack > .admin-panel,
.admin-course-workspace-stack > .admin-pricing-grid,
.admin-course-workspace-stack > .admin-publication-grid {
  margin: 0;
}
.admin-marketing-hero {
  background: #fff;
  border: 1px solid var(--mr-line);
}
.admin-marketing-hero h2 {
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1.05;
}
@media (max-width: 900px) {
  .admin-screen-head,
  .admin-page-header {
    align-items: flex-start;
  }
  .admin-nav-section-label {
    margin-top: 14px;
  }
}

/* 2026-09 Portal-aligned Admin shell and product surfaces. */
:root {
  --mr-sidebar: 252px;
  --mr-cream: #f5f3f1;
  --mr-warm: #f7f3f2;
  --mr-line: #e5d7cf;
  --mr-line-strong: #d9d1ce;
  --mr-sans: "Poppins", Arial, sans-serif;
  --mr-serif: "Poppins", Arial, sans-serif;
  --mr-content: 1440px;
}
body:has(.admin-app), .admin-app, .admin-main { background: var(--mr-cream); }
.admin-sidebar {
  width: 252px;
  padding: 28px 20px 18px;
  border-right: 1px solid #e2dedb;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}
.admin-mobile-head {
  height: auto;
  min-height: 50px;
  align-items: center;
  padding: 0 10px 24px;
  border-bottom: 0;
}
.admin-brand { display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; }
.admin-brand > img { display: block; width: 128px; height: auto; }
.admin-brand > span {
  width: auto;
  padding-left: 9px;
  border-left: 1px solid #d9d1ce;
  color: #617969;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.admin-mobile-menu { height: calc(100dvh - 102px); }
.admin-main-nav { padding: 0 0 12px; }
.admin-nav-item {
  min-height: 45px;
  grid-template-columns: 31px minmax(0, 1fr) auto;
  gap: 8px;
  margin: 2px 0;
  padding: 0 12px;
  border-radius: 11px;
  color: #4e5955;
}
.admin-nav-item > span { width: 26px; height: 26px; border-radius: 8px; color: #68736e; }
.admin-nav-item > span .admin-ui-icon { width: 18px; height: 18px; }
.admin-nav-item > b { font-size: .78rem; font-weight: 700; }
.admin-nav-item:hover { background: #f7f3f2; color: #8a3240; }
.admin-nav-item.active {
  background: #8a3240;
  color: #fff;
  box-shadow: 0 8px 18px rgba(138, 50, 64, .14);
}
.admin-nav-item.active > span { background: transparent; color: #fff; }
.admin-nav-group { margin: 5px 0; padding-bottom: 5px; border-bottom-color: #eee8e5; }
.admin-subnav { margin-left: 36px; border-left-color: #e5ded9; }
.admin-subnav-item { min-height: 34px; font-size: .69rem; }
.admin-nav-section-label { margin: 18px 12px 6px; font-size: .55rem; }
.admin-edition-compact { margin: 8px 0 12px; padding: 12px; border-radius: 14px; background: #f7f3f2; }
.admin-sidebar-bottom { padding-top: 12px; border-top-color: #eee8e5; }
.admin-topbar {
  height: 68px;
  padding: 0 clamp(24px, 4vw, 58px);
  border-bottom-color: #e4dedb;
  background: rgba(245, 243, 241, .92);
  backdrop-filter: blur(14px);
}
#admin-view { height: calc(100dvh - 68px); padding: 46px clamp(28px, 5vw, 72px) 90px; }
.admin-screen-head, .admin-page-header { margin-bottom: 30px; }
.admin-screen-head h1 { font-size: clamp(2.05rem, 3vw, 3.15rem); font-weight: 700; line-height: 1.08; }
.admin-screen-head p { font-size: .9rem; line-height: 1.6; }
.admin-panel,
.admin-form-section,
.admin-crm-section,
.admin-inventory-card,
.admin-course-card,
.admin-wbs-phase,
.admin-program-card,
.admin-person-card,
.admin-table-wrap {
  border-color: #e5d7cf !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(38, 50, 56, .055) !important;
}
.admin-panel:hover,
.admin-course-card:hover,
.admin-inventory-card:hover,
.admin-person-card:hover {
  border-color: #cbaeb5 !important;
  box-shadow: 0 18px 42px rgba(38, 50, 56, .09) !important;
}
.admin-primary { min-height: 46px; border-radius: 11px !important; padding-inline: 18px !important; font-size: .76rem !important; }
.admin-secondary,
.admin-row-actions button,
.admin-card-actions button,
.admin-table-action,
.admin-add-task { border-radius: 11px !important; }
.admin-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px !important; }
.admin-course-card { display: flex; min-width: 0; flex-direction: column; transition: transform .18s ease, box-shadow .18s ease; }
.admin-course-card:hover { transform: translateY(-3px); }
.admin-course-cover { min-height: 0; aspect-ratio: 16 / 9; border-radius: 0 !important; background: #e5d7cf; }
.admin-course-cover img { width: 100%; height: 100%; object-fit: cover; }
.admin-course-cover > span { display: grid; width: 100%; height: 100%; place-items: center; color: #617969; font-size: 3rem; }
.admin-course-card-body { display: flex; flex: 1; flex-direction: column; padding: 26px !important; }
.admin-course-card-body > p { min-height: 0; margin-bottom: 22px; }
.admin-course-metrics { margin-top: auto; }
.admin-course-card .admin-primary { width: 100%; margin-top: 18px; }
.admin-form-identity {
  display: grid;
  min-width: 220px;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}
.admin-form-thumbnail {
  display: grid;
  width: 58px;
  height: 72px;
  place-items: center;
  overflow: hidden;
  border: 1px solid #e5d7cf;
  border-radius: 10px;
  background: #e5d7cf;
}
.admin-form-thumbnail img { width: 100%; height: 100%; object-fit: contain; }
.admin-form-thumbnail.generic { height: 58px; color: #617969; }
.admin-form-thumbnail.generic .admin-ui-icon { width: 24px; height: 24px; }
.admin-marketing-core .admin-table td:first-child { padding-block: 12px !important; }
@media (max-width: 1180px) { .admin-course-grid { grid-template-columns: 1fr; } }
@media (max-width: 980px) and (min-width: 761px) {
  :root { --mr-sidebar: 220px; }
  .admin-sidebar { width: 220px; padding-inline: 14px; }
  .admin-brand > img { width: 116px; }
  #admin-view { padding-inline: 28px; }
}
@media (max-width: 760px) {
  .admin-sidebar {
    position: fixed;
    inset: 0 0 auto;
    width: 100%;
    height: 66px;
    padding: 0 16px;
    overflow: visible;
    border: 0;
    border-bottom: 1px solid #e2dedb;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 8px 24px rgba(38, 50, 56, .06);
  }
  .admin-mobile-head {
    width: 100%;
    height: 66px;
    min-height: 66px;
    padding: 0;
  }
  .admin-brand {
    width: auto;
    min-height: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .admin-brand > img { width: 122px; flex: 0 0 auto; }
  .admin-brand > span {
    width: auto;
    display: block;
    padding-left: 9px;
    border-left: 1px solid #d9d1ce;
    color: #617969;
    font-size: .68rem;
  }
  .admin-mobile-toggle {
    position: relative;
    z-index: 2;
    display: grid !important;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    place-content: center;
    gap: 5px;
    padding: 0;
    border: 1px solid #e5d7cf !important;
    border-radius: 11px !important;
    background: #f4e8eb !important;
    box-shadow: none;
  }
  .admin-mobile-toggle > span {
    display: block;
    width: 20px;
    height: 2px;
    border-radius: 99px;
    background: #8a3240;
  }
  .admin-mobile-menu {
    position: fixed;
    inset: 66px 0 0;
    width: 100%;
    height: calc(100dvh - 66px);
    display: none;
    flex-direction: column;
    grid-template-rows: none;
    padding: 16px 16px 28px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fff;
    box-shadow: none;
    transform: none;
  }
  .admin-sidebar.mobile-open .admin-mobile-menu { display: flex; transform: none; }
  .admin-sidebar .admin-main-nav {
    width: 100%;
    display: block !important;
    flex: 0 0 auto;
    max-height: none;
    margin: 0 !important;
    padding: 0 0 12px;
    overflow: visible;
  }
  .admin-nav-item {
    min-height: 48px;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    padding: 7px 12px;
  }
  .admin-nav-item > b { font-size: .88rem; }
  .admin-subnav {
    display: grid !important;
    height: auto;
    max-height: none;
    grid-auto-rows: minmax(38px, auto);
    align-content: start;
    gap: 2px;
    margin: 3px 0 8px 36px;
    overflow: visible;
  }
  .admin-nav-group.collapsed .admin-subnav { display: none !important; }
  .admin-subnav-item {
    min-height: 38px;
    padding: 8px 10px;
    color: #68736e;
    font-size: .8rem;
  }
  .admin-subnav-item:hover { background: #f7f3f2; color: #8a3240; }
  .admin-subnav-item.active { background: #f4e8eb; color: #8a3240; }
  .admin-subnav-heading { margin: 12px 10px 4px; color: #919793; }
  .admin-edition-compact {
    margin: 8px 0 12px;
    padding: 14px;
    border: 1px solid #e5d7cf;
    background: #f7f3f2;
  }
  .admin-sidebar-bottom {
    display: block;
    margin-top: 0;
    padding: 12px 0 0;
    border-top: 1px solid #eee8e5;
  }
  .admin-sidebar-bottom button { color: #4e5955; }
  .admin-topbar { display: none; }
  #admin-view { height: calc(100dvh - 66px); padding: 28px 16px 90px; }
  .admin-screen-head h1 { font-size: 2.15rem; }
  .admin-course-card-body { padding: 22px !important; }
}

/* Admin mobile workspace — shared responsive behavior across every module. */
@media (max-width: 760px) {
  body:has(.admin-app) {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
    background: #f7f3f2;
  }
  body.admin-menu-open { overflow: hidden; }
  .admin-app,
  .admin-main,
  #admin-view,
  .admin-screen,
  .admin-screen > *,
  .admin-panel,
  .admin-card {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  #admin-view {
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-x: none;
  }
  .admin-screen {
    gap: 18px;
  }
  .admin-screen h1,
  .admin-screen h2,
  .admin-screen h3,
  .admin-screen p,
  .admin-screen a,
  .admin-screen button,
  .admin-screen td,
  .admin-screen th,
  .admin-screen label,
  .admin-screen strong,
  .admin-screen small {
    overflow-wrap: anywhere;
  }
  .admin-screen-head,
  .admin-page-header,
  .admin-panel-head,
  .admin-section-heading,
  .admin-form-title,
  .admin-editor-head,
  .admin-card-head {
    display: flex !important;
    width: 100%;
    min-width: 0;
    flex-direction: column;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .admin-screen-head > div,
  .admin-page-header > div,
  .admin-panel-head > div,
  .admin-section-heading > div,
  .admin-form-title > div,
  .admin-editor-head > div,
  .admin-card-head > div {
    min-width: 0;
  }
  .admin-screen-head h1 {
    max-width: 100%;
    margin: 0;
    font-size: clamp(1.75rem, 8vw, 2.15rem);
    line-height: 1.08;
  }
  .admin-screen-head p { max-width: 100%; font-size: .94rem; line-height: 1.55; }

  .admin-head-actions,
  .admin-form-actions,
  .admin-inline-actions,
  .admin-account-actions,
  .admin-inventory-form-actions,
  .admin-invoice-actions,
  .admin-booth-actions,
  .admin-booth-row-actions,
  .admin-doorcard-preview-actions,
  .admin-campaign-step-actions,
  .admin-quiz-question-actions,
  .admin-json-template-actions,
  .admin-card-actions,
  .admin-row-actions {
    display: grid !important;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  :where(.admin-head-actions,.admin-form-actions,.admin-inline-actions,.admin-account-actions,.admin-inventory-form-actions,.admin-invoice-actions,.admin-booth-actions,.admin-booth-row-actions,.admin-doorcard-preview-actions,.admin-campaign-step-actions,.admin-quiz-question-actions,.admin-json-template-actions,.admin-card-actions,.admin-row-actions) > :where(button,a,.admin-primary,.admin-secondary) {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    justify-content: center;
  }

  .admin-participant-toolbar,
  .admin-inventory-toolbar,
  .admin-invoice-toolbar,
  .admin-workshop-toolbar,
  .admin-discount-toolbar,
  .admin-automation-toolbar,
  .admin-booth-search-toolbar,
  .admin-form-builder-toolbar,
  .admin-email-block-toolbar,
  .admin-email-image-actions,
  .admin-filter-bar,
  .admin-controls,
  .admin-search-row {
    display: grid !important;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
  }
  :where(.admin-participant-toolbar,.admin-inventory-toolbar,.admin-invoice-toolbar,.admin-workshop-toolbar,.admin-discount-toolbar,.admin-automation-toolbar,.admin-booth-search-toolbar,.admin-form-builder-toolbar,.admin-email-block-toolbar,.admin-email-image-actions,.admin-filter-bar,.admin-controls,.admin-search-row) > :where(input,select,button,a,label,.admin-primary,.admin-secondary) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  :where(
    .admin-dashboard-grid,.admin-os-grid,.admin-pricing-grid,.admin-invoice-grid,
    .admin-relation-grid,.admin-form-grid,.admin-crm-layout,.admin-workshop-layout,
    .admin-settings-layout,.admin-participant-detail-grid,.admin-invoice-detail-grid,
    .admin-invoice-item-grid,.admin-course-grid,.admin-inventory-grid,.admin-person-grid,
    .admin-partner-grid,.admin-feedback-grid,.admin-audit-video-grid,
    .admin-marketing-dashboard-grid,.admin-marketing-profile-grid,.admin-segment-grid,
    .admin-segment-builder-layout,.admin-static-segment-layout,.admin-contact-import-layout,
    .admin-contact-import-workspace,.admin-campaign-workspace,.admin-campaign-review-grid,
    .admin-campaign-test-layout,.admin-automation-workspace,.admin-form-builder-workspace,
    .admin-email-builder-layout,.admin-email-composer-grid,.admin-email-document-grid,
    .admin-email-design-grid,.admin-email-health-grid,.admin-email-library-grid,
    .admin-lesson-workspace,.admin-programme-capacity-grid,.admin-publication-grid,
    .admin-taxonomy-grid,.admin-doorcard-grid,.admin-license-grid,.admin-milestone-grid,
    .admin-ops-grid,.admin-automation-grid,.admin-automation-template-grid,
    .admin-json-template-grid,.admin-segment-type-grid,.admin-rule-workspace
  ) {
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) !important;
  }
  :where(
    .admin-dashboard-grid,.admin-os-grid,.admin-pricing-grid,.admin-invoice-grid,
    .admin-relation-grid,.admin-form-grid,.admin-crm-layout,.admin-workshop-layout,
    .admin-settings-layout,.admin-participant-detail-grid,.admin-invoice-detail-grid,
    .admin-invoice-item-grid,.admin-course-grid,.admin-inventory-grid,.admin-person-grid,
    .admin-partner-grid,.admin-feedback-grid,.admin-audit-video-grid,
    .admin-marketing-dashboard-grid,.admin-marketing-profile-grid,.admin-segment-grid,
    .admin-segment-builder-layout,.admin-static-segment-layout,.admin-contact-import-layout,
    .admin-contact-import-workspace,.admin-campaign-workspace,.admin-campaign-review-grid,
    .admin-campaign-test-layout,.admin-automation-workspace,.admin-form-builder-workspace,
    .admin-email-builder-layout,.admin-email-composer-grid,.admin-email-document-grid,
    .admin-email-design-grid,.admin-email-health-grid,.admin-email-library-grid,
    .admin-lesson-workspace,.admin-programme-capacity-grid,.admin-publication-grid,
    .admin-taxonomy-grid,.admin-doorcard-grid,.admin-license-grid,.admin-milestone-grid,
    .admin-ops-grid,.admin-automation-grid,.admin-automation-template-grid,
    .admin-json-template-grid,.admin-segment-type-grid,.admin-rule-workspace
  ) > * { min-width: 0; max-width: 100%; }

  .admin-stats,
  .admin-dashboard-stats,
  .admin-os-metrics,
  .admin-marketing-metrics,
  .admin-feedback-metrics,
  .admin-course-summary,
  .admin-audience-preview {
    display: grid !important;
    width: 100%;
    min-width: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  :where(.admin-stats,.admin-dashboard-stats,.admin-os-metrics,.admin-marketing-metrics,.admin-feedback-metrics,.admin-course-summary,.admin-audience-preview) > * {
    min-width: 0;
    padding: 14px !important;
  }

  .admin-panel,
  .admin-card,
  .admin-summary-card,
  .admin-stat,
  .admin-empty {
    max-width: 100%;
    border-radius: 18px !important;
  }
  .admin-panel,
  .admin-summary-card { padding: 18px !important; }
  .admin-course-card-body { padding: 18px !important; }
  .admin-form-identity { min-width: 0; grid-template-columns: 50px minmax(0, 1fr); }
  .admin-form-thumbnail { width: 50px; height: 62px; }

  .admin-screen :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    font-size: 16px !important;
  }
  .admin-screen textarea { min-height: 112px; resize: vertical; }
  .admin-screen :where(button,.admin-primary,.admin-secondary,.admin-table-action,.admin-icon-button) {
    min-height: 44px;
  }
  .admin-screen :where(input[type="checkbox"],input[type="radio"]) { flex: 0 0 auto; }
  .admin-form-grid .span-2,
  .admin-form-grid [class*="span-"] { grid-column: auto !important; }

  .admin-table-wrap:has(.admin-table-mobile-ready) {
    width: 100%;
    min-width: 0;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .admin-table-mobile-ready {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    table-layout: auto !important;
    border: 0 !important;
    background: transparent !important;
  }
  .admin-table-mobile-ready thead {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
  }
  .admin-table-mobile-ready tbody {
    display: grid !important;
    width: 100%;
    gap: 12px;
  }
  .admin-table-mobile-ready tbody tr {
    display: block !important;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e5d7cf !important;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(38, 50, 56, .045);
  }
  .admin-table-mobile-ready tbody tr:hover { transform: none !important; }
  .admin-table-mobile-ready tbody td {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 44px;
    grid-template-columns: minmax(90px, .36fr) minmax(0, .64fr);
    align-items: start;
    gap: 12px;
    padding: 11px 14px !important;
    overflow: visible !important;
    border: 0 !important;
    border-bottom: 1px solid #eee8e5 !important;
    white-space: normal !important;
    text-align: left !important;
  }
  .admin-table-mobile-ready tbody td:last-child { border-bottom: 0 !important; }
  .admin-table-mobile-ready tbody td::before {
    content: attr(data-label);
    color: #7a847f;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.45;
    text-transform: uppercase;
  }
  .admin-table-mobile-ready tbody td:not([data-label])::before,
  .admin-table-mobile-ready tbody td[data-label=""]::before { display: none; }
  .admin-table-mobile-ready tbody td[data-mobile-colspan="true"] {
    display: block !important;
    padding: 20px 16px !important;
  }
  .admin-table-mobile-ready tbody td[data-mobile-colspan="true"]::before { display: none; }
  .admin-table-mobile-ready tbody td > * { min-width: 0; max-width: 100%; }
  .admin-table-mobile-ready .admin-row-actions,
  .admin-table-mobile-ready .admin-card-actions {
    grid-column: 1 / -1;
    margin: 0;
  }

  .admin-calendar-wrap,
  .admin-week-calendar-wrap,
  .admin-calendar-scroll {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
  .admin-calendar,
  .admin-week-calendar { min-width: 700px !important; }

  .admin-course-tabs,
  .admin-marketing-tabs,
  .admin-step-navigation,
  .admin-tabs,
  .admin-editor-tabs,
  .admin-segment-tabs {
    display: flex !important;
    width: 100%;
    max-width: 100%;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 6px;
    padding-bottom: 5px;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  :where(.admin-course-tabs,.admin-marketing-tabs,.admin-step-navigation,.admin-tabs,.admin-editor-tabs,.admin-segment-tabs) > * {
    width: auto !important;
    min-width: max-content;
    flex: 0 0 auto;
  }

  .admin-modal-backdrop {
    align-items: flex-end !important;
    padding: 6px 6px 0 !important;
  }
  .admin-editor,
  .admin-participant-editor,
  .admin-invoice-editor,
  .admin-lesson-editor,
  .admin-quiz-editor,
  .admin-column-editor,
  .admin-columns-editor,
  .admin-booth-modal,
  .admin-enrollment-detail,
  .admin-marketing-contact-detail,
  .admin-automation-run-detail {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: calc(100dvh - 6px) !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border-radius: 20px 20px 0 0 !important;
  }
  .admin-editor > :where(header,.admin-editor-head),
  .admin-modal-backdrop :where(.admin-editor-head,.admin-form-actions) {
    position: sticky;
    z-index: 3;
    top: 0;
    background: #fff;
  }
  .admin-editor > :where(header,.admin-editor-head) { padding: 16px 18px !important; }
  .admin-editor > form,
  .admin-editor-body,
  .admin-modal-body { min-width: 0; padding: 18px !important; }

  .admin-email-paper,
  .admin-email-preview,
  .admin-public-form-preview,
  .admin-doorcard-preview,
  .admin-certificate-preview,
  .admin-lesson-preview {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .admin-email-paper iframe,
  .admin-email-preview iframe,
  .admin-screen :where(img,video,iframe) { max-width: 100%; }
  .admin-screen img,
  .admin-screen video { height: auto; }
  .admin-profile-menu {
    position: fixed !important;
    inset: 72px 12px auto !important;
    width: auto !important;
    max-width: none !important;
  }
}

@media (max-width: 420px) {
  #admin-view { padding-inline: 12px; }
  .admin-stats,
  .admin-dashboard-stats,
  .admin-os-metrics,
  .admin-marketing-metrics,
  .admin-feedback-metrics,
  .admin-course-summary,
  .admin-audience-preview { grid-template-columns: minmax(0, 1fr) !important; }
  .admin-table-mobile-ready tbody td {
    grid-template-columns: minmax(78px, .34fr) minmax(0, .66fr);
    padding-inline: 12px !important;
  }
}

/* Admin navigation uses the same fixed, edge-to-edge shell as MedicRise Portal. */
@media (min-width: 761px) {
  .admin-app {
    display: block !important;
    width: 100%;
    min-height: 100vh;
    height: 100dvh;
    padding: 0 !important;
    background: #f7f3f2 !important;
  }
  .admin-sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 40;
    display: flex;
    width: var(--mr-sidebar) !important;
    height: 100dvh !important;
    flex-direction: column;
    padding: 28px 20px 22px !important;
    overflow: hidden;
    border: 0 !important;
    border-right: 1px solid #e2dedb !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #263238;
  }
  .admin-mobile-head {
    display: flex;
    width: 100%;
    height: auto;
    min-height: 0;
    align-items: center;
    padding: 0 !important;
    border: 0 !important;
  }
  .admin-brand {
    display: flex;
    width: 100%;
    height: auto;
    min-height: 0;
    align-items: center;
    gap: 10px;
    padding: 0 10px 28px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .admin-brand > img {
    width: 128px;
    max-height: none;
    object-fit: contain;
    filter: none !important;
  }
  .admin-brand > span {
    display: block;
    width: auto;
    min-height: 0;
    padding: 0 0 0 9px;
    border: 0;
    border-left: 1px solid #d9d1ce;
    border-radius: 0;
    background: transparent;
    color: #617969;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
  }
  .admin-mobile-menu {
    display: grid;
    width: 100%;
    height: auto !important;
    min-height: 0;
    flex: 1;
    grid-template-rows: minmax(0, 1fr) auto auto;
    overflow: hidden;
  }
  .admin-main-nav {
    display: grid;
    min-height: 0;
    align-content: start;
    gap: 5px;
    padding: 0 0 12px !important;
    overflow-x: hidden;
    overflow-y: auto;
  }
  .admin-nav-item {
    min-height: 45px;
    grid-template-columns: 30px minmax(0, 1fr) auto;
    gap: 8px;
    margin: 0;
    padding: 0 13px;
    border-radius: 11px;
    color: #4e5955;
  }
  .admin-nav-item > span {
    width: 24px;
    height: 24px;
    border-radius: 0;
    background: transparent;
    color: #68736e;
  }
  .admin-nav-item > b {
    font-size: .88rem;
    font-weight: 700;
  }
  .admin-nav-item:hover {
    background: #f7f3f2;
    color: #8a3240;
  }
  .admin-nav-item.active {
    background: #8a3240;
    color: #fff;
    box-shadow: 0 8px 18px rgba(138, 50, 64, .14);
  }
  .admin-nav-item.active > span {
    background: transparent;
    color: #fff;
  }
  .admin-nav-group {
    margin: 0;
    padding: 0;
    border: 0;
  }
  .admin-subnav {
    margin: 3px 0 7px 36px;
    padding-left: 9px;
    border-left: 1px solid #e5ded9;
  }
  .admin-subnav-item {
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 9px;
    color: #6f7974;
    font-size: .72rem;
  }
  .admin-subnav-item:hover,
  .admin-subnav-item.active {
    background: #f4e8eb;
    color: #8a3240;
  }
  .admin-nav-section-label {
    margin: 18px 12px 6px;
    color: #929995;
    font-size: .62rem;
  }
  .admin-edition-compact {
    margin: 10px 0 12px;
    padding: 12px;
    border: 1px solid #eee8e5;
    border-radius: 12px;
    background: #f7f3f2;
  }
  .admin-edition-compact label {
    color: #43504b !important;
  }
  .admin-sidebar-bottom {
    margin-top: 0;
    padding: 18px 12px 0;
    border-top: 1px solid #eee8e5;
  }
  .admin-sidebar-user {
    color: #43504b;
  }
  .admin-sidebar-user:hover {
    background: #f7f3f2;
    box-shadow: none;
  }
  .admin-sidebar-user strong { color: #43504b; }
  .admin-sidebar-user small,
  .admin-sidebar-user em { color: #7b8580; }
  .admin-main {
    width: calc(100% - var(--mr-sidebar));
    height: 100dvh;
    margin-left: var(--mr-sidebar);
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  :root { --mr-sidebar: 220px; }
  .admin-sidebar { padding-inline: 14px !important; }
  .admin-brand > img { width: 116px; }
  .admin-nav-item > b { font-size: .82rem; }
}
