/**
 * Shadcn UI Theme for Keycloak - Admin Console Styles
 * Injects shadcn/ui aesthetic (zinc/slate tokens, refined borders, modern radius)
 * into Keycloak Admin UI (PatternFly v4/v5).
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --pf-global--FontFamily--sans-serif: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  
  /* Primary Brand Overrides */
  --pf-global--primary-color--100: #18181b;
  --pf-global--primary-color--200: #27272a;
  --pf-global--primary-color--dark-100: #f4f4f5;
  --pf-global--link--Color: #09090b;
  --pf-global--link--Color--hover: #27272a;
  
  /* Border & Radii */
  --pf-global--BorderRadius--sm: 6px;
  --pf-global--BorderRadius--lg: 8px;
  --pf-global--BorderColor--100: #e4e4e7;
  --pf-global--BorderColor--200: #d4d4d8;
  --pf-global--BorderColor--300: #a1a1aa;
  
  /* Box Shadow */
  --pf-global--BoxShadow--sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --pf-global--BoxShadow--md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
}

.pf-t-dark {
  --pf-global--primary-color--100: #f4f4f5;
  --pf-global--primary-color--200: #e4e4e7;
  --pf-global--link--Color: #fafafa;
  --pf-global--link--Color--hover: #e4e4e7;
  --pf-global--BorderColor--100: #27272a;
  --pf-global--BorderColor--200: #3f3f46;
  --pf-global--BackgroundColor--100: #09090b;
  --pf-global--BackgroundColor--200: #18181b;
}

/* Base Font & Smoothness */
body, .pf-c-page {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* Header & Masthead */
.pf-c-masthead {
  background-color: #09090b !important;
  border-bottom: 1px solid #27272a !important;
}

.pf-c-masthead__brand {
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: #fafafa !important;
}

/* Sidebar Navigation */
.pf-c-page__sidebar {
  background-color: #09090b !important;
  border-right: 1px solid #27272a !important;
}

.pf-c-nav__link {
  border-radius: 6px !important;
  margin: 2px 8px !important;
  transition: all 0.15s ease !important;
  font-weight: 500 !important;
}

.pf-c-nav__link:hover {
  background-color: #27272a !important;
  color: #fafafa !important;
}

.pf-c-nav__link.pf-m-current, .pf-c-nav__item.pf-m-current > .pf-c-nav__link {
  background-color: #27272a !important;
  color: #ffffff !important;
  font-weight: 600 !important;
}

.pf-c-nav__link.pf-m-current::after {
  display: none !important;
}

/* Cards */
.pf-c-card {
  border-radius: 8px !important;
  border: 1px solid #e4e4e7 !important;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05) !important;
}

.pf-t-dark .pf-c-card {
  background-color: #09090b !important;
  border-color: #27272a !important;
}

/* Buttons */
.pf-c-button.pf-m-primary {
  background-color: #09090b !important;
  color: #fafafa !important;
  border-radius: 6px !important;
  font-weight: 500 !important;
  transition: opacity 0.15s ease !important;
}

.pf-c-button.pf-m-primary:hover {
  opacity: 0.9 !important;
}

.pf-c-button.pf-m-secondary {
  border: 1px solid #e4e4e7 !important;
  border-radius: 6px !important;
  color: #09090b !important;
  background-color: transparent !important;
}

.pf-c-button.pf-m-secondary:hover {
  background-color: #f4f4f5 !important;
}

.pf-t-dark .pf-c-button.pf-m-primary {
  background-color: #fafafa !important;
  color: #09090b !important;
}

.pf-t-dark .pf-c-button.pf-m-secondary {
  border-color: #27272a !important;
  color: #fafafa !important;
}

.pf-t-dark .pf-c-button.pf-m-secondary:hover {
  background-color: #27272a !important;
}

/* Form Controls & Inputs */
.pf-c-form-control {
  border-radius: 6px !important;
  border: 1px solid #e4e4e7 !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}

.pf-c-form-control:focus {
  border-color: #09090b !important;
  box-shadow: 0 0 0 1px #09090b !important;
}

.pf-t-dark .pf-c-form-control {
  background-color: #09090b !important;
  border-color: #27272a !important;
  color: #fafafa !important;
}

.pf-t-dark .pf-c-form-control:focus {
  border-color: #fafafa !important;
  box-shadow: 0 0 0 1px #fafafa !important;
}

/* Tables */
.pf-c-table {
  border-radius: 8px !important;
}

.pf-c-table th {
  font-weight: 600 !important;
  color: #71717a !important;
  font-size: 0.8125rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.pf-c-table tr:hover {
  background-color: rgba(244, 244, 245, 0.6) !important;
}

.pf-t-dark .pf-c-table tr:hover {
  background-color: rgba(39, 39, 42, 0.4) !important;
}

/* Badges & Chips */
.pf-c-badge, .pf-c-chip {
  border-radius: 9999px !important;
  font-weight: 500 !important;
}

/* Scrollbars */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: #d4d4d8;
  border-radius: 3px;
}

.pf-t-dark ::-webkit-scrollbar-thumb {
  background: #3f3f46;
}
