:root{
  --ame-bg:#FBFBFD;
  --ame-surface:#FFFFFF;
  --ame-ink:#14181F;
  --ame-muted:#5A6474;
  --ame-line:#E2E6EE;
  --ame-tint:#EDF1FE;
  --ame-tint-line:#C9D6FB;
  --ame-accent:#1B4DE4;
  --ame-deep:#0C1B45;
  --ame-on-deep:#FBFBFD;
  --ame-on-deep-body:#C7D2E8;
  --ame-signal:#0F7A5A;
  --ame-danger:#B3261E;
  --ame-container:1160px;
  --ame-gutter:clamp(20px,3.2vw,40px);
  --ame-radius-sm:6px;
  --ame-radius-md:10px;
  --ame-radius-lg:20px;
  --ame-space-1:8px;
  --ame-space-2:16px;
  --ame-space-3:24px;
  --ame-space-4:32px;
  --ame-space-5:48px;
  --ame-space-6:64px;
  --ame-shadow:0 8px 24px rgba(27,77,228,.06);
}

html{scroll-behavior:smooth}
body{
  background:var(--ame-bg)!important;
  color:var(--ame-ink)!important;
  font-family:"General Sans",sans-serif!important;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body,button,input,select,textarea{font-family:"General Sans",sans-serif!important}
body *{box-sizing:border-box}
img,svg,video,iframe{max-width:100%;height:auto}

h1,h2,h3,h4,h5,h6,
.elementor-heading-title,
.ame-app h1,.ame-app h2,.ame-app h3{
  color:var(--ame-ink);
  font-family:"Cabinet Grotesk",sans-serif!important;
  font-weight:800!important;
  letter-spacing:-.025em;
  line-height:1.08!important;
  margin-top:0;
}
h1,.ame-app h1{font-size:clamp(38px,5vw,64px)!important}
h2,.ame-app h2{font-size:clamp(28px,3.3vw,42px)!important}
h3,.ame-app h3{font-size:clamp(21px,2.2vw,27px)!important;line-height:1.2!important}
p,li,label,input,select,textarea,button{font-size:inherit}
p{max-width:68ch}
a{color:var(--ame-accent)}
:focus-visible{outline:3px solid var(--ame-accent)!important;outline-offset:3px!important}

/* Global page width and gutters */
.site-main,
.elementor-section.elementor-section-boxed>.elementor-container,
.e-con.e-con-boxed>.e-con-inner{
  width:100%;
}
.elementor-section.elementor-section-boxed>.elementor-container,
.e-con.e-con-boxed>.e-con-inner{
  max-width:var(--ame-container)!important;
  padding-left:var(--ame-gutter)!important;
  padding-right:var(--ame-gutter)!important;
}
.ame-app{
  width:min(100%,var(--ame-container));
  margin-inline:auto;
  padding-inline:var(--ame-gutter);
  color:var(--ame-ink);
}
.ame-app>section,
.ame-app>.ame-panel,
.ame-app>.ame-learning-path,
.ame-app>.ame-dashboard{
  margin-block:clamp(28px,4vw,56px);
}

/* Header and navigation */
header.elementor-location-header,
.xpro-theme-builder-header{
  background:rgba(251,251,253,.96)!important;
  border-bottom:1px solid var(--ame-line)!important;
  backdrop-filter:saturate(140%) blur(12px);
}
header.elementor-location-header a,
.xpro-theme-builder-header a{color:var(--ame-ink)!important}
header.elementor-location-header .elementor-button,
.xpro-theme-builder-header .elementor-button{
  background:var(--ame-accent)!important;
  color:#fff!important;
  border-radius:var(--ame-radius-md)!important;
  box-shadow:none!important;
  min-height:46px;
  padding:12px 22px!important;
  font-weight:700!important;
}

/* Buttons */
.ame-btn,
.ame-app button,
.ame-app input[type="submit"],
.elementor-button{
  min-height:48px;
  border-radius:var(--ame-radius-md)!important;
  border:1px solid transparent;
  padding:13px 24px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:transform .16s ease,background-color .16s ease,border-color .16s ease;
}
.ame-btn:hover,.ame-app button:hover,.elementor-button:hover{transform:translateY(-1px)}
.ame-btn-primary,.ame-app .ame-btn-primary{
  background:var(--ame-accent)!important;
  color:#fff!important;
}
.ame-btn-dark,.ame-app .ame-btn-dark{
  background:var(--ame-deep)!important;
  color:var(--ame-on-deep)!important;
}
.ame-btn-ghost,.ame-app .ame-btn-ghost{
  background:transparent!important;
  color:var(--ame-ink)!important;
  border-color:var(--ame-line)!important;
}
.ame-text-link{color:var(--ame-accent)!important;text-underline-offset:3px;font-weight:700}

/* Forms */
.ame-app input,.ame-app select,.ame-app textarea,
.wpforms-container input,.wpforms-container select,.wpforms-container textarea{
  width:100%;
  min-height:48px;
  background:var(--ame-surface)!important;
  color:var(--ame-ink)!important;
  border:1px solid var(--ame-line)!important;
  border-radius:var(--ame-radius-sm)!important;
  padding:12px 14px!important;
}
.ame-app label,.wpforms-container label{color:var(--ame-ink)!important;font-weight:700}

/* Shared surfaces */
.ame-panel,.ame-card,.ame-feature-card,.ame-stat-card,.ame-question-card,
.ame-document-card,.ame-report-card,.ame-auth-card,.ame-result-grid>article,
.ame-worksheet-builder,.ame-learning-path,.ame-lesson-support,
.ame-course-intro,.ame-system-card{
  background:var(--ame-surface)!important;
  color:var(--ame-ink)!important;
  border:1px solid var(--ame-line)!important;
  border-radius:var(--ame-radius-md)!important;
  box-shadow:none!important;
}
.ame-card,.ame-feature-card,.ame-question-card,.ame-document-card,.ame-stat-card,
.ame-result-grid>article,.ame-panel,.ame-auth-card{
  padding:clamp(24px,3vw,36px)!important;
}
.ame-card-yellow,.ame-feature-card.ame-card-yellow{
  background:var(--ame-tint)!important;
  border-color:var(--ame-tint-line)!important;
}
.ame-card-label,.ame-kicker,.ame-status-pill{
  color:var(--ame-accent)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.04em;
  text-transform:none;
}
.ame-note,.ame-question-note,.ame-section-heading p,.ame-card p,.ame-feature-card p,
.ame-report-card p,.ame-result-grid p,.ame-dashboard-head p{color:var(--ame-muted)!important}

/* Assessment result page, highest priority correction */
.ame-page-hasil-assessment .site-main,
.ame-page-hasil-assessment main{background:var(--ame-bg)!important}
.ame-result-page{padding-top:clamp(18px,3vw,36px);padding-bottom:64px}
.ame-result-hero{
  max-width:var(--ame-container);
  margin:0 auto clamp(28px,4vw,48px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(240px,.45fr)!important;
  gap:clamp(32px,5vw,72px)!important;
  align-items:center!important;
  background:var(--ame-deep)!important;
  color:var(--ame-on-deep)!important;
  border-radius:var(--ame-radius-lg)!important;
  padding:clamp(32px,5vw,64px)!important;
  overflow:hidden;
}
.ame-result-hero h1{
  color:var(--ame-on-deep)!important;
  font-size:clamp(38px,5vw,64px)!important;
  line-height:1.02!important;
  max-width:13ch;
  margin-bottom:20px!important;
}
.ame-result-hero p{color:var(--ame-on-deep-body)!important;max-width:58ch;margin:0}
.ame-result-hero .ame-kicker{color:#B9CBFF!important;margin-bottom:18px;display:block}
.ame-result-score{
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:var(--ame-radius-md)!important;
  padding:28px!important;
  text-align:left!important;
  min-width:0;
}
.ame-result-score strong{
  color:#fff!important;
  font-family:"Cabinet Grotesk",sans-serif!important;
  font-size:clamp(52px,7vw,84px)!important;
  line-height:.95!important;
  letter-spacing:-.04em;
  display:block;
}
.ame-result-score span{color:var(--ame-on-deep-body)!important;font-size:15px!important;display:block;margin-top:12px}
.ame-result-grid{
  max-width:var(--ame-container);
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
  gap:24px!important;
  align-items:stretch!important;
}
.ame-result-grid>article{min-width:0;margin:0!important}
.ame-result-grid h2{font-size:clamp(28px,3.5vw,42px)!important;max-width:18ch}
.ame-result-grid h3{font-size:clamp(22px,2.4vw,28px)!important}

/* Dashboards */
.ame-dashboard-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding-bottom:28px!important;
  border-bottom:1px solid var(--ame-line)!important;
}
.ame-dashboard-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(150px,.55fr))!important;
  gap:20px!important;
  align-items:stretch!important;
}
.ame-dashboard-grid>*{min-width:0;margin:0!important}
.ame-feature-card{grid-row:span 2}
.ame-stat-card{display:flex;flex-direction:column;justify-content:center}
.ame-stat-card strong{color:var(--ame-accent)!important;font-size:clamp(38px,4vw,56px)!important;line-height:1!important}
.ame-stat-card span{color:var(--ame-muted)!important;font-size:14px!important;margin-top:8px}

