/**
 * Guida Italiana - Complete CSS v2.0
 */
:root {
  --gi-primary: #2563eb;
  --gi-primary-dark: #1d4ed8;
  --gi-primary-light: #3b82f6;
  --gi-success: #10b981;
  --gi-danger: #ef4444;
  --gi-warning: #f59e0b;
  --gi-gray-50: #f9fafb;
  --gi-gray-100: #f3f4f6;
  --gi-gray-200: #e5e7eb;
  --gi-gray-300: #d1d5db;
  --gi-gray-400: #9ca3af;
  --gi-gray-500: #6b7280;
  --gi-gray-600: #4b5563;
  --gi-gray-700: #374151;
  --gi-gray-800: #1f2937;
  --gi-gray-900: #111827;
}

*, *::before, *::after { box-sizing: border-box; }

#project-babbo-root {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

#project-babbo-root *, #project-babbo-root *::before, #project-babbo-root *::after {
  box-sizing: border-box;
  border: 0 solid var(--gi-gray-200);
}

body { background-color: #f8fafc; margin: 0; padding: 0; }

/* LAYOUT */
#project-babbo-root .flex { display: flex !important; }
#project-babbo-root .grid { display: grid !important; }
#project-babbo-root .block { display: block !important; }
#project-babbo-root .hidden { display: none !important; }
#project-babbo-root .inline-flex { display: inline-flex !important; }
#project-babbo-root .inline-block { display: inline-block !important; }
#project-babbo-root .flex-col { flex-direction: column !important; }
#project-babbo-root .flex-row { flex-direction: row !important; }
#project-babbo-root .flex-1 { flex: 1 !important; }
#project-babbo-root .flex-shrink-0 { flex-shrink: 0 !important; }
#project-babbo-root .items-center { align-items: center !important; }
#project-babbo-root .items-start { align-items: flex-start !important; }
#project-babbo-root .items-end { align-items: flex-end !important; }
#project-babbo-root .self-start { align-self: flex-start !important; }
#project-babbo-root .justify-center { justify-content: center !important; }
#project-babbo-root .justify-between { justify-content: space-between !important; }
#project-babbo-root .justify-end { justify-content: flex-end !important; }
#project-babbo-root .justify-start { justify-content: flex-start !important; }
#project-babbo-root .w-full { width: 100% !important; }
#project-babbo-root .h-full { height: 100% !important; }
#project-babbo-root .h-screen { height: 100vh !important; }
#project-babbo-root .min-h-screen { min-height: 100vh !important; }
#project-babbo-root .min-h-full { min-height: 100% !important; }
#project-babbo-root .relative { position: relative !important; }
#project-babbo-root .absolute { position: absolute !important; }
#project-babbo-root .fixed { position: fixed !important; }
#project-babbo-root .sticky { position: sticky !important; }
#project-babbo-root .inset-0 { inset: 0 !important; }
#project-babbo-root .top-0 { top: 0 !important; }
#project-babbo-root .top-4 { top: 16px !important; }
#project-babbo-root .top-1\/2 { top: 50% !important; }
#project-babbo-root .left-0 { left: 0 !important; }
#project-babbo-root .left-3 { left: 12px !important; }
#project-babbo-root .left-4 { left: 16px !important; }
#project-babbo-root .right-0 { right: 0 !important; }
#project-babbo-root .right-2 { right: 8px !important; }
#project-babbo-root .bottom-0 { bottom: 0 !important; }
#project-babbo-root .overflow-hidden { overflow: hidden !important; }
#project-babbo-root .overflow-auto { overflow: auto !important; }
#project-babbo-root .overflow-y-auto { overflow-y: auto !important; }
#project-babbo-root .overflow-x-auto { overflow-x: auto !important; }

/* SPACING */
#project-babbo-root .p-0 { padding: 0 !important; }
#project-babbo-root .p-1 { padding: 4px !important; }
#project-babbo-root .p-1\.5 { padding: 6px !important; }
#project-babbo-root .p-2 { padding: 8px !important; }
#project-babbo-root .p-2\.5 { padding: 10px !important; }
#project-babbo-root .p-3 { padding: 12px !important; }
#project-babbo-root .p-4 { padding: 16px !important; }
#project-babbo-root .p-5 { padding: 20px !important; }
#project-babbo-root .p-6 { padding: 24px !important; }
#project-babbo-root .p-8 { padding: 32px !important; }
#project-babbo-root .p-10 { padding: 40px !important; }
#project-babbo-root .p-12 { padding: 48px !important; }
#project-babbo-root .px-1 { padding-left: 4px !important; padding-right: 4px !important; }
#project-babbo-root .px-2 { padding-left: 8px !important; padding-right: 8px !important; }
#project-babbo-root .px-3 { padding-left: 12px !important; padding-right: 12px !important; }
#project-babbo-root .px-4 { padding-left: 16px !important; padding-right: 16px !important; }
#project-babbo-root .px-6 { padding-left: 24px !important; padding-right: 24px !important; }
#project-babbo-root .px-8 { padding-left: 32px !important; padding-right: 32px !important; }
#project-babbo-root .py-0\.5 { padding-top: 2px !important; padding-bottom: 2px !important; }
#project-babbo-root .py-1 { padding-top: 4px !important; padding-bottom: 4px !important; }
#project-babbo-root .py-1\.5 { padding-top: 6px !important; padding-bottom: 6px !important; }
#project-babbo-root .py-2 { padding-top: 8px !important; padding-bottom: 8px !important; }
#project-babbo-root .py-3 { padding-top: 12px !important; padding-bottom: 12px !important; }
#project-babbo-root .py-4 { padding-top: 16px !important; padding-bottom: 16px !important; }
#project-babbo-root .py-5 { padding-top: 20px !important; padding-bottom: 20px !important; }
#project-babbo-root .pt-4 { padding-top: 16px !important; }
#project-babbo-root .pt-5 { padding-top: 20px !important; }
#project-babbo-root .pt-6 { padding-top: 24px !important; }
#project-babbo-root .pb-2 { padding-bottom: 8px !important; }
#project-babbo-root .pb-4 { padding-bottom: 16px !important; }
#project-babbo-root .pb-8 { padding-bottom: 32px !important; }
#project-babbo-root .pb-20 { padding-bottom: 80px !important; }
#project-babbo-root .pl-4 { padding-left: 16px !important; }
#project-babbo-root .pl-8 { padding-left: 32px !important; }
#project-babbo-root .pl-11 { padding-left: 44px !important; }
#project-babbo-root .pr-4 { padding-right: 16px !important; }
#project-babbo-root .pr-8 { padding-right: 32px !important; }
#project-babbo-root .m-0 { margin: 0 !important; }
#project-babbo-root .mx-auto { margin-left: auto !important; margin-right: auto !important; }
#project-babbo-root .ml-auto { margin-left: auto !important; }
#project-babbo-root .mr-1 { margin-right: 4px !important; }
#project-babbo-root .mr-2 { margin-right: 8px !important; }
#project-babbo-root .mr-3 { margin-right: 12px !important; }
#project-babbo-root .ml-1 { margin-left: 4px !important; }
#project-babbo-root .ml-2 { margin-left: 8px !important; }
#project-babbo-root .ml-3 { margin-left: 12px !important; }
#project-babbo-root .ml-4 { margin-left: 16px !important; }
#project-babbo-root .-ml-1 { margin-left: -4px !important; }
#project-babbo-root .mt-0\.5 { margin-top: 2px !important; }
#project-babbo-root .mt-1 { margin-top: 4px !important; }
#project-babbo-root .mt-2 { margin-top: 8px !important; }
#project-babbo-root .mt-3 { margin-top: 12px !important; }
#project-babbo-root .mt-4 { margin-top: 16px !important; }
#project-babbo-root .mt-5 { margin-top: 20px !important; }
#project-babbo-root .mt-6 { margin-top: 24px !important; }
#project-babbo-root .mt-8 { margin-top: 32px !important; }
#project-babbo-root .mb-1 { margin-bottom: 4px !important; }
#project-babbo-root .mb-2 { margin-bottom: 8px !important; }
#project-babbo-root .mb-3 { margin-bottom: 12px !important; }
#project-babbo-root .mb-4 { margin-bottom: 16px !important; }
#project-babbo-root .mb-5 { margin-bottom: 20px !important; }
#project-babbo-root .mb-6 { margin-bottom: 24px !important; }
#project-babbo-root .mb-8 { margin-bottom: 32px !important; }
#project-babbo-root .mb-10 { margin-bottom: 40px !important; }
#project-babbo-root .gap-1 { gap: 4px !important; }
#project-babbo-root .gap-2 { gap: 8px !important; }
#project-babbo-root .gap-3 { gap: 12px !important; }
#project-babbo-root .gap-4 { gap: 16px !important; }
#project-babbo-root .gap-5 { gap: 20px !important; }
#project-babbo-root .gap-6 { gap: 24px !important; }
#project-babbo-root .space-x-2 > * + * { margin-left: 8px !important; }
#project-babbo-root .space-x-3 > * + * { margin-left: 12px !important; }
#project-babbo-root .space-y-2 > * + * { margin-top: 8px !important; }
#project-babbo-root .space-y-3 > * + * { margin-top: 12px !important; }
#project-babbo-root .space-y-4 > * + * { margin-top: 16px !important; }
#project-babbo-root .space-y-5 > * + * { margin-top: 20px !important; }
#project-babbo-root .space-y-6 > * + * { margin-top: 24px !important; }

/* TYPOGRAPHY */
#project-babbo-root .text-\[10px\] { font-size: 10px !important; line-height: 1 !important; }
#project-babbo-root .text-xs { font-size: 12px !important; line-height: 16px !important; }
#project-babbo-root .text-sm { font-size: 14px !important; line-height: 20px !important; }
#project-babbo-root .text-base { font-size: 16px !important; line-height: 24px !important; }
#project-babbo-root .text-lg { font-size: 18px !important; line-height: 28px !important; }
#project-babbo-root .text-xl { font-size: 20px !important; line-height: 28px !important; }
#project-babbo-root .text-2xl { font-size: 24px !important; line-height: 32px !important; }
#project-babbo-root .text-3xl { font-size: 30px !important; line-height: 36px !important; }
#project-babbo-root .text-4xl { font-size: 36px !important; line-height: 40px !important; }
#project-babbo-root .font-normal { font-weight: 400 !important; }
#project-babbo-root .font-medium { font-weight: 500 !important; }
#project-babbo-root .font-semibold { font-weight: 600 !important; }
#project-babbo-root .font-bold { font-weight: 700 !important; }
#project-babbo-root .font-extrabold { font-weight: 800 !important; }
#project-babbo-root .text-center { text-align: center !important; }
#project-babbo-root .text-left { text-align: left !important; }
#project-babbo-root .text-right { text-align: right !important; }
#project-babbo-root .uppercase { text-transform: uppercase !important; }
#project-babbo-root .capitalize { text-transform: capitalize !important; }
#project-babbo-root .line-through { text-decoration: line-through !important; }
#project-babbo-root .tracking-tight { letter-spacing: -0.025em !important; }
#project-babbo-root .tracking-wide { letter-spacing: 0.025em !important; }
#project-babbo-root .tracking-wider { letter-spacing: 0.05em !important; }
#project-babbo-root .tracking-widest { letter-spacing: 0.1em !important; }
#project-babbo-root .leading-none { line-height: 1 !important; }
#project-babbo-root .leading-5 { line-height: 1.25rem !important; }
#project-babbo-root .leading-6 { line-height: 1.5rem !important; }
#project-babbo-root .leading-tight { line-height: 1.25 !important; }
#project-babbo-root .leading-relaxed { line-height: 1.625 !important; }
#project-babbo-root .truncate { overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
#project-babbo-root .whitespace-nowrap { white-space: nowrap !important; }
#project-babbo-root .break-all { word-break: break-all !important; }

/* BACKGROUNDS */
#project-babbo-root .bg-white { background-color: #ffffff !important; }
#project-babbo-root .bg-black { background-color: #000000 !important; }
#project-babbo-root .bg-transparent { background-color: transparent !important; }
#project-babbo-root .bg-gray-50 { background-color: var(--gi-gray-50) !important; }
#project-babbo-root .bg-gray-100 { background-color: var(--gi-gray-100) !important; }
#project-babbo-root .bg-gray-200 { background-color: var(--gi-gray-200) !important; }
#project-babbo-root .bg-gray-500 { background-color: var(--gi-gray-500) !important; }
#project-babbo-root .bg-gray-800 { background-color: var(--gi-gray-800) !important; }
#project-babbo-root .bg-gray-900 { background-color: var(--gi-gray-900) !important; }
#project-babbo-root .bg-slate-50 { background-color: #f8fafc !important; }
#project-babbo-root .bg-slate-100 { background-color: #f1f5f9 !important; }
#project-babbo-root .bg-slate-800 { background-color: #1e293b !important; }
#project-babbo-root .bg-slate-900 { background-color: #0f172a !important; }
#project-babbo-root .bg-blue-50 { background-color: #eff6ff !important; }
#project-babbo-root .bg-blue-100 { background-color: #dbeafe !important; }
#project-babbo-root .bg-blue-500 { background-color: var(--gi-primary-light) !important; }
#project-babbo-root .bg-blue-600 { background-color: var(--gi-primary) !important; }
#project-babbo-root .bg-blue-700 { background-color: var(--gi-primary-dark) !important; }
#project-babbo-root .bg-green-50 { background-color: #f0fdf4 !important; }
#project-babbo-root .bg-green-100 { background-color: #dcfce7 !important; }
#project-babbo-root .bg-green-500 { background-color: var(--gi-success) !important; }
#project-babbo-root .bg-red-50 { background-color: #fef2f2 !important; }
#project-babbo-root .bg-red-100 { background-color: #fee2e2 !important; }
#project-babbo-root .bg-red-500 { background-color: var(--gi-danger) !important; }
#project-babbo-root .bg-red-600 { background-color: #dc2626 !important; }
#project-babbo-root .bg-red-700 { background-color: #b91c1c !important; }
#project-babbo-root .bg-yellow-50 { background-color: #fefce8 !important; }
#project-babbo-root .bg-yellow-100 { background-color: #fef9c3 !important; }
#project-babbo-root .bg-purple-50 { background-color: #faf5ff !important; }
#project-babbo-root .bg-purple-100 { background-color: #f3e8ff !important; }
#project-babbo-root .bg-pink-100 { background-color: #fce7f3 !important; }
#project-babbo-root .bg-gradient-to-r { background-image: linear-gradient(to right, var(--tw-gradient-stops)) !important; }
#project-babbo-root .from-slate-900 { --tw-gradient-from: #0f172a; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, transparent); }
#project-babbo-root .to-slate-800 { --tw-gradient-to: #1e293b; }
#project-babbo-root .bg-black\/60 { background-color: rgba(0,0,0,0.6) !important; }
#project-babbo-root .bg-black\/50 { background-color: rgba(0,0,0,0.5) !important; }
#project-babbo-root .bg-white\/10 { background-color: rgba(255,255,255,0.1) !important; }
#project-babbo-root .bg-white\/20 { background-color: rgba(255,255,255,0.2) !important; }
#project-babbo-root .bg-white\/95 { background-color: rgba(255,255,255,0.95) !important; }
#project-babbo-root .bg-blue-500\/20 { background-color: rgba(59,130,246,0.2) !important; }
#project-babbo-root .bg-slate-50\/50 { background-color: rgba(248,250,252,0.5) !important; }
#project-babbo-root .bg-gray-50\/50 { background-color: rgba(249,250,251,0.5) !important; }
#project-babbo-root .bg-blue-50\/50 { background-color: rgba(239,246,255,0.5) !important; }

/* TEXT COLORS */
#project-babbo-root .text-white { color: #ffffff !important; }
#project-babbo-root .text-black { color: #000000 !important; }
#project-babbo-root .text-current { color: currentColor !important; }
#project-babbo-root .text-gray-100 { color: var(--gi-gray-100) !important; }
#project-babbo-root .text-gray-200 { color: var(--gi-gray-200) !important; }
#project-babbo-root .text-gray-300 { color: var(--gi-gray-300) !important; }
#project-babbo-root .text-gray-400 { color: var(--gi-gray-400) !important; }
#project-babbo-root .text-gray-500 { color: var(--gi-gray-500) !important; }
#project-babbo-root .text-gray-600 { color: var(--gi-gray-600) !important; }
#project-babbo-root .text-gray-700 { color: var(--gi-gray-700) !important; }
#project-babbo-root .text-gray-800 { color: var(--gi-gray-800) !important; }
#project-babbo-root .text-gray-900 { color: var(--gi-gray-900) !important; }
#project-babbo-root .text-slate-400 { color: #94a3b8 !important; }
#project-babbo-root .text-slate-500 { color: #64748b !important; }
#project-babbo-root .text-slate-600 { color: #475569 !important; }
#project-babbo-root .text-slate-800 { color: #1e293b !important; }
#project-babbo-root .text-slate-900 { color: #0f172a !important; }
#project-babbo-root .text-blue-50 { color: #eff6ff !important; }
#project-babbo-root .text-blue-100 { color: #dbeafe !important; }
#project-babbo-root .text-blue-300 { color: #93c5fd !important; }
#project-babbo-root .text-blue-400 { color: #60a5fa !important; }
#project-babbo-root .text-blue-500 { color: var(--gi-primary-light) !important; }
#project-babbo-root .text-blue-600 { color: var(--gi-primary) !important; }
#project-babbo-root .text-blue-700 { color: var(--gi-primary-dark) !important; }
#project-babbo-root .text-blue-800 { color: #1e40af !important; }
#project-babbo-root .text-green-500 { color: var(--gi-success) !important; }
#project-babbo-root .text-green-600 { color: #059669 !important; }
#project-babbo-root .text-green-800 { color: #166534 !important; }
#project-babbo-root .text-red-400 { color: #f87171 !important; }
#project-babbo-root .text-red-500 { color: var(--gi-danger) !important; }
#project-babbo-root .text-red-600 { color: #dc2626 !important; }
#project-babbo-root .text-red-800 { color: #991b1b !important; }
#project-babbo-root .text-yellow-500 { color: var(--gi-warning) !important; }
#project-babbo-root .text-yellow-600 { color: #ca8a04 !important; }
#project-babbo-root .text-yellow-800 { color: #854d0e !important; }
#project-babbo-root .text-purple-800 { color: #6b21a8 !important; }
#project-babbo-root .text-pink-800 { color: #9d174d !important; }

/* BORDERS */
#project-babbo-root .border { border: 1px solid var(--gi-gray-200) !important; }
#project-babbo-root .border-0 { border-width: 0 !important; }
#project-babbo-root .border-2 { border-width: 2px !important; border-style: solid !important; }
#project-babbo-root .border-t { border-top: 1px solid var(--gi-gray-200) !important; }
#project-babbo-root .border-b { border-bottom: 1px solid var(--gi-gray-200) !important; }
#project-babbo-root .border-l-4 { border-left: 4px solid var(--gi-gray-200) !important; }
#project-babbo-root .border-transparent { border-color: transparent !important; }
#project-babbo-root .border-white { border-color: #ffffff !important; }
#project-babbo-root .border-gray-100 { border-color: var(--gi-gray-100) !important; }
#project-babbo-root .border-gray-200 { border-color: var(--gi-gray-200) !important; }
#project-babbo-root .border-gray-300 { border-color: var(--gi-gray-300) !important; }
#project-babbo-root .border-slate-100 { border-color: #f1f5f9 !important; }
#project-babbo-root .border-slate-200 { border-color: #e2e8f0 !important; }
#project-babbo-root .border-blue-100 { border-color: #dbeafe !important; }
#project-babbo-root .border-blue-200 { border-color: #bfdbfe !important; }
#project-babbo-root .border-blue-400 { border-color: #60a5fa !important; }
#project-babbo-root .border-blue-500 { border-color: var(--gi-primary-light) !important; }
#project-babbo-root .border-blue-600 { border-color: var(--gi-primary) !important; }
#project-babbo-root .border-green-200 { border-color: #bbf7d0 !important; }
#project-babbo-root .border-green-400 { border-color: #4ade80 !important; }
#project-babbo-root .border-red-200 { border-color: #fecaca !important; }
#project-babbo-root .border-red-400 { border-color: #f87171 !important; }
#project-babbo-root .border-red-500 { border-color: var(--gi-danger) !important; }
#project-babbo-root .border-yellow-100 { border-color: #fef9c3 !important; }
#project-babbo-root .border-yellow-200 { border-color: #fef08a !important; }
#project-babbo-root .border-yellow-400 { border-color: #facc15 !important; }
#project-babbo-root .border-purple-200 { border-color: #e9d5ff !important; }
#project-babbo-root .border-pink-200 { border-color: #fbcfe8 !important; }
#project-babbo-root .border-white\/10 { border-color: rgba(255,255,255,0.1) !important; }
#project-babbo-root .border-white\/20 { border-color: rgba(255,255,255,0.2) !important; }
#project-babbo-root .border-t-green-400 { border-top-color: #4ade80 !important; }

/* BORDER RADIUS */
#project-babbo-root .rounded { border-radius: 4px !important; }
#project-babbo-root .rounded-md { border-radius: 6px !important; }
#project-babbo-root .rounded-lg { border-radius: 8px !important; }
#project-babbo-root .rounded-xl { border-radius: 12px !important; }
#project-babbo-root .rounded-2xl { border-radius: 16px !important; }
#project-babbo-root .rounded-3xl { border-radius: 24px !important; }
#project-babbo-root .rounded-full { border-radius: 9999px !important; }

/* SHADOWS */
#project-babbo-root .shadow-sm { box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; }
#project-babbo-root .shadow { box-shadow: 0 1px 3px rgba(0,0,0,0.1), 0 1px 2px rgba(0,0,0,0.06) !important; }
#project-babbo-root .shadow-md { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1) !important; }
#project-babbo-root .shadow-lg { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1) !important; }
#project-babbo-root .shadow-xl { box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1) !important; }
#project-babbo-root .shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25) !important; }
#project-babbo-root .shadow-inner { box-shadow: inset 0 2px 4px 0 rgba(0,0,0,0.06) !important; }
#project-babbo-root .shadow-blue-500\/20 { box-shadow: 0 8px 25px -5px rgba(37,99,235,0.2) !important; }
#project-babbo-root .shadow-blue-500\/30 { box-shadow: 0 10px 30px -5px rgba(37,99,235,0.3) !important; }
#project-babbo-root .shadow-blue-500\/40 { box-shadow: 0 10px 30px -5px rgba(37,99,235,0.4) !important; }

/* OPACITY & TRANSITIONS */
#project-babbo-root .opacity-25 { opacity: 0.25 !important; }
#project-babbo-root .opacity-40 { opacity: 0.4 !important; }
#project-babbo-root .opacity-50 { opacity: 0.5 !important; }
#project-babbo-root .opacity-60 { opacity: 0.6 !important; }
#project-babbo-root .opacity-75 { opacity: 0.75 !important; }
#project-babbo-root .transition { transition: all 0.15s ease !important; }
#project-babbo-root .transition-all { transition: all 0.15s ease !important; }
#project-babbo-root .transition-colors { transition: color 0.15s, background-color 0.15s, border-color 0.15s !important; }
#project-babbo-root .transition-transform { transition: transform 0.15s ease !important; }
#project-babbo-root .transition-opacity { transition: opacity 0.15s ease !important; }
#project-babbo-root .duration-200 { transition-duration: 200ms !important; }
#project-babbo-root .duration-300 { transition-duration: 300ms !important; }
#project-babbo-root .duration-500 { transition-duration: 500ms !important; }
#project-babbo-root .ease-out { transition-timing-function: ease-out !important; }

/* TRANSFORMS */
#project-babbo-root .transform { transform: translateZ(0) !important; }
#project-babbo-root .scale-95 { transform: scale(0.95) !important; }
#project-babbo-root .scale-100 { transform: scale(1) !important; }
#project-babbo-root .scale-105 { transform: scale(1.05) !important; }
#project-babbo-root .-translate-x-full { transform: translateX(-100%) !important; }
#project-babbo-root .translate-x-0 { transform: translateX(0) !important; }
#project-babbo-root .-translate-y-1\/2 { transform: translateY(-50%) !important; }
#project-babbo-root .translate-y-4 { transform: translateY(16px) !important; }
#project-babbo-root .z-10 { z-index: 10 !important; }
#project-babbo-root .z-20 { z-index: 20 !important; }
#project-babbo-root .z-30 { z-index: 30 !important; }
#project-babbo-root .z-40 { z-index: 40 !important; }
#project-babbo-root .z-50 { z-index: 50 !important; }

/* MISC */
#project-babbo-root .cursor-pointer { cursor: pointer !important; }
#project-babbo-root .cursor-not-allowed { cursor: not-allowed !important; }
#project-babbo-root .select-none { user-select: none !important; }
#project-babbo-root .pointer-events-none { pointer-events: none !important; }
#project-babbo-root .outline-none { outline: none !important; }
#project-babbo-root .appearance-none { appearance: none !important; }
#project-babbo-root .backdrop-blur-sm { backdrop-filter: blur(4px) !important; }
#project-babbo-root .backdrop-blur-md { backdrop-filter: blur(12px) !important; }
#project-babbo-root .backdrop-blur-xl { backdrop-filter: blur(24px) !important; }
#project-babbo-root .align-middle { vertical-align: middle !important; }
#project-babbo-root .align-bottom { vertical-align: bottom !important; }

/* HOVER STATES */
#project-babbo-root .hover\:bg-gray-50:hover { background-color: var(--gi-gray-50) !important; }
#project-babbo-root .hover\:bg-gray-100:hover { background-color: var(--gi-gray-100) !important; }
#project-babbo-root .hover\:bg-gray-800:hover { background-color: var(--gi-gray-800) !important; }
#project-babbo-root .hover\:bg-blue-50:hover { background-color: #eff6ff !important; }
#project-babbo-root .hover\:bg-blue-500:hover { background-color: var(--gi-primary-light) !important; }
#project-babbo-root .hover\:bg-blue-600:hover { background-color: var(--gi-primary) !important; }
#project-babbo-root .hover\:bg-blue-700:hover { background-color: var(--gi-primary-dark) !important; }
#project-babbo-root .hover\:bg-red-50:hover { background-color: #fef2f2 !important; }
#project-babbo-root .hover\:bg-red-700:hover { background-color: #b91c1c !important; }
#project-babbo-root .hover\:bg-green-50:hover { background-color: #f0fdf4 !important; }
#project-babbo-root .hover\:bg-slate-100:hover { background-color: #f1f5f9 !important; }
#project-babbo-root .hover\:bg-slate-800:hover { background-color: #1e293b !important; }
#project-babbo-root .hover\:bg-white\/20:hover { background-color: rgba(255,255,255,0.2) !important; }
#project-babbo-root .hover\:text-white:hover { color: #ffffff !important; }
#project-babbo-root .hover\:text-gray-500:hover { color: var(--gi-gray-500) !important; }
#project-babbo-root .hover\:text-gray-600:hover { color: var(--gi-gray-600) !important; }
#project-babbo-root .hover\:text-gray-700:hover { color: var(--gi-gray-700) !important; }
#project-babbo-root .hover\:text-blue-600:hover { color: var(--gi-primary) !important; }
#project-babbo-root .hover\:text-blue-800:hover { color: #1e40af !important; }
#project-babbo-root .hover\:text-red-600:hover { color: #dc2626 !important; }
#project-babbo-root .hover\:text-red-800:hover { color: #991b1b !important; }
#project-babbo-root .hover\:text-green-600:hover { color: #059669 !important; }
#project-babbo-root .hover\:border-blue-200:hover { border-color: #bfdbfe !important; }
#project-babbo-root .hover\:border-blue-400:hover { border-color: #60a5fa !important; }
#project-babbo-root .hover\:shadow-md:hover { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1) !important; }
#project-babbo-root .hover\:shadow-lg:hover { box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1) !important; }
#project-babbo-root .hover\:shadow-blue-500\/40:hover { box-shadow: 0 10px 30px -5px rgba(37,99,235,0.4) !important; }
#project-babbo-root .hover\:scale-105:hover { transform: scale(1.05) !important; }
#project-babbo-root .hover\:scale-\[1\.01\]:hover { transform: scale(1.01) !important; }
#project-babbo-root .hover\:scale-\[1\.02\]:hover { transform: scale(1.02) !important; }
#project-babbo-root .hover\:-translate-y-1:hover { transform: translateY(-4px) !important; }
#project-babbo-root .hover\:z-10:hover { z-index: 10 !important; }
#project-babbo-root .focus\:outline-none:focus { outline: none !important; }
#project-babbo-root .focus\:ring-2:focus { box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3) !important; }
#project-babbo-root .focus\:ring-blue-500:focus { box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3) !important; }
#project-babbo-root .focus\:border-blue-500:focus { border-color: var(--gi-primary-light) !important; }
#project-babbo-root .focus\:border-transparent:focus { border-color: transparent !important; }
#project-babbo-root .focus\:bg-white:focus { background-color: #ffffff !important; }
#project-babbo-root .focus\:ring-offset-2:focus { box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(37, 99, 235, 0.3) !important; }
#project-babbo-root .active\:scale-95:active { transform: scale(0.95) !important; }
#project-babbo-root .disabled\:opacity-50:disabled { opacity: 0.5 !important; }
#project-babbo-root .disabled\:cursor-not-allowed:disabled { cursor: not-allowed !important; }

/* GRID */
#project-babbo-root .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
#project-babbo-root .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
#project-babbo-root .grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)) !important; }
#project-babbo-root .col-span-2 { grid-column: span 2 / span 2 !important; }
#project-babbo-root .divide-y > * + * { border-top: 1px solid var(--gi-gray-200) !important; }
#project-babbo-root .divide-gray-200 > * + * { border-color: var(--gi-gray-200) !important; }

/* WIDTHS & HEIGHTS */
#project-babbo-root .w-1\.5 { width: 6px !important; }
#project-babbo-root .w-4 { width: 16px !important; }
#project-babbo-root .w-5 { width: 20px !important; }
#project-babbo-root .w-8 { width: 32px !important; }
#project-babbo-root .w-10 { width: 40px !important; }
#project-babbo-root .w-12 { width: 48px !important; }
#project-babbo-root .w-24 { width: 96px !important; }
#project-babbo-root .w-64 { width: 256px !important; }
#project-babbo-root .w-80 { width: 320px !important; }
#project-babbo-root .h-1\.5 { height: 6px !important; }
#project-babbo-root .h-4 { height: 16px !important; }
#project-babbo-root .h-5 { height: 20px !important; }
#project-babbo-root .h-8 { height: 32px !important; }
#project-babbo-root .h-10 { height: 40px !important; }
#project-babbo-root .h-12 { height: 48px !important; }
#project-babbo-root .h-24 { height: 96px !important; }
#project-babbo-root .h-80 { height: 320px !important; }
#project-babbo-root .max-w-xs { max-width: 320px !important; }
#project-babbo-root .max-w-sm { max-width: 384px !important; }
#project-babbo-root .max-w-md { max-width: 448px !important; }
#project-babbo-root .max-w-lg { max-width: 512px !important; }
#project-babbo-root .max-w-xl { max-width: 576px !important; }
#project-babbo-root .max-w-2xl { max-width: 672px !important; }
#project-babbo-root .max-w-4xl { max-width: 896px !important; }
#project-babbo-root .max-w-5xl { max-width: 1024px !important; }
#project-babbo-root .max-w-full { max-width: 100% !important; }
#project-babbo-root .min-w-\[100px\] { min-width: 100px !important; }
#project-babbo-root .min-w-\[300px\] { min-width: 300px !important; }
#project-babbo-root .min-w-full { min-width: 100% !important; }
#project-babbo-root .min-h-\[500px\] { min-height: 500px !important; }
#project-babbo-root .aspect-square { aspect-ratio: 1 / 1 !important; }
#project-babbo-root .\!max-w-xl { max-width: 576px !important; }

/* ANIMATIONS */
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
@keyframes zoomIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
#project-babbo-root .animate-in { animation: fadeIn 0.4s ease-out forwards !important; }
#project-babbo-root .animate-spin { animation: spin 1s linear infinite !important; }
#project-babbo-root .animate-pulse { animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite !important; }
#project-babbo-root .zoom-in-95 { animation: zoomIn 0.2s ease-out forwards !important; }

/* FORM INPUTS */
#project-babbo-root input[type="text"],
#project-babbo-root input[type="email"],
#project-babbo-root input[type="tel"],
#project-babbo-root input[type="number"],
#project-babbo-root input[type="date"],
#project-babbo-root select,
#project-babbo-root textarea { font-size: 14px; border-radius: 8px; transition: all 0.15s ease; font-weight: 500; }
#project-babbo-root input:focus, #project-babbo-root select:focus, #project-babbo-root textarea:focus { outline: none; }
#project-babbo-root input::placeholder { color: var(--gi-gray-400); font-weight: 400; }
#project-babbo-root .placeholder\:text-slate-400::placeholder { color: #94a3b8 !important; }
#project-babbo-root .placeholder\:text-gray-400::placeholder { color: var(--gi-gray-400) !important; }

/* ADMIN CALENDAR - GRID FIX */
#project-babbo-root .grid.grid-cols-7 { display: grid !important; grid-template-columns: repeat(7, 1fr) !important; gap: 8px !important; width: 100% !important; }
#project-babbo-root .grid.grid-cols-7 > button { aspect-ratio: 1 / 1 !important; width: 100% !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; padding: 8px 4px !important; border-radius: 12px !important; border: 2px solid var(--gi-gray-200) !important; background: #ffffff !important; transition: all 0.15s ease !important; cursor: pointer !important; gap: 2px !important; }
#project-babbo-root .grid.grid-cols-7 > button:hover:not([disabled]) { transform: scale(1.05) !important; box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important; z-index: 10 !important; border-color: #60a5fa !important; }
#project-babbo-root .grid.grid-cols-7 > button[disabled] { opacity: 0.4 !important; cursor: not-allowed !important; background: var(--gi-gray-50) !important; }
#project-babbo-root .grid.grid-cols-7 > button[disabled]:hover { transform: none !important; box-shadow: none !important; }
#project-babbo-root .grid.grid-cols-7 > button > span:first-of-type { font-size: 18px !important; font-weight: 600 !important; line-height: 1.2 !important; }
#project-babbo-root .grid.grid-cols-7 > button > span:last-of-type { font-size: 12px !important; font-weight: 600 !important; color: var(--gi-primary) !important; }
#project-babbo-root .grid.grid-cols-7 > button.bg-blue-600, #project-babbo-root .grid.grid-cols-7 > button[class*="bg-blue-600"] { background: var(--gi-primary) !important; border-color: var(--gi-primary) !important; color: #ffffff !important; }
#project-babbo-root .grid.grid-cols-7 > button.bg-blue-600 span, #project-babbo-root .grid.grid-cols-7 > button[class*="bg-blue-600"] span { color: #ffffff !important; }

/* BOOKING FORM - ICON INPUT FIX */
#project-babbo-root input.pl-11, #project-babbo-root input[class*="pl-11"] { padding-left: 44px !important; }
#project-babbo-root .relative > svg.absolute, #project-babbo-root .relative svg[class*="absolute"][class*="left-4"] { position: absolute !important; left: 16px !important; top: 16px !important; width: 20px !important; height: 20px !important; color: #94a3b8 !important; pointer-events: none !important; z-index: 10 !important; }

/* SVG ICONS */
#project-babbo-root svg { display: inline-block !important; vertical-align: middle !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
#project-babbo-root svg:not([width]) { width: 1em !important; height: 1em !important; }
#project-babbo-root svg[width="12"] { width: 12px !important; height: 12px !important; }
#project-babbo-root svg[width="14"] { width: 14px !important; height: 14px !important; }
#project-babbo-root svg[width="16"] { width: 16px !important; height: 16px !important; }
#project-babbo-root svg[width="18"] { width: 18px !important; height: 18px !important; }
#project-babbo-root svg[width="20"] { width: 20px !important; height: 20px !important; }
#project-babbo-root svg[width="24"] { width: 24px !important; height: 24px !important; }
#project-babbo-root svg[width="48"] { width: 48px !important; height: 48px !important; }
#project-babbo-root button svg { flex-shrink: 0 !important; }
#project-babbo-root svg path, #project-babbo-root svg circle, #project-babbo-root svg line, #project-babbo-root svg polyline, #project-babbo-root svg rect { stroke: currentColor !important; fill: none !important; }

/* RESPONSIVE SM */
@media (min-width: 640px) {
  #project-babbo-root .sm\:flex { display: flex !important; }
  #project-babbo-root .sm\:block { display: block !important; }
  #project-babbo-root .sm\:hidden { display: none !important; }
  #project-babbo-root .sm\:inline-block { display: inline-block !important; }
  #project-babbo-root .sm\:flex-row { flex-direction: row !important; }
  #project-babbo-root .sm\:flex-none { flex: none !important; }
  #project-babbo-root .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #project-babbo-root .sm\:gap-4 { gap: 16px !important; }
  #project-babbo-root .sm\:p-0 { padding: 0 !important; }
  #project-babbo-root .sm\:p-6 { padding: 24px !important; }
  #project-babbo-root .sm\:p-8 { padding: 32px !important; }
  #project-babbo-root .sm\:pb-4 { padding-bottom: 16px !important; }
  #project-babbo-root .sm\:text-sm { font-size: 14px !important; }
  #project-babbo-root .sm\:text-lg { font-size: 18px !important; }
  #project-babbo-root .sm\:w-auto { width: auto !important; }
  #project-babbo-root .sm\:ml-3 { margin-left: 12px !important; }
  #project-babbo-root .sm\:mt-0 { margin-top: 0 !important; }
  #project-babbo-root .sm\:my-8 { margin-top: 32px !important; margin-bottom: 32px !important; }
  #project-babbo-root .sm\:max-w-lg { max-width: 512px !important; }
  #project-babbo-root .sm\:max-w-2xl { max-width: 672px !important; }
  #project-babbo-root .sm\:items-center { align-items: center !important; }
  #project-babbo-root .sm\:items-start { align-items: flex-start !important; }
  #project-babbo-root .sm\:align-middle { vertical-align: middle !important; }
  #project-babbo-root .sm\:flex-row-reverse { flex-direction: row-reverse !important; }
  #project-babbo-root .sm\:text-left { text-align: left !important; }
  #project-babbo-root .sm\:mx-0 { margin-left: 0 !important; margin-right: 0 !important; }
  #project-babbo-root .sm\:h-10 { height: 40px !important; }
  #project-babbo-root .sm\:w-10 { width: 40px !important; }
  #project-babbo-root .grid.grid-cols-7 > button { padding: 10px 6px !important; }
  #project-babbo-root .grid.grid-cols-7 > button > span:first-of-type { font-size: 20px !important; }
}

/* RESPONSIVE MD */
@media (min-width: 768px) {
  #project-babbo-root .md\:flex { display: flex !important; }
  #project-babbo-root .md\:grid { display: grid !important; }
  #project-babbo-root .md\:block { display: block !important; }
  #project-babbo-root .md\:hidden { display: none !important; }
  #project-babbo-root .md\:flex-row { flex-direction: row !important; }
  #project-babbo-root .md\:items-center { align-items: center !important; }
  #project-babbo-root .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  #project-babbo-root .md\:gap-4 { gap: 16px !important; }
  #project-babbo-root .md\:gap-6 { gap: 24px !important; }
  #project-babbo-root .md\:p-6 { padding: 24px !important; }
  #project-babbo-root .md\:p-8 { padding: 32px !important; }
  #project-babbo-root .md\:p-10 { padding: 40px !important; }
  #project-babbo-root .md\:p-12 { padding: 48px !important; }
  #project-babbo-root .md\:pb-0 { padding-bottom: 0 !important; }
  #project-babbo-root .md\:text-lg { font-size: 18px !important; }
  #project-babbo-root .md\:text-xl { font-size: 20px !important; }
  #project-babbo-root .md\:text-2xl { font-size: 24px !important; }
  #project-babbo-root .md\:text-4xl { font-size: 36px !important; }
  #project-babbo-root .md\:w-auto { width: auto !important; }
  #project-babbo-root .md\:bg-transparent { background-color: transparent !important; }
  #project-babbo-root .md\:shadow-none { box-shadow: none !important; }
  #project-babbo-root .md\:border-none { border: none !important; }
  #project-babbo-root .grid.grid-cols-7 > button { padding: 12px 8px !important; }
  #project-babbo-root .grid.grid-cols-7 > button > span:first-of-type { font-size: 22px !important; }
  #project-babbo-root .grid.grid-cols-7 > button > span:last-of-type { font-size: 14px !important; }
}

/* RESPONSIVE LG */
@media (min-width: 1024px) {
  #project-babbo-root .lg\:flex { display: flex !important; }
  #project-babbo-root .lg\:block { display: block !important; }
  #project-babbo-root .lg\:hidden { display: none !important; }
  #project-babbo-root .lg\:translate-x-0 { transform: translateX(0) !important; }
  #project-babbo-root .lg\:relative { position: relative !important; }
  #project-babbo-root .lg\:static { position: static !important; }
  #project-babbo-root .lg\:w-64 { width: 256px !important; }
  #project-babbo-root .lg\:p-8 { padding: 32px !important; }
  #project-babbo-root .grid.grid-cols-7 > button > span:first-of-type { font-size: 24px !important; }
}

/* WORDPRESS RESET */
#project-babbo-root, #project-babbo-root * { text-shadow: none !important; }
#project-babbo-root a { text-decoration: none !important; color: inherit !important; }
#project-babbo-root p, #project-babbo-root h1, #project-babbo-root h2, #project-babbo-root h3, #project-babbo-root h4 { margin: 0 !important; padding: 0 !important; }
#project-babbo-root ul, #project-babbo-root ol { list-style: none !important; margin: 0 !important; padding: 0 !important; }

/* TEXT VISIBILITY IN DARK HEADERS */
#project-babbo-root .bg-gradient-to-r .text-white, #project-babbo-root .from-slate-900 .text-white, #project-babbo-root .bg-blue-600 .text-white, #project-babbo-root .bg-gray-800 .text-white, #project-babbo-root .bg-gray-900 .text-white, #project-babbo-root .bg-slate-800 .text-white, #project-babbo-root .bg-slate-900 .text-white, #project-babbo-root [class*="from-slate-900"] h1, #project-babbo-root [class*="from-slate-900"] .text-white { color: #ffffff !important; }

/* TABLES */
#project-babbo-root table { width: 100% !important; border-collapse: collapse !important; }
#project-babbo-root th, #project-babbo-root td { text-align: left !important; }

/* BUTTONS */
#project-babbo-root button { cursor: pointer !important; font-family: inherit !important; }
#project-babbo-root button:disabled { cursor: not-allowed !important; }

/* MODALS */
#project-babbo-root .fixed.inset-0 { position: fixed !important; top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important; }

/* RING UTILITIES */
#project-babbo-root .ring-2 { box-shadow: 0 0 0 2px currentColor !important; }
#project-babbo-root .ring-blue-500 { box-shadow: 0 0 0 2px var(--gi-primary-light) !important; }
#project-babbo-root .ring-offset-2 { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--gi-primary-light) !important; }

/* ==========================================
   Customer Calendar Date Colors
   ========================================== */
#project-babbo-root button.gi-date-yellow {
  border-color: #fbbf24 !important;
  background: linear-gradient(135deg, #fefce8 0%, #fef9c3 100%) !important;
}

#project-babbo-root button.gi-date-green {
  border-color: #4ade80 !important;
  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%) !important;
}

