/* Ahl al-'Ilm redesign — severe monochrome family
   Loaded last so presentation can change without disturbing site behaviour. */

:root,
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0a0a09;
  --surface:#10100f;
  --surface-2:#161614;
  --paper:#11110f;
  --text:#f1f0eb;
  --text-soft:#b8b6af;
  --text-faint:#7e7c76;
  --rule:#2a2a26;
  --rule-strong:#3b3b35;
  --danger:#b69792;

  /* legacy aliases so old component CSS falls into the new system */
  --teal-900:var(--bg);
  --teal-800:var(--surface);
  --teal-700:var(--text);
  --teal-600:var(--text-soft);
  --gold:var(--text-soft);
  --gold-light:var(--text);
  --gold-dark:var(--text-soft);
  --cream:var(--surface-2);
  --border:var(--rule);
  --white:var(--paper);
  --radius:0;
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#f4f3ee;
  --surface:#ebeae4;
  --surface-2:#e3e2dc;
  --paper:#fbfaf6;
  --text:#11110f;
  --text-soft:#4f4e49;
  --text-faint:#77756e;
  --rule:#d2d0c7;
  --rule-strong:#b8b5aa;
  --danger:#765f5f;
  --teal-900:var(--text);
  --teal-800:var(--surface);
  --teal-700:var(--text);
  --teal-600:var(--text-soft);
  --gold:var(--text-soft);
  --gold-light:var(--text);
  --gold-dark:var(--text-soft);
  --cream:var(--surface-2);
  --border:var(--rule);
  --white:var(--paper);
  --radius:0;
}

html,body{background:var(--bg);color:var(--text)}
body{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
}
::selection{background:var(--text);color:var(--bg)}
a{color:var(--text);text-underline-offset:3px}
a:hover{color:var(--text-soft)}
h1,h2,h3,h4,h5,h6,
.page-hero h1,.welcome-band h1,.toolkit-h,.flashcard-face,
.part-toggle h2,.resource-card__title,.partner-card h2,.partner-card h3,
.login-card h1,.pmpro_login h1,.pmpro_login h2{
  font-family:"Barlow Condensed",Inter,sans-serif!important;
  color:var(--text)!important;
  font-weight:600!important;
  letter-spacing:.005em;
}
button,input,select,textarea{font:inherit}
input,select,textarea{
  background:var(--paper)!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  outline:1px solid var(--text)!important;
  outline-offset:1px!important;
  border-color:var(--text)!important;
  box-shadow:none!important;
}
input::placeholder,textarea::placeholder{color:var(--text-faint)!important}
button,.button,.wp-element-button,
input[type="submit"],input[type="button"],
.toolkit-btn,.toolkit-btn-ghost,.filter-pill{
  border-radius:0!important;
  box-shadow:none!important;
}

