/* dashboard.css — dashboard mode (data-dense pages: commitments, research).
   Loaded async for mode-dashboard pages. */

/* ---- Commitments page ---- */
.comm-hero{padding:46px 0 26px;background:radial-gradient(900px 480px at 80% -10%, rgba(31,143,255,.22), transparent 60%)}
.comm-h1{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;font-weight:900;font-size:clamp(38px,8vw,68px);color:#fff;line-height:.9;margin:6px 0 10px}
.comm-sub{max-width:680px;color:#d2e2f3;font-size:17px;line-height:1.55}
.comm-sub em{color:var(--cyan);font-style:normal;font-weight:600}

.comm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px;max-width:620px}
.cstat{border-radius:14px;padding:18px 14px;text-align:center}
.cstat-n{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;font-size:clamp(28px,5vw,40px);color:var(--green-glow);line-height:1}
.cstat-l{font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:6px;font-weight:700}
@media(max-width:520px){.comm-stats{gap:8px}.cstat{padding:14px 8px}}

.comm-reality{padding:22px 0}
.comm-reality p{max-width:820px;color:#c3d6ea;font-size:15.5px;line-height:1.6}
.comm-reality em{color:#fff;font-style:normal;font-weight:600}
.comm-inline-cta{display:inline;background:none;border:0;padding:0;color:var(--cyan);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.comm-inline-cta:hover{color:var(--green-glow)}

/* filter bar */
.comm-tools{position:sticky;top:62px;z-index:40;background:rgba(4,12,24,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.comm-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.cf-search{flex:1 1 240px;min-width:200px}
.cf-search input{width:100%;background:rgba(8,20,38,.8);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:#fff;font-size:15px;font-family:inherit}
.cf-search input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,143,255,.2)}
.cf-field{display:flex;flex-direction:column;gap:5px}
.cf-field span{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800;color:var(--ice)}
.cf-field select{background:rgba(8,20,38,.8);border:1px solid var(--line);border-radius:10px;padding:11px 30px 11px 12px;color:#fff;font-size:14.5px;font-family:inherit;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--blue-glow) 50%),linear-gradient(135deg,var(--blue-glow) 50%,transparent 50%);background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-size:5px 5px;background-repeat:no-repeat}
.cf-field select:focus{outline:none;border-color:var(--blue)}
.cf-go{background:linear-gradient(180deg,var(--cyan),var(--blue));color:#04101f;border:0;border-radius:10px;padding:12px 18px;font-weight:800;font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase}
.comm-count{margin-top:12px;font-size:13.5px;color:var(--muted)}
.comm-count strong{color:#fff}

/* results grid */
.comm-results{padding:24px 0 10px}
.comm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:13px}
.comm-card{border-radius:13px;padding:16px 16px 18px;position:relative;overflow:hidden}
.comm-card .cc-badge{display:inline-block;font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:800;color:var(--green-glow);background:rgba(134,197,64,.12);border:1px solid rgba(134,197,64,.34);padding:3px 9px;border-radius:20px;margin-bottom:10px}
.comm-card .cc-nm{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;font-size:21px;color:#fff;line-height:1}
.comm-card .cc-meta{font-size:12.5px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.04em}
.comm-card .cc-to{font-size:11px;color:#7e98b4;margin:11px 0 3px;text-transform:uppercase;letter-spacing:.1em}
.comm-card .cc-school{font-family:'Saira',sans-serif;font-weight:700;font-size:15.5px;color:var(--ice);line-height:1.25}

.comm-empty{text-align:center;padding:40px 18px;color:var(--muted)}
.comm-empty p{margin-bottom:14px;font-size:16px}

.comm-more-wrap{text-align:center;padding:26px 0 6px}
.comm-more{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.03em;font-weight:900;font-size:16px;color:var(--ice);background:rgba(8,26,52,.7);border:1px solid var(--glass-bord);padding:14px 30px;border-radius:11px}
.comm-more:hover{color:#fff;border-color:rgba(31,143,255,.6)}
.comm-more.is-hidden{display:none}
.comm-more[disabled]{opacity:.6}

/* closing callout */
.comm-callout{padding:30px 0 50px}
.callout-card{border-radius:18px;padding:34px 26px;text-align:center}
.callout-card h2{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;font-weight:900;font-size:clamp(24px,4.6vw,34px);color:#fff;line-height:.95}
.callout-card p{color:#c3d6ea;font-size:16px;margin:12px auto 20px;max-width:520px}

/* ===== College Research: school LIST ===== */
.rl-crumb{font-size:13px;color:var(--muted);margin-bottom:14px}
.rl-crumb a{color:var(--ice)}.rl-crumb a:hover{color:var(--cyan)}
.rl-crumb span{margin:0 6px;color:#5a708a}
.rl-hero{padding:40px 0 22px}
.rl-h1{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;font-weight:900;font-size:clamp(34px,7vw,58px);color:#fff;line-height:.9;margin:4px 0 10px}
.rl-sub{max-width:640px;color:#d2e2f3;font-size:16.5px;line-height:1.55}
.rl-tools{position:sticky;top:62px;z-index:40;background:rgba(4,12,24,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.rl-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.rf-search{flex:1 1 220px;min-width:180px}
.rf-search input{width:100%;background:rgba(8,20,38,.8);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:#fff;font-size:15px;font-family:inherit}
.rf-search input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,143,255,.2)}
.rf-field{display:flex;flex-direction:column;gap:5px}
.rf-field span{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.05em;font-size:11px;font-weight:800;color:var(--ice)}
.rf-field select{background:rgba(8,20,38,.8);border:1px solid var(--line);border-radius:10px;padding:11px 30px 11px 12px;color:#fff;font-size:14px;font-family:inherit;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--blue-glow) 50%),linear-gradient(135deg,var(--blue-glow) 50%,transparent 50%);background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-size:5px 5px;background-repeat:no-repeat;max-width:230px}
.rf-field select:focus{outline:none;border-color:var(--blue)}
.rl-count{margin-top:11px;font-size:13.5px;color:var(--muted)}.rl-count strong{color:#fff}
.rl-results{padding:20px 0 10px}
.rl-table-head{display:none}
@media(min-width:760px){
	.rl-table-head{display:grid;grid-template-columns:2fr 1.4fr .8fr 2fr;gap:14px;padding:0 16px 8px;font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:800;color:var(--muted);border-bottom:1px solid var(--line)}
}
.rl-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
/* Mobile: stacked rows. School name on top, then labeled meta lines, chevron pinned right. */
.rl-row{display:grid;grid-template-columns:1fr auto;gap:3px 14px;align-items:center;border-radius:12px;padding:13px 16px;transition:border-color .15s,transform .15s}
.rl-row:hover{border-color:rgba(31,143,255,.55);transform:translateX(3px)}
.rlc-school{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;font-size:18px;color:#fff;grid-column:1;line-height:1.15}
.rlc-loc,.rlc-div,.rlc-conf{font-size:13px;color:var(--muted);grid-column:1;line-height:1.3}
.rlc-go{grid-column:2;grid-row:1/span 4;align-self:center;color:var(--blue-glow);font-size:22px;font-weight:700}
/* On mobile, label the meta values so they read clearly when stacked. */
.rlc-div::before{content:"Division: ";color:#6f88a6}
.rlc-conf::before{content:"Conference: ";color:#6f88a6}
@media(min-width:760px){
	/* Desktop: single-row table. Four columns + chevron, vertically centered, no phantom rows. */
	.rl-row{grid-template-columns:2fr 1.4fr .9fr 2fr auto;gap:0 14px;align-items:center;padding:15px 16px}
	.rlc-school,.rlc-loc,.rlc-div,.rlc-conf{grid-column:auto;grid-row:1}
	.rlc-loc,.rlc-div,.rlc-conf{font-size:13.5px}
	.rlc-go{grid-row:1;grid-column:5}
	.rlc-div::before,.rlc-conf::before{content:none}
}
.rl-empty{text-align:center;padding:40px 18px;color:var(--muted)}
.rl-more-wrap{text-align:center;padding:24px 0 6px}
.rl-more{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.03em;font-weight:900;font-size:16px;color:var(--ice);background:rgba(8,26,52,.7);border:1px solid var(--glass-bord);padding:14px 30px;border-radius:11px}
.rl-more:hover{color:#fff;border-color:rgba(31,143,255,.6)}
.rl-more.is-hidden{display:none}
.rl-cta{padding:30px 0 50px}

/* ===== College Research: school DETAIL ===== */
.sd-hero{padding:34px 0 24px;background:radial-gradient(800px 420px at 82% -20%, rgba(31,143,255,.2), transparent 60%)}
.sd-h1{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;font-weight:900;font-size:clamp(32px,6.5vw,56px);color:#fff;line-height:.92;margin:6px 0 12px}
.sd-tags{display:flex;flex-wrap:wrap;gap:8px}
.sd-tag{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:800;color:var(--ice);background:rgba(8,26,52,.7);border:1px solid var(--glass-bord);padding:6px 13px;border-radius:20px}
.sd-tag-div{color:#04101f;background:linear-gradient(180deg,var(--cyan),var(--blue));border:0}
.sd-body{padding:24px 0 50px}
.sd-grid{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:900px){.sd-grid{grid-template-columns:1.7fr 1fr;align-items:start}}
.sd-main{display:flex;flex-direction:column;gap:18px}
.sd-side{display:flex;flex-direction:column;gap:18px}
.sd-card{border-radius:16px;padding:22px 20px}
.sd-h2{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;font-weight:900;font-size:20px;color:#fff;margin-bottom:14px;letter-spacing:.02em}
.sd-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(min-width:560px){.sd-stats{grid-template-columns:repeat(3,1fr)}}
.sd-stat{display:flex;flex-direction:column;gap:2px;background:rgba(4,12,24,.5);border:1px solid var(--line);border-radius:10px;padding:11px 12px}
.sd-stat-l{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}
.sd-stat-v{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:800;font-size:17px;color:#fff}
.sd-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.sd-badge{font-size:12px;font-weight:700;color:var(--ice);background:rgba(25,230,255,.08);border:1px solid rgba(25,230,255,.28);padding:5px 11px;border-radius:7px;text-transform:uppercase;letter-spacing:.04em}

/* gated coaches */
.sd-gate-note{font-size:13.5px;color:var(--muted);margin-bottom:16px;line-height:1.5;border-left:2px solid var(--green);padding-left:12px}
.sd-coaches{display:flex;flex-direction:column;gap:9px}
.sd-coach{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(4,12,24,.5);border:1px solid var(--line);border-radius:11px;padding:13px 15px}
.sd-coach-nm{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;font-size:17px;color:#fff}
.sd-coach-pos{font-size:12.5px;color:var(--muted);margin-top:1px}
.sd-coach-unlock{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.03em;font-weight:800;font-size:12.5px;color:var(--green-glow);background:rgba(134,197,64,.1);border:1px solid rgba(134,197,64,.34);padding:8px 13px;border-radius:9px}
.sd-coach-unlock svg{width:14px;height:14px}
.sd-coach-unlock:hover{background:rgba(134,197,64,.2);color:#fff}
.sd-unlock-all{text-align:center;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.sd-unlock-fine{font-size:12px;color:var(--muted);margin-top:8px}
.sd-muted{color:var(--muted);font-size:14px}

.sd-links{display:flex;flex-wrap:wrap;gap:10px}
.sd-link{font-size:14px;color:var(--ice);background:rgba(8,26,52,.6);border:1px solid var(--glass-bord);padding:11px 16px;border-radius:9px}
.sd-link:hover{color:#fff;border-color:rgba(31,143,255,.55)}
.sd-sticky{position:static}
@media(min-width:900px){.sd-sticky{position:sticky;top:80px}}
.sd-eval-side h3,.sd-side-h{font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;font-weight:900;font-size:21px;color:#fff;margin:8px 0 8px;line-height:1}
.sd-eval-side p{color:#c3d6ea;font-size:14.5px;margin-bottom:16px;line-height:1.5}
.sd-back{display:inline-block;margin-top:8px;color:var(--ice);font-weight:700;font-size:14.5px}
.sd-back:hover{color:var(--cyan)}

/* school detail: satellite map + social */
.sd-map{margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:16/10;background:#06101f}
.sd-map iframe{width:100%;height:100%;border:0;display:block}
.sd-social{margin-top:16px}
.sd-social-lbl{display:block;font-family:'Saira Condensed',sans-serif;font-style:italic;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:800;color:var(--ice);margin-bottom:9px}
.sd-social-row{display:flex;gap:10px}
.sd-soc{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:11px;background:rgba(8,26,52,.7);border:1px solid var(--glass-bord);color:#cfe0f5;transition:transform .15s,border-color .15s,color .15s,background .15s}
.sd-soc svg{width:20px;height:20px}
.sd-soc:hover{transform:translateY(-2px);color:#fff}
.sd-soc-fb:hover{background:rgba(24,119,242,.22);border-color:#1877f2;color:#fff}
.sd-soc-ig:hover{background:rgba(214,41,118,.2);border-color:#d62976;color:#fff}
.sd-soc-x:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
