html {
    scroll-behavior: smooth;
}

:root {
    --color-light-bg: #f1f5f9;
    --color-light-panel: #ffffff;
    --color-light-text: #0f172a;
    --color-light-border: #e2e8f0;
    --color-dark-bg: #0f172a;
    --color-dark-panel: #111827;
    --color-dark-text: #e5e7eb;
    --color-dark-border: #334155;
    --color-primary: #059669;
}

body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body,
.bg-slate-100 {
    background-color: var(--color-light-bg) !important;
    color: var(--color-light-text) !important;
}

.bg-white,
.bg-slate-50 {
    background-color: var(--color-light-panel) !important;
}

.border-slate-200,
.border-slate-300,
.divide-slate-200 > :not([hidden]) ~ :not([hidden]),
.divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--color-light-border) !important;
}

.bg-emerald-600,
.bg-emerald-500 {
    background-color: var(--color-primary) !important;
}

.text-emerald-700 {
    color: var(--color-primary) !important;
}

.border-emerald-300,
.border-emerald-500,
.focus\:border-emerald-500:focus,
.hover\:border-emerald-300:hover {
    border-color: var(--color-primary) !important;
}

.ring-emerald-500\/20 {
    --tw-ring-color: color-mix(in srgb, var(--color-primary) 20%, transparent) !important;
}

.text-emerald-600,
.text-emerald-800,
.text-emerald-900,
.text-emerald-950 {
    color: var(--color-primary) !important;
}

.dark body,
.dark .bg-slate-100 {
    background-color: var(--color-dark-bg) !important;
    color: var(--color-dark-text) !important;
}

.dark .bg-white,
.dark .bg-slate-50 {
    background-color: var(--color-dark-panel) !important;
    color: var(--color-dark-text) !important;
}

.dark .bg-slate-950 {
    background-color: #020617 !important;
}

.dark .border-slate-200,
.dark .border-slate-300,
.dark .divide-slate-200 > :not([hidden]) ~ :not([hidden]),
.dark .divide-slate-100 > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--color-dark-border) !important;
}

.dark .text-slate-950,
.dark .text-slate-900,
.dark .text-slate-800,
.dark .text-slate-700,
.dark .text-slate-600 {
    color: var(--color-dark-text) !important;
}

.dark .text-slate-500,
.dark .text-slate-400 {
    color: #94a3b8 !important;
}

.dark input,
.dark select,
.dark textarea {
    background-color: var(--color-dark-bg) !important;
    color: var(--color-dark-text) !important;
    border-color: var(--color-dark-border) !important;
}

.dark input::placeholder,
.dark textarea::placeholder {
    color: #94a3b8 !important;
}

.dark table thead,
.dark .bg-slate-100 {
    background-color: var(--color-dark-bg) !important;
}

.dark a.rounded,
.dark button.rounded,
.dark button.rounded-lg,
.dark a.rounded-lg {
    border-color: #64748b !important;
    color: #f8fafc !important;
}

.dark a.rounded:hover,
.dark button.rounded:hover,
.dark button.rounded-lg:hover,
.dark a.rounded-lg:hover {
    background-color: #1e293b !important;
    border-color: #94a3b8 !important;
    color: #ffffff !important;
}

.dark button:disabled,
.dark button[disabled],
.dark .opacity-50 {
    background-color: #334155 !important;
    border-color: #475569 !important;
    color: #cbd5e1 !important;
    opacity: 1 !important;
    cursor: not-allowed;
}

.dark .bg-blue-600,
.dark .bg-emerald-600,
.dark .bg-amber-600,
.dark .bg-red-600 {
    color: #ffffff !important;
}

.dark .bg-blue-600:hover {
    background-color: #1d4ed8 !important;
}

.dark .bg-amber-600:hover {
    background-color: #b45309 !important;
}

.dark .bg-red-600:hover {
    background-color: #b91c1c !important;
}

.dark .bg-emerald-600:hover,
.dark .bg-emerald-500:hover {
    background-color: #047857 !important;
}

.dark .bg-slate-900,
.dark .hover\:bg-slate-800:hover {
    background-color: #2563eb !important;
    color: #ffffff !important;
}

.dark .border-red-200.text-red-700,
.dark a.text-red-700 {
    border-color: #f87171 !important;
    color: #fecaca !important;
}

.dark .border-emerald-200.text-emerald-700,
.dark a.text-emerald-700 {
    border-color: #34d399 !important;
    color: #a7f3d0 !important;
}

