.kaegen-member-card,
.kaegen-member-card * {
  box-sizing: border-box;
}

.kaegen-member-card,
.kaegen-member-portal-grid,
.kaegen-member-notice {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #414042;
}

.kaegen-member-portal-grid {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 18px;
  align-items: start;
}

.kaegen-member-card {
  width: 100%;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  padding: clamp(18px, 3vw, 30px);
}

.kaegen-member-card--compact {
  max-width: 620px;
}

.kaegen-member-header {
  margin-bottom: 24px;
}

.kaegen-member-header h3 {
  margin: 4px 0 8px;
  color: #1F2F5D;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.12;
  font-weight: 800;
}

.kaegen-member-header p,
.kaegen-member-card--compact p {
  margin: 0;
  color: #6F7480;
  font-size: 14px;
  line-height: 1.55;
}

.kaegen-member-kicker {
  display: inline-block;
  color: #F78D25;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

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

.kaegen-member-form--single {
  grid-template-columns: 1fr;
}

.kaegen-member-field {
  min-width: 0;
}

.kaegen-member-field--wide {
  grid-column: 1 / -1;
}

.kaegen-member-field label,
.kaegen-member-check {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 7px;
  color: #1F2F5D;
  font-size: 13px;
  font-weight: 700;
}

.kaegen-member-field input,
.kaegen-member-field textarea {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  margin: 0;
  border: 1px solid #D7DADF;
  border-radius: 10px;
  background: #fff;
  padding: 11px 13px;
  color: #414042;
  font: inherit;
  font-size: 16px;
  outline: none;
  box-shadow: none;
}

.kaegen-member-field textarea {
  min-height: 92px;
  resize: vertical;
}

.kaegen-member-field input:focus,
.kaegen-member-field textarea:focus {
  border-color: #1F71B9;
  outline: 2px solid rgba(31, 113, 185, .13);
  outline-offset: 1px;
}

.kaegen-member-field small {
  display: block;
  margin-top: 6px;
  color: #808285;
  font-size: 12px;
}

.kaegen-member-button,
.kaegen-member-link-button,
.kaegen-member-secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-radius: 10px;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
}

.kaegen-member-button,
.kaegen-member-link-button {
  border: 1px solid #1F71B9;
  background: #1F71B9;
  color: #fff;
  padding: 11px 18px;
}

.kaegen-member-button:hover,
.kaegen-member-link-button:hover,
.kaegen-member-button:focus,
.kaegen-member-link-button:focus {
  background: #1F2F5D;
  border-color: #1F2F5D;
  color: #fff;
}

.kaegen-member-secondary-button {
  border: 1px solid #D7DADF;
  background: #fff;
  color: #1F2F5D;
  padding: 10px 16px;
}

.kaegen-member-check {
  margin: 0;
  font-weight: 600;
  color: #5E6470;
}

.kaegen-member-check input {
  width: 17px;
  height: 17px;
  accent-color: #1F71B9;
}

.kaegen-member-helper {
  margin: 16px 0 0;
  color: #6F7480;
  font-size: 13px;
}

.kaegen-member-helper a {
  color: #1F71B9;
  font-weight: 700;
}

.kaegen-member-notice {
  margin: 0 0 16px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.45;
}

.kaegen-member-notice.is-success {
  border-color: rgba(31,113,185,.28);
  background: rgba(218,230,237,.38);
  color: #1F2F5D;
}

.kaegen-member-notice.is-error {
  border-color: rgba(191,81,39,.3);
  background: rgba(255,234,215,.55);
  color: #8A3619;
}

.kaegen-profile-header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}

.kaegen-member-id-block {
  flex: 0 0 auto;
  min-width: 125px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #F1F2F2;
  padding: 11px 14px;
  text-align: right;
}

.kaegen-member-id-block span,
.kaegen-account-meta span {
  display: block;
  color: #808285;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.kaegen-member-id-block strong {
  display: block;
  margin-top: 3px;
  color: #1F71B9;
  font-size: 20px;
}

.kaegen-account-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}

.kaegen-account-meta > div {
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #F9FAFA;
  padding: 11px 13px;
}

.kaegen-account-meta strong {
  display: block;
  margin-top: 4px;
  color: #1F2F5D;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.kaegen-logout-form {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #E6E7E8;
}

@media (max-width: 900px) {
  .kaegen-member-portal-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .kaegen-member-form,
  .kaegen-account-meta {
    grid-template-columns: 1fr;
  }
  .kaegen-member-field,
  .kaegen-member-field--wide {
    grid-column: 1;
  }
  .kaegen-profile-header {
    display: grid;
  }
  .kaegen-member-id-block {
    width: 100%;
    text-align: left;
  }
}

/* v1.1.0: Account profile + front-end administrator dashboard */
.kaegen-skybox-grid {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: 14px;
  margin: 0 0 20px;
}

.kaegen-skybox-card {
  min-width: 0;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  padding: 16px;
  background: #fff;
}

.kaegen-skybox-card--number {
  background: #DAE6ED;
  border-color: rgba(31, 113, 185, .22);
}

.kaegen-skybox-card--address {
  background: #FFF;
}

.kaegen-skybox-label {
  display: block;
  margin-bottom: 7px;
  color: #1F2F5D;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kaegen-skybox-card--number > strong {
  display: block;
  margin-bottom: 8px;
  color: #1F71B9;
  font-size: clamp(28px, 5vw, 40px);
  line-height: 1;
  letter-spacing: -.02em;
}

.kaegen-skybox-card address {
  margin: 0 0 9px;
  color: #1F2F5D;
  font-size: 15px;
  line-height: 1.55;
  font-style: normal;
  font-weight: 700;
}

.kaegen-skybox-card p {
  margin: 0;
  color: #6F7480;
  font-size: 12px;
  line-height: 1.5;
}

.kaegen-skybox-empty {
  margin-bottom: 9px !important;
  color: #8A3619 !important;
}

.kaegen-account-meta--profile {
  margin-bottom: 24px;
}

.kaegen-profile-section-heading {
  margin: 0 0 16px;
  padding-top: 3px;
}

.kaegen-profile-section-heading h4,
.kaegen-admin-panel__heading h4,
.kaegen-admin-dashboard__header h3 {
  margin: 0;
  color: #1F2F5D;
  font-weight: 800;
}

.kaegen-profile-section-heading h4,
.kaegen-admin-panel__heading h4 {
  font-size: 18px;
}

.kaegen-profile-section-heading p,
.kaegen-admin-panel__heading p,
.kaegen-admin-dashboard__header p {
  margin: 6px 0 0;
  color: #6F7480;
  font-size: 13px;
  line-height: 1.5;
}

