/**
 * Goundi layout — client shell, header zones, sidebar architecture (foundation).
 */

.gnd-client-shell {
  display: grid;
  min-height: calc(100vh - var(--gnd-header-height));
  grid-template-columns: 1fr;
  grid-template-areas:
    "topbar"
    "content";
}

.gnd-client-shell__topbar {
  grid-area: topbar;
}

.gnd-client-shell__sidebar {
  display: none;
  grid-area: sidebar;
  width: var(--gnd-sidebar-width);
  border-right: 1px solid var(--goundi-border);
  background: #fff;
}

.gnd-client-shell__content {
  grid-area: content;
  min-width: 0;
  padding: var(--gnd-space-6) 0 var(--gnd-space-8);
}

.gnd-client-shell--with-sidebar {
  grid-template-areas:
    "sidebar topbar"
    "sidebar content";
  grid-template-columns: var(--gnd-sidebar-width) 1fr;
}

.gnd-client-shell--with-sidebar .gnd-client-shell__sidebar {
  display: block;
}

/* Sidebar nav */
.gnd-client-nav {
  padding: 1.25rem 0.875rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.gnd-client-nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.1875rem;
}

.gnd-client-nav__link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5625rem 0.75rem;
  border-radius: var(--gnd-radius-md, 0.75rem);
  color: #475569;
  font-size: 0.84375rem;
  font-weight: 500;
  text-decoration: none;
  transition: all var(--goundi-transition);
  position: relative;
}

.gnd-client-nav__link i {
  color: #64748b;
  font-size: 0.9375rem;
  width: 1.25rem;
  text-align: center;
  transition: color var(--goundi-transition);
}

