/* Mizan Unified Theme v2.0 — exact supplied palette.
   Global site UI is themed here. Book cards/artwork/chapter visuals are excluded.
*/
:root{
  --mu-bg:var(--mizan-bg);
  --mu-card:var(--mizan-card);
  --mu-border:var(--mizan-border);
  --mu-heading:var(--mizan-heading);
  --mu-section-heading:var(--mizan-section-heading);
  --mu-text:var(--mizan-text);
  --mu-muted:var(--mizan-muted);
  --mu-primary:var(--mizan-primary-500);
}
html:is([data-theme="light"],[data-admin-theme="light"]){
  --mu-bg:var(--mizan-bg-light);
  --mu-card:var(--mizan-card-light);
  --mu-border:var(--mizan-border-light);
  --mu-heading:var(--mizan-heading-light);
  --mu-section-heading:var(--mizan-section-heading-light);
  --mu-text:var(--mizan-text-light);
  --mu-muted:var(--mizan-muted-light);
}
/* Base */
html,
body{
  font-family:var(--mizan-font-family-arabic,"IBM Plex Sans Arabic","Cairo",sans-serif);
  background:var(--mu-bg);
  color:var(--mu-text);
  border-color:var(--mu-border);
}
/* Header uses the active central surface token in both themes. */
html body header{
  background:var(--mizan-surface);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
html body header h1,
html body header .mizan-header-copy h1,
html body header h2,
html body header h3,
html body header .title,
html body header strong{
  color:var(--mizan-heading);
}
html body header p{
  color:var(--mizan-muted);
}
html body header .login-btn,
html body header .login-button,
html body header .btn-primary{
  background:var(--mizan-btn-primary-bg);
  color:var(--mizan-btn-primary-fg);
}
/* Generic surfaces */
.exam-box,
.results-box,
.review-item,
.profile-panel,
.profile-stat-card,
.student-info-grid>div,
.student-profile-card,
.custom-exam-count-row,
.question-search-results,
.question-search-item,
.firebase-admin-card,
.firebase-admin-stat,
.firebase-admin-head,
.resume-exam-panel,
.contact-card,
.home-feature-strip>div,
.contact-box,
.exam-dashboard-tabs,
.lawyers-section,
.lawyers-hero,
.lawyers-toolbar,
.lawyers-apply-panel,
.lawyer-card,
.lawyer-details-dialog,
.lawyer-my-application,
.petitions-shell,
.petitions-hero,
.petition-builder-head,
.petition-tools,
.petition-template-card,
.petition-form-panel,
.petition-preview-panel,
.mizan-pulpit-section,
.mizan-pulpit-hero,
.mizan-pulpit-toolbar,
.mizan-article-card,
.mizan-modal-box,
.mizan-article-modal-box{
  background:var(--mu-card);
  color:var(--mu-text);
  border-color:var(--mu-border);
}
.stat-item,
.option-btn,
.progress-bar-container,
.result-details,
.history-item,
.student-wrong-item{
  background:var(--mu-bg);
  color:var(--mu-text);
  border-color:var(--mu-border);
}
/* Typography */
.question-text,
.exam-title,
.review-question,
.detail-value,
.profile-identity h3,
.profile-panel-heading h3,
.firebase-admin-head h2,
.lawyers-hero h1,
.lawyers-hero h2,
.lawyer-card-main,
.petition-builder-head h1,
.petition-panel-title,
.mizan-pulpit-hero h1,
.mizan-article-card h3,
.mizan-modal-head h2,
.home-section-heading h2,
.mizan-pulpit-toolbar h3,
.contact-heading h2,
.footer-info-heading h2,
.student-page-header h2{
  color:var(--mu-heading);
}
.stat-label,
.detail-label,
.review-explanation,
.profile-identity p,
.profile-panel-heading p,
.history-main small,
.history-score span,
.student-highlight-panel p,
.profile-empty,
.question-search-source,
.home-feature-strip small,
.contact-heading p,
.contact-card small,
.lawyers-hero p,
.lawyer-card-location,
.lawyer-card-office,
.lawyer-details-section,
.petition-status,
.mizan-article-meta,
.mizan-form-help{
  color:var(--mu-muted);
}
/* Primary actions */
.exam-btn.next,
.primary-btn,
.btn-primary,
.cta-button,
.firebase-admin-action,
.firebase-admin-back,
.lawyers-primary-btn,
.lawyer-details-link,
.lawyer-identity-btn,
.petition-primary,
.mizan-pulpit-primary{
  background:var(--mizan-btn-primary-bg);
  color:var(--mizan-btn-primary-fg);
  border-color:var(--mizan-btn-primary-border);
}
.exam-btn.next:hover,

.primary-btn:hover,

.btn-primary:hover,

.cta-button:hover,

.firebase-admin-action:hover,

.firebase-admin-back:hover,

.petition-primary:hover,

.mizan-pulpit-primary:hover,

.mizan-form-submit:hover{
  background:var(--mizan-btn-primary-bg-hover);
}
/* Forms/search */
input:not(.book-card input):not(.petition-tools input),
select:not(.book-card select),
textarea:not(.book-card textarea),
#search-input,
.lawyers-search,
.lawyer-form input,
.lawyer-form select,
.lawyer-form textarea,
.petition-fields input,
.petition-fields select,
.petition-fields textarea,
.mizan-form-grid input,
.mizan-form-grid select,
.mizan-form-grid textarea{
  background:var(--mu-card);
  color:var(--mu-text);
  border-color:var(--mu-border);
}
/* Home cards: exact white/dark surfaces; book cards are untouched */
.home-category-card[data-home-action],
.home-coming-soon{
  background:var(--mu-card);
  border-color:var(--mu-border);
  color:var(--mu-text);
}
.home-category-card[data-home-action] strong{
  color:var(--mu-heading);
}
.home-category-card[data-home-action] small{
  color:var(--mu-muted);
}
.home-category-card[data-home-action] i,
.home-category-card[data-home-action] b,
.home-coming-soon i,
.home-coming-soon b,
.home-section-heading span,
.student-page-header span,
.student-page-icon,
.profile-stat-card strong,
.student-big-score,
.history-score strong,
.firebase-admin-card-head h3,
.firebase-admin-kicker{
  color:var(--mu-primary);
}
.home-category-card[data-home-action] i,
.student-page-icon,
.account-btn,
.firebase-admin-tab{
  background:var(--mizan-accent-tile-bg);
  border-color:var(--mizan-primary-200);
}
.home-category-card[data-home-action]:before{
  background:var(--mizan-accent-tile-bg);
}
/* Quiz */
.question-text{
  color:var(--mizan-primary-900);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .question-text{
  color:var(--mizan-neutral-50);
}
.progress-bar-container{
  background:var(--mizan-border);
}
.progress-bar-fill{
  background:var(--mizan-primary-500);
}

.option-btn:hover{
  border-color:var(--mizan-accent-text);
}
/* Forum / pulpit */
.mizan-pulpit-kicker,
.mizan-article-meta{
  border-color:var(--mu-border);
}
.mizan-pulpit-toolbar h3{
  color:var(--mu-section-heading);
}
/* Contact */
.contact-card-action{
  background:var(--mizan-info-100);
  color:var(--mizan-info-700);
}
.contact-card-whatsapp,
.contact-card-telegram,
.contact-card-instagram,
.contact-card-facebook{
  background:var(--mu-card);
  border-color:var(--mu-border);
}
.contact-card strong{
  color:var(--mu-heading);
}
/* Sidebar surfaces. Keep the utility-header glass treatment from platform-sidebar.css. */
.platform-sidebar,
.student-sidebar-panel{
  background:var(--mu-bg);
  border-color:var(--mu-border);
}
/* Footer: exact navy */
.footer-bottom,
.footer-faq-list summary,
.footer-info-content{
  color:var(--mizan-neutral-200);
}
.footer-bottom p{
  color:var(--mizan-neutral-400);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) body .footer-info-section .footer-info-box{
  background:var(--mizan-gradient-home-hero);
  color:var(--mizan-white);
  border-color:var(--mizan-home-hero-border);
  box-shadow:var(--mizan-shadow-home-hero);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .footer-faq-list details{
  background:var(--mizan-glass-white-025);
  color:var(--mizan-white);
  border-color:var(--mizan-glass-white-080);
  box-shadow:var(--mizan-shadow-theme-subtle);
}
/* ===== v2.1 contrast + CTA + contact repair ===== */
/* Theme toggle remains explicit here; menu trigger styling is owned by
   theme-aware tokens in mizan-colors.css and platform-sidebar.css. */
html:is([data-theme="light"],[data-admin-theme="light"]) #theme-toggle.theme-toggle{
  background:var(--mizan-white);
  color:var(--mizan-primary-900);
  border:1px solid var(--mizan-text-dark);
  box-shadow:none;
  opacity:1;
}
html:is([data-theme="light"],[data-admin-theme="light"]) #theme-toggle.theme-toggle i,
html:is([data-theme="light"],[data-admin-theme="light"]) #theme-toggle.theme-toggle svg{
  color:var(--mizan-primary-900);
  background-color:currentColor;
  opacity:1;
}
html:is([data-theme="light"],[data-admin-theme="light"]) #theme-toggle.theme-toggle:hover{
  background:var(--mizan-neutral-100);
  border-color:var(--mizan-accent-text);
  color:var(--mizan-primary-600);
}
html:is([data-theme="light"],[data-admin-theme="light"]) #theme-toggle.theme-toggle:hover i,
html:is([data-theme="light"],[data-admin-theme="light"]) #theme-toggle.theme-toggle:hover svg{
  color:var(--mizan-primary-600);
  background-color:currentColor;
}
/* Contact cards: restore individual visual identity instead of flattening all
   cards into one generic surface. */
