:root {
  --oroko-red: #8b0000;
  --oroko-red-dark: #5f0000;
  --oroko-black: #101010;
  --oroko-muted: #666;
  --oroko-line: #e7e2dd;
  --oroko-bg: #fffaf5;
  --oroko-gold: #c79b3b;
}

.oroko-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 22px 14px;
  color: var(--oroko-black);
}

.oroko-hero-mini {
  background: linear-gradient(135deg, var(--oroko-red), var(--oroko-black));
  color: #fff;
  border-radius: 22px;
  padding: 34px;
  margin-bottom: 22px;
  box-shadow: 0 18px 45px rgba(0,0,0,.14);
}

.oroko-hero-mini h2 {
  color: #fff;
  margin: 0 0 8px;
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.08;
  font-weight: 800;
}

.oroko-hero-mini p {
  color: rgba(255,255,255,.9);
  margin: 0;
  max-width: 760px;
  font-size: 16px;
}

.oroko-eyebrow {
  color: var(--oroko-gold) !important;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 12px !important;
  font-weight: 800;
  margin-bottom: 8px !important;
}

.oroko-card,
.oroko-form,
.oroko-filter {
  background: #fff;
  border: 1px solid var(--oroko-line);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}

.oroko-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.oroko-form label,
.oroko-filter label {
  display: block;
  font-weight: 700;
  color: var(--oroko-black);
  font-size: 14px;
}

.oroko-form label span {
  color: var(--oroko-red);
}

.oroko-form input,
.oroko-form select,
.oroko-form textarea,
.oroko-filter select {
  width: 100%;
  margin-top: 7px;
  border: 1px solid #d8d2ca;
  border-radius: 12px;
  padding: 12px 13px;
  font-size: 15px;
  background: #fff;
  color: var(--oroko-black);
  box-sizing: border-box;
}

.oroko-form input:focus,
.oroko-form select:focus,
.oroko-form textarea:focus,
.oroko-filter select:focus {
  border-color: var(--oroko-red);
  outline: 3px solid rgba(139,0,0,.12);
}

.oroko-check {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin: 20px 0;
  font-weight: 500 !important;
}

.oroko-check input {
  width: auto !important;
  margin-top: 4px !important;
}

.oroko-button,
#loginform input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  background: var(--oroko-red);
  color: #fff !important;
  padding: 12px 20px;
  font-weight: 800;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
  box-shadow: 0 10px 24px rgba(139,0,0,.18);
}

.oroko-button:hover,
#loginform input[type="submit"]:hover {
  transform: translateY(-1px);
  background: var(--oroko-red-dark);
  color: #fff !important;
}

.oroko-button-secondary {
  background: var(--oroko-black);
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
}

.oroko-button-light {
  background: #f4eee8;
  color: var(--oroko-black) !important;
  box-shadow: none;
}

.oroko-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0;
}

.oroko-card-grid,
.oroko-directory-grid,
.oroko-chapter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0;
}

.oroko-card span {
  display: block;
  color: var(--oroko-muted);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 6px;
}

.oroko-card strong {
  display: block;
  font-size: 19px;
}

.oroko-alert {
  border-radius: 14px;
  padding: 14px 16px;
  margin: 16px 0;
  border: 1px solid transparent;
  font-weight: 600;
}

