:root {
    --brand-primary: #0F766E;
    --brand-secondary: #7C3AED;
    --brand-accent: #D97706;
    --page-bg: #EEF6F4;
    --page-bg-soft: #E7EFF7;
    --surface-card: rgba(255, 255, 255, 0.62);
    --surface-card-muted: rgba(240, 247, 246, 0.56);
    --surface-control: rgba(255, 255, 255, 0.5);
    --surface-control-hover: rgba(255, 255, 255, 0.72);
    --sidebar-bg: #0B2428;
    --sidebar-panel: rgba(255, 255, 255, 0.08);
    --sidebar-border: rgba(153, 246, 228, 0.18);
    --text-dark: #17313A;
    --text-muted: #627278;
    --border-light: rgba(255, 255, 255, 0.48);
    --liquid-glass: rgba(255, 255, 255, 0.58);
    --liquid-glass-strong: rgba(255, 255, 255, 0.72);
    --liquid-stroke: rgba(255, 255, 255, 0.56);
    --liquid-inner-stroke: rgba(255, 255, 255, 0.38);
    --liquid-shadow: 0 24px 70px rgba(19, 49, 58, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.64);
    --shadow-soft: var(--liquid-shadow);
    --font-sans: 'Plus Jakarta Sans', 'Poppins', sans-serif;
    color-scheme: light;
}

.light {
    color-scheme: light;
}

.dark {
    color-scheme: dark;
    --brand-primary: #5EEAD4;
    --brand-secondary: #A78BFA;
    --brand-accent: #FBBF24;
    --page-bg: #061113;
    --page-bg-soft: #0A1A20;
    --surface-card: rgba(13, 31, 38, 0.58);
    --surface-card-muted: rgba(16, 39, 47, 0.5);
    --surface-control: rgba(21, 48, 58, 0.62);
    --surface-control-hover: rgba(31, 70, 82, 0.74);
    --sidebar-bg: #031416;
    --sidebar-panel: rgba(94, 234, 212, 0.09);
    --sidebar-border: rgba(167, 139, 250, 0.2);
    --text-dark: #ECFEFF;
    --text-muted: #A6C5C8;
    --border-light: rgba(184, 222, 226, 0.16);
    --liquid-glass: rgba(13, 31, 38, 0.58);
    --liquid-glass-strong: rgba(20, 48, 58, 0.72);
    --liquid-stroke: rgba(184, 222, 226, 0.18);
    --liquid-inner-stroke: rgba(255, 255, 255, 0.08);
    --liquid-shadow: 0 28px 80px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    --shadow-soft: var(--liquid-shadow);
}

/* ... (the rest of your stylesheet remains the same) ... */
body {
    font-family: var(--font-sans);
    color: var(--text-dark);
    background:
        radial-gradient(circle at 10% 8%, rgba(20, 184, 166, 0.24), transparent 30%),
        radial-gradient(circle at 84% 12%, rgba(124, 58, 237, 0.16), transparent 28%),
        radial-gradient(circle at 74% 92%, rgba(217, 119, 6, 0.14), transparent 32%),
        var(--page-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.admin-page-loader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    min-height: 100dvh;
    padding: clamp(18px, 4vw, 40px);
    background:
        radial-gradient(circle at 20% 18%, rgba(94, 234, 212, 0.2), transparent 30%),
        radial-gradient(circle at 82% 12%, rgba(167, 139, 250, 0.16), transparent 28%),
        radial-gradient(circle at 72% 86%, rgba(251, 191, 36, 0.12), transparent 28%),
        color-mix(in srgb, var(--page-bg) 90%, rgba(255, 255, 255, 0.18));
    backdrop-filter: blur(22px) saturate(1.28);
    -webkit-backdrop-filter: blur(22px) saturate(1.28);
    opacity: 1;
    visibility: visible;
    transition: opacity 320ms ease, visibility 320ms ease;
    overflow: hidden;
    isolation: isolate;
}

.admin-page-loader::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, 0.24), transparent 22%, transparent 72%, rgba(255, 255, 255, 0.1)),
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.18), transparent 24%);
    opacity: 0.82;
}