.contact-info-grid .contact-card{
  border-width:1px;
}
html:is([data-theme="light"],[data-admin-theme="light"]) .contact-info-grid .contact-card{
  box-shadow:var(--mizan-contact-panel-shadow);
}
.contact-info-grid .contact-card-whatsapp{
  border-color:var(--mizan-contact-whatsapp-icon-fg);
  background:var(--mizan-gradient-status-success);
}
.contact-info-grid .contact-card-telegram{
  border-color:var(--mizan-contact-telegram-icon-fg);
  background:var(--mizan-gradient-status-info);
}
.contact-info-grid .contact-card-telegram>i{
  background:var(--mizan-info-100);
  color:var(--mizan-info-700);
}
.contact-info-grid .contact-card-telegram .contact-card-action{
  background:var(--mizan-info-100);
  color:var(--mizan-info-700);
}
.contact-info-grid .contact-card-phone{
  border-color:var(--mizan-contact-phone-border);
  background:var(--mizan-contact-phone-bg);
}
.contact-info-grid .contact-card-email{
  border-color:var(--mizan-contact-email-border);
  background:var(--mizan-contact-email-bg);
}
.contact-info-grid .contact-card-email>i{
  background:var(--mizan-contact-email-icon-bg);
  color:var(--mizan-contact-email-icon-fg);
}
.contact-info-grid .contact-card-instagram{
  border-color:var(--mizan-contact-instagram-border);
  background:var(--mizan-contact-social-bg);
}
.contact-info-grid .contact-card-instagram>i{
  background:var(--mizan-contact-instagram-icon-bg);
  color:var(--mizan-contact-instagram-icon-fg);
}
.contact-info-grid .contact-card-instagram .contact-card-action{
  background:var(--mizan-accent-tile-bg);
  color:var(--mizan-primary-700);
}
.contact-info-grid .contact-card-facebook{
  border-color:var(--mizan-contact-facebook-border);
  background:var(--mizan-contact-social-bg);
}
.contact-info-grid .contact-card-facebook>i{
  background:var(--mizan-accent-tile-bg);
  color:var(--mizan-primary-700);
}
.contact-info-grid .contact-card-facebook .contact-card-action{
  background:var(--mizan-accent-tile-bg);
  color:var(--mizan-primary-700);
}
/* CTA text: apply the accent/gradient to the complete phrase, not a partial
   fragment caused by inline background clipping. */
