/* VibeReserve Admin — Compiled Tailwind (tw- prefix, no preflight)
   Full rebuild: all used classes + hover/focus variants */

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

/* ── Display ─────────────────────────────────────────────────── */
.tw-block        { display: block; }
.tw-inline-block { display: inline-block; }
.tw-inline-flex  { display: inline-flex; }
.tw-flex         { display: flex; }
.tw-grid         { display: grid; }
.tw-hidden       { display: none; }

/* ── Flex ────────────────────────────────────────────────────── */
.tw-flex-col     { flex-direction: column; }
.tw-flex-wrap    { flex-wrap: wrap; }
.tw-flex-1       { flex: 1 1 0%; }
.tw-shrink-0     { flex-shrink: 0; }
.tw-items-start    { align-items: flex-start; }
.tw-items-center   { align-items: center; }
.tw-items-end      { align-items: flex-end; }
.tw-items-baseline { align-items: baseline; }
.tw-justify-start   { justify-content: flex-start; }
.tw-justify-center  { justify-content: center; }
.tw-justify-between { justify-content: space-between; }
.tw-justify-end     { justify-content: flex-end; }

/* ── Grid ────────────────────────────────────────────────────── */
.tw-grid-cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.tw-grid-cols-6 { grid-template-columns: repeat(6, minmax(0,1fr)); }

/* ── Position ────────────────────────────────────────────────── */
.tw-relative { position: relative; }
.tw-absolute { position: absolute; }
.tw-top-3    { top: 0.75rem; }
.tw-left-3   { left: 0.75rem; }

/* ── Overflow ────────────────────────────────────────────────── */
.tw-overflow-hidden  { overflow: hidden; }
.tw-overflow-x-auto  { overflow-x: auto; }

/* ── Sizing ──────────────────────────────────────────────────── */
.tw-w-2    { width: 0.5rem; }
.tw-w-3    { width: 0.75rem; }
.tw-w-3\.5 { width: 0.875rem; }
.tw-w-4    { width: 1rem; }
.tw-w-5    { width: 1.25rem; }
.tw-w-6    { width: 1.5rem; }
.tw-w-7    { width: 1.75rem; }
.tw-w-8    { width: 2rem; }
.tw-w-10   { width: 2.5rem; }
.tw-w-11   { width: 2.75rem; }
.tw-w-12   { width: 3rem; }
.tw-w-16   { width: 4rem; }
.tw-w-20   { width: 5rem; }
.tw-w-full { width: 100%; }

.tw-h-1\.5 { height: 0.375rem; }
.tw-h-2    { height: 0.5rem; }
.tw-h-3    { height: 0.75rem; }
.tw-h-3\.5 { height: 0.875rem; }
.tw-h-4    { height: 1rem; }
.tw-h-5    { height: 1.25rem; }
.tw-h-6    { height: 1.5rem; }
.tw-h-7    { height: 1.75rem; }
.tw-h-8    { height: 2rem; }
.tw-h-10   { height: 2.5rem; }
.tw-h-11   { height: 2.75rem; }
.tw-h-12   { height: 3rem; }
.tw-h-16   { height: 4rem; }
.tw-h-20   { height: 5rem; }
.tw-h-44   { height: 11rem; }
.tw-h-full { height: 100%; }

.tw-min-h-screen { min-height: 100vh; }
.tw-min-h-36  { min-height: 9rem; }
.tw-min-h-64  { min-height: 16rem; }
.tw-min-w-48  { min-width: 12rem; }
.tw-max-w-36  { max-width: 9rem; }

/* ── Spacing — padding ───────────────────────────────────────── */
.tw-p-1  { padding: 0.25rem; }
.tw-p-3  { padding: 0.75rem; }
.tw-p-4  { padding: 1rem; }
.tw-p-5  { padding: 1.25rem; }
.tw-p-6  { padding: 1.5rem; }
.tw-p-7  { padding: 1.75rem; }

