@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap");

:root {
  --rukisha-pink: #d51067;
  --rukisha-pink-dark: #ad0d55;
  --rukisha-pink-soft: #fbe7f0;
  --rukisha-blue: #00a7ce;
  --rukisha-ink: #172033;
  --rukisha-muted: #657084;
  --rukisha-canvas: #f5f7f8;
  --rukisha-line: #dfe4e8;
  --w-font-sans: "Montserrat", sans-serif;
  --w-color-primary: #d51067;
  --w-color-primary-200: #ad0d55;
  --w-color-secondary: #00a7ce;
  --w-color-focus: #00a7ce;
}

html,
body,
button,
input,
select,
textarea {
  font-family: "Montserrat", sans-serif !important;
}

body:not(.rukisha-login) {
  background: var(--rukisha-canvas);
  color: var(--rukisha-ink);
}

a { transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease; }
button:not(:disabled), a[href] { cursor: pointer; }

/* Sidebar and brand */
#wagtail-sidebar,
.sidebar,
.sidebar__inner {
  background: #171b27 !important;
}

.rukisha-admin-logo {
  display: block;
  width: 142px;
  max-width: 100%;
  height: auto;
  color: #fff;
}

[data-wagtail-sidebar-branding-logo] .rukisha-admin-logo,
.sidebar .rukisha-admin-logo {
  box-sizing: content-box;
  width: 112px;
  padding: 5px 10px;
  border-radius: 12px;
  background: #fff;
}

.sidebar__inner {
  border-right: 1px solid rgba(255, 255, 255, .08);
  box-shadow: 8px 0 32px rgba(23, 32, 51, .08);
}

.sidebar-menu-item__link,
.sidebar-sub-menu-panel a,
.sidebar-footer__account-toggle {
  border-radius: 12px !important;
  font-weight: 600;
}

.sidebar-menu-item__link:hover,
.sidebar-menu-item__link:focus-visible,
.sidebar-menu-item--active > .sidebar-menu-item__link,
.sidebar-menu-item__link--active {
  background: rgba(213, 16, 103, .18) !important;
  color: #fff !important;
}