.suggestion-panel {
    background-color: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

.suggestion-item {
    color: #0f172a !important;
}

.suggestion-item:hover,
.suggestion-item:focus {
    background-color: #f1f5f9 !important;
    color: #020617 !important;
}

.suggestion-muted {
    color: #64748b !important;
}

.suggestion-message {
    color: #475569 !important;
}

.suggestion-error {
    color: #b91c1c !important;
}

.dark .suggestion-panel {
    background-color: #0f172a !important;
    border-color: #475569 !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35) !important;
    color: #f8fafc !important;
}

.dark .suggestion-item {
    color: #f8fafc !important;
}

.dark .suggestion-item:hover,
.dark .suggestion-item:focus {
    background-color: #1e293b !important;
    color: #ffffff !important;
}

.dark .suggestion-muted {
    color: #cbd5e1 !important;
}

.dark .suggestion-message {
    color: #cbd5e1 !important;
}

.dark .suggestion-error {
    color: #fecaca !important;
}

.status-badge {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1;
    padding: 6px 10px;
    text-transform: uppercase;
    white-space: nowrap;
}

.status-badge--payment-pending {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #334155;
}

.status-badge--payment-waiting {
    background: #fef3c7;
    border-color: #f59e0b;
    color: #92400e;
}

.status-badge--payment-paid {
    background: #dcfce7;
    border-color: #22c55e;
    color: #166534;
}

.status-badge--payment-partial {
    background: #e0f2fe;
    border-color: #0ea5e9;
    color: #075985;
}

.status-badge--payment-canceled {
    background: #fee2e2;
    border-color: #ef4444;
    color: #991b1b;
}

.status-badge--payment-refunded {
    background: #f3e8ff;
    border-color: #a855f7;
    color: #6b21a8;
}

.status-badge--delivery-waiting {
    background: #f1f5f9;
    border-color: #94a3b8;
    color: #334155;
}

.status-badge--delivery-separation {
    background: #fff7ed;
    border-color: #fb923c;
    color: #9a3412;
}

.status-badge--delivery-ready {
    background: #ccfbf1;
    border-color: #14b8a6;
    color: #115e59;
}

.status-badge--delivery-sent {
    background: #dbeafe;
    border-color: #3b82f6;
    color: #1e40af;
}

.status-badge--delivery-delivered {
    background: #dcfce7;
    border-color: #22c55e;
    color: #166534;
}

.status-badge--delivery-picked-up {
    background: #ede9fe;
    border-color: #8b5cf6;
    color: #5b21b6;
}

.status-badge--delivery-canceled {
    background: #fee2e2;
    border-color: #ef4444;
    color: #991b1b;
}

.dark .status-badge--payment-pending,
.dark .status-badge--delivery-waiting {
    background: #1e293b;
    border-color: #64748b;
    color: #e2e8f0;
}

.dark .status-badge--payment-waiting,
.dark .status-badge--delivery-separation {
    background: #451a03;
    border-color: #f59e0b;
    color: #fde68a;
}

.dark .status-badge--payment-paid,
.dark .status-badge--delivery-delivered {
    background: #052e16;
    border-color: #22c55e;
    color: #bbf7d0;
}

.dark .status-badge--payment-partial,
.dark .status-badge--delivery-sent {
    background: #082f49;
    border-color: #38bdf8;
    color: #bae6fd;
}

.dark .status-badge--payment-canceled,
.dark .status-badge--delivery-canceled {
    background: #450a0a;
    border-color: #ef4444;
    color: #fecaca;
}

.dark .status-badge--payment-refunded,
.dark .status-badge--delivery-picked-up {
    background: #2e1065;
    border-color: #a78bfa;
    color: #ddd6fe;
}

.dark .status-badge--delivery-ready {
    background: #042f2e;
    border-color: #2dd4bf;
    color: #99f6e4;
}

body.auth-page {
    background-color: #020617 !important;
    color: #0f172a !important;
}

body.auth-page .bg-white {
    background-color: #ffffff !important;
    color: #0f172a !important;
}

body.auth-page .bg-emerald-600 {
    background-color: #059669 !important;
    color: #ffffff !important;
}

body.auth-page .hover\:bg-emerald-700:hover {
    background-color: #047857 !important;
}

body.auth-page .text-emerald-700 {
    color: #047857 !important;
}

body.auth-page .text-slate-950 {
    color: #020617 !important;
}

body.auth-page .text-slate-700 {
    color: #334155 !important;
}

body.auth-page .text-slate-600 {
    color: #475569 !important;
}

body.auth-page .border-slate-300 {
    border-color: #cbd5e1 !important;
}
