/* V207 · portal estudiantil verde integral y contraste profesional */
:root{
  --v207-green-1100:#001f16;
  --v207-green-1000:#003224;
  --v207-green-950:#00422d;
  --v207-green-900:#00583a;
  --v207-green-800:#087448;
  --v207-green-700:#0d9158;
  --v207-lime:#d7f13d;
  --v207-yellow:#f2ca45;
  --v207-white:#ffffff;
  --v207-soft:#e9f5ed;
  --v207-soft-2:#d9eee1;
  --v207-ink:#092f22;
  --v207-muted:#4b6e5f;
}

html, body{min-height:100%;background:var(--v207-green-1000)!important}
body.login-page,
body.portal-body{
  background:
    radial-gradient(circle at 10% 15%,rgba(215,241,61,.16),transparent 28rem),
    radial-gradient(circle at 88% 22%,rgba(20,173,103,.25),transparent 34rem),
    linear-gradient(135deg,var(--v207-green-1100) 0%,var(--v207-green-950) 44%,var(--v207-green-800) 100%)!important;
  color:#fff!important;
}
body.login-page::before,
body.portal-body::before{
  background-image:
    radial-gradient(circle,rgba(255,255,255,.20) 1px,transparent 1.6px),
    radial-gradient(circle,rgba(215,241,61,.14) 1px,transparent 1.7px)!important;
  background-size:38px 38px!important;
  background-position:0 0,19px 19px!important;
  opacity:.32!important;
}