.tw-px-2    { padding-left: 0.5rem;    padding-right: 0.5rem; }
.tw-px-2\.5 { padding-left: 0.625rem;  padding-right: 0.625rem; }
.tw-px-3    { padding-left: 0.75rem;   padding-right: 0.75rem; }
.tw-px-3\.5 { padding-left: 0.875rem;  padding-right: 0.875rem; }
.tw-px-4    { padding-left: 1rem;      padding-right: 1rem; }
.tw-px-5    { padding-left: 1.25rem;   padding-right: 1.25rem; }
.tw-px-6    { padding-left: 1.5rem;    padding-right: 1.5rem; }
.tw-px-8    { padding-left: 2rem;      padding-right: 2rem; }

.tw-py-0\.5 { padding-top: 0.125rem;  padding-bottom: 0.125rem; }
.tw-py-1    { padding-top: 0.25rem;   padding-bottom: 0.25rem; }
.tw-py-1\.5 { padding-top: 0.375rem;  padding-bottom: 0.375rem; }
.tw-py-2    { padding-top: 0.5rem;    padding-bottom: 0.5rem; }
.tw-py-2\.5 { padding-top: 0.625rem;  padding-bottom: 0.625rem; }
.tw-py-3    { padding-top: 0.75rem;   padding-bottom: 0.75rem; }
.tw-py-4    { padding-top: 1rem;      padding-bottom: 1rem; }
.tw-py-10   { padding-top: 2.5rem;    padding-bottom: 2.5rem; }
.tw-py-14   { padding-top: 3.5rem;    padding-bottom: 3.5rem; }
.tw-py-16   { padding-top: 4rem;      padding-bottom: 4rem; }
.tw-py-20   { padding-top: 5rem;      padding-bottom: 5rem; }

.tw-pt-2  { padding-top: 0.5rem; }
.tw-pt-3  { padding-top: 0.75rem; }
.tw-pt-4  { padding-top: 1rem; }
.tw-pt-6  { padding-top: 1.5rem; }
.tw-pb-3  { padding-bottom: 0.75rem; }
.tw-pb-5  { padding-bottom: 1.25rem; }

/* ── Spacing — margin ────────────────────────────────────────── */
.tw-mx-auto { margin-left: auto; margin-right: auto; }
.tw-ml-1  { margin-left: 0.25rem; }
.tw-ml-2  { margin-left: 0.5rem; }
.tw-mt-0\.5 { margin-top: 0.125rem; }
.tw-mt-1  { margin-top: 0.25rem; }
.tw-mt-3  { margin-top: 0.75rem; }
.tw-mt-5  { margin-top: 1.25rem; }
.tw-mb-0\.5 { margin-bottom: 0.125rem; }
.tw-mb-1  { margin-bottom: 0.25rem; }
.tw-mb-1\.5 { margin-bottom: 0.375rem; }
.tw-mb-2  { margin-bottom: 0.5rem; }
.tw-mb-3  { margin-bottom: 0.75rem; }
.tw-mb-4  { margin-bottom: 1rem; }
.tw-mb-5  { margin-bottom: 1.25rem; }
.tw-mb-6  { margin-bottom: 1.5rem; }
.tw-mb-7  { margin-bottom: 1.75rem; }
.tw-mb-8  { margin-bottom: 2rem; }

/* ── Gap ─────────────────────────────────────────────────────── */
.tw-gap-1    { gap: 0.25rem; }
.tw-gap-1\.5 { gap: 0.375rem; }
.tw-gap-2    { gap: 0.5rem; }
.tw-gap-2\.5 { gap: 0.625rem; }
.tw-gap-3    { gap: 0.75rem; }
.tw-gap-4    { gap: 1rem; }
.tw-gap-5    { gap: 1.25rem; }
.tw-gap-6    { gap: 1.5rem; }

/* ── Space-y ─────────────────────────────────────────────────── */
.tw-space-y-1\.5 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.375rem; }
.tw-space-y-4    > :not([hidden]) ~ :not([hidden]) { margin-top: 1rem; }

/* ── Translate ───────────────────────────────────────────────── */
.tw--translate-y-0\.5 { transform: translateY(-0.125rem); }
.tw--translate-y-1    { transform: translateY(-0.25rem); }