.kaegen-admin-dashboard {
  width: 100%;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #414042;
}

.kaegen-admin-dashboard__header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  margin-bottom: 16px;
  padding: 20px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
}

.kaegen-admin-dashboard__header h3 {
  margin-top: 4px;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.15;
}

.kaegen-admin-user-box {
  flex: 0 0 290px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  padding: 12px;
  background: #F9FAFA;
}

.kaegen-admin-user-box > span,
.kaegen-admin-user-box > strong {
  display: block;
}

.kaegen-admin-user-box > span {
  color: #808285;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.kaegen-admin-user-box > strong {
  margin: 4px 0 10px;
  color: #1F2F5D;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.kaegen-admin-user-box form {
  margin: 0;
}

.kaegen-admin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.kaegen-admin-stats > div {
  min-width: 0;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  padding: 14px 15px;
  background: #fff;
}

.kaegen-admin-stats span,
.kaegen-admin-stats strong {
  display: block;
}

.kaegen-admin-stats span {
  color: #808285;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.kaegen-admin-stats strong {
  margin-top: 5px;
  color: #1F2F5D;
  font-size: 23px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.kaegen-admin-dashboard__grid {
  display: grid;
  grid-template-columns: minmax(310px, .85fr) minmax(0, 1.35fr);
  gap: 16px;
  align-items: start;
}

.kaegen-admin-panel {
  padding: 20px;
}

.kaegen-admin-panel__heading {
  margin-bottom: 18px;
}

.kaegen-admin-member-table-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
}

.kaegen-admin-member-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  table-layout: auto;
  background: #fff;
}

.kaegen-admin-member-table th,
.kaegen-admin-member-table td {
  padding: 11px 12px;
  border-bottom: 1px solid #E6E7E8;
  text-align: left;
  vertical-align: top;
  font-size: 12px;
}

.kaegen-admin-member-table th {
  background: #F1F2F2;
  color: #1F2F5D;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 800;
}

.kaegen-admin-member-table tbody tr:last-child td {
  border-bottom: 0;
}

.kaegen-admin-member-table td > strong,
.kaegen-admin-member-table td > span,
.kaegen-admin-member-table td > a {
  display: block;
}

.kaegen-admin-member-table td > strong {
  color: #1F2F5D;
  font-size: 13px;
}

.kaegen-admin-member-table td > span {
  margin-top: 3px;
  color: #808285;
}

.kaegen-admin-member-table td > a {
  color: #1F71B9;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.kaegen-admin-role-form {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 220px;
}

.kaegen-admin-role-form select {
  min-width: 0;
  min-height: 40px;
  flex: 1 1 auto;
  border: 1px solid #D7DADF;
  border-radius: 10px;
  padding: 7px 28px 7px 10px;
  background: #fff;
  color: #414042;
  font: inherit;
  font-size: 12px;
}

.kaegen-admin-role-form .kaegen-member-secondary-button {
  min-height: 40px;
  padding: 8px 11px;
  font-size: 12px;
}

.kaegen-role-badge {
  display: inline-flex !important;
  align-items: center;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid #E6E7E8;
  border-radius: 999px;
  background: #F1F2F2;
  color: #1F2F5D !important;
  font-size: 11px !important;
  font-weight: 800;
}

.kaegen-role-badge.is-admin {
  border-color: rgba(31, 113, 185, .2);
  background: #DAE6ED;
  color: #1F71B9 !important;
}

@media (max-width: 1020px) {
  .kaegen-admin-dashboard__grid {
    grid-template-columns: 1fr;
  }
  .kaegen-admin-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .kaegen-skybox-grid,
  .kaegen-admin-stats {
    grid-template-columns: 1fr;
  }
  .kaegen-admin-dashboard__header {
    display: grid;
  }
  .kaegen-admin-user-box {
    width: 100%;
    flex-basis: auto;
  }
}

@media (max-width: 760px) {
  .kaegen-admin-member-table-wrap {
    overflow: visible;
    border: 0;
  }
  .kaegen-admin-member-table,
  .kaegen-admin-member-table tbody,
  .kaegen-admin-member-table tr,
  .kaegen-admin-member-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .kaegen-admin-member-table {
    background: transparent;
  }
  .kaegen-admin-member-table thead {
    display: none;
  }
  .kaegen-admin-member-table tr {
    margin-bottom: 10px;
    border: 1px solid #E6E7E8;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
  }
  .kaegen-admin-member-table td {
    position: relative;
    padding: 10px 12px 10px 104px;
    border-bottom: 1px solid #E6E7E8;
    min-height: 42px;
  }
  .kaegen-admin-member-table td:last-child {
    border-bottom: 0;
  }
  .kaegen-admin-member-table td::before {
    position: absolute;
    left: 12px;
    top: 11px;
    width: 82px;
    color: #808285;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
  }
  .kaegen-admin-member-table td:nth-child(1)::before { content: "Account"; }
  .kaegen-admin-member-table td:nth-child(2)::before { content: "Member"; }
  .kaegen-admin-member-table td:nth-child(3)::before { content: "Contact"; }
  .kaegen-admin-member-table td:nth-child(4)::before { content: "Role"; }
  .kaegen-admin-role-form {
    min-width: 0;
    flex-wrap: wrap;
  }
  .kaegen-admin-role-form select {
    min-width: 150px;
  }
}

/* v1.1.1: front-end calculator settings for Kaegen Administrators */
.kaegen-admin-panel--calculator {
  margin-top: 16px;
}

.kaegen-admin-panel__heading--with-status {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
}

.kaegen-integration-status {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border: 1px solid #E6E7E8;
  border-radius: 999px;
  padding: 7px 11px;
  background: #F1F2F2;
  color: #6F7480;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.kaegen-integration-status.is-active {
  border-color: rgba(31, 113, 185, .22);
  background: #DAE6ED;
  color: #1F71B9;
}

.kaegen-integration-status.is-inactive {
  border-color: rgba(191, 81, 39, .24);
  background: #FFEAD7;
  color: #8A3619;
}

.kaegen-calculator-admin-form {
  display: grid;
  gap: 18px;
}

.kaegen-calculator-settings-section {
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  padding: 16px;
  background: #fff;
}

.kaegen-calculator-settings-section__heading {
  margin-bottom: 14px;
}

.kaegen-calculator-settings-section__heading h5 {
  margin: 0;
  color: #1F2F5D;
  font-size: 15px;
  font-weight: 800;
}

