/* VirtualIMR Login Page */
:root{
  --uog-deep:#003B6F;      /* deep blue */
  --uog-sky:#CFE5F2;       /* light sky */
  --uog-ink:#0B2239;       /* ink */
  --uog-maroon:#7A1E2C;    /* action */
  --uog-gold:#FFB81C;      /* accent */
  --card:#ffffff;
  --muted:#6b7a8a;
  --shadow: 0 10px 30px rgba(11,34,57,.12);
  --radius: 18px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
  color:var(--uog-ink);
  background:linear-gradient(180deg, #f5f9fc 0%, #e7f1f7 100%);
}

.page{
  display:grid;
  grid-template-columns: 1fr 44%;
  min-height:100dvh;
}

@media (max-width: 980px){
  .page{ grid-template-columns: 1fr; }
  .art{ display:none; }
}

.hero{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding: 3rem 1.25rem;
  gap: 1.25rem;
}

.brand{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-bottom: .25rem;
}

.logo{ width:54px; height:54px; }

.site{
  margin:0;
  font-size:1.75rem;
  line-height:1.2;
  letter-spacing:.2px;
  color:var(--uog-deep);
}

.tag{
  margin:.125rem 0 0;
  color:var(--muted);
  font-size:.95rem;
}

.card{
  width:min(560px, 94vw);
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding: 2rem;
  border:1px solid #e6edf5;
}

.welcome{
  margin:0 0 .25rem 0;
  font-weight:700;
  letter-spacing:.2px;
}

.subtitle{
  margin-top:0;
  color:var(--muted);
}

.input{
  display:flex;
  align-items:center;
  gap:.75rem;
  background:#f4f8fc;
  padding:.9rem 1rem;
  border-radius:12px;
  border:1px solid #e5edf6;
  margin:.75rem 0;
}

.input input{
  border:0;
  outline:0;
  background:transparent;
  font-size:1rem;
  width:100%;
}

.icon{ font-size:1.1rem; }

.btn{
  appearance:none;
  border:0;
  border-radius:12px;
  padding:.9rem 1rem;
  width:100%;
  font-weight:600;
  background: var(--uog-maroon);
  color:white;
  cursor:pointer;
  margin-top:.5rem;
  box-shadow: 0 6px 16px rgba(122,30,44,.25);
  transition: transform .06s ease, box-shadow .2s ease;
}
.btn:hover{ transform: translateY(-1px); box-shadow:0 8px 20px rgba(122,30,44,.3); }
.btn:disabled{ opacity:.7; transform:none; cursor:not-allowed; }

.helper{
  margin:.9rem 0 0;
  font-size:.95rem;
  color:var(--muted);
}

.helper a{ color:var(--uog-deep); font-weight:600; text-decoration:underline; }

.error{
  margin-top:1rem;
  background:#fff1f2;
  color:#7f1d1d;
  border:1px solid #fecaca;
  border-radius:10px;
  padding:.75rem 1rem;
  font-size:.95rem;
}

.meta{
  color:var(--muted);
  font-size:.9rem;
  margin-top:.25rem;
}

.art{
  position:relative;
  background:#eff6fb;
  display:flex;
  align-items:center;
  justify-content:center;
}

.bg-shape{
  width:100%;
  height:100%;
  object-fit:cover;
}