.admin-page-loader--hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.admin-coffee-loader {
    width: min(280px, calc(100vw - 36px));
    min-height: 264px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: clamp(20px, 4vw, 28px);
    border-radius: 28px;
    color: var(--brand-primary);
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--liquid-glass-strong) 72%, transparent), color-mix(in srgb, var(--liquid-glass) 88%, transparent));
    border: 1px solid var(--liquid-stroke);
    box-shadow: 0 28px 76px rgba(15, 49, 58, 0.18), inset 0 1px 0 var(--liquid-inner-stroke);
    position: relative;
    overflow: hidden;
}

.admin-coffee-loader::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    pointer-events: none;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.34), transparent 36%),
        radial-gradient(circle at 30% 4%, rgba(255, 255, 255, 0.32), transparent 22%);
    border: 1px solid var(--liquid-inner-stroke);
}

.admin-coffee-loader::after {
    content: "";
    position: absolute;
    left: 24px;
    right: 24px;
    bottom: 18px;
    height: 3px;
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, color-mix(in srgb, var(--brand-primary) 82%, white), var(--brand-accent), transparent);
    box-shadow: 0 0 18px color-mix(in srgb, var(--brand-primary) 38%, transparent);
    transform: translateX(-68%);
    animation: adminLoaderSweep 1.3s ease-in-out infinite;
    opacity: 0.82;
}

.admin-coffee-loader__svg {
    width: min(182px, 58vw);
    height: auto;
    color: color-mix(in srgb, var(--brand-primary) 72%, var(--brand-secondary));
    filter: drop-shadow(0 16px 24px color-mix(in srgb, var(--brand-primary) 18%, transparent));
    position: relative;
    z-index: 1;
}

.admin-coffee-loader__copy {
    position: relative;
    z-index: 1;
    text-align: center;
}

.admin-coffee-loader__copy span {
    display: block;
    color: var(--text-muted);
    font-size: 0.6rem;
    font-weight: 900;
    letter-spacing: 0.2em;
}

.admin-coffee-loader__copy strong {
    display: block;
    margin-top: 5px;
    color: var(--text-dark);
    font-size: 0.92rem;
    font-weight: 900;
    letter-spacing: 0.02em;
}

.admin-coffee-loader__pot {
    transform-origin: 108px 80px;
    animation: adminCoffeePotTilt 1.35s ease-in-out infinite;
}

.admin-coffee-loader__pour {
    stroke-dasharray: 92;
    stroke-dashoffset: 92;
    animation: adminCoffeePour 1.35s ease-in-out infinite;
}

.admin-coffee-loader__fill {
    transform-origin: center bottom;
    animation: adminCoffeeFill 1.35s ease-in-out infinite;
}

.admin-coffee-loader__steam path {
    opacity: 0;
    animation: adminCoffeeSteam 1.55s ease-in-out infinite;
}

.admin-coffee-loader__steam path:nth-child(2) {
    animation-delay: 0.18s;
}

.admin-coffee-loader__steam path:nth-child(3) {
    animation-delay: 0.36s;
}

@keyframes adminCoffeePotTilt {
    0%, 100% { transform: rotate(0deg); }
    34%, 72% { transform: rotate(-7deg); }
}

@keyframes adminCoffeePour {
    0%, 16% { stroke-dashoffset: 92; opacity: 0; }
    28%, 76% { stroke-dashoffset: 0; opacity: 1; }
    92%, 100% { stroke-dashoffset: -92; opacity: 0; }
}

@keyframes adminCoffeeFill {
    0%, 18% { transform: translateY(0); }
    72%, 100% { transform: translateY(-88px); }
}

@keyframes adminCoffeeSteam {
    0%, 22% { opacity: 0; transform: translateY(8px); }
    46% { opacity: 0.72; }
    100% { opacity: 0; transform: translateY(-14px); }
}

@keyframes adminLoaderSweep {
    0% { transform: translateX(-68%); opacity: 0; }
    22% { opacity: 0.9; }
    76% { opacity: 0.9; }
    100% { transform: translateX(68%); opacity: 0; }
}