/* Header */
header.site{
  min-height:72px;
  padding:0 22px;
  background:var(--bg)!important;
  color:var(--text)!important;
  border-bottom:1px solid var(--rule-strong);
  flex-wrap:nowrap;
}
.brand{gap:10px}
.brand>a{display:flex;align-items:center}
.brand img,.brand .custom-logo{
  max-height:36px;
  width:auto;
  filter:brightness(0) invert(1);
}
:root[data-theme="light"] .brand img,
:root[data-theme="light"] .brand .custom-logo{filter:brightness(0)}
.brand .en{
  color:var(--text)!important;
  font-family:"Barlow Condensed",Inter,sans-serif;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
}
nav.main{margin-left:auto}
nav.main ul{gap:2px;align-items:center}
nav.main a{
  display:block;
  color:var(--text-soft)!important;
  padding:9px 10px;
  font-family:"Barlow Condensed",Inter,sans-serif;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
  border:1px solid transparent;
}
nav.main a:hover,
nav.main .current-menu-item>a,
nav.main .current_page_item>a{
  color:var(--text)!important;
  border-color:var(--rule-strong);
  background:transparent!important;
}
.user-chip{
  color:var(--text-soft)!important;
  margin-left:8px;
  font-size:.76rem;
}
.avatar{
  width:30px;height:30px;
  border-radius:0!important;
  background:var(--surface-2)!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong);
}
.theme-toggle{
  min-height:32px;
  padding:6px 9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-left:8px;
  background:transparent;
  color:var(--text);
  border:1px solid var(--rule-strong);
  border-radius:0;
  cursor:pointer;
  font-family:"Barlow Condensed",Inter,sans-serif;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.theme-toggle:hover{background:var(--text);color:var(--bg);border-color:var(--text)}
.menu-toggle span{background:var(--text)!important;border-radius:0!important}

/* Page identity */
.page-hero,.welcome-band{
  background:var(--bg)!important;
  color:var(--text)!important;
  border-bottom:1px solid var(--rule-strong);
  padding:48px 32px 42px;
}
.page-hero .sparkle,.login-sparkle{display:none!important}
.page-hero .eyebrow,.welcome-band .eyebrow,
.part-toggle .titles .eyebrow-sm,
.lesson-notes-grid label,.partner-form label,.reflection-form label,
.timetable-toolbar label,.resource-card__meta,.resource-type,
[class*="eyebrow"]{
  color:var(--text-faint)!important;
  font-family:"Barlow Condensed",Inter,sans-serif;
  font-weight:600!important;
  letter-spacing:.16em!important;
  text-transform:uppercase;
}
.page-hero h1,.welcome-band h1{
  font-size:clamp(2rem,4vw,3.5rem)!important;
  line-height:.95;
  margin-bottom:12px;
}
.page-hero p,.welcome-band p{color:var(--text-soft)!important}
.page-hero .gold-rule{width:84px;height:1px;background:var(--rule-strong)!important}

/* Footer */
footer.site{
  margin-top:64px;
  padding:28px 24px;
  background:var(--bg)!important;
  color:var(--text-faint)!important;
  border-top:1px solid var(--rule-strong);
}
footer.site .du3a{
  color:var(--text)!important;
  font-family:Amiri,"Noto Naskh Arabic",serif;
  font-size:1.05rem;
}
footer.site a{color:var(--text-soft)!important}

/* Shared cards / panels */
.toc,.part,.toolkit-section,.partner-form-section,.resource-card,
.resource-single,.pmpro_login,#pmpro_account,
.companion-card,.planner-card,.reflection-card,.partner-card,
.resource-filters,.filter-panel,.comments-area,
[class*="-card"]:not(.login-card){
  background:var(--paper)!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.part{margin-bottom:12px}
.part-toggle{
  background:transparent!important;
  color:var(--text)!important;
  border-radius:0!important;
}
.part-toggle:hover{background:var(--surface-2)!important}
.part-toggle .badge{
  border-radius:0!important;
  background:var(--surface-2)!important;
  color:var(--text-soft)!important;
  border-color:var(--rule)!important;
}
.part-toggle h2{font-size:1.18rem!important}
.part-body,.part-body p,.part-body li{color:var(--text-soft)!important}
h3.section-h{
  font-family:"Barlow Condensed",Inter,sans-serif!important;
  color:var(--text)!important;
  border-left:1px solid var(--text)!important;
  font-size:1.05rem;
}
.toc{padding:8px 0}
.toc .toc-label{color:var(--text-faint)!important}
.toc a{
  color:var(--text-soft)!important;
  border-left:2px solid transparent!important;
}
.toc a .num{color:var(--text-faint)!important}
.toc a:hover{background:var(--surface-2)!important;color:var(--text)!important}
.toc a.active{
  background:var(--surface-2)!important;
  color:var(--text)!important;
  border-left-color:var(--text)!important;
}
.toc hr{border-color:var(--rule)!important}

/* Buttons */
.toolkit-btn,.comment-form input[type="submit"],
.pmpro_btn,.pmpro_btn-submit,input[type="submit"],
.filter-pill,.resource-button,.partner-form button,
.timetable-actions button,.planner button{
  background:transparent!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong)!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-weight:600;
}
.toolkit-btn:hover,.comment-form input[type="submit"]:hover,
.pmpro_btn:hover,.pmpro_btn-submit:hover,input[type="submit"]:hover,
.filter-pill:hover,.resource-button:hover,.partner-form button:hover,
.timetable-actions button:hover,.planner button:hover{
  background:var(--text)!important;
  color:var(--bg)!important;
  border-color:var(--text)!important;
}
.toolkit-btn-ghost{
  background:transparent!important;
  color:var(--text-soft)!important;
  border:1px solid var(--rule)!important;
}
.toolkit-btn-ghost:hover{color:var(--text)!important;border-color:var(--text)!important}
.filter-pill.active,.filter-pill.is-active{
  background:var(--text)!important;
  color:var(--bg)!important;
  border-color:var(--text)!important;
}

/* Resource / archive content */
.resource-archive,.resource-single,.partner-page,.toolkit-page,.timetable-page{
  color:var(--text);
}
.resource-card__title,.resource-card h2,.resource-card h3{color:var(--text)!important}
.resource-card__summary,.resource-card p,.resource-single p,
.partner-card p,.toolkit-sub{color:var(--text-soft)!important}
.resource-card__meta,.partner-tags,.resource-tags{color:var(--text-faint)!important}
.resource-grid,.partner-grid{gap:14px}
.resource-card,.partner-card{padding:20px!important}

/* Toolkit */
.toolkit-section{padding:24px}
.toolkit-h{font-size:1.4rem!important}
.streak-stat .num{
  font-family:"Barlow Condensed",Inter,sans-serif!important;
  color:var(--text)!important;
}
.streak-cell{
  border-radius:0!important;
  background:var(--surface-2)!important;
  border-color:var(--rule)!important;
}
.streak-cell.filled{
  background:var(--text-soft)!important;
  border-color:var(--text-soft)!important;
}
.flashcard-face{
  border-radius:0!important;
  border:1px solid var(--rule-strong)!important;
}
.flashcard-front{background:var(--paper)!important;color:var(--text)!important}
.flashcard-back{background:var(--text)!important;color:var(--bg)!important}
.flashcard-list .fc-term{color:var(--text)!important}
.flashcard-list .fc-meaning{color:var(--text-soft)!important}

/* Timetable */
table.timetable-grid th{
  background:var(--text)!important;
  color:var(--bg)!important;
  border-radius:0!important;
}
.tt-row-label{
  background:var(--surface-2)!important;
  color:var(--text)!important;
}
.tt-cell-input{background:var(--paper)!important;color:var(--text)!important}
.tt-cell-input:focus{background:var(--surface-2)!important;box-shadow:inset 0 0 0 1px var(--text)!important}
.tt-cell-input.filled{
  background:var(--text-soft)!important;
  color:var(--bg)!important;
}
.legend-swatch{border-radius:0!important}
.legend-swatch.free{background:var(--paper)!important;border-color:var(--rule-strong)!important}
.legend-swatch.busy{background:var(--text-soft)!important;border-color:var(--text-soft)!important}

/* Community / discussion */
.lesson-notes,.lesson-discussion{border-color:var(--rule)!important}
.lesson-discussion .comment-list li{border-color:var(--rule)!important}
.subject-check{color:var(--text-soft)!important}

/* Login */
body.ahlalilm-login-page{
  min-height:100vh;
  background:var(--bg)!important;
  color:var(--text)!important;
}
.login-stage{
  max-width:980px;
  background:var(--bg)!important;
  border:1px solid var(--rule-strong);
  border-radius:0!important;
  padding:68px 40px 54px;
}
.login-logo img{
  filter:brightness(0) invert(1);
  max-width:190px;
}
:root[data-theme="light"] .login-logo img{filter:brightness(0)}
.login-wordmark-en{
  color:var(--text)!important;
  font-family:"Barlow Condensed",Inter,sans-serif;
  letter-spacing:.18em;
}
.login-tagline,.login-sub,.login-footnote,.login-below-card{color:var(--text-soft)!important}
.login-card{
  max-width:390px;
  background:var(--paper)!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong);
  border-radius:0!important;
  box-shadow:none!important;
  padding:34px 32px;
}
.login-card h1{font-size:1.65rem!important}
#loginform label{color:var(--text-faint)!important}
#loginform input.input{
  background:var(--bg)!important;
  color:var(--text)!important;
  border-color:var(--rule-strong)!important;
  border-radius:0!important;
}
#loginform input.input:focus{border-color:var(--text)!important;box-shadow:none!important}
#loginform p.login-remember,#loginform p.login-remember label{color:var(--text-soft)!important}
.login-divider{color:var(--text-faint)!important}
.login-divider:before,.login-divider:after{background:var(--rule)!important}
.login-lost a{color:var(--text-soft)!important}
.login-theme-toggle{position:fixed;top:18px;right:18px;z-index:50}

