/* VNNK CARE 360 · Hotfix 3.0.0.3
   Dashboard layout repair, academic-year UI and refreshed login. */

/* ---------- Dashboard repair ---------- */
.dashboard-grid{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.38fr)!important;
  align-items:start!important;
}
.dashboard-grid>.card{align-self:start;min-width:0}
.trend-card,.quick-card{grid-column:1/-1!important;height:auto!important;min-height:0!important}
.trend-card .trend-svg{display:block;width:100%;height:220px!important;max-height:220px!important;min-height:220px!important}
.quick-card .quick-grid{grid-template-columns:repeat(auto-fit,minmax(135px,1fr))!important;gap:10px}
.quick-card .quick-grid a{min-height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}
.dashboard-hero.dashboard-hero-school{min-height:285px!important}
.dashboard-hero-copy{min-height:285px!important;padding-top:27px!important;padding-bottom:72px!important}
.dashboard-hero .hero-tech-points{margin-top:13px}
.dashboard-hero .hero-actions{margin-top:13px}
.dashboard-hero .hero-transition-copy{margin-top:7px}
.dashboard-hero h2 strong{font-size:46px}
.dashboard-hero h2 span{font-size:25px}

/* Academic year is an identifier, not a formatted amount. */
.academic-pill{white-space:nowrap;font-variant-numeric:tabular-nums}
.academic-year-manager{border-color:#d6e7fb;background:linear-gradient(135deg,#fff,#f6faff)}
.academic-year-layout{display:grid;grid-template-columns:minmax(210px,.65fr) minmax(280px,1.35fr);gap:18px;align-items:center}
.academic-year-current{min-height:128px;border-radius:18px;padding:18px;background:linear-gradient(135deg,#1266d5,#0b8ecf);color:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:0 12px 28px rgba(18,102,213,.18)}
.academic-year-current small{font-size:15px;opacity:.85}
.academic-year-current strong{font-family:Arial,sans-serif;font-size:48px;line-height:1;margin:7px 0 5px;letter-spacing:-.03em}
.academic-year-current span{font-size:14px;opacity:.86;line-height:1.35}
.academic-year-form{display:grid;grid-template-columns:minmax(170px,1fr) auto;gap:12px;align-items:end}
.academic-year-form label{font-weight:700}
.academic-year-form .form-control{margin-bottom:0}
.academic-year-form .btn{min-height:48px;margin-bottom:0;white-space:nowrap}
.academic-year-note{margin:12px 0 0}

/* ---------- Login redesign ---------- */
.login-page-v3003{
  min-height:100vh;
  padding:28px;
  background:
    radial-gradient(circle at 8% 10%,rgba(46,139,255,.18),transparent 28%),
    radial-gradient(circle at 94% 88%,rgba(32,180,121,.15),transparent 26%),
    linear-gradient(135deg,#eef6ff 0%,#f8fbff 52%,#eefaf5 100%);
}
.login-shell-v3003{
  width:min(1140px,96vw);
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);
  border:1px solid rgba(207,224,245,.92);
  border-radius:32px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 30px 90px rgba(24,70,132,.20);
}
.login-showcase{
  position:relative;
  overflow:hidden;
  padding:54px 58px;
  color:#fff;
  background:
    linear-gradient(120deg,rgba(5,48,125,.98),rgba(15,103,210,.92) 58%,rgba(10,149,150,.86)),
    url('../img/hero-tech-campus.svg') center/cover no-repeat;
}
.login-showcase:before{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-170px;top:-130px;box-shadow:0 0 0 58px rgba(255,255,255,.035),0 0 0 116px rgba(255,255,255,.025)}
.login-showcase:after{content:"";position:absolute;left:0;right:0;bottom:0;height:170px;background:linear-gradient(0deg,rgba(0,33,94,.24),transparent);pointer-events:none}
.login-showcase-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(120deg,#000 0%,rgba(0,0,0,.75) 58%,transparent 100%)}
.login-showcase-content{position:relative;z-index:2;min-height:540px;display:flex;flex-direction:column}
.login-brand-line{display:flex;gap:14px;align-items:center}
.login-school-logo{width:68px;height:68px;flex:0 0 68px;border-radius:19px;background:#fff;border:1px solid rgba(255,255,255,.85);box-shadow:0 12px 28px rgba(0,28,86,.22);display:grid;place-items:center;overflow:hidden;padding:5px}
.login-school-logo img{width:100%;height:100%;object-fit:contain;border-radius:14px}.login-school-logo>span{font:bold 34px Arial;color:#1768d5}
.login-school-logo.small{width:46px;height:46px;flex-basis:46px;border-radius:14px;border-color:#d7e6f7;box-shadow:0 6px 16px rgba(23,72,136,.12)}
.login-kicker{display:block;font:700 12px/1.2 Arial,sans-serif;letter-spacing:.13em;color:#cfe7ff;margin-bottom:5px}
.login-brand-line small{display:block;font-size:16px;color:#fff;opacity:.9}
.login-title-block{margin:auto 0 26px;max-width:650px}
.login-title-block h1{margin:0;font:800 clamp(46px,5vw,70px)/.96 Arial,sans-serif;letter-spacing:-.045em;color:#fff}.login-title-block h1 strong{color:#7df0c1}
.login-title-block h2{margin:14px 0 8px;font-size:29px;line-height:1.18;color:#fff}
.login-title-block p{margin:0;color:#d9ecff;font-size:18px;line-height:1.5}
.login-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:650px}
.login-feature{display:flex;gap:11px;align-items:center;min-height:76px;padding:12px 13px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.10);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.login-feature.green{grid-column:1/-1;background:rgba(31,185,123,.16);border-color:rgba(130,243,197,.34)}
.login-feature>span{width:39px;height:39px;flex:0 0 39px;border-radius:12px;background:rgba(255,255,255,.15);display:grid;place-items:center;font:800 20px Arial,sans-serif}
.login-feature b,.login-feature small{display:block}.login-feature b{font-size:17px}.login-feature small{font-size:13px;color:#d7e9ff;line-height:1.25;margin-top:2px}
.login-year-badge{position:absolute;right:0;top:4px;display:flex;align-items:baseline;gap:8px;padding:8px 12px;border-radius:13px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16)}
.login-year-badge span{font-size:13px;color:#dbeeff}.login-year-badge strong{font:800 21px Arial,sans-serif}
.login-card-v3003{padding:54px 48px;justify-content:center;background:linear-gradient(180deg,#fff,#fbfdff)}
.login-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:25px}.login-mobile-brand strong,.login-mobile-brand small{display:block}.login-mobile-brand strong{font:800 20px Arial,sans-serif;color:#1764ca}.login-mobile-brand small{font-size:13px;color:#7385a2;margin-top:2px}
.login-form-head{display:flex;align-items:center;gap:13px;margin-bottom:18px}.login-form-icon{width:50px;height:50px;border-radius:16px;background:linear-gradient(135deg,#eaf3ff,#edf9f5);display:grid;place-items:center;font-size:24px;border:1px solid #dce9f7}
.login-form-head h2{margin:0;font-size:32px;line-height:1.05;color:#163a70}.login-form-head p{margin:5px 0 0;color:#7889a5;font-size:15px}
.login-form-v3003 label{display:block;font-size:16px;font-weight:800;color:#294c7e;margin:12px 0 5px}
.login-input-wrap{position:relative}.login-input-wrap>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:2;font-size:18px;pointer-events:none}.login-input-wrap .form-control{height:52px;margin:0;padding-left:45px;padding-right:14px;border-radius:14px;font-size:17px;background:#fbfdff;border-color:#d8e5f5}.login-input-wrap .form-control:focus{background:#fff;border-color:#4389ef;box-shadow:0 0 0 4px rgba(55,131,236,.10)}
.password-wrap .form-control{padding-right:72px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);height:36px;padding:0 10px;border:0;border-radius:9px;background:#edf4ff;color:#2966b7;font-size:13px;font-weight:800;cursor:pointer}
.login-submit{height:52px;border-radius:14px;margin-top:21px;font-size:18px;background:linear-gradient(90deg,#1765d5,#2588ed);box-shadow:0 12px 24px rgba(24,103,215,.22)}.login-submit span{font:700 20px Arial}
.login-security-note{display:flex;gap:9px;align-items:flex-start;margin-top:18px;padding:11px 12px;border-radius:12px;background:#f3f8fd;border:1px solid #e1ebf6;color:#61748f}.login-security-note>span{width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:grid;place-items:center;background:#dff5e8;color:#138655;font-weight:900;font-size:12px}.login-security-note p{margin:0;font-size:13px;line-height:1.45}
.login-foot-v3003{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:22px;color:#8392aa;font-size:12px}.login-foot-v3003 i{font-style:normal;color:#c2ccd8}

@media(max-width:1100px){
  .login-shell-v3003{grid-template-columns:1fr 390px}.login-showcase{padding:46px 40px}.login-title-block h2{font-size:25px}.login-feature small{font-size:12px}
}
@media(max-width:900px){
  .dashboard-grid{grid-template-columns:1fr!important}.trend-card,.quick-card{grid-column:1!important}.quick-card .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .dashboard-hero.dashboard-hero-school{min-height:360px!important}.dashboard-hero-copy{min-height:360px!important;padding-bottom:88px!important}
  .academic-year-layout{grid-template-columns:1fr}.academic-year-form{grid-template-columns:1fr auto}
  .login-page-v3003{padding:18px}.login-shell-v3003{grid-template-columns:1fr;max-width:620px;min-height:0}.login-showcase{display:none}.login-card-v3003{padding:42px 38px}.login-mobile-brand{display:flex}
}
@media(max-width:560px){
  .quick-card .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.quick-card .quick-grid a{min-height:82px}
  .dashboard-hero.dashboard-hero-school{min-height:390px!important}.dashboard-hero-copy{min-height:390px!important;padding-top:142px!important;padding-bottom:96px!important}.dashboard-hero h2 strong{font-size:34px!important}.dashboard-hero h2 span{font-size:19px!important}
  .academic-year-form{grid-template-columns:1fr}.academic-year-form .btn{width:100%}.academic-year-current strong{font-size:42px}
  .login-page-v3003{padding:10px}.login-shell-v3003{width:100%;border-radius:22px}.login-card-v3003{padding:28px 20px}.login-form-head h2{font-size:29px}.login-form-head p{font-size:14px}.login-input-wrap .form-control{font-size:16px}.login-foot-v3003{font-size:11px}
}