h1, h2, h3 {
    font-weight: 700;
}

/*
--------------------------------
2. Reusable Components
--------------------------------
*/

.btn-brand {
    @apply inline-block px-6 py-3 rounded-lg font-semibold text-white shadow-md transition-all duration-300 ease-in-out;
    background-color: var(--brand-primary);
}
.btn-brand:hover {
    background-color: var(--brand-secondary);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.btn-outline {
    @apply inline-block px-6 py-3 rounded-lg font-semibold shadow-sm transition-all duration-300 ease-in-out;
    background-color: transparent;
    color: var(--brand-primary);
    border: 2px solid var(--brand-primary);
}
.btn-outline:hover {
    background-color: var(--brand-primary);
    color: white;
}

/* FIX: A single, clean style for all form inputs */
.form-input {
    @apply w-full mt-1 px-4 py-2 bg-gray-50 border border-gray-300 rounded-md transition;
    background-color: var(--surface-control);
    border-color: var(--border-light);
    color: var(--text-dark);
}
.form-input:focus {
    @apply outline-none border-transparent ring-2 ring-orange-500;
    background-color: var(--surface-card);
}

/*
--------------------------------
Liquid Glass UI v2
--------------------------------
*/

.liquid-glass-v2 {
    background:
        radial-gradient(circle at 12% 10%, rgba(94, 234, 212, 0.12), transparent 28%),
        radial-gradient(circle at 92% 4%, rgba(167, 139, 250, 0.12), transparent 30%),
        radial-gradient(circle at 76% 88%, rgba(251, 191, 36, 0.1), transparent 28%),
        var(--page-bg);
}

.liquid-glass-v2::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        linear-gradient(115deg, rgba(255, 255, 255, 0.2), transparent 18%, transparent 72%, rgba(255, 255, 255, 0.12)),
        radial-gradient(circle at 24% 18%, rgba(255, 255, 255, 0.22), transparent 12%),
        radial-gradient(circle at 80% 22%, rgba(94, 234, 212, 0.1), transparent 14%);
    opacity: 0.62;
    mix-blend-mode: soft-light;
}

.dark .liquid-glass-v2::before {
    opacity: 0.34;
}

.liquid-surface,
.premium-glass,
.node-card,
.stat-card,
.container > .bg-white,
.container > .bg-white\/70,
.container > .bg-white\/80,
.max-w-7xl > .bg-white,
.max-w-7xl > .bg-white\/70,
.max-w-7xl > .bg-white\/80,
.max-w-7xl > div[class*="shadow"],
.bg-white\/50,
.bg-white\/70,
.bg-white\/80,
.bg-white\/90,
.bg-white\/95 {
    position: relative;
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--liquid-glass-strong) 76%, transparent), color-mix(in srgb, var(--liquid-glass) 92%, transparent)) !important;
    border-color: var(--liquid-stroke) !important;
    box-shadow: var(--liquid-shadow) !important;
    backdrop-filter: blur(24px) saturate(1.42);
    -webkit-backdrop-filter: blur(24px) saturate(1.42);
}

.liquid-surface::before,
.premium-glass::before,
.node-card::before,
.stat-card::before,
.bg-white\/70::before,
.bg-white\/80::before,
.bg-white\/90::before,
.bg-white\/95::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    pointer-events: none;
    border: 1px solid var(--liquid-inner-stroke);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.28), transparent 32%),
        radial-gradient(circle at 24% 0%, rgba(255, 255, 255, 0.24), transparent 26%);
    opacity: 0.82;
}

.liquid-surface > *,
.premium-glass > *,
.node-card > *,
.stat-card > * {
    position: relative;
    z-index: 1;
}

.liquid-card-hover,
.glass-card-hover,
.node-card,
.stat-card {
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, background-color 220ms ease;
}