.sidebar-menu-item__link:hover svg,
.sidebar-menu-item--active svg { color: #f27fb2 !important; }

.sidebar-sub-menu-panel {
  background: #202535 !important;
  border-radius: 0 20px 20px 0;
  box-shadow: 18px 20px 50px rgba(0, 0, 0, .2);
}

/* Main content shell */
.content-wrapper,
.content { background: transparent; }

.w-header,
.header {
  background: rgba(255, 255, 255, .92) !important;
  border-bottom: 1px solid var(--rukisha-line);
  backdrop-filter: blur(18px);
}

.w-header h1,
.header h1,
.w-h1 {
  color: var(--rukisha-ink) !important;
  font-weight: 600 !important;
  letter-spacing: -.035em;
}

.w-breadcrumbs {
  background: #fff !important;
  border-bottom: 1px solid var(--rukisha-line);
}

.w-breadcrumbs a:hover { color: var(--rukisha-pink) !important; }

/* Buttons */
.button,
button.button,
input[type="submit"].button {
  min-height: 42px;
  border-radius: 999px !important;
  border-color: var(--rukisha-pink) !important;
  background: var(--rukisha-pink) !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.button:hover,
.button:focus-visible {
  border-color: var(--rukisha-pink-dark) !important;
  background: var(--rukisha-pink-dark) !important;
  transform: translateY(-1px);
}

.button-secondary,
.button--secondary,
.button.button-secondary {
  border-color: #f1b7d1 !important;
  background: #fff !important;
  color: var(--rukisha-pink) !important;
}

.button-secondary:hover,
.button--secondary:hover {
  border-color: var(--rukisha-pink) !important;
  background: var(--rukisha-pink-soft) !important;
}

.button-no,
.button--warning,
.button-serious { border-radius: 999px !important; }

/* Forms and edit screens */
.w-panel,
.panel,
.w-field__wrapper,
.object,
.object-layout {
  border-radius: 16px;
}

.w-panel,
.object {
  border: 1px solid var(--rukisha-line);
  background: #fff;
  box-shadow: 0 10px 32px rgba(23, 32, 51, .045);
}

.w-panel__header,
.object > h2 {
  border-radius: 16px 16px 0 0;
  background: #fff;
}

label,
.w-field__label {
  color: #30394a !important;
  font-weight: 700 !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select,
textarea,
.Draftail-Editor,
.w-field__input select {
  border: 1.5px solid #cfd6dc !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: var(--rukisha-ink) !important;
  box-shadow: none !important;
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus,
.Draftail-Editor:focus-within {
  border-color: var(--rukisha-blue) !important;
  outline: 3px solid rgba(0, 167, 206, .16) !important;
}

.help,
.help-block,
.w-field__help { color: var(--rukisha-muted) !important; }

.tab-nav a,
.w-tabs__tab {
  font-weight: 700;
}

.tab-nav a.active,
.w-tabs__tab[aria-selected="true"] {
  border-color: var(--rukisha-pink) !important;
  color: var(--rukisha-pink) !important;
}

.footer,
.footer__container,
.form-actions,
.w-form-width { border-color: var(--rukisha-line); }

/* Listings, tables, cards */
.listing,
table.listing,
.w-table {
  overflow: hidden;
  border: 1px solid var(--rukisha-line);
  border-radius: 16px;
  background: #fff;
}

.listing thead,
.w-table thead { background: #f8fafb !important; }

.listing th,
.w-table th {
  color: #4b5563 !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.listing tbody tr:hover,
.w-table tbody tr:hover { background: #fff7fa !important; }

.listing a:hover { color: var(--rukisha-pink) !important; }

.chooser,
.chooser__preview,
.listing .thumb { border-radius: 12px !important; }

.tag,
.status-tag,
.w-status {
  border-radius: 999px !important;
  font-weight: 700;
}

/* Page explorer */
body.page-explorer .content-wrapper {
  background:
    radial-gradient(circle at 96% 3%, rgba(0, 167, 206, .08), transparent 22%),
    radial-gradient(circle at 72% 34%, rgba(213, 16, 103, .06), transparent 18%),
    linear-gradient(180deg, #f8fafb 0%, #f3f5f6 100%);
}

body.page-explorer .w-slim-header {
  border-color: var(--rukisha-line) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 10px 30px rgba(23, 32, 51, .055);
  backdrop-filter: blur(18px);
}

body.page-explorer .w-slim-header input[type="search"] {
  border-color: #d7dde2 !important;
  background: #f7f9fa !important;
}

body.page-explorer table.listing {
  width: calc(100% - 48px);
  margin: 26px 24px 0;
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 16px 42px rgba(23, 32, 51, .07);
}

body.page-explorer table.listing thead,
body.page-explorer table.listing th {
  background: #f7f9fa !important;
}

body.page-explorer table.listing th {
  padding: 18px 20px;
  border-bottom: 1px solid var(--rukisha-line);
  color: #526071 !important;
}

body.page-explorer table.listing td {
  padding: 19px 20px;
  border-bottom: 1px solid #edf0f2;
  background: #fff;
  color: var(--rukisha-muted) !important;
  vertical-align: middle;
}

body.page-explorer table.listing tbody tr:last-child td { border-bottom: 0; }

body.page-explorer table.listing tbody tr:hover td {
  background: #fff7fa !important;
}

body.page-explorer table.listing td.title a {
  color: var(--rukisha-ink) !important;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.015em;
}

body.page-explorer table.listing td.title a:hover {
  color: var(--rukisha-pink) !important;
}

body.page-explorer table.listing .w-status,
body.page-explorer table.listing .status-tag {
  background: #e8f7ef !important;
  color: #176b45 !important;
}

body.page-explorer .pagination {
  margin: 20px 24px 32px;
  padding: 17px 20px;
  border: 1px solid var(--rukisha-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, .94);
  color: var(--rukisha-muted);
  box-shadow: 0 10px 30px rgba(23, 32, 51, .04);
}

body.page-explorer .pagination a {
  border-radius: 9px;
  background: var(--rukisha-pink) !important;
  color: #fff !important;
  font-weight: 700;
}

/* Shared page and system editors */
.rukisha-page-editor .content-wrapper,
.rukisha-system-editor .content-wrapper {
  background:
    radial-gradient(circle at 96% 4%, rgba(213, 16, 103, .075), transparent 22%),
    radial-gradient(circle at 76% 38%, rgba(0, 167, 206, .055), transparent 20%),
    linear-gradient(180deg, #f8fafb 0%, #f3f5f6 100%);
}

.rukisha-page-editor .w-form-width,
.rukisha-system-editor .w-form-width {
  max-width: 1120px;
}

.rukisha-page-editor:not(.rukisha-home-editor):not(.rukisha-blog-editor) .w-panel,
.rukisha-system-editor .w-panel {
  position: relative;
  margin-bottom: 24px;
  overflow: hidden;
  border-color: var(--rukisha-line);
  box-shadow: 0 12px 36px rgba(23, 32, 51, .055);
}

.rukisha-page-editor:not(.rukisha-home-editor):not(.rukisha-blog-editor) .w-panel > .w-panel__header,
.rukisha-system-editor .w-panel > .w-panel__header {
  padding: 22px 26px 17px 30px;
}

.rukisha-page-editor:not(.rukisha-home-editor):not(.rukisha-blog-editor) .w-panel > .w-panel__content,
.rukisha-system-editor .w-panel > .w-panel__content {
  padding-right: 26px;
  padding-bottom: 27px;
  padding-left: 30px;
}

.rukisha-page-editor:not(.rukisha-home-editor):not(.rukisha-blog-editor) .w-panel__heading,
.rukisha-system-editor .w-panel__heading {
  color: var(--rukisha-ink) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  letter-spacing: -.025em;
}

.rukisha-page-editor:not(.rukisha-home-editor):not(.rukisha-blog-editor) .w-panel.title input[name="title"] {
  min-height: 65px;
  border-width: 2px !important;
  border-color: #e7bed0 !important;
  font-size: clamp(24px, 3vw, 33px) !important;
  font-weight: 600 !important;
  letter-spacing: -.035em;
}

.rukisha-page-editor [role="tabpanel"] > .w-panel:nth-of-type(2n)::before,
.rukisha-system-editor .w-form-width > .w-panel:nth-of-type(2n)::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #00a7ce;
  content: "";
}

.rukisha-page-editor [role="tabpanel"] > .w-panel:nth-of-type(2n + 1)::before,
.rukisha-system-editor .w-form-width > .w-panel:nth-of-type(2n + 1)::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--rukisha-pink);
  content: "";
}

.rukisha-page-editor input[name="slug"],
.rukisha-page-editor input[name="seo_title"],
.rukisha-page-editor textarea[name="search_description"] {
  min-height: 54px;
  border-color: #c9dce2 !important;
}

.rukisha-page-editor textarea[name="search_description"] { min-height: 120px; }

.rukisha-publish-note {
  display: flex;
  align-items: center;
  gap: 14px;
  max-width: 1120px;
  margin: 0 0 22px;
  padding: 15px 18px;
  border: 1px solid #b9e2ec;
  border-radius: 14px;
  background: linear-gradient(135deg, #edfafd, #fff8fb);
  color: #315b66;
  box-shadow: 0 10px 28px rgba(23, 32, 51, .04);
}

.rukisha-publish-note strong {
  flex: 0 0 auto;
  color: var(--rukisha-ink);
  font-size: 12px;
}

.rukisha-publish-note span { font-size: 11px; line-height: 1.55; }
.rukisha-publish-note b { color: var(--rukisha-pink); }

.rukisha-page-editor .form-actions,
.rukisha-page-editor .footer__container,
.rukisha-system-editor .form-actions,
.rukisha-system-editor .footer,
.rukisha-system-editor .footer__container {
  border-top: 1px solid rgba(223, 228, 232, .9);
  background: rgba(255, 255, 255, .95) !important;
  box-shadow: 0 -12px 32px rgba(23, 32, 51, .08);
  backdrop-filter: blur(18px);
}

.rukisha-system-editor .content > .nice-padding:not(.w-mt-8),
.rukisha-system-editor form > .fields {
  max-width: 1120px;
  margin-right: auto;
  margin-left: auto;
  padding: 26px 30px;
  border: 1px solid var(--rukisha-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(23, 32, 51, .055);
}

.rukisha-system-editor .content > .nice-padding.w-mt-8 {
  box-sizing: border-box;
  max-width: 1160px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 64px;
}

.rukisha-system-editor .help-info {
  border: 0;
  border-radius: 14px;
  background: #eaf8fb !important;
  color: #315b66 !important;
}

/* Indexes, reports and account management */
.rukisha-admin-index .content-wrapper {
  background:
    radial-gradient(circle at 96% 5%, rgba(0, 167, 206, .075), transparent 22%),
    linear-gradient(180deg, #f8fafb 0%, #f3f5f6 100%);
}

.rukisha-admin-index .w-slim-header,
.rukisha-admin-index .w-header,
.rukisha-admin-index .header {
  border-color: var(--rukisha-line) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 10px 30px rgba(23, 32, 51, .055);
  backdrop-filter: blur(18px);
}

.rukisha-admin-index table.listing {
  width: calc(100% - 48px);
  margin: 26px 24px 0;
  border-collapse: separate;
  border-spacing: 0;
  box-shadow: 0 16px 42px rgba(23, 32, 51, .07);
}

.rukisha-admin-index table.listing thead,
.rukisha-admin-index table.listing th { background: #f7f9fa !important; }

.rukisha-admin-index table.listing th {
  padding: 18px 20px;
  border-bottom: 1px solid var(--rukisha-line);
  color: #526071 !important;
}

.rukisha-admin-index table.listing td {
  padding: 19px 20px;
  border-bottom: 1px solid #edf0f2;
  background: #fff;
  color: var(--rukisha-muted) !important;
  vertical-align: middle;
}

.rukisha-admin-index table.listing tbody tr:last-child td { border-bottom: 0; }
.rukisha-admin-index table.listing tbody tr:hover td { background: #fff7fa !important; }

.rukisha-admin-index table.listing td a {
  color: var(--rukisha-ink) !important;
  font-weight: 700;
}

.rukisha-admin-index table.listing td a:hover { color: var(--rukisha-pink) !important; }

.rukisha-admin-index .pagination {
  margin: 20px 24px 32px;
  padding: 17px 20px;
  border: 1px solid var(--rukisha-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, .94);
  color: var(--rukisha-muted);
}

.rukisha-images-view .nice-padding.w-mt-8 {
  max-width: 760px;
  margin: 36px auto !important;
  padding: 32px;
  border: 1px solid var(--rukisha-line);
  border-radius: 18px;
  background: #fff;
  color: var(--rukisha-muted);
  text-align: center;
  box-shadow: 0 16px 42px rgba(23, 32, 51, .07);
}

.rukisha-images-view .nice-padding.w-mt-8 a {
  color: var(--rukisha-pink) !important;
  font-weight: 700;
}

/* Messages */
.messages > ul > li {
  margin: 12px;
  border: 0 !important;
  border-radius: 14px;
  box-shadow: 0 12px 35px rgba(23, 32, 51, .12);
}

.messages .success { background: #e9f8f0 !important; color: #176b45 !important; }
.messages .warning { background: #fff5da !important; color: #815b00 !important; }
.messages .error { background: #fff0f1 !important; color: #9a2430 !important; }

/* Dashboard */
.w-dashboard { max-width: 1500px; }

.rukisha-dashboard-panel {
  margin: 0 0 36px;
  padding: 30px;
  border: 1px solid #efdae4;
  border-radius: 24px;
  background: linear-gradient(135deg, #fff 0%, #fff8fb 62%, #edfaff 100%);
  box-shadow: 0 18px 55px rgba(23, 32, 51, .08);
}

.rukisha-dashboard-welcome { max-width: 720px; }
.rukisha-dashboard-kicker,
.rukisha-login-kicker,
.rukisha-login-eyebrow {
  display: inline-flex;
  color: var(--rukisha-pink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.rukisha-dashboard-welcome h2 {
  margin: 9px 0 8px;
  color: var(--rukisha-ink);
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 600;
  letter-spacing: -.04em;
}

.rukisha-dashboard-welcome p { max-width: 650px; color: var(--rukisha-muted); line-height: 1.65; }

.rukisha-dashboard-stats {
  display: flex;
  gap: 10px;
  margin: 24px 0;
}

.rukisha-dashboard-stats div {
  display: flex;
  min-width: 145px;
  flex-direction: column;
  padding: 15px 18px;
  border: 1px solid #edf0f2;
  border-radius: 15px;
  background: rgba(255, 255, 255, .86);
}

.rukisha-dashboard-stats strong { color: var(--rukisha-pink); font-size: 24px; }
.rukisha-dashboard-stats span { color: var(--rukisha-muted); font-size: 11px; font-weight: 600; }

.rukisha-quick-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.rukisha-quick-action {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 2px 11px;
  align-items: center;
  padding: 16px;
  border: 1px solid #e6e9ec;
  border-radius: 17px;
  background: #fff;
  color: var(--rukisha-ink) !important;
  text-decoration: none !important;
}

.rukisha-quick-action > span {
  display: grid;
  grid-row: 1 / 3;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  background: var(--rukisha-pink-soft);
  color: var(--rukisha-pink);
  font-size: 18px;
  font-weight: 700;
}

.rukisha-quick-action strong { font-size: 12px; }
.rukisha-quick-action small { color: var(--rukisha-muted); font-size: 10px; line-height: 1.35; }
.rukisha-quick-action:hover { border-color: #efabc9; box-shadow: 0 12px 28px rgba(213, 16, 103, .09); transform: translateY(-2px); }
.rukisha-quick-action.is-primary { border-color: var(--rukisha-pink); background: var(--rukisha-pink); color: #fff !important; }
.rukisha-quick-action.is-primary > span { background: rgba(255, 255, 255, .18); color: #fff; }
.rukisha-quick-action.is-primary small { color: rgba(255, 255, 255, .8); }

/* Login */
body.rukisha-login { margin: 0; background: #f4f6f7 !important; }
.rukisha-login-shell { display: grid; min-height: 100vh; grid-template-columns: minmax(430px, 1.05fr) minmax(460px, .95fr); }

.rukisha-login-story {
  position: relative;
  display: flex;
  min-height: 100vh;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 48px clamp(42px, 6vw, 92px);
  background:
    radial-gradient(circle at 82% 15%, rgba(0, 167, 206, .42), transparent 28%),
    radial-gradient(circle at 15% 82%, rgba(213, 16, 103, .38), transparent 33%),
    linear-gradient(145deg, #171b27 0%, #20283a 100%);
  color: #fff;
}

.rukisha-login-story::before,
.rukisha-login-story::after {
  position: absolute;
  width: 390px;
  height: 390px;
  border: 34px solid rgba(255, 255, 255, .08);
  border-radius: 45% 55% 52% 48%;
  content: "";
  transform: rotate(28deg);
}

.rukisha-login-story::before { right: -190px; bottom: -115px; }
.rukisha-login-story::after { right: -260px; bottom: -20px; border-color: rgba(213, 16, 103, .25); }
.rukisha-login-brand {
  position: relative;
  z-index: 1;
  width: max-content;
  padding: 4px 15px;
  border-radius: 999px;
  background: #fff;
}
.rukisha-login-brand .rukisha-admin-logo { width: 135px; }
.rukisha-login-story-copy { position: relative; z-index: 1; max-width: 670px; }
.rukisha-login-story-copy h1 { margin: 18px 0 22px; font-size: clamp(44px, 5vw, 76px); font-weight: 500; letter-spacing: -.06em; line-height: 1.08; }
.rukisha-login-story-copy h1 em { color: #ef72aa; font-style: normal; }
.rukisha-login-story-copy p { max-width: 610px; color: rgba(255, 255, 255, .73); font-size: 16px; line-height: 1.75; }
.rukisha-login-trust { position: relative; z-index: 1; display: flex; align-items: center; gap: 9px; color: rgba(255, 255, 255, .72); font-size: 11px; font-weight: 600; }
.rukisha-login-trust span { width: 8px; height: 8px; border-radius: 50%; background: #55d9f3; box-shadow: 0 0 0 5px rgba(85, 217, 243, .12); }

.rukisha-login-card-wrap { display: grid; min-height: 100vh; place-items: center; padding: 42px; }
.rukisha-login-card { width: min(100%, 470px); padding: 42px; border: 1px solid #e1e5e8; border-radius: 26px; background: #fff; box-shadow: 0 25px 70px rgba(23, 32, 51, .1); }
.rukisha-login-mobile-logo { display: none; }
.rukisha-login-card h2 { margin: 9px 0 8px; color: var(--rukisha-ink); font-size: 34px; font-weight: 600; letter-spacing: -.045em; }
.rukisha-login-intro { margin: 0 0 28px; color: var(--rukisha-muted); font-size: 13px; line-height: 1.6; }
.rukisha-login-card .field { margin-bottom: 20px; }
.rukisha-login-card input:not([type="checkbox"]) { min-height: 52px; padding-inline: 15px !important; }
.rukisha-login-options { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 6px 0 24px; }
.rukisha-login-options label,
.rukisha-login-options a { font-size: 11px; }
.rukisha-login-options a { color: var(--rukisha-pink); font-weight: 700; }
.rukisha-login-submit { width: 100%; min-height: 52px; justify-content: center; }
.rukisha-login-submit em { font-style: normal; }
.rukisha-login-help { margin: 20px 0 0; color: #8a93a1; font-size: 10px; text-align: center; }
.rukisha-login-card .messages > ul > li { margin: 0 0 18px; padding: 12px; font-size: 11px; }

/* Purpose-built blog writing experience */
.rukisha-blog-editor .content-wrapper {
  background:
    radial-gradient(circle at 95% 3%, rgba(0, 167, 206, .09), transparent 23%),
    linear-gradient(180deg, #f7f9fa 0%, #f3f5f6 100%);
}

.rukisha-blog-editor .w-form-width,
.rukisha-blog-editor .w-panel,
.rukisha-blog-editor .object {
  max-width: 1120px;
}

.rukisha-blog-editor .w-panel,
.rukisha-blog-editor .object {
  position: relative;
  margin-bottom: 24px;
  overflow: hidden;
}

.rukisha-blog-editor .rukisha-blog-panel::before {
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 2;
  width: 5px;
  background: var(--rukisha-pink);
  content: "";
}

.rukisha-blog-editor .rukisha-blog-panel--details::before { background: var(--rukisha-blue); }
.rukisha-blog-editor .rukisha-blog-panel--promotion::before { background: #f09b38; }
.rukisha-blog-editor .rukisha-blog-panel--body::before { background: #7d65c1; }

.rukisha-blog-editor .w-panel__header,
.rukisha-blog-editor .object > h2 {
  padding-top: 23px;
  padding-right: 30px;
  padding-bottom: 18px;
  padding-left: 34px;
}

.rukisha-blog-editor .w-panel__heading,
.rukisha-blog-editor .object > h2 {
  color: var(--rukisha-ink) !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -.025em;
}

.rukisha-blog-editor input[name="title"] {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 68px;
  padding-right: 20px !important;
  padding-left: 20px !important;
  border-width: 2px !important;
  border-color: #e8bed1 !important;
  border-radius: 16px !important;
  font-size: clamp(23px, 2vw, 30px) !important;
  font-weight: 600 !important;
  letter-spacing: -.035em;
}

.rukisha-blog-editor .rukisha-blog-title > .w-panel__content,
.rukisha-blog-editor #panel-child-content-title-section > .w-panel__content {
  padding: 28px 30px 30px;
}

.rukisha-blog-editor .rukisha-blog-title .w-field,
.rukisha-blog-editor #panel-child-content-title-section .w-field {
  min-width: 0;
}

.rukisha-blog-editor .rukisha-blog-panel > .w-panel__content {
  padding: 4px 30px 30px 34px;
}

.rukisha-blog-editor .rukisha-blog-panel > .w-panel__content > .w-panel__wrapper {
  box-sizing: border-box;
  min-width: 0;
  padding: 20px;
  border: 1px solid #e5e9ec;
  border-radius: 15px;
  background: #fafbfc;
}

.rukisha-blog-editor .rukisha-blog-panel--details > .w-panel__content {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.rukisha-blog-editor .rukisha-blog-panel--promotion > .w-panel__content {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
  gap: 14px;
}

.rukisha-blog-editor .rukisha-blog-panel--promotion > .w-panel__content > .w-panel__wrapper:first-child {
  grid-column: 1 / -1;
}

.rukisha-blog-editor .w-panel__wrapper > .w-field__label {
  display: block;
  margin-bottom: 8px;
  color: var(--rukisha-ink) !important;
  font-size: 13px;
  letter-spacing: -.01em;
}

.rukisha-blog-editor .w-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.rukisha-blog-editor .w-field__errors { order: 0; }
.rukisha-blog-editor .w-field__input { order: 1; min-width: 0; }
.rukisha-blog-editor .w-field__help { order: 2; margin-top: 8px; }
.rukisha-blog-editor .w-field > .rukisha-character-count { order: 3; }

.rukisha-blog-editor .w-field__help .help {
  color: #707b8d !important;
  font-size: 11px;
  line-height: 1.55;
}

.rukisha-blog-editor input[name="category"],
.rukisha-blog-editor input[name="author_name"],
.rukisha-blog-editor input[name="publication_date"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 50px;
  padding-inline: 14px !important;
}

.rukisha-blog-editor textarea[name="excerpt"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 132px;
  padding: 15px !important;
  font-size: 15px;
  line-height: 1.65;
}

.rukisha-blog-editor .Draftail-Editor {
  overflow: hidden;
  min-height: 430px;
  border-radius: 15px !important;
  background: #fff !important;
  color: var(--rukisha-ink) !important;
}

.rukisha-formatting-guide-panel {
  margin-bottom: 16px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rukisha-formatting-guide {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(360px, auto);
  gap: 18px;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid #ded8ef;
  border-radius: 14px;
  background: linear-gradient(135deg, #faf8ff, #fff 65%);
}

.rukisha-formatting-guide > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.rukisha-formatting-guide strong { color: var(--rukisha-ink); font-size: 13px; }
.rukisha-formatting-guide span { color: #687386; font-size: 10px; line-height: 1.55; }
.rukisha-formatting-guide kbd {
  padding: 1px 6px;
  border: 1px solid #d7dce1;
  border-radius: 5px;
  background: #fff;
  color: #30394a;
  font: 700 11px/1.4 "Montserrat", sans-serif;
  box-shadow: 0 1px 2px rgba(23, 32, 51, .08);
}

.rukisha-formatting-guide ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rukisha-formatting-guide li {
  padding: 6px 9px;
  border: 1px solid #e1e5e8;
  border-radius: 8px;
  background: #fff;
  color: #465064;
  font-size: 9px;
  font-weight: 600;
}

.rukisha-blog-editor .DraftEditor-root,
.rukisha-blog-editor .public-DraftEditor-content {
  min-height: 350px;
  background: #fff !important;
  color: var(--rukisha-ink) !important;
  font-size: 17px;
  line-height: 1.8;
  caret-color: var(--rukisha-pink) !important;
}

.rukisha-blog-editor .DraftEditor-editorContainer,
.rukisha-blog-editor .public-DraftStyleDefault-block,
.rukisha-blog-editor [data-contents="true"],
.rukisha-blog-editor [data-block="true"] {
  background: #fff !important;
  color: var(--rukisha-ink) !important;
}

.rukisha-blog-editor .public-DraftEditorPlaceholder-root,
.rukisha-blog-editor .public-DraftEditorPlaceholder-inner {
  color: #8a93a1 !important;
}

.rukisha-blog-editor .Draftail-Toolbar {
  position: sticky;
  top: 0;
  z-index: 5;
  border-radius: 14px 14px 0 0;
  background: #f7f9fa;
  box-shadow: 0 1px 0 #e3e7ea;
}

.rukisha-blog-editor .Draftail-Toolbar button {
  border-radius: 8px !important;
  color: #394357 !important;
}

.rukisha-blog-editor .Draftail-Toolbar button:hover,
.rukisha-blog-editor .Draftail-Toolbar button[aria-pressed="true"] {
  background: var(--rukisha-pink-soft) !important;
  color: var(--rukisha-pink) !important;
}

.rukisha-blog-editor .chooser {
  min-height: 92px;
  padding: 12px;
  border: 1.5px dashed #d8b4c5;
  background: #fffafd;
}

.rukisha-blog-editor .chooser:hover {
  border-color: var(--rukisha-pink);
  background: #fff6fa;
}

.rukisha-blog-editor input[type="checkbox"][name="featured"] {
  width: 22px;
  height: 22px;
  accent-color: var(--rukisha-pink);
  cursor: pointer;
}

.rukisha-blog-editor #tab-promote .w-panel {
  border-left: 5px solid var(--rukisha-blue);
}

.rukisha-blog-editor #tab-promote .w-panel__content {
  padding-right: 30px;
  padding-bottom: 30px;
  padding-left: 34px;
}

.rukisha-blog-editor .form-actions,
.rukisha-blog-editor .footer__container {
  border-top: 1px solid rgba(223, 228, 232, .9);
  background: rgba(255, 255, 255, .94) !important;
  box-shadow: 0 -12px 32px rgba(23, 32, 51, .08);
  backdrop-filter: blur(18px);
}

.rukisha-blog-guide-panel {
  margin-bottom: 24px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rukisha-editor-guide {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(420px, 1.1fr);
  gap: 30px;
  align-items: center;
  padding: 27px 30px;
  border: 1px solid #efd4e0;
  border-radius: 22px;
  background: linear-gradient(135deg, #fff 0%, #fff5fa 60%, #effbfe 100%);
  box-shadow: 0 14px 45px rgba(23, 32, 51, .07);
}

.rukisha-editor-guide__eyebrow {
  color: var(--rukisha-pink);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.rukisha-editor-guide h2 {
  margin: 8px 0 7px;
  color: var(--rukisha-ink);
  font-size: 25px;
  font-weight: 600;
  letter-spacing: -.04em;
}

.rukisha-editor-guide p {
  margin: 0;
  color: var(--rukisha-muted);
  font-size: 12px;
  line-height: 1.65;
}

.rukisha-editor-guide ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rukisha-editor-guide li {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 9px;
  align-items: center;
  padding: 10px;
  border: 1px solid #eceff1;
  border-radius: 12px;
  background: rgba(255, 255, 255, .88);
}

.rukisha-editor-guide li strong {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 9px;
  background: var(--rukisha-pink-soft);
  color: var(--rukisha-pink);
  font-size: 11px;
}

.rukisha-editor-guide li span {
  color: #3d4657;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.35;
}

/* Guided homepage editing */
.rukisha-home-editor .content-wrapper {
  background:
    radial-gradient(circle at 96% 4%, rgba(213, 16, 103, .08), transparent 22%),
    radial-gradient(circle at 75% 34%, rgba(0, 167, 206, .06), transparent 20%),
    linear-gradient(180deg, #f8f9fa 0%, #f3f5f6 100%);
}

.rukisha-home-editor .w-form-width,
.rukisha-home-editor .w-panel,
.rukisha-home-editor .object {
  max-width: 1120px;
}

.rukisha-home-editor .w-panel,
.rukisha-home-editor .object {
  position: relative;
  margin-bottom: 24px;
  overflow: hidden;
}

.rukisha-home-editor .rukisha-home-panel::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--rukisha-pink);
  content: "";
}

.rukisha-home-editor .rukisha-home-panel--products::before { background: #00a7ce; }
.rukisha-home-editor .rukisha-home-panel--merchant::before { background: #f09b38; }
.rukisha-home-editor .rukisha-home-panel--headings::before { background: #7d65c1; }

.rukisha-home-editor .w-panel__header,
.rukisha-home-editor .object > h2 {
  padding-top: 23px;
  padding-right: 24px;
  padding-bottom: 18px;
  padding-left: 32px;
}

.rukisha-home-editor .w-panel__heading,
.rukisha-home-editor .object > h2 {
  color: var(--rukisha-ink) !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  letter-spacing: -.03em;
}

.rukisha-home-editor .rukisha-home-panel > .w-panel__content {
  padding-right: 24px;
  padding-bottom: 28px;
  padding-left: 32px;
}

.rukisha-home-editor input[name$="_title"] {
  min-height: 57px;
  font-size: 19px !important;
  font-weight: 600 !important;
  letter-spacing: -.025em;
}

.rukisha-home-editor textarea {
  min-height: 125px;
  font-size: 15px;
  line-height: 1.65;
}

.rukisha-home-editor .form-actions,
.rukisha-home-editor .footer__container {
  border-top: 1px solid rgba(223, 228, 232, .9);
  background: rgba(255, 255, 255, .95) !important;
  box-shadow: 0 -12px 32px rgba(23, 32, 51, .08);
  backdrop-filter: blur(18px);
}

.rukisha-home-guide-panel {
  margin-bottom: 24px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rukisha-home-guide {
  background: linear-gradient(135deg, #fff 0%, #fff6fa 55%, #eefbfe 100%);
}

.rukisha-character-count {
  display: block;
  margin-top: 7px;
  color: #8a93a1;
  font-size: 10px;
  font-weight: 600;
  text-align: right;
}

@media (max-width: 1100px) {
  .rukisha-quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rukisha-login-shell { grid-template-columns: .9fr 1.1fr; }
  .rukisha-login-story { padding: 38px; }
  .rukisha-login-story-copy h1 { font-size: 44px; }
}

@media (max-width: 800px) {
  .rukisha-dashboard-panel { padding: 20px; border-radius: 19px; }
  .rukisha-dashboard-stats { display: grid; grid-template-columns: repeat(3, 1fr); }
  .rukisha-dashboard-stats div { min-width: 0; padding: 12px; }
  .rukisha-login-shell { display: block; padding: 24px; background: linear-gradient(155deg, #eef9fb, #fff5f9); }
  .rukisha-login-story { display: none; }
  .rukisha-login-card-wrap { min-height: calc(100vh - 48px); padding: 0; }
  .rukisha-login-card { padding: 30px 24px; border-radius: 22px; }
  .rukisha-login-mobile-logo { display: block; margin-bottom: 30px; }
  .rukisha-login-mobile-logo .rukisha-admin-logo { width: 125px; color: var(--rukisha-ink); }
  .rukisha-editor-guide { grid-template-columns: 1fr; gap: 18px; padding: 20px; }
  .rukisha-blog-editor .Draftail-Editor { min-height: 330px; }
  .rukisha-formatting-guide { grid-template-columns: 1fr; }
  .rukisha-formatting-guide ul { justify-content: flex-start; }
  .rukisha-blog-editor .rukisha-blog-panel--details > .w-panel__content,
  .rukisha-blog-editor .rukisha-blog-panel--promotion > .w-panel__content { grid-template-columns: 1fr; }
  .rukisha-blog-editor .rukisha-blog-panel--promotion > .w-panel__content > .w-panel__wrapper:first-child { grid-column: auto; }
  .rukisha-blog-editor .rukisha-blog-panel > .w-panel__content,
  .rukisha-blog-editor #tab-promote .w-panel__content { padding-right: 18px; padding-bottom: 22px; padding-left: 23px; }
  .rukisha-blog-editor .rukisha-blog-title > .w-panel__content,
  .rukisha-blog-editor #panel-child-content-title-section > .w-panel__content { padding: 22px 18px 24px; }
  .rukisha-page-editor:not(.rukisha-home-editor):not(.rukisha-blog-editor) .w-panel > .w-panel__header,
  .rukisha-system-editor .w-panel > .w-panel__header { padding: 19px 18px 14px 23px; }
  .rukisha-page-editor:not(.rukisha-home-editor):not(.rukisha-blog-editor) .w-panel > .w-panel__content,
  .rukisha-system-editor .w-panel > .w-panel__content {
    padding-right: 18px;
    padding-bottom: 22px;
    padding-left: 23px;
  }
  .rukisha-publish-note { display: block; margin: 0 12px 18px; padding: 14px 16px; }
  .rukisha-publish-note strong,
  .rukisha-publish-note span { display: block; }
  .rukisha-publish-note span { margin-top: 5px; }
  .rukisha-system-editor .content > .nice-padding:not(.w-mt-8),
  .rukisha-system-editor form > .fields { margin-right: 12px; margin-left: 12px; padding: 22px 20px; }
  .rukisha-admin-index table.listing {
    width: calc(100% - 24px);
    margin: 14px 12px 0;
  }
  .rukisha-admin-index table.listing th,
  .rukisha-admin-index table.listing td { padding: 15px 14px; }
  .rukisha-users-view table.listing { table-layout: auto; }
  .rukisha-users-view table.listing .username,
  .rukisha-users-view table.listing .level,
  .rukisha-users-view table.listing .status,
  .rukisha-users-view table.listing .last-login { display: none; }
  .rukisha-users-view table.listing .name {
    width: auto;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
  }
  .rukisha-reports-view table.listing { table-layout: auto; }
  .rukisha-reports-view table.listing .updated,
  .rukisha-reports-view table.listing th:nth-child(4),
  .rukisha-reports-view table.listing td:nth-child(4),
  .rukisha-reports-view table.listing th:nth-child(5),
  .rukisha-reports-view table.listing td:nth-child(5),
  .rukisha-reports-view table.listing .type { display: none; }
  .rukisha-reports-view table.listing .title {
    width: auto;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
  }
  .rukisha-admin-index .pagination { margin: 14px 12px 24px; }
  .rukisha-images-view .nice-padding.w-mt-8 { margin: 22px 12px !important; padding: 24px 20px; }
  .rukisha-home-editor input[name$="_title"] { min-height: 52px; font-size: 17px !important; }
  .rukisha-home-editor .w-panel__header,
  .rukisha-home-editor .object > h2 { padding-right: 20px; padding-left: 24px; }
  .rukisha-home-editor .rukisha-home-panel > .w-panel__content {
    padding-right: 20px;
    padding-bottom: 24px;
    padding-left: 24px;
  }
  .rukisha-home-editor textarea { min-height: 110px; }
  body.page-explorer table.listing {
    width: calc(100% - 24px);
    margin: 14px 12px 0;
    table-layout: auto;
  }
  body.page-explorer table.listing th,
  body.page-explorer table.listing td { padding: 15px 14px; }
  body.page-explorer table.listing th:nth-child(3),
  body.page-explorer table.listing td:nth-child(3),
  body.page-explorer table.listing th:nth-child(4),
  body.page-explorer table.listing td:nth-child(4) { display: none; }
  body.page-explorer table.listing th.title { font-size: 0; }
  body.page-explorer table.listing th.title a { font-size: 11px; }
  body.page-explorer table.listing td.title {
    width: auto;
    min-width: 0;
  }
  body.page-explorer table.listing td.title a {
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
  }
  body.page-explorer .pagination { margin: 14px 12px 24px; }
}

@media (max-width: 520px) {
  .rukisha-quick-actions { grid-template-columns: 1fr; }
  .rukisha-dashboard-stats { grid-template-columns: 1fr; }
  .rukisha-dashboard-stats div { flex-direction: row; align-items: center; justify-content: space-between; }
  .rukisha-login-shell { padding: 12px; }
  .rukisha-login-card-wrap { min-height: calc(100vh - 24px); }
  .rukisha-login-card h2 { font-size: 28px; }
  .rukisha-editor-guide ol { grid-template-columns: 1fr; }
  .rukisha-blog-editor input[name="title"] { min-height: 58px; font-size: 23px !important; }
}

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