#project-babbo-root button.gi-date-red {
  border-color: #f87171 !important;
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%) !important;
}

#project-babbo-root button.gi-date-purple {
  border-color: #c084fc !important;
  background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%) !important;
}

/* ==========================================
   FIX: Language Selector Globe Overlap
   ========================================== */
#project-babbo-root .relative.inline-block select {
  padding-right: 32px !important;
}

#project-babbo-root select + svg {
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

#project-babbo-root select[class*="appearance-none"] {
  padding-right: 36px !important;
  min-width: 120px !important;
}

/* ==========================================
   FIX: Mobile Calendar Responsive
   ========================================== */
@media (max-width: 640px) {
  #project-babbo-root .grid.grid-cols-7 {
    gap: 4px !important;
  }
  
  #project-babbo-root .grid.grid-cols-7 > button {
    padding: 4px 2px !important;
    border-radius: 8px !important;
  }
  
  #project-babbo-root .grid.grid-cols-7 > button span:first-child {
    font-size: 14px !important;
  }
  
  #project-babbo-root .grid.grid-cols-7 > button span:last-child {
    font-size: 9px !important;
  }
  
  #project-babbo-root .max-w-4xl,
  #project-babbo-root .max-w-5xl {
    max-width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}

@media (max-width: 380px) {
  #project-babbo-root .grid.grid-cols-7 {
    gap: 2px !important;
  }
  
  #project-babbo-root .grid.grid-cols-7 > button {
    padding: 3px 1px !important;
  }
  
  #project-babbo-root .grid.grid-cols-7 > button span:first-child {
    font-size: 12px !important;
  }
  
  #project-babbo-root .grid.grid-cols-7 > button span:last-child {
    font-size: 8px !important;
  }
}