.oroko-alert-success { background: #eef9f0; color: #135a20; border-color: #b7e4bf; }
.oroko-alert-error { background: #fff0f0; color: #8b0000; border-color: #f1b5b5; }
.oroko-alert-warning { background: #fff7e2; color: #765000; border-color: #f1d27d; }
.oroko-alert-info { background: #eef5ff; color: #17456f; border-color: #bdd8f7; }

.oroko-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  background: #eee;
  color: #333;
}

.oroko-badge-active,
.oroko-badge-paid { background: #e8f7ec; color: #0f6b2a; }
.oroko-badge-pending,
.oroko-badge-pending_verification { background: #fff3ce; color: #755000; }
.oroko-badge-expired,
.oroko-badge-unpaid { background: #ffe8e8; color: #8b0000; }

.oroko-login-wrap {
  max-width: 560px;
}

.oroko-login-card h2 {
  margin-top: 0;
}

#loginform p {
  margin-bottom: 14px;
}

#loginform label {
  font-weight: 700;
}

#loginform input[type="text"],
#loginform input[type="password"] {
  width: 100%;
  border: 1px solid #d8d2ca;
  border-radius: 12px;
  padding: 12px 13px;
  margin-top: 7px;
  box-sizing: border-box;
}

.oroko-small {
  font-size: 14px;
  color: var(--oroko-muted);
}

.oroko-filter {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 14px;
  align-items: end;
}

.oroko-member-card h3,
.oroko-chapter-card h3 {
  margin-top: 10px;
  margin-bottom: 8px;
}

.oroko-member-card p,
.oroko-chapter-card p {
  margin: 6px 0;
  color: var(--oroko-muted);
}

.oroko-avatar {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--oroko-red);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 900;
}

.oroko-link {
  color: var(--oroko-red);
  font-weight: 800;
  text-decoration: none;
}

.oroko-payment-box h3 {
  margin-top: 0;
}

.oroko-richtext p:last-child {
  margin-bottom: 0;
}

.oroko-admin-wrap .oroko-card {
  max-width: 980px;
  margin: 18px 0;
}

.oroko-admin-filter {
  display: flex;
  gap: 8px;
  margin: 16px 0;
}

.oroko-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

@media (max-width: 900px) {
  .oroko-card-grid,
  .oroko-directory-grid,
  .oroko-chapter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .oroko-filter {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .oroko-grid-2,
  .oroko-card-grid,
  .oroko-directory-grid,
  .oroko-chapter-grid {
    grid-template-columns: 1fr;
  }
  .oroko-hero-mini {
    padding: 24px;
    border-radius: 18px;
  }
  .oroko-actions {
    display: grid;
  }
  .oroko-actions .oroko-button {
    width: 100%;
  }
}

/* V2 admin and certificate enhancements */
.oroko-admin-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
  max-width: 1180px;
}

.oroko-admin-stats .oroko-card {
  padding: 16px;
  margin: 0;
}

.oroko-admin-filter-v2 {
  display: grid;
  grid-template-columns: 1.2fr repeat(5, minmax(110px, 1fr)) auto auto auto;
  gap: 8px;
  align-items: center;
  max-width: 100%;
}

.oroko-admin-filter-v2 input,
.oroko-admin-filter-v2 select {
  min-height: 32px;
}

.oroko-year-input {
  max-width: 90px;
}

.oroko-receipt-wrap {
  max-width: 980px;
}

.oroko-certificate {
  border: 2px solid var(--oroko-red);
  padding: 38px;
  position: relative;
  overflow: hidden;
}

.oroko-certificate:before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(199,155,59,.65);
  border-radius: 14px;
  pointer-events: none;
}

.oroko-certificate.is-pending {
  border-style: dashed;
  opacity: .88;
}

.oroko-cert-head {
  text-align: center;
  margin-bottom: 26px;
}

.oroko-cert-head h2 {
  margin: 4px 0 8px;
  font-size: clamp(30px, 4vw, 48px);
  color: var(--oroko-red);
}

.oroko-cert-name {
  text-align: center;
  font-size: clamp(28px, 5vw, 54px);
  font-weight: 900;
  margin: 24px 0;
  line-height: 1.05;
}

.oroko-cert-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 28px 0;
}

.oroko-cert-grid div {
  background: #fffaf5;
  border: 1px solid var(--oroko-line);
  border-radius: 14px;
  padding: 14px;
}

.oroko-cert-grid span {
  display: block;
  font-size: 12px;
  color: var(--oroko-muted);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 6px;
}

.oroko-cert-grid strong {
  font-size: 17px;
}

.oroko-cert-note {
  text-align: center;
  color: var(--oroko-muted);
}

.oroko-cert-signature {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  margin-top: 36px;
  font-weight: 800;
}

.oroko-cert-signature span {
  border-top: 1px solid var(--oroko-black);
  padding-top: 9px;
  min-width: 220px;
  text-align: center;
}

@media (max-width: 1180px) {
  .oroko-admin-stats,
  .oroko-admin-filter-v2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .oroko-admin-stats,
  .oroko-admin-filter-v2,
  .oroko-cert-grid {
    grid-template-columns: 1fr;
  }
  .oroko-cert-signature {
    display: grid;
  }
}

@media print {
  body * {
    visibility: hidden;
  }
  .oroko-certificate,
  .oroko-certificate * {
    visibility: visible;
  }
  .oroko-certificate {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(100% - 76px);
    box-shadow: none;
  }
  .oroko-no-print {
    display: none !important;
  }
}

/* V3 flexible form, Forminator, and design-token enhancements */
.oroko-wrap {
  max-width: var(--oroko-max-width, 1120px);
  width: min(100%, var(--oroko-max-width, 1120px));
  font-size: var(--oroko-base-font-size, 16px);
  color: var(--oroko-text, var(--oroko-black));
}

.oroko-hero-mini h2 {
  font-size: clamp(28px, 4vw, var(--oroko-heading-size, 42px));
}

