/* Droocy P30.1 — global readable contrast layer. Loaded last after legacy theme CSS. */
:root{--dc-text:#172033;--dc-heading:#101828;--dc-muted:#475467;--dc-border:#d7dce5;--dc-surface:#fff;--dc-input:#fff}
/* Light content surfaces must never inherit pale/white theme text. */
body :is(.panel,.card,.box,.section-card,.form-card,.table-card,.stat,.stat-card,.summary-card,.filter-box,.d11-panel,.d11-card){color:var(--dc-text)!important;-webkit-text-fill-color:currentColor}
body :is(.panel,.card,.box,.section-card,.form-card,.table-card,.stat,.stat-card,.summary-card,.filter-box,.d11-panel,.d11-card) :is(h1,h2,h3,h4,h5,h6,strong,b,label,legend,th){color:var(--dc-heading)!important;-webkit-text-fill-color:currentColor}
body :is(.panel,.card,.box,.section-card,.form-card,.table-card,.stat,.stat-card,.summary-card,.filter-box,.d11-panel,.d11-card) :is(p,small,.muted,.meta,.hint,.helper-text,.subtitle,.description){color:var(--dc-muted)!important;-webkit-text-fill-color:currentColor;opacity:1!important}
/* Form controls: explicit readable foreground/background, including dropdown options. */
body main :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:var(--dc-input)!important;color:#182230!important;-webkit-text-fill-color:#182230!important;border-color:#cbd2dc!important;opacity:1!important}
body main select option{background:#fff!important;color:#182230!important;-webkit-text-fill-color:#182230!important}
body main :is(input,textarea)::placeholder{color:#667085!important;-webkit-text-fill-color:#667085!important;opacity:1!important}
body main input:disabled,body main select:disabled,body main textarea:disabled{background:#f2f4f7!important;color:#667085!important;-webkit-text-fill-color:#667085!important}
/* Buttons/badges with colored backgrounds retain their authored foreground. */
body main :is(.btn,.d11-btn)[class]:not(.soft):not(.danger){-webkit-text-fill-color:currentColor}
/* Dedicated live-classroom contrast contract. */
.live-admin-hero{background:linear-gradient(135deg,#38277f,#6847e8)!important;color:#fff!important;border-color:transparent!important}
.live-admin-hero h1,.live-admin-hero h2,.live-admin-hero h3,.live-admin-hero p,.live-admin-hero strong,.live-admin-hero b{color:#fff!important;-webkit-text-fill-color:#fff!important}
.live-admin-hero>p{color:#f0edff!important;-webkit-text-fill-color:#f0edff!important}
.live-admin-hero .live-stat{background:#fff!important;color:#172033!important;-webkit-text-fill-color:#172033!important;border:1px solid rgba(255,255,255,.55)!important}
.live-admin-hero .live-stat b,.live-admin-hero .live-stat span{color:#172033!important;-webkit-text-fill-color:#172033!important}
.live-form label{display:grid!important;gap:6px!important;align-content:start!important;color:#172033!important;-webkit-text-fill-color:#172033!important;font-weight:800!important}
.live-form .checks label{display:flex!important;align-items:center!important;gap:7px!important}
.live-form .checks input{flex:0 0 auto!important}
