/* Studio-inspired shared surfaces. Explicit components only: no Quran text,
   export canvas, certificate artwork or third-party iframe controls are restyled. */
html{--ds-radius-panel:20px;--ds-radius-control:10px;--ds-motion-fast:140ms;--ds-motion-normal:220ms}
body :is(.ds-app-card,.ds-profile-section,.ds-profile-info-card,.dsdash-card,.dsdash-stat-card,.dss-card,.ds-course-panel,.ds-my-detail,.ds-my-sidebar,.ds-catalog-panel,.ds-admin-section,.ds-admin-card,.dsa-card,.dsf-modal-card,.ds-modal-card){
 border-radius:var(--ds-radius-panel)!important;border-color:var(--ds-border)!important;
 box-shadow:0 2px 8px rgba(0,0,0,.025)!important;
}
body :is(.ds-app-btn,.ds-btn,.dss-btn,.dsdash-btn,.dsl-btn,.dspt-btn,.ia-btn,.tk-btn,.iv-btn,.rg-btn,.as-btn,.ds2-btn,.qm-btn,.live-button){
 font-family:var(--ds-font)!important;font-weight:600!important;letter-spacing:0!important;
 border-radius:var(--ds-radius-control)!important;transition:background var(--ds-motion-fast),border-color var(--ds-motion-fast),box-shadow var(--ds-motion-fast)!important;
}
body :is(.ds-app-btn,.ds-btn,.dss-btn,.dsdash-btn,.dsl-btn,.dspt-btn,.ia-btn,.tk-btn,.iv-btn,.rg-btn,.as-btn,.ds2-btn,.qm-btn,.live-button):active:not(:disabled){box-shadow:inset 0 0 0 1px var(--ds-border)!important}
body :is(.ds-my-stat,.dsdash-stat-card,.dss-stat){font-variant-numeric:tabular-nums}
body :is(.ds-profile-tabs,.ds-my-detail-tabs,.ds-admin-tabs,.ds-admin-subtabs,.dss-tabs,.dss-role-tabs){gap:8px!important}
body :is(.ds-profile-tabs,.ds-my-detail-tabs,.ds-admin-tabs,.ds-admin-subtabs,.dss-tabs,.dss-role-tabs) button{font-weight:600!important;letter-spacing:0!important}
body :is(.ds-app-hero,.ds-my-hero,.ds-catalog-hero,.ds-course-hero,.dsdash-hero,.dss-hero,.ds-profile-hero,.ds-auth-hero,.dsl-hero,.rg-hero) p{max-width:65ch;color:var(--ds-muted2);font-weight:400!important;line-height:1.7!important}
/* Focus and disabled states are as deliberate as hover states. */
body :is(main,.ds-legal-modal,#ds-cookie-banner) :is(button,input,select,textarea,a):focus-visible{outline:2px solid var(--ds-accent)!important;outline-offset:3px}
body main :is(button,input,select,textarea):disabled{cursor:not-allowed}
.ds-legal-modal .ds-legal-box{border-radius:22px;max-width:800px;margin:clamp(0px,5vh,44px) auto;box-shadow:var(--ds-shadow2)}
.ds-legal-modal[data-ds-dialog-managed=true]{display:none!important}
.ds-legal-modal[data-ds-dialog-open=true]{display:block!important}
.ds-legal-modal .ds-legal-head{padding:24px;align-items:center}.ds-legal-modal .ds-legal-close{width:44px;height:44px;border-radius:var(--ds-radius-control);font-family:var(--ds-font)}
.ds-legal-modal .ds-legal-content{max-height:calc(100dvh - 190px);padding:24px;scrollbar-width:thin;scrollbar-color:var(--ds-border) transparent;overscroll-behavior:contain}
.ds-legal-modal .ds-legal-content :is(p,ol,li){font-size:14px;line-height:1.8}
#ds-footer :is(.dsn-submit,.ds-action-btn),#ds-cookie-banner .ccb-btn{font-family:var(--ds-font)!important;border-radius:var(--ds-radius-control)!important;font-weight:600!important;min-height:44px}
#ds-footer .dsn-submit{background:var(--ds-accent)!important;color:var(--ds-on-accent,#061014)!important}
html[data-theme] body #ds-footer .dsn-submit{background:var(--ds-accent)!important;color:var(--ds-on-accent,#061014)!important}
/* Match the specificity of migrated page layers instead of fighting every page
   with new inline rules. Artwork and verse faces are intentionally excluded. */
html[data-theme] body :is(#ds-page-content,#ds-app-courses,#ds-app-course-page,#ds-app-available-courses,#ds-app-profile,#ds-account-page,#ds-app-admin,#dsa-suite,#ds-learning-studio,#ds-student-dashboard,#ds-library,#dsf-app,#ds-tickets,#ds-institution) :is(.ds-app-card,.ds-profile-section,.ds-profile-info-card,.dsdash-card,.dsdash-stat-card,.dss-card,.ds-course-panel,.ds-my-detail,.ds-my-sidebar,.ds-catalog-panel,.ds-admin-section,.ds-admin-card,.dsa-card,.dsf-post,.dsf-side,.dsf-detail,.dsf-comment){border-radius:var(--ds-radius-panel)!important;box-shadow:0 2px 8px #0001!important}
html[data-theme] body :is(#ds-app-profile,#ds-account-page,#ds-library,#dsf-app,#ds-student-dashboard,#ds-learning-studio) h1{font-weight:600!important;letter-spacing:-.035em!important;line-height:1.15!important}
html[data-theme] body :is(#ds-app-profile,#ds-account-page,#ds-library,#dsf-app,#ds-student-dashboard,#ds-learning-studio) :is(button,.ds-app-btn,.dss-btn,.dsdash-btn){font-weight:600!important;border-radius:var(--ds-radius-control)!important}
@media(max-width:600px){
 .ds-legal-modal{padding:12px!important}.ds-legal-modal .ds-legal-head,.ds-legal-modal .ds-legal-content{padding:18px}
 .ds-legal-modal .ds-legal-content{max-height:calc(100dvh - 135px)}
 #ds-cookie-banner{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom))}
 body :is(.ds-app-btn,.dss-btn,.dsdash-btn,.dspt-btn,.qm-btn){min-height:44px}
 body :is(.ds-legal-modal,#ds-cookie-banner) :is(input:not([type=checkbox]),select,textarea){font-size:16px}
}
@media(prefers-reduced-motion:reduce){body :is(.ds-app-btn,.ds-btn,.dss-btn,.dsdash-btn,.dsl-btn,.dspt-btn,.ia-btn,.tk-btn,.iv-btn,.rg-btn,.as-btn,.ds2-btn,.qm-btn,.live-button){transition:none!important}}
/* Contact uses its existing SMTP/CSRF workflow, now the same quiet UI scale. */
html[data-theme] body :is(#ds-contact-hero,#ds-contact){font-family:var(--ds-font)!important}
html[data-theme] body #ds-contact-hero .title{font:600 clamp(32px,4.4vw,54px)/1.14 var(--ds-font)!important;letter-spacing:-.035em!important}
html[data-theme] body #ds-contact .t{font:600 clamp(24px,3vw,32px)/1.25 var(--ds-font)!important;letter-spacing:-.025em!important}
html[data-theme] body :is(#ds-contact-hero,#ds-contact) :is(.sub,.p,.li){font-weight:400!important;line-height:1.7!important}
html[data-theme] body #ds-contact :is(.card,.ds-privacy-check){border-radius:var(--ds-radius-panel)!important;background:var(--ds-card)!important;box-shadow:0 2px 8px #0001!important;backdrop-filter:none!important}
html[data-theme] body #ds-contact .card{padding:clamp(18px,3vw,28px)!important}
html[data-theme] body #ds-contact .h{font:600 19px/1.4 var(--ds-font)!important;letter-spacing:-.02em}
html[data-theme] body #ds-contact-hero .chip{font-weight:500!important;box-shadow:none!important;border-radius:var(--ds-radius-control)!important}
html[data-theme] body #ds-contact .ds-contact-form label{font-weight:500!important;letter-spacing:0!important;text-transform:none!important;font-size:14px!important;color:var(--ds-text)!important}
html[data-theme] body #ds-contact .ds-contact-form :is(input:not([type=checkbox]),select,textarea){font:400 16px/1.5 var(--ds-font)!important;border-radius:var(--ds-radius-control)!important}
html[data-theme] body #ds-contact .ds-contact-submit{font:600 14px/1.4 var(--ds-font)!important;border-radius:var(--ds-radius-control)!important;background:var(--ds-accent)!important;color:var(--ds-on-accent)!important;box-shadow:none!important}
html[data-theme] body #ds-contact .ds-contact-form .ds-privacy-check{font-size:12px!important;line-height:1.7!important}
