/* Droocy V14.5 professional visual consistency layer */
:root{--d145-ink:#172033;--d145-muted:#667085;--d145-line:#e3e7ee;--d145-surface:#fff;--d145-soft:#f7f8fb;--d145-purple:#6847e8;--d145-purple-dark:#33276d;--d145-shadow:0 10px 30px rgba(16,24,40,.055)}
body{color:var(--d145-ink);font-size:14px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
/* Accessible muted text: never let supporting copy disappear into the background */
.muted,.hint,.helper-text,.subtitle,.description,.section-sub,.section-meta,.meta small,.card small,.panel small{color:var(--d145-muted)!important;opacity:1!important}
/* Stronger headings and cleaner rhythm */
h1,h2,h3{letter-spacing:-.015em}h1{line-height:1.35}h2,h3{line-height:1.45}
/* Any premium purple/blue hero must use white foreground, not black */
.tp-hero,.admin-hero,.dashboard-hero,.lms-hero,.academy-hero{color:#fff!important}
.tp-hero h1,.tp-hero h2,.tp-hero h3,.tp-hero p,.tp-hero strong,.tp-hero .tp-section-title{color:#fff!important}
.tp-hero p{color:#eeeaff!important}.tp-hero .tp-academy-card small{color:#ddd7fb!important}
/* Tables: denser, clearer, less grey-on-grey */
table{border-collapse:separate;border-spacing:0;width:100%;background:#fff}th{background:#f7f8fb!important;color:#344054!important;font-size:11px!important;font-weight:900!important;border-bottom:1px solid #dde2ea!important}td{color:#273142!important;font-size:11px!important;border-bottom:1px solid #edf0f4!important}th,td{padding:11px 12px!important;vertical-align:middle}tbody tr:hover td{background:#fbfaff}
/* Cards and panels */
.card,.panel,.tp-panel,.admin-card{border-color:var(--d145-line)!important;box-shadow:var(--d145-shadow)}
/* Inputs should remain visibly editable */
input,select,textarea{color:#172033!important}input::placeholder,textarea::placeholder{color:#98a2b3!important;opacity:1}
/* Buttons: minimum readable size */
button,.btn,.tp-btn{font-weight:900}.btn,.tp-btn{min-height:40px}
/* Teacher screens */
.tp-shell{max-width:1480px}.tp-hero.compact{border-radius:24px!important}.tp-hero.compact .tp-hero-grid{min-height:180px!important}.tp-hero.compact h1{font-size:clamp(27px,2.6vw,39px)!important}.tp-kpi strong{font-size:27px!important}.tp-kpi span,.tp-kpi small,.tp-panel-head p,.tp-tool small{color:#667085!important;opacity:1!important}.tp-panel-head h2{font-size:19px!important}.tp-field label{font-size:10px!important;color:#344054!important}.tp-field input,.tp-field select,.tp-field textarea{font-size:12px!important}
@media(max-width:650px){body{font-size:13px}.tp-hero.compact .tp-hero-grid{min-height:0!important}th,td{padding:9px 8px!important;font-size:10px!important}}
