.online-home { max-width: 42rem; }
.online-home .auth-panel h1 { font-size: clamp(1.6rem, 5vw, 2.65rem); }
.online-home .auth-rules { margin-top: 1rem; }
.online-actions, .admin-header { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
.online-link {
  display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .8rem;
  border: 1px solid #a9bed4; border-radius: .5rem; background: #fff; color: #124b88;
  font: inherit; text-decoration: none; cursor: pointer;
}
.online-link.primary { color: #fff; background: #1965b5; border-color: #1965b5; }
.online-link:hover { box-shadow: 0 0 0 2px #a9bed4; }
.online-admin { max-width: 68rem; padding: clamp(1rem, 4vw, 2rem); margin: auto; display: grid; gap: 1rem; }
.admin-header { justify-content: space-between; }
.online-admin h2 { margin: 0 0 1rem; font-size: 1.125rem; }
.online-admin .auth-panel { padding: clamp(1rem, 3vw, 1.5rem); min-width: 0; }
.online-admin .auth-panel form { max-width: 36rem; }
.admin-table { overflow: auto; }
.admin-table table { border-collapse: collapse; width: 100%; text-align: left; }
.admin-table td, .admin-table th { padding: .6rem; border-bottom: 1px solid #dce6f0; white-space: nowrap; }
.admin-table td .online-link { margin-right: .35rem; }
.online-admin #admin-status { margin: 0; }