.kaegen-calculator-settings-section__heading p {
  margin: 4px 0 0;
  color: #808285;
  font-size: 12px;
  line-height: 1.45;
}

.kaegen-calculator-settings-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.kaegen-calculator-settings-grid--behaviour {
  grid-template-columns: minmax(240px, .8fr) minmax(320px, 1.2fr);
  align-items: end;
}

.kaegen-calculator-admin-form .kaegen-member-field select {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  margin: 0;
  border: 1px solid #D7DADF;
  border-radius: 10px;
  background: #fff;
  padding: 10px 34px 10px 12px;
  color: #414042;
  font: inherit;
  font-size: 14px;
  box-shadow: none;
  outline: none;
}

.kaegen-calculator-admin-form .kaegen-member-field select:focus {
  border-color: #1F71B9;
  outline: 2px solid rgba(31, 113, 185, .13);
  outline-offset: 1px;
}

.kaegen-member-field--checkbox {
  display: flex;
  align-items: end;
}

.kaegen-dashboard-checkbox {
  width: 100%;
  min-height: 46px;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  border: 1px solid #D7DADF;
  border-radius: 10px;
  background: #F9FAFA;
  padding: 10px 12px;
  color: #1F2F5D !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4;
}

.kaegen-dashboard-checkbox input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: 0;
  flex: 0 0 auto;
  margin: 0;
  accent-color: #1F71B9;
}

.kaegen-integration-note {
  display: grid;
  gap: 4px;
  border: 1px solid rgba(191, 81, 39, .22);
  border-radius: 10px;
  background: #FFEAD7;
  padding: 12px 14px;
  color: #6A3928;
  font-size: 12px;
  line-height: 1.45;
}

.kaegen-integration-note strong {
  color: #8A3619;
}

.kaegen-calculator-settings-actions {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 1100px) {
  .kaegen-calculator-settings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .kaegen-calculator-settings-grid--behaviour {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .kaegen-admin-panel__heading--with-status {
    display: grid;
  }
  .kaegen-integration-status {
    width: fit-content;
  }
  .kaegen-calculator-settings-grid,
  .kaegen-calculator-settings-grid--behaviour {
    grid-template-columns: 1fr;
  }
  .kaegen-calculator-settings-actions .kaegen-member-button {
    width: 100%;
  }
}

/* v1.2.0 — stacked admin layout, member cards and member detail view */
.kaegen-admin-dashboard__grid {
  grid-template-columns: 1fr;
}

.kaegen-member-form .kaegen-member-field select,
.kaegen-admin-panel .kaegen-member-field select {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border: 1px solid #D7DADF;
  border-radius: 10px;
  background: #fff;
  padding: 10px 34px 10px 12px;
  color: #414042;
  font: inherit;
  font-size: 14px;
  box-shadow: none;
  outline: none;
}

.kaegen-member-form .kaegen-member-field select:focus,
.kaegen-admin-panel .kaegen-member-field select:focus {
  border-color: #1F71B9;
  outline: 2px solid rgba(31, 113, 185, .13);
  outline-offset: 1px;
}

.kaegen-admin-member-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kaegen-admin-member-grid.is-compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kaegen-admin-member-card {
  min-width: 0;
  display: grid;
  gap: 14px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.kaegen-admin-member-card__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}

.kaegen-admin-member-card__top > div {
  min-width: 0;
}

.kaegen-admin-member-card__skybox {
  display: block;
  margin-bottom: 5px;
  color: #808285;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.kaegen-admin-member-card__name {
  display: inline-block;
  color: #1F71B9;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 800;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.kaegen-admin-member-card__name:hover,
.kaegen-admin-member-card__name:focus {
  color: #1F2F5D;
  text-decoration: underline;
}

.kaegen-admin-member-card__details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.kaegen-admin-member-grid.is-compact .kaegen-admin-member-card__details {
  grid-template-columns: 1fr;
}

.kaegen-admin-member-card__details > div {
  min-width: 0;
  border-top: 1px solid #E6E7E8;
  padding-top: 9px;
}

.kaegen-admin-member-card__details span,
.kaegen-member-detail-grid span {
  display: block;
  margin-bottom: 4px;
  color: #808285;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.kaegen-admin-member-card__details strong,
.kaegen-admin-member-card__details a {
  display: block;
  color: #1F2F5D;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.kaegen-admin-member-card__details a {
  color: #1F71B9;
}

.kaegen-admin-member-card__address {
  grid-column: 1 / -1;
}

.kaegen-admin-member-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding-top: 2px;
}

.kaegen-admin-member-card__actions .kaegen-member-link-button,
.kaegen-admin-member-card__actions .kaegen-member-secondary-button {
  min-height: 40px;
  font-size: 12px;
  padding: 8px 12px;
}

.kaegen-admin-member-card__actions .kaegen-admin-role-form {
  flex: 1 1 300px;
}

.kaegen-role-lock {
  color: #6F7480;
  font-size: 11px;
  line-height: 1.4;
}

.kaegen-member-directory-empty {
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  padding: 18px;
  color: #6F7480;
  font-size: 13px;
}

.kaegen-calculator-settings-note {
  margin: 12px 0 0;
  color: #6F7480;
  font-size: 12px;
  line-height: 1.5;
}

.kaegen-member-detail-toolbar {
  margin-bottom: 12px;
}

.kaegen-member-detail-card {
  padding: 22px;
}

.kaegen-member-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid #E6E7E8;
}

.kaegen-member-detail-header h3 {
  margin: 4px 0 6px;
  color: #1F2F5D;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.12;
  font-weight: 800;
}

.kaegen-member-detail-header p {
  margin: 0;
  color: #6F7480;
  font-size: 13px;
}

.kaegen-member-detail-skybox {
  flex: 0 0 auto;
  min-width: 150px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #DAE6ED;
  padding: 12px 14px;
}

.kaegen-member-detail-skybox span,
.kaegen-member-detail-skybox strong {
  display: block;
}

.kaegen-member-detail-skybox span {
  color: #1F2F5D;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.kaegen-member-detail-skybox strong {
  margin-top: 4px;
  color: #1F71B9;
  font-size: 24px;
  line-height: 1.1;
}

.kaegen-member-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.kaegen-member-detail-grid > div {
  min-width: 0;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  padding: 13px 14px;
}

.kaegen-member-detail-grid strong,
.kaegen-member-detail-grid a {
  color: #1F2F5D;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.kaegen-member-detail-grid a {
  color: #1F71B9;
}

.kaegen-member-detail-grid__wide {
  grid-column: 1 / -1;
}

.kaegen-member-detail-role {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #E6E7E8;
}

.kaegen-member-detail-role h4 {
  margin: 0;
  color: #1F2F5D;
  font-size: 16px;
  font-weight: 800;
}

.kaegen-member-detail-role p {
  margin: 5px 0 0;
  color: #6F7480;
  font-size: 12px;
}

.kaegen-member-detail-role .kaegen-admin-role-form {
  flex: 0 1 430px;
}

@media (max-width: 1100px) {
  .kaegen-admin-member-grid.is-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .kaegen-admin-member-grid,
  .kaegen-admin-member-grid.is-compact {
    grid-template-columns: 1fr;
  }

  .kaegen-admin-member-card__details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kaegen-member-detail-role {
    display: grid;
    align-items: start;
  }

  .kaegen-member-detail-role .kaegen-admin-role-form {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .kaegen-admin-member-card__top,
  .kaegen-member-detail-header {
    display: grid;
  }

  .kaegen-admin-member-card__details,
  .kaegen-member-detail-grid {
    grid-template-columns: 1fr;
  }

  .kaegen-admin-member-card__address,
  .kaegen-member-detail-grid__wide {
    grid-column: 1;
  }

  .kaegen-member-detail-skybox {
    width: 100%;
  }

  .kaegen-admin-member-card__actions .kaegen-admin-role-form {
    flex-basis: 100%;
  }
}

/* v1.3.0 — tabbed administrator workspaces, searchable members, commodity management */
.kaegen-admin-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 16px;
}

.kaegen-admin-tabs a {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  color: #1F2F5D;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.kaegen-admin-tabs a.is-active {
  border-color: #1F71B9;
  background: #1F71B9;
  color: #fff;
}

.kaegen-member-directory-panel,
.kaegen-admin-panel--calculator,
.kaegen-commodity-manager {
  margin-top: 16px;
}

.kaegen-member-searchbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(170px, 220px) auto auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 14px;
}

