/* A+ Math Academy Portal — front end. Everything is scoped under .aplus so the theme is untouched. */
.aplus{--a-navy:#16245a;--a-navy2:#24387f;--a-gold:#f4b52a;--a-goldsoft:#fff4d9;--a-bg:#f4f6fb;--a-ink:#141a33;--a-mute:#5f6785;--a-line:#e2e6f0;--a-green:#1a8a5d;--a-greensoft:#e3f6ee;--a-amber:#9a6200;--a-ambersoft:#fff1d6;--a-red:#c0362c;--a-redsoft:#fde7e5;--a-blue:#2f57c9;--a-bluesoft:#e8eefd;--a-soft:#eef1fa;
  color:var(--a-ink);font-size:15px;line-height:1.5;container-type:inline-size;container-name:aplus}
/* Portal and sign-up break out of narrow theme columns, up to 1160px, centred on the page. */
.aplus-portal,.aplus-register{width:min(1160px,calc(100vw - 32px));max-width:none!important;margin-left:calc(50% - min(580px,50vw - 16px))!important;margin-right:0!important}
.aplus-register{width:min(920px,calc(100vw - 32px));margin-left:calc(50% - min(460px,50vw - 16px))!important}
.aplus-enquiry,.aplus-login{max-width:640px}
.aplus *,.aplus *::before,.aplus *::after{box-sizing:border-box}
.aplus h1{font-size:26px;margin:0 0 4px;letter-spacing:-.3px;line-height:1.2}
.aplus h2{font-size:17px;margin:0 0 12px}
.aplus h3{font-size:16px;margin:22px 0 10px}
.aplus a{color:var(--a-navy2)}
.aplus p{margin:0 0 12px}
.aplus-sub{color:var(--a-mute);margin:0 0 20px}
.aplus-muted{color:var(--a-mute)}
.aplus-small{font-size:13px}
.aplus-green{color:var(--a-green)}.aplus-red{color:var(--a-red)}
.aplus-mt{margin-top:16px}.aplus-mb{margin-bottom:14px}
.aplus-grid{display:grid;gap:16px}
.aplus-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.aplus-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.aplus-card{background:#fff;border:1px solid var(--a-line);border-radius:14px;padding:20px}
.aplus-hero{background:linear-gradient(135deg,var(--a-navy),var(--a-navy2));color:#fff;border:0}
.aplus-hero .aplus-muted{color:rgba(255,255,255,.78)}
.aplus-big{font-size:28px;font-weight:800;letter-spacing:-.5px;margin:6px 0 2px;line-height:1.2}
.aplus-big small{font-size:13px;font-weight:600;color:var(--a-mute)}
.aplus-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.aplus-between{justify-content:space-between}
.aplus-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--a-line);background:#fff;color:var(--a-ink)!important;padding:9px 15px;border-radius:9px;font-weight:600;font-size:14px;line-height:1.2;text-decoration:none!important;cursor:pointer;font-family:inherit;min-height:40px}
.aplus-btn:hover{border-color:#b9bfd6}
.aplus-btn:focus-visible,.aplus a:focus-visible,.aplus input:focus-visible,.aplus select:focus-visible,.aplus textarea:focus-visible{outline:3px solid var(--a-gold);outline-offset:2px}
.aplus-pri{background:var(--a-navy);border-color:var(--a-navy);color:#fff!important}
.aplus-pri:hover{background:var(--a-navy2)}
.aplus-gold{background:var(--a-gold);border-color:var(--a-gold);color:var(--a-navy)!important}
.aplus-ghost{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3);color:#fff!important}
.aplus-sm{padding:6px 11px;font-size:13px;min-height:34px}
.aplus-wide{width:100%;margin-top:6px}
.aplus-chip{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;white-space:nowrap}
.aplus-c-green{background:var(--a-greensoft);color:var(--a-green)}
.aplus-c-amber{background:var(--a-ambersoft);color:var(--a-amber)}
.aplus-c-red{background:var(--a-redsoft);color:var(--a-red)}
.aplus-c-blue{background:var(--a-bluesoft);color:var(--a-blue)}
.aplus-c-grey{background:var(--a-soft);color:var(--a-mute)}
.aplus-list{list-style:none;margin:0;padding:0}
.aplus-li{display:flex;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--a-line);flex-wrap:wrap}
.aplus-li:first-child{border-top:0}
.aplus-top{align-items:flex-start;flex-wrap:nowrap}
.aplus-grow{flex:1;min-width:140px}
.aplus-num{text-align:right;font-variant-numeric:tabular-nums}
.aplus-li .aplus-num{width:22px;color:var(--a-mute);text-align:left}
.aplus-dot{width:9px;height:9px;border-radius:50%;background:var(--a-navy2);flex:none}
.aplus-tag{display:inline-block;font-size:12px;background:var(--a-soft);padding:2px 8px;border-radius:6px;margin:0 4px 4px 0}
.aplus-note{background:var(--a-goldsoft);border-radius:10px;padding:10px 12px;font-size:14px}
.aplus-date{width:52px;flex:none;text-align:center;background:var(--a-soft);border-radius:10px;padding:6px 0;font-weight:700;font-size:12px;color:var(--a-navy)}
.aplus-date b{display:block;font-size:18px}
.aplus-ring{--p:0;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;flex:none;background:conic-gradient(var(--a-gold) calc(var(--p)*1%),var(--a-soft) 0)}
.aplus-ring span{width:64px;height:64px;border-radius:50%;background:#fff;display:grid;place-items:center;font-weight:800;font-size:18px;color:var(--a-navy)}
.aplus-notice{border-radius:10px;padding:12px 14px;margin:0 0 16px;font-weight:500}
.aplus-notice-success{background:var(--a-greensoft);color:#0f5c3d}
.aplus-notice-error{background:var(--a-redsoft);color:#8c231b}
.aplus-notice-info{background:var(--a-bluesoft);color:#1d3c91}
.aplus-preview{background:var(--a-gold);color:var(--a-navy);padding:10px 14px;border-radius:10px;margin-bottom:14px;font-weight:600}
/* shell */
.aplus-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:24px;align-items:start}
.aplus-side{background:#fff;border:1px solid var(--a-line);border-radius:14px;padding:16px 12px;display:flex;flex-direction:column;gap:12px;position:sticky;top:16px}
.aplus-who{display:flex;gap:10px;align-items:center;padding:2px 6px}
.aplus-who b{display:block;line-height:1.2}.aplus-who small{color:var(--a-mute)}
.aplus-av{width:38px;height:38px;border-radius:50%;background:var(--a-soft);color:var(--a-navy);display:grid;place-items:center;font-weight:700;flex:none}
.aplus-lbl{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--a-mute);font-weight:700;padding:0 6px}
.aplus-kids{display:flex;gap:6px;padding:0 6px;flex-wrap:wrap}
.aplus-kid{border:1px solid var(--a-line);background:#fff;padding:5px 12px;border-radius:20px;font-weight:600;text-decoration:none!important;color:var(--a-ink)!important;font-size:14px}
.aplus-kid.on{background:var(--a-navy);border-color:var(--a-navy);color:#fff!important}
.aplus-nav{display:flex;flex-direction:column;gap:2px}
.aplus-nav a{padding:10px 12px;border-radius:9px;font-weight:600;color:var(--a-mute)!important;display:flex;gap:10px;align-items:center;text-decoration:none!important;font-size:14px}
.aplus-nav a:hover{background:var(--a-soft);color:var(--a-ink)!important}
.aplus-nav a.on{background:var(--a-soft);color:var(--a-navy)!important}
.aplus-ic{width:18px;text-align:center}
.aplus-side-foot{border-top:1px solid var(--a-line);padding:12px 6px 0;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--a-mute)}
.aplus-main{min-width:0}
/* calendar */
.aplus-calwrap{overflow-x:auto}
.aplus-cal{display:grid;gap:6px;min-width:520px}
.aplus-cal-h{font-weight:700;font-size:12px;text-align:center;color:var(--a-mute);padding:4px}
.aplus-cal-h b{display:block;color:var(--a-ink);font-size:13px}
.aplus-cal-t{font-size:12px;color:var(--a-mute);text-align:right;padding:12px 6px 0 0}
.aplus-slot{display:block;border-radius:9px;padding:7px 8px;font-size:12px;min-height:46px;line-height:1.3;text-decoration:none!important;border:1px solid transparent}
.aplus-slot span{display:block;font-weight:500;opacity:.85}
.aplus-slot-open{background:var(--a-greensoft);color:var(--a-green)!important;border:1px dashed #9fd8bf;font-weight:700}
.aplus-slot-open:hover{border-style:solid}
.aplus-slot-off{background:repeating-linear-gradient(45deg,#f3f4f8,#f3f4f8 6px,#eceef5 6px,#eceef5 12px)}
.aplus-slot-mine{background:var(--a-navy);color:#fff;font-weight:700}
.aplus-slot-busy{background:var(--a-soft);color:var(--a-mute)}
.aplus-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--a-mute);margin-top:12px}
.aplus-legend span{display:flex;gap:6px;align-items:center}
.aplus-legend i{width:12px;height:12px;border-radius:4px;display:inline-block}
.l-mine{background:var(--a-navy)}.l-open{background:var(--a-greensoft);border:1px dashed #9fd8bf}.l-busy{background:var(--a-soft)}
/* forms */
.aplus-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.aplus-field>span{font-weight:600;font-size:14px}
.aplus-field em{font-weight:400;color:var(--a-mute);font-style:normal}
.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{width:100%;border:1px solid #cfd4e4;border-radius:9px;padding:10px 12px;background:#fff;font:inherit;color:inherit;min-height:42px}
.aplus input:focus,.aplus select:focus,.aplus textarea:focus{border-color:var(--a-navy2);box-shadow:0 0 0 3px var(--a-bluesoft);outline:none}
.aplus-narrow{max-width:360px}
.aplus-narrow-card{max-width:640px}
.aplus-check{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;cursor:pointer}
.aplus-check input{margin-top:4px;width:18px;height:18px;flex:none}
.aplus-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aplus-inline{display:inline}
.aplus-pills{display:flex;gap:8px;flex-wrap:wrap}
.aplus-pills-col{flex-direction:column;align-items:flex-start}
.aplus-pill{display:flex;align-items:center;gap:8px;border:1px solid var(--a-line);border-radius:22px;padding:8px 14px;cursor:pointer;background:#fff;font-weight:600}
.aplus-pill:has(input:checked){border-color:var(--a-navy);background:#f5f7fe;box-shadow:0 0 0 2px var(--a-bluesoft)}
.aplus-pick{display:flex;flex-direction:column;gap:2px;border:2px solid var(--a-line);border-radius:12px;padding:14px;cursor:pointer;background:#fff}
.aplus-pick input{position:absolute;opacity:0;pointer-events:none}
.aplus-pick:has(input:checked){border-color:var(--a-navy);background:#f7f8fe}
.aplus-pick:has(input:focus-visible){outline:3px solid var(--a-gold)}
.aplus-slotpick{display:none;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.aplus-slotpick.on,.aplus-slotpick-show{display:flex}
.aplus-slotbtn{cursor:pointer}
.aplus-slotbtn input{position:absolute;opacity:0;pointer-events:none}
.aplus-slotbtn span,.aplus-slotbtn-b{display:inline-block;border:1px solid var(--a-line);background:#fff;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--a-ink)}
.aplus-slotbtn input:checked+span{background:var(--a-navy);color:#fff;border-color:var(--a-navy)}
.aplus-slotbtn input:focus-visible+span{outline:3px solid var(--a-gold)}
.aplus-slotbtn-b:hover{border-color:var(--a-navy)}
.aplus fieldset{border:0;padding:0;margin:0;min-width:0}
.aplus legend{font-size:17px;font-weight:700;margin-bottom:12px;padding:0}
/* wizard */
.aplus-steps{display:flex;gap:6px;margin:0 0 18px;padding:0;list-style:none;flex-wrap:wrap}
.aplus-step{flex:1;min-width:120px;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid var(--a-line);font-size:12px;color:var(--a-mute);font-weight:600}
.aplus-step b{display:block;font-size:14px;color:var(--a-ink)}
.aplus-step.on{border-color:var(--a-navy);box-shadow:0 0 0 2px var(--a-bluesoft)}
.aplus-step.done{background:var(--a-greensoft);border-color:#b8e5d2}
.aplus-wizard.js .aplus-pane{display:none}
.aplus-wizard.js .aplus-pane.on{display:block}
.aplus-wiz-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px;border-top:1px solid var(--a-line);padding-top:16px}
.aplus-wizard:not(.js) [data-wiz=back],.aplus-wizard:not(.js) [data-wiz=next]{display:none}
.aplus-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.aplus-review div{background:var(--a-soft);border-radius:10px;padding:12px;font-size:14px}
/* payments */
.aplus-pay-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--a-line);border-radius:10px;padding:12px;margin-bottom:8px;cursor:pointer}
.aplus-pay-opt:has(input:checked){border-color:var(--a-navy);background:#f7f8fe}
.aplus-pay-opt small{display:block;color:var(--a-mute)}
.aplus-pay-opt input{margin-top:4px}
.aplus-pay-fields{display:none;padding:4px 2px 10px}
.aplus-pay-fields.on{display:block}
.aplus-test-banner{background:var(--a-ambersoft);color:var(--a-amber);border-radius:8px;padding:8px 10px;font-size:13px;font-weight:600;margin-bottom:10px}
/* tables */
.aplus-tablewrap{overflow-x:auto}
.aplus-table{width:100%;border-collapse:collapse;font-size:14px}
.aplus-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--a-mute);padding:8px 10px;border-bottom:1px solid var(--a-line)}
.aplus-table td{padding:11px 10px;border-bottom:1px solid var(--a-line)}
.aplus-table .aplus-num{text-align:right}
.aplus-login{max-width:460px}
.aplus-login form p{margin-bottom:12px}
.aplus-login label{display:block;font-weight:600;margin-bottom:4px}
.aplus-login .login-remember label{font-weight:400}
.aplus-login .button-primary,.aplus-login input[type=submit]{background:var(--a-navy);color:#fff;border:0;border-radius:9px;padding:11px 18px;font-weight:700;cursor:pointer;width:100%}
@container aplus (max-width:880px){
 .aplus-shell{grid-template-columns:minmax(0,1fr)}
 .aplus-side{position:static}
 .aplus-nav{flex-direction:row;overflow-x:auto}
 .aplus-nav a{white-space:nowrap}
 .aplus-side-foot{flex-direction:row;flex-wrap:wrap;gap:14px}
}
@container aplus (max-width:760px){
 .aplus-g3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container aplus (max-width:560px){
 .aplus-g2,.aplus-g3,.aplus-review{grid-template-columns:minmax(0,1fr)}
 .aplus h1{font-size:22px}
 .aplus-big{font-size:24px}
 .aplus-card{padding:16px}
}
@media print{.aplus-side,.aplus-btn,.aplus-preview{display:none!important}.aplus-shell{display:block}}
