/* v10 - professional polish, hero banner, handout book rows, admissions, programs, groups */
:root{--b1:#4f2fd0;--b2:#7c5cff;--b3:#2b1b8f;--lav:#ece8ff}
/* buttons / accents */
.d8b.p,.b.hi,.v10b.dl,.v10-cta{background:linear-gradient(135deg,var(--b1),var(--b2))!important;color:#fff!important;border:0;box-shadow:0 8px 20px -10px #4f2fd0cc}
.d8b.w,.chips8 button.on{border-color:var(--b2)}
.chips8 button.on{background:linear-gradient(135deg,var(--b1),var(--b2))!important;color:#fff!important}
.b,.d8b{transition:transform .15s,box-shadow .15s}.b:hover,.d8b:hover{transform:translateY(-1px)}
/* hero: banner image as background */
body.v8 .d8hero{background:#d9d2ff url(hero-banner.jpg) 0 0/100% 100% no-repeat!important;position:relative;aspect-ratio:1280/480;padding:0!important;min-height:0;overflow:hidden;border-radius:22px}
body.v8 .d8hero>*{visibility:hidden}
body.v8 .d8hero .d8b{visibility:visible;position:absolute;opacity:0;top:79%;height:10%;margin:0;padding:0;z-index:2;cursor:pointer}
body.v8 .d8hero .d8b.p{left:4.7%;width:18.1%}
body.v8 .d8hero .d8b.w{left:24.5%;width:18.6%}
body.v8 .d8hero .d8b:focus-visible,body.v8 .d8hero .d8b:hover{opacity:1;background:#ffffff33!important;outline:2px solid #fff;border-radius:12px;box-shadow:none}
@media(max-width:820px){
 body.v8 .d8hero{aspect-ratio:auto!important;background:linear-gradient(180deg,#cdc3ff,#ece8ff)!important;padding:0!important;display:flex!important;flex-direction:column;border-radius:20px;overflow:hidden}
 body.v8 .d8hero::after{display:none!important}
 body.v8 .d8hero::before{content:"";order:1;display:block;width:100%;aspect-ratio:590/480;background:url(hero-girl.jpg) center/cover no-repeat}
 body.v8 .d8hero,body.v8 .d8hero *{text-shadow:none!important}
 body.v8 .d8hero>*{visibility:visible!important}
 body.v8 .d8hero>div{order:2;padding:16px 16px 18px;width:100%;max-width:none!important;box-sizing:border-box}
 body.v8 .d8hero .art,body.v8 .d8hero .tag{display:none!important}
 body.v8 .d8hero small{color:#4a3d99!important;display:block;margin-bottom:4px}
 body.v8 .d8hero h1{font-size:27px!important;line-height:1.2;color:#1d1260!important;margin:0 0 8px}
 body.v8 .d8hero h1 span{color:var(--b1)!important}
 body.v8 .d8hero p{color:#3a2f78!important;font-size:15px;margin:0 0 14px}
 body.v8 .d8hero .d8b{position:static!important;opacity:1!important;height:auto!important;display:inline-flex;justify-content:center;align-items:center;width:calc(50% - 5px)!important;box-sizing:border-box;padding:13px 6px!important;font-size:14px!important;margin:0 8px 0 0!important;left:auto!important;border-radius:14px}
 body.v8 .d8hero .d8b.w{margin-right:0!important;background:#fff!important;color:var(--b1)!important;border:1.5px solid var(--b2)!important}
}
/* handout book rows */
.v10row{display:flex;align-items:center;gap:14px;background:var(--s8,#fff);border:1px solid var(--ln8,#e7eaf6);border-radius:16px;padding:12px 14px;margin:10px 0;box-shadow:var(--sh8)}
.v10bk{flex:0 0 auto;width:48px;height:62px;border-radius:5px 9px 9px 5px;background:linear-gradient(135deg,var(--b1),var(--b2));position:relative;box-shadow:inset 6px 0 0 #00000030,0 6px 12px -6px #4f2fd099;display:grid;place-items:center;color:#fff;font-weight:800;font-size:11px;letter-spacing:.04em}
.v10bk::before{content:"";position:absolute;left:9px;top:8px;right:7px;height:3px;background:#ffffff77;border-radius:2px}
.v10bk::after{content:"";position:absolute;left:9px;top:14px;right:16px;height:3px;background:#ffffff55;border-radius:2px}
.v10bk span{margin-top:18px}
.v10row .m{flex:1 1 auto;min-width:0}.v10row .m b{display:block;word-break:break-word;line-height:1.3}
.v10row .m small{color:var(--mut8)}
.v10row .acts{display:flex;gap:6px;flex-wrap:wrap}
.v10b{border:1px solid var(--b2);color:var(--b1);background:transparent;border-radius:10px;padding:8px 12px;font-weight:700;font-size:13px;cursor:pointer;text-decoration:none;display:inline-flex;gap:5px;align-items:center}
.v10b.dl{border:0}
@media(max-width:560px){.v10row{flex-wrap:wrap}.v10row .acts{width:100%}.v10b{flex:1;justify-content:center}}
#lsr-hl,#lsr-pp8{display:none!important}
/* viewer */
#v10view{position:fixed;inset:0;z-index:9999;background:#0d0a2ccc;display:none;flex-direction:column}
#v10view.on{display:flex}
#v10view header{display:flex;gap:8px;align-items:center;padding:10px 12px;background:#1d1260;color:#fff;flex-wrap:wrap}
#v10view header b{flex:1 1 160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#v10view iframe{flex:1;border:0;background:#fff;width:100%}
#v10view .v10b{color:#fff;border-color:#ffffff88}
#v10toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:#1d1260;color:#fff;padding:10px 16px;border-radius:12px;z-index:10000;display:none;font-size:14px}
/* credit */
.v10credit{text-align:center;color:var(--mut8,#6b7391);font-size:13px;padding:10px 0}.v10credit b{color:var(--b1)}
.v10foot{text-align:center;padding:18px 10px 90px;color:var(--mut8,#6b7391);font-size:13px}.v10foot a{cursor:pointer;color:inherit;opacity:.55;margin-left:10px;font-size:11px}
/* admissions */
.v10ad-h{background:linear-gradient(135deg,var(--b3),var(--b1) 55%,var(--b2));color:#fff;border-radius:22px;padding:26px 22px;margin-bottom:16px}
.v10ad-h h2{margin:0 0 6px;color:#fff}.v10ad-h p{margin:0;opacity:.92}
.v10steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:14px 0}
.v10st{background:var(--s8,#fff);border:1px solid var(--ln8,#e7eaf6);border-radius:16px;padding:16px;position:relative}
.v10st i{font-style:normal;position:absolute;top:-12px;left:14px;background:var(--b1);color:#fff;border-radius:50%;width:28px;height:28px;display:grid;place-items:center;font-weight:800;font-size:13px}
.v10st .e{font-size:30px}.v10st b{display:block;margin:4px 0}.v10st small{color:var(--mut8)}
.v10lk{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.v10lk a{display:flex;gap:12px;align-items:center;background:var(--s8,#fff);border:1px solid var(--ln8,#e7eaf6);border-radius:16px;padding:14px;text-decoration:none;color:inherit;box-shadow:var(--sh8)}
.v10lk a:hover{border-color:var(--b2)}
.v10lk img,.v10lg{width:54px;height:54px;border-radius:14px;object-fit:cover;background:var(--lav);flex:0 0 auto;display:grid;place-items:center;font-size:26px}
.v10lk small{color:var(--mut8);display:block}
/* programs */
.v10pi{display:flex;gap:14px;align-items:center}
.v10pt{flex:0 0 78px;height:78px;border-radius:18px;display:grid;place-items:center;font-size:38px;color:#fff;box-shadow:0 10px 20px -12px #000a}
#pl2 .pg{border-radius:18px!important;padding:14px!important}
#pl2 .b.gr.sm{background:linear-gradient(135deg,var(--b1),var(--b2))!important;color:#fff!important}
/* official LMS */
.v10lms{display:flex;align-items:center;gap:18px;background:linear-gradient(135deg,var(--b3),var(--b1));color:#fff!important;text-decoration:none;border-radius:22px;padding:22px;margin-bottom:16px;box-shadow:0 18px 30px -18px #2b1b8f}
.v10lms img{width:76px;height:76px;border-radius:18px;background:#fff;padding:8px;object-fit:contain}
.v10lms b{font-size:24px;display:block}.v10lms small{opacity:.9}.v10lms .go{margin-left:auto;background:#fff;color:var(--b1);border-radius:14px;padding:12px 18px;font-weight:800;white-space:nowrap}
@media(max-width:560px){.v10lms{flex-wrap:wrap}.v10lms .go{width:100%;text-align:center}}
/* LMS people + groups */
.v10pp{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.v10pc{background:var(--s8,#fff);border:1px solid var(--ln8,#e7eaf6);border-radius:20px;padding:16px;box-shadow:var(--sh8)}
.v10pc.top{border:2px solid #f5b301}
.v10pc .h{display:flex;gap:12px;align-items:center}
.v10pc .av{width:64px;height:64px;border-radius:50%;background:var(--lav);display:grid;place-items:center;font-weight:800;font-size:24px;color:var(--b1);overflow:hidden;flex:0 0 auto}
.v10pc .av img{width:100%;height:100%;object-fit:cover}
.v10pc .sc{display:inline-block;background:#e8fff1;color:#0a7a3b;font-weight:800;border-radius:999px;padding:3px 10px;font-size:13px}
.v10pc .pr{width:100%;border-radius:14px;margin-top:10px;max-height:220px;object-fit:cover;cursor:zoom-in}
.v10gc{display:flex;gap:14px;align-items:center}
/* tools / calendar */
body.v8 #t-tools .chip,body.v8 #t-tools .tl button,body.v8 #t-tools .chips button{font-size:17px!important;padding:14px 18px!important;border-radius:16px!important}
body.v8 #t-tools .card{border-radius:22px;padding:22px}
body.v8 #t-tools h2,body.v8 #t-tools h3{font-size:24px}
body.v8 #t-tools input,body.v8 #t-tools select{font-size:17px;padding:12px}
.v10tbig{font-size:46px;text-align:center;margin:6px 0}
/* test center blanks */
#t-test select:required:invalid{color:#8a8fa8}

/* colour polish (matches the reference dashboard) */
body.v8{--bg8:#f3f5fc}
.v8side a.on,.v8side a.on:hover{background:linear-gradient(90deg,#4f6ef7,#3b9bff)!important;color:#fff!important;box-shadow:0 10px 22px -12px #3b82f6}
.v8bn a.on{color:var(--b1)!important}
.d8q a{border-radius:20px;border:1px solid var(--ln8);background:linear-gradient(160deg,#fff,#f3f1ff);box-shadow:var(--sh8)}
.d8c,.card{border-radius:20px}
.d8c{box-shadow:var(--sh8);border:1px solid var(--ln8)}
.v8bar{backdrop-filter:blur(8px)}
@media(max-width:820px){.d8q{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v10pp,.v10lk{grid-template-columns:1fr}.hl8,.v10steps{padding:0}}
/* reviews page */
.v10rg{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.v10rc{background:var(--s8,#fff);border:1px solid var(--ln8);border-radius:18px;padding:14px;box-shadow:var(--sh8);overflow:hidden}
.v10rc img{width:100%;border-radius:12px;display:block;cursor:zoom-in;background:var(--lav)}
.v10rc .st{color:#f5a300;letter-spacing:2px}.v10rc p{white-space:pre-wrap;margin:8px 0 0}
.v11al{display:flex;flex-wrap:wrap;gap:10px}
.v11a{display:flex;gap:10px;align-items:center;background:linear-gradient(135deg,#f3f1ff,#fff);border:1px solid var(--ln8);border-radius:999px;padding:6px 16px 6px 6px}
.v11a .av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--b1),var(--b2));color:#fff;display:grid;place-items:center;font-weight:800;overflow:hidden;flex:0 0 auto}
.v11a .av img{width:100%;height:100%;object-fit:cover}.v11a small{display:block;color:var(--mut8)}
.v11clamp{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
#v11adm{margin:14px 0}
