
:root{
  --navy:#0C046D;
  --navy-2:#7484C2;
  --periwinkle:#7484C2;
  --periwinkle-soft:rgba(116,132,194,.13);
  --gold:#E5922E;
  --gold-soft:rgba(229,146,46,.14);
  --map-cream:#FCF9F2;
  --map-yellow-1:#f7d7ad;
  --map-yellow-2:#f1c78e;
  --map-yellow-3:#E5922E;
  --map-yellow-4:#cf791e;
  --map-yellow-stroke:#0C046D;
  --map-yellow-label:#4F4D4E;
  --cream:#FCF9F2;
  --paper:#FCF9F2;
  --surface:#FFFFFF;
  --ink:#4F4D4E;
  --muted:#6B686A;
  --line:rgba(79,77,78,.18);
  --green:#2d8f70;
  --rose:#b73769;
  --shadow:0 18px 52px rgba(12,4,109,.10);
  --shadow-strong:0 30px 82px rgba(12,4,109,.17);
  --radius:22px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Glacial Indifference","Century Gothic","Avenir Next",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--cream);color:var(--ink);line-height:1.62}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
code{background:#eef0f8;padding:.16rem .38rem;border-radius:6px}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}
.skip-link{position:fixed;top:-60px;left:12px;z-index:999;background:var(--navy);color:#fff;padding:8px 13px;border-radius:9px}.skip-link:focus{top:12px}
.site-note{background:var(--navy);color:#fff;text-align:center;padding:7px 18px;font-size:.68rem;letter-spacing:.04em}
.site-header{position:sticky;top:0;z-index:80;background:rgba(255,250,243,.95);backdrop-filter:blur(18px);border-bottom:1px solid rgba(17,21,111,.09)}
.nav-wrap{height:78px;display:flex;align-items:center;gap:22px}
.brand{width:178px;flex:0 0 178px}.brand img{height:56px;width:100%;object-fit:contain}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:19px}
.main-nav a{text-decoration:none;color:#505367;font-size:.81rem;font-weight:850;padding:27px 0 23px;border-bottom:3px solid transparent}
.main-nav a:hover,.main-nav a.active{color:var(--navy);border-color:var(--gold)}
.nav-actions{display:flex;align-items:center;gap:9px}
.plan-chip{display:flex;align-items:center;gap:7px;border:1px solid #d9dae5;background:#fff;border-radius:999px;padding:7px 11px;color:var(--navy);font-size:.74rem;font-weight:850}
.plan-chip i{width:8px;height:8px;border-radius:50%;background:#a9abb8}.plan-pro .plan-chip i{background:var(--green);box-shadow:0 0 0 4px rgba(45,143,112,.12)}
.menu-toggle{display:none;border:0;background:none;padding:8px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--navy);margin:5px}
.eyebrow{display:inline-block;color:var(--navy);font-size:.69rem;letter-spacing:.14em;text-transform:uppercase;font-weight:950}.eyebrow.light{color:#d8deff}
.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--navy);background:var(--navy);color:#fff;border-radius:12px;padding:13px 20px;font-weight:900;box-shadow:0 11px 26px rgba(17,21,111,.13);transition:.2s}
.button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 34px rgba(17,21,111,.22)}
.button:disabled{opacity:.46;cursor:not-allowed}
.button-outline{background:transparent;color:var(--navy);box-shadow:none}
.button-light{background:#fff;color:var(--navy);border-color:#fff}
.button-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);box-shadow:none}
.button.full{width:100%}
.button-row{display:flex;gap:11px;flex-wrap:wrap;margin-top:27px}
.text-button{border:0;background:none;color:var(--navy);font-weight:900}
.back-link{display:inline-block;text-decoration:none;font-weight:850;margin-bottom:22px}
.section{padding:88px 0}
.section-cream{background:var(--cream)}
.section-blue{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}
.section-heading{max-width:780px;margin-bottom:36px}.section-heading.centered{text-align:center;margin-left:auto;margin-right:auto}
.section-heading h2,.split-feature h2,.tutor-teaser h2,.founder-note h2,.quality-workflow h2,.architecture h2,.vision-grid h2,.reader-content h2,.profile-content h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.06;letter-spacing:-.045em;margin:10px 0 15px;color:var(--navy)}
.section-heading p,.split-feature p,.tutor-teaser p,.vision-grid p{color:var(--muted)}
.centered{text-align:center}

.hero-home{padding:62px 0 82px;background:linear-gradient(135deg,var(--cream),#fff 55%,#edf0ff);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:55px;align-items:center}
.hero-copy h1{font-size:clamp(3.5rem,7vw,6.4rem);line-height:.93;letter-spacing:-.065em;color:var(--navy);margin:17px 0 24px}
.hero-copy h1 em{font-family:Georgia,serif;color:var(--gold);font-weight:700}
.hero-copy>p{max-width:700px;font-size:1.08rem;color:var(--muted)}
.hero-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.hero-pills span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;color:#5f6272;font-size:.72rem;font-weight:750}
.hero-visual{min-height:540px;position:relative;display:grid;place-items:center}
.owl-glow{position:absolute;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,#fff 0,#e3e8ff 55%,transparent 70%)}
.hero-owl{position:relative;width:410px;max-height:520px;object-fit:contain;filter:drop-shadow(0 28px 40px rgba(17,21,111,.18))}
.floating-card{position:absolute;background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 16px;box-shadow:var(--shadow);display:grid}.floating-card b{color:var(--navy);font-size:.83rem}.floating-card small{color:var(--muted);font-size:.69rem}
.card-one{top:90px;right:-5px}.card-two{left:12px;bottom:64px}
.stats-strip{padding:0;background:#fff}.stat-grid{transform:translateY(-28px);display:grid;grid-template-columns:repeat(4,1fr);box-shadow:var(--shadow);border-radius:22px;overflow:hidden}
.stat-grid article{background:#fff;padding:23px;text-align:center;border-right:1px solid var(--line)}.stat-grid article:last-child{border:0}.stat-grid b{display:block;color:var(--navy);font-size:2rem}.stat-grid span{color:var(--muted);font-size:.78rem}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}
.path-card{min-height:330px;border:1px solid var(--line);border-radius:22px;padding:27px;text-decoration:none;display:flex;flex-direction:column;background:#fff;transition:.22s}
.path-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.path-icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:var(--periwinkle-soft);color:var(--navy);font-size:1.5rem}
.path-card small{margin-top:24px;color:var(--gold);font-size:.68rem;font-weight:900;letter-spacing:.09em}.path-card h3{font-size:1.45rem;color:var(--navy);margin:7px 0}.path-card p{color:var(--muted);flex:1}.path-card b{color:var(--navy)}
.split-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.split-feature h2{color:#fff}.split-feature p{color:#dce1ff}.split-feature.compact{grid-template-columns:1fr 1fr}
.feature-checks{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:26px 0}.feature-checks span{border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.08);border-radius:11px;padding:10px;font-size:.82rem}
.exam-preview{background:#fff;color:var(--ink);border-radius:23px;padding:25px;box-shadow:0 25px 70px rgba(0,0,0,.22)}
.preview-top{display:flex;justify-content:space-between;color:var(--navy);font-weight:900}.preview-progress{height:8px;background:#eaebf3;border-radius:99px;overflow:hidden;margin:14px 0}.preview-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--periwinkle))}
.exam-preview>small{color:var(--muted)}.exam-preview h3{color:var(--navy);line-height:1.4}
.preview-choice{border:1px solid var(--line);border-radius:11px;padding:10px;margin:7px 0}.preview-choice i{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#f2f3f8;margin-right:8px;font-style:normal}.preview-choice.selected{border-color:var(--navy);background:var(--periwinkle-soft)}
.preview-nav{display:flex;justify-content:space-between;margin-top:18px;font-size:.76rem;color:var(--muted)}.preview-nav b{color:var(--gold)}
.subject-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.subject-home-card{border:1px solid var(--line);border-radius:20px;padding:23px;background:#fff}.subject-home-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--gold-soft);color:var(--navy);font-weight:900}.subject-home-card h3{color:var(--navy);line-height:1.2}.subject-home-card p{color:var(--muted);font-size:.86rem}.subject-home-card a{color:var(--navy);font-weight:900;text-decoration:none}
.tutor-teaser{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}
.mini-tutor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.mini-tutor{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden}.mini-tutor img{height:190px;width:100%;object-fit:cover}.mini-tutor div{padding:13px}.mini-tutor b{display:block;color:var(--navy);font-size:.83rem}.mini-tutor small{color:var(--muted)}
.founder-note{background:linear-gradient(135deg,#252743,var(--navy));color:#fff}.founder-note-grid{display:grid;grid-template-columns:300px 1fr;gap:55px;align-items:center}.founder-note img{background:#fff;border-radius:24px;padding:20px;max-height:360px}.founder-note h2{color:#fff}.founder-note p{color:#d8ddf7}
.page-hero{padding:76px 0;background:linear-gradient(135deg,var(--cream),#edf0ff)}
.page-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}
.page-hero h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.97;letter-spacing:-.055em;color:var(--navy);margin:13px 0 22px}
.page-hero p{color:var(--muted);font-size:1.03rem}
.dashboard-hero,.exams-hero,.tutoring-hero,.resources-hero{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}
.dashboard-hero h1,.exams-hero h1,.tutoring-hero h1,.resources-hero h1{color:#fff}.dashboard-hero p,.exams-hero p,.tutoring-hero p,.resources-hero p{color:#dce1ff}
.plan-summary{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:24px}.plan-summary small,.plan-summary b{display:block}.plan-summary b{font-size:2.2rem}.plan-summary a{color:#fff;font-weight:900}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.dashboard-metrics article{border:1px solid var(--line);border-radius:19px;padding:21px}.dashboard-metrics article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--periwinkle-soft);color:var(--navy);font-weight:900}.dashboard-metrics small,.dashboard-metrics b{display:block}.dashboard-metrics small{color:var(--muted);font-size:.66rem;letter-spacing:.08em;margin-top:14px}.dashboard-metrics b{font-size:2rem;color:var(--navy)}.dashboard-metrics p{font-size:.78rem;color:var(--muted);margin:0}
.dashboard-layout{display:grid;grid-template-columns:1fr 1fr;gap:19px;margin-top:24px}.panel{border:1px solid var(--line);border-radius:21px;padding:24px;background:#fff}.panel.wide{grid-column:1/-1}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}.panel-heading h2{color:var(--navy);margin:5px 0 18px}.panel-heading a{color:var(--navy);font-weight:900;text-decoration:none}
.history-list{display:grid;gap:10px}.history-item{display:grid;grid-template-columns:1.2fr .5fr .5fr .5fr;gap:12px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:13px}.history-item b{color:var(--navy)}.history-item span,.history-item small{color:var(--muted)}.history-item small{display:block}
.performance-list{display:grid;gap:11px}.performance-row{display:grid;grid-template-columns:1fr auto;gap:8px}.performance-row b{color:var(--navy)}.performance-row span{color:var(--muted);font-size:.8rem}.performance-bar{grid-column:1/-1;height:8px;background:#eff0f5;border-radius:99px;overflow:hidden}.performance-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--navy))}
.saved-reviewer-list{display:grid;gap:9px}.saved-reviewer-list a{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:11px;text-decoration:none}.saved-reviewer-list span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--gold-soft);color:var(--navy);font-weight:900}.saved-reviewer-list small{display:block;color:var(--muted)}
.exam-count-card{background:#fff;color:var(--navy);border-radius:25px;padding:30px;text-align:center;box-shadow:var(--shadow-strong)}.exam-count-card small,.exam-count-card b,.exam-count-card>span{display:block}.exam-count-card b{font-size:5rem;line-height:1}.exam-count-card>span{color:var(--muted)}.exam-count-card>div{display:flex;gap:8px;justify-content:center;margin-top:20px}.exam-count-card i{width:55px;height:7px;border-radius:99px;background:var(--periwinkle)}.exam-count-card i:nth-child(2){background:var(--gold)}.exam-count-card i:nth-child(3){background:var(--green)}.exam-count-card i:nth-child(4){background:var(--rose)}
.set-size-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.set-size-grid article{border:1px solid var(--line);border-radius:18px;padding:20px;text-align:center}.set-size-grid article.featured{background:var(--navy);color:#fff;border:0;transform:translateY(-8px)}.set-size-grid b{font-size:2.4rem;color:var(--gold)}.set-size-grid h3{color:var(--navy)}.set-size-grid .featured h3{color:#fff}.set-size-grid p{color:var(--muted);font-size:.82rem}.set-size-grid .featured p{color:#d8ddf7}
.exam-subject-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.exam-subject-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.exam-subject-card header{display:flex;justify-content:space-between;align-items:center}.exam-subject-card header span{display:grid;place-items:center;width:45px;height:45px;border-radius:13px;background:var(--periwinkle-soft);color:var(--navy);font-weight:900}.exam-subject-card header b{color:var(--gold)}.exam-subject-card h3{color:var(--navy);font-size:1.4rem}.domain-pill-list{display:flex;flex-wrap:wrap;gap:7px}.domain-pill-list span{background:#f4f4f8;border-radius:999px;padding:6px 9px;font-size:.7rem;color:#55596b}.exam-subject-card a{display:inline-block;margin-top:18px;color:var(--navy);font-weight:900;text-decoration:none}
.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.mode-grid article{border:1px solid var(--line);border-radius:20px;padding:25px}.mode-grid span{color:var(--gold);font-weight:950}.mode-grid h3{color:var(--navy)}.mode-grid p{color:var(--muted)}
.premium-exam-note{background:#2a2c45;color:#fff}.premium-exam-note .container{display:grid;grid-template-columns:80px 1fr auto;gap:25px;align-items:center}.premium-exam-note .container>span{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#292417;font-weight:950}.premium-exam-note h2{margin:0}.premium-exam-note p{color:#cfd3e9}
.practice-page{background:#f8f8fb;min-height:calc(100vh - 100px);padding:48px 0}
.practice-builder{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.builder-copy h1{font-size:clamp(3rem,6vw,5rem);line-height:1;color:var(--navy);letter-spacing:-.05em}.builder-copy>p{color:var(--muted)}
.builder-form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:15px;box-shadow:var(--shadow)}
.builder-form label{display:grid;gap:6px;font-size:.78rem;font-weight:900;color:#4e5263}.builder-form select,.builder-form input{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff}.check-label{display:flex!important;align-items:center;gap:9px;align-self:end;padding:11px 0}.check-label input{accent-color:var(--navy)}.builder-form .full,.availability-note{grid-column:1/-1}.availability-note{background:var(--periwinkle-soft);border-radius:11px;padding:11px;color:var(--navy);font-size:.8rem}
.resume-card{margin-top:25px;background:var(--gold-soft);border-radius:15px;padding:16px}.resume-card b,.resume-card span{display:block}.resume-card span{color:#70581d;margin:5px 0 12px}.resume-card>div{display:flex;gap:8px}
.exam-shell{width:min(1450px,calc(100% - 24px));margin:auto;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.exam-toolbar{display:flex;justify-content:space-between;align-items:center;background:var(--navy);color:#fff;padding:14px 20px}.exam-toolbar small,.exam-toolbar b{display:block}.exam-toolbar small{color:#d7ddff}.exam-toolbar-actions{display:flex;align-items:center;gap:9px}.exam-toolbar-actions button{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:9px;padding:8px 11px;font-weight:850}.timer{background:#fff;color:var(--navy);border-radius:9px;padding:8px 12px;font-weight:950;min-width:110px;text-align:center}.timer.warning{background:var(--gold);color:#2c2515}.timer.critical{background:#e45568;color:#fff;animation:pulse 1s infinite}@keyframes pulse{50%{transform:scale(1.04)}}
.exam-body{display:grid;grid-template-columns:300px 1fr;min-height:690px}.question-navigator{border-right:1px solid var(--line);padding:20px;background:#fafafd}.navigator-summary{display:grid;gap:3px}.navigator-summary b{color:var(--navy)}.navigator-summary span{color:var(--muted);font-size:.78rem}.navigator-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:18px 0}.navigator-grid button{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:8px;color:#55596b;font-size:.72rem;font-weight:850}.navigator-grid button.current{background:var(--navy);color:#fff;border-color:var(--navy)}.navigator-grid button.answered{border-color:var(--green);background:#e8f6ef}.navigator-grid button.flagged{box-shadow:inset 0 -4px var(--gold)}.navigator-grid button.current.flagged{box-shadow:inset 0 -4px var(--gold)}
.navigator-legend{display:grid;gap:6px;font-size:.7rem;color:var(--muted)}.navigator-legend span{display:flex;align-items:center;gap:7px}.navigator-legend i{width:15px;height:15px;border:1px solid var(--line);border-radius:4px}.navigator-legend i.current{background:var(--navy)}.navigator-legend i.answered{background:#e8f6ef;border-color:var(--green)}.navigator-legend i.flagged{box-shadow:inset 0 -4px var(--gold)}
.question-stage{padding:36px 50px;max-width:980px}.question-meta{display:flex;justify-content:space-between;color:var(--navy);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.question-stage h2{color:var(--navy);line-height:1.45;font-size:1.35rem;margin:21px 0}.passage-box,.stimulus-box{background:#f5f6fb;border-left:4px solid var(--periwinkle);border-radius:13px;padding:18px;margin:18px 0;white-space:pre-line}.passage-box h3{margin:0 0 10px;color:var(--navy)}.stimulus-box svg{display:block;max-width:620px;width:100%;height:auto;margin:auto}.answer-list{display:grid;gap:10px}.answer-option{display:grid;grid-template-columns:35px 1fr;align-items:center;gap:10px;border:1px solid var(--line);border-radius:13px;padding:12px;cursor:pointer}.answer-option:hover{background:#f8f8ff}.answer-option.selected{border-color:var(--navy);background:var(--periwinkle-soft)}.answer-option input{display:none}.answer-option i{width:31px;height:31px;border-radius:9px;background:#f1f2f7;display:grid;place-items:center;font-style:normal;font-weight:900;color:var(--navy)}.answer-option.selected i{background:var(--navy);color:#fff}.answer-option .visual-choice svg{max-width:150px;height:105px}
.feedback-box{margin-top:17px;border-radius:13px;padding:17px}.feedback-box.correct{background:#e8f6ef;border-left:4px solid var(--green)}.feedback-box.incorrect{background:#fde9ef;border-left:4px solid var(--rose)}.feedback-box ol{padding-left:20px}.feedback-box p{color:#4f5261}.question-controls{display:flex;justify-content:space-between;gap:10px;margin-top:24px}.flag-button{border:0;background:transparent;color:var(--gold);font-weight:900}
.results-view{padding-bottom:70px}.results-hero{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-radius:25px;padding:38px;margin-bottom:20px}.results-hero h1{font-size:4.5rem;line-height:1;margin:10px 0}.results-hero p{color:#dce1ff}
.result-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.result-metrics article{border:1px solid var(--line);border-radius:17px;padding:18px;background:#fff}.result-metrics small,.result-metrics b{display:block}.result-metrics small{color:var(--muted);font-size:.66rem}.result-metrics b{font-size:1.8rem;color:var(--navy)}
.result-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.remediation-list{display:grid;gap:9px}.remediation-list a,.remediation-list div{border:1px solid var(--line);border-radius:11px;padding:11px;text-decoration:none}.remediation-list b{display:block;color:var(--navy)}.remediation-list span{color:var(--muted);font-size:.8rem}
.review-list{display:grid;gap:14px;margin-top:20px}.review-card{border:1px solid var(--line);border-radius:17px;padding:20px;background:#fff}.review-card.correct{border-left:5px solid var(--green)}.review-card.incorrect{border-left:5px solid var(--rose)}.review-card h3{color:var(--navy)}.review-card .review-answer{background:#f5f6fb;border-radius:10px;padding:10px;margin:7px 0}.review-card .review-answer.chosen{outline:2px solid var(--gold)}.review-card .review-answer.right{background:#e8f6ef}
.reviewers-hero .stack-visual{display:grid;gap:10px}.stack-visual span{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 20px;font-weight:900;color:var(--navy);box-shadow:var(--shadow)}.stack-visual span:nth-child(even){transform:translateX(28px);color:#9a6500}
.library-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center}.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;padding:0 12px;min-width:310px}.search-box input{border:0;outline:0;padding:11px 0;width:100%}.filter-group{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);background:#fff;color:#55596b;border-radius:999px;padding:8px 11px;font-weight:850}.filter.active,.filter:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.library-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem;margin:19px 0}
.reviewer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.reviewer-card{border:1px solid var(--line);border-radius:19px;padding:20px;position:relative;display:flex;flex-direction:column}.reviewer-card .reviewer-code{height:110px;border-radius:14px;background:linear-gradient(135deg,var(--periwinkle-soft),#fff4d7);display:grid;place-items:center;font-size:2.4rem;color:var(--navy);font-weight:950}.reviewer-card small{margin-top:15px;color:var(--gold);font-weight:900}.reviewer-card h3{color:var(--navy);line-height:1.25}.reviewer-card p{color:var(--muted);font-size:.86rem;flex:1}.reviewer-actions{display:flex;gap:8px}.reviewer-actions a{flex:1}.small-button{display:inline-flex;justify-content:center;text-decoration:none;border-radius:9px;padding:9px;background:var(--navy);color:#fff;font-size:.78rem;font-weight:900}.bookmark{width:40px;border:1px solid var(--line);background:#fff;color:var(--gold);border-radius:9px}.reviewer-lock{position:absolute;inset:0;background:rgba(255,255,255,.92);display:grid;place-items:center;text-align:center;padding:25px;border-radius:19px}.reviewer-lock span{font-size:1.8rem}.reviewer-lock b{color:var(--navy)}.reviewer-lock a{color:var(--navy);font-weight:900}
.reviewer-standard{background:var(--navy);color:#fff}.reviewer-standard h2{color:#fff}.reviewer-standard p{color:#dce1ff}
.reader-hero{padding:70px 0;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}.reader-title{display:grid;grid-template-columns:1fr 190px;gap:50px;align-items:center}.reader-title h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.98;margin:12px 0}.reader-title p{color:#dce1ff}.reader-badge{width:170px;height:170px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:3.2rem;font-weight:950}
.reader-layout{display:grid;grid-template-columns:240px 1fr;gap:55px;align-items:start}.reader-sidebar{position:sticky;top:115px;display:grid;gap:8px}.reader-sidebar>a{padding:8px 10px;border-left:3px solid var(--periwinkle-soft);text-decoration:none;color:var(--navy);font-weight:800}.reader-warning{background:var(--gold-soft);padding:13px;border-radius:12px;margin-top:12px}.reader-warning p{font-size:.76rem;color:#6d571f}.reader-content{max-width:800px}.reader-content>section{padding-bottom:62px}.reader-points{display:grid;gap:12px}.reader-point{border:1px solid var(--line);border-radius:15px;padding:16px;display:grid;grid-template-columns:42px 1fr;gap:12px}.reader-point span{width:38px;height:38px;border-radius:11px;background:var(--periwinkle-soft);color:var(--navy);display:grid;place-items:center;font-weight:950}.reader-point p{margin:0;color:var(--muted)}.recall-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recall-grid span{border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--navy);font-weight:800}.study-steps li{margin:10px 0;color:var(--muted)}
.tutor-collage{position:relative;height:390px}.tutor-collage img{position:absolute;width:210px;height:280px;object-fit:cover;border-radius:24px;background:#fff;box-shadow:var(--shadow-strong)}.tutor-collage img:nth-child(1){left:0;bottom:0;transform:rotate(-7deg)}.tutor-collage img:nth-child(2){left:145px;top:0;z-index:2}.tutor-collage img:nth-child(3){right:0;bottom:0;transform:rotate(7deg)}
.tutor-toolbar{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:23px}.tutor-toolbar label{display:grid;gap:6px;font-size:.77rem;font-weight:900}.tutor-toolbar select{border:1px solid var(--line);border-radius:10px;padding:10px}
.tutor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.tutor-card{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.tutor-card img{height:245px;width:100%;object-fit:cover}.tutor-card>div{padding:17px;display:flex;flex-direction:column;flex:1}.tutor-card small{color:var(--gold);font-weight:900;text-transform:uppercase}.tutor-card h3{color:var(--navy);line-height:1.25;margin:6px 0}.tutor-card p{color:var(--muted);font-size:.82rem;flex:1}.tutor-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.tutor-tags span{background:#f3f4f8;border-radius:999px;padding:5px 8px;font-size:.66rem;color:#565a6b}.tutor-card a{display:inline-flex;justify-content:center;text-decoration:none;background:var(--navy);color:#fff;border-radius:9px;padding:9px;font-weight:900;font-size:.78rem}
.inquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}.inquiry-layout h2{font-size:clamp(2rem,4vw,3.3rem);color:var(--navy);line-height:1.07}.inquiry-layout>div>p{color:var(--muted)}.inquiry-points{display:grid;gap:8px;color:var(--navy);font-weight:800}
.inquiry-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px;display:grid;grid-template-columns:1fr 1fr;gap:13px}.inquiry-form label{display:grid;gap:5px;font-size:.76rem;font-weight:900}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{border:1px solid var(--line);border-radius:9px;padding:10px}.inquiry-form .full{grid-column:1/-1}.form-status{grid-column:1/-1;margin:0;color:var(--green);font-weight:850}
.tutor-join{background:#292b44;color:#fff}.tutor-join-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}.tutor-join h2{font-size:2.6rem;margin:10px 0}.tutor-join p{color:#cfd3e9}
.profile-hero{padding:65px 0;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}.profile-grid{display:grid;grid-template-columns:330px 1fr;gap:50px;align-items:center}.profile-grid>img{height:390px;width:100%;object-fit:cover;border-radius:28px;background:#fff}.profile-grid h1{font-size:clamp(3rem,6vw,5.2rem);line-height:1;margin:12px 0}.profile-grid p{color:#dce1ff;font-size:1.1rem}.profile-tags{display:flex;gap:7px;flex-wrap:wrap}.profile-tags span{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:6px 9px;font-size:.72rem}
.profile-content{display:grid;grid-template-columns:1fr 340px;gap:55px}.profile-content>section>p{color:var(--muted);font-size:1.02rem}.profile-highlights{display:grid;gap:10px;margin-top:22px}.profile-highlights span{border:1px solid var(--line);border-radius:12px;padding:12px;color:var(--navy);font-weight:800}.profile-content aside{border:1px solid var(--line);border-radius:20px;padding:22px;display:grid;gap:15px}.profile-content aside>div:not(.placeholder-warning){border-bottom:1px solid var(--line);padding-bottom:12px}.profile-content aside small,.profile-content aside b{display:block}.profile-content aside small{color:var(--muted);font-size:.66rem}.profile-content aside b{color:var(--navy)}.placeholder-warning{background:var(--gold-soft);border-radius:12px;padding:13px}.placeholder-warning p{font-size:.76rem;color:#6d571f}
.pricing-hero{text-align:center}.pricing-hero p{margin:auto}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;align-items:stretch}.price-card{border:1px solid var(--line);border-radius:23px;padding:28px;display:flex;flex-direction:column}.price-card>span{color:var(--gold);font-size:.7rem;font-weight:950}.price-card h2{color:var(--navy)}.price-card.featured{background:var(--navy);color:#fff;transform:translateY(-10px);box-shadow:var(--shadow)}.price-card.featured h2{color:#fff}.price{font-size:2.5rem;font-weight:950}.price small{display:block;font-size:.7rem;color:var(--muted)}.featured .price small{color:#dce1ff}.price-card ul{padding-left:20px;flex:1}.price-card li{margin:8px 0;color:var(--muted)}.featured li{color:#dce1ff}
.architecture{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;align-items:center}.architecture p{color:var(--muted)}.architecture-flow{display:flex;align-items:center;gap:9px;overflow:auto}.architecture-flow span{min-width:120px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:14px;text-align:center;font-weight:850;color:var(--navy)}.architecture-flow i{font-style:normal;color:var(--gold)}
.source-lock{width:250px;height:250px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;align-content:center;margin:auto;font-size:3rem}.source-lock b,.source-lock span{font-size:1rem}.source-lock span{color:#dce1ff}
.policy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.policy-grid article{border:1px solid var(--line);border-radius:18px;padding:21px}.policy-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e8f6ef;color:var(--green);font-weight:950}.policy-grid h3{color:var(--navy)}.policy-grid p{color:var(--muted);font-size:.84rem}
.source-table{display:grid;gap:9px}.source-table>div{display:grid;grid-template-columns:180px 1fr 120px;gap:15px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px}.source-table b{color:var(--navy)}.source-table span{color:var(--muted)}.source-table i{font-style:normal;color:#8b670e;font-weight:850}
.quality-workflow{display:grid;grid-template-columns:.7fr 1.3fr;gap:55px}.quality-workflow ol{list-style:none;padding:0;margin:0;display:grid;gap:9px}.quality-workflow li{display:grid;grid-template-columns:120px 1fr;border:1px solid var(--line);border-radius:12px;padding:12px}.quality-workflow li b{color:var(--navy)}.quality-workflow li span{color:var(--muted)}
.about-hero img{max-height:420px;margin:auto}.vision-grid{display:grid;grid-template-columns:330px 1fr;gap:60px;align-items:center}.vision-mark{background:var(--periwinkle-soft);border-radius:50%;aspect-ratio:1;display:grid;place-items:center}.vision-mark img{width:75%;max-height:280px;object-fit:contain}
.roadmap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.roadmap-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}.roadmap-grid span{color:var(--gold);font-size:.7rem;font-weight:950}.roadmap-grid h3{color:var(--navy)}.roadmap-grid p{color:var(--muted)}
.disclaimer{background:#292b44;color:#fff}.disclaimer .container{display:grid;grid-template-columns:80px 1fr;gap:25px}.disclaimer .container>span{width:65px;height:65px;border-radius:50%;background:var(--gold);color:#2b2518;display:grid;place-items:center;font-size:2rem;font-weight:950}.disclaimer h2{margin:0}.disclaimer p{color:#cfd3e9}
.site-footer{background:#242638;color:#cfd1df;padding:60px 0 22px}.footer-grid{display:grid;grid-template-columns:1.7fr .7fr .7fr .7fr;gap:38px}.footer-brand img{width:220px;background:#fff;border-radius:12px;padding:8px}.footer-brand p{color:#aeb1c1}.footer-grid h3{color:#fff;font-size:.73rem;letter-spacing:.1em;text-transform:uppercase}.footer-grid a{display:block;text-decoration:none;color:#c3c6d4;margin:7px 0}.footer-badges{display:flex;gap:6px;flex-wrap:wrap}.footer-badges span{border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:5px 8px;font-size:.63rem}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);margin-top:30px;padding-top:18px;font-size:.75rem;color:#9498aa}
.toast{position:fixed;right:20px;bottom:20px;background:#242638;color:#fff;border-radius:11px;padding:12px 16px;opacity:0;transform:translateY(20px);pointer-events:none;transition:.24s;z-index:200;max-width:340px}.toast.show{opacity:1;transform:none}
.empty-state{padding:40px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:15px}
@media(max-width:1100px){
  .main-nav{display:none;position:absolute;top:78px;left:20px;right:20px;background:var(--cream);border:1px solid var(--line);border-radius:15px;padding:12px;box-shadow:var(--shadow);grid-template-columns:repeat(2,1fr)}.main-nav.open{display:grid}.main-nav a{padding:10px;border:0;border-radius:8px}.main-nav a.active{background:var(--periwinkle-soft)}.menu-toggle{display:block;margin-left:auto}.main-nav{margin-left:0}.nav-actions{margin-left:0}
  .hero-grid,.split-feature,.tutor-teaser,.founder-note-grid,.page-hero-grid,.practice-builder,.inquiry-layout,.architecture,.quality-workflow,.vision-grid,.profile-content,.reader-title{grid-template-columns:1fr}
  .hero-copy{text-align:center}.hero-copy>p{margin:auto}.hero-copy .button-row,.hero-pills{justify-content:center}.hero-visual{max-width:650px;width:100%;margin:auto}
  .path-grid,.reviewer-grid{grid-template-columns:repeat(2,1fr)}.subject-card-grid,.tutor-grid,.policy-grid,.dashboard-metrics{grid-template-columns:repeat(2,1fr)}
  .exam-body{grid-template-columns:240px 1fr}.question-stage{padding:30px}
  .reader-badge{display:none}.reader-layout{grid-template-columns:1fr}.reader-sidebar{position:static;display:flex;flex-wrap:wrap}.reader-warning{width:100%}
  .profile-grid{grid-template-columns:280px 1fr}.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}.roadmap-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}
}
@media(max-width:760px){
  .container{width:min(var(--max),calc(100% - 26px))}.site-note{font-size:.58rem}.nav-wrap{height:68px}.brand{width:145px;flex-basis:145px}.brand img{height:48px}.main-nav{top:68px;grid-template-columns:1fr}.plan-chip{font-size:.65rem}
  .hero-home,.page-hero,.reader-hero,.profile-hero{padding:50px 0}.hero-copy h1,.page-hero h1,.reader-title h1,.profile-grid h1{font-size:3rem}.hero-visual{min-height:420px}.hero-owl{width:300px}.owl-glow{width:330px;height:330px}.floating-card{display:none}.section{padding:62px 0}
  .stat-grid,.path-grid,.subject-card-grid,.dashboard-metrics,.set-size-grid,.exam-subject-grid,.mode-grid,.reviewer-grid,.tutor-grid,.policy-grid,.roadmap-grid,.result-metrics{grid-template-columns:1fr}.stat-grid{transform:none}.stat-grid article{border-right:0;border-bottom:1px solid var(--line)}.stat-grid article:last-child{border:0}
  .feature-checks,.mini-tutor-grid,.recall-grid,.builder-form,.inquiry-form,.result-layout,.dashboard-layout{grid-template-columns:1fr}.builder-form .full,.availability-note,.inquiry-form .full{grid-column:auto}
  .exam-shell{width:100%;border-radius:0;border-left:0;border-right:0}.exam-toolbar{align-items:flex-start;gap:10px}.exam-toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.exam-body{grid-template-columns:1fr}.question-navigator{border-right:0;border-bottom:1px solid var(--line)}.navigator-grid{grid-template-columns:repeat(10,1fr);max-height:140px;overflow:auto}.question-stage{padding:25px 16px}.question-controls{flex-wrap:wrap}.question-controls .button{flex:1}.flag-button{order:3;width:100%}
  .results-hero{border-radius:0;margin-left:-13px;margin-right:-13px}.results-hero h1{font-size:3.5rem}
  .library-toolbar{flex-direction:column;align-items:stretch}.search-box{min-width:0}.library-meta{flex-direction:column;gap:4px}
  .tutor-toolbar{grid-template-columns:1fr}.tutor-collage{height:320px}.tutor-collage img{width:165px;height:220px}.tutor-collage img:nth-child(2){left:50%;transform:translateX(-50%)}.tutor-collage img:nth-child(3){right:5px}.tutor-collage img:nth-child(1){left:5px}
  .profile-grid{grid-template-columns:1fr}.profile-grid>img{max-width:330px;margin:auto}.profile-content{grid-template-columns:1fr}
  .premium-exam-note .container,.tutor-join-grid,.disclaimer .container,.source-table>div{grid-template-columns:1fr}.source-table>div{gap:5px}.source-table i{margin-top:5px}
  .history-item{grid-template-columns:1fr 1fr}.history-item>div:first-child{grid-column:1/-1}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:5px}
}

/* Account, authentication, and cloud-sync additions */
.auth-chip{display:flex;align-items:center;gap:8px;text-decoration:none;border:1px solid #d9dae5;background:#fff;border-radius:999px;padding:6px 11px 6px 6px;color:var(--navy);font-size:.73rem;font-weight:900;white-space:nowrap}
.auth-chip:hover{border-color:var(--periwinkle);box-shadow:0 8px 20px rgba(17,21,111,.10)}
.auth-chip.setup{background:var(--gold-soft);border-color:#ecd48c}
.auth-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:.68rem;letter-spacing:.02em}
.auth-chip.setup .auth-avatar{background:var(--gold);color:#30250d}
.auth-page{min-height:760px;padding:74px 0;background:linear-gradient(135deg,var(--navy),#7484C2 55%,#7484C2);color:#fff}
.auth-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.auth-intro h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.96;letter-spacing:-.06em;margin:14px 0 22px}
.auth-intro>p{color:#dce1ff;font-size:1.04rem;max-width:620px}
.auth-benefits{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:28px 0}.auth-benefits span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);border-radius:11px;padding:10px;font-size:.82rem}
.auth-privacy-note{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:15px;padding:15px}.auth-privacy-note p{color:#dce1ff;margin:4px 0 0;font-size:.8rem}
.auth-card{background:#fff;color:var(--ink);border-radius:25px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.24);min-height:590px}
.auth-card h2{color:var(--navy);font-size:2rem;line-height:1.08;margin:8px 0 20px}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f0f1f6;border-radius:11px;padding:4px;margin-bottom:28px}.auth-tabs button{border:0;background:transparent;border-radius:8px;padding:10px;font-weight:900;color:#666a7c}.auth-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 4px 12px rgba(17,21,111,.08)}
.auth-panel{display:none}.auth-panel.active{display:block}.auth-panel form{display:grid;gap:13px}.auth-panel label,.account-profile-form label{display:grid;gap:5px;color:#525667;font-size:.76rem;font-weight:900}.auth-panel input,.auth-panel select,.account-profile-form input,.account-profile-form select{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff;color:var(--ink)}
.consent-label{grid-template-columns:auto 1fr!important;align-items:start}.consent-label input{margin-top:4px;accent-color:var(--navy)}
.link-button{border:0;background:none;color:var(--navy);font-weight:900;padding:12px 0}
.auth-divider{display:flex;align-items:center;gap:12px;color:#9a9dad;font-size:.7rem;margin:22px 0}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}
.google-button{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:11px;font-weight:900;color:var(--navy)}.google-button b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#f1f2f7}.google-button:disabled{opacity:.48;cursor:not-allowed}
.auth-helper{font-size:.7rem;color:var(--muted);text-align:center}.auth-status{min-height:26px;text-align:center}.form-status.error,.auth-status.error{color:var(--rose)}
.auth-setup{text-align:center;padding:65px 20px}.auth-setup>span{font-size:3rem}.auth-setup p{color:var(--muted)}
.profile-account-hero{padding:55px 0;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}.profile-account-heading{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:22px}.profile-account-heading h1{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1;margin:8px 0}.profile-account-heading p{color:#dce1ff;margin:0}.account-avatar{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#2d2514;font-size:2rem;font-weight:950}
.account-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:start}.account-profile-panel h2,.sync-panel h2,.data-panel h2{color:var(--navy);margin:5px 0 15px}.account-profile-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.account-profile-form .full{grid-column:1/-1}.cloud-badge{border-radius:999px;padding:6px 9px;background:#f1f2f7;color:#676b7d;font-size:.67rem;font-weight:900}.cloud-badge.connected{background:#e8f6ef;color:var(--green)}
.account-sidebar{display:grid;gap:18px}.sync-panel>p,.data-panel>p{color:var(--muted);font-size:.84rem}.sync-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0}.sync-facts span{background:#f5f6fb;border-radius:10px;padding:10px;text-align:center;font-size:.66rem;color:var(--muted)}.sync-facts b{display:block;color:var(--navy);font-size:1.2rem}.sync-panel>small{display:block;color:var(--muted);margin-top:9px;text-align:center}.data-panel{display:grid;gap:10px}
.cloud-account-note{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:var(--periwinkle-soft);border:1px solid #d7dcff;border-radius:16px;padding:15px 18px;margin-bottom:22px}.cloud-account-note>span{width:42px;height:42px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center}.cloud-account-note b{display:block;color:var(--navy)}.cloud-account-note small{color:var(--muted)}.cloud-account-note a{font-weight:900;color:var(--navy);text-decoration:none}
@media(max-width:1100px){.auth-layout,.account-grid{grid-template-columns:1fr}.auth-intro{text-align:center}.auth-intro>p{margin:auto}.profile-account-heading{grid-template-columns:78px 1fr}.profile-account-heading>button{grid-column:1/-1;justify-self:start}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:nth-last-child(-n+2){grid-column:auto}}
@media(max-width:760px){.nav-actions{gap:5px}.auth-chip{padding-right:7px}.auth-label{display:none}.auth-layout{gap:34px}.auth-benefits,.account-profile-form{grid-template-columns:1fr}.account-profile-form .full{grid-column:auto}.auth-card{padding:22px;min-height:0}.profile-account-heading{grid-template-columns:65px 1fr}.account-avatar{width:64px;height:64px;font-size:1.4rem}.sync-facts{grid-template-columns:1fr}.cloud-account-note{grid-template-columns:auto 1fr}.cloud-account-note a{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}}
.footer-grid{grid-template-columns:1.5fr repeat(4,.72fr)}
.privacy-content p{color:var(--muted);font-size:1rem}
.consent-label a{color:var(--navy)}
@media(max-width:1100px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:nth-last-child(-n+2){grid-column:auto}}
@media(max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}


/* Complete DOST-SEI module integration */
.dost-hero{background:linear-gradient(135deg,#0C046D,#7484C2 56%,#7484C2);color:#fff}
.dost-total-card{background:#fff;color:var(--navy);border-radius:24px;padding:30px;box-shadow:0 28px 70px rgba(0,0,0,.22);text-align:center;display:grid;gap:8px;align-content:center;min-height:300px}
.dost-total-card small{font-weight:950;letter-spacing:.12em;color:var(--gold)}
.dost-total-card b{font-size:4.8rem;line-height:1;letter-spacing:-.07em}
.dost-total-card span{color:var(--muted);font-weight:800}
.dost-total-card div{display:flex;justify-content:center;gap:8px;margin-top:10px}.dost-total-card i{width:28px;height:6px;background:var(--periwinkle);border-radius:999px}.dost-total-card i:nth-child(2){background:var(--gold)}.dost-total-card i:nth-child(3){background:var(--rose)}.dost-total-card i:nth-child(4){background:var(--green)}
.dost-subject-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.dost-subject-grid article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:19px;text-align:center}.dost-subject-grid b{display:block;color:var(--navy);font-size:2rem}.dost-subject-grid span{color:var(--muted);font-size:.79rem;font-weight:800}
.dost-feature-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:start}.dark-checks span{color:var(--ink)}.dost-status-panel p{color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line)}.dost-status-panel p:last-child{border:0;padding-bottom:0}.dost-status-panel b{color:var(--navy)}
.dost-notice-section{padding-top:0}.dost-home-feature{background:linear-gradient(135deg,#0C046D,#7484C2);color:#fff}.dost-home-feature .section-heading p{color:#dce1ff}.dost-home-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.dost-home-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dost-home-stats article{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:20px;text-align:center}.dost-home-stats b{display:block;color:var(--gold);font-size:2.1rem}.dost-home-stats span{font-size:.75rem;color:#e5e8ff}
.dost-exam-banner{background:linear-gradient(135deg,var(--navy),#3548b4);color:#fff;border-radius:24px;padding:28px;display:grid;grid-template-columns:1fr auto;gap:25px;align-items:center;box-shadow:var(--shadow)}.dost-exam-banner h2{color:#fff;margin:7px 0}.dost-exam-banner p{color:#dce1ff;margin:0}.dost-exam-banner .dost-mini-stats{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.dost-exam-banner .dost-mini-stats span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 10px;font-size:.69rem;font-weight:800}
@media(max-width:1100px){.dost-feature-grid,.dost-home-grid{grid-template-columns:1fr}.dost-subject-grid{grid-template-columns:repeat(2,1fr)}.dost-exam-banner{grid-template-columns:1fr}.dost-exam-banner .button{justify-self:start}}
@media(max-width:760px){.dost-subject-grid,.dost-home-stats{grid-template-columns:1fr}.dost-total-card{min-height:230px}.dost-total-card b{font-size:3.8rem}.dost-exam-banner{padding:22px}}


/* Practice Hubs dropdown: DOST-SEI is nested here instead of being a separate top-level menu item. */
.nav-dropdown{position:relative;display:flex;align-items:stretch}
.nav-dropdown-toggle{border:0;background:transparent;color:#505367;font-size:.81rem;font-weight:850;padding:27px 0 23px;border-bottom:3px solid transparent;display:flex;align-items:center;gap:6px}
.nav-dropdown-toggle span{font-size:.9rem;transition:transform .18s ease}
.nav-dropdown:hover .nav-dropdown-toggle,.nav-dropdown:focus-within .nav-dropdown-toggle,.nav-dropdown.active .nav-dropdown-toggle,.nav-dropdown.open .nav-dropdown-toggle{color:var(--navy);border-color:var(--gold)}
.nav-dropdown:hover .nav-dropdown-toggle span,.nav-dropdown:focus-within .nav-dropdown-toggle span,.nav-dropdown.open .nav-dropdown-toggle span{transform:rotate(180deg)}
.nav-submenu{position:absolute;top:calc(100% - 7px);left:-16px;z-index:120;min-width:235px;padding:9px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:.18s ease;display:grid;gap:3px}
.nav-dropdown:hover .nav-submenu,.nav-dropdown:focus-within .nav-submenu,.nav-dropdown.open .nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.main-nav .nav-submenu a{padding:10px 12px;border:0;border-radius:9px;font-size:.78rem;color:#505367}
.main-nav .nav-submenu a:hover,.main-nav .nav-submenu a.active{background:var(--periwinkle-soft);color:var(--navy);border:0}
@media(max-width:1100px){
  .nav-dropdown{display:block}
  .nav-dropdown-toggle{width:100%;padding:10px;border:0;border-radius:8px;text-align:left;justify-content:space-between}
  .nav-dropdown.active .nav-dropdown-toggle,.nav-dropdown.open .nav-dropdown-toggle{background:var(--periwinkle-soft)}
  .nav-submenu{position:static;min-width:0;margin:4px 0 4px 10px;padding:5px;border:0;border-left:3px solid var(--gold);border-radius:0;box-shadow:none;background:transparent;opacity:1;visibility:visible;pointer-events:auto;transform:none;display:none}
  .nav-dropdown.open .nav-submenu{display:grid}
  .main-nav .nav-submenu a{padding:9px 11px;background:#fff}
}

/* Tutor Marketplace — publishable Supabase-backed experience */
.admin-only[hidden]{display:none!important}
.marketplace-alert{border:1px solid #e4c36a;background:#fff6d8;color:#66500b;border-radius:14px;padding:14px 17px;margin-bottom:22px;display:flex;gap:8px;flex-wrap:wrap}.marketplace-alert b{color:#4a3900}.marketplace-alert.error{background:#fff0f4;border-color:#efb5ca;color:#84274b}
.marketplace-hero-card,.commission-summary-card,.booking-process-card,.admin-security-card,.tutor-dashboard-status{background:#fff;color:var(--ink);border-radius:22px;padding:25px;box-shadow:0 24px 70px rgba(0,0,0,.20)}
.marketplace-hero-card>span,.commission-summary-card>span,.tutor-dashboard-status>span{display:block;color:var(--gold);font-weight:950;font-size:.69rem;letter-spacing:.12em}.marketplace-hero-card ol{margin:15px 0 0;padding-left:20px;display:grid;gap:8px}.marketplace-hero-card li{color:#4f5364}
.tutor-toolbar-expanded{grid-template-columns:1.5fr 1fr 1fr 1fr auto;align-items:end}.tutor-toolbar input,.tutor-toolbar select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.directory-summary{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0 0 20px;color:var(--muted);font-size:.82rem}.directory-summary a{color:var(--navy);font-weight:900}
.marketplace-tutor-grid{grid-template-columns:repeat(3,1fr)}.marketplace-card{box-shadow:0 12px 38px rgba(17,21,111,.07);transition:.2s}.marketplace-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.marketplace-card>div{padding:0;display:block}.marketplace-card .tutor-photo-wrap{position:relative}.marketplace-card .tutor-photo-wrap img{height:260px;width:100%;object-fit:cover;background:var(--periwinkle-soft)}.verified-badge{position:absolute;left:13px;bottom:13px;background:#e7f6ef;color:var(--green);border:1px solid #b9e1d1;border-radius:999px;padding:6px 10px;font-size:.67rem;font-weight:950}.marketplace-card .tutor-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.marketplace-card .tutor-card-body>a{margin-top:auto}.tutor-rating{display:flex;justify-content:space-between;gap:8px;align-items:center}.tutor-rating b{color:var(--navy);font-size:1.05rem}.tutor-rating span{color:var(--gold);font-size:.72rem;font-weight:900}.tutor-headline{min-height:46px}.tutor-facts{display:grid;gap:7px;margin:13px 0 18px}.tutor-facts div{display:grid;grid-template-columns:70px 1fr;gap:7px}.tutor-facts dt{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.tutor-facts dd{margin:0;color:var(--ink);font-size:.76rem}.loading-state,.empty-state{grid-column:1/-1;border:1px dashed #cfd2e2;border-radius:18px;padding:35px;text-align:center;color:var(--muted);background:#fbfbfe}.empty-state h3{color:var(--navy);margin-top:0}.tutor-launch-empty{grid-column:1/-1;background:#fff;border:1px dashed #cfd2e2;border-radius:18px;padding:28px;text-align:center}.tutor-launch-empty b{color:var(--navy)}.tutor-launch-empty p{color:var(--muted)}.tutor-launch-empty a{color:var(--navy);font-weight:900}
.three-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.three-step-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:23px}.three-step-grid article>span{color:var(--gold);font-weight:950}.three-step-grid h3{color:var(--navy)}.three-step-grid p{color:var(--muted)}

.tutor-application-hero{background:linear-gradient(135deg,var(--cream),var(--periwinkle-soft))}.commission-summary-card{box-shadow:var(--shadow);display:grid;gap:10px}.commission-summary-card div{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;border-top:1px solid var(--line);padding-top:10px}.commission-summary-card b{font-size:1.75rem;color:var(--navy)}.commission-summary-card small{color:var(--muted)}.commission-summary-card a{color:var(--navy);font-weight:900;text-decoration:none}
.onboarding-layout{display:grid;grid-template-columns:270px 1fr;gap:24px;align-items:start}.onboarding-sidebar{position:sticky;top:104px;display:grid;gap:14px}.status-card,.security-note{border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff}.status-card h2{color:var(--navy);font-size:1.25rem;margin:7px 0}.status-card p,.security-note p{color:var(--muted);font-size:.78rem}.onboarding-nav{display:grid;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.onboarding-nav a{text-decoration:none;padding:11px 14px;border-bottom:1px solid var(--line);font-size:.77rem;font-weight:850;color:var(--navy)}.onboarding-nav a:last-child{border:0}.marketplace-form{display:grid;gap:19px}.form-section{scroll-margin-top:110px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}.marketplace-form label{display:grid;gap:6px;font-size:.76rem;font-weight:900;color:#505466}.marketplace-form input,.marketplace-form select,.marketplace-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff;color:var(--ink)}.marketplace-form small{color:var(--muted);font-weight:500}.marketplace-form fieldset{border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 15px}.marketplace-form legend{color:var(--navy);font-weight:950;padding:0 6px}.checkbox-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.checkbox-grid label{display:flex;align-items:center;gap:8px;background:#f7f8fc;border-radius:9px;padding:9px}.checkbox-grid input{width:auto;accent-color:var(--navy)}.photo-preview{display:flex;align-items:center;gap:14px;background:#f7f8fc;border-radius:14px;padding:12px}.photo-preview img{width:78px;height:78px;object-fit:cover;border-radius:15px;background:#fff}.photo-preview span{color:var(--muted);font-size:.76rem}.availability-builder{display:grid;gap:10px;margin:15px 0}.availability-row{display:grid;grid-template-columns:1fr .8fr .8fr 1fr 1.2fr auto;gap:8px;align-items:end;background:#f7f8fc;border-radius:12px;padding:10px}.icon-button{width:38px;height:38px;border:0;border-radius:9px;background:#fee9ef;color:var(--rose);font-size:1.3rem}.document-list{display:grid;gap:8px;margin-top:15px}.document-item{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:11px}.document-item b,.document-item span{display:block}.document-item span{font-size:.73rem;color:var(--muted)}.muted{color:var(--muted)}
.role-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-card{display:flex!important;align-items:flex-start;gap:10px;border:2px solid var(--line);border-radius:13px;padding:13px;cursor:pointer}.role-card:has(input:checked){border-color:var(--navy);background:var(--periwinkle-soft)}.role-card input{width:auto;margin-top:4px;accent-color:var(--navy)}.role-card b,.role-card small{display:block}.role-card small{color:var(--muted);margin-top:3px}.auth-subfields{display:grid;grid-template-columns:1fr 1fr;gap:13px}

.tutor-profile-hero{padding:60px 0;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}.tutor-profile-heading{display:grid;grid-template-columns:220px 1fr;gap:35px;align-items:center}.tutor-profile-heading>img{width:220px;height:250px;object-fit:cover;border-radius:24px;background:#fff;border:5px solid rgba(255,255,255,.18)}.tutor-profile-heading h1{font-size:clamp(2.8rem,6vw,5rem);line-height:1;margin:10px 0}.tutor-profile-heading p{color:#dce1ff;font-size:1.05rem}.light-link{color:#fff}.profile-tags{display:flex;gap:7px;flex-wrap:wrap}.profile-tags span{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.09);border-radius:999px;padding:6px 9px;font-size:.68rem}.tutor-public-layout{display:grid;grid-template-columns:1fr 380px;gap:22px;align-items:start}.tutor-public-layout>div{display:grid;gap:18px}.tutor-about-panel h2,.booking-card h2{color:var(--navy)}.profile-highlights span{display:grid;grid-template-columns:145px 1fr;gap:8px}.profile-highlights span b{color:var(--navy)}.booking-sidebar{position:sticky;top:105px}.booking-card form{display:grid;gap:11px}.booking-card label{display:grid;gap:5px;font-size:.74rem;font-weight:900}.booking-card input,.booking-card select,.booking-card textarea{border:1px solid var(--line);border-radius:9px;padding:10px}.booking-rate{display:flex;align-items:end;gap:8px;margin:10px 0}.booking-rate b{color:var(--navy);font-size:2rem}.booking-rate span{color:var(--muted)}.rating-summary{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin-bottom:12px}.rating-summary b{color:var(--gold)}.rating-summary span{color:var(--muted);font-size:.75rem}.booking-estimate{display:flex;justify-content:space-between;gap:10px;background:var(--periwinkle-soft);border-radius:10px;padding:10px}.booking-estimate b{color:var(--navy)}.booking-note{color:var(--muted);font-size:.68rem;margin-bottom:0}.availability-public-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.availability-public-list>div{background:#f7f8fc;border-radius:11px;padding:11px;display:grid}.availability-public-list b{color:var(--navy)}.availability-public-list span{font-size:.78rem}.availability-public-list small{color:var(--muted)}.review-list{display:grid;gap:10px}.review-list article{border:1px solid var(--line);border-radius:12px;padding:13px}.review-list article>div{display:flex;justify-content:space-between}.review-list b{color:var(--gold)}.review-list time{font-size:.7rem;color:var(--muted)}

.bookings-hero,.tutor-dashboard-hero,.admin-hero{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}.bookings-hero h1,.tutor-dashboard-hero h1,.admin-hero h1{color:#fff}.bookings-hero p,.tutor-dashboard-hero p,.admin-hero p{color:#dce1ff}.booking-process-card{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}.booking-process-card span{background:var(--periwinkle-soft);color:var(--navy);border-radius:999px;padding:8px 10px;font-size:.68rem;font-weight:950}.booking-process-card i{color:var(--gold);font-style:normal}.booking-tabs,.admin-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.booking-tabs button,.admin-tabs button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;padding:8px 13px;font-weight:900}.booking-tabs button.active,.admin-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.booking-list,.admin-list{display:grid;gap:15px}.booking-item,.admin-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.booking-item-head,.admin-card-head{display:flex;justify-content:space-between;gap:16px;align-items:start}.booking-item-head h2,.admin-card-head h3{color:var(--navy);margin:8px 0 2px}.booking-item-head p,.admin-card-head p{color:var(--muted);margin:0}.booking-item-head a{color:var(--navy);font-weight:900}.status-pill{display:inline-block;border-radius:999px;padding:5px 8px;background:#eef0f7;color:#555b70;font-size:.65rem;font-weight:950;text-transform:uppercase}.status-approved,.status-completed{background:#e6f6ee;color:var(--green)}.status-pending,.status-requested,.status-accepted{background:#fff2c9;color:#725600}.status-rejected,.status-declined,.status-cancelled,.status-suspended,.status-refunded{background:#fee9ef;color:var(--rose)}.status-paid,.status-session_delivered{background:#e8edff;color:var(--navy)}.booking-details{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:15px 0}.booking-details div{background:#f7f8fc;border-radius:10px;padding:10px}.booking-details dt{font-size:.62rem;color:var(--muted);font-weight:900;text-transform:uppercase}.booking-details dd{margin:3px 0 0;color:var(--navy);font-weight:850;font-size:.8rem}.booking-goal,.booking-note-inline{color:var(--muted);font-size:.82rem}.booking-actions{display:flex;gap:8px;flex-wrap:wrap}.inline-review-form{border-top:1px solid var(--line);margin-top:15px;padding-top:15px;display:grid;gap:9px}.inline-review-form[hidden]{display:none}.inline-review-form label{display:grid;gap:5px;font-size:.74rem;font-weight:900}.inline-review-form select,.inline-review-form textarea{border:1px solid var(--line);border-radius:9px;padding:10px}
.tutor-dashboard-status{display:grid;gap:5px}.tutor-dashboard-status>b{font-size:1.6rem;color:var(--navy)}.tutor-dashboard-status small{color:var(--muted)}.tutor-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.tutor-metric-grid article{border:1px solid var(--line);border-radius:17px;padding:18px}.tutor-metric-grid span,.tutor-metric-grid small{display:block;color:var(--muted);font-size:.7rem}.tutor-metric-grid b{display:block;color:var(--navy);font-size:1.5rem;margin:5px 0}.dashboard-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.commission-calculator label{display:grid;gap:5px;font-size:.75rem;font-weight:900}.commission-calculator input{border:1px solid var(--line);border-radius:10px;padding:11px}.commission-result{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.commission-result div{background:var(--periwinkle-soft);border-radius:12px;padding:13px}.commission-result span{display:block;color:var(--muted);font-size:.7rem}.commission-result b{display:block;color:var(--navy);font-size:1.3rem}.tier-mini-list{display:grid;gap:9px}.tier-mini-list div{border-left:4px solid var(--gold);background:#fafbff;padding:10px 12px}.tier-mini-list b,.tier-mini-list span{display:block}.tier-mini-list b{color:var(--navy)}.tier-mini-list span{color:var(--muted);font-size:.74rem}.ledger-table{border:1px solid var(--line);border-radius:16px;overflow:hidden}.ledger-row{display:grid;grid-template-columns:1.1fr repeat(5,1fr);gap:8px;padding:12px 14px;border-top:1px solid var(--line);font-size:.78rem}.ledger-row:first-child{border-top:0}.ledger-head{background:var(--navy);color:#fff;font-weight:900}.ledger-row b{color:var(--navy)}

.admin-security-card{color:var(--ink)}.admin-security-card b{color:var(--navy)}.admin-security-card p{color:var(--muted)}.admin-panel{display:none}.admin-panel.active{display:block}.admin-card-head>img{width:90px;height:100px;object-fit:cover;border-radius:13px;background:var(--periwinkle-soft)}.admin-card-head{display:grid;grid-template-columns:90px 1fr auto}.admin-profile-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.admin-profile-summary p{background:#f7f8fc;border-radius:9px;padding:9px;margin:0;font-size:.75rem}.admin-documents{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:13px}.document-link{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px;display:flex;justify-content:space-between;text-align:left}.document-link b,.document-link small{display:block}.document-link small{color:var(--muted)}.founding-check{display:flex!important;align-items:center;gap:8px;margin:13px 0;color:var(--navy)!important}.founding-check input{width:auto!important}.admin-card label{display:grid;gap:5px;font-size:.74rem;font-weight:900}.admin-card input,.admin-card textarea{border:1px solid var(--line);border-radius:9px;padding:10px}.admin-actions,.admin-payment-form,.admin-complete-form{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin-top:12px}.admin-payment-form label{flex:1}.admin-card.working{opacity:.55;pointer-events:none}.role-action-list{display:grid;gap:8px;margin-top:12px}

.policy-layout{display:grid;grid-template-columns:250px 1fr;gap:45px;align-items:start}.commission-policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.commission-policy-grid article{border:1px solid var(--line);border-radius:15px;padding:17px}.commission-policy-grid article>b{font-size:2rem;color:var(--gold)}.commission-policy-grid h3{color:var(--navy);margin:5px 0}.commission-policy-grid p{font-size:.83rem}.privacy-content ol{color:var(--muted);display:grid;gap:7px}

@media(max-width:1100px){
  .tutor-toolbar-expanded{grid-template-columns:1fr 1fr}.tutor-toolbar-expanded .button{align-self:end}.marketplace-tutor-grid{grid-template-columns:repeat(2,1fr)}.onboarding-layout,.tutor-public-layout,.policy-layout{grid-template-columns:1fr}.onboarding-sidebar,.booking-sidebar{position:static}.onboarding-nav{grid-template-columns:repeat(3,1fr)}.onboarding-nav a{border-right:1px solid var(--line)}.availability-row{grid-template-columns:1fr 1fr 1fr}.availability-row .icon-button{align-self:end}.tutor-metric-grid{grid-template-columns:repeat(2,1fr)}.booking-details{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .tutor-toolbar-expanded,.marketplace-tutor-grid,.three-step-grid,.form-grid,.checkbox-grid,.role-choice,.auth-subfields,.availability-public-list,.tutor-metric-grid,.dashboard-two-column,.commission-policy-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.onboarding-nav{grid-template-columns:1fr}.availability-row{grid-template-columns:1fr 1fr}.tutor-profile-heading{grid-template-columns:1fr;text-align:center}.tutor-profile-heading>img{margin:auto;width:180px;height:205px}.profile-tags{justify-content:center}.booking-item-head,.admin-card-head{display:grid;grid-template-columns:1fr}.admin-card-head>img{width:100%;height:220px}.booking-details,.admin-profile-summary,.commission-result{grid-template-columns:1fr}.ledger-table{overflow:auto}.ledger-row{min-width:700px}.directory-summary{align-items:flex-start;flex-direction:column}.availability-row .icon-button{grid-column:1/-1}.profile-highlights span{grid-template-columns:1fr}.booking-process-card{justify-content:flex-start}
}

/* Always honor native hidden state, even when component classes set display. */
[hidden]{display:none!important}

/* Private booking messaging */
.messages-hero{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff}
.messages-hero h1{color:#fff}
.messages-hero p{color:#dce1ff}
.message-safety-card{background:#fff;color:var(--ink);border-radius:22px;padding:25px;box-shadow:var(--shadow-strong)}
.message-safety-card b{display:block;color:var(--navy);font-size:1.05rem;margin-bottom:8px}
.message-safety-card p{color:var(--muted);margin:0}
.message-page-section{padding-top:48px}
.message-layout{display:grid;grid-template-columns:350px minmax(0,1fr);min-height:680px;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}
.thread-sidebar{border-right:1px solid var(--line);background:#fafbff;min-width:0}
.thread-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px;border-bottom:1px solid var(--line)}
.thread-sidebar-head h2{margin:2px 0 0;color:var(--navy);font-size:1.5rem}
.icon-button{width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--navy);font-weight:950}
.thread-list{display:grid;max-height:680px;overflow:auto}
.thread-item{position:relative;width:100%;display:grid;grid-template-columns:46px minmax(0,1fr);gap:11px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:15px 17px;text-align:left;color:inherit}
.thread-item:hover,.thread-item.active{background:#eef1ff}
.thread-item.active{box-shadow:inset 4px 0 0 var(--gold)}
.thread-avatar{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:950}
.thread-copy{min-width:0;display:grid;gap:3px}
.thread-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.thread-title-row b{color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread-title-row time{font-size:.66rem;color:var(--muted);white-space:nowrap}
.thread-copy small{color:var(--muted);font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread-preview{color:#6b6e7d;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread-unread{position:absolute;right:16px;bottom:14px;min-width:21px;height:21px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:var(--rose);color:#fff;font-size:.65rem;font-weight:950}
.conversation-shell{min-width:0;background:#fff;display:flex;flex-direction:column}
.conversation-empty{min-height:680px;display:grid;place-content:center;text-align:center;padding:40px;color:var(--muted)}
.conversation-empty img{width:95px;margin:0 auto 16px;opacity:.82}
.conversation-empty h2{color:var(--navy);margin:0 0 7px}
.conversation-empty p{margin:0}
.conversation-panel{min-height:680px;display:grid;grid-template-rows:auto auto minmax(280px,1fr) auto}
.conversation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line)}
.conversation-head h2{color:var(--navy);margin:7px 0 2px}
.conversation-head p{color:var(--muted);margin:0;font-size:.8rem}
.conversation-notice{display:flex;gap:9px;align-items:center;padding:10px 22px;background:var(--gold-soft);color:#5d501a;font-size:.75rem}
.conversation-notice b{color:var(--navy)}
.message-stream{padding:22px;overflow:auto;background:linear-gradient(180deg,#fbfbff,#f6f7fc);display:flex;flex-direction:column;gap:12px}
.message-bubble{max-width:min(76%,680px);border:1px solid var(--line);border-radius:18px 18px 18px 5px;padding:11px 14px;background:#fff;box-shadow:0 8px 20px rgba(17,21,111,.06)}
.message-bubble.mine{align-self:flex-end;background:var(--navy);color:#fff;border-color:var(--navy);border-radius:18px 18px 5px 18px}
.message-bubble.role-admin:not(.mine){border-color:#e7c65c;background:#fff9df}
.message-meta{display:flex;justify-content:space-between;gap:14px;margin-bottom:5px;font-size:.68rem}
.message-meta b{color:var(--navy)}
.message-meta time{color:var(--muted)}
.message-bubble.mine .message-meta b,.message-bubble.mine .message-meta time{color:#dce1ff}
.message-bubble p{margin:0;white-space:normal;overflow-wrap:anywhere}
.message-bubble a{font-weight:850;text-decoration:underline}
.system-message{align-self:center;max-width:84%;display:grid;gap:3px;text-align:center;background:#e9ecf8;color:#555b70;border-radius:999px;padding:7px 13px;font-size:.7rem}
.system-message time{font-size:.6rem;color:#7d8090}
.conversation-start{margin:auto;text-align:center;color:var(--muted);padding:30px}
.conversation-start b{color:var(--navy)}
.message-composer{border-top:1px solid var(--line);padding:16px 20px;background:#fff;display:grid;gap:7px}
.message-composer>label{font-size:.72rem;font-weight:900;color:var(--navy)}
.message-composer textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:13px;padding:11px 13px;min-height:82px}
.message-composer textarea:focus{outline:3px solid rgba(111,132,220,.18);border-color:var(--periwinkle)}
.message-composer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.message-composer-foot small{color:var(--muted)}
.message-closed-note{margin:0;color:var(--rose);font-size:.73rem}
.empty-state.compact{padding:28px 18px}
.message-report-card blockquote{margin:14px 0;border-left:4px solid var(--gold);background:#fafbff;padding:12px;color:var(--muted)}
.status-open,.status-reviewing{background:#fff2c9;color:#725600}
.status-resolved{background:#e6f6ee;color:var(--green)}
.status-dismissed{background:#eef0f7;color:#555b70}

@media(max-width:900px){
  .message-layout{grid-template-columns:290px minmax(0,1fr)}
  .conversation-head{display:grid}
  .conversation-head .button{justify-self:start}
}
@media(max-width:760px){
  .message-layout{grid-template-columns:1fr;min-height:0}
  .thread-sidebar{border-right:0;border-bottom:1px solid var(--line)}
  .thread-list{max-height:310px}
  .conversation-panel,.conversation-empty{min-height:620px}
  .message-bubble{max-width:90%}
  .conversation-notice{align-items:flex-start;display:grid}
}

/* Private client payments and weekly tutor payouts */
.private-field-notice,.payment-warning,.payment-review-note,.payment-pending-message{display:grid;gap:4px;border-radius:14px;padding:13px 15px;margin-bottom:16px}
.private-field-notice{background:var(--periwinkle-soft);border:1px solid #d7dcfa}
.private-field-notice b,.private-field-notice span{display:block}.private-field-notice b{color:var(--navy)}.private-field-notice span{color:var(--muted);font-size:.78rem}
.payout-qr-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px dashed var(--line);border-radius:13px;padding:12px 14px;background:#fafbff;color:var(--muted)}
.booking-payment-panel{margin:17px 0;border:1px solid #d8ddf6;border-radius:18px;padding:18px;background:linear-gradient(180deg,#fbfcff,#f5f7ff)}
.payment-panel-loading,.payment-panel-error{display:grid;gap:5px;color:var(--muted)}
.payment-panel-error{padding:12px;border-radius:12px;background:#fff1f1;color:#8a2c37}.payment-panel-error b{color:#76212d}
.payment-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.payment-panel-heading h3{margin:3px 0 0;color:var(--navy)}
.payment-instruction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.payment-instruction-grid>div{position:relative;border:1px solid var(--line);border-radius:13px;padding:12px;background:#fff}.payment-instruction-grid .full{grid-column:1/-1}.payment-instruction-grid span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.payment-instruction-grid b{display:block;color:var(--navy);margin-top:4px;overflow-wrap:anywhere}.payment-instruction-grid .text-button{margin-top:7px}.payment-account-number{font-size:1.15rem;letter-spacing:.04em}
.payment-instructions-copy{color:var(--muted);margin:13px 0}
.payment-qr-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:center;gap:18px;margin:15px 0;padding:16px;border:1px solid #cfd7f4;border-radius:16px;background:#fff}
.payment-qr-copy{display:grid;align-content:center;justify-items:start;gap:7px}.payment-qr-copy h4{margin:0;color:var(--navy);font-size:1.12rem}.payment-qr-copy p{margin:0 0 6px;color:var(--muted);font-size:.82rem;line-height:1.55}.payment-qr-copy .button{padding:10px 15px}
.payment-qr-card img{display:block;width:100%;max-width:300px;justify-self:end;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 12px 30px rgba(17,21,111,.09)}
.payment-warning{background:#fff8dc;border:1px solid #ead47f}.payment-warning b{color:#67530b}.payment-warning span{color:#6d602c;font-size:.77rem}.payment-review-note{background:#fff0f1;border:1px solid #efc3c9}.payment-review-note b{color:#7b2532}.payment-review-note span{color:#7c4e55;font-size:.77rem}.payment-pending-message{background:#eef8f3;border:1px solid #bee5d2}.payment-pending-message b{color:var(--green)}.payment-pending-message p{margin:0;color:#426655;font-size:.77rem}
.payment-proof-form{margin-top:15px;border-top:1px solid var(--line);padding-top:16px}.payment-proof-form .button{margin-top:10px}
.payment-confirmed-card{display:grid;gap:5px;background:#e9f8f0;border:1px solid #bde4cd;border-radius:14px;padding:16px}.payment-confirmed-card span{color:var(--green);font-size:.7rem;font-weight:950;letter-spacing:.06em}.payment-confirmed-card b{color:var(--navy);font-size:1.5rem}.payment-confirmed-card p{margin:0;color:#426655}
.admin-private-payout,.payout-destination-card{display:grid;gap:5px;border-radius:14px;padding:14px;margin:14px 0}.admin-private-payout.ready,.payout-destination-card.ready{background:#eef8f3;border:1px solid #bee5d2}.admin-private-payout.incomplete,.payout-destination-card.incomplete{background:#fff1f1;border:1px solid #efc3c9}.admin-private-payout span,.payout-destination-card span{font-size:.67rem;font-weight:950;letter-spacing:.05em;color:var(--muted)}.admin-private-payout b,.payout-destination-card b{color:var(--navy)}.admin-private-payout p,.payout-destination-card p{margin:0;color:var(--muted)}
.admin-payment-proof{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:12px 0}.admin-payment-proof small{color:var(--muted)}.admin-payout-form{display:grid;gap:10px;margin-top:14px}.admin-payout-form label{display:grid;gap:5px;font-size:.73rem;font-weight:900}.admin-payout-form input{border:1px solid var(--line);border-radius:10px;padding:11px}.admin-payout-form .muted{margin:0}
.private-payout-account{display:grid;gap:9px;margin:12px 0}.private-payout-account>div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:9px}.private-payout-account span{color:var(--muted);font-size:.75rem}.private-payout-account b{color:var(--navy);text-align:right}.simple-steps{display:grid;gap:10px;padding-left:20px;color:var(--muted)}.simple-steps li::marker{color:var(--gold);font-weight:950}.payout-history-heading{margin-top:34px}.status-pending{background:#fff2c9;color:#725600}.status-paid{background:#e6f6ee;color:var(--green)}
.policy-section{max-width:1100px;margin:0 auto;padding:18px 24px}.policy-section h2{color:var(--navy)}.policy-section p{color:var(--muted)}
.conversation-notice a{color:var(--navy);font-weight:900;text-decoration:underline}

@media(max-width:760px){
  .payment-panel-heading{display:grid}.payment-qr-card{grid-template-columns:1fr}.payment-qr-card img{justify-self:center;max-width:360px}.payment-instruction-grid{grid-template-columns:1fr}.payment-instruction-grid .full{grid-column:auto}.payout-qr-preview,.private-payout-account>div{align-items:flex-start;display:grid}.private-payout-account b{text-align:left}
}


/* --------------------------------------------------------------------------
   Refined landing page and regional location insights
   -------------------------------------------------------------------------- */
.home-refined{background:#fff}
.home-hero-clean{padding:78px 0 72px;background:#fff;border-bottom:1px solid var(--line)}
.home-hero-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(480px,1.12fr);gap:72px;align-items:center}
.home-hero-copy{max-width:650px}
.home-hero-copy h1{font-size:clamp(3.2rem,6vw,5.65rem);line-height:.97;letter-spacing:-.065em;color:var(--navy);margin:16px 0 24px}
.home-hero-copy>p{font-size:1.12rem;line-height:1.75;color:var(--muted);max-width:620px}
.home-account-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 14px}
.home-account-note{font-size:.9rem!important;line-height:1.55!important;color:#667085!important;max-width:610px!important}
.home-choice-panel{border:1px solid #dfe3f0;background:#fbfcff;border-radius:24px;padding:28px;box-shadow:0 22px 55px rgba(25,31,88,.10)}
.home-choice-heading{padding:0 4px 18px;border-bottom:1px solid var(--line)}
.home-choice-heading span{display:block;color:var(--blue);font-weight:800;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}
.home-choice-heading h2{font-size:1.75rem;letter-spacing:-.035em;color:var(--navy);margin:7px 0 0}
.home-choice-list{display:grid}
.home-choice-list a{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:19px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .18s ease,padding .18s ease,color .18s ease}
.home-choice-list a:last-child{border-bottom:0}
.home-choice-list a:hover,.home-choice-list a:focus-visible{background:#f1f3ff;padding-left:14px;padding-right:14px;color:var(--navy);outline:none;border-radius:12px}
.home-choice-list b{display:block;font-size:1.02rem;margin-bottom:4px}
.home-choice-list small{display:block;color:var(--muted);line-height:1.45}
.home-choice-list i{font-style:normal;font-size:1.35rem;color:var(--blue)}
.home-location-section{background:#f7f8fc;border-bottom:1px solid var(--line)}
.location-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr);gap:70px;align-items:center}
.location-copy h2,.home-tutor-layout h2,.home-final-cta h2{font-size:clamp(2.3rem,4.5vw,4rem);line-height:1.02;letter-spacing:-.052em;color:var(--navy);margin:12px 0 18px}
.location-copy>p,.home-tutor-layout>div>p{font-size:1.02rem;line-height:1.75;color:var(--muted)}
.location-layer-tabs,.location-mode-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}
.location-mode-filter{margin-top:10px}
.location-layer-tabs button,.location-mode-filter button{border:1px solid #d9deeb;background:#fff;color:#454b67;border-radius:999px;padding:9px 14px;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer}
.location-layer-tabs button.active,.location-mode-filter button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.location-summary{margin-top:24px;padding:18px 20px;border:1px solid #dde2ef;border-radius:16px;background:#fff;display:grid;gap:4px}
.location-summary b{color:var(--navy);font-size:1.05rem}
.location-summary span{color:var(--muted);font-size:.9rem}
.location-region-list{display:grid;gap:7px;margin-top:12px}
.location-region-list button{display:flex;justify-content:space-between;gap:18px;width:100%;padding:11px 14px;border:0;border-bottom:1px solid #e2e5ee;background:transparent;color:#414862;text-align:left;font:inherit;cursor:pointer}
.location-region-list button:hover{color:var(--navy);background:#fff;border-radius:8px}
.location-region-list b{color:var(--navy)}
.location-privacy-note{font-size:.82rem!important;line-height:1.55!important;margin-top:18px;color:#697089!important}
.philippines-map-card{background:#fff;border:1px solid #dde2ed;border-radius:26px;padding:26px;box-shadow:0 24px 60px rgba(23,26,112,.09)}
.philippines-map{width:100%;max-height:640px;display:block}
.map-grid path{fill:none;stroke:#eef0f6;stroke-width:1}
.ph-outline path,.ph-outline circle{fill:#e8ebf7;stroke:#cfd5e8;stroke-width:2}
.map-marker{cursor:pointer;outline:none}
.map-marker circle{fill:#7e8be0;opacity:var(--marker-opacity,.18);stroke:#fff;stroke-width:3;filter:drop-shadow(0 4px 8px rgba(24,31,107,.2));transition:transform .18s ease,opacity .18s ease}
.map-marker.has-data circle{fill:var(--navy)}
.map-marker:hover circle,.map-marker:focus circle{transform:scale(1.12);opacity:1}
.map-marker text{fill:#fff;font-size:10px;text-anchor:middle;font-weight:800;pointer-events:none}
.map-legend{display:flex;justify-content:center;gap:22px;color:#6b7188;font-size:.78rem;margin-top:-2px}
.map-legend span{display:flex;align-items:center;gap:7px}
.map-legend i{display:inline-block;width:11px;height:11px;border-radius:50%;background:#aab3ea}.map-legend span:last-child i{width:19px;height:19px;background:var(--navy)}
.philippines-map-card>small{display:block;text-align:center;color:#81879b;margin-top:10px}
.compact-heading{max-width:760px;margin-inline:auto}
.home-how-section{background:#fff}
.home-how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.home-how-grid article{padding:28px;border:1px solid #e2e5ee;border-radius:18px;background:#fff}
.home-how-grid h3{font-size:1.22rem;color:var(--navy);margin:0 0 10px}
.home-how-grid p{color:var(--muted);line-height:1.65;margin:0}
.home-tutor-section{background:#fbfaf7}
.home-tutor-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.refined-tutor-preview{display:grid;gap:12px}
.refined-mini-tutor{display:grid!important;grid-template-columns:64px 1fr;align-items:center;gap:15px;padding:14px!important;border:1px solid #e2e3e8!important;border-radius:15px!important;background:#fff!important;text-decoration:none}
.refined-mini-tutor img{width:64px!important;height:64px!important;border-radius:14px!important;object-fit:cover}
.refined-mini-tutor b{display:block;color:var(--navy);margin-bottom:3px}
.refined-mini-tutor small,.refined-mini-tutor span{display:block;color:var(--muted);font-size:.82rem;line-height:1.4}
.home-final-cta{background:var(--navy);color:#fff;padding:58px 0}
.home-final-cta-inner{display:flex;justify-content:space-between;gap:32px;align-items:center}
.home-final-cta h2{color:#fff;margin-bottom:0;max-width:720px}
.signup-success{padding:18px 0 6px;text-align:center}
.signup-success-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;margin:0 auto 18px;background:#e7f8ed;color:#168245;font-size:1.6rem;font-weight:900}
.signup-success h3{font-size:1.55rem;line-height:1.25;color:var(--navy);margin:0 0 12px}
.signup-success p{color:var(--muted);line-height:1.65}
.signup-success-help{padding:12px 14px;background:#fff8e7;border-radius:10px;font-size:.9rem}
.location-consent{align-items:flex-start!important}
.location-consent input{margin-top:4px}
.policy-prose{max-width:900px}.policy-prose h2{font-size:2rem;color:var(--navy);margin:10px 0 15px}.policy-prose p{color:var(--muted);line-height:1.75}
@media(max-width:1050px){.home-hero-layout,.location-layout,.home-tutor-layout{grid-template-columns:1fr}.home-hero-copy{max-width:none}.location-layout{gap:40px}.philippines-map-card{max-width:680px;margin:auto;width:100%}}
@media(max-width:760px){.home-hero-clean{padding:48px 0 44px}.home-hero-copy h1{font-size:3.15rem}.home-choice-panel{padding:20px}.home-choice-list a{padding:17px 2px}.home-account-actions .button{width:100%;text-align:center}.location-layer-tabs,.location-mode-filter{display:grid;grid-template-columns:1fr 1fr}.location-mode-filter{grid-template-columns:repeat(3,1fr)}.location-layer-tabs button,.location-mode-filter button{padding:10px 8px}.philippines-map-card{padding:14px}.home-how-grid{grid-template-columns:1fr}.home-final-cta-inner{display:grid}.home-final-cta .button-row{width:100%}.home-final-cta .button{flex:1;text-align:center}}

/* --------------------------------------------------------------------------
   Student-first homepage, real Philippines map, and tutor marketing page
   -------------------------------------------------------------------------- */
.home-refined .home-hero-clean{background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
.home-refined .home-hero-layout{grid-template-columns:minmax(0,.92fr) minmax(460px,1.08fr);gap:78px}
.home-refined .home-hero-copy h1{max-width:720px}
.home-refined .home-choice-panel{background:#fff;border-radius:20px;box-shadow:0 18px 48px rgba(17,21,111,.09)}
.home-refined .home-choice-list a{padding:18px 4px}
.home-tutor-path{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;padding:17px 16px;border-radius:13px;background:#f7f3ea;color:#4e4b43}
.home-tutor-path span{font-size:.82rem;font-weight:800}
.home-tutor-path a{color:var(--navy);font-size:.84rem;font-weight:900;text-decoration:none}
.home-tutor-path a:hover{text-decoration:underline}
.location-actions{margin-top:20px}

.philippines-map-card{padding:20px;border-radius:22px;overflow:hidden}
.map-card-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:2px 4px 15px}
.map-card-heading span{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#7a8092}
.map-card-heading b{color:var(--navy);font-size:.92rem;text-align:right}
.philippines-map{width:100%;aspect-ratio:560/720;max-height:680px;display:block}
.map-sea{fill:#f4f7fb;stroke:#e3e9f2;stroke-width:1.5}
.ph-map-shapes path{fill:#fff;stroke:#7484C2;stroke-width:1.55;vector-effect:non-scaling-stroke;filter:drop-shadow(0 3px 4px rgba(17,21,111,.08))}
.map-group-labels text{font-size:12px;font-weight:900;letter-spacing:.18em;fill:#8c93a6;text-anchor:middle}
.map-marker{cursor:pointer;outline:none}
.map-marker circle{fill:var(--navy);opacity:.88;stroke:#fff;stroke-width:3.5;filter:drop-shadow(0 6px 10px rgba(17,21,111,.28));transform-origin:center;transition:transform .18s ease,opacity .18s ease}
.map-marker:hover circle,.map-marker:focus circle{transform:scale(1.1);opacity:1}
.map-marker text{fill:#fff;font-size:11px;text-anchor:middle;font-weight:900;pointer-events:none}
.learner-map-markers .map-marker circle{fill:var(--gold)}
.learner-map-markers .map-marker text{fill:#352600}
.map-legend{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:10px 4px 0;padding-top:14px;border-top:1px solid #e6eaf1;color:#697089;font-size:.76rem}
.map-legend span{display:flex;align-items:center;gap:7px}
.map-legend i{display:inline-block;width:13px;height:13px;border-radius:50%;background:var(--navy);box-shadow:0 0 0 4px rgba(17,21,111,.08)}
.tutor-demand-map-card .map-legend i{background:var(--gold);box-shadow:0 0 0 4px rgba(243,165,27,.13)}
.philippines-map-card>small{margin-top:9px}

.home-tutor-recruitment{background:#252a7b;color:#fff;padding:62px 0}
.home-tutor-recruitment-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.home-tutor-recruitment h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;letter-spacing:-.05em;margin:10px 0 12px;color:#fff;max-width:760px}
.home-tutor-recruitment p{margin:0;color:#dfe3ff;max-width:730px}
.home-final-cta{background:#0C046D;border-top:1px solid rgba(255,255,255,.12)}

.tutor-marketing-page{background:#fff}
.tutor-marketing-hero{padding:86px 0;background:linear-gradient(135deg,#0C046D 0%,#242d8b 58%,#7484C2 100%);color:#fff}
.tutor-marketing-hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(380px,.94fr);gap:72px;align-items:center}
.tutor-marketing-hero h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.98;letter-spacing:-.06em;margin:16px 0 24px;max-width:790px}
.tutor-marketing-hero p{max-width:720px;color:#e3e7ff;font-size:1.08rem;line-height:1.75}
.tutor-hero-actions{margin-top:30px}
.tutor-hero-summary{background:#fff;color:var(--ink);border-radius:20px;padding:30px;box-shadow:0 28px 70px rgba(7,9,54,.25)}
.tutor-hero-summary>span{display:block;color:var(--navy);font-size:.7rem;font-weight:950;letter-spacing:.13em;margin-bottom:16px}
.tutor-hero-summary dl{margin:0;display:grid}
.tutor-hero-summary dl>div{display:grid;grid-template-columns:120px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}
.tutor-hero-summary dt{font-weight:900;color:var(--navy)}
.tutor-hero-summary dd{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}
.tutor-hero-summary small{display:block;margin-top:18px;color:#697089;line-height:1.55}

.tutor-benefits-section{background:#fff}
.tutor-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px}
.tutor-benefit-grid article{padding:25px;border:1px solid #e2e5ee;border-radius:16px;background:#fff}
.tutor-benefit-grid h3{font-size:1.12rem;line-height:1.3;color:var(--navy);margin:0 0 10px}
.tutor-benefit-grid p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}

.tutor-process-section{background:#f7f8fc}
.tutor-process-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:72px;align-items:start}
.tutor-process-layout>div h2,.tutor-demand-section h2,.tutor-standards-section h2{font-size:clamp(2.35rem,4.5vw,4rem);line-height:1.04;letter-spacing:-.052em;color:var(--navy);margin:12px 0 18px}
.tutor-process-layout>div p{color:var(--muted);line-height:1.75}
.tutor-process-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.tutor-process-list li{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:22px;border:1px solid #e0e4ee;border-radius:16px;background:#fff}
.tutor-process-list li>span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#eef1ff;color:var(--navy);font-weight:950}
.tutor-process-list h3{margin:0 0 5px;color:var(--navy);font-size:1.08rem}
.tutor-process-list p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}

.tutor-demand-section{background:#fff}
.tutor-demand-layout{align-items:center}
.tutor-standards-section{background:#FCF9F2}
.tutor-standards-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.tutor-standards-layout p{font-size:1.02rem;line-height:1.8;color:var(--muted);margin-top:16px}
.tutor-marketing-final{background:var(--navy);color:#fff;padding:62px 0}
.tutor-marketing-final-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}
.tutor-marketing-final h2{font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.02;letter-spacing:-.05em;color:#fff;margin:10px 0 0;max-width:760px}

@media(max-width:1100px){
  .tutor-benefit-grid{grid-template-columns:repeat(2,1fr)}
  .tutor-marketing-hero-grid,.tutor-process-layout,.tutor-standards-layout{grid-template-columns:1fr}
  .tutor-marketing-hero-grid{gap:44px}
  .tutor-hero-summary{max-width:720px}
}
@media(max-width:760px){
  .home-tutor-path,.home-tutor-recruitment-inner,.tutor-marketing-final-inner{display:grid}
  .home-tutor-path{align-items:start}
  .map-card-heading{align-items:flex-start}
  .map-card-heading b{font-size:.82rem}
  .map-group-labels text{font-size:10px}
  .map-legend{align-items:flex-start;display:grid;gap:8px}
  .home-tutor-recruitment .button,.tutor-marketing-final .button{width:100%;text-align:center}
  .tutor-marketing-hero{padding:58px 0}
  .tutor-marketing-hero h1{font-size:3.2rem}
  .tutor-hero-summary{padding:22px}
  .tutor-hero-summary dl>div{grid-template-columns:1fr;gap:4px}
  .tutor-benefit-grid{grid-template-columns:1fr}
  .tutor-process-list li{grid-template-columns:44px 1fr;padding:18px}
  .tutor-process-list li>span{width:40px;height:40px;font-size:.8rem}
}


/* Map black-box hotfix 20260808-mapfix2: SVG defaults are explicit even if cached CSS is mixed. */
.philippines-map{background:#f4f7fb!important;border-radius:28px;overflow:visible}
.philippines-map .map-sea{fill:#f4f7fb!important;stroke:#e3e9f2!important;stroke-width:1.5}
.philippines-map .ph-map-shapes path{fill:#fff!important;stroke:#7484C2!important;stroke-width:1.55!important;vector-effect:non-scaling-stroke}
.philippines-map .map-group-labels text{fill:#8c93a6!important}


/* --------------------------------------------------------------------------
   TutoDemy yellow Philippines map — high-contrast, cache-safe visual patch
   -------------------------------------------------------------------------- */
.philippines-map-card{
  background:linear-gradient(180deg,#fff 0%,#fffdf7 100%);
  border-color:#efd99c;
  box-shadow:0 24px 60px rgba(138,90,0,.10);
}
.philippines-map{
  background:var(--map-cream)!important;
  border:1px solid #f0dca7;
  border-radius:28px;
}
.philippines-map .map-sea{
  fill:var(--map-cream)!important;
  stroke:#efd99c!important;
  stroke-width:1.6!important;
}
.philippines-map .ph-map-shapes path{
  stroke:var(--map-yellow-stroke)!important;
  stroke-width:1.9!important;
  stroke-linejoin:round;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 3px 3px rgba(106,70,0,.14));
  transition:filter .18s ease,opacity .18s ease;
}
.philippines-map .ph-map-shapes path:nth-child(4n+1){fill:var(--map-yellow-1)!important}
.philippines-map .ph-map-shapes path:nth-child(4n+2){fill:var(--map-yellow-2)!important}
.philippines-map .ph-map-shapes path:nth-child(4n+3){fill:var(--map-yellow-3)!important}
.philippines-map .ph-map-shapes path:nth-child(4n){fill:var(--map-yellow-4)!important}
.philippines-map .ph-map-shapes path:hover{filter:drop-shadow(0 5px 5px rgba(106,70,0,.22));opacity:.92}
.philippines-map .map-group-labels text{
  fill:var(--map-yellow-label)!important;
  paint-order:stroke;
  stroke:rgba(255,250,240,.96);
  stroke-width:4px;
  stroke-linejoin:round;
}
.philippines-map .map-marker circle{
  fill:var(--navy)!important;
  stroke:#fff9e8!important;
  stroke-width:4!important;
  opacity:.94;
}
.philippines-map .map-marker text{fill:#fff!important}
.tutor-demand-map-card .philippines-map .map-marker circle{
  fill:#a96500!important;
  stroke:#fff9e8!important;
}
.tutor-demand-map-card .philippines-map .map-marker text{fill:#fff!important}
.map-legend i{
  background:var(--navy)!important;
  box-shadow:0 0 0 4px rgba(17,21,111,.10)!important;
}
.tutor-demand-map-card .map-legend i{
  background:#a96500!important;
  box-shadow:0 0 0 4px rgba(169,101,0,.14)!important;
}


/* ===== Mobile readiness and installable app UI (2026-08-09) ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:96px}
body{min-width:0;overflow-x:hidden}
img,picture,video,canvas,svg{max-width:100%}
img,video{height:auto}
button,input,select,textarea{font:inherit}
a,button,input,select,textarea{touch-action:manipulation}
button,.button,[role="button"],input[type="button"],input[type="submit"]{min-height:44px}
input,select,textarea{max-width:100%}
pre,code,.breakable{overflow-wrap:anywhere;word-break:break-word}
.table-wrap,.admin-table-wrap,.booking-table-wrap,.responsive-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%}

.pwa-install-card{position:fixed;z-index:9998;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:min(430px,calc(100vw - 32px));display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:13px;background:#fff;border:1px solid #efd477;border-radius:18px;box-shadow:0 18px 50px rgba(23,26,112,.22);color:#0C046D}
.pwa-install-card>img{width:48px;height:48px;border-radius:13px;background:#FCF9F2}
.pwa-install-copy{min-width:0;display:grid;gap:3px}
.pwa-install-copy strong{font-size:.98rem}
.pwa-install-copy span{font-size:.82rem;line-height:1.35;color:#626780}
.pwa-install-action{border:0;border-radius:10px;padding:9px 13px;background:#f4b942;color:#2f2506;font-weight:900;cursor:pointer}
.pwa-install-close{width:36px;height:36px;min-height:36px;padding:0;border:0;background:transparent;color:#666b81;border-radius:50%;font-size:1.45rem;cursor:pointer}
.pwa-install-close:hover,.pwa-install-close:focus-visible{background:#f5f1e8}
.pwa-install-dialog{width:min(92vw,480px);border:0;border-radius:24px;padding:0;color:#0C046D;box-shadow:0 24px 80px rgba(15,20,74,.35)}
.pwa-install-dialog::backdrop{background:rgba(13,17,53,.58);backdrop-filter:blur(3px)}
.pwa-install-dialog form{position:relative;margin:0;padding:30px;display:grid;justify-items:center;text-align:center}
.pwa-install-dialog img{border-radius:20px;background:#FCF9F2}
.pwa-install-dialog h2{margin:15px 0 8px;font-size:1.55rem}
.pwa-install-dialog ol{text-align:left;margin:8px 0 22px;padding-left:23px;color:#575d78;line-height:1.6}
.pwa-dialog-close{position:absolute;right:12px;top:10px;width:40px;height:40px;min-height:40px;border:0;border-radius:50%;background:transparent;font-size:1.5rem;color:#6c7187;cursor:pointer}
.pwa-standalone .site-note{display:none}
.pwa-standalone body{padding-top:env(safe-area-inset-top)}

@media(max-width:760px){
  :root{--mobile-edge:16px}
  .container{width:min(100% - 32px,1200px)}
  body{padding-bottom:env(safe-area-inset-bottom)}
  .site-note{padding:7px 14px;font-size:.72rem;line-height:1.35;text-align:center}
  .site-header{position:sticky;top:0}
  .nav-wrap{min-height:68px;gap:10px}
  .brand img{max-width:155px;height:auto}
  .menu-toggle{flex:0 0 44px;width:44px;height:44px;min-height:44px}
  .main-nav.open{max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(18px,env(safe-area-inset-bottom))}
  .main-nav a,.nav-dropdown-toggle{min-height:46px;display:flex;align-items:center}
  .nav-submenu a{min-height:44px}
  .nav-actions{margin-left:auto}
  .plan-chip{display:none}
  .auth-chip{min-width:44px;min-height:44px;justify-content:center}
  .section{padding-top:52px;padding-bottom:52px}
  .home-hero-clean{padding-top:40px}
  .home-hero-copy h1{font-size:clamp(2.35rem,12vw,3.15rem);line-height:1.02}
  .home-hero-copy>p{font-size:1rem}
  .home-choice-panel,.card,.auth-card,.dashboard-card,.philippines-map-card{border-radius:18px}
  .button-row,.home-account-actions{display:flex;flex-wrap:wrap;gap:10px}
  .button-row>.button,.home-account-actions>.button{flex:1 1 190px;text-align:center;justify-content:center}
  .location-mode-filter{grid-template-columns:repeat(3,minmax(96px,1fr));overflow-x:auto;padding-bottom:3px}
  .location-mode-filter button{white-space:nowrap}
  .philippines-map{width:100%;height:auto;max-height:72dvh}
  .map-card-heading{gap:8px;flex-wrap:wrap}
  .map-legend{align-items:flex-start;gap:8px}
  .footer-grid{grid-template-columns:1fr}
  .footer-brand{grid-column:auto}
  .footer-bottom{display:grid;gap:6px;text-align:center;justify-items:center}
  form{min-width:0}
  input,select,textarea{font-size:16px}
  .auth-layout,.account-grid,.dashboard-grid,.practice-layout,.tutoring-layout,.booking-layout,.messages-layout,.profile-layout,.reviewer-layout,.pricing-grid{min-width:0}
  .pwa-install-card{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;grid-template-columns:44px minmax(0,1fr) auto;padding:11px;gap:10px}
  .pwa-install-card>img{width:44px;height:44px}
  .pwa-install-close{position:absolute;right:-4px;top:-13px;background:#fff;border:1px solid #e7dfca;box-shadow:0 4px 12px rgba(23,26,112,.12)}
  .pwa-install-copy span{font-size:.78rem}
  .pwa-install-action{padding:9px 11px}
  body.pwa-install-visible{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
}

@media(max-width:420px){
  .container{width:min(100% - 24px,1200px)}
  .home-choice-panel,.auth-card,.philippines-map-card{padding-left:15px;padding-right:15px}
  .location-mode-filter{grid-template-columns:none;display:flex}
  .location-mode-filter button{flex:0 0 auto}
  .pwa-install-copy span{display:none}
  .pwa-install-card{grid-template-columns:42px minmax(0,1fr) auto}
}

@media(prefers-reduced-motion:reduce){
  .pwa-install-card,.pwa-install-dialog{scroll-behavior:auto;animation:none!important;transition:none!important}
}

/* TutoDemy in-app notification bell */
.notification-center{position:relative;display:flex;align-items:center}
.notification-center[hidden],.notification-popover[hidden],.notification-badge[hidden]{display:none!important}
.notification-bell{position:relative;width:42px;height:42px;min-height:42px;padding:0;display:grid;place-items:center;border:1px solid #d9dae5;border-radius:50%;background:#fff;color:var(--navy);box-shadow:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.notification-bell svg{width:20px;height:20px}
.notification-bell:hover,.notification-bell:focus-visible,.notification-center.open .notification-bell{border-color:var(--gold);background:#fffaf0;box-shadow:0 8px 22px rgba(17,21,111,.12);outline:none}
.notification-bell.has-unread{border-color:#e2b23a;background:#fff9e8}
.notification-badge{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;display:grid;place-items:center;background:var(--rose);color:#fff;font-size:.63rem;line-height:1;font-weight:950;box-shadow:0 4px 10px rgba(183,55,105,.24)}
.notification-popover{position:absolute;z-index:140;top:calc(100% + 12px);right:-55px;width:min(398px,calc(100vw - 32px));overflow:hidden;border:1px solid rgba(17,21,111,.13);border-radius:18px;background:#fff;box-shadow:0 24px 70px rgba(17,21,111,.20)}
.notification-popover:before{content:"";position:absolute;right:67px;top:-7px;width:13px;height:13px;border-left:1px solid rgba(17,21,111,.13);border-top:1px solid rgba(17,21,111,.13);background:#fff;transform:rotate(45deg)}
.notification-popover-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px 14px;border-bottom:1px solid var(--line)}
.notification-popover-head span{display:block;color:var(--navy);font-size:.61rem;letter-spacing:.13em;font-weight:950}
.notification-popover-head h2{margin:2px 0 0;color:var(--navy);font-size:1.15rem;line-height:1.2}
.notification-mark-all{border:0;background:transparent;color:var(--navy);padding:6px;font-size:.72rem;font-weight:900;white-space:nowrap}
.notification-mark-all:hover:not(:disabled),.notification-mark-all:focus-visible{text-decoration:underline;outline:none}
.notification-mark-all:disabled{opacity:.42;cursor:default;text-decoration:none}
.notification-status{margin:0;padding:26px 18px;color:var(--muted);font-size:.84rem;text-align:center}
.notification-list{max-height:min(480px,62vh);overflow-y:auto;overscroll-behavior:contain}
.notification-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px 17px;border-bottom:1px solid #eff0f5;color:inherit;text-decoration:none;transition:background .16s ease}
.notification-item:hover,.notification-item:focus-visible{background:#faf8f2;outline:none}
.notification-item.unread{background:#fffaf0}
.notification-item.unread:hover,.notification-item.unread:focus-visible{background:#fff4d7}
.notification-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--periwinkle-soft);color:var(--navy)}
.notification-icon svg{width:19px;height:19px}
.notification-icon.type-new_message{background:#eef3ff;color:#2747a7}
.notification-icon.type-booking_request,.notification-icon.type-payment_submitted{background:var(--gold-soft);color:#765000}
.notification-icon.type-booking_accepted,.notification-icon.type-payment_confirmed,.notification-icon.type-booking_completed{background:#e7f6ef;color:#177253}
.notification-icon.type-booking_declined,.notification-icon.type-booking_cancelled,.notification-icon.type-booking_disputed,.notification-icon.type-payment_action_needed{background:#fdebf1;color:#9b2752}
.notification-copy{min-width:0;display:grid;gap:4px}
.notification-title-row{display:flex;align-items:flex-start;gap:8px;color:var(--navy);font-size:.84rem;line-height:1.3}
.notification-title-row b{min-width:0;flex:1}
.notification-title-row i{flex:0 0 8px;width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--rose)}
.notification-copy>span:not(.notification-title-row){color:#656979;font-size:.76rem;line-height:1.42}
.notification-copy time{color:#9194a2;font-size:.68rem;font-weight:750}
.notification-empty{display:grid;justify-items:center;gap:8px;padding:35px 22px;text-align:center;color:var(--muted)}
.notification-empty svg{width:31px;height:31px;color:var(--periwinkle)}
.notification-empty b{color:var(--navy)}
.notification-empty span{font-size:.8rem}
.notification-popover-foot{display:flex;justify-content:center;gap:22px;padding:12px 16px;border-top:1px solid var(--line);background:#fbfbfd}
.notification-popover-foot a{color:var(--navy);font-size:.72rem;font-weight:900;text-decoration:none}
.notification-popover-foot a:hover,.notification-popover-foot a:focus-visible{text-decoration:underline;outline:none}

@media(max-width:760px){
  .notification-bell{width:44px;height:44px;min-height:44px}
  .notification-popover{right:-51px;width:min(398px,calc(100vw - 24px));max-height:calc(100dvh - 92px)}
  .notification-popover:before{right:62px}
  .notification-list{max-height:calc(100dvh - 245px)}
  .notification-item{padding:13px 14px}
}

@media(max-width:420px){
  .nav-wrap{gap:6px}
  .brand{width:126px;flex-basis:126px}
  .brand img{max-width:126px}
  .menu-toggle{width:40px;flex-basis:40px;padding:6px}
  .nav-actions{gap:3px}
  .notification-bell,.auth-chip{width:40px;min-width:40px;height:40px;min-height:40px}
  .notification-popover{right:-45px;width:calc(100vw - 16px);border-radius:16px}
  .notification-popover:before{right:54px}
  .notification-popover-head{padding:15px 14px 12px}
  .notification-mark-all{font-size:.68rem}
  .notification-item{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px}
  .notification-icon{width:38px;height:38px}
}

/* Role-based learner, tutor, and administrator workspaces */
.brand{position:relative;display:flex;align-items:center}
.workspace-badge{position:absolute;right:-4px;bottom:2px;display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;border-radius:999px;background:var(--navy);color:#fff;border:2px solid var(--cream);font-size:.54rem;font-weight:950;letter-spacing:.08em;line-height:1;white-space:nowrap}
.role-view-switch{min-height:38px;border:1px solid #d8dbe9;background:#fff;color:var(--navy);border-radius:999px;padding:7px 11px;font-size:.68rem;font-weight:900;white-space:nowrap;transition:.18s}
.role-view-switch:hover,.role-view-switch:focus-visible{border-color:var(--gold);background:var(--gold-soft);outline:none;box-shadow:0 8px 20px rgba(17,21,111,.10)}
.admin-preview-bar{display:flex;justify-content:center;align-items:center;gap:14px;padding:7px 18px;background:#fff0ca;color:#4b3707;border-bottom:1px solid #efd27f;font-size:.72rem;font-weight:850}
.admin-preview-bar a{color:var(--navy);font-weight:950}
.role-footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr;gap:42px;padding:55px 0 40px}
.role-footer-grid h3{color:#fff;margin:0 0 13px;font-size:.82rem}
.role-footer-grid a{display:block;color:#cfd3ef;text-decoration:none;font-size:.77rem;margin:8px 0}
.role-footer-grid a:hover{color:#fff}
.role-footer-grid .footer-brand p{max-width:520px}
body.role-learner .site-header{background:rgba(255,250,243,.97)}
body.role-learner .workspace-badge{background:var(--navy)}
body.role-tutor .site-note{background:#7a5200;color:#fff7db}
body.role-tutor .site-header{background:rgba(255,248,226,.97);border-bottom-color:rgba(138,90,0,.18)}
body.role-tutor .workspace-badge{background:var(--gold);color:#342507;border-color:#fff8e2}
body.role-tutor .main-nav a:hover,body.role-tutor .main-nav a.active{color:#704900;border-color:#704900}
body.role-tutor .nav-dropdown-toggle:hover,body.role-tutor .nav-dropdown-toggle.active{color:#704900}
body.role-tutor .auth-avatar{background:#7a5200}
body.role-admin .site-note{background:#090c4d;color:#f7d976}
body.role-admin .site-header{background:rgba(9,12,77,.98);border-bottom-color:rgba(255,255,255,.12)}
body.role-admin .workspace-badge{background:var(--gold);color:#2f2308;border-color:#090c4d}
body.role-admin .main-nav a,body.role-admin .nav-dropdown-toggle{color:#e8eaff}
body.role-admin .main-nav a:hover,body.role-admin .main-nav a.active,body.role-admin .nav-dropdown-toggle:hover,body.role-admin .nav-dropdown-toggle.active{color:#fff;border-color:var(--gold)}
body.role-admin .menu-toggle span{background:#fff}
body.role-admin .role-view-switch{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.28);color:#fff}
body.role-admin .role-view-switch:hover,body.role-admin .role-view-switch:focus-visible{background:var(--gold);border-color:var(--gold);color:#2f2308}
body.role-admin .auth-chip{background:#fff;border-color:#fff}
body.role-admin .notification-bell{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.28);color:#fff}
body.role-admin .notification-bell:hover,body.role-admin .notification-bell:focus-visible,body.role-admin .notification-center.open .notification-bell{background:#fff;color:var(--navy)}
body.role-admin .brand img{filter:brightness(0) invert(1)}
body.role-admin .nav-submenu{background:#fff}
body.role-admin .nav-submenu a{color:#505367}
body.role-admin .nav-submenu a:hover,body.role-admin .nav-submenu a.active{color:var(--navy)}
body.role-admin-preview .workspace-badge{background:var(--gold);color:#342507}
body.role-dual-account .workspace-badge{background:var(--periwinkle);color:#fff}

@media(max-width:1100px){
  .role-view-switch{max-width:118px;white-space:normal;line-height:1.1;text-align:center;padding:6px 9px}
  .role-footer-grid{grid-template-columns:1.35fr 1fr 1fr;gap:28px}
}
@media(max-width:760px){
  .workspace-badge{right:-2px;bottom:-1px;font-size:.47rem;padding:3px 6px}
  .role-view-switch{width:40px;min-width:40px;height:40px;overflow:hidden;color:transparent;padding:0;position:relative}
  .role-view-switch:after{content:"⇄";position:absolute;inset:0;display:grid;place-items:center;color:var(--navy);font-size:1.05rem}
  body.role-admin .role-view-switch:after{color:#fff}
  body.role-admin .role-view-switch:hover:after,body.role-admin .role-view-switch:focus-visible:after{color:#2f2308}
  .admin-preview-bar{justify-content:space-between;font-size:.62rem;padding:6px 13px}
  .role-footer-grid{grid-template-columns:1fr 1fr;gap:24px;padding:42px 0 32px}
  .role-footer-grid .footer-brand{grid-column:1/-1}
  body.role-admin .main-nav{background:#0f1467;border-color:rgba(255,255,255,.16)}
  body.role-admin .main-nav a,body.role-admin .nav-dropdown-toggle{color:#fff}
  body.role-admin .nav-submenu a{color:#505367}
}
@media(max-width:440px){
  .brand{width:132px;flex-basis:132px}.brand img{height:44px}
  .workspace-badge{font-size:.43rem;max-width:105px;overflow:hidden;text-overflow:ellipsis}
  .role-footer-grid{grid-template-columns:1fr}
  .role-footer-grid .footer-brand{grid-column:auto}
}
.admin-overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.admin-overview-grid button{min-height:185px;text-align:left;border:1px solid var(--line);border-radius:18px;background:#fff;padding:20px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 10px 28px rgba(17,21,111,.06);transition:.18s}
.admin-overview-grid button:hover,.admin-overview-grid button:focus-visible{transform:translateY(-3px);border-color:var(--gold);box-shadow:var(--shadow);outline:none}
.admin-overview-grid span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.admin-overview-grid b{color:var(--navy);font-size:2rem;line-height:1;margin:14px 0 10px}
.admin-overview-grid small{color:var(--muted);font-size:.76rem;line-height:1.45}
.marketplace-alert a{color:var(--navy);font-weight:950}
@media(max-width:1000px){.admin-overview-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.admin-overview-grid{grid-template-columns:1fr}.admin-overview-grid button{min-height:145px}}


/* Admin Console interaction hardening — 2026-08-09 */
.admin-tabs{position:relative;z-index:4;isolation:isolate}
.admin-tabs button,.admin-overview-grid button,.admin-actions button,.document-link{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(244,185,66,.22)}
.admin-tabs button{position:relative;z-index:1;min-height:42px}
.admin-tabs button:focus-visible,.admin-overview-grid button:focus-visible{outline:3px solid rgba(244,185,66,.48);outline-offset:3px}
.admin-panel[hidden]{display:none!important}
.admin-panel.active:not([hidden]){display:block}
.marketplace-alert[data-kind="warning"]{background:#fff8dc;border-color:#ecd274;color:#5d4800}
@media(max-width:760px){
  .admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .admin-tabs button{width:100%;justify-content:center;text-align:center;border-radius:12px;padding:10px 8px;line-height:1.2}
}
@media(max-width:420px){.admin-tabs{grid-template-columns:1fr}}

/* Tutor workspace reliability refinements */
body.role-tutor-applicant .site-note{background:#5f4a12;color:#fff8dc}
body.role-tutor-applicant .workspace-badge{background:#fff0b8;color:#5b4308;border-color:#fff8e2}
body.role-tutor-applicant .main-nav{gap:24px}
body.role-tutor-applicant .main-nav a{font-weight:900}
#application-form-status:empty::before{content:"Loading your tutor application…";color:var(--muted)}
@media(max-width:760px){
  body.role-tutor .main-nav a{min-height:48px}
  body.role-tutor .booking-tabs{display:grid;grid-template-columns:1fr 1fr}
  body.role-tutor .booking-tabs button{min-height:44px}
}


/* Admin Overview Phase 1 */
.admin-overview-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}
.admin-overview-header .section-heading{margin-bottom:0;max-width:760px}
.admin-overview-refresh{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;text-align:right}
.admin-overview-refresh span{color:var(--muted);font-size:.72rem;font-weight:800;max-width:230px}
.admin-overview-refresh .button{min-height:42px;white-space:nowrap}
.admin-overview-setup{border:1px solid #f0ca68;background:#fff9e7;border-radius:16px;padding:16px 18px;margin-bottom:20px;color:#614a00}
.admin-overview-setup b{display:block;color:#523c00;margin-bottom:5px}.admin-overview-setup p{margin:0;font-size:.8rem;line-height:1.55}
.admin-overview-block{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;margin-top:18px;box-shadow:0 10px 30px rgba(17,21,111,.045)}
.admin-overview-block-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:16px}
.admin-overview-block-heading>div>span{display:block;color:var(--gold-dark,#9d6f00);font-size:.65rem;font-weight:950;letter-spacing:.09em;margin-bottom:5px}
.admin-overview-block-heading h3{color:var(--navy);margin:0;font-size:1.12rem}
.admin-overview-block-heading>small{color:var(--muted);font-size:.72rem;line-height:1.45;max-width:390px;text-align:right}
.admin-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-stat-card{min-width:0;min-height:150px;border:1px solid var(--line);border-radius:17px;background:#fbfcff;padding:17px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;box-shadow:none;color:inherit}
button.admin-stat-card{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(244,185,66,.22)}
.admin-stat-card>span{color:var(--muted);font-size:.67rem;font-weight:950;text-transform:uppercase;letter-spacing:.045em;line-height:1.35}
.admin-stat-card>b{color:var(--navy);font-size:1.9rem;line-height:1.05;margin:13px 0 9px;overflow-wrap:anywhere}
.admin-stat-card>small{color:var(--muted);font-size:.72rem;line-height:1.48}
.admin-stat-card.is-link{position:relative;background:#fff}.admin-stat-card.is-link::after{content:"Open →";color:var(--navy);font-size:.66rem;font-weight:950;margin-top:auto;padding-top:10px}
.admin-stat-card.is-link:hover,.admin-stat-card.is-link:focus-visible{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 12px 28px rgba(17,21,111,.09);outline:none}
.admin-stat-card[data-tone="navy"]{background:#f1f3ff;border-color:#dce0ff}.admin-stat-card[data-tone="blue"]{background:#f0f8ff;border-color:#d7ebfb}.admin-stat-card[data-tone="violet"]{background:#f7f2ff;border-color:#eadcff}.admin-stat-card[data-tone="green"]{background:#f0faf5;border-color:#d5f0e2}.admin-stat-card[data-tone="gold"]{background:#fff9e7;border-color:#f5df9c}.admin-stat-card[data-tone="rose"]{background:#fff3f6;border-color:#f4dbe2}
.admin-growth-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:13px}
.admin-growth-strip>div{background:#fff;padding:13px 14px;min-width:0}.admin-growth-strip span{display:block;color:var(--muted);font-size:.63rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em;line-height:1.35}.admin-growth-strip b{display:block;color:var(--navy);font-size:1.05rem;margin-top:5px}
.admin-finance-snapshot{background:linear-gradient(180deg,#fffef9,#fff)}
.admin-finance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-finance-grid article,.admin-finance-grid button{min-width:0;border:1px solid #eadfbf;background:#fff;border-radius:16px;padding:17px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;font:inherit;color:inherit}
.admin-finance-grid button{cursor:pointer;touch-action:manipulation}.admin-finance-grid button:hover,.admin-finance-grid button:focus-visible{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 12px 26px rgba(17,21,111,.08);outline:none}
.admin-finance-grid .primary{background:linear-gradient(145deg,var(--navy),var(--navy-2));border-color:transparent}.admin-finance-grid .primary span,.admin-finance-grid .primary b,.admin-finance-grid .primary small{color:#fff}.admin-finance-grid .primary small{opacity:.78}
.admin-finance-grid span{color:var(--muted);font-size:.65rem;font-weight:950;text-transform:uppercase;letter-spacing:.04em;line-height:1.35}.admin-finance-grid b{color:var(--navy);font-size:1.55rem;line-height:1.1;margin:12px 0 8px;overflow-wrap:anywhere}.admin-finance-grid small{color:var(--muted);font-size:.7rem;line-height:1.48}.admin-finance-grid button::after{content:"Open payouts →";color:var(--navy);font-size:.65rem;font-weight:950;margin-top:auto;padding-top:10px}
.admin-finance-note{margin:14px 0 0;color:var(--muted);font-size:.72rem;line-height:1.55}
@media(max-width:1000px){.admin-overview-header{align-items:flex-start}.admin-stat-grid,.admin-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-growth-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.admin-overview-header,.admin-overview-block-heading{display:grid;grid-template-columns:1fr;align-items:start}.admin-overview-refresh{justify-content:flex-start;text-align:left}.admin-overview-block-heading>small{text-align:left}.admin-overview-block{padding:17px}.admin-stat-card{min-height:138px}}
@media(max-width:520px){.admin-stat-grid,.admin-finance-grid,.admin-growth-strip{grid-template-columns:1fr}.admin-stat-card{min-height:128px}.admin-overview-refresh .button{width:100%}.admin-growth-strip>div{padding:12px 14px}}


/* Admin Users Management — Phase 2 */
.admin-users-header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem}.admin-users-actions{display:flex;gap:.65rem;flex-wrap:wrap}.admin-user-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(4,minmax(145px,1fr)) auto auto;gap:.75rem;align-items:end;padding:1rem;border:1px solid var(--line);border-radius:18px;background:#fff;margin-bottom:1rem}.admin-user-filters label{display:grid;gap:.35rem;font-weight:700;color:var(--navy)}.admin-user-filters input,.admin-user-filters select{width:100%;min-height:44px}.admin-user-results-summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:1rem 0;color:var(--muted)}.admin-user-results-summary>span{font-weight:800;color:var(--navy)}.admin-user-list{display:grid;gap:1rem}.admin-user-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.1rem;box-shadow:0 8px 24px rgba(17,21,111,.06)}.admin-user-card.is-suspended{border-color:#e2a6ad;background:#fffafb}.admin-user-card-main{display:flex;gap:1rem;align-items:flex-start}.admin-user-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#fff3bf,#f4bf3d);color:#41310a;font-weight:900;font-size:1.05rem;border:1px solid #e3b437}.admin-user-identity{min-width:0;flex:1}.admin-user-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.admin-user-title-row h3{margin:0}.admin-user-identity>p{margin:.3rem 0;overflow-wrap:anywhere}.admin-user-meta{display:flex;gap:.5rem 1rem;flex-wrap:wrap;color:var(--muted);font-size:.88rem}.admin-user-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin:1rem 0}.admin-user-stats>div,.admin-user-details-grid>div{padding:.75rem;border-radius:14px;background:#f7f8ff}.admin-user-stats dt,.admin-user-details-grid span{font-size:.78rem;color:var(--muted);display:block}.admin-user-stats dd{margin:.25rem 0 0;font-size:1.2rem;font-weight:900;color:var(--navy)}.admin-user-details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}.admin-user-details-grid b,.admin-user-details-grid code{display:block;margin-top:.25rem;overflow-wrap:anywhere}.admin-user-card-actions{display:flex;justify-content:flex-end;align-items:center;margin-top:1rem;gap:.75rem}.button-danger{background:#9d2635;border-color:#9d2635;color:white}.button-danger:hover{background:#7f1e2a}.admin-user-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.25rem}.admin-users-loading{display:grid;place-items:center;gap:.6rem;min-height:180px;color:var(--muted)}.loading-spinner{width:30px;height:30px;border:3px solid #e6e8f6;border-top-color:var(--navy);border-radius:50%;animation:admin-spin .8s linear infinite}@keyframes admin-spin{to{transform:rotate(360deg)}}
@media(max-width:1100px){.admin-user-filters{grid-template-columns:repeat(3,1fr)}.admin-user-search{grid-column:span 2}.admin-user-stats,.admin-user-details-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.admin-users-header,.admin-user-results-summary{align-items:stretch;flex-direction:column}.admin-users-actions .button{flex:1}.admin-user-filters{grid-template-columns:1fr}.admin-user-search{grid-column:auto}.admin-user-card-main{align-items:flex-start}.admin-user-stats,.admin-user-details-grid{grid-template-columns:1fr 1fr}.admin-user-card-actions .button{width:100%}}
@media(max-width:430px){.admin-user-stats,.admin-user-details-grid{grid-template-columns:1fr}.admin-user-title-row{align-items:flex-start}.admin-user-avatar{width:44px;height:44px;flex-basis:44px}}


/* Admin Finance Dashboard — Phase 3 */
.admin-overview-link{margin-top:14px;border:0;background:transparent;color:var(--navy);padding:0;font-size:.72rem;font-weight:950;text-align:left;text-decoration:underline;text-underline-offset:3px}
.admin-finance-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.admin-finance-header .section-heading{margin-bottom:0;max-width:790px}.admin-finance-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;text-align:right}.admin-finance-actions>span{flex-basis:100%;color:var(--muted);font-size:.72rem;font-weight:800}.admin-finance-actions .button{min-height:42px}
.admin-finance-filters{display:grid;grid-template-columns:repeat(2,minmax(145px,.8fr)) repeat(2,minmax(170px,1fr)) minmax(240px,1.45fr) auto auto;gap:11px;align-items:end;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(17,21,111,.045);margin-bottom:16px}.admin-finance-filters label,.admin-finance-entry-form label{display:grid;gap:5px;color:var(--navy);font-size:.74rem;font-weight:900}.admin-finance-filters input,.admin-finance-filters select,.admin-finance-entry-form input,.admin-finance-entry-form select,.admin-finance-entry-form textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;color:var(--ink)}.admin-finance-filters input:focus,.admin-finance-filters select:focus,.admin-finance-entry-form input:focus,.admin-finance-entry-form select:focus,.admin-finance-entry-form textarea:focus{outline:3px solid rgba(113,139,216,.2);border-color:var(--periwinkle)}.admin-finance-search{min-width:0}
.admin-finance-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.admin-finance-kpis article{min-width:0;min-height:135px;border:1px solid var(--line);border-radius:17px;background:#fbfcff;padding:17px;display:flex;flex-direction:column}.admin-finance-kpis article>span{color:var(--muted);font-size:.66rem;font-weight:950;letter-spacing:.045em;text-transform:uppercase}.admin-finance-kpis article>b{color:var(--navy);font-size:1.62rem;line-height:1.08;margin:12px 0 8px;overflow-wrap:anywhere}.admin-finance-kpis article>small{color:var(--muted);font-size:.71rem;line-height:1.45;margin-top:auto}.admin-finance-kpis .primary{background:linear-gradient(145deg,var(--navy),var(--navy-2));border-color:transparent}.admin-finance-kpis .primary span,.admin-finance-kpis .primary b,.admin-finance-kpis .primary small{color:#fff}.admin-finance-kpis .primary small{opacity:.8}.admin-finance-kpis .net{background:#eef9f4;border-color:#cfeadb}.admin-finance-kpis .net>b{color:var(--green)}.admin-finance-kpis .net.is-negative{background:#fff2f5;border-color:#f1ced8}.admin-finance-kpis .net.is-negative>b{color:var(--rose)}
.admin-finance-attention{border:1px solid #eadfbf;border-radius:20px;background:linear-gradient(180deg,#fffdf6,#fff);padding:19px;margin:18px 0}.admin-finance-attention>div:first-child>span,.admin-finance-section-head>div>span{display:block;color:#8a6100;font-size:.64rem;font-weight:950;letter-spacing:.09em}.admin-finance-attention h3,.admin-finance-section-head h3{color:var(--navy);margin:3px 0 0;font-size:1.05rem}.admin-finance-attention-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.admin-finance-attention-grid button,.admin-finance-attention-grid article{min-width:0;min-height:104px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;font:inherit}.admin-finance-attention-grid button{cursor:pointer}.admin-finance-attention-grid button:hover,.admin-finance-attention-grid button:focus-visible{border-color:var(--gold);box-shadow:0 10px 24px rgba(17,21,111,.08);outline:none}.admin-finance-attention-grid span{color:var(--muted);font-size:.65rem;font-weight:900;line-height:1.35}.admin-finance-attention-grid b{color:var(--navy);font-size:1.5rem;line-height:1.1;margin-top:auto;padding-top:9px;overflow-wrap:anywhere}#finance-gate-status[data-status="ready"]{color:var(--green)}#finance-gate-status[data-status="hold"]{color:var(--rose)}#finance-gate-status[data-status="not-started"]{color:#7b5a00}
.admin-finance-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.85fr);gap:16px;align-items:start;margin:18px 0}.admin-finance-trend,.admin-finance-entry-card,.admin-finance-transactions{border:1px solid var(--line);border-radius:20px;background:#fff;padding:19px;box-shadow:0 10px 30px rgba(17,21,111,.045)}.admin-finance-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.admin-finance-section-head>small,.admin-finance-section-head>span{color:var(--muted);font-size:.71rem;font-weight:750;text-align:right}.admin-finance-chart-legend{display:flex;flex-wrap:wrap;gap:8px 15px;margin:8px 0 16px}.admin-finance-chart-legend span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.67rem;font-weight:850}.admin-finance-chart-legend span::before{content:"";width:9px;height:9px;border-radius:3px;background:var(--series-color)}[data-series="collections"]{--series-color:#2d8f70}[data-series="payouts"]{--series-color:#596fc4}[data-series="expenses"]{--series-color:#ef9b28}[data-series="net"]{--series-color:#b73769}.admin-finance-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:10px;min-height:260px;align-items:end;padding:16px 4px 2px;border-top:1px solid var(--line);overflow-x:auto}.admin-finance-month{min-width:70px;display:grid;gap:7px;text-align:center}.admin-finance-bars{height:185px;display:flex;align-items:flex-end;justify-content:center;gap:4px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 44px,#f0f1f6 45px)}.admin-finance-bar{display:block;width:12px;height:var(--bar-height);min-height:2px;max-height:100%;border-radius:5px 5px 1px 1px;background:var(--series-color);transition:.18s}.admin-finance-bar.negative{opacity:.65;background:repeating-linear-gradient(135deg,var(--series-color),var(--series-color) 4px,transparent 4px,transparent 7px);border:1px solid var(--series-color)}.admin-finance-month>b{color:var(--navy);font-size:.68rem}.admin-finance-month>small{color:var(--muted);font-size:.61rem;line-height:1.3}
.admin-finance-entry-card summary{cursor:pointer;color:var(--navy);font-weight:950;line-height:1.4}.admin-finance-entry-card>p{color:var(--muted);font-size:.74rem;line-height:1.5}.admin-finance-entry-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.admin-finance-entry-form label.wide,.admin-finance-entry-form .wide{grid-column:1/-1}.admin-finance-entry-form label small{color:var(--muted);font-weight:700}.admin-finance-entry-form textarea{min-height:86px;resize:vertical}.admin-finance-entry-form .button{min-height:44px}
.admin-finance-transactions{margin-top:18px}.admin-finance-table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:14px}.admin-finance-table{width:100%;min-width:1120px;border-collapse:collapse;font-size:.74rem}.admin-finance-table th{position:sticky;top:0;z-index:1;background:var(--navy);color:#fff;padding:11px 10px;text-align:left;white-space:nowrap}.admin-finance-table td{padding:11px 10px;border-top:1px solid var(--line);vertical-align:top}.admin-finance-table tbody tr:first-child td{border-top:0}.admin-finance-table tbody tr:hover{background:#fbfcff}.admin-finance-table tr.has-issue{background:#fff9e8}.admin-finance-table td b,.admin-finance-table td small,.admin-finance-table td code{display:block}.admin-finance-table td p{margin:3px 0;color:var(--muted);line-height:1.4}.admin-finance-table td small{color:var(--muted);line-height:1.4}.admin-finance-table code{max-width:230px;overflow-wrap:anywhere;margin-top:5px;font-size:.66rem}.admin-finance-table .amount{font-weight:950;white-space:nowrap}.admin-finance-table .amount.positive{color:var(--green)}.admin-finance-table .amount.negative{color:var(--rose)}.finance-split{min-width:132px}.finance-split span{display:flex;justify-content:space-between;gap:9px;padding:2px 0;color:var(--muted)}.finance-split b{color:var(--navy)}.admin-finance-issue{max-width:190px;margin-top:7px;padding:7px;border-radius:9px;background:#fee9ef;color:#8e244c;font-size:.66rem;font-weight:800;line-height:1.4}.admin-finance-row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.status-confirmed{background:#e6f6ee;color:var(--green)}.status-returned,.status-reversed,.status-voided{background:#fee9ef;color:var(--rose)}
@media(max-width:1120px){.admin-finance-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-finance-search{grid-column:span 2}.admin-finance-attention-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-finance-layout{grid-template-columns:1fr}.admin-finance-entry-form{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-finance-entry-form label.wide,.admin-finance-entry-form .wide{grid-column:1/-1}}
@media(max-width:760px){.admin-finance-header,.admin-finance-section-head{display:grid;grid-template-columns:1fr;align-items:start}.admin-finance-actions{justify-content:flex-start;text-align:left}.admin-finance-actions>span{flex-basis:auto;width:100%}.admin-finance-actions .button{flex:1}.admin-finance-filters{grid-template-columns:1fr 1fr}.admin-finance-search{grid-column:1/-1}.admin-finance-kpis{grid-template-columns:1fr 1fr}.admin-finance-attention-grid{grid-template-columns:1fr 1fr}.admin-finance-entry-form{grid-template-columns:1fr 1fr}.admin-finance-section-head>small,.admin-finance-section-head>span{text-align:left}.admin-finance-transactions{padding:15px}.admin-finance-table-wrap{overflow:visible;border:0}.admin-finance-table{display:block;min-width:0}.admin-finance-table thead{display:none}.admin-finance-table tbody{display:grid;gap:12px}.admin-finance-table tr{display:grid;border:1px solid var(--line);border-radius:14px;padding:11px;background:#fff}.admin-finance-table td{display:grid;grid-template-columns:105px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid #eff0f5}.admin-finance-table td:first-child{border-top:0}.admin-finance-table td::before{content:attr(data-label);color:var(--muted);font-size:.63rem;font-weight:950;text-transform:uppercase}.admin-finance-table td[data-label="Type and details"]{grid-template-columns:1fr}.admin-finance-table td[data-label="Type and details"]::before{display:none}.admin-finance-table .admin-finance-issue{max-width:none}.finance-split{min-width:0}}
@media(max-width:520px){.admin-finance-filters,.admin-finance-kpis,.admin-finance-attention-grid,.admin-finance-entry-form{grid-template-columns:1fr}.admin-finance-search,.admin-finance-entry-form label.wide,.admin-finance-entry-form .wide{grid-column:auto}.admin-finance-actions .button{width:100%;flex:none}.admin-finance-kpis article{min-height:118px}.admin-finance-attention-grid button,.admin-finance-attention-grid article{min-height:88px}.admin-finance-chart{grid-template-columns:repeat(6,74px)}.admin-finance-table td{grid-template-columns:86px minmax(0,1fr)}}

/* --------------------------------------------------------------------------
   Phase 4A — Student Progress Summary
   -------------------------------------------------------------------------- */
.student-progress-hero .progress-week-card b{font-size:1.65rem;line-height:1.2;margin:5px 0 8px}
.student-progress-section{background:linear-gradient(180deg,#fff 0%,#f8f9ff 100%)}
.progress-source-note{border-radius:14px;padding:12px 15px;margin:-7px 0 20px;font-size:.8rem;font-weight:750}
.progress-source-note.info{background:#eef2ff;border:1px solid #d7dcff;color:var(--navy)}
.progress-source-note.warning{background:#fff7dc;border:1px solid #ead47f;color:#67530b}
.student-week-metrics article{background:#fff;box-shadow:0 8px 25px rgba(17,21,111,.055)}
.student-week-metrics article>span{font-size:1.05rem}
.student-progress-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:19px;margin-top:24px}
.student-progress-grid>.wide{grid-column:1/-1}
.progress-period-label{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border-radius:999px;background:var(--periwinkle-soft);color:var(--navy);font-size:.68rem;font-weight:900;white-space:nowrap}
.progress-comparison-list{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.progress-comparison-list>div{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fafbff;min-width:0}
.progress-comparison-list span,.all-time-summary-grid span{display:block;color:var(--muted);font-size:.7rem;font-weight:800}
.progress-comparison-list b,.all-time-summary-grid b{display:block;color:var(--navy);font-size:1.45rem;margin:4px 0}
.progress-delta{display:block;font-size:.68rem;font-weight:900}
.progress-delta.positive{color:#18794e}
.progress-delta.negative{color:#b42335}
.progress-delta.neutral{color:var(--muted)}
.streak-summary{display:grid;grid-template-columns:148px 1fr;gap:22px;align-items:center}
.streak-ring{--streak-progress:0%;width:142px;height:142px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at center,#fff 56%,transparent 57%),conic-gradient(var(--gold) var(--streak-progress),#eceef7 0);box-shadow:inset 0 0 0 1px #e4e6f1;text-align:center}
.streak-ring span{font-size:1.3rem;line-height:1}
.streak-ring b{font-size:2.35rem;color:var(--navy);line-height:1}
.streak-ring small{font-size:.68rem;color:var(--muted);font-weight:850}
.streak-details p{color:var(--muted);font-size:.8rem;margin:0 0 10px}
.streak-details p b{color:var(--navy);font-size:.95rem}
.streak-record{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:9px 0;font-size:.75rem}
.streak-record span{color:var(--muted)}
.streak-record b{color:var(--navy);text-align:right}
.daily-activity-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;align-items:end;min-height:230px;padding:8px 3px 0}
.daily-activity-column{display:grid;grid-template-rows:auto 150px auto auto;gap:6px;text-align:center;min-width:0}
.daily-activity-value{font-size:.72rem;color:var(--navy);font-weight:900}
.daily-activity-track{height:150px;border-radius:12px;background:#f0f1f7;display:flex;align-items:flex-end;overflow:hidden;border:1px solid #e4e6ef}
.daily-activity-track i{display:block;width:100%;min-height:3px;background:linear-gradient(180deg,var(--periwinkle),var(--navy));border-radius:10px 10px 0 0;transition:height .25s ease}
.daily-activity-column b{font-size:.72rem;color:var(--navy)}
.daily-activity-column small{font-size:.62rem;color:var(--muted);white-space:nowrap}
.panel-intro{margin:-8px 0 18px;color:var(--muted);font-size:.78rem}
.subject-progress-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.subject-progress-row{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fff}
.subject-progress-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:11px}
.subject-progress-heading>div:first-child{min-width:0}
.subject-progress-heading b{display:block;color:var(--navy)}
.subject-progress-heading small{display:block;color:var(--muted);font-size:.68rem;margin-top:3px}
.subject-progress-score{text-align:right;flex:none}
.subject-progress-score>b{font-size:1.25rem}
.subject-progress-score .progress-delta{max-width:150px}
.all-time-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.all-time-summary-grid>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fafbff}
.all-time-summary-grid>.wide{grid-column:1/-1}
.progress-saved-panel .saved-reviewer-list{max-height:330px;overflow:auto;padding-right:3px}
.progress-activity-panel,.progress-subject-panel{overflow:hidden}

@media(max-width:900px){
  .student-progress-grid{grid-template-columns:1fr}
  .student-progress-grid>.wide{grid-column:auto}
  .subject-progress-list{grid-template-columns:1fr}
}
@media(max-width:620px){
  .progress-comparison-list{grid-template-columns:1fr}
  .streak-summary{grid-template-columns:1fr;text-align:center}
  .streak-ring{margin:auto}
  .streak-details{text-align:left}
  .daily-activity-chart{gap:5px;min-height:190px}
  .daily-activity-column{grid-template-rows:auto 115px auto;gap:4px}
  .daily-activity-track{height:115px;border-radius:8px}
  .daily-activity-column small{display:none}
  .subject-progress-heading{display:grid;grid-template-columns:1fr}
  .subject-progress-score{text-align:left}
  .subject-progress-score .progress-delta{max-width:none}
}


/* Phase 4B — Private Learner Percentiles */
.progress-percentile-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#f8f9ff 65%,#fff9e9 100%)}
.percentile-status{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:15px;padding:15px;background:#fafbff}.percentile-status>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--periwinkle-soft);color:var(--navy);font-weight:950}.percentile-status b,.percentile-status small{display:block}.percentile-status b{color:var(--navy)}.percentile-status small{margin-top:3px;color:var(--muted);font-size:.72rem}.percentile-status.warning{background:#fff8df;border-color:#ead47f}.percentile-status.locked{background:#eef2ff;border-color:#d7dcff}
.percentile-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:17px}.percentile-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff;min-width:0}.percentile-card.eligible{border-color:#cbd4ff}.percentile-ring{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;background:radial-gradient(circle at center,#fff 56%,transparent 57%),conic-gradient(var(--periwinkle) var(--percentile-value),#eceef6 0)}.percentile-card.building .percentile-ring{background:radial-gradient(circle at center,#fff 56%,transparent 57%),conic-gradient(var(--gold) var(--eligibility-value),#eceef6 0)}.percentile-ring span{font-size:1.25rem;color:var(--navy);font-weight:950}.percentile-ring small{font-size:.57rem;color:var(--muted);font-weight:850}.percentile-card-label{display:block;color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase}.percentile-card-copy>b{display:block;color:var(--navy);font-size:1.03rem;margin:4px 0}.percentile-card-copy p{margin:0;color:#39405f;font-size:.72rem;font-weight:800}.percentile-card-copy small{display:block;color:var(--muted);font-size:.66rem;margin-top:5px}.percentile-card-description{grid-column:1/-1;margin:0;padding-top:10px;border-top:1px solid #eceef5;color:var(--muted);font-size:.69rem;line-height:1.5}
.subject-percentile-section{margin-top:22px;padding-top:19px;border-top:1px solid var(--line)}.subject-percentile-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:12px}.subject-percentile-heading h3{margin:3px 0 0;color:var(--navy)}.subject-percentile-heading>small{max-width:460px;color:var(--muted);font-size:.7rem;text-align:right}.subject-percentile-list{display:grid;grid-template-columns:1fr 1fr;gap:11px}.subject-percentile-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 14px;align-items:center;border:1px solid var(--line);border-radius:15px;padding:14px;background:#fff}.subject-percentile-copy b,.subject-percentile-copy small,.subject-percentile-result b,.subject-percentile-result small{display:block}.subject-percentile-copy b,.subject-percentile-result b{color:var(--navy)}.subject-percentile-copy small,.subject-percentile-result small{color:var(--muted);font-size:.65rem}.subject-percentile-result{text-align:right;max-width:210px}.subject-percentile-bar{grid-column:1/-1;height:7px;border-radius:999px;background:#eceef5;overflow:hidden}.subject-percentile-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--periwinkle),var(--navy))}.subject-percentile-row.building .subject-percentile-bar i{background:linear-gradient(90deg,#f7d87b,var(--gold))}.percentile-methodology{margin-top:16px;padding:13px 15px;border-radius:14px;background:#f4f6ff;border:1px solid #dfe3fb}.percentile-methodology b{color:var(--navy);font-size:.75rem}.percentile-methodology p{margin:4px 0 0;color:var(--muted);font-size:.68rem;line-height:1.55}
@media(max-width:1050px){.percentile-card-grid{grid-template-columns:1fr}.subject-percentile-list{grid-template-columns:1fr}}@media(max-width:620px){.percentile-panel-heading,.subject-percentile-heading{display:grid;grid-template-columns:1fr}.subject-percentile-heading>small{text-align:left}.percentile-card{grid-template-columns:78px minmax(0,1fr);padding:13px}.percentile-ring{width:72px;height:72px}.subject-percentile-row{grid-template-columns:1fr}.subject-percentile-result{text-align:left;max-width:none}}


/* Phase 4C — privacy-safe weekly study leaderboards */
.progress-leaderboard-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#fafbff 58%,#fff9e9 100%)}
.leaderboard-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.leaderboard-toolbar label{display:grid;gap:5px;min-width:190px}.leaderboard-toolbar label>span{color:var(--muted);font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.leaderboard-toolbar select{min-height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--navy);padding:8px 34px 8px 11px;font:inherit;font-size:.78rem;font-weight:800}
.leaderboard-status{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:15px;padding:15px;background:#fafbff}.leaderboard-status>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:var(--periwinkle-soft);color:var(--navy);font-weight:950}.leaderboard-status b,.leaderboard-status small{display:block}.leaderboard-status b{color:var(--navy)}.leaderboard-status small{margin-top:3px;color:var(--muted);font-size:.72rem}.leaderboard-status.warning{background:#fff8df;border-color:#ead47f}.leaderboard-status.locked{background:#eef2ff;border-color:#d7dcff}
.leaderboard-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:16px;margin-top:16px}.leaderboard-profile-card,.leaderboard-ranking-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:16px;min-width:0}.leaderboard-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.leaderboard-card-heading h3{margin:3px 0 0;color:var(--navy)}.leaderboard-privacy-badge,.leaderboard-participant-count{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#eef2ff;color:var(--navy);font-size:.62rem;font-weight:900;white-space:nowrap}
.leaderboard-optin-row{display:flex;align-items:flex-start;gap:10px;border:1px solid #dfe3fb;border-radius:13px;background:#f7f8ff;padding:12px;cursor:pointer}.leaderboard-optin-row input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--navy)}.leaderboard-optin-row b,.leaderboard-optin-row small{display:block}.leaderboard-optin-row b{color:var(--navy);font-size:.8rem}.leaderboard-optin-row small{color:var(--muted);font-size:.67rem;margin-top:2px;line-height:1.45}.leaderboard-name-field{display:grid;gap:5px;margin:13px 0}.leaderboard-name-field>span{color:var(--navy);font-size:.7rem;font-weight:900}.leaderboard-name-field>span small{color:var(--muted);font-weight:750}.leaderboard-name-field input{width:100%;min-height:41px;border:1px solid var(--line);border-radius:11px;padding:9px 11px;font:inherit;font-size:.78rem}.leaderboard-name-field>small{color:var(--muted);font-size:.62rem;line-height:1.45}.leaderboard-my-rank{margin-top:13px;padding:12px;border-radius:13px;background:#fff9e9;border:1px solid #f0ddb1}.leaderboard-my-rank span,.leaderboard-my-rank b,.leaderboard-my-rank small{display:block}.leaderboard-my-rank span{font-size:.62rem;color:var(--muted);font-weight:900;text-transform:uppercase}.leaderboard-my-rank b{color:var(--navy);font-size:1.05rem;margin:3px 0}.leaderboard-my-rank small{color:#5e647c;font-size:.66rem;line-height:1.5}
.leaderboard-list{display:grid;gap:8px}.leaderboard-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#fff}.leaderboard-row.is-me{border-color:#aeb9ff;background:#f5f7ff;box-shadow:inset 3px 0 0 var(--periwinkle)}.leaderboard-rank{display:grid;place-items:center;min-height:38px;border-radius:10px;background:#f3f4f9;color:var(--navy);font-size:.82rem;font-weight:950}.leaderboard-learner b,.leaderboard-learner small,.leaderboard-points b,.leaderboard-points small{display:block}.leaderboard-learner b{color:var(--navy);font-size:.82rem}.leaderboard-learner small{color:var(--muted);font-size:.65rem;margin-top:2px}.leaderboard-points{text-align:right}.leaderboard-points b{color:var(--navy);font-size:1rem}.leaderboard-points small{color:var(--muted);font-size:.58rem;text-transform:uppercase;font-weight:900}.leaderboard-cohort-building{display:flex;align-items:center;gap:12px;min-height:100px;border:1px dashed #cfd5ef;border-radius:14px;padding:17px;background:#fafbff}.leaderboard-cohort-building>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eef2ff;color:var(--navy);font-weight:950}.leaderboard-cohort-building b,.leaderboard-cohort-building small{display:block}.leaderboard-cohort-building b{color:var(--navy)}.leaderboard-cohort-building small{color:var(--muted);font-size:.7rem;margin-top:3px}
.leaderboard-methodology{margin-top:15px;padding:13px 15px;border-radius:14px;background:#f4f6ff;border:1px solid #dfe3fb}.leaderboard-methodology b{color:var(--navy);font-size:.75rem}.leaderboard-methodology p{margin:4px 0 0;color:var(--muted);font-size:.68rem;line-height:1.55}
@media(max-width:860px){.leaderboard-layout{grid-template-columns:1fr}}@media(max-width:620px){.leaderboard-panel-heading,.leaderboard-card-heading{display:grid;grid-template-columns:1fr}.leaderboard-toolbar{display:grid}.leaderboard-toolbar label{min-width:0}.leaderboard-row{grid-template-columns:42px minmax(0,1fr)}.leaderboard-points{grid-column:2;text-align:left;display:flex;align-items:baseline;gap:5px}.leaderboard-points b,.leaderboard-points small{display:inline}}


/* --------------------------------------------------------------------------
   Landing page refresh — mobile-first and simplified user journey
   -------------------------------------------------------------------------- */
.home-refined .home-hero-redesigned{background:linear-gradient(180deg,#fff 0%,#f8faff 100%);border-bottom:1px solid var(--line)}
.home-refined .home-hero-layout{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:32px;align-items:start}
.home-refined .home-hero-copy{max-width:none;min-width:0;padding-top:8px}
.home-refined .home-hero-copy h1{max-width:12ch;font-size:clamp(2.7rem,6vw,4.8rem);line-height:1.02;letter-spacing:-.06em;margin-bottom:18px}
.home-refined .home-hero-copy>p{max-width:62ch;font-size:1.04rem;line-height:1.72}
.home-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 10px}
.home-trust-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:#eef2ff;border:1px solid #dce3ff;color:var(--navy);font-size:.88rem;font-weight:800}
.home-decision-card{border:1px solid #dfe5f2;background:#fff;border-radius:24px;padding:26px;box-shadow:0 20px 50px rgba(17,21,111,.08)}
.home-choice-heading.compact{padding-bottom:16px}
.home-decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}
.home-decision-item{display:grid;gap:8px;text-decoration:none;color:inherit;padding:18px;border:1px solid #e5e8f2;border-radius:18px;background:#fbfcff;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.home-decision-item b{color:var(--navy);font-size:1.02rem;line-height:1.3}
.home-decision-item small{color:var(--muted);line-height:1.5;font-size:.9rem}
.home-decision-item:hover,.home-decision-item:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px rgba(17,21,111,.08);border-color:#cfd6ef;background:#fff;outline:none}
.home-tutor-path.simple{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);flex-wrap:wrap}
.home-tutor-path.simple span{color:var(--muted);font-weight:700}
.home-tutor-path.simple a{color:var(--navy);font-weight:900;text-decoration:none}
.home-benefits-section{background:#fff}
.section-lead{max-width:700px;margin:12px auto 0;color:var(--muted);line-height:1.75;text-align:center}
.home-benefits-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}
.home-benefits-grid article{padding:26px;border:1px solid #e3e7f0;border-radius:20px;background:#fbfcff}
.home-benefits-grid h3{margin:0 0 10px;color:var(--navy);font-size:1.18rem}
.home-benefits-grid p{margin:0;color:var(--muted);line-height:1.65}
.home-support-section{background:#f7f8fc;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-support-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.home-support-card{padding:28px;border:1px solid #dfe3ee;border-radius:22px;background:#fff;display:grid;gap:10px;align-content:start}
.home-support-card h3{margin:0;color:var(--navy);font-size:1.5rem;line-height:1.15}
.home-support-card p{margin:0 0 6px;color:var(--muted);line-height:1.7}
.home-support-card.accent{background:linear-gradient(180deg,var(--navy),#20267f);border-color:#1d2476;color:#fff}
.home-support-card.accent h3,.home-support-card.accent p{color:#fff}
.home-support-card.accent .eyebrow.light{color:#cfd8ff}
.home-support-card .button{justify-self:start}
.home-refined .home-final-cta{padding:62px 0}
@media(max-width:1100px){
  .home-refined .home-hero-layout,.home-support-layout{grid-template-columns:1fr}
  .home-refined .home-hero-copy h1{max-width:14ch}
}
@media(max-width:760px){
  .home-refined .home-hero-redesigned{padding-top:32px;padding-bottom:40px}
  .home-refined .home-hero-layout{gap:20px}
  .home-refined .home-hero-copy h1{max-width:none;font-size:clamp(2.35rem,10vw,3rem);line-height:1.04;margin-bottom:14px}
  .home-refined .home-hero-copy>p{font-size:.98rem;line-height:1.65}
  .home-trust-row{gap:8px}
  .home-trust-pill{font-size:.8rem;padding:9px 12px}
  .home-decision-card{padding:18px;border-radius:20px}
  .home-decision-grid,.home-benefits-grid{grid-template-columns:1fr}
  .home-decision-item{padding:16px}
  .home-tutor-path.simple{display:grid;justify-content:start}
  .home-support-card{padding:22px}
  .home-support-card h3{font-size:1.32rem}
}
@media(max-width:420px){
  .home-refined .home-hero-copy h1{font-size:2.2rem}
  .home-account-actions>.button{flex:1 1 100%}
  .home-trust-pill{width:100%;justify-content:center}
}


/* --------------------------------------------------------------------------
   TutoDemy landing page v3 — friendly, focused, mobile-first
   -------------------------------------------------------------------------- */
.td-landing-hero{padding:76px 0 70px;background:linear-gradient(180deg,#fff 0%,#f7f9ff 100%);border-bottom:1px solid var(--line);overflow:hidden}
.td-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);gap:58px;align-items:center}
.td-hero-copy{min-width:0}.td-hero-copy h1{max-width:11ch;margin:14px 0 20px;color:var(--navy);font-size:clamp(3.1rem,6vw,5.4rem);line-height:.96;letter-spacing:-.065em}
.td-hero-lead{max-width:650px;margin:0;color:var(--muted);font-size:1.13rem;line-height:1.72}.td-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.td-made-for{margin:18px 0 0;color:var(--navy);font-weight:850;font-size:.94rem}
.td-hero-visual{border:1px solid #dfe4f1;border-radius:26px;padding:24px;background:#fff;box-shadow:0 24px 64px rgba(17,21,111,.10)}
.td-hero-visual-main{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;align-items:center;padding:20px;border-radius:20px;background:linear-gradient(135deg,var(--navy),#2930a1);color:#fff}.td-hero-visual-main img{width:92px;height:92px;object-fit:contain;background:#fff;border-radius:20px;padding:8px}.td-hero-visual-main span{display:block;color:#dce3ff;font-size:.7rem;font-weight:950;letter-spacing:.12em}.td-hero-visual-main b{display:block;margin-top:7px;font-size:1.45rem;line-height:1.2}
.td-hero-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.td-hero-mini-grid a{display:grid;gap:3px;padding:15px 12px;border:1px solid #e4e7f1;border-radius:15px;text-decoration:none;background:#fbfcff;min-width:0}.td-hero-mini-grid b{color:var(--navy);font-size:.92rem}.td-hero-mini-grid span{color:var(--muted);font-size:.74rem;line-height:1.4}
.td-section-heading{max-width:760px;margin-bottom:32px}.td-section-heading.centered{margin-left:auto;margin-right:auto;text-align:center}.td-section-heading h2,.td-feature-copy h2,.td-tutors-section h2,.td-why-copy h2,.td-final-cta h2{margin:10px 0 16px;color:var(--navy);font-size:clamp(2.2rem,4.6vw,4rem);line-height:1.02;letter-spacing:-.052em}.td-section-heading>p,.td-feature-copy>p,.td-why-copy>p,.td-tutors-copy>p{color:var(--muted);font-size:1rem;line-height:1.75}
.td-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.td-path-card{display:grid;align-content:start;gap:11px;min-height:270px;padding:28px;border:1px solid #e1e5ef;border-radius:22px;background:#fff;box-shadow:0 9px 28px rgba(17,21,111,.045)}.td-card-number{color:#6f7bbd;font-size:.75rem;font-weight:950;letter-spacing:.12em}.td-path-card h3{margin:0;color:var(--navy);font-size:1.45rem}.td-path-card p{margin:0;color:var(--muted);line-height:1.68}.td-path-card a{align-self:end;margin-top:auto;padding-top:10px;color:var(--navy);font-weight:900;text-decoration:none}
.td-feature-section{background:#fff}.td-feature-soft{background:#f7f8fc}.td-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.9fr);gap:68px;align-items:center}.td-feature-reverse .td-feature-copy{order:2}.td-feature-reverse .td-feature-visual{order:1}.td-feature-copy h3{margin:-5px 0 12px;color:var(--blue);font-size:1.3rem}.td-feature-copy .button{margin-top:20px}.td-emphasis{color:var(--navy)!important;font-weight:900}
.td-exam-tags{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 4px}.td-exam-tags span{padding:8px 12px;border:1px solid #dbe0ee;border-radius:999px;background:#fff;color:#505778;font-size:.82rem;font-weight:800}.td-feature-visual{border-radius:26px;min-height:350px}.td-practice-visual{padding:30px;background:linear-gradient(145deg,#0C046D,#343cba);color:#fff;display:grid;align-content:center;gap:18px;box-shadow:0 28px 60px rgba(17,21,111,.16)}.td-visual-kicker{color:#cbd4ff;font-size:.72rem;font-weight:950;letter-spacing:.12em}.td-score-card{display:grid;gap:8px;padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.09)}.td-score-card span{font-size:.76rem;color:#dbe1ff}.td-score-card b{font-size:1.55rem;line-height:1.25}.td-progress-line{height:10px;border-radius:999px;background:rgba(255,255,255,.15);overflow:hidden}.td-progress-line i{display:block;height:100%;border-radius:inherit;background:#f4b942}.td-visual-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.td-visual-stats div{display:grid;gap:3px}.td-visual-stats b{font-size:.94rem}.td-visual-stats span{color:#dce2ff;font-size:.72rem}
.td-tutor-visual{display:grid;place-items:center;padding:30px;background:linear-gradient(180deg,#fff8e7,#fff);border:1px solid #eadfbd}.td-tutor-search-card{width:min(100%,420px);padding:24px;border:1px solid #e5e7ef;border-radius:22px;background:#fff;box-shadow:0 20px 45px rgba(17,21,111,.10)}.td-tutor-search-card>span{display:block;color:var(--blue);font-size:.7rem;font-weight:950;letter-spacing:.12em}.td-tutor-search-card>b{display:block;margin:7px 0 18px;color:var(--navy);font-size:1.35rem;line-height:1.25}.td-search-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid #eceef4;color:#4f5570;font-weight:800}.td-search-row i{font-style:normal;color:var(--blue)}
.td-tutors-section{background:var(--navy);color:#fff}.td-tutors-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:start}.td-tutors-section h2{color:#fff}.td-tutors-copy>p{color:#e1e5ff}.td-tutors-copy .button{margin-top:14px}.td-how-section{background:#fff}.td-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.td-steps-grid article{padding:25px;border-top:3px solid var(--navy);background:#fbfcff;border-radius:0 0 18px 18px}.td-steps-grid article>span{display:block;margin-bottom:22px;color:#7682c4;font-weight:950;font-size:.78rem;letter-spacing:.12em}.td-steps-grid h3{margin:0 0 9px;color:var(--navy);font-size:1.2rem}.td-steps-grid p{margin:0;color:var(--muted);line-height:1.65}.td-centered-action{text-align:center;margin-top:28px}
.td-why-section{background:#f7f8fc}.td-why-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:62px;align-items:center}.td-value-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.td-value-grid article{padding:22px;border:1px solid #e1e5ef;border-radius:18px;background:#fff}.td-value-grid h3{margin:0 0 7px;color:var(--navy);font-size:1.12rem}.td-value-grid p{margin:0;color:var(--muted);line-height:1.55;font-size:.92rem}.td-final-cta{background:linear-gradient(135deg,#0C046D,#242a94);color:#fff;text-align:center}.td-final-cta-inner{max-width:840px;margin:auto}.td-final-cta h2{color:#fff;margin-top:11px}.td-final-cta p{margin:7px auto;color:#e6e9ff;line-height:1.65}.td-final-actions{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:26px}.td-login-link{color:#fff;text-decoration:none;font-size:.92rem}.td-login-link b{text-decoration:underline}
@media(max-width:1050px){.td-hero-grid,.td-feature-grid,.td-tutors-grid,.td-why-grid{grid-template-columns:1fr}.td-feature-reverse .td-feature-copy,.td-feature-reverse .td-feature-visual{order:initial}.td-hero-copy h1{max-width:14ch}.td-hero-visual{max-width:720px}.td-feature-visual{max-width:720px;width:100%}.td-tutors-grid,.td-why-grid{gap:34px}}
@media(max-width:760px){.td-landing-hero{padding:34px 0 40px}.td-hero-grid{gap:20px}.td-hero-copy h1{max-width:none;font-size:clamp(2.4rem,10.5vw,3.05rem);line-height:1.02;margin:10px 0 14px}.td-hero-lead{font-size:1rem;line-height:1.62}.td-hero-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:21px}.td-hero-actions .button{width:100%;justify-content:center;text-align:center;padding-left:12px;padding-right:12px}.td-made-for{margin-top:14px}.td-hero-visual{padding:13px;border-radius:19px}.td-hero-visual-main{grid-template-columns:64px minmax(0,1fr);padding:15px}.td-hero-visual-main img{width:64px;height:64px;border-radius:15px}.td-hero-visual-main b{font-size:1.08rem}.td-hero-mini-grid{display:none}.td-section-heading h2,.td-feature-copy h2,.td-tutors-section h2,.td-why-copy h2,.td-final-cta h2{font-size:clamp(2rem,8.8vw,2.6rem);line-height:1.05}.td-path-grid,.td-steps-grid,.td-value-grid{grid-template-columns:1fr}.td-path-card{min-height:0;padding:22px}.td-feature-grid{gap:30px}.td-feature-visual{min-height:0}.td-practice-visual,.td-tutor-visual{padding:20px;border-radius:20px}.td-visual-stats{grid-template-columns:repeat(3,1fr)}.td-final-actions{display:grid}.td-final-actions .button{width:100%}}
@media(max-width:420px){.td-hero-actions{grid-template-columns:1fr}.td-hero-copy h1{font-size:2.3rem}.td-visual-stats{grid-template-columns:1fr}.td-exam-tags span{width:100%;text-align:center}}


/* =========================================================
   TutoDemy UI Refresh — Landing Page + flatter public info
   2026-08-16
   ========================================================= */

/* Landing page v4 */
.home-v4{background:#fff}
.lp4-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(54px,8vw,96px) 0 clamp(64px,9vw,110px);
  background:
    radial-gradient(circle at 86% 16%,rgba(113,139,216,.18),transparent 28%),
    radial-gradient(circle at 12% 92%,rgba(243,165,27,.11),transparent 24%),
    linear-gradient(145deg,#FCF9F2 0%,#fff 56%,#f3f5ff 100%);
}
.lp4-hero::after{
  content:"";position:absolute;right:-120px;bottom:-190px;width:420px;height:420px;border-radius:50%;
  border:1px solid rgba(17,21,111,.08);box-shadow:0 0 0 42px rgba(17,21,111,.025),0 0 0 92px rgba(17,21,111,.018);
  pointer-events:none
}
.lp4-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.78fr);gap:clamp(42px,7vw,88px);align-items:center}
.lp4-hero-copy{position:relative;z-index:1;max-width:720px}
.lp4-hero-copy h1{
  margin:14px 0 22px;color:var(--navy);font-size:clamp(3.35rem,7.2vw,6.45rem);line-height:.91;
  letter-spacing:-.072em;font-weight:950
}
.lp4-hero-copy h1 span{color:#7484C2}
.lp4-lead{max-width:650px;margin:0;color:#5d6174;font-size:clamp(1.04rem,1.5vw,1.2rem);line-height:1.72}
.lp4-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:30px}
.lp4-subactions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:21px;color:#676b7a;font-size:.84rem;font-weight:750}
.lp4-subactions a{text-decoration:none;border-bottom:1px solid #cfd3df;padding-bottom:2px}
.lp4-subactions a:hover{color:var(--navy);border-color:var(--navy)}
.lp4-made-for{margin:25px 0 0;color:#747887;font-size:.77rem;font-weight:800;letter-spacing:.02em}

.lp4-hub{
  position:relative;z-index:1;background:rgba(255,255,255,.92);border:1px solid rgba(17,21,111,.11);
  border-radius:28px;padding:14px;box-shadow:0 30px 90px rgba(17,21,111,.12);backdrop-filter:blur(18px)
}
.lp4-hub-head{display:flex;align-items:center;gap:13px;padding:14px 13px 18px}
.lp4-hub-head img{width:48px;height:48px;object-fit:contain}
.lp4-hub-head div{display:grid;gap:2px}
.lp4-hub-head span,.lp4-note-kicker{font-size:.66rem;letter-spacing:.13em;font-weight:950;color:#7179a2}
.lp4-hub-head b{color:var(--navy);font-size:1.15rem}
.lp4-hub-link{
  display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:16px 14px;text-decoration:none;
  border-top:1px solid #eceef4;transition:.18s
}
.lp4-hub-link:hover{background:#f8f9ff;border-radius:15px;transform:translateX(2px)}
.lp4-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#f0f2ff;color:var(--navy);font-weight:950}
.lp4-hub-link>span:nth-child(2){display:grid;gap:2px}
.lp4-hub-link b{color:var(--navy);font-size:.96rem}
.lp4-hub-link small{color:#767a89;line-height:1.45}
.lp4-hub-link i{font-style:normal;color:#8d93aa;font-size:1.05rem}

.lp4-services,.lp4-feature,.lp4-how,.lp4-why{padding:clamp(68px,8vw,104px) 0}
.lp4-section-intro{max-width:760px;margin-bottom:40px}
.lp4-section-intro.centered{margin-left:auto;margin-right:auto;text-align:center}
.lp4-section-intro h2,.lp4-feature-copy h2,.lp4-why-copy h2,.lp4-tutor-band h2,.lp4-final h2{
  margin:9px 0 14px;color:var(--navy);font-size:clamp(2.2rem,4.8vw,4rem);line-height:1.02;letter-spacing:-.052em
}
.lp4-section-intro p,.lp4-feature-copy p,.lp4-why-copy p{color:var(--muted);font-size:1rem;line-height:1.72}
.lp4-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.lp4-service-grid article{padding:24px 3px 3px;border-top:2px solid #dfe3f0}
.lp4-service-grid article:nth-child(2){border-color:#f0c15c}
.lp4-service-grid article:nth-child(3){border-color:#9bc9b7}
.lp4-service-grid h3{margin:0 0 9px;color:var(--navy);font-size:1.28rem}
.lp4-service-grid p{margin:0 0 16px;color:var(--muted);line-height:1.68}
.lp4-service-grid a{display:inline-flex;gap:7px;align-items:center;text-decoration:none;color:var(--navy);font-weight:900}
.lp4-service-grid a:hover span{transform:translateX(3px)}
.lp4-service-grid a span{transition:.18s}

.lp4-feature{background:#fff}
.lp4-feature-exams{background:#f7f8fd}
.lp4-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:clamp(46px,8vw,100px);align-items:center}
.lp4-feature-reverse .lp4-feature-copy{order:2}.lp4-feature-reverse .lp4-feature-note{order:1}
.lp4-feature-copy{max-width:680px}
.lp4-feature-copy .button{margin-top:25px}
.lp4-emphasis{color:var(--navy)!important;font-weight:900}
.lp4-tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0 0}
.lp4-tags span{padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #dfe2eb;color:#555b70;font-size:.71rem;font-weight:850}
.lp4-feature-note{
  position:relative;padding:34px 0 34px 32px;border-left:3px solid var(--navy);max-width:500px
}
.lp4-feature-note::before{content:"";position:absolute;left:-3px;top:0;width:3px;height:34%;background:var(--gold)}
.lp4-feature-note h3{margin:7px 0 18px;color:var(--navy);font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.12;letter-spacing:-.035em}
.lp4-feature-note ul{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.lp4-feature-note li{position:relative;padding-left:23px;color:#666a79;line-height:1.62}
.lp4-feature-note li::before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:950}
.lp4-tutor-note{border-left-color:#7484C2}.lp4-tutor-note::before{background:#7484C2}

.lp4-tutor-band{padding:clamp(62px,8vw,92px) 0;background:linear-gradient(135deg,#0C046D,#7484C2);color:#fff}
.lp4-tutor-band-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.lp4-tutor-band h2{color:#fff;margin-bottom:0}
.lp4-tutor-band p{margin:0 0 24px;color:#e1e5ff;max-width:640px;font-size:1.02rem}

.lp4-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:25px;align-items:start;margin-top:20px}
.lp4-flow article{padding-top:22px;border-top:2px solid #dfe3ef}
.lp4-flow h3{margin:0 0 8px;color:var(--navy);font-size:1.18rem}
.lp4-flow p{margin:0;color:var(--muted);line-height:1.65}
.lp4-flow-arrow{align-self:center;color:#a5aabe;font-size:1.3rem}
.lp4-centered-action{text-align:center;margin-top:36px}

.lp4-why{background:#FCF9F2}
.lp4-why-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(45px,8vw,100px);align-items:start}
.lp4-why-copy{max-width:620px}
.lp4-value-list{display:grid;grid-template-columns:1fr 1fr;gap:28px 34px}
.lp4-value-list article{padding-left:18px;border-left:2px solid #d9ddea}
.lp4-value-list h3{margin:0 0 5px;color:var(--navy);font-size:1.08rem}
.lp4-value-list p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}

.lp4-final{padding:clamp(66px,8vw,95px) 0;background:#0C046D;color:#fff}
.lp4-final-inner{display:grid;grid-template-columns:1fr auto;gap:55px;align-items:end}
.lp4-final h2{color:#fff;margin-bottom:12px}
.lp4-final p{margin:0;max-width:730px;color:#dfe3ff;font-size:1rem}
.lp4-final-actions{display:grid;justify-items:start;gap:13px;min-width:220px}
.lp4-final-actions>a:not(.button){color:#e5e7f7;font-size:.82rem;text-decoration:none}
.lp4-final-actions>a:not(.button):hover{color:#fff}

/* Public pages: flatten decorative non-clickable number boxes */
.exam-bank-note,.dost-bank-note{
  align-self:center;padding:5px 0 5px 25px;border-left:3px solid rgba(255,255,255,.55);display:grid;gap:5px;color:#fff
}
.exam-bank-note span,.dost-bank-note span{font-size:.67rem;letter-spacing:.12em;font-weight:950;color:#d9def9}
.exam-bank-note strong,.dost-bank-note strong{font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.12}
.exam-bank-note small,.dost-bank-note small{color:#dce1fa;line-height:1.5}

.set-size-list-clean{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.set-size-list-clean article{padding:19px 18px;border-right:1px solid var(--line);min-width:0}
.set-size-list-clean article:last-child{border-right:0}
.set-size-list-clean article>div{display:grid;gap:2px;margin-bottom:6px}
.set-size-list-clean b{color:var(--navy);font-size:.96rem}
.set-size-list-clean span{color:#7b8090;font-size:.72rem;font-weight:800}
.set-size-list-clean p{margin:0;color:var(--muted);font-size:.79rem;line-height:1.5}

.mode-list-clean,.public-process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.mode-list-clean article,.public-process-list article{padding:22px 0;border-top:2px solid #dde1ec}
.mode-list-clean article:nth-child(2),.public-process-list article:nth-child(2){border-color:#ecc46f}
.mode-list-clean article:nth-child(3),.public-process-list article:nth-child(3){border-color:#9bc7b5}
.mode-list-clean h3,.public-process-list h3{margin:0 0 8px;color:var(--navy);font-size:1.12rem}
.mode-list-clean p,.public-process-list p{margin:0;color:var(--muted);line-height:1.64}

.tutor-process-list-clean{counter-reset:tutorsteps}
.tutor-process-list-clean li{
  display:block!important;padding:18px 0!important;border:0!important;border-bottom:1px solid #e3e5ed!important;border-radius:0!important;background:transparent!important
}
.tutor-process-list-clean li:first-child{border-top:1px solid #e3e5ed!important}
.tutor-process-list-clean li::before{display:none!important}
.tutor-process-list-clean h3{font-size:1.05rem}

.dost-subject-list-clean{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.dost-subject-list-clean>div{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:15px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.dost-subject-list-clean>div:nth-child(3n){border-right:0}
.dost-subject-list-clean>div:nth-last-child(-n+3){border-bottom:0}
.dost-subject-list-clean span{color:var(--navy);font-weight:850;font-size:.9rem}
.dost-subject-list-clean small{white-space:nowrap;color:#858998;font-weight:750}

@media(max-width:900px){
  .lp4-hero-grid,.lp4-feature-grid,.lp4-tutor-band-grid,.lp4-why-grid,.lp4-final-inner{grid-template-columns:1fr}
  .lp4-hero-grid{gap:42px}.lp4-hub{max-width:650px}
  .lp4-feature-reverse .lp4-feature-copy,.lp4-feature-reverse .lp4-feature-note{order:initial}
  .lp4-tutor-band-grid{gap:28px}.lp4-final-inner{gap:30px}
  .set-size-list-clean{grid-template-columns:1fr 1fr}
  .set-size-list-clean article{border-bottom:1px solid var(--line)}
  .set-size-list-clean article:nth-child(2n){border-right:0}
  .set-size-list-clean article:last-child{grid-column:1/-1;border-bottom:0}
  .dost-subject-list-clean{grid-template-columns:1fr 1fr}
  .dost-subject-list-clean>div:nth-child(3n){border-right:1px solid var(--line)}
  .dost-subject-list-clean>div:nth-child(2n){border-right:0}
  .dost-subject-list-clean>div:nth-last-child(-n+3){border-bottom:1px solid var(--line)}
  .dost-subject-list-clean>div:last-child{grid-column:1/-1;border-bottom:0;border-right:0}
}
@media(max-width:700px){
  .lp4-hero{padding-top:44px}.lp4-hero-copy h1{font-size:clamp(2.85rem,15vw,4.6rem)}
  .lp4-service-grid,.lp4-value-list,.mode-list-clean,.public-process-list{grid-template-columns:1fr}
  .lp4-service-grid{gap:24px}
  .lp4-feature-note{padding:25px 0 25px 24px}
  .lp4-flow{grid-template-columns:1fr;gap:20px}.lp4-flow-arrow{display:none}
  .lp4-final-actions{min-width:0}
  .exam-bank-note,.dost-bank-note{padding-left:18px}
}
@media(max-width:520px){
  .container{width:min(var(--max),calc(100% - 28px))}
  .lp4-actions{display:grid;grid-template-columns:1fr 1fr}.lp4-actions .button{width:100%;padding-inline:11px}
  .lp4-hub{padding:9px;border-radius:20px}
  .lp4-hub-link{grid-template-columns:38px 1fr auto;padding:14px 10px;gap:9px}
  .lp4-hub-link small{font-size:.72rem}
  .lp4-services,.lp4-feature,.lp4-how,.lp4-why{padding:62px 0}
  .lp4-section-intro{margin-bottom:30px}
  .set-size-list-clean,.dost-subject-list-clean{grid-template-columns:1fr}
  .set-size-list-clean article,.dost-subject-list-clean>div{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .set-size-list-clean article:last-child,.dost-subject-list-clean>div:last-child{grid-column:auto;border-bottom:0!important}
}
@media(max-width:390px){
  .lp4-actions{grid-template-columns:1fr}
  .lp4-subactions span{display:none}.lp4-subactions{display:grid;justify-items:start}
}

/* Keep useful DOST counts, but stop presenting them as non-clickable pills. */
.dost-exam-banner .dost-mini-stats{gap:7px 16px;align-items:center}
.dost-exam-banner .dost-mini-stats span{
  position:relative;background:transparent;border:0;border-radius:0;padding:0;color:#dfe4ff;font-size:.7rem
}
.dost-exam-banner .dost-mini-stats span:not(:last-child)::after{
  content:"•";position:absolute;right:-10px;color:rgba(255,255,255,.45)
}
@media(max-width:520px){
  .dost-exam-banner .dost-mini-stats{display:grid;gap:6px}
  .dost-exam-banner .dost-mini-stats span::after{display:none}
}


/* =========================================================
   TutoDemy Brand Guide Theme — 2026-08-16 BRAND1
   Palette:
   Navy #0C046D | Orange #E5922E | Charcoal #4F4D4E
   Periwinkle #7484C2 | Cream #FCF9F2
   Typography: Glacial Indifference + Siffon/Sifonn (with safe fallbacks)
   ========================================================= */

html,body{background:#FCF9F2;color:#4F4D4E}
body,button,input,select,textarea{
  font-family:"Glacial Indifference","Century Gothic","Avenir Next",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif
}
h1,h2,h3,h4,h5,h6,
.hero-copy h1,.page-hero h1,.lp4-hero-copy h1,
.section-heading h2,.lp4-section-intro h2,.lp4-feature-copy h2,.lp4-why-copy h2,
.lp4-tutor-band h2,.lp4-final h2{
  font-family:"Sifonn","Siffon","Glacial Indifference","Arial Black","Century Gothic",sans-serif
}
main{background:#FCF9F2}
.site-header{
  background:rgba(252,249,242,.96);
  border-bottom:1px solid rgba(79,77,78,.14);
  box-shadow:0 8px 28px rgba(12,4,109,.035)
}
.main-nav a{color:#4F4D4E}
.main-nav a:hover,.main-nav a.active{color:#0C046D;border-color:#E5922E}
.plan-chip{background:#FCF9F2;border-color:rgba(79,77,78,.18);color:#0C046D}
.eyebrow{color:#7484C2}
.eyebrow.light{color:#FCF9F2}

.button{
  background:#0C046D;border-color:#0C046D;color:#FCF9F2;
  border-radius:14px;box-shadow:0 10px 24px rgba(12,4,109,.14)
}
.button:hover:not(:disabled){background:#1a117d;border-color:#1a117d;box-shadow:0 14px 30px rgba(12,4,109,.19)}
.button-outline{background:transparent;color:#0C046D;border-color:#0C046D;box-shadow:none}
.button-outline:hover:not(:disabled){background:rgba(116,132,194,.11)}
.button-light{background:#FCF9F2;color:#0C046D;border-color:#FCF9F2}
.button-ghost{background:transparent;color:#FCF9F2;border-color:rgba(252,249,242,.55);box-shadow:none}
.text-button,.back-link{color:#0C046D}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(229,146,46,.42);outline-offset:3px
}

.section-cream{background:#FCF9F2}
.section-blue{background:#0C046D;color:#FCF9F2}
.hero-home{
  background:
    radial-gradient(circle at 78% 18%,rgba(116,132,194,.18),transparent 30%),
    radial-gradient(circle at 12% 88%,rgba(229,146,46,.13),transparent 27%),
    #FCF9F2
}
.hero-copy h1,.page-hero h1,.section-heading h2,.split-feature h2,.tutor-teaser h2,
.founder-note h2,.quality-workflow h2,.architecture h2,.vision-grid h2,.reader-content h2,.profile-content h2{
  color:#0C046D
}
.hero-copy h1 em{color:#E5922E;font-family:"Sifonn","Siffon","Glacial Indifference",sans-serif}
.hero-copy>p,.page-hero p,.section-heading p,.split-feature p,.tutor-teaser p,.vision-grid p{color:#6B686A}
.hero-pills span{background:#FCF9F2;border-color:rgba(79,77,78,.18);color:#4F4D4E}
.page-hero{
  background:
    linear-gradient(145deg,rgba(116,132,194,.12),transparent 48%),
    linear-gradient(20deg,rgba(229,146,46,.09),transparent 45%),
    #FCF9F2
}
.dashboard-hero,.exams-hero,.tutoring-hero,.resources-hero{
  background:
    radial-gradient(circle at 88% 18%,rgba(116,132,194,.38),transparent 28%),
    #0C046D;
  color:#FCF9F2
}
.dashboard-hero h1,.exams-hero h1,.tutoring-hero h1,.resources-hero h1{color:#FCF9F2}
.dashboard-hero p,.exams-hero p,.tutoring-hero p,.resources-hero p{color:rgba(252,249,242,.82)}

.card,.panel,.dashboard-card,.profile-card,.pricing-card,.reviewer-card,.resource-card,
.admin-card,.finance-card,.metric-card,.auth-card,.modal-card,.plan-card,.tutor-card,
.dashboard-metrics article,.plan-summary,.practice-card,.booking-card,.message-card{
  border-color:rgba(79,77,78,.16)
}
.dashboard-metrics article,.profile-card,.pricing-card,.reviewer-card,.resource-card,.admin-card,
.finance-card,.metric-card,.auth-card,.practice-card,.booking-card,.message-card{
  background:#fff
}
.dashboard-metrics article>span{background:rgba(116,132,194,.13);color:#0C046D}

input,select,textarea{
  background:#fff;color:#4F4D4E;border-color:rgba(79,77,78,.22)
}
input:focus,select:focus,textarea:focus{border-color:#7484C2;box-shadow:0 0 0 3px rgba(116,132,194,.14)}
code{background:rgba(116,132,194,.12);color:#0C046D}

.site-footer{background:#4F4D4E;color:#FCF9F2}
.footer-brand img{background:#FCF9F2}
.footer-brand p,.footer-grid a{color:rgba(252,249,242,.76)}
.footer-grid h3{color:#FCF9F2}
.footer-grid a:hover{color:#E5922E}
.footer-bottom{color:rgba(252,249,242,.62);border-top-color:rgba(252,249,242,.16)}
.toast{background:#4F4D4E;color:#FCF9F2}

/* Landing page brand treatment */
.home-v4{background:#FCF9F2}
.lp4-hero{
  background:
    radial-gradient(circle at 86% 16%,rgba(116,132,194,.18),transparent 29%),
    radial-gradient(circle at 10% 92%,rgba(229,146,46,.14),transparent 26%),
    #FCF9F2
}
.lp4-hero::after{
  border-color:rgba(12,4,109,.08);
  box-shadow:0 0 0 42px rgba(116,132,194,.035),0 0 0 92px rgba(229,146,46,.028)
}
.lp4-hero-copy h1{color:#0C046D}
.lp4-hero-copy h1 span{color:#E5922E}
.lp4-lead,.lp4-subactions,.lp4-made-for{color:#6B686A}
.lp4-subactions a{border-bottom-color:rgba(79,77,78,.3)}
.lp4-subactions a:hover{color:#0C046D;border-color:#E5922E}
.lp4-actions .button-outline{
  background:#E5922E;color:#0C046D;border-color:#E5922E
}
.lp4-actions .button-outline:hover{background:#d98323;border-color:#d98323}
.lp4-hub{
  background:rgba(255,255,255,.84);
  border-color:rgba(79,77,78,.14);
  box-shadow:0 28px 78px rgba(12,4,109,.10)
}
.lp4-hub-head span,.lp4-note-kicker{color:#7484C2}
.lp4-hub-head b,.lp4-hub-link b{color:#0C046D}
.lp4-hub-link{border-top-color:rgba(79,77,78,.12)}
.lp4-hub-link:hover{background:rgba(116,132,194,.09)}
.lp4-icon{background:rgba(229,146,46,.13);color:#0C046D}
.lp4-hub-link small{color:#6B686A}
.lp4-feature{background:#FCF9F2}
.lp4-feature-exams{background:rgba(116,132,194,.08)}
.lp4-section-intro h2,.lp4-feature-copy h2,.lp4-why-copy h2{color:#0C046D}
.lp4-section-intro p,.lp4-feature-copy p,.lp4-why-copy p{color:#6B686A}
.lp4-feature-note{border-left-color:#0C046D}
.lp4-feature-note::before{background:#E5922E}
.lp4-feature-note h3{color:#0C046D}
.lp4-feature-note li{color:#6B686A}
.lp4-feature-note li::before{color:#E5922E}
.lp4-tutor-note{border-left-color:#7484C2}.lp4-tutor-note::before{background:#7484C2}
.lp4-tags span{background:#FCF9F2;border-color:rgba(79,77,78,.16);color:#4F4D4E}
.lp4-tutor-band{
  background:
    radial-gradient(circle at 80% 30%,rgba(116,132,194,.34),transparent 32%),
    #0C046D
}
.lp4-tutor-band h2{color:#FCF9F2}
.lp4-tutor-band p{color:rgba(252,249,242,.82)}
.lp4-flow article{border-top-color:rgba(116,132,194,.32)}
.lp4-flow h3{color:#0C046D}
.lp4-flow p{color:#6B686A}
.lp4-why{background:#FCF9F2}
.lp4-value-list article{border-left-color:rgba(116,132,194,.42)}
.lp4-value-list h3{color:#0C046D}
.lp4-value-list p{color:#6B686A}
.lp4-final{
  background:
    linear-gradient(120deg,#0C046D 0%,#0C046D 67%,#7484C2 145%);
  color:#FCF9F2
}
.lp4-final h2{color:#FCF9F2}.lp4-final p{color:rgba(252,249,242,.82)}
.lp4-final .button-light{background:#E5922E;color:#0C046D;border-color:#E5922E}

/* Public information lists */
.exam-bank-note span,.dost-bank-note span{color:rgba(252,249,242,.72)}
.exam-bank-note small,.dost-bank-note small{color:rgba(252,249,242,.78)}
.set-size-list-clean,.dost-subject-list-clean{border-color:rgba(79,77,78,.18)}
.set-size-list-clean article,.dost-subject-list-clean>div{border-color:rgba(79,77,78,.18)}
.set-size-list-clean b,.dost-subject-list-clean span{color:#0C046D}
.mode-list-clean article,.public-process-list article{border-top-color:#7484C2}
.mode-list-clean article:nth-child(2),.public-process-list article:nth-child(2){border-color:#E5922E}
.mode-list-clean article:nth-child(3),.public-process-list article:nth-child(3){border-color:#4F4D4E}
.mode-list-clean h3,.public-process-list h3{color:#0C046D}

/* Admin/dashboard accents stay functional but use the brand for neutral structure. */
.admin-tabs a.active,.dashboard-tabs a.active,.tab-button.active,.filter-chip.active{color:#0C046D;border-color:#E5922E}
.badge,.chip,.tag{border-color:rgba(79,77,78,.18)}
.progress-bar>span,.progress-fill{background:#7484C2}


/* =========================================================
   TutoDemy UI6 — Public Header + Hero Balance
   2026-08-16
   ========================================================= */

/* Remove the thin public announcement strip above the main navigation.
   Learner/tutor/admin workspace notes remain available on signed-in views. */
.role-public .site-note{
  display:none !important;
}

/* Give the right-side account card a little more visual weight on desktop/tablet. */
@media (min-width:901px){
  .home-v4 .lp4-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(430px,.96fr);
    gap:clamp(34px,5vw,70px);
  }

  .home-v4 .lp4-hub{
    width:100%;
    max-width:650px;
    justify-self:end;
    padding:18px;
    border-radius:30px;
  }

  .home-v4 .lp4-hub-head{
    gap:15px;
    padding:17px 16px 22px;
  }

  .home-v4 .lp4-hub-head img{
    width:56px;
    height:56px;
  }

  .home-v4 .lp4-hub-head b{
    font-size:clamp(1.2rem,1.45vw,1.38rem);
    line-height:1.25;
  }

  .home-v4 .lp4-hub-link{
    grid-template-columns:48px minmax(0,1fr) auto;
    gap:14px;
    padding:20px 18px;
  }

  .home-v4 .lp4-icon{
    width:42px;
    height:42px;
    border-radius:13px;
  }

  .home-v4 .lp4-hub-link b{
    font-size:1.02rem;
  }

  .home-v4 .lp4-hub-link small{
    font-size:.82rem;
    line-height:1.55;
  }
}

/* When the hero stacks, keep the account card comfortably wide instead of tiny. */
@media (max-width:900px){
  .home-v4 .lp4-hub{
    width:100%;
    max-width:760px;
  }
}


/* =========================================================
   TutoDemy UI7 — Inline landing-page account form
   2026-08-16
   ========================================================= */

.home-v4 .lp4-hero-grid{
  align-items:start;
}

.lp4-auth-card{
  position:relative;
  z-index:1;
  width:100%;
  max-width:660px;
  justify-self:end;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(12,4,109,.12);
  border-radius:30px;
  padding:clamp(18px,2vw,26px);
  box-shadow:0 30px 90px rgba(12,4,109,.13);
  backdrop-filter:blur(18px);
}

.lp4-auth-intro{
  padding:2px 3px 18px;
  border-bottom:1px solid rgba(79,77,78,.12);
  margin-bottom:18px;
}

.lp4-auth-brand{
  display:flex;
  align-items:center;
  gap:14px;
}

.lp4-auth-brand img{
  width:54px;
  height:54px;
  flex:0 0 auto;
  object-fit:contain;
}

.lp4-auth-brand h2,
.lp4-auth-signed-in h2{
  margin:4px 0 0;
  color:var(--navy);
  font-size:clamp(1.35rem,2vw,1.8rem);
  line-height:1.12;
  letter-spacing:-.025em;
}

.lp4-auth-intro>p{
  margin:12px 0 0;
  color:var(--muted);
  line-height:1.58;
  font-size:.88rem;
}

.lp4-auth-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:5px;
  margin-bottom:18px;
  background:rgba(116,132,194,.12);
  border:1px solid rgba(116,132,194,.13);
  border-radius:14px;
}

.lp4-auth-tabs button{
  min-height:46px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#6b6b78;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.lp4-auth-tabs button.active{
  background:#fff;
  color:var(--navy);
  box-shadow:0 5px 18px rgba(12,4,109,.09);
}

.lp4-auth-form{
  display:grid;
  gap:12px;
}

.lp4-auth-form>label:not(.lp4-auth-consent){
  display:grid;
  gap:6px;
  color:var(--charcoal,#4F4D4E);
  font-size:.76rem;
  font-weight:900;
}

.lp4-auth-form input[type="text"],
.lp4-auth-form input[type="email"],
.lp4-auth-form input[type="password"],
.lp4-auth-form input:not([type]){
  width:100%;
  min-height:48px;
  padding:11px 13px;
  border:1px solid rgba(79,77,78,.22);
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  outline:none;
  transition:border-color .18s, box-shadow .18s;
}

.lp4-auth-form input:focus{
  border-color:var(--periwinkle,#7484C2);
  box-shadow:0 0 0 4px rgba(116,132,194,.16);
}

.lp4-auth-consent{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:9px;
  align-items:start;
  color:var(--muted);
  font-size:.69rem;
  line-height:1.5;
}

.lp4-auth-consent input{
  width:17px;
  height:17px;
  margin-top:2px;
  accent-color:var(--navy);
}

.lp4-auth-consent a,
.lp4-auth-small a,
.lp4-auth-forgot{
  color:var(--navy);
  font-weight:850;
}

.lp4-auth-small{
  margin:12px 0 0;
  color:var(--muted);
  font-size:.7rem;
  line-height:1.5;
  text-align:center;
}

.lp4-auth-forgot{
  display:inline-block;
  margin-top:12px;
  text-decoration:none;
}

.lp4-auth-status{
  min-height:22px;
  margin:12px 0 0;
  color:var(--muted);
  text-align:center;
  font-size:.72rem;
  line-height:1.45;
}

.lp4-auth-status.error{
  color:var(--rose,#b4233c);
}

.lp4-auth-divider{
  display:flex;
  align-items:center;
  gap:10px;
  margin:16px 0 12px;
  color:#999;
  font-size:.68rem;
}

.lp4-auth-divider::before,
.lp4-auth-divider::after{
  content:"";
  height:1px;
  background:rgba(79,77,78,.16);
  flex:1;
}

.lp4-auth-google{
  width:100%;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:1px solid rgba(79,77,78,.18);
  border-radius:12px;
  background:#fff;
  color:var(--navy);
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.lp4-auth-google b{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:rgba(116,132,194,.12);
}

.lp4-auth-success,
.lp4-auth-signed-in,
.lp4-auth-unavailable{
  text-align:center;
}

.lp4-auth-success{
  padding:20px 10px 8px;
}

.lp4-auth-success-mark{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  margin:0 auto 10px;
  border-radius:50%;
  background:rgba(229,146,46,.14);
  color:var(--orange,#E5922E);
  font-size:1.25rem;
  font-weight:950;
}

.lp4-auth-success h3{
  margin:0 0 7px;
  color:var(--navy);
  font-size:1.28rem;
}

.lp4-auth-success p,
.lp4-auth-signed-in p,
.lp4-auth-unavailable p{
  color:var(--muted);
  line-height:1.55;
}

.lp4-auth-signed-in{
  padding:28px 8px 10px;
}

.lp4-auth-signed-in .button{
  margin-top:8px;
}

.lp4-auth-unavailable{
  padding:18px;
  border-radius:14px;
  background:rgba(229,146,46,.09);
  color:var(--charcoal,#4F4D4E);
}

.lp4-auth-unavailable p{
  margin-bottom:0;
}

@media (min-width:901px){
  .home-v4 .lp4-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(470px,1fr);
    gap:clamp(38px,5vw,72px);
  }
}

@media (max-width:900px){
  .lp4-auth-card{
    max-width:760px;
    justify-self:stretch;
  }
}

@media (max-width:560px){
  .lp4-auth-card{
    padding:15px;
    border-radius:20px;
  }

  .lp4-auth-brand{
    align-items:flex-start;
  }

  .lp4-auth-brand img{
    width:46px;
    height:46px;
  }

  .lp4-auth-tabs button{
    min-height:44px;
    font-size:.84rem;
  }

  .lp4-auth-form input[type="email"],
  .lp4-auth-form input[type="password"],
  .lp4-auth-form input:not([type]){
    min-height:46px;
  }
}


/* =========================================================
   TutoDemy UI8 — Confirm Password + hCaptcha
   2026-08-16
   ========================================================= */

.password-match-hint{
  display:block;
  margin-top:2px;
  color:#7d7b7c;
  font-size:.68rem;
  font-weight:700;
  line-height:1.35;
}

.password-match-hint.match{
  color:#24745a;
}

.password-match-hint.mismatch{
  color:#b4233c;
}

.tuto-captcha-shell{
  width:100%;
  min-width:0;
  padding:8px 0 2px;
}

.tuto-captcha-widget{
  min-height:0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}

.tuto-captcha-widget iframe{
  max-width:100%;
}

.tuto-captcha-loading,
.tuto-captcha-error{
  margin:0;
  padding:11px 12px;
  border-radius:10px;
  font-size:.72rem;
  line-height:1.45;
}

.tuto-captcha-loading{
  color:#68666a;
  background:rgba(116,132,194,.10);
}

.tuto-captcha-error{
  color:#8c2232;
  background:rgba(180,35,60,.08);
}

.auth-panel .tuto-captcha-shell.full{
  grid-column:1/-1;
}

@media(max-width:420px){
  .tuto-captcha-widget{
    transform-origin:left top;
  }
}


/* =========================================================
   TutoDemy UI11 — Short, direct DOST-SEI landing page
   2026-08-16
   ========================================================= */

.dost-direct-hero{
  padding:clamp(42px,6vw,72px) 0;
  background:var(--cream,#FCF9F2);
  border-bottom:1px solid var(--line);
}

.dost-direct-hero-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:34px;
  align-items:end;
}

.dost-direct-hero h1{
  max-width:780px;
  margin:8px 0 12px;
  color:var(--navy);
  font-size:clamp(2.5rem,5.5vw,4.7rem);
  line-height:.98;
  letter-spacing:-.05em;
}

.dost-direct-hero p{
  max-width:690px;
  margin:0;
  color:var(--muted);
  font-size:.98rem;
  line-height:1.65;
}

.dost-direct-hero .button-row{
  margin:0;
  justify-content:flex-end;
}

.dost-direct-heading{
  max-width:720px;
  margin-bottom:26px;
}

.dost-direct-heading h2{
  margin:7px 0 8px;
  font-size:clamp(1.8rem,3vw,2.6rem);
  color:var(--navy);
}

.dost-direct-heading p{
  margin:0;
  color:var(--muted);
}

.dost-direct-section{
  padding-top:clamp(44px,6vw,70px);
  padding-bottom:clamp(44px,6vw,70px);
}

.dost-practice-modes{
  margin-top:8px;
}

.dost-direct-action{
  margin-top:28px;
}

.dost-direct-notice{
  padding-top:0;
  padding-bottom:44px;
}

@media(max-width:900px){
  .dost-direct-hero-inner{
    grid-template-columns:1fr;
    align-items:start;
  }

  .dost-direct-hero .button-row{
    justify-content:flex-start;
  }
}

@media(max-width:560px){
  .dost-direct-hero{
    padding:38px 0 42px;
  }

  .dost-direct-hero h1{
    font-size:clamp(2.35rem,12vw,3.45rem);
  }

  .dost-direct-hero .button-row{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }

  .dost-direct-hero .button-row .button{
    width:100%;
  }

  .dost-direct-section{
    padding-top:38px;
    padding-bottom:38px;
  }

  .dost-direct-action .button{
    width:100%;
  }
}


/* =========================================================
   TutoDemy UPCAT Reasoning V2 — harder visual reasoning
   2026-08-16
   ========================================================= */

.stimulus-box{
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}

.stimulus-box .reason-seq-hard{
  width:100%;
  max-width:760px;
  height:auto;
  min-width:0;
}

.answer-option{
  grid-template-columns:35px minmax(0,1fr);
}

.answer-option .visual-choice{
  min-width:0;
  overflow:visible;
}

.answer-option .visual-choice svg{
  display:block;
  width:100%;
  max-width:220px;
  height:auto !important;
  max-height:none !important;
  object-fit:contain;
  margin:0;
}

@media(max-width:560px){
  .stimulus-box{
    padding:12px;
  }

  .stimulus-box svg{
    width:100%;
    max-width:none;
    height:auto;
  }

  .answer-option .visual-choice svg{
    width:min(100%,190px);
    max-width:190px;
    height:auto !important;
  }
}


/* =========================================================
   TutoDemy UPCAT Reasoning V3 — full-figure render fix
   2026-08-16
   ========================================================= */

/* Never clip reasoning stimuli; allow horizontal scroll when the figure strip is wider than the card. */
.stimulus-box{
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable both-edges;
  padding-bottom:8px;
}

/* Let the inner visual content keep its natural width instead of shrinking and cutting the last figure. */
.stimulus-box > *{
  min-width:max-content;
}

/* Generic protection for SVG / image based reasoning stimuli. */
.stimulus-box svg,
.stimulus-box img,
.stimulus-box canvas{
  display:block;
  width:auto !important;
  max-width:none !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Keep custom hard-sequence visuals large and fully visible. */
.stimulus-box .reason-seq-hard{
  width:auto !important;
  max-width:none !important;
  min-width:640px;
  height:auto !important;
}

/* Answer choices should fit fully inside their cards and never be vertically cropped. */
.answer-option{
  align-items:center;
  overflow:visible;
  min-height:136px;
}

.answer-option .visual-choice{
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:visible;
  -webkit-overflow-scrolling:touch;
}

.answer-option .visual-choice svg,
.answer-option .visual-choice img,
.answer-option .visual-choice canvas{
  display:block;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain;
  margin:0;
}

/* Prevent grid/flex wrappers inside options from clipping figure edges. */
.answer-option .visual-choice > *{
  overflow:visible !important;
}

@media (max-width:900px){
  .stimulus-box{
    padding:10px 10px 12px;
  }

  .stimulus-box .reason-seq-hard{
    min-width:580px;
  }
}

@media (max-width:560px){
  .stimulus-box{
    padding:10px 8px 12px;
  }

  .stimulus-box .reason-seq-hard{
    min-width:520px;
  }

  .answer-option{
    min-height:122px;
  }

  .answer-option .visual-choice svg,
  .answer-option .visual-choice img,
  .answer-option .visual-choice canvas{
    width:min(100%, 190px);
  }
}


/* =========================================================
   TutoDemy UPCAT Reasoning V4 — fit full stimulus to width
   2026-08-16
   ========================================================= */

/* The main reasoning stimulus should be fully visible at once.
   Scale the top-level figure to the available card width. */
.stimulus-box{
  overflow-x:visible !important;
  overflow-y:visible !important;
  padding-bottom:0 !important;
}

.stimulus-box > *{
  min-width:0 !important;
}

.stimulus-box > svg,
.stimulus-box > img,
.stimulus-box > canvas,
.stimulus-box > .reason-seq,
.stimulus-box > .reason-seq-hard{
  display:block;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  max-height:none !important;
  margin:0 auto;
}

/* Explicitly cancel the previous wide minimum that caused partial cutoff. */
.stimulus-box .reason-seq-hard{
  min-width:0 !important;
}

/* Keep inner nested SVG figures using their natural proportions. */
.stimulus-box > svg svg{
  width:auto !important;
  height:auto !important;
  max-width:none !important;
}

/* Bring answer visuals back to a balanced size. */
.answer-option{
  min-height:112px !important;
}

.answer-option .visual-choice{
  overflow:visible !important;
}

.answer-option .visual-choice svg,
.answer-option .visual-choice img,
.answer-option .visual-choice canvas{
  width:100% !important;
  max-width:150px !important;
  height:auto !important;
  max-height:none !important;
  margin:0;
}

@media (max-width:900px){
  .answer-option .visual-choice svg,
  .answer-option .visual-choice img,
  .answer-option .visual-choice canvas{
    max-width:140px !important;
  }
}

@media (max-width:560px){
  .stimulus-box{
    padding:10px 8px !important;
  }

  .answer-option{
    min-height:104px !important;
  }

  .answer-option .visual-choice svg,
  .answer-option .visual-choice img,
  .answer-option .visual-choice canvas{
    max-width:128px !important;
  }
}


/* =========================================================
   TutoDemy UPCAT Reasoning V5 — nested SVG panel alignment fix
   2026-08-16
   ========================================================= */

.stimulus-box{
  text-align:center;
}

/* Center the complete reasoning strip and keep its intended aspect ratio. */
.stimulus-box > svg.reason-seq,
.stimulus-box > svg.reason-seq-hard{
  display:block !important;
  width:100% !important;
  max-width:760px !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 auto !important;
  overflow:visible !important;
}

/* Critical fix: each inner figure panel has its intended 100×100 viewport. */
.stimulus-box > svg.reason-seq > g > svg,
.stimulus-box > svg.reason-seq-hard > g > svg{
  width:100px !important;
  height:100px !important;
  min-width:100px !important;
  max-width:100px !important;
  min-height:100px !important;
  max-height:100px !important;
  margin:0 !important;
  overflow:visible !important;
}

/* Override earlier generic nested-SVG auto sizing. */
.stimulus-box > svg.reason-seq svg,
.stimulus-box > svg.reason-seq-hard svg{
  margin:0 !important;
}

/* Answer figures should stay smaller than the main stimulus. */
.answer-option .visual-choice svg{
  max-width:145px !important;
}

@media(max-width:900px){
  .stimulus-box > svg.reason-seq,
  .stimulus-box > svg.reason-seq-hard{
    max-width:100% !important;
  }
}

@media(max-width:560px){
  .answer-option .visual-choice svg{
    max-width:122px !important;
  }
}


/* =========================================================
   TutoDemy UI12 — shorter, less templated homepage
   2026-08-16
   ========================================================= */

.lp4-feature.lp4-compact-feature{
  padding:clamp(46px,6vw,72px) 0;
}

.lp4-feature-simple{
  display:block;
}

.lp4-feature-simple .lp4-feature-copy{
  max-width:780px;
}

.lp4-feature-simple .lp4-feature-copy h2{
  max-width:720px;
}

.lp4-feature-simple .lp4-feature-copy p{
  max-width:720px;
}

@media(max-width:560px){
  .lp4-feature.lp4-compact-feature{
    padding:40px 0;
  }
}


/* =========================================================
   TutoDemy Practice Mobile Fix — restore text wrapping
   2026-08-16
   ========================================================= */

/* Previous broad stimulus rules could force reading passages wider than the card.
   Restore normal wrapping for text-based question stimuli while keeping SVG fixes available. */
.stimulus-box{
  overflow-y:visible;
}

.stimulus-box > :not(svg):not(img):not(canvas):not(.reason-seq):not(.reason-seq-hard){
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
}

/* Reading passages / textual stimulus blocks */
.stimulus-box p,
.stimulus-box div,
.stimulus-box section,
.stimulus-box article,
.stimulus-box span,
.stimulus-box li{
  max-width:100%;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:normal;
}

/* Keep long passages comfortably readable on mobile */
@media (max-width:560px){
  .stimulus-box{
    overflow-x:visible !important;
  }

  .stimulus-box > :not(svg):not(img):not(canvas):not(.reason-seq):not(.reason-seq-hard){
    min-width:0 !important;
    width:100% !important;
  }

  .stimulus-box p,
  .stimulus-box div,
  .stimulus-box section,
  .stimulus-box article{
    font-size:inherit;
    line-height:1.7;
  }
}


/* =========================================================
   TutoDemy Practice Mobile Layout V2 — true overflow fix
   2026-08-16
   ========================================================= */

/* Grid items must be allowed to shrink below their content's intrinsic width. */
.exam-shell,
.exam-body,
.question-navigator,
.question-stage,
.question-meta,
.passage-box,
.stimulus-box,
.answer-list,
.answer-option,
.answer-option > span,
.answer-option .visual-choice{
  min-width:0 !important;
  max-width:100%;
  box-sizing:border-box;
}

.exam-body{
  width:100%;
  max-width:100%;
}

.question-stage{
  width:100% !important;
  max-width:100% !important;
  overflow:visible;
}

/* Text passages should always fit the question column. */
.passage-box{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  white-space:normal !important;
}

.passage-box h3,
.passage-box > div,
.passage-box p,
.passage-box span,
.passage-box li{
  min-width:0 !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:break-word;
  word-break:normal;
}

/* Long answer text must wrap inside the option instead of enlarging the grid. */
.answer-option{
  width:100%;
  grid-template-columns:35px minmax(0,1fr) !important;
}

.answer-option > span{
  display:block;
  width:100%;
  white-space:normal !important;
  overflow-wrap:break-word;
}

/* Metadata can wrap instead of contributing to the minimum page width. */
.question-meta{
  flex-wrap:wrap;
  gap:6px 12px;
}

/* The old 10-column mobile navigator could force the entire single-column
   exam grid to become wider than a phone because each button has a touch min-size. */
@media(max-width:760px){
  .exam-shell{
    width:100% !important;
    max-width:100vw !important;
    overflow:hidden;
  }

  .exam-body{
    display:grid;
    grid-template-columns:minmax(0,1fr) !important;
    width:100%;
    max-width:100%;
  }

  .question-navigator{
    width:100%;
    max-width:100%;
    overflow:hidden;
  }

  .navigator-grid{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    width:100%;
    max-width:100%;
    max-height:none !important;
    overflow:visible !important;
  }

  .navigator-grid button{
    width:100%;
    min-width:0 !important;
    max-width:100%;
  }

  .question-stage{
    width:100% !important;
    max-width:100% !important;
    padding:22px 16px !important;
  }

  .passage-box,
  .stimulus-box,
  .answer-list,
  .answer-option{
    width:100% !important;
    max-width:100% !important;
  }
}

@media(max-width:420px){
  .question-stage{
    padding:20px 13px !important;
  }

  .passage-box{
    padding:16px 14px !important;
  }

  .navigator-grid{
    gap:6px;
  }

  .navigator-grid button{
    font-size:.68rem;
  }
}



/* === Student Dashboard V1 visual refresh === */
.dashboard-hero-v2{
  background:
    radial-gradient(circle at top right, rgba(240,166,0,.20), transparent 35%),
    radial-gradient(circle at left center, rgba(49,88,255,.22), transparent 42%),
    linear-gradient(135deg,var(--navy),var(--navy-2));
}
.dashboard-hero-grid-v2{align-items:center}
.dashboard-focus-card{
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 40px rgba(6,10,40,.25);
}
.dashboard-v2-section{
  background:
    linear-gradient(180deg,#f6f8ff 0%, #eef2ff 28%, #fff 100%);
}
.dashboard-account-banner,
.progress-source-banner{
  margin-bottom:14px;
}
.dashboard-account-banner{
  background:#fff;
  border:1px solid rgba(12,4,109,.10);
  border-left:5px solid var(--gold);
  box-shadow:0 8px 18px rgba(12,4,109,.06);
}
.progress-source-banner{
  background:#eef3ff;
  border:1px solid rgba(12,4,109,.08);
  color:var(--navy);
  border-radius:18px;
  padding:12px 16px;
}
.dashboard-metrics-v2{
  gap:16px;
  margin-bottom:18px;
}
.dashboard-metrics-v2 article.metric-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(12,4,109,.08);
  border-radius:22px;
  padding:18px 18px 16px;
  box-shadow:0 12px 24px rgba(16,22,68,.06);
  min-height:138px;
}
.dashboard-metrics-v2 article.metric-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:6px;
  background:linear-gradient(90deg,var(--navy),var(--gold));
}
.dashboard-metrics-v2 .metric-icon{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  font-weight:900;font-size:1.1rem;
  margin-bottom:12px;
  background:#eef2ff;color:var(--navy);
}
.dashboard-metrics-v2 .metric-questions .metric-icon{background:#edf7ff;color:#1466d6}
.dashboard-metrics-v2 .metric-accuracy .metric-icon{background:#eefbf4;color:#1a8f57}
.dashboard-metrics-v2 .metric-sessions .metric-icon{background:#fff4e7;color:#c77600}
.dashboard-metrics-v2 .metric-streak .metric-icon{background:#fff0f2;color:#c54a70}
.dashboard-metrics-v2 small{font-size:.72rem;letter-spacing:.08em;color:var(--muted)}
.dashboard-metrics-v2 b{display:block;font-size:2rem;margin:6px 0 4px;color:var(--navy)}
.dashboard-metrics-v2 p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.4}

.dashboard-board-v2{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(320px,.9fr);
  gap:18px;
  align-items:start;
}
.dashboard-main-column,
.dashboard-side-column{display:grid;gap:18px}
.dashboard-wide-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.dashboard-panel-v2{
  background:#fff;
  border:1px solid rgba(12,4,109,.08);
  border-radius:24px;
  padding:20px;
  box-shadow:0 14px 28px rgba(18,24,64,.06);
  overflow:hidden;
}
.dashboard-panel-v2 .panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.dashboard-panel-v2 .panel-heading h2{margin:4px 0 0;font-size:1.22rem;color:var(--navy)}
.dashboard-panel-v2 .panel-intro{margin:0 0 16px;color:var(--muted);line-height:1.5}
.dashboard-panel-v2 .eyebrow{font-size:.7rem;letter-spacing:.12em}
.dashboard-panel-v2 .progress-period-label{
  white-space:nowrap;
  background:#f4f6ff;
  border:1px solid rgba(12,4,109,.08);
  border-radius:999px;
  color:var(--navy);
  padding:7px 11px;
  font-size:.78rem;
  font-weight:800;
}

.accent-activity{background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%)}
.accent-subject{background:linear-gradient(180deg,#ffffff 0%,#f9fcff 100%)}
.accent-percentile{background:linear-gradient(180deg,#ffffff 0%,#fbfaff 100%)}
.accent-leaderboard{background:linear-gradient(180deg,#ffffff 0%,#fffaf5 100%)}
.accent-compare{background:linear-gradient(180deg,#ffffff 0%,#f7f9ff 100%)}
.accent-streak{background:linear-gradient(180deg,#ffffff 0%,#fff8fb 100%)}
.accent-record{background:linear-gradient(180deg,#ffffff 0%,#fafbff 100%)}
.accent-saved{background:linear-gradient(180deg,#ffffff 0%,#fafffd 100%)}
.accent-history{background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%)}

.chart-surface{
  background:linear-gradient(180deg,#f7f9ff 0%,#ffffff 100%);
  border:1px solid rgba(12,4,109,.06);
  border-radius:18px;
  padding:16px 14px;
  min-height:240px;
  align-items:end;
}
.daily-activity-chart{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:12px;
}
.daily-activity-column{display:grid;gap:8px;align-items:end;justify-items:center}
.daily-activity-value{font-size:.8rem;font-weight:800;color:var(--navy)}
.daily-activity-track{
  width:100%;
  min-height:120px;
  background:linear-gradient(180deg,#eef2ff 0%,#f8faff 100%);
  border-radius:16px;
  display:flex;
  align-items:flex-end;
  padding:6px;
}
.daily-activity-track span{
  width:100%;
  border-radius:12px;
  background:linear-gradient(180deg,#4e7cff 0%, var(--navy) 100%);
  box-shadow:0 8px 18px rgba(78,124,255,.24);
}
.daily-activity-column small{font-size:.75rem;color:var(--muted)}
.daily-activity-column b{font-size:.75rem;color:var(--navy)}

.subject-progress-list{display:grid;gap:12px}
.subject-progress-row{
  display:grid;
  gap:12px;
  padding:14px 15px;
  background:#fff;
  border:1px solid rgba(12,4,109,.08);
  border-radius:18px;
}
.subject-progress-heading{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.subject-progress-heading b{color:var(--navy)}
.subject-progress-heading small{display:block;color:var(--muted)}
.subject-progress-score{
  text-align:right;
}
.subject-progress-score b{
  display:block;
  font-size:1.1rem;
  color:var(--navy);
}
.performance-bar{
  width:100%;
  height:12px;
  border-radius:999px;
  background:#eef2ff;
  overflow:hidden;
}
.performance-bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--gold),var(--navy));
}
.progress-delta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
}
.progress-delta.positive{background:#e9fbf1;color:#11814a}
.progress-delta.negative{background:#fff0f3;color:#b64267}
.progress-delta.neutral{background:#f2f4f8;color:#5f667f}

.comparison-table,
.record-table{
  display:grid;
  gap:10px;
}
.comparison-row,
.record-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  background:#fff;
  border:1px solid rgba(12,4,109,.07);
  border-radius:18px;
  padding:14px 15px;
}
.comparison-row b,
.record-row b{color:var(--navy)}
.comparison-row small{display:block;color:var(--muted);margin-top:2px}
.comparison-values{
  display:grid;
  gap:6px;
  justify-items:end;
  text-align:right;
}
.comparison-values strong{
  font-size:1.25rem;
  color:var(--navy);
}
.record-row span{color:var(--muted)}
.record-row b{font-size:1.06rem}

.streak-focus-card{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px;
  align-items:center;
  background:linear-gradient(135deg,#fff7fb 0%,#fff 100%);
  border:1px solid rgba(197,74,112,.14);
  border-radius:20px;
  padding:16px;
}
.streak-ring{
  width:110px;
  height:110px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-align:center;
  background:
    radial-gradient(circle at center,#fff 58%,transparent 59%),
    conic-gradient(var(--gold) 0deg, var(--navy) 200deg, #e9ecf9 200deg 360deg);
  box-shadow:inset 0 0 0 8px rgba(255,255,255,.8);
}
.streak-ring b{display:block;font-size:1.7rem;color:var(--navy);line-height:1}
.streak-ring small{display:block;color:var(--muted);font-size:.78rem}
.streak-copy p{margin:0 0 6px;font-weight:700;color:var(--navy)}
.streak-copy small{color:var(--muted);display:block;line-height:1.45}

.percentile-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.percentile-card{
  display:grid;
  gap:10px;
  background:#fff;
  border:1px solid rgba(12,4,109,.08);
  border-radius:18px;
  padding:14px;
}
.percentile-card.eligible{box-shadow:0 10px 24px rgba(67,84,187,.09)}
.percentile-card.building{background:#f9fbff}
.percentile-ring{
  --percentile-value:0;
  width:72px;height:72px;border-radius:50%;
  display:grid;place-items:center;
  background:
    radial-gradient(circle at center,#fff 56%,transparent 57%),
    conic-gradient(var(--navy) calc(var(--percentile-value) * 1%), #eef2ff 0);
}
.percentile-ring b{font-size:1.2rem;color:var(--navy)}
.percentile-ring small{font-size:.68rem;color:var(--muted)}
.percentile-card-copy{display:grid;gap:4px}
.percentile-card-label{font-size:.74rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.percentile-card-description{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}
.subject-percentile-section{
  margin-top:14px;
  background:#f8faff;
  border:1px solid rgba(12,4,109,.06);
  border-radius:18px;
  padding:14px;
}
.subject-percentile-heading{
  display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px
}
.subject-percentile-heading h3{margin:4px 0 0;color:var(--navy);font-size:1rem}
.subject-percentile-list{display:grid;gap:10px}
.subject-percentile-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  background:#fff;
  border:1px solid rgba(12,4,109,.07);
  border-radius:16px;
  padding:12px 13px;
}
.subject-percentile-copy b{display:block;color:var(--navy)}
.subject-percentile-copy small{color:var(--muted)}
.subject-percentile-result{
  text-align:right;
}
.subject-percentile-bar{
  width:100%;
  height:10px;
  background:#edf1ff;
  border-radius:999px;
  overflow:hidden;
  margin-top:8px;
}
.subject-percentile-bar span{
  display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,#9f71ff 0%, var(--navy) 100%);
}
.percentile-methodology,
.leaderboard-methodology{
  margin-top:14px;
  background:#f7f9ff;
  border:1px solid rgba(12,4,109,.06);
  border-radius:16px;
  padding:12px 13px;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.5;
}

.leaderboard-toolbar{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.leaderboard-toolbar label span,
.leaderboard-preferences-grid label span{
  display:block;
  margin-bottom:6px;
  font-size:.8rem;
  font-weight:800;
  color:var(--navy);
}
.leaderboard-toolbar select,
.leaderboard-preferences-grid input{
  width:100%;
  background:#fff;
  border:1px solid rgba(12,4,109,.12);
  border-radius:14px;
  padding:10px 12px;
  font:inherit;
}
.leaderboard-preferences-card{
  background:#fff7ec;
  border:1px solid rgba(240,166,0,.18);
  border-radius:18px;
  padding:14px;
  margin-bottom:14px;
}
.leaderboard-preferences-grid{
  display:grid;
  gap:12px;
}
.leaderboard-toggle{
  display:flex;
  align-items:center;
  gap:10px;
}
.leaderboard-toggle input{width:auto;transform:translateY(1px)}
.leaderboard-alias{display:block}
.leaderboard-preferences-grid button{
  justify-self:start;
}
.leaderboard-status,
.percentile-status{
  margin-bottom:12px;
}
.leaderboard-content{display:grid;gap:12px}
.leaderboard-summary-strip{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:stretch;
}
#leaderboard-my-rank{
  background:#f8fbff;
  border:1px solid rgba(12,4,109,.08);
  border-radius:16px;
  padding:14px;
  min-height:76px;
}
#leaderboard-my-rank span{display:block;color:var(--muted);font-size:.82rem;margin-bottom:4px}
#leaderboard-my-rank b{color:var(--navy);display:block;font-size:1.05rem;margin-bottom:4px}
#leaderboard-my-rank small{color:var(--muted);display:block;line-height:1.4}
.leaderboard-summary-chip{
  display:flex;align-items:center;
}
.leaderboard-participant-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:110px;
  padding:10px 14px;
  border-radius:999px;
  background:#eef2ff;
  color:var(--navy);
  font-weight:800;
}
.leaderboard-list{display:grid;gap:10px}
.leaderboard-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  background:#fff;
  border:1px solid rgba(12,4,109,.08);
  border-radius:16px;
  padding:12px 14px;
}
.leaderboard-row.me{border-color:rgba(240,166,0,.4);box-shadow:0 8px 18px rgba(240,166,0,.10)}
.leaderboard-rank{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--navy),#324eff);
  color:#fff;font-weight:900;
}
.leaderboard-learner b{display:block;color:var(--navy)}
.leaderboard-learner small{display:block;color:var(--muted)}
.leaderboard-points{
  text-align:right;
  white-space:nowrap;
}
.leaderboard-points b{display:block;color:var(--navy)}
.leaderboard-points small{display:block;color:var(--muted)}
.leaderboard-cohort-building{
  background:#f8fbff;
  border:1px dashed rgba(12,4,109,.18);
  border-radius:16px;
  padding:14px;
  color:var(--muted);
}

.saved-reviewer-list{display:grid;gap:10px}
.saved-reviewer-list a{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:12px;
  align-items:center;
  background:#fff;
  border:1px solid rgba(12,4,109,.08);
  border-radius:16px;
  padding:12px;
}
.saved-reviewer-list a span{
  width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--navy),#596fff);
  color:#fff;font-weight:900;
}
.saved-reviewer-list a b{display:block;color:var(--navy)}
.saved-reviewer-list a small{display:block;color:var(--muted)}

.dashboard-history-panel{margin-top:18px}
.history-list{display:grid;gap:10px}
.history-item{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) 90px 90px auto;
  gap:12px;
  align-items:center;
  background:#fff;
  border:1px solid rgba(12,4,109,.08);
  border-radius:16px;
  padding:14px 15px;
}
.history-item b{display:block;color:var(--navy)}
.history-item small{display:block;color:var(--muted);margin-top:4px}
.history-item > span{
  justify-self:center;
  font-weight:800;
  color:var(--navy);
}
.history-item a{
  justify-self:end;
  padding:9px 12px;
  border-radius:12px;
  background:#eef2ff;
  color:var(--navy);
  font-weight:800;
  text-decoration:none;
}
.empty-state{
  background:#f8faff;
  border:1px dashed rgba(12,4,109,.15);
  border-radius:16px;
  padding:16px;
  color:var(--muted);
}
.empty-state b{display:block;color:var(--navy);margin-bottom:4px}

@media (max-width: 1100px){
  .dashboard-board-v2{grid-template-columns:1fr}
  .dashboard-wide-pair{grid-template-columns:1fr}
}
@media (max-width: 840px){
  .dashboard-metrics-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .leaderboard-summary-strip{grid-template-columns:1fr}
  .percentile-card-grid{grid-template-columns:1fr}
  .history-item{grid-template-columns:minmax(0,1fr) 70px 70px}
  .history-item a{grid-column:1/-1;justify-self:start}
}
@media (max-width: 640px){
  .dashboard-panel-v2{padding:16px}
  .dashboard-metrics-v2{grid-template-columns:1fr}
  .dashboard-panel-v2 .panel-heading{flex-direction:column;align-items:flex-start}
  .leaderboard-toolbar{grid-template-columns:1fr}
  .streak-focus-card{grid-template-columns:1fr}
  .streak-ring{margin-inline:auto}
  .comparison-row,
  .record-row{grid-template-columns:1fr}
  .comparison-values{justify-items:start;text-align:left}
  .history-item{grid-template-columns:1fr}
  .history-item > span,
  .history-item a{justify-self:start}
  .daily-activity-chart{grid-template-columns:repeat(7,minmax(36px,1fr));overflow-x:auto;padding-bottom:4px}
}


/* === Student Dashboard V2 — flat, chart-first === */
body[data-page="dashboard"]{background:#f4f5f8}
body[data-page="dashboard"] .section{padding:34px 0 54px}
.dashboard-hero-flat{background:var(--navy);color:#fff;padding:42px 0 38px}
.dashboard-hero-flat-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end}
.dashboard-hero-flat h1{color:#fff;font-size:clamp(2.35rem,5vw,4.3rem);line-height:.98;letter-spacing:-.045em;margin:8px 0 12px}
.dashboard-hero-flat p{max-width:680px;margin:0;color:#dfe4ff}
.dashboard-week-inline{min-width:285px;border-left:3px solid var(--gold);padding:4px 0 4px 18px;display:grid;gap:4px}
.dashboard-week-inline small{font-size:.69rem;letter-spacing:.11em;font-weight:900;color:#f6c779}
.dashboard-week-inline b{font-size:1.12rem;color:#fff}
.dashboard-week-inline span{max-width:360px;color:#dce1ff;font-size:.84rem}
.dashboard-week-inline a{margin-top:4px;color:#fff;font-weight:900;text-decoration:none}
.dashboard-chart-section{background:#f4f5f8!important}
.dashboard-account-flat{background:#fff;border:1px solid #e4e6ed;border-left:4px solid var(--gold);border-radius:14px;box-shadow:none;margin-bottom:12px}
.dashboard-source-flat{background:#fff;border:1px solid #e4e6ed;border-radius:14px;box-shadow:none;margin-bottom:12px}
.dashboard-visual-panel{background:#fff;border:1px solid #e1e4ec;border-radius:18px;padding:18px;box-shadow:none}
.dashboard-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px}
.dashboard-panel-head h2{color:var(--navy);font-size:1.22rem;line-height:1.15;margin:4px 0 0}
.dashboard-panel-head>a{color:var(--navy);text-decoration:none;font-weight:900;font-size:.82rem}
.dashboard-chart-note{color:var(--muted);margin:0 0 14px;font-size:.88rem}
.progress-period-label{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid #e4e6ed;border-radius:999px;background:#fff;color:var(--navy);font-size:.74rem;font-weight:850}

.dashboard-visual-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.7fr) minmax(240px,.7fr);gap:14px;margin-top:14px}
.dashboard-chart-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:14px;margin-top:14px}
.dashboard-lower-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:14px;margin-top:14px}
.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(270px,.7fr) minmax(0,1.3fr);gap:14px;margin-top:14px}
.dashboard-leaderboard-panel{margin-top:14px}

.dashboard-bar-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;min-height:230px;align-items:end;padding-top:8px}
.dashboard-bar-chart .daily-activity-column{min-width:0;display:grid;grid-template-rows:auto 1fr auto auto;gap:6px;align-items:end;justify-items:center}
.dashboard-bar-chart .daily-activity-value{color:var(--navy);font-weight:900;font-size:.78rem}
.dashboard-bar-chart .daily-activity-track{width:100%;min-height:150px;display:flex;align-items:flex-end;padding:0;background:#f1f3f7;border-radius:7px;overflow:hidden}
.dashboard-bar-chart .daily-activity-track i{display:block;width:100%;background:var(--navy);min-height:4px}
.dashboard-bar-chart .daily-activity-column:nth-child(2n) .daily-activity-track i{background:var(--periwinkle)}
.dashboard-bar-chart .daily-activity-column:nth-child(3n) .daily-activity-track i{background:var(--gold)}
.dashboard-bar-chart .daily-activity-column b{font-size:.76rem;color:var(--navy)}
.dashboard-bar-chart .daily-activity-column small{font-size:.67rem;color:var(--muted)}

.accuracy-figure-wrap,.streak-figure-wrap{min-height:230px;display:grid;place-items:center;align-content:center;gap:14px}
.accuracy-ring,.streak-ring{--ring-value:0%;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--navy) var(--ring-value),#e9ebf2 0);position:relative;box-shadow:none}
.accuracy-ring::after,.streak-ring::after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff}
.accuracy-ring>div,.streak-ring>div{position:relative;z-index:1;text-align:center}
.accuracy-ring b,.streak-ring b{display:block;color:var(--navy);font-size:1.85rem;line-height:1}
.accuracy-ring span,.streak-ring span{display:block;color:var(--muted);font-size:.76rem;margin-top:4px}
.accuracy-figure-copy,.streak-figure-copy{text-align:center}
.accuracy-figure-copy>b,.streak-figure-copy>b{display:block;color:var(--navy);margin-bottom:4px}
.accuracy-figure-copy small,.streak-figure-copy small{display:block;color:var(--muted)}
.accuracy-figure-copy p,.streak-figure-copy p{margin:4px 0 0;color:var(--muted);font-size:.82rem}

.subject-chart-list{display:grid;gap:8px}
.subject-chart-list .subject-progress-row{border:0;border-bottom:1px solid #eceef3;border-radius:0;background:transparent;padding:10px 0 12px}
.subject-chart-list .subject-progress-row:last-child{border-bottom:0}
.subject-chart-list .subject-progress-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:8px}
.subject-chart-list .subject-progress-heading b{color:var(--navy)}
.subject-chart-list .subject-progress-heading small{display:block;color:var(--muted)}
.subject-chart-list .subject-progress-score{text-align:right}
.subject-chart-list .subject-progress-score>b{color:var(--navy);font-size:1.08rem}
.subject-chart-list .performance-bar{height:13px;background:#eceef3;border-radius:999px;overflow:hidden}
.subject-chart-list .performance-bar i{display:block;height:100%;border-radius:999px;background:var(--navy)}
.subject-chart-list .subject-progress-row:nth-child(2) .performance-bar i{background:var(--periwinkle)}
.subject-chart-list .subject-progress-row:nth-child(3) .performance-bar i{background:var(--gold)}
.subject-chart-list .subject-progress-row:nth-child(4) .performance-bar i{background:var(--green)}

.comparison-table-v2{display:grid;border-top:1px solid #e5e7ee}
.comparison-table-head,.comparison-table-row{display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(118px,.8fr);gap:10px;align-items:center}
.comparison-table-head{padding:8px 0;color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.comparison-table-row{padding:12px 0;border-top:1px solid #eceef3}
.comparison-table-row>span{color:var(--ink);font-size:.86rem}
.comparison-table-row>b{color:var(--navy);text-align:right}
.progress-delta{display:inline-flex;justify-content:center;align-items:center;min-height:28px;padding:4px 8px;border-radius:999px;font-size:.72rem;font-weight:850}
.progress-delta.positive{background:#e7f7ef;color:#177649}
.progress-delta.negative{background:#fdecef;color:#a93c5c}
.progress-delta.neutral{background:#eff1f5;color:#666a76}

.percentile-figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.percentile-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;border:1px solid #e4e6ed;border-radius:14px;padding:12px;background:#fff}
.percentile-card-description{grid-column:1/-1;margin:0;color:var(--muted);font-size:.82rem}
.percentile-ring{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--navy) var(--percentile-value,0%),#e9ebf2 0)}
.percentile-ring::after{content:"";position:absolute;inset:9px;background:#fff;border-radius:50%}
.percentile-ring span,.percentile-ring small{position:relative;z-index:1}
.percentile-ring span{color:var(--navy);font-weight:900;font-size:.88rem}
.percentile-ring small{display:none}
.percentile-card-copy{display:grid;gap:2px}
.percentile-card-label{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.percentile-card-copy b{color:var(--navy)}
.percentile-card-copy p{margin:0;color:var(--ink);font-size:.85rem}
.percentile-card-copy small{color:var(--muted)}
.subject-percentile-section{margin-top:12px;border-top:1px solid #e5e7ee;padding-top:12px}
.subject-percentile-heading{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:8px}
.subject-percentile-heading h3{color:var(--navy);margin:2px 0 0;font-size:.96rem}
.subject-percentile-heading>small{color:var(--muted)}
.subject-percentile-list{display:grid;gap:8px}
.subject-percentile-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.subject-percentile-bar{grid-column:1/-1;height:8px;border-radius:999px;background:#eceef3;overflow:hidden}
.subject-percentile-bar i{display:block;height:100%;background:var(--navy)}
.percentile-methodology,.leaderboard-methodology{margin-top:10px;padding-top:10px;border-top:1px solid #e5e7ee;color:var(--muted);font-size:.82rem}
.percentile-methodology p,.leaderboard-methodology p{margin:4px 0 0}

.record-table-v2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.record-table-v2>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #eceef3}
.record-table-v2>div.wide{grid-column:1/-1}
.record-table-v2 span{color:var(--muted);font-size:.82rem}
.record-table-v2 b{color:var(--navy);font-size:.96rem;text-align:right}

.compact-leaderboard-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:10px;margin-bottom:12px}
.compact-leaderboard-toolbar label span,.leaderboard-name-field>span{display:block;color:var(--muted);font-size:.72rem;font-weight:850;margin-bottom:4px}
.compact-leaderboard-toolbar select,.leaderboard-name-field input{width:100%;border:1px solid #dfe2ea;border-radius:10px;background:#fff;padding:8px 10px}
.leaderboard-settings-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px) auto;gap:12px;align-items:end;padding:12px 0;border-top:1px solid #eceef3;border-bottom:1px solid #eceef3}
.leaderboard-optin-row{display:flex;gap:8px;align-items:flex-start}
.leaderboard-optin-row span b{display:block;color:var(--navy)}
.leaderboard-optin-row span small{display:block;color:var(--muted)}
.leaderboard-table-title{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0 8px}
.leaderboard-table-title>div:last-child{display:flex;gap:10px;align-items:center}
.leaderboard-list{display:grid;border-top:1px solid #e5e7ee}
.leaderboard-row{display:grid;grid-template-columns:54px minmax(0,1fr) 110px;gap:10px;align-items:center;padding:11px 4px;border-bottom:1px solid #eceef3;background:#fff}
.leaderboard-row.is-me{background:#fff9ee}
.leaderboard-rank{color:var(--navy);font-weight:900;text-align:center}
.leaderboard-learner b{display:block;color:var(--navy)}
.leaderboard-learner small{display:block;color:var(--muted)}
.leaderboard-points{text-align:right}
.leaderboard-points b{display:block;color:var(--navy)}
.leaderboard-points small{display:block;color:var(--muted)}
.leaderboard-participant-count{display:inline-flex;padding:5px 8px;border:1px solid #e2e4eb;border-radius:999px;color:var(--navy);font-size:.72rem;font-weight:850}
.leaderboard-my-rank span{display:block;color:var(--muted);font-size:.72rem}
.leaderboard-my-rank b{display:block;color:var(--navy)}
.leaderboard-my-rank small{display:block;color:var(--muted);font-size:.78rem}
.leaderboard-status,.percentile-status{border:1px solid #e4e6ed;border-radius:12px;background:#fafbfc;padding:11px 12px}
.leaderboard-status span,.percentile-status span{margin-right:7px}
.leaderboard-status>div,.percentile-status>div{display:inline-block}
.leaderboard-status b,.percentile-status b{display:block;color:var(--navy)}
.leaderboard-status small,.percentile-status small{display:block;color:var(--muted)}

.saved-reviewer-list{display:grid;gap:7px}
.saved-reviewer-list a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:8px 0;border:0;border-bottom:1px solid #eceef3;border-radius:0;background:transparent}
.saved-reviewer-list a:last-child{border-bottom:0}
.saved-reviewer-list a>span{width:34px;height:34px;border-radius:8px;background:#eceffc;color:var(--navy);display:grid;place-items:center;font-size:.74rem;font-weight:900}
.saved-reviewer-list b{display:block;color:var(--navy)}
.saved-reviewer-list small{display:block;color:var(--muted)}
.history-list{display:grid;border-top:1px solid #e5e7ee}
.history-item{display:grid;grid-template-columns:minmax(0,1.4fr) 72px 72px auto;gap:10px;align-items:center;border:0;border-bottom:1px solid #eceef3;border-radius:0;padding:10px 0;background:transparent}
.history-item b{display:block;color:var(--navy)}
.history-item small{display:block;color:var(--muted)}
.history-item>span{text-align:center;color:var(--navy);font-weight:850}
.history-item a{text-decoration:none;color:var(--navy);font-weight:850;font-size:.78rem}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media (max-width:1050px){
  .dashboard-visual-grid{grid-template-columns:minmax(0,1.4fr) minmax(230px,.8fr)}
  .dashboard-streak-figure{grid-column:1/-1}
  .streak-figure-wrap{grid-template-columns:auto minmax(0,1fr);min-height:170px}
  .dashboard-chart-grid,.dashboard-lower-grid,.dashboard-bottom-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .dashboard-hero-flat-grid{grid-template-columns:1fr;align-items:start}
  .dashboard-week-inline{min-width:0}
  .dashboard-visual-grid{grid-template-columns:1fr}
  .dashboard-streak-figure{grid-column:auto}
  .streak-figure-wrap{grid-template-columns:1fr}
  .dashboard-bar-chart{grid-template-columns:repeat(7,minmax(42px,1fr));overflow-x:auto;padding-bottom:4px}
  .percentile-figure-grid{grid-template-columns:1fr}
  .comparison-table-head,.comparison-table-row{grid-template-columns:minmax(0,1fr) 72px}
  .comparison-table-head span:last-child,.comparison-table-row small{grid-column:1/-1;justify-self:start}
  .leaderboard-settings-row{grid-template-columns:1fr}
  .compact-leaderboard-toolbar{grid-template-columns:1fr 1fr}
  .record-table-v2{grid-template-columns:1fr}
  .record-table-v2>div.wide{grid-column:auto}
  .history-item{grid-template-columns:minmax(0,1fr) 54px 54px}
  .history-item a{grid-column:1/-1}
}
@media (max-width:520px){
  body[data-page="dashboard"] .container{width:min(var(--max),calc(100% - 24px))}
  .dashboard-hero-flat{padding:34px 0 30px}
  .dashboard-visual-panel{padding:15px;border-radius:14px}
  .dashboard-panel-head{flex-direction:column}
  .compact-leaderboard-toolbar{grid-template-columns:1fr}
  .dashboard-bar-chart{min-height:210px}
  .accuracy-ring,.streak-ring{width:132px;height:132px}
}



/* TutoDemy UI12 — workspace announcement strip removed site-wide */
.site-note {
  display: none !important;
}



/* TutoDemy Dashboard V3 — weekly leaderboard podium */
.leaderboard-podium {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
  margin: 14px 0 16px;
}

.leaderboard-podium-card {
  border: 1px solid #e1e4ec;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfbfe 100%);
  padding: 14px 14px 16px;
  text-align: center;
  display: grid;
  gap: 8px;
  min-height: 182px;
  box-shadow: 0 10px 24px rgba(24, 17, 115, 0.06);
}

.leaderboard-podium-card.place-1 {
  order: 2;
  min-height: 216px;
  border-color: rgba(227, 157, 45, 0.38);
  background: linear-gradient(180deg, #fff9ee 0%, #ffffff 70%);
}

.leaderboard-podium-card.place-2 {
  order: 1;
}

.leaderboard-podium-card.place-3 {
  order: 3;
}

.leaderboard-podium-top {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: var(--navy);
  font-weight: 900;
}

.leaderboard-podium-medal {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 1.5rem;
  background: #eef1ff;
  margin: 0 auto;
}

.leaderboard-podium-card.place-1 .leaderboard-podium-medal {
  width: 62px;
  height: 62px;
  background: #fff1c8;
}

.leaderboard-podium-card.place-2 .leaderboard-podium-medal {
  background: #eef1f5;
}

.leaderboard-podium-card.place-3 .leaderboard-podium-medal {
  background: #f8ece4;
}

.leaderboard-podium-rank {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--navy);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 900;
  margin: 0 auto;
}

.leaderboard-podium-card.place-1 .leaderboard-podium-rank {
  background: var(--gold);
  color: var(--navy);
}

.leaderboard-podium-name {
  color: var(--navy);
  font-size: 1.02rem;
  line-height: 1.15;
  font-weight: 900;
}

.leaderboard-podium-meta {
  color: var(--muted);
  font-size: 0.84rem;
}

.leaderboard-podium-score {
  display: grid;
  gap: 2px;
}

.leaderboard-podium-score b {
  color: var(--navy);
  font-size: 1.32rem;
  line-height: 1;
}

.leaderboard-podium-score span {
  color: var(--muted);
  font-size: 0.78rem;
}

.leaderboard-rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 32px;
  padding: 0 10px;
  border-radius: 999px;
  background: #eef1ff;
  color: var(--navy);
  font-weight: 900;
  font-size: 0.8rem;
}

.leaderboard-rank-badge.top-1 {
  background: #fff1c8;
}

.leaderboard-rank-badge.top-2 {
  background: #edf0f5;
}

.leaderboard-rank-badge.top-3 {
  background: #f8ece4;
}

.leaderboard-row.is-top-three {
  border-left: 4px solid var(--gold);
  padding-left: 10px;
  background: #fffdf8;
}

.leaderboard-row.is-top-three .leaderboard-rank {
  text-align: left;
}

@media (max-width: 860px) {
  .leaderboard-podium {
    grid-template-columns: 1fr;
  }
  .leaderboard-podium-card,
  .leaderboard-podium-card.place-1 {
    order: initial;
    min-height: 0;
  }
}



/* TutoDemy Dashboard V4 — game-like leaderboard podium */
.leaderboard-podium {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
  gap: 16px;
  margin: 16px 0 18px;
}

.leaderboard-podium-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(18, 15, 115, 0.10);
  padding: 18px 16px 0;
  text-align: center;
  display: grid;
  gap: 8px;
  box-shadow: 0 16px 40px rgba(24, 17, 115, 0.12);
  background: linear-gradient(180deg, #ffffff 0%, #f7f8ff 100%);
}

.leaderboard-podium-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 8px;
  background: rgba(18, 15, 115, 0.08);
}

.leaderboard-podium-card.place-1 {
  order: 2;
  background:
    radial-gradient(circle at top center, rgba(255, 233, 169, 0.85) 0%, rgba(255, 233, 169, 0) 48%),
    linear-gradient(180deg, #fffaf0 0%, #fffdf8 100%);
  border-color: rgba(227, 157, 45, 0.32);
}

.leaderboard-podium-card.place-1::before {
  background: linear-gradient(90deg, #f6d46b 0%, #e39d2d 100%);
}

.leaderboard-podium-card.place-2 {
  order: 1;
  background:
    radial-gradient(circle at top center, rgba(203, 214, 232, 0.72) 0%, rgba(203, 214, 232, 0) 45%),
    linear-gradient(180deg, #f8fbff 0%, #fdfdff 100%);
}

.leaderboard-podium-card.place-2::before {
  background: linear-gradient(90deg, #cfd6e4 0%, #9aa7bd 100%);
}

.leaderboard-podium-card.place-3 {
  order: 3;
  background:
    radial-gradient(circle at top center, rgba(237, 195, 166, 0.70) 0%, rgba(237, 195, 166, 0) 45%),
    linear-gradient(180deg, #fff8f4 0%, #fffefd 100%);
}

.leaderboard-podium-card.place-3::before {
  background: linear-gradient(90deg, #efc2a1 0%, #c78c64 100%);
}

.leaderboard-podium-crown {
  position: absolute;
  top: 12px;
  right: 14px;
  font-size: 1.25rem;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,0.12));
}

.leaderboard-podium-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  min-width: 54px;
  border-radius: 999px;
  padding: 0 12px;
  margin: 2px auto 0;
  font-weight: 900;
  font-size: 0.82rem;
  color: #fff;
  background: var(--navy);
  box-shadow: 0 6px 12px rgba(24, 17, 115, 0.16);
}

.leaderboard-podium-card.place-1 .leaderboard-podium-rank {
  color: var(--navy);
  background: linear-gradient(180deg, #ffe694 0%, #f0c64d 100%);
}

.leaderboard-podium-card.place-2 .leaderboard-podium-rank {
  background: linear-gradient(180deg, #dfe6f2 0%, #aab5c7 100%);
}

.leaderboard-podium-card.place-3 .leaderboard-podium-rank {
  background: linear-gradient(180deg, #efc5a8 0%, #cd9065 100%);
}

.leaderboard-podium-avatar {
  width: 72px;
  height: 72px;
  margin: 2px auto 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 1.15rem;
  font-weight: 900;
  color: var(--navy);
  background: rgba(255,255,255,0.94);
  border: 4px solid rgba(18, 15, 115, 0.08);
  box-shadow: 0 10px 22px rgba(24, 17, 115, 0.12);
}

.leaderboard-podium-card.place-1 .leaderboard-podium-avatar {
  width: 82px;
  height: 82px;
  border-color: rgba(227, 157, 45, 0.26);
}

.leaderboard-podium-medal {
  width: 56px;
  height: 56px;
  margin: -4px auto 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 1.55rem;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 10px 18px rgba(24, 17, 115, 0.10);
}

.leaderboard-podium-name {
  color: var(--navy);
  font-size: 1.06rem;
  line-height: 1.15;
  font-weight: 900;
}

.leaderboard-podium-name small {
  color: var(--muted);
  font-weight: 700;
  font-size: 0.78rem;
}

.leaderboard-podium-title {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.leaderboard-podium-stars {
  color: var(--gold);
  letter-spacing: 0.15em;
  font-size: 0.82rem;
  line-height: 1;
}

.leaderboard-podium-score {
  display: grid;
  gap: 2px;
}

.leaderboard-podium-score b {
  color: var(--navy);
  font-size: 1.4rem;
  line-height: 1;
}

.leaderboard-podium-score span {
  color: var(--muted);
  font-size: 0.78rem;
}

.leaderboard-podium-meta {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.4;
  padding: 0 4px;
}

.leaderboard-podium-stage {
  margin-top: 10px;
  border-radius: 20px 20px 0 0;
  background: linear-gradient(180deg, rgba(18, 15, 115, 0.08) 0%, rgba(18, 15, 115, 0.14) 100%);
  padding: 12px 10px;
  min-height: 74px;
  display: grid;
  align-content: center;
  gap: 4px;
}

.leaderboard-podium-card.place-1 .leaderboard-podium-stage {
  min-height: 112px;
  background: linear-gradient(180deg, #f3d37c 0%, #e3a63d 100%);
}

.leaderboard-podium-card.place-2 .leaderboard-podium-stage {
  min-height: 90px;
  background: linear-gradient(180deg, #d7ddeb 0%, #aab4c5 100%);
}

.leaderboard-podium-card.place-3 .leaderboard-podium-stage {
  min-height: 82px;
  background: linear-gradient(180deg, #efceb5 0%, #cf956d 100%);
}

.leaderboard-podium-stage b,
.leaderboard-podium-stage small {
  color: var(--navy);
}

.leaderboard-podium-card.place-1 .leaderboard-podium-stage b,
.leaderboard-podium-card.place-1 .leaderboard-podium-stage small {
  color: #342200;
}

.leaderboard-podium-stage b {
  font-size: 1rem;
  font-weight: 900;
}

.leaderboard-podium-stage small {
  font-size: 0.78rem;
  font-weight: 800;
  opacity: 0.9;
}

.leaderboard-rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 62px;
  height: 34px;
  border-radius: 999px;
  padding: 0 12px;
  font-size: 0.8rem;
  font-weight: 900;
  color: var(--navy);
  background: #eef1ff;
}

.leaderboard-rank-badge.top-1 {
  background: linear-gradient(180deg, #ffe694 0%, #f0c64d 100%);
}

.leaderboard-rank-badge.top-2 {
  background: linear-gradient(180deg, #dfe6f2 0%, #aab5c7 100%);
}

.leaderboard-rank-badge.top-3 {
  background: linear-gradient(180deg, #efc5a8 0%, #cd9065 100%);
}

.leaderboard-row.is-top-three {
  border-left: 4px solid var(--gold);
  background: linear-gradient(90deg, #fffdf7 0%, #ffffff 100%);
}

@media (max-width: 900px) {
  .leaderboard-podium {
    grid-template-columns: 1fr;
  }
  .leaderboard-podium-card,
  .leaderboard-podium-card.place-1,
  .leaderboard-podium-card.place-2,
  .leaderboard-podium-card.place-3 {
    order: initial;
  }
  .leaderboard-podium-card.place-1 .leaderboard-podium-stage,
  .leaderboard-podium-card.place-2 .leaderboard-podium-stage,
  .leaderboard-podium-card.place-3 .leaderboard-podium-stage {
    min-height: 72px;
  }
}



/* TutoDemy Booking Notifications Phase 1 */
.notification-preferences-panel p {
  color: var(--muted);
}
.notification-pref-list {
  display: grid;
  gap: 10px;
  margin: 14px 0;
}
.notification-pref-row,
.notification-device-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(12, 4, 109, 0.09);
}
.notification-pref-row span b,
.notification-device-row b {
  display: block;
  color: var(--navy);
  margin-bottom: 3px;
}
.notification-pref-row span small,
.notification-device-row small {
  display: block;
  color: var(--muted);
  line-height: 1.4;
}
.notification-pref-row input[type="checkbox"] {
  width: 22px;
  height: 22px;
  accent-color: var(--navy);
}
.notification-device-row .button {
  white-space: nowrap;
}
.notification-pref-note {
  display: block;
  color: var(--muted);
  line-height: 1.45;
  margin-top: 10px;
}
@media (max-width: 560px) {
  .notification-pref-row,
  .notification-device-row {
    grid-template-columns: 1fr;
  }
  .notification-pref-row input[type="checkbox"] {
    justify-self: start;
  }
  .notification-device-row .button {
    justify-self: start;
  }
}



/* TutoDemy Web Push Phase 2 — real device subscription state */
#enable-browser-notifications[data-push-state="enabled"] {
  border-color: var(--green);
  color: var(--green);
  background: #f1fbf6;
}
#enable-browser-notifications[data-push-state="blocked"],
#enable-browser-notifications[data-push-state="unavailable"] {
  opacity: .72;
}



/* TutoDemy Notifications — default-on presentation */
.notification-label-line{
  display:flex;
  align-items:center;
  gap:.5rem;
  flex-wrap:wrap;
}
.notification-default-badge{
  display:inline-flex;
  align-items:center;
  min-height:1.55rem;
  padding:.15rem .5rem;
  border-radius:999px;
  background:rgba(12,4,109,.08);
  color:var(--navy, #0C046D);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.02em;
  white-space:nowrap;
}
.notification-device-default-on{
  border:1px solid rgba(116,132,194,.34);
  border-radius:16px;
  padding:1rem;
  background:linear-gradient(180deg,rgba(116,132,194,.06),rgba(255,255,255,.8));
}
.notification-device-default-on.needs-activation{
  border-color:rgba(229,146,46,.52);
  background:linear-gradient(180deg,rgba(229,146,46,.09),rgba(255,255,255,.88));
}
.notification-device-default-on.is-active{
  border-color:rgba(42,143,91,.34);
  background:linear-gradient(180deg,rgba(42,143,91,.08),rgba(255,255,255,.9));
}
.notification-device-default-on.is-active .notification-default-badge{
  background:rgba(42,143,91,.11);
  color:#1f754a;
}
.notification-device-default-on.is-blocked,
.notification-device-default-on.is-unavailable{
  opacity:.8;
}
.notification-device-copy{
  min-width:0;
}
@media (max-width: 640px){
  .notification-device-default-on{
    align-items:stretch;
  }
  .notification-device-default-on #enable-browser-notifications{
    width:100%;
    margin-top:.65rem;
  }
}



/* TutoDemy Booking Expiry / Response Reliability */
.status-pill.status-expired{
  background:#fff3df;
  color:#9b5b09;
  border:1px solid rgba(229,146,46,.38);
}
.booking-item-expired{
  border-color:rgba(229,146,46,.34);
  background:linear-gradient(180deg,rgba(229,146,46,.045),#fff);
}
.booking-expired-note{
  margin:.85rem 0 0;
  padding:.8rem .9rem;
  border-left:4px solid #E5922E;
  border-radius:10px;
  background:#fff8ea;
  color:#5f4a2b;
  line-height:1.45;
}
.booking-action-feedback{
  margin:.75rem 0 0;
  padding:.65rem .75rem;
  border-radius:10px;
}
.booking-action-feedback.success{
  background:#f0faf5;
  color:#1d7048;
}
.booking-action-feedback.error{
  background:#fff2f1;
  color:#a13831;
}
@media (max-width:640px){
  .booking-item .booking-actions{
    align-items:stretch;
  }
  .booking-item .booking-actions .button{
    width:100%;
    justify-content:center;
  }
}



/* =========================================================
   TutoDemy Compact Workspace UI
   Functional pages open directly to the actual tools/content.
   ========================================================= */
.workspace-first-section{
  padding-top:1rem !important;
}
.workspace-compact-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.85rem;
  margin:0 0 .9rem;
  min-height:44px;
}
.workspace-compact-head h1{
  margin:0;
  color:var(--navy, #0C046D);
  font-size:clamp(1.35rem,2.4vw,1.9rem);
  line-height:1.05;
  letter-spacing:-.025em;
}
.workspace-compact-head-wrap{
  flex-wrap:wrap;
}
.workspace-compact-title-group{
  min-width:0;
}
.workspace-compact-actions{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
}
.button-small{
  min-height:38px;
  padding:.55rem .85rem;
  font-size:.88rem;
}
.workspace-status-line{
  display:flex;
  align-items:center;
  gap:.4rem;
  flex-wrap:wrap;
  margin-top:.35rem;
  color:#777;
  font-size:.82rem;
}
.workspace-status-line > span{
  text-transform:uppercase;
  font-size:.7rem;
  letter-spacing:.05em;
  font-weight:800;
}
.workspace-status-line > b{
  color:var(--navy, #0C046D);
}
.workspace-status-line > small{
  color:#777;
}
.workspace-compact-details{
  position:relative;
  font-size:.82rem;
}
.workspace-compact-details summary{
  cursor:pointer;
  color:var(--navy, #0C046D);
  font-weight:800;
  list-style:none;
  padding:.42rem .68rem;
  border:1px solid rgba(12,4,109,.16);
  border-radius:999px;
  background:#fff;
}
.workspace-compact-details summary::-webkit-details-marker{display:none}
.workspace-compact-details p{
  position:absolute;
  z-index:8;
  right:0;
  top:calc(100% + .4rem);
  width:min(330px,80vw);
  margin:0;
  padding:.75rem .85rem;
  border:1px solid rgba(12,4,109,.12);
  border-radius:12px;
  background:#fff;
  box-shadow:0 12px 35px rgba(12,4,109,.12);
  color:#666;
  line-height:1.45;
}
.workspace-week-compact{
  display:flex;
  align-items:center;
  gap:.55rem;
  flex-wrap:wrap;
  color:#777;
  font-size:.82rem;
}
.workspace-week-compact > span{
  color:var(--navy, #0C046D);
  font-weight:800;
}
.workspace-week-compact > a{
  color:var(--navy, #0C046D);
  font-weight:800;
  text-decoration:none;
}
.profile-account-hero-compact{
  padding:.85rem 0 !important;
  min-height:0 !important;
}
.profile-account-hero-compact .profile-account-heading{
  min-height:0;
  gap:.75rem;
}
.profile-account-hero-compact .account-avatar{
  width:46px;
  height:46px;
  min-width:46px;
  font-size:1rem;
}
.profile-account-hero-compact h1{
  margin:0;
  font-size:clamp(1.2rem,2vw,1.55rem);
}
.profile-account-hero-compact p{
  margin:.15rem 0 0;
  font-size:.85rem;
}
.message-page-section .message-layout{
  margin-top:0;
}

/* Reduce redundant vertical gaps on pages that now start with tools. */
body[data-page="messages"] #main-content,
body[data-page="bookings"] #main-content,
body[data-page="tutor-dashboard"] #main-content,
body[data-page="tutoring"] #main-content,
body[data-page="dashboard"] #main-content,
body[data-page="admin"] #main-content{
  min-height:calc(100vh - 90px);
}

@media (max-width:720px){
  .workspace-first-section{
    padding-top:.65rem !important;
  }
  .workspace-compact-head{
    margin-bottom:.65rem;
    min-height:38px;
  }
  .workspace-compact-head h1{
    font-size:1.3rem;
  }
  .workspace-compact-actions{
    width:100%;
  }
  .workspace-compact-actions .button{
    flex:1 1 auto;
    text-align:center;
    justify-content:center;
  }
  .workspace-status-line > small{
    width:100%;
  }
  .workspace-week-compact small{
    display:none;
  }
  .profile-account-hero-compact{
    padding:.6rem 0 !important;
  }
}



/* =========================================================
   TutoDemy Workspace Fix 2
   Compact functional headers + stable admin booking layout
   ========================================================= */
.workspace-section-bar{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap;
  margin:0 0 .8rem;
}
.workspace-section-bar h2{
  margin:0;
  color:var(--navy, #0C046D);
  font-size:clamp(1.1rem,2vw,1.45rem);
  line-height:1.1;
  letter-spacing:-.02em;
}
.workspace-section-bar small{
  color:var(--muted, #6e6b6c);
  font-size:.78rem;
}
.workspace-section-bar-admin{
  padding:.15rem 0 .35rem;
}

/* Generic admin-card-head uses a 90px image column for tutor-review cards.
   Booking cards have no image, so override it to prevent names from wrapping
   one word per line on tablets. */
.booking-admin-card .admin-card-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:1rem;
}
.booking-admin-card .admin-card-head > div{
  min-width:0;
}
.booking-admin-card .admin-card-head h3{
  display:flex;
  align-items:center;
  gap:.35rem;
  flex-wrap:wrap;
  max-width:100%;
  font-size:clamp(1rem,2vw,1.25rem);
  line-height:1.3;
  overflow-wrap:anywhere;
}
.booking-admin-card .booking-party-arrow{
  opacity:.6;
  font-weight:700;
}
.booking-admin-card .admin-card-head > b{
  white-space:nowrap;
  color:var(--ink, #4F4D4E);
  font-size:1rem;
}
.booking-admin-card .booking-details dd{
  overflow-wrap:anywhere;
}
.booking-admin-card .admin-payment-proof,
.booking-admin-card .admin-payment-form,
.booking-admin-card .admin-complete-form{
  margin-top:.8rem;
}

/* Dashboard alerts should only be visually prominent when there is a real
   message; normal loading/empty states remain compact. */
#dashboard-alert:empty{
  display:none !important;
}

@media (max-width:720px){
  .workspace-section-bar{
    align-items:flex-start;
    margin-bottom:.65rem;
  }
  .workspace-section-bar small{
    width:100%;
  }
  .booking-admin-card .admin-card-head{
    grid-template-columns:minmax(0,1fr) auto !important;
  }
  .booking-admin-card .admin-card-head > b{
    font-size:.92rem;
  }
}



/* =========================================================
   TutoDemy Admin Booking Cards — Wide Tablet Layout
   Dedicated booking header avoids generic tutor-review grid.
   ========================================================= */
#admin-booking-list{
  width:100%;
}

.booking-admin-card{
  width:100%;
  min-width:0;
}

.booking-admin-head{
  width:100%;
  min-width:0;
  display:grid;
  gap:.8rem;
}

.booking-admin-head-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.booking-admin-amount{
  flex:0 0 auto;
  color:var(--ink, #4F4D4E);
  font-size:1.05rem;
  white-space:nowrap;
}

.booking-admin-parties{
  display:grid;
  grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);
  align-items:center;
  gap:.8rem;
  width:100%;
  min-width:0;
  padding:.85rem 1rem;
  border-radius:14px;
  background:#fafafe;
  border:1px solid rgba(12,4,109,.08);
}

.booking-admin-party{
  min-width:0;
}

.booking-admin-party > span{
  display:block;
  margin-bottom:.2rem;
  color:var(--muted, #6e6b6c);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.booking-admin-party > strong{
  display:block;
  min-width:0;
  color:var(--navy, #0C046D);
  font-size:clamp(1rem,1.7vw,1.25rem);
  line-height:1.25;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

.booking-admin-arrow{
  color:var(--periwinkle, #7484C2);
  font-size:1.05rem;
  font-weight:900;
}

.booking-admin-session{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.45rem .65rem;
  color:var(--muted, #6e6b6c);
  font-size:.88rem;
}

.booking-admin-session span{
  display:inline-flex;
  align-items:center;
  white-space:nowrap;
}

.booking-admin-session span + span::before{
  content:"•";
  margin-right:.65rem;
  color:var(--periwinkle, #7484C2);
}

.booking-admin-details{
  grid-template-columns:repeat(4,minmax(150px,1fr)) !important;
}

.booking-admin-details > div{
  min-width:0;
}

.booking-admin-details dd{
  overflow-wrap:break-word !important;
  word-break:normal !important;
}

/* Tablet: keep names side-by-side as long as there is room. */
@media (max-width:900px){
  .booking-admin-parties{
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  }

  .booking-admin-party > strong{
    font-size:1rem;
  }

  .booking-admin-details{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Phone: stack only on genuinely narrow screens. */
@media (max-width:560px){
  .booking-admin-parties{
    grid-template-columns:1fr;
    gap:.55rem;
  }

  .booking-admin-arrow{
    display:none;
  }

  .booking-admin-session{
    display:grid;
    gap:.25rem;
  }

  .booking-admin-session span{
    white-space:normal;
  }

  .booking-admin-session span + span::before{
    content:none;
  }

  .booking-admin-details{
    grid-template-columns:1fr !important;
  }
}



/* =========================================================
   TutoDemy Weekly Tutor Payouts — Wide Layout
   Bypasses generic admin-card-head 90px tutor-review grid.
   ========================================================= */
#admin-payout-list{
  width:100%;
}

.payout-admin-card{
  width:100%;
  min-width:0;
}

.payout-admin-head{
  width:100%;
  display:grid;
  gap:.75rem;
}

.payout-admin-head-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}

.payout-admin-amount{
  flex:0 0 auto;
  color:var(--ink, #4F4D4E);
  font-size:1.1rem;
  white-space:nowrap;
}

.payout-admin-summary{
  display:grid;
  grid-template-columns:minmax(280px,1.35fr) minmax(180px,.8fr) minmax(220px,1fr);
  gap:.7rem;
  width:100%;
}

.payout-admin-tutor,
.payout-admin-stat{
  min-width:0;
  padding:.8rem .9rem;
  border:1px solid rgba(12,4,109,.08);
  border-radius:13px;
  background:#fafafe;
}

.payout-admin-tutor > span,
.payout-admin-stat > span{
  display:block;
  margin-bottom:.22rem;
  color:var(--muted, #6e6b6c);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.payout-admin-tutor > strong{
  display:block;
  color:var(--navy, #0C046D);
  font-size:clamp(1.05rem,1.8vw,1.28rem);
  line-height:1.25;
  word-break:normal;
  overflow-wrap:break-word;
}

.payout-admin-stat > strong{
  display:block;
  color:var(--navy, #0C046D);
  font-size:.93rem;
  line-height:1.35;
  word-break:normal;
}

.payout-destination-wide{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  width:100%;
  padding:1rem 1.1rem !important;
}

.payout-destination-copy{
  min-width:0;
  display:grid;
  gap:.2rem;
}

.payout-destination-copy b{
  font-size:1rem;
  line-height:1.3;
}

.payout-destination-copy p{
  font-size:.92rem;
}

.payout-destination-wide .open-payout-qr{
  flex:0 0 auto;
}

.admin-payout-form-wide{
  display:grid !important;
  grid-template-columns:minmax(260px,1.25fr) minmax(220px,1fr) auto;
  align-items:end;
  gap:.7rem !important;
  width:100%;
}

.admin-payout-form-wide label{
  min-width:0;
}

.admin-payout-form-wide input{
  width:100%;
  min-width:0;
}

.admin-payout-form-wide .record-payout{
  white-space:nowrap;
  min-height:42px;
}

.payout-record-note{
  grid-column:1 / -1;
  font-size:.76rem;
}

/* Tablet: still horizontal, only reduce widths. */
@media (max-width:1000px){
  .payout-admin-summary{
    grid-template-columns:minmax(220px,1.2fr) minmax(150px,.75fr) minmax(190px,1fr);
  }

  .admin-payout-form-wide{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }

  .admin-payout-form-wide .record-payout{
    grid-column:1 / -1;
    justify-self:start;
  }
}

/* Smaller tablet: tutor remains full-width; stats sit side-by-side. */
@media (max-width:720px){
  .payout-admin-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .payout-admin-tutor{
    grid-column:1 / -1;
  }

  .payout-destination-wide{
    align-items:flex-start;
  }

  .admin-payout-form-wide{
    grid-template-columns:1fr;
  }

  .admin-payout-form-wide .record-payout,
  .payout-record-note{
    grid-column:auto;
  }
}

/* Phone only: stack destination action. */
@media (max-width:520px){
  .payout-admin-summary{
    grid-template-columns:1fr;
  }

  .payout-admin-tutor{
    grid-column:auto;
  }

  .payout-destination-wide{
    display:grid !important;
  }

  .payout-destination-wide .open-payout-qr{
    width:100%;
    justify-content:center;
  }
}



/* =========================================================
   TutoDemy PayMongo Learner Checkout
   ========================================================= */
.paymongo-checkout-card{
  margin-top:.8rem;
  border:1px solid rgba(12,4,109,.13);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(12,4,109,.035),#fff);
  padding:1rem;
}

.paymongo-checkout-copy{
  display:grid;
  gap:.65rem;
}

.paymongo-checkout-copy h3{
  margin:0;
  color:var(--navy, #0C046D);
  font-size:clamp(1.05rem,2vw,1.35rem);
}

.paymongo-checkout-copy > p{
  margin:0;
  color:var(--muted, #6e6b6c);
  line-height:1.5;
}

.paymongo-payment-summary{
  display:grid;
  grid-template-columns:minmax(150px,.65fr) minmax(240px,1fr);
  gap:.65rem;
  margin:.1rem 0 0;
}

.paymongo-payment-summary > div{
  min-width:0;
  padding:.75rem .85rem;
  background:#fafafe;
  border:1px solid rgba(12,4,109,.08);
  border-radius:12px;
}

.paymongo-payment-summary dt{
  margin-bottom:.18rem;
  color:var(--muted, #6e6b6c);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.paymongo-payment-summary dd{
  margin:0;
  color:var(--navy, #0C046D);
  font-weight:800;
  overflow-wrap:anywhere;
}

.paymongo-checkout-button{
  width:max-content;
  min-width:min(100%,260px);
}

.paymongo-checkout-status{
  min-height:1.25rem;
  margin:0;
}

.paymongo-trust-note{
  display:block;
  color:#777;
  line-height:1.45;
}

.payment-legacy-pending-card{
  margin-top:.8rem;
  padding:1rem;
  border:1px solid rgba(229,146,46,.28);
  border-radius:14px;
  background:#fff9ef;
}

.payment-legacy-pending-card h3{
  margin:.55rem 0 .3rem;
  color:var(--navy, #0C046D);
  font-size:1rem;
}

.payment-legacy-pending-card p{
  margin:0;
  color:#655b4d;
  line-height:1.45;
}

.paymongo-confirmed-card{
  border-color:rgba(42,143,91,.24);
}

@media (max-width:640px){
  .paymongo-payment-summary{
    grid-template-columns:1fr;
  }

  .paymongo-checkout-button{
    width:100%;
  }
}



/* =========================================================
   TutoDemy PayMongo Phase 5 — Production Polish
   ========================================================= */

.paymongo-return-banner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.8rem;
  margin:0 0 .9rem;
  padding:.85rem 1rem;
  border:1px solid rgba(12,4,109,.14);
  border-radius:15px;
  background:#fff;
}

.paymongo-return-banner[hidden]{
  display:none !important;
}

.paymongo-return-banner.is-processing{
  background:#f7f6ff;
  border-color:rgba(116,132,194,.34);
}

.paymongo-return-banner.is-confirmed{
  background:#f0faf5;
  border-color:rgba(42,143,91,.28);
}

.paymongo-return-banner.is-cancelled{
  background:#fff9ef;
  border-color:rgba(229,146,46,.32);
}

.paymongo-return-copy{
  min-width:0;
  display:grid;
  gap:.16rem;
}

.paymongo-return-copy b{
  color:var(--navy, #0C046D);
  font-size:.95rem;
}

.paymongo-return-copy span{
  color:var(--muted, #6e6b6c);
  font-size:.82rem;
  line-height:1.4;
}

.paymongo-return-icon{
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(12,4,109,.08);
  color:var(--navy, #0C046D);
  font-weight:900;
}

.is-confirmed .paymongo-return-icon{
  background:rgba(42,143,91,.12);
  color:#1f754a;
}

.is-cancelled .paymongo-return-icon{
  background:rgba(229,146,46,.13);
  color:#94590b;
}

.paymongo-return-spinner{
  width:30px;
  height:30px;
  border:3px solid rgba(12,4,109,.13);
  border-top-color:var(--navy, #0C046D);
  border-radius:50%;
  animation:tutodemy-paymongo-spin .8s linear infinite;
}

@keyframes tutodemy-paymongo-spin{
  to{transform:rotate(360deg)}
}

.paymongo-confirmed-card{
  display:flex;
  align-items:center;
  gap:.8rem;
}

.paymongo-confirmed-mark{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(42,143,91,.12);
  color:#1f754a;
  font-size:1.05rem;
  font-weight:900;
}

.paymongo-confirmed-card > div:last-child{
  min-width:0;
  display:grid;
  gap:.16rem;
}

.paymongo-confirmed-card b{
  display:block;
  color:var(--navy, #0C046D);
  font-size:1.05rem;
}

/* Admin operational alerts */
.paymongo-admin-alerts{
  display:grid;
  gap:.7rem;
  margin:0 0 .9rem;
}

.paymongo-admin-healthy,
.paymongo-admin-setup-note{
  display:flex;
  align-items:center;
  gap:.65rem;
  padding:.7rem .8rem;
  border-radius:12px;
  font-size:.82rem;
}

.paymongo-admin-healthy{
  border:1px solid rgba(42,143,91,.18);
  background:#f3faf6;
}

.paymongo-admin-healthy > span{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border-radius:50%;
  background:rgba(42,143,91,.12);
  color:#1f754a;
  font-weight:900;
}

.paymongo-admin-healthy > div{
  display:grid;
  gap:.08rem;
}

.paymongo-admin-healthy b{
  color:#1f754a;
}

.paymongo-admin-healthy small{
  color:#65736b;
}

.paymongo-admin-setup-note{
  border:1px dashed rgba(116,132,194,.4);
  background:#fafafe;
  color:#666;
}

.paymongo-admin-alert-summary{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:.6rem;
  flex-wrap:wrap;
}

.paymongo-admin-alert-summary b{
  color:#8b3e29;
}

.paymongo-admin-alert-summary small{
  color:#777;
}

.paymongo-admin-alert-list{
  display:grid;
  gap:.65rem;
}

.paymongo-admin-alert{
  display:grid;
  gap:.65rem;
  padding:.85rem;
  border-radius:14px;
  background:#fff;
}

.paymongo-admin-alert-critical{
  border:1px solid rgba(183,69,55,.3);
  background:#fff7f5;
}

.paymongo-admin-alert-warning{
  border:1px solid rgba(229,146,46,.33);
  background:#fffaf1;
}

.paymongo-admin-alert-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
}

.paymongo-admin-alert-head > div{
  min-width:0;
  display:grid;
  gap:.12rem;
}

.paymongo-admin-alert-head b{
  color:var(--navy, #0C046D);
  overflow-wrap:anywhere;
}

.paymongo-admin-alert-head > strong{
  white-space:nowrap;
  color:var(--ink, #4F4D4E);
}

.paymongo-admin-alert-label{
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#9a4d32;
}

.paymongo-admin-alert-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.45rem;
  margin:0;
}

.paymongo-admin-alert-meta > div{
  min-width:0;
  padding:.5rem .58rem;
  border-radius:9px;
  background:rgba(255,255,255,.7);
}

.paymongo-admin-alert-meta .wide{
  grid-column:span 2;
}

.paymongo-admin-alert-meta dt{
  margin-bottom:.12rem;
  color:#777;
  font-size:.62rem;
  font-weight:900;
  text-transform:uppercase;
}

.paymongo-admin-alert-meta dd{
  margin:0;
  font-size:.78rem;
  color:var(--navy, #0C046D);
  overflow-wrap:anywhere;
}

.paymongo-admin-alert > p{
  margin:0;
  color:#6a625c;
  font-size:.8rem;
  line-height:1.45;
}

.paymongo-admin-alert .review-paymongo-alert{
  width:max-content;
}

@media(max-width:760px){
  .paymongo-return-banner{
    grid-template-columns:auto minmax(0,1fr);
  }

  .paymongo-return-banner > .button{
    grid-column:1 / -1;
    width:100%;
    justify-content:center;
  }

  .paymongo-admin-alert-meta{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:520px){
  .paymongo-admin-alert-meta{
    grid-template-columns:1fr;
  }

  .paymongo-admin-alert-meta .wide{
    grid-column:auto;
  }

  .paymongo-admin-alert-head{
    display:grid;
  }
}



/* =========================================================
   TutoDemy Professional UI Pass
   Clean copy, clear workspaces, restrained forms/cards.
   ========================================================= */

:root{
  --ui-border:#dfe2ea;
  --ui-border-strong:#cbd0dc;
  --ui-surface:#ffffff;
  --ui-surface-soft:#f8f9fc;
  --ui-focus:rgba(116,132,194,.18);
}

/* Clear workspace navigation */
.main-nav{
  gap:14px;
}

.main-nav a,
.nav-dropdown-toggle{
  font-weight:760;
  letter-spacing:-.005em;
}

.main-nav a.workspace-nav-home{
  align-self:center;
  padding:9px 12px;
  margin:0;
  border:1px solid rgba(12,4,109,.13);
  border-radius:10px;
  background:#f7f7fb;
  color:var(--navy);
  line-height:1;
}

.main-nav a.workspace-nav-home:hover,
.main-nav a.workspace-nav-home.active{
  background:var(--navy);
  border-color:var(--navy);
  color:#fff;
}

body.role-tutor .main-nav a.workspace-nav-home{
  border-color:rgba(122,82,0,.18);
  background:#fff9ea;
  color:#704900;
}

body.role-tutor .main-nav a.workspace-nav-home:hover,
body.role-tutor .main-nav a.workspace-nav-home.active{
  background:#704900;
  border-color:#704900;
  color:#fff;
}

body.role-admin .main-nav{
  gap:11px;
}

body.role-admin .main-nav a.workspace-nav-home{
  background:rgba(255,255,255,.11);
  border-color:rgba(255,255,255,.24);
  color:#fff;
}

body.role-admin .main-nav a.workspace-nav-home:hover,
body.role-admin .main-nav a.workspace-nav-home.active{
  background:var(--gold);
  border-color:var(--gold);
  color:#2f2308;
}

.workspace-badge{
  min-height:22px;
  padding:4px 8px;
  font-size:.58rem;
  letter-spacing:.06em;
}

.role-view-switch{
  border-radius:10px;
  font-size:.7rem;
  font-weight:760;
}

/* Remove decorative micro-copy that does not help navigation */
.page-hero .eyebrow,
.section-heading > .eyebrow,
.hero-copy > .eyebrow,
.workspace-section-bar > .eyebrow,
.profile-content > .eyebrow{
  display:none !important;
}

/* Tighter page hierarchy */
body:not([data-page="home"]) .section{
  padding-top:46px;
  padding-bottom:46px;
}

body:not([data-page="home"]) .page-hero{
  padding-top:44px !important;
  padding-bottom:38px !important;
}

body:not([data-page="home"]) .page-hero h1{
  font-size:clamp(2rem,4.8vw,3.6rem) !important;
  line-height:1.02;
  letter-spacing:-.045em;
  margin-bottom:12px;
}

.section-heading{
  max-width:720px;
  margin-bottom:24px;
}

.section-heading h2,
.split-feature h2,
.tutor-teaser h2,
.founder-note h2,
.quality-workflow h2,
.architecture h2,
.vision-grid h2,
.reader-content h2,
.profile-content h2{
  font-size:clamp(1.45rem,3vw,2.15rem);
  line-height:1.08;
  letter-spacing:-.035em;
  margin:0 0 9px;
}

.section-heading p,
.split-feature p,
.tutor-teaser p,
.vision-grid p{
  line-height:1.55;
}

.workspace-compact-head h1,
.workspace-section-bar h2{
  letter-spacing:-.025em;
}

/* More restrained cards */
.booking-item,
.admin-card,
.tutor-card,
.reviewer-card,
.metric-card,
.dashboard-card,
.profile-card,
.auth-panel,
.builder-form,
.marketplace-form fieldset{
  border-color:var(--ui-border);
  border-radius:14px;
  box-shadow:none;
}

/* Professional buttons */
.button{
  border-radius:10px;
  padding:11px 16px;
  font-weight:780;
  box-shadow:none;
}

.button:hover:not(:disabled){
  transform:none;
  box-shadow:0 7px 18px rgba(12,4,109,.10);
}

.button-outline{
  background:#fff;
}

.text-button,
.link-button{
  font-weight:760;
}

/* Form system */
:where(
  .auth-panel,
  .account-profile-form,
  .marketplace-form,
  .admin-card,
  .builder-form,
  .commission-calculator,
  .inline-review-form,
  .admin-payout-form,
  .leaderboard-preferences-grid,
  .compact-leaderboard-toolbar,
  .booking-request-form,
  .message-composer
) label{
  color:#3f4250;
  font-weight:730;
  letter-spacing:0;
}

:where(
  .auth-panel,
  .account-profile-form,
  .marketplace-form,
  .admin-card,
  .builder-form,
  .commission-calculator,
  .inline-review-form,
  .admin-payout-form,
  .leaderboard-preferences-grid,
  .compact-leaderboard-toolbar,
  .booking-request-form,
  .message-composer
) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
:where(
  .auth-panel,
  .account-profile-form,
  .marketplace-form,
  .admin-card,
  .builder-form,
  .commission-calculator,
  .inline-review-form,
  .admin-payout-form,
  .leaderboard-preferences-grid,
  .compact-leaderboard-toolbar,
  .booking-request-form,
  .message-composer
) select,
:where(
  .auth-panel,
  .account-profile-form,
  .marketplace-form,
  .admin-card,
  .builder-form,
  .commission-calculator,
  .inline-review-form,
  .admin-payout-form,
  .leaderboard-preferences-grid,
  .compact-leaderboard-toolbar,
  .booking-request-form,
  .message-composer
) textarea{
  width:100%;
  min-height:43px;
  border:1px solid var(--ui-border);
  border-radius:9px;
  background:var(--ui-surface);
  color:var(--ink);
  padding:10px 12px;
  font:inherit;
  font-size:.86rem;
  box-shadow:0 1px 1px rgba(12,4,109,.015);
  transition:border-color .15s, box-shadow .15s, background .15s;
}

:where(
  .auth-panel,
  .account-profile-form,
  .marketplace-form,
  .admin-card,
  .builder-form,
  .commission-calculator,
  .inline-review-form,
  .admin-payout-form,
  .leaderboard-preferences-grid,
  .compact-leaderboard-toolbar,
  .booking-request-form,
  .message-composer
) textarea{
  min-height:96px;
  line-height:1.5;
  resize:vertical;
}

:where(
  .auth-panel,
  .account-profile-form,
  .marketplace-form,
  .admin-card,
  .builder-form,
  .commission-calculator,
  .inline-review-form,
  .admin-payout-form,
  .leaderboard-preferences-grid,
  .compact-leaderboard-toolbar,
  .booking-request-form,
  .message-composer
) input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,
:where(
  .auth-panel,
  .account-profile-form,
  .marketplace-form,
  .admin-card,
  .builder-form,
  .commission-calculator,
  .inline-review-form,
  .admin-payout-form,
  .leaderboard-preferences-grid,
  .compact-leaderboard-toolbar,
  .booking-request-form,
  .message-composer
) select:focus,
:where(
  .auth-panel,
  .account-profile-form,
  .marketplace-form,
  .admin-card,
  .builder-form,
  .commission-calculator,
  .inline-review-form,
  .admin-payout-form,
  .leaderboard-preferences-grid,
  .compact-leaderboard-toolbar,
  .booking-request-form,
  .message-composer
) textarea:focus{
  outline:none;
  border-color:var(--periwinkle);
  box-shadow:0 0 0 3px var(--ui-focus);
}

input::placeholder,
textarea::placeholder{
  color:#9a9da7;
  opacity:1;
}

.marketplace-form fieldset{
  padding:16px;
  margin-bottom:14px;
}

.marketplace-form legend{
  font-weight:780;
  font-size:.86rem;
}

.checkbox-grid label,
.role-card,
.leaderboard-optin-row{
  border:1px solid var(--ui-border);
  background:#fff;
  border-radius:10px;
}

/* Tabs should read like app controls, not marketing chips */
.booking-tabs,
.admin-tabs{
  gap:6px;
  margin-bottom:16px;
}

.booking-tabs button,
.admin-tabs button{
  border-radius:9px;
  padding:8px 11px;
  font-weight:740;
  font-size:.78rem;
}

/* Functional status copy */
.status-pill{
  font-weight:780;
  letter-spacing:.02em;
}

/* Home is simpler too */
.home-hero-copy h1,
.hero-copy h1{
  letter-spacing:-.055em;
}

.home-hero-copy > p,
.hero-copy > p{
  max-width:660px;
  line-height:1.55;
}

.footer-brand p{
  max-width:500px;
  line-height:1.5;
}

/* Tablet/mobile navigation */
@media(max-width:1180px){
  .main-nav{
    gap:10px;
  }
  .main-nav a{
    font-size:.76rem;
  }
  body.role-admin .main-nav a{
    font-size:.7rem;
  }
}

@media(max-width:900px){
  .main-nav.open a.workspace-nav-home{
    width:100%;
    padding:10px 12px;
    margin-bottom:2px;
  }
}

@media(max-width:640px){
  body:not([data-page="home"]) .section{
    padding-top:32px;
    padding-bottom:32px;
  }

  .section-heading{
    margin-bottom:18px;
  }

  .workspace-compact-actions .button{
    min-height:40px;
  }
}



/* TutoDemy Landing Hero — concise value proposition */
.lp4-hero-copy .lp4-lead{
  max-width:680px;
}
.lp4-hero-copy .lp4-made-for{
  margin-top:14px;
  color:#6f7078;
  font-size:.88rem;
  font-weight:650;
  letter-spacing:.005em;
}
@media(max-width:640px){
  .lp4-hero-copy .lp4-made-for{
    margin-top:12px;
    font-size:.82rem;
  }
}



/* =========================================================
   TutoDemy Inquiry Messaging
   ========================================================= */

.inquiry-card{
  border-color:rgba(116,132,194,.28);
  background:#fbfbfe;
}

.inquiry-card h2{
  margin:.1rem 0 .35rem;
  color:var(--navy,#0C046D);
}

.inquiry-intro{
  margin:0 0 .85rem;
  color:#686a73;
  font-size:.84rem;
  line-height:1.5;
}

.booking-sidebar{
  display:grid;
  align-content:start;
  gap:14px;
}

.tutor-card-actions{
  display:grid;
  gap:.55rem;
  margin-top:auto;
}

.tutor-card-actions .text-button{
  justify-self:center;
}

.conversation-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:.45rem;
  flex-wrap:wrap;
}

.status-pill.inquiry-status-open{
  background:#eef0ff;
  color:#403497;
}

.status-pill.inquiry-status-closed{
  background:#f1f1f3;
  color:#666871;
}

.thread-item small{
  text-transform:none;
}

@media(max-width:760px){
  .conversation-head-actions{
    width:100%;
    justify-content:flex-start;
  }

  .conversation-head-actions .button,
  .conversation-head-actions .text-button{
    min-height:36px;
  }
}



/* TutoDemy inquiry UI polish - 20260821-inquiryui1 */
.inquiry-card {
  border-color: rgba(116,132,194,.24);
  background: linear-gradient(180deg, #fcfcff 0%, #f7f8fe 100%);
}

.inquiry-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.inquiry-header-copy {
  display: grid;
  gap: 8px;
}

.inquiry-header-copy h2 {
  margin: 0;
  font-size: clamp(1.9rem, 3vw, 2.5rem);
  line-height: 1.06;
}

.inquiry-intro {
  margin: 0;
  max-width: 680px;
  color: var(--muted);
}

.inquiry-badge {
  white-space: nowrap;
  align-self: flex-start;
  border: 1px solid rgba(30, 28, 131, 0.14);
  background: rgba(255,255,255,0.78);
  color: var(--brand);
  border-radius: 999px;
  padding: 10px 14px;
  font-size: .92rem;
  font-weight: 700;
}

.inquiry-form {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 16px 18px;
  box-shadow: none !important;
}

.inquiry-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}

.inquiry-field > span {
  font-size: .98rem;
  font-weight: 700;
  color: var(--ink);
}

.inquiry-field select,
.inquiry-field textarea {
  width: 100%;
  background: #fff;
  border: 1px solid rgba(21, 28, 87, 0.12);
  border-radius: 16px;
  padding: 14px 16px;
  font: inherit;
  color: var(--ink);
  box-shadow: 0 1px 2px rgba(12, 20, 58, 0.03);
}

.inquiry-field select {
  min-height: 56px;
}

.inquiry-field textarea {
  min-height: 176px;
  resize: vertical;
  line-height: 1.55;
}

.inquiry-subject-field {
  grid-column: 1;
}

.inquiry-message-field {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.inquiry-actions {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 2px;
}

.inquiry-status {
  margin: 0;
  min-height: 24px;
  flex: 1 1 auto;
}

.inquiry-submit {
  width: auto !important;
  min-width: 220px;
  padding-inline: 24px;
  flex: 0 0 auto;
}

@media (max-width: 820px) {
  .inquiry-header {
    flex-direction: column;
    align-items: stretch;
  }

  .inquiry-badge {
    white-space: normal;
    width: fit-content;
  }

  .inquiry-form {
    grid-template-columns: 1fr !important;
  }

  .inquiry-message-field {
    grid-column: auto;
    grid-row: auto;
  }

  .inquiry-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .inquiry-submit {
    width: 100% !important;
    min-width: 0;
  }
}


/* =========================================================
   Student Dashboard — direct data view
   Build 20260823-dashboardline1
   ========================================================= */

body[data-page="dashboard"] .workspace-compact-head {
  margin-bottom: 16px;
}

body[data-page="dashboard"] .workspace-week-compact {
  gap: 10px;
}

body[data-page="dashboard"] .workspace-week-compact small {
  color: #717480;
}

body[data-page="dashboard"] .dashboard-source-flat {
  margin: 0 0 12px;
}

body[data-page="dashboard"] .dashboard-panel-head {
  margin-bottom: 10px;
}

body[data-page="dashboard"] .dashboard-panel-head h2 {
  margin: 0;
  font-size: 1.34rem;
}

body[data-page="dashboard"] .dashboard-panel-head .eyebrow,
body[data-page="dashboard"] .dashboard-chart-note {
  display: none !important;
}

body[data-page="dashboard"] .dashboard-visual-grid {
  margin-top: 0;
  grid-template-columns:
    minmax(0, 1.75fr)
    minmax(220px, .62fr)
    minmax(220px, .62fr);
}

body[data-page="dashboard"] .dashboard-activity-main {
  min-height: 330px;
}

.dashboard-line-chart {
  width: 100%;
  min-height: 240px;
  display: block;
  color: var(--navy);
  padding: 2px 0 0;
}

.dashboard-line-chart svg {
  display: block;
  width: 100%;
  height: 248px;
  overflow: visible;
}

.activity-line-guide {
  stroke: #e7e9f0;
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.activity-line-area {
  fill: url(#activity-line-fill);
  color: var(--navy);
}

.activity-line-path {
  fill: none;
  stroke: var(--navy);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.activity-line-point circle {
  fill: #fff;
  stroke: var(--navy);
  stroke-width: 3;
  vector-effect: non-scaling-stroke;
}

.activity-line-value {
  fill: var(--navy);
  font-size: 14px;
  font-weight: 850;
  text-anchor: middle;
}

.activity-line-day {
  fill: #626673;
  font-size: 14px;
  font-weight: 700;
  text-anchor: middle;
}

body[data-page="dashboard"] .accuracy-figure-wrap,
body[data-page="dashboard"] .streak-figure-wrap {
  min-height: 245px;
  gap: 10px;
}

body[data-page="dashboard"] .accuracy-figure-copy,
body[data-page="dashboard"] .streak-figure-copy {
  min-height: 24px;
}

body[data-page="dashboard"] .streak-figure-copy small b {
  display: inline;
  color: var(--navy);
}

body[data-page="dashboard"] .percentile-methodology,
body[data-page="dashboard"] .leaderboard-methodology {
  display: none !important;
}

body[data-page="dashboard"] .subject-percentile-heading small,
body[data-page="dashboard"] .leaderboard-optin-row small {
  display: none !important;
}

body[data-page="dashboard"] .empty-state {
  padding: 18px;
}

@media (max-width: 1050px) {
  body[data-page="dashboard"] .dashboard-visual-grid {
    grid-template-columns:
      minmax(0, 1.45fr)
      minmax(210px, .55fr);
  }

  body[data-page="dashboard"] .dashboard-streak-figure {
    grid-column: 1 / -1;
  }

  body[data-page="dashboard"]
  .dashboard-streak-figure
  .streak-figure-wrap {
    min-height: auto;
    grid-template-columns: auto 1fr;
    justify-content: start;
    justify-items: start;
    padding: 8px 4px;
  }
}

@media (max-width: 760px) {
  body[data-page="dashboard"] .workspace-compact-head {
    align-items: flex-start;
  }

  body[data-page="dashboard"] .workspace-week-compact {
    align-items: flex-start;
  }

  body[data-page="dashboard"] .dashboard-visual-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="dashboard"] .dashboard-streak-figure {
    grid-column: auto;
  }

  .dashboard-line-chart svg {
    height: 220px;
  }

  .activity-line-day {
    font-size: 13px;
  }
}


/* =========================================================
   TutoDemy Desktop Workspace Sidebar
   Build 20260823-sidebarshell1
   ========================================================= */

.workspace-sidebar,
.workspace-topbar-title {
  display: none;
}

@media (min-width: 1101px) {
  body.workspace-sidebar-mode {
    --workspace-sidebar-width: 236px;
    background: #f7f8fc;
  }

  body.workspace-sidebar-mode .workspace-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 160;
    width: var(--workspace-sidebar-width);
    display: flex;
    flex-direction: column;
    padding: 24px 16px 18px;
    background: #fff;
    border-right: 1px solid #e6e8f0;
    box-shadow: 8px 0 30px rgba(12, 4, 109, .025);
  }

  .workspace-sidebar-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 58px;
    margin: 0 7px 22px;
    color: var(--navy);
    text-decoration: none;
  }

  .workspace-sidebar-brand img {
    width: 142px;
    max-height: 54px;
    object-fit: contain;
    object-position: left center;
  }

  .workspace-sidebar-brand > span {
    align-self: flex-end;
    margin: 0 0 6px -7px;
    padding: 4px 7px;
    border-radius: 999px;
    background: #eef0fb;
    color: #6877b7;
    font-size: .55rem;
    font-weight: 900;
    letter-spacing: .07em;
  }

  .workspace-side-nav {
    display: grid;
    gap: 5px;
  }

  .workspace-side-link {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 46px;
    padding: 10px 12px;
    border-radius: 11px;
    color: #4d5260;
    text-decoration: none;
    font-size: .87rem;
    font-weight: 730;
    transition:
      background .15s ease,
      color .15s ease,
      transform .15s ease;
  }

  .workspace-side-link:hover {
    background: #f3f5fb;
    color: var(--navy);
    transform: translateX(1px);
  }

  .workspace-side-link.active {
    background: #eef1ff;
    color: #173cba;
  }

  body.role-tutor .workspace-side-link.active {
    background: #fff5e8;
    color: #8a570e;
  }

  body.role-admin .workspace-side-link.active {
    background: #f2efff;
    color: var(--navy);
  }

  .workspace-side-icon {
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    display: grid;
    place-items: center;
  }

  .workspace-side-icon svg {
    width: 20px;
    height: 20px;
  }

  .workspace-sidebar-bottom {
    margin-top: auto;
    padding: 16px 7px 0;
    border-top: 1px solid #eceef4;
  }

  .workspace-sidebar-bottom > p {
    margin: 0 4px 12px;
    color: #7b7f8b;
    font-size: .72rem;
    line-height: 1.4;
  }

  .workspace-sidebar-account {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 8px 10px;
    border-radius: 10px;
    color: #575c68;
    text-decoration: none;
    font-size: .8rem;
    font-weight: 720;
  }

  .workspace-sidebar-account:hover {
    background: #f4f5f8;
    color: var(--navy);
  }

  .workspace-sidebar-account svg {
    width: 18px;
    height: 18px;
  }

  body.workspace-sidebar-mode .site-header {
    margin-left: var(--workspace-sidebar-width);
    width: calc(100% - var(--workspace-sidebar-width));
    border-bottom: 1px solid #e7e9f0;
    box-shadow: none;
    background: rgba(252, 249, 242, .96);
  }

  body.workspace-sidebar-mode .site-header .nav-wrap {
    width: 100%;
    max-width: none;
    min-height: 70px;
    padding: 0 28px;
    gap: 18px;
  }

  body.workspace-sidebar-mode .site-header .brand,
  body.workspace-sidebar-mode .site-header .menu-toggle,
  body.workspace-sidebar-mode .site-header .main-nav {
    display: none !important;
  }

  body.workspace-sidebar-mode .workspace-topbar-title {
    display: block;
    margin-right: auto;
    color: var(--navy);
    font-size: .96rem;
    font-weight: 820;
    letter-spacing: -.015em;
  }

  body.workspace-sidebar-mode .site-header .nav-actions {
    margin-left: auto;
  }

  body.workspace-sidebar-mode #main-content,
  body.workspace-sidebar-mode #site-footer {
    margin-left: var(--workspace-sidebar-width);
  }

  body.workspace-sidebar-mode #main-content {
    min-height: calc(100vh - 70px);
  }

  body.workspace-sidebar-mode .workspace-compact-head,
  body.workspace-sidebar-mode .tutor-profile-hero .container,
  body.workspace-sidebar-mode .section > .container,
  body.workspace-sidebar-mode .page-hero > .container {
    max-width: 1280px;
  }

  body.workspace-sidebar-mode .site-footer {
    border-top-color: #e5e7ee;
  }
}

@media (max-width: 1100px) {
  .workspace-sidebar,
  .workspace-topbar-title {
    display: none !important;
  }

  body.workspace-sidebar-mode .site-header,
  body.workspace-sidebar-mode #main-content,
  body.workspace-sidebar-mode #site-footer {
    margin-left: 0;
    width: auto;
  }
}


/* =========================================================
   Public Homepage Menu — icons + cleaner placement
   Build 20260823-homeheader2
   ========================================================= */

body.role-public .site-header {
  background: rgba(252,249,242,.97);
  border-bottom: 1px solid rgba(12,4,109,.075);
  box-shadow: 0 7px 24px rgba(12,4,109,.028);
  backdrop-filter: blur(14px);
}

body.role-public .site-header .nav-wrap {
  min-height: 84px;
  gap: 24px;
}

body.role-public .site-header .brand {
  flex: 0 0 auto;
}

body.role-public .site-header .brand img {
  width: clamp(158px,15vw,188px);
}

body.role-public .main-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-left: auto;
}

body.role-public .public-nav-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid transparent !important;
  border-radius: 11px;
  color: #565963;
  text-decoration: none;
  font-size: .83rem;
  font-weight: 730;
  white-space: nowrap;
}

body.role-public a.public-nav-item:hover,
body.role-public .nav-dropdown-toggle.public-nav-item:hover {
  background: #f4f3f8;
  color: var(--navy);
}

body.role-public a.public-nav-item.active,
body.role-public .nav-dropdown-toggle.public-nav-item.active {
  background: #eeedf8;
  border-color: rgba(12,4,109,.06) !important;
  color: var(--navy);
}

.public-nav-icon {
  width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  flex: 0 0 17px;
  opacity: .86;
}

.public-nav-icon svg {
  width: 17px;
  height: 17px;
}

.public-nav-chevron {
  margin-left: 1px;
  color: #777985;
  font-size: .76rem;
}

.public-nav-dropdown {
  position: relative;
}

body.role-public .public-nav-submenu {
  width: 300px;
  padding: 8px;
  border: 1px solid #e6e7ee;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 20px 46px rgba(12,4,109,.12);
}

body.role-public .public-nav-submenu > a {
  display: grid;
  grid-template-columns: 32px minmax(0,1fr);
  align-items: center;
  gap: 10px;
  padding: 10px 11px;
  border-radius: 10px;
  color: #464953;
  text-decoration: none;
}

body.role-public .public-nav-submenu > a:hover,
body.role-public .public-nav-submenu > a.active {
  background: #f4f5fa;
  color: var(--navy);
}

.public-submenu-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: #f0f2fb;
  color: #455fbd;
}

.public-submenu-icon svg {
  width: 17px;
  height: 17px;
}

.public-nav-submenu b {
  display: block;
  margin-bottom: 2px;
  font-size: .82rem;
  font-weight: 810;
}

.public-nav-submenu small {
  display: block;
  color: #7a7d86;
  font-size: .69rem;
  line-height: 1.3;
  font-weight: 530;
}

body.role-public .nav-actions {
  flex: 0 0 auto;
  gap: 8px;
  padding-left: 10px;
  margin-left: 4px;
  border-left: 1px solid #e5e4e8;
}

body.role-public .plan-chip,
body.role-public .nav-account-anon {
  min-height: 42px;
  border-radius: 11px;
}

@media (max-width: 1220px) and (min-width: 901px) {
  body.role-public .site-header .nav-wrap {
    gap: 12px;
  }

  body.role-public .site-header .brand img {
    width: 150px;
  }

  body.role-public .public-nav-item {
    gap: 5px;
    padding-inline: 8px;
    font-size: .76rem;
  }

  .public-nav-icon {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
  }

  .public-nav-icon svg {
    width: 15px;
    height: 15px;
  }

  body.role-public .nav-actions {
    padding-left: 7px;
    gap: 6px;
  }
}

@media (max-width: 1030px) and (min-width: 901px) {
  /* Preserve every menu; only hide icons at tighter tablet widths. */
  body.role-public .public-nav-icon {
    display: none;
  }

  body.role-public .public-nav-item {
    padding-inline: 7px;
  }

  body.role-public .plan-chip {
    display: none;
  }
}

@media (max-width: 900px) {
  body.role-public .site-header .nav-wrap {
    min-height: 72px;
  }

  body.role-public .main-nav {
    margin-left: 0;
  }

  body.role-public .public-nav-item {
    justify-content: flex-start;
    width: 100%;
  }

  body.role-public .public-nav-submenu {
    width: 100%;
    box-shadow: none;
    border-radius: 10px;
  }

  body.role-public .nav-actions {
    padding-left: 0;
    margin-left: 0;
    border-left: 0;
  }
}


/* =========================================================
   Public Header/Footer Fallback Hardening
   Build 20260823-homeheader3
   ========================================================= */

.public-static-practice {
  position: relative;
}

.public-static-practice > summary {
  list-style: none;
  cursor: pointer;
}

.public-static-practice > summary::-webkit-details-marker {
  display: none;
}

.public-static-submenu {
  position: absolute;
  top: calc(100% + 9px);
  left: 0;
  z-index: 180;
  width: 300px;
  padding: 8px;
  border: 1px solid #e6e7ee;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 20px 46px rgba(12,4,109,.12);
}

.public-static-practice:not([open]) .public-static-submenu {
  display: none;
}

.public-static-practice[open] > summary {
  background: #eeedf8;
  color: var(--navy);
}

@media (max-width: 900px) {
  .public-static-header .public-static-nav {
    display: none;
  }

  .public-static-header .menu-toggle {
    display: inline-flex;
  }

  .public-static-header .public-static-actions {
    margin-left: auto;
  }

  .public-static-header .plan-chip {
    display: none;
  }
}


/* =========================================================
   Mathematics Reviewer Video Lessons
   Build 20260823-mathvideos1
   ========================================================= */

.reviewer-video-section {
  margin-top: 34px;
  padding-top: 30px;
  border-top: 1px solid #e8e7eb;
}

.reviewer-video-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.reviewer-video-heading h2 {
  margin-bottom: 6px;
}

.reviewer-video-heading p {
  max-width: 660px;
  margin: 0;
  color: #666973;
}

.external-source-note {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid #e3e4ea;
  border-radius: 999px;
  background: #fafafa;
  color: #6d7078;
  font-size: .72rem;
  font-weight: 700;
}

.reviewer-topic-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
}

.reviewer-topic-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 18px;
  border: 1px solid #e5e5ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(12,4,109,.035);
}

.reviewer-topic-card-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.reviewer-topic-card-head h3 {
  margin: 0 0 2px;
  font-size: 1rem;
}

.reviewer-topic-card-head small {
  color: #787b84;
  font-size: .72rem;
}

.reviewer-topic-number {
  display: grid;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: #efeff9;
  color: var(--navy);
  font-size: .76rem;
  font-weight: 850;
}

.reviewer-topic-card > p {
  margin: 12px 0 14px;
  color: #5f626b;
  font-size: .84rem;
  line-height: 1.55;
}

.reviewer-video-card {
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) 18px;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding: 12px;
  border: 1px solid #e4e5ed;
  border-radius: 12px;
  background: #f8f8fb;
  color: inherit;
  text-decoration: none;
  transition: border-color .18s ease, transform .18s ease, background .18s ease;
}

.reviewer-video-card:hover {
  transform: translateY(-1px);
  border-color: #cbcde2;
  background: #f4f4fa;
}

.reviewer-video-play {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: var(--navy);
  color: #fff;
}

.reviewer-video-play svg {
  width: 22px;
  height: 22px;
}

.reviewer-video-copy {
  min-width: 0;
}

.reviewer-video-copy small,
.reviewer-video-copy b,
.reviewer-video-copy span {
  display: block;
}

.reviewer-video-copy small {
  margin-bottom: 2px;
  color: #72757f;
  font-size: .66rem;
  font-weight: 730;
  text-transform: uppercase;
  letter-spacing: .045em;
}

.reviewer-video-copy b {
  overflow: hidden;
  color: #242632;
  font-size: .82rem;
  line-height: 1.35;
  text-overflow: ellipsis;
}

.reviewer-video-copy span {
  margin-top: 3px;
  color: #757882;
  font-size: .69rem;
}

.reviewer-video-open {
  color: #777a84;
  font-size: .9rem;
}

.reviewer-topic-practice {
  width: 100%;
  margin-top: 10px;
  min-height: 40px;
  justify-content: center;
}

.reviewer-video-disclaimer {
  margin: 14px 0 0;
  color: #7b7d85;
  font-size: .72rem;
  line-height: 1.5;
}

.reviewer-video-count {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin: 2px 0 14px;
  padding: 6px 9px;
  border-radius: 999px;
  background: #f0f1f8;
  color: #555a71;
  font-size: .7rem;
  font-weight: 700;
}

.reviewer-video-count span {
  color: var(--navy);
  font-size: .62rem;
}

@media (max-width: 800px) {
  .reviewer-topic-grid {
    grid-template-columns: 1fr;
  }

  .reviewer-video-heading {
    display: block;
  }

  .external-source-note {
    display: inline-flex;
    margin-top: 10px;
  }
}


/* =========================================================
   Mathematics High-Yield Reviewer Modules
   Build 20260823-mathmodules1
   ========================================================= */

.high-yield-module {
  margin-top: 34px;
  padding-top: 30px;
  border-top: 1px solid #e8e7eb;
}

.high-yield-module-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.high-yield-module-head h2 {
  margin-bottom: 6px;
}

.high-yield-module-head p {
  max-width: 720px;
  margin: 0;
  color: #62656f;
  line-height: 1.6;
}

.module-chip {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: #efeff9;
  color: var(--navy);
  font-size: .72rem;
  font-weight: 800;
}

.high-yield-concepts {
  display: grid;
  gap: 16px;
}

.high-yield-concept {
  padding: 20px;
  border: 1px solid #e4e5eb;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(12,4,109,.03);
}

.high-yield-concept-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 13px;
}

.high-yield-concept-head > span {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  border-radius: 9px;
  background: var(--navy);
  color: #fff;
  font-size: .74rem;
  font-weight: 850;
}

.high-yield-concept-head h3 {
  margin: 0;
  font-size: 1.04rem;
}

.high-yield-point-list {
  margin: 0;
  padding-left: 20px;
  color: #51545e;
}

.high-yield-point-list li {
  margin: 7px 0;
  line-height: 1.55;
}

.formula-strip {
  display: grid;
  gap: 4px;
  margin-top: 15px;
  padding: 12px 14px;
  border-left: 4px solid var(--periwinkle);
  border-radius: 10px;
  background: #f5f6fb;
}

.formula-strip small {
  color: #747783;
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .06em;
}

.formula-strip b {
  color: var(--navy);
  font-size: .9rem;
  line-height: 1.45;
}

.worked-example {
  margin-top: 14px;
  padding: 15px;
  border: 1px solid #ece9e3;
  border-radius: 12px;
  background: #fffaf2;
}

.worked-example-question {
  margin: 5px 0 10px;
  color: #353640;
  font-weight: 750;
}

.worked-example ol {
  display: grid;
  gap: 7px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.worked-example li {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: start;
  gap: 8px;
}

.worked-example li > span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: rgba(229,146,46,.13);
  color: #8c5718;
  font-size: .68rem;
  font-weight: 850;
}

.worked-example li p {
  margin: 2px 0 0;
  color: #565860;
}

.worked-example-answer {
  margin: 11px 0 0;
  color: #393a43;
}

.common-trap {
  display: grid;
  grid-template-columns: 30px minmax(0,1fr);
  gap: 9px;
  align-items: start;
  margin-top: 13px;
  padding: 11px 12px;
  border-radius: 11px;
  background: #fff2ef;
}

.common-trap > span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  background: #f4d2ca;
  color: #8a3424;
  font-weight: 900;
}

.common-trap p {
  margin: 1px 0 0;
  color: #67473f;
  line-height: 1.5;
}

.common-trap p b {
  display: block;
  margin-bottom: 2px;
  color: #8a3424;
}

.module-recall-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 14px;
  margin-top: 18px;
}

.module-recall-card {
  padding: 18px;
  border: 1px solid #e4e5eb;
  border-radius: 15px;
  background: #fafafd;
}

.module-recall-card h3 {
  margin: 5px 0 10px;
}

.module-recall-card ol {
  margin: 0;
  padding-left: 21px;
}

.module-recall-card ol li {
  margin: 8px 0;
  color: #555862;
  line-height: 1.5;
}

.mastery-checklist {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mastery-checklist li {
  display: grid;
  grid-template-columns: 20px minmax(0,1fr);
  gap: 9px;
  align-items: start;
  color: #555862;
  line-height: 1.45;
}

.check-box {
  width: 18px;
  height: 18px;
  margin-top: 1px;
  border: 2px solid #b9bdc8;
  border-radius: 5px;
  background: #fff;
}

@media (max-width: 800px) {
  .high-yield-module-head {
    display: block;
  }

  .module-chip {
    display: inline-flex;
    margin-top: 10px;
  }

  .module-recall-grid {
    grid-template-columns: 1fr;
  }

  .high-yield-concept {
    padding: 16px;
  }
}


/* =========================================================
   Phone Navigation Fix
   Build 20260824-mobilemenu1
   ========================================================= */

.mobile-public-nav-actions {
  display: none;
}

/* Public dropdown icons/text must never rotate with the chevron. */
body.role-public .nav-dropdown:hover .nav-dropdown-toggle .public-nav-icon,
body.role-public .nav-dropdown:focus-within .nav-dropdown-toggle .public-nav-icon,
body.role-public .nav-dropdown.open .nav-dropdown-toggle .public-nav-icon,
body.role-public .nav-dropdown:hover .nav-dropdown-toggle > span:nth-child(2),
body.role-public .nav-dropdown:focus-within .nav-dropdown-toggle > span:nth-child(2),
body.role-public .nav-dropdown.open .nav-dropdown-toggle > span:nth-child(2) {
  transform: none !important;
}

body.role-public .public-nav-chevron {
  margin-left: auto;
  transition: transform .18s ease;
}

body.role-public .nav-dropdown.open .public-nav-chevron {
  transform: rotate(180deg) !important;
}

.menu-toggle {
  position: relative;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  border-radius: 11px;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.menu-toggle span {
  width: 22px;
  height: 2px;
  margin: 0;
  border-radius: 999px;
  transition:
    transform .18s ease,
    opacity .18s ease;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.menu-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

@media (max-width: 1100px) {
  body.mobile-nav-open {
    overflow: hidden;
  }

  body.mobile-nav-open::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 74;
    background: rgba(20, 20, 34, .28);
    backdrop-filter: blur(1.5px);
  }

  .site-header {
    z-index: 90;
  }

  .site-header .nav-wrap {
    position: relative;
  }

  .site-header .main-nav {
    top: calc(100% + 8px);
    left: max(12px, env(safe-area-inset-left));
    right: max(12px, env(safe-area-inset-right));
    z-index: 120;
    grid-template-columns: 1fr;
    gap: 3px;
    width: auto;
    max-height: calc(100dvh - 92px);
    padding: 8px;
    overflow-y: auto;
    overscroll-behavior: contain;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(12,4,109,.16);
  }

  .site-header .main-nav > a,
  .site-header .nav-dropdown-toggle {
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 10px 12px;
    border: 0 !important;
    border-radius: 10px;
    font-size: .86rem;
    line-height: 1.25;
  }

  .site-header .main-nav > a.active {
    background: var(--periwinkle-soft);
  }

  .site-header .nav-dropdown {
    width: 100%;
  }

  .site-header .nav-submenu {
    margin: 4px 4px 6px;
    padding: 5px;
    border: 0;
    border-radius: 11px;
    background: rgba(116,132,194,.07);
  }

  .site-header .main-nav .nav-submenu a {
    min-height: 46px;
    margin: 2px 0;
    border-radius: 9px;
  }
}

@media (max-width: 760px) {
  .site-header .nav-wrap {
    height: 64px;
    min-height: 64px;
    gap: 8px;
  }

  .site-header .brand {
    width: 142px;
    flex: 0 1 142px;
    min-width: 0;
  }

  .site-header .brand img {
    width: 100%;
    max-width: 142px;
    height: auto;
  }

  .site-header .menu-toggle {
    display: inline-flex;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 10px;
    margin-left: auto;
  }

  .site-header .main-nav {
    max-height: calc(100dvh - 80px);
  }

  /* Public header: keep the top bar uncluttered.
     Access and Log in move into the phone drawer. */
  body.role-public .site-header .nav-actions {
    display: none;
  }

  body.role-public .site-header .menu-toggle {
    margin-left: auto;
  }

  body.role-public .site-header .main-nav {
    background: #fff;
    border-color: #e4e5ec;
  }

  body.role-public .public-nav-item {
    justify-content: flex-start;
    gap: 11px;
    min-height: 50px;
    padding: 10px 12px;
    font-size: .89rem;
  }

  body.role-public .public-nav-icon {
    display: grid;
    width: 19px;
    height: 19px;
    flex-basis: 19px;
  }

  body.role-public .public-nav-icon svg {
    width: 19px;
    height: 19px;
  }

  body.role-public .public-nav-submenu {
    width: auto;
    margin: 4px 4px 6px;
    padding: 5px;
    border: 0;
    border-radius: 11px;
    box-shadow: none;
    background: #f7f8fc;
  }

  body.role-public .public-nav-submenu > a {
    min-height: 52px;
    padding: 9px 10px;
  }

  .mobile-public-nav-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 5px;
    padding: 10px 4px 3px;
    border-top: 1px solid #e9e9ef;
  }

  .main-nav .mobile-nav-action {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--navy) !important;
    border-radius: 10px;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 800;
  }

  .main-nav .mobile-nav-access {
    background: #fff;
    color: var(--navy);
  }

  .main-nav .mobile-nav-login {
    background: var(--navy);
    color: #fff;
  }

  /* Logged-in phone headers keep compact account controls,
     but never let them squeeze the hamburger. */
  body:not(.role-public) .site-header .nav-actions {
    flex: 0 0 auto;
    gap: 4px;
  }

  body:not(.role-public) .site-header .auth-chip,
  body:not(.role-public) .site-header .notification-bell,
  body:not(.role-public) .site-header .role-view-switch {
    flex: 0 0 40px;
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
  }

  /* Hardened fallback mobile header. */
  .public-static-header .public-static-actions {
    display: none !important;
  }

  .public-static-header .public-static-nav.open {
    display: grid;
    position: absolute;
    top: calc(100% + 8px);
    left: max(12px, env(safe-area-inset-left));
    right: max(12px, env(safe-area-inset-right));
    z-index: 120;
    gap: 3px;
    width: auto;
    max-height: calc(100dvh - 80px);
    padding: 8px;
    overflow-y: auto;
    border: 1px solid #e4e5ec;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(12,4,109,.16);
  }

  .public-static-header .public-static-nav > a,
  .public-static-header .public-static-practice > summary {
    min-height: 50px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: .89rem;
  }

  .public-static-header .public-static-practice {
    width: 100%;
  }

  .public-static-header .public-static-practice > summary {
    width: 100%;
  }

  .public-static-header .public-static-submenu {
    position: static;
    width: auto;
    margin: 4px 4px 6px;
    padding: 5px;
    border: 0;
    border-radius: 11px;
    background: #f7f8fc;
    box-shadow: none;
  }
}

@media (max-width: 390px) {
  .site-header .brand {
    width: 128px;
    flex-basis: 128px;
  }

  .site-header .brand img {
    max-width: 128px;
  }

  .site-header .main-nav,
  .public-static-header .public-static-nav.open {
    left: 8px;
    right: 8px;
  }

  .mobile-public-nav-actions {
    grid-template-columns: 1fr 1fr;
  }
}
