/* Inherit LVAWeb Material color roles; do not change the underlying page. */
#lva-campus-dialog {
  box-sizing: border-box; position: fixed; inset: 0;
  width: min(480px, calc(100vw - 32px)); max-height: calc(100dvh - 32px);
  margin: auto; padding: 28px; border: 0; border-radius: 28px; overflow: auto;
  color: var(--md-on-surface, #1a1b20); background: var(--md-container-high, #e8e7ee);
  box-shadow: 0 24px 64px rgb(0 0 0 / 20%);
  font: 16px/1.6 Roboto, 'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;
}
#lva-campus-dialog[open] { animation: lva-campus-enter 200ms cubic-bezier(.2,0,0,1); }
#lva-campus-dialog::backdrop {
  background: rgb(0 0 0 / 28%);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
}
#lva-campus-dialog h2 { margin: 0 0 12px; font-family: inherit; font-size: 24px; font-weight: 500; line-height: 1.35; }
#lva-campus-dialog p { margin: 0; color: var(--md-on-surface-variant, #44474f); }
#lva-campus-dialog .lva-campus-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
#lva-campus-dialog button, #lva-campus-dialog a {
  box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; margin: 0; padding: 10px 16px; border: 0; border-radius: 24px;
  background: transparent; color: var(--md-primary, #365e9d); font: 500 14px/1.4 sans-serif;
  text-decoration: none; cursor: pointer; box-shadow: none;
  transition: background-color 160ms, border-radius 160ms;
}
#lva-campus-dialog a { background: var(--md-primary, #365e9d); color: var(--md-on-primary, white); }
#lva-campus-dialog button:hover { background: var(--md-primary-container, #d6e3ff); }
#lva-campus-dialog :is(button,a):active { border-radius: 14px; }
#lva-campus-dialog :is(button,a):focus-visible { outline: 3px solid var(--md-primary, #365e9d); outline-offset: 3px; }
@media (max-width: 420px) {
  #lva-campus-dialog { padding: 24px; }
  #lva-campus-dialog .lva-campus-actions { display: grid; grid-template-columns: 1fr 1fr; }
  #lva-campus-dialog a { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { #lva-campus-dialog[open] { animation: none; } }
@keyframes lva-campus-enter { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