/* PMP */
body.ahlalilm-pmp-login{background:var(--bg)!important}
body.ahlalilm-pmp-login #pmpro_account,
body.ahlalilm-pmp-login .pmpro_login{
  background:var(--paper)!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong);
  border-radius:0!important;
  box-shadow:none!important;
}
body.ahlalilm-pmp-login input[type="text"],
body.ahlalilm-pmp-login input[type="email"],
body.ahlalilm-pmp-login input[type="password"]{
  background:var(--bg)!important;
  color:var(--text)!important;
  border-color:var(--rule-strong)!important;
  border-radius:0!important;
}

/* Arabic */
[dir="rtl"],.arabic,.du3a{font-family:Amiri,"Noto Naskh Arabic",serif}

/* Responsive */
@media(max-width:860px){
  header.site{padding:0 16px}
  .brand .en{display:none}
  .theme-toggle{margin-left:auto}
  nav.main{
    background:var(--surface)!important;
    border-top:1px solid var(--rule-strong);
    border-bottom:1px solid var(--rule-strong);
    box-shadow:none!important;
  }
  nav.main a{
    border-bottom:1px solid var(--rule)!important;
    padding:14px 20px;
  }
  .user-chip{margin-left:6px}
}
@media(max-width:640px){
  .page-hero,.welcome-band{padding:36px 20px 32px}
  .layout{padding:24px 16px 56px;gap:20px}
  .login-stage{padding:58px 18px 36px;border-left:0;border-right:0}
  .login-card{padding:28px 22px}
  .login-theme-toggle{top:12px;right:12px}
}

