/* V203 - Contraste institucional consistente */
:root{
  --v203-green-950:#032b20;
  --v203-green-900:#063b2c;
  --v203-green-800:#07543b;
  --v203-green-700:#0b6b49;
  --v203-lime:#c5db35;
  --v203-cream:#f5f6ee;
  --v203-text:#12362b;
}
html{background:var(--v203-green-950)!important}
body.login-page,
body.portal-body{
  background:
    radial-gradient(circle at 15% 8%,rgba(197,219,53,.15),transparent 25rem),
    radial-gradient(circle at 85% 28%,rgba(30,128,86,.24),transparent 34rem),
    linear-gradient(145deg,var(--v203-green-950),var(--v203-green-800))!important;
  background-attachment:fixed!important;
  color:#fff;
}
body.login-page::before,
body.portal-body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1px);background-size:32px 32px;opacity:.18;z-index:-1}
.login-page .login-container,
.login-page .login-card,
.login-page .login-panel,
.login-page main,
.portal-body .portal-container,
.portal-body .main-content{background:transparent!important}
.login-page .login-card,
.login-page .login-box,
.portal-body .student-card,
.portal-body .content-card,
.portal-body .section-card,
.portal-body .card,
.portal-body .panel,
.portal-body .module-card,
.portal-body .notice-card,
.portal-body .material-card,
.portal-body .schedule-card{
  background:rgba(255,255,255,.96)!important;
  color:var(--v203-text)!important;
  border:1px solid rgba(197,219,53,.48)!important;
  box-shadow:0 18px 45px rgba(0,25,17,.22)!important;
}
.portal-body .topbar,
.portal-body .modern-nav,
.portal-body nav{
  background:rgba(3,43,32,.95)!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.12)!important;
}
.portal-body .topbar a,
.portal-body .modern-nav a,
.portal-body nav a{color:#fff!important}
.portal-body .modern-nav a.active,
.portal-body nav a.active{background:var(--v203-lime)!important;color:var(--v203-green-950)!important}
.portal-body h1,.portal-body h2,.portal-body h3,.portal-body h4,
.portal-body .card-title,.portal-body .section-title{color:var(--v203-green-950)!important}
.portal-body .hero-card h1,.portal-body .hero-card h2,
.portal-body .student-hero h1,.portal-body .student-hero h2,
.portal-body .welcome-card h1,.portal-body .welcome-card h2{color:#fff!important}
.portal-body input,.portal-body select,.portal-body textarea,
.login-page input,.login-page select{
  background:#fff!important;color:var(--v203-text)!important;border:1px solid #b8cbbf!important
}
.portal-body button,.portal-body .btn,.login-page button,.login-page .btn{
  border-color:transparent!important
}
.portal-body .btn-primary,.login-page .btn-primary,
.portal-body button[type="submit"],.login-page button[type="submit"]{
  background:linear-gradient(135deg,var(--v203-green-700),var(--v203-green-900))!important;color:#fff!important
}
.portal-body table{background:#fff!important;color:var(--v203-text)!important}
.portal-body th{background:var(--v203-green-900)!important;color:#fff!important}
.portal-body td{border-color:#dbe5de!important}
.portal-body p,.portal-body li,.portal-body label,.portal-body small{color:inherit}
@media(max-width:760px){
  body.login-page,body.portal-body{background-attachment:scroll!important}
  .portal-body .portal-container{width:100%!important;max-width:none!important;padding-left:12px!important;padding-right:12px!important}
}
