/* Sterling Admissions — application. Loads after brand.css. */

/* map legacy token names onto the brand palette */
:root{
  --ink-2:var(--navy-2); --card:var(--white); --card-2:var(--paper-2);
  --stamp:var(--passage-ink); --brass:var(--passage-ink); --muted:var(--slate);
  --link:var(--passage-ink); --line:var(--rule); --line-2:var(--rule);
  --text-paper:var(--paper);
}
.mono{font-family:var(--text);font-variant-numeric:tabular-nums;}
.muted{color:var(--slate);}
.hidden{display:none !important;}

/* NAV */
.appnav{background:var(--navy);border-bottom:1px solid rgba(198,219,238,.14);position:sticky;top:0;z-index:40;}
.appnav .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:16px;flex-wrap:wrap;}
.brand{font-family:var(--display);font-weight:700;font-size:1.1rem;text-decoration:none;}

.navmenu{display:flex;gap:6px;align-items:center;}
.navmenu button{background:none;border:none;padding:8px 14px;border-radius:20px;font-size:.89rem;color:rgba(198,219,238,.8);font-family:var(--text);}
.navmenu button:hover{color:var(--paper);}
.navmenu button.on{background:rgba(198,219,238,.14);color:var(--paper);font-weight:600;}
.appnav .who > div > div:first-child{color:var(--paper);}
.appnav .who .muted{color:rgba(198,219,238,.62);}
.who{display:flex;align-items:center;gap:10px;}
.av{width:34px;height:34px;border-radius:50%;background:var(--navy);border:1px solid rgba(198,219,238,.35);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;font-family:var(--display);overflow:hidden;}
.av img{width:100%;height:100%;object-fit:cover;}
@media(max-width:700px){.navmenu button{padding:7px 10px;font-size:.83rem;}}

