/* AIMinedu Member Pro 1.60 — Fluent Stack First, quiet Google-inspired product UI */
.aimme-login-page,
.aimme-member-hub {
  --aim-blue: #4285f4;
  --aim-blue-700: #1a5fd0;
  --aim-blue-50: #eef5ff;
  --aim-ink: #172033;
  --aim-muted: #697386;
  --aim-line: #e5eaf1;
  --aim-surface: #ffffff;
  --aim-bg: #f7f9fc;
  --aim-green: #34a853;
  --aim-yellow: #fbbc04;
  --aim-red: #ea4335;
  --aim-purple: #7c5cff;
  --aim-shadow: 0 24px 80px rgba(41, 58, 88, .12);
  --aim-shadow-soft: 0 10px 34px rgba(42, 59, 85, .08);
  color: var(--aim-ink);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.aimme-login-page *,
.aimme-member-hub * { box-sizing: border-box; }
.aimme-login-page button,
.aimme-login-page input,
.aimme-login-page select,
.aimme-login-page textarea,
.aimme-member-hub button,
.aimme-member-hub input,
.aimme-member-hub select,
.aimme-member-hub textarea { font: inherit; }
.aimme-login-page a,
.aimme-member-hub a { color: inherit; text-decoration: none; }
.aimme-icon { width: 21px; height: 21px; flex: 0 0 auto; }

/* Login */
.aimme-login-page {
  min-height: min(900px, calc(100vh - 40px));
  padding: 24px;
  background:
    radial-gradient(circle at 8% 5%, rgba(66,133,244,.12), transparent 31%),
    radial-gradient(circle at 94% 88%, rgba(251,188,4,.12), transparent 27%),
    #f7f9fc;
}
.aimme-login-stage {
  width: min(1280px, 100%);
  min-height: 760px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  overflow: hidden;
  border: 1px solid rgba(215,223,235,.9);
  border-radius: 32px;
  background: #fff;
  box-shadow: var(--aim-shadow);
}
.aimme-login-story {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 760px;
  padding: 42px 48px;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(145deg, rgba(13,54,132,.98), rgba(42,113,235,.95) 54%, rgba(83,139,240,.9)),
    #1d65d7;
}
.aimme-login-story::before,
.aimme-login-story::after {
  position: absolute;
  z-index: -1;
  content: "";
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
}
.aimme-login-story::before { width: 520px; height: 520px; right: -210px; top: 85px; box-shadow: 0 0 0 75px rgba(255,255,255,.035), 0 0 0 150px rgba(255,255,255,.025); }
.aimme-login-story::after { width: 270px; height: 270px; left: -100px; bottom: 60px; background: rgba(255,255,255,.035); }
.aimme-login-brand,
.aimme-hub-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: max-content;
}
.aimme-brand-mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  color: var(--aim-blue);
  background: #fff;
  font-size: 22px;
  font-weight: 850;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
}
.aimme-login-brand > span:last-child,
.aimme-hub-brand > span:last-child { display: flex; flex-direction: column; line-height: 1.1; }
.aimme-login-brand strong { font-size: 20px; letter-spacing: -.02em; }
.aimme-login-brand small { margin-top: 5px; color: rgba(255,255,255,.7); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.aimme-login-story-copy { max-width: 610px; margin: 70px 0 80px; }
.aimme-login-kicker { display: block; color: var(--aim-blue); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.aimme-login-story .aimme-login-kicker { color: rgba(255,255,255,.72); }
.aimme-login-story h1 { margin: 18px 0 24px; color: #fff; font-size: clamp(39px, 4vw, 62px); font-weight: 760; line-height: 1.13; letter-spacing: -.055em; }
.aimme-login-story h1 em { color: #dbe9ff; font-style: normal; }
.aimme-login-story-copy > p { max-width: 570px; margin: 0; color: rgba(255,255,255,.78); font-size: 17px; line-height: 1.85; }
.aimme-login-benefits { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.aimme-login-benefits span { display: inline-flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: rgba(255,255,255,.09); backdrop-filter: blur(10px); }
.aimme-login-benefits .aimme-icon { width: 18px; height: 18px; color: #d9e7ff; }
.aimme-login-benefits b { font-size: 13px; font-weight: 650; }
.aimme-login-privacy { display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.7); font-size: 12px; }
.aimme-login-privacy .aimme-icon { width: 18px; }
.aimme-login-workspace { display: grid; place-items: center; padding: 48px clamp(30px, 5vw, 74px); background: linear-gradient(180deg, #fff, #fbfcff); }
.aimme-login-card { width: min(440px, 100%); }
.aimme-login-mobile-brand { display: none; }
.aimme-login-step { animation: aimmeFadeUp .35s ease both; }
.aimme-login-step h2 { margin: 12px 0 10px; color: var(--aim-ink); font-size: clamp(30px, 3vw, 41px); font-weight: 760; letter-spacing: -.045em; }
.aimme-login-step > p { margin: 0 0 30px; color: var(--aim-muted); font-size: 15px; line-height: 1.7; }
.aimme-login-step > p strong { color: var(--aim-ink); }
.aimme-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.aimme-field > span { color: #3f4a5c; font-size: 13px; font-weight: 700; }
.aimme-field small { color: #8a94a5; font-size: 11px; line-height: 1.5; }
.aimme-field input,
.aimme-field select,
.aimme-field textarea {
  width: 100%;
  min-height: 48px;
  margin: 0;
  border: 1px solid #d9e0ea;
  border-radius: 13px;
  outline: 0;
  color: var(--aim-ink);
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.aimme-field input,
.aimme-field select { padding: 0 14px; }
.aimme-field textarea { min-height: 100px; padding: 13px 14px; resize: vertical; }
.aimme-field input:focus,
.aimme-field select:focus,
.aimme-field textarea:focus { border-color: var(--aim-blue); box-shadow: 0 0 0 4px rgba(66,133,244,.12); }
.aimme-field input:disabled { color: #798399; background: #f5f7fa; }
.aimme-field-control { position: relative; display: flex; align-items: center; }
.aimme-field-control > .aimme-icon { position: absolute; left: 15px; z-index: 1; width: 19px; color: #8a94a5; pointer-events: none; }
.aimme-field-control input { padding-left: 45px; }
.aimme-field-large input { height: 58px; border-radius: 16px; font-size: 16px; }
.aimme-reveal-input { position: absolute; right: 8px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 10px; color: #8490a2; background: transparent; cursor: pointer; }
.aimme-reveal-input:hover { color: var(--aim-blue); background: var(--aim-blue-50); }
.aimme-hub-primary-button,
.aimme-hub-secondary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 750;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.aimme-hub-primary-button { color: #fff !important; background: linear-gradient(135deg, #4285f4, #2b6fdf); box-shadow: 0 10px 24px rgba(66,133,244,.22); }
.aimme-hub-primary-button:hover { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(66,133,244,.28); }
.aimme-hub-secondary-button { color: #314058; background: #fff; border-color: #dce3ed; }
.aimme-hub-secondary-button:hover { border-color: #b9c9df; background: #f9fbff; }
.aimme-hub-primary-button.is-wide { width: 100%; min-height: 56px; margin-top: 22px; border-radius: 16px; }
.aimme-hub-primary-button .aimme-icon,
.aimme-hub-secondary-button .aimme-icon { width: 18px; height: 18px; }
.aimme-hub-primary-button:disabled,
.aimme-hub-secondary-button:disabled { opacity: .68; cursor: wait; transform: none; }
.aimme-button-spinner { width: 17px; height: 17px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: aimmeSpin .75s linear infinite; }
.aimme-password-entry { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 14px; padding: 15px 8px; border: 0; color: #5f6d82; background: transparent; font-size: 13px; cursor: pointer; }
.aimme-password-entry > span { flex: 1; text-align: left; }
.aimme-password-entry .aimme-icon:last-child { width: 17px; }
.aimme-password-entry:hover { color: var(--aim-blue); }
.aimme-login-card-footer { display: flex; gap: 9px; margin-top: 28px; padding-top: 21px; border-top: 1px solid #edf0f5; color: #8a94a5; }
.aimme-login-card-footer .aimme-icon { width: 17px; height: 17px; margin-top: 1px; }
.aimme-login-card-footer p { margin: 0; font-size: 11px; line-height: 1.6; }
.aimme-login-card-footer strong { color: #596579; }
.aimme-login-back { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 28px; padding: 0; border: 0; color: #6b778b; background: transparent; font-size: 13px; cursor: pointer; }
.aimme-login-back:hover { color: var(--aim-blue); }
.aimme-login-back .aimme-icon { width: 17px; }
.aimme-otp-group { display: grid; grid-template-columns: repeat(6, 1fr); gap: 9px; }
.aimme-otp-group input { width: 100%; aspect-ratio: 1 / 1.12; padding: 0; border: 1px solid #d6deea; border-radius: 14px; outline: 0; color: #172033; background: #fff; font-size: 25px; font-weight: 760; text-align: center; transition: border .16s, box-shadow .16s, transform .16s; }
.aimme-otp-group input:focus { border-color: var(--aim-blue); box-shadow: 0 0 0 4px rgba(66,133,244,.12); transform: translateY(-1px); }
.aimme-otp-group input.is-error { border-color: var(--aim-red); animation: aimmeShake .35s ease; }
.aimme-resend-row { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 17px; color: #8a94a5; font-size: 12px; }
.aimme-resend-row button { padding: 4px; border: 0; color: var(--aim-blue); background: transparent; font-weight: 700; cursor: pointer; }
.aimme-resend-row button:disabled { color: #a7afbd; cursor: not-allowed; }
.aimme-inline-alert { margin-top: 14px; padding: 11px 13px; border-radius: 11px; font-size: 12px; line-height: 1.55; }
.aimme-inline-alert.is-error { color: #a9342a; background: #fff1ef; border: 1px solid #ffd6d1; }
.aimme-inline-alert.is-success { color: #237c3e; background: #edf9f0; border: 1px solid #caefd3; }
.aimme-hub-text-link { display: block; width: 100%; margin-top: 17px; padding: 0; border: 0; color: var(--aim-blue) !important; background: transparent; font: inherit; font-size: 13px; font-weight: 700; text-align: center; text-decoration: none; cursor: pointer; }
.aimme-login-already { display: grid; place-items: center; }
.aimme-login-card.is-success { padding: 48px; border: 1px solid var(--aim-line); border-radius: 28px; background: #fff; box-shadow: var(--aim-shadow-soft); text-align: center; }
.aimme-success-orb { display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 22px; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--aim-green), #67c980); box-shadow: 0 12px 28px rgba(52,168,83,.25); }
.aimme-success-orb .aimme-icon { width: 32px; height: 32px; }
.aimme-login-card.is-success h1 { margin: 10px 0; font-size: 34px; }
.aimme-login-card.is-success p { margin: 0 0 24px; color: var(--aim-muted); }

/* Hub structure */
.aimme-member-hub {
  position: relative;
  min-height: calc(100vh - 40px);
  padding: 22px;
  overflow: hidden;
  background: #f5f7fb;
}
.aimme-hub-glow { position: fixed; z-index: 0; width: 460px; height: 460px; border-radius: 50%; filter: blur(8px); pointer-events: none; opacity: .35; }
.aimme-hub-glow.is-one { top: -240px; left: 22%; background: radial-gradient(circle, rgba(66,133,244,.19), transparent 68%); }
.aimme-hub-glow.is-two { right: -220px; bottom: -250px; background: radial-gradient(circle, rgba(251,188,4,.18), transparent 68%); }
.aimme-hub-layout { position: relative; z-index: 1; display: grid; grid-template-columns: 256px minmax(0, 1fr); width: min(1540px, 100%); min-height: calc(100vh - 44px); margin: 0 auto; overflow: hidden; border: 1px solid #e1e6ee; border-radius: 28px; background: rgba(255,255,255,.83); box-shadow: 0 20px 75px rgba(43,55,80,.1); backdrop-filter: blur(16px); }
.aimme-hub-sidebar { display: flex; flex-direction: column; min-height: 100%; padding: 27px 18px 20px; border-right: 1px solid #e7ebf1; background: rgba(251,252,254,.94); }
.aimme-hub-brand { margin: 0 11px 27px; }
.aimme-hub-brand .aimme-brand-mark { width: 38px; height: 38px; border-radius: 12px; color: #fff; background: linear-gradient(135deg, #4285f4, #2d6ed8); box-shadow: 0 8px 18px rgba(66,133,244,.24); font-size: 19px; }
.aimme-hub-brand strong { color: #1f293b; font-size: 17px; }
.aimme-hub-brand small { margin-top: 4px; color: #9aa3b2; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.aimme-hub-user-mini { display: flex; align-items: center; gap: 11px; margin-bottom: 21px; padding: 13px; border: 1px solid #e8edf4; border-radius: 17px; background: #fff; box-shadow: 0 7px 20px rgba(43,55,80,.045); }
.aimme-avatar-wrap { position: relative; flex: 0 0 auto; }
.aimme-avatar-wrap img { display: block; width: 45px; height: 45px; margin: 0; border-radius: 14px; object-fit: cover; }
.aimme-online-dot { position: absolute; right: -2px; bottom: -2px; width: 12px; height: 12px; border: 2px solid #fff; border-radius: 50%; background: var(--aim-green); }
.aimme-hub-user-mini > div:last-child { min-width: 0; }
.aimme-hub-user-mini strong,
.aimme-hub-user-mini small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aimme-hub-user-mini strong { color: #263247; font-size: 13px; }
.aimme-hub-user-mini small { margin-top: 4px; color: #8d97a7; font-size: 10px; }
.aimme-hub-nav { display: flex; flex-direction: column; gap: 3px; }
.aimme-hub-nav button { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; min-height: 45px; padding: 0 13px; border: 0; border-radius: 12px; color: #667287; background: transparent; font-size: 13px; font-weight: 650; text-align: left; cursor: pointer; transition: color .18s, background .18s, transform .18s; }
.aimme-hub-nav button .aimme-icon { width: 19px; height: 19px; }
.aimme-hub-nav button:hover { color: #2f5fa9; background: #f0f5fd; transform: translateX(2px); }
.aimme-hub-nav button.is-active { color: #245fbd; background: #eaf2ff; }
.aimme-hub-nav button.is-active::before { position: absolute; left: -18px; width: 4px; height: 23px; border-radius: 0 5px 5px 0; content: ""; background: var(--aim-blue); }
.aimme-hub-nav button i { margin-left: auto; width: 5px; height: 5px; border-radius: 50%; background: transparent; }
.aimme-hub-nav button.is-active i { background: var(--aim-blue); }
.aimme-hub-sidebar-footer { display: flex; flex-direction: column; gap: 4px; margin-top: auto; padding-top: 18px; border-top: 1px solid #e8ecf2; }
.aimme-hub-sidebar-footer a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 10px; color: #768195; font-size: 12px; }
.aimme-hub-sidebar-footer a:hover { color: var(--aim-blue); background: #eef5ff; }
.aimme-hub-sidebar-footer .aimme-icon { width: 17px; }
.aimme-hub-main { min-width: 0; background: rgba(255,255,255,.77); }
.aimme-hub-topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; min-height: 78px; padding: 0 34px; border-bottom: 1px solid rgba(228,233,241,.9); background: rgba(255,255,255,.82); backdrop-filter: blur(18px); }
.aimme-hub-topbar-title { display: flex; flex-direction: column; }
.aimme-hub-topbar-title small { color: #a0a8b6; font-size: 9px; font-weight: 750; letter-spacing: .16em; }
.aimme-hub-topbar-title strong { margin-top: 4px; color: #243147; font-size: 17px; letter-spacing: -.02em; }
.aimme-hub-top-actions { display: flex; align-items: center; gap: 10px; }
.aimme-icon-button,
.aimme-avatar-button { position: relative; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid #e2e7ee; border-radius: 13px; color: #667388; background: #fff; cursor: pointer; }
.aimme-icon-button:hover,
.aimme-avatar-button:hover { color: var(--aim-blue); border-color: #c8d8ef; box-shadow: 0 7px 20px rgba(35,55,89,.08); }
.aimme-icon-button .aimme-icon { width: 19px; }
.aimme-icon-button b { position: absolute; top: -5px; right: -5px; display: grid; place-items: center; min-width: 17px; height: 17px; padding: 0 4px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: var(--aim-red); font-size: 8px; }
.aimme-avatar-button img { width: 34px; height: 34px; margin: 0; border-radius: 10px; object-fit: cover; }
.aimme-hub-content { max-width: 1240px; margin: 0 auto; padding: 32px 34px 72px; }
.aimme-hub-panel[hidden] { display: none !important; }
.aimme-hub-panel.is-active { animation: aimmeFadeUp .32s ease both; }

/* Overview */
.aimme-overview-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); min-height: 300px; overflow: hidden; border-radius: 25px; color: #fff; background: linear-gradient(135deg, #2464cf 0%, #4285f4 55%, #75a8f7 100%); box-shadow: 0 16px 42px rgba(45,103,204,.22); }
.aimme-overview-copy { z-index: 2; padding: 42px 46px; }
.aimme-overview-kicker { color: rgba(255,255,255,.74); font-size: 12px; font-weight: 750; letter-spacing: .08em; }
.aimme-overview-copy h1 { max-width: 720px; margin: 10px 0 12px; color: #fff; font-size: clamp(29px, 3.2vw, 46px); line-height: 1.16; letter-spacing: -.045em; }
.aimme-overview-copy p { margin: 0; color: rgba(255,255,255,.77); font-size: 15px; }
.aimme-overview-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 29px; }
.aimme-overview-actions .aimme-hub-primary-button { color: #2868d0 !important; background: #fff; box-shadow: 0 10px 24px rgba(13,55,120,.18); }
.aimme-overview-actions .aimme-hub-secondary-button { color: #fff; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.09); }
.aimme-overview-actions .aimme-hub-secondary-button:hover { background: rgba(255,255,255,.17); }
.aimme-overview-visual { position: relative; min-height: 300px; overflow: hidden; }
.aimme-overview-visual::after { position: absolute; right: -90px; bottom: -130px; width: 390px; height: 390px; border-radius: 50%; content: ""; background: rgba(255,255,255,.08); box-shadow: 0 0 0 46px rgba(255,255,255,.035), 0 0 0 92px rgba(255,255,255,.02); }
.aimme-visual-cube { position: absolute; z-index: 2; top: 50%; left: 50%; display: grid; place-items: center; width: 118px; height: 118px; border: 1px solid rgba(255,255,255,.35); border-radius: 34px; color: #2e70da; background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(229,240,255,.86)); box-shadow: 0 26px 55px rgba(16,59,129,.22); font-size: 52px; font-weight: 850; transform: translate(-50%, -50%) rotate(7deg); }
.aimme-orbit { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; transform: translate(-50%, -50%); }
.aimme-orbit.orbit-one { width: 230px; height: 230px; }
.aimme-orbit.orbit-two { width: 330px; height: 330px; }
.aimme-float-chip { position: absolute; z-index: 3; display: flex; align-items: center; gap: 7px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.32); border-radius: 12px; color: #2c68c6; background: rgba(255,255,255,.92); box-shadow: 0 12px 28px rgba(21,56,117,.16); font-style: normal; }
.aimme-float-chip .aimme-icon { width: 17px; }
.aimme-float-chip b { font-size: 11px; }
.aimme-float-chip.chip-course { top: 24%; left: 3%; }
.aimme-float-chip.chip-talk { right: 4%; bottom: 22%; }
.aimme-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-top: 17px; }
.aimme-metric-card { display: grid; grid-template-columns: 44px minmax(0, 1fr) 16px; align-items: center; gap: 11px; min-width: 0; padding: 17px; border: 1px solid #e4e9f0; border-radius: 17px; color: inherit; background: #fff; text-align: left; box-shadow: 0 7px 22px rgba(45,57,78,.045); cursor: pointer; transition: transform .18s, box-shadow .18s, border-color .18s; }
.aimme-metric-card:hover { transform: translateY(-2px); border-color: #cad9ee; box-shadow: 0 11px 30px rgba(45,57,78,.08); }
.aimme-metric-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: var(--aim-blue); background: #edf4ff; }
.aimme-metric-card:nth-child(2) .aimme-metric-icon { color: var(--aim-purple); background: #f1efff; }
.aimme-metric-card:nth-child(3) .aimme-metric-icon { color: #d59000; background: #fff7df; }
.aimme-metric-card:nth-child(4) .aimme-metric-icon { color: var(--aim-green); background: #edf8f0; }
.aimme-metric-icon .aimme-icon { width: 20px; }
.aimme-metric-card div { min-width: 0; }
.aimme-metric-card small { display: block; color: #818b9c; font-size: 10px; font-weight: 700; letter-spacing: .03em; }
.aimme-metric-card strong { display: block; margin-top: 2px; color: #223047; font-size: 23px; line-height: 1; letter-spacing: -.04em; }
.aimme-metric-card p { overflow: hidden; margin: 6px 0 0; color: #97a0ae; font-size: 9.5px; text-overflow: ellipsis; white-space: nowrap; }
.aimme-metric-card > .aimme-icon { width: 15px; color: #b2bac7; }
.aimme-overview-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 17px; margin-top: 17px; }
.aimme-hub-card { border: 1px solid #e4e9f0; border-radius: 20px; background: #fff; box-shadow: 0 8px 28px rgba(45,57,78,.05); }
.aimme-hub-card > header { display: flex; align-items: flex-start; justify-content: space-between; padding: 22px 23px 15px; }
.aimme-hub-card > header span { color: #9aa3b1; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.aimme-hub-card > header h2 { margin: 4px 0 0; color: #27344a; font-size: 18px; letter-spacing: -.025em; }
.aimme-hub-card > header button { padding: 5px 0; border: 0; color: var(--aim-blue); background: transparent; font-size: 11px; font-weight: 700; cursor: pointer; }
.aimme-current-course { display: grid; grid-template-columns: 118px minmax(0, 1fr) 43px; align-items: center; gap: 17px; margin: 0 20px 20px; padding: 12px; border-radius: 16px; background: #f8faff; }
.aimme-current-course > img { width: 118px; height: 82px; border-radius: 12px; object-fit: cover; }
.aimme-current-course > div { min-width: 0; }
.aimme-current-course small { color: var(--aim-blue); font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.aimme-current-course h3 { overflow: hidden; margin: 5px 0 10px; color: #27344a; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.aimme-progress { height: 5px; overflow: hidden; border-radius: 999px; background: #e2e8f2; }
.aimme-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #4285f4, #74a6f7); }
.aimme-current-course div > span { display: block; margin-top: 7px; color: #8a94a5; font-size: 9px; }
.aimme-current-course > b { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: #fff; background: var(--aim-blue); box-shadow: 0 9px 20px rgba(66,133,244,.24); }
.aimme-current-course > b .aimme-icon { width: 19px; }
.aimme-next-card > header em { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 11px; color: #b67800; background: #fff3ce; }
.aimme-next-card > header em .aimme-icon { width: 18px; }
.aimme-next-content { padding: 4px 23px 24px; }
.aimme-next-icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 16px; color: var(--aim-blue); background: #edf4ff; }
.aimme-next-icon .aimme-icon { width: 24px; }
.aimme-next-content h3 { margin: 15px 0 7px; color: #263349; font-size: 17px; }
.aimme-next-content p { margin: 0; color: #7b8698; font-size: 12px; line-height: 1.7; }
.aimme-next-content a { display: inline-flex; align-items: center; gap: 7px; margin-top: 17px; color: var(--aim-blue); font-size: 12px; font-weight: 750; }
.aimme-next-content a .aimme-icon { width: 16px; }
.aimme-quick-card { margin-top: 17px; }
.aimme-quick-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 0 20px 20px; }
.aimme-quick-action { display: grid; grid-template-columns: 39px minmax(0, 1fr) 16px; align-items: center; gap: 10px; padding: 13px; border: 1px solid #edf0f5; border-radius: 14px; background: #fbfcfe; }
.aimme-quick-action:hover { border-color: #cedcf0; background: #f6f9ff; transform: translateY(-1px); }
.aimme-quick-action > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; color: var(--aim-blue); background: #edf4ff; }
.aimme-quick-action:nth-child(2) > span { color: var(--aim-purple); background: #f1efff; }
.aimme-quick-action:nth-child(3) > span { color: #d59000; background: #fff7df; }
.aimme-quick-action:nth-child(4) > span { color: var(--aim-green); background: #edf8f0; }
.aimme-quick-action > span .aimme-icon { width: 19px; }
.aimme-quick-action div { min-width: 0; }
.aimme-quick-action strong,
.aimme-quick-action small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aimme-quick-action strong { color: #2d394e; font-size: 12px; }
.aimme-quick-action small { margin-top: 4px; color: #929baa; font-size: 9px; }
.aimme-quick-action > .aimme-icon { width: 15px; color: #b0b8c5; }

/* Generic panels */
.aimme-panel-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 25px; }
.aimme-panel-header > div { max-width: 720px; }
.aimme-panel-header span { color: var(--aim-blue); font-size: 10px; font-weight: 850; letter-spacing: .15em; }
.aimme-panel-header h1 { margin: 7px 0 7px; color: #202d43; font-size: clamp(30px, 3vw, 42px); line-height: 1.12; letter-spacing: -.045em; }
.aimme-panel-header p { margin: 0; color: #7b8799; font-size: 13px; line-height: 1.7; }
.aimme-integration-notice { display: flex; align-items: flex-start; gap: 15px; padding: 20px; border: 1px solid #cfe0f8; border-radius: 17px; color: #315c95; background: #f1f7ff; }
.aimme-integration-notice > .aimme-icon { flex: 0 0 auto; width: 22px; }
.aimme-integration-notice h3 { margin: 0 0 5px; font-size: 15px; }
.aimme-integration-notice p { margin: 0; color: #6682a5; font-size: 12px; line-height: 1.6; }
.aimme-smart-empty { display: flex; align-items: center; gap: 17px; color: #788497; }
.aimme-smart-empty > .aimme-icon { flex: 0 0 auto; width: 30px; height: 30px; color: #91a9cc; }
.aimme-smart-empty h2,
.aimme-smart-empty h3 { margin: 0 0 5px; color: #344158; }
.aimme-smart-empty p { margin: 0; font-size: 12px; line-height: 1.65; }
.aimme-smart-empty a:not(.aimme-hub-primary-button) { margin-left: auto; color: var(--aim-blue); font-size: 11px; font-weight: 750; }
.aimme-smart-empty.compact { margin: 0 20px 20px; padding: 18px; border-radius: 15px; background: #f8faff; }
.aimme-smart-empty.large { justify-content: center; min-height: 310px; padding: 45px; border: 1px dashed #cfdae8; border-radius: 22px; background: #fbfcfe; text-align: center; }
.aimme-smart-empty.large > .aimme-icon { width: 48px; height: 48px; }
.aimme-smart-empty.large > div { max-width: 460px; }
.aimme-smart-empty.large .aimme-hub-primary-button { margin-top: 20px; }

/* Courses */
.aimme-course-summary { display: flex; gap: 12px; margin-bottom: 20px; }
.aimme-course-summary > div { min-width: 130px; padding: 13px 17px; border: 1px solid #e6ebf2; border-radius: 14px; background: #fff; }
.aimme-course-summary span { display: block; color: #8e98a8; font-size: 10px; }
.aimme-course-summary strong { display: block; margin-top: 4px; color: #253247; font-size: 22px; letter-spacing: -.04em; }
.aimme-course-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.aimme-course-card { overflow: hidden; border: 1px solid #e3e8f0; border-radius: 20px; background: #fff; box-shadow: 0 8px 26px rgba(45,57,78,.055); transition: transform .2s, box-shadow .2s; }
.aimme-course-card:hover { transform: translateY(-3px); box-shadow: 0 15px 34px rgba(45,57,78,.1); }
.aimme-course-cover { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #eaf1fb; }
.aimme-course-cover img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.aimme-course-card:hover .aimme-course-cover img { transform: scale(1.035); }
.aimme-course-cover span { position: absolute; top: 12px; right: 12px; padding: 6px 9px; border-radius: 999px; color: #fff; background: rgba(25,38,62,.72); backdrop-filter: blur(9px); font-size: 9px; font-weight: 750; }
.aimme-course-body { padding: 18px; }
.aimme-course-body > small { color: var(--aim-blue); font-size: 9px; font-weight: 850; letter-spacing: .13em; }
.aimme-course-body h3 { min-height: 42px; margin: 7px 0 16px; color: #2b374c; font-size: 15px; line-height: 1.45; }
.aimme-course-footer { display: flex; justify-content: space-between; gap: 8px; margin-top: 10px; color: #8c96a6; font-size: 9px; }
.aimme-course-footer a { display: inline-flex; align-items: center; gap: 4px; color: var(--aim-blue); font-weight: 750; }
.aimme-course-footer .aimme-icon { width: 13px; }

/* Community */
.aimme-community-hero { display: grid; grid-template-columns: 65px minmax(0, 1fr) auto; align-items: center; gap: 20px; margin-bottom: 18px; padding: 23px 25px; border: 1px solid #d7e6fb; border-radius: 21px; background: linear-gradient(135deg, #f1f7ff, #fbfdff); }
.aimme-community-hero.is-member { border-color: #d2ead8; background: linear-gradient(135deg, #f0faf3, #fbfefc); }
.aimme-community-hero-icon { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 19px; color: var(--aim-blue); background: #fff; box-shadow: 0 9px 24px rgba(47,85,145,.12); }
.aimme-community-hero.is-member .aimme-community-hero-icon { color: var(--aim-green); }
.aimme-community-hero-icon .aimme-icon { width: 29px; height: 29px; }
.aimme-community-hero span { color: var(--aim-blue); font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.aimme-community-hero.is-member span { color: var(--aim-green); }
.aimme-community-hero h2 { margin: 5px 0; color: #27344a; font-size: 20px; }
.aimme-community-hero p { margin: 0; color: #768399; font-size: 11px; line-height: 1.6; }
.aimme-community-hero > a { display: inline-flex; align-items: center; gap: 6px; padding: 11px 14px; border-radius: 12px; color: #fff; background: var(--aim-blue); font-size: 11px; font-weight: 750; }
.aimme-community-hero.is-member > a { background: var(--aim-green); }
.aimme-community-hero > a .aimme-icon { width: 15px; }
.aimme-community-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.aimme-hub-card > header > b { padding: 6px 9px; border-radius: 999px; color: #52709e; background: #edf4ff; font-size: 9px; }
.aimme-hub-card > header > b.is-alert { color: #a3473e; background: #fff0ee; }
.aimme-space-list,
.aimme-notification-list { padding: 0 18px 18px; }
.aimme-space-list > a { display: grid; grid-template-columns: 43px minmax(0, 1fr) 16px; align-items: center; gap: 11px; padding: 11px; border-radius: 13px; }
.aimme-space-list > a:hover { background: #f5f8fd; }
.aimme-space-avatar { display: grid; place-items: center; width: 42px; height: 42px; overflow: hidden; border-radius: 13px; color: var(--aim-purple); background: #f0efff; }
.aimme-space-avatar img { width: 100%; height: 100%; object-fit: cover; }
.aimme-space-avatar .aimme-icon { width: 20px; }
.aimme-space-list div { min-width: 0; }
.aimme-space-list strong,
.aimme-space-list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aimme-space-list strong { color: #334057; font-size: 12px; }
.aimme-space-list small { margin-top: 4px; color: #929baa; font-size: 9px; }
.aimme-space-list > a > .aimme-icon { width: 15px; color: #b0b8c5; }
.aimme-notification-list > a { display: grid; grid-template-columns: 7px minmax(0, 1fr); gap: 11px; padding: 11px 9px; border-bottom: 1px solid #eef1f5; }
.aimme-notification-list > a:last-child { border-bottom: 0; }
.aimme-notification-list > a > i { width: 6px; height: 6px; margin-top: 5px; border-radius: 50%; background: #c7ced9; }
.aimme-notification-list > a.is-unread > i { background: var(--aim-blue); box-shadow: 0 0 0 4px rgba(66,133,244,.1); }
.aimme-notification-list strong { display: block; color: #344157; font-size: 11px; }
.aimme-notification-list p { overflow: hidden; margin: 4px 0; color: #818c9e; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.aimme-notification-list small { color: #a1a9b6; font-size: 8px; }

/* Education accounts and legacy cards harmonisation */
.aimme-account-difference { display: flex; gap: 13px; margin-bottom: 18px; padding: 16px 18px; border: 1px solid #d8e5f7; border-radius: 16px; background: #f4f8ff; }
.aimme-account-difference > span { color: var(--aim-blue); }
.aimme-account-difference .aimme-icon { width: 20px; }
.aimme-account-difference strong { color: #30425d; font-size: 13px; }
.aimme-account-difference p { margin: 4px 0 0; color: #718098; font-size: 11px; line-height: 1.6; }
.aimme-account-difference b { color: #385f99; }
.aimme-hub-resource-list { display: grid; gap: 16px; }
.aimme-member-hub .aimme-resource-card,
.aimme-member-hub .aimme-website-account-secondary { margin: 0; border-color: #e1e7ef; border-radius: 20px; box-shadow: 0 8px 28px rgba(45,57,78,.055); }
.aimme-member-hub .aimme-resource-card h2 { font-size: 20px; }
.aimme-member-hub .aimme-credential-grid > div { border-radius: 14px; }
.aimme-member-hub .aimme-website-account-secondary { margin-top: 17px; }
.aimme-member-hub .aimme-copy,
.aimme-member-hub [data-copy] { transition: background .16s, color .16s; }
.aimme-member-hub [data-copy].is-copied { color: #fff !important; background: var(--aim-green) !important; }

/* Benefits */
.aimme-benefit-list { display: flex; flex-direction: column; gap: 10px; }
.aimme-benefit-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto 38px; align-items: center; gap: 15px; padding: 17px 19px; border: 1px solid #e3e8f0; border-radius: 17px; background: #fff; box-shadow: 0 6px 20px rgba(45,57,78,.04); }
.aimme-benefit-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; color: var(--aim-blue); background: #edf4ff; }
.aimme-benefit-icon .aimme-icon { width: 21px; }
.aimme-benefit-main { min-width: 0; }
.aimme-benefit-main small { color: #9aa3b2; font-size: 9px; }
.aimme-benefit-main h3 { margin: 4px 0; color: #303d53; font-size: 14px; }
.aimme-benefit-main p { margin: 0; color: #8a94a5; font-size: 9px; }
.aimme-benefit-state { display: flex; flex-direction: column; align-items: flex-end; gap: 5px; }
.aimme-benefit-state span { padding: 6px 9px; border-radius: 999px; font-size: 9px; font-weight: 750; }
.aimme-benefit-state .tone-green { color: #237b3d; background: #eaf8ee; }
.aimme-benefit-state .tone-yellow { color: #9a6700; background: #fff5d9; }
.aimme-benefit-state .tone-blue { color: #2866be; background: #eaf2ff; }
.aimme-benefit-state .tone-purple { color: #674dc1; background: #f0edff; }
.aimme-benefit-state .tone-gray { color: #6d7787; background: #f0f2f5; }
.aimme-benefit-state small { color: #9da5b2; font-size: 8px; }
.aimme-benefit-row > button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid #e3e8ef; border-radius: 11px; color: #9aa3b1; background: #fff; cursor: pointer; }
.aimme-benefit-row > button:hover { color: var(--aim-blue); background: #eef5ff; }
.aimme-benefit-row > button .aimme-icon { width: 16px; }

/* Profile */
.aimme-profile-layout { display: grid; grid-template-columns: 255px minmax(0, 1fr); gap: 18px; align-items: start; }
.aimme-profile-summary { position: sticky; top: 103px; padding: 27px 22px; border: 1px solid #e2e8f0; border-radius: 21px; background: #fff; box-shadow: 0 8px 28px rgba(45,57,78,.05); text-align: center; }
.aimme-profile-avatar-editor { position: relative; width: 112px; height: 112px; margin: 0 auto 16px; }
.aimme-profile-avatar-editor img { display: block; width: 112px; height: 112px; margin: 0; border: 5px solid #f1f5fb; border-radius: 32px; object-fit: cover; }
.aimme-profile-avatar-editor label { position: absolute; right: -5px; bottom: -5px; display: grid; place-items: center; width: 38px; height: 38px; border: 3px solid #fff; border-radius: 12px; color: #fff; background: var(--aim-blue); box-shadow: 0 8px 18px rgba(66,133,244,.25); cursor: pointer; }
.aimme-profile-avatar-editor label .aimme-icon { width: 17px; }
.aimme-profile-avatar-editor input { display: none; }
.aimme-profile-summary h2 { margin: 0; color: #2b384e; font-size: 19px; }
.aimme-profile-summary > p { margin: 5px 0 17px; color: #8d97a7; font-size: 10px; }
.aimme-profile-ring { --progress: 0; position: relative; display: grid; place-items: center; width: 112px; height: 112px; margin: 0 auto 15px; border-radius: 50%; background: conic-gradient(var(--aim-blue) calc(var(--progress) * 1%), #e8edf4 0); }
.aimme-profile-ring::before { position: absolute; inset: 8px; border-radius: 50%; content: ""; background: #fff; }
.aimme-profile-ring > span { position: relative; z-index: 1; display: flex; flex-direction: column; }
.aimme-profile-ring strong { color: #2c3b52; font-size: 22px; letter-spacing: -.04em; }
.aimme-profile-ring small { color: #929baa; font-size: 8px; }
.aimme-profile-summary > small { display: block; color: #8792a4; font-size: 9.5px; line-height: 1.65; }
.aimme-profile-summary > a { display: inline-flex; align-items: center; gap: 5px; margin-top: 17px; color: var(--aim-blue); font-size: 10px; font-weight: 750; }
.aimme-profile-summary > a .aimme-icon { width: 14px; }
.aimme-profile-form { display: flex; flex-direction: column; gap: 15px; }
.aimme-form-section { overflow: hidden; border: 1px solid #e2e8f0; border-radius: 21px; background: #fff; box-shadow: 0 8px 28px rgba(45,57,78,.045); }
.aimme-form-section > header { display: flex; gap: 13px; padding: 20px 22px 16px; border-bottom: 1px solid #edf0f4; }
.aimme-form-section > header > span { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 11px; color: var(--aim-blue); background: #edf4ff; font-size: 10px; font-weight: 800; }
.aimme-form-section h3 { margin: 0; color: #303d53; font-size: 15px; }
.aimme-form-section p { margin: 4px 0 0; color: #8c96a6; font-size: 9px; }
.aimme-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; padding: 21px 22px 24px; }
.aimme-form-grid .aimme-field.is-wide { grid-column: 1 / -1; }
.aimme-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 15px; }
.aimme-form-actions .aimme-inline-alert { flex: 1; margin: 0; }

/* Security */
.aimme-security-status { display: grid; grid-template-columns: 62px minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 24px 26px; border: 1px solid #cfe8d5; border-radius: 21px; background: linear-gradient(135deg, #f0faf3, #fbfefc); }
.aimme-security-status > span { display: grid; place-items: center; width: 60px; height: 60px; border-radius: 19px; color: var(--aim-green); background: #fff; box-shadow: 0 9px 24px rgba(52,168,83,.11); }
.aimme-security-status > span .aimme-icon { width: 29px; height: 29px; }
.aimme-security-status small { color: var(--aim-green); font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.aimme-security-status h2 { margin: 4px 0; color: #2e4936; font-size: 20px; }
.aimme-security-status p { margin: 0; color: #71867a; font-size: 11px; }
.aimme-security-status > b { display: inline-flex; align-items: center; gap: 5px; padding: 8px 11px; border-radius: 999px; color: #2e8348; background: #fff; font-size: 10px; }
.aimme-security-status > b .aimme-icon { width: 14px; }
.aimme-security-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; margin-top: 18px; }
.aimme-security-card { position: relative; padding: 20px; }
.aimme-security-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 16px; border-radius: 14px; color: var(--aim-blue); background: #edf4ff; }
.aimme-security-card:nth-child(2) .aimme-security-icon { color: var(--aim-purple); background: #f1efff; }
.aimme-security-card:nth-child(3) .aimme-security-icon { color: #d58d00; background: #fff5d9; }
.aimme-security-icon .aimme-icon { width: 21px; }
.aimme-security-card small { color: #969fad; font-size: 9px; font-weight: 750; letter-spacing: .05em; }
.aimme-security-card h3 { margin: 5px 0; color: #313e54; font-size: 15px; }
.aimme-security-card p { min-height: 34px; margin: 0; color: #828d9f; font-size: 10px; line-height: 1.6; }
.aimme-security-card > b,
.aimme-security-card > button { display: inline-flex; margin-top: 16px; padding: 7px 10px; border: 0; border-radius: 9px; color: #3870c5; background: #edf4ff; font-size: 9px; font-weight: 750; }
.aimme-security-card > button { cursor: pointer; }
.aimme-security-card > button:hover { background: #dfebff; }
.aimme-password-panel { margin-top: 18px; padding: 22px; border: 1px solid #dbe4f1; border-radius: 21px; background: #fff; box-shadow: 0 10px 34px rgba(45,57,78,.07); animation: aimmeFadeUp .22s ease both; }
.aimme-password-panel > header { display: flex; align-items: flex-start; justify-content: space-between; }
.aimme-password-panel > header > div { display: flex; gap: 12px; }
.aimme-password-panel > header > div > span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; color: var(--aim-purple); background: #f1efff; }
.aimme-password-panel h3 { margin: 0; color: #303d53; font-size: 16px; }
.aimme-password-panel p { margin: 4px 0 0; color: #8792a4; font-size: 10px; }
.aimme-password-panel > header > button { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 10px; color: #8f99a9; background: #f3f5f8; cursor: pointer; }
.aimme-password-panel > header > button .aimme-icon { width: 17px; }
.aimme-password-panel .aimme-form-grid { padding: 20px 0 16px; }
.aimme-security-help { display: flex; gap: 12px; margin-top: 18px; padding: 16px 18px; border: 1px solid #f0dfac; border-radius: 15px; color: #8d6810; background: #fffaf0; }
.aimme-security-help > span .aimme-icon { width: 19px; }
.aimme-security-help strong { font-size: 12px; }
.aimme-security-help p { margin: 4px 0 0; color: #9b854e; font-size: 10px; }

/* Mobile nav, toast and Kadence shortcode button */
.aimme-hub-mobile-nav { display: none; }
.aimme-hub-toast { position: fixed; z-index: 999999; right: 30px; bottom: 30px; max-width: min(380px, calc(100vw - 30px)); padding: 13px 17px; border-radius: 13px; color: #fff; background: #27354b; box-shadow: 0 14px 38px rgba(21,31,48,.25); font-size: 12px; font-weight: 650; opacity: 0; transform: translateY(12px); transition: opacity .2s, transform .2s; }
.aimme-hub-toast.is-visible { opacity: 1; transform: translateY(0); }
.aimme-hub-toast.is-error { background: #b43d33; }
.aimme-account-button { display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px; border: 1px solid #dde4ee; border-radius: 12px; color: #35445b; background: #fff; font-size: 13px; font-weight: 700; }
.aimme-account-button:hover { color: #2465c4; border-color: #c6d8ef; background: #f8fbff; }
.aimme-account-button .aimme-icon { width: 18px; }
.aimme-account-button-avatar { width: 28px !important; height: 28px !important; margin: 0 !important; border-radius: 9px !important; object-fit: cover; }

@keyframes aimmeFadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@keyframes aimmeSpin { to { transform: rotate(360deg); } }
@keyframes aimmeShake { 0%,100% { transform: translateX(0); } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } }

@media (max-width: 1180px) {
  .aimme-login-stage { grid-template-columns: 1fr 480px; }
  .aimme-login-story { padding: 38px; }
  .aimme-login-story h1 { font-size: 44px; }
  .aimme-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aimme-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aimme-quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .aimme-login-page { padding: 14px; }
  .aimme-login-stage { min-height: 720px; grid-template-columns: 1fr; }
  .aimme-login-story { display: none; }
  .aimme-login-workspace { min-height: 720px; padding: 45px 24px; }
  .aimme-login-mobile-brand { display: flex; align-items: center; gap: 10px; margin-bottom: 48px; }
  .aimme-login-mobile-brand .aimme-brand-mark { width: 39px; height: 39px; color: #fff; background: var(--aim-blue); font-size: 18px; }
  .aimme-login-mobile-brand strong { color: #263247; font-size: 18px; }

  .aimme-member-hub { padding: 0; background: #f7f9fc; }
  .aimme-hub-layout { display: block; min-height: 100vh; border: 0; border-radius: 0; box-shadow: none; }
  .aimme-hub-sidebar { display: none; }
  .aimme-hub-topbar { min-height: 68px; padding: 0 20px; }
  .aimme-hub-content { padding: 22px 18px 100px; }
  .aimme-hub-mobile-nav { position: fixed; z-index: 80; right: 12px; bottom: max(10px, env(safe-area-inset-bottom)); left: 12px; display: grid; grid-template-columns: repeat(5, 1fr); min-height: 67px; padding: 7px; border: 1px solid rgba(220,226,235,.95); border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 14px 46px rgba(36,48,70,.18); backdrop-filter: blur(18px); }
  .aimme-hub-mobile-nav button { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 0; border: 0; border-radius: 14px; color: #8b95a5; background: transparent; font-size: 9px; cursor: pointer; }
  .aimme-hub-mobile-nav button .aimme-icon { width: 20px; height: 20px; }
  .aimme-hub-mobile-nav button.is-active { color: var(--aim-blue); background: #edf4ff; }
  .aimme-hub-mobile-nav button b { position: absolute; top: 1px; right: calc(50% - 19px); display: grid; place-items: center; min-width: 15px; height: 15px; padding: 0 3px; border: 2px solid #fff; border-radius: 999px; color: #fff; background: var(--aim-red); font-size: 7px; }
  .aimme-overview-hero { grid-template-columns: 1fr; }
  .aimme-overview-copy { padding: 34px; }
  .aimme-overview-visual { display: none; }
  .aimme-overview-grid { grid-template-columns: 1fr; }
  .aimme-profile-layout { grid-template-columns: 1fr; }
  .aimme-profile-summary { position: static; }
  .aimme-community-grid { grid-template-columns: 1fr; }
  .aimme-security-grid { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
  .aimme-login-page { min-height: 100vh; padding: 0; background: #fff; }
  .aimme-login-stage { min-height: 100vh; border: 0; border-radius: 0; box-shadow: none; }
  .aimme-login-workspace { min-height: 100vh; padding: 28px 22px 44px; align-items: start; }
  .aimme-login-mobile-brand { margin: 8px 0 54px; }
  .aimme-login-step h2 { font-size: 31px; }
  .aimme-otp-group { gap: 6px; }
  .aimme-otp-group input { border-radius: 11px; font-size: 21px; }
  .aimme-login-card-footer { margin-top: 23px; }

  .aimme-hub-topbar { padding: 0 15px; }
  .aimme-hub-topbar-title small { display: none; }
  .aimme-hub-content { padding: 16px 13px 96px; }
  .aimme-overview-hero { min-height: 0; border-radius: 20px; }
  .aimme-overview-copy { padding: 27px 22px; }
  .aimme-overview-copy h1 { font-size: 29px; }
  .aimme-overview-copy p { font-size: 12px; line-height: 1.6; }
  .aimme-overview-actions { flex-direction: column; align-items: stretch; }
  .aimme-overview-actions a,
  .aimme-overview-actions button { width: 100%; }
  .aimme-metric-grid { grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 10px; }
  .aimme-metric-card { grid-template-columns: 37px minmax(0, 1fr); gap: 9px; padding: 13px; border-radius: 15px; }
  .aimme-metric-card > .aimme-icon { display: none; }
  .aimme-metric-icon { width: 36px; height: 36px; border-radius: 11px; }
  .aimme-metric-card strong { font-size: 19px; }
  .aimme-metric-card p { display: none; }
  .aimme-overview-grid { gap: 10px; margin-top: 10px; }
  .aimme-hub-card { border-radius: 17px; }
  .aimme-current-course { grid-template-columns: 82px minmax(0, 1fr); gap: 11px; }
  .aimme-current-course > img { width: 82px; height: 70px; }
  .aimme-current-course > b { display: none; }
  .aimme-quick-grid { grid-template-columns: 1fr; }
  .aimme-panel-header { display: block; margin-bottom: 18px; }
  .aimme-panel-header h1 { font-size: 31px; }
  .aimme-panel-header > a,
  .aimme-panel-header > button { width: 100%; margin-top: 15px; }
  .aimme-course-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
  .aimme-course-summary > div { min-width: 0; padding: 10px; }
  .aimme-course-summary strong { font-size: 18px; }
  .aimme-course-grid { grid-template-columns: 1fr; }
  .aimme-community-hero { grid-template-columns: 50px minmax(0, 1fr); gap: 13px; padding: 18px; }
  .aimme-community-hero-icon { width: 50px; height: 50px; border-radius: 16px; }
  .aimme-community-hero > a { grid-column: 1 / -1; justify-content: center; }
  .aimme-benefit-row { grid-template-columns: 42px minmax(0, 1fr) 32px; gap: 10px; padding: 14px; }
  .aimme-benefit-icon { width: 40px; height: 40px; }
  .aimme-benefit-state { grid-column: 2 / 3; align-items: flex-start; }
  .aimme-benefit-row > button { grid-column: 3; grid-row: 1 / 3; }
  .aimme-form-grid { grid-template-columns: 1fr; padding: 18px; }
  .aimme-form-grid .aimme-field.is-wide { grid-column: auto; }
  .aimme-form-actions { display: block; }
  .aimme-form-actions .aimme-hub-primary-button { width: 100%; margin-top: 10px; }
  .aimme-security-status { grid-template-columns: 50px minmax(0, 1fr); gap: 13px; padding: 18px; }
  .aimme-security-status > span { width: 50px; height: 50px; }
  .aimme-security-status > b { grid-column: 2; width: max-content; }
  .aimme-password-panel { padding: 17px; }
  .aimme-hub-toast { right: 14px; bottom: 88px; left: 14px; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  .aimme-login-page *, .aimme-member-hub * { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* AIMinedu Member Pro 1.50 — versioned growth profile and leadership path */
.aimme-growth-panel,
.aimme-leader-panel {
  --growth-blue: #4285f4;
  --growth-ink: #172033;
  --growth-muted: #697386;
  --growth-line: #e5eaf1;
  color: var(--growth-ink);
}
.aimme-growth-panel.is-standalone,
.aimme-leader-panel.is-standalone { width: min(1180px, calc(100% - 28px)); margin: 28px auto; padding: clamp(18px, 3vw, 38px); border: 1px solid #e5eaf1; border-radius: 28px; background: #f8faff; font-family: Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif; box-shadow: 0 24px 80px rgba(41,58,88,.1); }
.aimme-growth-overview { display: grid; gap: 18px; }
.aimme-growth-identity { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 17px; padding: 22px 24px; border: 1px solid #dbe6f7; border-radius: 22px; background: linear-gradient(135deg,#fff,#f5f9ff); box-shadow: 0 10px 34px rgba(42,59,85,.06); }
.aimme-growth-avatar { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; color: #fff; background: linear-gradient(145deg,#4285f4,#2767d7); box-shadow: 0 12px 28px rgba(66,133,244,.28); }
.aimme-growth-avatar .aimme-icon { width: 27px; height: 27px; }
.aimme-growth-identity small,.aimme-growth-form legend small,.aimme-leader-form header small { color: #4285f4; font-size: 10px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.aimme-growth-identity h2 { margin: 3px 0 4px; font-size: 22px; letter-spacing: -.025em; }
.aimme-growth-identity p { margin: 0; color: #697386; font-size: 12px; }
.aimme-growth-score-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.aimme-growth-score { display: flex; align-items: center; gap: 15px; min-height: 112px; padding: 19px; border: 1px solid #e5eaf1; border-radius: 20px; background: #fff; box-shadow: 0 9px 28px rgba(42,59,85,.055); }
.aimme-score-ring { --ring-color:#4285f4; position: relative; display: grid; place-items: center; width: 70px; height: 70px; flex: 0 0 70px; border-radius: 50%; background: conic-gradient(var(--ring-color) calc(var(--score) * 1%),#eaf0f7 0); }
.aimme-score-ring::after { position: absolute; inset: 7px; content:""; border-radius: 50%; background:#fff; }
.aimme-score-ring span { position: relative; z-index: 1; font-size: 21px; font-weight: 820; }
.aimme-growth-score.is-minecraft .aimme-score-ring { --ring-color:#34a853; }
.aimme-growth-score.is-collaboration .aimme-score-ring { --ring-color:#f59e0b; }
.aimme-growth-score small,.aimme-growth-latest-grid small { display:block; color:#7b8698; font-size:11px; }
.aimme-growth-score strong { display:block; margin:3px 0; font-size:18px; }
.aimme-growth-score em { color:#697386; font-size:11px; font-style:normal; }
.aimme-growth-latest-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.aimme-growth-latest-grid article { min-height:92px; padding:17px 18px; border:1px solid #e7ebf1; border-radius:18px; background:#fff; }
.aimme-growth-latest-grid strong { display:block; margin-top:8px; font-size:13px; line-height:1.55; }
.aimme-growth-welcome,.aimme-leader-gate { display:grid; grid-template-columns:72px minmax(0,1fr) auto; align-items:center; gap:22px; padding:30px; border:1px solid #dce8fb; border-radius:26px; background:radial-gradient(circle at 100% 0,rgba(66,133,244,.13),transparent 38%),linear-gradient(145deg,#fff,#f4f8ff); }
.aimme-growth-welcome>span,.aimme-leader-gate>span { display:grid; place-items:center; width:72px; height:72px; border-radius:22px; color:#4285f4; background:#eaf2ff; }
.aimme-growth-welcome>span .aimme-icon,.aimme-leader-gate>span .aimme-icon { width:31px; height:31px; }
.aimme-growth-welcome h2,.aimme-leader-gate h2 { margin:5px 0 8px; font-size:25px; letter-spacing:-.03em; }
.aimme-growth-welcome p,.aimme-leader-gate p { margin:0; color:#697386; line-height:1.7; }
.aimme-growth-form-shell { max-height:0; margin-top:0; overflow:hidden; opacity:0; transform:translateY(-8px); transition:max-height .5s ease,opacity .28s ease,transform .28s ease,margin .28s ease; }
.aimme-growth-form-shell.is-open { max-height:10000px; margin-top:22px; opacity:1; transform:none; }
.aimme-growth-form,.aimme-leader-form { padding:clamp(20px,3vw,34px); border:1px solid #dfe7f2; border-radius:26px; background:#fff; box-shadow:0 18px 55px rgba(34,58,99,.08); }
.aimme-growth-progress { position:relative; height:8px; margin:0 0 32px; overflow:visible; border-radius:999px; background:#edf1f6; }
.aimme-growth-progress i { display:block; width:25%; height:100%; border-radius:inherit; background:linear-gradient(90deg,#4285f4,#75a7fa); transition:width .3s ease; }
.aimme-growth-progress span { position:absolute; right:0; top:13px; color:#7b8698; font-size:10px; font-weight:750; letter-spacing:.08em; }
.aimme-growth-step { min-width:0; padding:0; border:0; }
.aimme-growth-step[hidden],.aimme-leader-form[hidden] { display:none!important; }
.aimme-growth-form legend { display:block; width:100%; padding:0 0 22px; }
.aimme-growth-form legend h2,.aimme-leader-form header h2 { margin:6px 0 7px; font-size:28px; letter-spacing:-.035em; }
.aimme-growth-form legend p,.aimme-leader-form header p { margin:0; color:#697386; }
.aimme-growth-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.aimme-growth-field { min-width:0; }
.aimme-growth-field.type-textarea,.aimme-growth-field.type-multicheck,.aimme-growth-field.type-radio,.aimme-growth-field.type-checkbox { grid-column:1/-1; }
.aimme-growth-label { display:block; margin-bottom:8px; color:#253147; font-size:13px; font-weight:720; line-height:1.5; }
.aimme-growth-label b { margin-left:4px; color:#ea4335; }
.aimme-growth-field input[type="text"],.aimme-growth-field input[type="number"],.aimme-growth-field select,.aimme-growth-field textarea { width:100%; min-height:48px; padding:12px 14px; border:1px solid #dfe5ed; border-radius:13px; outline:0; color:#172033; background:#fbfcfe; transition:border .18s,box-shadow .18s,background .18s; }
.aimme-growth-field textarea { min-height:108px; resize:vertical; line-height:1.65; }
.aimme-growth-field input:focus,.aimme-growth-field select:focus,.aimme-growth-field textarea:focus { border-color:#77a8f8; background:#fff; box-shadow:0 0 0 4px rgba(66,133,244,.11); }
.aimme-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.aimme-choice-grid label { position:relative; min-width:0; cursor:pointer; }
.aimme-choice-grid input { position:absolute; width:1px; height:1px; opacity:0; }
.aimme-choice-grid span { display:flex; align-items:center; min-height:48px; padding:11px 14px 11px 40px; border:1px solid #e0e6ee; border-radius:13px; color:#445066; background:#fff; font-size:12px; line-height:1.5; transition:.18s ease; }
.aimme-choice-grid span::before { position:absolute; left:14px; width:16px; height:16px; content:""; border:1.5px solid #b7c1cf; border-radius:5px; background:#fff; }
.aimme-choice-grid input[type="radio"]+span::before { border-radius:50%; }
.aimme-choice-grid input:checked+span { border-color:#8bb4f8; color:#1e5fc9; background:#f0f6ff; box-shadow:inset 0 0 0 1px rgba(66,133,244,.12); }
.aimme-choice-grid input:checked+span::before { border-color:#4285f4; background:#4285f4; box-shadow:inset 0 0 0 4px #fff; }
.aimme-field-error { display:block; min-height:0; margin-top:5px; color:#d93025; font-size:11px; }
.aimme-growth-field.has-error input,.aimme-growth-field.has-error select,.aimme-growth-field.has-error textarea,.aimme-growth-field.has-error .aimme-choice-grid span { border-color:#ef9a94; }
.aimme-growth-form-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:27px; padding-top:20px; border-top:1px solid #edf0f4; }
.aimme-growth-history,.aimme-leader-history { margin-top:22px; }
.aimme-growth-timeline { display:grid; gap:10px; }
.aimme-growth-timeline details { overflow:hidden; border:1px solid #e6eaf0; border-radius:16px; background:#fff; }
.aimme-growth-timeline summary { display:grid; grid-template-columns:50px minmax(0,1fr) auto; align-items:center; gap:14px; padding:15px 17px; cursor:pointer; list-style:none; }
.aimme-growth-timeline summary::-webkit-details-marker{display:none}.aimme-growth-timeline summary>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#2767d7;background:#eaf2ff;font-weight:800}.aimme-growth-timeline summary strong{display:block}.aimme-growth-timeline summary small{display:block;margin-top:3px;color:#7b8698}.aimme-growth-timeline summary em{color:#60708a;font-size:11px;font-style:normal}.aimme-history-detail{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;padding:0 18px 18px 82px;border-top:1px solid #edf0f4}.aimme-history-detail p{margin:12px 0 0;color:#566176;font-size:12px;line-height:1.65}
.aimme-leader-types { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:20px; }
.aimme-leader-types button { display:flex; min-width:0; min-height:126px; flex-direction:column; align-items:flex-start; gap:10px; padding:16px; border:1px solid #e2e8f0; border-radius:18px; color:#485469; background:#fff; text-align:left; cursor:pointer; transition:.2s ease; }
.aimme-leader-types button>span { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; color:#4285f4; background:#eef5ff; }
.aimme-leader-types button strong{display:block;font-size:13px}.aimme-leader-types button small{display:block;margin-top:5px;color:#7b8698;font-size:10px;line-height:1.5}.aimme-leader-types button:hover,.aimme-leader-types button.is-active{border-color:#8db6f8;background:#f3f7ff;box-shadow:0 9px 28px rgba(66,133,244,.1);transform:translateY(-1px)}
.aimme-leader-form { display:none; }
.aimme-leader-form.is-active { display:block; }
.aimme-leader-form header { margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid #edf0f4; }
.aimme-leader-form>.aimme-hub-primary-button { margin-top:24px; }
.aimme-leader-status-row { display:grid; grid-template-columns:12px minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #edf0f4; }
.aimme-leader-status-row:last-child{border-bottom:0}.aimme-leader-status-row>span{width:10px;height:10px;border-radius:50%;background:#94a3b8}.aimme-leader-status-row>span.is-approved{background:#34a853}.aimme-leader-status-row>span.is-training,.aimme-leader-status-row>span.is-trial{background:#fbbc04}.aimme-leader-status-row>span.is-rejected{background:#ea4335}.aimme-leader-status-row small{display:block;margin-top:3px;color:#7b8698}.aimme-leader-status-row>b{padding:5px 9px;border-radius:999px;background:#f1f5f9;font-size:10px}.aimme-leader-status-row>p{grid-column:2/-1;margin:0;color:#68758a;font-size:12px}
@media(max-width:980px){.aimme-growth-latest-grid{grid-template-columns:1fr 1fr}.aimme-leader-types{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.aimme-growth-identity,.aimme-growth-welcome,.aimme-leader-gate{grid-template-columns:52px minmax(0,1fr);padding:18px}.aimme-growth-identity .aimme-hub-primary-button,.aimme-growth-welcome .aimme-hub-primary-button,.aimme-leader-gate .aimme-hub-primary-button{grid-column:1/-1;width:100%}.aimme-growth-avatar,.aimme-growth-welcome>span,.aimme-leader-gate>span{width:52px;height:52px;border-radius:16px}.aimme-growth-score-grid{grid-template-columns:1fr}.aimme-growth-latest-grid{grid-template-columns:1fr}.aimme-growth-form,.aimme-leader-form{padding:18px;border-radius:19px}.aimme-growth-fields{grid-template-columns:1fr}.aimme-growth-field{grid-column:1/-1}.aimme-choice-grid{grid-template-columns:1fr}.aimme-growth-form-actions{flex-direction:column-reverse}.aimme-growth-form-actions button{width:100%}.aimme-growth-timeline summary{grid-template-columns:42px minmax(0,1fr)}.aimme-growth-timeline summary em{grid-column:2}.aimme-history-detail{grid-template-columns:1fr;padding:0 15px 15px}.aimme-leader-types{grid-template-columns:1fr}.aimme-leader-types button{min-height:0;flex-direction:row}.aimme-leader-status-row{grid-template-columns:10px minmax(0,1fr)}.aimme-leader-status-row>b{grid-column:2;width:max-content}}

/* ========================================================================== 
   AIMinedu Member Pro 1.60 — Fluent Stack First + Google-comfort typography
   ========================================================================== */
.aimme-login-page,
.aimme-member-hub,
.aimme-account-button,
.aimme-context-header-button {
  font-family: "Google Sans Text", "Google Sans", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
}

/* A calm, child-friendly login scene built only with CSS: no remote image or font. */
.aimme-login-page {
  min-height: calc(100vh - 24px);
  padding: clamp(12px, 2vw, 24px);
  background:
    radial-gradient(circle at 4% 8%, rgba(66,133,244,.12), transparent 30%),
    radial-gradient(circle at 94% 90%, rgba(251,188,4,.11), transparent 25%),
    #f8fafd;
}
.aimme-login-stage {
  width: min(1380px, 100%);
  min-height: min(820px, calc(100vh - 48px));
  grid-template-columns: minmax(0, 1fr) minmax(430px, .92fr);
  border-radius: 30px;
  box-shadow: 0 22px 70px rgba(35, 55, 89, .12);
}
.aimme-login-story {
  min-height: min(820px, calc(100vh - 48px));
  padding: clamp(34px, 4vw, 58px);
  background:
    radial-gradient(circle at 87% 15%, rgba(255,255,255,.16), transparent 24%),
    linear-gradient(145deg, #185abc 0%, #2f73e4 52%, #5d97f5 100%);
}
.aimme-login-story::before {
  width: 470px;
  height: 470px;
  right: -190px;
  top: 95px;
  box-shadow: 0 0 0 74px rgba(255,255,255,.04), 0 0 0 148px rgba(255,255,255,.024);
}
.aimme-login-story-copy { max-width: 620px; margin: clamp(54px, 7vh, 90px) 0 30px; }
.aimme-login-story h1 {
  margin: 16px 0 18px;
  font-size: clamp(44px, 4.4vw, 66px);
  line-height: 1.1;
  letter-spacing: -.052em;
}
.aimme-login-story-copy > p {
  max-width: 560px;
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.75;
}
.aimme-login-brand strong { font-size: 23px; }
.aimme-login-brand small { font-size: 11px; }
.aimme-login-kicker { font-size: 13px; letter-spacing: .12em; }
.aimme-login-benefits { margin-top: 24px; }
.aimme-login-benefits span { padding: 10px 15px; }
.aimme-login-benefits b { font-size: 14px; }
.aimme-login-privacy { font-size: 13px; }

/* Playful island: abstract enough for children, quiet enough for parents. */
.aimme-login-world {
  position: relative;
  width: min(500px, 100%);
  height: 230px;
  margin: 22px 0 8px;
  overflow: visible;
}
.aimme-world-island {
  position: absolute;
  left: 50%;
  bottom: 10px;
  width: 310px;
  height: 136px;
  transform: translateX(-50%);
  border-radius: 52% 48% 47% 53% / 31% 33% 67% 69%;
  background: linear-gradient(180deg, #8bd66f 0 28%, #62bd4f 29% 43%, #a66a3e 44% 62%, #79503c 63% 100%);
  filter: drop-shadow(0 26px 22px rgba(17,55,120,.25));
}
.aimme-world-island::before,
.aimme-world-island::after {
  position: absolute;
  content: "";
}
.aimme-world-island::before {
  inset: 12px 28px auto;
  height: 56px;
  border-radius: 46% 54% 49% 51%;
  background:
    linear-gradient(90deg, transparent 0 42%, #59bff2 43% 55%, transparent 56%),
    linear-gradient(180deg, #b8ec94, #75c95f);
  box-shadow: inset 0 -8px 0 rgba(32,137,72,.12);
}
.aimme-world-island::after {
  left: 45%;
  bottom: -28px;
  width: 75px;
  height: 55px;
  clip-path: polygon(0 0,100% 0,62% 100%,34% 100%);
  background: linear-gradient(145deg,#8a5b42,#604335);
}
.aimme-world-block {
  position: absolute;
  z-index: 3;
  width: 42px;
  height: 42px;
  border: 4px solid rgba(255,255,255,.75);
  border-radius: 12px;
  background: linear-gradient(145deg,#fff,#dceaff);
  box-shadow: 0 12px 24px rgba(24,63,126,.22);
}
.aimme-world-block.b1 { left: 44px; top: 20px; transform: rotate(-8deg); }
.aimme-world-block.b2 { right: 52px; top: 11px; transform: rotate(9deg); background: linear-gradient(145deg,#fff8dd,#ffd965); }
.aimme-world-block.b3 { right: 118px; bottom: 32px; width: 34px; height: 34px; border-width: 3px; background: linear-gradient(145deg,#e4f6ff,#76c7f1); }
.aimme-world-character {
  position: absolute;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 54px;
  height: 64px;
  border: 5px solid #fff;
  border-radius: 17px 17px 21px 21px;
  color: #185abc;
  background: #ffd2a6;
  box-shadow: 0 15px 24px rgba(28,68,128,.22);
  font-size: 20px;
  font-weight: 850;
}
.aimme-world-character::after {
  position: absolute;
  top: -12px;
  width: 42px;
  height: 20px;
  content: "";
  border-radius: 15px 15px 6px 6px;
  background: #21314f;
}
.aimme-world-character.c1 { left: 92px; top: 27px; transform: rotate(-4deg); }
.aimme-world-character.c2 { right: 92px; top: 43px; color: #8b4b00; transform: rotate(4deg); }
.aimme-world-path {
  position: absolute;
  z-index: 4;
  left: 122px;
  top: 77px;
  width: 76px;
  height: 18px;
  border: 4px dashed rgba(255,255,255,.9);
  border-left: 0;
  border-bottom: 0;
  border-radius: 50%;
  transform: rotate(8deg);
}
.aimme-world-chip {
  position: absolute;
  z-index: 6;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 15px;
  color: #2867c7;
  background: rgba(255,255,255,.94);
  box-shadow: 0 15px 30px rgba(19,60,127,.2);
  animation: aimmeWorldFloat 4.8s ease-in-out infinite;
}
.aimme-world-chip .aimme-icon { width: 22px; height: 22px; }
.aimme-world-chip.is-book { left: 3%; top: 22px; }
.aimme-world-chip.is-talk { right: 1%; top: 48px; animation-delay: -.9s; }
.aimme-world-chip.is-spark { right: 17%; top: 0; color: #b06e00; animation-delay: -1.8s; }
@keyframes aimmeWorldFloat { 0%,100%{transform:translateY(0) rotate(-2deg)} 50%{transform:translateY(-8px) rotate(2deg)} }

/* Larger, calmer right-hand login workspace. */
.aimme-login-workspace { padding: clamp(34px, 5vw, 78px); }
.aimme-login-card { width: min(480px, 100%); }
.aimme-login-step h2 { font-size: clamp(34px, 3vw, 44px); line-height: 1.2; }
.aimme-login-step > p { margin-bottom: 32px; font-size: 17px; line-height: 1.75; }
.aimme-field > span { font-size: 15px; }
.aimme-field small { font-size: 13px; line-height: 1.55; }
.aimme-field-large input { height: 62px; font-size: 18px; }
.aimme-hub-primary-button,
.aimme-hub-secondary-button { min-height: 50px; font-size: 15px; }
.aimme-hub-primary-button.is-wide { min-height: 60px; font-size: 17px; }
.aimme-password-entry { min-height: 58px; font-size: 15px; }
.aimme-login-card-footer p { font-size: 13px; }
.aimme-login-back { font-size: 14px; }
.aimme-otp-group input { font-size: 28px; }
.aimme-resend-row { font-size: 14px; }

/* Global Kadence/header smart action. */
.aimme-account-button,
.aimme-context-header-button {
  min-height: 46px;
  padding: 8px 16px;
  border-radius: 15px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 4px 14px rgba(36, 55, 88, .06);
}
.aimme-context-header-button:not(.is-logged-in) {
  color: #fff !important;
  border-color: #4285f4;
  background: #4285f4;
  box-shadow: 0 8px 20px rgba(66,133,244,.22);
}
.aimme-context-header-button:not(.is-logged-in):hover {
  color: #fff !important;
  border-color: #2c72df;
  background: #2c72df;
}
.aimme-context-header-button .aimme-icon { width: 17px; }

/* Member hub readability and responsive contextual action. */
.aimme-member-hub { font-size: 16px; line-height: 1.65; }
.aimme-hub-layout { grid-template-columns: 284px minmax(0,1fr); }
.aimme-hub-sidebar { padding: 29px 20px 22px; }
.aimme-hub-brand strong { font-size: 19px; }
.aimme-hub-brand small { font-size: 10px; }
.aimme-hub-user-mini strong { font-size: 15px; }
.aimme-hub-user-mini small { font-size: 12px; }
.aimme-hub-nav button { min-height: 50px; font-size: 15px; }
.aimme-hub-sidebar-footer a { font-size: 14px; }
.aimme-hub-topbar { min-height: 82px; padding: 0 38px; }
.aimme-hub-topbar-title small { font-size: 10px; }
.aimme-hub-topbar-title strong { font-size: 20px; }
.aimme-hub-top-actions { gap: 9px; }
.aimme-context-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 17px;
  border: 1px solid #c8daf7;
  border-radius: 14px;
  color: #1f65c8;
  background: #eef5ff;
  font-size: 14px;
  font-weight: 750;
  white-space: nowrap;
  transition: .18s ease;
}
.aimme-context-action:hover { color: #fff; border-color: #4285f4; background: #4285f4; box-shadow: 0 8px 20px rgba(66,133,244,.2); transform: translateY(-1px); }
.aimme-context-action .aimme-icon { width: 17px; }
.aimme-icon-button,
.aimme-avatar-button { width: 46px; height: 46px; }
.aimme-hub-content { max-width: 1320px; padding: 38px 40px 82px; }
.aimme-overview-copy p { font-size: 17px; }
.aimme-metric-card small { font-size: 12px; }
.aimme-metric-card p { font-size: 11px; }
.aimme-hub-card > header span { font-size: 10px; }
.aimme-hub-card > header h2 { font-size: 21px; }
.aimme-hub-card > header button { font-size: 13px; }
.aimme-panel-heading p,
.aimme-panel-hero p,
.aimme-smart-empty p,
.aimme-next-content p { font-size: 15px; line-height: 1.7; }
.aimme-space-item strong,
.aimme-notification-item strong,
.aimme-course-card h3 { font-size: 16px; }
.aimme-space-item p,
.aimme-notification-item p,
.aimme-course-card p { font-size: 13px; }
.aimme-account-difference strong { font-size: 15px; }
.aimme-account-difference p { font-size: 13px; }

/* Fluent Forms is the facts layer; Member Pro adds a calm product shell. */
.aimme-fluentform-shell {
  margin-top: 20px;
  padding: clamp(20px, 3vw, 34px);
  border: 1px solid #dfe7f2;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 16px 48px rgba(34,58,99,.075);
}
.aimme-fluentform-source {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-bottom: 22px;
  padding: 13px 15px;
  border: 1px solid #dce8f9;
  border-radius: 14px;
  color: #526178;
  background: #f5f9ff;
  font-size: 13px;
  line-height: 1.6;
}
.aimme-fluentform-source strong { color: #245fbd; }
.aimme-fluentform-shell .ff-el-group { margin-bottom: 20px; }
.aimme-fluentform-shell .ff-el-input--label label,
.aimme-fluentform-shell .ff-el-form-check-label { color: #2d3a4f; font-size: 15px; font-weight: 650; line-height: 1.55; }
.aimme-fluentform-shell .ff-el-form-control {
  min-height: 52px;
  border-color: #dce3ed;
  border-radius: 13px;
  color: #172033;
  background: #fbfcfe;
  font-size: 16px;
  box-shadow: none;
}
.aimme-fluentform-shell textarea.ff-el-form-control { min-height: 116px; line-height: 1.65; }
.aimme-fluentform-shell .ff-el-form-control:focus {
  border-color: #73a4f4;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(66,133,244,.11);
}
.aimme-fluentform-shell .ff-btn-submit {
  min-height: 52px;
  padding: 0 24px;
  border: 0;
  border-radius: 14px;
  color: #fff;
  background: #4285f4;
  font-size: 16px;
  font-weight: 750;
  box-shadow: 0 10px 24px rgba(66,133,244,.22);
}
.aimme-fluentform-shell .ff-btn-submit:hover { background: #2f73e4; transform: translateY(-1px); }
.aimme-fluentform-shell .ff-el-help-message { font-size: 13px; line-height: 1.55; }

/* Growth history readability. */
.aimme-growth-identity p,
.aimme-growth-score em,
.aimme-growth-score small,
.aimme-growth-latest-grid small { font-size: 13px; }
.aimme-growth-label { font-size: 15px; }
.aimme-choice-grid span { min-height: 52px; font-size: 14px; }
.aimme-field-error { font-size: 13px; }
.aimme-growth-progress span { font-size: 12px; }
.aimme-growth-timeline summary em,
.aimme-history-detail p { font-size: 13px; }
.aimme-leader-types button strong { font-size: 15px; }
.aimme-leader-types button small { font-size: 12px; }

@media (max-width: 1080px) {
  .aimme-login-stage { grid-template-columns: minmax(0, .96fr) minmax(410px, 1.04fr); }
  .aimme-login-story { padding: 38px; }
  .aimme-login-world { transform: scale(.9); transform-origin: left center; }
  .aimme-hub-layout { grid-template-columns: 250px minmax(0,1fr); }
  .aimme-hub-topbar { padding: 0 25px; }
  .aimme-hub-content { padding: 30px 25px 72px; }
}

@media (max-width: 820px) {
  .aimme-login-page { padding: 0; background: #fff; }
  .aimme-login-stage { min-height: 100vh; grid-template-columns: 1fr; border: 0; border-radius: 0; box-shadow: none; }
  .aimme-login-story {
    min-height: 320px;
    padding: 27px 25px 22px;
    justify-content: flex-start;
    border-radius: 0 0 34px 34px;
  }
  .aimme-login-story-copy { display: grid; grid-template-columns: minmax(0,1fr) 190px; align-items: center; gap: 10px; max-width: none; margin: 35px 0 0; }
  .aimme-login-story h1 { margin: 8px 0 10px; font-size: clamp(35px, 8vw, 48px); }
  .aimme-login-story-copy > p { font-size: 15px; }
  .aimme-login-world { grid-column: 2; grid-row: 1 / span 4; width: 190px; height: 155px; margin: 0; transform: scale(.62); transform-origin: center; }
  .aimme-login-benefits { grid-column: 1; margin-top: 16px; }
  .aimme-login-privacy { display: none; }
  .aimme-login-workspace { align-items: start; padding: 38px 24px 54px; }
  .aimme-login-mobile-brand { display: none; }
  .aimme-context-action span { display: none; }
  .aimme-context-action { width: 46px; padding: 0; }
}

@media (max-width: 600px) {
  .aimme-login-story { min-height: 285px; padding: 22px 20px; border-radius: 0 0 28px 28px; }
  .aimme-login-brand .aimme-brand-mark { width: 39px; height: 39px; }
  .aimme-login-brand strong { font-size: 20px; }
  .aimme-login-story-copy { grid-template-columns: minmax(0,1fr) 125px; margin-top: 26px; }
  .aimme-login-story h1 { font-size: 35px; }
  .aimme-login-story-copy > p { display: none; }
  .aimme-login-kicker { font-size: 11px; }
  .aimme-login-world { width: 150px; height: 125px; transform: scale(.48); transform-origin: center; }
  .aimme-login-benefits { gap: 6px; margin-top: 10px; }
  .aimme-login-benefits span { padding: 7px 9px; }
  .aimme-login-benefits b { font-size: 12px; }
  .aimme-login-workspace { padding: 33px 20px 48px; }
  .aimme-login-step h2 { font-size: 32px; }
  .aimme-login-step > p { font-size: 15px; }
  .aimme-field-large input { height: 58px; font-size: 16px; }
  .aimme-otp-group { gap: 6px; }
  .aimme-otp-group input { border-radius: 11px; font-size: 23px; }
  .aimme-hub-topbar { padding: 0 15px; }
  .aimme-hub-topbar-title strong { font-size: 18px; }
  .aimme-hub-content { padding: 22px 15px 88px; }
  .aimme-context-action { display: none; }
  .aimme-account-button,
  .aimme-context-header-button { min-height: 44px; padding: 7px 13px; font-size: 14px; }
  .aimme-context-header-button.is-logged-in > span { display: none; }
  .aimme-context-header-button.is-logged-in .aimme-icon { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .aimme-world-chip { animation: none; }
}

/* ========================================================================
 * AIMinedu Member Pro 1.70 — authoritative compact login and Fluent-first UI
 * ====================================================================== */
.aimme-login-page,
.aimme-member-hub {
  font-family: "Google Sans Text", "Google Sans", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

/* Compact one-screen login. These selectors intentionally outrank Kadence. */
.aimme-login-page {
  min-height: 0 !important;
  padding: 12px !important;
  display: grid !important;
  place-items: center !important;
  background: radial-gradient(circle at 9% 6%, rgba(66,133,244,.10), transparent 30%), #f7f9fc !important;
}
.aimme-login-page .aimme-login-stage {
  width: min(1080px, 100%) !important;
  height: min(620px, calc(100svh - 24px)) !important;
  min-height: 540px !important;
  margin: 0 auto !important;
  grid-template-columns: minmax(0, .92fr) minmax(390px, .78fr) !important;
  border-radius: 26px !important;
  box-shadow: 0 22px 70px rgba(35, 55, 90, .12) !important;
}
.aimme-login-page .aimme-login-story {
  min-height: 0 !important;
  height: 100% !important;
  padding: 30px 38px !important;
  justify-content: flex-start !important;
}
.aimme-login-page .aimme-login-story-copy {
  max-width: 500px !important;
  margin: auto 0 !important;
}
.aimme-login-page .aimme-login-story h1 {
  margin: 14px 0 18px !important;
  font-size: clamp(39px, 4.3vw, 58px) !important;
  line-height: 1.12 !important;
}
.aimme-login-page .aimme-login-story-copy > p {
  max-width: 470px !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}
.aimme-login-page .aimme-login-benefits { margin-top: 24px !important; }
.aimme-login-page .aimme-login-benefits span { padding: 9px 13px !important; }
.aimme-login-page .aimme-login-workspace {
  min-width: 0 !important;
  padding: 28px 42px !important;
  align-content: center !important;
  background: #fff !important;
}
.aimme-login-page .aimme-login-card { width: min(390px, 100%) !important; }
.aimme-login-page .aimme-login-step h2 {
  margin: 9px 0 7px !important;
  font-size: clamp(29px, 3vw, 36px) !important;
  line-height: 1.18 !important;
}
.aimme-login-page .aimme-login-step > p {
  margin: 0 0 20px !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}
.aimme-login-page .aimme-field { gap: 7px !important; }
.aimme-login-page .aimme-field > span { font-size: 14px !important; }
.aimme-login-page .aimme-field small { font-size: 12px !important; }
.aimme-login-page .aimme-field-control {
  position: relative !important;
  display: block !important;
  width: 100% !important;
}
.aimme-login-page .aimme-field-control > svg.aimme-icon,
.aimme-login-page .aimme-field-control > .aimme-icon {
  position: absolute !important;
  z-index: 3 !important;
  top: 50% !important;
  left: 16px !important;
  width: 19px !important;
  height: 19px !important;
  margin: 0 !important;
  color: #7c8798 !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}
.aimme-login-page .aimme-field-control input,
.aimme-login-page .aimme-field-control input[type="email"],
.aimme-login-page .aimme-field-control input[type="password"] {
  display: block !important;
  width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 15px 0 50px !important;
  border: 1px solid #d7dee8 !important;
  border-radius: 14px !important;
  color: #172033 !important;
  background: #fff !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
  text-indent: 0 !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.aimme-login-page .aimme-field-control input::placeholder {
  color: #8a95a6 !important;
  opacity: 1 !important;
}
.aimme-login-page .aimme-field-control input:focus {
  border-color: #4285f4 !important;
  box-shadow: 0 0 0 4px rgba(66,133,244,.12) !important;
}
.aimme-login-page .aimme-field-control .aimme-reveal-input {
  position: absolute !important;
  z-index: 4 !important;
  top: 50% !important;
  right: 7px !important;
  transform: translateY(-50%) !important;
}
.aimme-login-page button.aimme-hub-primary-button,
.aimme-login-page .aimme-hub-primary-button.is-wide {
  width: 100% !important;
  min-height: 52px !important;
  margin-top: 17px !important;
  padding: 0 20px !important;
  border: 1px solid #4285f4 !important;
  border-radius: 14px !important;
  color: #fff !important;
  background: #4285f4 !important;
  opacity: 1 !important;
  box-shadow: 0 9px 22px rgba(66,133,244,.22) !important;
  font-size: 16px !important;
  text-decoration: none !important;
}
.aimme-login-page button.aimme-hub-primary-button:hover,
.aimme-login-page button.aimme-hub-primary-button:focus,
.aimme-login-page .aimme-hub-primary-button.is-wide:hover,
.aimme-login-page .aimme-hub-primary-button.is-wide:focus {
  border-color: #1a73e8 !important;
  color: #fff !important;
  background: #1a73e8 !important;
  opacity: 1 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 12px 28px rgba(26,115,232,.25) !important;
}
.aimme-login-page button.aimme-hub-primary-button:disabled {
  border-color: #9bbcf2 !important;
  background: #9bbcf2 !important;
  opacity: 1 !important;
  transform: none !important;
  cursor: wait !important;
}
.aimme-login-page button.aimme-password-entry {
  display: flex !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 10px 0 0 !important;
  padding: 8px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  color: #5e6c80 !important;
  background: transparent !important;
  opacity: 1 !important;
  box-shadow: none !important;
  font-size: 13px !important;
}
.aimme-login-page button.aimme-password-entry:hover,
.aimme-login-page button.aimme-password-entry:focus {
  border-color: #d9e6fb !important;
  color: #1769d2 !important;
  background: #f2f7ff !important;
  opacity: 1 !important;
  transform: none !important;
  box-shadow: none !important;
}
.aimme-login-page .aimme-login-account-note {
  margin: 18px 0 0 !important;
  padding-top: 14px !important;
  border-top: 1px solid #edf1f6 !important;
  color: #8993a3 !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  text-align: center !important;
}
.aimme-login-page .aimme-login-back { margin-bottom: 18px !important; }
.aimme-login-page .aimme-otp-group { gap: 7px !important; }
.aimme-login-page .aimme-otp-group input {
  min-height: 52px !important;
  aspect-ratio: auto !important;
  font-size: 23px !important;
}
.aimme-login-page .aimme-resend-row { margin-top: 12px !important; }

/* Premium personalized Fluent Forms layout. */
.aimme-growth-form-card { overflow: visible; }
.aimme-fluentform-shell {
  padding: clamp(18px, 2.6vw, 30px) !important;
  border-radius: 22px !important;
}
.aimme-fluentform-shell .aimme-ff-section-wrap,
.aimme-fluentform-shell .ff-el-section-break {
  margin: 34px 0 20px !important;
  padding: 18px 20px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #f3f7ff, #fbfdff) !important;
}
.aimme-fluentform-shell .aimme-ff-section-wrap:first-child,
.aimme-fluentform-shell .ff-el-section-break:first-child { margin-top: 0 !important; }
.aimme-fluentform-shell .ff-el-section-title,
.aimme-fluentform-shell .ff-el-section-break h3 {
  margin: 0 0 5px !important;
  color: #1f2d42 !important;
  font-size: 21px !important;
  line-height: 1.3 !important;
}
.aimme-fluentform-shell .ff-el-section-break p { margin: 0 !important; color: #68788f !important; }
.aimme-fluentform-shell .ff-el-group { margin-bottom: 23px !important; }
.aimme-fluentform-shell .aimme-learning-choice { margin-bottom: 28px !important; }
.aimme-fluentform-shell .aimme-learning-choice .ff-el-input--label label {
  display: block !important;
  margin-bottom: 12px !important;
  color: #1f2d42 !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}
.aimme-fluentform-shell .aimme-learning-choice .ff-el-form-check {
  position: relative !important;
  display: block !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
}
.aimme-fluentform-shell .aimme-learning-choice .ff-el-form-check-label {
  display: flex !important;
  align-items: center !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 12px 15px 12px 46px !important;
  border: 1px solid #dfe6ef !important;
  border-radius: 14px !important;
  color: #425067 !important;
  background: #fff !important;
  font-size: 15px !important;
  font-weight: 550 !important;
  cursor: pointer !important;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease !important;
}
.aimme-fluentform-shell .aimme-learning-choice .ff-el-form-check-input {
  position: absolute !important;
  z-index: 2 !important;
  top: 50% !important;
  left: 17px !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
}
.aimme-fluentform-shell .aimme-learning-choice .ff-el-form-check-input:checked + .ff-el-form-check-label,
.aimme-fluentform-shell .aimme-learning-choice .ff-el-form-check:has(.ff-el-form-check-input:checked) .ff-el-form-check-label {
  border-color: #73a4f4 !important;
  color: #175fbe !important;
  background: #f2f7ff !important;
  box-shadow: 0 0 0 3px rgba(66,133,244,.08) !important;
}
.aimme-fluentform-shell .ff-btn-submit {
  color: #fff !important;
  background: #4285f4 !important;
}
.aimme-fluentform-shell .ff-btn-submit:hover,
.aimme-fluentform-shell .ff-btn-submit:focus {
  color: #fff !important;
  background: #1a73e8 !important;
}
.aimme-personal-learning-intro,
.aimme-learning-recommendation {
  border-color: #d9e7fb !important;
  background: linear-gradient(135deg, #f4f8ff, #fff) !important;
}

@media (min-width: 821px) and (max-height: 610px) {
  .aimme-login-page .aimme-login-stage { height: calc(100svh - 16px) !important; min-height: 500px !important; }
  .aimme-login-page { padding: 8px !important; }
  .aimme-login-page .aimme-login-story { padding: 23px 30px !important; }
  .aimme-login-page .aimme-login-brand .aimme-brand-mark { width: 38px !important; height: 38px !important; }
  .aimme-login-page .aimme-login-story h1 { font-size: 42px !important; }
  .aimme-login-page .aimme-login-story-copy > p { font-size: 14px !important; }
  .aimme-login-page .aimme-login-workspace { padding: 20px 35px !important; }
  .aimme-login-page .aimme-login-step h2 { font-size: 29px !important; }
}

@media (max-width: 820px) {
  .aimme-login-page { padding: 0 !important; place-items: start stretch !important; background: #fff !important; }
  .aimme-login-page .aimme-login-stage {
    width: 100% !important;
    height: auto !important;
    min-height: 100svh !important;
    grid-template-columns: 1fr !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .aimme-login-page .aimme-login-story {
    min-height: 178px !important;
    height: auto !important;
    padding: 22px 24px !important;
    border-radius: 0 0 26px 26px !important;
  }
  .aimme-login-page .aimme-login-story-copy {
    margin: 24px 0 0 !important;
    display: block !important;
  }
  .aimme-login-page .aimme-login-story h1 { margin: 7px 0 8px !important; font-size: 34px !important; }
  .aimme-login-page .aimme-login-story-copy > p { display: none !important; }
  .aimme-login-page .aimme-login-benefits { margin-top: 13px !important; }
  .aimme-login-page .aimme-login-workspace { padding: 28px 22px 38px !important; }
  .aimme-login-page .aimme-login-card { width: min(430px, 100%) !important; }
}

@media (max-width: 520px) {
  .aimme-login-page .aimme-login-story { min-height: 155px !important; padding: 18px 19px !important; }
  .aimme-login-page .aimme-login-brand small { display: none !important; }
  .aimme-login-page .aimme-login-story-copy { margin-top: 18px !important; }
  .aimme-login-page .aimme-login-story h1 { font-size: 30px !important; }
  .aimme-login-page .aimme-login-benefits span { padding: 6px 9px !important; }
  .aimme-login-page .aimme-login-benefits b { font-size: 11px !important; }
  .aimme-login-page .aimme-login-workspace { padding: 25px 18px 34px !important; }
  .aimme-login-page .aimme-login-step h2 { font-size: 29px !important; }
  .aimme-fluentform-shell { padding: 16px !important; }
  .aimme-fluentform-shell .aimme-learning-choice .ff-el-form-check-label { padding-left: 43px !important; font-size: 14px !important; }
}

/* ========================================================================
 * AIMinedu Member Pro 1.70 final login fixes
 * ====================================================================== */
body.aimme-login-managed-page {
  overflow-x: hidden !important;
  background: #f7f9fc !important;
}
body.aimme-login-managed-page #masthead,
body.aimme-login-managed-page .site-header,
body.aimme-login-managed-page header.site-header,
body.aimme-login-managed-page #colophon,
body.aimme-login-managed-page .site-footer,
body.aimme-login-managed-page footer.site-footer,
body.aimme-login-managed-page .site-top-header-wrap,
body.aimme-login-managed-page .site-bottom-header-wrap {
  display: none !important;
}
body.aimme-login-managed-page .aimme-page-canvas,
body.aimme-login-managed-page .aimme-page-content,
body.aimme-login-managed-page .content-area,
body.aimme-login-managed-page .site-main,
body.aimme-login-managed-page .entry-content,
body.aimme-login-managed-page article,
body.aimme-login-managed-page .site-container,
body.aimme-login-managed-page .content-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.aimme-login-managed-page .aimme-page-content {
  min-height: 100svh !important;
}
.aimme-login-page {
  width: 100% !important;
  min-height: 100svh !important;
  box-sizing: border-box !important;
  padding: 10px !important;
}
.aimme-login-page .aimme-login-stage {
  width: min(1040px, 100%) !important;
  height: min(560px, calc(100svh - 20px)) !important;
  min-height: 500px !important;
  max-height: 560px !important;
  grid-template-columns: minmax(0, .9fr) minmax(360px, .72fr) !important;
  overflow: hidden !important;
  border: 1px solid rgba(218,220,224,.9) !important;
  border-radius: 24px !important;
}
.aimme-login-page .aimme-login-story {
  padding: 26px 34px !important;
}
.aimme-login-page .aimme-login-story-copy {
  margin: auto 0 !important;
}
.aimme-login-page .aimme-login-story h1 {
  margin: 10px 0 14px !important;
  font-size: clamp(38px, 4.1vw, 52px) !important;
  line-height: 1.1 !important;
}
.aimme-login-page .aimme-login-story-copy > p {
  max-width: 430px !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}
.aimme-login-page .aimme-login-benefits {
  margin-top: 18px !important;
  gap: 8px !important;
}
.aimme-login-page .aimme-login-benefits span {
  min-height: 34px !important;
  padding: 7px 11px !important;
}
.aimme-login-page .aimme-login-workspace {
  padding: 24px 34px !important;
}
.aimme-login-page .aimme-login-card {
  width: min(360px, 100%) !important;
}
.aimme-login-page .aimme-login-step h2 {
  margin: 0 0 7px !important;
  font-size: clamp(28px, 2.6vw, 34px) !important;
  line-height: 1.2 !important;
}
.aimme-login-page .aimme-login-step > p {
  margin: 0 0 17px !important;
  color: #667085 !important;
  font-size: 14px !important;
}
.aimme-login-page .aimme-field {
  gap: 6px !important;
}
.aimme-login-page .aimme-field-control-plain input,
.aimme-login-page .aimme-field-control-plain input[type="email"],
.aimme-login-page .aimme-field-control-plain input[type="password"] {
  height: 50px !important;
  min-height: 50px !important;
  padding: 0 15px !important;
  text-indent: 0 !important;
}
.aimme-login-page .aimme-field-control-plain.has-reveal input[type="password"] {
  padding-right: 48px !important;
}
.aimme-login-page .aimme-field-control-plain > svg.aimme-icon,
.aimme-login-page .aimme-field-control-plain > .aimme-icon {
  display: none !important;
}
.aimme-login-page .aimme-field-control input:-webkit-autofill,
.aimme-login-page .aimme-field-control input:-webkit-autofill:hover,
.aimme-login-page .aimme-field-control input:-webkit-autofill:focus {
  -webkit-text-fill-color: #172033 !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  transition: background-color 9999s ease-out 0s !important;
}
.aimme-login-page button.aimme-hub-primary-button,
.aimme-login-page .aimme-hub-primary-button.is-wide {
  min-height: 50px !important;
  margin-top: 14px !important;
  border-radius: 13px !important;
  background: #4285f4 !important;
  background-image: none !important;
  color: #fff !important;
  filter: none !important;
}
.aimme-login-page button.aimme-hub-primary-button:hover,
.aimme-login-page button.aimme-hub-primary-button:focus-visible,
.aimme-login-page .aimme-hub-primary-button.is-wide:hover,
.aimme-login-page .aimme-hub-primary-button.is-wide:focus-visible {
  background: #1a73e8 !important;
  background-image: none !important;
  color: #fff !important;
  filter: none !important;
}
.aimme-login-page button.aimme-password-entry {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 5px !important;
  width: auto !important;
  min-height: 0 !important;
  margin: 13px auto 0 !important;
  padding: 4px 2px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #5f6b7a !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  filter: none !important;
}
.aimme-login-page button.aimme-password-entry:hover,
.aimme-login-page button.aimme-password-entry:focus-visible {
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #1a73e8 !important;
  text-decoration: underline !important;
  transform: none !important;
  filter: none !important;
}
.aimme-login-page .aimme-login-account-note {
  margin: 14px 0 0 !important;
  padding-top: 12px !important;
  font-size: 11px !important;
}
.aimme-login-page .aimme-otp-group input {
  height: 50px !important;
  min-height: 50px !important;
}

@media (min-width: 821px) and (max-height: 540px) {
  .aimme-login-page .aimme-login-stage {
    height: calc(100svh - 12px) !important;
    min-height: 460px !important;
    max-height: none !important;
  }
  .aimme-login-page { padding: 6px !important; }
  .aimme-login-page .aimme-login-story { padding: 18px 26px !important; }
  .aimme-login-page .aimme-login-story h1 { font-size: 38px !important; }
  .aimme-login-page .aimme-login-story-copy > p { font-size: 13px !important; }
  .aimme-login-page .aimme-login-benefits { margin-top: 12px !important; }
  .aimme-login-page .aimme-login-workspace { padding: 16px 28px !important; }
  .aimme-login-page .aimme-login-step h2 { font-size: 27px !important; }
  .aimme-login-page .aimme-login-step > p { margin-bottom: 12px !important; }
  .aimme-login-page .aimme-login-account-note { margin-top: 9px !important; padding-top: 8px !important; }
}

@media (max-width: 820px) {
  body.aimme-login-managed-page { overflow-y: auto !important; }
  .aimme-login-page {
    min-height: 100svh !important;
    padding: 0 !important;
    background: #fff !important;
  }
  .aimme-login-page .aimme-login-stage {
    width: 100% !important;
    height: auto !important;
    min-height: 100svh !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  .aimme-login-page .aimme-login-story {
    min-height: 142px !important;
    padding: 18px 20px !important;
    border-radius: 0 0 24px 24px !important;
  }
  .aimme-login-page .aimme-login-story-copy { margin: 16px 0 0 !important; }
  .aimme-login-page .aimme-login-story h1 { margin: 5px 0 0 !important; font-size: 29px !important; }
  .aimme-login-page .aimme-login-story-copy > p,
  .aimme-login-page .aimme-login-benefits { display: none !important; }
  .aimme-login-page .aimme-login-workspace { padding: 24px 18px 32px !important; }
  .aimme-login-page .aimme-login-card { width: min(420px, 100%) !important; }
}

/* ========================================================================
 * AIMinedu Member Pro 1.80: visible Kadence header, real logo and specialised
 * leader forms. These rules intentionally override earlier managed-page rules.
 * ====================================================================== */
body.aimme-login-managed-page #masthead,
body.aimme-login-managed-page .site-header,
body.aimme-login-managed-page header.site-header,
body.aimme-login-managed-page .site-top-header-wrap,
body.aimme-login-managed-page .site-bottom-header-wrap {
  display: block !important;
}
body.aimme-login-managed-page #colophon,
body.aimme-login-managed-page .site-footer,
body.aimme-login-managed-page footer.site-footer {
  display: none !important;
}
body.aimme-login-managed-page .aimme-page-content {
  min-height: calc(100svh - 92px) !important;
}
body.aimme-login-managed-page .aimme-login-page {
  min-height: calc(100svh - 92px) !important;
  padding: 12px 16px !important;
}
body.aimme-login-managed-page .aimme-login-stage {
  height: min(528px, calc(100svh - 116px)) !important;
  min-height: 456px !important;
  max-height: 528px !important;
}
.aimme-login-brand .aimme-brand-logo-image,
.aimme-login-mobile-brand .aimme-brand-logo-image {
  display: block !important;
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px !important;
  border: 0 !important;
  border-radius: 11px !important;
  object-fit: contain !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 8px 24px rgba(15,49,113,.17) !important;
}
.aimme-login-mobile-brand .aimme-brand-logo-image {
  width: 38px !important;
  height: 38px !important;
  flex-basis: 38px !important;
  border-radius: 9px !important;
}
.aimme-login-page button.aimme-hub-primary-button:hover,
.aimme-login-page button.aimme-hub-primary-button:focus-visible,
.aimme-login-page .aimme-hub-primary-button:hover,
.aimme-login-page .aimme-hub-primary-button:focus-visible,
.aimme-login-page .aimme-hub-primary-button:hover span,
.aimme-login-page .aimme-hub-primary-button:focus-visible span,
.aimme-login-page .aimme-hub-primary-button:hover svg,
.aimme-login-page .aimme-hub-primary-button:focus-visible svg {
  color: #fff !important;
  fill: none !important;
}
.aimme-login-page button.aimme-password-entry,
.aimme-login-page button.aimme-hub-text-link {
  min-height: 38px !important;
  padding: 8px 13px !important;
  border: 1px solid #d8e6ff !important;
  border-radius: 12px !important;
  background: #f3f7ff !important;
  color: #1a73e8 !important;
  text-decoration: none !important;
  transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}
.aimme-login-page button.aimme-password-entry:hover,
.aimme-login-page button.aimme-password-entry:focus-visible,
.aimme-login-page button.aimme-hub-text-link:hover,
.aimme-login-page button.aimme-hub-text-link:focus-visible {
  border-color: #1a73e8 !important;
  background: #1a73e8 !important;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 8px 20px rgba(26,115,232,.20) !important;
}
.aimme-login-page button.aimme-password-entry:hover span,
.aimme-login-page button.aimme-password-entry:focus-visible span,
.aimme-login-page button.aimme-password-entry:hover svg,
.aimme-login-page button.aimme-password-entry:focus-visible svg,
.aimme-login-page button.aimme-hub-text-link:hover span,
.aimme-login-page button.aimme-hub-text-link:focus-visible span,
.aimme-login-page button.aimme-hub-text-link:hover svg,
.aimme-login-page button.aimme-hub-text-link:focus-visible svg {
  color: #fff !important;
  stroke: currentColor !important;
}
.aimme-specialized-leader-forms {
  margin-top: 22px;
}
.aimme-specialized-leader-form[hidden] {
  display: none !important;
}
.aimme-specialized-leader-form {
  animation: aimmePanelIn .22s ease both;
}
.aimme-specialized-leader-heading {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  margin-bottom: 14px;
  padding: 18px 20px;
  border: 1px solid #e0e7f2;
  border-radius: 18px;
  background: linear-gradient(135deg,#f8fbff,#fff);
}
.aimme-specialized-leader-heading > span {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  flex: 0 0 46px;
  border-radius: 14px;
  background: #e8f0fe;
  color: #1a73e8;
}
.aimme-specialized-leader-heading small {
  display: block;
  margin-bottom: 4px;
  color: #4285f4;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .12em;
}
.aimme-specialized-leader-heading h2 {
  margin: 0 0 5px;
  color: #1f2937;
  font-size: 23px;
  line-height: 1.25;
}
.aimme-specialized-leader-heading p {
  margin: 0;
  color: #667085;
  font-size: 15px;
  line-height: 1.65;
}
.aimme-specialized-leader-form .aimme-fluentform-shell .ff-el-form-check-label {
  min-height: 54px;
}

@media (min-width: 821px) and (max-height: 650px) {
  body.aimme-login-managed-page .aimme-login-page { padding: 7px 14px !important; }
  body.aimme-login-managed-page .aimme-login-stage {
    height: calc(100svh - 102px) !important;
    min-height: 438px !important;
    max-height: none !important;
  }
  .aimme-login-page .aimme-login-story { padding-top: 19px !important; padding-bottom: 19px !important; }
  .aimme-login-page .aimme-login-story h1 { font-size: 37px !important; }
  .aimme-login-page .aimme-login-story-copy > p { font-size: 13px !important; line-height: 1.5 !important; }
  .aimme-login-page .aimme-login-benefits { margin-top: 10px !important; }
  .aimme-login-page .aimme-login-workspace { padding-top: 14px !important; padding-bottom: 14px !important; }
}

@media (max-width: 820px) {
  body.aimme-login-managed-page .aimme-page-content,
  body.aimme-login-managed-page .aimme-login-page {
    min-height: calc(100svh - 72px) !important;
  }
  body.aimme-login-managed-page .aimme-login-stage {
    min-height: calc(100svh - 72px) !important;
  }
  .aimme-specialized-leader-heading { padding: 16px; }
  .aimme-specialized-leader-heading h2 { font-size: 20px; }
}
.aimme-hub-brand .aimme-brand-logo-image {
  display: block;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  object-fit: contain;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(66,133,244,.16);
}

/* ========================================================================
 * AIMinedu Member Pro 1.90: adaptive profile + compact Fluent Forms controls
 * ====================================================================== */
.aimme-login-page .aimme-login-back {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 38px !important;
  padding: 7px 12px !important;
  border: 1px solid #d7e5fb !important;
  border-radius: 999px !important;
  color: #1769d2 !important;
  background: #f3f7ff !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.aimme-login-page .aimme-login-back:hover,
.aimme-login-page .aimme-login-back:focus-visible,
.aimme-login-page .aimme-login-back:hover span,
.aimme-login-page .aimme-login-back:focus-visible span,
.aimme-login-page .aimme-login-back:hover svg,
.aimme-login-page .aimme-login-back:focus-visible svg {
  border-color: #1a73e8 !important;
  color: #fff !important;
  background: #1a73e8 !important;
  stroke: currentColor !important;
  fill: none !important;
}

.aimme-fluentform-shell {
  --aimme-form-blue: #4285f4;
  --aimme-form-text: #243247;
  --aimme-form-muted: #68768b;
  --aimme-form-line: #dfe5ed;
  --aimme-form-soft: #f7f9fc;
  font-size: 15px !important;
}
.aimme-fluentform-shell .aimme-adaptive-hidden,
.aimme-fluentform-shell [hidden] {
  display: none !important;
}
.aimme-fluentform-shell .ff-el-group {
  position: relative !important;
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}
.aimme-fluentform-shell .aimme-question-card {
  padding: 18px 19px !important;
  border: 1px solid var(--aimme-form-line) !important;
  border-radius: 17px !important;
  background: #fff !important;
  box-shadow: 0 5px 18px rgba(31,45,66,.045) !important;
}
.aimme-fluentform-shell .aimme-question-card:hover {
  border-color: #c9d8ed !important;
  box-shadow: 0 8px 24px rgba(31,45,66,.065) !important;
}
.aimme-fluentform-shell .aimme-question-card .ff-el-input--label {
  margin: 0 0 11px !important;
}
.aimme-fluentform-shell .aimme-question-card .ff-el-input--label label {
  display: block !important;
  margin: 0 !important;
  color: var(--aimme-form-text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.48 !important;
  letter-spacing: 0 !important;
}
.aimme-fluentform-shell .aimme-question-card .ff-el-input--label .ff-el-form-check-label,
.aimme-fluentform-shell .aimme-question-card .ff-el-input--label span {
  font-size: inherit !important;
}
.aimme-fluentform-shell .ff-el-help-message,
.aimme-fluentform-shell .text-muted {
  color: var(--aimme-form-muted) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

/* Reset Kadence/theme checkable controls to a predictable 18px size. */
.aimme-fluentform-shell .ff-el-form-check {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}
.aimme-fluentform-shell .ff-el-form-check-label {
  position: relative !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 11px !important;
  width: 100% !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 11px 13px !important;
  border: 1px solid #e1e6ed !important;
  border-radius: 13px !important;
  color: #344258 !important;
  background: #fbfcfe !important;
  font-size: 14px !important;
  font-weight: 550 !important;
  line-height: 1.5 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease, transform .15s ease !important;
}
.aimme-fluentform-shell .ff-el-form-check-label:hover {
  border-color: #a9c7f5 !important;
  background: #f5f9ff !important;
}
.aimme-fluentform-shell input.ff-el-form-check-input[type="radio"],
.aimme-fluentform-shell input.ff-el-form-check-input[type="checkbox"],
.aimme-fluentform-shell input[type="radio"],
.aimme-fluentform-shell input[type="checkbox"] {
  position: static !important;
  inset: auto !important;
  display: inline-grid !important;
  place-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  flex: 0 0 18px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  border: 1.7px solid #9aa6b5 !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
  opacity: 1 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  box-sizing: border-box !important;
}
.aimme-fluentform-shell input[type="radio"] { border-radius: 50% !important; }
.aimme-fluentform-shell input[type="checkbox"] { border-radius: 5px !important; }
.aimme-fluentform-shell input[type="radio"]:checked {
  border: 5px solid var(--aimme-form-blue) !important;
  background: #fff !important;
}
.aimme-fluentform-shell input[type="checkbox"]:checked {
  border-color: var(--aimme-form-blue) !important;
  background: var(--aimme-form-blue) !important;
}
.aimme-fluentform-shell input[type="checkbox"]:checked::after {
  content: "" !important;
  display: block !important;
  width: 8px !important;
  height: 4px !important;
  border: solid #fff !important;
  border-width: 0 0 2px 2px !important;
  transform: rotate(-45deg) translate(1px,-1px) !important;
}
.aimme-fluentform-shell .ff-el-form-check-label:has(input:checked) {
  border-color: #78a7f2 !important;
  color: #155fbd !important;
  background: #f2f7ff !important;
  box-shadow: 0 0 0 3px rgba(66,133,244,.075) !important;
}

.aimme-fluentform-shell .aimme-choice-grid .ff-el-input--content,
.aimme-fluentform-shell .aimme-choice-compact .ff-el-input--content {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}
.aimme-fluentform-shell .aimme-choice-grid .ff-el-form-check,
.aimme-fluentform-shell .aimme-choice-compact .ff-el-form-check {
  margin: 0 !important;
}
.aimme-fluentform-shell .aimme-choice-grid .ff-el-form-check-label,
.aimme-fluentform-shell .aimme-choice-compact .ff-el-form-check-label {
  height: 100% !important;
}
.aimme-fluentform-shell select.ff-el-form-control,
.aimme-fluentform-shell input.ff-el-form-control:not([type="radio"]):not([type="checkbox"]),
.aimme-fluentform-shell textarea.ff-el-form-control {
  width: 100% !important;
  min-height: 48px !important;
  padding: 10px 13px !important;
  border: 1px solid #d8dfe8 !important;
  border-radius: 12px !important;
  color: #243247 !important;
  background: #fbfcfe !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
}
.aimme-fluentform-shell select.ff-el-form-control:focus,
.aimme-fluentform-shell input.ff-el-form-control:focus,
.aimme-fluentform-shell textarea.ff-el-form-control:focus {
  border-color: var(--aimme-form-blue) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(66,133,244,.10) !important;
}

.aimme-fluentform-shell .ff-el-section-break,
.aimme-fluentform-shell .aimme-ff-section-wrap {
  position: relative !important;
  margin: 28px 0 14px !important;
  padding: 15px 17px 15px 20px !important;
  border: 0 !important;
  border-left: 4px solid #4285f4 !important;
  border-radius: 0 14px 14px 0 !important;
  background: #f5f8fd !important;
  box-shadow: none !important;
}
.aimme-fluentform-shell .aimme-ff-section-baseline { border-left-color: #4285f4 !important; background: #f3f7ff !important; }
.aimme-fluentform-shell .aimme-ff-section-personalized { border-left-color: #f9ab00 !important; background: #fff9eb !important; }
.aimme-fluentform-shell .aimme-ff-section-english_foundation { border-left-color: #34a853 !important; background: #f1faf4 !important; }
.aimme-fluentform-shell .aimme-ff-section-english_interaction { border-left-color: #4285f4 !important; background: #f3f7ff !important; }
.aimme-fluentform-shell .aimme-ff-section-english_advanced { border-left-color: #a142f4 !important; background: #faf5ff !important; }
.aimme-fluentform-shell .aimme-ff-section-minecraft_core,
.aimme-fluentform-shell .aimme-ff-section-minecraft_tracks { border-left-color: #0f9d8a !important; background: #effaf8 !important; }
.aimme-fluentform-shell .aimme-ff-section-growth { border-left-color: #ea4335 !important; background: #fff5f3 !important; }
.aimme-fluentform-shell .ff-el-section-title,
.aimme-fluentform-shell .ff-el-section-break h3 {
  margin: 0 0 3px !important;
  color: #243247 !important;
  font-size: 19px !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
}
.aimme-fluentform-shell .ff-el-section-break p {
  color: #68768b !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}

.aimme-smart-survey-banner {
  display: grid !important;
  grid-template-columns: 40px minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 13px !important;
  margin: 0 0 22px !important;
  padding: 14px 16px !important;
  border: 1px solid #d9e6fb !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg,#f2f7ff,#fff) !important;
}
.aimme-smart-survey-icon {
  display: grid !important;
  width: 40px !important;
  height: 40px !important;
  place-items: center !important;
  border-radius: 12px !important;
  color: #fff !important;
  background: #4285f4 !important;
  font-size: 19px !important;
}
.aimme-smart-survey-banner strong { display:block !important; color:#243247 !important; font-size:15px !important; }
.aimme-smart-survey-banner p { margin:3px 0 0 !important; color:#68768b !important; font-size:13px !important; line-height:1.5 !important; }
.aimme-smart-survey-banner em {
  padding: 6px 9px !important;
  border-radius: 999px !important;
  color: #1769d2 !important;
  background: #e8f0fe !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 750 !important;
  white-space: nowrap !important;
}
.aimme-fluentform-shell .aimme-smart-router {
  border-color: #bdd3f6 !important;
  background: linear-gradient(135deg,#fbfdff,#f6f9ff) !important;
}
.aimme-fluentform-shell .aimme-confirm-card { background: #f7fbf8 !important; }
.aimme-fluentform-shell .aimme-question-optional { background: #fcfcfd !important; }

@media (max-width: 720px) {
  .aimme-fluentform-shell { padding: 12px !important; }
  .aimme-fluentform-shell .aimme-question-card { padding: 15px !important; border-radius: 15px !important; }
  .aimme-fluentform-shell .aimme-choice-grid .ff-el-input--content,
  .aimme-fluentform-shell .aimme-choice-compact .ff-el-input--content { grid-template-columns: 1fr !important; }
  .aimme-smart-survey-banner { grid-template-columns: 36px minmax(0,1fr) !important; }
  .aimme-smart-survey-icon { width:36px !important; height:36px !important; }
  .aimme-smart-survey-banner em { grid-column: 2 !important; justify-self: start !important; }
}

/* 1.90 final specificity guard: Kadence must not recolor login return buttons. */
body.aimme-login-managed-page .aimme-login-page button.aimme-login-back:hover,
body.aimme-login-managed-page .aimme-login-page button.aimme-login-back:focus-visible {
  border-color: #1a73e8 !important;
  color: #fff !important;
  background-color: #1a73e8 !important;
  background-image: none !important;
}
body.aimme-login-managed-page .aimme-login-page button.aimme-login-back:hover *,
body.aimme-login-managed-page .aimme-login-page button.aimme-login-back:focus-visible * {
  color: #fff !important;
  stroke: #fff !important;
}

/* Override older premium-form selectors with equal/higher specificity. */
.aimme-fluentform-shell .aimme-learning-choice .ff-el-form-check-label,
.aimme-fluentform-shell .aimme-question-card .ff-el-form-check-label {
  align-items: flex-start !important;
  min-height: 46px !important;
  padding: 11px 13px !important;
}
.aimme-fluentform-shell .aimme-learning-choice input.ff-el-form-check-input,
.aimme-fluentform-shell .aimme-question-card input.ff-el-form-check-input {
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
}
.aimme-fluentform-shell .ff-el-form-check.is-aimme-selected .ff-el-form-check-label,
.aimme-fluentform-shell .ff-el-form-check-label.is-aimme-selected {
  border-color: #78a7f2 !important;
  color: #155fbd !important;
  background: #f2f7ff !important;
  box-shadow: 0 0 0 3px rgba(66,133,244,.075) !important;
}

/* Clear visual rhythm: one numbered question card at a time. */
.aimme-fluentform-shell .aimme-question-indexed {
  isolation: isolate !important;
}
.aimme-fluentform-shell .aimme-question-indexed::before {
  content: "Q" attr(data-aimme-question-number) !important;
  position: absolute !important;
  z-index: 2 !important;
  top: 13px !important;
  right: 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 23px !important;
  padding: 0 7px !important;
  border: 1px solid #dbe7f8 !important;
  border-radius: 999px !important;
  color: #4c6f9f !important;
  background: #f5f8fd !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: .06em !important;
  box-sizing: border-box !important;
}
.aimme-fluentform-shell .aimme-question-indexed .ff-el-input--label {
  padding-right: 48px !important;
}
.aimme-fluentform-shell .aimme-question-indexed.is-aimme-complete::before {
  content: "✓ " attr(data-aimme-question-number) !important;
  border-color: #ccebd7 !important;
  color: #18864b !important;
  background: #f0faf4 !important;
}
.aimme-fluentform-shell .aimme-question-indexed:focus-within {
  border-color: #9bbcf1 !important;
  box-shadow: 0 0 0 4px rgba(66,133,244,.08), 0 8px 24px rgba(31,45,66,.06) !important;
}
.aimme-fluentform-shell .aimme-smart-router::before {
  border-color: #c9dcfb !important;
  color: #1769d2 !important;
  background: #eaf2ff !important;
}

@media (max-width: 720px) {
  .aimme-fluentform-shell .aimme-question-indexed::before {
    top: 11px !important;
    right: 11px !important;
  }
  .aimme-fluentform-shell .aimme-question-indexed .ff-el-input--label {
    padding-right: 42px !important;
  }
}

.aimme-fluentform-shell .aimme-choice-stack .ff-el-input--content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
}
.aimme-fluentform-shell .aimme-choice-stack .ff-el-form-check {
  margin: 0 !important;
}
.aimme-fluentform-shell .aimme-choice-stack .ff-el-form-check-label {
  height: auto !important;
}

/* ========================================================================
 * AIMinedu Member Pro 2.0 — one Kadence header, one account identity
 * ======================================================================== */
.aimme-login-brand-text {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  color: #fff;
}
.aimme-login-brand-text strong { font-size: 22px; line-height: 1.1; letter-spacing: -.02em; }
.aimme-login-brand-text small { font-size: 10px; font-weight: 750; letter-spacing: .16em; opacity: .8; }
.aimme-login-mobile-brand { display: none; }

/* Kadence already supplies the public site identity. Member Pro now begins
   with the signed-in learner rather than repeating a second logo. */
.aimme-hub-sidebar-heading {
  display: grid;
  gap: 2px;
  min-height: 48px;
  padding: 4px 12px 12px;
  color: #1f2a3d;
}
.aimme-hub-sidebar-heading strong { font-size: 18px; line-height: 1.2; letter-spacing: -.02em; }
.aimme-hub-sidebar-heading small { color: #8a95a8; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.aimme-hub-brand { display: none !important; }

.aimme-profile-completion-link {
  display: grid !important;
  justify-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 22px !important;
  color: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer !important;
  text-align: center !important;
}
.aimme-profile-completion-link > small {
  max-width: 260px;
  color: #748095;
  font-size: 13px;
  line-height: 1.65;
}
.aimme-profile-completion-link:hover .aimme-profile-ring,
.aimme-profile-completion-link:focus-visible .aimme-profile-ring {
  transform: translateY(-2px);
  box-shadow: 0 16px 40px rgba(66,133,244,.16);
}
.aimme-profile-completion-link:hover > small,
.aimme-profile-completion-link:focus-visible > small { color: #2767d7; }
.aimme-profile-ring { transition: transform .2s ease, box-shadow .2s ease; }

/* Platform password login accepts either an email or a WordPress username. */
[data-login-step="password"] input[name="login"] { letter-spacing: 0; }

/* Keep the Member Pro bar contextual, not a competing public navigation bar. */
.aimme-hub-topbar {
  min-height: 72px;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
}
.aimme-hub-topbar-title small { color: #9aa4b4; font-size: 9px; letter-spacing: .18em; }
.aimme-hub-topbar-title strong { font-size: 19px; }

/* The static Kadence login button is upgraded by AIMME_Kadence on every page. */
.aimme-kadence-account-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
.aimme-kadence-account-link img {
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
}

@media (max-width: 820px) {
  .aimme-login-mobile-brand {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
  }
  .aimme-login-mobile-brand strong { font-size: 18px; }
  .aimme-login-mobile-brand small { color: #7b8698; font-size: 11px; }
  .aimme-hub-sidebar-heading { display: none; }
}


/* AIMinedu Member Pro 2.0 — Kadence is the single site header. */
.aimme-member-hub .aimme-hub-main { padding-top: 0; }
.aimme-member-hub .aimme-hub-content { padding-top: clamp(24px, 3vw, 38px); }
.aimme-member-hub .aimme-hub-topbar { display: none !important; }
@media (max-width: 980px) {
  .aimme-member-hub .aimme-hub-content { padding-top: 22px; }
}
@media (max-width: 680px) {
  .aimme-member-hub .aimme-hub-content { padding-top: 16px; }
}

/* v2.1 unified account menu, reset-password and learning operations */
.aimme-account-menu{position:relative;display:inline-flex;z-index:9998}.aimme-account-menu-trigger{border:0;cursor:pointer}.aimme-account-menu-trigger .aimme-icon{width:16px;height:16px;transition:transform .18s ease}.aimme-account-menu.is-open .aimme-account-menu-trigger>.aimme-icon{transform:rotate(180deg)}
.aimme-account-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:min(360px,calc(100vw - 24px));padding:10px;background:#fff;border:1px solid #e3eaf4;border-radius:20px;box-shadow:0 22px 60px rgba(23,32,51,.18);z-index:99999}.aimme-account-dropdown[hidden]{display:none!important}.aimme-account-dropdown header{display:flex;align-items:center;gap:12px;padding:12px 12px 14px}.aimme-account-dropdown header img{width:48px!important;height:48px!important;border-radius:50%;object-fit:cover;background:#f2f6fb}.aimme-account-dropdown header div{min-width:0}.aimme-account-dropdown header strong,.aimme-account-dropdown header small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aimme-account-dropdown header strong{font-size:16px;color:#172033}.aimme-account-dropdown header small{margin-top:3px;font-size:13px;color:#7b8798}.aimme-account-menu-item{display:grid!important;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:10px;min-height:44px;padding:8px 11px!important;border-radius:12px!important;color:#526174!important;text-decoration:none!important;font-size:14px!important;font-weight:650!important;background:transparent!important;box-shadow:none!important}.aimme-account-menu-item:hover,.aimme-account-menu-item:focus,.aimme-account-menu-item.is-active{background:#edf4ff!important;color:#2467d7!important}.aimme-account-menu-item>.aimme-icon{width:20px;height:20px}.aimme-account-menu-item b{display:none;color:#4285f4}.aimme-account-menu-item.is-active b{display:block}.aimme-account-menu-item.is-logout{color:#6b7280!important}.aimme-account-menu-divider{display:block;height:1px;margin:7px 8px;background:#edf1f6}
.aimme-login-step[data-login-step="forgot"] .aimme-inline-alert.is-success{background:#eef9f2;color:#177245;border-color:#ccebd7}.aimme-login-step[data-login-step="reset"] form{display:grid;gap:14px}
.aimme-section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.aimme-section-heading span{font-size:12px;letter-spacing:.15em;font-weight:800;color:#4285f4}.aimme-section-heading h1{margin:5px 0 6px;font-size:clamp(32px,4vw,52px);line-height:1.08;color:#1c2b40}.aimme-section-heading p{margin:0;color:#7a8798;font-size:16px}.aimme-amelia-panel{max-width:100%}.aimme-amelia-embed{margin-top:22px;padding:4px;border-radius:20px;background:#fff}.aimme-amelia-embed .amelia-v2-booking,.aimme-amelia-embed [class*="amelia-app"]{max-width:100%!important}.aimme-booking-guide{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:16px 18px;border:1px solid #dce8f8;border-radius:16px;background:#f7fbff;color:#5c6d80}.aimme-booking-guide strong{color:#20314a}.aimme-booking-guide span{padding:6px 10px;border-radius:999px;background:#fff}.aimme-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:20px}.aimme-package-grid article{padding:18px;border:1px solid #e3eaf3;border-radius:18px;background:#fff}.aimme-package-grid article>span{font-size:11px;letter-spacing:.12em;color:#4285f4;font-weight:800}.aimme-package-grid h3{margin:7px 0;font-size:17px;color:#20314a}.aimme-package-grid p{margin:0 0 12px;color:#718096}.aimme-package-grid strong{font-size:20px;color:#2467d7}.aimme-class-list{display:grid;gap:12px}.aimme-class-item{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid #e3eaf3;border-radius:18px;background:#fff}.aimme-class-date{display:grid;place-items:center;flex:0 0 68px;min-height:64px;border-radius:15px;background:#eef5ff;color:#2467d7}.aimme-class-date strong{font-size:19px}.aimme-class-date span{font-size:12px}.aimme-class-main{flex:1;min-width:0}.aimme-class-main h3{margin:0 0 5px;color:#20314a}.aimme-class-main p{margin:0;color:#7a8798}.aimme-class-actions{display:flex;align-items:center;gap:8px}.aimme-mini-button,.aimme-makeup-grid button{border:0;border-radius:999px;padding:9px 15px;background:#4285f4;color:#fff;font-weight:750;cursor:pointer}.aimme-status-pill{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#eaf7ef;color:#247a45}.aimme-status-pill.is-muted{background:#f1f4f8;color:#738094}.aimme-makeup-section{margin-top:24px;padding:20px;border:1px solid #e3eaf3;border-radius:20px;background:#fbfcfe}.aimme-makeup-section header{display:flex;align-items:center;justify-content:space-between;gap:16px}.aimme-makeup-section h2{margin:0;color:#20314a}.aimme-makeup-section header span{font-size:13px;color:#4285f4;font-weight:700}.aimme-makeup-grid{display:grid;gap:10px;margin-top:14px}.aimme-makeup-grid article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border-radius:15px;background:#fff;border:1px solid #e8edf4}.aimme-makeup-grid h3,.aimme-makeup-grid p{margin:2px 0}.aimme-native-panel{margin-top:22px;border:1px solid #e3eaf3;border-radius:18px;background:#fff;overflow:hidden}.aimme-native-panel>summary{padding:16px 18px;cursor:pointer;font-weight:750;color:#20314a;background:#f8fbff}.aimme-feedback-list,.aimme-feedback-editor-list{display:grid;gap:18px}.aimme-feedback-card,.aimme-feedback-editor{padding:20px;border:1px solid #e3eaf3;border-radius:20px;background:#fff}.aimme-feedback-card header{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.aimme-feedback-card header span{font-size:12px;color:#4285f4;font-weight:800}.aimme-feedback-card h2{margin:5px 0;color:#20314a}.aimme-feedback-card header b{color:#66758a}.aimme-feedback-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:9px;margin:18px 0}.aimme-feedback-metrics span{padding:11px;border-radius:14px;background:#f6f9fd}.aimme-feedback-metrics small,.aimme-feedback-metrics strong{display:block}.aimme-feedback-metrics small{font-size:11px;color:#7a8798}.aimme-feedback-metrics strong{margin-top:3px;font-size:18px;color:#21324a}.aimme-feedback-block{margin-top:16px;padding-top:16px;border-top:1px solid #eef2f6}.aimme-feedback-block h3{margin:0 0 6px;font-size:15px;color:#20314a}.aimme-feedback-block p{margin:0;white-space:normal;color:#5d6c7e}.aimme-feedback-editor>summary{display:flex;justify-content:space-between;gap:14px;cursor:pointer;font-weight:750}.aimme-feedback-form{display:grid;gap:14px;margin-top:18px}.aimme-feedback-number-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.aimme-feedback-form label>span{display:block;margin-bottom:6px;font-size:13px;font-weight:700;color:#526174}.aimme-feedback-form input,.aimme-feedback-form textarea{width:100%;box-sizing:border-box;border:1px solid #d8e0eb;border-radius:12px;padding:10px 12px;background:#fff;color:#1f2937}.aimme-muted-copy{color:#7a8798}
@media(max-width:780px){.aimme-account-dropdown{position:fixed;top:72px;right:12px}.aimme-class-item,.aimme-makeup-grid article{align-items:flex-start;flex-direction:column}.aimme-class-actions{width:100%;justify-content:flex-end}.aimme-section-heading h1{font-size:34px}.aimme-feedback-card header{flex-direction:column}}

/* AIMinEdu Member Pro 3.0 · Student Success OS */
.aimme-v3-student-hero{display:flex;align-items:center;gap:18px;padding:24px 26px;margin-bottom:18px;border:1px solid #e3edfb;border-radius:24px;background:linear-gradient(135deg,#f7fbff 0%,#fff 70%);box-shadow:0 12px 34px rgba(31,41,55,.05)}
.aimme-v3-student-avatar{flex:0 0 auto}.aimme-v3-student-avatar img{display:block;border-radius:22px}.aimme-v3-student-hero>div:nth-child(2){min-width:0;flex:1}.aimme-v3-student-hero small{display:block;color:#4285f4;font-size:12px;font-weight:800;letter-spacing:.08em}.aimme-v3-student-hero h2{margin:5px 0 3px;font-size:26px;line-height:1.2;color:#172033}.aimme-v3-student-hero p{margin:0;color:#65748b}.aimme-v3-student-hero>span{font-size:12px;color:#7b8799;background:#f3f6fa;padding:8px 12px;border-radius:999px;word-break:break-all}
.aimme-v3-skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.aimme-v3-skill-grid article{padding:18px;border:1px solid #e7edf5;background:#fff;border-radius:20px;min-width:0}.aimme-v3-skill-grid small{display:block;color:#6b778c;font-weight:700}.aimme-v3-skill-grid strong{display:block;margin:7px 0 12px;font-size:20px;color:#20293a}.aimme-v3-skill-grid span{display:block;margin-top:7px;color:#758298;font-size:12px}.aimme-v3-skill-grid .aimme-progress{height:7px;border-radius:999px;background:#eef2f7;overflow:hidden}.aimme-v3-skill-grid .aimme-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4285f4,#73a7ff)}
.aimme-v3-journey-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-bottom:18px}.aimme-v3-path-row,.aimme-v3-package-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #edf1f6}.aimme-v3-path-row:first-of-type,.aimme-v3-package-row:first-of-type{border-top:0}.aimme-v3-path-row>b{width:10px;height:10px;border-radius:50%;background:#9ba7b8;flex:0 0 auto}.aimme-v3-path-row>b.is-active{background:#34a853}.aimme-v3-path-row>b.is-recommended{background:#4285f4}.aimme-v3-path-row>div,.aimme-v3-package-row>div{min-width:0;flex:1}.aimme-v3-path-row strong,.aimme-v3-package-row strong{display:block;color:#20293a}.aimme-v3-path-row small,.aimme-v3-package-row small{display:block;color:#758298;margin-top:3px;white-space:normal}.aimme-v3-path-row em{font-style:normal;color:#4285f4;font-size:12px;font-weight:700}.aimme-v3-package-row>b{font-size:18px;color:#1d2838;white-space:nowrap}
.aimme-v3-session-list>div{display:grid;grid-template-columns:125px minmax(0,1fr) auto;gap:16px;align-items:center;padding:15px 0;border-top:1px solid #edf1f6}.aimme-v3-session-list>div:first-child{border-top:0}.aimme-v3-session-list time{color:#4285f4;font-weight:800}.aimme-v3-session-list strong,.aimme-v3-session-list small{display:block}.aimme-v3-session-list strong{color:#20293a}.aimme-v3-session-list small{color:#758298;margin-top:3px}.aimme-v3-session-list em{font-style:normal;color:#34a853;font-weight:700;font-size:12px}
@media(max-width:900px){.aimme-v3-skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aimme-v3-journey-grid{grid-template-columns:1fr}}
@media(max-width:620px){.aimme-v3-student-hero{align-items:flex-start;padding:18px;border-radius:20px}.aimme-v3-student-hero>span{display:none}.aimme-v3-student-hero h2{font-size:22px}.aimme-v3-skill-grid{grid-template-columns:1fr}.aimme-v3-session-list>div{grid-template-columns:1fr;gap:5px}.aimme-v3-session-list em{display:none}}

/* ========================================================================
 * AIMinEdu Member Pro 3.1 — learning spaces, profile avatars and Kadence UI
 * ======================================================================== */

/* The identity card is a real navigation control, not a decorative block. */
button.aimme-hub-user-mini {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  text-align: left;
  color: inherit;
  font: inherit;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
button.aimme-hub-user-mini:hover,
button.aimme-hub-user-mini:focus-visible {
  color: inherit;
  border-color: #cbdcf2;
  background: #fff;
  box-shadow: 0 12px 30px rgba(43,55,80,.09);
  transform: translateY(-1px);
  outline: none;
}
.aimme-hub-user-mini > .aimme-avatar-wrap + div { min-width: 0; flex: 1; }
.aimme-user-mini-chevron { display: grid; place-items: center; color: #a2adbc; }
.aimme-user-mini-chevron .aimme-icon { width: 15px; height: 15px; }

/* FluentCommunity Space-defined SVG/image/emoji icons. */
.aimme-space-avatar > .aimme-space-icon-source,
.aimme-space-avatar > .aimme-space-source-icon {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
}
.aimme-space-avatar svg,
.aimme-space-avatar .aimme-space-icon-source svg,
.aimme-space-avatar .aimme-space-source-icon svg {
  display: block;
  width: 25px;
  height: 25px;
  max-width: 72%;
  max-height: 72%;
}
.aimme-space-avatar img.aimme-space-icon-source,
.aimme-space-avatar img.aimme-space-source-icon { width: 100%; height: 100%; object-fit: cover; }
.aimme-space-avatar .is-emoji { font-size: 22px; line-height: 1; }

/* Notification cards now identify the actual Space and match native readability. */
.aimme-space-notifications-card { min-width: 0; }
.aimme-notification-list { padding: 0 22px 20px; }
.aimme-notification-list > a {
  position: relative;
  display: grid;
  grid-template-columns: 46px minmax(0,1fr) 8px;
  align-items: start;
  gap: 13px;
  min-height: 78px;
  padding: 15px 6px;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid #edf1f6;
  border-radius: 0;
  transition: background .16s ease, padding .16s ease;
}
.aimme-notification-list > a:hover,
.aimme-notification-list > a:focus-visible {
  margin-inline: -8px;
  padding-inline: 14px;
  background: #f7faff;
  outline: none;
}
.aimme-notification-avatar {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  overflow: hidden;
  border: 1px solid #e4eaf3;
  border-radius: 14px;
  color: #6d57df;
  background: #f0efff;
}
.aimme-notification-avatar img { width: 100%; height: 100%; object-fit: cover; }
.aimme-notification-avatar > span { display: grid; place-items: center; width: 100%; height: 100%; }
.aimme-notification-avatar svg { width: 23px; height: 23px; max-width: 70%; max-height: 70%; }
.aimme-notification-avatar .is-emoji { font-size: 21px; }
.aimme-notification-list > a > div { min-width: 0; }
.aimme-notification-space {
  display: block;
  margin-bottom: 4px;
  overflow: hidden;
  color: #4285f4;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .035em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.aimme-notification-list strong {
  display: block;
  overflow: hidden;
  color: #2c394f;
  font-size: 14px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.aimme-notification-list p {
  display: -webkit-box;
  margin: 4px 0 6px;
  overflow: hidden;
  color: #728096;
  font-size: 12.5px;
  line-height: 1.5;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.aimme-notification-list small { color: #9aa5b5; font-size: 11px; }
.aimme-notification-list > a > i {
  align-self: center;
  width: 7px;
  height: 7px;
  margin: 0;
  border-radius: 50%;
  background: #cbd2dc;
}
.aimme-notification-list > a.is-unread > i { background: #4285f4; box-shadow: 0 0 0 4px rgba(66,133,244,.11); }

/* Compact account menu; selecting any item closes it through member-hub.js. */
.aimme-account-dropdown {
  width: min(318px, calc(100vw - 24px));
  max-height: min(72vh, 680px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}
.aimme-account-dropdown header { position: sticky; z-index: 2; top: -10px; background: #fff; }
.aimme-account-menu-item { min-height: 42px; padding: 7px 10px !important; }

/* Profile avatar picker: three child-friendly presets plus custom WebP upload. */
.aimme-profile-camera-button { position: absolute !important; }
.aimme-profile-avatar-picker {
  margin: 17px 0 3px;
  padding: 14px;
  border: 1px solid #e4eaf3;
  border-radius: 17px;
  background: #f9fbfe;
  text-align: left;
}
.aimme-profile-avatar-picker > span { display: block; margin-bottom: 10px; color: #344158; font-size: 12px; font-weight: 800; }
.aimme-profile-avatar-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
.aimme-profile-avatar-options button {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 5px;
  min-width: 0;
  padding: 8px 4px;
  border: 1px solid #dde5f0;
  border-radius: 13px;
  color: #66758a;
  background: #fff;
  box-shadow: none;
  cursor: pointer;
}
.aimme-profile-avatar-options button:hover,
.aimme-profile-avatar-options button:focus-visible,
.aimme-profile-avatar-options button.is-active {
  color: #2467d7;
  border-color: #78a8ef;
  background: #edf5ff;
  outline: none;
}
.aimme-profile-avatar-options img { width: 42px; height: 42px; border-radius: 50%; object-fit: contain; }
.aimme-profile-avatar-options small { overflow: hidden; max-width: 100%; font-size: 9.5px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.aimme-profile-avatar-options i {
  position: absolute;
  top: 5px;
  right: 5px;
  display: none;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  color: #fff;
  background: #4285f4;
}
.aimme-profile-avatar-options button.is-active i { display: grid; }
.aimme-profile-avatar-options i .aimme-icon { width: 10px; height: 10px; }
.aimme-profile-upload-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 11px;
  color: #4285f4;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.aimme-profile-upload-link .aimme-icon { width: 14px; height: 14px; }
.aimme-profile-avatar-picker > small { display: block; margin-top: 6px; color: #929dac; font-size: 9px; line-height: 1.5; }

/* Amelia/member operation headings should not dominate the page. */
.aimme-section-heading h1 { font-size: 28px !important; line-height: 1.18; }
.aimme-amelia-panel .aimme-smart-empty h2,
.aimme-amelia-panel .aimme-smart-empty h3 { font-size: 24px !important; line-height: 1.28; }

/* Kadence remains the single source of the public site footer. */
body.aimme-login-managed-page #colophon,
body.aimme-login-managed-page .site-footer,
body.aimme-login-managed-page footer.site-footer,
body.aimme-member-hub-page #colophon,
body.aimme-member-hub-page .site-footer,
body.aimme-member-hub-page footer.site-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 780px) {
  .aimme-account-dropdown { width: min(306px, calc(100vw - 20px)); max-height: calc(100vh - 92px); }
  .aimme-section-heading h1 { font-size: 27px !important; }
  .aimme-amelia-panel .aimme-smart-empty h2,
  .aimme-amelia-panel .aimme-smart-empty h3 { font-size: 22px !important; }
}

@media (max-width: 560px) {
  .aimme-notification-list { padding-inline: 14px; }
  .aimme-notification-list > a { grid-template-columns: 40px minmax(0,1fr) 7px; gap: 10px; }
  .aimme-notification-avatar { width: 40px; height: 40px; border-radius: 12px; }
  .aimme-notification-list strong { font-size: 13px; white-space: normal; }
  .aimme-profile-avatar-options img { width: 38px; height: 38px; }
}

/* Member Pro 4.0: AMI levels, live activities and voice review */
.aimme-ami-current-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.aimme-ami-current-grid>article{padding:18px;border:1px solid #dbe8ff;border-radius:18px;background:linear-gradient(135deg,#f4f8ff,#fff);box-shadow:0 8px 24px rgba(66,133,244,.06)}.aimme-ami-current-grid small{display:block;color:#6b7b93;font-weight:800;letter-spacing:.05em}.aimme-ami-current-grid strong{display:block;margin:7px 0 12px;font-size:20px;color:#183153}.aimme-ami-current-grid span{display:block;margin-top:8px;color:#62738a;font-size:13px}.aimme-ami-current-grid a{color:#2d6cdf;text-decoration:none}.aimme-activity-now-card,.aimme-review-card{margin-top:16px}.aimme-activity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aimme-activity-item{position:relative;padding:17px;border:1px solid #dce8fb;border-radius:17px;background:#fff}.aimme-activity-item.is-active{border-color:#9dc2ff;background:linear-gradient(145deg,#edf5ff,#fff)}.aimme-activity-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.aimme-activity-head span{display:inline-flex;padding:4px 9px;border-radius:999px;background:#eaf2ff;color:#2863c6;font-weight:800;font-size:12px}.aimme-activity-item.is-active .aimme-activity-head span{background:#e8f8ee;color:#17733a}.aimme-activity-head time{font-size:13px;color:#697b94}.aimme-activity-item h3{margin:10px 0 12px;font-size:18px}.aimme-activity-facts{display:grid;gap:7px}.aimme-activity-facts p{display:grid;grid-template-columns:72px 1fr;gap:6px;margin:0;color:#53657d;font-size:13px;line-height:1.55}.aimme-activity-facts b{color:#263d5c}.aimme-activity-join{display:inline-flex;margin-top:13px;padding:9px 13px;border-radius:11px;background:#4285f4;color:#fff!important;font-weight:800;text-decoration:none!important}.aimme-review-list{display:grid;gap:0}.aimme-review-list>div{display:grid;grid-template-columns:76px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f7}.aimme-review-list>div:last-child{border-bottom:0}.aimme-review-list time{font-weight:800;color:#4285f4}.aimme-review-list section{display:grid;gap:5px}.aimme-review-list small,.aimme-review-list p{margin:0;color:#667790;line-height:1.55}.aimme-review-list p{font-size:13px}@media(max-width:760px){.aimme-ami-current-grid,.aimme-activity-list{grid-template-columns:1fr}.aimme-activity-facts p{grid-template-columns:68px 1fr}.aimme-review-list>div{grid-template-columns:64px 1fr}}


/* v4.2 native Amelia history: use the logged-in WordPress identity instead of a second Amelia login form. */
.aimme-native-history-body{padding:18px}
.aimme-native-sso-note{display:flex;align-items:flex-start;gap:8px 18px;flex-wrap:wrap;margin-bottom:14px;padding:13px 15px;border:1px solid #cfe0ff;border-radius:14px;background:#f3f8ff;color:#23436d}
.aimme-native-sso-note strong{font-size:14px}.aimme-native-sso-note span{font-size:13px;color:#62738b}
.aimme-native-history-table{overflow:hidden;border:1px solid #e2eaf4;border-radius:16px;background:#fff}
.aimme-native-history-row{display:grid;grid-template-columns:150px minmax(220px,1fr) minmax(140px,.65fr) 120px;align-items:center;gap:16px;padding:14px 16px;border-top:1px solid #edf1f6;color:#27384f}
.aimme-native-history-row:first-child{border-top:0}.aimme-native-history-row.is-head{background:#f7f9fc;font-size:12px;font-weight:800;color:#718096;text-transform:uppercase;letter-spacing:.04em}
.aimme-native-history-row span{min-width:0}.aimme-native-history-row strong,.aimme-native-history-row small{display:block}.aimme-native-history-row small{margin-top:3px;color:#8290a3}
@media(max-width:760px){.aimme-native-history-row{grid-template-columns:1fr 1fr}.aimme-native-history-row.is-head{display:none}.aimme-native-history-row span:nth-child(3),.aimme-native-history-row span:nth-child(4){font-size:13px}}

/* v4.2 child-friendly AI feedback cards */
.aimme-ai-feedback-grid{display:grid;gap:14px}.aimme-ai-feedback-card{overflow:hidden;border:1px solid #dce7f4;border-radius:22px;background:#fbfaf9}.aimme-ai-feedback-card>summary{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;list-style:none;background:linear-gradient(135deg,#edf5ff,#fff)}.aimme-ai-feedback-card>summary::-webkit-details-marker{display:none}.aimme-ai-feedback-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#4285f4;font-size:25px}.aimme-ai-feedback-card summary small{font-size:11px;font-weight:850;color:#4285f4}.aimme-ai-feedback-card summary h2{margin:3px 0;font-size:18px}.aimme-ai-feedback-card summary p{margin:0;color:#718096;font-size:13px}.aimme-ai-feedback-card summary>b{padding:7px 10px;border-radius:999px;background:#fff;color:#326bc8;font-size:12px}.aimme-ai-feedback-body{padding:18px 20px 22px}.aimme-ai-feedback-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.aimme-ai-feedback-metrics span{padding:11px 8px;border:1px solid #e1e9f3;border-radius:14px;background:#fff;text-align:center}.aimme-ai-feedback-metrics small,.aimme-ai-feedback-metrics strong{display:block}.aimme-ai-feedback-metrics small{color:#7a899d}.aimme-ai-feedback-metrics strong{margin-top:3px;color:#203d65;font-size:18px}.aimme-ai-summary{padding:15px 17px;border-left:4px solid #4285f4;background:#fff;line-height:1.75}.aimme-ai-feedback-blocks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.aimme-ai-feedback-blocks section{padding:15px;border:1px solid #e2e9f2;border-radius:16px;background:#fff}.aimme-ai-feedback-blocks header{display:flex;align-items:center;gap:8px}.aimme-ai-feedback-blocks ul{margin:10px 0 0 20px}.aimme-ai-feedback-blocks li{margin:6px 0;line-height:1.6}.aimme-ai-encourage{display:flex;gap:10px;margin-top:12px;padding:15px;border-radius:16px;background:#fff4d4}.aimme-ai-encourage span{font-size:28px}.aimme-ai-encourage p{margin:0;line-height:1.7}.aimme-feedback-subtitle{margin-top:28px;font-size:21px}
@media(max-width:850px){.aimme-ai-feedback-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.aimme-ai-feedback-card>summary{grid-template-columns:45px 1fr}.aimme-ai-feedback-card summary>b{display:none}.aimme-ai-feedback-metrics{grid-template-columns:repeat(2,1fr)}.aimme-ai-feedback-blocks{grid-template-columns:1fr}}


/* Member Pro 5.1: compact hierarchy and high-visibility adaptive routers. */
.aimme-panel-header h1,
.aimme-section-heading h1 {
  font-size: 24px !important;
  line-height: 1.25 !important;
  letter-spacing: -.025em !important;
}
.aimme-hub-panel h2,
.aimme-growth-card h2,
.aimme-fluentform-shell .ff-el-section-title,
.aimme-fluentform-shell .ff-el-section-break h3 {
  font-size: 20px !important;
  line-height: 1.35 !important;
}
.aimme-fluentform-shell .aimme-router-grid {
  border: 2px solid #a9c9ff !important;
  background: linear-gradient(145deg,#f4f8ff,#fff) !important;
  box-shadow: 0 12px 34px rgba(66,133,244,.11) !important;
}
.aimme-fluentform-shell .aimme-router-grid .ff-el-input--label label {
  font-size: 19px !important;
  color: #1d3557 !important;
}
.aimme-fluentform-shell .aimme-router-grid .ff-el-input--content {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 10px !important;
}
.aimme-fluentform-shell .aimme-router-grid .ff-el-form-check {
  margin: 0 !important;
}
.aimme-fluentform-shell .aimme-router-grid .ff-el-form-check-label {
  min-height: 76px !important;
  display: flex !important;
  align-items: center !important;
  padding: 15px 16px 15px 48px !important;
  border: 1.5px solid #d7e1ee !important;
  border-radius: 17px !important;
  background: #fff !important;
  color: #334762 !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 730 !important;
}
.aimme-fluentform-shell .aimme-router-grid .ff-el-form-check-label:hover {
  border-color: #8ab6fa !important;
  background: #f5f9ff !important;
  transform: translateY(-1px);
}
.aimme-fluentform-shell .aimme-router-grid .ff-el-form-check:has(input:checked) .ff-el-form-check-label,
.aimme-fluentform-shell .aimme-router-grid input:checked + .ff-el-form-check-label {
  border-color: #4285f4 !important;
  background: #eef5ff !important;
  color: #185fc4 !important;
  box-shadow: 0 0 0 4px rgba(66,133,244,.09) !important;
}
.aimme-fluentform-shell .aimme-learning-choice .ff-el-input--content {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
}
.aimme-smart-survey-banner {
  border: 1px solid #b9d3ff !important;
  background: linear-gradient(135deg,#edf5ff,#fff) !important;
  box-shadow: 0 10px 30px rgba(66,133,244,.08) !important;
}
.aimme-smart-survey-banner strong { color:#1d4f91 !important; }

/* Learning account hub. */
.aimme-learning-account-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0; }
.aimme-learning-account-tab { display:flex; align-items:center; gap:10px; min-height:58px; padding:13px 15px; border:1px solid #dde6f1; border-radius:16px; background:#fff; color:#34445b; font-weight:800; cursor:pointer; }
.aimme-learning-account-tab:hover,.aimme-learning-account-tab.is-active { border-color:#8bb7ff; background:#edf5ff; color:#1f63c9; }
.aimme-learning-account-tab .aimme-icon { width:20px; height:20px; }
.aimme-learning-account-section { padding:20px; border:1px solid #dfe7f1; border-radius:20px; background:#fbfcfe; }
.aimme-learning-account-section[hidden] { display:none !important; }
.aimme-learning-account-section>header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.aimme-learning-account-section>header h2 { margin:0 0 5px; }
.aimme-learning-account-section>header p { margin:0; color:#718096; font-size:13px; line-height:1.65; }
.aimme-platform-account-card,.aimme-ami-account-card,.aimme-crm-account-card { padding:18px; border:1px solid #e1e8f2; border-radius:17px; background:#fff; }
.aimme-platform-account-card dl,.aimme-crm-account-card dl { display:grid; grid-template-columns:140px 1fr; gap:10px 16px; margin:0; }
.aimme-platform-account-card dt,.aimme-crm-account-card dt { color:#7b8798; font-size:12px; }
.aimme-platform-account-card dd,.aimme-crm-account-card dd { margin:0; color:#24364e; font-weight:750; word-break:break-word; }
.aimme-account-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:16px; }
.aimme-account-flow span { padding:11px 10px; border-radius:13px; background:#f0f5fc; color:#4e6179; text-align:center; font-size:12px; line-height:1.5; }
.aimme-account-flow span+span::before { content:'→'; margin-right:8px; color:#8fa6c4; }
.aimme-account-source-note { display:flex; gap:9px; align-items:flex-start; margin:13px 0; padding:12px 14px; border-radius:13px; background:#f3f8ff; color:#526f96; font-size:12px; line-height:1.6; }
.aimme-account-source-note .aimme-icon { width:17px; flex:0 0 auto; }

@media(max-width:980px){
  .aimme-fluentform-shell .aimme-router-grid .ff-el-input--content { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .aimme-learning-account-tabs { grid-template-columns:1fr; }
}
@media(max-width:680px){
  .aimme-panel-header h1,.aimme-section-heading h1 { font-size:24px !important; }
  .aimme-hub-panel h2,.aimme-growth-card h2,.aimme-fluentform-shell .ff-el-section-title,.aimme-fluentform-shell .ff-el-section-break h3 { font-size:20px !important; }
  .aimme-fluentform-shell .aimme-router-grid .ff-el-input--content,
  .aimme-fluentform-shell .aimme-learning-choice .ff-el-input--content { grid-template-columns:1fr !important; }
  .aimme-fluentform-shell .aimme-router-grid .ff-el-form-check-label { min-height:64px !important; }
  .aimme-learning-account-section { padding:16px; }
  .aimme-learning-account-section>header { display:block; }
  .aimme-platform-account-card dl,.aimme-crm-account-card dl { grid-template-columns:1fr; gap:4px; }
  .aimme-platform-account-card dd,.aimme-crm-account-card dd { margin-bottom:8px; }
  .aimme-account-flow { grid-template-columns:1fr; }
  .aimme-account-flow span+span::before { content:'↓'; }
}

/* Member Pro 5.1 learning-account cards and accessible tab focus. */
.aimme-learning-account-tab:focus-visible {
  outline: 3px solid rgba(66,133,244,.25);
  outline-offset: 2px;
}
.aimme-learning-account-section + .aimme-learning-account-section { margin-top: 0; }
.aimme-learning-account-section .aimme-account-difference { margin-bottom: 16px; }
.aimme-learning-account-section .aimme-smart-empty.large { margin-bottom: 16px; }
.aimme-platform-account-card h3,
.aimme-crm-account-card h3,
.aimme-ami-account-card h3 { margin: 0 0 7px; font-size: 18px !important; line-height: 1.4; }
.aimme-platform-account-card > p,
.aimme-crm-account-card p,
.aimme-ami-account-card p { color:#667790; line-height:1.7; }
.aimme-crm-account-card header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:14px; }
.aimme-crm-account-card header small,
.aimme-ami-account-card small { color:#4285f4; font-size:11px; font-weight:850; letter-spacing:.08em; }
.aimme-crm-account-card dd button {
  margin-left: 8px;
  padding: 4px 9px;
  border: 1px solid #cbdcf4;
  border-radius: 999px;
  background: #f2f7ff;
  color: #2865c7;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.aimme-ami-account-card { display:grid; grid-template-columns:54px minmax(0,1fr); gap:16px; align-items:flex-start; }
.aimme-ami-account-card .aimme-security-icon {
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:16px;
  background:linear-gradient(145deg,#edf5ff,#fff);
  color:#4285f4;
}
.aimme-ami-account-card .aimme-security-icon .aimme-icon { width:25px; height:25px; }
.aimme-ami-account-card .aimme-hub-primary-button { margin-top:5px; }
.aimme-platform-account-card .aimme-hub-secondary-button { margin-top:5px; }
@media(max-width:680px){
  .aimme-ami-account-card { grid-template-columns:1fr; }
  .aimme-learning-account-tab { min-height:52px; }
}


/* ========================================================================
 * AIMinedu Member Pro 5.2 — password-first login + intelligent profile
 * ======================================================================== */

/* Keep the Kadence header, but let the login product begin immediately below it. */
body.aimme-login-managed-page #primary,
body.aimme-login-managed-page .aimme-page-canvas,
body.aimme-login-managed-page .aimme-page-content,
body.aimme-login-managed-page .content-area,
body.aimme-login-managed-page .site-main,
body.aimme-login-managed-page .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.aimme-login-managed-page .aimme-login-page {
  min-height: calc(100svh - 76px) !important;
  padding: 8px 16px 18px !important;
}
body.aimme-login-managed-page .aimme-login-stage {
  margin-top: 0 !important;
}
.aimme-login-page [data-login-step="password"] .aimme-password-entry {
  display: flex !important;
  width: 100% !important;
  margin-top: 12px !important;
}
.aimme-login-page [data-login-step="password"] .aimme-hub-text-link {
  margin-top: 14px !important;
}

/* The two routing questions are deliberately one choice per line. */
.aimme-fluentform-shell .aimme-router-grid .ff-el-input--content,
.aimme-fluentform-shell .aimme-router-english-grid .ff-el-input--content,
.aimme-fluentform-shell .aimme-router-mc-grid .ff-el-input--content,
.aimme-fluentform-shell .aimme-learning-level-grid .ff-el-input--content {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 9px !important;
}
.aimme-fluentform-shell .aimme-router-grid .ff-el-form-check-label,
.aimme-fluentform-shell .aimme-learning-level-grid .ff-el-form-check-label {
  min-height: 58px !important;
  padding: 13px 15px !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
}
.aimme-fluentform-shell .aimme-router-grid input[type="radio"],
.aimme-fluentform-shell .aimme-learning-level-grid input[type="radio"] {
  margin-top: 2px !important;
}
.aimme-fluentform-shell .aimme-learning-level-grid {
  border-color: #c8dfd9 !important;
  background: linear-gradient(145deg,#f4fbf9,#fff) !important;
}
.aimme-fluentform-shell .aimme-learning-level-grid .ff-el-input--label label {
  color: #175f54 !important;
  font-size: 18px !important;
}
.aimme-fluentform-shell .aimme-learning-level-grid .ff-el-form-check-label:hover {
  border-color: #79b7aa !important;
  background: #f1faf7 !important;
}
.aimme-fluentform-shell .aimme-learning-level-grid .ff-el-form-check:has(input:checked) .ff-el-form-check-label,
.aimme-fluentform-shell .aimme-learning-level-grid input:checked + .ff-el-form-check-label {
  border-color: #0f9d8a !important;
  color: #0b7567 !important;
  background: #ecfaf6 !important;
  box-shadow: 0 0 0 4px rgba(15,157,138,.08) !important;
}
.aimme-fluentform-shell .aimme-ff-section-minecraft_learning {
  border-left-color: #0f9d8a !important;
  background: #effaf8 !important;
}

/* Intelligent skip state: visible, readable and explicitly not required. */
.aimme-fluentform-shell .aimme-adaptive-muted {
  position: relative !important;
  display: block !important;
  opacity: 1 !important;
  border-color: #e2e6ec !important;
  background: #f5f6f8 !important;
  box-shadow: none !important;
}
.aimme-fluentform-shell .aimme-adaptive-muted::before {
  content: "无需填写" !important;
  position: absolute !important;
  top: 13px !important;
  right: 14px !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 0 9px !important;
  border: 1px solid #d9dde4 !important;
  border-radius: 999px !important;
  color: #727b89 !important;
  background: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
}
.aimme-fluentform-shell .aimme-adaptive-muted .ff-el-input--label {
  padding-right: 72px !important;
}
.aimme-fluentform-shell .aimme-adaptive-muted .ff-el-input--label label {
  color: #7a8390 !important;
}
.aimme-fluentform-shell .aimme-adaptive-muted .ff-el-input--content,
.aimme-fluentform-shell .aimme-adaptive-muted .ff-el-form-check-label,
.aimme-fluentform-shell .aimme-adaptive-muted input,
.aimme-fluentform-shell .aimme-adaptive-muted select,
.aimme-fluentform-shell .aimme-adaptive-muted textarea {
  pointer-events: none !important;
}
.aimme-fluentform-shell .aimme-adaptive-muted .ff-el-form-check-label,
.aimme-fluentform-shell .aimme-adaptive-muted input,
.aimme-fluentform-shell .aimme-adaptive-muted select,
.aimme-fluentform-shell .aimme-adaptive-muted textarea {
  color: #9299a4 !important;
  border-color: #e1e4e9 !important;
  background: #f0f2f5 !important;
  box-shadow: none !important;
}
.aimme-fluentform-shell .aimme-adaptive-note {
  margin: -2px 0 11px !important;
  padding: 9px 11px !important;
  border-radius: 10px !important;
  color: #737c89 !important;
  background: #eceff3 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

/* Remove decorative English kickers in the growth intro/form hierarchy. */
.aimme-growth-panel .aimme-personal-learning-intro small,
.aimme-growth-panel .aimme-growth-form-card > header span {
  display: none !important;
}
.aimme-growth-panel .aimme-personal-learning-intro h2,
.aimme-growth-panel .aimme-growth-form-card > header h2 {
  margin-top: 0 !important;
}

@media (max-width: 820px) {
  body.aimme-login-managed-page .aimme-page-content,
  body.aimme-login-managed-page .aimme-login-page,
  body.aimme-login-managed-page .aimme-login-stage {
    min-height: auto !important;
  }
  body.aimme-login-managed-page .aimme-login-page {
    padding: 0 0 24px !important;
  }
  .aimme-login-page .aimme-login-stage {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .aimme-login-page .aimme-login-story {
    display: none !important;
  }
  .aimme-login-page .aimme-login-workspace {
    display: block !important;
    min-height: 0 !important;
    padding: 22px 20px 32px !important;
  }
  .aimme-login-page .aimme-login-card {
    width: 100% !important;
    max-width: 440px !important;
    margin: 0 auto !important;
  }
  .aimme-login-page .aimme-login-mobile-brand {
    display: flex !important;
    margin: 0 0 20px !important;
  }
  .aimme-login-page .aimme-login-step h2 {
    margin-top: 7px !important;
    font-size: 29px !important;
  }
  .aimme-login-page .aimme-login-step > p {
    margin-bottom: 18px !important;
  }
  .aimme-login-page button.aimme-hub-primary-button,
  .aimme-login-page .aimme-hub-primary-button.is-wide {
    min-height: 54px !important;
  }
  .aimme-fluentform-shell .aimme-router-grid .ff-el-form-check-label,
  .aimme-fluentform-shell .aimme-learning-level-grid .ff-el-form-check-label {
    min-height: 54px !important;
    padding: 12px 13px !important;
    font-size: 13.5px !important;
  }
}


/* ========================================================================
 * v5.3 reliability pass
 * ===================================================================== */

/* The personalised greeting must stay readable without overwhelming the hub. */
.aimme-overview-copy h1,
#aimme-overview-title {
  max-width: 760px !important;
  font-size: 24px !important;
  line-height: 1.42 !important;
  letter-spacing: -.02em !important;
}

/* “Already mastered” questions are collapsed by default. Families may expand
 * them to understand what was skipped, but the disabled answers never block
 * submission or affect progress. */
.aimme-fluentform-shell .aimme-adaptive-muted.is-aimme-collapsed .ff-el-input--content,
.aimme-fluentform-shell .aimme-adaptive-muted.is-aimme-collapsed .ff-el-help-message,
.aimme-fluentform-shell .aimme-adaptive-muted.is-aimme-collapsed .text-muted {
  display: none !important;
}
.aimme-fluentform-shell button.aimme-adaptive-note {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 48px !important;
  margin: -2px 0 0 !important;
  padding: 11px 13px !important;
  border: 1px solid #dce3eb !important;
  border-radius: 12px !important;
  color: #596575 !important;
  background: #fff !important;
  box-shadow: none !important;
  text-align: left !important;
  cursor: pointer !important;
}
.aimme-fluentform-shell button.aimme-adaptive-note:hover,
.aimme-fluentform-shell button.aimme-adaptive-note:focus-visible {
  border-color: #a9c7f5 !important;
  color: #245fae !important;
  background: #f7faff !important;
}
.aimme-fluentform-shell button.aimme-adaptive-note strong {
  color: inherit !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.45 !important;
}
.aimme-fluentform-shell button.aimme-adaptive-note span {
  color: #758194 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}
.aimme-fluentform-shell .aimme-adaptive-muted.is-aimme-expanded button.aimme-adaptive-note {
  margin-bottom: 11px !important;
  border-color: #cbd9ee !important;
  background: #f7faff !important;
}

/* Force checkable controls above theme overlays and preserve reliable clicks. */
.aimme-fluentform-shell .aimme-confirm-card,
.aimme-fluentform-shell .aimme-confirm-card .ff-el-input--content,
.aimme-fluentform-shell .aimme-confirm-card .ff-el-form-check,
.aimme-fluentform-shell .aimme-confirm-card .ff-el-form-check-label {
  position: relative !important;
  z-index: 2 !important;
  pointer-events: auto !important;
}
.aimme-fluentform-shell .aimme-confirm-card input[type="checkbox"] {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Clear client-side completion guidance. */
.aimme-profile-validation-summary {
  margin: 0 0 16px !important;
  padding: 13px 15px !important;
  border: 1px solid #f0b8b2 !important;
  border-left: 4px solid #d93025 !important;
  border-radius: 12px !important;
  color: #8c241c !important;
  background: #fff7f6 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
}
.aimme-profile-validation-summary[hidden] { display: none !important; }
.aimme-fluentform-shell .aimme-question-error {
  border-color: #e77970 !important;
  box-shadow: 0 0 0 4px rgba(217,48,37,.08) !important;
}
.aimme-question-error-message {
  margin: 9px 0 0 !important;
  color: #c43228 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

/* Account-level autosave status: no extra table, one draft per user in
 * WordPress user meta, with a browser fallback when the network is unstable. */
.aimme-growth-autosave-status {
  display: grid !important;
  grid-template-columns: 10px minmax(0,auto) minmax(0,1fr) !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 15px !important;
  padding: 11px 13px !important;
  border: 1px solid #dce7f7 !important;
  border-radius: 12px !important;
  color: #53647b !important;
  background: #f7faff !important;
}
.aimme-growth-autosave-status .aimme-autosave-dot {
  width: 9px !important;
  height: 9px !important;
  border-radius: 50% !important;
  background: #8da5c6 !important;
  box-shadow: 0 0 0 4px rgba(141,165,198,.12) !important;
}
.aimme-growth-autosave-status strong {
  color: #2f4562 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}
.aimme-growth-autosave-status small {
  color: #738096 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
.aimme-growth-autosave-status.is-saving .aimme-autosave-dot {
  background: #f9ab00 !important;
  box-shadow: 0 0 0 4px rgba(249,171,0,.12) !important;
  animation: aimmeAutosavePulse 1.2s ease-in-out infinite !important;
}
.aimme-growth-autosave-status.is-saved .aimme-autosave-dot,
.aimme-growth-autosave-status.has-draft .aimme-autosave-dot {
  background: #1e8e3e !important;
  box-shadow: 0 0 0 4px rgba(30,142,62,.12) !important;
}
.aimme-growth-autosave-status.is-local .aimme-autosave-dot {
  background: #1a73e8 !important;
  box-shadow: 0 0 0 4px rgba(26,115,232,.12) !important;
}
@keyframes aimmeAutosavePulse {
  0%,100% { opacity:.45; transform:scale(.88); }
  50% { opacity:1; transform:scale(1.08); }
}

@media (max-width: 720px) {
  .aimme-overview-copy h1,
  #aimme-overview-title { font-size: 24px !important; line-height: 1.38 !important; }
  .aimme-fluentform-shell button.aimme-adaptive-note {
    grid-template-columns: 1fr !important;
    gap: 3px !important;
  }
  .aimme-growth-autosave-status {
    grid-template-columns: 10px minmax(0,1fr) !important;
  }
  .aimme-growth-autosave-status small {
    grid-column: 2 !important;
  }
}

/* ========================================================================
 * v5.4 traceable smart defaults + leader incentive lifecycle
 * ===================================================================== */

/* Fluent Forms/theme combinations do not consistently paint pseudo-elements
 * on native inputs. Use an explicit SVG background so every selected
 * checkbox visibly contains a check mark. */
.aimme-fluentform-shell input.ff-el-form-check-input[type="checkbox"]:checked,
.aimme-fluentform-shell input[type="checkbox"]:checked,
.aimme-fluentform-shell .ff-el-form-check.is-aimme-selected input[type="checkbox"] {
  border-color: #4285f4 !important;
  background-color: #4285f4 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M3.2 8.2 6.5 11.3 12.9 4.9'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 14px 14px !important;
}
.aimme-fluentform-shell input[type="checkbox"]:checked::after { display: none !important; }
.aimme-fluentform-shell .ff-el-form-check.is-aimme-selected .ff-el-form-check-label,
.aimme-fluentform-shell .ff-el-form-check-label.is-aimme-selected {
  border-color: #78a7f2 !important;
  color: #155fbd !important;
  background: #f2f7ff !important;
  box-shadow: 0 0 0 3px rgba(66,133,244,.075) !important;
}

.aimme-smart-default-note {
  display: grid !important;
  gap: 3px !important;
  margin: -2px 0 12px !important;
  padding: 11px 13px !important;
  border: 1px solid #cfe1fb !important;
  border-radius: 12px !important;
  color: #315b92 !important;
  background: #f5f9ff !important;
}
.aimme-smart-default-note strong { font-size: 13px !important; font-weight: 760 !important; }
.aimme-smart-default-note span { color: #61738c !important; font-size: 12px !important; line-height: 1.55 !important; }

.aimme-fluentform-shell .aimme-adaptive-note {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto !important;
  align-items: stretch !important;
  gap: 9px !important;
  width: 100% !important;
  margin: -2px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.aimme-fluentform-shell .aimme-adaptive-toggle {
  display: grid !important;
  grid-template-columns: minmax(0,auto) minmax(0,1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 11px 14px !important;
  border: 1px solid #dce3eb !important;
  border-radius: 12px !important;
  color: #596575 !important;
  background: #fff !important;
  text-align: left !important;
  cursor: pointer !important;
}
.aimme-fluentform-shell .aimme-adaptive-toggle:hover,
.aimme-fluentform-shell .aimme-adaptive-toggle:focus-visible {
  border-color: #a9c7f5 !important;
  color: #245fae !important;
  background: #f7faff !important;
}
.aimme-fluentform-shell .aimme-adaptive-toggle strong { color: inherit !important; font-size: 14px !important; font-weight: 760 !important; }
.aimme-fluentform-shell .aimme-adaptive-toggle span { color: #758194 !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.5 !important; }
.aimme-fluentform-shell .aimme-adaptive-edit {
  min-width: 132px !important;
  padding: 10px 13px !important;
  border: 1px solid #bfd4f3 !important;
  border-radius: 12px !important;
  color: #2566ba !important;
  background: #f7faff !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  cursor: pointer !important;
}
.aimme-fluentform-shell .aimme-adaptive-edit:hover,
.aimme-fluentform-shell .aimme-adaptive-edit:focus-visible { border-color: #4285f4 !important; background: #edf5ff !important; }
.aimme-fluentform-shell .aimme-adaptive-muted.is-aimme-expanded .aimme-adaptive-note { margin-bottom: 11px !important; }
.aimme-fluentform-shell .is-aimme-edit-target {
  border-color: #4285f4 !important;
  box-shadow: 0 0 0 5px rgba(66,133,244,.13) !important;
  animation: aimmeEditTarget 1.15s ease-in-out 2 !important;
}
@keyframes aimmeEditTarget { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-2px)} }

.aimme-leader-reward-dashboard {
  margin: 0 0 22px !important;
  padding: 22px !important;
  border: 1px solid #d9e5f5 !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg,#f8fbff,#fff) !important;
  box-shadow: 0 12px 34px rgba(35,79,139,.08) !important;
}
.aimme-leader-reward-dashboard > header,
.aimme-leader-reward-catalog > header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
}
.aimme-leader-reward-dashboard > header small,
.aimme-leader-reward-catalog > header small { color:#4285f4 !important; font-size:11px !important; font-weight:800 !important; letter-spacing:.14em !important; }
.aimme-leader-reward-dashboard h2 { margin:4px 0 5px !important; font-size:20px !important; }
.aimme-leader-reward-dashboard h3 { margin:3px 0 5px !important; font-size:17px !important; }
.aimme-leader-reward-dashboard p { color:#65748a !important; line-height:1.65 !important; }
.aimme-leader-level-pill {
  flex:none !important;
  padding:8px 12px !important;
  border:1px solid #bcd4f7 !important;
  border-radius:999px !important;
  color:#225fae !important;
  background:#eef6ff !important;
  font-size:12px !important;
  font-weight:760 !important;
}
.aimme-leader-reward-stats {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
  margin:18px 0 !important;
}
.aimme-leader-reward-stats > div {
  padding:15px !important;
  border:1px solid #e2e9f2 !important;
  border-radius:15px !important;
  background:#fff !important;
}
.aimme-leader-reward-stats small { display:block !important; color:#7a8799 !important; font-size:12px !important; }
.aimme-leader-reward-stats strong { display:inline-block !important; margin:5px 5px 0 0 !important; color:#1d4f91 !important; font-size:27px !important; }
.aimme-leader-reward-stats span { color:#8792a2 !important; font-size:11px !important; }
.aimme-leader-agreement,
.aimme-leader-reward-catalog,
.aimme-leader-ledger {
  margin-top:15px !important;
  padding:17px !important;
  border:1px solid #e0e7f0 !important;
  border-radius:16px !important;
  background:#fff !important;
}
.aimme-leader-agreement.is-required,
.aimme-leader-agreement.is-rejected { border-left:4px solid #f9ab00 !important; }
.aimme-leader-agreement.is-submitted { border-left:4px solid #4285f4 !important; }
.aimme-leader-agreement.is-verified { border-left:4px solid #1e8e3e !important; }
.aimme-leader-agreement-form { display:grid !important; grid-template-columns:minmax(180px,.6fr) minmax(240px,1fr); gap:12px !important; margin-top:13px !important; }
.aimme-leader-agreement-form label { display:grid !important; gap:6px !important; color:#3d4e65 !important; font-size:12px !important; font-weight:700 !important; }
.aimme-leader-agreement-form input[type="text"],
.aimme-leader-agreement-form input[type="file"] { width:100% !important; min-height:44px !important; padding:9px 11px !important; border:1px solid #d7e0eb !important; border-radius:10px !important; background:#fff !important; }
.aimme-leader-agreement-confirm { grid-column:1/-1 !important; display:flex !important; grid-template-columns:none !important; align-items:flex-start !important; gap:9px !important; }
.aimme-leader-agreement-form button { justify-self:start !important; }
.aimme-leader-reward-catalog > div { display:grid !important; gap:9px !important; margin-top:12px !important; }
.aimme-leader-reward-catalog article { display:grid !important; grid-template-columns:minmax(0,1fr) auto auto !important; align-items:center !important; gap:14px !important; padding:13px !important; border:1px solid #e7ecf3 !important; border-radius:13px !important; background:#fbfcfe !important; }
.aimme-leader-reward-catalog article p { margin:3px 0 0 !important; font-size:12px !important; }
.aimme-leader-reward-catalog article b { color:#925f00 !important; font-size:12px !important; white-space:nowrap !important; }
.aimme-leader-reward-catalog article button { padding:8px 11px !important; border:1px solid #9fc1f3 !important; border-radius:9px !important; color:#245fae !important; background:#f2f7ff !important; font-size:12px !important; font-weight:750 !important; cursor:pointer !important; }
.aimme-leader-reward-catalog article button:disabled { color:#9ba5b2 !important; border-color:#dfe4ea !important; background:#f1f3f5 !important; cursor:not-allowed !important; }
.aimme-leader-ledger > div { display:grid !important; gap:0 !important; }
.aimme-leader-ledger > div > div { display:grid !important; grid-template-columns:minmax(0,1fr) auto auto !important; gap:12px !important; padding:10px 0 !important; border-top:1px solid #edf0f4 !important; }
.aimme-leader-ledger > div > div:first-child { border-top:0 !important; }
.aimme-leader-ledger b.is-plus { color:#188038 !important; }
.aimme-leader-ledger b.is-minus { color:#c5221f !important; }

@media (max-width:720px) {
  .aimme-fluentform-shell .aimme-adaptive-note { grid-template-columns:1fr !important; }
  .aimme-fluentform-shell .aimme-adaptive-toggle { grid-template-columns:1fr !important; gap:4px !important; }
  .aimme-fluentform-shell .aimme-adaptive-edit { width:100% !important; }
  .aimme-leader-reward-stats { grid-template-columns:1fr !important; }
  .aimme-leader-agreement-form { grid-template-columns:1fr !important; }
  .aimme-leader-reward-catalog article { grid-template-columns:1fr !important; }
  .aimme-leader-reward-catalog article button { width:100% !important; }
}


/* ========================================================================
 * v5.8 light, playful login + calm learning-space overview
 * ===================================================================== */
body.aimme-login-managed-page .aimme-page-content,
body.aimme-login-managed-page .content-area,
body.aimme-login-managed-page #primary {
  overflow: visible !important;
}
body.aimme-login-managed-page .aimme-login-page {
  display: grid !important;
  place-items: center !important;
  min-height: calc(100svh - 92px) !important;
  padding: clamp(18px, 4vh, 42px) 18px 34px !important;
  overflow: visible !important;
  background:
    radial-gradient(circle at 7% 12%, rgba(72,184,255,.16), transparent 25%),
    radial-gradient(circle at 92% 82%, rgba(255,202,72,.17), transparent 24%),
    radial-gradient(circle at 80% 8%, rgba(176,120,255,.10), transparent 20%),
    #fbfdff !important;
}
body.aimme-login-managed-page .aimme-login-stage {
  width: min(960px, 100%) !important;
  height: auto !important;
  min-height: 560px !important;
  max-height: none !important;
  grid-template-columns: minmax(280px,.78fr) minmax(390px,1.22fr) !important;
  overflow: hidden !important;
  border: 1px solid #e6edf7 !important;
  border-radius: 28px !important;
  background: #fff !important;
  box-shadow: 0 18px 55px rgba(43,78,125,.11) !important;
}
body.aimme-login-managed-page .aimme-login-story {
  min-height: 560px !important;
  padding: 34px 36px !important;
  color: #26405f !important;
  background:
    radial-gradient(circle at 83% 18%, rgba(255,205,66,.90) 0 13px, transparent 14px),
    radial-gradient(circle at 16% 82%, rgba(126,211,255,.72) 0 22px, transparent 23px),
    radial-gradient(circle at 88% 76%, rgba(185,139,255,.55) 0 34px, transparent 35px),
    linear-gradient(150deg,#eaf8ff 0%,#f3f0ff 55%,#fff8dc 100%) !important;
}
body.aimme-login-managed-page .aimme-login-story::before {
  width: 260px !important;
  height: 260px !important;
  right: -115px !important;
  top: 110px !important;
  border-color: rgba(66,133,244,.12) !important;
  box-shadow: 0 0 0 42px rgba(66,133,244,.045),0 0 0 84px rgba(66,133,244,.025) !important;
}
body.aimme-login-managed-page .aimme-login-story::after {
  width: 150px !important;
  height: 150px !important;
  left: -75px !important;
  bottom: 55px !important;
  border-color: rgba(255,174,54,.18) !important;
  background: rgba(255,255,255,.3) !important;
}
body.aimme-login-managed-page .aimme-login-brand-text strong {
  color: #225da9 !important;
  font-size: 22px !important;
}
body.aimme-login-managed-page .aimme-login-brand-text small {
  color: #6f82a0 !important;
}
body.aimme-login-managed-page .aimme-login-story-copy {
  max-width: 390px !important;
  margin: 92px 0 0 !important;
}
body.aimme-login-managed-page .aimme-login-story .aimme-login-kicker {
  color: #4285f4 !important;
  font-size: 11px !important;
  letter-spacing: .12em !important;
}
body.aimme-login-managed-page .aimme-login-story h1 {
  margin: 12px 0 16px !important;
  color: #203a5d !important;
  font-size: clamp(32px,3.4vw,43px) !important;
  line-height: 1.18 !important;
  letter-spacing: -.045em !important;
}
body.aimme-login-managed-page .aimme-login-story h1 em {
  color: #6b58d9 !important;
}
body.aimme-login-managed-page .aimme-login-story-copy > p {
  color: #65758d !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}
body.aimme-login-managed-page .aimme-login-benefits {
  gap: 8px !important;
  margin-top: 24px !important;
}
body.aimme-login-managed-page .aimme-login-benefits span {
  padding: 8px 11px !important;
  border: 0 !important;
  color: #365475 !important;
  background: rgba(255,255,255,.70) !important;
  box-shadow: 0 6px 18px rgba(64,91,130,.07) !important;
  backdrop-filter: blur(8px) !important;
}
body.aimme-login-managed-page .aimme-login-benefits .aimme-icon {
  color: #4285f4 !important;
}
body.aimme-login-managed-page .aimme-login-benefits span:nth-child(2) .aimme-icon { color:#8b5cf6 !important; }
body.aimme-login-managed-page .aimme-login-benefits span:nth-child(3) .aimme-icon { color:#f5a623 !important; }
body.aimme-login-managed-page .aimme-login-workspace {
  place-items: center !important;
  padding: 34px 48px !important;
  background: #fff !important;
}
body.aimme-login-managed-page .aimme-login-card {
  width: min(430px,100%) !important;
}
body.aimme-login-managed-page .aimme-login-step h2 {
  margin: 9px 0 8px !important;
  font-size: 28px !important;
  line-height: 1.24 !important;
  letter-spacing: -.035em !important;
}
body.aimme-login-managed-page .aimme-login-step > p {
  margin: 0 0 20px !important;
  color: #748197 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}
body.aimme-login-managed-page .aimme-login-step .aimme-field + .aimme-field {
  margin-top: 14px !important;
}
body.aimme-login-managed-page .aimme-field > span {
  color: #40506a !important;
  font-size: 12.5px !important;
}
body.aimme-login-managed-page .aimme-field input {
  min-height: 50px !important;
  border-color: #dce5f1 !important;
  border-radius: 14px !important;
  background: #fbfcff !important;
}
body.aimme-login-managed-page .aimme-field input:focus {
  border-color: #70a5f7 !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(66,133,244,.10) !important;
}
body.aimme-login-managed-page .aimme-hub-primary-button.is-wide {
  min-height: 50px !important;
  margin-top: 16px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg,#4a91ff,#3678e9) !important;
  box-shadow: 0 10px 24px rgba(66,133,244,.18) !important;
}
body.aimme-login-managed-page .aimme-login-quiet-links {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 15px !important;
  color: #a1aaba !important;
  font-size: 12px !important;
}
body.aimme-login-managed-page .aimme-login-quiet-links a,
body.aimme-login-managed-page .aimme-login-inline-link {
  display: inline !important;
  width: auto !important;
  margin: 0 !important;
  padding: 2px !important;
  border: 0 !important;
  color: #718096 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}
body.aimme-login-managed-page .aimme-login-quiet-links a:hover,
body.aimme-login-managed-page .aimme-login-quiet-links a:focus-visible,
body.aimme-login-managed-page .aimme-login-inline-link:hover,
body.aimme-login-managed-page .aimme-login-inline-link:focus-visible {
  color: #2d73db !important;
  text-decoration: underline !important;
}
body.aimme-login-managed-page .aimme-login-inline-link {
  display: block !important;
  margin: 14px auto 0 !important;
  text-align: center !important;
}
body.aimme-login-managed-page .aimme-login-account-note {
  display: block !important;
  margin: 18px 0 0 !important;
  padding: 14px 0 0 !important;
  border-top: 1px solid #edf1f6 !important;
  color: #9aa4b4 !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

/* Calm, compact learning-space welcome card. */
.aimme-member-hub .aimme-overview-hero {
  grid-template-columns: minmax(0,1fr) 220px !important;
  min-height: 188px !important;
  border: 1px solid #e1ebf8 !important;
  border-radius: 22px !important;
  color: #253d5e !important;
  background:
    radial-gradient(circle at 94% 14%, rgba(255,205,67,.32) 0 22px, transparent 23px),
    radial-gradient(circle at 82% 88%, rgba(157,117,255,.16) 0 50px, transparent 51px),
    linear-gradient(135deg,#ffffff 0%,#eef7ff 62%,#fff8df 100%) !important;
  box-shadow: 0 10px 28px rgba(58,91,135,.09) !important;
}
.aimme-member-hub .aimme-overview-copy {
  padding: 27px 32px !important;
}
.aimme-member-hub .aimme-overview-kicker {
  display: block !important;
  max-width: 100% !important;
  overflow: hidden !important;
  color: #4e79b8 !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  letter-spacing: .03em !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.aimme-member-hub .aimme-overview-copy h1,
.aimme-member-hub #aimme-overview-title {
  margin: 8px 0 7px !important;
  color: #203a5d !important;
  font-size: 24px !important;
  line-height: 1.3 !important;
  letter-spacing: -.025em !important;
}
.aimme-member-hub .aimme-overview-copy p {
  color: #728096 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
.aimme-member-hub .aimme-overview-actions {
  gap: 9px !important;
  margin-top: 18px !important;
}
.aimme-member-hub .aimme-overview-actions .aimme-hub-primary-button,
.aimme-member-hub .aimme-overview-actions .aimme-hub-secondary-button {
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 13px !important;
  font-size: 12.5px !important;
}
.aimme-member-hub .aimme-overview-actions .aimme-hub-primary-button {
  color: #fff !important;
  background: #4285f4 !important;
  box-shadow: 0 8px 18px rgba(66,133,244,.16) !important;
}
.aimme-member-hub .aimme-overview-actions .aimme-hub-secondary-button {
  color: #4f6686 !important;
  border-color: #d4e1f2 !important;
  background: rgba(255,255,255,.76) !important;
}
.aimme-member-hub .aimme-overview-visual {
  min-height: 188px !important;
}
.aimme-member-hub .aimme-overview-visual::after {
  right: -40px !important;
  bottom: -70px !important;
  width: 225px !important;
  height: 225px !important;
  background: rgba(66,133,244,.055) !important;
  box-shadow: 0 0 0 32px rgba(66,133,244,.025),0 0 0 64px rgba(66,133,244,.012) !important;
}
.aimme-member-hub .aimme-visual-cube {
  width: 78px !important;
  height: 78px !important;
  border-radius: 24px !important;
  color: #397be1 !important;
  background: linear-gradient(145deg,#fff,#e9f3ff) !important;
  box-shadow: 0 15px 32px rgba(50,91,151,.14) !important;
  font-size: 34px !important;
}
.aimme-member-hub .aimme-orbit.orbit-one { width: 145px !important; height: 145px !important; border-color: rgba(66,133,244,.15) !important; }
.aimme-member-hub .aimme-orbit.orbit-two { width: 205px !important; height: 205px !important; border-color: rgba(66,133,244,.09) !important; }
.aimme-member-hub .aimme-float-chip {
  padding: 7px 9px !important;
  border: 1px solid #e3ebf6 !important;
  border-radius: 10px !important;
  color: #52739f !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 7px 18px rgba(49,76,117,.08) !important;
}
.aimme-member-hub .aimme-float-chip b { font-size: 9.5px !important; }

@media (max-width: 900px) {
  body.aimme-login-managed-page .aimme-login-stage {
    width: min(620px,100%) !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  body.aimme-login-managed-page .aimme-login-story { display: none !important; }
  body.aimme-login-managed-page .aimme-login-workspace { padding: 31px 38px 34px !important; }
  body.aimme-login-managed-page .aimme-login-mobile-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 0 22px !important;
    padding: 12px 14px !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: linear-gradient(135deg,#eef8ff,#f4f0ff 60%,#fff8df) !important;
  }
  body.aimme-login-managed-page .aimme-login-mobile-brand strong { color:#245ca8 !important; font-size:18px !important; }
  body.aimme-login-managed-page .aimme-login-mobile-brand small { color:#74849a !important; font-size:11px !important; }
}
@media (max-width: 720px) {
  body.aimme-login-managed-page .aimme-login-page {
    min-height: calc(100svh - 68px) !important;
    padding: 12px 10px 26px !important;
    place-items: start stretch !important;
  }
  body.aimme-login-managed-page .aimme-login-stage {
    width: 100% !important;
    border-radius: 22px !important;
  }
  body.aimme-login-managed-page .aimme-login-workspace {
    padding: 22px 18px 26px !important;
  }
  body.aimme-login-managed-page .aimme-login-mobile-brand { margin-bottom:18px !important; }
  body.aimme-login-managed-page .aimme-login-step h2 { font-size:25px !important; }
  body.aimme-login-managed-page .aimme-login-step > p { margin-bottom:17px !important; }
  body.aimme-login-managed-page .aimme-login-account-note { margin-top:16px !important; }
  .aimme-member-hub .aimme-overview-hero {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }
  .aimme-member-hub .aimme-overview-copy { padding: 23px 20px !important; }
  .aimme-member-hub .aimme-overview-visual { display:none !important; }
  .aimme-member-hub .aimme-overview-actions { align-items:stretch !important; }
  .aimme-member-hub .aimme-overview-actions a,
  .aimme-member-hub .aimme-overview-actions button { width:100% !important; }
}


/* ========================================================================
 * AIMinEdu Member Pro 5.8.1 — balanced login header spacing
 * Keep the global Kadence header visually aligned with the login card instead
 * of pinning the logo and account action to the viewport edges.
 * ====================================================================== */
body.aimme-login-managed-page #masthead .site-header-row-container-inner {
  padding-inline: 32px !important;
  box-sizing: border-box !important;
}
body.aimme-login-managed-page #masthead .site-header-row-container-inner > .site-container,
body.aimme-login-managed-page #masthead .site-main-header-inner-wrap,
body.aimme-login-managed-page #masthead .site-header-upper-inner-wrap,
body.aimme-login-managed-page #masthead .site-header-lower-inner-wrap {
  width: min(1440px, 100%) !important;
  max-width: 1440px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  body.aimme-login-managed-page #masthead .site-header-row-container-inner {
    padding-inline: 16px !important;
  }
}

@media (max-width: 520px) {
  body.aimme-login-managed-page #masthead .site-header-row-container-inner {
    padding-inline: 12px !important;
  }
}
