/* Shared Nest In gold and forest-green brand treatment. */
:root {
  --ink: #17362e;
  --muted: #64796f;
  --brand: #123e34;
  --brand2: #176a56;
  --accent: #d6a742;
  --paper: #fff;
  --bg: #f3f7f4;
  --line: #dce7df;
  --nx-text: #17362e;
  --nx-muted: #64796f;
  --nx-line: #dce7df;
  --ni-teal: #176a56;
  --ni-navy: #123e34;
  --ni-gradient: linear-gradient(115deg, #123e34 0%, #176a56 62%, #a77d2b 100%);
}

#loginView .login-brand {
  background:
    radial-gradient(circle at 78% 78%, rgb(214 167 66 / 13%), transparent 25%),
    linear-gradient(145deg, #0d3028 0%, #124438 55%, #1b5a48 100%) !important;
}
#loginView .login-brand:after {
  border-color: rgb(230 190 92 / 11%) !important;
}
#loginView .hero-copy h1 {
  color: #fff8e6 !important;
  text-shadow: 0 2px 24px rgb(0 0 0 / 18%);
}
#loginView .hero-copy p { color: #e4eee8 !important; }
#loginView .eyebrow { color: #e7bd5b !important; }
#loginView .brand-logo,
#appView .topbar .brand-logo {
  box-sizing: border-box;
  object-fit: contain;
  padding: 4px;
  border: 1px solid rgb(225 183 78 / 45%);
  border-radius: 14px;
  background: linear-gradient(145deg, #102c25, #1c483b);
  box-shadow: 0 4px 16px rgb(8 27 22 / 30%), 0 0 16px rgb(222 176 61 / 13%);
  animation: nestin-brand-breathe 5s ease-in-out infinite;
}
#loginView .brand-logo { width: 54px; height: 54px; }
#appView .topbar .brand-logo { width: 44px; height: 44px; }

/* Keep the identity mark clean: the logo carries the brand on its own. */
#loginView .login-brand > .brand > span,
#appView .topbar > .brand > span,
#opsSidebar .ops-side-brand > span { display: none !important; }
#loginView .login-brand > .brand { gap: 0; }
#appView .topbar > .brand { gap: 0; }
#opsSidebar .ops-side-brand {
  justify-content: center;
  min-height: 82px;
}
#opsSidebar .ops-side-brand img {
  width: 58px !important;
  height: 58px !important;
  border-radius: 16px;
}

#appView .btn-primary,
#appView button.btn-primary,
#loginView .btn-primary {
  color: #fffdf6 !important;
  background: linear-gradient(115deg, #123e34, #176a56 72%, #24745b) !important;
  border-color: #176a56 !important;
  box-shadow: 0 5px 14px rgb(18 62 52 / 18%);
}
#appView .btn-primary:hover,
#loginView .btn-primary:hover {
  background: linear-gradient(115deg, #0c3028, #12533f 72%, #956d25) !important;
}
#appView :focus-visible,
#loginView :focus-visible { outline-color: #c89a36 !important; }
#appView input:focus,
#appView select:focus,
#appView textarea:focus,
#loginView input:focus,
#loginView select:focus {
  border-color: #a9822c !important;
  box-shadow: 0 0 0 4px rgb(214 167 66 / 18%) !important;
}

#opsSidebar .ops-side-brand img {
  object-fit: contain !important;
  padding: 4px;
  border: 1px solid rgb(225 183 78 / 45%);
  border-radius: 12px;
  background: linear-gradient(145deg, #102c25, #1c483b);
  box-shadow: 0 3px 13px rgb(8 27 22 / 22%), 0 0 13px rgb(222 176 61 / 12%);
  animation: nestin-brand-breathe 5s ease-in-out infinite;
}
#opsSidebar .ops-ui-group-links button[data-ops-view].active,
#opsSidebar .ops-nav button[data-ops-view].active,
#opsSidebar .ops-nav button[data-ops-view][aria-current="page"] {
  background: linear-gradient(110deg, #123e34, #176a56 76%, #806425) !important;
  border-color: #176a56 !important;
}
#dashboardView.ops-dashboard .ops-home-hero {
  background: linear-gradient(115deg, #123e34 0%, #176a56 62%, #5d7040 100%) !important;
}
#dashboardView.ops-dashboard .ops-home-kicker { color: #f1d486 !important; }

