:root {
  --background: #f4f1ea;
  --foreground: #17211f;
  --ink-soft: #5e6660;
  --panel: #fffdf8;
  --line: #ded8cb;
  --accent: #006d77;
  --accent-strong: #004f59;
  --mint: #d7efe2;
  --coral: #f26b5b;
  --sky: #d7e7f7;
  --shadow: 0 18px 50px rgba(28, 38, 35, 0.12);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--background); color: var(--foreground); font-family: Arial, Helvetica, sans-serif; }
button, a, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.shell { display: grid; grid-template-columns: 280px minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; height: 100vh; padding: 24px; background: #17211f; color: #fffdf8; display: flex; flex-direction: column; gap: 28px; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 8px; background: var(--coral); color: #17211f; font-weight: 900; }
.brand strong, .brand small { display: block; }
.brand small, .side-note span, .eyebrow, .metric small, .course small, .student small, .muted { color: var(--ink-soft); }
.sidebar .brand small, .sidebar .side-note span { color: rgba(255, 253, 248, 0.66); }
nav { display: grid; gap: 6px; }
nav a { color: rgba(255, 253, 248, 0.86); text-decoration: none; padding: 12px 10px; border-radius: 8px; }
nav a:hover, nav a:focus-visible { background: rgba(255, 253, 248, 0.1); outline: none; }
.side-note { margin-top: auto; display: grid; gap: 10px; padding: 16px; border: 1px solid rgba(255, 253, 248, 0.16); border-radius: 8px; }
.side-note span::before { content: ""; width: 8px; height: 8px; display: inline-block; border-radius: 50%; margin-right: 8px; background: var(--mint); }
.workspace { padding: 28px; display: grid; gap: 22px; }
.setup-alert { display: grid; gap: 6px; padding: 16px; border-radius: 8px; border: 1px solid #d59f2b; background: #fff4d8; }
.setup-alert code { font-weight: 800; }
.topbar { min-height: 360px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: end; gap: 24px; padding: 36px; border-radius: 8px; background: linear-gradient(120deg, rgba(0, 109, 119, 0.94), rgba(23, 33, 31, 0.9)), radial-gradient(circle at 15% 20%, rgba(242, 107, 91, 0.35), transparent 28%); color: #fffdf8; overflow: hidden; }
.topbar h1 { margin: 8px 0 12px; font-size: clamp(48px, 7vw, 98px); line-height: 0.92; letter-spacing: 0; }
.topbar p { max-width: 720px; color: rgba(255, 253, 248, 0.78); font-size: 18px; line-height: 1.65; }
.eyebrow { margin: 0; text-transform: uppercase; letter-spacing: 0.12em; font-size: 12px; font-weight: 800; }
.session-card { background: rgba(255, 253, 248, 0.12); border: 1px solid rgba(255, 253, 248, 0.22); border-radius: 8px; padding: 22px; backdrop-filter: blur(14px); }
.session-card p { margin: 10px 0 4px; font-size: 14px; }
.session-card strong { display: block; font-size: 22px; line-height: 1.2; }
.primary-action, .presence-tools button { min-height: 42px; border: 0; border-radius: 8px; cursor: pointer; font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.primary-action { width: 100%; margin-top: 20px; background: var(--coral); color: #17211f; }
.live-dot { width: 12px; height: 12px; display: inline-block; border-radius: 50%; background: #72f0aa; box-shadow: 0 0 0 8px rgba(114, 240, 170, 0.16); }
.metrics, .grid { display: grid; gap: 16px; }
.metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric, .panel { background: var(--panel); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); }
.metric { padding: 18px; }
.metric span, .metric strong, .metric small { display: block; }
.metric strong { margin: 8px 0 2px; font-size: 30px; }
.panel { padding: 24px; }
.two { grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr); }
.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.panel-heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
h2, h3, p { margin-top: 0; }
h2 { margin-bottom: 0; font-size: 28px; line-height: 1.08; }
.badge { display: inline-flex; align-items: center; white-space: nowrap; min-height: 30px; padding: 0 10px; border-radius: 999px; background: var(--sky); color: #17324b; font-size: 12px; font-weight: 800; }
.badge.success { background: var(--mint); color: #205234; }
.timeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.step { min-height: 92px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #faf7ef; }
.step span { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #ebe4d6; font-weight: 900; font-size: 12px; }
.step p { margin: 12px 0 0; font-weight: 800; line-height: 1.2; }
.step.done span, .step.current span { background: var(--accent); color: #fffdf8; }
.step.current { border-color: var(--accent); background: #e8f4f0; }
.segmented { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.segmented button { border: 1px solid var(--line); background: #faf7ef; color: var(--foreground); padding: 10px; border-radius: 8px; cursor: pointer; font-weight: 800; }
.segmented button.active { background: var(--accent); border-color: var(--accent); color: #fffdf8; }
.task-list { margin: 18px 0 0; padding: 0; display: none; gap: 10px; list-style: none; }
.task-list.active { display: grid; }
.task-list li { padding: 12px; border-radius: 8px; background: #f6f2e9; }
.course-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.course { min-height: 210px; text-align: left; border: 1px solid var(--line); border-radius: 8px; padding: 16px; background: #faf7ef; cursor: pointer; display: grid; gap: 10px; align-content: start; }
.course.active { border-color: var(--accent); background: #e8f4f0; }
.course span { color: var(--coral); font-weight: 900; }
.course strong { line-height: 1.18; }
.bar { height: 8px; border-radius: 999px; background: #e4dccd; overflow: hidden; margin-top: auto; }
.bar i { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.course-detail { display: none; }
.course-detail.active { display: block; }
.course-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 20px 0; }
.course-stats span, .deliverables label { padding: 12px; background: #f6f2e9; border-radius: 8px; }
.course-stats strong { display: block; }
.deliverables { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.deliverables label { display: flex; gap: 10px; align-items: center; font-weight: 800; }
.video-room { min-height: 360px; background: #17211f; border-radius: 8px; overflow: hidden; }
.video-room iframe { width: 100%; height: 360px; border: 0; display: block; background: #17211f; }
.presence-tools { display: flex; align-items: center; gap: 10px; margin-top: 12px; flex-wrap: wrap; }
.presence-tools button { padding: 0 14px; background: var(--accent); color: #fffdf8; }
.presence-tools span { color: var(--ink-soft); font-weight: 800; }
.attendance-list { display: grid; gap: 10px; margin-top: 14px; }
.student { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border-radius: 8px; background: #f6f2e9; }
.student strong, .student small { display: block; }
.student span { font-weight: 900; color: var(--accent-strong); }
.student span.risk { color: #b03a2e; }
.compact { min-height: 160px; }
.compact h3 { margin-bottom: 10px; font-size: 21px; }
.compact p { color: var(--ink-soft); line-height: 1.6; }
@media (max-width: 1100px) {
  .shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; }
  nav, .metrics, .course-grid, .three { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .topbar, .two { grid-template-columns: 1fr; }
  .timeline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .workspace, .sidebar, .topbar, .panel { padding: 18px; }
  .metrics, .course-grid, .timeline, .three, .course-stats, .deliverables, nav { grid-template-columns: 1fr; }
  .topbar { min-height: auto; }
  .topbar h1 { font-size: 52px; }
  .panel-heading, .student { align-items: stretch; flex-direction: column; }
  .video-room, .video-room iframe { height: 300px; min-height: 300px; }
}

/* Public landing */
.public-page { background: #f7fbfc; color: #11263d; }
.public-nav { position: fixed; inset: 0 0 auto; z-index: 20; height: 78px; display: flex; align-items: center; justify-content: space-between; padding: 12px 28px; background: rgba(255,255,255,.86); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(0,0,0,.06); }
.logo-link img { width: 132px; height: auto; display: block; }
.public-nav nav { display: flex; align-items: center; gap: 8px; }
.public-nav nav a { color: #14446a; text-decoration: none; padding: 10px 12px; border-radius: 8px; font-weight: 800; }
.public-nav .nav-login { background: #006d77; color: #fff; }
.hero-public { min-height: 100vh; position: relative; display: grid; align-items: center; padding: 120px 28px 64px; overflow: hidden; }
.hero-video, .login-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-shade, .login-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.7), rgba(255,255,255,.2)); }
.hero-content { position: relative; z-index: 2; max-width: 760px; }
.hero-logo { width: min(300px, 70vw); height: auto; margin-bottom: 14px; display: block; }
.hero-content h1 { margin: 0 0 16px; font-size: clamp(42px, 7vw, 88px); line-height: .95; letter-spacing: 0; color: #074d87; }
.hero-copy { max-width: 560px; color: #34576b; font-size: 20px; line-height: 1.5; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.secondary-action { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid #91c6d2; border-radius: 8px; color: #006d77; text-decoration: none; font-weight: 900; background: rgba(255,255,255,.7); }
.public-section, .video-feature { padding: 80px 28px; max-width: 1180px; margin: 0 auto; }
.section-heading { display: grid; gap: 8px; max-width: 720px; margin-bottom: 24px; }
.section-heading h2, .program-band h2, .video-copy h2 { margin: 0; font-size: clamp(30px, 4vw, 54px); line-height: 1; color: #073e72; }
.feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.feature-grid article { min-height: 160px; padding: 20px; border-radius: 8px; background: #fff; border: 1px solid #d8edf2; box-shadow: 0 14px 34px rgba(8,63,101,.08); }
.feature-grid strong, .feature-grid span { display: block; }
.feature-grid strong { color: #006d77; font-size: 20px; margin-bottom: 10px; }
.feature-grid span { color: #486477; line-height: 1.55; }
.program-band { margin: 30px auto; max-width: 1180px; padding: 38px; border-radius: 8px; background: linear-gradient(120deg, #006d77, #0c5ea8); color: #fff; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.program-band h2, .program-band .eyebrow { color: #fff; }
.primary-action.compact { width: auto; min-width: 130px; margin: 0; }
.video-feature { display: grid; grid-template-columns: .8fr 1.2fr; gap: 24px; align-items: center; }
.video-feature video { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; box-shadow: 0 18px 50px rgba(28,38,35,.16); background: #111; }
.public-footer { min-height: 90px; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 20px; background: #fff; border-top: 1px solid #d8edf2; color: #14446a; font-weight: 900; }
.public-footer img { width: 84px; height: auto; }
.public-footer a { color: #006d77; }
.login-page { min-height: 100vh; overflow: hidden; background: #0c2531; }
.login-shell { min-height: 100vh; position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 28px; align-items: center; padding: 40px; }
.login-brand { color: #fff; max-width: 680px; }
.login-brand img { width: min(320px, 70vw); height: auto; filter: drop-shadow(0 20px 40px rgba(0,0,0,.18)); }
.login-brand h1 { margin: 20px 0 10px; font-size: clamp(40px, 6vw, 78px); line-height: .95; letter-spacing: 0; }
.login-brand p { font-size: 20px; color: rgba(255,255,255,.84); }
.login-overlay { background: linear-gradient(90deg, rgba(0,31,49,.74), rgba(0,73,89,.42), rgba(255,255,255,.24)); }
.login-card { display: grid; gap: 14px; padding: 26px; border-radius: 8px; background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.55); box-shadow: 0 24px 70px rgba(0,0,0,.24); }
.login-card h2 { margin: 0; color: #073e72; }
.login-card label { display: grid; gap: 7px; color: #26475d; font-weight: 900; }
.login-card input { width: 100%; min-height: 46px; border: 1px solid #bdd6df; border-radius: 8px; padding: 0 12px; background: #fff; }
.login-card button { min-height: 48px; border: 0; border-radius: 8px; background: #006d77; color: #fff; font-weight: 900; cursor: pointer; }
.login-card a { color: #006d77; text-align: center; font-weight: 900; }
.form-error { margin: 0; padding: 10px; border-radius: 8px; background: #ffe4de; color: #9b2f22; font-weight: 800; }
.dashboard-brand { display: block; padding: 10px; background: #fff; border-radius: 8px; }
.dashboard-brand img { width: 100%; height: auto; display: block; }
.user-box { margin-top: auto; display: grid; gap: 8px; padding: 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 8px; }
.user-box a { color: #8ce3ef; font-weight: 900; }
.app-hero { min-height: 260px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 34px; border-radius: 8px; background: linear-gradient(120deg, #fff, #e8f8fb); border: 1px solid #d8edf2; box-shadow: var(--shadow); }
.app-hero h1 { margin: 8px 0 10px; color: #073e72; font-size: clamp(38px, 6vw, 72px); line-height: .95; letter-spacing: 0; }
.app-hero p { color: #486477; font-size: 18px; }
.app-hero img { width: min(260px, 34vw); height: auto; }
@media (max-width: 900px) { .public-nav { position: static; height: auto; flex-direction: column; align-items: stretch; } .public-nav nav, .hero-actions, .program-band { flex-direction: column; align-items: stretch; } .hero-public { min-height: auto; } .feature-grid, .video-feature, .login-shell { grid-template-columns: 1fr; } .login-shell { padding: 24px; } .app-hero { flex-direction: column; align-items: flex-start; } }
@media (max-width: 620px) { .public-section, .video-feature, .program-band { padding: 28px 18px; } .hero-content h1, .login-brand h1 { font-size: 44px; } }

/* Entrega 05 refinamiento visual y plataforma */
:root{--aula-blue:#0960a8;--aula-deep:#063f72;--aula-teal:#12a6bd;--aula-green:#65b84d;--aula-orange:#f59a23;--aula-soft:#f4fbfd;--aula-line:#d8edf2}.refined-public{background:var(--aula-soft);color:#12344d}.refined-nav{height:68px}.refined-nav .logo-link img{width:104px}.refined-nav nav a{color:var(--aula-deep)}.refined-nav .nav-login{background:var(--aula-blue);color:#fff}.refined-hero{min-height:640px;padding-top:100px}.refined-hero .hero-shade{background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.82),rgba(255,255,255,.18))}.refined-hero-content{max-width:680px}.refined-hero-content .hero-logo{width:190px;margin-bottom:8px}.refined-hero-content h1{font-size:clamp(38px,5.4vw,72px);color:var(--aula-deep);line-height:1}.refined-hero-content .hero-copy{font-size:19px;color:#406176}.refined-features article{border-top:5px solid var(--aula-teal)}.refined-features article:nth-child(2){border-top-color:var(--aula-green)}.refined-features article:nth-child(3){border-top-color:var(--aula-orange)}.refined-features article:nth-child(4){border-top-color:var(--aula-blue)}.compact-section{padding-top:64px;padding-bottom:48px}.refined-band{background:linear-gradient(120deg,var(--aula-blue),var(--aula-teal));}.compact-video{padding-top:48px}.platform-workspace{background:#f8fcfd}.role-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.role-grid article,.resource-card,.special-course{background:#fff;border:1px solid var(--aula-line);border-radius:8px;padding:18px;box-shadow:0 12px 30px rgba(8,63,101,.08)}.role-grid strong,.role-grid span,.resource-card strong,.resource-card small{display:block}.role-grid strong{color:var(--aula-blue);font-size:20px;margin-bottom:6px}.page-head h1,.ussicam-head h1{margin:0;color:var(--aula-deep);font-size:clamp(38px,5vw,68px);line-height:1}.clean-list{display:grid;gap:10px}.clean-list a,.clean-list div{display:grid;gap:4px;padding:13px;border-radius:8px;background:#f3f9fb;text-decoration:none;color:#12344d}.clean-list span{color:#577185}.small-link{color:var(--aula-blue);font-weight:900}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:6px;font-weight:900}.form-grid input,.form-grid select,.form-grid textarea,.inline-form select,.forum-form textarea{border:1px solid #bdd6df;border-radius:8px;padding:10px;background:#fff}.form-grid button,.inline-form button,.forum-form button{min-height:44px;border:0;border-radius:8px;background:var(--aula-blue);color:#fff;font-weight:900;cursor:pointer}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.resource-card span,.special-course span{color:var(--aula-orange);font-weight:900}.resource-card a,.special-course a{margin-top:12px;display:inline-flex;color:var(--aula-blue);font-weight:900}.ussicam-head{padding:32px;border-radius:8px;background:linear-gradient(120deg,#fff,#e8f8fb);border:1px solid var(--aula-line)}.special-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.special-course.locked{opacity:.75}.special-course em{display:inline-flex;margin-top:10px;color:#9b6314;font-weight:900}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.ok-banner,.error-banner{padding:12px;border-radius:8px;font-weight:900}.ok-banner{background:#dff3e5;color:#23623b}.error-banner{background:#ffe4de;color:#9b2f22}.forum-progress{height:10px;background:#dceff4;border-radius:999px;overflow:hidden}.forum-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--aula-green),var(--aula-teal))}.forum-form{display:grid;gap:10px;margin-top:16px}.post-list{display:grid;gap:12px}.post-list article{background:#f3f9fb;border-radius:8px;padding:14px}.post-list span{color:#6b7f8f;font-size:13px}.compact-hero{min-height:210px}.compact-hero img{max-width:190px}@media(max-width:1000px){.role-grid,.resource-grid,.special-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-form{grid-template-columns:1fr}}@media(max-width:680px){.role-grid,.resource-grid,.special-grid,.form-grid{grid-template-columns:1fr}.refined-hero{min-height:auto}.refined-hero-content .hero-logo{width:150px}}

/* Entrega 06 dashboard, index y materiales */
.rich-hero{min-height:720px}.benefit-section{padding-top:78px}.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.benefit-grid article{background:#fff;border:1px solid var(--aula-line);border-radius:8px;padding:24px;box-shadow:0 14px 34px rgba(8,63,101,.08)}.benefit-grid strong{display:block;color:var(--aula-deep);font-size:24px;margin:12px 0 8px}.benefit-grid p{color:#4c687a;line-height:1.6;margin:0}.mini-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:900}.mini-icon.blue{background:var(--aula-blue)}.mini-icon.teal{background:var(--aula-teal)}.mini-icon.green{background:var(--aula-green)}.split-info{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:center}.split-info p{color:#4c687a;line-height:1.65}.profile-stack{display:grid;gap:12px}.profile-stack article{display:flex;justify-content:space-between;gap:14px;padding:16px;border-radius:8px;background:#fff;border-left:6px solid var(--aula-teal);box-shadow:0 12px 26px rgba(8,63,101,.07)}.profile-stack article:nth-child(2){border-left-color:var(--aula-blue)}.profile-stack article:nth-child(3){border-left-color:var(--aula-green)}.profile-stack article:nth-child(4){border-left-color:var(--aula-orange)}.profile-stack b{color:var(--aula-deep)}.media-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;align-items:center}.media-row video{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;box-shadow:0 18px 50px rgba(8,63,101,.14)}.dashboard-hero{background:linear-gradient(120deg,#ffffff,#e9f9fb 62%,#fff4df);border-color:#ccebf1}.hero-badges{display:flex;gap:10px;flex-wrap:wrap}.hero-badges span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#fff;color:var(--aula-blue);font-weight:900;border:1px solid var(--aula-line)}.icon-role-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.role-action-card{display:flex;gap:14px;align-items:center;text-decoration:none;color:#12344d;background:#fff;border:1px solid var(--aula-line);border-radius:8px;padding:18px;box-shadow:0 12px 30px rgba(8,63,101,.08);transition:transform .18s ease,box-shadow .18s ease}.role-action-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(8,63,101,.13)}.role-action-card>span,.icon-pill{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;color:#fff;font-weight:950;background:var(--aula-blue);flex:0 0 auto}.role-action-card.teal>span{background:var(--aula-teal)}.role-action-card.green>span{background:var(--aula-green)}.role-action-card.orange>span{background:var(--aula-orange)}.role-action-card strong,.role-action-card small{display:block}.role-action-card strong{font-size:19px;color:var(--aula-deep)}.role-action-card small{color:#557083}.session-strip{display:flex;align-items:center;gap:16px;justify-content:space-between}.material-head{background:linear-gradient(120deg,#fff,#e8f8fb);border:1px solid var(--aula-line);border-radius:8px;padding:28px}.material-head p{color:#4c687a}.material-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-section-title{grid-column:1/-1;display:flex;gap:14px;align-items:center;padding-bottom:4px}.form-section-title h2{margin:0;color:var(--aula-deep)}.form-section-title p{margin:4px 0 0;color:#5d7484}.material-form label{display:grid;gap:7px;font-weight:900;color:#25445a}.material-form input,.material-form select,.material-form textarea{border:1px solid #bdd6df;border-radius:8px;padding:11px;background:#fff}.material-form .wide{grid-column:1/-1}.material-form button{min-height:46px;border:0;border-radius:8px;background:linear-gradient(120deg,var(--aula-blue),var(--aula-teal));color:#fff;font-weight:950;cursor:pointer}.professional-resources .resource-card{display:grid;gap:8px}.professional-resources .resource-card p{font-size:13px;color:#617788;line-height:1.45;max-height:96px;overflow:auto;margin:0}.professional-resources .resource-card span{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:#fff2df;color:#9a5d08;font-size:12px}.professional-resources .resource-card a{background:#eef8fb;padding:9px 10px;border-radius:8px;text-decoration:none;width:max-content}@media(max-width:1000px){.benefit-grid,.split-info,.media-row,.icon-role-grid{grid-template-columns:1fr 1fr}.session-strip{align-items:flex-start;flex-direction:column}}@media(max-width:680px){.benefit-grid,.split-info,.media-row,.icon-role-grid,.material-form{grid-template-columns:1fr}.rich-hero{min-height:auto}.profile-stack article{flex-direction:column}.hero-badges{align-items:stretch;flex-direction:column}}

/* Entrega 07 observaciones admin */
.session-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.session-card-pro{display:grid;gap:10px;background:#fff;border:1px solid var(--aula-line);border-radius:8px;padding:18px;box-shadow:0 12px 28px rgba(8,63,101,.08)}.session-card-pro span,.course-portal-head span{width:max-content;padding:5px 9px;border-radius:999px;background:#e9f7fb;color:var(--aula-blue);font-weight:950;font-size:12px}.session-card-pro strong{font-size:20px;color:var(--aula-deep)}.session-card-pro p{color:#5c7280;margin:0}.session-card-pro a{font-weight:950;color:var(--aula-blue)}.premium-head{background:linear-gradient(120deg,#fff,#e6f8fb 70%,#fff2dd)}.course-portal-head{display:grid;gap:10px;padding:34px;border-radius:8px;background:linear-gradient(120deg,var(--aula-blue),var(--aula-teal));color:#fff;box-shadow:0 18px 44px rgba(8,63,101,.18)}.course-portal-head h1{margin:0;font-size:clamp(36px,5vw,68px);line-height:1}.course-portal-head p{max-width:760px;color:rgba(255,255,255,.86)}.course-portal-head span{background:rgba(255,255,255,.18);color:#fff}.portal-stat{padding:20px;border-radius:8px;background:#fff;border:1px solid var(--aula-line);box-shadow:0 12px 28px rgba(8,63,101,.08)}.portal-stat strong{display:block;color:var(--aula-blue);font-size:44px}.portal-stat span{color:#5c7280;font-weight:900}.check-row{display:flex!important;align-items:center;gap:10px;background:#f0fbf6;border:1px solid #cdebd8;border-radius:8px;padding:12px}.check-row input{width:auto!important;min-height:auto!important}.community-resource{border-color:#bfe8d1!important;background:linear-gradient(180deg,#fff,#f3fff8)}.community-resource em{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;background:#e5f7eb;color:#277346;font-style:normal;font-weight:900;font-size:12px}.sidebar nav a[href="premium.php"]{color:#ffd493}.sidebar nav a[href="sessions.php"]{color:#9defff}@media(max-width:1000px){.session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.session-grid{grid-template-columns:1fr}}

/* Entrega 08 mini portal premium completo */
.portal-admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.form-mini{display:grid;gap:9px}.form-mini h3{margin:0;color:var(--aula-deep)}.form-mini input,.form-mini select,.form-mini textarea,.inline-upload input,.inline-upload textarea{border:1px solid #bdd6df;border-radius:8px;padding:10px;background:#fff}.form-mini textarea{min-height:74px}.form-mini button,.inline-upload button{border:0;border-radius:8px;background:var(--aula-blue);color:#fff;font-weight:900;min-height:40px}.inline-upload{display:grid;gap:8px;margin-top:10px}.clean-list .inline-form{margin-top:8px}.clean-list .inline-form input{min-height:38px}.page-head p{color:#5c7280}.sidebar nav a[href="notices_admin.php"],.sidebar nav a[href="forum_admin.php"]{color:#c7f6c2}@media(max-width:1200px){.portal-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.portal-admin-grid{grid-template-columns:1fr}.course-portal-head{padding:24px}.course-portal-head h1{font-size:34px}}

/* Entrega 09 controles, alumno y sala interna */
.user-admin-list{display:grid;gap:12px}.user-admin-row{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr 1fr auto;gap:8px;align-items:center;background:#f4fbfd;border:1px solid var(--aula-line);border-radius:8px;padding:10px}.user-admin-row input,.user-admin-row select{min-height:40px;border:1px solid #bdd6df;border-radius:8px;padding:0 9px}.user-admin-row button,.delete-line button,.danger-button{border:0;border-radius:8px;min-height:40px;padding:0 12px;font-weight:900;cursor:pointer}.user-admin-row button{background:var(--aula-blue);color:#fff}.delete-line{display:flex;justify-content:flex-end;margin-top:-8px}.delete-line button,.danger-button{background:#ffe4de;color:#9b2f22}.resource-edit{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--aula-line)}.resource-edit input,.resource-edit select,.resource-edit textarea{border:1px solid #bdd6df;border-radius:8px;padding:9px;background:#fff}.resource-edit button{border:0;border-radius:8px;min-height:38px;background:var(--aula-blue);color:#fff;font-weight:900}.live-page{background:#071d2d}.live-room-shell{min-height:100vh;padding:20px}.live-stage{min-height:calc(100vh - 40px);display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.live-video-placeholder{position:relative;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#063f72,#12a6bd);display:grid;place-items:center;min-height:520px}.live-video-placeholder video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.live-empty{position:relative;z-index:1;text-align:center;color:#fff;display:grid;gap:8px}.live-empty strong{font-size:clamp(32px,5vw,68px)}.live-side{background:#fff;border-radius:18px;padding:22px;display:grid;gap:14px;align-content:start}.live-side img{width:150px}.live-side h1{margin:0;color:var(--aula-deep)}.live-side button,.live-side a{min-height:48px;border:0;border-radius:14px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:950}.live-side button{background:var(--aula-blue);color:#fff}.live-side a{background:#eef8fb;color:var(--aula-blue)}.portal-admin-grid .panel{border-radius:18px}.form-mini button,.inline-upload button{border-radius:14px}.course-portal-head{border-radius:20px}.role-action-card{border-radius:18px;min-height:96px}.role-action-card>span{border-radius:18px}.app-shell .sidebar{border-right:0}.platform-workspace{background:linear-gradient(180deg,#f8fcfd,#eef8fb)}@media(max-width:1050px){.user-admin-row{grid-template-columns:1fr 1fr}.live-stage{grid-template-columns:1fr}.live-side{order:-1}.live-video-placeholder{min-height:360px}}@media(max-width:650px){.live-room-shell{padding:10px}.live-stage{min-height:auto}.live-side,.live-video-placeholder{border-radius:14px}.role-action-card{min-height:86px}.user-admin-row{grid-template-columns:1fr}.delete-line{justify-content:stretch}.delete-line button{width:100%}}

/* Entrega 10: alumno interactivo y mini portales independientes */
.student-home{min-height:100vh;background:linear-gradient(180deg,#f7fcfd,#eaf7fb);padding:18px;color:#12344d}.student-topbar{max-width:1180px;margin:0 auto 16px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--aula-line);border-radius:18px;padding:10px 14px;box-shadow:0 12px 30px rgba(8,63,101,.08)}.student-topbar img{width:86px}.student-topbar strong,.student-topbar span{display:block}.student-topbar span{color:#557083}.student-logout{min-height:42px;display:flex;align-items:center;justify-content:center;padding:0 14px;border-radius:14px;background:#eef8fb;color:var(--aula-blue);font-weight:950;text-decoration:none}.student-hero{max-width:1180px;margin:0 auto 16px;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:18px;align-items:center;padding:30px;border-radius:24px;background:linear-gradient(120deg,#ffffff,#e8f8fb 58%,#fff1dc);border:1px solid #cdebf1;box-shadow:0 18px 46px rgba(8,63,101,.12)}.student-hero h1{font-size:clamp(38px,6vw,76px);line-height:.95;margin:6px 0;color:var(--aula-deep);letter-spacing:0}.student-hero p{color:#486477;font-size:18px}.student-progress-card{min-height:150px;border-radius:22px;background:var(--aula-blue);color:#fff;display:grid;place-items:center;text-align:center;padding:18px}.student-progress-card strong{font-size:56px;line-height:1}.student-progress-card span{font-weight:900}.student-action-grid{max-width:1180px;margin:0 auto 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.student-tile{min-height:142px;display:grid;gap:8px;align-content:center;padding:18px;border-radius:22px;text-decoration:none;color:#12344d;background:#fff;border:1px solid var(--aula-line);box-shadow:0 12px 28px rgba(8,63,101,.08);transition:transform .16s ease}.student-tile:hover{transform:translateY(-2px)}.student-tile span{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;color:#fff;font-weight:950}.student-tile.blue span{background:var(--aula-blue)}.student-tile.teal span{background:var(--aula-teal)}.student-tile.green span{background:var(--aula-green)}.student-tile.orange span{background:var(--aula-orange)}.student-tile strong{font-size:21px;color:var(--aula-deep)}.student-tile small{color:#557083;font-weight:800}.student-sections{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-panel{background:#fff;border:1px solid var(--aula-line);border-radius:22px;padding:20px;box-shadow:0 12px 30px rgba(8,63,101,.08)}.student-panel.wide{grid-column:1/-1}.student-course-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.student-course-card{display:grid;gap:10px;padding:16px;border-radius:18px;background:#f3fbfd;border:1px solid #d5edf2;text-decoration:none;color:#12344d}.student-course-card span{width:max-content;border-radius:999px;background:#fff2df;color:#a15f06;padding:5px 9px;font-size:12px;font-weight:950}.student-course-card strong{font-size:20px;color:var(--aula-deep)}.student-course-card i{height:10px;background:#dbeff4;border-radius:999px;overflow:hidden}.student-course-card i b{height:100%;display:block;background:linear-gradient(90deg,var(--aula-green),var(--aula-teal));border-radius:inherit}.student-list{display:grid;gap:10px}.student-list a,.student-list div,.empty-state{display:grid;gap:4px;padding:13px;border-radius:16px;background:#f3f9fb;color:#12344d;text-decoration:none}.student-list span,.empty-state{color:#577185}.course-mini-page{background:#f7fcfd;color:#12344d}.course-mini-shell{max-width:1240px;margin:0 auto;padding:18px}.course-mini-hero{border-radius:28px;padding:18px 24px 28px;background:linear-gradient(120deg,#063f72,#12a6bd 65%,#65b84d);color:#fff;box-shadow:0 22px 56px rgba(8,63,101,.2)}.course-mini-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:24px}.course-mini-top img{width:92px;background:#fff;border-radius:16px;padding:8px}.course-mini-top a{color:#fff;text-decoration:none;font-weight:950}.course-mini-top a:last-child{text-align:right}.course-mini-title span{display:inline-flex;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.18);font-size:12px;font-weight:950}.course-mini-title h1{max-width:920px;margin:10px 0;font-size:clamp(36px,6vw,76px);line-height:.95;letter-spacing:0}.course-mini-title p{max-width:780px;color:rgba(255,255,255,.86);font-size:18px}.course-mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.course-mini-stats strong{display:grid;gap:3px;padding:14px;border-radius:18px;background:rgba(255,255,255,.14);font-size:30px}.course-mini-stats small{font-size:12px;color:rgba(255,255,255,.78)}.course-banner{max-width:1180px;margin:14px auto}.portal-pillbar{position:sticky;top:8px;z-index:5;margin:14px auto;display:flex;gap:10px;overflow:auto;padding:10px;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border:1px solid var(--aula-line);border-radius:18px}.portal-pillbar a{white-space:nowrap;min-height:42px;display:flex;align-items:center;padding:0 14px;border-radius:14px;background:#eef8fb;color:var(--aula-blue);text-decoration:none;font-weight:950}.portal-control,.course-learning-grid{margin-top:16px}.didactic-grid .portal-tool-card{border-radius:22px;border:1px solid var(--aula-line);box-shadow:0 14px 34px rgba(8,63,101,.09)}.portal-tool-card>span{width:44px;height:44px;display:grid;place-items:center;border-radius:16px;background:#e8f8fb;color:var(--aula-blue);font-weight:950}.course-learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.course-zone{background:#fff;border:1px solid var(--aula-line);border-radius:24px;padding:20px;box-shadow:0 12px 30px rgba(8,63,101,.08)}.course-zone.wide{grid-column:1/-1}.portal-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-resource-card{display:grid;gap:8px;padding:16px;border-radius:20px;background:#f3fbfd;border:1px solid #d5edf2}.portal-resource-card span{width:max-content;padding:5px 9px;border-radius:999px;background:#fff2df;color:#9a5d08;font-size:12px;font-weight:950}.portal-resource-card strong{font-size:20px;color:var(--aula-deep)}.portal-resource-card p{color:#5c7280;line-height:1.45}.portal-resource-card a{font-weight:950;color:var(--aula-blue)}.assignment-road{display:grid;gap:12px}.assignment-step{display:grid;gap:8px;padding:16px;border-radius:20px;background:#f3f9fb;border-left:8px solid var(--aula-green)}.assignment-step span{width:max-content;padding:5px 9px;border-radius:999px;background:#fff;color:var(--aula-green);font-weight:950}.portal-empty{min-height:100vh;display:grid;place-items:center;align-content:center;gap:14px;text-align:center}.portal-empty img{width:180px}.portal-empty a{min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 16px;border-radius:14px;background:var(--aula-blue);color:#fff;text-decoration:none;font-weight:950}@media(max-width:1000px){.student-action-grid,.student-course-row,.course-mini-stats,.portal-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-hero{grid-template-columns:1fr}.course-learning-grid{grid-template-columns:1fr}.course-zone.wide{grid-column:auto}}@media(max-width:680px){.student-home,.course-mini-shell{padding:10px}.student-topbar{grid-template-columns:auto 1fr}.student-logout{grid-column:1/-1}.student-hero,.student-panel,.course-mini-hero,.course-zone{border-radius:18px;padding:16px}.student-action-grid,.student-sections,.student-course-row,.course-mini-stats,.portal-resource-grid{grid-template-columns:1fr}.course-mini-top{grid-template-columns:1fr;justify-items:start}.course-mini-top a:last-child{text-align:left}.portal-pillbar{top:0;border-radius:0;margin-left:-10px;margin-right:-10px}}


/* Entrega 11: dashboard alumno por secciones y biblioteca visual */
.compact-student-hero{min-height:unset;padding:22px 26px}.student-home-tabs{background:linear-gradient(180deg,#f8fdff,#edf8fb)}.student-navigation-panel{max-width:1180px;margin:0 auto 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.student-nav-button{min-height:116px;text-align:left;border:1px solid var(--aula-line);border-radius:22px;background:#fff;color:#12344d;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-content:center;padding:16px;cursor:pointer;box-shadow:0 12px 28px rgba(8,63,101,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.student-nav-button:hover,.student-nav-button.active{transform:translateY(-2px);box-shadow:0 18px 42px rgba(8,63,101,.13);border-color:#9ed9e4}.student-nav-button span{grid-row:1/3;width:48px;height:48px;display:grid;place-items:center;border-radius:16px;color:#fff;font-weight:950}.student-nav-button.blue span{background:var(--aula-blue)}.student-nav-button.teal span{background:var(--aula-teal)}.student-nav-button.green span{background:var(--aula-green)}.student-nav-button.orange span{background:var(--aula-orange)}.student-nav-button strong{font-size:20px;color:var(--aula-deep)}.student-nav-button small{color:#557083;font-weight:800}.student-tab-shell{max-width:1180px;margin:0 auto}.student-tab-panel{display:none;background:#fff;border:1px solid var(--aula-line);border-radius:24px;padding:20px;box-shadow:0 14px 34px rgba(8,63,101,.08)}.student-tab-panel.active{display:block}.student-tab-panel.pop-in{animation:studentPop .24s ease both}@keyframes studentPop{from{opacity:.2;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.student-focus-grid,.community-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.student-focus-card{min-height:132px;display:grid;gap:8px;align-content:center;padding:18px;border-radius:22px;background:#f3fbfd;border:1px solid #d5edf2;text-decoration:none;color:#12344d;transition:transform .18s ease}.student-focus-card:hover{transform:translateY(-2px)}.student-focus-card.primary{background:linear-gradient(135deg,#eefaff,#fff7e8)}.student-focus-card span{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--aula-blue);color:#fff;font-weight:950}.student-focus-card strong{font-size:21px;color:var(--aula-deep)}.student-focus-card small{color:#557083;font-weight:800}.student-soft-panel{background:#f7fcfd;border:1px solid #d5edf2;border-radius:20px;padding:18px}.feature-list a{min-height:76px}.student-library-page{min-height:100vh;background:linear-gradient(180deg,#f7fcfd,#eaf7fb);color:#12344d}.student-library-shell{max-width:1220px;margin:0 auto;padding:18px}.student-library-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--aula-line);border-radius:24px;padding:18px;box-shadow:0 16px 38px rgba(8,63,101,.1);margin-bottom:14px}.student-library-top img{width:104px}.student-library-top h1{font-size:clamp(34px,5vw,64px);line-height:.98;margin:4px 0;color:var(--aula-deep);letter-spacing:0}.student-library-top p{color:#557083;margin:0}.library-filter-bar{display:flex;gap:10px;overflow:auto;padding:10px;margin-bottom:14px;background:rgba(255,255,255,.82);border:1px solid var(--aula-line);border-radius:18px}.library-filter{white-space:nowrap;min-height:42px;border:0;border-radius:14px;padding:0 14px;background:#eef8fb;color:var(--aula-blue);font-weight:950;cursor:pointer}.library-filter.active{background:var(--aula-blue);color:#fff}.student-resource-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.student-resource-card{min-height:210px;border:1px solid var(--aula-line);border-radius:24px;background:#fff;text-align:left;padding:18px;display:grid;gap:9px;align-content:start;cursor:pointer;box-shadow:0 14px 34px rgba(8,63,101,.08);transition:transform .18s ease,box-shadow .18s ease}.student-resource-card:hover{transform:translateY(-3px);box-shadow:0 20px 48px rgba(8,63,101,.15)}.resource-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;color:#fff;font-weight:950;background:var(--aula-blue)}.resource-icon.video{background:var(--aula-orange)}.resource-icon.lectura{background:var(--aula-teal)}.resource-icon.actividad{background:var(--aula-green)}.resource-icon.recurso{background:var(--aula-blue)}.student-resource-card strong{font-size:20px;line-height:1.18;color:var(--aula-deep)}.student-resource-card small{color:#566f80;font-weight:900}.student-resource-card em{font-style:normal;color:#7a8b96;font-size:13px}.resource-modal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:18px}.resource-modal.active{display:flex}.resource-modal-backdrop{position:absolute;inset:0;background:rgba(5,24,37,.68);backdrop-filter:blur(8px)}.resource-modal-card{position:relative;z-index:1;width:min(980px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;border:1px solid rgba(255,255,255,.4);box-shadow:0 30px 90px rgba(0,0,0,.32);padding:18px}.resource-modal-close{position:absolute;right:18px;top:18px;border:0;border-radius:14px;background:#ffe4de;color:#9b2f22;font-weight:950;min-height:40px;padding:0 12px;cursor:pointer}.resource-modal-head{padding-right:110px}.resource-modal-head span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef8fb;color:var(--aula-blue);font-weight:950;font-size:12px}.resource-modal-head h2{margin:8px 0 6px;color:var(--aula-deep);font-size:clamp(26px,4vw,46px)}.resource-modal-head p{color:#557083}.resource-preview{min-height:320px;border-radius:18px;background:#f3f9fb;border:1px solid var(--aula-line);overflow:hidden;display:grid;place-items:center}.resource-preview iframe,.resource-preview video,.resource-preview img{width:100%;height:min(62vh,560px);border:0;object-fit:contain;background:#071d2d}.resource-preview img{background:#fff}.resource-download-box{display:grid;gap:8px;text-align:center;color:#12344d}.resource-download-box strong{font-size:24px;color:var(--aula-deep)}.resource-modal-desc{margin:14px 0;color:#486477;white-space:pre-wrap}.resource-open-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border-radius:14px;background:var(--aula-blue);color:#fff;text-decoration:none;font-weight:950}@media(max-width:1000px){.student-navigation-panel,.student-focus-grid,.community-shortcuts,.student-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-library-top{grid-template-columns:auto 1fr}.student-library-top .student-logout{grid-column:1/-1}}@media(max-width:680px){.student-navigation-panel,.student-focus-grid,.community-shortcuts,.student-resource-grid{grid-template-columns:1fr}.student-nav-button{min-height:92px}.student-tab-panel,.student-library-top,.resource-modal-card{border-radius:18px;padding:16px}.resource-modal{padding:10px}.resource-modal-head{padding-right:0;padding-top:42px}.resource-preview{min-height:240px}.resource-preview iframe,.resource-preview video,.resource-preview img{height:420px}}

/* Entrega 12: avance evaluable y reunion interna */
.course-progress-panel{margin:14px 0;background:#fff;border:1px solid var(--aula-line);border-radius:24px;padding:20px;box-shadow:0 14px 34px rgba(8,63,101,.08)}.progress-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.progress-roster.one{grid-template-columns:1fr}.progress-roster article{display:grid;gap:8px;padding:16px;border-radius:18px;background:#f3fbfd;border:1px solid #d5edf2}.progress-roster strong{font-size:19px;color:var(--aula-deep)}.progress-roster span,.progress-roster small{color:#557083;font-weight:800}.submission-history{display:grid;gap:12px}.submission-card{display:grid;gap:8px;padding:16px;border-radius:18px;background:#f3f9fb;border:1px solid var(--aula-line)}.submission-card strong{color:var(--aula-deep);font-size:18px}.submission-card span,.submission-card small{color:#557083;font-weight:800}.review-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:end;margin-top:8px}.review-form label{display:grid;gap:6px;font-weight:900;color:#25445a}.review-form .wide{grid-column:1/-1}.review-form input,.review-form select,.review-form textarea{border:1px solid #bdd6df;border-radius:10px;padding:9px;background:#fff}.review-form button{border:0;border-radius:12px;background:var(--aula-blue);color:#fff;font-weight:950;min-height:42px;padding:0 14px}.live-meeting-stage{min-height:calc(100vh - 40px);display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.meeting-main{border-radius:22px;background:#071d2d;padding:14px;min-height:560px}.meeting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.meeting-tile{position:relative;min-height:260px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#063f72,#12a6bd);display:grid;place-items:center}.meeting-tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#061622}.meeting-tile strong{position:absolute;left:12px;bottom:12px;z-index:2;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.48);color:#fff}.meeting-side .meeting-people{display:grid;gap:8px;padding:12px;border-radius:14px;background:#f3f9fb}.meeting-people div{display:grid;gap:6px}.meeting-people span{display:block;padding:8px;border-radius:10px;background:#fff;color:#486477;font-weight:800}@media(max-width:1050px){.live-meeting-stage{grid-template-columns:1fr}.meeting-side{order:-1}.meeting-main{min-height:360px}.progress-roster,.review-form{grid-template-columns:1fr}}@media(max-width:680px){.meeting-grid{grid-template-columns:1fr}.meeting-tile{min-height:220px}.meeting-main{border-radius:16px;padding:10px}.course-progress-panel{border-radius:18px;padding:16px}}

/* Entrega 13: foros tipo publicacion y ajustes de reunion */
.locked-note{padding:12px;border-radius:14px;background:#eef8fb;color:var(--aula-blue);font-weight:900}.forum-publication-page{min-height:100vh;background:linear-gradient(180deg,#f7fcfd,#eaf7fb);color:#12344d}.forum-publication-shell{max-width:1240px;margin:0 auto;padding:18px}.forum-publication-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--aula-line);border-radius:24px;padding:18px;box-shadow:0 16px 38px rgba(8,63,101,.1);margin-bottom:14px}.forum-publication-top img{width:96px}.forum-publication-top h1{font-size:clamp(34px,5vw,64px);line-height:.98;margin:4px 0;color:var(--aula-deep);letter-spacing:0}.forum-publication-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px}.forum-feed-list{position:sticky;top:14px;align-self:start;display:grid;gap:10px;background:#fff;border:1px solid var(--aula-line);border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(8,63,101,.08)}.forum-feed-list>a{display:grid;gap:4px;padding:13px;border-radius:16px;background:#f3f9fb;text-decoration:none;color:#12344d;border:1px solid transparent}.forum-feed-list>a.active{border-color:#95d9e6;background:#eaf9fc}.forum-feed-list span,.forum-feed-list small{color:#5c7280}.forum-feed-list b{color:var(--aula-deep)}.forum-article-area{display:grid;gap:14px}.forum-article-card,.forum-comment-box,.facebook-comments{background:#fff;border:1px solid var(--aula-line);border-radius:24px;padding:20px;box-shadow:0 12px 30px rgba(8,63,101,.08)}.forum-article-card>span{display:inline-flex;width:max-content;padding:6px 10px;border-radius:999px;background:#eef8fb;color:var(--aula-blue);font-weight:950;font-size:12px}.forum-article-card h2{margin:10px 0;color:var(--aula-deep);font-size:clamp(30px,4vw,52px)}.forum-article-body{font-size:17px;line-height:1.7;color:#334f61}.forum-instructions{border-left:6px solid var(--aula-green);background:#f3fff8;border-radius:16px;padding:14px;margin:12px 0}.forum-attachment{display:inline-flex;min-height:42px;align-items:center;padding:0 14px;border-radius:14px;background:#fff2df;color:#9a5d08;font-weight:950;text-decoration:none}.forum-comment-box{display:grid;gap:10px}.forum-comment-box textarea{border:1px solid #bdd6df;border-radius:16px;padding:12px;resize:vertical}.forum-comment-box button{border:0;border-radius:14px;background:var(--aula-blue);color:#fff;font-weight:950;min-height:44px}.facebook-comments{display:grid;gap:12px}.facebook-comments article{display:grid;gap:6px;background:#f3f9fb;border-radius:18px;padding:14px}.facebook-comments strong{color:var(--aula-deep)}.facebook-comments span{color:#5c7280;font-size:13px}.meeting-side button#syncMeeting{background:#12a6bd;color:#fff}@media(max-width:900px){.forum-publication-layout{grid-template-columns:1fr}.forum-feed-list{position:static}.forum-publication-top{grid-template-columns:auto 1fr}.forum-publication-top .student-logout{grid-column:1/-1}}@media(max-width:620px){.forum-publication-shell{padding:10px}.forum-publication-top,.forum-article-card,.forum-comment-box,.facebook-comments,.forum-feed-list{border-radius:18px;padding:16px}}
.meeting-side button#toggleMic{background:#f59a23;color:#fff}.meeting-side button#toggleMic.muted{background:#9b2f22}.meeting-side button#toggleMic:disabled{opacity:.55;cursor:not-allowed}
.meeting-side button#shareScreen{background:#65b84d;color:#fff}.meeting-side button#shareScreen.sharing{background:#9b2f22}.meeting-side button#shareScreen:disabled{opacity:.55;cursor:not-allowed}
.meeting-tile.screen-share-preview{grid-column:1/-1;min-height:420px;background:#061622}.meeting-tile.screen-share-preview video{object-fit:contain}
@media(max-width:1050px){.live-meeting-stage .meeting-side{order:0}}
@media(max-width:680px){.meeting-tile.screen-share-preview{min-height:260px}}
.jitsi-test-shell{height:calc(100vh - 40px);display:flex;flex-direction:column;gap:10px;min-height:0}.jitsi-topbar{min-height:78px;background:#fff;border-radius:18px;padding:10px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.jitsi-topbar img{width:74px}.jitsi-topbar h1{margin:0;color:var(--aula-deep);font-size:clamp(20px,2.5vw,30px);line-height:1.05}.jitsi-topbar span{display:block;color:#486477;font-weight:800;margin-top:4px}.jitsi-topbar a{min-height:42px;border-radius:12px;background:#eef8fb;color:var(--aula-blue);display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:950;padding:0 14px}.jitsi-stage{flex:1;min-height:0;border-radius:18px;overflow:hidden;background:#071d2d}.jitsi-stage iframe{width:100%;height:100%;border:0;display:block}@media(max-width:680px){.jitsi-test-shell{height:calc(100vh - 20px);gap:8px}.jitsi-topbar{grid-template-columns:auto 1fr;min-height:86px;border-radius:14px}.jitsi-topbar img{width:58px}.jitsi-topbar a{grid-column:1/-1}.jitsi-stage{border-radius:14px}}
.student-list .session-row{display:grid;gap:8px}.student-list .session-row>a{display:grid}
.course-alerts{display:flex;gap:10px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid var(--aula-line);border-radius:18px;padding:14px;margin:14px 0;box-shadow:0 12px 30px rgba(8,63,101,.08)}.course-alerts strong{color:var(--aula-deep)}.course-alerts span,.course-alerts a{display:inline-flex;min-height:34px;align-items:center;padding:0 10px;border-radius:999px;background:#eef8fb;color:var(--aula-blue);font-weight:900;text-decoration:none}.advice-status{display:grid;gap:8px;padding:10px;border-radius:14px;background:#eef8fb}.advice-status form{display:flex}.advice-status button,.advice-status a,.advice-open{border:0;border-radius:12px;min-height:38px;padding:0 12px;background:var(--aula-blue);color:#fff;font-weight:950;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.advice-modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;background:rgba(5,24,37,.68);padding:16px}.advice-modal.active{display:flex}.advice-modal-card{width:min(620px,96vw);background:#fff;border-radius:22px;padding:20px;box-shadow:0 30px 90px rgba(0,0,0,.34);position:relative}.advice-modal-card h2{margin:6px 0;color:var(--aula-deep)}.advice-close{position:absolute;right:14px;top:14px;border:0;border-radius:12px;background:#eef8fb;color:var(--aula-blue);font-weight:950;min-height:36px;padding:0 12px}.advice-response-form{display:grid;gap:12px}.advice-response-form label{display:grid;gap:6px;font-weight:900;color:#25445a}.advice-response-form input,.advice-response-form textarea{border:1px solid #bdd6df;border-radius:10px;padding:10px;background:#fff}.advice-actions{display:flex;gap:10px;flex-wrap:wrap}.advice-actions button{border:0;border-radius:12px;background:var(--aula-blue);color:#fff;font-weight:950;min-height:42px;padding:0 14px}
.course-mini-shell{padding-right:220px}.course-right-nav{position:fixed;right:18px;top:96px;z-index:30;width:184px;display:grid;gap:10px;background:rgba(255,255,255,.92);border:1px solid var(--aula-line);border-radius:22px;padding:12px;box-shadow:0 18px 48px rgba(8,63,101,.18);backdrop-filter:blur(12px)}.course-right-nav button{min-height:54px;border:0;border-radius:16px;background:#f3f9fb;color:#12344d;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;text-align:left;padding:8px 10px;font-weight:950;cursor:pointer}.course-right-nav button span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:var(--aula-blue);color:#fff;font-size:12px}.course-right-nav button:nth-child(2) span{background:var(--aula-teal)}.course-right-nav button:nth-child(3) span{background:var(--aula-green)}.course-right-nav button:nth-child(4) span{background:var(--aula-orange)}.course-right-nav button:nth-child(5) span{background:#12a6bd}.course-right-nav button.active{background:var(--aula-blue);color:#fff}.course-right-nav button.active span{background:#fff;color:var(--aula-blue)}.course-section-hidden{display:none!important}.course-zone[data-course-panel],.portal-control[data-course-panel],.course-progress-panel[data-course-panel],.course-alerts[data-course-panel]{animation:courseFade .18s ease both}@keyframes courseFade{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.advice-modal.active{display:flex!important}.advice-modal-card{z-index:81}.advice-open{width:max-content}.advice-response-form .danger-button{background:#9b2f22!important;color:#fff!important}@media(max-width:1050px){.course-mini-shell{padding-right:18px}.course-right-nav{position:sticky;top:0;right:auto;width:auto;margin:12px 0;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:18px}.course-right-nav button{min-height:48px}.course-right-nav button strong{font-size:13px}}@media(max-width:680px){.course-mini-shell{padding-right:10px}.course-right-nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.course-right-nav button{grid-template-columns:auto 1fr}.course-right-nav button span{width:30px;height:30px}.advice-modal{align-items:flex-end}.advice-modal-card{border-radius:20px 20px 0 0;max-height:88vh;overflow:auto}}
.course-mini-page .portal-pillbar{display:none}
.student-admin-list{display:grid;gap:12px}.student-admin-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:12px;align-items:start;background:#f3f9fb;border:1px solid #d5edf2;border-radius:18px;padding:14px}.student-admin-list article.blocked{background:#fff4f1;border-color:#ffc7ba}.student-admin-list strong,.student-admin-list span,.student-admin-list small{display:block}.student-admin-list strong{color:var(--aula-deep);font-size:18px}.student-admin-list small{color:#9b2f22;font-weight:900;margin-top:5px}.block-student-form{display:grid;grid-template-columns:1fr;gap:8px}.block-student-form select,.block-student-form input{border:1px solid #bdd6df;border-radius:10px;padding:9px;background:#fff}.student-admin-list button{border:0;border-radius:12px;background:#9b2f22;color:#fff;font-weight:950;min-height:40px;padding:0 12px}.student-admin-list article.blocked button{background:var(--aula-blue)}@media(max-width:800px){.student-admin-list article{grid-template-columns:1fr}}

/* Entrega 15: panel docente amplio y editor de foros */
.course-mini-shell{max-width:1480px}
.portal-control{background:#fff;border:1px solid var(--aula-line);border-radius:24px;padding:22px;box-shadow:0 16px 42px rgba(8,63,101,.1)}
.portal-control .section-heading{max-width:none;margin-bottom:18px}
.portal-admin-grid.didactic-grid{grid-template-columns:repeat(2,minmax(300px,1fr));gap:16px;align-items:start}
.portal-tool-card{min-width:0;padding:18px!important;align-content:start}
.portal-tool-card input,.portal-tool-card select,.portal-tool-card textarea{width:100%;box-sizing:border-box;font-size:15px;line-height:1.4}
.portal-tool-card textarea{resize:vertical}
.portal-tool-card button{width:100%;min-height:46px}
.forum-builder-card{grid-column:1/-1;display:grid;grid-template-columns:64px minmax(0,1.6fr) minmax(260px,.8fr);gap:14px;align-items:start;background:linear-gradient(180deg,#fff,#f6fcfe)}
.forum-builder-card>span{grid-row:1/4}
.forum-builder-card h3{grid-column:2/-1;font-size:24px}
.forum-builder-card input[name="forum_title"]{grid-column:2/-1;min-height:46px;font-weight:900}
.forum-builder-card textarea[name="article_body"]{grid-column:2/3;grid-row:4/8;min-height:330px}
.forum-builder-card textarea[name="instructions"],.forum-builder-card textarea[name="prompt"]{grid-column:3/4;min-height:150px}
.forum-builder-card input[type="file"]{grid-column:3/4}
.forum-builder-card button{grid-column:3/4}
.assignment-builder-card textarea,.session-builder-card textarea,.material-builder-card textarea{min-height:130px}
@media(max-width:1280px){.course-mini-shell{padding-right:18px}.course-right-nav{position:sticky;top:0;right:auto;width:auto;margin:12px 0;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:18px}.course-right-nav button strong{font-size:13px}}
@media(max-width:900px){.portal-admin-grid.didactic-grid,.forum-builder-card{grid-template-columns:1fr}.forum-builder-card>span,.forum-builder-card h3,.forum-builder-card input[name="forum_title"],.forum-builder-card textarea[name="article_body"],.forum-builder-card textarea[name="instructions"],.forum-builder-card textarea[name="prompt"],.forum-builder-card input[type="file"],.forum-builder-card button{grid-column:1;grid-row:auto}.forum-builder-card textarea[name="article_body"]{min-height:260px}.portal-control{padding:16px;border-radius:18px}.course-right-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Entrega 16: docentes asignados, alumnos CURP y avisos masivos */
.user-profile-form{grid-template-columns:repeat(3,minmax(0,1fr))}
.user-profile-row{grid-template-columns:1.2fr 1.2fr .9fr 1fr 1fr .8fr .8fr 1fr auto}
.user-profile-row input,.user-profile-row select{min-width:0}
.assigned-teachers{display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--aula-line)}
.assigned-teachers small,.assigned-teachers em{color:#557083;font-weight:900}
.assigned-teachers form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;background:#f3f9fb;border-radius:12px;padding:8px}
.assigned-teachers button{border:0;border-radius:10px;background:#ffe4de;color:#9b2f22;font-weight:950;min-height:34px;padding:0 10px}
.premium-admin-grid{display:grid;gap:18px;margin-top:20px;padding:22px!important;background:linear-gradient(180deg,#fff,#f7fcfd)!important;border:1px solid var(--aula-line);border-radius:24px;box-shadow:0 16px 42px rgba(8,63,101,.1)}
.premium-admin-grid .panel-heading{margin:0;padding:16px;border-radius:18px;background:#eef8fb;border:1px solid #cdebf1}
.premium-admin-grid .panel-heading h2{margin:2px 0 0;color:var(--aula-deep);font-size:24px}
.mass-notice-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}
.notice-compose textarea{min-height:280px;resize:vertical}
.notice-preview-panel{margin-top:16px}
.notice-email-preview{border:1px solid var(--aula-line);border-radius:18px;overflow:hidden;background:#eef8fb}
.confirm-send-form{display:flex;justify-content:flex-end;margin-top:12px}
.confirm-send-form button{border:0;border-radius:14px;background:#9b2f22;color:#fff;font-weight:950;min-height:46px;padding:0 18px}
.register-card{max-height:94vh;overflow:auto}
@media(max-width:1150px){.user-profile-form,.user-profile-row,.mass-notice-layout{grid-template-columns:1fr}.user-profile-row{gap:10px}.assigned-teachers form{grid-template-columns:1fr}.assigned-teachers button{width:100%}}

/* Entrega 17: diagnostico de correo y formulario SMTP legible */
.mass-notice-layout{grid-template-columns:1fr!important;gap:18px}
.mass-config{grid-template-columns:repeat(3,minmax(220px,1fr))!important;align-items:end}
.mass-config .form-section-title,.notice-compose .form-section-title,.notice-compose .wide{grid-column:1/-1}
.mass-config label,.notice-compose label{min-width:0}
.mass-config input,.notice-compose input,.notice-compose textarea{width:100%;box-sizing:border-box}
.mass-config button{grid-column:1/-1;min-height:46px}
.notice-compose{grid-template-columns:1fr!important}
.mail-failure-detail{display:block;margin-top:8px;padding:10px;border-radius:12px;background:#fff4f1;color:#9b2f22;font-weight:900;white-space:pre-wrap;line-height:1.45}
.flyer-preview-note{grid-column:1/-1;display:grid;gap:4px;padding:12px;border-radius:14px;background:#eef8fb;border:1px solid #cdebf1;color:#12344d;font-weight:900}.flyer-preview-note span{color:#486477;font-size:13px;word-break:break-all}
.notice-compose input[type="file"]{padding:12px;border:1px dashed #91c6d2;border-radius:14px;background:#f7fcfd}
.notice-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.notice-choice-card{min-height:210px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-content:center;align-items:center;padding:26px;border-radius:24px;background:#fff;border:1px solid var(--aula-line);box-shadow:0 16px 38px rgba(8,63,101,.1);text-decoration:none;color:#12344d;transition:transform .16s ease,box-shadow .16s ease}.notice-choice-card:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(8,63,101,.15)}.notice-choice-card span{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--aula-blue);color:#fff;font-weight:950;font-size:20px}.notice-choice-card.mass span{background:var(--aula-teal)}.notice-choice-card strong{font-size:30px;color:var(--aula-deep);line-height:1.05}.notice-choice-card small{grid-column:2;color:#557083;font-weight:850;font-size:15px;line-height:1.45}.sidebar nav a[href="notices.php"]{color:#c7f6c2}@media(max-width:800px){.notice-choice-grid{grid-template-columns:1fr}.notice-choice-card{grid-template-columns:1fr;min-height:170px}.notice-choice-card small{grid-column:1}.notice-choice-card strong{font-size:25px}}
.mass-send-overlay{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(4,20,32,.72);backdrop-filter:blur(8px)}.mass-send-overlay.active{display:flex}.mass-send-card{width:min(520px,94vw);border-radius:22px;background:#fff;border:1px solid #cdebf1;box-shadow:0 26px 80px rgba(0,0,0,.3);padding:24px;color:#12344d}.mass-send-card span{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#12a6bd;color:#fff;font-weight:950;margin-bottom:14px}.mass-send-card strong{display:block;font-size:26px;color:var(--aula-deep);margin-bottom:6px}.mass-send-card p{margin:0 0 16px;color:#557083;font-weight:800}.mass-send-bar{height:12px;border-radius:999px;background:#e5f4f7;overflow:hidden;border:1px solid #cdebf1}.mass-send-bar i{display:block;height:100%;width:42%;border-radius:999px;background:linear-gradient(90deg,#063f72,#12a6bd,#65b84d);animation:massSendMove 1.05s ease-in-out infinite}.mass-send-note{display:block;margin-top:12px;color:#6a7f8b;font-size:13px;font-weight:800}@keyframes massSendMove{0%{transform:translateX(-110%)}100%{transform:translateX(250%)}}
@media(max-width:900px){.mass-config{grid-template-columns:1fr!important}}
.info-banner{padding:12px;border-radius:8px;font-weight:900;background:#e7f6fb;color:#0a5874;border:1px solid #bde6f0}
.premium-course-create{margin:16px 0}.premium-course-form{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.premium-course-form label{display:grid;gap:6px;font-weight:900;color:#25445a}.premium-course-form input,.premium-course-form textarea{width:100%;box-sizing:border-box;border:1px solid #bdd6df;border-radius:10px;padding:10px;background:#fff}.premium-course-form .wide{grid-column:1/-1}.premium-course-form button{grid-column:1/-1;border:0;border-radius:14px;min-height:46px;background:linear-gradient(120deg,var(--aula-blue),var(--aula-teal));color:#fff;font-weight:950;cursor:pointer}@media(max-width:800px){.premium-course-form{grid-template-columns:1fr}}
.premium-access-form{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:12px!important;align-items:end;padding:16px;border-radius:18px;background:#fff;border:1px solid #d8ebf1;box-shadow:0 10px 26px rgba(8,63,101,.06)}
.premium-access-form input,.premium-access-form select{width:100%;min-width:0;min-height:44px;border:1px solid #bdd6df;border-radius:12px;padding:0 12px;background:#fff;font-weight:850;color:#25445a;box-sizing:border-box}
.premium-access-form input[type="file"]{padding:10px;height:auto;border-style:dashed;background:#f7fcfd}
.premium-access-form button{min-height:44px;border:0;border-radius:12px;background:var(--aula-blue);color:#fff;font-weight:950;padding:0 16px;white-space:nowrap}
.premium-access-form small{grid-column:1/-1;color:#557083;font-weight:900;line-height:1.4}
.premium-access-form select option[hidden]{display:none}
.course-student-filter{margin:0 0 12px}.course-student-filter input{width:100%;min-height:44px;border:1px solid #bdd6df;border-radius:14px;padding:0 14px;background:#fff;font-weight:900;color:#25445a;box-sizing:border-box}
@media(max-width:760px){.premium-admin-grid{padding:14px!important;border-radius:18px}.premium-admin-grid .panel-heading{padding:14px}.premium-access-form{grid-template-columns:1fr!important;padding:14px}}
.certificate-course-meta{margin-top:12px}.certificate-panel{background:linear-gradient(135deg,#fff,#f7fcfd)}.certificate-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.certificate-actions form{display:inline-flex}.certificate-actions button,.certificate-admin-panel button{border:0;border-radius:14px;background:var(--aula-blue);color:#fff;font-weight:950;min-height:42px;padding:0 14px;cursor:pointer}.certificate-actions span{font-weight:900;color:#557083}.certificate-admin-panel{display:grid;gap:14px}.assignment-builder-card button:disabled,.assignment-builder-card input:disabled,.assignment-builder-card textarea:disabled{opacity:.55;cursor:not-allowed}
.inactive-course{opacity:.72;background:#fff4f1!important;border-color:#ffc7ba!important}.inactive-course>span{background:#9b2f22!important;color:#fff!important}.premium-edit-box{margin-top:12px;border-top:1px solid var(--aula-line);padding-top:10px}.premium-edit-box summary{cursor:pointer;color:var(--aula-blue);font-weight:950}.premium-course-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.premium-course-edit-form label{display:grid;gap:5px;font-size:12px;font-weight:900;color:#25445a}.premium-course-edit-form input,.premium-course-edit-form textarea{width:100%;box-sizing:border-box;border:1px solid #bdd6df;border-radius:10px;padding:8px;background:#fff}.premium-course-edit-form .wide{grid-column:1/-1}.premium-course-edit-form button{grid-column:1/-1;border:0;border-radius:12px;min-height:40px;background:var(--aula-blue);color:#fff;font-weight:950;cursor:pointer}.premium-course-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.premium-course-actions form{display:grid}.premium-course-actions button{border:0;border-radius:12px;min-height:40px;background:#eef8fb;color:var(--aula-blue);font-weight:950;cursor:pointer}.premium-course-actions .danger-button{background:#ffe4de;color:#9b2f22}@media(max-width:800px){.premium-course-edit-form,.premium-course-actions{grid-template-columns:1fr}}
.forum-post-file{display:grid;gap:6px;font-weight:900;color:#25445a}.forum-post-file input{border:1px dashed #91c6d2;border-radius:14px;padding:12px;background:#f7fcfd}.forum-post-attachment{display:inline-flex;width:max-content;max-width:100%;min-height:38px;align-items:center;padding:0 12px;border-radius:12px;background:#eef8fb;color:var(--aula-blue);font-weight:950;text-decoration:none;word-break:break-word}.facebook-comments .delete-line{margin-top:6px;justify-content:flex-start}.facebook-comments .delete-line button{min-height:36px}
.course-right-nav button span{font-size:18px!important;line-height:1}.course-right-nav button:nth-child(6) span{background:#0960a8}.course-right-nav button:nth-child(7) span{background:#5766d6}.course-right-nav button:nth-child(8) span{background:#0f9f7a}
.sidebar nav{display:grid;gap:8px}.sidebar nav a{display:flex;align-items:center;gap:10px;min-height:42px;padding:0 10px;border-radius:12px;text-decoration:none}.sidebar nav a::before{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.1);color:#fff;font-size:16px;font-weight:950;flex:0 0 auto}.sidebar nav a[href="dashboard.php"]::before{content:"\2302";background:#0960a8}.sidebar nav a[href="users.php"]::before{content:"\25cf";background:#5766d6}.sidebar nav a[href="notices.php"]::before,.sidebar nav a[href="notices_admin.php"]::before{content:"\2709";background:#12a6bd}.sidebar nav a[href="forum_admin.php"]::before,.sidebar nav a[href="forums.php"]::before{content:"\25c6";background:#f59a23}.sidebar nav a[href="materials.php"]::before{content:"\25a4";background:#65b84d}.sidebar nav a[href="sessions.php"]::before{content:"\25b6";background:#0f9f7a}.sidebar nav a[href="premium.php"]::before{content:"\2605";background:#9b63d9}.sidebar nav a[href="logout.php"]::before,.sidebar nav a[href="logout.php"]::before{content:"\2192";background:#9b2f22}.sidebar nav a:hover{background:rgba(255,255,255,.08)}
.institution-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:30px;background:linear-gradient(120deg,#ffffff,#e9f9fb 62%,#fff4df);border-color:#ccebf1}.institution-hero-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center;min-width:0}.institution-logo-card{width:138px;height:138px;border-radius:22px;background:#fff;border:1px solid var(--aula-line);box-shadow:0 16px 38px rgba(8,63,101,.12);display:grid;place-items:center;padding:14px;overflow:hidden}.institution-logo-card img{max-width:100%;max-height:100%;object-fit:contain}.institution-dashboard-hero h1{margin:4px 0 8px;color:var(--aula-deep);font-size:clamp(38px,5.2vw,76px);line-height:.95;letter-spacing:0}.institution-dashboard-hero p{max-width:760px;color:#46677a;margin:0}.institution-dashboard-hero .hero-badges{justify-content:flex-end;min-width:max-content}@media(max-width:980px){.institution-dashboard-hero{align-items:flex-start;flex-direction:column}.institution-dashboard-hero .hero-badges{justify-content:flex-start;min-width:0}}@media(max-width:680px){.institution-dashboard-hero{padding:22px}.institution-hero-main{grid-template-columns:1fr}.institution-logo-card{width:116px;height:116px}.institution-dashboard-hero h1{font-size:36px;line-height:1.04}}
.student-app-login{min-height:100vh;margin:0;background:#071d2d;overflow:hidden}.app-video-intro{position:fixed;inset:0;background:#000;display:grid;place-items:center;z-index:10}.app-video-intro.hidden{opacity:0;pointer-events:none;transition:opacity .35s ease}.app-video-intro video{width:100%;height:100%;object-fit:cover}.app-login-shell{min-height:100vh;display:none;place-items:center;padding:16px;background:linear-gradient(180deg,#071d2d,#0b5d78)}.app-login-shell.active{display:grid}.app-student-card{width:min(420px,100%);max-height:calc(100vh - 32px);overflow:auto}.app-student-card img{width:104px;margin:0 auto 4px;display:block}.app-student-card p{text-align:center;color:#486477;margin:0}
.institution-dashboard-hero{display:grid!important;grid-template-columns:minmax(0,1fr);align-items:start!important;gap:18px!important;padding:28px 30px!important;min-height:0}.institution-dashboard-hero .institution-hero-main{grid-template-columns:112px minmax(0,1fr)!important;gap:22px!important;width:100%;align-items:center}.institution-dashboard-hero .institution-logo-card{width:112px!important;height:112px!important;border-radius:18px!important;padding:12px!important}.institution-dashboard-hero h1{max-width:780px!important;font-size:clamp(32px,3.8vw,54px)!important;line-height:1.03!important;margin:4px 0 8px!important;overflow-wrap:normal;word-break:normal;text-wrap:balance}.institution-dashboard-hero .eyebrow{margin-bottom:4px!important;letter-spacing:3px}.institution-dashboard-hero p:not(.eyebrow){max-width:690px!important;font-size:16px;line-height:1.45}.institution-dashboard-hero .hero-badges{justify-content:flex-start!important;min-width:0!important;margin-left:134px}.institution-dashboard-hero .hero-badges span{min-height:34px}@media(max-width:760px){.institution-dashboard-hero{padding:22px!important}.institution-dashboard-hero .institution-hero-main{grid-template-columns:86px minmax(0,1fr)!important;gap:14px!important}.institution-dashboard-hero .institution-logo-card{width:86px!important;height:86px!important}.institution-dashboard-hero h1{font-size:clamp(27px,8vw,38px)!important;line-height:1.06!important}.institution-dashboard-hero .hero-badges{margin-left:0}.institution-dashboard-hero .eyebrow{letter-spacing:1.6px}}
@media(max-width:700px){.login-page{overflow:auto}.login-shell{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:12px;gap:10px}.login-brand{display:none}.login-card{width:100%;max-width:420px;max-height:calc(100dvh - 24px);overflow:auto;padding:16px;gap:10px}.login-card h2{font-size:24px}.login-card input{min-height:42px}.login-card button{min-height:44px}.register-card{max-height:calc(100dvh - 24px)}}
.mini-site-block{width:min(1180px,calc(100% - 34px));margin:76px auto 0;padding:34px;border-radius:34px;border:1px solid var(--aula-line);background:#fff;box-shadow:0 24px 70px rgba(8,63,101,.12);overflow:hidden}.mini-site-block.admin-mini-site{background:linear-gradient(180deg,#fff,#eefbfe)}.mini-site-block.teacher-mini-site{background:linear-gradient(180deg,#fff,#f4fbf6)}.mini-site-block.student-mini-site{background:linear-gradient(180deg,#fff,#fff8eb)}.mini-site-hero{display:grid;grid-template-columns:1fr .95fr;gap:28px;align-items:center}.mini-site-hero.reverse{direction:rtl}.mini-site-hero.reverse>*{direction:ltr}.mini-site-hero h2,.student-app-showcase h2{margin:8px 0 14px;color:var(--aula-deep);font-size:clamp(34px,5vw,62px);line-height:1.02}.mini-site-hero p,.student-app-showcase p{font-size:18px;line-height:1.65;color:#486477}.mini-site-hero img{width:100%;min-height:390px;height:100%;object-fit:cover;border-radius:26px;box-shadow:0 24px 64px rgba(8,63,101,.16)}.mini-benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.mini-benefit-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.mini-benefit-grid article{min-height:188px;display:grid;align-content:start;gap:9px;padding:18px;border-radius:20px;background:rgba(255,255,255,.9);border:1px solid #d8edf2;box-shadow:0 12px 32px rgba(8,63,101,.08)}.mini-benefit-grid article span{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--aula-blue);color:#fff;font-weight:950}.teacher-mini-site .mini-benefit-grid article span{background:var(--aula-green)}.student-mini-site .mini-benefit-grid article span{background:var(--aula-orange)}.mini-benefit-grid strong{font-size:21px;line-height:1.12;color:var(--aula-deep)}.mini-benefit-grid p{margin:0;color:#557083;line-height:1.5}.mini-impact-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}.mini-impact-row div{padding:18px;border-radius:18px;background:linear-gradient(135deg,#063f72,#12a6bd);color:#fff}.mini-impact-row b,.mini-impact-row small{display:block}.mini-impact-row b{font-size:24px}.mini-impact-row small{margin-top:6px;color:#dbfbff;font-weight:800}.teacher-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}.teacher-workflow article{position:relative;min-height:150px;padding:18px;border-radius:20px;background:#fff;border:1px solid #d7ecd8;box-shadow:0 12px 30px rgba(39,115,70,.08)}.teacher-workflow span{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--aula-green);color:#fff;font-weight:950}.teacher-workflow strong{display:block;margin-top:12px;color:var(--aula-deep);font-size:24px}.teacher-workflow p{color:#557083;line-height:1.45;margin:6px 0 0}.student-app-showcase{display:grid;grid-template-columns:1fr 420px;gap:32px;align-items:center}.android-badge{display:inline-grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-top:16px;padding:12px 14px;border-radius:18px;background:#12344d;color:#fff}.android-badge span{width:58px;height:38px;border-radius:12px;background:#65b84d;display:grid;place-items:center;font-weight:950}.android-badge strong{font-size:16px}.phone-visual{position:relative;width:min(360px,100%);margin:0 auto;border-radius:44px;background:#071d2d;padding:16px;box-shadow:0 34px 90px rgba(5,24,37,.28);border:10px solid #12344d}.phone-visual video{width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:30px;background:#000}.phone-visual img{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);width:94px;background:rgba(255,255,255,.92);border-radius:16px;padding:7px;box-shadow:0 12px 34px rgba(0,0,0,.22)}@media(max-width:1000px){.mini-site-hero,.student-app-showcase{grid-template-columns:1fr}.mini-site-hero.reverse{direction:ltr}.mini-benefit-grid,.mini-benefit-grid.compact,.mini-impact-row,.teacher-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.phone-visual{width:min(320px,100%)}}@media(max-width:680px){.mini-site-block{padding:20px;border-radius:24px;margin-top:46px}.mini-site-hero img{min-height:260px}.mini-benefit-grid,.mini-benefit-grid.compact,.mini-impact-row,.teacher-workflow{grid-template-columns:1fr}.student-app-showcase h2,.mini-site-hero h2{font-size:32px}.phone-visual{border-width:7px;border-radius:36px}.phone-visual video{border-radius:24px}}
.commercial-page{margin:0;background:#f5fbfc;color:#12344d}.commercial-nav{position:fixed;top:16px;left:50%;transform:translateX(-50%);z-index:40;width:min(1180px,calc(100% - 28px));min-height:70px;border-radius:20px;background:rgba(255,255,255,.9);border:1px solid rgba(216,237,242,.9);box-shadow:0 18px 54px rgba(8,63,101,.16);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px}.commercial-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--aula-deep);font-weight:950}.commercial-logo img{width:54px;height:54px;object-fit:contain}.commercial-logo span{font-size:20px}.commercial-nav nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.commercial-nav nav a{min-height:40px;display:inline-flex;align-items:center;padding:0 12px;border-radius:12px;text-decoration:none;color:#31586e;font-weight:900}.commercial-nav nav a:hover{background:#eef8fb;color:var(--aula-blue)}.commercial-login{background:var(--aula-blue)!important;color:#fff!important}.commercial-hero{position:relative;min-height:760px;display:grid;align-items:center;overflow:hidden;background:#071d2d}.commercial-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.commercial-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,22,35,.92),rgba(4,31,48,.68),rgba(4,31,48,.12)),linear-gradient(0deg,rgba(5,24,37,.72),rgba(5,24,37,0) 48%)}.commercial-hero-content{position:relative;z-index:1;width:min(1120px,calc(100% - 34px));margin:0 auto;padding-top:92px;color:#fff}.commercial-hero-content img{width:180px;max-width:42vw;margin-bottom:16px;background:rgba(255,255,255,.94);border-radius:20px;padding:10px;box-shadow:0 20px 60px rgba(0,0,0,.22)}.commercial-hero-content .eyebrow{color:#baf7ff}.commercial-hero-content h1{margin:0;font-size:clamp(58px,10vw,126px);line-height:.86;letter-spacing:0;color:#fff}.commercial-hero-content p:not(.eyebrow){max-width:760px;font-size:22px;line-height:1.45;color:#e4f8fb;font-weight:750}.commercial-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.commercial-actions a{min-height:50px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:14px;text-decoration:none;font-weight:950}.commercial-actions a:first-child{background:#fff;color:var(--aula-blue)}.commercial-actions a:last-child{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);color:#fff}.commercial-strip{width:min(1120px,calc(100% - 34px));margin:-48px auto 0;position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.commercial-strip span{min-height:96px;display:grid;place-items:center;text-align:center;border-radius:18px;background:#fff;border:1px solid var(--aula-line);box-shadow:0 18px 48px rgba(8,63,101,.12);color:var(--aula-deep);font-weight:950;padding:14px}.commercial-section{width:min(1120px,calc(100% - 34px));margin:0 auto;padding:84px 0}.commercial-heading{max-width:860px}.commercial-heading.compact{max-width:720px}.commercial-heading h2,.commercial-feature h2,.commercial-identity h2,.commercial-close h2{margin:8px 0 12px;color:var(--aula-deep);font-size:clamp(34px,5vw,64px);line-height:1.02}.commercial-heading p,.commercial-feature p,.commercial-identity p,.commercial-close p{color:#486477;font-size:18px;line-height:1.65}.commercial-showcase{margin-top:26px;display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:stretch}.commercial-showcase img,.commercial-feature img{width:100%;height:100%;min-height:360px;object-fit:cover;border-radius:24px;box-shadow:0 22px 64px rgba(8,63,101,.16)}.commercial-showcase div{display:grid;align-content:center;gap:10px;border-radius:24px;background:linear-gradient(135deg,#063f72,#12a6bd);color:#fff;padding:32px}.commercial-showcase strong{font-size:34px;line-height:1}.commercial-showcase p{font-size:18px;line-height:1.6;color:#e6fbff;margin:0}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.module-card{min-height:260px;display:grid;align-content:start;gap:10px;padding:20px;border-radius:18px;background:#fff;border:1px solid var(--aula-line);box-shadow:0 14px 34px rgba(8,63,101,.08);transition:transform .16s ease,box-shadow .16s ease}.module-card:hover{transform:translateY(-3px);box-shadow:0 24px 58px rgba(8,63,101,.14)}.module-card span,.profile-commercial-grid span{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--aula-blue);color:#fff;font-weight:950}.module-card:nth-child(4n+2) span,.profile-commercial-grid article:nth-child(2) span{background:var(--aula-teal)}.module-card:nth-child(4n+3) span,.profile-commercial-grid article:nth-child(3) span{background:var(--aula-green)}.module-card:nth-child(4n+4) span{background:var(--aula-orange)}.module-card h3{margin:4px 0 0;color:var(--aula-deep);font-size:22px;line-height:1.12}.module-card p{margin:0;color:#526e7f;line-height:1.5}.module-card small{color:#0b6480;font-weight:900;line-height:1.4}.commercial-feature{width:min(1120px,calc(100% - 34px));margin:0 auto 28px;display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;padding:34px;border-radius:28px;background:#fff;border:1px solid var(--aula-line);box-shadow:0 18px 48px rgba(8,63,101,.1)}.commercial-feature.reverse{direction:rtl}.commercial-feature.reverse>*{direction:ltr}.commercial-feature ul{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}.commercial-feature li{padding:11px 12px;border-radius:12px;background:#eef8fb;color:#244b62;font-weight:850}.profile-commercial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.profile-commercial-grid article{display:grid;gap:10px;padding:24px;border-radius:22px;background:#fff;border:1px solid var(--aula-line);box-shadow:0 14px 34px rgba(8,63,101,.08)}.profile-commercial-grid strong{font-size:28px;color:var(--aula-deep)}.profile-commercial-grid p{margin:0;color:#557083;line-height:1.55}.commercial-identity{width:min(1120px,calc(100% - 34px));margin:28px auto;display:grid;grid-template-columns:1fr 360px;gap:22px;align-items:center;padding:34px;border-radius:28px;background:linear-gradient(135deg,#e8f8fb,#fff8eb);border:1px solid var(--aula-line)}.identity-card{min-height:260px;border-radius:24px;background:#fff;border:1px solid var(--aula-line);box-shadow:0 22px 58px rgba(8,63,101,.13);display:grid;place-items:center;text-align:center;padding:24px}.identity-card img{width:150px}.identity-card strong{font-size:34px;color:var(--aula-deep)}.identity-card span{color:#557083;font-weight:900}.commercial-close{width:min(1120px,calc(100% - 34px));margin:86px auto 40px;padding:50px;border-radius:30px;background:linear-gradient(120deg,#063f72,#12a6bd);color:#fff;text-align:center;box-shadow:0 24px 68px rgba(8,63,101,.22)}.commercial-close .eyebrow,.commercial-close h2,.commercial-close p{color:#fff}.commercial-close p{max-width:760px;margin:0 auto}.commercial-close .commercial-actions{justify-content:center}.commercial-footer{min-height:88px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;background:#071d2d;color:#fff}.commercial-footer img{width:58px;background:#fff;border-radius:12px;padding:5px}.commercial-footer a{color:#baf7ff;font-weight:900;text-decoration:none}@media(max-width:1000px){.commercial-nav{position:absolute;transform:none;left:14px}.commercial-strip,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commercial-showcase,.commercial-feature,.commercial-identity{grid-template-columns:1fr}.commercial-feature.reverse{direction:ltr}.commercial-identity{padding:24px}.profile-commercial-grid{grid-template-columns:1fr}}@media(max-width:680px){.commercial-nav{align-items:flex-start;flex-direction:column}.commercial-nav nav{justify-content:flex-start}.commercial-hero{min-height:700px}.commercial-hero-content{padding-top:168px}.commercial-hero-content h1{font-size:62px}.commercial-hero-content p:not(.eyebrow){font-size:18px}.commercial-strip,.module-grid{grid-template-columns:1fr}.commercial-section{padding:58px 0}.commercial-feature{padding:20px;border-radius:22px}.commercial-showcase img,.commercial-feature img{min-height:260px}.commercial-close{padding:30px 20px}.commercial-actions a{width:100%}}