.oroko-card,
.oroko-form,
.oroko-filter,
.oroko-certificate,
.oroko-forminator-card {
  background: var(--oroko-card-bg, #fff);
  border-color: var(--oroko-line, #e7e2dd);
  border-radius: var(--oroko-card-radius, 18px);
}

.oroko-form label,
.oroko-filter label {
  font-size: var(--oroko-label-font-size, 14px);
}

.oroko-form input,
.oroko-form select,
.oroko-form textarea,
.oroko-filter select,
#loginform input[type="text"],
#loginform input[type="password"] {
  font-size: var(--oroko-input-font-size, 16px);
}

.oroko-button,
#loginform input[type="submit"] {
  font-size: var(--oroko-button-font-size, 16px);
}

.oroko-field-type-checkbox {
  grid-column: 1 / -1;
}

.oroko-field-type-textarea {
  grid-column: 1 / -1;
}

.oroko-forminator-card {
  overflow: visible;
}

.oroko-forminator-wrap .forminator-ui {
  width: 100%;
  max-width: 100%;
}

.oroko-forminator-wrap .forminator-ui input,
.oroko-forminator-wrap .forminator-ui select,
.oroko-forminator-wrap .forminator-ui textarea {
  max-width: 100%;
  font-size: var(--oroko-input-font-size, 16px) !important;
}

.oroko-forminator-wrap .forminator-ui button,
.oroko-forminator-wrap .forminator-ui .forminator-button {
  font-size: var(--oroko-button-font-size, 16px) !important;
  border-radius: 999px !important;
}

@media (max-width: 480px) {
  .oroko-wrap {
    padding-left: 10px;
    padding-right: 10px;
  }
  .oroko-card,
  .oroko-form,
  .oroko-filter,
  .oroko-forminator-card {
    padding: 16px;
  }
  .oroko-hero-mini h2 {
    font-size: clamp(26px, 9vw, 34px);
  }
}

/* V4 Forminator registration polish + tighter responsive alignment */
.oroko-join-wrap,
.oroko-forminator-wrap {
  width: 100%;
  max-width: min(100%, var(--oroko-max-width, 1120px));
}

.oroko-forminator-card {
  padding: clamp(18px, 3vw, 34px);
  overflow: hidden;
}