.kaegen-member-searchbar__search,
.kaegen-member-searchbar__search input {
  min-width: 0;
  width: 100%;
}

.kaegen-member-searchbar input[type="search"],
.kaegen-member-searchbar select,
.kaegen-commodity-edit-form input,
.kaegen-commodity-edit-form select,
.kaegen-commodity-edit-form textarea,
.kaegen-import-export-grid input[type="file"] {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border: 1px solid #D7DADF;
  border-radius: 10px;
  background: #fff;
  padding: 10px 12px;
  color: #414042;
  font: inherit;
  font-size: 14px;
  box-shadow: none;
  outline: none;
}

.kaegen-member-searchbar input:focus,
.kaegen-member-searchbar select:focus,
.kaegen-commodity-edit-form input:focus {
  border-color: #1F71B9;
  outline: 2px solid rgba(31, 113, 185, .13);
  outline-offset: 1px;
}

.kaegen-member-bulkbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 14px;
  padding: 12px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #F9FAFA;
}

.kaegen-member-export-form {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.kaegen-member-export-form button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.kaegen-admin-member-card {
  position: relative;
}

.kaegen-admin-member-card__select {
  display: flex;
  justify-content: flex-end;
  margin-bottom: -4px;
}

.kaegen-admin-member-card__select label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #6F7480;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.kaegen-admin-member-card__select input {
  width: 17px;
  height: 17px;
  accent-color: #1F71B9;
}

.kaegen-dashboard-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 16px;
}

.kaegen-dashboard-pagination .page-numbers {
  min-width: 38px;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #D7DADF;
  border-radius: 10px;
  background: #fff;
  color: #1F2F5D;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.kaegen-dashboard-pagination .page-numbers.current {
  border-color: #1F71B9;
  background: #1F71B9;
  color: #fff;
}

.kaegen-calculator-admin-form input[type="color"] {
  width: 100%;
  min-height: 46px;
  border: 1px solid #D7DADF;
  border-radius: 10px;
  background: #fff;
  padding: 5px;
}

.kaegen-calculator-admin-form input[type="file"] {
  min-height: 46px;
  border: 1px solid #D7DADF;
  border-radius: 10px;
  background: #fff;
  padding: 9px 10px;
  font: inherit;
}

.kaegen-commodity-editor-layout {
  display: grid;
  grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
  gap: 16px;
  align-items: start;
}

.kaegen-commodity-edit-form {
  display: grid;
  gap: 13px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #F9FAFA;
  padding: 16px;
}

.kaegen-commodity-edit-form h5,
.kaegen-import-export-grid h5 {
  margin: 0;
  color: #1F2F5D;
  font-size: 15px;
  font-weight: 800;
}

.kaegen-commodity-rate-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.kaegen-commodity-editor-actions,
.kaegen-commodity-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.kaegen-commodity-list-area {
  min-width: 0;
}

.kaegen-commodity-count {
  margin: 0 0 10px;
  color: #6F7480;
  font-size: 12px;
  font-weight: 700;
}

.kaegen-commodity-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.kaegen-commodity-card {
  min-width: 0;
  display: grid;
  gap: 12px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  padding: 14px;
}

.kaegen-commodity-card__head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.kaegen-commodity-card__head > div {
  min-width: 0;
}

.kaegen-commodity-card__head strong,
.kaegen-commodity-card__head span {
  display: block;
}

