/* DANMAWeb Academy premium design layer — shared across all pages. */
:root{--zhb-brand-primary:#12325b;--zhb-brand-primary-dark:#081f3c;--zhb-brand-accent:#d9a62e;--zhb-brand-gold:#f4c24f;--zhb-page-bg:#f5f8fd;--zhb-surface:#fff;--zhb-text:#172a45;--zhb-muted:#64748b;--zhb-border:#dfe8f4;--zhb-radius:18px;--zhb-shadow:0 14px 38px rgba(8,31,60,.09);--zhb-body-font:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--zhb-heading-font:"Poppins",var(--zhb-body-font)}
html{scroll-behavior:smooth}body{font-family:var(--zhb-body-font);color:var(--zhb-text);background:var(--zhb-page-bg);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--zhb-heading-font);letter-spacing:-.025em;line-height:1.2}a,button{transition:all .2s ease}button:hover,a.primary-button:hover,a.nav-button:hover{transform:translateY(-1px)}input,select,textarea,button{font-family:var(--zhb-body-font)}input,select,textarea{border-radius:12px!important}button,.primary-button,.nav-login,.secondary-button,.light-button{border-radius:999px!important}body :is(.admin-panel,.admin-stat-card,.admin-welcome,.admin-content-card,.teacher-panel,.teacher-card,.student-card,.student-panel,.content-card,.dashboard-card,.result-card,.quiz-card,.assignment-card,.material-card,.zhb-admin-card,.zhb-admin-stat){border-radius:18px;box-shadow:var(--zhb-shadow)}body :is(.admin-nav a,.teacher-nav a,.student-nav a,.dashboard-nav a){border-radius:11px}body table{border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:12px}body th{font-size:.82rem;letter-spacing:.01em}body td{font-size:.9rem}body .zhb-admin-side{background:linear-gradient(180deg,#12325b,#081f3c)}body .zhb-admin-btn:not(.secondary):not(.danger){background:linear-gradient(135deg,#12325b,#24558a)}
/* Homepage hero: premium split layout with real image asset, not a flattened mockup. */
.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#071f3b 0%,#12325b 47%,#eaf1fa 47%,#fff 100%);padding:64px 0 72px}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,26,50,.1),rgba(6,26,50,0) 65%);pointer-events:none}.hero .hero-content{position:relative;z-index:1;align-items:center;gap:42px}.hero .hero-text{color:#fff;max-width:560px}.hero .hero-label,.academy-eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#f5c34f}.hero .hero-text h1{font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.08;color:#fff}.hero .hero-text h1 span{color:#f5c34f}.hero .hero-text p{font-size:1.05rem;color:#e2eaf5;max-width:520px}.hero .primary-button,.nav-button{background:linear-gradient(135deg,#f6c34f,#e8a91c);color:#092447;border:0;font-weight:800;box-shadow:0 10px 24px rgba(232,169,28,.2)}.hero .secondary-button{border:1px solid rgba(255,255,255,.65);color:#fff;background:rgba(255,255,255,.08)}.hero-visual{min-height:420px;position:relative;border-radius:28px;overflow:hidden;background:#e5edf7 url("academy-hero-student.jpg") center 35%/cover no-repeat;box-shadow:0 24px 65px rgba(0,0,0,.23);border:5px solid rgba(255,255,255,.7)}.hero-visual:after{content:"Learn. Grow. Succeed.";position:absolute;right:22px;bottom:22px;color:#fff;font-family:var(--zhb-heading-font);font-size:1.05rem;font-weight:700;text-shadow:0 2px 12px #071f3b;background:rgba(8,31,60,.45);padding:10px 15px;border-radius:12px;backdrop-filter:blur(6px)}.hero-visual .learning-card,.hero-visual .floating-card{display:none}.top-bar{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #e5edf6}.logo-mark{background:linear-gradient(145deg,#12325b,#081f3c)!important;color:#f5c34f!important;border-radius:16px!important;box-shadow:0 8px 20px #12325b24}.logo-text strong{color:#12325b}.feature-card,.learning-card,.academy-contact-card{border:1px solid #e2eaf4;box-shadow:0 12px 30px rgba(8,31,60,.07);border-radius:18px}.section-heading h2 span,.academy-contact h2 span{color:#b98412}.academy-contact{padding:64px 0;background:linear-gradient(120deg,#fff,#eef4fb);border-top:1px solid #e2eaf4}.academy-contact-inner{display:grid;grid-template-columns:1.05fr 1fr;gap:35px;align-items:center}.academy-contact h2{font-size:clamp(1.8rem,3vw,2.6rem);margin:.55rem 0}.academy-contact p{color:#64748b}.academy-contact-cards{display:grid;gap:12px}.academy-contact-card{display:flex;gap:14px;align-items:center;padding:17px 20px;background:#fff;color:#12325b;text-decoration:none}.academy-contact-card:hover{transform:translateY(-2px);border-color:#d9a62e}.academy-contact-icon{display:grid;place-items:center;width:44px;height:44px;background:#fff5d9;border-radius:14px;font-size:1.3rem;color:#94680c}.academy-contact-card strong,.academy-contact-card small{display:block}.academy-contact-card small{color:#64748b;margin-top:2px}.footer{background:#081f3c;color:#e6eef9}.footer a{color:#e6eef9}.footer .logo-text strong,.footer .logo-text small{color:#fff}
@media(max-width:900px){.hero{background:linear-gradient(180deg,#071f3b 0%,#12325b 58%,#f5f8fd 58%,#fff 100%)}.hero .hero-content{grid-template-columns:1fr}.hero-visual{min-height:320px}.academy-contact-inner{grid-template-columns:1fr}}@media(max-width:560px){.hero{padding:38px 0 48px}.hero-visual{min-height:250px}.hero .hero-text h1{font-size:2.45rem}.academy-contact{padding:42px 0}}

/* Brand emblem and cross-dashboard consistency refinements */
.logo-mark img,.admin-brand-logo img,.teacher-brand-logo img,.brand-logo img{display:block;width:100%;height:100%;object-fit:contain;padding:3px}
.logo-mark{display:inline-grid;place-items:center;width:52px;height:52px;flex:0 0 52px;padding:3px!important;background:#fff!important;border:1px solid #e7edf5!important;border-radius:15px!important}
.admin-brand-logo,.teacher-brand-logo{display:grid;place-items:center;overflow:hidden;background:#fff!important;color:#173B67!important;border:1px solid #e5ebf4;}
.admin-brand-logo img,.teacher-brand-logo img{width:100%;height:100%;object-fit:contain;padding:3px}
.brand-logo{display:grid;place-items:center;overflow:hidden;background:#fff!important;color:#173B67!important;border:1px solid rgba(217,166,46,.5);box-shadow:0 12px 28px rgba(8,31,60,.16)}
.brand-logo img{width:100%;height:100%;max-width:96px;max-height:96px;object-fit:contain;padding:8px}
.logo-text small,.admin-brand small,.teacher-brand span{letter-spacing:.015em}
body :is(.admin-sidebar,.teacher-sidebar,.student-sidebar,.student-side-nav){background:linear-gradient(180deg,#173B67 0%,#0B2342 100%)}
body :is(.admin-nav a,.teacher-navigation button,.student-nav a,.student-sidebar a){transition:background .18s ease,transform .18s ease,color .18s ease}
body :is(.admin-nav a:hover,.teacher-navigation button:hover,.student-nav a:hover,.student-sidebar a:hover){background:rgba(244,195,79,.14);transform:translateX(2px)}
body :is(.admin-stat-card,.admin-content-card,.teacher-card,.student-card,.content-card,.dashboard-card,.result-card,.quiz-card,.assignment-card,.material-card){border:1px solid rgba(223,232,244,.9);background:#fff}
body :is(.primary-button,.nav-button,.admin-primary-btn,.teacher-primary-btn){font-weight:700}
body :is(input,select,textarea):focus{outline:3px solid rgba(217,166,46,.22);border-color:#d9a62e!important}
.teacher-welcome-decoration img{width:100%;height:100%;object-fit:contain;opacity:.22}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