.liquid-card-hover:hover,
.glass-card-hover:hover,
.node-card:hover,
.stat-card:hover {
    transform: translateY(-3px);
    border-color: color-mix(in srgb, var(--brand-primary) 42%, var(--liquid-stroke)) !important;
    box-shadow: 0 30px 90px rgba(15, 118, 110, 0.18), var(--liquid-shadow) !important;
}

.liquid-control,
.form-input,
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select,
textarea {
    background: var(--surface-control) !important;
    border-color: var(--liquid-stroke) !important;
    box-shadow: inset 0 1px 0 var(--liquid-inner-stroke), 0 10px 24px rgba(15, 49, 58, 0.05);
    backdrop-filter: blur(18px) saturate(1.28);
    -webkit-backdrop-filter: blur(18px) saturate(1.28);
}

.liquid-control:focus,
.form-input:focus,
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
select:focus,
textarea:focus {
    background: var(--surface-control-hover) !important;
    border-color: color-mix(in srgb, var(--brand-primary) 52%, var(--liquid-stroke)) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-primary) 22%, transparent), inset 0 1px 0 var(--liquid-inner-stroke) !important;
}

table,
thead,
tbody,
tr,
.bg-slate-50\/30,
.bg-slate-50\/50,
.dark .dark\:bg-slate-950\/30,
.dark .dark\:bg-slate-950\/50 {
    background-color: transparent !important;
}

thead tr,
.bg-slate-50\/30,
.bg-slate-50\/50 {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--liquid-glass-strong) 42%, transparent), color-mix(in srgb, var(--liquid-glass) 54%, transparent)) !important;
    backdrop-filter: blur(18px) saturate(1.24);
    -webkit-backdrop-filter: blur(18px) saturate(1.24);
}

tbody tr:hover {
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--brand-primary) 9%, transparent), color-mix(in srgb, var(--brand-secondary) 7%, transparent)) !important;
}

.fixed .bg-white,
.fixed .dark\:bg-slate-900,
[role="dialog"],
.voucher-print-area {
    backdrop-filter: blur(24px) saturate(1.35);
    -webkit-backdrop-filter: blur(24px) saturate(1.35);
}

.container > .bg-white,
.container > .bg-white\/70,
.container > .bg-white\/80,
.max-w-7xl > .bg-white,
.max-w-7xl > .bg-white\/70,
.max-w-7xl > .bg-white\/80,
.max-w-7xl > div[class*="shadow"] {
    border-radius: 22px !important;
    overflow: hidden;
}

.btn-brand,
a.btn-brand {
    border: 1px solid color-mix(in srgb, var(--brand-primary) 42%, rgba(255, 255, 255, 0.26));
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--brand-primary) 88%, white 12%), color-mix(in srgb, var(--brand-secondary) 82%, black 8%)) !important;
    box-shadow: 0 14px 30px color-mix(in srgb, var(--brand-primary) 22%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.32);
}

.btn-brand:hover,
a.btn-brand:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 38px color-mix(in srgb, var(--brand-primary) 28%, transparent), inset 0 1px 0 rgba(255, 255, 255, 0.38);
}

button,
a,
input,
select,
textarea {
    outline-offset: 3px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--brand-primary) 42%, transparent);
    outline-offset: 3px;
}