.oroko-forminator-wrap .forminator-ui,
.oroko-forminator-wrap .forminator-custom-form {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.oroko-forminator-wrap .forminator-ui .forminator-row,
.oroko-forminator-wrap .forminator-custom-form .forminator-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: clamp(16px, 2.5vw, 30px) !important;
  margin: 0 0 clamp(16px, 2.4vw, 26px) !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.oroko-forminator-wrap .forminator-ui .forminator-col,
.oroko-forminator-wrap .forminator-custom-form .forminator-col {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.oroko-forminator-wrap .forminator-ui .forminator-field,
.oroko-forminator-wrap .forminator-custom-form .forminator-field {
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.oroko-forminator-wrap .forminator-ui .forminator-label,
.oroko-forminator-wrap .forminator-custom-form .forminator-label {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: var(--oroko-text, #101010) !important;
  font-size: var(--oroko-label-font-size, 14px) !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

.oroko-forminator-wrap .forminator-ui .forminator-required,
.oroko-forminator-wrap .forminator-custom-form .forminator-required {
  display: inline !important;
  position: static !important;
  margin: 0 0 0 2px !important;
  padding: 0 !important;
  color: var(--oroko-red, #8b0000) !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.oroko-forminator-wrap .forminator-ui input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.oroko-forminator-wrap .forminator-ui select,
.oroko-forminator-wrap .forminator-ui textarea,
.oroko-forminator-wrap .forminator-custom-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.oroko-forminator-wrap .forminator-custom-form select,
.oroko-forminator-wrap .forminator-custom-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  border: 1px solid #d8d2ca !important;
  border-radius: 14px !important;
  padding: 12px 15px !important;
  background: #fff !important;
  color: var(--oroko-text, #101010) !important;
  font-size: var(--oroko-input-font-size, 16px) !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

.oroko-forminator-wrap .forminator-ui textarea,
.oroko-forminator-wrap .forminator-custom-form textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

.oroko-forminator-wrap .forminator-ui input:focus,
.oroko-forminator-wrap .forminator-ui select:focus,
.oroko-forminator-wrap .forminator-ui textarea:focus,
.oroko-forminator-wrap .forminator-custom-form input:focus,
.oroko-forminator-wrap .forminator-custom-form select:focus,
.oroko-forminator-wrap .forminator-custom-form textarea:focus {
  border-color: var(--oroko-red, #8b0000) !important;
  outline: 3px solid rgba(139,0,0,.12) !important;
}

.oroko-forminator-wrap .forminator-ui .forminator-button,
.oroko-forminator-wrap .forminator-ui button[type="submit"],
.oroko-forminator-wrap .forminator-custom-form .forminator-button,
.oroko-forminator-wrap .forminator-custom-form button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 13px 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--oroko-red, #8b0000) !important;
  color: #fff !important;
  font-size: var(--oroko-button-font-size, 16px) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(139,0,0,.18) !important;
}

.oroko-forminator-wrap .forminator-ui .forminator-button:hover,
.oroko-forminator-wrap .forminator-ui button[type="submit"]:hover,
.oroko-forminator-wrap .forminator-custom-form .forminator-button:hover,
.oroko-forminator-wrap .forminator-custom-form button[type="submit"]:hover {
  background: var(--oroko-red-dark, #5f0000) !important;
  color: #fff !important;
}

.oroko-forminator-wrap .forminator-ui .forminator-error-message,
.oroko-forminator-wrap .forminator-custom-form .forminator-error-message {
  margin-top: 6px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.oroko-forminator-wrap .forminator-ui .forminator-description,
.oroko-forminator-wrap .forminator-custom-form .forminator-description {
  margin-top: 6px !important;
  color: var(--oroko-muted, #666) !important;
  line-height: 1.45 !important;
}

/* Native form gets the same tighter rhythm */
.oroko-form.oroko-card {
  padding: clamp(18px, 3vw, 34px);
}

.oroko-form .oroko-grid-2 {
  gap: clamp(16px, 2.5vw, 30px) !important;
  align-items: start;
}

.oroko-form label.oroko-field {
  line-height: 1.25;
}

.oroko-form input,
.oroko-form select,
.oroko-form textarea {
  min-height: 48px;
  border-radius: 14px;
}

@media (max-width: 767px) {
  .oroko-forminator-wrap .forminator-ui .forminator-row,
  .oroko-forminator-wrap .forminator-custom-form .forminator-row {
    display: block !important;
    margin-bottom: 0 !important;
  }

  .oroko-forminator-wrap .forminator-ui .forminator-col,
  .oroko-forminator-wrap .forminator-custom-form .forminator-col {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
  }

  .oroko-forminator-wrap .forminator-ui .forminator-button,
  .oroko-forminator-wrap .forminator-ui button[type="submit"],
  .oroko-forminator-wrap .forminator-custom-form .forminator-button,
  .oroko-forminator-wrap .forminator-custom-form button[type="submit"] {
    width: 100% !important;
  }
}

/* V4 fallback: apply the same polish when Forminator form 540 is placed directly on a Divi page without [oroko_join_form]. */
#forminator-module-540,
form#forminator-module-540 {
  width: 100% !important;
  max-width: min(100%, var(--oroko-max-width, 1120px)) !important;
  box-sizing: border-box !important;
}

#forminator-module-540 .forminator-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: clamp(16px, 2.5vw, 30px) !important;
  margin: 0 0 clamp(16px, 2.4vw, 26px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#forminator-module-540 .forminator-col {
  flex: 1 1 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

#forminator-module-540 .forminator-field {
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

#forminator-module-540 .forminator-label {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  margin: 0 0 8px !important;
  color: var(--oroko-text, #101010) !important;
  font-size: var(--oroko-label-font-size, 14px) !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
}

#forminator-module-540 .forminator-required {
  display: inline !important;
  position: static !important;
  margin: 0 0 0 2px !important;
  color: var(--oroko-red, #8b0000) !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

#forminator-module-540 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
#forminator-module-540 select,
#forminator-module-540 textarea {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 48px !important;
  border: 1px solid #d8d2ca !important;
  border-radius: 14px !important;
  padding: 12px 15px !important;
  background: #fff !important;
  color: var(--oroko-text, #101010) !important;
  font-size: var(--oroko-input-font-size, 16px) !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}

#forminator-module-540 input:focus,
#forminator-module-540 select:focus,
#forminator-module-540 textarea:focus {
  border-color: var(--oroko-red, #8b0000) !important;
  outline: 3px solid rgba(139,0,0,.12) !important;
}

#forminator-module-540 .forminator-button,
#forminator-module-540 button[type="submit"] {
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--oroko-red, #8b0000) !important;
  color: #fff !important;
  padding: 13px 24px !important;
  font-size: var(--oroko-button-font-size, 16px) !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 24px rgba(139,0,0,.18) !important;
}

@media (max-width: 767px) {
  #forminator-module-540 .forminator-row {
    display: block !important;
    margin-bottom: 0 !important;
  }
  #forminator-module-540 .forminator-col {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
  }
  #forminator-module-540 .forminator-button,
  #forminator-module-540 button[type="submit"] {
    width: 100% !important;
  }
}

/* V6.1 dashboard refinements: keep V4 visual foundation, add balanced modern dashboard cards. */
.oroko-wrap,
.oroko-wrap * {
  box-sizing: border-box;
}

.oroko-wrap {
  max-width: var(--oroko-max-width, 1120px);
  width: min(100%, var(--oroko-max-width, 1120px));
  font-size: var(--oroko-base-font-size, 16px) !important;
}

.oroko-form label,
.oroko-form .oroko-field,
.oroko-filter label {
  font-size: var(--oroko-label-font-size, 14px) !important;
}

.oroko-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.oroko-form select,
.oroko-form textarea,
.oroko-filter select,
.oroko-filter input {
  font-size: var(--oroko-input-font-size, 16px) !important;
}

.oroko-button,
#loginform input[type="submit"],
.oroko-form button[type="submit"] {
  font-size: var(--oroko-button-font-size, 16px) !important;
}

.oroko-hero-mini h2 {
  font-size: clamp(28px, 4vw, var(--oroko-heading-size, 42px)) !important;
}

.oroko-field {
  display: block;
  min-width: 0;
}

.oroko-field-type-textarea,
.oroko-field-consent,
.oroko-check {
  grid-column: 1 / -1;
}

.oroko-check {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
}

.oroko-check input {
  flex: 0 0 auto;
  width: auto !important;
}

.oroko-dashboard-modern {
  --oroko-panel-shadow: 0 14px 34px rgba(16,16,16,.07);
  padding-top: 6px;
}

.oroko-dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 320px);
  gap: 18px;
  align-items: stretch;
  margin: 0 0 22px;
}

.oroko-dashboard-hero-copy {
  background: radial-gradient(circle at top left, rgba(199,155,59,.26), transparent 34%), linear-gradient(135deg, var(--oroko-red,#8b0000), var(--oroko-red-dark,#5f0000));
  color: #fff;
  border-radius: var(--oroko-card-radius, 18px);
  padding: clamp(28px, 4vw, 46px);
  overflow: hidden;
  box-shadow: var(--oroko-panel-shadow);
}

.oroko-dashboard-hero-copy h2 {
  color: #fff;
  font-size: clamp(26px, 3.4vw, var(--oroko-heading-size, 42px)) !important;
  line-height: 1.08;
  margin: 8px 0 12px;
  font-weight: 850;
  letter-spacing: -.025em;
}

.oroko-dashboard-hero-copy p:not(.oroko-eyebrow) {
  max-width: 780px;
  margin: 0;
  color: rgba(255,255,255,.9);
  font-size: clamp(15px, 1.7vw, 17px);
}

.oroko-member-signal {
  border-radius: var(--oroko-card-radius, 18px);
  padding: 24px;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 170px;
  position: relative;
  overflow: hidden;
  box-shadow: var(--oroko-panel-shadow);
}

.oroko-member-signal::after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -42px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: rgba(255,255,255,.14);
}

.oroko-member-signal span {
  position: relative;
  z-index: 1;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: 11px;
  font-weight: 900;
  opacity: .88;
}

.oroko-member-signal strong {
  position: relative;
  z-index: 1;
  display: block;
  font-size: clamp(26px, 3vw, 34px) !important;
  line-height: 1.02;
  margin: 14px 0 10px;
  letter-spacing: -.03em;
}

.oroko-member-signal small {
  position: relative;
  z-index: 1;
  font-size: 13px;
  line-height: 1.45;
  opacity: .94;
}

.oroko-signal-verified { background: linear-gradient(135deg, #166534, #064e3b); }
.oroko-signal-review { background: linear-gradient(135deg, #92400e, #78350f); }
.oroko-signal-pending { background: linear-gradient(135deg, #111827, #374151); }

.oroko-dashboard-alert {
  margin: 0 0 22px;
}

.oroko-dashboard-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0 0 22px;
}

.oroko-data-card {
  background: var(--oroko-card-bg,#fff);
  border: 1px solid var(--oroko-line,#e7e2dd);
  border-radius: 18px;
  padding: 18px;
  min-height: 136px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 10px 24px rgba(16,16,16,.055);
  position: relative;
  overflow: hidden;
}

.oroko-data-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, var(--oroko-red,#8b0000), var(--oroko-gold,#c79b3b));
  opacity: .85;
}

.oroko-data-card-primary {
  background: linear-gradient(180deg, #fff, var(--oroko-bg,#fffaf5));
}

.oroko-data-icon {
  width: 34px;
  height: 34px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--oroko-bg,#fffaf5);
  color: var(--oroko-red,#8b0000);
  font-weight: 900;
  border: 1px solid var(--oroko-line,#e7e2dd);
  font-size: 15px;
}

.oroko-data-card span {
  display: block;
  margin-top: 16px;
  text-transform: uppercase;
  letter-spacing: .085em;
  font-size: 11px !important;
  color: var(--oroko-muted,#666);
  font-weight: 900;
}

.oroko-data-card strong {
  display: block;
  margin-top: 7px;
  font-size: clamp(15px, 1.45vw, 18px) !important;
  line-height: 1.18;
  word-break: break-word;
}

.oroko-dashboard-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 18px;
  margin: 0 0 18px;
}

.oroko-panel {
  background: var(--oroko-card-bg,#fff);
  border: 1px solid var(--oroko-line,#e7e2dd);
  border-radius: var(--oroko-card-radius, 18px);
  padding: clamp(20px, 3vw, 28px);
  box-shadow: 0 10px 24px rgba(16,16,16,.055);
}

.oroko-panel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 18px;
}

.oroko-panel-head h3 {
  margin: 2px 0 0;
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.15;
  font-weight: 850;
  letter-spacing: -.015em;
  color: var(--oroko-text,#101010);
}

.oroko-kicker {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .11em;
  font-size: 11px !important;
  font-weight: 900;
  color: var(--oroko-red,#8b0000);
}

.oroko-chip-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 13px;
  border-radius: 999px;
  background: var(--oroko-bg,#fffaf5);
  color: var(--oroko-red,#8b0000) !important;
  font-weight: 900;
  text-decoration: none !important;
  border: 1px solid var(--oroko-line,#e7e2dd);
}

.oroko-profile-list {
  display: grid;
  gap: 10px;
}

.oroko-profile-list div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 13px 14px;
  border: 1px solid var(--oroko-line,#e7e2dd);
  border-radius: 14px;
  background: #fff;
}

.oroko-profile-list span,
.oroko-affiliation-card span {
  text-transform: uppercase;
  letter-spacing: .075em;
  font-size: 11px !important;
  font-weight: 900;
  color: var(--oroko-muted,#666);
}

.oroko-profile-list strong,
.oroko-affiliation-card strong {
  color: var(--oroko-text,#101010);
  font-size: 15px !important;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.oroko-affiliation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.oroko-affiliation-card {
  min-height: 112px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 12px;
  padding: 18px;
  border-radius: 16px;
  border: 1px solid var(--oroko-line,#e7e2dd);
  background: linear-gradient(180deg, #fff, var(--oroko-bg,#fffaf5));
}

.oroko-completion-panel {
  margin: 0 0 18px;
}

.oroko-completion-number {
  font-size: clamp(26px, 3vw, 34px) !important;
  line-height: 1;
  color: var(--oroko-red,#8b0000);
}

.oroko-progress {
  height: 13px;
  border-radius: 999px;
  overflow: hidden;
  background: #f3f4f6;
  border: 1px solid var(--oroko-line,#e7e2dd);
}

.oroko-progress span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--oroko-red,#8b0000), var(--oroko-gold,#c79b3b));
}

.oroko-completion-panel p {
  margin: 12px 0 0;
  color: var(--oroko-muted,#666);
  font-weight: 700;
}

.oroko-action-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.oroko-action-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 124px;
  padding: 17px;
  border-radius: 18px;
  border: 1px solid var(--oroko-line,#e7e2dd);
  background: #fff;
  text-decoration: none !important;
  color: var(--oroko-text,#101010) !important;
  box-shadow: 0 10px 24px rgba(16,16,16,.045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.oroko-action-card:hover {
  transform: translateY(-2px);
  border-color: var(--oroko-gold,#c79b3b);
  box-shadow: 0 16px 30px rgba(16,16,16,.075);
}

.oroko-action-card span {
  width: max-content;
  max-width: 100%;
  border-radius: 999px;
  padding: 4px 9px;
  background: var(--oroko-bg,#fffaf5);
  color: var(--oroko-red,#8b0000);
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: .075em;
  font-weight: 900;
}

.oroko-action-card strong {
  display: block;
  margin-top: 4px;
  font-size: 17px !important;
  line-height: 1.14;
  font-weight: 850;
}

.oroko-action-card small {
  color: var(--oroko-muted,#666);
  font-weight: 700;
  line-height: 1.4;
}

.oroko-action-card-muted {
  background: #f9fafb;
}

.oroko-field-builder {
  max-width: 1120px;
  overflow-x: auto;
}

.oroko-field-builder-table input[type="text"],
.oroko-field-builder-table select {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 1080px) {
  .oroko-action-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .oroko-dashboard-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .oroko-dashboard-hero,
  .oroko-dashboard-layout { grid-template-columns: 1fr; }
  .oroko-affiliation-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .oroko-dashboard-cards,
  .oroko-affiliation-grid,
  .oroko-action-grid { grid-template-columns: 1fr; }
  .oroko-profile-list div { grid-template-columns: 1fr; gap: 4px; align-items: start; }
  .oroko-panel-head { flex-direction: column; }
  .oroko-member-signal { min-height: 150px; }
}

/* V7 Chapter Intelligence */
.oroko-smart-chapter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 24px);
  margin: 24px 0;
}

.oroko-smart-chapter-card {
  background: var(--oroko-card-bg,#fff);
  border: 1px solid var(--oroko-line,#e7e2dd);
  border-radius: var(--oroko-card-radius,18px);
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(16,16,16,.07);
  position: relative;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.oroko-smart-chapter-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, var(--oroko-red,#8b0000), var(--oroko-gold,#c79b3b));
}

.oroko-smart-chapter-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 42px rgba(16,16,16,.09);
  border-color: rgba(199,155,59,.55);
}

.oroko-chapter-image {
  min-height: 168px;
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid var(--oroko-line,#e7e2dd);
  position: relative;
}

.oroko-chapter-image-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 14px;
  background: linear-gradient(180deg, rgba(16,16,16,.04), rgba(16,16,16,.18));
}

.oroko-chapter-image-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 34px;
  border-radius: 999px;
  padding: 0 12px;
  background: rgba(255,255,255,.94);
  color: var(--oroko-red,#8b0000);
  font-size: 12px !important;
  font-weight: 900;
  letter-spacing: .08em;
  box-shadow: 0 10px 22px rgba(16,16,16,.12);
}

.oroko-chapter-image-fallback {
  display: grid;
  place-items: center;
  gap: 8px;
  padding: 18px;
  color: #fff;
  background:
    radial-gradient(circle at top right, rgba(199,155,59,.40), transparent 28%),
    linear-gradient(135deg, var(--oroko-red-dark,#5f0000), var(--oroko-red,#8b0000));
}

.oroko-chapter-fallback-mark {
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 18px;
  backdrop-filter: blur(5px);
}

.oroko-chapter-fallback-mark svg {
  width: 34px;
  height: 34px;
}

.oroko-chapter-fallback-code {
  display: block;
  font-size: 20px !important;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .12em;
}

.oroko-chapter-fallback-city {
  display: block;
  font-size: 12px !important;
  color: rgba(255,255,255,.84);
  font-weight: 700;
  text-align: center;
}

.oroko-chapter-card-body {
  padding: clamp(16px, 2vw, 22px);
}

.oroko-chapter-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}

.oroko-chapter-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(139,0,0,.08);
  color: var(--oroko-red,#8b0000);
  font-size: 11px !important;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  white-space: nowrap;
}

.oroko-chapter-badge-large {
  font-size: 12px !important;
  padding: 8px 13px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(16,16,16,.08);
}

.oroko-chapter-status-emerging .oroko-chapter-badge { background: rgba(199,155,59,.16); color: #765000; }
.oroko-chapter-status-planned .oroko-chapter-badge { background: #eef2ff; color: #3730a3; }

.oroko-chapter-region {
  color: var(--oroko-muted,#666);
  font-size: 12px !important;
  font-weight: 800;
  text-align: right;
}

.oroko-smart-chapter-card h3 {
  margin: 0 0 12px;
  font-size: clamp(19px, 1.65vw, 23px) !important;
  line-height: 1.12;
  letter-spacing: -.02em;
  color: var(--oroko-text,#101010);
}

.oroko-smart-chapter-card p {
  margin: 0 0 16px;
  color: var(--oroko-muted,#666);
  line-height: 1.55;
  font-weight: 600;
}

.oroko-chapter-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 18px;
}

.oroko-chapter-metrics div {
  border: 1px solid var(--oroko-line,#e7e2dd);
  background: var(--oroko-bg,#fffaf5);
  border-radius: 14px;
  padding: 10px;
  text-align: center;
}

.oroko-chapter-metrics span {
  display: block;
  color: var(--oroko-muted,#666);
  font-size: 10px !important;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 4px;
}

.oroko-chapter-metrics strong {
  display: block;
  font-size: 20px !important;
  line-height: 1;
  color: var(--oroko-text,#101010);
}

.oroko-chapter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.oroko-chapter-identity-strip {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 14px 0 18px;
  padding: 12px 14px;
  border: 1px solid var(--oroko-line,#e7e2dd);
  background: var(--oroko-bg,#fffaf5);
  border-radius: 14px;
  color: var(--oroko-muted,#666);
  font-size: 12px !important;
  font-weight: 850;
}

.oroko-image-picker {
  display: grid;
  gap: 8px;
  min-width: 220px;
}

.oroko-image-preview {
  width: 120px;
  height: 72px;
  border: 1px solid #dcdcde;
  border-radius: 8px;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #f6f7f7;
  color: #646970;
  font-size: 12px;
}

.oroko-image-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.oroko-button-small {
  padding: 10px 13px !important;
  font-size: 13px !important;
  box-shadow: none;
}

.oroko-chapter-profile-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 22px;
  padding: clamp(24px, 4vw, 38px);
  border-radius: var(--oroko-card-radius,18px);
  color: #fff;
  background: radial-gradient(circle at top right, rgba(199,155,59,.46), transparent 30%), linear-gradient(135deg, var(--oroko-red-dark,#5f0000), var(--oroko-red,#8b0000));
  box-shadow: 0 18px 48px rgba(139,0,0,.16);
}

.oroko-chapter-profile-hero-has-image {
  background-size: cover;
  background-position: center;
}

.oroko-chapter-profile-hero .oroko-eyebrow,
.oroko-chapter-profile-hero p { color: rgba(255,255,255,.86); }

.oroko-chapter-profile-hero h2 {
  margin: 4px 0 8px;
  color: #fff;
  font-size: clamp(28px, 4vw, var(--oroko-heading-size,42px)) !important;
  line-height: 1.05;
}

.oroko-chapter-profile-stats .oroko-data-card {
  min-height: 104px;
}

@media (max-width: 1080px) {
  .oroko-smart-chapter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .oroko-smart-chapter-grid,
  .oroko-chapter-profile-hero { grid-template-columns: 1fr; }
  .oroko-chapter-card-top { align-items: flex-start; flex-direction: column; }
  .oroko-chapter-region { text-align: left; }
  .oroko-chapter-actions .oroko-button { width: 100%; justify-content: center; }
}


/* V7.3: public chapter cards show only registered member count */
.oroko-chapter-metrics-single {
  grid-template-columns: 1fr !important;
}

.oroko-chapter-metrics-single div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  text-align: left;
  padding: 13px 14px;
  background:
    linear-gradient(90deg, rgba(139,0,0,.06), rgba(199,155,59,.10)),
    var(--oroko-bg,#fffaf5);
}

.oroko-chapter-metrics-single span {
  margin: 0;
  font-size: 11px !important;
}

.oroko-chapter-metrics-single strong {
  font-size: 28px !important;
  color: var(--oroko-red,#8b0000);
}


/* V7.4 Njasawaka workflow bridge */
.oroko-data-card-njasawaka .oroko-data-icon,
.oroko-action-card-njasawaka span {
  background: linear-gradient(135deg, var(--oroko-red), var(--oroko-gold));
  color: #fff;
}

.oroko-njasawaka-panel,
.oroko-njasawaka-form-panel,
.oroko-njasawaka-access-diagnostic {
  margin: 20px 0;
}

.oroko-njasawaka-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.oroko-njasawaka-status-grid > div {
  padding: 14px;
  border: 1px solid var(--oroko-line);
  border-radius: 14px;
  background: rgba(139,0,0,.025);
}

.oroko-njasawaka-status-grid span {
  display: block;
  color: var(--oroko-muted);
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 6px;
}

.oroko-njasawaka-status-grid strong {
  display: block;
  color: var(--oroko-text);
}

.oroko-njasawaka-note,
.oroko-njasawaka-help {
  margin-top: 14px;
  padding: 14px;
  border-radius: 14px;
  background: #fff8ea;
  border: 1px solid rgba(199,155,59,.25);
  color: var(--oroko-text);
}

.oroko-njasawaka-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.oroko-njasawaka-approved {
  background: #e9f8ee !important;
  color: #14733a !important;
}

.oroko-njasawaka-declined {
  background: #fff0f0 !important;
  color: #a22626 !important;
}

.oroko-njasawaka-under_review,
.oroko-njasawaka-submitted {
  background: #fff7df !important;
  color: #8a6214 !important;
}

.oroko-njasawaka-more_info_required {
  background: #eef4ff !important;
  color: #2256a0 !important;
}

.oroko-njasawaka-not_started,
.oroko-njasawaka-draft {
  background: #f3f3f3 !important;
  color: #555 !important;
}

@media (max-width: 860px) {
  .oroko-njasawaka-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .oroko-njasawaka-status-grid {
    grid-template-columns: 1fr;
  }
}


/* V7.5: Member Registration conditional City/State for Member At Large */
.oroko-field-chapter-control {
  border-radius: var(--oroko-radius, 18px);
}

.oroko-member-at-large-field {
  display: none !important;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(199,155,59,.28);
  background: rgba(255,248,234,.72);
}

.oroko-member-at-large-field.is-visible {
  display: grid !important;
}

.oroko-member-at-large-required-mark {
  color: var(--oroko-red, #8b0000);
  font-weight: 900;
}