/* ── Typography ──────────────────────────────────────────────── */
.tw-font-sans   { font-family: Inter, system-ui, sans-serif; }
.tw-font-mono   { font-family: ui-monospace, SFMono-Regular, monospace; }
.tw-font-normal  { font-weight: 400; }
.tw-font-medium  { font-weight: 500; }
.tw-font-semibold{ font-weight: 600; }
.tw-font-bold    { font-weight: 700; }
.tw-font-black   { font-weight: 900; }

.tw-text-xs   { font-size: 0.75rem;  line-height: 1rem; }
.tw-text-sm   { font-size: 0.875rem; line-height: 1.25rem; }
.tw-text-base { font-size: 1rem;     line-height: 1.5rem; }
.tw-text-xl   { font-size: 1.25rem;  line-height: 1.75rem; }
.tw-text-2xl  { font-size: 1.5rem;   line-height: 2rem; }
.tw-text-3xl  { font-size: 1.875rem; line-height: 2.25rem; }
.tw-text-5xl  { font-size: 3rem;     line-height: 1; }

.tw-tracking-tight   { letter-spacing: -0.025em; }
.tw-tracking-wider   { letter-spacing: 0.05em; }
.tw-tracking-widest  { letter-spacing: 0.1em; }
.tw-leading-none     { line-height: 1; }
.tw-leading-relaxed  { line-height: 1.625; }