@keyframes nestin-brand-breathe {
  0%, 100% { filter: drop-shadow(0 0 2px rgb(225 183 78 / 15%)); transform: translateY(0); }
  50% { filter: drop-shadow(0 0 7px rgb(225 183 78 / 32%)); transform: translateY(-1px); }
}

@media (prefers-reduced-motion: reduce) {
  #loginView .brand-logo,
  #appView .topbar .brand-logo,
  #opsSidebar .ops-side-brand img { animation: none; }
}

/* Matte logo treatment: keep the gold mark clean on light and dark surfaces. */
#loginView .login-brand {
  display: grid !important;
  place-items: center !important;
  min-height: 100% !important;
  padding: 32px !important;
  background: #123e34 !important;
}
#loginView .login-brand:after { display: none !important; }
#loginView .hero-copy,
#loginView .login-brand > small { display: none !important; }
#loginView .login-brand > .brand { position: relative; z-index: 1; justify-content: center; }
#opsSidebar .ops-side-brand {
  background: linear-gradient(180deg, #17233c 0%, #1a2947 55%, #202f50 100%) !important;
  border-bottom-color: rgb(255 255 255 / 8%) !important;
}
#loginView .brand-logo,
#appView .topbar .brand-logo,
#opsSidebar .ops-side-brand img {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 4px rgb(0 0 0 / 16%));
}
#loginView .brand-logo {
  width: clamp(148px, 22vw, 260px) !important;
  height: auto !important;
  aspect-ratio: 1;
  animation: nestin-matte-logo-float 6s ease-in-out infinite !important;
}
#appView .topbar .brand-logo,
#opsSidebar .ops-side-brand img { animation: nestin-matte-logo-float 6s ease-in-out infinite !important; }
@keyframes nestin-matte-logo-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@media (max-width: 980px) { #loginView .login-brand { min-height: 220px !important; } }
@media (prefers-reduced-motion: reduce) {
  #loginView .brand-logo, #appView .topbar .brand-logo, #opsSidebar .ops-side-brand img { animation: none !important; }
}

/* Blue matte brand surfaces: align the sign-in and sidebar marks with the app shell. */
#loginView .login-brand {
  background: linear-gradient(145deg, #122943 0%, #173b5d 58%, #205779 100%) !important;
}
#loginView .brand-logo,
#appView .topbar .brand-logo,
#opsSidebar .ops-side-brand img {
  padding: 10px !important;
  border: 1px solid rgb(230 190 92 / 42%) !important;
  border-radius: 20px !important;
  background: #173b5d !important;
  box-shadow: 0 5px 18px rgb(5 20 38 / 28%) !important;
  filter: none !important;
}
#loginView .brand-logo {
  padding: 16px !important;
}
#opsSidebar .ops-side-brand {
  background: linear-gradient(180deg, #142d49 0%, #173b5d 100%) !important;
}

/* On the navigation menu, let the gold mark sit directly on the navy menu surface. */
html body #opsSidebar.ops-ui-sidebar .ops-side-brand,
html body #opsSidebar .ops-side-brand {
  justify-content: center !important;
  background: #142d49 !important;
  border-bottom: 1px solid rgb(255 255 255 / 8%) !important;
}
html body #opsSidebar.ops-ui-sidebar .ops-side-brand img,
html body #opsSidebar .ops-side-brand img {
  width: 58px !important;
  height: 58px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: drop-shadow(0 1px 2px rgb(0 0 0 / 18%)) !important;
  object-fit: contain !important;
}
html body #opsSidebar.ops-ui-sidebar .ops-side-brand:hover,
html body #opsSidebar .ops-side-brand:hover {
  background: #1a3858 !important;
}
