starkon
Version: 
Complete Next.js boilerplate with authentication, i18n & CLI - Create production-ready apps instantly
1,230 lines (1,063 loc) • 23.4 kB
CSS
@tailwind base;
@tailwind components;
@tailwind utilities;
:root {
  /* Enhanced Light Mode Colors */
  --background: 39 67% 95%;
  --foreground: 0 0% 15%;
  --card: 39 67% 98%;
  --card-foreground: 0 0% 15%;
  --popover: 39 67% 98%;
  --popover-foreground: 0 0% 15%;
  --primary: 21 100% 50%;
  --primary-foreground: 0 0% 98%;
  --secondary: 39 67% 90%;
  --secondary-foreground: 0 0% 15%;
  --muted: 39 67% 90%;
  --muted-foreground: 215.4 16.3% 46.9%;
  --accent: 39 67% 90%;
  --accent-foreground: 0 0% 15%;
  --destructive: 0 84.2% 60.2%;
  --destructive-foreground: 210 40% 98%;
  --border: 214.3 31.8% 91.4%;
  --input: 214.3 31.8% 91.4%;
  --ring: 21 100% 50%;
  --radius: 0.5rem;
  /* Enhanced Primary Color System - Light Mode */
  --primary-50: 21 100% 97%;
  --primary-100: 21 100% 94%;
  --primary-200: 21 100% 88%;
  --primary-300: 21 100% 76%;
  --primary-400: 21 100% 63%;
  --primary-500: 21 100% 56%;
  --primary-600: 21 100% 50%;
  --primary-700: 21 100% 44%;
  --primary-800: 21 100% 38%;
  --primary-900: 21 100% 25%;
  /* Enhanced Accent Colors - Light Mode */
  --accent-50: 39 67% 98%;
  --accent-100: 39 67% 95%;
  --accent-200: 39 67% 90%;
  --accent-300: 39 67% 85%;
  --accent-400: 39 67% 75%;
  --accent-500: 39 67% 65%;
  --accent-600: 39 67% 55%;
  --accent-700: 39 67% 45%;
  --accent-800: 39 67% 35%;
  --accent-900: 39 67% 25%;
  /* Enhanced Blue Colors - Light Mode */
  --blue-50: 21 100% 97%;
  --blue-100: 21 100% 94%;
  --blue-200: 21 100% 88%;
  --blue-300: 21 100% 76%;
  --blue-400: 21 100% 63%;
  --blue-500: 21 100% 56%;
  --blue-600: 21 100% 50%;
  /* Enhanced Teal Colors - Light Mode */
  --teal-50: 166 100% 97%;
  --teal-100: 167 85% 89%;
  --teal-200: 168 84% 78%;
  --teal-300: 171 77% 64%;
  --teal-400: 172 66% 50%;
  --teal-500: 173 80% 40%;
  --teal-600: 175 84% 32%;
  /* Semantic Colors - Light Mode */
  --success: 142 76% 36%;
  --warning: 38 92% 50%;
  --error: 350 89% 60%;
  --info: 21 100% 56%;
}
.dark {
  /* Enhanced Dark Mode Colors */
  --background: 0 0% 3.9%;
  --foreground: 39 67% 95%;
  --card: 0 0% 6%;
  --card-foreground: 39 67% 95%;
  --popover: 0 0% 6%;
  --popover-foreground: 39 67% 95%;
  --primary: 21 100% 50%;
  --primary-foreground: 0 0% 98%;
  --secondary: 0 0% 15%;
  --secondary-foreground: 39 67% 95%;
  --muted: 0 0% 15%;
  --muted-foreground: 215 20.2% 65.1%;
  --accent: 0 0% 15%;
  --accent-foreground: 39 67% 95%;
  --destructive: 0 62.8% 30.6%;
  --destructive-foreground: 210 40% 98%;
  --border: 0 0% 15%;
  --input: 0 0% 15%;
  --ring: 21 100% 50%;
  /* Enhanced Primary Color System - Dark Mode */
  --primary-50: 21 100% 5%;
  --primary-100: 21 100% 10%;
  --primary-200: 21 100% 15%;
  --primary-300: 21 100% 25%;
  --primary-400: 21 100% 38%;
  --primary-500: 21 100% 44%;
  --primary-600: 21 100% 50%;
  --primary-700: 21 100% 56%;
  --primary-800: 21 100% 63%;
  --primary-900: 21 100% 76%;
  /* Enhanced Accent Colors - Dark Mode */
  --accent-50: 0 0% 5%;
  --accent-100: 0 0% 10%;
  --accent-200: 0 0% 15%;
  --accent-300: 0 0% 25%;
  --accent-400: 0 0% 35%;
  --accent-500: 0 0% 45%;
  --accent-600: 0 0% 55%;
  --accent-700: 0 0% 65%;
  --accent-800: 0 0% 75%;
  --accent-900: 0 0% 85%;
  /* Enhanced Blue Colors - Dark Mode */
  --blue-50: 21 100% 5%;
  --blue-100: 21 100% 10%;
  --blue-200: 21 100% 15%;
  --blue-300: 21 100% 25%;
  --blue-400: 21 100% 38%;
  --blue-500: 21 100% 44%;
  --blue-600: 21 100% 50%;
  /* Enhanced Teal Colors - Dark Mode */
  --teal-50: 166 100% 5%;
  --teal-100: 164 86% 12%;
  --teal-200: 166 85% 20%;
  --teal-300: 168 82% 28%;
  --teal-400: 170 77% 36%;
  --teal-500: 172 66% 50%;
  --teal-600: 173 80% 65%;
  /* Semantic Colors - Dark Mode */
  --success: 142 65% 55%;
  --warning: 38 80% 65%;
  --error: 350 70% 70%;
  --info: 21 100% 44%;
}
/* Base Styles */
* {
  border-color: hsl(var(--border));
}
body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}
/* Enhanced scrollbar styles for dark theme */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: rgb(245 245 245);
}
.dark ::-webkit-scrollbar-track {
  background: rgb(23 23 23);
}
::-webkit-scrollbar-thumb {
  background: rgb(163 163 163);
  border-radius: 4px;
}
.dark ::-webkit-scrollbar-thumb {
  background: rgb(82 82 82);
}
::-webkit-scrollbar-thumb:hover {
  background: rgb(115 115 115);
}
.dark ::-webkit-scrollbar-thumb:hover {
  background: rgb(115 115 115);
}
/* Disable theme-related transitions for instant switching */
html.light *,
html.dark *,
html.light *::before,
html.light *::after,
html.dark *::before,
html.dark *::after {
  transition: none ;
}
/* Enhanced focus styles for dark theme */
*:focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}
/* Text selection colors for dark theme */
::selection {
  background-color: hsl(var(--primary) / 0.3);
  color: hsl(var(--primary-foreground));
}
.dark ::selection {
  background-color: hsl(var(--primary) / 0.3);
  color: hsl(var(--background));
}
/* Tema başlangıç durumu - FOUC önleme */
html:not(.light):not(.dark) {
  background-color: hsl(39, 67%, 95%);
  color: hsl(0, 0%, 15%);
}
html:not(.light):not(.dark).theme-loading {
  visibility: hidden;
}
html.light,
html.dark {
  visibility: visible;
}
/* Base Styles */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html,
body {
  max-width: 100vw;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  margin: 0;
}
html {
  background: var(--background);
}
body {
  color: var(--foreground);
  background: var(--background);
  font-feature-settings:
    'rlig' 1,
    'calt' 1;
}
/* No theme switching transitions needed for instant switching */
/* Prevent flash of unstyled content */
html {
  visibility: visible;
}
html.theme-loading {
  visibility: hidden;
}
/* Global Element Styles */
a {
  color: inherit;
  text-decoration: none;
}
input,
textarea,
select,
button {
  font: inherit;
}
button {
  cursor: pointer;
}
section,
main,
header,
footer {
  overflow-x: hidden;
  width: 100%;
}
.focus-ring {
  @apply focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 dark:focus:ring-offset-neutral-900;
}
/* Modern Scrollbar Styles */
.scrollbar-modern {
  scrollbar-width: thin;
  scrollbar-color: var(--neutral-300) var(--neutral-100);
}
.scrollbar-modern::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.scrollbar-modern::-webkit-scrollbar-track {
  background: var(--neutral-100);
  border-radius: 3px;
}
.scrollbar-modern::-webkit-scrollbar-thumb {
  background: var(--neutral-300);
  border-radius: 3px;
}
.scrollbar-modern::-webkit-scrollbar-thumb:hover {
  background: var(--neutral-400);
}
.dark .scrollbar-modern {
  scrollbar-color: var(--neutral-600) var(--neutral-800);
}
.dark .scrollbar-modern::-webkit-scrollbar-track {
  background: var(--neutral-800);
}
.dark .scrollbar-modern::-webkit-scrollbar-thumb {
  background: var(--neutral-600);
}
.dark .scrollbar-modern::-webkit-scrollbar-thumb:hover {
  background: var(--neutral-500);
}
/* Z-Index Management */
.z-navbar {
  z-index: 1000;
}
.z-dropdown {
  z-index: 1100;
}
.z-modal {
  z-index: 1200;
}
.z-popover {
  z-index: 1300;
}
.z-tooltip {
  z-index: 1400;
}
.z-toast {
  z-index: 9999;
}
nav {
  z-index: 1000 ;
}
[data-radix-tooltip-content] {
  z-index: 1400 ;
}
[data-radix-alert-dialog-overlay] {
  z-index: 1200 ;
}
[data-radix-alert-dialog-content] {
  z-index: 1201 ;
}
/* Animations */
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
@keyframes bounce {
  0%,
  100% {
    transform: translateY(-25%);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
  50% {
    transform: translateY(0);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes shimmer {
  0% {
    background-position: -200px 0;
  }
  100% {
    background-position: calc(200px + 100%) 0;
  }
}
@keyframes shrink {
  from {
    width: 100%;
  }
  to {
    width: 0%;
  }
}
/* Animation Classes */
.animate-spin {
  animation: spin 1s linear infinite;
}
.animate-pulse {
  animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
.animate-bounce {
  animation: bounce 1s infinite;
}
.animate-fade-in {
  animation: fadeIn 0.3s ease-out;
}
.animate-slide-in {
  animation: slideInRight 0.3s ease-out;
}
.animate-slide-in-up {
  animation: slideInUp 0.3s ease-out;
}
.animate-slide-in-down {
  animation: slideInDown 0.3s ease-out;
}
.animate-scale-in {
  animation: scaleIn 0.2s ease-out;
}
.animate-shimmer {
  animation: shimmer 2s infinite;
  background: linear-gradient(90deg, transparent, hsla(39, 67%, 95%, 0.1), transparent);
  background-size: 200px 100%;
}
/* Toast System */
.toast-container {
  position: fixed;
  pointer-events: none;
  z-index: 9999 ;
}
.toast-container > * {
  pointer-events: auto;
}
.toast-item {
  transform: translateX(100%);
  transition:
    transform 0.3s ease-in-out,
    opacity 0.3s ease-in-out;
}
.toast-item.toast-enter {
  transform: translateX(0);
  opacity: 1;
}
.toast-item.toast-exit {
  transform: translateX(100%);
  opacity: 0;
}
.toast-progress {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 3px;
  background: currentColor;
  opacity: 0.6;
  animation: shrink linear;
}
/* Backdrop Blur Support */
@supports (backdrop-filter: blur(8px)) {
  .toast-backdrop-blur {
    backdrop-filter: blur(8px);
  }
  .backdrop-blur-glass {
    backdrop-filter: blur(12px) saturate(180%);
    background-color: hsla(39, 67%, 95%, 0.8);
  }
}
@supports not (backdrop-filter: blur(8px)) {
  .toast-backdrop-blur {
    background-color: hsla(39, 67%, 95%, 0.95);
  }
}
.dark .backdrop-blur-glass {
  background-color: rgba(0, 0, 0, 0.8);
}
/* Card Effects */
.card-lift {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-lift:hover {
  transform: translateY(-4px);
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.dark .card-lift:hover {
  box-shadow:
    0 20px 25px -5px rgba(0, 0, 0, 0.4),
    0 10px 10px -5px rgba(0, 0, 0, 0.2);
}
.card-glow {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-glow:hover {
  box-shadow:
    0 0 0 1px var(--primary-200),
    0 10px 15px -3px rgba(0, 0, 0, 0.1);
}
.dark .card-glow:hover {
  box-shadow:
    0 0 0 1px var(--primary-800),
    0 10px 15px -3px rgba(0, 0, 0, 0.4);
}
/* Glass Effects */
.glass {
  background: hsla(39, 67%, 95%, 0.1);
  backdrop-filter: blur(10px);
  border: 1px solid hsla(39, 67%, 95%, 0.2);
}
.dark .glass {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid hsla(39, 67%, 95%, 0.1);
}
.dark .bg-primary-subtle {
  background-color: hsl(200, 25%, 12%);
}
.dark .border-primary-subtle {
  border-color: hsl(200, 20%, 20%);
}
/* Gradient Text */
.gradient-text-primary {
  @apply bg-gradient-to-r from-primary-600 to-accent-600 bg-clip-text text-transparent;
}
.gradient-text-rainbow {
  @apply bg-gradient-to-r from-red-500 via-yellow-500 via-green-500 via-blue-500 to-purple-500 bg-clip-text text-transparent;
}
/* Layout Utilities */
.grid-auto-fit {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.grid-auto-fill {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
.grid-responsive {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.container-fluid {
  width: 100%;
  max-width: none;
  padding-left: 1rem;
  padding-right: 1rem;
}
/* Interactive Elements */
.interactive-element {
  @apply transition-all duration-200 ease-in-out;
  @apply hover:scale-105 active:scale-95;
  @apply focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2;
}
.interactive-element:disabled {
  @apply opacity-50 cursor-not-allowed;
  transform: none ;
}
/* Code Styling */
.code-block {
  @apply bg-neutral-900 text-neutral-100 rounded-lg p-4 overflow-x-auto text-sm font-mono;
  line-height: 1.6;
}
.code-block .line-number {
  @apply text-neutral-500 select-none mr-4 text-right;
  min-width: 2rem;
  display: inline-block;
}
.code-block .highlight-line {
  @apply bg-neutral-800 -mx-4 px-4;
}
/* Fix Radix UI Dropdown Scroll Lock Issue */
/* Prevent body from being locked when dropdown opens */
body[style*='overflow: hidden'] {
  overflow: visible ;
  padding-right: 0 ;
  pointer-events: auto ;
}
.code-preview {
  font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
  line-height: 1.5;
}
.code-preview .keyword {
  color: #ff79c6;
}
.code-preview .string {
  color: #f1fa8c;
}
.code-preview .function {
  color: #50fa7b;
}
.code-preview .comment {
  color: #6272a4;
  font-style: italic;
}
/* Component Demo Specific */
.demo-container {
  min-height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.demo-container::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 25% 25%, rgba(99, 102, 241, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 75% 75%, rgba(236, 72, 153, 0.05) 0%, transparent 50%);
  pointer-events: none;
}
.component-demo-modal [data-radix-dialog-content] {
  max-width: 95vw ;
  max-height: 95vh ;
  width: 100% ;
  height: 100% ;
}
.props-table-container {
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--neutral-400) var(--neutral-100);
}
.props-table-container::-webkit-scrollbar {
  height: 6px;
}
.props-table-container::-webkit-scrollbar-track {
  background: var(--neutral-100);
}
.props-table-container::-webkit-scrollbar-thumb {
  background: var(--neutral-400);
  border-radius: 3px;
}
.dark .props-table-container::-webkit-scrollbar-track {
  background: var(--neutral-800);
}
.dark .props-table-container::-webkit-scrollbar-thumb {
  background: var(--neutral-600);
}
/* Utility Classes */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.sr-only-focusable {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  padding: 0.25rem 0.5rem;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
  border: 2px solid var(--primary-500);
  border-radius: 0.25rem;
  background: var(--primary-50);
  color: var(--primary-900);
}
.will-change-transform {
  will-change: transform;
}
.will-change-opacity {
  will-change: opacity;
}
.will-change-auto {
  will-change: auto;
}
/* Responsive Design */
@media (max-width: 640px) {
  .text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  .text-xl {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }
  .space-x-4 > * + * {
    margin-left: 0.5rem;
  }
  .toast-container {
    top: 80px ;
    left: 1rem ;
    right: 1rem ;
    transform: none ;
  }
  .toast-container > * {
    width: 100%;
    max-width: none;
  }
  .component-demo-modal .dialog-content {
    margin: 1rem;
    width: calc(100% - 2rem);
    max-height: calc(100vh - 2rem);
  }
}
@media (min-width: 640px) {
  .sm\:flex-row {
    flex-direction: row;
  }
  .grid-responsive {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .container-fluid {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .component-demo-modal [data-radix-dialog-content] {
    max-width: 90vw ;
    max-height: 90vh ;
  }
}
@media (min-width: 768px) {
  .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .grid-responsive {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
  .container-fluid {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .component-demo-modal [data-radix-dialog-content] {
    max-width: 85vw ;
    max-height: 85vh ;
  }
}
@media (min-width: 1280px) {
  .grid-responsive {
    grid-template-columns: repeat(4, 1fr);
  }
  .component-demo-modal [data-radix-dialog-content] {
    max-width: 80vw ;
    max-height: 80vh ;
  }
}
/* Container Queries */
@container (min-width: 768px) {
  .container-md\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@container (min-width: 1024px) {
  .container-lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* Mobile Navigation */
@media (max-width: 767px) {
  .mobile-menu {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(4px);
    z-index: 1000;
  }
  .mobile-menu-content {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 80%;
    max-width: 320px;
    background: white;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
  }
  .dark .mobile-menu-content {
    background: var(--neutral-900);
  }
  .mobile-menu.open .mobile-menu-content {
    transform: translateX(0);
  }
}
/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms ;
    animation-iteration-count: 1 ;
    transition-duration: 0.01ms ;
  }
}
@media (prefers-contrast: high) {
  .card {
    border-width: 2px;
  }
  .button {
    border-width: 2px;
  }
  .input {
    border-width: 2px;
  }
}
/* Print Styles */
@media print {
  * {
    background: transparent ;
    color: #fffafa ;
    box-shadow: none ;
    text-shadow: none ;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  abbr[title]:after {
    content: ' (' attr(title) ')';
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% ;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .no-print {
    display: none ;
  }
  .print-break-before {
    page-break-before: always;
  }
  .print-break-after {
    page-break-after: always;
  }
  .print-break-inside-avoid {
    page-break-inside: avoid;
  }
}
/* Prevent layout shift during dropdown operations */
.layout-stable {
  contain: layout style;
}
/* Prevent horizontal scrollbar flicker */
.prevent-horizontal-scroll {
  overflow-x: hidden;
  width: 100%;
}
/* Stabilized container for dropdowns */
.stabilized-container {
  position: relative;
  isolation: isolate;
  contain: layout;
}
/* Fix for iOS Safari bouncing */
@supports (-webkit-touch-callout: none) {
  .ios-dropdown-fix {
    position: fixed;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }
}
/* GPU acceleration for smooth animations */
.gpu-accelerated {
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000px;
}
/* Prevent text selection during dropdown interactions */
.dropdown-no-select {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
/* Enhanced Z-Index Management for Navbar Components */
.navbar-theme-toggle {
  z-index: 10000 ;
}
.navbar-language-toggle {
  z-index: 9999 ;
}
.navbar-user-menu {
  z-index: 9998 ;
}
/* Radix UI Portal Z-Index Overrides for Navbar */
[data-radix-portal] {
  z-index: 9999 ;
}
[data-radix-dropdown-menu-content] {
  z-index: 9999 ;
}
[data-radix-select-content] {
  z-index: 9999 ;
}
[data-radix-popover-content] {
  z-index: 9999 ;
}
/* Navbar Specific Dropdown Positioning */
.navbar-dropdown {
  position: fixed ;
  z-index: 9999 ;
  will-change: transform, opacity;
  transform: translateZ(0);
}
/* Smooth navbar transitions */
.navbar-transition {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* Mobile menu overlay */
.mobile-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  z-index: 9998;
}
/* Scrollbar compensation utilities */
.scrollbar-compensated {
  padding-right: var(--scrollbar-width, 0px) ;
}
.no-scrollbar-shift {
  scrollbar-gutter: stable;
}
/* Dropdown specific improvements */
.dropdown-container {
  position: relative;
  isolation: isolate;
}
.dropdown-content {
  position: fixed;
  z-index: 9999;
  contain: layout;
  will-change: opacity, transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}
/* Enhanced dropdown animations without layout shift */
@keyframes dropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(-4px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.dropdown-animate-in {
  animation: dropdownFadeIn 0.15s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
/* Prevent body scroll compensation */
body.dropdown-open {
  overflow: hidden;
  padding-right: var(--scrollbar-width, 0px) ;
  margin-right: calc(var(--scrollbar-width, 0px)) ;
}
/* Mobile dropdown adjustments */
@media (max-width: 768px) {
  .dropdown-content {
    max-width: calc(100vw - 2rem);
    margin: 0 1rem;
  }
}
/* RADİX UI SCROLL LOCK - MAXIMUM SPESİFİSİTE OVERRIDE */
html body[data-scroll-locked],
html body[data-scroll-locked][style],
body[data-scroll-locked][style*='margin-right'] {
  margin-right: 0px ;
  margin-left: 0px ;
  margin-top: 0px ;
  padding-right: 0px ;
  padding-left: 0px ;
  padding-top: 0px ;
  overflow: hidden ;
  position: relative ;
}
/* Inline style attribute override için daha spesifik seçici */
[data-scroll-locked][style*='margin-right: 8px'] {
  margin-right: 0px ;
}
[data-scroll-locked][style*='margin-right:8px'] {
  margin-right: 0px ;
}
/* Modern scrollbar gutter desteği */
html {
  scrollbar-gutter: stable both-edges;
}
@supports (scrollbar-gutter: stable) {
  html {
    scrollbar-gutter: stable;
  }
  body {
    scrollbar-gutter: stable;
  }
}