.kaegen-commodity-card__head strong {
  color: #1F2F5D;
  font-size: 14px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.kaegen-commodity-card__head > div > span {
  margin-top: 4px;
  color: #808285;
  font-size: 10px;
}

.kaegen-commodity-rates {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.kaegen-commodity-rates > span {
  display: grid;
  gap: 3px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #F9FAFA;
  padding: 8px;
  color: #808285;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.kaegen-commodity-rates strong {
  color: #1F2F5D;
  font-size: 13px;
}

.kaegen-commodity-card__actions form {
  margin: 0;
}

.kaegen-danger-button {
  border-color: #BF5127 !important;
  color: #8A3619 !important;
}

.kaegen-import-export-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kaegen-import-export-grid > div {
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.kaegen-import-export-grid p {
  margin: 6px 0 12px;
  color: #6F7480;
  font-size: 12px;
  line-height: 1.5;
}

.kaegen-import-export-grid form {
  display: grid;
  gap: 10px;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 980px) {
  .kaegen-member-searchbar,
  .kaegen-commodity-editor-layout {
    grid-template-columns: 1fr;
  }
  .kaegen-commodity-card-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .kaegen-admin-tabs,
  .kaegen-import-export-grid,
  .kaegen-commodity-rate-fields {
    grid-template-columns: 1fr;
  }
  .kaegen-member-bulkbar,
  .kaegen-member-export-form {
    display: grid;
    width: 100%;
  }
  .kaegen-member-bulkbar > *,
  .kaegen-member-export-form .kaegen-member-secondary-button {
    width: 100%;
  }
}

/* v1.4.0 — practical full-width tables and split administrator settings */
.kaegen-settings-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.kaegen-settings-column {
  min-width: 0;
  display: grid;
  gap: 14px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.kaegen-settings-column h5,
.kaegen-import-export-stack h5 {
  margin: 0;
  color: #1F2F5D;
  font-size: 15px;
  font-weight: 800;
}

.kaegen-settings-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}

.kaegen-member-bulkbar__left,
.kaegen-member-bulk-form,
.kaegen-member-export-filter-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.kaegen-member-bulk-form select {
  min-height: 42px;
  border: 1px solid #D7DADF;
  border-radius: 10px;
  background: #fff;
  padding: 8px 34px 8px 11px;
  color: #414042;
  font: inherit;
  font-size: 13px;
}

.kaegen-member-bulk-form button:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.kaegen-dashboard-table-wrap {
  width: 100%;
  overflow: visible;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
}

.kaegen-dashboard-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  background: #fff;
}

.kaegen-dashboard-table th,
.kaegen-dashboard-table td {
  min-width: 0;
  padding: 12px 13px;
  border: 0;
  border-bottom: 1px solid #E6E7E8;
  color: #414042;
  font-size: 13px;
  line-height: 1.4;
  text-align: left;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.kaegen-dashboard-table th {
  background: #F1F2F2;
  color: #1F2F5D;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.kaegen-dashboard-table thead th:first-child {
  border-radius: 9px 0 0 0;
}

.kaegen-dashboard-table thead th:last-child {
  border-radius: 0 9px 0 0;
}

.kaegen-dashboard-table tbody tr:last-child td {
  border-bottom: 0;
}

.kaegen-dashboard-table a {
  color: #1F71B9;
  text-decoration: none;
}

.kaegen-dashboard-table a:hover,
.kaegen-dashboard-table a:focus {
  color: #1F2F5D;
  text-decoration: underline;
}

.kaegen-dashboard-name-link {
  font-weight: 800;
}

.kaegen-check-column {
  width: 46px;
  text-align: center !important;
}

.kaegen-check-column input {
  width: 17px;
  height: 17px;
  accent-color: #1F71B9;
}

.kaegen-members-table th:nth-child(2) { width: 24%; }
.kaegen-members-table th:nth-child(3) { width: 31%; }
.kaegen-members-table th:nth-child(4) { width: 20%; }
.kaegen-members-table th:nth-child(5) { width: 18%; }

.kaegen-calculator-workspace-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
  gap: 16px;
  align-items: start;
}

.kaegen-calculator-workspace-grid .kaegen-admin-panel--calculator,
.kaegen-data-tools-panel {
  margin-top: 0;
}

.kaegen-calculator-admin-form {
  display: grid;
  gap: 14px;
}

.kaegen-calculator-settings-section {
  margin: 0;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.kaegen-color-settings-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #E6E7E8;
}

.kaegen-color-settings-inline > span {
  margin-right: auto;
  color: #1F2F5D;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.kaegen-color-settings-inline label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #6F7480;
  font-size: 12px;
  font-weight: 700;
}

.kaegen-color-settings-inline input[type="color"] {
  width: 44px;
  min-height: 34px;
  height: 34px;
  padding: 3px;
}

.kaegen-import-export-stack {
  display: grid;
  gap: 14px;
}

.kaegen-import-export-stack > div {
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.kaegen-import-export-stack p {
  margin: 6px 0 12px;
  color: #6F7480;
  font-size: 12px;
  line-height: 1.5;
}

.kaegen-import-export-stack form {
  display: grid;
  gap: 10px;
}

.kaegen-import-export-stack input[type="file"] {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border: 1px solid #D7DADF;
  border-radius: 10px;
  background: #fff;
  padding: 9px 10px;
  font: inherit;
}

.kaegen-commodity-manager {
  margin-top: 16px;
}

.kaegen-commodity-edit-form--wide {
  margin-bottom: 16px;
  background: #F9FAFA;
}

.kaegen-commodity-form-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) minmax(140px, .8fr) repeat(3, minmax(100px, .55fr));
  gap: 10px;
  align-items: end;
}

.kaegen-commodity-form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.kaegen-commodity-searchbar {
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 190px) minmax(135px, 170px) auto;
}

.kaegen-commodity-table th:nth-child(1) { width: 27%; }
.kaegen-commodity-table th:nth-child(2) { width: 12%; }
.kaegen-commodity-table th:nth-child(3),
.kaegen-commodity-table th:nth-child(4),
.kaegen-commodity-table th:nth-child(5) { width: 9%; }
.kaegen-commodity-table th:nth-child(6) { width: 12%; }
.kaegen-commodity-table th:nth-child(7) { width: 22%; }

.kaegen-table-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.kaegen-table-actions form {
  margin: 0;
}

.kaegen-table-actions .kaegen-member-secondary-button {
  min-height: 36px;
  padding: 7px 10px;
  font-size: 11px;
}

