/* Acute palette and typography observed on acutetech.org, September 18, 2026. */
@font-face { font-family: "Acute Lato"; src: url("lato-regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Acute Montserrat"; src: url("montserrat-bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
:root {
  --acute-cyan: #00c0f3;
  --acute-blue: #006cb8;
  --acute-yellow: #f2d202;
  --navy: #006cb8;
  --navy-dark: #003e6b;
  --blue: #006cb8;
  --blue-light: #e8f8ff;
  --ink: #00000a;
  --canvas: #f5f9fc;
  font-family: "Acute Lato", "Segoe UI", sans-serif;
}
body { font-family: "Acute Lato", "Segoe UI", sans-serif; }
h1, h2, h3, .product-label { font-family: "Acute Montserrat", "Segoe UI", sans-serif; }
.brand { justify-content: center; border-radius: 8px; }
.brand img { width: auto; max-width: 100%; max-height: 82px; object-fit: contain; }
.brand-logo { width: 215px; max-width: 100%; margin: 0 auto 28px; }
.mobile-brand img { width: auto; max-width: 150px; max-height: 48px; object-fit: contain; }
.admin-brand { padding: 16px 12px; margin-bottom: 20px; border-radius: 8px; background: white; }
.admin-brand img { width: 160px; max-width: 100%; margin: auto; filter: none; }
.admin-brand span { color: #006cb8; text-align: center; }
.sidebar, .admin-sidebar { background: linear-gradient(165deg, #003e6b, #006cb8); }
.primary-nav-item.active { box-shadow: inset 3px 0 0 var(--acute-yellow); }
.topbar, .admin-topbar { border-top: 3px solid var(--acute-cyan); }
.welcome-panel {
  color: #00000a;
  background: linear-gradient(145deg, #00c0f3, #00a6dd 66%, #006cb8);
}
.welcome-content { padding: clamp(24px, 3vw, 44px); background: white; border-left: 5px solid #f2d202; }
.welcome-panel h1 { font-size: clamp(2.25rem, 4vw, 4rem); line-height: 1.08; letter-spacing: -.035em; }
.eyebrow { color: #006cb8; font-size: .7rem; letter-spacing: .1em; }
.eyebrow-dot { background: #f2d202; box-shadow: 0 0 0 5px rgba(242,210,2,.18); }
.welcome-copy { color: #344656; margin: 24px 0 30px; }
.feature { padding: 16px; border-color: #cce8f2; border-radius: 8px; background: #f3fbfe; backdrop-filter: none; }
.feature-number { margin-bottom: 20px; color: #006cb8; }
.feature p { color: #425b6c; }
.environment-label { color: white; font-weight: 700; }
.signin-panel { background: #f5f9fc; }
.signin-card { border-radius: 12px; box-shadow: 0 18px 45px rgba(0,108,184,.1); }
.product-label, .signin-card h2 { color: #006cb8; }
.signin-button { color: #00000a; background: #00c0f3; border-radius: 6px; box-shadow: none; }
.signin-button:hover { color: white; background: #006cb8; box-shadow: none; }
.signin-button:focus-visible { outline: 3px solid #006cb8; }
.signin-card .security-note { color: #344656; background: #e8f8ff; }
.lock-icon { background: #006cb8; }
.lock-icon::before { border-color: #006cb8; }
.access-notice { color: #596976; }
.brand-website { display: block; margin-top: 18px; color: #006cb8; text-align: center; font-size: .85rem; }
.feature-mark { background: #006cb8; }
.member-search-control button { background: #006cb8; }
@media (max-width: 960px) {
  .welcome-panel { padding: 30px 22px; }
  .welcome-content { width: 100%; }
}
@media (max-width: 520px) {
  .welcome-panel { padding: 20px 16px; }
  .welcome-content { padding: 25px 20px; }
  .welcome-panel h1 { font-size: 2rem; }
  .brand-logo { width: 180px; }
}
