/* V205 · identidad profesional del portal del estudiante */
:root{
  --p205-green-1000:#021f16;
  --p205-green-950:#032d20;
  --p205-green-900:#043b29;
  --p205-green-800:#07543a;
  --p205-green-700:#087447;
  --p205-green-600:#11915d;
  --p205-lime:#d5ed43;
  --p205-yellow:#f2c94c;
  --p205-ink:#0b2d20;
  --p205-muted:#506e61;
  --p205-line:#d5e5db;
  --p205-white:#fff;
}
html{background:var(--p205-green-950)!important}
body.login-page,
body.portal-body{
  position:relative!important;
  isolation:isolate!important;
  min-height:100vh!important;
  background:
    radial-gradient(circle at 12% 8%,rgba(213,237,67,.18),transparent 27rem),
    radial-gradient(circle at 88% 28%,rgba(33,164,106,.25),transparent 35rem),
    linear-gradient(145deg,var(--p205-green-1000) 0%,var(--p205-green-900) 42%,var(--p205-green-700) 100%)!important;
  background-attachment:fixed!important;
  color:#fff!important;
}
body.login-page::before,
body.portal-body::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.22) 1px,transparent 1.6px),
    radial-gradient(circle,rgba(213,237,67,.12) 1px,transparent 1.7px)!important;
  background-position:0 0,15px 15px!important;
  background-size:34px 34px!important;
  opacity:.30!important;
}
body.portal-body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 0 45%,rgba(255,255,255,.025) 45% 55%,transparent 55% 100%);
  background-size:500px 500px;
}
.portal-body .portal-container{position:relative;z-index:1;background:transparent!important}
.portal-body .topbar{
  background:rgba(2,31,22,.92)!important;
  color:#fff!important;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
  box-shadow:0 12px 30px rgba(0,23,15,.22)!important;
  backdrop-filter:blur(18px)!important;
}
.portal-body .topbar .brand,.portal-body .topbar .brand strong,.portal-body .topbar .brand small,.portal-body .topbar a{color:#fff!important}
.portal-body .modern-portal-nav,.portal-body .modern-nav{
  background:rgba(3,45,32,.94)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 14px 30px rgba(0,25,17,.20)!important;
  backdrop-filter:blur(16px)!important;
}
.portal-body .modern-nav-links a{color:#fff!important}
.portal-body .modern-nav-links a.is-active,.portal-body .modern-nav-links a.active,.portal-body .modern-nav-links a:hover{background:var(--p205-lime)!important;color:var(--p205-green-950)!important}

/* Hero principal */
.portal-body .student-dashboard-hero{
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(213,237,67,.55)!important;
  border-radius:30px!important;
  box-shadow:0 26px 70px rgba(0,28,19,.27)!important;
}
.portal-body .student-dashboard-profile{
  position:relative!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(213,237,67,.16),transparent 35%),
    linear-gradient(135deg,#032d20 0%,#07543a 52%,#0b7a4d 100%)!important;
  color:#fff!important;
}
.portal-body .student-dashboard-profile::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.07) 42% 58%,transparent 58% 100%);
}
.portal-body .student-dashboard-profile>*{position:relative;z-index:1}
.portal-body .student-dashboard-copy h1{color:#fff!important;text-shadow:0 4px 18px rgba(0,20,13,.28)!important}
.portal-body .student-dashboard-copy .eyebrow,
.portal-body .student-dashboard-copy p{color:var(--p205-lime)!important;opacity:1!important;font-weight:900!important}
.portal-body .student-course-badge,.portal-body .school-year-badge{
  background:rgba(255,255,255,.13)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.28)!important;
  backdrop-filter:blur(8px)!important;
}
.portal-body .head-teacher-line{
  background:rgba(1,28,19,.30)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  color:#fff!important;
  backdrop-filter:blur(10px)!important;
}
.portal-body .head-teacher-line small{color:#cde9d8!important;opacity:1!important}
.portal-body .head-teacher-line strong{color:#fff!important}
.portal-body .student-photo-shell{background:#fff!important;border:6px solid rgba(255,255,255,.95)!important;box-shadow:0 20px 40px rgba(0,22,14,.28)!important}
.portal-body .student-dashboard-summary{background:#fff!important;color:var(--p205-ink)!important}
.portal-body .student-dashboard-summary *{opacity:1}
.portal-body .welcome-average-copy small,.portal-body .welcome-average-copy span{color:#3a6855!important}
.portal-body .welcome-average-copy em{color:#688779!important}
.portal-body .average-annotations-v41{background:#fff!important;border:1px solid var(--p205-line)!important;color:var(--p205-ink)!important}
.portal-body .average-annotations-head-v41 small,.portal-body .average-annotations-head-v41 strong{color:var(--p205-ink)!important}
.portal-body .average-annotations-head-v41 a{color:var(--p205-green-700)!important;font-weight:900!important}

/* Mensaje del día y tarjetas */
.portal-body .student-random-message-v15{
  background:linear-gradient(135deg,#043b29,#087447)!important;
  color:#fff!important;
  border:1px solid rgba(213,237,67,.72)!important;
  border-left:7px solid var(--p205-yellow)!important;
  box-shadow:0 18px 42px rgba(0,26,17,.24)!important;
}
.portal-body .student-random-message-v15>span{background:rgba(255,255,255,.14)!important;color:#fff!important}
.portal-body .student-random-message-v15 small{color:var(--p205-lime)!important;opacity:1!important;font-weight:950!important}
.portal-body .student-random-message-v15 strong{color:#fff!important;opacity:1!important}
.portal-body .panel,.portal-body .portal-layout-block:not(.student-dashboard-hero):not(.student-random-message-v15),
.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,.975)!important;
  color:var(--p205-ink)!important;
  border:1px solid rgba(213,229,219,.96)!important;
  box-shadow:0 18px 45px rgba(0,27,18,.18)!important;
}
.portal-body .portal-layout-block h1,.portal-body .portal-layout-block h2,.portal-body .portal-layout-block h3,.portal-body .portal-layout-block h4,
.portal-body .section-title,.portal-body .card-title{color:var(--p205-green-950)!important}
.portal-body .portal-layout-block p,.portal-body .portal-layout-block li,.portal-body .portal-layout-block label{color:#284f40!important}
.portal-body .portal-layout-block small,.portal-body .portal-layout-block .muted,.portal-body .help-text,.portal-body .meta{color:var(--p205-muted)!important;opacity:1!important}
.portal-body .eyebrow{color:var(--p205-green-700)!important;font-weight:950!important}
.portal-body .section-title-icon,.portal-body .portal-info-icon-v12{filter:none!important}
.portal-body input,.portal-body select,.portal-body textarea{background:#fff!important;color:#123629!important;border:1px solid #a9c5b4!important}
.portal-body table{background:#fff!important;color:var(--p205-ink)!important}
.portal-body th{background:var(--p205-green-900)!important;color:#fff!important}
.portal-body td{background:#fff!important;color:#183d2f!important;border-color:#d8e6dd!important}
.portal-body .btn-primary,.portal-body button[type="submit"]{background:linear-gradient(135deg,var(--p205-green-700),var(--p205-green-950))!important;color:#fff!important}
.portal-body a:not(.logout):not(.modern-nav-links a){color:#086b46}

/* Login */
.login-page .school-panel{background:linear-gradient(145deg,rgba(3,45,32,.96),rgba(8,116,71,.88))!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}
.login-page .school-panel h1,.login-page .school-panel p,.login-page .school-panel strong{color:#fff!important}
.login-page .school-panel .eyebrow{color:var(--p205-lime)!important}
.login-page .login-card{background:rgba(255,255,255,.975)!important;color:var(--p205-ink)!important;border:1px solid rgba(213,237,67,.45)!important;box-shadow:0 28px 80px rgba(0,23,15,.36)!important}
.login-page .login-card h2,.login-page .login-card label{color:var(--p205-green-950)!important}
.login-page .login-card .muted,.login-page .privacy-note{color:var(--p205-muted)!important}
.login-page input{background:#fff!important;color:#102e23!important;border:2px solid #b5cdbf!important}
.login-page button[type="submit"]{background:linear-gradient(135deg,var(--p205-green-700),var(--p205-green-950))!important;color:#fff!important}

@media(max-width:900px){
  body.login-page,body.portal-body{background-attachment:scroll!important}
  .portal-body .portal-container{width:calc(100% - 20px)!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
  .portal-body .student-dashboard-hero{border-radius:22px!important}
  .portal-body .student-dashboard-profile{min-height:auto!important}
}
@media(prefers-reduced-motion:reduce){body.portal-body::before,body.login-page::before{opacity:.18!important}}

/* V206 · acabado visual definitivo basado en la ficha institucional aprobada */
body.portal-body{
  overflow-x:hidden!important;
}
.portal-body .portal-container{
  width:min(1640px,calc(100% - 44px))!important;
  margin-inline:auto!important;
}
.portal-body .student-dashboard-hero{
  background:linear-gradient(135deg,#075238 0%,#087848 100%)!important;
  padding:22px!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
.portal-body .student-dashboard-profile{
  border-radius:22px 0 0 22px!important;
  border:1px solid rgba(255,255,255,.13)!important;
}
.portal-body .student-dashboard-summary{
  border-radius:0 22px 22px 0!important;
  border:1px solid rgba(255,255,255,.13)!important;
}
.portal-body .student-dashboard-copy h1{
  letter-spacing:-.025em!important;
  line-height:1.02!important;
}
.portal-body .student-random-message-v15{
  min-height:84px!important;
  border-radius:18px!important;
}
.portal-body .portal-layout-block:not(.student-dashboard-hero):not(.student-random-message-v15){
  border-radius:22px!important;
}
.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{
  border-radius:18px!important;
}
.portal-body .annotation-stat,
.portal-body .annotation-count,
.portal-body .stat-card,
.portal-body .mini-stat{
  background:#f3f7f4!important;
  color:#123c2d!important;
  border:1px solid #e3ece6!important;
}
.portal-body .student-dashboard-summary a,
.portal-body .average-annotations-v41 a{
  color:#087447!important;
}

@media(max-width:1100px){
  .portal-body .student-dashboard-profile,
  .portal-body .student-dashboard-summary{
    border-radius:20px!important;
  }
}
@media(max-width:700px){
  .portal-body .portal-container{
    width:calc(100% - 18px)!important;
  }
  .portal-body .student-dashboard-hero{
    padding:10px!important;
    border-radius:22px!important;
  }
  .portal-body .student-dashboard-copy h1{
    font-size:clamp(2rem,10vw,3rem)!important;
  }
  .portal-body .student-photo-shell{
    max-width:150px!important;
    margin-inline:auto!important;
  }
  .portal-body .student-random-message-v15{
    min-height:auto!important;
    padding:16px!important;
  }
}