.tw-uppercase        { text-transform: uppercase; }
.tw-text-left        { text-align: left; }
.tw-text-center      { text-align: center; }
.tw-truncate         { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tw-whitespace-nowrap{ white-space: nowrap; }
.tw-no-underline     { text-decoration: none; }

/* ── Colors — Slate ──────────────────────────────────────────── */
.tw-text-slate-300 { color: #cbd5e1; }
.tw-text-slate-400 { color: #94a3b8; }
.tw-text-slate-500 { color: #64748b; }
.tw-text-slate-600 { color: #475569; }
.tw-text-slate-700 { color: #334155; }
.tw-text-slate-800 { color: #1e293b; }
.tw-text-slate-900 { color: #0f172a; }
.tw-bg-slate-50    { background-color: #f8fafc; }
.tw-bg-slate-100   { background-color: #f1f5f9; }
.tw-bg-slate-200   { background-color: #e2e8f0; }
.tw-bg-slate-300   { background-color: #cbd5e1; }
.tw-bg-slate-400   { background-color: #94a3b8; }
.tw-border-slate-100 { border-color: #f1f5f9; }
.tw-border-slate-200 { border-color: #e2e8f0; }
.tw-border-slate-300 { border-color: #cbd5e1; }

/* ── Colors — Blue ───────────────────────────────────────────── */
.tw-text-blue-100 { color: #dbeafe; }
.tw-text-blue-200 { color: #bfdbfe; }
.tw-text-blue-400 { color: #60a5fa; }
.tw-text-blue-500 { color: #3b82f6; }
.tw-text-blue-600 { color: #2563eb; }
.tw-text-blue-700 { color: #1d4ed8; }
.tw-text-blue-800 { color: #1e40af; }
.tw-bg-blue-50    { background-color: #eff6ff; }
.tw-bg-blue-100   { background-color: #dbeafe; }
.tw-bg-blue-200   { background-color: #bfdbfe; }
.tw-bg-blue-500   { background-color: #3b82f6; }
.tw-bg-blue-600   { background-color: #2563eb; }
.tw-bg-blue-700   { background-color: #1d4ed8; }
.tw-bg-blue-800   { background-color: #1e40af; }
.tw-border-blue-50  { border-color: #eff6ff; }
.tw-border-blue-100 { border-color: #dbeafe; }
.tw-border-blue-200 { border-color: #bfdbfe; }
.tw-border-blue-300 { border-color: #93c5fd; }
.tw-border-blue-400 { border-color: #60a5fa; }
.tw-border-blue-600 { border-color: #2563eb; }
.tw-border-blue-700 { border-color: #1d4ed8; }

/* ── Colors — Emerald ────────────────────────────────────────── */
.tw-text-emerald-100 { color: #d1fae5; }
.tw-text-emerald-700 { color: #047857; }
.tw-text-emerald-800 { color: #065f46; }
.tw-bg-emerald-50  { background-color: #ecfdf5; }
.tw-bg-emerald-100 { background-color: #d1fae5; }
.tw-bg-emerald-400 { background-color: #34d399; }
.tw-bg-emerald-500 { background-color: #10b981; }
.tw-border-emerald-200 { border-color: #a7f3d0; }
.tw-border-emerald-300 { border-color: #6ee7b7; }

/* ── Colors — Red ────────────────────────────────────────────── */
.tw-text-red-500  { color: #ef4444; }
.tw-text-red-600  { color: #dc2626; }
.tw-text-red-800  { color: #991b1b; }
.tw-bg-red-50     { background-color: #fef2f2; }
.tw-bg-red-100    { background-color: #fee2e2; }
.tw-border-red-200{ border-color: #fecaca; }

/* ── Colors — Amber ──────────────────────────────────────────── */
.tw-text-amber-100 { color: #fef3c7; }
.tw-text-amber-800 { color: #92400e; }
.tw-bg-amber-100   { background-color: #fef3c7; }
.tw-from-amber-500 { --tw-gradient-from: #f59e0b; }
.tw-to-amber-700   { --tw-gradient-to:   #b45309; }

/* ── Colors — Violet ─────────────────────────────────────────── */
.tw-text-violet-100 { color: #ede9fe; }
.tw-bg-violet-50    { background-color: #f5f3ff; }
.tw-text-violet-700 { color: #6d28d9; }
.tw-border-violet-100 { border-color: #ede9fe; }
.tw-from-violet-500 { --tw-gradient-from: #8b5cf6; }
.tw-to-violet-700   { --tw-gradient-to:   #6d28d9; }

/* ── Colors — Green (dashboard) ──────────────────────────────── */
.tw-bg-green-50    { background-color: #f0fdf4; }
.tw-text-green-700 { color: #15803d; }
.tw-border-green-100 { border-color: #dcfce7; }

/* ── Colors — Sky (dashboard) ────────────────────────────────── */
.tw-bg-sky-50    { background-color: #f0f9ff; }
.tw-text-sky-700 { color: #0369a1; }
.tw-border-sky-100 { border-color: #e0f2fe; }

/* ── Colors — Amber (dashboard) ─────────────────────────────── */
.tw-bg-amber-50    { background-color: #fffbeb; }
.tw-text-amber-700 { color: #b45309; }
.tw-border-amber-100 { border-color: #fef3c7; }

/* ── Colors — White / Transparent ───────────────────────────── */
.tw-text-white       { color: #ffffff; }
.tw-bg-white         { background-color: #ffffff; }
.tw-bg-transparent   { background-color: transparent; }

/* ── Gradients ───────────────────────────────────────────────── */
.tw-bg-gradient-to-r  { background-image: linear-gradient(to right, var(--tw-gradient-from, #fff), var(--tw-gradient-to, #fff)); }
.tw-bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-from, #fff), var(--tw-gradient-to, #fff)); }
.tw-from-blue-50  { --tw-gradient-from: #eff6ff; }
.tw-from-blue-500 { --tw-gradient-from: #3b82f6; }
.tw-from-blue-600 { --tw-gradient-from: #2563eb; }
.tw-from-emerald-500 { --tw-gradient-from: #10b981; }
.tw-to-blue-400   { --tw-gradient-to: #60a5fa; }
.tw-to-blue-700   { --tw-gradient-to: #1d4ed8; }
.tw-to-blue-800   { --tw-gradient-to: #1e40af; }
.tw-to-emerald-700 { --tw-gradient-to: #047857; }
.tw-to-slate-100  { --tw-gradient-to: #f1f5f9; }

/* ── Border ──────────────────────────────────────────────────── */
.tw-border      { border-width: 1px; border-style: solid; border-color: #e2e8f0; }
.tw-border-0    { border-width: 0px !important; border: none !important; }
.tw-border-2    { border-width: 2px; border-style: solid; }
.tw-border-4    { border-width: 4px; border-style: solid; }
.tw-border-b    { border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #e2e8f0; }
.tw-border-b-2  { border-bottom-width: 2px; border-bottom-style: solid; }
.tw-border-t    { border-top-width: 1px; border-top-style: solid; border-top-color: #e2e8f0; }
.tw-border-dashed  { border-style: dashed !important; }
.tw-border-collapse { border-collapse: collapse; }

/* ── Divide ──────────────────────────────────────────────────── */
.tw-divide-y > :not([hidden]) ~ :not([hidden])         { border-top-width: 1px; border-top-style: solid; }
.tw-divide-slate-100 > :not([hidden]) ~ :not([hidden]) { border-top-color: #f1f5f9; }
.tw-divide-slate-50  > :not([hidden]) ~ :not([hidden]) { border-top-color: #f8fafc; }

/* ── Border Radius ───────────────────────────────────────────── */
.tw-rounded     { border-radius: 0.25rem; }
.tw-rounded-sm  { border-radius: 0.125rem; }
.tw-rounded-md  { border-radius: 0.375rem; }
.tw-rounded-lg  { border-radius: 0.5rem; }
.tw-rounded-xl  { border-radius: 0.75rem; }
.tw-rounded-2xl { border-radius: 1rem; }
.tw-rounded-full{ border-radius: 9999px; }

/* ── Shadow ──────────────────────────────────────────────────── */
.tw-shadow-sm   { box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.tw-shadow      { box-shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06); }
.tw-shadow-md   { box-shadow: 0 4px 6px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.06); }
.tw-shadow-lg   { box-shadow: 0 10px 20px rgba(0,0,0,.09), 0 4px 8px rgba(0,0,0,.06); }
.tw-shadow-card { box-shadow: 0 1px 3px rgba(0,0,0,.06), 0 4px 16px rgba(0,0,0,.06); }
.tw-shadow-modal{ box-shadow: 0 24px 80px rgba(15,23,42,.2); }
.tw-shadow-btn  { box-shadow: 0 4px 14px rgba(29,78,216,.35); }

/* ── Ring ────────────────────────────────────────────────────── */
.tw-ring-2        { --tw-ring-shadow: 0 0 0 2px var(--tw-ring-color, rgba(59,130,246,.5)); box-shadow: var(--tw-ring-shadow); }
.tw-ring-blue-100 { --tw-ring-color: #dbeafe; }

/* ── Object ──────────────────────────────────────────────────── */
.tw-object-cover { object-fit: cover; }

/* ── Opacity ─────────────────────────────────────────────────── */
.tw-opacity-60 { opacity: 0.6; }
.tw-opacity-70 { opacity: 0.7; }

/* ── Transitions ─────────────────────────────────────────────── */
.tw-transition-all       { transition: all 150ms cubic-bezier(.4,0,.2,1); }
.tw-transition-colors    { transition: color 150ms, background-color 150ms, border-color 150ms; }
.tw-transition-transform { transition: transform 150ms cubic-bezier(.4,0,.2,1); }
.tw-duration-200  { transition-duration: 200ms; }
.tw-duration-300  { transition-duration: 300ms; }
.tw-duration-500  { transition-duration: 500ms; }

/* ── Cursor ──────────────────────────────────────────────────── */
.tw-cursor-pointer { cursor: pointer; }
.tw-cursor-default { cursor: default; }

/* ── Misc ────────────────────────────────────────────────────── */
.tw-outline-none  { outline: none; }
.tw-resize-y      { resize: vertical; }
.tw-group         { /* marker class */ }

/* ── Hover variants ──────────────────────────────────────────── */
.hover\:tw--translate-y-0\.5:hover { transform: translateY(-0.125rem); }
.hover\:tw--translate-y-1:hover    { transform: translateY(-0.25rem); }
.hover\:tw-bg-blue-50:hover        { background-color: #eff6ff; }
.hover\:tw-bg-blue-100:hover       { background-color: #dbeafe; }
.hover\:tw-bg-blue-800:hover       { background-color: #1e40af; }
.hover\:tw-bg-emerald-50:hover     { background-color: #ecfdf5; }
.hover\:tw-bg-red-50:hover         { background-color: #fef2f2; }
.hover\:tw-bg-slate-50:hover       { background-color: #f8fafc; }
.hover\:tw-bg-slate-200:hover      { background-color: #e2e8f0; }
.hover\:tw-border-blue-200:hover   { border-color: #bfdbfe; }
.hover\:tw-border-blue-300:hover   { border-color: #93c5fd; }
.hover\:tw-border-blue-400:hover   { border-color: #60a5fa; }
.hover\:tw-border-emerald-300:hover{ border-color: #6ee7b7; }
.hover\:tw-border-red-200:hover    { border-color: #fecaca; }
.hover\:tw-scale-105:hover         { transform: scale(1.05); }
.hover\:tw-shadow-lg:hover         { box-shadow: 0 10px 20px rgba(0,0,0,.09), 0 4px 8px rgba(0,0,0,.06); }
.hover\:tw-text-blue-400:hover     { color: #60a5fa; }
.hover\:tw-text-blue-500:hover     { color: #3b82f6; }
.hover\:tw-text-blue-600:hover     { color: #2563eb; }
.hover\:tw-text-blue-700:hover     { color: #1d4ed8; }
.hover\:tw-text-blue-800:hover     { color: #1e40af; }
.hover\:tw-text-emerald-700:hover  { color: #047857; }
.hover\:tw-text-red-500:hover      { color: #ef4444; }
.hover\:tw-text-red-600:hover      { color: #dc2626; }
.hover\:tw-text-slate-700:hover    { color: #334155; }

/* ── Focus variants ──────────────────────────────────────────── */
.focus\:tw-outline-none:focus   { outline: none; }
.focus\:tw-ring-2:focus         { box-shadow: 0 0 0 2px #bfdbfe; }
.focus\:tw-border-blue-400:focus{ border-color: #60a5fa; }
.focus\:tw-border-blue-300:focus{ border-color: #93c5fd; }

/* ── Group hover ─────────────────────────────────────────────── */
.tw-group:hover .group-hover\:tw-bg-blue-100 { background-color: #dbeafe; }
.tw-group:hover .group-hover\:tw-text-blue-500 { color: #3b82f6; }
.tw-group:hover .group-hover\:tw-text-blue-600 { color: #2563eb; }
.tw-group:hover .group-hover\:tw-border-blue-300 { border-color: #93c5fd; }
/* Note: group-hover with tw- prefix */
.tw-group:hover .tw-group-hover\:tw-scale-105 { transform: scale(1.05); }
.tw-group:hover .group-hover\:tw-scale-105    { transform: scale(1.05); }

/* ── Animations ──────────────────────────────────────────────── */
@keyframes vrFadeUp  { from { opacity:0; transform:translateY(8px);  } to { opacity:1; transform:translateY(0); } }
@keyframes vrPop     { from { opacity:0; transform:scale(.94);        } to { opacity:1; transform:scale(1);      } }
@keyframes vrSpin    { to   { transform:rotate(360deg); } }
@keyframes vrSlideIn { from { opacity:0; transform:translateX(-8px);  } to { opacity:1; transform:translateX(0); } }
.tw-animate-fade-up   { animation: vrFadeUp   .25s ease; }
.tw-animate-pop       { animation: vrPop      .35s cubic-bezier(.34,1.56,.64,1); }
.tw-animate-spin-slow { animation: vrSpin     .7s linear infinite; }
.tw-animate-slide-in  { animation: vrSlideIn  .2s ease; }

/* ── Additional group-hover image scale ──────────────────────── */
.tw-group:hover .group-hover\:tw-scale-105 { transform: scale(1.05); }

/* ── Amber/sky/green/violet bg for dashboard stat icons ──────── */
.tw-bg-amber-50    { background-color: #fffbeb; }
.tw-text-amber-700 { color: #b45309; }
.tw-border-amber-100 { border-color: #fef3c7; }