button[type="submit"]:not(.btn-brand):not(.unstyled),
button[name]:not(.btn-brand):not(.unstyled) {
    min-height: 34px;
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

th {
    color: color-mix(in srgb, var(--text-muted) 92%, var(--brand-primary)) !important;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

td,
th {
    border-color: var(--border-light) !important;
}

.bg-green-100,
.bg-red-100,
.bg-yellow-100,
.bg-blue-100 {
    border: 1px solid var(--liquid-stroke) !important;
    backdrop-filter: blur(18px) saturate(1.24);
    -webkit-backdrop-filter: blur(18px) saturate(1.24);
    box-shadow: inset 0 1px 0 var(--liquid-inner-stroke), 0 16px 34px rgba(15, 49, 58, 0.08);
}

.admin-shell-main > .relative {
    min-height: 100%;
}

@media (max-width: 767px) {
    .admin-shell-header {
        padding: 0.85rem 1rem !important;
    }

    .admin-shell-main > .relative {
        padding: 1rem !important;
    }

    .container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .container > .bg-white,
    .container > .bg-white\/70,
    .container > .bg-white\/80,
    .max-w-7xl > .bg-white,
    .max-w-7xl > .bg-white\/70,
    .max-w-7xl > .bg-white\/80,
    .max-w-7xl > div[class*="shadow"] {
        border-radius: 18px !important;
    }

    table {
        min-width: 680px;
    }

    .admin-coffee-loader {
        width: min(232px, calc(100vw - 28px));
        min-height: 224px;
        padding: 18px;
        border-radius: 24px;
    }

    .admin-coffee-loader__svg {
        width: min(150px, 54vw);
    }

    .admin-coffee-loader__copy span {
        font-size: 0.56rem;
        letter-spacing: 0.16em;
    }

    .admin-coffee-loader__copy strong {
        font-size: 0.84rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
    }

    .admin-page-loader {
        display: none;
    }
}

/*
--------------------------------
Dark Mode Compatibility Layer
--------------------------------
*/

.dark .form-input,
.dark input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.dark select,
.dark textarea {
    background-color: var(--surface-control);
    border-color: var(--border-light);
    color: var(--text-dark);
}

.dark input::placeholder,
.dark textarea::placeholder {
    color: #6f8983;
}

.bg-white,
.bg-white\/70,
.bg-white\/80,
.bg-white\/90,
.bg-white\/95 {
    background-color: var(--surface-card) !important;
}

.bg-gray-50,
.bg-slate-50,
.bg-slate-50\/30,
.bg-slate-50\/50 {
    background-color: var(--surface-card-muted) !important;
}

.bg-gray-100,
.bg-slate-100,
.bg-slate-200,
.bg-gray-200 {
    background-color: var(--surface-control) !important;
}

.bg-slate-800,
.bg-slate-900,
.bg-slate-950 {
    background-color: var(--surface-control) !important;
}

.dark .dark\:bg-white,
.dark .dark\:bg-slate-900,
.dark .dark\:bg-slate-900\/50,
.dark .dark\:bg-slate-900\/70,
.dark .dark\:bg-slate-900\/80 {
    background-color: var(--surface-card) !important;
}

.dark .dark\:bg-slate-950,
.dark .dark\:bg-slate-950\/20,
.dark .dark\:bg-slate-950\/30,
.dark .dark\:bg-slate-950\/50 {
    background-color: var(--surface-card-muted) !important;
}

.dark .dark\:bg-slate-800,
.dark .dark\:bg-slate-700 {
    background-color: var(--surface-control) !important;
}

.dark .dark\:border-slate-700,
.dark .dark\:border-slate-800,
.dark .dark\:border-white\/5 {
    border-color: var(--border-light) !important;
}

.border-gray-100,
.border-gray-200,
.border-gray-300,
.border-slate-100,
.border-slate-200,
.border-slate-300,
.border-slate-700,
.border-slate-800,
hr {
    border-color: var(--border-light) !important;
}

.shadow-md,
.shadow-lg,
.shadow-xl,
.shadow-2xl {
    box-shadow: var(--shadow-soft) !important;
}

.hover\:bg-gray-50:hover,
.hover\:bg-gray-100:hover,
.hover\:bg-gray-200:hover,
.hover\:bg-slate-50:hover,
.hover\:bg-slate-100:hover,
.hover\:bg-slate-200:hover,
.hover\:bg-slate-300:hover,
.dark .hover\:bg-gray-50:hover,
.dark .hover\:bg-gray-100:hover,
.dark .hover\:bg-gray-200:hover,
.dark .hover\:bg-slate-700:hover,
.dark .hover\:bg-slate-800:hover {
    background-color: var(--surface-control-hover) !important;
}

.admin-sidebar {
    background:
        linear-gradient(180deg, rgba(94, 234, 212, 0.13), transparent 28%),
        linear-gradient(135deg, rgba(167, 139, 250, 0.14), transparent 46%),
        linear-gradient(315deg, rgba(217, 119, 6, 0.1), transparent 48%),
        var(--sidebar-bg) !important;
    color: #F7FEFB;
    box-shadow: 18px 0 60px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(24px) saturate(1.28);
    -webkit-backdrop-filter: blur(24px) saturate(1.28);
}

.admin-sidebar .bg-gray-900\/50 {
    background-color: var(--sidebar-panel) !important;
}

.admin-sidebar .border-gray-700\/50,
.admin-sidebar .border-gray-700\/30 {
    border-color: var(--sidebar-border) !important;
}

.admin-sidebar nav a:not(.bg-orange-600):not(.bg-green-600):not(.bg-yellow-500) {
    color: rgba(245, 239, 235, 0.74);
}

.admin-sidebar nav a {
    margin-left: 0.75rem;
    margin-right: 0.75rem;
    border-radius: 14px;
    min-height: 42px;
}

.admin-sidebar nav a.bg-orange-600,
.admin-sidebar nav a.bg-green-600,
.admin-sidebar nav a.bg-yellow-500,
.admin-sidebar nav a.text-orange-500 {
    background:
        linear-gradient(135deg, rgba(94, 234, 212, 0.16), rgba(167, 139, 250, 0.12)) !important;
    color: #ffffff !important;
    box-shadow: inset 3px 0 0 rgba(251, 191, 36, 0.85), 0 14px 34px rgba(0, 0, 0, 0.16);
}

.admin-sidebar nav a:not(.bg-orange-600):not(.bg-green-600):not(.bg-yellow-500):hover {
    background-color: rgba(94, 234, 212, 0.1) !important;
    color: #A7F3D0 !important;
}

.admin-sidebar h2 {
    color: rgba(196, 181, 253, 0.68) !important;
}

.admin-shell-header {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--liquid-glass-strong) 74%, transparent), color-mix(in srgb, var(--liquid-glass) 86%, transparent)) !important;
    border-color: var(--border-light) !important;
    box-shadow: 0 16px 42px rgba(15, 49, 58, 0.08), inset 0 1px 0 var(--liquid-inner-stroke);
    backdrop-filter: blur(28px) saturate(1.45);
    -webkit-backdrop-filter: blur(28px) saturate(1.45);
}