/* LOGIN: toda la página verde, sin lienzo exterior blanco */
.login-page .login-layout{
  min-height:100vh!important;
  width:min(1180px,calc(100% - 36px))!important;
  margin:0 auto!important;
  padding:clamp(28px,7vh,82px) 0!important;
  background:transparent!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.82fr)!important;
  align-items:center!important;
  gap:clamp(28px,6vw,90px)!important;
}
.login-page .school-panel{
  min-height:610px!important;
  padding:46px!important;
  border-radius:32px!important;
  overflow:hidden!important;
  background:
    linear-gradient(120deg,rgba(255,255,255,.04) 0 38%,rgba(255,255,255,.09) 38% 55%,rgba(255,255,255,.025) 55% 100%),
    linear-gradient(145deg,rgba(0,49,34,.98),rgba(11,126,75,.93))!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 34px 90px rgba(0,20,13,.42)!important;
  color:#fff!important;
}
.login-page .school-panel h1{font-size:clamp(3.2rem,6vw,6.2rem)!important;line-height:.93!important;letter-spacing:-.055em!important;color:#fff!important;text-shadow:0 8px 26px rgba(0,23,15,.34)!important}
.login-page .school-panel p{color:#fff!important;opacity:.96!important}
.login-page .school-panel .eyebrow{color:var(--v207-lime)!important;letter-spacing:.18em!important}
.login-page .school-panel .feature{border-top:1px solid rgba(255,255,255,.22)!important;color:#fff!important}
.login-page .school-panel .feature span{background:var(--v207-yellow)!important;color:var(--v207-green-1100)!important}
.login-page .login-card{
  padding:46px!important;
  border-radius:30px!important;
  background:linear-gradient(145deg,rgba(234,247,238,.98),rgba(214,238,224,.98))!important;
  border:1px solid rgba(215,241,61,.72)!important;
  box-shadow:0 34px 85px rgba(0,24,15,.45)!important;
  color:var(--v207-ink)!important;
}
.login-page .login-card h2{font-size:clamp(2.2rem,4vw,3.6rem)!important;line-height:1!important;color:var(--v207-green-1100)!important}
.login-page .login-card .eyebrow{color:var(--v207-green-700)!important}
.login-page .login-card input{min-height:58px!important;border:2px solid var(--v207-green-700)!important;box-shadow:0 0 0 4px rgba(13,145,88,.10)!important}
.login-page .login-card button[type="submit"]{min-height:58px!important;border-radius:14px!important;background:linear-gradient(135deg,var(--v207-green-700),var(--v207-green-1000))!important;font-weight:900!important}

/* PORTAL: fondo verde total */
.portal-body .portal-container{background:transparent!important}
.portal-body .student-dashboard-hero{
  background:linear-gradient(135deg,rgba(0,67,45,.98),rgba(7,121,70,.96))!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 30px 80px rgba(0,22,14,.34)!important;
}
.portal-body .student-dashboard-profile{
  background:
    linear-gradient(120deg,rgba(255,255,255,.025) 0 40%,rgba(255,255,255,.09) 40% 54%,rgba(255,255,255,.025) 54% 100%),
    linear-gradient(145deg,#003d2a 0%,#006944 62%,#0c8d56 100%)!important;
}
.portal-body .student-dashboard-copy h1,
.portal-body .student-dashboard-copy h1 *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  text-shadow:0 6px 24px rgba(0,24,15,.34)!important;
}
.portal-body .student-dashboard-copy .eyebrow{color:var(--v207-lime)!important}
.portal-body .student-course-badge,
.portal-body .school-year-badge{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.30)!important}
.portal-body .head-teacher-line{background:rgba(0,42,28,.62)!important;border:1px solid rgba(255,255,255,.20)!important}
.portal-body .head-teacher-line small{color:#bde8cf!important}
.portal-body .head-teacher-line strong{color:#fff!important}

/* Panel derecho: verde suave, no blanco puro */
.portal-body .student-dashboard-summary{
  background:
    radial-gradient(circle at 88% 25%,rgba(13,145,88,.12),transparent 20rem),
    linear-gradient(145deg,var(--v207-soft) 0%,var(--v207-soft-2) 100%)!important;
  color:var(--v207-ink)!important;
}
.portal-body .student-dashboard-summary h1,
.portal-body .student-dashboard-summary h2,
.portal-body .student-dashboard-summary h3,
.portal-body .student-dashboard-summary strong{color:var(--v207-ink)!important}
.portal-body .welcome-average-copy small,
.portal-body .welcome-average-copy span{color:#2f6550!important}
.portal-body .welcome-average-copy em{color:#527767!important}
.portal-body .average-annotations-v41{
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(7,116,72,.18)!important;
  box-shadow:0 14px 34px rgba(0,58,37,.10)!important;
}
.portal-body .average-annotations-v41 .annotation-stat,
.portal-body .average-annotations-v41 .annotation-count,
.portal-body .average-annotations-v41 .stat-card,
.portal-body .average-annotations-v41 .mini-stat{background:#f4f8f5!important}
.portal-body .student-dashboard-summary .fullcollege-link,
.portal-body .student-dashboard-summary a[href*="fullcollege"]{
  background:linear-gradient(135deg,var(--v207-green-700),var(--v207-green-900))!important;
  color:#fff!important;
  border-color:transparent!important;
  border-radius:14px!important;
}

/* Mensaje del día */
.portal-body .student-random-message-v15{
  background:linear-gradient(135deg,#00452f,#087c4b)!important;
  color:#fff!important;
  border:1px solid rgba(215,241,61,.60)!important;
  border-left:7px solid var(--v207-yellow)!important;
}
.portal-body .student-random-message-v15 small{color:var(--v207-lime)!important}
.portal-body .student-random-message-v15 strong{color:#fff!important}

/* Todas las tarjetas informativas blancas sobre el fondo verde */
.portal-body .portal-layout-block:not(.student-dashboard-hero):not(.student-random-message-v15),
.portal-body .panel,
.portal-body .content-card,
.portal-body .section-card,
.portal-body .card,
.portal-body .module-card,
.portal-body .notice-card,
.portal-body .material-card,
.portal-body .schedule-card{
  background:rgba(255,255,255,.98)!important;
  color:var(--v207-ink)!important;
  border:1px solid rgba(255,255,255,.74)!important;
  box-shadow:0 20px 50px rgba(0,27,18,.20)!important;
}
.portal-body .portal-layout-block:not(.student-dashboard-hero):not(.student-random-message-v15) h1,
.portal-body .portal-layout-block:not(.student-dashboard-hero):not(.student-random-message-v15) h2,
.portal-body .portal-layout-block:not(.student-dashboard-hero):not(.student-random-message-v15) h3,
.portal-body .portal-layout-block:not(.student-dashboard-hero):not(.student-random-message-v15) h4{color:var(--v207-green-1100)!important}

@media(max-width:900px){
  .login-page .login-layout{grid-template-columns:1fr!important;width:calc(100% - 20px)!important;padding:18px 0 34px!important;gap:18px!important}
  .login-page .school-panel{min-height:auto!important;padding:28px!important;border-radius:24px!important}
  .login-page .school-panel h1{font-size:clamp(2.7rem,15vw,4.5rem)!important}
  .login-page .login-card{padding:28px!important;border-radius:24px!important}
  .portal-body .student-dashboard-hero{padding:10px!important}
  .portal-body .student-dashboard-profile,
  .portal-body .student-dashboard-summary{border-radius:20px!important}
}

@media(max-width:560px){
  .login-page .school-panel{padding:24px 22px!important}
  .login-page .login-card{padding:24px 20px!important}
  .portal-body .student-dashboard-copy h1{font-size:clamp(2rem,11vw,3rem)!important}
  .portal-body .student-dashboard-summary{padding:20px 16px!important}
}