/* ==========================================
   FIX: Admin Color Selector Visual Indicators
   ========================================== */
#project-babbo-root .flex.bg-gray-200.p-1.rounded-lg.gap-1 button {
  position: relative !important;
  padding-left: 24px !important;
}

#project-babbo-root .flex.bg-gray-200.p-1.rounded-lg.gap-1 button::before {
  content: '' !important;
  position: absolute !important;
  left: 6px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  border: 2px solid rgba(0,0,0,0.1) !important;
}

#project-babbo-root .flex.bg-gray-200.p-1.rounded-lg.gap-1 button:nth-child(1)::before { background: #e5e7eb !important; }
#project-babbo-root .flex.bg-gray-200.p-1.rounded-lg.gap-1 button:nth-child(2)::before { background: #fbbf24 !important; }
#project-babbo-root .flex.bg-gray-200.p-1.rounded-lg.gap-1 button:nth-child(3)::before { background: #22c55e !important; }
#project-babbo-root .flex.bg-gray-200.p-1.rounded-lg.gap-1 button:nth-child(4)::before { background: #ef4444 !important; }
#project-babbo-root .flex.bg-gray-200.p-1.rounded-lg.gap-1 button:nth-child(5)::before { background: #a855f7 !important; }

#project-babbo-root .flex.bg-gray-200.p-1.rounded-lg.gap-1 button.bg-white::before {
  box-shadow: 0 0 0 2px white, 0 0 0 3px rgba(0,0,0,0.2) !important;
}