/* Focus */
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:1px solid var(--text)!important;
  outline-offset:2px!important;
}


/* Ahl PMP login — exact component skin, scoped to this theme/site. */
body.pmpro-login{
  background:var(--bg)!important;
  color:var(--text)!important;
}
body.pmpro-login .pmpro{
  max-width:640px;
  margin:48px auto 72px;
  padding:0 24px;
}
body.pmpro-login #pmpro_login{
  background:transparent!important;
  color:var(--text)!important;
}
body.pmpro-login .pmpro_card,
body.pmpro-login .pmpro_login_wrap{
  background:var(--paper)!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong)!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden;
}
body.pmpro-login .pmpro_card_content{
  background:var(--paper)!important;
  color:var(--text)!important;
  padding:30px!important;
}
body.pmpro-login .pmpro_card_actions{
  background:var(--surface)!important;
  color:var(--text-soft)!important;
  border-top:1px solid var(--rule)!important;
  padding:14px 30px!important;
}
body.pmpro-login .pmpro_card_actions a{
  color:var(--text-soft)!important;
}
body.pmpro-login .pmpro_card_actions a:hover{
  color:var(--text)!important;
}
body.pmpro-login #loginform p{
  margin:0 0 18px!important;
}
body.pmpro-login #loginform label{
  display:block;
  margin:0 0 6px!important;
  color:var(--text-soft)!important;
  font-size:.82rem;
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
}
body.pmpro-login #loginform input.input{
  width:100%;
  min-height:44px;
  background:var(--bg)!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong)!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0 12px!important;
}
body.pmpro-login #loginform input.input:focus{
  border-color:var(--text)!important;
  outline:1px solid var(--text)!important;
  outline-offset:1px;
}
body.pmpro-login #loginform .login-remember label{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--text-soft)!important;
}
body.pmpro-login #loginform input[type="checkbox"]{
  accent-color:var(--text);
}
body.pmpro-login #wp-submit{
  width:100%;
  min-height:44px;
  background:transparent!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong)!important;
  border-radius:0!important;
  font-family:"Barlow Condensed",Inter,sans-serif!important;
  font-weight:600!important;
  letter-spacing:.06em;
  text-transform:uppercase;
}
body.pmpro-login #wp-submit:hover{
  background:var(--text)!important;
  color:var(--bg)!important;
  border-color:var(--text)!important;
}
body.pmpro-login .pmpro_form_field-password-toggle{
  color:var(--text-soft)!important;
}
body.pmpro-login .pmpro_form_field-password-toggle button,
body.pmpro-login .pmpro_btn-plain{
  color:var(--text-soft)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.pmpro-login .pmpro_form_field-password-toggle button:hover,
body.pmpro-login .pmpro_btn-plain:hover{
  color:var(--text)!important;
  background:transparent!important;
}
body.pmpro-login .pmpro_form_field-password-toggle svg{
  stroke:currentColor!important;
}
body.pmpro-login h1,
body.pmpro-login h2,
body.pmpro-login .pmpro_heading{
  color:var(--text)!important;
  font-family:"Barlow Condensed",Inter,sans-serif!important;
}
:root[data-theme="dark"] body.pmpro-login{
  --pmpro--color--base:var(--paper)!important;
  --pmpro--color--contrast:var(--text)!important;
  --pmpro--color--accent:var(--text-soft)!important;
  --pmpro--color--border--variation:var(--rule)!important;
}
:root[data-theme="light"] body.pmpro-login{
  --pmpro--color--base:var(--paper)!important;
  --pmpro--color--contrast:var(--text)!important;
  --pmpro--color--accent:var(--text-soft)!important;
  --pmpro--color--border--variation:var(--rule)!important;
}


/* Companion callout/surface hardening — remove legacy hard-coded cream/white islands. */
.mini-card,
.feature-card,
.num-card,
.quote-box,
.compare-card,
.story-box,
.chart-box,
.setup-box,
.reminder-strip{
  border-radius:0!important;
  box-shadow:none!important;
}

/* Dark: secondary content should sit quietly in charcoal, never pasted-white paper. */
:root[data-theme="dark"] .mini-card,
:root[data-theme="dark"] .quote-box,
:root[data-theme="dark"] .compare-card.muted,
:root[data-theme="dark"] .compare-card.gold,
:root[data-theme="dark"] .story-box,
:root[data-theme="dark"] .chart-box,
:root[data-theme="dark"] .setup-box,
:root[data-theme="dark"] .reminder-strip{
  background:#171715!important;
  color:var(--text-soft)!important;
  border-color:var(--rule-strong)!important;
}
:root[data-theme="dark"] .feature-card,
:root[data-theme="dark"] .num-card{
  background:#121210!important;
  color:var(--text-soft)!important;
  border-color:var(--rule)!important;
}

/* Light: use a defined grey paper so text remains legible against the page. */
:root[data-theme="light"] .mini-card,
:root[data-theme="light"] .quote-box,
:root[data-theme="light"] .compare-card.muted,
:root[data-theme="light"] .compare-card.gold,
:root[data-theme="light"] .story-box,
:root[data-theme="light"] .chart-box,
:root[data-theme="light"] .setup-box,
:root[data-theme="light"] .reminder-strip{
  background:#e9e7df!important;
  color:#22221f!important;
  border-color:var(--rule-strong)!important;
}
:root[data-theme="light"] .feature-card,
:root[data-theme="light"] .num-card{
  background:#f7f6f1!important;
  color:#22221f!important;
  border-color:var(--rule-strong)!important;
}

/* Strong, theme-aware foregrounds inside all these callouts. */
.mini-card .t,
.feature-card h4,
.num-card h4,
.quote-box p,
.compare-card h4,
.story-box p,
.setup-item .t,
.reminder-strip{
  color:var(--text)!important;
}
.mini-card .d,
.feature-card p,
.num-card p,
.quote-box .src,
.compare-card p,
.setup-item .d,
.chart-box .chart-caption{
  color:var(--text-soft)!important;
}
.quote-box .label,
.story-box .label,
.feature-card .kicker,
.subhead-strip,
.cta-box .label{
  color:var(--text-faint)!important;
}

/* Number badges: monochrome rather than inherited gold. */
.num-card .num-badge{
  background:var(--surface-2)!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong)!important;
  border-radius:0!important;
}

