@import url('https://fonts.googleapis.com/css2?family=Lexend+Exa:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;700&display=swap');
@import "tailwindcss";

:root {
	--font-lexend: 'Lexend Exa', sans-serif;
	--font-geist: 'Geist', sans-serif;
	--gty-admin-primary-color: #1D2327;
	--gty-admin-accent-color: #2271B1;
	--gty-admin-app-bg-color: #E6E6E6;
	--gty-admin-header-bg-color: #F7F9FA;
	--gty-space-1: 0.25rem; /* 4px */
	--gty-space-2: 0.5rem;  /* 8px */
	--gty-space-3: 0.75rem; /* 12px */
	--gty-space-4: 1rem;    /* 16px */
	--gty-space-8: 2rem;    /* 32px */
    --gty-space-16: 4rem;    /* 64px */
}

.font-lexend {
	font-family: var(--font-lexend);
}

.font-geist {
	font-family: var(--font-geist);
}


/* Main app wrapper for background */
.gty-admin-app {
	font-family: var(--font-geist);
	color: var(--gty-admin-primary-color);
	background: var(--gty-admin-app-bg-color);
	min-height: 100vh;
    max-width: 80rem;
    margin-left: -20px;
    box-sizing: content-box;
}

@media (min-width: calc(80rem + 160px)) {
	.gty-admin-app {
        margin-left: auto;
	    margin-right: auto;
	}
}

.gty-admin-app__main {
    padding: 0 var(--gty-space-8);
}

/**
 * Menu Styles
 * Component: Menu.js
 * BEM: .gty-admin-header, .gty-admin-header__*
 */
.gty-admin-header {
	font-family: var(--font-lexend);
	background-color: var(--gty-admin-header-bg-color);
	box-shadow: 0 1px 2px 0 rgba(0,0,0,0.03);
	border-bottom: 1px solid #e5e7eb;
	padding-top: var(--gty-space-4);
	padding-bottom: var(--gty-space-4);
	position: sticky;
	top: 32px;
	z-index: 100;
	transition: background-color 1s;
}

/* Semi-transparent header background while actively scrolling */
.gty-admin-header--scrolling {
	background-color: rgba(247, 249, 250, 0.7); /* matches --gty-admin-header-bg-color with alpha */
	backdrop-filter: blur(2px);
}

@media (max-width: 782px) {
	.gty-admin-header {
		top: 46px;
	}
}

.gty-admin-header__container {
	max-width: 80rem;
	margin: 0 auto;
	padding-left: var(--gty-space-8);
	padding-right: var(--gty-space-8);
}

.gty-admin-header__row {
	display: flex;
	align-items: center;
	gap: var(--gty-space-8);
	height: auto;
	justify-content: flex-start;
}

.gty-admin-header__right {
	margin-left: auto;
	display: flex;
	align-items: center;
    gap: var(--gty-space-4);
}

.gty-admin-header__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	transition: background 0.2s;
}

.gty-admin-header__icon-svg {
	fill: none;
	stroke: var(--gty-admin-primary-color);
}
.gty-admin-header__brand {
	display: flex;
	align-items: center;
}
.gty-admin-header__title {
	font-family: var(--font-lexend);
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--gty-admin-primary-color);
	letter-spacing: 0.05em;
}
.gty-admin-header__links {
	display: flex;
	gap: var(--gty-space-4);
	margin-left: 0;
}
.gty-admin-header__link {
	display: inline-flex;
	align-items: center;
	font-size: 0.925rem;
	font-weight: 800;
	color: var(--gty-admin-primary-color);
	text-decoration: none;
	transition: color 0.2s, border-color 0.2s;
}

.gty-admin-header__link--active {
	color: var(--gty-admin-primary-color);
}

/* App version label bottom right */
.gty-admin-version-label {
	display: block;
	text-align: right;
	font-family: var(--font-lexend);
	font-size: 1rem;
	font-weight: 700;
	color: var(--gty-admin-primary-color);
	margin-top: 60px;
	padding-right: var(--gty-space-8); /* Match main content padding */
	padding-bottom: var(--gty-space-4);
}

