:root{
    --brand-navy:#171b57;
    --brand-navy-2:#22286f;
    --brand-navy-3:#0d123f;
    --brand-gold:#d6a329;
    --brand-gold-2:#f0c95d;
    --brand-blue:#eef3ff;
    --ink:#172033;
    --muted:#667085;
    --line:#e7eaf3;
    --surface:#ffffff;
    --soft:#f6f8fc;
    --soft-gold:#fff8e8;
    --radius:24px;
    --radius-sm:16px;
    --shadow-sm:0 8px 22px rgba(23,27,87,.08);
    --shadow:0 18px 50px rgba(23,27,87,.13);
    --shadow-lg:0 28px 80px rgba(23,27,87,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
    margin:0;
    direction:rtl;
    text-align:right;
    font-family:"Cairo","Tajawal",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
    background:
        radial-gradient(circle at 100% 0%,rgba(214,163,41,.12),transparent 30%),
        radial-gradient(circle at 0% 18%,rgba(23,27,87,.08),transparent 34%),
        linear-gradient(180deg,#f8faff 0%,#f1f4fa 100%);
    color:var(--ink);
    line-height:1.9;
    min-height:100vh;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
.container{width:min(1180px,92%);margin-inline:auto}
.page{padding:26px 0 36px}
.site-header{
    background:rgba(255,255,255,.88);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(231,234,243,.9);
    position:sticky;
    top:0;
    z-index:50;
    box-shadow:0 8px 24px rgba(23,27,87,.05);
}
.header-grid{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-logo-img{
    width:64px;height:64px;border-radius:50%;object-fit:cover;background:#fff;
    border:3px solid #fff;box-shadow:0 10px 26px rgba(23,27,87,.17)
}
.brand-text{display:block;min-width:0}
.brand-text strong{display:block;color:var(--brand-navy);font-size:17px;font-weight:900;line-height:1.35;white-space:nowrap}
.brand-text small{display:block;color:var(--muted);font-weight:700;font-size:13px;margin-top:0}
.top-nav{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.top-nav a{
    padding:9px 13px;border-radius:999px;color:var(--brand-navy);font-weight:800;font-size:14px;
    transition:.22s ease;border:1px solid transparent
}
.top-nav a:hover{background:var(--brand-blue);border-color:#dfe6ff;color:var(--brand-navy-2)}
.top-nav .nav-admin{background:var(--brand-navy);color:#fff;box-shadow:0 10px 22px rgba(23,27,87,.15)}
.top-nav .nav-admin:hover{background:var(--brand-gold);color:var(--brand-navy)}
.top-nav .nav-social{background:#eef3ff;border-color:#dfe6ff;font-weight:900}
.top-nav .nav-social:hover{background:#dce7ff;border-color:#c6d8ff;color:var(--brand-navy)}
.nav-toggle{display:none;border:0;border-radius:14px;background:var(--brand-navy);color:#fff;padding:7px 12px;font-size:22px;line-height:1;cursor:pointer}
.hero{
    display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:20px;align-items:stretch;margin:8px 0 28px
}
.hero-text,.hero-card,.dept-card,.course-card,.file-card,.details-card,.popular-list,.empty,.page-title,.filters,.stat-strip,.viewer{
    background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)
}
.hero-text{
    position:relative;overflow:hidden;padding:42px;
    background:
        radial-gradient(circle at 92% 20%,rgba(214,163,41,.25),transparent 28%),
        linear-gradient(135deg,#fff 0%,#f5f7ff 55%,#fff8e8 100%);
}
.hero-text:before{content:"";position:absolute;inset:auto auto -110px -80px;width:270px;height:270px;border-radius:50%;background:rgba(23,27,87,.08)}
.hero-text:after{content:"";position:absolute;inset:0 auto 0 0;width:7px;background:linear-gradient(180deg,var(--brand-gold),var(--brand-navy));border-radius:20px 0 0 20px}
.badge{
    position:relative;background:var(--soft-gold);color:#7a5507;border:1px solid rgba(214,163,41,.38);
    border-radius:999px;padding:5px 14px;display:inline-flex;align-items:center;gap:8px;font-weight:900;font-size:13px
}
.badge:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand-gold);box-shadow:0 0 0 4px rgba(214,163,41,.18)}
.hero h1{position:relative;margin:14px 0;color:var(--brand-navy);font-size:clamp(28px,4vw,48px);line-height:1.45;font-weight:900;letter-spacing:-.5px}
.hero p{position:relative;max-width:760px;color:#475467;margin:0 0 18px;font-weight:500}
.hero-card{
    padding:28px;background:linear-gradient(165deg,var(--brand-navy) 0%,var(--brand-navy-3) 100%);color:#fff;
    display:flex;flex-direction:column;justify-content:center;gap:14px;overflow:hidden;position:relative;isolation:isolate
}
.hero-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(214,163,41,.2);left:-70px;bottom:-70px;z-index:-1}
.hero-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;border:24px solid rgba(255,255,255,.07);right:-38px;top:-38px;z-index:-1}
.hero-card-logo{width:104px;height:104px;border-radius:50%;object-fit:cover;background:#fff;border:5px solid rgba(255,255,255,.92);box-shadow:0 16px 34px rgba(0,0,0,.23)}
.hero-card strong{font-size:22px;font-weight:900}.hero-card p{color:#e7ebf6;margin:0}.hero-card .btn{position:relative}
.search-box,.filters{display:flex;gap:10px;margin-top:22px}
.search-box input,.filters input,.filters select{
    flex:1;min-width:180px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);outline:none;font-weight:600
}
.search-box input:focus,.filters input:focus,.filters select:focus{border-color:rgba(214,163,41,.8);box-shadow:0 0 0 4px rgba(214,163,41,.13)}
.search-box button,.filters button,.btn{
    border:0;border-radius:15px;padding:12px 18px;background:#eef2fb;color:var(--brand-navy);font-weight:900;cursor:pointer;
    display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.22s ease;box-shadow:none
}
.btn:hover,.search-box button:hover,.filters button:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.btn.primary,.search-box button,.filters button{background:var(--brand-navy);color:#fff}.btn.primary:hover,.search-box button:hover,.filters button:hover{background:var(--brand-gold);color:var(--brand-navy)}
.btn.block{display:flex;width:100%;margin-top:10px}
.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;overflow:hidden;margin:18px 0 30px;background:#fff}
.stat-strip div{padding:18px 20px;background:#fff;border-inline-start:1px solid var(--line)}.stat-strip div:last-child{border-inline-start:0}
.stat-strip strong{display:block;color:var(--brand-navy);font-size:26px;line-height:1;font-weight:900}.stat-strip span{color:var(--muted);font-size:13px;font-weight:800}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:30px 0 14px}.section-head h2{margin:0;color:var(--brand-navy);font-size:24px;font-weight:900}.section-head a{color:var(--brand-navy);font-weight:900}
.cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.dept-card,.course-card{padding:22px;transition:.22s ease;position:relative;overflow:hidden;min-height:178px}
.dept-card:before,.course-card:before{content:"";position:absolute;top:18px;bottom:18px;right:0;width:5px;border-radius:5px;background:linear-gradient(var(--brand-gold),var(--brand-navy))}
.dept-card:hover,.course-card:hover,.file-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.dept-card span,.course-card span{width:50px;height:50px;border-radius:18px;background:linear-gradient(135deg,#f0f3ff,#fff8e9);display:grid;place-items:center;font-size:26px;margin-bottom:8px;border:1px solid #edf0f8}
.dept-card h3,.course-card h3{margin:6px 0;color:var(--brand-navy);font-size:18px;font-weight:900}.dept-card p,.course-card p,.muted{color:var(--muted);font-size:14px}.dept-card small,.course-card small{display:inline-flex;background:var(--soft-gold);color:#7a5507;border-radius:999px;padding:3px 10px;margin-top:6px;font-weight:900}
.two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(290px,.65fr);gap:22px;margin-top:25px}.file-list{display:grid;gap:12px}
.file-card{padding:16px;display:flex;gap:14px;transition:.22s ease}.file-card.big{align-items:flex-start}.file-icon{font-size:28px;min-width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,#eef3ff,#fff8e8);display:grid;place-items:center;border:1px solid #edf0f8}
.file-card h3{margin:0 0 3px;color:var(--brand-navy);font-size:18px;font-weight:900}.file-card p{margin:0}.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.meta span{background:#f2f5fa;color:#334155;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800}
.popular-list{padding:10px}.popular-list a{display:flex;justify-content:space-between;gap:12px;padding:13px;border-bottom:1px solid var(--line);border-radius:14px}.popular-list a:last-child{border-bottom:0}.popular-list a:hover{background:#f7f9ff}.popular-list strong{font-weight:900;color:var(--brand-navy)}.popular-list small{color:var(--muted);font-weight:800;white-space:nowrap}
.page-title{padding:26px;margin-bottom:22px;background:linear-gradient(135deg,#fff,#f6f8ff)}.page-title h1{margin:8px 0 4px;color:var(--brand-navy);font-size:30px;font-weight:900}.page-title p{margin:0;color:var(--muted);font-weight:600}.back{color:var(--brand-navy);font-weight:900}.filters{padding:14px;flex-wrap:wrap;margin-top:0}.file-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}.actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.pagination{display:flex;gap:6px;justify-content:center;margin:22px 0;flex-wrap:wrap}.pagination a{padding:8px 13px;border-radius:12px;background:#fff;border:1px solid var(--line);font-weight:900}.pagination a.active{background:var(--brand-navy);color:#fff}
.viewer-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.viewer{padding:12px;min-height:650px}.viewer iframe{width:100%;height:78vh;border:0;border-radius:18px;background:#f7f7f7}.viewer img{width:100%;height:auto;border-radius:18px}.details-card{padding:22px;height:max-content;position:sticky;top:96px}.details-card h1{color:var(--brand-navy);margin-top:0;font-size:26px;font-weight:900}.details-card dl{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin:16px 0}.details-card dt{font-weight:900;color:#344054}.details-card dd{margin:0;color:#475467;font-weight:600}
.empty{padding:24px;text-align:center;color:var(--muted);grid-column:1/-1;font-weight:800}.alert{padding:13px 16px;border-radius:16px;margin:10px 0;border:1px solid transparent;font-weight:700}.alert-success{background:#e8f7ee;color:#166534;border-color:#bbf7d0}.alert-danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}.alert-warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.site-footer{background:linear-gradient(135deg,var(--brand-navy-3),var(--brand-navy));color:#dce5f4;margin-top:44px;padding:28px 0 16px}.footer-grid{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}.footer-grid p{margin:0}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{width:46px;height:46px;border-radius:50%;background:#fff}.footer-credit{width:100%;text-align:center;color:#bfc9de;font-size:12px;font-weight:700;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
@media(max-width:1080px){.hero,.two-col,.viewer-layout{grid-template-columns:1fr}.cards-grid{grid-template-columns:repeat(3,1fr)}.file-grid{grid-template-columns:1fr}.details-card{position:relative;top:auto}}
@media(max-width:860px){.header-grid{flex-wrap:wrap}.nav-toggle{display:inline-flex}.top-nav{display:none;width:100%;padding-top:12px;gap:8px}.top-nav.open{display:grid;grid-template-columns:1fr 1fr}.top-nav a{text-align:center;background:#f7f9ff;border:1px solid var(--line)}.hero-text{padding:30px}.cards-grid{grid-template-columns:repeat(2,1fr)}.stat-strip{grid-template-columns:repeat(2,1fr)}.brand-text strong{white-space:normal}}
@media(max-width:560px){.container{width:min(100% - 24px,1180px)}.page{padding-top:18px}.brand-logo-img{width:54px;height:54px}.brand-text strong{font-size:14.5px}.brand-text small{font-size:12px}.hero{gap:14px}.hero-text,.hero-card{padding:22px;border-radius:20px}.hero h1{font-size:25px}.cards-grid,.stat-strip{grid-template-columns:1fr}.filters,.search-box{flex-direction:column}.search-box input,.filters input,.filters select{min-width:100%;width:100%}.search-box button,.filters button,.btn{width:100%}.top-nav.open{grid-template-columns:1fr}.file-card{flex-direction:column}.actions .btn{flex:1 1 100%}.details-card dl{grid-template-columns:1fr}.viewer{min-height:auto}.section-head{align-items:flex-start;flex-direction:column}.footer-grid{align-items:flex-start;flex-direction:column}.page-title{padding:20px}.page-title h1{font-size:24px}}

.page-title-rich{position:relative;overflow:hidden}
.page-title-rich .badge{margin-bottom:10px}
.content-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}
.prose-card p{margin:0 0 14px;color:#475467;font-weight:600}
.compact-head{margin-top:0}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.feature-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;transition:.22s ease}
.feature-card:hover,.guide-link-card:hover,.news-card:hover,.unit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.feature-link-card{display:block}
.feature-icon,.unit-icon{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#f0f3ff,#fff8e9);display:grid;place-items:center;font-size:28px;margin-bottom:10px;border:1px solid #edf0f8}
.feature-card h3,.guide-link-card strong,.news-card h3,.unit-card h3{margin:0 0 8px;color:var(--brand-navy);font-size:20px;font-weight:900}
.feature-card p,.guide-link-card p,.news-card p,.unit-card p{margin:0;color:var(--muted)}
.quick-actions-card h2{margin-top:0;color:var(--brand-navy)}
.quick-actions-list{display:grid;gap:10px}
.quick-actions-list a,.guide-link-card{display:block;padding:14px 16px;border-radius:18px;background:#f8faff;border:1px solid var(--line);font-weight:800;color:var(--brand-navy)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.home-news-grid{margin-bottom:10px}
.news-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}
.news-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.news-head small{color:var(--muted);font-weight:800}
.badge-news{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:900}
.badge-info{background:#eef2ff;color:#3730a3}
.badge-announce{background:#fff7ed;color:#9a3412}
.badge-alert{background:#fee2e2;color:#b42318}
.news-body{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.news-body p{font-size:14px}
.spotlight-section{margin-top:26px}
.meta-spaced span{font-size:12px}
.terms-grid .term-card,.units-grid .unit-card{min-height:auto}
.units-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.unit-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.unit-card-top{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.unit-card-top p{font-size:14px}
.unit-desc{margin-bottom:14px;font-size:14px}
.unit-stats{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.unit-stats span{background:#f2f5fa;color:#334155;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}
.guide-links-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.complaints-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px}
.form-card-public label{display:block;margin-bottom:7px;color:#344054;font-weight:900}
.public-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.public-form-grid input,.public-form-grid select,.public-form-grid textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 14px;background:#fff;color:var(--ink);outline:none;font-weight:600}
.public-form-grid input:focus,.public-form-grid select:focus,.public-form-grid textarea:focus{border-color:rgba(214,163,41,.8);box-shadow:0 0 0 4px rgba(214,163,41,.13)}
.span-2{grid-column:1/-1}
.info-stack{display:grid;gap:16px}
.info-stack h3{margin:0 0 6px;color:var(--brand-navy);font-size:18px}
.info-stack p,.info-stack li{color:var(--muted)}
.info-stack ul{padding:0 18px 0 0;margin:0}
.steps-grid .step-card{position:relative}
.steps-grid .step-card:after{content:"";position:absolute;inset:0 auto 0 0;width:5px;border-radius:5px;background:linear-gradient(var(--brand-gold),var(--brand-navy))}
.compact-filters{margin-bottom:18px}
.top-nav a{white-space:nowrap}
@media(max-width:1080px){.feature-grid,.news-grid,.units-grid,.guide-links-grid,.complaints-layout{grid-template-columns:1fr}.public-form-grid{grid-template-columns:1fr}}
@media(max-width:860px){.feature-grid{grid-template-columns:repeat(2,1fr)}.news-grid{grid-template-columns:repeat(2,1fr)}.top-nav.open{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.feature-grid,.news-grid,.guide-links-grid,.units-grid,.public-form-grid{grid-template-columns:1fr}.content-card{padding:20px}.unit-card-top{flex-direction:column}.top-nav.open{grid-template-columns:1fr}}



.hero-card-actions,.facebook-page-actions,.news-actions-inline{display:flex;gap:10px;flex-wrap:wrap}
.news-grid-rich{align-items:stretch}
.news-card-rich{padding:0;overflow:hidden;display:flex;flex-direction:column}
.news-card-body{padding:18px 20px 20px}
.news-card-media{width:100%;height:220px;object-fit:cover;background:#eef2ff;border-bottom:1px solid var(--line)}
.news-card-media-fallback{display:grid;place-items:center;font-size:54px;color:#52607a;background:linear-gradient(135deg,#f2f6ff,#fff8ea)}
.news-head-wrap{flex-wrap:wrap;align-items:flex-start}
.badge-activity{background:#ecfdf3;color:#027a48}
.badge-facebook,.badge-facebook-inline{background:#e8f0ff;color:#1b4db8}
.badge-neutral{background:#f8fafc;color:#475467}
.facebook-home-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:18px;margin-bottom:10px}
.facebook-page-card h3,.facebook-empty-card h3,.facebook-page-shell h2,.news-toolbar-card h2,.facebook-about-card h2{margin:0 0 8px;color:var(--brand-navy);font-size:22px;font-weight:900}
.facebook-page-card p,.facebook-empty-card p,.facebook-page-shell p,.news-toolbar-card p,.facebook-about-card p{margin:0;color:var(--muted)}
.facebook-empty-card{display:grid;place-items:center;min-height:220px;text-align:center}
.facebook-rich-grid{grid-template-columns:repeat(2,1fr)}
.facebook-post-card .btn{width:100%}
.news-toolbar-card,.facebook-about-card,.facebook-page-shell{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.footer-links-stack{display:grid;gap:8px}
.footer-social-link{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:800}
.mini-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:100%}
.mini-stat-grid div{background:#f8faff;border:1px solid var(--line);border-radius:18px;padding:16px}
.mini-stat-grid strong{display:block;color:var(--brand-navy);font-size:20px;font-weight:900}
.mini-stat-grid span{display:block;color:var(--muted);font-weight:700;font-size:13px}
.units-toolbar{margin-bottom:18px}
.units-toolbar-card{padding:18px}
.units-grid-enhanced{grid-template-columns:repeat(2,1fr)}
.unit-card-enhanced{position:relative;overflow:hidden}
.unit-card-enhanced:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(var(--brand-gold),var(--brand-navy));border-radius:5px}
.unit-stats-compact{margin-bottom:14px}
.unit-quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.unit-quick-links a{display:block;padding:10px 12px;border-radius:14px;background:#f8faff;border:1px solid var(--line);color:var(--brand-navy);font-weight:800;text-align:center}
.actions-stretch .btn{flex:1 1 0}
.guide-links-grid-3{grid-template-columns:repeat(3,1fr)}
.admin-news-preview{display:grid;gap:10px}
.admin-news-preview img,.news-admin-thumb{width:78px;height:78px;border-radius:14px;object-fit:cover;border:1px solid var(--line);background:#f7f9ff}
.news-admin-thumb-fallback{display:grid;place-items:center;font-size:28px}
.news-admin-row{display:flex;align-items:center;gap:12px;min-width:260px}
@media(max-width:1080px){.facebook-home-layout,.facebook-rich-grid,.mini-stat-grid,.guide-links-grid-3{grid-template-columns:1fr}.news-toolbar-card,.facebook-about-card,.facebook-page-shell{flex-direction:column;align-items:flex-start}}
@media(max-width:860px){.facebook-rich-grid,.units-grid-enhanced{grid-template-columns:1fr 1fr}.mini-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.news-card-media{height:190px}.hero-card-actions,.facebook-page-actions,.news-actions-inline{flex-direction:column}.facebook-rich-grid,.units-grid-enhanced,.unit-quick-links,.guide-links-grid-3,.mini-stat-grid{grid-template-columns:1fr}.footer-links-stack{width:100%}}


/* === Academic library and news refresh === */
.section-kicker{display:inline-block;margin-bottom:6px;color:var(--brand-gold);font-weight:900;font-size:13px}
.academic-head h2{margin-top:2px}
.hero-card-academic{background:linear-gradient(155deg,#11174f 0%,#172977 58%,#0f1440 100%)}
.cards-grid-academic{grid-template-columns:repeat(3,1fr)}
.dept-card-academic,.term-card-enhanced,.dept-card-large{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.dept-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.dept-card-top small{margin:0}
.dept-card-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:var(--brand-navy);font-weight:900}
.dept-card-link::after{content:"←";font-size:16px}
.library-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px}
.library-type-card{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f7f9ff 100%);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;display:grid;gap:12px;transition:.22s ease}
.library-type-card::before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--brand-gold),var(--brand-navy));border-radius:8px}
.library-type-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.library-type-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.library-type-icon,.library-summary-icon,.unit-content-icon{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#eef3ff,#fff6dd);display:grid;place-items:center;font-size:28px;border:1px solid #e6eaf7}
.library-type-count{display:inline-flex;background:#eff3ff;color:var(--brand-navy);padding:6px 12px;border-radius:999px;font-weight:900;font-size:13px}
.library-type-card h3{margin:0;color:var(--brand-navy);font-size:21px;font-weight:900}
.library-type-card p{margin:0;color:var(--muted)}
.library-type-card strong{color:var(--brand-navy);font-size:14px}
.news-showcase-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:18px;margin-bottom:8px}
.news-featured-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:minmax(290px,.9fr) minmax(0,1.1fr)}
.news-featured-card-page{grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr)}
.news-featured-media{width:100%;height:100%;min-height:320px;object-fit:cover;background:#eef2ff}
.news-featured-body{padding:26px;display:flex;flex-direction:column;justify-content:center}
.news-featured-body h3{margin:0 0 10px;color:var(--brand-navy);font-size:30px;font-weight:900;line-height:1.45}
.news-featured-body p{margin:0;color:#475467}
.news-side-stack{display:grid;gap:14px}
.news-side-card{display:grid;grid-template-columns:115px minmax(0,1fr);gap:12px;align-items:stretch;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm);padding:12px;transition:.2s ease}
.news-side-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.news-side-card img,.news-side-thumb{width:115px;height:100%;min-height:110px;border-radius:16px;object-fit:cover;background:#eef2ff}
.news-side-card h3{margin:0 0 6px;color:var(--brand-navy);font-size:18px;font-weight:900;line-height:1.5}
.news-side-card p{margin:0;color:var(--muted);font-size:14px}
.compact-news-head{margin-bottom:8px}
.academic-page-hero{background:linear-gradient(135deg,#ffffff 0%,#f5f8ff 62%,#fff6e8 100%)}
.academic-journey-card{margin-bottom:18px}
.path-steps,.breadcrumbs-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.path-step,.crumb{background:#f8faff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;display:flex;align-items:center;gap:10px;font-weight:900;color:var(--brand-navy)}
.path-step strong{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,#eef3ff,#fff2cf);display:grid;place-items:center;font-size:15px}
.path-step span,.crumb{font-size:14px}
.path-step.active,.crumb.active{background:linear-gradient(135deg,#eef3ff,#fff8e8);border-color:#dbe4ff}
.crumb{justify-content:center}
.terms-grid-enhanced{grid-template-columns:repeat(3,1fr)}
.meta-strong span{font-weight:900}
.units-grid-spotlight{gap:20px}
.unit-card-showcase{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);padding:24px}
.unit-content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.unit-content-chip{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#f8fbff;border:1px solid var(--line);transition:.2s ease}
.unit-content-chip:hover{background:#edf3ff;border-color:#dbe5ff}
.unit-content-chip strong{display:block;color:var(--brand-navy);font-size:14px}
.unit-content-chip small{display:block;color:var(--muted);font-weight:800}
.unit-stats-highlight span{background:linear-gradient(135deg,#eef3ff,#f8fbff)}
.library-summary-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}
.library-summary-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-sm);padding:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;transition:.2s ease}
.library-summary-card:hover,.library-summary-card.active{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d8e1ff}
.library-summary-card.active{background:linear-gradient(135deg,#eef3ff,#fff8e8)}
.library-summary-card h3{margin:0;color:var(--brand-navy);font-size:16px;font-weight:900}
.library-summary-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.library-summary-card strong{font-size:26px;color:var(--brand-navy);font-weight:900}
.filters-elevated{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.library-file-grid{margin-top:18px}
.library-file-card{padding:18px;background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%)}
.library-file-body{display:grid;gap:8px}
.news-toolbar-rich{background:linear-gradient(135deg,#ffffff 0%,#f7f9ff 100%)}
.featured-news-shell{margin-bottom:18px}
.news-gallery-grid{margin-top:0}
.news-card-gallery{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.admin-note{margin:-6px 0 8px;color:var(--muted);font-weight:700}
@media(max-width:1180px){.library-type-grid,.library-summary-grid,.terms-grid-enhanced,.cards-grid-academic{grid-template-columns:repeat(2,1fr)}.news-showcase-grid,.news-featured-card,.news-featured-card-page{grid-template-columns:1fr}.news-featured-media{min-height:250px}}
@media(max-width:860px){.library-type-grid,.library-summary-grid,.path-steps,.breadcrumbs-flow,.terms-grid-enhanced,.cards-grid-academic,.unit-content-grid{grid-template-columns:1fr 1fr}.news-side-card{grid-template-columns:100px minmax(0,1fr)}.news-side-card img,.news-side-thumb{width:100px}}
@media(max-width:560px){.library-type-grid,.library-summary-grid,.path-steps,.breadcrumbs-flow,.terms-grid-enhanced,.cards-grid-academic,.unit-content-grid{grid-template-columns:1fr}.news-side-card{grid-template-columns:1fr}.news-side-card img,.news-side-thumb{width:100%;min-height:170px}.news-featured-body h3{font-size:24px}}

/* === Organization structure === */
.org-home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:14px}
.org-home-card,.org-member-card{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:18px;display:grid;gap:14px}
.org-home-card{grid-template-columns:74px minmax(0,1fr);align-items:center}
.org-home-avatar,.org-member-media{width:74px;height:74px;border-radius:22px;overflow:hidden;border:1px solid #e8ebf4;background:#f2f6ff;display:grid;place-items:center;flex-shrink:0}
.org-home-avatar img,.org-member-media img{width:100%;height:100%;object-fit:cover}
.org-avatar-fallback,.org-member-fallback{background:linear-gradient(135deg,var(--brand-navy),var(--brand-gold));color:#fff;font-size:30px;font-weight:900;width:100%;height:100%;display:grid;place-items:center}
.org-home-role,.org-role-subtitle{display:inline-flex;align-items:center;gap:8px;background:#eef3ff;color:var(--brand-navy);padding:5px 12px;border-radius:999px;font-weight:900;font-size:12px}
.org-home-card h3,.org-member-card h3{margin:8px 0 4px;color:var(--brand-navy);font-size:22px;font-weight:900}
.org-home-card p,.org-member-card p{margin:0;color:var(--muted)}
.org-hero-card{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.org-hero-card h2{margin:0 0 8px;color:var(--brand-navy);font-size:28px}
.org-hero-card p{margin:0;color:var(--muted)}
.org-leadership-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:18px}
.org-member-card-leadership{padding:0;overflow:hidden;gap:0}
.org-member-card-leadership .org-member-media{width:100%;height:260px;border-radius:0;border:0}
.org-member-card-leadership .org-member-fallback{font-size:64px}
.org-member-body{padding:0}
.org-member-card-leadership .org-member-body{padding:22px}
.org-role-badge{display:inline-flex;align-items:center;background:#fff3d8;color:#7c5900;padding:6px 12px;border-radius:999px;font-weight:900;font-size:12px;border:1px solid #f0d796}
.org-committee-section{margin-bottom:24px}
.org-head-card{grid-template-columns:96px minmax(0,1fr);align-items:center;margin-bottom:14px}
.org-member-media-sm{width:96px;height:96px;border-radius:26px}
.org-member-media-xs{width:60px;height:60px;border-radius:18px}
.org-committee-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.org-member-card-compact{grid-template-columns:60px minmax(0,1fr);align-items:center;padding:14px 16px}
.org-member-card-compact h3{font-size:18px;margin:6px 0 0}

.org-hierarchy-stack{display:grid;gap:18px;margin-bottom:22px}.org-featured-leader{grid-template-columns:120px minmax(0,1fr);align-items:center;padding:22px}.org-member-media-lg{width:120px;height:120px;border-radius:30px}.org-top-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.org-top-role-card{min-height:132px}.org-committee-grid-wide{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.org-committee-panel{background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:18px}.org-committee-panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.org-committee-panel-head h3{margin:8px 0 0;color:var(--brand-navy);font-size:22px}.org-name-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.org-name-item{background:#f8fbff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;display:grid;gap:6px}.org-name-item strong{color:var(--brand-navy);font-size:17px}.org-name-item span{color:var(--muted);font-weight:700}
@media(max-width:1180px){.org-committee-grid-wide,.org-name-list,.org-top-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.org-committee-grid-wide,.org-name-list,.org-top-row,.org-featured-leader{grid-template-columns:1fr}.org-featured-leader{padding:18px}.org-member-media-lg{width:96px;height:96px;border-radius:26px}}

@media(max-width:1180px){.org-home-grid,.org-leadership-grid,.org-committee-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.org-hero-card{flex-direction:column;align-items:flex-start}.org-home-grid,.org-leadership-grid,.org-committee-grid{grid-template-columns:1fr}}


/* Student contribution and course-term hierarchy enhancements */
.course-with-terms{display:flex;flex-direction:column;gap:14px}
.course-terms-list{background:linear-gradient(135deg,#ffffff,#f8f9ff);border:1px solid #edf0f8;border-radius:22px;padding:14px;display:grid;gap:10px}
.terms-title{color:var(--brand-navy);font-weight:900}
.course-term-row{display:flex;justify-content:space-between;gap:12px;align-items:center;background:#fff;border:1px solid #edf0f8;border-radius:16px;padding:12px 14px;color:var(--brand-navy);text-decoration:none;transition:.2s ease}
.course-term-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.course-term-row span{font-weight:900}.course-term-row small{color:var(--muted);font-weight:700;text-align:left}
.submit-material-panel{align-items:start}.public-form-card h2{margin-top:10px}.public-form-card small{display:block;color:var(--muted);margin:6px 0 12px}
@media (max-width:700px){.course-term-row{display:grid}.course-term-row small{text-align:right}.submit-material-panel{grid-template-columns:1fr!important}}

/* === Graduation projects === */
.graduation-project-grid{align-items:stretch}
.graduation-project-card{border-inline-start:6px solid var(--brand-gold)}
.project-meta-list{display:grid;gap:7px;margin:2px 0;color:#475467;font-size:14px;line-height:1.8}
.project-meta-list span{display:block;background:#f8fbff;border:1px solid var(--line);border-radius:14px;padding:7px 10px}
.project-meta-list strong{color:var(--brand-navy);font-weight:900}


/* === Contact module === */
.home-contact-grid,.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:14px 0 26px}
.home-contact-card,.contact-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:18px;display:flex;align-items:center;gap:12px;transition:.22s ease;min-width:0;position:relative;overflow:hidden}
.home-contact-card:before,.contact-card:before{content:"";position:absolute;right:0;top:18px;bottom:18px;width:5px;border-radius:5px;background:linear-gradient(var(--brand-gold),var(--brand-navy))}
.home-contact-card:hover,.contact-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.home-contact-card span,.contact-icon{width:46px;height:46px;min-width:46px;border-radius:16px;background:linear-gradient(135deg,#eef3ff,#fff8e8);display:grid;place-items:center;color:var(--brand-navy);font-weight:900;border:1px solid #edf0f8}
.home-contact-card strong,.contact-card h2{display:block;color:var(--brand-navy);font-weight:900;margin:0;font-size:17px}
.home-contact-card small,.contact-card p{display:block;color:var(--muted);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:ltr;text-align:left;margin:0;max-width:100%}
.contact-card{align-items:flex-start;min-height:138px;flex-direction:row}
.contact-card div{min-width:0;flex:1}.contact-card strong{align-self:flex-end;background:var(--brand-navy);color:#fff;border-radius:12px;padding:7px 10px;font-size:12px;white-space:nowrap}
.contact-title{background:linear-gradient(135deg,#fff,#f8faff 60%,#fff8e8)}.contact-help-card{margin-top:18px}.contact-help-card .btn{margin-top:8px}
.footer-contact-inline{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}.footer-contact-inline a{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;color:#e6eef7}
@media(max-width:980px){.home-contact-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.home-contact-grid,.contact-grid{grid-template-columns:1fr}.contact-card{flex-wrap:wrap}.contact-card strong{width:100%;text-align:center}}

/* === V11: responsive public header and submit material page redesign === */
.site-header .container{width:min(1480px,94%)}
.header-grid{align-items:center}
.brand{flex:0 0 auto;max-width:320px}
.top-nav{flex:1;min-width:0;justify-content:flex-start;gap:5px}
.top-nav a{padding:8px 10px;font-size:13.5px;line-height:1.35}

.submit-hero{overflow:hidden;position:relative;background:
    radial-gradient(circle at 96% 8%,rgba(214,163,41,.18),transparent 28%),
    linear-gradient(135deg,#fff 0%,#f6f8ff 62%,#fff8e8 100%)}
.submit-hero:after{content:"";position:absolute;left:-80px;bottom:-90px;width:230px;height:230px;border-radius:50%;background:rgba(23,27,87,.06)}
.submit-hero h1,.submit-hero p,.submit-hero .badge,.submit-hero-points{position:relative;z-index:1}
.submit-hero-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.submit-hero-points span{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--brand-navy);font-weight:900;box-shadow:var(--shadow-sm)}
.submit-hero-points span:before{content:"✓";width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--soft-gold);color:#7a5507;font-size:12px}

.submit-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start;margin-top:22px}
.submit-card{background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);padding:26px;min-width:0;overflow:hidden}
.submit-section-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.submit-section-head>span{width:44px;height:44px;min-width:44px;border-radius:16px;background:linear-gradient(135deg,var(--brand-navy),var(--brand-navy-2));color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 12px 26px rgba(23,27,87,.16);direction:ltr}
.submit-section-head h2{margin:0;color:var(--brand-navy);font-size:24px;font-weight:900;line-height:1.35}
.submit-section-head p{margin:2px 0 0;color:var(--muted);font-weight:700;line-height:1.8}
.submit-section-gap{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}
.submit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.field{min-width:0}.field-wide{grid-column:1/-1}
.field label{display:flex;align-items:center;gap:5px;margin-bottom:8px;color:#344054;font-weight:900;line-height:1.4}
.field label b{color:#b42318;font-weight:900}
.field input,.field select,.field textarea{display:block;width:100%;max-width:100%;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);padding:13px 14px;outline:none;font-weight:700;line-height:1.55;box-shadow:0 1px 0 rgba(23,27,87,.02);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.field select{appearance:auto;min-height:54px}.field textarea{resize:vertical;min-height:118px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:rgba(214,163,41,.9);box-shadow:0 0 0 4px rgba(214,163,41,.14);background:#fffdf8}
.field small{display:block;margin-top:7px;color:var(--muted);font-weight:700;font-size:12.5px;line-height:1.7}
.upload-drop{position:relative;display:grid;place-items:center;text-align:center;gap:8px;border:2px dashed #d9deeb;border-radius:24px;background:linear-gradient(135deg,#f8fbff,#fff);padding:28px 18px;cursor:pointer;transition:.22s ease;min-height:170px;overflow:hidden}
.upload-drop:hover{border-color:rgba(214,163,41,.85);background:#fffdf8;box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.upload-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-icon{width:58px;height:58px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#eef3ff,#fff8e8);border:1px solid #edf0f8;color:var(--brand-navy);font-size:26px;font-weight:900}
.upload-drop strong{color:var(--brand-navy);font-size:20px;font-weight:900}
.upload-drop em{font-style:normal;color:var(--muted);font-weight:800;direction:ltr;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.submit-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.submit-actions .btn{min-height:48px}.submit-actions .btn.primary{min-width:180px}
.submit-side{display:grid;gap:16px;position:sticky;top:108px;min-width:0}
.submit-help-card h2,.submit-help-card h3{margin:10px 0 8px;color:var(--brand-navy);font-weight:900;line-height:1.4}
.submit-help-card ul{margin:12px 0 0;padding:0 20px 0 0;color:#475467;font-weight:700}.submit-help-card li{margin:6px 0}
.submit-help-muted{background:linear-gradient(135deg,#fff,#f8faff)}
.format-chips{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.format-chips span{background:#eef3ff;color:var(--brand-navy);border:1px solid #dfe6ff;border-radius:999px;padding:5px 10px;font-weight:900;font-size:12px}

@media(max-width:1400px){
    .nav-toggle{display:inline-flex}
    .top-nav{display:none;width:100%;padding-top:12px;gap:8px;flex:none}
    .top-nav.open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
    .top-nav a{text-align:center;background:#f7f9ff;border:1px solid var(--line);font-size:13px;padding:10px 8px}
    .header-grid{flex-wrap:wrap}
}
@media(max-width:980px){
    .submit-shell{grid-template-columns:1fr}
    .submit-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .submit-card{padding:20px;border-radius:24px}
    .submit-grid{grid-template-columns:1fr;gap:14px}
    .field-wide{grid-column:auto}
    .submit-section-head{gap:10px}
    .submit-section-head>span{width:38px;height:38px;min-width:38px;border-radius:14px}
    .submit-section-head h2{font-size:21px}
    .upload-drop{padding:24px 14px;min-height:150px}
    .submit-side{grid-template-columns:1fr}
    .submit-actions .btn{width:100%}
    .top-nav.open{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){
    .site-header .container{width:min(100% - 22px,1480px)}
    .brand-logo-img{width:52px;height:52px}
    .brand-text strong{font-size:14px;white-space:normal}
    .brand-text small{font-size:11.5px}
    .submit-hero-points{display:grid;grid-template-columns:1fr}
    .page-title.submit-hero{padding:20px}
    .page-title.submit-hero h1{font-size:23px}
    .top-nav.open{grid-template-columns:1fr}
}

.external-material-preview{min-height:560px;border:1px dashed rgba(23,27,87,.22);border-radius:24px;background:linear-gradient(135deg,#f8fafc,#ffffff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px;gap:14px}
.external-material-preview h2{margin:0;color:var(--brand-navy);font-size:30px;font-weight:900}
.external-material-preview p{max-width:620px;color:var(--muted);font-weight:700;line-height:1.9;margin:0}
.external-material-icon{width:88px;height:88px;border-radius:28px;background:linear-gradient(135deg,#eef3ff,#fff8e8);display:grid;place-items:center;font-size:40px;border:1px solid var(--line);box-shadow:0 18px 40px rgba(23,27,87,.08)}
.external-material-host{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 14px;background:#eef2fb;color:var(--brand-navy);font-weight:900;border:1px solid var(--line)}
@media(max-width:560px){.external-material-preview{min-height:auto;padding:24px}.external-material-preview h2{font-size:23px}.external-material-icon{width:72px;height:72px;font-size:32px}}

/* === V16: safer material viewer === */
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 12px;margin-bottom:12px;box-shadow:var(--shadow-sm)}
.viewer-toolbar span{color:var(--muted);font-weight:900}.viewer-toolbar div{display:flex;gap:8px;flex-wrap:wrap}.viewer-toolbar .btn{min-height:40px}
@media(max-width:680px){.viewer-toolbar{align-items:stretch;flex-direction:column}.viewer-toolbar div{display:grid;grid-template-columns:1fr}.viewer-toolbar .btn{width:100%}.viewer{min-height:auto}.viewer iframe{height:70vh}.details-card dl{grid-template-columns:1fr}.details-card dd{padding-bottom:8px;border-bottom:1px solid var(--line)}}

/* === V18: public upload validation feedback === */
.upload-drop.has-file{border-color:#86efac;background:#f0fdf4}.upload-drop.has-file .upload-icon{background:#166534;color:#fff}.upload-drop.has-error{border-color:#fecaca;background:#fff1f2}.upload-drop.has-error .upload-icon{background:#b42318;color:#fff}.upload-drop.has-error em{color:#b42318}

/* Google Drive submission option */
.public-source-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 16px}
.public-source-choice label{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:3px 10px;align-items:center;border:1px solid var(--line);border-radius:22px;background:#f8fafc;padding:14px 16px;cursor:pointer;transition:.2s ease}
.public-source-choice label:hover{background:#fff;border-color:#cbd5e1;box-shadow:var(--shadow-sm)}
.public-source-choice input{grid-row:1/3;width:auto;accent-color:var(--brand-navy)}
.public-source-choice span{font-weight:900;color:var(--brand-navy)}
.public-source-choice small{color:var(--muted);font-weight:800;line-height:1.6}
.public-source-choice label:has(input:checked){background:#eef2ff;border-color:#c7d2fe;box-shadow:0 8px 20px rgba(23,27,87,.08)}
.drive-link-card{border:1px solid #fde68a;border-radius:24px;background:linear-gradient(135deg,#fffbeb,#fff);padding:18px;display:grid;gap:14px;margin-bottom:12px}
.drive-share-warning{background:#fff7ed;border:1px solid #fed7aa;border-radius:18px;padding:14px;color:#7c2d12;font-weight:800;line-height:1.8}
.drive-share-warning strong{display:block;color:#9a3412;margin-bottom:6px;font-weight:900}
.drive-share-warning ul{margin:0;padding-inline-start:20px}
.drive-share-warning li{margin:4px 0}
@media(max-width:700px){.public-source-choice{grid-template-columns:1fr}.drive-link-card{padding:14px}}

/* === Professional image preview / zoom lightbox === */
.zoomable-image{cursor:zoom-in;transition:transform .22s ease,filter .22s ease,box-shadow .22s ease}
.zoomable-image:hover{filter:saturate(1.08) contrast(1.03);box-shadow:0 18px 42px rgba(23,27,87,.18)}
.zoomable-image:focus{outline:3px solid rgba(214,163,41,.65);outline-offset:4px}
.image-lightbox{position:fixed;inset:0;z-index:10000;display:none;direction:rtl;color:#fff;padding:22px}
.image-lightbox.open{display:grid;place-items:center}
.image-lightbox-backdrop{position:absolute;inset:0;background:rgba(8,12,44,.84);backdrop-filter:blur(10px)}
.image-lightbox-panel{position:relative;z-index:1;width:min(1120px,96vw);max-height:94vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:14px;box-shadow:0 34px 90px rgba(0,0,0,.35)}
.image-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:4px 4px 0}
.image-lightbox-title{font-weight:900;font-size:18px;line-height:1.6;max-width:560px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.image-lightbox-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.image-lightbox-btn{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;min-width:42px;height:40px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;font-weight:900;text-decoration:none;cursor:pointer;font-family:inherit;transition:.2s ease}
.image-lightbox-btn:hover,.image-lightbox-btn:focus{background:#fff;color:var(--brand-navy);outline:none}.image-lightbox-close{font-size:24px;line-height:1;background:#fff;color:var(--brand-navy)}
.image-lightbox-stage{min-height:280px;max-height:76vh;overflow:auto;display:grid;place-items:center;background:rgba(255,255,255,.96);border-radius:22px;padding:14px;touch-action:pan-x pan-y}
.image-lightbox-img{max-width:100%;max-height:72vh;object-fit:contain;border-radius:16px;box-shadow:0 18px 48px rgba(0,0,0,.22);transform-origin:center center;transition:transform .2s ease;display:block}
.image-lightbox-caption{color:#e7ecff;font-weight:800;line-height:1.7;text-align:center;padding:0 6px 4px}.lightbox-open{overflow:hidden}
@media(max-width:640px){.image-lightbox{padding:10px}.image-lightbox-panel{width:100%;max-height:96vh;border-radius:22px;padding:10px}.image-lightbox-title{max-width:100%;font-size:15px}.image-lightbox-actions{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.image-lightbox-open{grid-column:span 2}.image-lightbox-close{grid-column:span 1}.image-lightbox-stage{max-height:68vh;min-height:240px}.image-lightbox-img{max-height:64vh}.image-lightbox-btn{height:38px;padding:0 8px}}

/* === V23: share actions and student resources === */
.share-box{margin-top:14px;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 100%);border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:var(--shadow-sm);display:grid;gap:12px}
.share-box-head{display:flex;align-items:center;gap:10px}.share-main-icon{width:42px;height:42px;border-radius:15px;background:var(--brand-navy);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900}.share-box strong{display:block;color:var(--brand-navy);font-weight:900}.share-box small{display:block;color:var(--muted);font-weight:800;line-height:1.6}.share-actions{display:flex;gap:8px;flex-wrap:wrap}.share-actions a,.share-actions button,.share-icon-btn{border:1px solid #dbe2f0;background:#fff;color:var(--brand-navy);border-radius:14px;min-height:38px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:900;font-family:inherit;text-decoration:none;cursor:pointer;transition:.2s ease}.share-actions a:hover,.share-actions button:hover,.share-icon-btn:hover,.share-actions .copied,.share-icon-btn.copied{background:var(--brand-navy);color:#fff;border-color:var(--brand-navy);transform:translateY(-1px)}.share-actions span{font-weight:900}.share-native{background:linear-gradient(135deg,var(--brand-navy),#242a78)!important;color:#fff!important;border-color:var(--brand-navy)!important}.share-icon-btn{width:42px;padding:0;font-size:20px;flex:0 0 auto}.resource-card-actions{align-items:center}.section-head-with-action{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.section-head-with-action p{margin:6px 0 0;color:var(--muted);font-weight:800}.student-resources-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0 26px}.student-resource-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);transition:.2s ease}.student-resource-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(23,27,87,.12)}.student-resource-icon{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#eef3ff,#fff4d8);display:grid;place-items:center;font-size:30px}.student-resource-body{display:grid;gap:8px}.student-resource-body h3{margin:0;color:var(--brand-navy);font-size:21px;font-weight:900;line-height:1.5}.student-resource-body p{margin:0;color:var(--muted);line-height:1.8}.student-resources-empty{margin:18px 0}.student-resource-viewer .viewer{min-height:520px}
@media(max-width:1080px){.student-resources-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.student-resources-grid,.student-resource-card,.section-head-with-action{grid-template-columns:1fr}.section-head-with-action{align-items:flex-start}.share-actions{display:grid;grid-template-columns:1fr 1fr}.share-actions a,.share-actions button{width:100%}.student-resource-card{padding:16px}.student-resource-icon{width:56px;height:56px;border-radius:18px}}