/* AUTH */
.auth-shell{min-height:88vh;display:flex;align-items:center;justify-content:center;padding:50px 20px;}
.auth-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:40px 36px;max-width:430px;width:100%;box-shadow:0 20px 46px -30px rgba(22,33,59,.4);}
.auth-card h1{font-size:1.75rem;}
.auth-card .sub{margin-top:8px;color:var(--muted);font-size:.94rem;}
.gbtn{margin-top:26px;width:100%;background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:6px;padding:12px;font-size:.94rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:11px;}
.gbtn:hover{background:#f6f7f8;}
.or{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--muted);font-size:.8rem;}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line);}
.field{margin-bottom:16px;}
.field label{display:block;font-size:.78rem;font-family:var(--text);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%;background:#fff;border:1px solid var(--line-2);border-radius:6px;padding:11px 13px;font-family:inherit;font-size:.94rem;color:var(--text);}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brass);outline:none;}
.field textarea{min-height:90px;resize:vertical;}
.field .help{font-size:.77rem;color:var(--muted);margin-top:5px;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.row2{grid-template-columns:1fr;}}
.err{background:rgba(179,59,44,.08);border:1px solid rgba(179,59,44,.3);color:#8E2E22;border-radius:6px;padding:10px 13px;font-size:.87rem;margin-bottom:14px;}
.auth-foot{margin-top:18px;text-align:center;font-size:.87rem;color:var(--muted);}
.auth-foot a{color:var(--link);font-weight:600;text-decoration:none;cursor:pointer;}
.role-toggle{display:flex;gap:6px;background:var(--card-2);padding:4px;border-radius:22px;margin-bottom:24px;}
.role-toggle button{flex:1;background:none;border:none;padding:9px;border-radius:18px;font-size:.86rem;color:var(--muted);}
.role-toggle button.on{background:#fff;color:var(--text);font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08);}
.demo-hint{margin-top:20px;background:var(--card-2);border-radius:8px;padding:12px 14px;font-size:.79rem;color:var(--muted);line-height:1.5;}

/* PAGE */
.page{padding:44px 0 90px;}
.page h1.title{font-size:clamp(2rem,4.4vw,2.7rem);margin-bottom:34px;}
.sec{margin-bottom:44px;}
.sec-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.sec-head h2{font-size:1.35rem;font-weight:400;font-family:var(--display);color:var(--navy);}
.sec-icon{color:var(--brass);display:flex;flex:none;}

/* CARDS */
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:22px 24px;}
.card+.card{margin-top:12px;}
.booking{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.booking .who-name{font-size:1.22rem;font-family:var(--display);font-weight:400;color:var(--navy);}
.booking .who-sub{color:var(--link);font-size:.93rem;margin-top:2px;}
.booking .meta{text-align:right;}
.booking .when{font-weight:600;font-size:1rem;}
.booking .status{color:var(--muted);font-size:.9rem;margin-top:2px;}
.status.ok{color:var(--ok);}
.status.warn{color:var(--brass);}
.booking-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);flex-wrap:wrap;width:100%;align-items:center;}
.policy-note{font-size:.8rem;color:var(--muted);margin-left:auto;}
.policy-note.charge{color:var(--stamp);}
.empty{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:26px 24px;}
.empty p{color:var(--muted);margin-bottom:16px;}

/* REMINDERS */
.rem-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.rem{font-family:var(--text);font-size:.71rem;border:1px solid var(--line-2);border-radius:12px;padding:3px 10px;color:var(--muted);}
.rem.sent{background:rgba(95,122,85,.1);border-color:rgba(95,122,85,.35);color:var(--ok);}

/* PACKAGES */
.pkg-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:820px){.pkg-grid{grid-template-columns:1fr;}}
.pkg{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px 28px;position:relative;display:flex;flex-direction:column;}
.pkg.best{border-color:var(--brass);box-shadow:0 0 0 1px rgba(192,135,60,.3);}
.pkg .flag{position:absolute;top:-11px;left:28px;background:var(--brass);color:#fff;font-family:var(--text);font-size:.67rem;letter-spacing:.06em;padding:4px 11px;border-radius:11px;text-transform:uppercase;}
.pkg h3{font-size:1.3rem;font-weight:600;}
.pkg .tagline{color:var(--muted);font-size:.92rem;margin-top:6px;}
.pkg .price{font-family:var(--display);font-size:2.4rem;font-weight:600;margin:18px 0 4px;}
.pkg ul{list-style:none;padding:0;margin:16px 0 24px;font-size:.92rem;}
.pkg li{padding:8px 0 8px 24px;position:relative;border-top:1px solid var(--line);}
.pkg li:first-child{border-top:none;}
.pkg li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700;}
.pkg .btn{margin-top:auto;}
.refund{text-align:center;color:var(--muted);font-size:.87rem;margin-top:20px;}