.gnd-client-nav__link:hover {
  background: var(--gnd-v3-green-50, #eef8f2);
  color: var(--gnd-v3-forest-950, #123c2c);
}

.gnd-client-nav__link:hover i {
  color: var(--gnd-v3-green-600, #2f7d4a);
}

.gnd-client-nav__link.is-active {
  background: var(--gnd-v3-green-50, #eef8f2);
  color: var(--gnd-v3-forest-950, #123c2c);
  font-weight: 700;
}

.gnd-client-nav__link.is-active i {
  color: var(--gnd-v3-green-600, #2f7d4a);
}

.gnd-client-nav__link.is-active::before {
  content: "";
  position: absolute;
  left: -0.875rem;
  top: 0.375rem;
  bottom: 0.375rem;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--gnd-v3-green-600, #2f7d4a);
}

.gnd-client-nav__link--disabled {
  opacity: 0.7;
  cursor: default;
}

.gnd-client-nav__link--disabled:hover {
  background: transparent;
  color: #475569;
}

.gnd-client-nav__soon {
  margin-left: auto;
  font-size: 0.625rem;
  padding: 0.15rem 0.45rem;
  border-radius: 0.25rem;
}

.gnd-client-nav__section {
  margin-top: var(--gnd-space-4);
  padding-top: var(--gnd-space-4);
  border-top: 1px solid var(--gnd-v3-border-subtle, #f1f5f9);
}

.gnd-client-nav__section-label {
  padding: 0.875rem 0.75rem 0.375rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}

.gnd-client-nav__section-label:first-of-type {
  padding-top: 0.25rem;
}

.gnd-client-nav__footer {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid var(--gnd-v3-border-subtle, #f1f5f9);
}

.gnd-client-nav__link--logout {
  color: #94a3b8;
}

.gnd-client-nav__link--logout:hover {
  background: #fef2f2;
  color: #dc2626;
}

.gnd-client-nav__link--logout:hover i {
  color: #dc2626;
}

/* Mobile drawer (foundation) */
.gnd-mobile-drawer {
  position: fixed;
  inset: 0;
  z-index: var(--gnd-z-overlay);
  pointer-events: none;
  visibility: hidden;
}

.gnd-mobile-drawer.is-open {
  pointer-events: auto;
  visibility: visible;
}

.gnd-mobile-drawer__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(15 23 42 / 0.4);
  opacity: 0;
  transition: opacity var(--goundi-transition);
}

.gnd-mobile-drawer.is-open .gnd-mobile-drawer__backdrop {
  opacity: 1;
}

.gnd-mobile-drawer__panel {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: min(18rem, 85vw);
  background: #fff;
  transform: translateX(-100%);
  transition: transform var(--goundi-transition);
  overflow-y: auto;
}

.gnd-mobile-drawer.is-open .gnd-mobile-drawer__panel {
  transform: translateX(0);
}

/* Companion placement zones */
.gnd-companion-zone {
  position: relative;
}

.gnd-companion-zone__mascot {
  position: absolute;
  z-index: var(--gnd-z-companion);
  pointer-events: none;
}

.gnd-companion-zone__mascot--corner-br {
  right: var(--gnd-space-4);
  bottom: var(--gnd-space-4);
}

.gnd-companion-zone__mascot--inline {
  position: static;
  pointer-events: auto;
}

/* Brand badge (partials/goundi-brand.tpl) */
.gnd-brand__badge {
  margin-left: var(--gnd-space-2);
  padding: 0.125rem 0.5rem;
  border-radius: var(--gnd-radius-pill);
  border: 1px solid var(--goundi-border);
  background: var(--goundi-soft);
  font-size: var(--gnd-font-size-xs);
  font-weight: var(--gnd-font-weight-bold);
  color: var(--goundi-accent-strong);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ═══════════════════════════════════════════════════════════════
   C4B — Auth layout (Figma 13a–13d)
   ═══════════════════════════════════════════════════════════════ */

.gnd-layout-auth {
  background: var(--goundi-page);
}

.gnd-auth-page {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 1fr;
  width: 100%;
}

.gnd-auth-visual {
  display: none;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 75% 25%, rgba(34, 197, 94, 0.26) 0%, rgba(10, 48, 30, 0.15) 50%, transparent 72%),
    radial-gradient(ellipse at 20% 80%, rgba(217, 121, 31, 0.11) 0%, transparent 58%),
    radial-gradient(circle at 50% 50%, rgba(5, 32, 20, 0.6) 0%, transparent 100%),
    linear-gradient(168deg, #02110a 0%, #051e13 32%, #082d1d 70%, #021109 100%);
  color: var(--goundi-on-dark);
  padding: clamp(2rem, 3.5vw, 3.5rem);
  border-right: 1px solid rgba(255, 255, 255, 0.07);
  box-sizing: border-box;
}

.gnd-auth-visual__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  max-width: 40rem;
  margin-inline: auto;
  height: 100%;
  box-sizing: border-box;
}

.gnd-auth-visual__header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.gnd-auth-visual .goundi-brand,
.gnd-auth-visual .gnd-brand {
  color: var(--goundi-on-dark);
}

.gnd-auth-visual .goundi-brand__accent,
.gnd-auth-visual .gnd-brand__accent {
  color: var(--gnd-green-300);
}

.gnd-auth-visual .gnd-brand__text,
.gnd-auth-visual .goundi-brand__text {
  color: #f8fafc;
  text-shadow: 0 1px 3px rgb(2 44 16 / 0.45);
}

.gnd-auth-visual .gnd-brand__icon,
.gnd-auth-visual .goundi-brand__icon {
  color: #bbf7d0;
}

.gnd-auth-visual .gnd-brand__badge {
  background: rgb(255 255 255 / 0.12);
  border-color: rgb(255 255 255 / 0.28);
  color: #ecfdf5;
}

/* Status Pill in Header */
.gnd-auth-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.85rem;
  border-radius: var(--gnd-radius-full, 9999px);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  font-size: 0.75rem;
  font-weight: 500;
  color: #d1fae5;
  letter-spacing: 0.01em;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  user-select: none;
}

.gnd-auth-status-pill__dot {
  position: relative;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #34d399;
  box-shadow: 0 0 10px #34d399;
}

.gnd-auth-status-pill__dot::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 50%;
  border: 1px solid rgba(52, 211, 153, 0.7);
  animation: gndPulsePing 2.4s cubic-bezier(0, 0, 0.2, 1) infinite;
}

/* Central Visual Stage */
.gnd-auth-visual__stage {
  position: relative;
  width: 100%;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 30rem;
  margin: clamp(0.75rem, 1.5vh, 1.5rem) 0;
  box-sizing: border-box;
}

/* Dedicated Scene Wrapper — Mathematical Lock for Living Composition */
.gnd-auth-scene,
.goundi-auth-scene {
  position: absolute;
  left: 54%;
  top: 50%;
  width: min(100%, 580px);
  height: min(100%, 490px);
  max-width: 580px;
  max-height: 490px;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  box-sizing: border-box;
}

/* Living Atmospheric Halos */
.gnd-auth-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(80px);
  will-change: transform, opacity;
}

.gnd-auth-glow--emerald {
  top: 10%;
  right: 5%;
  width: 22rem;
  height: 22rem;
  background: radial-gradient(circle, rgba(52, 211, 153, 0.24) 0%, rgba(16, 185, 129, 0.08) 60%, transparent 80%);
  animation: gndAtmosphereDrift 10s ease-in-out infinite alternate;
}

.gnd-auth-glow--amber {
  bottom: 8%;
  left: 5%;
  width: 18rem;
  height: 18rem;
  background: radial-gradient(circle, rgba(251, 146, 60, 0.14) 0%, rgba(217, 119, 6, 0.04) 60%, transparent 80%);
  animation: gndAtmosphereDrift 13s ease-in-out infinite alternate-reverse;
}

.gnd-auth-glow--core {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 20rem;
  height: 20rem;
  background: radial-gradient(circle, rgba(74, 222, 128, 0.2) 0%, rgba(34, 197, 94, 0.06) 50%, transparent 70%);
  filter: blur(45px);
  animation: gndCorePulse 7s ease-in-out infinite;
}

/* SVG Scene Container */
.gnd-auth-scene-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  user-select: none;
}

/* Base Paths */
.gnd-path-base {
  fill: none;
  stroke-linecap: round;
  stroke-width: 1.5;
  opacity: 0.32;
}

.gnd-path-glow {
  fill: none;
  stroke-linecap: round;
  stroke-width: 3.5;
  opacity: 0.15;
  filter: blur(2.5px);
}

/* Orbital Rings */
.gnd-orbit-ring {
  fill: none;
  stroke: rgba(134, 239, 172, 0.2);
  stroke-width: 1.2;
}

.gnd-orbit-ring--dashed {
  stroke-dasharray: 6 18;
  animation: gndOrbitDash 22s linear infinite;
}

.gnd-orbit-ring--dashed-rev {
  stroke-dasharray: 8 24;
  animation: gndOrbitDash 28s linear infinite reverse;
}

/* Moving Light Streams — Highly Visible Energetic Packets */
.gnd-stream {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 6px rgba(134, 239, 172, 0.8));
}

.gnd-stream-1 {
  stroke-dasharray: 45 220;
  animation: gndStreamFlow 3.2s linear infinite;
}

.gnd-stream-2 {
  stroke-dasharray: 55 260;
  animation: gndStreamFlow 4.2s linear infinite;
  animation-delay: -1.2s;
}

.gnd-stream-3 {
  stroke-dasharray: 40 200;
  animation: gndStreamFlow 3s linear infinite;
  animation-delay: -2.1s;
}

.gnd-stream-4 {
  stroke-dasharray: 50 240;
  animation: gndStreamFlow 3.6s linear infinite;
  animation-delay: -0.6s;
}

/* Beacons / Nodes */
.gnd-beacon {
  transform-box: fill-box;
  transform-origin: center;
}

.gnd-beacon__ripple {
  transform-box: fill-box;
  transform-origin: center;
  animation: gndBeaconRipple 2.8s cubic-bezier(0.2, 0.8, 0.4, 1) infinite;
}

.gnd-beacon__twinkle {
  animation: gndBeaconTwinkle 2.2s ease-in-out infinite alternate;
}

.gnd-delay-1 { animation-delay: 0.6s; }
.gnd-delay-2 { animation-delay: 1.2s; }
.gnd-delay-3 { animation-delay: 1.8s; }
.gnd-delay-4 { animation-delay: 2.4s; }

/* Floating Dust Sparks */
.gnd-dust {
  transform-box: fill-box;
  transform-origin: center;
  animation: gndDustFloat 5s ease-in-out infinite alternate;
}

.gnd-dust-1 { animation-delay: 0s; }
.gnd-dust-2 { animation-delay: 1.1s; }
.gnd-dust-3 { animation-delay: 2.3s; }
.gnd-dust-4 { animation-delay: 3.5s; }
.gnd-dust-5 { animation-delay: 4.2s; }

/* Central Mascot Anchor & Pedestal — Locked Inside Scene Wrapper */
.gnd-auth-mascot {
  position: absolute;
  left: 53%;
  top: 53%;
  transform: translate(-50%, -50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  user-select: none;
}

.gnd-auth-mascot__pedestal-glow {
  position: absolute;
  bottom: 10px;
  width: min(290px, 90%);
  height: 52px;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(74, 222, 128, 0.48) 0%, rgba(34, 197, 94, 0.2) 45%, transparent 74%);
  filter: blur(16px);
  animation: gndPedestalBreathe 5s ease-in-out infinite;
}

.gnd-auth-mascot__pedestal-ring {
  position: absolute;
  bottom: 22px;
  width: min(230px, 75%);
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid rgba(74, 222, 128, 0.42);
  background: radial-gradient(ellipse at center, rgba(52, 211, 153, 0.14) 0%, transparent 70%);
  filter: drop-shadow(0 0 8px rgba(74, 222, 128, 0.5));
  animation: gndPedestalRing 5s ease-in-out infinite;
}

.gnd-auth-mascot__img {
  display: block;
  width: clamp(245px, 21vw, 305px);
  height: auto;
  max-height: 400px;
  object-fit: contain;
  filter: drop-shadow(0 26px 36px rgba(1, 15, 8, 0.75)) drop-shadow(0 4px 18px rgba(34, 197, 94, 0.22));
  animation: gndMascotHover 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  transform-origin: center bottom;
}

.gnd-auth-mascot__shadow {
  width: min(210px, 70%);
  height: 14px;
  margin-top: -10px;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(1, 12, 6, 0.85) 0%, rgba(2, 18, 11, 0.45) 50%, transparent 80%);
  filter: blur(6px);
  animation: gndShadowScale 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

/* Editorial Footer */
.gnd-auth-visual__footer {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding-top: 1rem;
  padding-bottom: clamp(1rem, 2vh, 1.75rem);
  z-index: 5;
}

.gnd-auth-visual__slogan {
  margin: 0;
  font-family: var(--font-display, "Syne", sans-serif);
  font-size: clamp(1.45rem, 2.3vw, 1.95rem);
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.028em;
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

.gnd-auth-visual__support {
  margin: 0;
  font-size: clamp(0.9rem, 1.1vw, 1rem);
  line-height: 1.55;
  color: #cbd5e1 !important;
  max-width: 44ch;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

/* Animation Keyframes */
@keyframes gndStreamFlow {
  from { stroke-dashoffset: 0; }
  to { stroke-dashoffset: -280; }
}

@keyframes gndOrbitDash {
  to { stroke-dashoffset: 240; }
}

@keyframes gndBeaconRipple {
  0% {
    transform: scale(0.9);
    opacity: 0.7;
  }
  100% {
    transform: scale(2.2);
    opacity: 0;
  }
}

@keyframes gndBeaconTwinkle {
  0% { transform: scale(1); filter: brightness(1); }
  100% { transform: scale(1.15); filter: brightness(1.4); }
}

@keyframes gndPulsePing {
  0% { transform: scale(1); opacity: 0.8; }
  100% { transform: scale(2.5); opacity: 0; }
}

@keyframes gndMascotHover {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes gndShadowScale {
  0%, 100% { transform: scale(1); opacity: 0.85; }
  50% { transform: scale(0.95); opacity: 0.65; }
}

@keyframes gndPedestalBreathe {
  0%, 100% { transform: scale(1); opacity: 0.8; }
  50% { transform: scale(1.12); opacity: 1; }
}

@keyframes gndPedestalRing {
  0%, 100% { transform: scale(1); opacity: 0.55; }
  50% { transform: scale(1.06); opacity: 0.85; }
}

@keyframes gndAtmosphereDrift {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-16px, 12px) scale(1.1); }
}

@keyframes gndCorePulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.6; }
  50% { transform: translate(-50%, -50%) scale(1.15); opacity: 0.95; }
}

@keyframes gndDustFloat {
  0% { transform: translateY(0); opacity: 0.3; }
  50% { opacity: 0.9; }
  100% { transform: translateY(-14px); opacity: 0.4; }
}

/* Accessibility Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .gnd-auth-visual *,
  .gnd-auth-mascot__img,
  .gnd-auth-mascot__shadow,
  .gnd-auth-mascot__pedestal-glow,
  .gnd-auth-mascot__pedestal-ring,
  .gnd-stream,
  .gnd-beacon__ripple,
  .gnd-beacon__twinkle,
  .gnd-auth-glow,
  .gnd-dust,
  .gnd-orbit-ring {
    animation: none !important;
    transition: none !important;
  }
}

.gnd-auth-main {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-width: 0;
  width: 100%;
}

.gnd-auth-main__inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(1.25rem, 4vw, 2.5rem);
  width: 100%;
  max-width: none;
  margin-inline: auto;
  box-sizing: border-box;
}

.gnd-auth-form {
  width: 100%;
  max-width: min(460px, calc(100vw - 2.5rem));
  margin-inline: auto;
}

.gnd-auth-card {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: var(--gnd-space-8);
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-xl);
  background: #fff;
  box-shadow: var(--gnd-shadow-md);
}

.gnd-auth-card__title {
  margin: 0;
  font-size: 1.75rem;
  font-weight: var(--gnd-font-weight-bold);
  color: var(--goundi-text);
}

.gnd-auth-card__lead {
  margin: var(--gnd-space-2) 0 0;
  font-size: var(--gnd-font-size-md);
  color: var(--goundi-muted);
}

.gnd-auth-card__header {
  margin-bottom: var(--gnd-space-6);
}

.gnd-auth-card__forgot {
  font-size: var(--gnd-font-size-sm);
}

.gnd-auth-card__remember {
  margin: var(--gnd-space-4) 0;
}

.gnd-auth-card__submit {
  width: 100%;
  margin-top: var(--gnd-space-2);
}

.gnd-auth-card__footer {
  margin-top: var(--gnd-space-6);
  padding-top: var(--gnd-space-4);
  border-top: 1px solid var(--goundi-border);
  text-align: center;
  font-size: var(--gnd-font-size-sm);
}

.gnd-auth-card__register {
  font-weight: var(--gnd-font-weight-bold);
  margin-left: var(--gnd-space-1);
}

.gnd-auth-card__back {
  margin-top: var(--gnd-space-4);
  text-align: center;
}

.gnd-auth-footer {
  padding: var(--gnd-space-4) var(--gnd-space-6);
  text-align: center;
  font-size: var(--gnd-font-size-sm);
  display: flex;
  flex-direction: column;
  gap: var(--gnd-space-3);
  align-items: center;
}

.gnd-auth-footer__legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem 0.5rem;
  font-size: var(--gnd-font-size-xs, 0.8125rem);
  color: var(--gnd-color-muted, #64748b);
}

.gnd-auth-footer__legal a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.gnd-auth-footer__legal a:hover {
  color: var(--gnd-color-primary, #15803d);
}

.gnd-field {
  margin-bottom: var(--gnd-space-4);
}

.gnd-field__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gnd-space-2);
  margin-bottom: var(--gnd-space-2);
}

.gnd-field--password .gnd-field__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.35rem 1rem;
  margin-bottom: var(--gnd-space-2);
}

.gnd-field--password .gnd-label {
  margin-bottom: 0;
  flex: 1 1 auto;
  white-space: nowrap;
}

.gnd-field--password .gnd-auth-card__forgot {
  flex: 0 1 auto;
  margin-left: auto;
  text-align: right;
  max-width: 100%;
}

@media (max-width: 420px) {
  .gnd-field--password .gnd-field__head {
    flex-direction: column;
    align-items: stretch;
  }

  .gnd-field--password .gnd-auth-card__forgot {
    margin-left: 0;
    text-align: left;
  }
}

.gnd-field__hint {
  margin-top: var(--gnd-space-1);
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
}

.gnd-input-group {
  position: relative;
  display: flex;
}

.gnd-input-group .gnd-input {
  padding-right: 2.75rem;
}

.gnd-input-group__btn {
  position: absolute;
  right: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: transparent;
  color: var(--goundi-muted);
  padding: 0.5rem;
  cursor: pointer;
}

.gnd-btn--block {
  width: 100%;
}

.gnd-layout-auth #registration .card {
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-xl);
  box-shadow: var(--gnd-shadow-sm);
}

.gnd-layout-auth #registration .card-title {
  color: var(--goundi-primary);
  font-weight: var(--gnd-font-weight-bold);
}

@media (min-width: 992px) {
  .gnd-auth-page {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.82fr);
  }

  .gnd-auth-visual {
    display: flex;
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .gnd-auth-main {
    grid-column: 2;
    grid-row: 1;
  }

  .gnd-auth-main__inner {
    padding: var(--gnd-space-10);
  }

  .gnd-auth-footer {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (min-width: 1280px) {
  .gnd-auth-page {
    grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.78fr);
  }

  .gnd-auth-mascot__img {
    width: clamp(255px, 21vw, 310px);
  }
}

/* Auth — Twenty-One / Bootstrap leak resets (scoped) */
body.gnd-layout-auth {
  min-height: 100vh;
}

body.gnd-layout-auth .gnd-auth-main__inner.primary-content {
  max-width: none;
}

body.gnd-layout-auth .gnd-auth-main__inner.primary-content .content,
body.gnd-layout-auth .gnd-auth-main__inner .content {
  width: 100%;
  max-width: none;
  padding: 0;
  overflow: visible;
}

body.gnd-layout-auth .gnd-auth-main__inner form.login-form {
  width: 100%;
  max-width: min(460px, calc(100vw - 2.5rem));
  margin-inline: auto;
}

body.gnd-layout-auth .gnd-auth-main__inner .gnd-input,
body.gnd-layout-auth .gnd-auth-main__inner .gnd-btn--block {
  width: 100%;
  max-width: none;
}

body.gnd-layout-auth .gnd-auth-main__inner > p:has(a[href*="whmcs.com"]) {
  width: 100%;
  max-width: min(460px, calc(100vw - 2.5rem));
  margin: var(--gnd-space-5) auto 0;
  padding: 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: var(--goundi-muted);
  text-align: center;
}

body.gnd-layout-auth .gnd-auth-main__inner > p:has(a[href*="whmcs.com"]) a {
  color: var(--goundi-accent-strong);
}

/* ═══════════════════════════════════════════════════════════════
   C4B — Client shell (Figma 14)
   ═══════════════════════════════════════════════════════════════ */

.gnd-layout-client {
  background: var(--goundi-page);
}

.gnd-app {
  display: grid;
  min-height: 100vh;
  grid-template-columns: 1fr;
}

.gnd-sidebar {
  display: none;
  flex-direction: column;
  width: var(--gnd-sidebar-width);
  border-right: 1px solid var(--gnd-v3-border, #e2e8f0);
  background: #ffffff;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  box-shadow: 1px 0 3px rgb(18 60 44 / 0.02);
}

.gnd-sidebar__brand {
  padding: 1.25rem 1.25rem;
  border-bottom: 1px solid var(--gnd-v3-border-subtle, #f1f5f9);
}

.gnd-app__main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100vh;
}

.gnd-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gnd-space-4);
  min-height: var(--gnd-topbar-height);
  padding: 0 1.5rem;
  border-bottom: 1px solid var(--gnd-v3-border, #e2e8f0);
  background: rgb(255 255 255 / 0.94);
  backdrop-filter: blur(12px);
  position: sticky;
  top: 0;
  z-index: var(--gnd-z-sticky);
}

.gnd-topbar__start {
  display: flex;
  align-items: center;
  gap: var(--gnd-space-3);
  min-width: 0;
}

.gnd-topbar__menu-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.375rem;
  height: 2.375rem;
  border: 1px solid var(--gnd-v3-border, #e2e8f0);
  border-radius: var(--gnd-radius-md);
  background: #fff;
  color: var(--gnd-v3-forest-950, #123c2c);
  cursor: pointer;
  transition: all var(--goundi-transition);
}

.gnd-topbar__menu-btn:hover {
  border-color: var(--gnd-v3-border-green, #bbf7d0);
  background: var(--gnd-v3-green-50, #eef8f2);
}

.gnd-topbar__breadcrumb .breadcrumb {
  margin: 0;
  padding: 0;
  background: transparent;
  font-size: var(--gnd-font-size-sm);
  color: var(--gnd-v3-text-muted, #64748b);
}

.gnd-topbar__breadcrumb .breadcrumb a {
  color: var(--gnd-v3-text-muted, #64748b);
  text-decoration: none;
  transition: color var(--goundi-transition);
}

.gnd-topbar__breadcrumb .breadcrumb a:hover {
  color: var(--gnd-v3-forest-950, #123c2c);
}

.gnd-topbar__breadcrumb .breadcrumb-item.active {
  color: var(--gnd-v3-forest-950, #123c2c);
  font-weight: 600;
}

.gnd-topbar__actions {
  display: flex;
  align-items: center;
  gap: var(--gnd-space-2);
}

.gnd-topbar__icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.375rem;
  height: 2.375rem;
  border: 1px solid transparent;
  border-radius: var(--gnd-radius-md);
  background: transparent;
  color: var(--gnd-v3-text-muted, #64748b);
  text-decoration: none;
  cursor: pointer;
  transition: all var(--goundi-transition);
}

.gnd-topbar__icon-btn:hover {
  background: var(--gnd-v3-green-50, #eef8f2);
  color: var(--gnd-v3-forest-950, #123c2c);
  border-color: var(--gnd-v3-border-green, #bbf7d0);
}

.gnd-topbar__badge {
  position: absolute;
  top: 0.15rem;
  right: 0.15rem;
  min-width: 0.95rem;
  height: 0.95rem;
  padding: 0 0.25rem;
  border-radius: var(--gnd-radius-pill);
  background: var(--gnd-v3-orange-500, #d9791f);
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 0.95rem;
  text-align: center;
  box-shadow: 0 0 0 2px #fff;
}

.gnd-topbar__user-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--gnd-space-2);
  border: 1px solid var(--gnd-v3-border, #e2e8f0);
  border-radius: var(--gnd-radius-pill);
  background: #fff;
  padding: 0.25rem 0.75rem 0.25rem 0.25rem;
  cursor: pointer;
  transition: all var(--goundi-transition);
}

.gnd-topbar__user-btn:hover {
  border-color: var(--gnd-v3-border-green, #bbf7d0);
  background: var(--gnd-v3-green-50, #eef8f2);
}

.gnd-topbar__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  background: var(--gnd-v3-forest-950, #123c2c);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
}

.gnd-topbar__user-name {
  font-size: var(--gnd-font-size-sm);
  font-weight: 600;
  color: var(--gnd-v3-forest-950, #123c2c);
  max-width: 10rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gnd-main {
  flex: 1;
}

.gnd-main__inner {
  padding: var(--gnd-space-6) var(--gnd-space-5) var(--gnd-space-10);
  width: 100%;
  max-width: min(90rem, 100%);
  margin-inline: auto;
  box-sizing: border-box;
}

body.gnd-layout-client .gnd-main__inner.primary-content {
  max-width: min(90rem, 100%);
}

body.gnd-layout-client .gnd-main__inner.primary-content .content {
  padding: 0;
  overflow: visible;
  max-width: none;
}

.gnd-client-nav__user {
  display: flex;
  align-items: center;
  gap: var(--gnd-space-3);
  padding: var(--gnd-space-4);
  margin-bottom: var(--gnd-space-2);
  border-bottom: 1px solid var(--goundi-border);
}

.gnd-client-nav__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--goundi-accent);
  color: #fff;
  font-weight: var(--gnd-font-weight-bold);
}

.gnd-client-nav__user-name {
  margin: 0;
  font-size: var(--gnd-font-size-md);
  font-weight: var(--gnd-font-weight-bold);
}

.gnd-client-nav__user-email {
  margin: 0.125rem 0 0;
  font-size: var(--gnd-font-size-xs);
  color: var(--goundi-muted);
}

.gnd-client-nav__link--disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.gnd-client-nav__soon {
  margin-left: auto;
  font-size: 0.625rem;
}

.gnd-client-nav__footer {
  margin-top: auto;
  padding: var(--gnd-space-4);
  border-top: 1px solid var(--goundi-border);
}

.gnd-client-nav__link--logout {
  color: var(--gnd-color-error);
}

.gnd-mobile-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--gnd-space-4);
  border-bottom: 1px solid rgb(255 255 255 / 0.1);
}

.gnd-mobile-drawer__title {
  font-weight: var(--gnd-font-weight-bold);
  color: #fff;
}

.gnd-mobile-drawer__close {
  border: none;
  background: transparent;
  color: #fff;
  font-size: 1.25rem;
  cursor: pointer;
  width: 2.75rem;
  height: 2.75rem;
}

.gnd-mobile-drawer__panel {
  background: var(--gnd-green-900);
  color: var(--goundi-on-dark);
}

.gnd-mobile-drawer .gnd-client-nav__link {
  color: rgb(248 250 252 / 0.85);
}

.gnd-mobile-drawer .gnd-client-nav__link:hover,
.gnd-mobile-drawer .gnd-client-nav__link.is-active {
  background: rgb(255 255 255 / 0.08);
  color: #fff;
}

.gnd-mobile-drawer .gnd-client-nav__section-label {
  color: rgb(248 250 252 / 0.45);
}

@media (min-width: 992px) {
  .gnd-app {
    grid-template-columns: var(--gnd-sidebar-width) 1fr;
  }

  .gnd-sidebar {
    display: flex;
  }
}

/* ═══════════════════════════════════════════════════════════════
   C4B — Dashboard (Figma 15)
   ═══════════════════════════════════════════════════════════════ */

.gnd-dashboard__header {
  margin-bottom: var(--gnd-space-6);
}

.gnd-dashboard__title {
  margin: 0;
  font-family: var(--font-display, "Syne", sans-serif);
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 700;
  color: var(--gnd-v3-forest-950, #123c2c);
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.gnd-dashboard__lead {
  margin: 0.375rem 0 0;
  font-size: 0.9375rem;
  color: var(--gnd-v3-text-muted, #64748b);
  line-height: 1.5;
}

.gnd-dashboard__sublead {
  display: none;
}

.gnd-dashboard-alerts {
  margin-bottom: var(--gnd-space-5);
}

.gnd-dashboard-alerts__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: var(--gnd-space-2);
}

.gnd-dashboard-alerts__link {
  display: flex;
  align-items: flex-start;
  gap: var(--gnd-space-3);
  padding: 0.75rem 1rem;
  border-radius: var(--gnd-radius-md, 0.75rem);
  border: 1px solid var(--gnd-v3-border, #e2e8f0);
  background: #ffffff;
  text-decoration: none;
  color: var(--gnd-v3-forest-950, #123c2c);
  font-size: var(--gnd-font-size-sm);
  transition: all var(--goundi-transition);
}

.gnd-dashboard-alerts__link:hover {
  transform: translateY(-1px);
}

.gnd-dashboard-alerts__link--danger {
  border-color: #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.gnd-dashboard-alerts__link--warning {
  border-color: #fde68a;
  background: #fffbeb;
  color: #92400e;
}

/* Stat Grid & Cards */
.gnd-stat-grid {
  display: grid;
  gap: var(--gnd-space-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: var(--gnd-space-6);
}

.gnd-stat-card {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: 1.125rem 1.25rem;
  border: 1px solid var(--gnd-v3-border, #e2e8f0);
  border-radius: var(--gnd-radius-lg, 1rem);
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 1px 3px rgb(18 60 44 / 0.04);
  transition: all var(--goundi-transition);
}

.gnd-stat-card:hover {
  border-color: var(--gnd-v3-border-green, #bbf7d0);
  box-shadow: var(--gnd-v3-shadow-subtle);
  transform: translateY(-2px);
}

.gnd-stat-card__icon {
  display: inline-flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  border-radius: var(--gnd-radius-md, 0.75rem);
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}

.gnd-stat-card__icon--green { background: var(--gnd-v3-green-50, #eef8f2); color: var(--gnd-v3-green-600, #2f7d4a); }
.gnd-stat-card__icon--blue { background: #eff6ff; color: #2563eb; }
.gnd-stat-card__icon--orange { background: var(--gnd-v3-orange-50, #fff7ed); color: var(--gnd-v3-orange-600, #c2410c); }
.gnd-stat-card__icon--gold { background: #fffbeb; color: #d97706; }

.gnd-stat-card__value {
  font-family: var(--font-display, "Syne", sans-serif);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.1;
  color: var(--gnd-v3-forest-950, #123c2c);
}

.gnd-stat-card__label {
  font-size: 0.8125rem;
  color: var(--gnd-v3-text-muted, #64748b);
  font-weight: 500;
}

.gnd-stat-card__hint {
  font-size: 0.75rem;
  color: var(--gnd-v3-green-600, #2f7d4a);
  font-weight: 600;
  margin-top: 0.5rem;
}

.gnd-stat-card--nav-only {
  min-height: 6.5rem;
}

/* Quick Actions */
.gnd-quick-actions {
  margin-bottom: var(--gnd-space-6);
}

.gnd-quick-actions__title {
  margin: 0 0 var(--gnd-space-3);
  font-family: var(--font-display, "Syne", sans-serif);
  font-size: 1rem;
  font-weight: 700;
  color: var(--gnd-v3-forest-950, #123c2c);
  letter-spacing: -0.01em;
}

.gnd-quick-actions__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
  gap: var(--gnd-space-3);
}

.gnd-quick-actions__link {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.6875rem 0.875rem;
  border: 1px solid var(--gnd-v3-border, #e2e8f0);
  border-radius: var(--gnd-radius-md, 0.75rem);
  background: #ffffff;
  color: var(--gnd-v3-forest-950, #123c2c);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  transition: all var(--goundi-transition);
  box-shadow: 0 1px 2px rgb(15 23 42 / 0.03);
}

.gnd-quick-actions__link i {
  color: var(--gnd-v3-green-600, #2f7d4a);
  font-size: 0.95rem;
  width: 1.25rem;
  text-align: center;
}

.gnd-quick-actions__link:hover {
  border-color: var(--gnd-v3-border-green, #bbf7d0);
  background: var(--gnd-v3-green-50, #eef8f2);
  color: var(--gnd-v3-forest-950, #123c2c);
  transform: translateY(-1px);
  box-shadow: var(--gnd-v3-shadow-subtle);
}

/* Dashboard Grid Layout */
.gnd-dashboard__layout {
  display: grid;
  gap: var(--gnd-space-6);
}

.gnd-dashboard__primary {
  min-width: 0;
}

.gnd-dashboard__aside {
  display: grid;
  gap: var(--gnd-space-5);
  align-content: start;
}

.gnd-dashboard-modules {
  display: grid;
  gap: var(--gnd-space-5);
}

.gnd-dashboard-module {
  border: 1px solid var(--gnd-v3-border, #e2e8f0);
  border-radius: var(--gnd-radius-lg, 1rem);
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 1px 3px rgb(18 60 44 / 0.03);
}

.gnd-dashboard-module__header {
  padding: 0.875rem 1.25rem;
  border-bottom: 1px solid var(--gnd-v3-border-subtle, #f1f5f9);
  background: #fafbfa;
}

.gnd-dashboard-module__title {
  margin: 0;
  font-family: var(--font-display, "Syne", sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--gnd-v3-forest-950, #123c2c);
}

.gnd-dashboard-module__body {
  padding: 1.25rem;
}

.gnd-dashboard-module__body--billing .gnd-dl-compact {
  margin-bottom: var(--gnd-space-4);
}

.gnd-dashboard-module__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-2);
  margin-top: var(--gnd-space-4);
}

.gnd-dl-compact {
  margin: 0;
}

.gnd-dl-compact__row {
  display: flex;
  justify-content: space-between;
  gap: var(--gnd-space-4);
  padding: 0.4rem 0;
  border-bottom: 1px solid var(--gnd-v3-border-subtle, #f1f5f9);
}

.gnd-dl-compact__row dt {
  margin: 0;
  font-size: var(--gnd-font-size-sm);
  color: var(--gnd-v3-text-muted, #64748b);
}

.gnd-dl-compact__row dd {
  margin: 0;
  font-weight: 600;
  color: var(--gnd-v3-forest-950, #123c2c);
}

.gnd-link-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.375rem;
}

.gnd-link-list a {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.5rem 0.625rem;
  border-radius: var(--gnd-radius-md, 0.75rem);
  color: var(--gnd-v3-forest-950, #123c2c);
  text-decoration: none;
  font-size: 0.84375rem;
  font-weight: 500;
  transition: all var(--goundi-transition);
}

.gnd-link-list a i {
  color: var(--gnd-v3-text-muted, #64748b);
  font-size: 0.875rem;
}

.gnd-link-list a:hover {
  background: var(--gnd-v3-green-50, #eef8f2);
  color: var(--gnd-v3-green-600, #2f7d4a);
}

.gnd-link-list a:hover i {
  color: var(--gnd-v3-green-600, #2f7d4a);
}

.gnd-dashboard-native-panels {
  margin-top: var(--gnd-space-5);
  display: grid;
  gap: var(--gnd-space-4);
}

.gnd-dashboard-module--compact .gnd-dashboard-module__body {
  padding: 0.75rem;
}

body.gnd-layout-client .gnd-main__inner > p:has(a[href*="whmcs.com"]) {
  width: 100%;
  margin: var(--gnd-space-8) auto var(--gnd-space-4);
  font-size: 0.75rem;
  color: var(--goundi-muted);
  text-align: center;
}

/* Panel Card (WHMCS Home Panels, Active Services) */
.gnd-panel-card {
  border: 1px solid var(--gnd-v3-border, #e2e8f0);
  border-radius: var(--gnd-radius-lg, 1rem);
  background: #ffffff;
  overflow: hidden;
  margin-bottom: var(--gnd-space-5);
  box-shadow: 0 1px 3px rgb(18 60 44 / 0.03);
}

.gnd-panel-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gnd-space-3);
  padding: 0.875rem 1.25rem;
  background: #fafbfa;
  border-bottom: 1px solid var(--gnd-v3-border-subtle, #f1f5f9);
}

.gnd-panel-card__title {
  margin: 0;
  font-family: var(--font-display, "Syne", sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--gnd-v3-forest-950, #123c2c);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.gnd-panel-card__title i {
  color: var(--gnd-v3-green-600, #2f7d4a);
}

.gnd-panel-card__body {
  padding: 1rem 1.25rem;
}

.gnd-panel-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gnd-panel-list__item {
  border-top: 1px solid var(--gnd-v3-border-subtle, #f1f5f9);
  transition: background var(--goundi-transition);
}

.gnd-panel-list__item:first-child {
  border-top: none;
}

.gnd-panel-list__item:hover {
  background: #fbfdfb;
}

.gnd-panel-list__link,
.gnd-panel-list__static {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gnd-space-3);
  padding: 0.875rem 1.25rem;
  color: var(--gnd-v3-forest-950, #123c2c);
  text-decoration: none;
}

.gnd-panel-list__main {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}

.gnd-panel-list__label {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}

.gnd-panel-list__subactions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.375rem;
  padding: 0 1.25rem 0.75rem;
}

.gnd-empty-state__icon {
  margin: 0;
  font-size: 2.5rem;
  color: var(--goundi-accent);
  line-height: 1;
}

.gnd-empty-state {
  text-align: center;
  padding: var(--gnd-space-10) var(--gnd-space-6);
  border: 1px dashed var(--goundi-border);
  border-radius: var(--gnd-radius-xl);
  background: #fff;
  margin-bottom: var(--gnd-space-6);
}

.gnd-empty-state__title {
  margin: var(--gnd-space-4) 0 var(--gnd-space-2);
  font-size: 1.25rem;
}

.gnd-empty-state__text {
  margin: 0 0 var(--gnd-space-5);
  color: var(--goundi-muted);
  max-width: 28rem;
  margin-inline: auto;
}

.gnd-impact-card {
  padding: 1.25rem;
  border: 1px solid var(--gnd-v3-border-green, #bbf7d0);
  border-radius: var(--gnd-radius-lg, 1rem);
  background: linear-gradient(145deg, #f0fdf4 0%, #ffffff 100%);
  box-shadow: 0 2px 8px rgb(47 125 74 / 0.05);
}

.gnd-impact-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gnd-space-2);
  margin-bottom: 0.5rem;
}

.gnd-impact-card__title {
  margin: 0;
  font-family: var(--font-display, "Syne", sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--gnd-v3-forest-950, #123c2c);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.gnd-impact-card__title i {
  color: var(--gnd-v3-green-600, #2f7d4a);
}

.gnd-impact-card__text {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--gnd-v3-text-muted, #64748b);
  line-height: 1.5;
}

@media (min-width: 768px) {
  .gnd-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .gnd-dashboard-panels__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 768px) {
  .gnd-dashboard-modules {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .gnd-dashboard__layout {
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem);
    align-items: start;
  }

  .gnd-dashboard__grid {
    grid-template-columns: minmax(0, 1fr) 18rem;
  }
}

/* ═══════════════════════════════════════════════════════════════
   C4C — Domain + Hosting resource pages
   ═══════════════════════════════════════════════════════════════ */

.gnd-resource-page__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--gnd-space-4);
  margin-bottom: var(--gnd-space-6);
}

.gnd-resource-page__title {
  margin: 0;
  font-family: var(--font-display, "Syne", sans-serif);
  font-size: clamp(1.65rem, 3vw, 2.125rem);
  font-weight: 700;
  color: var(--gnd-v3-forest-950, #123c2c);
  letter-spacing: -0.02em;
}

.gnd-resource-page__lead {
  margin: 0.375rem 0 0;
  color: var(--gnd-v3-text-muted, #64748b);
  max-width: 36rem;
  font-size: 0.9375rem;
}

.gnd-resource-toolbar {
  margin-bottom: var(--gnd-space-4);
}

.gnd-resource-toolbar__search {
  max-width: 24rem;
}

.gnd-resource-list {
  display: grid;
  gap: var(--gnd-space-4);
}

.gnd-resource-list__empty-filter {
  text-align: center;
  color: var(--gnd-v3-text-muted, #64748b);
  padding: var(--gnd-space-6);
}

.gnd-resource-card {
  display: grid;
  gap: var(--gnd-space-4);
  padding: 1.25rem;
  border: 1px solid var(--gnd-v3-border, #e2e8f0);
  border-radius: var(--gnd-radius-lg, 1rem);
  background: #ffffff;
  box-shadow: 0 1px 3px rgb(18 60 44 / 0.03);
  transition: all var(--goundi-transition);
}

.gnd-resource-card:hover {
  border-color: var(--gnd-v3-border-green, #bbf7d0);
  box-shadow: var(--gnd-v3-shadow-subtle);
}

.gnd-resource-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--gnd-space-2);
}

.gnd-resource-card__title {
  margin: 0;
  font-family: var(--font-display, "Syne", sans-serif);
  font-size: 1.05rem;
  font-weight: 700;
}

.gnd-resource-card__title a {
  color: var(--gnd-v3-forest-950, #123c2c);
  text-decoration: none;
  transition: color var(--goundi-transition);
}

.gnd-resource-card__title a:hover {
  color: var(--gnd-v3-green-600, #2f7d4a);
}

.gnd-resource-card__meta {
  display: grid;
  gap: var(--gnd-space-2);
  margin: 0;
}

.gnd-resource-card__meta-row {
  display: grid;
  grid-template-columns: minmax(0, 9rem) 1fr;
  gap: var(--gnd-space-2);
  align-items: baseline;
}

.gnd-resource-card__meta-row dt {
  margin: 0;
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
  font-weight: var(--gnd-font-weight-medium);
}

.gnd-resource-card__meta-row dd {
  margin: 0;
  font-size: var(--gnd-font-size-md);
}

.gnd-resource-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-2);
}

.gnd-resource-card__actions .gnd-btn {
  min-height: 2.75rem;
  min-width: 2.75rem;
}

.gnd-resource-card__select {
  display: flex;
  align-items: flex-start;
}

.gnd-service-card--suspended {
  border-color: #fecaca;
  background: linear-gradient(180deg, #fff 0%, #fef2f2 100%);
}

.gnd-service-card__suspended {
  margin-top: var(--gnd-space-3);
}

.gnd-bulk-form__details {
  margin-bottom: var(--gnd-space-4);
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-md);
  background: var(--goundi-soft);
}

.gnd-bulk-form__summary {
  padding: var(--gnd-space-3) var(--gnd-space-4);
  cursor: pointer;
  font-weight: var(--gnd-font-weight-semibold);
  list-style: none;
}

.gnd-bulk-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-2);
  padding: 0 var(--gnd-space-4) var(--gnd-space-4);
}

.gnd-resource-detail__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--gnd-space-4);
  margin-bottom: var(--gnd-space-5);
}

.gnd-resource-detail__eyebrow {
  margin: 0 0 var(--gnd-space-2);
  font-size: var(--gnd-font-size-sm);
}

.gnd-resource-detail__eyebrow a {
  color: var(--goundi-muted);
  text-decoration: none;
}

.gnd-resource-detail__title {
  margin: 0;
  font-size: clamp(1.375rem, 3vw, 1.875rem);
  font-weight: var(--gnd-font-weight-bold);
  word-break: break-word;
}

.gnd-resource-detail__status-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gnd-space-3);
  margin-top: var(--gnd-space-3);
}

.gnd-resource-detail__due,
.gnd-resource-detail__domain {
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
}

.gnd-subnav {
  margin-bottom: var(--gnd-space-5);
}

.gnd-subnav__scroll {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--gnd-space-2);
  overflow-x: auto;
  padding-bottom: var(--gnd-space-1);
  -webkit-overflow-scrolling: touch;
}

.gnd-subnav__link {
  display: inline-flex;
  align-items: center;
  gap: var(--gnd-space-2);
  padding: 0.625rem 1rem;
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-pill);
  background: #fff;
  color: var(--goundi-text);
  font-size: var(--gnd-font-size-sm);
  font-weight: var(--gnd-font-weight-medium);
  text-decoration: none;
  white-space: nowrap;
  min-height: 2.75rem;
}

.gnd-subnav__link.is-active {
  background: var(--goundi-accent);
  border-color: var(--goundi-accent);
  color: #fff;
}

.gnd-subnav__link.is-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.gnd-subnav__mobile-select {
  display: block;
  margin-top: var(--gnd-space-3);
}

.gnd-detail-grid {
  display: grid;
  gap: var(--gnd-space-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.gnd-detail-grid__item dt {
  margin: 0 0 var(--gnd-space-1);
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
  font-weight: var(--gnd-font-weight-medium);
}

.gnd-detail-grid__item dd {
  margin: 0;
  font-size: var(--gnd-font-size-md);
  word-break: break-word;
}

.gnd-detail-card__title {
  margin: 0;
  font-size: var(--gnd-font-size-lg);
  font-weight: var(--gnd-font-weight-bold);
}

.gnd-detail-card__status-line {
  margin: var(--gnd-space-4) 0;
}

.gnd-quick-actions {
  margin-top: var(--gnd-space-5);
  padding-top: var(--gnd-space-5);
  border-top: 1px solid var(--goundi-border);
}

.gnd-quick-actions__list {
  margin: var(--gnd-space-3) 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-2);
}

.gnd-quick-actions__link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0.5rem 1rem;
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-md);
  text-decoration: none;
  color: var(--goundi-accent);
  font-weight: var(--gnd-font-weight-semibold);
}

.gnd-addon-row {
  display: grid;
  gap: var(--gnd-space-4);
  grid-template-columns: auto 1fr;
  padding: var(--gnd-space-4) 0;
  border-top: 1px solid var(--goundi-border);
}

.gnd-addon-row:first-of-type {
  border-top: none;
  padding-top: 0;
}

.gnd-golgo-toast {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gnd-space-4);
  margin-bottom: var(--gnd-space-4);
  padding: var(--gnd-space-4) var(--gnd-space-5);
  border: 1px solid rgb(22 163 74 / 0.25);
  border-radius: var(--gnd-radius-xl);
  background: var(--gnd-green-50);
}

.gnd-golgo-toast__title {
  display: block;
  color: var(--goundi-accent-strong);
}

.gnd-golgo-toast__text {
  margin: var(--gnd-space-1) 0 0;
  font-size: var(--gnd-font-size-sm);
}

.gnd-service-suspended {
  margin-bottom: var(--gnd-space-5);
}

.gnd-service-suspended__reason {
  margin: var(--gnd-space-2) 0;
}

.gnd-service-suspended__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-2);
  margin-top: var(--gnd-space-3);
}

.gnd-service-overview {
  display: grid;
  gap: var(--gnd-space-6);
}

.gnd-service-overview__primary {
  display: grid;
  gap: var(--gnd-space-4);
}

.gnd-service-actions {
  display: grid;
  gap: var(--gnd-space-2);
}

.gnd-service-tabs {
  margin-top: var(--gnd-space-4);
  padding: var(--gnd-space-5);
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-xl);
  background: #fff;
}

.gnd-inline-tabs {
  margin-top: var(--gnd-space-4);
  border-bottom: 1px solid var(--goundi-border);
}

.gnd-usage-grid {
  display: grid;
  gap: var(--gnd-space-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  text-align: center;
}

.gnd-usage-card h3 {
  font-size: var(--gnd-font-size-md);
}

.gnd-next-invoice-card {
  padding: var(--gnd-space-5);
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-xl);
  background: #fff;
  margin-bottom: var(--gnd-space-4);
}

.gnd-next-invoice-card__title {
  margin: 0;
  font-size: var(--gnd-font-size-lg);
  font-weight: var(--gnd-font-weight-bold);
  display: flex;
  align-items: center;
  gap: var(--gnd-space-2);
}

.gnd-next-invoice-card__text {
  margin: var(--gnd-space-3) 0;
  font-size: var(--gnd-font-size-sm);
  line-height: 1.6;
}

.gnd-alert__actions {
  float: right;
  margin-left: var(--gnd-space-3);
}

@media (max-width: 767px) {
  .gnd-resource-card {
    grid-template-columns: 1fr;
  }

  .gnd-resource-card__meta-row {
    grid-template-columns: 1fr;
    gap: 0.125rem;
  }

  .gnd-detail-grid {
    grid-template-columns: 1fr;
  }

  .gnd-usage-grid {
    grid-template-columns: 1fr;
  }

  .gnd-addon-row {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) {
  .gnd-resource-card {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
  }
}

/* ═══════════════════════════════════════════════════════════════
   C4D — Billing, invoices, payments
   ═══════════════════════════════════════════════════════════════ */

.gnd-billing-subnav {
  margin-bottom: var(--gnd-space-5);
}

.gnd-billing-subnav__scroll {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-2);
}

.gnd-billing-subnav__link {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0.5rem 1rem;
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-pill);
  text-decoration: none;
  color: var(--goundi-text);
  font-size: var(--gnd-font-size-sm);
  font-weight: var(--gnd-font-weight-medium);
}

.gnd-billing-subnav__link.is-active {
  background: var(--goundi-accent);
  border-color: var(--goundi-accent);
  color: #fff;
}

.gnd-billing-subnav__meta {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0.5rem 1rem;
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
}

.gnd-billing-summary {
  display: grid;
  gap: var(--gnd-space-4);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: var(--gnd-space-5);
}

.gnd-billing-summary__card {
  padding: var(--gnd-space-5);
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-xl);
  background: #fff;
}

.gnd-billing-summary__card--warning {
  border-color: rgb(249 115 22 / 0.35);
  background: var(--gnd-orange-50);
}

.gnd-billing-summary__card--danger {
  border-color: #fecaca;
  background: #fef2f2;
}

.gnd-billing-summary__label {
  margin: 0 0 var(--gnd-space-2);
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
  font-weight: var(--gnd-font-weight-semibold);
}

.gnd-billing-summary__value {
  margin: 0;
  font-size: 1.5rem;
  font-weight: var(--gnd-font-weight-bold);
}

.gnd-billing-summary__meta {
  margin: var(--gnd-space-2) 0 0;
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
}

.gnd-billing-overdue {
  margin-bottom: var(--gnd-space-5);
}

.gnd-invoice-card--overdue {
  border-color: #fecaca;
}

.gnd-tosse-toast {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gnd-space-4);
  margin-bottom: var(--gnd-space-5);
  padding: var(--gnd-space-5);
  border: 1px solid rgb(249 115 22 / 0.3);
  border-radius: var(--gnd-radius-xl);
  background: linear-gradient(180deg, var(--gnd-orange-50) 0%, #fff 100%);
}

.gnd-tosse-toast__title {
  display: block;
  color: var(--gnd-orange-600);
  font-size: var(--gnd-font-size-lg);
}

.gnd-tosse-toast__text {
  margin: var(--gnd-space-1) 0 0;
}

.gnd-invoice-page {
  background: var(--goundi-page);
}

.gnd-invoice-shell {
  max-width: var(--gnd-shell-max);
  margin: 0 auto;
  padding: var(--gnd-space-5);
}

.gnd-invoice-page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gnd-space-4);
  margin-bottom: var(--gnd-space-5);
}

.gnd-invoice-page-header__back {
  color: var(--goundi-muted);
  text-decoration: none;
  font-size: var(--gnd-font-size-sm);
}

.gnd-invoice-container {
  background: #fff;
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-xl);
  padding: var(--gnd-space-6);
}

.gnd-invoice-header__title {
  margin: var(--gnd-space-2) 0 0;
  font-size: 1.5rem;
}

.gnd-invoice-amount-due {
  margin: var(--gnd-space-3) 0 var(--gnd-space-4);
  padding: var(--gnd-space-3) var(--gnd-space-4);
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-md);
  background: var(--goundi-soft);
  text-align: right;
}

.gnd-invoice-amount-due__label {
  margin: 0;
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
}

.gnd-invoice-amount-due__value {
  margin: var(--gnd-space-1) 0 0;
  font-size: 1.35rem;
  font-weight: var(--gnd-font-weight-bold);
  color: var(--goundi-primary);
}

.gnd-invoice-payto a {
  color: inherit;
}

.gnd-invoice-due {
  margin: var(--gnd-space-2) 0;
  color: var(--goundi-muted);
}

.gnd-invoice-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--gnd-space-3);
  padding: var(--gnd-space-2) 0;
  border-bottom: 1px solid var(--goundi-border);
}

.gnd-invoice-line--total,
.gnd-invoice-line--grand {
  border-bottom: none;
}

.gnd-invoice-line--grand {
  margin-top: var(--gnd-space-2);
  padding-top: var(--gnd-space-3);
  border-top: 2px solid var(--goundi-border);
}

.gnd-invoice-line__amount {
  text-align: right;
  white-space: nowrap;
}

.gnd-transaction-list {
  display: grid;
  gap: var(--gnd-space-3);
}

.gnd-transaction-card {
  padding: var(--gnd-space-4);
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-md);
  background: var(--goundi-soft);
}

.gnd-transaction-card__row {
  display: grid;
  grid-template-columns: minmax(0, 7rem) 1fr;
  gap: var(--gnd-space-2);
  padding: 0.125rem 0;
}

.gnd-transaction-card__label {
  color: var(--goundi-muted);
  font-size: var(--gnd-font-size-sm);
}

.gnd-invoice-balance {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: var(--gnd-space-4);
  padding-top: var(--gnd-space-4);
  border-top: 2px solid var(--goundi-border);
  font-size: var(--gnd-font-size-lg);
}

.gnd-invoice-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-3);
  justify-content: flex-end;
  margin-top: var(--gnd-space-6);
}

.gnd-invoice-actions .gnd-btn {
  min-height: 2.75rem;
}

.gnd-gateway-output .moovmoney-gateway,
.gnd-gateway-output form {
  max-width: 100%;
}

.gnd-gateway-output .btn,
.gnd-gateway-output button[type="submit"] {
  min-height: 2.75rem;
}

.gnd-masspay-group {
  margin-bottom: var(--gnd-space-4);
  padding-bottom: var(--gnd-space-4);
  border-bottom: 1px solid var(--goundi-border);
}

.gnd-masspay-group__header {
  margin-bottom: var(--gnd-space-2);
}

.gnd-masspay-totals {
  margin-top: var(--gnd-space-4);
  padding-top: var(--gnd-space-4);
  border-top: 1px solid var(--goundi-border);
}

.gnd-payment-state[aria-live="polite"] {
  margin-bottom: var(--gnd-space-5);
}

@media (min-width: 768px) {
  .gnd-billing-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .gnd-transaction-list {
    display: none;
  }

  .gnd-invoice-ledger .gnd-card__body {
    overflow-x: auto;
  }
}

@media (max-width: 767px) {
  .gnd-invoice-container {
    padding: var(--gnd-space-4);
  }

  .gnd-invoice-actions {
    flex-direction: column;
  }

  .gnd-invoice-actions .gnd-btn {
    width: 100%;
  }
}

/* ==========================================================================
   C4E — Support, Profile, Security, KB, Notifications
   ========================================================================== */

.gnd-support-subnav,
.gnd-account-subnav {
  margin-bottom: var(--gnd-space-5);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.gnd-support-subnav__scroll,
.gnd-account-subnav__scroll {
  display: flex;
  gap: var(--gnd-space-2);
  min-width: min-content;
  padding-bottom: var(--gnd-space-1);
}

.gnd-support-subnav__link,
.gnd-account-subnav__link {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.875rem;
  border-radius: var(--gnd-radius-pill);
  border: 1px solid var(--goundi-border);
  background: var(--goundi-surface);
  color: var(--goundi-text);
  font-size: var(--gnd-font-size-sm);
  white-space: nowrap;
  text-decoration: none;
}

.gnd-support-subnav__link.is-active,
.gnd-account-subnav__link.is-active {
  border-color: var(--goundi-green);
  background: color-mix(in srgb, var(--goundi-green) 8%, white);
  color: var(--goundi-green-dark);
  font-weight: var(--gnd-font-weight-semibold);
}

.gnd-ticket-card--unread .gnd-resource-card__title {
  font-weight: var(--gnd-font-weight-bold);
}

.gnd-ticket-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-2);
  margin: 0 0 var(--gnd-space-2);
  font-size: var(--gnd-font-size-sm);
}

.gnd-ticket-card__id {
  font-weight: var(--gnd-font-weight-semibold);
}

.gnd-ticket-view__header {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-4);
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: var(--gnd-space-5);
}

.gnd-ticket-view__id {
  margin: 0;
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
}

.gnd-ticket-view__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-2);
}

.gnd-ticket-thread {
  display: flex;
  flex-direction: column;
  gap: var(--gnd-space-4);
  margin-bottom: var(--gnd-space-6);
}

.gnd-ticket-message {
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-md);
  background: var(--goundi-surface);
  overflow: hidden;
}

.gnd-ticket-message--staff {
  border-left: 4px solid var(--goundi-green);
}

.gnd-ticket-message--client {
  border-left: 4px solid var(--goundi-orange);
}

.gnd-ticket-message__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--gnd-space-2);
  padding: var(--gnd-space-3) var(--gnd-space-4);
  background: var(--goundi-soft);
  border-bottom: 1px solid var(--goundi-border);
}

.gnd-ticket-message__author {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gnd-space-2);
}

.gnd-ticket-message__name {
  font-weight: var(--gnd-font-weight-semibold);
}

.gnd-ticket-message__body {
  padding: var(--gnd-space-4);
}

.gnd-ticket-message__attachments {
  padding: 0 var(--gnd-space-4) var(--gnd-space-4);
}

.gnd-attachment-list {
  list-style: none;
  margin: var(--gnd-space-2) 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--gnd-space-2);
}

.gnd-attachment-list__link {
  display: inline-flex;
  align-items: center;
  gap: var(--gnd-space-2);
  min-height: 2.75rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-sm);
  text-decoration: none;
  color: var(--goundi-text);
}

.gnd-attachment-group .custom-file-input,
.gnd-file-input {
  min-height: 2.75rem;
}

.gnd-kb-search {
  margin-bottom: var(--gnd-space-5);
}

.gnd-kb-search__row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-2);
}

.gnd-kb-search__input {
  flex: 1 1 16rem;
  min-width: 0;
}

.gnd-kb-categories {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: var(--gnd-space-4);
  margin-bottom: var(--gnd-space-5);
}

.gnd-kb-category-card {
  display: flex;
  align-items: flex-start;
  gap: var(--gnd-space-3);
  padding: var(--gnd-space-4);
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-md);
  background: var(--goundi-surface);
  text-decoration: none;
  color: inherit;
  min-height: 5rem;
}

.gnd-kb-category-card:hover {
  border-color: var(--goundi-green);
}

.gnd-kb-category-card__body {
  flex: 1;
  min-width: 0;
}

.gnd-kb-category-card__title {
  display: block;
  font-weight: var(--gnd-font-weight-semibold);
}

.gnd-kb-category-card__desc {
  display: block;
  margin-top: var(--gnd-space-1);
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
}

.gnd-kb-article-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gnd-kb-article-list__link {
  display: block;
  padding: var(--gnd-space-3) var(--gnd-space-4);
  border-bottom: 1px solid var(--goundi-border);
  text-decoration: none;
  color: inherit;
}

.gnd-kb-article-list__title {
  display: block;
  font-weight: var(--gnd-font-weight-medium);
}

.gnd-kb-article-list__excerpt {
  display: block;
  margin-top: var(--gnd-space-1);
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
}

.gnd-kb-article__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--gnd-space-3);
  margin-bottom: var(--gnd-space-4);
}

.gnd-kb-article__title {
  margin: 0;
  font-size: var(--gnd-font-size-xl);
}

.gnd-profile-section,
.gnd-security-section {
  margin-bottom: var(--gnd-space-4);
}

.gnd-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gnd-space-4);
}

.gnd-form-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gnd-field--full {
  grid-column: 1 / -1;
}

.gnd-field--align-end {
  display: flex;
  align-items: flex-end;
}

.gnd-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-3);
  margin-top: var(--gnd-space-5);
}

.gnd-checkbox-group {
  display: flex;
  flex-direction: column;
  gap: var(--gnd-space-3);
}

.gnd-contacts-switcher__row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-2);
}

.gnd-contacts-switcher__row .gnd-select {
  flex: 1 1 14rem;
  min-width: 0;
}

.gnd-notifications-panel {
  border: 1px solid var(--gnd-v3-border, #e2e8f0);
  border-radius: var(--gnd-radius-lg, 1rem);
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 1px 3px rgb(18 60 44 / 0.03);
}

.gnd-notifications-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gnd-space-2);
  padding: 0.875rem 1.25rem;
  background: #fafbfa;
  border-bottom: 1px solid var(--gnd-v3-border-subtle, #f1f5f9);
}

.gnd-notifications-panel__title {
  margin: 0;
  font-family: var(--font-display, "Syne", sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--gnd-v3-forest-950, #123c2c);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.gnd-notifications-panel__title i {
  color: var(--gnd-v3-text-muted, #64748b);
}

.gnd-notifications-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.gnd-notifications-list__item {
  border-bottom: 1px solid var(--gnd-v3-border-subtle, #f1f5f9);
}

.gnd-notifications-list__item:last-child {
  border-bottom: none;
}

.gnd-notifications-list__link {
  display: flex;
  gap: 0.625rem;
  padding: 0.75rem 1.25rem;
  text-decoration: none;
  color: var(--gnd-v3-forest-950, #123c2c);
  font-size: 0.8125rem;
  align-items: flex-start;
  transition: background var(--goundi-transition);
}

.gnd-notifications-list__link:hover {
  background: var(--gnd-v3-green-50, #eef8f2);
}

.gnd-notifications-list__icon {
  flex-shrink: 0;
  margin-top: 0.125rem;
  font-size: 0.875rem;
}

.gnd-notifications-panel__empty {
  padding: 1.25rem;
  margin: 0;
  font-size: 0.8125rem;
  color: var(--gnd-v3-text-muted, #64748b);
  text-align: center;
}

.gnd-2fa-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gnd-space-3);
  margin-top: var(--gnd-space-4);
}

.gnd-2fa-hint {
  margin-top: var(--gnd-space-3);
}

.gnd-support-success__card {
  margin-top: var(--gnd-space-4);
}

.gnd-support-success__desc {
  margin: var(--gnd-space-4) 0;
}

.gnd-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* C4F — Impact Goundi client UI */
.gnd-impact-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--gnd-space-4);
  margin-bottom: var(--gnd-space-6);
}

.gnd-impact-summary__card {
  padding: var(--gnd-space-4);
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-md);
  background: var(--goundi-surface);
}

.gnd-impact-summary__label {
  margin: 0 0 var(--gnd-space-2);
  font-size: var(--gnd-font-size-sm);
  color: var(--goundi-muted);
}

.gnd-impact-summary__value {
  margin: 0;
  font-size: var(--gnd-font-size-xl);
  font-weight: var(--gnd-font-weight-bold);
  color: var(--goundi-green-dark);
}

.gnd-impact-records {
  display: flex;
  flex-direction: column;
  gap: var(--gnd-space-4);
}

.gnd-impact-card {
  padding: var(--gnd-space-4);
  border: 1px solid var(--goundi-border);
  border-radius: var(--gnd-radius-md);
  background: var(--goundi-surface);
}

.gnd-impact-card__header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--gnd-space-2);
  align-items: center;
  margin-bottom: var(--gnd-space-2);
}

.gnd-impact-card__domain {
  margin: 0;
  font-size: var(--gnd-font-size-lg);
}

.gnd-impact-card__message {
  margin: 0 0 var(--gnd-space-2);
}

.gnd-impact-card__meta,
.gnd-impact-card__reference,
.gnd-impact-card__note {
  margin: 0.25rem 0 0;
  font-size: var(--gnd-font-size-sm);
}

.gnd-impact-golgo {
  margin-bottom: var(--gnd-space-4);
}
