/* Muhan Admin — custom styles */
:root { --primary:#8A1730; --primary-600:#76132A; --accent:#F4D35E; }

/* Badges */
.badge { display:inline-flex; align-items:center; gap:.375rem; padding:.375rem .75rem; border-radius:9999px; font-size:.8125rem; font-weight:600; }
.badge-warning { background:#FEF3C7; color:#B45309; }
.badge-info    { background:#DBEAFE; color:#1E40AF; }
.badge-primary { background:#EDE9FE; color:#6D28D9; }
.badge-success { background:#D1FAE5; color:#065F46; }
.badge-neutral { background:#F3F4F6; color:#374151; }
.dark .badge-warning { background:rgba(180,83,9,.15); color:#FBBF24; }
.dark .badge-info    { background:rgba(30,64,175,.18); color:#93C5FD; }
.dark .badge-primary { background:rgba(109,40,217,.2); color:#C4B5FD; }
.dark .badge-success { background:rgba(6,95,70,.2); color:#6EE7B7; }
.dark .badge-neutral { background:rgba(55,65,81,.3); color:#CBD5E1; }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.55rem 1rem; border-radius:8px; font-weight:600; transition:all .15s; cursor:pointer; border:1px solid transparent; font-size:.875rem; }
.btn-sm { padding:.4rem .75rem; font-size:.8125rem; border-radius:7px; }
.btn-primary { background:var(--primary); color:#fff; }
.btn-primary:hover:not(:disabled) { background:var(--primary-600); }
.btn-primary:disabled { background:#D1D5DB; color:#9CA3AF; cursor:not-allowed; }
.btn-outline { background:#fff; border-color:#E5E7EB; color:#111827; }
.btn-outline:hover { background:#F9FAFB; }
.dark .btn-outline { background:#0B1220; border-color:#243049; color:#E5E7EB; }
.dark .btn-outline:hover { background:#101A2E; }
.btn-ghost { background:transparent; color:#64748B; }
.btn-ghost:hover { background:#F1F5F9; }
.dark .btn-ghost { color:#94A3B8; }
.dark .btn-ghost:hover { background:#0F172A; }
.btn-success { background:#059669; color:#fff; }
.btn-success:hover { background:#047857; }
.btn-warning { background:#D97706; color:#fff; }
.btn-warning:hover { background:#B45309; }
.btn-info    { background:#2563EB; color:#fff; }
.btn-info:hover { background:#1D4ED8; }
.btn-danger  { background:#DC2626; color:#fff; }
.btn-danger:hover { background:#B91C1C; }

/* Inputs */
.input, .textarea, .select { width:100%; padding:.65rem .9rem; border:1px solid #E5E7EB; border-radius:8px; font-size:.9rem; background:#fff; color:#111827; transition:border-color .15s, box-shadow .15s; }
.dark .input, .dark .textarea, .dark .select { background:#0B1220; border-color:#243049; color:#E5E7EB; }
.input:focus, .textarea:focus, .select:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px rgba(138,23,48,.15); }
.label { display:block; font-size:.8125rem; font-weight:600; color:#374151; margin-bottom:.375rem; }
.dark .label { color:#CBD5E1; }

/* Card */
.card { background:#fff; border:1px solid #E5E7EB; border-radius:12px; padding:1.25rem; }
.dark .card { background:#0B1220; border-color:#1F2A40; }

/* Table */
.table { width:100%; font-size:.875rem; border-collapse:separate; border-spacing:0; }
.table th { text-align:left; padding:.875rem 1rem; font-weight:600; color:#475569; background:#F8FAFC; border-bottom:1px solid #E5E7EB; font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; }
.table td { padding:.875rem 1rem; border-bottom:1px solid #F1F5F9; vertical-align:middle; }
.dark .table th { background:#0F172A; color:#94A3B8; border-color:#1F2A40; }
.dark .table td { border-color:#1F2A40; }

/* Modal */
.modal-backdrop { position:fixed; inset:0; background:rgba(17,24,39,.55); backdrop-filter:blur(4px); z-index:80; display:flex; align-items:center; justify-content:center; padding:1rem; animation:fadeIn .15s; }
.modal-card { background:#fff; border-radius:14px; width:100%; max-width:540px; padding:1.5rem; max-height:90vh; overflow-y:auto; box-shadow:0 12px 40px rgba(0,0,0,.2); animation:slideUp .2s; }
.modal-card.lg { max-width:880px; }
.dark .modal-card { background:#0B1220; color:#E5E7EB; }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes slideUp { from{transform:translateY(8px); opacity:0} to{transform:translateY(0); opacity:1} }

/* Toast */
.toast { min-width:240px; padding:.875rem 1rem; border-radius:10px; color:#fff; font-size:.875rem; box-shadow:0 6px 20px rgba(0,0,0,.18); animation:slideIn .25s; }
.toast.success { background:#059669; }
.toast.error   { background:#DC2626; }
.toast.info    { background:#2563EB; }
@keyframes slideIn { from{transform:translateX(20px); opacity:0} to{transform:translateX(0); opacity:1} }

/* Status badges — admin uses same semantic mapping as customer frontend */
.status-0 { background:#FEF3C7; color:#B45309; }
.status-1 { background:#DBEAFE; color:#1E40AF; }
.status-2 { background:#EDE9FE; color:#6D28D9; }
.status-3 { background:#CFFAFE; color:#155E75; }
.status-4 { background:#D1FAE5; color:#065F46; }
.dark .status-0 { background:rgba(180,83,9,.18); color:#FBBF24; }
.dark .status-1 { background:rgba(30,64,175,.2);  color:#93C5FD; }
.dark .status-2 { background:rgba(109,40,217,.2); color:#C4B5FD; }
.dark .status-3 { background:rgba(21,94,117,.2);  color:#67E8F9; }
.dark .status-4 { background:rgba(6,95,70,.2);    color:#6EE7B7; }

/* Progress */
.progress { width:100%; height:8px; background:#E5E7EB; border-radius:9999px; overflow:hidden; }
.progress-bar { height:100%; background:linear-gradient(90deg, var(--primary), var(--primary-600)); transition:width .2s; }

/* Scrollbar */
.scroll-thin::-webkit-scrollbar { height:8px; width:8px; }
.scroll-thin::-webkit-scrollbar-thumb { background:#CBD5E1; border-radius:4px; }

/* Mobile sidebar open */
.sidebar-open aside#admin-sidebar { transform:translateX(0)!important; }
.sidebar-open #sidebar-backdrop { display:block!important; }