.admin-shell-main {
    background:
        radial-gradient(circle at 18% 10%, rgba(20, 184, 166, 0.18), transparent 28%),
        radial-gradient(circle at 86% 12%, rgba(124, 58, 237, 0.14), transparent 26%),
        radial-gradient(circle at 72% 88%, rgba(217, 119, 6, 0.12), transparent 26%),
        var(--page-bg) !important;
}

.dark .bg-white,
.dark .bg-gray-50,
.dark .bg-gray-100 {
    background-color: var(--surface-card) !important;
}

.dark .bg-white\/70,
.dark .bg-white\/80,
.dark .bg-white\/90,
.dark .bg-white\/95 {
    background-color: var(--surface-card) !important;
}

.dark .bg-gray-200,
.dark .bg-slate-100,
.dark .bg-slate-200 {
    background-color: var(--surface-control) !important;
}

.dark .bg-slate-50,
.dark .bg-slate-50\/30,
.dark .bg-slate-50\/50 {
    background-color: var(--surface-card-muted) !important;
}

.dark .bg-blue-100 {
    background-color: rgba(30, 64, 175, 0.28) !important;
}

.dark .bg-green-50,
.dark .bg-green-100 {
    background-color: rgba(6, 78, 59, 0.28) !important;
}

.dark .bg-red-50,
.dark .bg-red-100 {
    background-color: rgba(127, 29, 29, 0.28) !important;
}

.dark .bg-yellow-100 {
    background-color: rgba(113, 63, 18, 0.32) !important;
}

.dark .text-gray-900,
.dark .text-gray-800,
.dark .text-gray-700,
.dark .text-slate-900,
.dark .text-slate-800,
.dark .text-slate-700,
.dark h1:not([class*="text-"]),
.dark h2:not([class*="text-"]),
.dark h3:not([class*="text-"]),
.dark h4:not([class*="text-"]),
.dark h5:not([class*="text-"]),
.dark h6:not([class*="text-"]) {
    color: #e2e8f0 !important;
}

