: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}}