/* Companion tables had hard-coded pale striped rows. */
:root[data-theme="dark"] table.content-table tr:nth-child(even) td{
  background:#151513!important;
}
:root[data-theme="light"] table.content-table tr:nth-child(even) td{
  background:#eceae3!important;
}
table.content-table td{
  color:var(--text-soft)!important;
  border-bottom-color:var(--rule)!important;
}
table.content-table th{
  background:var(--text)!important;
  color:var(--bg)!important;
  border-radius:0!important;
}

/* CTA blocks become strong monochrome anchors instead of teal/cream. */
.cta-box{
  background:var(--text)!important;
  color:var(--bg)!important;
  border:1px solid var(--text)!important;
  border-radius:0!important;
}
.cta-box .label{
  color:var(--bg)!important;
  opacity:.7;
}

/* Planner cells/row labels also need explicit theme surfaces. */
.planner-table td.row-label{
  background:var(--surface-2)!important;
  color:var(--text)!important;
}
.planner-table input[type="text"]{
  color:var(--text)!important;
  background:var(--paper)!important;
}
.planner-table input[type="text"]:focus{
  background:var(--surface-2)!important;
  box-shadow:inset 0 0 0 1px var(--text)!important;
}

/* Keep the primary site ribbon visible while scrolling. */
header.site{
  position:sticky;
  top:0;
  z-index:1000;
}