.dark .text-gray-600,
.dark .text-gray-500,
.dark .text-gray-400,
.dark .text-slate-600,
.dark .text-slate-500,
.dark .text-slate-400,
.dark p:not([class*="text-"]),
.dark label:not([class*="text-"]),
.dark td:not([class*="text-"]),
.dark th:not([class*="text-"]) {
    color: #94a3b8 !important;
}

.dark .text-blue-500,
.dark .text-blue-600,
.dark .hover\:text-blue-600:hover {
    color: #60a5fa !important;
}

.dark .text-green-700,
.dark .text-green-800 {
    color: #86efac !important;
}

.dark .text-red-700,
.dark .text-red-800 {
    color: #fca5a5 !important;
}

.dark .text-yellow-800 {
    color: #fde68a !important;
}

.dark .border-gray-100,
.dark .border-gray-200,
.dark .border-gray-300,
.dark .border-slate-100,
.dark .border-slate-200,
.dark .border-slate-300,
.dark hr {
    border-color: var(--border-light) !important;
}

.dark .shadow-md,
.dark .shadow-lg,
.dark .shadow-xl,
.dark .shadow-2xl {
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35) !important;
}

.dark .hover\:bg-gray-50:hover,
.dark .hover\:bg-gray-100:hover,
.dark .hover\:bg-gray-200:hover {
    background-color: var(--surface-control-hover) !important;
}

.dark table,
.dark thead,
.dark tbody,
.dark tr {
    border-color: var(--border-light) !important;
}

.dark tr.hover\:bg-gray-50:hover,
.dark tr.hover\:bg-slate-50:hover {
    background-color: color-mix(in srgb, var(--surface-control-hover) 78%, transparent) !important;
}

.dark .prose,
.dark .prose p,
.dark .prose li,
.dark .prose strong {
    color: #cbd5e1 !important;
}

.dark .line-through {
    color: #64748b !important;
}

.dark [class*="divide-gray-"] > :not([hidden]) ~ :not([hidden]),
.dark [class*="divide-slate-"] > :not([hidden]) ~ :not([hidden]) {
    border-color: #334155 !important;
}

.theme-toggle {
    flex-shrink: 0;
}

