/* V10.8.1471 Portal look B (Tamra, Oct 23 2026). Scoped to html.pb. Off switch: localStorage itutor_look_b='off' or ?lookb=0.
   HARD RULE: nothing inside the Campus page (.s2cam) is touched. Only shared chrome (top bar, sidebar, phone tab bar) recolors; no layout change. */
@font-face{font-family:'PBCaveat';src:url(/static/fonts/caveat-latin-wght-normal.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'Poppins';src:url(/static/fonts/poppins-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Poppins';src:url(/static/fonts/poppins-latin-600-normal.woff2) format('woff2');font-weight:500 700;font-display:swap}
html.pb{--pb-nv:#0F2557;--pb-bl:#4E9BE8;--pb-lb:#79B8F6;--pb-sky:#E8F2FD;--pb-mint:#E4F5EC;--pb-lav:#EFEBFB;--pb-peach:#FDEDE4;--pb-pink:#FCE8EF;--pb-bg:#F6F9FD;--pb-ln:#E6ECF5;--pb-mu:#5B6680;--pb-sh:0 6px 22px rgba(15,37,87,.07)}
/* ---------- student shared chrome ---------- */
html.pb .s2top{background:#fff;border-bottom:1px solid var(--pb-ln)}
html.pb .s2side{background:#fff;border-right:1px solid var(--pb-ln)}
html.pb .s2ni{color:var(--pb-nv);font-family:Poppins,Inter,sans-serif}
html.pb .s2ni .s2nic{width:2.1rem;height:2.1rem;border-radius:.7rem;background:var(--pb-sky);color:var(--pb-nv);flex:none}
html.pb .s2ni svg{width:1.25rem!important;height:1.25rem!important;color:var(--pb-nv)}
html.pb .s2nl .s2ni:nth-child(2) .s2nic{background:var(--pb-peach)}
html.pb .s2nl .s2ni:nth-child(3) .s2nic{background:var(--pb-lav)}
html.pb .s2nl .s2ni:nth-child(4) .s2nic{background:#FFF3DC}
html.pb .s2nl .s2ni:nth-child(5) .s2nic{background:var(--pb-pink)}
html.pb .s2nl .s2ni:nth-child(6) .s2nic{background:var(--pb-mint)}
html.pb .s2nl .s2ni:nth-child(7) .s2nic{background:#EEF1F6}
html.pb .s2ni:hover:not(.on){background:var(--pb-bg)}
html.pb .s2ni.on{background:var(--pb-sky);color:var(--pb-nv);box-shadow:none}
html.pb .s2ni.on .s2nic{background:#fff}
html.pb .s2emb img{filter:brightness(0) saturate(100%) invert(14%) sepia(40%) saturate(2600%) hue-rotate(208deg) brightness(.9);opacity:.7}
html.pb .s2emb,html.pb .s2emb *{color:var(--pb-nv)}
html.pb .s2foot,html.pb .s2foot *{color:var(--pb-nv)}
@media (max-width:760px){
 html.pb .s2tabs{background:#fff;border-top:1px solid var(--pb-ln);box-shadow:0 -4px 18px rgba(15,37,87,.08)}
 html.pb .s2tabs a{color:var(--pb-nv)}
 html.pb .s2tabs a.on{background:var(--pb-sky);color:var(--pb-nv)}
}
/* ---------- student non-Campus pages (never .s2cam) ---------- */
html.pb:not(.pb-cam) .s2m{background-color:var(--pb-bg);background-image:radial-gradient(rgba(15,37,87,.07) 1px,transparent 1.2px);background-size:22px 22px}
html.pb .s2m>div:not(.s2cam){font-family:Poppins,Inter,sans-serif;color:var(--pb-nv)}
html.pb .s2m>div:not(.s2cam) .s2hd h1{font-family:Poppins,Inter,sans-serif;font-weight:700;color:var(--pb-nv);letter-spacing:-.01em}
html.pb .s2m>div:not(.s2cam) .s2sub{color:var(--pb-mu)}
html.pb .pbhi{font-family:PBCaveat,cursive;font-size:1.65rem;line-height:1;color:var(--pb-bl);margin:0 0 .15rem;font-weight:600}
html.pb .s2m>div:not(.s2cam) .s2card{border-radius:22px;border:1px solid var(--pb-ln);box-shadow:var(--pb-sh);background-color:#fff}
html.pb .s2m>div:not(.s2cam) .s2asg{background:linear-gradient(135deg,var(--pb-sky),#fff 70%)}
html.pb .s2m>div:not(.s2cam) .s2school{background:var(--pb-lav)}
html.pb .s2m>div:not(.s2cam) .s2book{background:linear-gradient(180deg,var(--pb-peach),#fff 55%)}
html.pb .s2m>div:not(.s2cam) .s2res:nth-child(3n+1) .s2rb{background-color:var(--pb-sky)}
html.pb .s2m>div:not(.s2cam) .s2res:nth-child(3n+2) .s2rb{background-color:var(--pb-mint)}
html.pb .s2m>div:not(.s2cam) .s2res:nth-child(3n) .s2rb{background-color:var(--pb-lav)}
html.pb .s2m>div:not(.s2cam) .s2stats>*:nth-child(4n+1){background:var(--pb-sky)}
html.pb .s2m>div:not(.s2cam) .s2stats>*:nth-child(4n+2){background:var(--pb-mint)}
html.pb .s2m>div:not(.s2cam) .s2stats>*:nth-child(4n+3){background:var(--pb-lav)}
html.pb .s2m>div:not(.s2cam) .s2stats>*:nth-child(4n){background:var(--pb-peach)}
html.pb .s2m>div:not(.s2cam) .s2stats>*{border-radius:18px}
html.pb .s2m>div:not(.s2cam) .s2tabbar button{font-family:Poppins,Inter,sans-serif;border-radius:999px}
html.pb .s2m>div:not(.s2cam) .s2tabbar button.on{background:var(--pb-sky);color:var(--pb-nv)}
html.pb .s2m>div:not(.s2cam) .s2btn{border-radius:999px;font-family:Poppins,Inter,sans-serif}
html.pb .s2m>div:not(.s2cam) .s2srch,html.pb .s2m>div:not(.s2cam) .s2dd{border-radius:14px}
/* ---------- parent ---------- */
html.pb .p2{--nv:#0F2557;--ln:#E6ECF5;--mu:#5B6680;--gl:#E8F2FD;background-color:var(--pb-bg);background-image:radial-gradient(rgba(15,37,87,.07) 1px,transparent 1.2px);background-size:22px 22px;font-family:Poppins,Inter,sans-serif}
html.pb .p2side{background:#fff;border-right:1px solid var(--pb-ln)}
html.pb .p2side button{color:var(--pb-nv)!important;font-family:Poppins,Inter,sans-serif;border-radius:14px}
html.pb .p2side button svg{box-sizing:content-box;padding:.42rem;border-radius:.7rem;background:var(--pb-sky);color:var(--pb-nv);fill:currentColor;stroke:currentColor}
html.pb .p2side button:nth-of-type(2) svg{background:var(--pb-mint)}
html.pb .p2side button:nth-of-type(3) svg{background:var(--pb-lav)}
html.pb .p2side button.p2out svg{background:var(--pb-pink)}
html.pb .p2side button.on{background:var(--pb-sky)!important;box-shadow:none}
html.pb .p2side button.on svg{background:#fff}
html.pb .p2side button:hover:not(.on){background:var(--pb-bg)}
html.pb .p2logo .itl{--logo-main:#0F2557!important}
html.pb .p2acct{background:var(--pb-sky);color:var(--pb-nv);border-radius:999px;padding:.3rem .8rem;font-weight:500}
html.pb .p2h1{color:var(--pb-nv)}
html.pb .p2card,html.pb .p2kid,html.pb .p2row{border-radius:22px;border:1px solid var(--pb-ln);box-shadow:var(--pb-sh);background:#fff}
html.pb .p2btn{border-radius:999px;background:var(--pb-nv);font-family:Poppins,Inter,sans-serif}
html.pb .p2kn{background:var(--pb-sky);border-radius:16px;padding:12px 14px}
html.pb .p2chip{background:var(--pb-peach);border-radius:999px}
html.pb .p2ban{border-radius:22px}
html.pb .p2focus{background:var(--pb-lav);border-radius:18px}
html.pb .p2tabs a{border-radius:999px}
html.pb .p2tabs a.on{background:var(--pb-sky)}
html.pb .p2pill{border-radius:999px!important}
/* Happening now banner (existing V66 next-class banner, real data) */
html.pb .v66ban{border-radius:22px;border:1px solid var(--pb-ln);box-shadow:var(--pb-sh)}
html.pb .v66ban.v66-live{background:var(--pb-nv)!important;color:#fff!important;border-color:var(--pb-nv)}
html.pb .v66ban.v66-live *{color:#fff}
html.pb .v66ban.v66-live .v66chip{background:rgba(255,255,255,.14)!important}
html.pb .v66ban a,html.pb .v66ban button{border-radius:999px}
html.pb .v66ban.v66-live a,html.pb .v66ban.v66-live button{background:var(--pb-bl)!important;color:#fff!important;border:0}
/* stat cards (parent overview, real data from /parent/overview) */
.pbstats{display:none}
html.pb .pbstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 14px}
html.pb .pbst{border-radius:22px;padding:16px 18px;color:var(--pb-nv)}
html.pb .pbst:nth-child(1){background:var(--pb-sky)}html.pb .pbst:nth-child(2){background:var(--pb-peach)}html.pb .pbst:nth-child(3){background:var(--pb-mint)}
html.pb .pbst span{display:block;font-size:13px;color:var(--pb-mu)}
html.pb .pbst b{display:block;font:700 24px/1.2 Poppins,Inter,sans-serif;margin:4px 0 2px}
html.pb .pbst i{font-style:normal;font-size:12.5px;color:var(--pb-mu)}
@media (max-width:760px){html.pb .pbstats{grid-template-columns:1fr;gap:10px}html.pb .pbst b{font-size:20px}}

/* v3 fixes (Oct 23): sidebar labels on one line; outline icons not filled; tab/menu bars evenly spaced edge to edge */
html.pb .p2side button{gap:11px;padding:0 10px;white-space:nowrap}
html.pb .p2side button svg:not(.f){fill:none}
html.pb .p2tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px}
html.pb .p2tabs a{text-align:center;padding-left:6px;padding-right:6px}
html.pb .s2m>div:not(.s2cam) .s2tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.3rem}
html.pb .s2m>div:not(.s2cam) .s2tabbar button{text-align:center}
@media (max-width:760px){
 html.pb .pbstats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 html.pb .pbst{padding:10px;border-radius:16px}
 html.pb .pbst b{font-size:16px} html.pb .pbst span{font-size:11.5px} html.pb .pbst i{font-size:10.5px;display:block;line-height:1.3}
 html.pb .p2side{justify-content:space-between}
 html.pb .p2side button{flex:1 1 0;justify-content:center;padding:0}
 html.pb .p2side .p2logo{flex:none;margin-right:6px}
}