/* === AHL login refinement: quiet, centred, monochrome === */
body.ahlalilm-login-page{
  min-height:100vh;
  margin:0!important;
  padding:32px 20px!important;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--bg)!important;
}
body.ahlalilm-login-page .login-theme-toggle{
  position:fixed;
  top:18px;
  right:18px;
  z-index:50;
}
.login-stage{
  width:min(100%,720px)!important;
  max-width:720px!important;
  margin:0 auto!important;
  padding:40px 28px 30px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  overflow:visible!important;
  text-align:center;
}
.login-sparkle{display:none!important}
.login-logo{margin:0 auto 16px!important}
.login-logo .custom-logo-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.login-logo img,
.login-logo .custom-logo{
  width:auto!important;
  height:96px!important;
  max-width:280px!important;
  margin:0 auto!important;
  filter:brightness(0) invert(1);
}
:root[data-theme="light"] .login-logo img,
:root[data-theme="light"] .login-logo .custom-logo{filter:brightness(0)}
.login-wordmark-en{display:none!important}
.login-tagline{
  margin:0 auto 30px!important;
  color:var(--text-faint)!important;
  font-family:"Barlow Condensed",Inter,sans-serif!important;
  font-size:.72rem!important;
  font-weight:600!important;
  letter-spacing:.16em!important;
  text-transform:uppercase;
}
.login-card{
  width:100%!important;
  max-width:410px!important;
  box-sizing:border-box!important;
  margin:0 auto!important;
  padding:32px 32px 28px!important;
  background:var(--paper)!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong)!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-align:left!important;
}
.login-card h1{
  margin:0 0 8px!important;
  font-size:2rem!important;
  line-height:1!important;
  text-align:center;
}
.login-sub{
  max-width:330px;
  margin:0 auto 26px!important;
  color:var(--text-soft)!important;
  font-size:.8rem!important;
  line-height:1.55!important;
  text-align:center;
}
#loginform p{margin:0 0 17px!important}
#loginform label{
  color:var(--text-faint)!important;
  font-family:"Barlow Condensed",Inter,sans-serif!important;
  font-size:.68rem!important;
  font-weight:600!important;
  letter-spacing:.14em!important;
}
#loginform input.input{
  width:100%!important;
  height:46px!important;
  box-sizing:border-box!important;
  padding:0 13px!important;
  background:var(--bg)!important;
  color:var(--text)!important;
  border:1px solid var(--rule-strong)!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#loginform p.login-remember{margin:2px 0 19px!important}
#loginform p.login-remember label{
  color:var(--text-soft)!important;
  font-family:Inter,sans-serif!important;
  font-size:.73rem!important;
  font-weight:400!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
