/* Integrated classroom, deliberately matched to the Home page midnight-blue system */
.cl-root{background:radial-gradient(ellipse at 100% 5%,rgba(23,121,191,.13),transparent 43%),#040d23;color:#edf7ff;min-height:80vh;line-height:1.55}
.cl-hero{position:relative;overflow:hidden;border-bottom:1px solid #263c60;background:linear-gradient(112deg,#071930,#0b2550 60%,#08142b);}
.cl-hero:before{content:"";position:absolute;inset:0;opacity:.2;pointer-events:none;background-image:linear-gradient(0deg,transparent 94%,#4db4f8 95%),linear-gradient(90deg,transparent 94%,#4db4f8 95%);background-size:60px 60px;mask-image:linear-gradient(to right,transparent 30%,black)}
.cl-hero-inner{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.75fr);align-items:center;min-height:315px;gap:35px;padding-block:48px}
.cl-kicker{display:flex;gap:10px;align-items:center;letter-spacing:.13em;font-size:11px;font-weight:850;color:#85dcff;text-transform:uppercase;margin:0 0 16px}
.cl-dot{width:9px;height:9px;background:#62dfb3;border-radius:50%;box-shadow:0 0 0 6px #43c6a51b}
.cl-hero h1{font-size:clamp(34px,4.6vw,62px);line-height:1.08;letter-spacing:-.05em;margin:0 0 16px;color:#fff}
.cl-hero h1 span{color:#ffad4c}
.cl-hero p{color:#bed4ee;font-size:clamp(14px,1.2vw,17px);max-width:640px;margin:0 0 18px}
.cl-micro{display:flex;flex-wrap:wrap;gap:10px}
.cl-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid #345679;border-radius:30px;background:#153153bd;color:#c8e8ff;font-size:12px;padding:8px 13px;font-weight:750}
.cl-hero-art{width:100%;max-height:260px;object-fit:cover;object-position:center;border:1px solid #32577e;border-radius:24px;box-shadow:0 12px 60px #001026}
.cl-dashboard{padding-block:35px 80px}
.cl-info-strip{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:30px;background:#0b2242;border:1px solid #254469;border-radius:15px;padding:13px 18px}
.cl-info-strip strong{color:#e9f8ff;font-size:14px}
.cl-info-strip p{color:#a7c1de;font-size:12px;margin:2px 0 0}
.cl-info-strip button,.cl-small-button{border:1px solid #46739d;background:#122d50;padding:9px 13px;color:#d1f4ff;font-weight:800;font:inherit;font-size:12px;border-radius:10px;cursor:pointer}
.cl-sectionhead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 20px}
.cl-eyebrow{font-weight:900;font-size:11px;letter-spacing:.12em;color:#ffb657;text-transform:uppercase}
.cl-sectionhead h2{color:white;letter-spacing:-.025em;font-size:clamp(24px,3vw,35px);line-height:1.18;margin:6px 0}
.cl-sectionhead p{color:#9fbad9;margin:0;font-size:14px}
.cl-stage-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:32px}
.cl-stage{border:1px solid #2a496c;border-radius:18px;background:linear-gradient(155deg,#122c50,#091a34);padding:20px 16px 17px;text-align:left;min-height:228px;display:flex;flex-direction:column;gap:12px;color:#e8f4ff;cursor:pointer;transition:transform .2s,border-color .2s,background .2s;position:relative;overflow:hidden}
.cl-stage:after{content:"";position:absolute;inset:auto -24px -64px auto;width:140px;height:140px;background:radial-gradient(circle,var(--cl-accent,#35bbff),transparent 68%);opacity:.13;pointer-events:none}
.cl-stage:hover{transform:translateY(-4px);border-color:#43b9fa}
.cl-stage[aria-pressed="true"]{border-color:#ffae56;box-shadow:0 0 0 1px #ffae56,0 15px 40px #001121;background:linear-gradient(150deg,#163653,#102340)}
.cl-stage-icon{width:51px;height:51px;border-radius:14px;border:1px solid #3c698e;background:linear-gradient(135deg,#17466c,#0e2a4f);display:grid;place-items:center}
.cl-stage-icon svg{width:28px;height:28px;stroke:var(--cl-accent,#50cfff);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cl-stage-num{font-size:11px;font-weight:900;letter-spacing:.12em;color:#75ddfd}
.cl-stage strong{font-size:16px;line-height:1.28;color:white}
.cl-stage small{font-size:12px;color:#b4c6dc;line-height:1.45}
.cl-stage-foot{font-size:11px;color:#ffcd8f;font-weight:750;margin-top:auto}
.cl-panel{border:1px solid #2b4c73;background:linear-gradient(165deg,#10284a,#081b33 76%);border-radius:22px;padding:clamp(16px,3vw,27px);box-shadow:0 18px 65px #0004}
.cl-panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.cl-panel-title h2{font-size:clamp(20px,2.6vw,30px);color:white;margin:0}
.cl-count{background:#173b59;border:1px solid #3d6685;color:#a6e9ff;padding:6px 12px;border-radius:30px;font-size:11px;white-space:nowrap;font-weight:750}
.cl-panel-sub{color:#b7cee8;font-size:13px;margin:0 0 16px}
.cl-schedule-status{background:#0a1b36;padding:12px 15px;border-left:3px solid #4cb5eb;border-radius:9px;color:#b8d8f5;font-size:13px;margin:0 0 15px}
.cl-schedule-status[data-state="error"]{border-color:#ffab68;color:#ffdab8}
.cl-schedule-status[data-state="ok"]{border-color:#54d8a6;color:#b8f5dc}
.cl-classes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cl-class{display:flex;align-items:flex-start;gap:13px;width:100%;text-align:left;background:#0c2443;border:1px solid #2c4a6b;border-radius:14px;color:#e9f5ff;padding:15px;cursor:pointer;transition:border .2s,transform .2s}
.cl-class:hover{border-color:#58c6f3;transform:translateY(-2px)}
.cl-class-index{flex-shrink:0;border:1px solid #426888;background:#173c58;color:#97e0ff;border-radius:12px;display:grid;place-items:center;width:43px;height:43px;font-size:11px;font-weight:900}
.cl-class-copy{min-width:0;flex:1}
.cl-class-copy strong{display:block;font-size:14px;margin-bottom:4px;color:white}
.cl-class-copy p{font-size:12px;color:#bad0e7;line-height:1.5;margin:0;overflow-wrap:anywhere;white-space:pre-line}
.cl-class-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.cl-class-meta span{font-size:10px;border:1px solid #2f5577;border-radius:5px;padding:3px 7px;color:#add3ec;background:#09223e}
.cl-class-meta .active{border-color:#236f63;color:#9beed1}
.cl-arrow{font-size:23px;color:#ffb365}
.cl-internship[hidden],.cl-classes[hidden],.cl-panel[hidden],.cl-detail-dialog[hidden]{display:none!important}
.cl-internship{background:linear-gradient(130deg,#0d324a,#101c3a);padding:clamp(18px,3vw,29px);border:1px solid #27586a;border-radius:17px}
.cl-internship h3{font-size:clamp(20px,2.5vw,30px);color:#fff;margin:0 0 10px}
.cl-internship p{font-size:14px;color:#c1d6e9;line-height:1.75;max-width:850px}
.cl-internship-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.cl-internship-points article{background:#091a32;border:1px solid #30526b;border-radius:12px;padding:16px;color:#e0f6ff}
.cl-internship-points article svg{width:25px;height:25px;stroke:#57d4ee;fill:none;stroke-width:2}
.cl-internship-points strong{display:block;margin:9px 0 4px}
.cl-internship-points small{color:#a9c2db;line-height:1.6}
.cl-detail-dialog{border:0;border-radius:23px;width:min(92vw,780px);max-height:90dvh;overflow:auto;background:#0c2341;color:#eff9ff;padding:0;box-shadow:0 24px 120px #000b}
.cl-detail-dialog::backdrop{background:rgba(1,6,20,.83);backdrop-filter:blur(8px)}
.cl-detail-inner{padding:clamp(20px,4vw,34px)}
.cl-dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cl-dialog-top .cl-eyebrow{margin-bottom:7px}
.cl-detail-dialog h2{color:white;line-height:1.2;font-size:clamp(22px,3vw,31px);margin:4px 0 10px}
.cl-detail-dialog .cl-topic{color:#b4d8f0;white-space:pre-line;line-height:1.65;font-size:14px}
.cl-close{border:1px solid #40618b;background:#132f51;color:white;width:41px;height:41px;border-radius:12px;font-size:22px;cursor:pointer}
.cl-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:18px 0}
.cl-time-grid div{border:1px solid #375877;background:#0b1934;border-radius:12px;padding:12px}
.cl-time-grid small{display:block;color:#93b6d0;font-size:11px;margin-bottom:5px}
.cl-time-grid strong{font-size:14px;color:#eff9ff;overflow-wrap:anywhere}
.cl-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:12px 0 23px}
.cl-action{display:flex;align-items:center;justify-content:center;min-height:49px;text-align:center;border:1px solid #3e668a;background:#12375a;color:#cff5ff;text-decoration:none;border-radius:11px;font-weight:800;font-size:13px;cursor:pointer;padding:9px 13px}
.cl-action.accent{background:linear-gradient(105deg,#ffaa4f,#f58d36);color:#0d1930;border-color:#fdbb72}
.cl-action[aria-disabled="true"],.cl-action:disabled{opacity:.48;cursor:not-allowed;background:#182c46;border:1px solid #34516a;color:#a3bacb;pointer-events:none}
.cl-assignment{border-top:1px solid #345576;padding-top:18px;margin-top:8px}
.cl-assignment h3{font-size:16px;color:#fff;margin:0 0 10px}
.cl-assignment pre{font:inherit;font-size:14px;color:#c2e0f0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;margin:0}
.cl-message{font-size:12px;color:#ffca91;margin:9px 0;min-height:14px}
.cl-hint{margin:12px 0 0;color:#a2bfdc;font-size:12px;line-height:1.65}
.cl-stage:focus-visible,.cl-class:focus-visible,.cl-close:focus-visible,.cl-action:focus-visible,.cl-small-button:focus-visible{outline:3px solid #58cfff;outline-offset:3px}
@media(max-width:1150px){.cl-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cl-stage{min-height:215px}}
@media(max-width:730px){.cl-hero-inner{grid-template-columns:1fr;gap:18px;padding-block:34px}.cl-hero-art{max-height:240px}.cl-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cl-stage{padding:14px;min-height:205px}.cl-classes{grid-template-columns:1fr}.cl-internship-points{grid-template-columns:1fr}.cl-dashboard{padding-block:27px 55px}}
@media(max-width:390px){.cl-stage strong{font-size:14px}.cl-stage small{font-size:11px}.cl-stage{min-height:213px}.cl-hero h1{font-size:36px}.cl-action-grid{grid-template-columns:1fr}.cl-time-grid{gap:7px}.cl-panel-title{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.cl-stage,.cl-class{transition:none!important}.cl-stage:hover,.cl-class:hover{transform:none}}
/* v3.2 Zoom app-style video icon and contextual meeting credentials */
.cl-zoom-icon{width:24px;height:24px;flex:0 0 auto;border-radius:6px;margin-right:9px}
.cl-meeting-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;border:1px solid #3269a0;background:linear-gradient(125deg,#102e56,#0d213c);border-radius:13px;padding:12px;margin:4px 0 14px}
.cl-meeting-info[hidden]{display:none!important}
.cl-meeting-info>div{min-width:0;padding:6px 9px}
.cl-meeting-info small{display:block;color:#99c5eb;font-size:11px;letter-spacing:.02em;margin-bottom:6px}
.cl-meeting-info strong{display:block;color:#fff;font-size:14px;overflow-wrap:anywhere;user-select:text}
.cl-class[aria-disabled="true"]{border-color:#35445a;cursor:default}
.cl-class-meta .locked{color:#ffd2aa;border-color:#8b6349}
@media(max-width:390px){.cl-meeting-info{grid-template-columns:1fr}}