.home-feature-strip button,
.home-feature-strip a,
.home-coming-soon b,
.home-category-card[data-home-action] b,
.contact-card-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}
.home-feature-strip button,
.home-feature-strip a{
  background-image:var(--mizan-gradient-progress-primary);
  background-size:100% 100%;
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .home-feature-strip button,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .home-feature-strip a{
  background-image:var(--mizan-gradient-progress-light);
}
/* ================================================================
   MIZAN CENTRAL PALETTE ENFORCEMENT v3.0
   Non-book UI only. The internal 3-D book artwork remains untouched.
   ================================================================ */
html body{
  background:var(--mizan-bg);
  color:var(--mizan-text);
}
/* Home */
.home-category-card,
.home-category-card.featured,
.home-coming-soon,
.home-feature-strip>div{
  background:var(--mizan-card);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
.home-category-card:before{
  background:var(--mizan-accent-tile-bg);
}
.home-category-card i{
  background:var(--mizan-accent-tile-bg);
  color:var(--mizan-primary-700);
}
.home-category-card strong,
.home-category-card b,
.home-feature-strip strong{
  color:var(--mizan-heading);
}
.home-category-card small,
.home-feature-strip small{
  color:var(--mizan-muted);
}
.home-category-card b,
.home-section-heading span,
.home-feature-strip i{
  color:var(--mizan-accent-text);
}
.home-feature-strip button{
  color:var(--mizan-primary-600);
}
.home-category-card:hover,
.home-feature-strip>div:hover{
  border-color:var(--mizan-primary-400);
}
/* Book card shell + metadata/actions only; .stage/.book artwork is excluded. */
.book-card{
  background:var(--mizan-card);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
.book-card>.card-title{
  color:var(--mizan-heading);
}
.book-card>.card-author{
  color:var(--mizan-muted);
}
.book-card>.book-stats .book-stat-badge{
  background:var(--mizan-bg);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
.book-card>.book-stats .book-stat-icon{
  color:var(--mizan-accent-text);
}
.book-card>.book-stats .book-stat-value{
  color:var(--mizan-heading);
}
.book-card>.book-stats .book-stat-label{
  color:var(--mizan-muted);
}

/* Chapters */
.chapter-item{
  background:var(--mizan-card);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
  box-shadow:var(--mizan-shadow-sm);
}
.chapter-item:hover{
  border-color:var(--mizan-primary-400);
  box-shadow:var(--mizan-shadow-md);
}
.chapter-number{
  color:var(--mizan-heading);
}
.chapter-number::before{
  background:var(--mizan-primary-500);
}
.chapter-info p{
  color:var(--mizan-muted);
}
.chapter-start-btn{
  background:var(--mizan-btn-primary-bg-grad);
  color:var(--mizan-btn-primary-fg);
  border-color:var(--mizan-btn-primary-border);
}
.chapter-start-btn:hover{
  background:var(--mizan-btn-primary-bg-strong);
}
/* Exam / question UI */
.question-card{
  background:var(--mizan-card);
  border-color:var(--mizan-border);
  box-shadow:var(--mizan-shadow-md);
}
.question-card .question-text{
  color:var(--mizan-heading);
  text-shadow:none;
}
.question-label{
  color:var(--mizan-primary-700);
  background:var(--mizan-accent-tile-bg);
  border-color:var(--mizan-primary-200);
}
.exam-home-btn{
  border-color:var(--mizan-border);
  color:var(--mizan-muted);
}
.option-btn{
  border-color:var(--mizan-border);
}
.option-btn:hover:not(:disabled){
  border-color:var(--mizan-accent-text);
  background:var(--mizan-accent-tile-bg);
}
.option-btn.correct{
  background:var(--mizan-success-100);
  border-color:var(--mizan-success-500);
  color:var(--mizan-success-700);
}
.option-btn.incorrect{
  background:var(--mizan-danger-100);
  border-color:var(--mizan-danger-500);
  color:var(--mizan-danger-700);
}
/* Random exam + search */
.custom-exam-entry-btn,
.custom-exam-start-btn{
  background:var(--mizan-btn-primary-bg);
  color:var(--mizan-btn-primary-fg);
  border-color:var(--mizan-btn-primary-border);
}
.custom-exam-entry-btn:hover,
.custom-exam-start-btn:hover{
  background:var(--mizan-btn-primary-bg-hover);
}
.custom-exam-desc,
.question-search-loading,
.question-search-source,
.custom-exam-book-option small{
  color:var(--mizan-muted);
}
.custom-exam-book-option,
.custom-exam-count-row,
.question-search-results{
  background:var(--mizan-card);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
.custom-exam-count-row input{
  background:var(--mizan-bg);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
.question-search-item{
  border-color:var(--mizan-border);
  color:var(--mizan-text);
}
/* Contact */
.contact-box{
  background:var(--mizan-card);
  border-color:var(--mizan-border);
}
.contact-heading span{
  color:var(--mizan-accent-text);
}
.contact-heading h2{
  color:var(--mizan-heading);
}
.contact-heading p{
  color:var(--mizan-muted);
}
.contact-info-grid .contact-card{
  color:var(--mizan-text);
  background:var(--mizan-card);
  border-color:var(--mizan-border);
}
.contact-info-grid .contact-card>i{
  background:var(--mizan-info-100);
  color:var(--mizan-info-700);
}
.contact-info-grid .contact-card .contact-card-action{
  background:var(--mizan-accent-tile-bg);
  color:var(--mizan-primary-700);
}
.contact-info-grid .contact-card:hover{
  background:var(--mizan-bg);
  border-color:var(--mizan-accent-tile-border);
}
.contact-info-grid .contact-card strong{
  color:var(--mizan-heading);
}
.contact-info-grid .contact-card small{
  color:var(--mizan-muted);
}
.contact-info-grid .contact-card-whatsapp>i,
.contact-info-grid .contact-card-whatsapp .contact-card-action{
  background:var(--mizan-success-100);
  color:var(--mizan-success-700);
}
.contact-info-grid .contact-card-phone>i,
.contact-info-grid .contact-card-phone .contact-card-action{
  background:var(--mizan-warning-100);
  color:var(--mizan-warning-700);
}
.contact-info-grid .contact-card-email>i,
.contact-info-grid .contact-card-email .contact-card-action{
  background:var(--mizan-info-100);
  color:var(--mizan-info-700);
}
/* Lawyers */
.lawyers-section,
.lawyers-hero,
.lawyers-toolbar,
.lawyers-apply-panel,
.lawyer-card,
.lawyer-details-dialog,
.lawyer-my-application{
  background:var(--mizan-card);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
.lawyers-hero>span,
.lawyer-form-head span{
  color:var(--mizan-accent-text);
}
.lawyers-hero p,
.lawyer-form-head p,
.lawyer-card-location,
.lawyer-card-office,
.lawyer-details-section{
  color:var(--mizan-muted);
}
.lawyers-search input,
.lawyer-form input,
.lawyer-form select,
.lawyer-form textarea{
  background:var(--mizan-bg);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
.lawyers-primary-btn,
.lawyer-details-link,
.lawyer-identity-btn{
  background:var(--mizan-btn-primary-bg);
  color:var(--mizan-btn-primary-fg);
  border-color:var(--mizan-btn-primary-border);
}
.lawyers-primary-btn:hover,
.lawyer-details-link:hover{
  background:var(--mizan-btn-primary-bg-hover);
}
/* Petitions */
.petitions-shell,
.petitions-hero,
.petition-builder-head,
.petition-tools,
.petition-template-card,
.petition-form-panel,
.petition-preview-panel{
  background:var(--mizan-card);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
.petitions-hero span,
.petition-builder-head span,
.petition-tools label i{
  color:var(--mizan-accent-text);
}
.petitions-hero p,
.petition-builder-head p,
.petition-tools>span,
.petition-template-card span{
  color:var(--mizan-muted);
}
.petition-template-icon{
  background:var(--mizan-accent-tile-bg);
  color:var(--mizan-primary-700);
}
.petition-tools label,
.petition-fields input,
.petition-fields select,
.petition-fields textarea{
  background:var(--mizan-bg);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
.petition-primary{
  background:var(--mizan-primary-500);
  color:var(--mizan-white);
  border-color:var(--mizan-accent-text);
}
.petition-primary:hover{
  background:var(--mizan-primary-600);
}
/* Pulpit */
.mizan-pulpit-section,
.mizan-pulpit-hero,
.mizan-pulpit-toolbar,
.mizan-article-card,
.mizan-modal-box,
.mizan-article-modal-box,
.mizan-profile-modal-box{
  background:var(--mizan-card);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
.mizan-pulpit-hero:after{
  color:var(--mizan-accent-tile-fg);
}
.mizan-pulpit-toolbar span,

.mizan-article-meta{
  color:var(--mizan-muted);
}
.mizan-pulpit-primary,
.mizan-read-btn{
  background:var(--mizan-btn-primary-bg);
  color:var(--mizan-btn-primary-fg);
  border-color:var(--mizan-btn-primary-border);
}
.mizan-pulpit-primary:hover,
.mizan-read-btn:hover{
  background:var(--mizan-btn-primary-bg-hover);
}
.mizan-pulpit-secondary{
  background:var(--mizan-accent-tile-bg);
  color:var(--mizan-primary-700);
  border-color:var(--mizan-primary-200);
}
.mizan-article-card h3{
  color:var(--mizan-heading);
}
/* Footer + information pages */
html body footer{
  background:var(--mizan-primary-900);
  color:var(--mizan-muted);
  border-color:var(--mizan-section-heading-dark);
}
html body .footer-info-section .footer-info-box{
  background:var(--mizan-gradient-home-hero);
  color:var(--mizan-white);
  border-color:var(--mizan-home-hero-border);
  box-shadow:var(--mizan-shadow-home-hero);
}
.footer-faq-list details{
  background:var(--mizan-glass-white-025);
  color:var(--mizan-white);
  border-color:var(--mizan-glass-white-080);
  box-shadow:var(--mizan-shadow-theme-subtle);
}
.footer-info-heading span{
  color:var(--mizan-warning-200);
}
.footer-info-heading h2{
  color:var(--mizan-white);
}
.footer-info-heading p,
.footer-info-content,
.footer-faq-list p{
  color:var(--mizan-ice);
}
.footer-faq-list summary{
  color:var(--mizan-white);
}
/* Sidebar */
.platform-sidebar-panel{
  background:var(--mizan-surface);
  border-color:var(--mizan-border);
}
.platform-sidebar-backdrop{
  background:var(--mizan-sidebar-backdrop);
}
.platform-sidebar-close{
  background:var(--mizan-card);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
.platform-sidebar-brand strong{
  color:var(--mizan-heading);
}
.platform-sidebar-brand span{
  color:var(--mizan-muted);
}
.platform-sidebar-item{
  color:var(--mizan-text);
  border-color:transparent;
}
.platform-sidebar-item:hover,
.platform-sidebar-item.active{
  background:var(--mizan-accent-tile-bg);
  color:var(--mizan-primary-800);
  border-color:var(--mizan-primary-200);
}
.platform-sidebar-item i{
  color:var(--mizan-accent-text);
}
/* Forms */
input:not(.book-card input):not(.petition-tools input),
select:not(.book-card select),
textarea:not(.book-card textarea),
.contact-form input,
.contact-form textarea,
.contact-form select{
  background:var(--mizan-card);
  color:var(--mizan-text);
  border-color:var(--mizan-border);
}
input:not(.book-card input):focus,
select:not(.book-card select):focus,
textarea:not(.book-card textarea):focus{
  border-color:var(--mizan-accent-text);
  box-shadow:var(--mizan-shadow-focus-primary);
  outline:none;
}
input::placeholder,
textarea::placeholder{
  color:var(--mizan-muted);
}
/* Any remaining generic non-book card action */
.start-exam-btn,
.card:not(.book-card) button{
  background:var(--mizan-btn-primary-bg);
  color:var(--mizan-btn-primary-fg);
  border-color:var(--mizan-btn-primary-border);
}
.start-exam-btn:hover,
.card:not(.book-card) button:hover{
  background:var(--mizan-btn-primary-bg-hover);
}
/* FINAL BUTTON COLOR LOCK — book artwork excluded */
.book-card .test-btn,
.book-card>.test-btn{
  background:var(--mizan-btn-primary-bg);
  background-image:none;
  color:var(--mizan-btn-primary-fg);
  border-color:var(--mizan-btn-primary-border);
  box-shadow:var(--mizan-btn-primary-shadow);
}
.book-card .test-btn:hover,
.book-card>.test-btn:hover{
  background:var(--mizan-btn-primary-bg-hover);
  background-image:none;
  color:var(--mizan-btn-primary-fg);
}
/* ===== Accessibility & state refinements (merged from the design audit) ===== */
html:is([data-theme="light"],[data-admin-theme="light"]) .question-card .question-text{
  color:var(--mizan-heading);
  text-shadow:none;
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .option-btn:hover:not(:disabled):not(.correct):not(.incorrect){
  background:var(--mizan-accent-tile-bg);
  border-color:var(--mizan-primary-400);
  color:var(--mizan-heading);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .option-btn.correct,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .option-btn.correct:hover{
  background:color-mix(in srgb,var(--mizan-success-500) 16%,transparent);
  border-color:var(--mizan-success-500);
  color:var(--mizan-success-200);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .option-btn.incorrect,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .option-btn.incorrect:hover{
  background:color-mix(in srgb,var(--mizan-danger-500) 16%,transparent);
  border-color:var(--mizan-danger-500);
  color:var(--mizan-danger-200);
}
html:is([data-theme="light"],[data-admin-theme="light"]) .option-btn.correct:hover{
  background:var(--mizan-success-100);
  border-color:var(--mizan-success-500);
  color:var(--mizan-success-700);
}
html:is([data-theme="light"],[data-admin-theme="light"]) .option-btn.incorrect:hover{
  background:var(--mizan-danger-100);
  border-color:var(--mizan-danger-500);
  color:var(--mizan-danger-700);
}
.stat-correct .stat-value{
  color:var(--mizan-success-text);
}
.stat-wrong .stat-value{
  color:var(--mizan-danger-text);
}
.home-section-heading span,
.contact-heading span,
.footer-info-heading span,
.mizan-pulpit-kicker,
.lawyers-hero>span,
.lawyer-form-head span,
.petitions-hero span,
.petition-builder-head span,
.platform-sidebar-heading,
.home-category-card b,
.home-category-card[data-home-action] b,
.stat-time .stat-value,
.custom-exam-title,
.question-search-header,
.profile-stat-card strong,
.student-big-score,
.history-score strong,
.firebase-admin-card-head h3,
.firebase-admin-kicker,
.home-feature-strip i,
.auth-modal-heading{
  color:var(--mizan-accent-text);
}
.share-question-btn,
.exam-home-btn:hover{
  color:var(--mizan-accent-text);
  border-color:var(--mizan-accent-text);
}
.share-question-btn:hover:not(:disabled){
  background:var(--mizan-primary-500);
  color:var(--mizan-on-primary);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .home-coming-soon i,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .home-category-card b,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .student-page-icon,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .account-btn,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .firebase-admin-tab,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .petition-template-icon,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .question-label{
  background:var(--mizan-accent-tile-bg);
  border-color:var(--mizan-accent-tile-border);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .home-coming-soon i,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .student-page-icon,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .petition-template-icon{
  color:var(--mizan-accent-tile-fg);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .question-label{
  color:var(--mizan-primary-200);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .home-category-card:before,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .home-category-card[data-home-action]:before{
  background:var(--mizan-section-icon-bg);
}
html body footer #visitor-count,
.visitor-counter #visitor-count{
  color:var(--mizan-accent-text);
}
html body footer .footer-links button{
  color:var(--mizan-muted);
}
html body footer .footer-links button:hover{
  color:var(--mizan-heading-dark);
}
html:is([data-theme="light"],[data-admin-theme="light"]) .footer-links span{
  color:var(--mizan-muted);
}
.auth-submit-btn{
  background:var(--mizan-btn-primary-bg);
  color:var(--mizan-btn-primary-fg);
}
.auth-submit-btn:hover:not(:disabled){
  background:var(--mizan-btn-primary-bg-hover);
}
.google-signin-btn{
  background:var(--mizan-card);
  color:var(--mizan-text);
  border:1px solid var(--mizan-border-control);
}
.auth-error{
  color:var(--mizan-danger-text);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .auth-divider{
  color:var(--mizan-muted);
}
input:not(.book-card input):not([type="checkbox"]):not([type="radio"]),
select:not(.book-card select),
textarea:not(.book-card textarea),
#search-input{
  border-color:var(--mizan-border-control);
}
html body :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible,
html body .book-card button:focus-visible,
html body .card button:focus-visible,
html body .start-exam-btn:focus-visible,
html body #search-input:focus-visible{
  outline:var(--mizan-focus-ring-width) solid var(--mizan-focus-ring);
  outline-offset:var(--mizan-focus-ring-offset);
}
#result-grade{
  color:var(--mizan-accent-text);
}
#result-grade[data-state="pass"]{
  color:var(--mizan-success-text);
}
#result-grade[data-state="fail"]{
  color:var(--mizan-danger-text);
}
:where(button:not(.option-btn),[role="button"],input,select,textarea):disabled{
  opacity:.55;
  cursor:not-allowed;
}
.option-btn:disabled,
.option-btn.disabled{
  opacity:1;
}
.option-btn.correct::after{
  content:" ✓";
  font-weight:900;
}
.option-btn.incorrect::after{
  content:" ✗";
  font-weight:900;
}
/* Brand wordmark uses the active semantic heading color in both themes. */
html body header .mizan-header-copy h1{
  color:var(--mizan-heading);
  background:none;
  -webkit-text-fill-color:currentColor;
  text-shadow:none;
  filter:none;
}
.home-coming-soon b{
  background:var(--mizan-contact-phone-icon-bg-dark);
  color:var(--mizan-contact-phone-icon-fg-dark);
  border-color:var(--mizan-contact-phone-border-dark);
}
.results-box,
.home-category-card[data-home-action],
.petition-form-panel{
  border-top:2px solid var(--mizan-gold-line);
}
/* ===== Main section icons: gold in dark, blue in light (tokens switch the colors) ===== */
html:not([data-theme="light"]):not([data-admin-theme="light"]) .home-category-card i,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .home-category-card[data-home-action] i{
  background:var(--mizan-section-icon-bg);
  color:var(--mizan-section-icon-fg);
  border-color:var(--mizan-section-icon-border);
}
/* ================================================================
   Batch 3 — theme-aware icons, modern form fields, admin action
   badges, always-white A4 sheet, calmer dark contact cards.
   Dark = royal gold accent, light = professional blue (unchanged).
   ================================================================ */
/* ---- 1. Icons: gold in dark mode ---- */
html:not([data-theme="light"]):not([data-admin-theme="light"]) .platform-sidebar-item i,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .exam-dashboard-tabs i,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .student-page-icon i,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .profile-panel-heading>i,
html:not([data-theme="light"]):not([data-admin-theme="light"]) #petitions-section i:not(.fa-arrow-right),
html:not([data-theme="light"]):not([data-admin-theme="light"]) .lawyer-details-dialog i,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .lawyer-detail-item i,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .mizan-article-author>i,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .home-feature-strip>div>i{
  color:var(--mizan-section-icon-fg);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) :is(.student-page-icon,.lawyer-details-icon,.petition-template-icon,.mizan-article-author>i,.home-feature-strip>div>i){
  background:var(--mizan-section-icon-bg);
  border-color:var(--mizan-section-icon-border);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .exam-dashboard-tabs button.is-active{
  background:var(--mizan-gold-tint);
  color:var(--mizan-gold-text);
  border-color:var(--mizan-gold-tint-border);
}
/* ---- 2. Lawyer details / identity box (dark = gold) ---- */
html:not([data-theme="light"]):not([data-admin-theme="light"]) :is(.lawyer-tags span,.lawyer-details-tags span){
  background:var(--mizan-gold-tint);
  color:var(--mizan-gold-text);
  border:1px solid var(--mizan-gold-tint-border);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .lawyer-details-actions a{
  background:var(--mizan-btn-primary-bg);
  color:var(--mizan-btn-primary-fg);
  border:1px solid var(--mizan-btn-primary-border);
}
.lawyer-identity-btn.whatsapp i{
  color:var(--mizan-brand-whatsapp);
}
.lawyer-identity-btn.telegram i{
  color:var(--mizan-brand-telegram);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .lawyer-identity-btn{
  font-weight:800;
}
/* ---- 3. Pulpit (dark): secondary buttons match the publish button ---- */
html:not([data-theme="light"]):not([data-admin-theme="light"]) .mizan-pulpit-secondary{
  background:transparent;
  color:var(--mizan-gold-text);
  border:1px solid var(--mizan-gold-tint-border);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .mizan-pulpit-secondary:hover{
  background:var(--mizan-gold-tint);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .mizan-pulpit-hero:after{
  color:var(--mizan-gold-subtle);
}
/* ---- 4. Modern form fields (contributors form, lawyer form, petitions) ---- */
html body :is(.mizan-form-grid,.lawyer-form-grid,.petition-fields){
  gap:14px;
}
html body :is(.mizan-form-grid,.lawyer-form-grid) label,
html body .petition-fields label,
html body .petition-long-field{
  display:flex;
  flex-direction:column;
  gap:var(--mizan-gap-tight);
  font-size:var(--mizan-font-size-compact);
  font-weight:700;
  line-height:1.5;
  color:var(--mizan-muted);
}
html body .petition-fields label span,
html body .petition-long-field span{
  color:var(--mizan-muted);
}
html body :is(.mizan-form-grid,.lawyer-form-grid,.petition-fields,.petition-long-field) :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  width:100%;
  box-sizing:border-box;
  min-height:46px;
  padding:11px var(--mizan-space-inset-medium);
  border:1px solid var(--mizan-field-border);
  border-radius:var(--mizan-radius-compact);
  background-color:var(--mizan-field-bg);
  color:var(--mizan-text);
  font:inherit;
  font-size:14.5px;
  font-weight:500;
  line-height:1.5;
  -webkit-appearance:none;
  appearance:none;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
html body :is(.mizan-form-grid,.lawyer-form-grid,.petition-fields,.petition-long-field) textarea{
  min-height:112px;
  resize:vertical;
  line-height:1.8;
}
html body :is(.mizan-form-grid,.lawyer-form-grid,.petition-fields,.petition-long-field) select{
  padding-inline-end:var(--mizan-space-inset-medium);
  padding-left:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2394A3B8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:left 14px center;
  background-size:12px 8px;
}
html body :is(.mizan-form-grid,.lawyer-form-grid,.petition-fields,.petition-long-field) :is(input,select,textarea)::placeholder{
  color:var(--mizan-muted);
  opacity:.7;
}
html body :is(.mizan-form-grid,.lawyer-form-grid,.petition-fields,.petition-long-field) :is(input,select,textarea):hover{
  border-color:var(--mizan-field-border-hover);
}
html body :is(.mizan-form-grid,.lawyer-form-grid,.petition-fields,.petition-long-field) :is(input,select,textarea):focus,
html body :is(.mizan-form-grid,.lawyer-form-grid,.petition-fields,.petition-long-field) :is(input,select,textarea):focus-visible{
  outline:none;
  border-color:var(--mizan-field-focus);
  box-shadow:var(--mizan-shadow-focus-field);
}
html body .lawyer-form .lawyer-consent{
  align-items:center;
  gap:var(--mizan-gap-compact);
  font-size:var(--mizan-font-size-compact);
  color:var(--mizan-muted);
}
html body .lawyer-form .lawyer-consent input{
  accent-color:var(--mizan-gold-accent);
}
html body .petition-design button{
  min-height:42px;
  border:1px solid var(--mizan-field-border);
  border-radius:var(--mizan-radius-11);
  background:var(--mizan-field-bg);
  color:var(--mizan-muted);
  font-weight:700;
}
html body .petition-design button.active{
  background:var(--mizan-gold-tint);
  border-color:var(--mizan-gold-line);
  color:var(--mizan-gold-text);
}
html:is([data-theme="light"],[data-admin-theme="light"]) body .petition-design button.active{
  background:var(--mizan-accent-tile-bg);
  border-color:var(--mizan-accent-text);
  color:var(--mizan-primary-700);
}
/* ---- 5. A4 petition sheet: always paper-white with black ink ---- */
.petition-a4{
  --mizan-bg:var(--mizan-bg-light);
  --mizan-surface:var(--mizan-surface-light);
  --mizan-card:var(--mizan-card-light);
  --mizan-border:var(--mizan-border-light);
  --mizan-heading:var(--mizan-heading-light);
  --mizan-text:var(--mizan-text-light);
  --mizan-muted:var(--mizan-muted-strong-light);
  --mizan-surface-2:var(--mizan-surface-2-light);
  background:var(--mizan-white);
  color:var(--mizan-paper-ink);
  color-scheme:light;
}
.petition-a4 :is(.petition-doc-body,p,div,li,span,td,th){
  color:var(--mizan-paper-ink);
}
.petition-a4 :is(small){
  color:var(--mizan-muted-strong-light);
}
.petition-a4 .petition-letterhead{
  background:var(--mizan-white);
}
/* ---- 6. Contact cards: calm dark surface, brand color only on icon/border ---- */
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card{
  background:var(--mizan-card);
  border-color:var(--mizan-border);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card>i{
  background:var(--mizan-accent-tile-bg);
  color:var(--mizan-accent-text);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card .contact-card-action{
  background:var(--mizan-accent-tile-bg);
  color:var(--mizan-accent-text);
  border:1px solid var(--mizan-accent-tile-border);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card-whatsapp{
  border-color:var(--mizan-contact-whatsapp-border-dark);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card-whatsapp>i{
  background:var(--mizan-contact-whatsapp-icon-bg-dark);
  color:var(--mizan-contact-whatsapp-icon-fg);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card-telegram{
  border-color:var(--mizan-contact-telegram-border-dark);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card-telegram>i{
  background:var(--mizan-contact-telegram-icon-bg-dark);
  color:var(--mizan-contact-telegram-icon-fg);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card-phone{
  border-color:var(--mizan-gold-tint-border);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card-phone>i,
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card-phone .contact-card-action{
  background:var(--mizan-gold-tint);
  color:var(--mizan-gold-text);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card-instagram{
  border-color:var(--mizan-contact-instagram-border-dark);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card-instagram>i{
  background:var(--mizan-contact-instagram-icon-bg-dark);
  color:var(--mizan-contact-instagram-icon-fg);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card-facebook{
  border-color:var(--mizan-contact-facebook-border-dark);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .contact-info-grid .contact-card-facebook>i{
  background:var(--mizan-contact-facebook-icon-bg-dark);
  color:var(--mizan-contact-facebook-icon-fg-dark);
}
html body .petition-a4 footer{
  background:transparent;
  color:var(--mizan-paper-ink);
  border-top-color:var(--mizan-border-light);
}
html body .mizan-form-submit{
  margin-top:18px;
}
/* ---- 7. Cohesion touches ---- */
html:not([data-theme="light"]):not([data-admin-theme="light"]) :is(.profile-stat-card strong,.student-big-score,.history-score strong,.student-page-header>div>span,.profile-panel-heading span){
  color:var(--mizan-gold-text);
}
.mizan-pulpit-hero h2{
  color:var(--mizan-heading);
}
.mizan-pulpit-hero p{
  color:var(--mizan-muted);
}
.mizan-article-card .mizan-btn,
.mizan-article-card button{
  border-radius:var(--mizan-radius-11);
  padding-inline:var(--mizan-space-inset-medium);
}
/* ---- 8. Contrast fixes found by the browser scan ---- */
.profile-avatar{
  color:var(--mizan-white);
}
.profile-identity span{
  color:var(--mizan-accent-text);
}
.profile-logout-btn{
  color:var(--mizan-accent-text);
  border-color:var(--mizan-accent-tile-border);
}
.student-ok{
  color:var(--mizan-success-text);
}
html:is([data-theme="light"],[data-admin-theme="light"]) .exam-dashboard-tabs button.is-active{
  color:var(--mizan-primary-700);
}
html:is([data-theme="light"],[data-admin-theme="light"]) .exam-dashboard-tabs button{
  color:var(--mizan-muted);
}
html:is([data-theme="light"],[data-admin-theme="light"]) .mizan-article-author>i{
  color:var(--mizan-primary-600);
}
.mizan-article-meta span:first-child{
  color:var(--mizan-accent-text);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) .mizan-article-meta span:first-child{
  color:var(--mizan-gold-text);
}
html:not([data-theme="light"]):not([data-admin-theme="light"]) :is(.profile-identity span,.profile-logout-btn){
  color:var(--mizan-gold-text);
}
:is(.mizan-modal-close,#lawyer-form-close,.lawyer-modal-close){
  color:var(--mizan-muted);
}
.lawyer-details-head>div:last-child>span{
  color:var(--mizan-success-text);
}
html body .petition-a4 .petition-letterhead :is(strong,b){
  color:var(--mizan-primary-800);
}
html body .petition-a4 .petition-letterhead small{
  color:var(--mizan-muted-strong-light);
}
html body .petition-a4 .petition-letterhead .petition-head-right small{
  color:var(--mizan-primary-600);
}