#loginform input#wp-submit{
  width:100%!important;
  height:46px!important;
  background:var(--text)!important;
  color:var(--bg)!important;
  border:1px solid var(--text)!important;
  border-radius:0!important;
  font-family:"Barlow Condensed",Inter,sans-serif!important;
  font-size:.82rem!important;
  font-weight:600!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
}
#loginform input#wp-submit:hover{
  background:transparent!important;
  color:var(--text)!important;
}
.login-lost{
  margin:10px 0 0!important;
  text-align:center!important;
  font-size:.72rem!important;
}
.login-lost a{color:var(--text-soft)!important;text-decoration:none!important}
.login-lost a:hover{color:var(--text)!important;text-decoration:underline!important}
.login-divider{
  margin:22px 0 17px!important;
  color:var(--text-faint)!important;
}
.login-divider::before,.login-divider::after{background:var(--rule)!important}
.login-footnote{
  margin:0!important;
  color:var(--text-soft)!important;
  font-size:.73rem!important;
  line-height:1.5!important;
  text-align:center!important;
}
.login-footnote strong{color:var(--text)!important;font-weight:600!important}
.login-below-card{
  margin:24px auto 0!important;
  padding:0!important;
  border:0!important;
  color:var(--text-faint)!important;
  font-family:Amiri,"Noto Naskh Arabic",serif!important;
  font-size:.84rem!important;
  letter-spacing:0!important;
}
@media(max-width:520px){
  body.ahlalilm-login-page{padding:24px 14px!important}
  .login-stage{padding:42px 0 24px!important}
  .login-logo img,.login-logo .custom-logo{height:78px!important}
  .login-card{padding:28px 22px 24px!important}
}

/* === AHL login v2: borderless editorial entrance === */
body.ahlalilm-login-page{
  padding:28px 20px!important;
}
body.ahlalilm-login-page .login-theme-toggle{
  top:18px!important;
  right:18px!important;
  padding:7px 9px!important;
  border-color:var(--rule)!important;
  background:transparent!important;
  font-size:.62rem!important;
  opacity:.78;
}
.login-stage{
  width:min(100%,560px)!important;
  max-width:560px!important;
  padding:20px 24px!important;
}
.login-logo{
  margin:0 auto 8px!important;
}
.login-logo img,
.login-logo .custom-logo{
  height:128px!important;
  max-width:360px!important;
}
.login-tagline{
  margin:0 auto 24px!important;
  font-size:.66rem!important;
  letter-spacing:.2em!important;
  opacity:.72;
}
.login-card{
  width:100%!important;
  max-width:430px!important;
  margin:0 auto!important;
  padding:0 14px!important;
  background:transparent!important;
  border:0!important;
}
.login-card h1{
  margin:0 0 7px!important;
  font-size:1.62rem!important;
  line-height:1.05!important;
  font-weight:600!important;
}
.login-sub{
  max-width:350px!important;
  margin:0 auto 24px!important;
  font-size:.76rem!important;
  line-height:1.55!important;
}
#loginform p{
  margin:0 0 18px!important;
}
#loginform label{
  display:block;
  margin-bottom:7px!important;
  font-size:.63rem!important;
  letter-spacing:.17em!important;
}
#loginform input.input{
  height:40px!important;
  padding:0 2px!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid var(--rule-strong)!important;
  outline:0!important;
}
#loginform input.input:focus{
  border-bottom-color:var(--text)!important;
  box-shadow:none!important;
}
#loginform p.login-remember{
  margin:0 0 18px!important;
}
#loginform input#wp-submit{
  height:44px!important;
  margin-top:1px!important;
}
.login-lost{
  margin:11px 0 0!important;
}
.login-divider{
  margin:21px 0 15px!important;
}
.login-divider span{
  padding:0 12px!important;
  background:var(--bg)!important;
}
.login-footnote{
  max-width:350px!important;
  margin:0 auto!important;
}
.login-below-card{
  width:auto!important;
  max-width:430px!important;
  margin:27px auto 0!important;
  padding:0!important;
  border:0!important;
  font-size:.9rem!important;
  line-height:1.65!important;
  opacity:.78;
}
@media(max-width:520px){
  .login-stage{padding:28px 4px 20px!important}
  .login-logo img,.login-logo .custom-logo{height:104px!important}
  .login-card{padding:0 10px!important}
  .login-card h1{font-size:1.48rem!important}
}

/* Login du'a: modern, unboxed closing note. */
.login-below-card{
  border:0!important;
  background:transparent!important;
  font-family:Inter,system-ui,sans-serif!important;
  font-size:.7rem!important;
  font-weight:400!important;
  letter-spacing:.035em!important;
  color:var(--text-faint)!important;
  opacity:.72!important;
}

/* Final login spacing: separate the closing du'a from account guidance. */
.login-below-card{
  margin-top:32px!important;
  margin-bottom:14px!important;
}

/* Give the closing du'a itself breathing room inside its subtle rule. */
.login-below-card{
  padding-top:9px!important;
  padding-bottom:9px!important;
}