@media (max-width: 1080px) {
  .kaegen-calculator-workspace-grid,
  .kaegen-settings-columns {
    grid-template-columns: 1fr;
  }

  .kaegen-commodity-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kaegen-commodity-name-field {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) {
  .kaegen-member-searchbar,
  .kaegen-commodity-searchbar {
    grid-template-columns: 1fr;
  }

  .kaegen-member-bulkbar,
  .kaegen-member-bulkbar__left,
  .kaegen-member-bulk-form,
  .kaegen-member-export-filter-form {
    width: 100%;
  }

  .kaegen-member-bulk-form select,
  .kaegen-member-bulk-form button,
  .kaegen-member-export-filter-form button {
    flex: 1 1 180px;
  }
}

@media (max-width: 700px) {
  .kaegen-dashboard-table-wrap {
    border: 0;
    background: transparent;
  }

  .kaegen-dashboard-table,
  .kaegen-dashboard-table tbody,
  .kaegen-dashboard-table tr,
  .kaegen-dashboard-table td {
    display: block;
    width: 100%;
  }

  .kaegen-dashboard-table {
    table-layout: auto;
  }

  .kaegen-dashboard-table thead {
    display: none;
  }

  .kaegen-dashboard-table tr {
    margin-bottom: 10px;
    border: 1px solid #E6E7E8;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
  }

  .kaegen-dashboard-table td,
  .kaegen-dashboard-table tbody tr:last-child td {
    display: grid;
    grid-template-columns: minmax(105px, 36%) 1fr;
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border-bottom: 1px solid #E6E7E8;
    text-align: left !important;
  }

  .kaegen-dashboard-table td:last-child {
    border-bottom: 0;
  }

  .kaegen-dashboard-table td::before {
    content: attr(data-label);
    color: #808285;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
  }

  .kaegen-dashboard-table .kaegen-check-column {
    width: 100%;
  }

  .kaegen-commodity-form-grid {
    grid-template-columns: 1fr;
  }

  .kaegen-commodity-name-field {
    grid-column: auto;
  }

  .kaegen-commodity-form-footer,
  .kaegen-settings-actions {
    align-items: stretch;
  }

  .kaegen-settings-actions .kaegen-member-button,
  .kaegen-commodity-form-footer .kaegen-member-button,
  .kaegen-commodity-form-footer .kaegen-member-secondary-button {
    width: 100%;
  }
}

/* v1.4.1 — cleaner field rhythm and Elementor-safe standalone forms */
.kaegen-calculator-settings-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.kaegen-admin-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kaegen-member-searchbar {
  grid-template-columns: minmax(280px, 1fr) minmax(180px, 230px) auto;
  gap: 12px;
  align-items: stretch;
}

.kaegen-member-searchbar__actions {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.kaegen-member-searchbar__actions .kaegen-member-button,
.kaegen-member-searchbar__actions .kaegen-member-secondary-button {
  min-height: 46px;
  white-space: nowrap;
}

.kaegen-member-bulkbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.kaegen-member-bulkbar__left {
  display: grid;
  grid-template-columns: auto minmax(280px, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.kaegen-member-bulk-form {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.kaegen-member-bulk-form select,
.kaegen-member-bulk-form .kaegen-member-secondary-button,
.kaegen-member-export-filter-form .kaegen-member-secondary-button,
.kaegen-member-bulkbar__left > .kaegen-member-secondary-button {
  min-height: 44px;
}

.kaegen-member-card--standalone-form {
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  position: relative;
  float: none;
}

.kaegen-member-portal-grid .kaegen-member-card--standalone-form {
  max-width: none;
  margin: 0;
}

.kaegen-member-card--standalone-form .kaegen-member-form {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 960px) {
  .kaegen-member-searchbar {
    grid-template-columns: minmax(0, 1fr) minmax(180px, 220px);
  }

  .kaegen-member-searchbar__actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

  .kaegen-member-bulkbar {
    grid-template-columns: 1fr;
  }

  .kaegen-member-export-filter-form {
    justify-self: start;
  }
}

@media (max-width: 720px) {
  .kaegen-calculator-settings-grid,
  .kaegen-admin-stats,
  .kaegen-member-searchbar,
  .kaegen-member-bulkbar__left,
  .kaegen-member-bulk-form {
    grid-template-columns: 1fr;
  }

  .kaegen-member-searchbar__actions {
    grid-column: auto;
    display: grid;
    grid-template-columns: 1fr;
  }

  .kaegen-member-searchbar__actions > *,
  .kaegen-member-bulkbar__left > *,
  .kaegen-member-bulk-form > *,
  .kaegen-member-export-filter-form,
  .kaegen-member-export-filter-form .kaegen-member-secondary-button {
    width: 100%;
  }
}

/* v1.5.0 — welcome-email editor and in-place commodity management */
.kaegen-admin-dashboard [hidden] {
  display: none !important;
}

.kaegen-welcome-email-editor {
  margin-top: 18px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.kaegen-welcome-email-editor__heading h5 {
  margin: 0;
  color: #1F2F5D;
  font-size: 15px;
  font-weight: 800;
}

.kaegen-welcome-email-editor__heading p {
  margin: 5px 0 14px;
  color: #6F7480;
  font-size: 12px;
  line-height: 1.5;
}

.kaegen-welcome-email-editor textarea {
  width: 100%;
  min-height: 150px;
  resize: vertical;
}

.kaegen-welcome-email-editor .kaegen-member-field small {
  display: block;
  margin-top: 7px;
  color: #808285;
  font-size: 11px;
  line-height: 1.45;
}

.kaegen-inline-commodity-input {
  width: 100%;
  min-width: 0;
  min-height: 38px;
  border: 1px solid #C9CED6;
  border-radius: 8px;
  background: #fff;
  padding: 7px 9px;
  color: #414042;
  font: inherit;
  font-size: 13px;
  box-shadow: none;
  outline: none;
}

.kaegen-inline-commodity-input:focus {
  border-color: #1F71B9;
  outline: 2px solid rgba(31, 113, 185, .12);
  outline-offset: 1px;
}

.kaegen-inline-rate-input {
  max-width: 95px;
}

.kaegen-inline-active-control {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  color: #1F2F5D;
  font-size: 12px;
  font-weight: 700;
}

.kaegen-inline-active-control input {
  width: 17px;
  height: 17px;
  accent-color: #1F71B9;
}

.kaegen-commodity-table tr.is-editing td {
  background: #F9FAFA;
  vertical-align: middle;
}

.kaegen-commodity-table [data-commodity-display="name"] {
  color: #1F2F5D;
  font-weight: 800;
}

.kaegen-inline-save-button {
  min-height: 36px;
  padding: 7px 12px;
  font-size: 11px;
}

.kaegen-inline-row-status {
  display: inline-block;
  min-height: 18px;
  color: #2D6A46;
  font-size: 10px;
  font-weight: 800;
}

.kaegen-inline-row-status.is-error {
  color: #8A3619;
}

.kaegen-inline-save-notice {
  margin: 0 0 10px;
  padding: 9px 11px;
  border: 1px solid #D7DADF;
  border-radius: 8px;
  background: #fff;
  color: #414042;
  font-size: 12px;
  font-weight: 700;
}

.kaegen-inline-save-notice.is-success {
  border-color: #BFD9CA;
  color: #2D6A46;
}

.kaegen-inline-save-notice.is-error {
  border-color: #E4B9A9;
  color: #8A3619;
}

.kaegen-commodity-card.is-editing {
  background: #F9FAFA;
}

.kaegen-commodity-card.is-editing .kaegen-commodity-card__head {
  align-items: stretch;
}

.kaegen-commodity-card.is-editing .kaegen-commodity-card__head > div:first-child {
  display: grid;
  gap: 7px;
  width: 100%;
}

.kaegen-commodity-card.is-editing .kaegen-commodity-rates > span {
  min-width: 0;
}

.kaegen-commodity-card.is-editing .kaegen-inline-rate-input {
  max-width: none;
}

@media (max-width: 820px) {
  .kaegen-inline-rate-input {
    max-width: none;
  }

  .kaegen-table-actions {
    align-items: stretch;
  }
}

/* v1.7.0 — calculator settings workbench */
.kaegen-calculator-settings-layout {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) minmax(0, 3fr);
  gap: 16px;
  align-items: start;
}

.kaegen-admin-panel--calculator-rates,
.kaegen-calculation-rules-panel,
.kaegen-data-tools-panel--full {
  margin-top: 0;
}

.kaegen-calculator-admin-form--single-column,
.kaegen-calculator-settings-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.kaegen-calculator-admin-form--single-column .kaegen-calculator-settings-section {
  padding: 14px;
}

.kaegen-setting-help {
  margin: 10px 0 0;
  color: #6F7480;
  font-size: 12px;
  line-height: 1.5;
}

.kaegen-color-settings-stacked {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.kaegen-color-settings-stacked label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #1F2F5D;
  font-size: 12px;
  font-weight: 700;
}

.kaegen-color-settings-stacked input[type="color"] {
  width: 52px;
  height: 36px;
  min-height: 36px;
  padding: 3px;
}

.kaegen-calculation-rules-form {
  display: grid;
  gap: 16px;
}

.kaegen-calculation-rule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.kaegen-calculation-rule-card {
  min-width: 0;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.kaegen-calculation-rule-card:last-child {
  grid-column: 1 / -1;
}

.kaegen-calculation-rule-card__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px 12px;
}

.kaegen-calculation-rule-card h5 {
  margin: 0;
  color: #1F2F5D;
  font-size: 15px;
  font-weight: 800;
}

.kaegen-calculation-rule-card code {
  max-width: 100%;
  border-radius: 6px;
  background: #F1F2F2;
  padding: 5px 8px;
  color: #414042;
  font-size: 11px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.kaegen-calculation-rule-card > p {
  margin: 8px 0 12px;
  color: #6F7480;
  font-size: 12px;
  line-height: 1.5;
}

.kaegen-calculation-rule-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.kaegen-calculation-rule-options label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  border: 1px solid #E6E7E8;
  border-radius: 8px;
  background: #fff;
  padding: 9px 10px;
  color: #414042;
  font-size: 12px;
  font-weight: 600;
}

.kaegen-calculation-rule-options input[type="checkbox"] {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 1px;
  accent-color: #1F71B9;
}

.kaegen-commodity-manager + .kaegen-data-tools-panel--full {
  margin-top: 16px;
}

.kaegen-import-export-stack--columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1050px) {
  .kaegen-calculator-settings-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .kaegen-calculation-rule-grid,
  .kaegen-calculation-rule-options,
  .kaegen-import-export-stack--columns {
    grid-template-columns: 1fr;
  }

  .kaegen-calculation-rule-card:last-child {
    grid-column: auto;
  }
}

.kaegen-fixed-formula-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.kaegen-fixed-formula-strip > div {
  min-width: 0;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #F9FAFA;
  padding: 12px;
}

.kaegen-fixed-formula-strip strong,
.kaegen-fixed-formula-strip code {
  display: block;
}

.kaegen-fixed-formula-strip strong {
  margin-bottom: 5px;
  color: #1F2F5D;
  font-size: 12px;
  font-weight: 800;
}

.kaegen-fixed-formula-strip code {
  color: #414042;
  font-size: 11px;
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .kaegen-fixed-formula-strip {
    grid-template-columns: 1fr;
  }
}

/* v1.8.0 — verification workflow and simple email editors */
.kaegen-verification-pending {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid #F2C58A;
  border-radius: 10px;
  background: #FFF8EF;
}

.kaegen-verification-pending h4 {
  margin: 5px 0 7px;
  color: #1F2F5D;
  font-size: 18px;
}

.kaegen-verification-pending p {
  margin: 0;
  color: #5F6470;
  line-height: 1.55;
}

.kaegen-status-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}

.kaegen-status-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid #E6E7E8;
  border-radius: 9px;
  background: #fff;
  color: #414042;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}

.kaegen-status-tabs a.is-active {
  border-color: #1F71B9;
  color: #1F71B9;
  background: #F3F8FC;
}

.kaegen-status-badge {
  display: inline-flex;
  align-items: center;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

.kaegen-status-badge.is-pending {
  background: #FFF3E2;
  color: #9A5514;
}

.kaegen-status-badge.is-approved {
  background: #EEF7F1;
  color: #2F6D43;
}

.kaegen-member-detail-verification {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
  gap: 18px;
  align-items: start;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
}

.kaegen-member-detail-verification h4 {
  margin: 0 0 6px;
  color: #1F2F5D;
}

.kaegen-member-detail-verification p {
  margin: 0;
  color: #6C7280;
  line-height: 1.5;
}

.kaegen-member-detail-verification__actions {
  display: grid;
  gap: 10px;
}

.kaegen-admin-status-form {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto;
  gap: 8px;
}

.kaegen-admin-status-form select {
  min-height: 42px;
}

.kaegen-identity-meta {
  color: #808285;
  font-size: 11px;
  overflow-wrap: anywhere;
}

.kaegen-email-template-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.kaegen-email-template-card {
  min-width: 0;
  padding: 16px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
}

.kaegen-email-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px;
  border: 1px solid #E6E7E8;
  border-bottom: 0;
  border-radius: 9px 9px 0 0;
  background: #F7F8F9;
}

.kaegen-email-toolbar button {
  min-width: 34px;
  min-height: 32px;
  border: 1px solid #DADDE1;
  border-radius: 6px;
  background: #fff;
  color: #1F2F5D;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
}

.kaegen-email-editable {
  min-height: 170px;
  padding: 13px;
  border: 1px solid #E6E7E8;
  border-radius: 0 0 9px 9px;
  background: #fff;
  color: #414042;
  line-height: 1.55;
  outline: none;
}

.kaegen-email-editable:focus {
  border-color: #1F71B9;
}

.kaegen-member-form input[type="file"] {
  width: 100%;
  min-height: 46px;
  padding: 8px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #fff;
  color: #414042;
}

@media (max-width: 850px) {
  .kaegen-email-template-grid,
  .kaegen-member-detail-verification {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .kaegen-admin-status-form {
    grid-template-columns: 1fr;
  }
}
.kaegen-admin-member-card__badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

/* Verification filter adds a fourth control to the member search row. */
.kaegen-member-searchbar {
  grid-template-columns: minmax(280px, 1fr) minmax(155px, 200px) minmax(165px, 210px) auto;
}

@media (max-width: 1100px) {
  .kaegen-member-searchbar {
    grid-template-columns: minmax(240px, 1fr) minmax(150px, 190px) minmax(160px, 200px);
  }
  .kaegen-member-searchbar__actions {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .kaegen-member-searchbar {
    grid-template-columns: 1fr;
  }
  .kaegen-member-searchbar__actions {
    grid-column: auto;
  }
}

/* v1.8.1 — administrator dashboard sizing corrections */
.kaegen-member-directory-panel,
.kaegen-member-directory-panel .kaegen-dashboard-table-wrap,
.kaegen-member-directory-panel .kaegen-dashboard-table {
  max-width: 100%;
}

/* Six-column member table: select, name, email, phone, status, registered. */
.kaegen-members-table th:nth-child(1),
.kaegen-members-table td:nth-child(1) {
  width: 42px;
}
.kaegen-members-table th:nth-child(2),
.kaegen-members-table td:nth-child(2) {
  width: 22%;
}
.kaegen-members-table th:nth-child(3),
.kaegen-members-table td:nth-child(3) {
  width: 27%;
}
.kaegen-members-table th:nth-child(4),
.kaegen-members-table td:nth-child(4) {
  width: 19%;
}
.kaegen-members-table th:nth-child(5),
.kaegen-members-table td:nth-child(5) {
  width: 14%;
}
.kaegen-members-table th:nth-child(6),
.kaegen-members-table td:nth-child(6) {
  width: 18%;
  word-break: normal;
  overflow-wrap: normal;
}

.kaegen-members-table td:nth-child(6) {
  line-height: 1.45;
}

/* Keep the calculator workbench anchored to the available dashboard width. */
.kaegen-calculator-settings-layout {
  width: 100%;
  max-width: 100%;
  grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
  gap: 18px;
}

.kaegen-calculator-settings-layout > .kaegen-member-card,
.kaegen-admin-panel--calculator-rates,
.kaegen-calculation-rules-panel {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.kaegen-admin-panel--calculator-rates .kaegen-admin-panel__heading--with-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}

.kaegen-admin-panel--calculator-rates .kaegen-integration-status {
  justify-self: start;
}

.kaegen-calculation-rules-panel {
  align-self: start;
}

@media (max-width: 980px) {
  .kaegen-calculator-settings-layout {
    grid-template-columns: 1fr;
  }
}

/* v1.9.0 account / ID verification states */
.kaegen-status-badge.is-suspended {
  background: #fff0f0;
  color: #a61b1b;
  border-color: #f0c7c7;
}

/* v1.9.2 — profile layout refinement */
.kaegen-profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.85fr);
  gap: 18px;
  align-items: start;
}

.kaegen-profile-layout__main,
.kaegen-profile-layout__sidebar {
  min-width: 0;
}

.kaegen-profile-layout__sidebar {
  display: grid;
  gap: 14px;
}

.kaegen-profile-layout .kaegen-account-meta--profile {
  margin-top: 0;
}

.kaegen-skybox-card--sample {
  background: #fff;
}

.kaegen-mailing-sample {
  margin: 0 0 12px;
  white-space: pre-wrap;
  word-break: break-word;
  border: 1px solid #E6E7E8;
  border-radius: 8px;
  padding: 12px;
  background: #F9FAFA;
  color: #1F2F5D;
  font: inherit;
  line-height: 1.55;
}

.kaegen-copy-button {
  width: 100%;
  justify-content: center;
}

.kaegen-verification-pending--subtle {
  border-color: #E6E7E8;
  background: #FAFBFC;
}

.kaegen-verification-pending--subtle h4 {
  font-size: 17px;
}

.kaegen-verification-pending__status {
  margin-top: 10px !important;
  color: #1F2F5D !important;
  font-weight: 700;
}

.kaegen-member-form--inline-upload {
  margin-top: 12px;
}

.kaegen-member-detail-skybox small {
  display: block;
  margin-top: 6px;
  color: #5F6470;
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 900px) {
  .kaegen-profile-layout {
    grid-template-columns: 1fr;
  }

  .kaegen-profile-layout__sidebar {
    order: -1;
  }
}

/* v1.9.3 — administrator member-preview controls */
.kaegen-member-preview-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 18px;
  padding: 10px 12px;
  border: 1px solid #E6E7E8;
  border-radius: 10px;
  background: #F9FAFA;
}

.kaegen-member-preview-toolbar > span {
  color: #6F7480;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.kaegen-admin-preview-button {
  margin-top: 10px;
  width: 100%;
  justify-content: center;
}

@media (max-width: 640px) {
  .kaegen-member-preview-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
}

/* v1.9.4 — compact admin controls and consistent spacing */
.kaegen-member-detail-verification {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  align-items: center;
  gap: 24px;
  padding: 20px;
}

.kaegen-member-detail-verification__actions {
  gap: 12px;
}

.kaegen-admin-status-form {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.kaegen-admin-status-form select {
  min-height: 40px;
  height: 40px;
  margin: 0;
  padding-top: 6px;
  padding-bottom: 6px;
}

.kaegen-admin-status-form .kaegen-member-button {
  min-height: 40px;
  height: 40px;
  padding: 8px 13px;
  white-space: nowrap;
}

.kaegen-member-detail-verification__actions .kaegen-member-secondary-button {
  min-height: 40px;
  padding: 8px 13px;
}

.kaegen-member-detail-role {
  padding-top: 20px;
  margin-top: 20px;
}

.kaegen-member-detail-role form {
  margin: 0;
}

.kaegen-member-detail-role .kaegen-member-button,
.kaegen-member-detail-role .kaegen-member-secondary-button {
  min-height: 40px;
  padding: 8px 13px;
}

.kaegen-admin-user-box {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
}

.kaegen-admin-user-box > strong {
  margin: 4px 0 2px;
}

.kaegen-admin-user-box .kaegen-admin-preview-button {
  margin-top: 4px;
  min-height: 40px;
  padding: 8px 14px;
  white-space: nowrap;
  width: 100%;
  justify-content: center;
}

.kaegen-admin-user-box form {
  margin: 0;
}

.kaegen-admin-user-box form .kaegen-member-secondary-button {
  min-height: 40px;
  padding: 8px 12px;
}

@media (max-width: 760px) {
  .kaegen-member-detail-verification {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .kaegen-admin-status-form {
    grid-template-columns: 1fr;
  }

  .kaegen-admin-status-form .kaegen-member-button,
  .kaegen-member-detail-verification__actions .kaegen-member-secondary-button {
    width: 100%;
  }
}
