:root {
    --public-bg: #f6f7fb;
    --public-surface: #ffffff;
    --public-surface-soft: #f8fafc;
    --public-border: #e6eaf0;
    --public-border-strong: #d7dee8;
    --public-text: #111827;
    --public-text-muted: #667085;
    --public-accent: #111827;
    --public-accent-strong: #000000;
    --public-accent-soft: #f8fafc;
}

body.public-theme {
    background: var(--public-bg) !important;
    color: var(--public-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body.public-theme,
body.public-theme * {
    font-synthesis-weight: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.public-theme .bg-white {
    background-color: var(--public-surface) !important;
}

body.public-theme .bg-neutral-50 {
    background-color: var(--public-surface-soft) !important;
}

body.public-theme .bg-neutral-100 {
    background-color: #eef2f7 !important;
}

body.public-theme .border-neutral-100 {
    border-color: var(--public-border) !important;
}

body.public-theme .border-neutral-200 {
    border-color: var(--public-border-strong) !important;
}

body.public-theme .text-neutral-400 {
    color: #98a2b3 !important;
}

body.public-theme .text-neutral-500 {
    color: var(--public-text-muted) !important;
}

body.public-theme .text-neutral-600 {
    color: #475467 !important;
}

body.public-theme .text-neutral-700 {
    color: #344054 !important;
}

body.public-theme .text-neutral-800 {
    color: var(--public-text) !important;
}

body.public-theme .bg-orange-50 {
    background-color: #f8fafc !important;
}

body.public-theme .bg-orange-100 {
    background-color: #eef2f7 !important;
}

body.public-theme .bg-orange-500 {
    background-color: var(--public-accent) !important;
}

body.public-theme .hover\:bg-orange-600:hover {
    background-color: var(--public-accent-strong) !important;
}

body.public-theme .text-orange-600 {
    color: var(--public-accent) !important;
}

body.public-theme .text-orange-700 {
    color: #344054 !important;
}

body.public-theme .border-orange-100 {
    border-color: #d7dee8 !important;
}

body.public-theme .border-orange-200 {
    border-color: #cfd6df !important;
}

body.public-theme .focus\:border-orange-500:focus,
body.public-theme .focus\:ring-orange-500:focus {
    border-color: var(--public-accent) !important;
    box-shadow: 0 0 0 4px rgba(17, 24, 39, 0.12) !important;
}

body.public-theme .shadow-sm {
    box-shadow: 0 1px 2px rgba(16, 24, 40, 0.04) !important;
}

body.public-theme .shadow-md,
body.public-theme .shadow-lg,
body.public-theme .shadow-xl,
body.public-theme .shadow-2xl {
    box-shadow: 0 12px 30px rgba(16, 24, 40, 0.08) !important;
}

body.public-theme .glass,
body.public-theme .sticky-header {
    background: rgba(255, 255, 255, 0.84) !important;
    backdrop-filter: blur(16px) !important;
    border-color: rgba(230, 234, 240, 0.95) !important;
}

body.public-theme .user-menu,
body.public-theme .dropdown,
body.public-theme .mobile-search,
body.public-theme .cart-bar,
body.public-theme .panel,
body.public-theme .card {
    background-color: var(--public-surface) !important;
    border-color: var(--public-border) !important;
    box-shadow: 0 18px 50px rgba(16, 24, 40, 0.08) !important;
}

body.public-theme table thead th {
    color: #475467 !important;
    background-color: #f8fafc !important;
    border-bottom-color: var(--public-border) !important;
}

body.public-theme table tbody tr {
    border-color: var(--public-border) !important;
}

body.public-theme table tbody tr:hover {
    background-color: #f9fafb !important;
}

body.public-theme input,
body.public-theme select,
body.public-theme textarea,
body.public-theme button {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
