/* KitabGrid — mandatory common design system. Reference: design-reference.png */
:root {
  --color-primary: #08783f;
  --color-primary-dark: #056532;
  --color-primary-soft: #eaf5ee;
  --color-primary-pale: #f2f8f4;
  --color-cream: #faf7f1;
  --color-paper: #ffffff;
  --color-text: #101411;
  --color-muted: #59615b;
  --color-border: #e5e5df;
  --color-line: #ecece7;
  --shadow-soft: 0 6px 22px rgba(29, 55, 37, .07);
  --shadow-card: 0 2px 10px rgba(29, 55, 37, .04);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --container: 1456px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --control-height: 44px;
  --content-narrow: 760px;
  --font-sans: Inter, Aptos, "Segoe UI", Arial, sans-serif;
  --font-serif: Georgia, "Times New Roman", serif;
  --transition: 180ms ease;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--color-text); background: var(--color-paper); font-family: var(--font-sans); font-size: 15px; line-height: 1.5; }
body.is-soft-contrast { filter: contrast(.96); background: var(--color-cream); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, .button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(8,120,63,.28); outline-offset: 3px; }
.container { width: min(calc(100% - 80px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; left: 16px; top: -60px; padding: 10px 16px; border-radius: var(--radius-sm); background: var(--color-primary); color: #fff; transition: top var(--transition); }
.skip-link:focus { top: 12px; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Reusable controls */
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 20px; border: 1px solid transparent; border-radius: var(--radius-sm); font-weight: 600; transition: background var(--transition), border-color var(--transition), transform var(--transition); cursor: pointer; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: #fff; background: var(--color-primary); }
.button-primary:hover { background: var(--color-primary-dark); }
.button-secondary { color: var(--color-primary); background: var(--color-primary-pale); border-color: #cfe4d6; }
.button-quiet { color: var(--color-primary); background: transparent; }
.icon-button { width: 42px; height: 42px; display: inline-grid; place-items: center; padding: 0; color: var(--color-text); background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-sm); cursor: pointer; }
.icon-button svg { width: 21px; height: 21px; }
.tag, .badge { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 12px; color: #3f453f; background: #efefe9; border-radius: 999px; font-size: 12px; }
.panel, .card { background: var(--color-paper); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-card); }
input, select, textarea { width: 100%; min-height: 44px; padding: 10px 14px; color: var(--color-text); background: #fff; border: 1px solid #dcded9; border-radius: var(--radius-sm); }
textarea { min-height: 120px; resize: vertical; }
input[type="checkbox"] { width: 18px; min-height: 18px; accent-color: var(--color-primary); }
label { font-weight: 600; }
.field { display: grid; gap: 7px; }
.alert { display: grid; gap: 3px; padding: 12px 15px; border: 1px solid #cfe4d6; border-radius: var(--radius-sm); color: var(--color-primary-dark); background: var(--color-primary-pale); }
.alert-success { border-color: #bcdcc7; background: #edf8f1; }
.alert-warning { color: #644d13; border-color: #e5d7ad; background: #fbf7e9; }
.alert-error { color: #7c302d; border-color: #e4c1bf; background: #fcf2f1; }
.badge-success { color: var(--color-primary-dark); background: var(--color-primary-soft); }
.badge-warning { color: #644d13; background: #f5eed8; }
.badge-error { color: #7c302d; background: #f8e7e5; }
.field-help { color: var(--color-muted); font-size: 12px; font-weight: 400; }
.field-error { color: #7c302d; font-size: 12px; }
.is-invalid { border-color: #ba625c; }
.table-wrap { overflow-x: auto; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
.data-table { width: 100%; border-collapse: collapse; }
.data-table th, .data-table td { padding: 12px 14px; border-bottom: 1px solid var(--color-line); text-align: left; }
.data-table th { background: var(--color-primary-pale); }
.data-table tbody tr:last-child td { border-bottom: 0; }
.tabs { display: flex; gap: 4px; overflow-x: auto; padding-bottom: 2px; border-bottom: 1px solid var(--color-border); }
.tab { flex: 0 0 auto; padding: 10px 14px; color: var(--color-muted); border: 0; border-bottom: 2px solid transparent; background: transparent; cursor: pointer; }
.tab:hover, .tab[aria-selected="true"] { color: var(--color-primary); border-bottom-color: var(--color-primary); }
.filters { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-chip { min-height: 34px; padding: 6px 13px; color: #3f453f; border: 1px solid var(--color-border); border-radius: 999px; background: #fff; cursor: pointer; }
.filter-chip[aria-pressed="true"] { color: var(--color-primary-dark); border-color: #bcdcc7; background: var(--color-primary-soft); }
.pagination { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pagination-link { min-height: 38px; display: inline-flex; align-items: center; padding: 7px 13px; color: var(--color-primary); border: 1px solid #cfe4d6; border-radius: var(--radius-sm); background: #fff; font-weight: 600; }
.pagination-link.is-disabled { color: #8b918c; border-color: var(--color-border); pointer-events: none; }
.pagination-status { color: var(--color-muted); font-size: 12px; }
.empty-state { max-width: var(--content-narrow); display: grid; justify-items: center; gap: 9px; margin-inline: auto; padding: 44px 24px; text-align: center; border: 1px dashed #cfd8d1; border-radius: var(--radius-lg); background: var(--color-primary-pale); }
.empty-state h2, .empty-state p { margin: 0; }
.empty-state p { color: var(--color-muted); }
.empty-state-icon { color: var(--color-primary); }
.loading-line { height: 12px; border-radius: 999px; background: linear-gradient(90deg, #edf1ee 25%, #f8faf8 50%, #edf1ee 75%); background-size: 200% 100%; animation: loading 1.5s infinite; }
@keyframes loading { to { background-position: -200% 0; } }
.modal { width: min(calc(100% - 28px), 540px); padding: 0; color: var(--color-text); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-soft); }
.modal::backdrop { background: rgba(16, 20, 17, .42); }
.modal-header, .modal-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 18px; }
.modal-header { border-bottom: 1px solid var(--color-line); }
.modal-header h2 { margin: 0; font-family: var(--font-serif); font-size: 20px; }
.modal-body { padding: 18px; }
.modal-actions { justify-content: flex-end; border-top: 1px solid var(--color-line); }
.password-control { position: relative; display: block; margin-top: 7px; }
.password-control input { padding-right: 52px; }
.password-toggle { position: absolute; top: 1px; right: 1px; width: 43px; height: 42px; color: var(--color-primary); border: 0; border-left: 1px solid var(--color-border); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; background: var(--color-primary-pale); cursor: pointer; }
.staff-page { display: grid; gap: 18px; padding-block: 38px; }
.staff-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.staff-heading h1, .auth-card h1 { margin: 0; font-family: var(--font-serif); }
.staff-heading p { margin: 4px 0 0; color: var(--color-muted); }
.staff-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.staff-actions form { margin: 0; }
.auth-page { min-height: 60vh; display: grid; place-items: center; padding: 48px 14px; background: var(--color-cream); }
.auth-card { width: min(100%, 520px); display: grid; gap: 16px; padding: 28px; background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); }
.auth-card-wide { width: min(100%, 680px); }
.auth-card form { display: grid; gap: 16px; }
.auth-card label { display: grid; gap: 7px; }
.eyebrow { margin: 0; color: var(--color-primary); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.table-subtext { display: block; color: var(--color-muted); font-size: 12px; font-weight: 400; }
.management-popover { width: min(360px,80vw); display: grid; gap: 16px; margin-top: 8px; padding: 14px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; box-shadow: var(--shadow-soft); }
.management-popover form { display: grid; gap: 10px; }
fieldset { padding: 14px; border: 1px solid var(--color-border); border-radius: var(--radius-md); }
legend { padding: 0 7px; font-weight: 700; }
.role-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.role-grid label, .management-popover fieldset label { display: flex; align-items: center; gap: 7px; font-weight: 500; }
.invitation-result { display: grid; gap: 8px; background: var(--color-primary-pale); }
.invitation-result h2,.invitation-result p { margin: 0; }
.copy-row { display: grid; grid-template-columns: 1fr auto; gap: 8px; }

/* Header */
.site-header { position: relative; z-index: 20; height: 65px; background: rgba(255,255,255,.98); border-bottom: 1px solid #f0f0ec; }
.header-inner { height: 100%; display: grid; grid-template-columns: 245px 1fr auto; align-items: center; gap: 22px; }
.brand { display: flex; align-items: center; gap: 12px; color: var(--color-primary); }
.brand img { width: 43px; height: 44px; object-fit: contain; }
.brand span { display: grid; line-height: 1.12; }
.brand strong { font-size: 20px; font-weight: 650; }
.brand small { margin-top: 4px; color: var(--color-muted); font-size: 11px; }
.primary-nav { display: flex; justify-content: center; align-items: center; gap: clamp(24px, 2.5vw, 40px); }
.primary-nav a { position: relative; padding-block: 22px; font-size: 14px; white-space: nowrap; }
.primary-nav a::after { content: ""; position: absolute; height: 2px; left: 50%; right: 50%; bottom: 12px; background: var(--color-primary); transition: left var(--transition), right var(--transition); }
.primary-nav a:hover::after { left: 10%; right: 10%; }
.header-actions { display: flex; align-items: center; gap: 14px; }
.staff-portal-link{font-size:12px;font-weight:700;color:var(--color-muted);white-space:nowrap;text-decoration:none}.staff-portal-link:hover,.staff-portal-link:focus-visible{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}
.mobile-nav-tools { display: none; }
.language-button { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 5px 2px; border: 0; background: transparent; cursor: pointer; }
.menu-toggle { display: none; }

/* Hero */
.hero { min-height: 371px; background: linear-gradient(90deg, rgba(250,247,241,.98) 0%, rgba(250,247,241,.88) 34%, rgba(250,247,241,.04) 67%), url('/assets/img/hero-quran.jpg') center/cover no-repeat; }
.hero-grid { min-height: 371px; display: grid; grid-template-columns: minmax(480px, 1fr) 300px; align-items: center; gap: 70px; padding-block: 20px; }
.hero-copy { max-width: 590px; }
.hero-copy h1 { margin: 0 0 14px; font-family: var(--font-serif); font-size: clamp(46px, 4.1vw, 54px); line-height: 1.02; letter-spacing: -.8px; }
.hero-copy > p { margin: 0 0 19px; font-size: 16px; line-height: 1.55; }
.search-form { display: grid; grid-template-columns: 1fr 50px; max-width: 470px; height: 48px; background: #fff; border: 1px solid #d6d7d2; border-radius: var(--radius-sm); box-shadow: 0 2px 8px rgba(35,55,41,.08); overflow: hidden; }
.search-form input { min-height: 0; padding: 0 17px; border: 0; border-radius: 0; background: transparent; outline: 0; }
.search-form button { display: grid; place-items: center; padding: 0; color: #fff; border: 0; background: var(--color-primary); cursor: pointer; }
.search-form button:hover { background: var(--color-primary-dark); }
.search-form svg { width: 21px; height: 21px; }
.popular-searches { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 13px; font-size: 12px; }
.popular-searches button { padding: 4px 12px; color: #363a36; border: 1px solid #d9dad5; border-radius: 999px; background: rgba(247,247,244,.9); cursor: pointer; }
.popular-searches button:hover { border-color: var(--color-primary); color: var(--color-primary); }
.search-message { min-height: 18px; margin-top: 7px !important; color: var(--color-primary); font-size: 12px !important; }
.search-page { max-width: 980px; padding-block: 54px 72px; }
.search-page-heading { max-width: 700px; margin-bottom: 28px; }
.search-page-heading h1 { margin: 4px 0 8px; font-family: var(--font-heading); font-size: clamp(2.1rem,4vw,3.25rem); }
.search-page-heading p:last-child { margin: 0; color: var(--color-muted); }
.search-page-form { display: grid; grid-template-columns: minmax(220px,1fr) 190px auto; gap: 10px; padding: 12px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 12px 35px rgba(35,55,41,.08); }
.search-page-form input,.search-page-form select { min-height: 50px; border: 1px solid #d6d7d2; border-radius: var(--radius-sm); background: #fff; }
.search-page-form .button { min-height: 50px; padding-inline: 26px; }
.search-summary { display: flex; justify-content: space-between; align-items: center; margin: 30px 0 14px; color: var(--color-muted); }
.search-summary strong { color: var(--color-text); font-size: 1.25rem; }
.search-result-list { display: grid; gap: 14px; }
.search-result-card { padding: 24px 26px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: linear-gradient(135deg,#fff 72%,var(--color-primary-pale)); box-shadow: 0 6px 22px rgba(35,55,41,.05); transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.search-result-card:hover { transform: translateY(-2px); border-color: #bbd4c2; box-shadow: 0 12px 30px rgba(35,55,41,.1); }
.search-result-card h2 { margin: 12px 0 8px; font-family: var(--font-heading); font-size: 1.35rem; }
.search-result-card h2 a { color: var(--color-text); text-decoration: none; }
.search-result-card h2 a:hover { color: var(--color-primary); }
.search-result-card p { max-width: 760px; margin: 0 0 15px; color: var(--color-muted); line-height: 1.7; }
.search-result-meta { display: flex; gap: 10px; align-items: center; color: var(--color-muted); font-size: .82rem; }
.search-empty { display: grid; justify-items: center; max-width: 760px; gap: 9px; margin: 34px auto 0; padding: 48px 28px; text-align: center; border: 1px solid #cbdccf; border-radius: 22px; background: radial-gradient(circle at top,var(--color-primary-pale),#fff 75%); box-shadow: 0 12px 35px rgba(35,55,41,.07); }
.search-empty-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 5px; color: #fff; border-radius: 50%; background: var(--color-primary); font-size: 2rem; }
.search-empty h2,.search-empty p { margin: 0; }
.search-empty h2 { font-family: var(--font-heading); font-size: 1.55rem; }
.search-empty > p:not(.eyebrow) { max-width: 560px; color: var(--color-muted); line-height: 1.6; }
.search-empty small { margin-top: 12px; color: var(--color-muted); }
.search-empty-actions { display: flex; gap: 18px; align-items: center; margin-top: 15px; }
.quran-opening { margin: 0 0 20px; padding: 20px 24px; text-align: center; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: linear-gradient(135deg,var(--color-primary-pale),#fff); }
.quran-opening .arabic-text { margin: 0; text-align: center; font-size: 2rem; }
.question-page { max-width: 900px; padding-block: 52px 72px; }
.question-hero { max-width: 720px; margin-bottom: 30px; }
.question-hero h1 { margin: 5px 0 10px; font-family: var(--font-heading); font-size: clamp(2.2rem,5vw,3.4rem); }
.question-hero > p:last-of-type { color: var(--color-muted); line-height: 1.7; }
.question-form { display: grid; gap: 18px; padding: 28px; }
.question-form textarea { min-height: 180px; }
.check-row { display: flex !important; gap: 10px; align-items: flex-start; }
.check-row input { width: auto; margin-top: 3px; }
.question-list { display: grid; gap: 14px; }
.question-card,.question-answer { padding: 27px; border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: #fff; box-shadow: 0 8px 28px rgba(35,55,41,.06); }
.question-card h2,.question-answer h1 { font-family: var(--font-heading); }
.question-card h2 a { color: var(--color-text); text-decoration: none; }
.question-card p { color: var(--color-muted); line-height: 1.7; }
.answer-status { display: flex; gap: 12px; align-items: center; color: var(--color-muted); font-size: .85rem; }
.answer-copy { margin-block: 24px; font-size: 1.08rem; line-height: 1.85; }
.answer-evidence { margin-block: 28px; padding-top: 20px; border-top: 1px solid var(--color-border); }
.answer-evidence article { padding: 15px 0; border-bottom: 1px solid var(--color-border); }
.answer-evidence small { display: block; color: var(--color-muted); }
.answer-evidence blockquote { margin: 10px 0 0; padding-left: 16px; border-left: 3px solid var(--color-primary); color: var(--color-muted); }
.question-feedback { display: grid; gap: 12px; margin-top: 30px; }
.review-question { margin-bottom: 18px; }
.citation-picker { display: grid; gap: 10px; max-height: 380px; overflow: auto; }
.citation-picker label { display: grid; grid-template-columns: auto 1fr; gap: 10px; padding: 12px; border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.citation-picker input { width: auto; }
.citation-picker small { display: block; color: var(--color-muted); }
@media (max-width:700px){.search-page{padding-block:32px 52px}.search-page-form{grid-template-columns:1fr}.search-page-form .button{width:100%}.search-result-card{padding:21px 19px}.search-empty{padding:38px 20px}.search-empty-actions{flex-direction:column;gap:12px}}
.daily-card {
  width: 500px;
  justify-self: end;
  padding: 22px 30px 20px;

  /* Screenshot-style warm translucent card */
  background: rgba(255, 253, 249, .90);
  border: 1px solid rgba(255, 255, 255, .70);
  border-radius: 22px;

  box-shadow:
    0 12px 32px rgba(48, 40, 28, .10),
    0 2px 8px rgba(48, 40, 28, .05);

  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);

  color: #101411;
}
.daily-card article + article { margin-top: 15px; padding-top: 13px; border-top: 1px solid var(--color-line); }
.daily-card h2 { display: flex; gap: 9px; align-items: center; margin: 0 0 7px; font-family: var(--font-serif); font-size: 17px; }
.daily-card h2 span { color: #ffb000; font-family: var(--font-sans); }
.daily-card h2 .muted-icon { color: #c9bfb0; }
.daily-card p { margin: 4px 0; font-size: 12px; }
.daily-card .source { color: var(--color-muted); }
.daily-card .arabic { margin: 8px 0; font-family: "Times New Roman", serif; font-size: 19px; line-height: 1.6; }
.daily-card a, .section-heading a { display: inline-block; margin-top: 6px; color: var(--color-primary); font-size: 12px; font-weight: 600; }
.daily-card article .daily-quran-arabic { margin:10px 0;font-size:var(--daily-quran-arabic-size,1.9rem);line-height:1.75; }
.daily-card article .daily-hadith-arabic { margin:10px 0;font-size:var(--daily-hadith-arabic-size,1.7rem);line-height:1.75; }
.daily-card article .daily-translation { font-size:var(--daily-translation-size,.88rem);line-height:1.55; }

/* Service cards */
.service-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 22px; padding-block: 18px; }
.service-card { min-width: 0; min-height: 132px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 14px 9px; text-align: center; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: #fff; transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition); }
.service-card:hover { transform: translateY(-2px); border-color: #c8decf; box-shadow: var(--shadow-soft); }
.service-icon { width: 36px; height: 36px; display: grid; place-items: center; margin-bottom: 7px; color: var(--color-primary); }
.service-icon svg { width: 34px; height: 34px; }
.service-card h2 { margin: 0 0 4px; font-size: 14px; }
.service-card p { max-width: 130px; margin: 0; font-size: 12px; line-height: 1.45; }

/* WP16 reviewed reference content */
.reference-page,.reference-detail { padding-block: 46px 72px; }
.reference-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.reference-card { padding: 24px; }
.reference-card h2 { margin: 10px 0; font-family: var(--font-serif); }
.reference-card h2 a { color: var(--color-text); text-decoration: none; }
.reference-card p { color: var(--color-muted); line-height: 1.65; }
.reference-date { display: inline-flex; padding: 5px 10px; color: var(--color-primary); background: var(--color-primary-pale); border-radius: 999px; font-size: .78rem; font-weight: 700; }
.reference-detail { max-width: 940px; }
.methodology-note { margin: 24px 0; padding: 24px; border-left: 4px solid var(--color-primary); background: linear-gradient(135deg,var(--color-primary-pale),#fff); }
.methodology-note h2 { margin-top: 0; font-family: var(--font-serif); }
@media (max-width:900px){.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.reference-page,.reference-detail{padding-block:30px 52px}.reference-grid{grid-template-columns:1fr}.reference-card{padding:20px}}

/* Dashboard content */
.dashboard-grid { display: grid; grid-template-columns: 344px minmax(540px, 1fr) 390px; gap: 18px; }
.panel { padding: 17px 19px; }
.section-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.section-heading h2, .prayer-heading h2 { margin: 0; font-family: var(--font-serif); font-size: 17px; }
.section-heading a { margin: 0; }
.recent-list { display: grid; gap: 13px; }
.recent-item { display: grid; grid-template-columns: 44px 1fr 34px; align-items: center; gap: 11px; min-width: 0; }
.recent-icon { width: 44px; height: 44px; display: grid; place-items: center; color: var(--color-primary); background: var(--color-primary-pale); border-radius: var(--radius-sm); }
.recent-icon svg { width: 24px; height: 24px; }
.recent-copy { min-width: 0; display: grid; }
.recent-copy strong { font-size: 13px; }
.recent-copy small { overflow: hidden; color: var(--color-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.progress { height: 2px; margin-top: 9px; background: #e8ebe8; }
.progress i { display: block; height: 100%; background: var(--color-primary); }
.progress-value { align-self: end; color: var(--color-muted); font-size: 11px; }
.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.article-card { min-width: 0; }
.article-card img { width: 100%; aspect-ratio: 1.78; border-radius: var(--radius-sm); object-fit: cover; }
.article-card h3 { margin: 10px 0 6px; font-size: 15px; }
.article-card p { min-height: 51px; margin: 0 0 8px; font-size: 11px; line-height: 1.5; }
.prayer-panel { background: linear-gradient(135deg, #f2f8f4, #fff); }
.prayer-heading { display: flex; justify-content: space-between; align-items: flex-start; }
.prayer-heading p { margin: 2px 0; color: var(--color-muted); font-size: 11px; }
.clock-icon { width: 44px; height: 44px; display: grid; place-items: center; color: #fff; background: var(--color-primary); border-radius: var(--radius-sm); }
.clock-icon svg { width: 27px; height: 27px; }
.prayer-panel hr { margin: 12px 0; border: 0; border-top: 1px solid #dce7df; }
.next-prayer { display: flex; justify-content: space-between; margin-bottom: 8px; }
.next-prayer > span { display: grid; }
.next-prayer > span:last-child { text-align: right; }
.next-prayer small { color: var(--color-primary); font-size: 11px; }
.next-prayer strong { font-size: 15px; }
.next-prayer > span:last-child strong { font-size: 21px; }
.next-prayer > span:last-child small { color: var(--color-text); }
.prayer-times { width: 100%; border-collapse: collapse; font-size: 12px; }
.prayer-times th { font-weight: 500; text-align: left; }
.prayer-times td { text-align: right; }
.prayer-times th, .prayer-times td { padding: 2px 7px; }
.prayer-times tr.active { background: #dff1e5; }
.prayer-times tr.active th { font-weight: 650; }
.prayer-times tr.active th:first-child { border-radius: 7px 0 0 7px; }
.prayer-times tr.active td:last-child { border-radius: 0 7px 7px 0; }
.asr-explanation{margin:0 0 14px;color:var(--color-muted);font-size:.88rem;line-height:1.5}

/* Trust and footer */
.trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 18px; margin-bottom: 18px; padding: 18px 35px; background: var(--color-cream); border-radius: var(--radius-md); }
.trust-strip > div { display: grid; grid-template-columns: 46px 1fr; align-items: center; gap: 14px; padding-inline: 28px; border-right: 1px solid #e8e4dc; }
.trust-strip > div:first-child { padding-left: 0; }
.trust-strip > div:last-child { padding-right: 0; border: 0; }
.trust-strip span { color: var(--color-primary); }
.trust-strip svg { width: 37px; height: 37px; }
.trust-strip p { margin: 0; font-size: 11px; }
.trust-strip strong { display: block; margin-bottom: 3px; font-size: 12px; }
.site-footer { margin-top: 30px; color: var(--color-text); border-top: 1px solid #dfe8e1; background: var(--color-primary-pale); }
.footer-main { padding-block: 48px 42px; }
.footer-grid { display: grid; grid-template-columns: minmax(260px, 1.6fr) repeat(4, minmax(135px, 1fr)); gap: clamp(28px, 4vw, 64px); }
.footer-about { max-width: 350px; }
.footer-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--color-primary); }
.footer-brand img { width: 44px; height: 44px; object-fit: contain; }
.footer-brand span { display: grid; line-height: 1.12; }
.footer-brand strong { font-size: 20px; font-weight: 650; }
.footer-brand small { margin-top: 4px; color: var(--color-muted); font-size: 11px; }
.footer-about > p { margin: 18px 0 13px; color: #475149; font-size: 13px; line-height: 1.7; }
.footer-source-link { color: var(--color-primary); font-size: 13px; font-weight: 650; }
.footer-source-link:hover, .footer-links a:hover, .back-to-top:hover { color: var(--color-primary-dark); text-decoration: underline; text-underline-offset: 3px; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.footer-links h2 { margin: 3px 0 7px; font-family: var(--font-serif); font-size: 15px; }
.footer-links a { color: #475149; font-size: 12px; line-height: 1.45; transition: color var(--transition); }
.footer-bottom { border-top: 1px solid #dfe8e1; background: #fff; }
.footer-bottom-inner { min-height: 62px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 30px; color: var(--color-muted); font-size: 11px; }
.footer-bottom-inner p { margin: 0; }
.back-to-top { color: var(--color-primary); font-weight: 650; white-space: nowrap; }

@media (max-width: 1280px) {
  .container { width: min(calc(100% - 40px), var(--container)); }
  .header-inner { grid-template-columns: 220px 1fr auto; gap: 12px; }
  .primary-nav { gap: 18px; }
  .service-grid { grid-template-columns: repeat(4, 1fr); }
  .dashboard-grid { grid-template-columns: 310px 1fr; }
  .prayer-panel { grid-column: 1 / -1; }
}
@media (max-width: 1020px) {
  .site-header { height: auto; min-height: 65px; }
  .header-inner { position: relative; grid-template-columns: 1fr auto; min-height: 65px; }
  .menu-toggle { display: inline-grid; grid-column: 2; grid-row: 1; }
  .primary-nav { position: absolute; display: none; top: 65px; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 18px; background: #fff; border: 1px solid var(--color-border); border-radius: 0 0 var(--radius-md) var(--radius-md); box-shadow: var(--shadow-soft); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { padding: 11px 5px; }
  .primary-nav a::after { display: none; }
  .header-actions { display: none; }
  .mobile-nav-tools { display: grid; gap: 12px; margin-top: 7px; padding: 16px 5px 9px; border-top: 1px solid var(--color-border); }
  .mobile-nav-label { margin: 0; color: var(--color-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
  .mobile-language-links,.mobile-account-links { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
  .primary-nav .mobile-language-links a { padding: 8px 13px; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-primary-pale); }
  .primary-nav .mobile-account-links .button { display: inline-flex; justify-content: center; min-height: 42px; padding: 10px 16px; }
  .primary-nav .mobile-account-links .staff-portal-link { margin-left: 4px; padding: 10px 5px; }
  .hero-grid { grid-template-columns: 1fr 280px; gap: 25px; }
  .daily-card { width: 280px; }
  .trust-strip { grid-template-columns: repeat(2, 1fr); gap: 20px 0; }
  .trust-strip > div:nth-child(2) { border: 0; }
}
@media (max-width: 760px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .brand strong { font-size: 18px; }
  .hero { background-position: 62% center; }
  .hero-grid { grid-template-columns: 1fr; padding-block: 42px 24px; }
  .hero-copy { padding: 22px; border-radius: var(--radius-lg); background: rgba(250,247,241,.9); backdrop-filter: blur(2px); }
  .hero-copy h1 { font-size: 40px; }
  .hero-copy > p { font-size: 14px; }
  .desktop-only { display: none; }
  .daily-card { width: 100%; justify-self: stretch; }
  .service-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .service-card { min-height: 140px; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .prayer-panel { grid-column: auto; }
  .article-grid { grid-template-columns: 1fr; gap: 22px; }
  .article-card p { min-height: auto; }
  .trust-strip { grid-template-columns: 1fr; padding: 22px; }
  .trust-strip > div { padding: 0 0 17px; border: 0; border-bottom: 1px solid #e8e4dc; }
  .trust-strip > div:last-child { padding: 0; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-about { grid-column: 1 / -1; max-width: 520px; }
  .footer-bottom-inner { grid-template-columns: 1fr auto; padding-block: 15px; }
  .footer-bottom-inner p:nth-child(2) { display: none; }
}
@media (max-width: 420px) {
  .brand small { display: none; }
  .popular-searches span { width: 100%; }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .panel { padding: 15px; }
  .recent-item { grid-template-columns: 40px 1fr 30px; }
  .footer-main { padding-block: 36px 30px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-about { grid-column: auto; }
  .footer-bottom-inner { grid-template-columns: 1fr; gap: 8px; }
}
[dir="rtl"] .data-table th, [dir="rtl"] .data-table td { text-align: right; }
[dir="rtl"] .primary-nav, [dir="rtl"] .header-actions { direction: rtl; }
[dir="rtl"] .next-prayer > span:last-child, [dir="rtl"] .prayer-times td { text-align: left; }
[dir="rtl"] .prayer-times th { text-align: right; }
[dir="rtl"] .back-to-top span { display: inline-block; transform: scaleX(-1); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media (forced-colors: active) {
  .button, .icon-button, .service-card, .panel, .tag, .badge { border: 1px solid ButtonText; }
}

/* WP17.6 location-aware prayer tools and monthly calendar */
.prayer-location-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:20px 0}.prayer-location-controls form{display:flex;align-items:end;gap:10px}.prayer-location-controls label{display:grid;gap:6px}.prayer-location-controls select{min-width:240px;padding:11px;border:1px solid var(--color-border);border-radius:10px;background:#fff}.asr-method-switch,.prayer-widget-controls{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.asr-method-switch .active,.prayer-widget-controls .active{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}[data-location-status]{max-width:650px;color:#53655a!important}.calendar-page{padding-block:38px 70px}.calendar-hero{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.calendar-hero h1{margin:5px 0 8px;font-family:var(--font-serif);font-size:clamp(36px,5vw,58px)}.calendar-hero p:last-child{margin:0;color:var(--color-muted)}.calendar-nav{display:grid;grid-template-columns:46px 1fr 46px;align-items:center;margin-bottom:12px;padding:12px 14px;border:1px solid var(--color-border);border-radius:14px;background:#f4f9f5}.calendar-nav h2{margin:0;text-align:center;font-family:var(--font-serif)}.calendar-nav a{display:grid;place-items:center;width:40px;height:40px;color:var(--color-primary);background:#fff;border:1px solid var(--color-border);border-radius:10px;font-size:22px;text-decoration:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-weekday{padding:10px;color:var(--color-primary);font-size:.78rem;font-weight:750;text-align:center;text-transform:uppercase}.calendar-day{position:relative;min-height:118px;display:flex;flex-direction:column;gap:7px;padding:13px;border:1px solid var(--color-border);border-radius:13px;background:#fff}.calendar-day-empty{background:#f8faf8;border-style:dashed}.calendar-day .gregorian-day{align-self:flex-end;display:grid;place-items:center;width:31px;height:31px;color:#53655a;background:#eef5f0;border-radius:50%;font-weight:750}.calendar-day strong{color:#173c2a;font-size:.95rem}.calendar-day small{color:var(--color-muted)}.calendar-day em{margin-top:auto;color:var(--color-primary);font-size:.76rem;font-style:normal;font-weight:750}.calendar-day.is-today{border:2px solid var(--color-primary);background:linear-gradient(145deg,#e9f6ed,#fff);box-shadow:0 9px 24px rgba(15,116,69,.12)}.calendar-day.is-today .gregorian-day{color:#fff;background:var(--color-primary)}.calendar-disclosure{margin:18px 0 0;padding:14px 16px;color:var(--color-muted);background:#f8f6f1;border-radius:11px;font-size:.9rem}.calendar-disclosure strong{color:var(--color-text)}
@media(max-width:760px){.calendar-hero{align-items:flex-start;flex-direction:column}.calendar-grid{gap:4px}.calendar-weekday{padding:7px 2px;font-size:.68rem}.calendar-day{min-height:88px;padding:7px;border-radius:9px}.calendar-day .gregorian-day{width:25px;height:25px;font-size:.78rem}.calendar-day strong{font-size:.7rem}.calendar-day small{font-size:.65rem}.calendar-day em{display:none}.prayer-location-controls form{width:100%;align-items:stretch;flex-direction:column}.prayer-location-controls select{width:100%}}

/* WP14 editorial surfaces: derived from the approved card and form system. */
.page-shell{padding-block:42px 64px}.page-heading{max-width:800px;margin-bottom:28px}.page-heading h1{font-family:var(--font-serif);font-size:clamp(34px,5vw,54px);margin:.25rem 0}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.article-card{padding:22px}.article-card h2,.article-card h3{font-family:var(--font-serif);margin:12px 0 8px}.article-card a{color:var(--color-text);text-decoration:none}.article-card a:hover{text-decoration:underline;text-decoration-color:var(--color-primary)}.article-detail{max-width:920px}.article-body{font-size:1.075rem;line-height:1.82}.article-body h2,.article-body h3{font-family:var(--font-serif);margin-top:2rem}.sources-panel{margin-top:32px;padding:24px}.staff-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}.protected-page form{display:grid;gap:10px}.protected-page label{display:grid;gap:6px}.protected-page input,.protected-page select,.protected-page textarea{width:100%;padding:11px 12px;border:1px solid var(--color-border);border-radius:9px;background:#fff;font:inherit}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:12px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.meta{color:var(--color-muted);font-size:.9rem}@media(max-width:800px){.article-grid,.staff-grid{grid-template-columns:1fr}.page-shell{padding-block:28px 48px}}[dir="rtl"] .article-body,[dir="rtl"] .page-heading,[dir="rtl"] .table-wrap th,[dir="rtl"] .table-wrap td{text-align:right}

/* Cumulative staff portal standard (WP06+). */
.staff-page{background:linear-gradient(180deg,#f7fbf8 0,#fff 260px)}
.staff-nav{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin:0 0 28px!important;padding:10px!important;background:#fff!important;border:1px solid var(--color-border)!important;border-radius:16px!important;box-shadow:0 10px 30px rgba(15,75,45,.07)!important}
.staff-nav a{display:inline-flex!important;align-items:center!important;min-height:42px!important;padding:10px 14px!important;color:var(--color-text)!important;background:transparent!important;border-radius:10px!important;text-decoration:none!important;font-weight:650!important}
.staff-nav a:hover,.staff-nav a:focus-visible{color:#fff!important;background:var(--color-primary)!important}
.staff-nav form{display:flex!important;margin:0 0 0 auto!important}.staff-nav .button{min-height:42px!important}
.staff-heading{padding:26px 0 14px}.staff-heading h1{font-size:clamp(30px,4vw,46px)}
.staff-page>.panel,.staff-page>form.panel{border-radius:18px;box-shadow:0 12px 35px rgba(20,52,36,.07)}
.settings-form label{padding:16px;background:#fbfdfb;border:1px solid #e4ece6;border-radius:12px}.settings-form input,.settings-form select,.filter-row input{min-height:44px;padding:10px 12px;border:1px solid var(--color-border);border-radius:9px;background:#fff}
.data-table thead{background:#f0f7f2}.data-table th{color:#174c31;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.data-table tbody tr:hover{background:#fbfdfb}
.header-actions form{margin:0}.popular-searches a{display:inline-flex;padding:5px 11px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text);text-decoration:none;background:#f7f5f0}
@media(max-width:800px){.staff-nav{align-items:stretch!important}.staff-nav a{flex:1 1 calc(33.333% - 8px)!important;justify-content:center!important}.staff-nav form{flex:1 1 100%!important;margin:0!important}.staff-nav form button{width:100%!important}.filter-row{align-items:stretch;flex-direction:column}}

/* WP03 staff identity screens extend the approved visual system. */
.auth-page { min-height: 66vh; display: grid; place-items: center; padding: 48px 20px; background: var(--color-primary-pale); }
.auth-card { width: min(100%, 470px); padding: 34px; background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); }
.auth-card h1, .staff-page h1 { margin: 5px 0 10px; font-family: var(--font-serif); }
.auth-card form { display: grid; gap: 16px; margin-top: 24px; }
.auth-card label { display: grid; gap: 7px; font-weight: 650; font-size: 13px; }
.auth-card input { width: 100%; padding: 12px 14px; color: var(--color-text); background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.auth-card input:focus { outline: 3px solid var(--color-primary-pale); border-color: var(--color-primary); }
.eyebrow { margin: 0; color: var(--color-primary); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.staff-page { min-height: 65vh; padding-block: 48px; }
.staff-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.5rem;padding:.65rem;border:1px solid var(--border,#e5e1d9);border-radius:14px;background:#fff}.staff-nav a{padding:.65rem .8rem;border-radius:9px;color:#173c2a;text-decoration:none}.staff-nav a:hover,.staff-nav a:focus-visible{background:#eef7f1}.staff-nav form{margin-left:auto}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}.metric-card{display:grid;gap:.5rem}.metric-card strong{font-size:2rem;color:#0f7445}.settings-form{display:grid;gap:1rem}.settings-form label{display:grid;gap:.35rem;max-width:720px}.settings-form small{color:#66736b}.filter-row{display:flex;align-items:end;gap:.75rem;margin-bottom:1rem}.filter-row label{display:grid;gap:.35rem;flex:1}@media(max-width:800px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-nav form{margin-left:0}}@media(max-width:480px){.metric-grid{grid-template-columns:1fr}.staff-nav{align-items:stretch}.staff-nav a,.staff-nav form,.staff-nav button{width:100%}}
/* WP07 source governance */
.language-menu{position:relative}.language-menu summary{list-style:none;cursor:pointer}.language-menu summary::-webkit-details-marker{display:none}.language-options{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:140px;padding:8px;background:var(--surface,#fff);border:1px solid var(--border,#ddd);border-radius:12px;box-shadow:0 14px 34px rgba(20,40,28,.14)}.language-options a{display:block;padding:9px 11px;border-radius:8px;color:inherit;text-decoration:none}.language-options a:hover{background:#eef7f1}.admin-cards{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;margin:20px 0}.admin-form label{display:grid;gap:6px;font-weight:650}.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:11px 12px;border:1px solid #d8ded9;border-radius:9px;background:#fff;color:#172019;font:inherit}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.form-note{padding:12px 14px;border-radius:10px;background:#f2f7f3}.workflow-panel ol{padding-left:22px;line-height:1.8}.action-cluster,.action-cluster form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.status-pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf1ee;font-size:.82rem}.status-published{background:#dff3e5;color:#075c2f}.quran-page{max-width:920px;padding-block:42px}.quran-heading{margin-bottom:24px}.quran-verses{display:grid;gap:14px}.quran-verse{position:relative;padding:24px;border:1px solid #e2e7e3;border-radius:16px;background:#fff}.verse-number{position:absolute;top:14px;left:16px;color:#55705e;font-size:.8rem}.arabic-text{font-family:"Noto Naskh Arabic","Amiri",serif;font-size:2rem;line-height:2;text-align:right;margin:12px 0}.translation-text{padding-top:14px;border-top:1px solid #edf0ed;line-height:1.7}@media(max-width:800px){.admin-cards,.form-grid{grid-template-columns:1fr}.language-options{right:auto;left:0}}
/* WP13.1 account, directory and discoverability additions */
.surah-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:24px 0 48px}.surah-card{display:grid;grid-template-columns:42px 1fr;gap:4px 12px;align-items:center;padding:18px;border:1px solid #dce5df;border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 8px 22px rgba(20,74,49,.06)}.surah-card:hover{border-color:#18794e;transform:translateY(-2px)}.surah-card>span{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf7f1;color:#087443;font-weight:800}.surah-card small{color:#65736b}.auth-page{display:grid;place-items:center;min-height:66vh}.auth-card{width:min(100%,560px);display:grid;gap:16px;margin:40px auto}.auth-card label{display:grid;gap:7px;font-weight:700}.auth-card input{min-height:48px;border:1px solid #ccd7d0;border-radius:10px;padding:10px 12px;font:inherit}.account-page{display:grid;gap:20px;padding-block:32px 56px}
/* WP18 mosque and community directory */
.finder-actions{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;margin:1.25rem 0}.finder-actions label{min-width:210px}.finder-actions select{display:block;width:100%;margin-top:.35rem}.finder-status{min-height:1.6em;color:var(--green,#08783e)}.mosque-grid,.community-list,.community-admin-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.mosque-card{padding:1.2rem}.mosque-card-top,.mosque-links{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap}.verification-badge{display:inline-flex;border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:700;background:#eee;color:#444}.verification-verified{background:#daf1e3;color:#075d32}.verification-unverified,.verification-google_unverified{background:#fff2cc;color:#745400}.verification-stale{background:#ffe0d9;color:#8d2815}.verification-rejected{background:#f2d7dc;color:#801b2b}.stale-warning{padding:.65rem;background:#fff4e5;border-radius:.5rem;color:#7a4300}.mosque-detail{max-width:780px;margin:1.25rem auto;padding:1.5rem;border:1px solid #dbe5dd;border-radius:1rem}.community-form{max-width:720px}.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.google-attribution{font-weight:600;color:#5f6368}@media(max-width:900px){.mosque-grid,.community-list,.community-admin-cards,.admin-grid{grid-template-columns:1fr}.finder-actions>*{width:100%}}
.mosque-map{display:block;width:100%;height:360px;border:1px solid #dbe5dd;border-radius:1rem;margin:1rem 0}


/* WP19 media */
.media-page,.media-detail{padding-block:46px 72px}.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.media-card{padding:20px}.media-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-md);margin-bottom:14px}.media-card h2{font-family:var(--font-serif);margin:10px 0}.media-card p,.media-card small,.media-source,.media-transcript{color:var(--color-muted)}.media-detail{max-width:980px}.media-detail h1{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.2rem)}.media-player{display:block;width:100%;max-height:620px;margin:24px 0;background:#101411;border-radius:var(--radius-lg)}.media-audio{width:100%;margin:24px 0}.media-source,.media-transcript{margin-top:28px;padding:22px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-primary-pale)}.transcript-copy{white-space:normal;line-height:1.8;color:var(--color-text)}.form-help{margin-top:-8px;color:var(--color-muted);font-size:.82rem}@media(max-width:900px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.media-grid{grid-template-columns:1fr}.media-page,.media-detail{padding-block:30px 52px}}

/* KitabGrid Qibla Direction — CSP-safe UI */
.qibla-page { padding-block: 42px 64px; }
.qibla-shell { max-width: 980px; margin-inline: auto; }
.qibla-grid { display: grid; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); gap: 32px; align-items: center; }
.qibla-dial-wrap { display: grid; place-items: center; padding: 8px; }
.qibla-dial {
  position: relative;
  width: min(78vw, 330px);
  aspect-ratio: 1;
  border: 2px solid #cfe0d4;
  border-radius: 50%;
  background:
    linear-gradient(#dce7df,#dce7df) 50% 16px/1px calc(100% - 32px) no-repeat,
    linear-gradient(90deg,#dce7df,#dce7df) 16px 50%/calc(100% - 32px) 1px no-repeat,
    radial-gradient(circle at center, #fff 0 55%, #f1f8f3 100%);
  box-shadow: 0 14px 34px rgba(20,52,36,.10);
  overflow: visible;
}
.qibla-cardinal { position: absolute; z-index: 4; font-weight: 800; color: #2d4135; line-height: 1; }
.qibla-cardinal-n { top: 14px; left: 50%; transform: translateX(-50%); color: var(--color-primary); }
.qibla-cardinal-e { right: 15px; top: 50%; transform: translateY(-50%); }
.qibla-cardinal-s { bottom: 14px; left: 50%; transform: translateX(-50%); }
.qibla-cardinal-w { left: 15px; top: 50%; transform: translateY(-50%); }
.qibla-kaaba {
  position: absolute; z-index: 5; left: 50%; top: 14%;
  transform: translateX(-50%);
  display: grid; place-items: center;
  width: 35px; height: 35px;
  color: #fff; background: var(--color-primary);
  border-radius: 9px;
  font-size: 16px; font-weight: 800;
  box-shadow: 0 5px 15px rgba(8,120,63,.22);
}
.qibla-needle {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 38%;
  transform-origin: 50% 100%;
  transform: translate(-50%,-100%) rotate(0deg);
  transition: transform .35s ease;
}
.qibla-needle::before {
  content: "";
  position: absolute;
  inset: 0;
  clip-path: polygon(50% 0,100% 100%,50% 84%,0 100%);
  background: var(--color-primary);
  filter: drop-shadow(0 3px 3px rgba(8,120,63,.18));
}
.qibla-center {
  position: absolute; z-index: 6;
  left: 50%; top: 50%;
  width: 22px; height: 22px;
  transform: translate(-50%,-50%);
  border: 5px solid #fff;
  border-radius: 50%;
  background: var(--color-primary-dark);
  box-shadow: 0 0 0 1px #bfd9c8;
}
.qibla-info { display: grid; gap: 14px; }
.qibla-metric-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.qibla-metric { padding: 16px; }
.qibla-metric small { display: block; margin-bottom: 5px; color: var(--color-muted); }
.qibla-metric strong { display: block; font-size: 1.2rem; }
.qibla-metric .qibla-bearing { color: var(--color-primary); font-size: clamp(1.8rem,4vw,2.35rem); }
.qibla-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.qibla-manual { margin-top: 2px; }
.qibla-manual summary { cursor: pointer; font-weight: 700; }
.qibla-manual .form-grid { margin-top: 14px; }
.qibla-note { margin-top: 22px; }
.qibla-home-card .service-icon { font-size: 27px; font-weight: 700; }

@media (max-width: 760px) {
  .qibla-page { padding-block: 30px 50px; }
  .qibla-grid { grid-template-columns: 1fr; gap: 24px; }
  .qibla-dial { width: min(86vw, 315px); }
  .qibla-metric-grid { grid-template-columns: 1fr; }
  .qibla-actions .button { flex: 1 1 180px; }
}

.adhkar-page{padding-block:28px 46px}
.adhkar-hero{max-width:900px;margin:0 auto 26px;text-align:center}
.adhkar-hero h1{margin:.15rem 0 .45rem;font-size:clamp(2rem,4vw,3rem)}
.adhkar-hero>p:last-child{color:var(--color-muted,#59615b)}

.adhkar-category-panel{margin-bottom:30px}
.adhkar-category-panel .section-heading{margin-bottom:12px}
.adhkar-category-nav{display:flex;flex-wrap:wrap;gap:10px}
.adhkar-category-link{min-height:40px;padding:8px 15px}
.adhkar-category-link.is-active{color:#fff;background:var(--color-primary,#08783f);border-color:var(--color-primary,#08783f)}

.adhkar-section{margin:34px 0;scroll-margin-top:86px}
.adhkar-section-heading{justify-content:flex-start;gap:10px}
.adhkar-section-heading::before{content:"";width:4px;height:25px;flex:0 0 auto;border-radius:999px;background:var(--color-primary,#08783f)}
.adhkar-section-heading h2{font-size:clamp(22px,2.1vw,28px)}

.adhkar-list{display:grid;gap:20px}
.adhkar-card{width:100%;padding:20px 28px 22px;border-radius:20px}

.adhkar-card-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.adhkar-card-index{color:#476152;font-size:12px}
.adhkar-repeat{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:700;color:var(--color-primary,#08783f);background:var(--color-primary-pale,#f2f8f4)}

.adhkar-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 10px}
.adhkar-action-link{min-height:38px;padding:7px 13px}

.adhkar-arabic{
  direction:rtl;
  text-align:right;
  font-family:var(--kg-arabic-font-active,"Amiri Quran",serif);
  margin:20px 0 18px;
  padding:20px 8px;
  background:#fffdf7;
  border-radius:10px;
  color:#101411;
  font-size:clamp(1.9rem,3vw,2.45rem);
  line-height:2.05
}

.adhkar-divider{height:1px;margin:0 8px 18px;background:var(--color-line,#ecece7)}
.adhkar-meaning{padding:0 8px}
.adhkar-meaning p{margin:0;font-size:15px;line-height:1.7}
.adhkar-missing-translation{color:var(--color-muted,#59615b);font-style:italic}

.adhkar-translation-controls{display:flex;flex-wrap:wrap;gap:8px;margin:18px 8px 4px}
.adhkar-control-btn{min-height:38px;padding:7px 14px;border-radius:999px}
.adhkar-control-btn.is-playing{color:#fff;background:var(--color-primary,#08783f);border-color:var(--color-primary,#08783f)}

.adhkar-source{margin:20px 8px 0;padding-top:14px;border-top:1px solid var(--color-line,#ecece7);color:#343b36;font-size:13px}
.adhkar-source strong{color:var(--color-primary,#08783f)}

@media(max-width:800px){
  .adhkar-card{padding:17px 16px 19px;border-radius:15px}
  .adhkar-card-actions{gap:8px}
  .adhkar-arabic{font-size:1.8rem;padding-inline:4px}
  .adhkar-meaning,.adhkar-source,.adhkar-translation-controls{margin-inline:0;padding-inline:0}
}

@media(max-width:650px){
  .adhkar-category-nav{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}
  .adhkar-category-link{flex:0 0 auto;white-space:nowrap}
}

/* ============================================================
   KITABGRID GLOBAL ARABIC READING STYLE SWITCH — FINAL FIX
   ============================================================ */

:root {
  --kg-arabic-font-mushaf: "Amiri Quran", "Amiri", serif;
  --kg-arabic-font-naskh: "Noto Naskh Arabic", "Traditional Arabic", serif;
  --kg-arabic-font-active: var(--kg-arabic-font-mushaf);
  --kg-arabic-line-height: 2;
  --kg-arabic-letter-spacing: 0;
}

/* Existing / Mushaf style */
html[data-arabic-style="mushaf"] {
  --kg-arabic-font-active: var(--kg-arabic-font-mushaf);
  --kg-arabic-line-height: 2;
  --kg-arabic-letter-spacing: 0;
}

/* Softer Naskh reader style */
html[data-arabic-style="naskh"] {
  --kg-arabic-font-active: var(--kg-arabic-font-naskh);
  --kg-arabic-line-height: 2.08;
  --kg-arabic-letter-spacing: .005em;
}

/*
 * GLOBAL Arabic targets.
 * These selectors intentionally use !important so older page-specific
 * font-family declarations cannot prevent the user's selected style.
 */
html[data-arabic-style="mushaf"] :where(
  [lang="ar"],
  .arabic,
  .quran-arabic,
  .ayah-arabic,
  .hadith-arabic,
  .dua-arabic,
  .adhkar-arabic,
  .adhkar-admin-arabic,
  .prayer-arabic,
  .dhikr-arabic,
  .arabic-text,
  .arabic-content,
  .daily-quran-arabic,
  .daily-hadith-arabic
) {
  font-family: "Amiri Quran", "Amiri", serif !important;
  line-height: 2 !important;
  letter-spacing: 0 !important;
  font-weight: 400;
  font-feature-settings: "liga" 1, "calt" 1;
  text-rendering: optimizeLegibility;
}

html[data-arabic-style="naskh"] :where(
  [lang="ar"],
  .arabic,
  .quran-arabic,
  .ayah-arabic,
  .hadith-arabic,
  .dua-arabic,
  .adhkar-arabic,
  .adhkar-admin-arabic,
  .prayer-arabic,
  .dhikr-arabic,
  .arabic-text,
  .arabic-content,
  .daily-quran-arabic,
  .daily-hadith-arabic
) {
  font-family: "Noto Naskh Arabic", "Traditional Arabic", serif !important;
  line-height: 2.08 !important;
  letter-spacing: .005em !important;
  font-weight: 500;
  font-feature-settings: "liga" 1, "calt" 1;
  text-rendering: optimizeLegibility;
}

/* Header Arabic-style control */
.arabic-style-switch {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.arabic-style-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 7px 11px;
  color: var(--color-primary, #08783f);
  background: var(--color-primary-pale, #f2f8f4);
  border: 1px solid #cfe4d6;
  border-radius: var(--radius-sm, 8px);
  cursor: pointer;
  font-weight: 700;
  white-space: nowrap;
}

.arabic-style-button:hover {
  background: var(--color-primary-soft, #eaf5ee);
}

.arabic-style-button .arabic-style-sample {
  font-family: var(--kg-arabic-font-active) !important;
  font-size: 20px;
  line-height: 1;
}

.arabic-style-menu {
  position: absolute;
  z-index: 150;
  top: calc(100% + 8px);
  right: 0;
  width: 240px;
  display: none;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--color-border, #e5e5df);
  border-radius: var(--radius-md, 12px);
  box-shadow: var(--shadow-soft, 0 6px 22px rgba(29,55,37,.07));
}

.arabic-style-switch.is-open .arabic-style-menu {
  display: grid;
  gap: 6px;
}

.arabic-style-option {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 10px 11px;
  color: var(--color-text, #101411);
  background: #fff;
  border: 1px solid transparent;
  border-radius: var(--radius-sm, 8px);
  cursor: pointer;
  text-align: left;
}

.arabic-style-option:hover,
.arabic-style-option.is-active {
  color: var(--color-primary, #08783f);
  background: var(--color-primary-pale, #f2f8f4);
  border-color: #d7e8dc;
}

.arabic-style-option strong {
  display: block;
  font-size: 13px;
}

.arabic-style-option small {
  display: block;
  margin-top: 2px;
  color: var(--color-muted, #59615b);
  font-size: 10px;
}

.arabic-style-preview {
  direction: rtl;
  font-size: 23px;
  line-height: 1.4;
  color: var(--color-primary, #08783f);
}

.arabic-style-option[data-arabic-style-value="mushaf"] .arabic-style-preview {
  font-family: "Amiri Quran", "Amiri", serif !important;
  font-weight: 400;
}

.arabic-style-option[data-arabic-style-value="naskh"] .arabic-style-preview {
  font-family: "Noto Naskh Arabic", "Traditional Arabic", serif !important;
  font-weight: 500;
}

.arabic-style-toast {
  position: fixed;
  z-index: 10000;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  padding: 9px 14px;
  color: #fff;
  background: rgba(5,101,50,.96);
  border-radius: 999px;
  box-shadow: var(--shadow-soft, 0 6px 22px rgba(29,55,37,.07));
  font-size: 12px;
  font-weight: 700;
  pointer-events: none;
}

@media (max-width: 1020px) {
  .arabic-style-menu {
    right: auto;
    left: 0;
  }
}
/* ============================================================
   KITABGRID PUBLIC HADITH LIBRARY — V1
   APPEND TO THE END OF THE EXISTING common site.css.
   Does not alter Hadith data.
   ============================================================ */

.hadith-library-page{padding-block:30px 64px}
.hadith-breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 22px;color:var(--color-muted);font-size:12px}
.hadith-breadcrumbs a{color:var(--color-primary);font-weight:650}
.hadith-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}

.hadith-library-hero{max-width:900px;margin-bottom:34px}
.hadith-library-hero h1{margin:.25rem 0 .6rem;font-family:var(--font-serif);font-size:clamp(2.3rem,5vw,4rem);line-height:1.05}
.hadith-library-hero>p:last-child{max-width:780px;margin-bottom:0;color:var(--color-muted);font-size:15px;line-height:1.75}
.hadith-hero-compiler{margin:.3rem 0 .6rem;color:#38463d}
.hadith-hero-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hadith-hero-stats span{display:inline-flex;align-items:baseline;gap:6px;padding:7px 11px;border-radius:999px;background:var(--color-primary-pale);color:#405248;font-size:12px}
.hadith-hero-stats strong{color:var(--color-primary);font-size:14px}

.hadith-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hadith-collection-card{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);gap:22px;min-height:235px;padding:26px;overflow:hidden;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}
.hadith-collection-card:hover{transform:translateY(-3px);border-color:#bed9c7;box-shadow:var(--shadow-soft)}
.hadith-book-mark{display:grid;place-items:center;align-self:start;width:82px;height:104px;border:1px solid #cfe4d6;border-radius:9px 14px 14px 9px;background:linear-gradient(145deg,var(--color-primary-pale),#fff);box-shadow:inset 5px 0 0 #dbeade;color:var(--color-primary)}
.hadith-book-mark span{font-family:"Amiri Quran","Noto Naskh Arabic",serif;font-size:26px}
.hadith-collection-copy{min-width:0}
.hadith-card-kicker{margin:0;color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.hadith-collection-card h2{margin:6px 0 4px;font-family:var(--font-serif);font-size:clamp(1.45rem,2.3vw,2rem)}
.hadith-compiler{margin:0 0 12px;color:var(--color-muted);font-size:12px}
.hadith-card-description{display:-webkit-box;overflow:hidden;margin:0 0 16px;color:#4d5a52;font-size:13px;line-height:1.65;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.hadith-card-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}
.hadith-card-stats span{padding:6px 9px;border-radius:8px;background:#f7faf8;color:var(--color-muted);font-size:11px}
.hadith-card-stats strong{color:var(--color-text)}
.hadith-open-link{display:inline-block;margin-top:16px;color:var(--color-primary);font-size:12px;font-weight:750}

.hadith-publication-note{display:flex;gap:12px;align-items:flex-start;margin-top:26px;padding:15px 17px;border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-primary-pale);color:#425248;font-size:12px}
.hadith-publication-note strong{flex:0 0 auto;color:var(--color-primary-dark)}

.hadith-section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin:30px 0 16px}
.hadith-section-heading h2{margin:.1rem 0 0;font-family:var(--font-serif);font-size:2rem}
.hadith-section-heading>p{max-width:480px;margin:0;color:var(--color-muted);font-size:13px;text-align:right}

.hadith-volume-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hadith-volume-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:17px;min-height:116px;padding:18px 20px;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}
.hadith-volume-card:hover{transform:translateY(-2px);border-color:#bed9c7;box-shadow:var(--shadow-soft)}
.hadith-volume-number{display:grid;place-items:center;width:66px;height:78px;border-radius:12px;background:var(--color-primary-pale);color:var(--color-primary)}
.hadith-volume-number small{font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.hadith-volume-number strong{font-family:var(--font-serif);font-size:30px;line-height:1}
.hadith-volume-copy h3{margin:0 0 6px;font-family:var(--font-serif);font-size:18px}
.hadith-volume-copy p{margin:0 0 3px;color:#435249;font-size:12px}
.hadith-volume-copy small{color:var(--color-muted);font-size:10px}
.hadith-volume-arrow{color:var(--color-primary);font-size:22px}

.hadith-volume-hero h1{display:grid;gap:5px}
.hadith-volume-hero h1 small{color:var(--color-muted);font-family:var(--font-sans);font-size:16px;font-weight:550;line-height:1.4}

.hadith-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:13px 15px}
.hadith-toolbar>div{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.hadith-toolbar>div strong{color:var(--color-primary);font-size:22px}
.hadith-toolbar>div span{color:var(--color-muted);font-size:11px}
.hadith-number-search{display:flex;align-items:center;gap:7px;max-width:520px;width:100%}
.hadith-number-search input{min-width:0}
.hadith-number-search .button{flex:0 0 auto}

.hadith-record-list{display:grid;gap:18px}
.hadith-record-card{padding:22px 26px}
.hadith-record-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:6px}
.hadith-record-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hadith-number-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:11px;font-weight:750}
.hadith-chapter-label{color:var(--color-muted);font-size:11px}
.hadith-grade-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border:1px solid #cfe4d6;border-radius:999px;background:var(--color-primary-pale);color:var(--color-primary-dark);font-size:10px;font-weight:750}
.hadith-narrator{margin:12px 0 0;color:#415148;font-size:13px;font-weight:650}
.hadith-arabic-text{margin:15px 0;padding:18px 8px 20px;text-align:right;font-size:clamp(1.9rem,3vw,2.5rem);line-height:2.05}
.hadith-record-divider{height:1px;margin:4px 0 18px;background:var(--color-line)}
.hadith-translation-text{font-size:15px;line-height:1.8;color:#232b26}
.hadith-translation-pending{margin:0;padding:12px 14px;border-radius:9px;background:#f7f7f4;color:var(--color-muted);font-size:12px;font-style:italic}
.hadith-record-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding-top:14px;border-top:1px solid var(--color-line)}
.hadith-record-footer>div{color:var(--color-muted);font-size:11px}
.hadith-record-footer>div strong{color:var(--color-text)}
.hadith-record-footer .button{min-height:38px;padding:7px 13px;font-size:12px}
.hadith-pagination{margin-top:24px}

.hadith-detail-page{max-width:1050px}
.hadith-detail-heading{margin-bottom:20px}
.hadith-detail-heading h1{margin:.2rem 0 .5rem;font-family:var(--font-serif);font-size:clamp(2.2rem,5vw,3.6rem)}
.hadith-detail-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--color-muted);font-size:11px}
.hadith-detail-meta>span:not(.hadith-grade-badge){padding:5px 9px;border-radius:999px;background:#f5f7f5}
.hadith-detail-card{padding:28px 34px}
.hadith-detail-narrator{padding:0 0 18px}
.hadith-detail-narrator p:last-child{margin:.4rem 0 0;color:#37473e;font-weight:650}
.hadith-detail-arabic .hadith-arabic-text{padding-block:24px;font-size:clamp(2.05rem,3.5vw,2.8rem)}
.hadith-detail-translation .eyebrow{margin-bottom:9px}
.hadith-authenticity-box{display:grid;grid-template-columns:auto 1fr;gap:12px;margin-top:24px;padding:14px 16px;border:1px solid #d7e8dc;border-radius:10px;background:var(--color-primary-pale);font-size:12px}
.hadith-authenticity-box strong{color:var(--color-primary-dark)}
.hadith-neighbour-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:18px}
.hadith-neighbour-nav>*:last-child{justify-self:end}

@media(max-width:900px){
  .hadith-collection-grid,.hadith-volume-grid{grid-template-columns:1fr}
  .hadith-section-heading{align-items:flex-start;flex-direction:column;gap:7px}
  .hadith-section-heading>p{text-align:left}
}

@media(max-width:700px){
  .hadith-library-page{padding-block:22px 48px}
  .hadith-collection-card{grid-template-columns:64px 1fr;gap:15px;padding:18px}
  .hadith-book-mark{width:58px;height:76px}
  .hadith-book-mark span{font-size:20px}
  .hadith-toolbar{align-items:stretch;flex-direction:column}
  .hadith-number-search{max-width:none}
  .hadith-record-card{padding:18px 16px}
  .hadith-record-head,.hadith-record-footer{align-items:flex-start;flex-direction:column}
  .hadith-record-footer .button{width:100%}
  .hadith-detail-card{padding:20px 16px}
  .hadith-neighbour-nav{grid-template-columns:1fr}
  .hadith-neighbour-nav>*{width:100%;justify-self:stretch!important}
}

@media(max-width:460px){
  .hadith-volume-card{grid-template-columns:58px minmax(0,1fr) auto;padding:14px}
  .hadith-volume-number{width:52px;height:62px}
  .hadith-volume-number strong{font-size:24px}
  .hadith-number-search{display:grid;grid-template-columns:1fr auto}
  .hadith-number-search .button-quiet{grid-column:1/-1}
}

/* ============================================================
   KITABGRID GLOBAL ARABIC READING STYLES — V2
   APPEND TO END OF CURRENT site.css
   This extends the existing switch; it does not remove existing styles.
   ============================================================ */

:root{
  --kg-arabic-font-mushaf:"Amiri Quran","Amiri",serif;
  --kg-arabic-font-naskh:"Noto Naskh Arabic","Traditional Arabic",serif;
  --kg-arabic-font-scheherazade:"Scheherazade New","Amiri",serif;
  --kg-arabic-font-lateef:"Lateef","Traditional Arabic",serif;
  --kg-arabic-font-kufi:"Noto Kufi Arabic","Arial",sans-serif;
}

/* Additional free Arabic reading styles. */
html[data-arabic-style="scheherazade"] :where(
 [lang="ar"],.arabic,.quran-arabic,.ayah-arabic,.hadith-arabic,.dua-arabic,
 .adhkar-arabic,.adhkar-admin-arabic,.prayer-arabic,.dhikr-arabic,
 .arabic-text,.arabic-content,.daily-quran-arabic,.daily-hadith-arabic
){
 font-family:var(--kg-arabic-font-scheherazade)!important;
 line-height:2.08!important;
 font-weight:400;
}

html[data-arabic-style="lateef"] :where(
 [lang="ar"],.arabic,.quran-arabic,.ayah-arabic,.hadith-arabic,.dua-arabic,
 .adhkar-arabic,.adhkar-admin-arabic,.prayer-arabic,.dhikr-arabic,
 .arabic-text,.arabic-content,.daily-quran-arabic,.daily-hadith-arabic
){
 font-family:var(--kg-arabic-font-lateef)!important;
 line-height:2.02!important;
 font-weight:500;
}

html[data-arabic-style="kufi"] :where(
 [lang="ar"],.arabic,.quran-arabic,.ayah-arabic,.hadith-arabic,.dua-arabic,
 .adhkar-arabic,.adhkar-admin-arabic,.prayer-arabic,.dhikr-arabic,
 .arabic-text,.arabic-content,.daily-quran-arabic,.daily-hadith-arabic
){
 font-family:var(--kg-arabic-font-kufi)!important;
 line-height:2!important;
 font-weight:400;
}

/* V2 option previews */
.arabic-style-option[data-arabic-style-value="scheherazade"] .arabic-style-preview{font-family:var(--kg-arabic-font-scheherazade)!important}
.arabic-style-option[data-arabic-style-value="lateef"] .arabic-style-preview{font-family:var(--kg-arabic-font-lateef)!important}
.arabic-style-option[data-arabic-style-value="kufi"] .arabic-style-preview{font-family:var(--kg-arabic-font-kufi)!important}

/* Mobile copy of the Arabic style control. */
.kg-mobile-arabic-style{
 display:none;
 margin-top:4px;
 padding-top:12px;
 border-top:1px solid var(--color-border,#e5e5df)
}
.kg-mobile-arabic-style-title{
 margin:0 0 8px;
 color:var(--color-muted,#59615b);
 font-size:11px;
 font-weight:750;
 letter-spacing:.06em;
 text-transform:uppercase
}
.kg-mobile-arabic-options{display:flex;gap:7px;flex-wrap:wrap}
.kg-mobile-arabic-option{
 min-height:36px;
 padding:6px 10px;
 border:1px solid #cfe4d6;
 border-radius:999px;
 color:var(--color-primary,#08783f);
 background:var(--color-primary-pale,#f2f8f4);
 cursor:pointer;
 font-size:11px;
 font-weight:700
}
.kg-mobile-arabic-option.is-active{
 color:#fff;
 background:var(--color-primary,#08783f);
 border-color:var(--color-primary,#08783f)
}
@media(max-width:1020px){
 .kg-mobile-arabic-style{display:block}
}


/* ============================================================
   KITABGRID SEARCH RESULT ENHANCEMENT — V1
   APPEND TO END OF CURRENT site.css after the Arabic V2 block.
   ============================================================ */
.search-result-arabic{
 margin:14px 0 12px;
 padding:14px 16px;
 border-radius:10px;
 background:#fffdf7;
 text-align:right;
 font-size:clamp(1.45rem,2.5vw,2rem);
 line-height:1.9
}
.search-result-translation{margin:0 0 13px!important;color:var(--color-text,#101411)!important;font-size:14px!important;line-height:1.7!important}
.search-translation-pending{
 display:grid;
 gap:3px;
 margin:12px 0 14px;
 padding:10px 12px;
 border:1px solid #e7dfc6;
 border-radius:9px;
 background:#fbf7e9;
 color:#65541e;
 font-size:12px
}
.search-translation-pending strong{font-size:12px}
.search-result-grade{display:block;margin:0 0 10px;color:var(--color-muted,#59615b)}
.search-pagination{margin-top:22px}
.search-scope-note{max-width:800px;margin:28px auto 0;padding:16px 18px}
.search-scope-note strong{color:var(--color-primary,#08783f)}
.search-scope-note p{margin:5px 0 0;color:var(--color-muted,#59615b);font-size:12px;line-height:1.6}

/* ============================================================
   KITABGRID QURAN + HADITH COVER CARDS — V11
   APPEND TO THE END OF CURRENT public/assets/css/site.css
   Cover/list pages only. Reader/detail pages are NOT recolored.
   ============================================================ */

:root{
  --kg-cover-bg:#f2f8f4;
  --kg-cover-bg-2:#fbfefc;
  --kg-cover-line:#bcdcc7;
  --kg-cover-strong:#08783f;
  --kg-cover-deep:#056532;
  --kg-cover-ornament:rgba(8,120,63,.14);
}
html[data-library-cover-theme="green"]{
  --kg-cover-bg:#f2f8f4;--kg-cover-bg-2:#fbfefc;--kg-cover-line:#bcdcc7;--kg-cover-strong:#08783f;--kg-cover-deep:#056532;--kg-cover-ornament:rgba(8,120,63,.14)
}
html[data-library-cover-theme="blue"]{
  --kg-cover-bg:#f1f7fc;--kg-cover-bg-2:#fbfdff;--kg-cover-line:#c7ddef;--kg-cover-strong:#356f9d;--kg-cover-deep:#245779;--kg-cover-ornament:rgba(53,111,157,.14)
}
html[data-library-cover-theme="sand"]{
  --kg-cover-bg:#faf6ed;--kg-cover-bg-2:#fffdf8;--kg-cover-line:#e5d6b8;--kg-cover-strong:#987338;--kg-cover-deep:#725525;--kg-cover-ornament:rgba(152,115,56,.14)
}
html[data-library-cover-theme="rose"]{
  --kg-cover-bg:#fcf3f4;--kg-cover-bg-2:#fffafb;--kg-cover-line:#eccfd3;--kg-cover-strong:#a75e68;--kg-cover-deep:#82434c;--kg-cover-ornament:rgba(167,94,104,.14)
}
html[data-library-cover-theme="lavender"]{
  --kg-cover-bg:#f7f4fb;--kg-cover-bg-2:#fdfcff;--kg-cover-line:#dcd0eb;--kg-cover-strong:#75609b;--kg-cover-deep:#584574;--kg-cover-ornament:rgba(117,96,155,.14)
}

.kg-cover-theme-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 20px}
.kg-cover-theme-toolbar>span{color:var(--color-muted);font-size:12px;font-weight:700}
.kg-cover-swatches{display:flex;gap:7px;align-items:center}
.kg-cover-swatch{width:30px;min-height:30px;padding:0;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px var(--color-border);cursor:pointer}
.kg-cover-swatch[aria-pressed="true"]{box-shadow:0 0 0 2px var(--kg-cover-strong),0 0 0 4px #fff}
.kg-cover-swatch[data-cover-theme="green"]{background:#dcefe3}
.kg-cover-swatch[data-cover-theme="blue"]{background:#deedf8}
.kg-cover-swatch[data-cover-theme="sand"]{background:#f0e3c9}
.kg-cover-swatch[data-cover-theme="rose"]{background:#f2dfe2}
.kg-cover-swatch[data-cover-theme="lavender"]{background:#e6dff1}

/* Quran landing: turn the existing .surah-card into a compact decorative cover. */
.surah-grid.kg-surah-cover-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px}
.surah-card.kg-surah-cover{
  position:relative;isolation:isolate;overflow:hidden;min-height:255px;display:flex!important;flex-direction:column!important;justify-content:center;align-items:center!important;gap:6px!important;padding:28px 20px!important;text-align:center;
  color:var(--color-text);background:linear-gradient(145deg,var(--kg-cover-bg),var(--kg-cover-bg-2));border:1px solid var(--kg-cover-line)!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(28,54,38,.07)!important;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.surah-card.kg-surah-cover:hover{transform:translateY(-3px)!important;box-shadow:0 16px 34px rgba(28,54,38,.11)!important;border-color:var(--kg-cover-strong)!important}
.surah-card.kg-surah-cover::before,.surah-card.kg-surah-cover::after{content:"";position:absolute;z-index:-1;pointer-events:none}
.surah-card.kg-surah-cover::before{inset:10px;border:1px solid var(--kg-cover-line);border-radius:13px}
.surah-card.kg-surah-cover::after{width:115px;height:115px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(45deg);border:1px solid var(--kg-cover-ornament);border-radius:28px}
.kg-surah-cover .kg-cover-corner{position:absolute;width:46px;height:46px;border-color:var(--kg-cover-strong);opacity:.32}
.kg-surah-cover .kg-cover-corner.tl{left:17px;top:17px;border-left:2px solid;border-top:2px solid;border-radius:13px 0 0 0}
.kg-surah-cover .kg-cover-corner.tr{right:17px;top:17px;border-right:2px solid;border-top:2px solid;border-radius:0 13px 0 0}
.kg-surah-cover .kg-cover-corner.bl{left:17px;bottom:17px;border-left:2px solid;border-bottom:2px solid;border-radius:0 0 0 13px}
.kg-surah-cover .kg-cover-corner.br{right:17px;bottom:17px;border-right:2px solid;border-bottom:2px solid;border-radius:0 0 13px 0}
.kg-surah-cover .kg-surah-number-medallion{display:grid;place-items:center;width:38px;height:38px;margin-bottom:4px;border:1px solid var(--kg-cover-line);border-radius:50%;background:rgba(255,255,255,.72);color:var(--kg-cover-strong);font-weight:800;font-size:13px}
.kg-surah-cover .kg-surah-arabic-name{margin:2px 0 0;color:var(--kg-cover-deep);font-family:var(--kg-arabic-font-active,"Amiri Quran",serif)!important;font-size:clamp(1.75rem,2.4vw,2.25rem);line-height:1.45;direction:rtl}
.kg-surah-cover .kg-surah-latin-name{margin:0;font-family:var(--font-serif);font-size:18px;font-weight:750;line-height:1.2}
.kg-surah-cover .kg-surah-meta{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:7px}
.kg-surah-cover .kg-surah-meta span{display:inline-flex;align-items:center;min-height:25px;padding:3px 9px;border:1px solid var(--kg-cover-line);border-radius:999px;background:rgba(255,255,255,.68);color:#4f5c54;font-size:10px;font-weight:700}
.kg-surah-cover .kg-surah-open{margin-top:10px;color:var(--kg-cover-strong);font-size:11px;font-weight:800}
/* Hide the original number block after JS has created the richer cover. */
.surah-card.kg-surah-cover>.kg-original-surah-number{display:none!important}
.surah-card.kg-surah-cover>.kg-original-surah-title,.surah-card.kg-surah-cover>.kg-original-surah-count{display:none!important}

/* Hadith landing: collection cards become actual book-cover objects. */
.hadith-collection-grid.kg-hadith-cover-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:22px;align-items:stretch}
.hadith-collection-card.kg-hadith-cover{
  position:relative;isolation:isolate;overflow:hidden;min-height:360px!important;display:flex!important;flex-direction:column!important;justify-content:center;align-items:center;gap:14px;padding:34px 28px!important;text-align:center;
  background:linear-gradient(145deg,var(--kg-cover-bg),var(--kg-cover-bg-2))!important;border:1px solid var(--kg-cover-line)!important;border-radius:12px 22px 22px 12px!important;box-shadow:inset 7px 0 0 rgba(255,255,255,.58),0 14px 32px rgba(31,54,40,.09)!important
}
.hadith-collection-card.kg-hadith-cover:hover{transform:translateY(-4px)!important;border-color:var(--kg-cover-strong)!important;box-shadow:inset 7px 0 0 rgba(255,255,255,.58),0 19px 38px rgba(31,54,40,.14)!important}
.hadith-collection-card.kg-hadith-cover::before{content:"";position:absolute;inset:14px;border:1px solid var(--kg-cover-line);border-radius:8px 16px 16px 8px;pointer-events:none}
.hadith-collection-card.kg-hadith-cover::after{content:"✦";position:absolute;left:50%;bottom:25px;transform:translateX(-50%);color:var(--kg-cover-strong);opacity:.65;font-size:18px}
.kg-hadith-cover .hadith-book-mark{width:68px!important;height:68px!important;margin:0!important;border-radius:50%!important;background:rgba(255,255,255,.7)!important;border-color:var(--kg-cover-line)!important;box-shadow:none!important;z-index:1}
.kg-hadith-cover .hadith-book-mark span{color:var(--kg-cover-strong)!important;font-size:22px!important}
.kg-hadith-cover .hadith-collection-copy{display:flex;flex-direction:column;align-items:center;z-index:1}
.kg-hadith-cover .hadith-card-kicker{color:var(--kg-cover-strong)!important}
.kg-hadith-cover .hadith-collection-copy h2{margin:8px 0 5px!important;color:var(--kg-cover-deep);font-size:clamp(1.65rem,2.4vw,2.15rem)!important;line-height:1.18}
.kg-hadith-cover .hadith-compiler{margin-bottom:15px!important}
.kg-hadith-cover .hadith-card-description{display:none!important}
.kg-hadith-cover .hadith-card-stats{justify-content:center!important;margin-top:4px!important}
.kg-hadith-cover .hadith-card-stats span{border:1px solid var(--kg-cover-line);background:rgba(255,255,255,.68)!important}
.kg-hadith-cover .hadith-open-link{margin-top:18px!important;color:var(--kg-cover-strong)!important}

@media(max-width:700px){
  .kg-cover-theme-toolbar{justify-content:flex-start}
  .surah-grid.kg-surah-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .surah-card.kg-surah-cover{min-height:220px;padding:23px 13px!important}
  .kg-surah-cover .kg-surah-arabic-name{font-size:1.65rem}
  .kg-surah-cover .kg-surah-latin-name{font-size:15px}
  .hadith-collection-grid.kg-hadith-cover-grid{grid-template-columns:1fr}
  .hadith-collection-card.kg-hadith-cover{min-height:325px!important}
}
@media(max-width:430px){
  .surah-grid.kg-surah-cover-grid{grid-template-columns:1fr 1fr}
  .surah-card.kg-surah-cover{min-height:205px}
  .kg-surah-cover .kg-cover-corner{width:32px;height:32px}
}


/* KITABGRID HADITH COMPACT DIRECTORY CARDS V7 — APPEND TO public/assets/css/site.css */
.kg-hadith-page{padding-block:34px 56px}.kg-hadith-heading{margin:0 0 28px}.kg-hadith-heading h1{margin:4px 0 10px;font-family:var(--font-serif);font-size:clamp(36px,4.5vw,58px);line-height:1.06}.kg-hadith-heading p:last-child{color:var(--color-muted);max-width:850px}.kg-hadith-crumb{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px;color:var(--color-muted);font-size:13px}
.kg-hadith-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,280px));gap:18px;justify-content:start}.kg-hadith-card{position:relative;isolation:isolate;overflow:hidden;min-height:255px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:28px 18px;text-align:center;text-decoration:none;color:var(--color-text);background:linear-gradient(145deg,var(--kg-cover-bg,#f2f8f4),var(--kg-cover-bg-2,#fbfefc));border:1px solid var(--kg-cover-line,#bcdcc7);border-radius:18px;box-shadow:0 10px 28px rgba(28,54,38,.07);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.kg-hadith-card:hover{transform:translateY(-3px);border-color:var(--kg-cover-strong,#08783f);box-shadow:0 16px 34px rgba(28,54,38,.11)}.kg-hadith-card::before{content:"";position:absolute;inset:10px;z-index:-1;border:1px solid var(--kg-cover-line,#bcdcc7);border-radius:13px}.kg-hadith-card::after{content:"";position:absolute;width:112px;height:112px;left:50%;top:50%;z-index:-1;transform:translate(-50%,-50%) rotate(45deg);border:1px solid var(--kg-cover-ornament,rgba(8,120,63,.14));border-radius:28px}.kg-hc-corner{position:absolute;width:44px;height:44px;color:var(--kg-cover-strong,#08783f);opacity:.32}.kg-hc-corner.tl{left:17px;top:17px;border-left:2px solid;border-top:2px solid}.kg-hc-corner.tr{right:17px;top:17px;border-right:2px solid;border-top:2px solid}.kg-hc-corner.bl{left:17px;bottom:17px;border-left:2px solid;border-bottom:2px solid}.kg-hc-corner.br{right:17px;bottom:17px;border-right:2px solid;border-bottom:2px solid}.kg-hc-number{display:grid;place-items:center;min-width:38px;min-height:38px;padding:0 10px;border:1px solid var(--kg-cover-line,#bcdcc7);border-radius:999px;background:rgba(255,255,255,.72);color:var(--kg-cover-strong,#08783f);font-size:12px;font-weight:800}.kg-hc-title{display:grid;place-items:center;min-height:78px;max-width:225px;padding:8px}.kg-hc-title h2{margin:0;font-family:var(--font-serif);font-size:18px;line-height:1.18;color:var(--kg-cover-deep,#056532)}.kg-hc-sub{margin:0;color:var(--color-muted);font-size:12px}.kg-hc-meta{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}.kg-hc-meta span{padding:3px 9px;border:1px solid var(--kg-cover-line,#bcdcc7);border-radius:999px;background:rgba(255,255,255,.68);color:#4f5c54;font-size:10px;font-weight:700}.kg-hc-open{margin-top:5px;color:var(--kg-cover-strong,#08783f);font-size:11px;font-weight:800}
@media(max-width:700px){.kg-hadith-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kg-hadith-card{min-height:220px;padding:22px 12px}.kg-hc-title h2{font-size:15px}}


/* ============================================================
   KitabGrid WP27 Developer API
   APPEND THIS BLOCK TO public/assets/css/site.css
   Uses the existing global design tokens; do not deploy a separate
   developer-api.css file.
   ============================================================ */
.dev-page{
  --dev-danger:#8b3434;
  --dev-danger-bg:#fbf1ef;
  --dev-warning:#76581c;
  --dev-warning-bg:#fbf6ea;
  font-family:var(--font-sans);
}
.dev-page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:38px 0 60px}
.dev-brandbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;padding:0 4px}
.dev-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--color-text)}
.dev-brand img{width:42px;height:42px;object-fit:contain}
.dev-brand strong{display:block;font-size:18px;line-height:1.1}.dev-brand small{display:block;margin-top:4px;color:var(--color-muted);font-size:12px}
.dev-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.dev-links a{font-size:13px;font-weight:700;text-decoration:none}.dev-links a:hover{text-decoration:underline}
.dev-shell{overflow:hidden;border:1px solid var(--color-border);border-radius:24px;background:rgba(255,255,255,.95);box-shadow:var(--shadow-soft)}
.dev-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:0;border-bottom:1px solid var(--color-border)}
.dev-hero-copy{padding:46px 44px;background:linear-gradient(135deg,#f2faf5 0,#fff 72%)}
.dev-kicker{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e2f3e9;color:var(--color-primary-dark);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.dev-hero h1,.dev-section h1,.dev-section h2,.dev-panel h2{margin:12px 0 10px;font-family:var(--font-serif);line-height:1.12}
.dev-hero h1{max-width:680px;font-size:clamp(36px,5vw,58px)}
.dev-lead{max-width:680px;margin:0;color:var(--color-muted);font-size:17px;line-height:1.75}
.dev-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:28px}.dev-trust div{padding:13px;border:1px solid #dceae1;border-radius:13px;background:#fff}.dev-trust strong{display:block;color:var(--color-primary);font-size:13px}.dev-trust span{display:block;margin-top:3px;color:var(--color-muted);font-size:11px}
.dev-security-note{padding:44px 38px;background:var(--color-primary-pale);color:var(--color-text);border-left:1px solid var(--color-border)}.dev-security-note h2{margin:0 0 12px;font-family:var(--font-serif);font-size:27px}.dev-security-note p{margin:0 0 16px;color:var(--color-muted)}.dev-security-note ul{margin:0;padding-left:20px;color:var(--color-text)}.dev-security-note li+li{margin-top:9px}.dev-security-note code{padding:2px 5px;border-radius:5px;background:var(--color-paper);color:var(--color-primary-dark);border:1px solid var(--color-border)}
.dev-content{padding:38px 44px 46px}.dev-content.narrow{max-width:900px;margin:0 auto}.dev-section{margin-bottom:32px}.dev-section:last-child{margin-bottom:0}.dev-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.dev-section-head p{margin:0;color:var(--color-muted);font-size:13px}
.dev-form{display:grid;gap:26px}.dev-fieldset{margin:0;padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff}.dev-fieldset legend{padding:0 8px;color:#1f3327;font-weight:800}.dev-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.dev-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.dev-field{display:grid;gap:7px}.dev-field.full{grid-column:1/-1}.dev-field label,.dev-label{font-size:13px;font-weight:760}.dev-required{color:var(--dev-danger)}.dev-help{color:var(--color-muted);font-size:11px;line-height:1.5}.dev-input,.dev-select,.dev-textarea{width:100%;min-height:46px;padding:11px 13px;color:var(--color-text);background:#fff;border:1px solid #cfd8d2;border-radius:10px;outline:none}.dev-textarea{min-height:130px;resize:vertical}.dev-input:focus,.dev-select:focus,.dev-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(8,120,63,.1)}
.dev-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dev-choice{position:relative;display:flex;gap:10px;align-items:flex-start;padding:15px;border:1px solid var(--color-border);border-radius:12px;background:#fff;cursor:pointer}.dev-choice:hover{border-color:#bfd6c6;background:#fbfefc}.dev-choice input{margin-top:3px;accent-color:var(--color-primary)}.dev-choice strong{display:block;font-size:13px}.dev-choice span{display:block;margin-top:3px;color:var(--color-muted);font-size:11px;line-height:1.45}
.dev-checkbox-list{display:grid;gap:10px}.dev-checkbox{display:flex;align-items:flex-start;gap:10px;color:#263129;font-size:13px}.dev-checkbox input{margin-top:4px;accent-color:var(--color-primary)}.dev-checkbox em{font-style:normal;color:var(--color-muted)}
.dev-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.dev-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:0;border-radius:10px;background:var(--color-primary);color:#fff;font-weight:800;text-decoration:none;cursor:pointer}.dev-button:hover,.dev-button:focus{background:var(--color-primary-dark)}.dev-button.secondary{background:#fff;color:var(--color-primary);border:1px solid #bcd4c4}.dev-button.danger{background:#982f2f}.dev-button.warning{background:#8a5a0a}.dev-button.small{min-height:36px;padding:7px 11px;font-size:12px}.dev-actions small{max-width:620px;color:var(--color-muted)}
.dev-alert{margin:0 0 22px;padding:15px 17px;border-radius:12px;border:1px solid}.dev-alert ul{margin:7px 0 0;padding-left:20px}.dev-alert.error{border-color:#f0c8c5;background:var(--dev-danger-bg);color:#6d2525}.dev-alert.success{border-color:#c8e3d2;background:var(--color-primary-pale);color:#155632}.dev-alert.notice{border-color:#ead9b3;background:var(--dev-warning-bg);color:#68480b}
.dev-status-card,.dev-panel{padding:24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff}.dev-status-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.dev-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#edf1ee;color:#445149;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.dev-pill.approved,.dev-pill.active{background:#dcf3e5;color:#075c2f}.dev-pill.rejected,.dev-pill.revoked{background:#fde7e5;color:#882c2c}.dev-pill.pending_review,.dev-pill.pending_email{background:#fff1ce;color:#7a540d}.dev-pill.suspended{background:#f3e8d9;color:#754c16}
.dev-definition{display:grid;grid-template-columns:190px 1fr;gap:0;margin:18px 0 0;border-top:1px solid var(--color-border)}.dev-definition dt,.dev-definition dd{margin:0;padding:12px 4px;border-bottom:1px solid var(--color-border)}.dev-definition dt{color:var(--color-muted);font-size:12px}.dev-definition dd{font-size:13px;overflow-wrap:anywhere}
.dev-code{position:relative;margin:12px 0;padding:17px;border:1px solid #243a30;border-radius:12px;background:#10271c;color:#e7f5ec;overflow:auto;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre}.dev-code .copy-button{position:absolute;top:10px;right:10px;min-height:30px;padding:4px 8px;border:1px solid rgba(255,255,255,.25);border-radius:7px;background:#183a28;color:#fff;font:700 11px/1 system-ui;cursor:pointer}.dev-key{word-break:break-all;white-space:pre-wrap}.dev-key-box{padding:18px;border:2px solid #b7d8c3;border-radius:13px;background:#f4fbf6}.dev-key-box h3{margin:0 0 8px}.dev-key-box+.dev-key-box{margin-top:14px}
.dev-split{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px}.dev-side{display:grid;gap:10px;align-content:start}.dev-side a{display:block;padding:12px 13px;border:1px solid var(--color-border);border-radius:10px;background:#fff;color:var(--color-text);font-size:13px;font-weight:700;text-decoration:none}.dev-side a:hover{border-color:#bad2c2;color:var(--color-primary)}
.dev-table-wrap{overflow:auto;border:1px solid var(--color-border);border-radius:13px;background:#fff}.dev-table{width:100%;border-collapse:collapse;font-size:12px}.dev-table th,.dev-table td{padding:11px 12px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.dev-table th{background:#f3f8f5;color:#285039;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.dev-table tr:last-child td{border-bottom:0}.dev-table a{font-weight:700;text-decoration:none}.dev-table a:hover{text-decoration:underline}
.dev-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.dev-metric{padding:16px;border:1px solid var(--color-border);border-radius:13px;background:#fff}.dev-metric strong{display:block;color:var(--color-primary);font-size:25px}.dev-metric span{color:var(--color-muted);font-size:11px}
.dev-inline-forms{display:flex;gap:8px;flex-wrap:wrap}.dev-inline-forms form{margin:0}.dev-muted{color:var(--color-muted)}.dev-small{font-size:12px}.dev-list{padding-left:20px}.dev-list li+li{margin-top:7px}.dev-divider{height:1px;margin:24px 0;background:var(--color-border)}
.dev-terms h2{margin-top:30px}.dev-terms h3{margin-top:20px}.dev-terms p,.dev-terms li{color:#303a33}.dev-terms .legal-note{padding:14px 16px;border-left:4px solid var(--color-primary);background:var(--color-primary-pale);color:#23402f}
.dev-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:900px){.dev-hero{grid-template-columns:1fr}.dev-security-note{padding:28px 30px}.dev-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-grid.three{grid-template-columns:1fr 1fr}.dev-split{grid-template-columns:1fr}.dev-side{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.dev-page{width:min(100% - 18px,1180px);padding:18px 0 34px}.dev-brandbar{align-items:flex-start}.dev-links{gap:8px}.dev-shell{border-radius:17px}.dev-hero-copy,.dev-content{padding:26px 20px}.dev-security-note{padding:25px 20px}.dev-trust{grid-template-columns:1fr}.dev-grid,.dev-grid.three,.dev-choice-grid{grid-template-columns:1fr}.dev-fieldset{padding:18px}.dev-actions,.dev-status-top{align-items:stretch;flex-direction:column}.dev-actions .dev-button{width:100%}.dev-definition{grid-template-columns:1fr}.dev-definition dt{padding-bottom:2px;border-bottom:0}.dev-definition dd{padding-top:3px}.dev-side{grid-template-columns:1fr}.dev-metrics{grid-template-columns:1fr 1fr}.dev-brand small{display:none}}
@media(max-width:420px){.dev-metrics{grid-template-columns:1fr}.dev-brandbar{display:grid}.dev-links{justify-content:flex-start}}

