/* A+ Hub — "Book a session" in the family portal (inherits the portal's colours) */
.aphub-book{--b-teal:#12806b;--b-teal-soft:#e3f4ef}
.aphub-book h1{margin-bottom:4px}
.aphub-teachers{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.aphub-tcard{display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border:1px solid var(--a-line);border-radius:14px;background:#fff;text-decoration:none!important;color:var(--a-ink)!important;min-width:180px}
.aphub-tcard:hover{border-color:#b9bfd6}
.aphub-tcard.on{border-color:var(--a-navy);box-shadow:0 0 0 2px var(--a-navy) inset}
.aphub-tcard b{display:block;line-height:1.2}
.aphub-own{display:block;font-size:12px;color:var(--a-blue);font-weight:600}
.aphub-tav{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--a-navy);color:#fff;font-weight:800;font-size:14px;flex:none}
.aphub-tav-lg{width:54px;height:54px;font-size:18px;background:linear-gradient(135deg,var(--a-navy),var(--a-navy2))}
.aphub-tpanel{padding:0;overflow:hidden}
.aphub-thead{display:flex;gap:14px;align-items:flex-start;padding:18px 20px 14px}
.aphub-thead h2{margin:4px 0 4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.aphub-thead p{margin:0 0 4px}
.aphub-weeks{display:flex;gap:6px;padding:0 20px 12px;border-bottom:1px solid var(--a-line)}
.aphub-weeks a{padding:7px 14px;border-radius:20px;border:1px solid var(--a-line);font-weight:600;font-size:13.5px;text-decoration:none!important;color:var(--a-ink)!important}
.aphub-weeks a.on{background:var(--a-navy);border-color:var(--a-navy);color:#fff!important}
.aphub-days{padding:4px 20px 8px}
.aphub-day{display:flex;gap:16px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--a-line)}
.aphub-day:first-child{border-top:0}
.aphub-day.none{opacity:.6}
.aphub-dlabel{width:110px;flex:none;padding-top:7px}
.aphub-dlabel b{display:block;font-size:14.5px}
.aphub-dlabel span{font-size:13px;color:var(--a-mute)}
.aphub-times{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0;padding-top:2px}
.aphub-times .aplus-muted{padding-top:6px}
.aphub-time{display:inline-flex;align-items:center;justify-content:center;min-width:92px;min-height:40px;padding:0 14px;border-radius:10px;border:1px solid #a9dbcc;background:var(--b-teal-soft);color:#0d6a58!important;font-weight:700;font-size:14px;text-decoration:none!important;transition:transform .06s,background .1s}
.aphub-time:hover{background:#d2eee5;border-color:var(--b-teal)}
.aphub-time:active{transform:scale(.97)}
.aphub-time.on{background:var(--b-teal);border-color:var(--b-teal);color:#fff!important}
.aphub-confirm{margin:6px 20px 20px;padding:18px;border-radius:14px;background:#f6f8fc;border:1px solid var(--a-line);scroll-margin-top:90px}
.aphub-confirm[hidden]{display:none}
.aphub-confirm-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}
.aphub-confirm-top small{display:block;color:var(--a-mute);font-weight:600;font-size:12.5px}
.aphub-confirm-top b{display:block;font-size:20px;letter-spacing:-.3px;line-height:1.25}
.aphub-confirm .aplus-field em{font-style:normal;color:var(--a-mute);font-size:12.5px}
.aphub-x{background:none;border:0;font-size:26px;line-height:1;color:var(--a-mute);cursor:pointer;width:36px;height:36px;border-radius:8px}
.aphub-x:hover{background:#e9edf6}
.aphub-bookbtn{width:100%;min-height:50px;font-size:16px;font-weight:800;background:var(--b-teal)!important;border-color:var(--b-teal)!important;margin-bottom:8px}
.aphub-bookbtn:hover{background:#0d6a58!important}
.aphub-done{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;background:var(--a-greensoft);border:1px solid #b8e3cf;border-radius:14px;padding:16px 18px;margin-bottom:16px}
.aphub-done h2{margin:0 0 4px}
.aphub-done p{margin:0 0 4px}
.aphub-done-ic{width:42px;height:42px;border-radius:50%;background:var(--a-green);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:800;flex:none}
.aphub-done>div:nth-child(2){flex:1;min-width:200px}
.aphub-upcoming{margin-top:16px}
.aphub-upcoming form{margin:0}
@container aplus (max-width:560px){
  .aphub-day{flex-direction:column;gap:6px}
  .aphub-dlabel{width:auto;padding-top:0;display:flex;gap:8px;align-items:baseline}
  .aphub-time{flex:1 1 calc(33% - 8px);min-width:0}
  .aphub-days,.aphub-weeks{padding-left:14px;padding-right:14px}
  .aphub-confirm{margin:6px 14px 14px}
}

/* ---------- Bigger, easier-to-read text in the family portal ---------- */
.aplus{font-size:16.5px;line-height:1.55}
.aplus h1{font-size:30px}
.aplus h2{font-size:19px}
.aplus-sub{font-size:16.5px}
.aplus-btn{font-size:15.5px;min-height:44px}
.aplus-sm{font-size:14px;min-height:36px}
.aplus-nav a{font-size:16px;padding:11px 12px}
.aplus-li{font-size:16px}
.aplus small,.aplus .aplus-small{font-size:14px}
.aplus-chip{font-size:13px;padding:4px 11px}
.aplus input[type=text],.aplus input:not([type]),.aplus input[type=email],.aplus input[type=tel],.aplus input[type=number],.aplus input[type=password],.aplus select,.aplus textarea{font-size:16px;min-height:46px}
.aplus-field>span{font-size:15px}
.aplus-big{font-size:32px}
.aplus-tag{font-size:13.5px}

/* Status chips get icons */
.aplus-chip::before{display:inline-block;margin-right:5px;font-weight:800}
.aplus-c-green::before{content:"✓"}
.aplus-c-amber::before{content:"▸"}
.aplus-c-blue::before{content:"⚑"}
.aplus-c-red::before{content:"!"}
.aplus-c-grey::before{content:"•"}

/* Icons inside buttons and headings */
.aphub-ico{width:18px;height:18px;flex:none;vertical-align:-3px}
.aphub-time .aphub-ico{width:15px;height:15px;margin-right:5px;opacity:.75}
.aphub-bookbtn .aphub-ico{width:20px;height:20px;margin-right:6px}
.aphub-upcoming h2{display:flex;align-items:center;gap:8px}
.aphub-done-ic .aphub-ico{width:24px;height:24px}
.aphub-pad{padding:0 20px 14px}

/* Step bar: Teacher → Time → Confirm → Booked */
.aphub-stepbar{list-style:none;display:flex;margin:0 0 18px;padding:0;gap:0}
.aphub-stepbar li{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;font-size:14px;font-weight:600;color:var(--a-mute);text-align:center}
.aphub-stepbar li::before{content:"";position:absolute;top:21px;left:-50%;right:50%;height:3px;background:var(--a-line);z-index:0}
.aphub-stepbar li:first-child::before{display:none}
.aphub-stepbar li.done::before,.aphub-stepbar li.now::before{background:#12806b}
.aphub-sb-ic{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--a-line);color:var(--a-mute)}
.aphub-sb-ic .aphub-ico{width:20px;height:20px}
.aphub-stepbar li.done .aphub-sb-ic{background:#12806b;border-color:#12806b;color:#fff}
.aphub-stepbar li.now .aphub-sb-ic{border-color:#12806b;color:#12806b;box-shadow:0 0 0 5px #e3f4ef}
.aphub-stepbar li.now{color:var(--a-ink)}

/* Make-up banner */
.aphub-makeup{display:flex;gap:12px;align-items:center;background:#fff4d9;border:1px solid #f1d9a6;border-radius:14px;padding:14px 16px;margin-bottom:16px}
.aphub-makeup b{display:block;font-size:17px}
.aphub-makeup small{color:#7a5300}
.aphub-mk-ic{width:42px;height:42px;border-radius:12px;background:#f4b52a;color:#16245a;display:grid;place-items:center;flex:none}
.aphub-mk-ic .aphub-ico{width:22px;height:22px}

/* Waitlist */
.aphub-wait{margin-top:16px}
.aphub-wait>summary{list-style:none;display:flex;gap:12px;align-items:center;cursor:pointer}
.aphub-wait>summary::-webkit-details-marker{display:none}
.aphub-wait>summary b{display:block;font-size:17px}
.aphub-wait>summary small{display:block;color:var(--a-mute)}
.aphub-wait-ic{width:42px;height:42px;border-radius:12px;background:var(--a-bluesoft);color:var(--a-blue);display:grid;place-items:center;flex:none}
.aphub-wait-ic .aphub-ico{width:21px;height:21px}
.aphub-wait[open]>summary{margin-bottom:12px}
.aphub-waitform{margin-top:10px}
.aphub-dayck{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.aphub-dayck label{cursor:pointer}
.aphub-dayck input{position:absolute;opacity:0;pointer-events:none}
.aphub-dayck span{display:inline-block;padding:9px 14px;border-radius:10px;border:1px solid var(--a-line);font-weight:700;font-size:15px;background:#fff}
.aphub-dayck input:checked+span{background:var(--a-navy);border-color:var(--a-navy);color:#fff}
.aphub-dayck input:focus-visible+span{outline:3px solid var(--a-gold);outline-offset:2px}
.aphub-waitform .aplus-row{align-items:flex-end}
.aphub-waitform .aplus-field{margin-bottom:0;min-width:130px}
.aphub-waitform .aplus-btn .aphub-ico{margin-right:6px}

/* Calendar feed (portal) */
.aphub-feed{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.aphub-feed b{display:block;font-size:16.5px}
.aphub-feed small{display:block;color:var(--a-mute)}
.aphub-feed-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#e3f4ef;color:#12806b;flex:none}
.aphub-feed-ic .aphub-ico{width:22px;height:22px}
.aphub-grow{flex:1;min-width:180px}

/* Learning path */
.aphub-path{margin-bottom:16px}
.aphub-path-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:12px}
.aphub-path-head h2{margin:0 0 2px}
.aphub-path-head p{margin:0}
.aphub-legend2{display:flex;gap:12px;flex-wrap:wrap;font-size:13.5px;color:var(--a-mute)}
.aphub-legend2 span{display:inline-flex;align-items:center;gap:5px}
.aphub-legend2 .aphub-ico{width:16px;height:16px;padding:2px;border-radius:50%;box-sizing:content-box}
.aphub-track{list-style:none;margin:0;padding:6px 0 4px;display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:14px 0;counter-reset:t}
.aphub-track li{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:0 4px}
.aphub-track li::before{content:"";position:absolute;top:22px;left:-50%;right:50%;height:4px;background:var(--a-line);z-index:0}
.aphub-track li:first-child::before{display:none}
.aphub-track li.s-m::before,.aphub-track li.s-p::before{background:#1a8a5d}
.aphub-node{position:relative;z-index:1;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--a-line);color:#9aa0b8}
.aphub-node .aphub-ico{width:20px;height:20px}
.s-m .aphub-node,.aphub-legend2 .s-m .aphub-ico{background:#1a8a5d;border-color:#1a8a5d;color:#fff}
.s-p .aphub-node,.aphub-legend2 .s-p .aphub-ico{background:#f4b52a;border-color:#f4b52a;color:#16245a}
.s-p .aphub-node{box-shadow:0 0 0 6px #fff4d9}
.s-n .aphub-node,.aphub-legend2 .s-n .aphub-ico{background:var(--a-bluesoft);border-color:#b9c9f5;color:var(--a-blue)}
.aphub-legend2 .s-o .aphub-ico{background:#f3f4f8;color:#9aa0b8}
.aphub-tname{font-size:13.5px;line-height:1.3;color:var(--a-mute);max-width:120px}
.s-m .aphub-tname,.s-p .aphub-tname{color:var(--a-ink);font-weight:600}
.aphub-dots{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--a-line);font-size:15px}
.aphub-dots-l{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.aphub-dotrow{display:inline-flex;gap:6px}
.aphub-dotrow i{width:18px;height:18px;border-radius:50%;background:var(--a-soft);border:2px solid var(--a-line)}
.aphub-dotrow i.on{background:#f4b52a;border-color:#f4b52a}

/* Assessment page */
.aphub-assess{max-width:920px;margin:0 auto}
.aphub-assess .ap-pagehead{margin-bottom:16px}

@container aplus (max-width:560px){
  .aphub-stepbar li span:last-child{font-size:12px}
  .aphub-sb-ic{width:38px;height:38px}
  .aphub-stepbar li::before{top:18px}
  .aphub-track{grid-template-columns:repeat(3,minmax(0,1fr))}
  .aphub-track li:nth-child(3n+1)::before{display:none}
}

/* Homework, badges and tests (v1.3) */
.aphub-ptests h2,.aphub-phw h2,.aphub-badges h2{display:flex;align-items:center;gap:8px}
.aphub-ptests h2 .aphub-ico,.aphub-phw h2 .aphub-ico,.aphub-badges h2 .aphub-ico{width:22px;height:22px;color:#1a8a5d}
.aphub-ptests ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.aphub-ptests li{display:flex;align-items:center;gap:14px;padding:10px 12px;border:1px solid var(--a-line,#e2e6f0);border-radius:14px}
.aphub-ptests li b{display:block;font-size:16px}.aphub-ptests li span{color:#5f6785;font-size:14px}
.aphub-ptests .aphub-cd{flex:none;width:58px;height:58px;border-radius:14px;display:grid;place-content:center;text-align:center;background:#efeafc;color:#6a4bc4;line-height:1}
.aphub-ptests .aphub-cd b{font-size:23px;font-weight:800}.aphub-ptests .aphub-cd small{font-size:11px;font-weight:700;text-transform:uppercase}
.aphub-ptests li.soon{border-color:#f2c3bd;background:#fff8f7}.aphub-ptests li.soon .aphub-cd{background:#fdeae8;color:#c03a2f}
.aphub-phw-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.aphub-phw-bar{height:10px;border-radius:6px;background:#eef1f4;overflow:hidden;margin:10px 0 12px}
.aphub-phw-bar i{display:block;height:100%;background:linear-gradient(90deg,#1fa588,#1a8a5d);border-radius:6px;transition:width .3s}
.aphub-phw ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.aphub-phw form{margin:0}
.aphub-hwbtn{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid #dfe4ec;border-radius:14px;background:#fff;font:inherit;font-size:16px;text-align:left;cursor:pointer;color:inherit}
.aphub-hwbtn:hover{border-color:#1a8a5d}
.aphub-hwbox{flex:none;width:28px;height:28px;border-radius:8px;border:2px solid #c3cad6;display:grid;place-items:center;color:#fff}
.aphub-hwbox .aphub-ico{width:18px;height:18px}
.aphub-hwbtn.on{background:#f2faf6;border-color:#bfe3d2;color:#5f6785}
.aphub-hwbtn.on span:last-child{text-decoration:line-through}
.aphub-hwbtn.on .aphub-hwbox{background:#1a8a5d;border-color:#1a8a5d}
.aphub-phw-yay{display:flex;align-items:center;gap:8px;font-weight:700;color:#1a8a5d;margin:12px 0 0}
.aphub-phw-yay .aphub-ico{width:20px;height:20px}
.aphub-small{font-size:14px}
.aphub-badgerow{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.aphub-badge2{display:flex;flex-direction:column;align-items:center;gap:6px;width:96px;text-align:center}
.aphub-badge2-ic{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:inset 0 -3px 0 rgba(0,0,0,.15),0 2px 6px rgba(0,0,0,.08)}
.aphub-badge2-ic .aphub-ico{width:26px;height:26px}
.aphub-badge2.b0 .aphub-badge2-ic{background:linear-gradient(135deg,#f7c948,#e0a100)}
.aphub-badge2.b1 .aphub-badge2-ic{background:linear-gradient(135deg,#4fd1b2,#12806b)}
.aphub-badge2.b2 .aphub-badge2-ic{background:linear-gradient(135deg,#7da2ff,#2d5bd0)}
.aphub-badge2.b3 .aphub-badge2-ic{background:linear-gradient(135deg,#b49cf2,#6a4bc4)}
.aphub-badge2.b4 .aphub-badge2-ic{background:linear-gradient(135deg,#ff9d8a,#d6533f)}
.aphub-badge2-t{font-size:13px;font-weight:600;line-height:1.25}
.aphub-ptests,.aphub-phw,.aphub-badges{margin-bottom:16px}

/* Practice quizzes (v1.4) */
.aphub-eyebrow2{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#1a8a5d;margin:0 0 4px}
.aphub-qlist h2,.aphub-qpick h2,.aphub-pmarks h2,.aphub-refcard h2,.aphub-revcard h2{display:flex;align-items:center;gap:8px}
.aphub-qlist h2 .aphub-ico,.aphub-qpick h2 .aphub-ico,.aphub-pmarks h2 .aphub-ico,.aphub-revcard h2 .aphub-ico{width:22px;height:22px;color:#1a8a5d}
.aphub-qlist,.aphub-qpick,.aphub-pmarks,.aphub-refcard,.aphub-revcard,.aplus .aphub-q,.aphub-qresult,.aphub-qrev,.aphub-placecard{margin-bottom:16px}
.aphub-qlist ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.aphub-qlist li{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid #e2e6f0;border-radius:14px}
.aphub-qlist li>div{flex:1;min-width:0}.aphub-qlist li b{display:block;font-size:16px}.aphub-qlist li span{font-size:14px}
.aphub-qic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#fff6dd;color:#a36b00;flex:none}
.aphub-qic .aphub-ico{width:22px;height:22px}
.aphub-qscore{flex:none;width:56px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:16px}
.aphub-qscore.is-good{background:#e2f5ec;color:#1a8456}.aphub-qscore.is-mid{background:#fff2db;color:#a35f00}.aphub-qscore.is-low{background:#fdeae8;color:#c03a2f}
.aphub-qchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.aphub-qchips form{margin:0}
.aphub-qchip{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:24px;border:1.5px solid #dfe4ec;background:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer;color:inherit}
.aphub-qchip:hover{border-color:#1a8a5d}
.aphub-qchip .aphub-ico{width:16px;height:16px;padding:2px;border-radius:50%;box-sizing:content-box;background:#eef1f4;color:#9aa0b8}
.aphub-qchip.s-m .aphub-ico{background:#1a8a5d;color:#fff}.aphub-qchip.s-p .aphub-ico{background:#2d5bd0;color:#fff}.aphub-qchip.s-n .aphub-ico{background:#fff2db;color:#a35f00}
.aplus .aphub-q{border:1px solid #e2e6f0;padding:18px 20px;margin:0 0 16px}
.aphub-q legend{display:flex;gap:12px;align-items:flex-start;font-size:18px;font-weight:700;line-height:1.45;padding:0;float:left;width:100%;margin-bottom:14px}
.aphub-q legend+*{clear:both}
.aphub-qn{flex:none;width:32px;height:32px;border-radius:50%;background:#f1f3f8;display:grid;place-items:center;font-size:15px;font-weight:800}
.aphub-q.is-answered .aphub-qn{background:#1a8a5d;color:#fff}
.aphub-qopts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.aphub-qopt{display:flex;align-items:center;gap:10px;padding:13px 14px;border:1.5px solid #dfe4ec;border-radius:12px;cursor:pointer;font-size:17px}
.aphub-qopt:has(input:checked){border-color:#1a8a5d;background:#f2faf6;font-weight:700}
.aphub-qopt input{width:20px;height:20px;accent-color:#1a8a5d}
.aphub-qnum{display:flex;align-items:center;gap:10px}
.aphub-qnum input{max-width:240px;font-size:20px;padding:12px 14px;border:1.5px solid #cfd5e3;border-radius:12px}
.aphub-qnum input:focus{border-color:#1a8a5d;outline:none}
.aphub-qnum span{font-size:17px;color:#5f6785}
.aphub-qsubmit{display:flex;justify-content:flex-end;align-items:center;gap:14px;flex-wrap:wrap;margin:6px 0 30px}
.aphub-qresult{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.aphub-qresult h2{margin:0 0 4px}
.aphub-bigring .trk{fill:none;stroke:#eef1f4;stroke-width:10}.aphub-bigring .val{fill:none;stroke:#1a8a5d;stroke-width:10;stroke-linecap:round}
.aphub-qresult.is-mid .aphub-bigring .val{stroke:#e0a100}.aphub-qresult.is-low .aphub-bigring .val{stroke:#d6533f}
.aphub-bigring text{font-size:22px;font-weight:800;fill:#14193a}
.aphub-qrev{border-left:5px solid #1a8a5d}.aphub-qrev.no{border-left-color:#d6533f}
.aphub-qrev-h{display:flex;gap:10px;align-items:flex-start;font-size:16px}
.aphub-qmark{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e2f5ec;color:#1a8456}
.aphub-qrev.no .aphub-qmark{background:#fdeae8;color:#c03a2f}
.aphub-qmark .aphub-ico{width:16px;height:16px}
.aphub-qexp{display:flex;gap:8px;align-items:flex-start;background:#f6f8fb;border-radius:10px;padding:10px 12px;color:#3a4260}
.aphub-qexp .aphub-ico{width:18px;height:18px;color:#e0a100;flex:none;margin-top:2px}
.aphub-placecard{display:flex;gap:16px;align-items:flex-start}
.aphub-placecard>.aphub-ico{width:44px;height:44px;padding:10px;border-radius:12px;background:#fff6dd;color:#a36b00;box-sizing:border-box;flex:none}
.aphub-placecard h3{margin:0 0 4px}
.aphub-leadquiz{max-width:780px;margin:30px auto;padding:0 16px}

/* School marks */
.aphub-pmarks-win{display:flex;align-items:center;gap:8px;background:#f2faf6;color:#1a8456;border-radius:12px;padding:10px 14px;font-size:16px}
.aphub-pmarks-win .aphub-ico{width:20px;height:20px}
.aphub-markchart{width:100%;height:auto;margin:8px 0}
.aphub-markchart polyline{fill:none;stroke:#2d5bd0;stroke-width:3;stroke-linejoin:round}
.aphub-markchart circle{fill:#fff;stroke:#2d5bd0;stroke-width:3}
.aphub-markchart .grid{stroke:#eef1f4}.aphub-markchart .ax{font-size:11px;fill:#8a91a8}
.aphub-markchart .start{stroke:#1a8a5d;stroke-dasharray:4 4;stroke-width:2}.aphub-markchart .startl{font-size:11px;fill:#1a8a5d;font-weight:700}
.aphub-pmarklist{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}
.aphub-pmarklist li{display:flex;gap:12px;align-items:baseline;font-size:15px}
.aphub-pmarklist li b{width:60px;font-size:17px}.aphub-pmarklist li span:nth-child(2){flex:1}
.aphub-pmarkadd summary{cursor:pointer;font-weight:700;color:#1a8a5d;margin:10px 0}
.aphub-pmarkadd form{display:grid;gap:10px}
.aphub-fields2p{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}

/* Refer & review */
.aphub-refhead{display:flex;gap:16px;align-items:center}
.aphub-refgift{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,#f7c948,#e0a100);color:#fff;flex:none}
.aphub-refgift .aphub-ico{width:28px;height:28px}
.aphub-refhead h2{margin:0 0 2px;font-size:24px}
.aphub-refsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.aphub-refsteps div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;font-size:14px;font-weight:600;color:#3a4260}
.aphub-refsteps b{width:34px;height:34px;border-radius:50%;background:#14193a;color:#fff;display:grid;place-items:center}
.aphub-reflink{display:flex;gap:8px}
.aphub-reflink input{flex:1;min-width:0;font-size:15px;padding:12px;border:1.5px solid #cfd5e3;border-radius:12px;background:#f8f9fc}
.aphub-share{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.aphub-reflist{margin-top:18px;border-top:1px solid #eef1f4;padding-top:12px}
.aphub-reflist h3{margin:0 0 8px}
.aphub-reflist ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.aphub-reflist li{display:flex;align-items:center;gap:10px;font-size:15px}
.aphub-reflist li .aphub-ico{width:20px;height:20px;color:#9aa0b8}.aphub-reflist li.is-rewarded .aphub-ico{color:#1a8a5d}
.aphub-reflist li span{color:#5f6785}
.aphub-refhero{max-width:640px;margin:40px auto;text-align:center;padding:36px 28px}
.aphub-refhero .aphub-refgift{margin:0 auto 14px}
.aphub-refcta{justify-content:center;margin:20px 0 12px;gap:10px}
.aphub-reffield{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.aphub-rate{display:inline-flex;flex-direction:row-reverse;gap:4px;border:0;padding:0;margin:0 0 12px}
.aphub-rate legend{display:none}
.aphub-rate input{position:absolute;opacity:0;pointer-events:none}
.aphub-rate label{font-size:38px;line-height:1;color:#d7dbe6;cursor:pointer;transition:color .1s}
.aphub-rate label:hover,.aphub-rate label:hover~label,.aphub-rate input:checked~label{color:#f2b400}
.aphub-rate input:focus-visible+label{outline:2px solid #1a8a5d;border-radius:4px}
.aphub-revform{display:grid;gap:12px}
.aphub-revform textarea,.aphub-revform select{font:inherit;font-size:16px;padding:12px;border:1.5px solid #cfd5e3;border-radius:12px}
.aphub-revconsent{display:flex;gap:8px;align-items:center;font-size:15px}
.aphub-stars{display:inline-flex;gap:2px;font-size:var(--s,18px);line-height:1}
.aphub-stars i{font-style:normal;color:#d7dbe6}.aphub-stars i.on{color:#f2b400}
.aphub-revdone blockquote{margin:10px 0;font-size:17px;line-height:1.6;border-left:4px solid #f2b400;padding-left:14px}
.aphub-gstep{margin-top:16px;padding:16px;border:1.5px solid #dfe4ec;border-radius:14px;display:grid;gap:12px;justify-items:start}
.aphub-gstep.is-fresh{border-color:#f2b400;background:#fffbef}
.aphub-gstep-h{display:flex;gap:12px;align-items:flex-start}
.aphub-gic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:20px;color:#fff;background:conic-gradient(#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);flex:none}
.aphub-gstep b{font-size:17px}
@media (max-width:600px){.aphub-refsteps{grid-template-columns:1fr}.aphub-reflink{flex-direction:column}}
.aplus-btn.aplus-btn-gold{background:var(--a-gold,#f2b400);border-color:var(--a-gold,#f2b400);color:var(--a-navy,#14193a)!important}
.aplus-btn.aplus-btn-gold:hover{filter:brightness(.96)}
.aplus-btn.aplus-btn-lg{padding:12px 20px;font-size:16px;min-height:48px}

/* My plan, packs, classes (v1.5) */
.aphub-plancard,.aphub-packs,.aphub-reqlist,.aphub-event,.aphub-cancelcard,.aphub-done2{margin-bottom:16px}
.aphub-plancard-h{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;flex-wrap:wrap}
.aphub-plancard h2{margin:0 0 4px;font-size:26px}
.aphub-planstatus{padding:5px 12px;border-radius:20px;font-weight:700;font-size:14px;background:#e2f5ec;color:#1a8456}
.aphub-planstatus.is-paused{background:#fff2db;color:#a35f00}.aphub-planstatus.is-withdrawn{background:#eef1f4;color:#5f6785}
.aphub-plancredit{display:flex;gap:8px;align-items:center;background:#fffbef;border-radius:12px;padding:10px 14px;font-size:15px}
.aphub-plancredit .aphub-ico{width:20px;height:20px;color:#e0a100;flex:none}
.aphub-planactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.aphub-subtle{color:#8a91a8!important}
.aphub-planform{display:grid;gap:12px}
.aphub-planform textarea,.aphub-planform select,.aphub-planform input:not([type=radio]){font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid #cfd5e3;border-radius:12px}
.aphub-packs h2{display:flex;gap:8px;align-items:center}.aphub-packs h2 .aphub-ico{width:22px;height:22px;color:#e0a100}
.aphub-packgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:12px}
.aphub-pack{display:flex;flex-direction:column;gap:6px;padding:16px;border:1.5px solid #f2d27a;border-radius:16px;background:#fffdf5}
.aphub-pack b{font-size:17px}.aphub-packprice{font-size:28px;font-weight:800;color:#14193a}
.aphub-pack form{margin-top:6px}
.aphub-reqlist ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.aphub-reqlist li{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:10px 12px;border:1px solid #e2e6f0;border-radius:12px;font-size:15px}
.aphub-reqlist li span{flex:1;color:#5f6785}
.aphub-reqlist em{font-style:normal;font-weight:700;font-size:13px;padding:3px 10px;border-radius:20px;background:#eef1f4}
.aphub-reqlist em.is-pending{background:#fff2db;color:#a35f00}.aphub-reqlist em.is-approved,.aphub-reqlist em.is-done{background:#e2f5ec;color:#1a8456}
.aphub-reqlist form{margin:0}
.aphub-linkbtn2{background:none;border:0;color:#c03a2f;text-decoration:underline;cursor:pointer;font:inherit;font-size:14px;padding:0}
.aphub-reasons{display:grid;gap:8px}
.aphub-reason{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1.5px solid #dfe4ec;border-radius:12px;cursor:pointer;font-size:16px}
.aphub-reason:has(input:checked){border-color:#14193a;background:#f6f7fb;font-weight:600}
.aphub-saveoffer{background:#f2faf6;border:1.5px solid #bfe3d2;border-radius:12px;padding:12px 14px;font-size:15px}
.aphub-event-h{display:flex;justify-content:space-between;gap:10px;align-items:center}
.aphub-event-k{font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#6a4bc4}
.aphub-event-seats{font-size:13px;font-weight:700;padding:3px 10px;border-radius:20px;background:#e2f5ec;color:#1a8456}
.aphub-event-seats.is-full{background:#fdeae8;color:#c03a2f}
.aphub-event h2{margin:8px 0 4px}
.aphub-event-when{display:flex;gap:6px;align-items:center;font-weight:600;margin:0 0 4px}
.aphub-event-when .aphub-ico{width:18px;height:18px;color:#1a8a5d}
.aphub-event-f{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #eef1f4;padding-top:12px;margin-top:10px}
.aphub-event-price{font-size:24px;font-weight:800}
.aphub-evpick{display:flex;gap:8px;align-items:center}
.aphub-evpick select{font:inherit;padding:9px 10px;border:1.5px solid #cfd5e3;border-radius:10px}
.aphub-evreg{display:flex;gap:6px;align-items:center;font-size:14px;font-weight:600;flex-basis:100%}
.aphub-evreg .aphub-ico{width:16px;height:16px}.aphub-evreg.is-paid{color:#1a8456}.aphub-evreg.is-pending{color:#a35f00}.aphub-evreg.is-waitlist{color:#2d5bd0}
.aphub-evform{display:grid;gap:12px}
.aphub-evform input{font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid #cfd5e3;border-radius:12px}
.aphub-done2{display:flex;gap:14px;align-items:center}
.aphub-done2>.aphub-ico{width:44px;height:44px;padding:10px;border-radius:50%;background:#e2f5ec;color:#1a8456;box-sizing:border-box}
.aphub-done2 h2{margin:0}
.aphub-classes{max-width:860px;margin:30px auto;padding:0 16px}

/* App card, student home, streaks (v1.6) */
.aphub-appcard{display:flex;align-items:center;gap:14px;margin-bottom:16px;border:1.5px solid #f2d27a;background:#fffdf5}
.aphub-appic img{width:48px;height:48px;border-radius:12px;display:block}
.aphub-appcard>div:nth-child(2){flex:1;min-width:0}
.aphub-appbtns{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.aphub-x2{background:none;border:0;font-size:24px;color:#8a91a8;cursor:pointer;padding:0 4px}
.aphub-streak{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.aphub-streak-i{flex:1 1 110px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e6f0;border-radius:14px;padding:10px 12px}
.aphub-streak-i b{font-size:20px}.aphub-streak-i span:last-child{color:#5f6785;font-size:13px}
.aphub-streak .aphub-flame{filter:grayscale(1);opacity:.5}.aphub-streak .aphub-flame.on{filter:none;opacity:1}
.aphub-streak.is-big .aphub-streak-i{padding:14px 16px}.aphub-streak.is-big b{font-size:28px}.aphub-streak.is-big .aphub-streak-i>span:first-child{font-size:26px}
.aphub-streak-tip{flex-basis:100%;margin:0;color:#a35f00;font-weight:600;font-size:14px}
.aphub-studenthome{max-width:900px;margin:24px auto;padding:0 16px}
.aphub-sh-top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px}
.aphub-sh-top h1{margin:0;font-size:34px}
.aphub-logincard h2{display:flex;gap:8px;align-items:center}.aphub-logincard h2 .aphub-ico{width:22px;height:22px;color:#1a8a5d}
.aphub-loginform{display:grid;gap:10px}
.aphub-loginform input{font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid #cfd5e3;border-radius:12px}
.aphub-row2{display:flex;gap:8px;flex-wrap:wrap}
.aphub-privacy h2{display:flex;gap:8px;align-items:center}.aphub-privacy h2 .aphub-ico{width:22px;height:22px;color:#1a8a5d}
.aphub-privacy form{display:grid;gap:8px;margin:0}
.aphub-consent{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid #e2e6f0;border-radius:12px;cursor:pointer}
.aphub-consent input{margin-top:4px;width:18px;height:18px;accent-color:#1a8a5d}
.aphub-consent b{display:block;font-size:15px}.aphub-consent small{color:#5f6785;font-size:13px}
.aphub-datarow{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #eef1f4}
.aphub-datarow form{margin:0}

/* Confidence check-in, quiz self-rating and printable reports (portal) */
.aphub-selfconf ul{list-style:none;margin:10px 0;padding:0}
.aphub-selfconf li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eef0f6}
.aphub-faces{display:flex;gap:4px;flex-shrink:0}
.aphub-faces label{cursor:pointer}.aphub-faces input{position:absolute;opacity:0;pointer-events:none}
.aphub-faces span,.aphub-faces button{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:2px solid transparent;background:#f4f5f9;font-size:20px;line-height:1;filter:grayscale(.6);opacity:.75;transition:transform .12s,filter .12s,opacity .12s;cursor:pointer;padding:0}
.aphub-faces label:hover span,.aphub-faces button:hover{filter:none;opacity:1;transform:scale(1.08)}
.aphub-faces input:checked+span,.aphub-faces button.on{filter:none;opacity:1;border-color:#F2B705;background:#fff6d6}
.aphub-faces input:focus-visible+span{outline:2px solid #2f57c9;outline-offset:2px}
.aphub-faces-key{margin:0 0 10px}
.aphub-quizconf{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 12px;padding:10px 12px;background:#fffbea;border-radius:12px}
.aphub-quizconf>span{font-weight:700;font-size:14px}
.aphub-repform{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.aphub-repform .aplus-field{margin:0;min-width:180px}
.aphub-repbtns{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:560px){.aphub-selfconf li{flex-direction:column;align-items:flex-start}.aphub-faces span,.aphub-faces button{width:44px;height:44px}}

/* Roomier family portal: wider page and slightly larger text */
body:has(.aplus-portal) .ap-wrap{max-width:1440px}
.aplus-portal{zoom:1.1}
.aplus-portal .aplus-shell{grid-template-columns:250px minmax(0,1fr);gap:28px}
@media (max-width:1100px){.aplus-portal{zoom:1.04}}
@media (max-width:760px){.aplus-portal{zoom:1}}

/* "Add a brother or sister" */
.aphub-addkid{display:flex;align-items:center;gap:12px;margin:14px 0 6px;padding:12px 14px;border:2px dashed #F2B705;border-radius:14px;background:#FFFBEA;color:#14193a!important;text-decoration:none!important;transition:background .15s,border-color .15s,transform .15s}
.aphub-addkid:hover{background:#FFF3C4;border-style:solid;transform:translateY(-1px)}
.aphub-addkid-ic{flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#F2B705;color:#14193a;display:grid;place-items:center;font-weight:800;font-size:22px;line-height:1}
.aphub-addkid b{display:block;font-size:15px;line-height:1.25}
.aphub-addkid small{display:block;color:#7a5a00;font-size:12.5px;font-weight:600;margin-top:2px}
.aphub-addkid-card{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:linear-gradient(135deg,#FFFBEA,#FFF3C4);border:1px solid #F5DC86}
.aphub-addkid-art{font-size:40px;line-height:1}
.aphub-addkid-txt{flex:1;min-width:240px}
.aphub-addkid-txt h2{margin:0 0 4px}
.aphub-addkid-txt p{margin:0;color:#4a4a3a}
.aplus-card.aphub-path{overflow:hidden}
