/* [project]/apps/web/src/components/common/LoadingSpinner.module.css [app-client] (css) */
.LoadingSpinner-module__WjAEFG__container {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  display: flex;
}

.LoadingSpinner-module__WjAEFG__fullScreen {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-width: 100vw;
  min-height: 100vh;
  display: flex;
}

.LoadingSpinner-module__WjAEFG__inline {
  width: 100%;
  min-height: 300px;
}

.LoadingSpinner-module__WjAEFG__spinner {
  position: relative;
}

.LoadingSpinner-module__WjAEFG__small {
  width: 40px;
  height: 40px;
}

.LoadingSpinner-module__WjAEFG__medium {
  width: 60px;
  height: 60px;
}

.LoadingSpinner-module__WjAEFG__large {
  width: 80px;
  height: 80px;
}

.LoadingSpinner-module__WjAEFG__spinnerTrack {
  background: conic-gradient(#3b82f6 0deg, #8b5cf6 90deg, #ec4899 180deg, #f97316 270deg, #3b82f6 360deg);
  border-radius: 50%;
  width: 100%;
  height: 100%;
  padding: 3px;
  animation: 3s linear infinite LoadingSpinner-module__WjAEFG__spin;
  position: relative;
}

.LoadingSpinner-module__WjAEFG__spinnerBar {
  background: #fff;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 3px;
}

.LoadingSpinner-module__WjAEFG__spinnerBar:after {
  content: "";
  background: conic-gradient(#3b82f6 0deg, #8b5cf6 90deg, #ec4899 180deg, #f97316 270deg, #3b82f6 360deg);
  border-radius: 50%;
  width: 70%;
  height: 70%;
  animation: 2s linear infinite reverse LoadingSpinner-module__WjAEFG__spin;
}

.LoadingSpinner-module__WjAEFG__message {
  color: #1f2937;
  text-align: center;
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 600;
  animation: .6s ease-out .3s both LoadingSpinner-module__WjAEFG__fadeInUp;
}

.LoadingSpinner-module__WjAEFG__subtitle {
  color: #6b7280;
  text-align: center;
  margin: 0;
  font-size: clamp(.875rem, 1.5vw, 1rem);
  animation: .6s ease-out .5s both LoadingSpinner-module__WjAEFG__fadeInUp;
}

@keyframes LoadingSpinner-module__WjAEFG__spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes LoadingSpinner-module__WjAEFG__fadeInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.dark .LoadingSpinner-module__WjAEFG__container {
  color: #e2e8f0;
}

.dark .LoadingSpinner-module__WjAEFG__spinnerTrack {
  background: conic-gradient(#60a5fa 0deg, #a78bfa 90deg, #f472b6 180deg, #fb923c 270deg, #60a5fa 360deg);
}

.dark .LoadingSpinner-module__WjAEFG__spinnerBar {
  background: #111827;
}

.dark .LoadingSpinner-module__WjAEFG__spinnerBar:after {
  background: conic-gradient(#60a5fa 0deg, #a78bfa 90deg, #f472b6 180deg, #fb923c 270deg, #60a5fa 360deg);
}

.dark .LoadingSpinner-module__WjAEFG__message {
  color: #f8fafc;
}

.dark .LoadingSpinner-module__WjAEFG__subtitle {
  color: #94a3b8;
}

[dir="rtl"] .LoadingSpinner-module__WjAEFG__container {
  direction: rtl;
}

[dir="rtl"] .LoadingSpinner-module__WjAEFG__message, [dir="rtl"] .LoadingSpinner-module__WjAEFG__subtitle {
  text-align: right;
}

@media (max-width: 480px) {
  .LoadingSpinner-module__WjAEFG__fullScreen {
    min-width: 100%;
    min-height: 100vh;
  }

  .LoadingSpinner-module__WjAEFG__message {
    font-size: 1rem;
  }

  .LoadingSpinner-module__WjAEFG__subtitle {
    font-size: .875rem;
  }
}

/* [project]/apps/web/src/app/dashboard/components/dashboard.module.css [app-client] (css) */
.dashboard-module__TNxqsa__heroWrapper {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 40%, #a78bfa 70%, #c4b5fd 100%);
  border-radius: 1.25rem;
  padding: 2rem 2rem 1.75rem;
  position: relative;
  overflow: hidden;
}

.dark .dashboard-module__TNxqsa__heroWrapper {
  background: linear-gradient(135deg, #312e81 0%, #4c1d95 40%, #5b21b6 70%, #6d28d9 100%);
}

.dashboard-module__TNxqsa__heroGlow {
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.dashboard-module__TNxqsa__heroGlow:before, .dashboard-module__TNxqsa__heroGlow:after {
  content: "";
  filter: blur(80px);
  opacity: .4;
  border-radius: 50%;
  position: absolute;
}

.dashboard-module__TNxqsa__heroGlow:before {
  top: -80px;
  background: #a78bfa99;
  width: 300px;
  height: 300px;
  inset-inline-end: -60px;
}

.dashboard-module__TNxqsa__heroGlow:after {
  bottom: -60px;
  background: #6366f180;
  width: 200px;
  height: 200px;
  inset-inline-start: -40px;
}

.dashboard-module__TNxqsa__heroContent {
  z-index: 1;
  position: relative;
}

.dashboard-module__TNxqsa__heroTop {
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
  display: flex;
}

.dashboard-module__TNxqsa__heroAvatarRing {
  background: linear-gradient(135deg, #ffffff80, #ffffff26);
  border-radius: 50%;
  flex-shrink: 0;
  padding: 3px;
}

.dashboard-module__TNxqsa__heroInfo {
  flex: 1;
  min-width: 0;
}

.dashboard-module__TNxqsa__heroGreeting {
  color: #fffc;
  margin-bottom: .25rem;
  font-size: .875rem;
  font-weight: 500;
}

.dashboard-module__TNxqsa__heroName {
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
  overflow: hidden;
}

.dashboard-module__TNxqsa__heroEmail {
  color: #ffffffa6;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: .25rem;
  font-size: .8rem;
  overflow: hidden;
}

.dashboard-module__TNxqsa__heroBadges {
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin-top: .5rem;
  display: flex;
}

.dashboard-module__TNxqsa__heroBadge {
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #fff;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: #ffffff2e;
  border: 1px solid #fff3;
  border-radius: 9999px;
  align-items: center;
  gap: .3rem;
  padding: .2rem .65rem;
  font-size: .7rem;
  font-weight: 600;
  display: inline-flex;
}

.dashboard-module__TNxqsa__heroStatsRow {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: .75rem;
  display: grid;
}

.dashboard-module__TNxqsa__heroStatItem {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #ffffff1f;
  border: 1px solid #ffffff26;
  border-radius: .875rem;
  flex-direction: column;
  align-items: center;
  padding: .75rem .5rem;
  transition: background .2s, transform .2s;
  display: flex;
}

.dashboard-module__TNxqsa__heroStatItem:hover {
  background: #fff3;
  transform: translateY(-2px);
}

.dashboard-module__TNxqsa__heroStatIcon {
  margin-bottom: .25rem;
  font-size: 1.25rem;
}

.dashboard-module__TNxqsa__heroStatValue {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
}

.dashboard-module__TNxqsa__heroStatLabel {
  color: #ffffffb3;
  text-transform: uppercase;
  letter-spacing: .03em;
  margin-top: .15rem;
  font-size: .7rem;
}

.dashboard-module__TNxqsa__statsGrid {
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  display: grid;
}

@media (max-width: 1024px) {
  .dashboard-module__TNxqsa__statsGrid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .dashboard-module__TNxqsa__statsGrid {
    grid-template-columns: 1fr;
  }
}

.dashboard-module__TNxqsa__statCard {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: #ffffffbf;
  border: 1px solid #0000000f;
  border-radius: 1rem;
  padding: 1.25rem;
  transition: transform .25s, box-shadow .25s;
  position: relative;
  overflow: hidden;
}

.dark .dashboard-module__TNxqsa__statCard {
  background: #1e293b99;
  border-color: #94a3b81a;
}

.dashboard-module__TNxqsa__statCard:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px -8px #6366f126;
}

.dark .dashboard-module__TNxqsa__statCard:hover {
  box-shadow: 0 12px 32px -8px #8b5cf633;
}

.dashboard-module__TNxqsa__statCardGlow {
  top: -30px;
  filter: blur(40px);
  opacity: .35;
  pointer-events: none;
  border-radius: 50%;
  width: 80px;
  height: 80px;
  position: absolute;
  inset-inline-end: -30px;
}

.dashboard-module__TNxqsa__statCardHeader {
  justify-content: space-between;
  align-items: center;
  margin-bottom: .75rem;
  display: flex;
}

.dashboard-module__TNxqsa__statCardIconWrap {
  border-radius: .75rem;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  font-size: 1.15rem;
  display: flex;
}

.dashboard-module__TNxqsa__statCardLabel {
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .75rem;
  font-weight: 500;
}

.dark .dashboard-module__TNxqsa__statCardLabel {
  color: #94a3b8;
}

.dashboard-module__TNxqsa__statCardValue {
  color: #1e293b;
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
}

.dark .dashboard-module__TNxqsa__statCardValue {
  color: #f1f5f9;
}

.dashboard-module__TNxqsa__statCardSub {
  color: #94a3b8;
  margin-top: .35rem;
  font-size: .7rem;
}

.dark .dashboard-module__TNxqsa__statCardSub {
  color: #64748b;
}

.dashboard-module__TNxqsa__quickNavGrid {
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  display: grid;
}

@media (max-width: 768px) {
  .dashboard-module__TNxqsa__quickNavGrid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .dashboard-module__TNxqsa__quickNavGrid {
    grid-template-columns: 1fr;
  }
}

.dashboard-module__TNxqsa__quickNavCard {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: inherit;
  background: #ffffffb3;
  border: 1px solid #0000000f;
  border-radius: 1rem;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s, border-color .25s;
  display: flex;
}

.dark .dashboard-module__TNxqsa__quickNavCard {
  background: #1e293b80;
  border-color: #94a3b81a;
}

.dashboard-module__TNxqsa__quickNavCard:hover {
  border-color: #6366f14d;
  transform: translateY(-3px);
  box-shadow: 0 8px 24px -6px #6366f11f;
}

.dark .dashboard-module__TNxqsa__quickNavCard:hover {
  border-color: #8b5cf659;
  box-shadow: 0 8px 24px -6px #8b5cf633;
}

.dashboard-module__TNxqsa__quickNavIcon {
  border-radius: .875rem;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 2.75rem;
  height: 2.75rem;
  font-size: 1.35rem;
  display: flex;
}

.dashboard-module__TNxqsa__quickNavInfo {
  min-width: 0;
}

.dashboard-module__TNxqsa__quickNavTitle {
  color: #1e293b;
  margin-bottom: .2rem;
  font-size: .95rem;
  font-weight: 600;
}

.dark .dashboard-module__TNxqsa__quickNavTitle {
  color: #f1f5f9;
}

.dashboard-module__TNxqsa__quickNavDesc {
  color: #64748b;
  font-size: .8rem;
  line-height: 1.4;
}

.dark .dashboard-module__TNxqsa__quickNavDesc {
  color: #94a3b8;
}

.dashboard-module__TNxqsa__quickNavArrow {
  color: #94a3b8;
  flex-shrink: 0;
  align-self: center;
  margin-inline-start: auto;
  font-size: 1rem;
  transition: transform .2s, color .2s;
}

[dir="rtl"] .dashboard-module__TNxqsa__quickNavArrow {
  transform: scaleX(-1);
}

.dashboard-module__TNxqsa__quickNavCard:hover .dashboard-module__TNxqsa__quickNavArrow {
  color: #6366f1;
  transform: translateX(3px);
}

.dark .dashboard-module__TNxqsa__quickNavCard:hover .dashboard-module__TNxqsa__quickNavArrow {
  color: #a78bfa;
}

[dir="rtl"] .dashboard-module__TNxqsa__quickNavCard:hover .dashboard-module__TNxqsa__quickNavArrow {
  transform: translateX(-3px)scaleX(-1);
}

.dashboard-module__TNxqsa__sectionHeader {
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
  display: flex;
}

.dashboard-module__TNxqsa__sectionIcon {
  font-size: 1.1rem;
}

.dashboard-module__TNxqsa__sectionTitle {
  color: #1e293b;
  font-size: 1.1rem;
  font-weight: 700;
}

.dark .dashboard-module__TNxqsa__sectionTitle {
  color: #f1f5f9;
}

.dashboard-module__TNxqsa__oauthSection {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #ffffffb3;
  border: 1px solid #0000000f;
  border-radius: 1rem;
  padding: 1.5rem;
}

.dark .dashboard-module__TNxqsa__oauthSection {
  background: #1e293b80;
  border-color: #94a3b81a;
}

.dashboard-module__TNxqsa__pageBackground {
  background: linear-gradient(#f8fafc 0%, #eef2ff 50%, #f8fafc 100%);
  min-height: 100vh;
}

.dark .dashboard-module__TNxqsa__pageBackground {
  background: linear-gradient(#0f172a 0%, #1e1b4b 50%, #0f172a 100%);
}

.dashboard-module__TNxqsa__signOutBtn {
  color: #fffc;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  cursor: pointer;
  background: #ffffff1a;
  border: 1px solid #fff3;
  border-radius: .625rem;
  align-items: center;
  gap: .4rem;
  padding: .45rem 1rem;
  font-size: .8rem;
  font-weight: 500;
  transition: background .2s, color .2s;
  display: inline-flex;
}

.dashboard-module__TNxqsa__signOutBtn:hover {
  color: #fff;
  background: #fff3;
}

.dashboard-module__TNxqsa__signOutIcon {
  transition: transform .2s;
}

[dir="rtl"] .dashboard-module__TNxqsa__signOutIcon {
  transform: scaleX(-1);
}

.dashboard-module__TNxqsa__bgOrb {
  pointer-events: none;
  filter: blur(100px);
  opacity: .08;
  z-index: 0;
  border-radius: 50%;
  position: fixed;
}

.dark .dashboard-module__TNxqsa__bgOrb {
  opacity: .06;
}

.dashboard-module__TNxqsa__bgOrb1 {
  top: -100px;
  background: #8b5cf6;
  width: 500px;
  height: 500px;
  animation: 20s ease-in-out infinite dashboard-module__TNxqsa__orbFloat1;
  inset-inline-end: -100px;
}

.dashboard-module__TNxqsa__bgOrb2 {
  bottom: -50px;
  background: #6366f1;
  width: 400px;
  height: 400px;
  animation: 25s ease-in-out infinite dashboard-module__TNxqsa__orbFloat2;
  inset-inline-start: -80px;
}

@keyframes dashboard-module__TNxqsa__orbFloat1 {
  0%, 100% {
    transform: translate(0);
  }

  50% {
    transform: translate(-40px, 30px);
  }
}

@keyframes dashboard-module__TNxqsa__orbFloat2 {
  0%, 100% {
    transform: translate(0);
  }

  50% {
    transform: translate(30px, -40px);
  }
}

@media (max-width: 640px) {
  .dashboard-module__TNxqsa__heroWrapper {
    padding: 1.25rem;
  }

  .dashboard-module__TNxqsa__heroTop {
    text-align: center;
    flex-direction: column;
  }

  .dashboard-module__TNxqsa__heroName {
    font-size: 1.35rem;
  }

  .dashboard-module__TNxqsa__heroBadges {
    justify-content: center;
  }

  .dashboard-module__TNxqsa__heroStatsRow {
    grid-template-columns: repeat(2, 1fr);
  }

  .dashboard-module__TNxqsa__signOutBtn {
    align-self: center;
  }
}

/*# sourceMappingURL=apps_web_src_66d974a1._.css.map*/