/* V10.8.1645 (TEST): Homework & Test Prep as a full new-design page; lighter dim on the Choose pop-up and the booking pop-up; booking panel full height. Off: remove this file's <link> in student-portal/index.html. */
/* ---- Homework & Test Prep page ---- */
.ppg{max-width:64rem}
.ppg .pp-card{padding:1.5rem 1.7rem;display:flex;flex-direction:column;gap:.85rem;max-width:64rem}
.ppg .pp-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}
.ppg .plv-btn.sm{height:2.4rem;min-width:0;padding:0 1rem 0 .75rem;font-size:.9rem}
.ppg .plv-btn svg{width:1.1rem;height:1.1rem}
.ppg .pp-chg{background:none;border:0;color:var(--s2-ink,#13204a);font:600 .95rem Poppins,Inter,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.3rem .2rem}
.ppg .pp-seg{display:inline-flex;gap:.3rem;padding:.3rem;background:#eef1f9;border-radius:99px;align-self:flex-start;max-width:100%}
.ppg .pp-seg button{border:0;background:none;border-radius:99px;padding:.65rem 1.25rem;font:600 .98rem Poppins,Inter,sans-serif;color:var(--s2-ink,#13204a);cursor:pointer;min-height:2.6rem}
.ppg .pp-seg button.on{background:var(--s2-navy,#0d223f);color:#fff}
.ppg .pp-seg button:disabled{opacity:.6;cursor:default}
.ppg .pp-fl{font:700 1rem Poppins,Inter,sans-serif;color:var(--s2-ink,#13204a);display:flex;flex-direction:column;gap:.35rem}
.ppg .pp-fl input[type=date]{height:2.8rem;border:1.5px solid #cfd6ea;border-radius:.8rem;padding:0 .8rem;font:500 1rem Inter,sans-serif;max-width:14rem}
.ppg .pp-box{border:1.5px solid #cfd6ea;border-radius:1rem;background:#fff;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.5rem}
.ppg .pp-box:focus-within{border-color:#5b4bd6;box-shadow:0 0 0 3px #5b4bd633}
.ppg .pp-box textarea{border:0;outline:0;resize:vertical;min-height:4.4rem;font:500 1rem/1.5 Inter,sans-serif;color:var(--s2-ink,#13204a);background:none;width:100%;box-sizing:border-box}
.ppg .pp-add{align-self:flex-start;display:inline-flex;align-items:center;gap:.5rem;background:#eef1ff;border:0;border-radius:99px;padding:.55rem 1rem;font:700 .95rem Poppins,Inter,sans-serif;color:var(--s2-ink,#13204a);cursor:pointer;min-height:2.6rem;box-sizing:border-box}
.ppg .pp-add:hover{background:#e2e7ff}
.ppg .pp-clip{font-size:1.05rem;line-height:1}
.ppg .pp-note{margin:0;padding:.8rem 1rem;background:#eef6ee;border-radius:.9rem;font-size:.92rem;line-height:1.5;color:#1d3a24;display:flex;gap:.6rem;align-items:flex-start}
.ppg .pp-note svg{width:1.1rem;height:1.1rem;flex:none;margin-top:.15rem}
.ppg .pp-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.7rem}
.ppg .pp-files:empty{display:none}
.ppg .pp-fig{position:relative;margin:0;border-radius:.8rem;overflow:hidden;background:#f3f5fb;border:1px solid #dde2f0;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.ppg .pp-fig img{width:100%;height:100%;object-fit:cover;display:block}
.ppg .pp-fig a{display:block;width:100%;height:100%}
.ppg .pp-fig>button{position:absolute;top:.3rem;right:.3rem;width:1.9rem;height:1.9rem;border-radius:50%;border:0;background:rgba(13,34,63,.85);color:#fff;font-size:1.2rem;line-height:1;cursor:pointer}
.ppg .pp-fig .pp-pdf{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:.6rem;height:100%;box-sizing:border-box;text-decoration:none;color:var(--s2-ink,#13204a);font-size:.78rem;text-align:center;word-break:break-word}
.ppg .pp-fig .pp-pdf svg{width:2rem;height:2rem}
.ppg .pp-fig em{position:absolute;left:0;right:0;bottom:0;background:rgba(13,34,63,.78);color:#fff;font:600 .72rem Inter,sans-serif;text-align:center;padding:.2rem;font-style:normal}
.ppg .pp-fig.up img{opacity:.7}.ppg .pp-fig.bad{border-color:#d33}
.ppg .pp-cnt{margin:-.3rem 0 0;font-size:.85rem;color:var(--s2-sub,#5b6485)}
.ppg .pp-conf{display:flex;gap:.55rem;align-items:center;font-size:.95rem}
.ppg .pp-conf.hid{display:none}
.ppg .pp-err{margin:0;text-align:left;color:#b3261e;font-size:.92rem;min-height:0}.ppg .pp-err:empty{display:none}
.ppg .pp-act{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.ppg .pp-act .plv-btn:disabled{background:#9aa3b8;border-color:#9aa3b8;cursor:not-allowed;filter:none}
.ppg .okbox{font-weight:700;color:#1b6b34}
.ppg .pp-nophoto{margin:0;font-size:.92rem;color:var(--s2-sub,#5b6485)}
/* the stray round paperclip button other scripts add under text boxes must not appear on this page */
.ppg .at581-clip,.ppg [class*="at581"],.ppg .v46clip:not(.pp-clip){display:none!important}
@media (max-width:760px){
 .ppg .pp-card{padding:1.1rem 1rem}
 .ppg .pp-seg{width:100%}.ppg .pp-seg button{flex:1;padding:.65rem .5rem}
 .ppg .pp-act{flex-direction:column;align-items:stretch}.ppg .pp-act .plv-btn{width:100%}
 .ppg .pp-files{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* ---- lighter dim for the Choose pop-up ---- */
.s2scrim{background:rgba(16,33,74,.28)!important;-webkit-backdrop-filter:blur(2px)!important;backdrop-filter:blur(2px)!important}
/* ---- booking pop-up: light dim, little blur, full-height panel, sticky Find a time ---- */
.bk2:before{filter:blur(1px)!important;opacity:1!important;inset:-4px!important;background:linear-gradient(rgba(16,33,74,.2),rgba(16,33,74,.2)),url(img/hall.webp) center bottom/cover!important}
.bk2{padding-top:0!important;padding-bottom:0!important;overflow:hidden!important}
.bk2 .b2card{height:100vh;height:100dvh;max-height:none;overflow-y:auto!important;overflow-x:hidden;border-radius:0!important;-webkit-overflow-scrolling:touch}
body:has(#vas1508-bar) .bk2{top:44px!important;bottom:0!important}
body:has(#vas1508-bar) .bk2 .b2card{height:calc(100vh - 44px);height:calc(100dvh - 44px)}
.bk2 .b2body>.b2btn[data-act="bnext"]{position:sticky;bottom:.6rem;z-index:2;box-shadow:0 0 0 .6rem #fff,0 -.6rem 1rem .6rem #fff}
.bk2 .b2foot{position:relative;z-index:1}
@media (max-width:760px){ body:has(#vas1508-bar) .bk2{top:44px!important} }
@media (max-width:600px){ .bk2{padding:0!important;background:#fff!important}.bk2:before{display:none!important}.bk2 .b2body>.b2btn[data-act="bnext"]{bottom:max(.6rem,env(safe-area-inset-bottom))} }