/* Learning path */
.ame-learning-path{padding:clamp(24px,3vw,36px)!important}
.ame-path-list{display:grid;gap:0!important}
.ame-path-item{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  gap:20px!important;
  padding:24px 0!important;
  border-bottom:1px solid var(--ame-line)!important;
  background:transparent!important;
  border-radius:0!important;
}
.ame-path-item:last-child{border-bottom:0!important}
.ame-path-number{
  width:42px;height:42px;display:grid;place-items:center;
  background:var(--ame-tint)!important;color:var(--ame-accent)!important;
  border:1px solid var(--ame-tint-line)!important;border-radius:50%!important;
  font-weight:800;
}
.ame-path-item.is-mastered .ame-path-number{background:var(--ame-signal)!important;color:#fff!important;border-color:var(--ame-signal)!important}
.ame-path-item.is-locked{opacity:.62}

/* Choices and assessment */
.ame-choice-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.ame-choice{
  min-height:58px!important;
  background:var(--ame-surface)!important;
  color:var(--ame-ink)!important;
  border:1px solid var(--ame-line)!important;
  border-radius:var(--ame-radius-md)!important;
  text-align:left!important;
  padding:16px 18px!important;
}
.ame-choice.is-selected{
  border-color:var(--ame-accent)!important;
  background:var(--ame-tint)!important;
  box-shadow:0 0 0 2px var(--ame-accent) inset!important;
}
.ame-progress{height:8px!important;background:var(--ame-line)!important;border-radius:999px!important;overflow:hidden}
.ame-progress span{background:var(--ame-accent)!important;height:100%;display:block;border-radius:999px!important}

/* Practice */
.ame-practice-head{display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:24px!important}
.ame-mastery-meter{
  background:var(--ame-tint)!important;border:1px solid var(--ame-tint-line)!important;
  border-radius:var(--ame-radius-md)!important;padding:20px 24px!important;min-width:150px
}
.ame-mastery-meter strong{color:var(--ame-accent)!important;font-size:42px!important;display:block;line-height:1!important}
.ame-question-card{margin-top:24px!important}
.ame-feedback-box,.ame-hint-box{border-radius:var(--ame-radius-sm)!important;padding:16px 18px!important}
.ame-hint-box{background:var(--ame-tint)!important;color:var(--ame-ink)!important}
.ame-feedback-box{background:#F3F7F5!important;color:var(--ame-ink)!important;border-left:4px solid var(--ame-signal)!important}

/* Documents and reports */
.ame-doc-hero,.ame-report-hero{
  display:flex!important;align-items:flex-end!important;justify-content:space-between!important;
  gap:24px!important;padding-bottom:28px!important;border-bottom:1px solid var(--ame-line)!important
}
.ame-document-grid,.ame-tool-grid,.ame-report-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important
}
.ame-tool-grid>a{
  display:block;background:var(--ame-surface)!important;color:var(--ame-ink)!important;
  border:1px solid var(--ame-line)!important;border-radius:var(--ame-radius-md)!important;
  padding:24px!important;text-decoration:none!important
}
.ame-tool-grid>a span{display:block;color:var(--ame-muted)!important;margin-top:8px}

/* Tutor LMS */
.tutor-wrap,.tutor-container{max-width:var(--ame-container)!important;padding-left:var(--ame-gutter)!important;padding-right:var(--ame-gutter)!important}
.tutor-card,.tutor-course-details-page .tutor-course-details-tab,
.tutor-course-details-page .tutor-course-details-ratings,
.tutor-course-details-page .tutor-course-details-widget{
  border-color:var(--ame-line)!important;border-radius:var(--ame-radius-md)!important;box-shadow:none!important
}
.tutor-btn-primary{background:var(--ame-accent)!important;border-color:var(--ame-accent)!important;color:#fff!important}
.tutor-color-primary{color:var(--ame-accent)!important}
.tutor-bg-primary{background:var(--ame-accent)!important}
.ame-lesson-support,.ame-course-intro{padding:clamp(24px,3vw,36px)!important;margin-block:28px!important}

/* Remove or neutralize intrusive floating widgets on learning pages */
body[class*="ame-page-"] .xpro-floating-elements,
body[class*="ame-page-"] .xpro-floating-button,
body[class*="ame-page-"] [class*="floating-button"]{
  display:none!important;
}

/* Tables */
.ame-app table{width:100%;border-collapse:collapse;background:var(--ame-surface)}
.ame-app th,.ame-app td{padding:14px 16px;border-bottom:1px solid var(--ame-line);text-align:left;vertical-align:top}
.ame-app th{color:var(--ame-ink);font-weight:800;background:var(--ame-tint)}

/* Responsive */
@media(max-width:900px){
  .ame-result-hero,.ame-result-grid,.ame-dashboard-grid{grid-template-columns:1fr!important}
  .ame-result-hero h1{max-width:none}
  .ame-feature-card{grid-row:auto}
  .ame-document-grid,.ame-tool-grid,.ame-report-grid{grid-template-columns:1fr!important}
  .ame-practice-head,.ame-doc-hero,.ame-report-hero,.ame-dashboard-head{align-items:flex-start!important;flex-direction:column!important}
}
@media(max-width:640px){
  body{font-size:16px}
  .ame-app{padding-inline:18px!important}
  .ame-app>section,.ame-app>.ame-panel,.ame-app>.ame-learning-path,.ame-app>.ame-dashboard{margin-block:24px!important}
  .ame-result-hero{padding:28px 22px!important;border-radius:14px!important;gap:28px!important}
  .ame-result-score{width:100%;padding:22px!important}
  .ame-result-grid{gap:16px!important}
  .ame-choice-grid{grid-template-columns:1fr!important}
  .ame-card,.ame-feature-card,.ame-question-card,.ame-document-card,.ame-stat-card,.ame-result-grid>article,.ame-panel,.ame-auth-card{padding:22px!important}
  .ame-path-item{grid-template-columns:42px minmax(0,1fr)!important;gap:14px!important}
  .ame-path-number{width:36px;height:36px}
  .ame-btn,.ame-app button,.elementor-button{width:100%;justify-content:center;text-align:center}
  .ame-inline-actions{display:grid!important;gap:10px!important}
  .ame-mobile-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))!important}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}