/* StatCard BEM styles */
.gty-stat-card {
	background: #EEEEEE;
	padding: 2rem;
	border: none;
	box-shadow: 0 2px 8px 0 rgba(0,0,0,0.06);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
    gap: var(--gty-space-8);
}
.gty-stat-card__value {
	font-family: var(--font-lexend);
	font-size: 64px;
	font-weight: 800;
	color: var(--gty-admin-primary-color);
	line-height: 1.1;
}
.gty-stat-card__title {
	font-family: var(--font-geist);
	font-size: 1.1rem;
	font-weight: 600;
	color: #555;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/**
 * WordPress Admin Style Overrides for App Links
 * Use .gty-admin-link on any link that should not inherit WP admin link/hover/active styles.
 * This is reusable for all admin app links, including menu and logo.
 */
.gty-admin-link,
.gty-admin-link:active,
.gty-admin-link:focus,
.gty-admin-link:visited {
	box-shadow: none !important;
	outline: none !important;
	border: none !important;
	border-radius: 0 !important;
	background: none !important;
	text-decoration: none !important;
	color: var(--gty-admin-primary-color) !important;
	transition: none !important;
	padding: 0 !important;
}
.gty-admin-link:hover {
	color: var(--gty-admin-primary-color) !important;
	background: none !important;
	border: none !important;
	text-decoration: none !important;
}

/* Accordion BEM styles */
.gty-accordion {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.gty-accordion__item {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
}

.gty-accordion__trigger {
  width: 100%;
  padding: 0.75rem 1rem;
  text-align: left;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background 0.2s;
}

.gty-accordion__trigger:hover,
.gty-accordion__trigger:focus {
  background: #f9fafb;
}

.gty-accordion__trigger-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.gty-accordion__icon {
  width: 1.25rem;
  height: 1.25rem;
  color: #6b7280;
  transition: transform 0.2s;
}

.gty-accordion__icon--open {
  transform: rotate(180deg);
}

.gty-accordion__content {
  padding: 1rem;
  border-top: 1px solid #e5e7eb;
  background: #f9fafb;
}

/* Dashboard BEM styles */
.gty-dashboard {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gty-space-8);
  padding-left: 0;
  padding-right: 0;
}

.gty-dashboard__stats-row {
  display: flex;
  flex-direction: row;
  gap: 2rem;
  margin-top: 2rem;
}

@media (max-width: 900px) {
  .gty-dashboard__stats-row {
    flex-direction: column;
    gap: 1.5rem;
  }
}

/* First row: stats grid spans all columns */
.gty-dashboard__stats-grid {
  grid-column: 1 / 4;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gty-space-8);
  /* Remove margin-top */
}

/* Second row: links and chart, align with stats grid */
.gty-dashboard__row {
  grid-column: 1 / 4;
  display: grid;
  grid-template-columns: calc((100% - 2 * var(--gty-space-8)) / 3) 1fr;
  gap: var(--gty-space-8);
  /* Remove margin-top */
}

/* Remove flex from links and chart columns */
.gty-dashboard__links-col,
.gty-dashboard__chart-col {
  min-width: 0;
  background: #EEEEEE;
  border-radius: 0;
  box-shadow: 0 2px 8px 0 rgba(0,0,0,0.06);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}

@media (max-width: 900px) {
  .gty-dashboard__row {
    flex-direction: column;
    gap: 2rem;
  }
}

/* Dashboard links column: fill more vertical space */
.gty-dashboard__links-col {
  flex: 0 1 30%;
  min-width: 0;
  background: #EEEEEE;
  border-radius: 0;
  box-shadow: 0 2px 8px 0 rgba(0,0,0,0.06);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0;
  box-sizing: border-box;
  min-height: 320px;
}

/* Links group: more vertical gap */
.gty-dashboard__links-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  justify-content: center;
}

.gty-dashboard__link {
  display: flex;
  align-items: center;
  font-weight: 600;
  color: #2271B1;
  text-decoration: none;
  font-family: var(--font-geist);
  font-size: 0.98rem;
  letter-spacing: 0.01em;
  justify-content: space-between;
  min-width: 0;
  transition: color 0.2s;
  margin: 0;
  padding: 0;
}

/* Dashboard link: more padding, no underline, dark color, no focus box */
.gty-dashboard__link,
.gty-dashboard__link:visited,
.gty-dashboard__link:active {
  color: #1D2327 !important;
  text-decoration: none !important;
  font-size: 1.08rem;
  font-weight: 700;
  padding: 0.5rem 0;
  outline: none !important;
  box-shadow: none !important;
  transition: color 0.2s;
  border: none;
  background: none;
}

/* Remove underline and focus/active box on hover/focus */
.gty-dashboard__link:hover,
.gty-dashboard__link:focus {
  color: #1D2327 !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: none;
}

/* Divider between links except last */
.gty-dashboard__link:not(:last-child) {
  border-bottom: 1px solid #e3e3e3;
}

/* Icon: bigger and nearly black */
.gty-dashboard__link-icon svg {
  width: 28px !important;
  height: 28px !important;
  stroke: #1D2327 !important;
  display: block;
}

.gty-dashboard__chart-col {
  flex: 0 1 70%;
  min-width: 0;
  background: #EEEEEE;
  border-radius: 0;
  box-shadow: 0 2px 8px 0 rgba(0,0,0,0.06);
  padding: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}

.gty-dashboard__chart-title {
  font-family: var(--font-geist);
  font-weight: 700;
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
  color: #1D2327;
}

/* Dashboard stats grid */
.gty-dashboard__stats-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 2rem;
}

@media (min-width: 768px) {
  .gty-dashboard__stats-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
    margin-top: 2rem;
  }
}

