/* PATHWAY SCHOLARS ACADEMY — SCHOOL TIME / PLANNER / REAL MAP V3 */

/* ---------- Shared school-time progress ---------- */
.school-meter{height:10px;border-radius:999px;overflow:hidden;background:#28211d;border:1px solid rgba(255,255,255,.06)}
.school-meter>i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#8f2f29,#d36a46);box-shadow:0 0 18px rgba(211,106,70,.28);transition:width .35s ease}
.school-meter.big{height:15px;margin:20px 0}
.mission-mini-bar,.vault-progress{display:block;height:5px;margin-top:9px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.07)}
.mission-mini-bar u,.vault-progress i{display:block;height:100%;text-decoration:none;background:linear-gradient(90deg,#8c302a,#ca6545);box-shadow:0 0 12px rgba(202,101,69,.22);border-radius:inherit}
.persistent-checkpoint{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,220px);align-items:center;gap:16px}

/* ---------- Parent weekly planner ---------- */
.parent-schooltime{padding-bottom:50px}
.parent-learner-line{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:12px 14px;border:1px solid #3c2e27;background:#100d0b;border-radius:8px;color:#9e8f83;font:800 10px var(--mono);letter-spacing:1.3px;text-transform:uppercase}
.parent-learner-line label{display:flex;align-items:center;gap:10px}.parent-learner-line select{min-width:180px;background:#0a0807;color:#f0e4d5;border:1px solid #47362e;border-radius:5px;padding:9px 11px}
.schooltime-scoreboard article{position:relative;overflow:hidden}.schooltime-scoreboard article:after{content:"";position:absolute;inset:auto -28px -35px auto;width:90px;height:90px;border-radius:50%;border:1px solid rgba(200,96,66,.10)}
.planner-card{margin-top:18px;padding:22px!important}
.planner-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.planner-help,.planner-week-jump{font:800 9px var(--mono);letter-spacing:1.2px;color:#897b70;text-transform:uppercase}
.planner-week-jump{padding:8px 10px;border:1px solid #403128;border-radius:5px;color:#c48361;background:#100c0a}.planner-week-jump:hover{border-color:#a14836;color:#ffd6bb}
.planner-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:18px 0 23px}
.planner-day{min-height:98px;display:flex;flex-direction:column;justify-content:space-between;padding:12px 10px;border-radius:8px;border:1px solid #382b25;background:#0d0a09;color:#8f8175;transition:.18s ease}
.planner-day:hover{transform:translateY(-2px);border-color:#654437;background:#17100e}.planner-day small{font:900 9px var(--mono);letter-spacing:1.6px}.planner-day b{font:900 29px/1 var(--mono);color:#e2d4c4}.planner-day span{font:900 8px var(--mono);letter-spacing:1px}
.planner-day.loaded span{color:#aeba8d}.planner-day.loaded{border-color:#4d513e;background:#11130e}.planner-day.active{border-color:#b74d39;box-shadow:0 0 0 1px rgba(183,77,57,.25),0 0 30px rgba(142,47,40,.12);background:#22110f}.planner-day.active span{color:#df8862}
.planner-form{border-top:1px solid #382a24;padding-top:20px}.planner-date-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.planner-date-head h3{margin:3px 0 0;font-size:26px}.planner-actions{display:flex;gap:8px;flex-wrap:wrap}
.planner-group{border:1px solid #342922;border-radius:7px;background:#0f0c0a;margin:10px 0;overflow:hidden}.planner-group>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;color:#d3c3b3;list-style:none}.planner-group>summary::-webkit-details-marker{display:none}.planner-group>summary b{font:900 10px var(--mono);letter-spacing:1.4px}.planner-group>summary span{font:700 9px var(--mono);color:#776b62}.planner-group[open]>summary{border-bottom:1px solid #30241f;background:#15100e}
.planner-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}.planner-class{position:relative;display:block!important;cursor:pointer}.planner-class>input{position:absolute;opacity:0;pointer-events:none}.planner-class>span{height:100%;min-height:86px;display:flex;flex-direction:column;padding:13px;border:1px solid #352a24;border-radius:6px;background:#0b0908;transition:.18s ease}.planner-class:hover>span{border-color:#594034;background:#14100e}.planner-class b{color:#e3d5c6;font-size:12px;line-height:1.25}.planner-class small{display:block;margin-top:5px;color:#81746a;font:700 9px var(--mono);letter-spacing:.3px}.planner-class i{height:4px;margin-top:auto;background:#2b211c;border-radius:99px;overflow:hidden}.planner-class i u{display:block;height:100%;background:#785347;text-decoration:none}.planner-class.checked>span,.planner-class:has(input:checked)>span{border-color:#9e4435;background:linear-gradient(145deg,#251411,#120d0b);box-shadow:inset 3px 0 #b34c38,0 0 18px rgba(144,47,38,.10)}.planner-class.checked b,.planner-class:has(input:checked) b{color:#fff2e4}.planner-class.checked small,.planner-class:has(input:checked) small{color:#c98665}.planner-class.checked i u,.planner-class:has(input:checked) i u{background:linear-gradient(90deg,#8c312a,#cf6a47)}
.planner-save-feedback{min-height:20px;margin-top:12px;color:#acb892;font:800 10px var(--mono);letter-spacing:.6px}.planner-save-feedback.error{color:#ff8e88}

/* ---------- Student School Time ---------- */
.student-schooltime .page-heading{padding-bottom:16px}.student-time-hero{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);gap:22px;align-items:stretch;margin-bottom:20px}
.student-time-meter{display:grid;place-items:center;min-height:260px;background:radial-gradient(circle at 50% 45%,rgba(67,222,184,.10),transparent 58%),#0c1110;border:1px solid #253833;border-radius:12px;position:relative;overflow:hidden}.student-time-meter:after{content:"SCHOOL TIME";position:absolute;bottom:16px;font:900 9px var(--mono);letter-spacing:2.5px;color:#657c75}.student-time-meter .ring{transform:scale(1.18)}
.student-time-copy{padding:24px;border:1px solid #27312e;border-radius:12px;background:linear-gradient(145deg,#111715,#0a0e0d)}.student-time-copy h2{font-size:clamp(30px,4vw,54px);line-height:.92;margin:8px 0 12px}.student-time-copy h2 em{font-style:normal;color:#42d9b0}.student-time-copy p{color:#99aaa4;max-width:720px}.student-time-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.student-time-stats div{padding:12px;border:1px solid #23312d;border-radius:7px;background:#0a0f0d}.student-time-stats strong{display:block;color:#e7f6f0;font:900 20px var(--mono)}.student-time-stats small{color:#72857f;font:700 9px var(--mono);letter-spacing:.8px;text-transform:uppercase}
.student-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.school-course-card{display:flex;min-height:175px;flex-direction:column;padding:18px;border:1px solid #26332f;border-radius:10px;background:linear-gradient(145deg,#101714,#090d0c);position:relative;overflow:hidden;transition:.18s ease}.school-course-card:before{content:"";position:absolute;right:-35px;top:-35px;width:110px;height:110px;border-radius:50%;border:1px solid rgba(66,217,176,.08);box-shadow:0 0 0 22px rgba(66,217,176,.015)}.school-course-card:hover{transform:translateY(-2px);border-color:#3f7d6e;box-shadow:0 14px 30px rgba(0,0,0,.22)}.school-course-card .eyebrow{color:#52c9aa}.school-course-card h2{font-size:21px;line-height:1.06;margin:8px 0}.school-course-card p{font-size:12px;color:#82938e;margin:0 0 14px}.school-course-card .school-course-meta{display:flex;justify-content:space-between;gap:8px;margin-top:auto;color:#6e817b;font:800 9px var(--mono);letter-spacing:.5px}.school-course-card.complete{border-color:#485b45;background:linear-gradient(145deg,#121912,#0a0f0a)}
.schooltime-rule,.board-empty{padding:17px 18px;margin-top:15px;border:1px solid #273630;border-left:3px solid #36ba98;background:#0d1412;border-radius:7px;color:#8fa29c}.schooltime-rule b,.board-empty h3{color:#d9ebe5}.board-empty{text-align:center;padding:32px}

/* ---------- REAL U.S. map ---------- */
.real-map-page{--map-red:#dd4a40;--map-green:#1fcf8e}.real-map-shell{max-width:1200px;margin:0 auto;padding:0 0 45px}.real-map-instruction{text-align:center;margin:10px auto 14px}.real-state-card{width:min(440px,85vw);margin:12px auto 7px;min-height:82px;display:grid;place-items:center;border:2px solid #e7ddd2;border-radius:9px;background:linear-gradient(145deg,#171514,#090909);color:#fff;font:900 clamp(26px,5vw,54px)/1 var(--display);letter-spacing:1px;box-shadow:0 15px 45px rgba(0,0,0,.26),0 0 24px rgba(66,217,176,.06);cursor:grab;touch-action:none;user-select:none}.real-state-card:active,.real-state-card.touch-dragging{cursor:grabbing;border-color:#4ad8b0;box-shadow:0 0 0 3px rgba(74,216,176,.12),0 20px 50px rgba(0,0,0,.35)}
.real-us-map{position:relative;width:min(1080px,100%);margin:0 auto;background:#fff;border:4px solid #191919;border-radius:13px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.40);cursor:crosshair;touch-action:manipulation}.real-us-map>img{display:block;width:100%;height:auto;pointer-events:none;user-select:none}.real-state-target{position:absolute;left:var(--sx);top:var(--sy);width:calc(var(--sr) * 2);height:calc(var(--sr) * 2);transform:translate(-50%,-50%);border:0!important;background:transparent!important;opacity:0!important;pointer-events:none!important;padding:0!important;margin:0!important}.real-state-target span{display:none}
.real-map-flash{position:absolute;z-index:5;transform:translate(-50%,-50%) scale(.3);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;opacity:0;font:900 34px/1 var(--mono);color:white;pointer-events:none}.real-map-flash.good{opacity:1;transform:translate(-50%,-50%) scale(1);background:rgba(19,184,122,.92);box-shadow:0 0 0 8px rgba(19,184,122,.18),0 0 35px rgba(19,184,122,.42);animation:map-pop .85s ease both}.real-map-flash.bad{opacity:1;transform:translate(-50%,-50%) scale(1);background:rgba(222,60,53,.94);box-shadow:0 0 0 8px rgba(222,60,53,.16);animation:map-shake .55s ease both}.real-map-tip{display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 10px;text-align:center;color:#88928f}.real-map-tip b{color:#c8d5d1;font:900 10px var(--mono);letter-spacing:1.3px}.real-map-tip span{font-size:11px}.state-drag-ghost{position:fixed!important;z-index:99999!important;pointer-events:none!important;width:auto!important;min-width:190px!important;min-height:58px!important;padding:0 22px!important;margin:0!important;transform:translate(-50%,-50%) rotate(-2deg)!important;font-size:22px!important;opacity:.94;box-shadow:0 22px 55px rgba(0,0,0,.45),0 0 0 2px rgba(74,216,176,.22)!important}
@keyframes map-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}45%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}100%{opacity:0;transform:translate(-50%,-50%) scale(.9)}}
@keyframes map-shake{0%,100%{transform:translate(-50%,-50%) translateX(0)}20%{transform:translate(-50%,-50%) translateX(-9px)}40%{transform:translate(-50%,-50%) translateX(8px)}60%{transform:translate(-50%,-50%) translateX(-5px)}80%{transform:translate(-50%,-50%) translateX(3px)}}

/* ---------- Mobile / tablet ---------- */
@media(max-width:900px){
 .planner-week{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto;padding-bottom:6px}.planner-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-time-hero{grid-template-columns:1fr}.student-time-meter{min-height:210px}.student-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.real-map-shell{padding:0 10px 38px}.real-us-map{border-width:3px}.real-state-card{min-height:72px}.planner-heading-actions{justify-content:flex-start}
}
@media(max-width:600px){
 .parent-learner-line{align-items:stretch;flex-direction:column}.parent-learner-line label{justify-content:space-between}.parent-learner-line select{min-width:0;max-width:62%}.planner-card{padding:15px!important}.planner-date-head{align-items:flex-start;flex-direction:column}.planner-class-grid{grid-template-columns:1fr}.planner-class>span{min-height:72px}.planner-week{margin-left:-3px;margin-right:-3px}.planner-day{min-height:88px}.student-board-grid{grid-template-columns:1fr}.student-time-stats{grid-template-columns:1fr 1fr}.student-time-stats div:last-child{grid-column:1/-1}.persistent-checkpoint{grid-template-columns:1fr}.real-map-tip{align-items:flex-start;flex-direction:column}.real-map-tip b,.real-map-tip span{width:100%;text-align:center}.real-us-map{border-width:2px;border-radius:8px}.real-map-flash{width:42px;height:42px;font-size:26px}.state-drag-ghost{min-width:150px!important;font-size:18px!important}
}

/* Markup-aligned student treatment */
.student-time-hero>div:first-child{min-height:250px;padding:clamp(24px,4vw,42px);display:flex;flex-direction:column;justify-content:center;border:1px solid #263630;border-radius:12px;background:radial-gradient(circle at 0 0,rgba(62,218,174,.08),transparent 46%),linear-gradient(145deg,#101815,#090e0c)}
.student-time-hero h1{font-size:clamp(40px,5.4vw,76px);line-height:.86;letter-spacing:-2px;margin:10px 0 16px}.student-time-hero h1 span{color:#46d3ad;text-shadow:0 0 28px rgba(70,211,173,.23)}.student-time-hero p{max-width:760px;color:#94a69f;font-size:14px;line-height:1.6}
.school-ring{display:grid;place-items:center;min-height:250px;border:1px solid #263630;border-radius:12px;background:radial-gradient(circle,rgba(58,215,172,.11),transparent 58%),#0a100e;overflow:hidden;position:relative}.school-ring:after{content:"SCHOOL METER";position:absolute;bottom:18px;font:900 9px var(--mono);letter-spacing:2.4px;color:#667c75}.student-time-hero.unlocked .school-ring{border-color:#456044;box-shadow:inset 0 0 45px rgba(107,154,82,.06)}
.student-time-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.student-time-stats article{min-height:102px;padding:16px;border:1px solid #23312d;border-radius:8px;background:linear-gradient(145deg,#101614,#090d0c);position:relative;overflow:hidden}.student-time-stats article:after{content:"";position:absolute;width:64px;height:2px;right:0;bottom:0;background:linear-gradient(90deg,#39ba99,transparent)}.student-time-stats article>span{display:block;color:#72857f;font:800 9px var(--mono);letter-spacing:1.35px}.student-time-stats article>b{display:block;color:#e7f6f0;font:900 26px/1 var(--mono);margin:13px 0 7px}.student-time-stats article>small{display:block;color:#72857f;font-size:10px}
.student-board{padding:20px!important}.student-board .section-head{margin-bottom:15px}.student-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.school-course-card{display:grid;grid-template-columns:115px minmax(0,1fr);min-height:150px;padding:0}.school-course-card:before{z-index:0}.school-course-card>img{width:100%;height:100%;min-height:150px;object-fit:cover;filter:saturate(.82) contrast(1.04);opacity:.82;border-right:1px solid #25332e}.school-course-card>div{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column;padding:17px}.school-course-card>div>small{color:#4fc8a8;font:800 9px var(--mono);letter-spacing:1.1px}.school-course-card h3{font-size:21px;line-height:1.05;margin:8px 0;color:#e6f1ed}.school-course-card p{font-size:10px;color:#81928c;margin:0 0 12px}.school-course-card i{display:block;height:5px;margin-top:auto;border-radius:99px;overflow:hidden;background:#22302b}.school-course-card i u{display:block;height:100%;text-decoration:none;background:linear-gradient(90deg,#2d9177,#52d7b4);box-shadow:0 0 13px rgba(82,215,180,.18)}.school-course-card>div>span{margin-top:9px;color:#8aa199;font:900 9px var(--mono);letter-spacing:.7px}.school-course-card.complete>div>span{color:#a8bc8d}
.school-meter>i{animation:school-breathe 2.7s ease-in-out infinite alternate}@keyframes school-breathe{from{filter:brightness(.93)}to{filter:brightness(1.16);box-shadow:0 0 24px rgba(211,106,70,.34)}}
.reward-metrics{grid-template-columns:repeat(4,minmax(0,1fr));max-width:700px}
@media(max-width:760px){.student-time-hero>div:first-child,.school-ring{min-height:190px}.student-time-hero h1{font-size:clamp(38px,11vw,58px)}.student-time-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.student-board-grid{grid-template-columns:1fr}.school-course-card{grid-template-columns:92px minmax(0,1fr);min-height:132px}.school-course-card>img{min-height:132px}.school-course-card h3{font-size:18px}.reward-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.student-time-hero{gap:9px}.student-time-hero>div:first-child{padding:22px 18px}.school-ring{min-height:160px}.student-time-stats article{min-height:88px;padding:13px}.student-time-stats article>b{font-size:22px}.school-course-card{grid-template-columns:78px minmax(0,1fr)}.school-course-card>div{padding:14px}.school-course-card h3{font-size:17px}}