@media print{
  header,footer,.ame-mobile-nav,.ame-print-actions,.xpro-floating-elements{display:none!important}
  body{background:#fff!important}
  .ame-app{max-width:none!important;padding:0!important}
}


/* Critical dark-surface contrast corrections */
.ame-session-summary,
.ame-result-hero,
.ame-course-intro.is-deep,
.ame-certificate-sheet.is-deep {
  background:var(--ame-deep)!important;
  color:var(--ame-on-deep)!important;
}
.ame-session-summary h1,
.ame-session-summary h2,
.ame-session-summary h3,
.ame-session-summary strong,
.ame-session-summary .ame-kicker {
  color:var(--ame-on-deep)!important;
}
.ame-session-summary p,
.ame-session-summary span,
.ame-session-summary li {
  color:var(--ame-on-deep-body)!important;
}
.ame-session-summary .ame-kicker {
  color:var(--ame-on-deep-link)!important;
}
.ame-session-summary .ame-summary-grid>div {
  background:rgba(255,255,255,.06)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:var(--ame-radius-md)!important;
}
.ame-session-summary .ame-summary-grid strong {
  color:#FFFFFF!important;
}
.ame-session-summary .ame-summary-grid span {
  color:var(--ame-on-deep-body)!important;
}
.ame-session-summary .ame-btn-dark {
  background:transparent!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.34)!important;
}
.ame-session-summary .ame-btn-dark:hover,
.ame-session-summary .ame-btn-dark:focus-visible {
  background:rgba(255,255,255,.10)!important;
  color:#FFFFFF!important;
}
.ame-session-summary .ame-btn-primary {
  background:var(--ame-accent)!important;
  color:#FFFFFF!important;
}
.ame-session-summary {
  max-width:var(--ame-container)!important;
  margin-inline:auto!important;
  border-radius:var(--ame-radius-lg)!important;
  padding:clamp(32px,5vw,64px)!important;
}
@media (max-width:767px){
  .ame-session-summary{padding:28px 20px!important;border-radius:var(--ame-radius-md)!important}
}