/* Premium restaurant admin theme */
.admin-shell-main {
    background: linear-gradient(145deg, #f7f3ec, #eee8df) !important;
}
.dark .admin-shell-main {
    background: radial-gradient(circle at 20% 0%, rgba(194,65,12,.12), transparent 30%), #171411 !important;
}
.premium-glass, .node-card {
    border-color: color-mix(in srgb, var(--border-light) 80%, transparent) !important;
    border-radius: 20px !important;
    box-shadow: 0 12px 34px rgba(52,39,27,.08) !important;
    backdrop-filter: none !important;
}
.node-card:hover { transform: translateY(-3px) !important; box-shadow: 0 18px 42px rgba(52,39,27,.13) !important; }
.admin-header-brand { padding-right:1rem; border-right:1px solid var(--border-light); }
.admin-header-brand img { filter:drop-shadow(0 6px 8px rgba(154,52,18,.18)); }

/* Unified admin pages */
.admin-shell-main > .absolute { opacity:.28 !important; }
.admin-shell-main > .relative { max-width:1600px; width:100%; margin-inline:auto; }
.admin-shell-main h1 { letter-spacing:-.045em; text-wrap:balance; }
.admin-shell-main h2,.admin-shell-main h3 { letter-spacing:-.025em; }
.admin-shell-main .bg-white,
.admin-shell-main .liquid-surface,
.admin-shell-main .premium-glass {
    border:1px solid var(--border-light) !important;
    border-radius:22px !important;
    background:var(--surface-card) !important;
    box-shadow:0 12px 36px rgba(47,36,28,.07) !important;
}
.admin-shell-main .shadow-md,.admin-shell-main .shadow-lg,.admin-shell-main .shadow-xl { box-shadow:0 12px 36px rgba(47,36,28,.08) !important; }
.admin-shell-main input:not([type="checkbox"]):not([type="radio"]),
.admin-shell-main select,.admin-shell-main textarea {
    min-height:44px;
    border:1px solid var(--border-light) !important;
    border-radius:12px !important;
    background:var(--surface-control) !important;
    color:var(--text-dark) !important;
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.admin-shell-main textarea { min-height:100px; }
.admin-shell-main input:focus,.admin-shell-main select:focus,.admin-shell-main textarea:focus {
    outline:none !important;border-color:var(--brand-primary) !important;background:var(--surface-card) !important;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-primary) 16%,transparent) !important;
}
.admin-shell-main label { font-weight:700; color:var(--text-muted); }
.admin-shell-main table { width:100%; border-collapse:separate; border-spacing:0; }
.admin-shell-main thead { background:color-mix(in srgb,var(--surface-control) 82%,transparent) !important; }
.admin-shell-main th { padding:.9rem 1rem !important; color:var(--text-muted) !important; font-size:.68rem !important; font-weight:800 !important; letter-spacing:.09em; text-transform:uppercase; }
.admin-shell-main td { padding:.95rem 1rem !important; border-bottom:1px solid var(--border-light) !important; vertical-align:middle; }
.admin-shell-main tbody tr { transition:background .18s ease; }
.admin-shell-main tbody tr:hover { background:color-mix(in srgb,var(--brand-primary) 4%,transparent) !important; }
.admin-shell-main button,.admin-shell-main a { -webkit-tap-highlight-color:transparent; }
.admin-shell-main button:disabled { opacity:.55; cursor:not-allowed; }
.admin-shell-main .btn-brand { border-radius:12px !important; box-shadow:0 9px 20px rgba(194,65,12,.2) !important; }
.admin-sidebar { background:linear-gradient(180deg,#241914,#16110e) !important; border-right:1px solid rgba(253,186,116,.12); }
.admin-sidebar nav a { margin-inline:.65rem; padding-left:1rem !important; padding-right:1rem !important; border-radius:12px; }
.admin-sidebar nav a i { width:22px; color:#fb923c; }
.admin-sidebar nav a.bg-orange-600,.admin-sidebar nav a.bg-green-600,.admin-sidebar nav a.bg-yellow-500 {
    background:linear-gradient(135deg,#c2410c,#9a3412) !important;box-shadow:0 10px 25px rgba(154,52,18,.25) !important;
}
.admin-sidebar nav a.bg-orange-600 i,.admin-sidebar nav a.bg-green-600 i,.admin-sidebar nav a.bg-yellow-500 i { color:white; }
.admin-shell-header { min-height:72px; }

@media(max-width:767px){
    .admin-shell-header{padding:.8rem 1rem !important}.admin-header-brand{border:0;padding:0}.admin-page-identity{display:none!important}
    .admin-shell-main > .relative{padding:1rem !important}.admin-shell-main h1{font-size:2rem !important;line-height:1.05!important}
    .admin-shell-main .grid{gap:1rem}.admin-shell-main .p-8{padding:1.25rem!important}.admin-shell-main .p-6{padding:1rem!important}
    .admin-shell-main table{min-width:720px}.admin-shell-main .overflow-x-auto{border-radius:16px}
}
.node-card [class*="rotate-"] { transform: none !important; }
.pulse-ring-indicator::before { animation-duration: 3s !important; }
/*
--------------------------------
Print Styles for Vouchers & Receipts
--------------------------------
*/
@media print {
    /* Hide all elements on the page by default */
    body > *:not(.voucher-print-area) {
        display: none;
    }

    /* Ensure the body itself is plain white for printing */
    body {
        background-color: #FFFFFF;
        margin: 0;
        padding: 0;
    }

    /* Style the printable area */
    .voucher-print-area {
        /* Make the voucher take up the full print page */
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        
        /* Remove screen styles like shadows that look bad on paper */
        box-shadow: none !important;
        border: none !important;
        
        /* Force it to be visible */
        display: block;
        visibility: visible;
    }
}