/* MENTOR PICKER */
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:900px){.mgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){.mgrid{grid-template-columns:1fr;}}
.mcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column;transition:.18s;}
.mcard:hover{border-color:var(--line-2);transform:translateY(-2px);}
.mcard .init{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;color:#fff;font-size:1.1rem;margin-bottom:14px;overflow:hidden;}
.mcard .init img{width:100%;height:100%;object-fit:cover;}
.mcard h3{font-size:1.1rem;font-weight:600;}
.mcard .uni{font-size:.85rem;color:var(--link);margin-top:3px;}
.mcard .home{font-size:.82rem;color:var(--muted);margin-top:2px;}
.mcard .blurb{font-size:.88rem;color:var(--muted);margin-top:12px;}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;}
.chip{font-family:var(--text);font-size:.67rem;background:var(--card-2);border:1px solid var(--line);border-radius:11px;padding:3px 9px;color:var(--ink-2);}
.mcard .foot{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);gap:10px;}
.mcard .rate{font-family:var(--display);font-weight:600;font-size:1.02rem;}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
.filters button{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:7px 15px;font-family:var(--text);font-size:.76rem;color:var(--muted);}
.filters button.on{background:var(--ink);border-color:var(--ink);color:#F7F3EA;font-weight:600;}

/* SLOTS */
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px;}
.slot{background:#fff;border:1px solid var(--line-2);border-radius:7px;padding:11px 8px;font-family:var(--text);font-size:.82rem;}
.slot:hover{border-color:var(--brass);}
.slot.on{background:var(--ink);color:#F7F3EA;border-color:var(--ink);font-weight:600;}
.slot:disabled{opacity:.35;cursor:default;text-decoration:line-through;}
.daylabel{font-family:var(--text);font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:20px 0 8px;}

/* MODAL */
.modal-bg{position:fixed;inset:0;background:rgba(22,33,59,.55);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:100;}
.modal{background:var(--card);border-radius:16px;max-width:520px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 30px 70px -30px rgba(0,0,0,.5);}
.modal-head{padding:26px 30px 0;}
.modal-head h2{font-size:1.4rem;}
.modal-body{padding:20px 30px;}
.modal-foot{padding:0 30px 26px;display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;}
.summary{background:var(--card-2);border-radius:9px;padding:16px 18px;margin-bottom:20px;font-size:.92rem;}
.summary .line{display:flex;justify-content:space-between;padding:5px 0;}
.summary .total{border-top:1px solid var(--line-2);margin-top:8px;padding-top:10px;font-weight:700;font-family:var(--display);font-size:1.1rem;}
.pay-badge{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted);margin-top:14px;}
.card-visual{background:linear-gradient(135deg,#1E2C4D,#16213B);border-radius:10px;padding:18px;color:#F7F3EA;margin-bottom:18px;}
.card-visual .num{font-family:var(--text);font-size:1.05rem;letter-spacing:.12em;margin-top:22px;}
.card-visual .lbl{font-size:.68rem;opacity:.6;font-family:var(--text);text-transform:uppercase;letter-spacing:.1em;}

/* EMAIL PREVIEW */
.email{border:1px solid var(--line-2);border-radius:10px;overflow:hidden;background:#fff;}
.email-head{background:var(--card-2);padding:12px 16px;border-bottom:1px solid var(--line);font-size:.8rem;}
.email-head div{margin:2px 0;}
.email-head b{color:var(--muted);font-family:var(--text);font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;margin-right:8px;}
.email-body{padding:22px 20px;font-size:.9rem;line-height:1.65;}
.email-body h3{font-size:1.15rem;margin-bottom:12px;}
.email-body .box{background:var(--card-2);border-radius:8px;padding:14px;margin:14px 0;}
.outbox-item{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:14px 18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center;}
.outbox-item+.outbox-item{margin-top:9px;}
.outbox-item .subj{font-weight:600;font-size:.93rem;}
.outbox-item .to{font-size:.82rem;color:var(--muted);}

/* MENTOR PORTAL */
.avail-grid{overflow-x:auto;}
.avail-table{border-collapse:collapse;width:100%;min-width:640px;}
.avail-table th{font-family:var(--text);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:8px 6px;font-weight:500;}
.avail-table td{padding:3px;}
.avail-cell{width:100%;background:#fff;border:1px solid var(--line);border-radius:5px;padding:9px 4px;font-family:var(--text);font-size:.72rem;color:var(--muted);}
.avail-cell.on{background:var(--ok);border-color:var(--ok);color:#fff;font-weight:600;}
.avail-cell.booked{background:var(--brass);border-color:var(--brass);color:#fff;font-weight:600;cursor:default;}
.timecol{font-family:var(--text);font-size:.72rem;color:var(--muted);padding-right:8px;white-space:nowrap;}
.pic-row{display:flex;align-items:center;gap:18px;margin-bottom:22px;flex-wrap:wrap;}
.pic-prev{width:84px;height:84px;border-radius:50%;background:var(--brass);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--display);font-weight:700;font-size:1.6rem;overflow:hidden;flex:none;}
.pic-prev img{width:100%;height:100%;object-fit:cover;}
.tag-editor{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px;}
.tag-editor .chip{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:.75rem;}
.tag-editor .chip button{background:none;border:none;color:var(--muted);font-size:.9rem;padding:0;line-height:1;}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px;}
@media(max-width:760px){.stat-row{grid-template-columns:repeat(2,1fr);}}
.stat{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;}
.stat .l{font-family:var(--text);font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);}
.stat .v{font-family:var(--display);font-size:1.6rem;font-weight:600;margin-top:5px;}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#F7F3EA;padding:13px 22px;border-radius:8px;font-size:.9rem;z-index:200;box-shadow:0 12px 30px -12px rgba(0,0,0,.5);}
.legal{border-top:1px solid var(--line);padding:26px 0 40px;font-size:.78rem;color:var(--muted);line-height:1.6;}

/* ---------- ONBOARDING ---------- */
.steps-bar{display:flex;gap:6px;margin-bottom:26px;flex-wrap:wrap;}
.step-pip{display:flex;align-items:center;gap:8px;padding:9px 15px;border-radius:22px;background:var(--card);border:1px solid var(--line);font-size:.83rem;color:var(--muted);}
.step-pip .pip{width:21px;height:21px;border-radius:50%;background:var(--card-2);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex:none;}
.step-pip.now{background:var(--ink);border-color:var(--ink);color:#F7F3EA;}
.step-pip.now .pip{background:var(--brass);color:#fff;}
.step-pip.done{border-color:var(--ok);color:var(--ok);}
.step-pip.done .pip{background:var(--ok);color:#fff;}
@media(max-width:700px){.step-pip .pip-l{display:none;}}

.ob-h{font-family:var(--display);font-size:1.25rem;font-weight:600;}
.ob-p{color:var(--muted);font-size:.93rem;margin:8px 0 18px;max-width:66ch;}
.ob-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);flex-wrap:wrap;}

.pickers{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:700px){.pickers{grid-template-columns:1fr;}}
.picker{text-align:left;background:#fff;border:1px solid var(--line-2);border-radius:9px;padding:18px 20px;transition:.15s;}
.picker:hover{border-color:var(--brass);}
.picker.on{border-color:var(--ink);background:var(--card-2);box-shadow:0 0 0 1px var(--ink);}
.picker b{display:block;font-size:.97rem;margin-bottom:5px;}
.picker span{font-size:.85rem;color:var(--muted);line-height:1.5;}

.form-head{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px;}
.form-tag{font-family:var(--text);font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;color:#fff;background:var(--ink);padding:4px 10px;border-radius:3px;}
.row3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;}
@media(max-width:600px){.row3{grid-template-columns:1fr;}}
.tin-row{display:flex;gap:10px;}
@media(max-width:520px){.tin-row{flex-direction:column;}}

.cert-box{background:var(--card-2);border:1px solid var(--line);border-radius:9px;padding:20px 22px;margin-top:20px;}
.cert-box b{font-size:.9rem;}
.cert-box p{font-size:.85rem;color:var(--muted);margin:9px 0 13px;line-height:1.6;}
.ck{display:flex;gap:10px;align-items:flex-start;font-size:.89rem;cursor:pointer;}
.ck input{margin-top:3px;width:auto;flex:none;}

.info-box{background:rgba(74,108,140,.08);border:1px solid rgba(74,108,140,.28);border-radius:9px;padding:16px 18px;margin-bottom:18px;}
.info-box b{font-size:.89rem;}
.info-box p{font-size:.85rem;color:var(--muted);margin-top:6px;line-height:1.6;}
.warn-box{background:rgba(192,135,60,.1);border:1px solid rgba(192,135,60,.35);border-radius:9px;padding:16px 18px;margin-top:18px;}
.warn-box b{font-size:.89rem;}
.warn-box p{font-size:.85rem;color:var(--muted);margin-top:6px;line-height:1.6;}
.ok-box{background:rgba(95,122,85,.1);border:1px solid rgba(95,122,85,.35);border-radius:9px;padding:16px 18px;}
.ok-box b{font-size:.89rem;color:var(--ok);}
.ok-box p{font-size:.85rem;color:var(--muted);margin-top:5px;}

.clauses{border:1px solid var(--line);border-radius:9px;overflow:hidden;}
.clause{border-bottom:1px solid var(--line);background:#fff;}
.clause:last-child{border-bottom:none;}
.clause.accepted{background:rgba(95,122,85,.05);}
.clause summary{cursor:pointer;list-style:none;padding:15px 18px;display:flex;align-items:center;gap:12px;font-size:.92rem;}
.clause summary::-webkit-details-marker{display:none;}
.cl-n{font-family:var(--text);font-size:.75rem;color:var(--muted);flex:none;}
.cl-t{font-weight:600;flex:1;}
.cl-s{font-family:var(--text);font-size:.68rem;color:var(--muted);flex:none;}
.clause.accepted .cl-s{color:var(--ok);font-weight:600;}
.cl-body{padding:0 18px 18px 46px;}
.cl-body p{font-size:.86rem;color:var(--muted);line-height:1.68;margin-bottom:13px;}

.review{width:100%;border-collapse:collapse;font-size:.9rem;}
.review th{text-align:left;font-family:var(--text);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:12px 14px 12px 0;font-weight:500;width:38%;vertical-align:top;}
.review td{padding:12px 0;border-bottom:1px solid var(--line);}
.review tr:last-child td{border-bottom:none;}
.pill{display:inline-block;font-family:var(--text);font-size:.68rem;padding:3px 10px;border-radius:12px;}
.pill.ok{background:rgba(95,122,85,.14);color:var(--ok);border:1px solid rgba(95,122,85,.4);}
.pill.warn{background:rgba(192,135,60,.14);color:var(--brass);border:1px solid rgba(192,135,60,.4);}

.thresh-row{display:flex;justify-content:space-between;gap:20px;margin-bottom:14px;}
.big-num{font-family:var(--display);font-size:1.9rem;font-weight:600;margin-top:2px;}
.thresh-bar{height:9px;background:var(--card-2);border-radius:5px;position:relative;overflow:hidden;}
.thresh-fill{height:100%;background:var(--brass);border-radius:5px;transition:width .5s ease;}
.doc-row{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
.doc-row+.doc-row{margin-top:9px;}
.doc-t{font-weight:600;font-size:.92rem;}
.doc-s{font-size:.82rem;color:var(--muted);margin-top:2px;}
.missing{margin-top:18px;font-size:.85rem;color:var(--brass);background:rgba(192,135,60,.09);border:1px solid rgba(192,135,60,.3);border-radius:7px;padding:11px 14px;}

/* ---------- MOBILE / TOUCH ---------- */
@media (pointer:coarse){
  .navmenu button{min-height:44px;}
  .slot,.tag-pill,.ptab,.tab-btn{min-height:44px;}
  .avail-cell{min-height:44px;}
  .ck input,.checkbox-row input{width:20px;height:20px;}
}
@media (max-width:700px){
  .appnav .wrap{padding:11px 18px;gap:10px;}
  .navmenu{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;-webkit-overflow-scrolling:touch;}
  .navmenu::-webkit-scrollbar{display:none;}
  .navmenu button{white-space:nowrap;flex:none;}
  .who{gap:8px;}
  .who > div:not(.av){display:none;}
  .page{padding:28px 0 64px;}
  .page h1.title{font-size:1.85rem;margin-bottom:24px;}
  .booking{flex-direction:column;gap:10px;}
  .booking .meta{text-align:left;}
  .booking-actions{gap:8px;}
  .booking-actions .btn{flex:1 1 auto;}
  .policy-note{margin-left:0;width:100%;padding-top:4px;}
  .rem-list{gap:6px;}
  .steps-bar{gap:4px;}
  .step-pip{padding:8px 11px;}
  .modal{max-height:92vh;border-radius:14px 14px 0 0;}
  .modal-head{padding:22px 22px 0;}
  .modal-body{padding:16px 22px;}
  .modal-foot{padding:0 22px 22px;}
  .modal-foot .btn{flex:1 1 auto;}
  .clause summary{padding:14px 14px;gap:9px;}
  .cl-body{padding:0 14px 16px 14px;}
  .review th{width:auto;display:block;padding:12px 0 2px;}
  .review td{display:block;padding:0 0 12px;}
}

/* ---------- PROGRAMS / APPLICATION ---------- */
.prog-pick{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media(max-width:820px){.prog-pick{grid-template-columns:1fr;}}
.ppick{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px 24px;transition:.16s;display:flex;flex-direction:column;}
.ppick:hover{border-color:var(--passage-ink);transform:translateY(-2px);}
.pp-grade{font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--passage-ink);}
.ppick h3{font-family:var(--display);font-size:1.35rem;color:var(--navy);margin-top:8px;}
.pp-tag{color:var(--slate);font-size:.9rem;margin-top:6px;}
.pp-rows{margin:18px 0 14px;}
.pp-rows div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:.88rem;}
.pp-rows div:first-child{border-top:none;}
.pp-rows span{color:var(--slate);} .pp-rows b{color:var(--navy);}
.pp-go{margin-top:auto;color:var(--passage-ink);font-weight:600;font-size:.89rem;}
.soon-inline{margin-top:22px;background:var(--card-2);border-radius:10px;padding:18px 20px;}
.soon-inline b{font-size:.9rem;} .soon-inline p{font-size:.85rem;color:var(--slate);margin-top:5px;}
.honesty-box{background:var(--card-2);border-left:3px solid var(--passage-ink);border-radius:8px;padding:18px 20px;margin:6px 0 18px;}
.honesty-box b{font-size:.9rem;} .honesty-box p{font-size:.85rem;color:var(--slate);margin:8px 0 12px;line-height:1.6;}
.aid-block{background:var(--card-2);border-radius:9px;padding:18px 20px;margin-bottom:16px;}
.field .help .over{color:var(--warn);font-weight:600;}
.prog-bar{height:7px;background:var(--card-2);border-radius:4px;overflow:hidden;margin:14px 0 4px;}
.prog-fill{height:100%;background:var(--passage-ink);border-radius:4px;transition:width .5s;}

/* ---------- LESSON PLANS ---------- */
.plan-index{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;}
.pi-head{padding:18px 22px;border-bottom:1px solid var(--line);background:var(--card-2);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.pi-head span{color:var(--slate);font-size:.85rem;}
.pi-row{display:flex;align-items:center;gap:16px;padding:15px 22px;border-bottom:1px solid var(--line);}
.pi-row:last-child{border-bottom:none;}
.pi-row.pending{opacity:.62;}
.pi-n{font-family:var(--display);font-size:1.05rem;color:var(--passage-ink);flex:none;width:26px;}
.pi-t{flex:1;} .pi-t b{font-size:.95rem;color:var(--navy);} .pi-t p{font-size:.85rem;color:var(--slate);margin-top:2px;}
.modal-wide{max-width:680px;}
.plan-sec{margin-bottom:22px;}
.plan-sec h4{font-family:var(--text);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--passage-ink);margin-bottom:8px;}
.plan-sec p{font-size:.92rem;color:var(--slate);}
.plan-ul{margin:0;padding-left:18px;font-size:.91rem;color:var(--slate);}
.plan-ul li{margin-bottom:7px;}
.arc{width:100%;border-collapse:collapse;font-size:.91rem;}
.arc td{padding:9px 0;border-top:1px solid var(--line);color:var(--slate);vertical-align:top;}
.arc tr:first-child td{border-top:none;}
.arc-t{width:96px;color:var(--navy);font-weight:600;white-space:nowrap;padding-right:14px;}

/* ---------- TEMPLATES ---------- */
.tpl-grid{display:grid;grid-template-columns:260px 1fr;gap:20px;}
@media(max-width:820px){.tpl-grid{grid-template-columns:1fr;}}
.tpl-list{display:flex;flex-direction:column;gap:8px;}
.tpl-item{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:13px 15px;}
.tpl-item.on{border-color:var(--passage-ink);background:var(--card-2);}
.tpl-item b{display:block;font-size:.89rem;color:var(--navy);}
.tpl-item span{font-size:.78rem;color:var(--slate);}
.tpl-body{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px;}
.tpl-body textarea{font-family:var(--text);line-height:1.65;}
.tpl-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}

/* ---------- SESSION NOTES ---------- */
.notes-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.notes-body{padding:18px 0;}
.notes-body h4{font-family:var(--text);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--passage-ink);margin:16px 0 7px;}
.notes-body h4:first-child{margin-top:0;}
.notes-body p{font-size:.92rem;}
.notes-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding-top:16px;border-top:1px solid var(--line);}
.scope-note{background:rgba(168,54,42,.06);border:1px solid rgba(168,54,42,.28);border-radius:9px;padding:16px 18px;margin-top:4px;}
.scope-note b{font-size:.86rem;color:var(--alert);}
.scope-note p{font-size:.85rem;color:var(--slate);margin-top:6px;line-height:1.6;}

/* ---------- FEEDBACK ---------- */
.fb-q{padding:14px 0;border-top:1px solid var(--line);}
.fb-q:first-child{border-top:none;padding-top:0;}
.fb-q p{font-size:.93rem;margin-bottom:8px;}
.stars{display:flex;gap:4px;}
.star{background:none;border:none;font-size:1.7rem;line-height:1;color:var(--line-2);padding:0 3px;transition:.12s;}
.star:hover,.star.on{color:var(--brass);}
.fb-breakdown{display:flex;flex-direction:column;gap:12px;}
.fbb{display:grid;grid-template-columns:1fr 130px 42px;gap:12px;align-items:center;font-size:.88rem;}
@media(max-width:620px){.fbb{grid-template-columns:1fr 70px 40px;}}
.fbb-bar{height:7px;background:var(--card-2);border-radius:4px;overflow:hidden;}
.fbb-bar div{height:100%;background:var(--passage-ink);border-radius:4px;}
.fbb b{text-align:right;font-family:var(--display);}
.fb-head{display:flex;justify-content:space-between;gap:12px;align-items:center;}
.fb-stars{color:var(--brass);letter-spacing:1px;}

/* ---------- LEVELS ---------- */
.level-hero{background:var(--navy);color:var(--paper);border-radius:14px;padding:30px 32px;display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap;align-items:center;margin-bottom:30px;}
.lvl-badge{display:inline-block;background:var(--daylight);color:var(--navy);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em;padding:4px 11px;border-radius:3px;}
.lvl-pay{font-family:var(--display);font-size:2.6rem;margin-top:12px;}
.lvl-pay span{font-family:var(--text);font-size:.95rem;opacity:.7;}
.level-hero .muted{color:rgba(198,219,238,.8) !important;}
.lvl-rating{text-align:center;flex:none;}
.rating-num{font-family:var(--display);font-size:2.4rem;}
.rating-stars{color:var(--daylight);letter-spacing:2px;font-size:1.05rem;}
.lvl-rating .muted{color:rgba(198,219,238,.7) !important;}
.tiers{display:flex;flex-direction:column;gap:2px;}
.tier{display:grid;grid-template-columns:1fr 110px 70px;gap:12px;padding:11px 14px;border-radius:7px;font-size:.89rem;align-items:center;}
.tier.on{background:var(--card-2);font-weight:600;}
.t-req{color:var(--slate);font-size:.83rem;}
.t-bonus{text-align:right;font-family:var(--display);color:var(--navy);}
.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
@media(max-width:900px){.levels{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.levels{grid-template-columns:1fr;}}
.lvl{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;}
.lvl.on{border-color:var(--passage-ink);box-shadow:0 0 0 1px var(--passage-ink);}
.lvl.past{opacity:.62;}
.lvl-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;flex-wrap:wrap;}
.lvl-top b{font-size:.94rem;color:var(--navy);}
.lvl-req{font-size:.78rem;color:var(--slate);margin-top:4px;}
.lvl-perks{margin:12px 0 0;padding-left:16px;font-size:.83rem;color:var(--slate);}
.lvl-perks li{margin-bottom:5px;}

/* ---------- NOTES & CALL LOG ---------- */
.notes-layout{display:grid;grid-template-columns:270px 1fr;gap:18px;}
@media(max-width:900px){.notes-layout{grid-template-columns:1fr;}}
.call-list{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;align-self:start;}
.cl-head{padding:14px 16px;border-bottom:1px solid var(--line);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--slate);}
.cl-item{width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--line);padding:13px 16px;display:block;}
.cl-item:last-child{border-bottom:none;}
.cl-item.on{background:var(--card-2);}
.cl-item b{display:block;font-size:.89rem;color:var(--navy);}
.cl-item > span{display:block;font-size:.78rem;color:var(--slate);margin-top:2px;}
.cl-flags{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap;}
.cl-flags em{font-style:normal;font-size:.66rem;padding:2px 7px;border-radius:10px;}
.cl-flags .yes{background:rgba(47,125,91,.12);color:var(--ok);}
.cl-flags .no{background:var(--card-2);color:var(--slate);}
.cl-flags .warn{background:rgba(168,98,42,.12);color:var(--warn);}
.note-pane{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px;}
.np-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--line);}
.note-doc{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:26px 28px;margin-top:18px;}
.nd-headline{font-family:var(--display);font-size:1.3rem;color:var(--navy);line-height:1.3;margin-bottom:18px;}
.nd-sec{margin-bottom:20px;}
.nd-sec h5{font-family:var(--text);font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.13em;color:var(--passage-ink);margin-bottom:7px;}
.nd-sec p{font-size:.92rem;color:var(--ink);}
.actions{list-style:none;padding:0;margin:0;}
.actions li{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--line);font-size:.9rem;}
.actions li:first-child{border-top:none;}
.a-due{color:var(--slate);font-size:.82rem;white-space:nowrap;}
.note-doc blockquote{margin:0;padding-left:16px;border-left:2px solid var(--passage-ink);font-family:var(--display);font-size:1.02rem;color:var(--navy);}
.nd-hw{background:var(--card-2);border-radius:9px;padding:18px 20px;margin-top:22px;}
.hw-tag{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.11em;color:var(--passage-ink);margin-bottom:6px;}
.mentor-only{background:rgba(168,54,42,.05);border:1px dashed rgba(168,54,42,.35);border-radius:9px;padding:16px 18px;margin-top:16px;}
.mo-tag{font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--alert);margin-bottom:6px;}
.mentor-only p{font-size:.88rem;color:var(--slate);}
.np-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}

/* ---------- MATERIALS & HOMEWORK ---------- */
.mat-list{display:flex;flex-direction:column;gap:8px;}
.mat{display:flex;align-items:center;gap:12px;background:var(--card-2);border-radius:8px;padding:11px 14px;}
.mat b{flex:1;font-size:.9rem;font-weight:500;}
.mat-ico{font-size:.6rem;font-weight:700;letter-spacing:.06em;background:var(--passage-ink);color:#fff;padding:4px 7px;border-radius:3px;flex:none;}
.hw-card{background:var(--card-2);border-radius:9px;padding:18px 20px;}
.pi-actions{display:flex;align-items:center;gap:12px;flex:none;}
.pi-mat{font-size:.75rem;color:var(--slate);}
.hw-check{list-style:none;padding:0;margin:14px 0 0;}
.hw-check li{padding:9px 0;border-top:1px solid var(--line);}
.hw-check li:first-child{border-top:none;}
.hw-foot{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.hw-done{display:flex;justify-content:space-between;gap:14px;align-items:center;}
.ok-inline{background:rgba(47,125,91,.1);border:1px solid rgba(47,125,91,.35);color:var(--ok);border-radius:6px;padding:11px 14px;font-size:.87rem;margin-bottom:14px;line-height:1.5;}
